summaryrefslogtreecommitdiff
path: root/arm9/asm/pokedex.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm/pokedex.s')
-rw-r--r--arm9/asm/pokedex.s2373
1 files changed, 2373 insertions, 0 deletions
diff --git a/arm9/asm/pokedex.s b/arm9/asm/pokedex.s
new file mode 100644
index 00000000..11a29cda
--- /dev/null
+++ b/arm9/asm/pokedex.s
@@ -0,0 +1,2373 @@
+ .include "asm/macros.inc"
+ .include "global.inc"
+ .include "constants/species.h"
+
+ .section .rodata
+
+ .global UNK_020EE940
+UNK_020EE940: ; 0x020EE940
+ .short SPECIES_MANAPHY
+ .short SPECIES_MEW
+ .short SPECIES_LUGIA
+ .short SPECIES_HO_OH
+ .short SPECIES_CELEBI
+ .short SPECIES_JIRACHI
+ .short SPECIES_DEOXYS
+ .short SPECIES_PHIONE
+ .short SPECIES_MANAPHY
+ .short SPECIES_DARKRAI
+ .short SPECIES_SHAYMIN
+ .short SPECIES_ARCEUS
+
+ .text
+
+ thumb_func_start Sav2_Pokedex_sizeof
+Sav2_Pokedex_sizeof: ; 0x02023D64
+ mov r0, #0x4f
+ lsl r0, r0, #0x2
+ bx lr
+ .balign 4
+
+ thumb_func_start Sav2_Pokedex_new
+Sav2_Pokedex_new: ; 0x02023D6C
+ push {r4, lr}
+ mov r1, #0x4f
+ lsl r1, r1, #0x2
+ bl AllocFromHeap
+ add r4, r0, #0x0
+ bl Sav2_Pokedex_init
+ add r0, r4, #0x0
+ pop {r4, pc}
+
+ thumb_func_start Sav2_Pokedex_Copy
+Sav2_Pokedex_Copy: ; 0x02023D80
+ ldr r3, _02023D88 ; =MI_CpuCopy8
+ mov r2, #0x4f
+ lsl r2, r2, #0x2
+ bx r3
+ .balign 4
+_02023D88: .word MI_CpuCopy8
+
+ thumb_func_start FUN_02023D8C
+FUN_02023D8C: ; 0x02023D8C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ ldr r0, _02023DE8 ; =0x000001A6
+ add r4, r1, #0x0
+ cmp r4, r0
+ beq _02023DA2
+ add r0, r0, #0x1
+ cmp r4, r0
+ beq _02023DA2
+ bl ErrorHandling
+_02023DA2:
+ lsl r1, r4, #0x10
+ add r0, r5, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_020245F0
+ cmp r0, #0x0
+ bne _02023DB4
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02023DB4:
+ ldr r0, _02023DE8 ; =0x000001A6
+ cmp r4, r0
+ bne _02023DBE
+ sub r0, #0x9e
+ b _02023DC0
+_02023DBE:
+ sub r0, #0x9d
+_02023DC0:
+ add r0, r5, r0
+ ldrb r1, [r0, #0x0]
+ mov r2, #0x1
+ add r0, r1, #0x0
+ tst r0, r2
+ bne _02023DCE
+ mov r2, #0x0
+_02023DCE:
+ mov r0, #0x2
+ tst r0, r1
+ beq _02023DD8
+ mov r0, #0x1
+ b _02023DDA
+_02023DD8:
+ mov r0, #0x0
+_02023DDA:
+ cmp r2, r0
+ bne _02023DE2
+ mov r0, #0x1
+ pop {r3-r5, pc}
+_02023DE2:
+ mov r0, #0x2
+ pop {r3-r5, pc}
+ nop
+_02023DE8: .word 0x000001A6
+
+ thumb_func_start FUN_02023DEC
+FUN_02023DEC: ; 0x02023DEC
+ push {r3-r7, lr}
+ add r7, r0, #0x0
+ ldr r0, _02023E6C ; =0x000001A6
+ add r6, r1, #0x0
+ add r5, r2, #0x0
+ cmp r6, r0
+ beq _02023E04
+ add r0, r0, #0x1
+ cmp r6, r0
+ beq _02023E04
+ bl ErrorHandling
+_02023E04:
+ lsl r1, r6, #0x10
+ add r0, r7, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_020245F0
+ cmp r0, #0x0
+ bne _02023E16
+ mov r0, #0x0
+ pop {r3-r7, pc}
+_02023E16:
+ ldr r0, _02023E6C ; =0x000001A6
+ cmp r6, r0
+ bne _02023E20
+ sub r0, #0x9e
+ b _02023E22
+_02023E20:
+ sub r0, #0x9d
+_02023E22:
+ add r4, r7, r0
+ add r0, r7, #0x0
+ add r1, r6, #0x0
+ bl FUN_02023D8C
+ mov r6, #0x0
+ cmp r0, #0x0
+ bls _02023E66
+ mov r1, #0x1
+_02023E34:
+ add r2, r6, #0x1
+ lsl r2, r2, #0x10
+ lsr r2, r2, #0x10
+ sub r2, r2, #0x1
+ lsl r2, r2, #0x10
+ lsr r3, r2, #0x10
+ add r7, r3, #0x0
+ mov r2, #0x7
+ asr r3, r3, #0x3
+ and r7, r2
+ add r2, r1, #0x0
+ ldrb r3, [r4, r3]
+ lsl r2, r7
+ tst r2, r3
+ beq _02023E56
+ add r2, r1, #0x0
+ b _02023E58
+_02023E56:
+ mov r2, #0x0
+_02023E58:
+ cmp r2, r5
+ bne _02023E60
+ mov r0, #0x1
+ pop {r3-r7, pc}
+_02023E60:
+ add r6, r6, #0x1
+ cmp r6, r0
+ blo _02023E34
+_02023E66:
+ mov r0, #0x0
+ pop {r3-r7, pc}
+ nop
+_02023E6C: .word 0x000001A6
+
+ thumb_func_start FUN_02023E70
+FUN_02023E70: ; 0x02023E70
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r0, _02023F28 ; =0x000001A6
+ add r5, r1, #0x0
+ add r7, r2, #0x0
+ cmp r5, r0
+ beq _02023E88
+ add r0, r0, #0x1
+ cmp r5, r0
+ beq _02023E88
+ bl ErrorHandling
+_02023E88:
+ lsl r2, r7, #0x18
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02023DEC
+ cmp r0, #0x0
+ bne _02023F26
+ ldr r0, _02023F28 ; =0x000001A6
+ cmp r5, r0
+ bne _02023EA2
+ sub r0, #0x9e
+ b _02023EA4
+_02023EA2:
+ sub r0, #0x9d
+_02023EA4:
+ add r4, r6, r0
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02023D8C
+ add r5, r0, #0x0
+ cmp r5, #0x2
+ bge _02023F26
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ lsl r0, r7, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x2
+ blo _02023EC6
+ bl ErrorHandling
+_02023EC6:
+ sub r0, r6, #0x1
+ lsl r0, r0, #0x10
+ lsr r1, r0, #0x10
+ add r2, r1, #0x0
+ mov r0, #0x7
+ and r2, r0
+ asr r1, r1, #0x3
+ mov r3, #0x1
+ lsl r3, r2
+ ldrb r0, [r4, r1]
+ mvn r3, r3
+ and r0, r3
+ strb r0, [r4, r1]
+ lsl r0, r7, #0x18
+ lsr r6, r0, #0x18
+ add r0, r6, #0x0
+ ldrb r3, [r4, r1]
+ lsl r0, r2
+ orr r0, r3
+ strb r0, [r4, r1]
+ cmp r5, #0x0
+ bne _02023F26
+ add r0, r5, #0x2
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ cmp r6, #0x2
+ blo _02023F00
+ bl ErrorHandling
+_02023F00:
+ sub r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r0, #0x7
+ add r1, r2, #0x0
+ and r1, r0
+ asr r0, r2, #0x3
+ mov r2, #0x1
+ lsl r2, r1
+ ldrb r3, [r4, r0]
+ mvn r2, r2
+ and r2, r3
+ strb r2, [r4, r0]
+ add r2, r6, #0x0
+ ldrb r3, [r4, r0]
+ lsl r2, r1
+ add r1, r3, #0x0
+ orr r1, r2
+ strb r1, [r4, r0]
+_02023F26:
+ pop {r3-r7, pc}
+ .balign 4
+_02023F28: .word 0x000001A6
+
+ thumb_func_start FUN_02023F2C
+FUN_02023F2C: ; 0x02023F2C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ mov r0, #0x67
+ add r4, r1, #0x0
+ lsl r0, r0, #0x2
+ cmp r4, r0
+ beq _02023F44
+ add r0, r0, #0x1
+ cmp r4, r0
+ beq _02023F44
+ bl ErrorHandling
+_02023F44:
+ lsl r1, r4, #0x10
+ add r0, r5, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_020245F0
+ cmp r0, #0x0
+ bne _02023F56
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_02023F56:
+ mov r0, #0x67
+ lsl r0, r0, #0x2
+ cmp r4, r0
+ bne _02023F62
+ sub r0, #0x92
+ b _02023F64
+_02023F62:
+ sub r0, #0x91
+_02023F64:
+ add r1, r5, r0
+ mov r0, #0x0
+ mov r3, #0x3
+_02023F6A:
+ lsl r2, r0, #0x10
+ lsr r5, r2, #0x10
+ asr r2, r5, #0x2
+ ldrb r4, [r1, r2]
+ lsl r2, r5, #0x1e
+ lsr r2, r2, #0x1d
+ asr r4, r2
+ add r2, r4, #0x0
+ and r2, r3
+ cmp r2, #0x3
+ beq _02023F86
+ add r0, r0, #0x1
+ cmp r0, #0x3
+ blt _02023F6A
+_02023F86:
+ pop {r3-r5, pc}
+
+ thumb_func_start FUN_02023F88
+FUN_02023F88: ; 0x02023F88
+ push {r4-r6, lr}
+ add r6, r0, #0x0
+ mov r0, #0x67
+ add r5, r1, #0x0
+ lsl r0, r0, #0x2
+ add r4, r2, #0x0
+ cmp r5, r0
+ beq _02023FA2
+ add r0, r0, #0x1
+ cmp r5, r0
+ beq _02023FA2
+ bl ErrorHandling
+_02023FA2:
+ lsl r1, r5, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_020245F0
+ cmp r0, #0x0
+ bne _02023FB4
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02023FB4:
+ mov r0, #0x67
+ lsl r0, r0, #0x2
+ cmp r5, r0
+ bne _02023FC0
+ sub r0, #0x92
+ b _02023FC2
+_02023FC0:
+ sub r0, #0x91
+_02023FC2:
+ add r1, r6, r0
+ mov r0, #0x0
+ mov r3, #0x3
+_02023FC8:
+ lsl r2, r0, #0x10
+ lsr r6, r2, #0x10
+ asr r2, r6, #0x2
+ ldrb r5, [r1, r2]
+ lsl r2, r6, #0x1e
+ lsr r2, r2, #0x1d
+ asr r5, r2
+ add r2, r5, #0x0
+ and r2, r3
+ cmp r2, r4
+ bne _02023FE2
+ mov r0, #0x1
+ pop {r4-r6, pc}
+_02023FE2:
+ add r0, r0, #0x1
+ cmp r0, #0x3
+ blt _02023FC8
+ mov r0, #0x0
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_02023FEC
+FUN_02023FEC: ; 0x02023FEC
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ mov r0, #0x67
+ add r5, r1, #0x0
+ lsl r0, r0, #0x2
+ add r7, r2, #0x0
+ cmp r5, r0
+ beq _02024006
+ add r0, r0, #0x1
+ cmp r5, r0
+ beq _02024006
+ bl ErrorHandling
+_02024006:
+ lsl r2, r7, #0x18
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02023F88
+ cmp r0, #0x0
+ bne _02024064
+ mov r0, #0x67
+ lsl r0, r0, #0x2
+ cmp r5, r0
+ bne _02024022
+ sub r0, #0x92
+ b _02024024
+_02024022:
+ sub r0, #0x91
+_02024024:
+ add r4, r6, r0
+ add r0, r6, #0x0
+ add r1, r5, #0x0
+ bl FUN_02023F2C
+ add r5, r0, #0x0
+ cmp r5, #0x3
+ bge _02024064
+ lsl r0, r7, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x4
+ blo _02024040
+ bl ErrorHandling
+_02024040:
+ lsl r0, r5, #0x10
+ lsr r2, r0, #0x10
+ lsl r0, r2, #0x1e
+ lsr r1, r0, #0x1d
+ asr r0, r2, #0x2
+ mov r2, #0x3
+ lsl r2, r1
+ ldrb r3, [r4, r0]
+ mvn r2, r2
+ and r2, r3
+ strb r2, [r4, r0]
+ lsl r2, r7, #0x18
+ lsr r2, r2, #0x18
+ ldrb r3, [r4, r0]
+ lsl r2, r1
+ add r1, r3, #0x0
+ orr r1, r2
+ strb r1, [r4, r0]
+_02024064:
+ pop {r3-r7, pc}
+ .balign 4
+
+ thumb_func_start FUN_02024068
+FUN_02024068: ; 0x02024068
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ cmp r6, #0x4
+ blo _02024078
+ bl ErrorHandling
+_02024078:
+ cmp r4, #0xf
+ bls _02024080
+ bl ErrorHandling
+_02024080:
+ cmp r6, #0x2
+ bhs _0202409E
+ lsl r0, r6, #0x2
+ add r0, #0x18
+ mov r1, #0xf
+ lsl r1, r0
+ ldr r2, [r5, #0x40]
+ mvn r1, r1
+ and r2, r1
+ add r1, r4, #0x0
+ lsl r1, r0
+ add r0, r2, #0x0
+ orr r0, r1
+ str r0, [r5, #0x40]
+ pop {r4-r6, pc}
+_0202409E:
+ sub r0, r6, #0x2
+ lsl r0, r0, #0x18
+ add r1, r5, #0x0
+ lsr r0, r0, #0x16
+ add r1, #0x80
+ ldr r2, [r1, #0x0]
+ add r0, #0x18
+ mov r1, #0xf
+ lsl r1, r0
+ mvn r1, r1
+ and r2, r1
+ add r1, r5, #0x0
+ add r1, #0x80
+ str r2, [r1, #0x0]
+ add r1, r5, #0x0
+ add r1, #0x80
+ ldr r2, [r1, #0x0]
+ add r1, r4, #0x0
+ lsl r1, r0
+ add r0, r2, #0x0
+ orr r0, r1
+ add r5, #0x80
+ str r0, [r5, #0x0]
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_020240D0
+FUN_020240D0: ; 0x020240D0
+ push {r3-r6}
+ mov r3, #0xf
+ mov r1, #0x0
+ add r4, r3, #0x0
+_020240D8:
+ lsl r2, r1, #0x18
+ lsr r6, r2, #0x18
+ cmp r6, #0x2
+ bhs _020240EE
+ lsl r2, r6, #0x2
+ ldr r5, [r0, #0x40]
+ add r2, #0x18
+ lsr r5, r2
+ add r2, r5, #0x0
+ and r2, r4
+ b _02024102
+_020240EE:
+ add r2, r0, #0x0
+ add r2, #0x80
+ ldr r5, [r2, #0x0]
+ sub r2, r6, #0x2
+ lsl r2, r2, #0x18
+ lsr r2, r2, #0x16
+ add r2, #0x18
+ lsr r5, r2
+ add r2, r5, #0x0
+ and r2, r3
+_02024102:
+ cmp r2, #0xf
+ beq _0202410C
+ add r1, r1, #0x1
+ cmp r1, #0x4
+ blt _020240D8
+_0202410C:
+ add r0, r1, #0x0
+ pop {r3-r6}
+ bx lr
+ .balign 4
+
+ thumb_func_start FUN_02024114
+FUN_02024114: ; 0x02024114
+ push {r4-r7}
+ mov r2, #0xf
+ mov r6, #0x0
+ add r3, r2, #0x0
+_0202411C:
+ lsl r4, r6, #0x18
+ lsr r5, r4, #0x18
+ cmp r5, #0x2
+ bhs _02024134
+ ldr r7, [r0, #0x40]
+ lsl r4, r5, #0x2
+ add r4, #0x18
+ add r5, r7, #0x0
+ lsr r5, r4
+ add r4, r5, #0x0
+ and r4, r3
+ b _02024146
+_02024134:
+ add r4, r0, #0x0
+ sub r5, r5, #0x2
+ add r4, #0x80
+ lsl r5, r5, #0x18
+ lsr r5, r5, #0x16
+ ldr r4, [r4, #0x0]
+ add r5, #0x18
+ lsr r4, r5
+ and r4, r2
+_02024146:
+ cmp r1, r4
+ bne _02024150
+ mov r0, #0x1
+ pop {r4-r7}
+ bx lr
+_02024150:
+ add r6, r6, #0x1
+ cmp r6, #0x4
+ blt _0202411C
+ mov r0, #0x0
+ pop {r4-r7}
+ bx lr
+
+ thumb_func_start FUN_0202415C
+FUN_0202415C: ; 0x0202415C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r1, #0x0
+ add r0, r2, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl GetMonData
+ lsl r0, r0, #0x18
+ lsr r4, r0, #0x18
+ ldr r0, _02024198 ; =0x00000182
+ cmp r6, r0
+ bne _02024196
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02024114
+ cmp r0, #0x0
+ bne _02024196
+ add r0, r5, #0x0
+ bl FUN_020240D0
+ add r2, r0, #0x0
+ lsl r2, r2, #0x18
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02024068
+_02024196:
+ pop {r4-r6, pc}
+ .balign 4
+_02024198: .word 0x00000182
+
+ thumb_func_start FUN_0202419C
+FUN_0202419C: ; 0x0202419C
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ mov r4, #0x0
+ mov r6, #0xf
+_020241A4:
+ lsl r2, r4, #0x18
+ add r0, r5, #0x0
+ add r1, r6, #0x0
+ lsr r2, r2, #0x18
+ bl FUN_02024068
+ add r4, r4, #0x1
+ cmp r4, #0x4
+ blt _020241A4
+ pop {r4-r6, pc}
+
+ thumb_func_start FUN_020241B8
+FUN_020241B8: ; 0x020241B8
+ push {r4-r6, lr}
+ add r4, r1, #0x0
+ add r5, r0, #0x0
+ cmp r4, #0xc9
+ bne _02024210
+ add r0, r2, #0x0
+ bl GetMonUnownLetter
+ lsl r1, r0, #0x18
+ lsr r3, r1, #0x18
+ mov r1, #0x43
+ mov r4, #0x0
+ add r6, r5, #0x0
+ lsl r1, r1, #0x2
+_020241D4:
+ ldrb r2, [r6, r1]
+ cmp r3, r2
+ bne _020241DE
+ mov r1, #0x1
+ b _020241E8
+_020241DE:
+ add r4, r4, #0x1
+ add r6, r6, #0x1
+ cmp r4, #0x1c
+ blt _020241D4
+ mov r1, #0x0
+_020241E8:
+ cmp r1, #0x0
+ bne _02024290
+ mov r1, #0x43
+ mov r3, #0x0
+ add r4, r5, #0x0
+ lsl r1, r1, #0x2
+_020241F4:
+ ldrb r2, [r4, r1]
+ cmp r2, #0xff
+ beq _02024202
+ add r3, r3, #0x1
+ add r4, r4, #0x1
+ cmp r3, #0x1c
+ blt _020241F4
+_02024202:
+ cmp r3, #0x1c
+ bge _02024290
+ mov r1, #0x43
+ add r2, r5, r3
+ lsl r1, r1, #0x2
+ strb r0, [r2, r1]
+ pop {r4-r6, pc}
+_02024210:
+ mov r6, #0x67
+ lsl r6, r6, #0x2
+ cmp r4, r6
+ bne _0202422E
+ add r0, r2, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl GetMonData
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02023FEC
+ pop {r4-r6, pc}
+_0202422E:
+ add r3, r6, #0x1
+ cmp r4, r3
+ bne _0202424A
+ add r0, r2, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl GetMonData
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02023FEC
+ pop {r4-r6, pc}
+_0202424A:
+ add r3, r6, #0x0
+ add r3, #0xa
+ cmp r4, r3
+ bne _02024268
+ add r0, r2, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl GetMonData
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02023E70
+ pop {r4-r6, pc}
+_02024268:
+ add r3, r6, #0x0
+ add r3, #0xb
+ cmp r4, r3
+ bne _02024286
+ add r0, r2, #0x0
+ mov r1, #0x70
+ mov r2, #0x0
+ bl GetMonData
+ add r2, r0, #0x0
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02023E70
+ pop {r4-r6, pc}
+_02024286:
+ sub r6, #0x1a
+ cmp r4, r6
+ bne _02024290
+ bl FUN_0202415C
+_02024290:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02024294
+FUN_02024294: ; 0x02024294
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r6, r2, #0x0
+ add r0, r1, #0x0
+ bl FUN_02087A50
+ add r4, r0, #0x0
+ add r0, r6, #0x0
+ bl FUN_02087A1C
+ cmp r4, #0xe
+ beq _020242C0
+ cmp r0, #0x6
+ beq _020242C0
+ ldr r1, _020242C4 ; =0x00000129
+ add r3, r5, r1
+ ldrb r2, [r3, r4]
+ mov r1, #0x1
+ lsl r1, r0
+ add r0, r2, #0x0
+ orr r0, r1
+ strb r0, [r3, r4]
+_020242C0:
+ pop {r4-r6, pc}
+ nop
+_020242C4: .word 0x00000129
+
+ thumb_func_start FUN_020242C8
+FUN_020242C8: ; 0x020242C8
+ push {r4-r6, lr}
+ add r6, r1, #0x0
+ add r5, r0, #0x0
+ add r0, r6, #0x0
+ mov r1, #0x12 ; BASE_GENDER_RATIO
+ add r4, r2, #0x0
+ bl GetMonBaseStat
+ cmp r0, #0xff
+ bne _020242EA
+ cmp r4, #0x0
+ bne _020242E4
+ mov r0, #0x2
+ pop {r4-r6, pc}
+_020242E4:
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4-r6, pc}
+_020242EA:
+ sub r0, r6, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r1, #0x1
+ mov r0, #0x7
+ add r3, r2, #0x0
+ and r3, r0
+ add r0, r1, #0x0
+ lsl r0, r3
+ asr r3, r2, #0x3
+ add r3, r5, r3
+ add r3, #0x84
+ ldrb r3, [r3, #0x0]
+ tst r0, r3
+ bne _0202430A
+ mov r1, #0x0
+_0202430A:
+ lsl r0, r1, #0x18
+ lsr r1, r0, #0x18
+ cmp r4, #0x1
+ bne _0202433A
+ add r4, r2, #0x0
+ asr r2, r2, #0x3
+ add r2, r5, r2
+ mov r0, #0x7
+ add r2, #0xc4
+ mov r3, #0x1
+ and r4, r0
+ add r0, r3, #0x0
+ ldrb r2, [r2, #0x0]
+ lsl r0, r4
+ tst r0, r2
+ bne _0202432C
+ mov r3, #0x0
+_0202432C:
+ lsl r0, r3, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, r1
+ bne _0202433C
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4-r6, pc}
+_0202433A:
+ add r0, r1, #0x0
+_0202433C:
+ pop {r4-r6, pc}
+ .balign 4
+
+ thumb_func_start FUN_02024340
+FUN_02024340: ; 0x02024340
+ push {r4-r5}
+ mov r3, #0x0
+ ldr r5, _02024360 ; =UNK_020EE940 + 2
+ mov r4, #0x1
+ add r1, r3, #0x0
+_0202434A:
+ ldrh r2, [r5, #0x0]
+ cmp r0, r2
+ bne _02024352
+ add r4, r1, #0x0
+_02024352:
+ add r3, r3, #0x1
+ add r5, r5, #0x2
+ cmp r3, #0xb
+ blt _0202434A
+ add r0, r4, #0x0
+ pop {r4-r5}
+ bx lr
+ .balign 4
+_02024360: .word UNK_020EE940 + 2
+
+ thumb_func_start FUN_02024364
+FUN_02024364: ; 0x02024364
+ ldr r1, _02024374 ; =0x000001EA
+ mov r2, #0x1
+ cmp r0, r1
+ bne _0202436E
+ mov r2, #0x0
+_0202436E:
+ add r0, r2, #0x0
+ bx lr
+ nop
+_02024374: .word 0x000001EA
+
+ thumb_func_start Sav2_Pokedex_init
+Sav2_Pokedex_init: ; 0x02024378
+ push {r4, lr}
+ mov r2, #0x4f
+ mov r1, #0x0
+ lsl r2, r2, #0x2
+ add r4, r0, #0x0
+ bl memset
+ ldr r0, _020243C0 ; =0xBEEFCAFE
+ mov r1, #0x0
+ str r0, [r4, #0x0]
+ ldr r0, _020243C4 ; =0x00000139
+ mov r2, #0x1c
+ strb r1, [r4, r0]
+ sub r0, #0x2d
+ add r0, r4, r0
+ mov r1, #0xff
+ bl memset
+ mov r1, #0xff
+ add r0, r1, #0x0
+ add r0, #0x9
+ strb r1, [r4, r0]
+ add r0, r1, #0x0
+ add r0, #0xa
+ strb r1, [r4, r0]
+ add r0, r1, #0x0
+ add r0, #0xb
+ strb r1, [r4, r0]
+ add r0, r1, #0x0
+ add r0, #0xc
+ strb r1, [r4, r0]
+ add r0, r4, #0x0
+ bl FUN_0202419C
+ pop {r4, pc}
+ nop
+_020243C0: .word 0xBEEFCAFE
+_020243C4: .word 0x00000139
+
+ thumb_func_start FUN_020243C8
+FUN_020243C8: ; 0x020243C8
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r1, [r6, #0x0]
+ ldr r0, _020243FC ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020243D8
+ bl ErrorHandling
+_020243D8:
+ ldr r7, _02024400 ; =0x000001ED
+ mov r5, #0x0
+ mov r4, #0x1
+_020243DE:
+ lsl r1, r4, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_02024594
+ cmp r0, #0x1
+ bne _020243EE
+ add r5, r5, #0x1
+_020243EE:
+ add r4, r4, #0x1
+ cmp r4, r7
+ ble _020243DE
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ pop {r3-r7, pc}
+ nop
+_020243FC: .word 0xBEEFCAFE
+_02024400: .word 0x000001ED
+
+ thumb_func_start FUN_02024404
+FUN_02024404: ; 0x02024404
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r1, [r6, #0x0]
+ ldr r0, _02024438 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024414
+ bl ErrorHandling
+_02024414:
+ ldr r7, _0202443C ; =0x000001ED
+ mov r5, #0x0
+ mov r4, #0x1
+_0202441A:
+ lsl r1, r4, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_020245F0
+ cmp r0, #0x1
+ bne _0202442A
+ add r5, r5, #0x1
+_0202442A:
+ add r4, r4, #0x1
+ cmp r4, r7
+ ble _0202441A
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ pop {r3-r7, pc}
+ nop
+_02024438: .word 0xBEEFCAFE
+_0202443C: .word 0x000001ED
+
+ thumb_func_start FUN_02024440
+FUN_02024440: ; 0x02024440
+ push {r4, lr}
+ add r4, r0, #0x0
+ bl Pokedex_GetNatDexFlag
+ cmp r0, #0x0
+ beq _02024454
+ add r0, r4, #0x0
+ bl FUN_02024404
+ pop {r4, pc}
+_02024454:
+ add r0, r4, #0x0
+ bl FUN_020244A4
+ pop {r4, pc}
+
+ thumb_func_start FUN_0202445C
+FUN_0202445C: ; 0x0202445C
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r1, [r6, #0x0]
+ ldr r0, _0202449C ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _0202446C
+ bl ErrorHandling
+_0202446C:
+ ldr r7, _020244A0 ; =0x000001ED
+ mov r5, #0x0
+ mov r4, #0x1
+_02024472:
+ lsl r1, r4, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_02024594
+ cmp r0, #0x1
+ bne _0202448E
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069B40
+ cmp r0, #0x0
+ beq _0202448E
+ add r5, r5, #0x1
+_0202448E:
+ add r4, r4, #0x1
+ cmp r4, r7
+ ble _02024472
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ pop {r3-r7, pc}
+ nop
+_0202449C: .word 0xBEEFCAFE
+_020244A0: .word 0x000001ED
+
+ thumb_func_start FUN_020244A4
+FUN_020244A4: ; 0x020244A4
+ push {r3-r7, lr}
+ add r6, r0, #0x0
+ ldr r1, [r6, #0x0]
+ ldr r0, _020244E4 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020244B4
+ bl ErrorHandling
+_020244B4:
+ ldr r7, _020244E8 ; =0x000001ED
+ mov r5, #0x0
+ mov r4, #0x1
+_020244BA:
+ lsl r1, r4, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_020245F0
+ cmp r0, #0x1
+ bne _020244D6
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069B40
+ cmp r0, #0x0
+ beq _020244D6
+ add r5, r5, #0x1
+_020244D6:
+ add r4, r4, #0x1
+ cmp r4, r7
+ ble _020244BA
+ lsl r0, r5, #0x10
+ lsr r0, r0, #0x10
+ pop {r3-r7, pc}
+ nop
+_020244E4: .word 0xBEEFCAFE
+_020244E8: .word 0x000001ED
+
+ thumb_func_start FUN_020244EC
+FUN_020244EC: ; 0x020244EC
+ push {r3, lr}
+ bl FUN_02024518
+ ldr r1, _02024500 ; =0x000001E2
+ cmp r0, r1
+ blo _020244FC
+ mov r0, #0x1
+ pop {r3, pc}
+_020244FC:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+_02024500: .word 0x000001E2
+
+ thumb_func_start FUN_02024504
+FUN_02024504: ; 0x02024504
+ push {r3, lr}
+ bl FUN_02024550
+ cmp r0, #0x96
+ blo _02024512
+ mov r0, #0x1
+ pop {r3, pc}
+_02024512:
+ mov r0, #0x0
+ pop {r3, pc}
+ .balign 4
+
+ thumb_func_start FUN_02024518
+FUN_02024518: ; 0x02024518
+ push {r3-r7, lr}
+ ldr r7, _0202454C ; =0x000001ED
+ add r6, r0, #0x0
+ mov r5, #0x0
+ mov r4, #0x1
+_02024522:
+ lsl r1, r4, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_02024594
+ cmp r0, #0x1
+ bne _02024542
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02024340
+ cmp r0, #0x1
+ bne _02024542
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+_02024542:
+ add r4, r4, #0x1
+ cmp r4, r7
+ ble _02024522
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_0202454C: .word 0x000001ED
+
+ thumb_func_start FUN_02024550
+FUN_02024550: ; 0x02024550
+ push {r3-r7, lr}
+ ldr r7, _02024590 ; =0x000001ED
+ add r6, r0, #0x0
+ mov r5, #0x0
+ mov r4, #0x1
+_0202455A:
+ lsl r1, r4, #0x10
+ add r0, r6, #0x0
+ lsr r1, r1, #0x10
+ bl FUN_020245F0
+ cmp r0, #0x1
+ bne _02024586
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02069B40
+ cmp r0, #0x0
+ beq _02024586
+ lsl r0, r4, #0x10
+ lsr r0, r0, #0x10
+ bl FUN_02024364
+ cmp r0, #0x1
+ bne _02024586
+ add r0, r5, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+_02024586:
+ add r4, r4, #0x1
+ cmp r4, r7
+ ble _0202455A
+ add r0, r5, #0x0
+ pop {r3-r7, pc}
+ .balign 4
+_02024590: .word 0x000001ED
+
+ thumb_func_start FUN_02024594
+FUN_02024594: ; 0x02024594
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _020245E8 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020245A6
+ bl ErrorHandling
+_020245A6:
+ cmp r4, #0x0
+ beq _020245B0
+ ldr r0, _020245EC ; =0x000001ED
+ cmp r4, r0
+ bls _020245B8
+_020245B0:
+ bl ErrorHandling
+ mov r0, #0x1
+ b _020245BA
+_020245B8:
+ mov r0, #0x0
+_020245BA:
+ cmp r0, #0x0
+ beq _020245C2
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_020245C2:
+ sub r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r0, #0x1
+ mov r1, #0x7
+ and r1, r2
+ add r3, r0, #0x0
+ lsl r3, r1
+ asr r1, r2, #0x3
+ add r2, r5, r1
+ ldrb r1, [r2, #0x4]
+ tst r1, r3
+ beq _020245E4
+ add r2, #0x44
+ ldrb r1, [r2, #0x0]
+ tst r1, r3
+ bne _020245E6
+_020245E4:
+ mov r0, #0x0
+_020245E6:
+ pop {r3-r5, pc}
+ .balign 4
+_020245E8: .word 0xBEEFCAFE
+_020245EC: .word 0x000001ED
+
+ thumb_func_start FUN_020245F0
+FUN_020245F0: ; 0x020245F0
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _02024640 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024602
+ bl ErrorHandling
+_02024602:
+ cmp r4, #0x0
+ beq _0202460C
+ ldr r0, _02024644 ; =0x000001ED
+ cmp r4, r0
+ bls _02024614
+_0202460C:
+ bl ErrorHandling
+ mov r0, #0x1
+ b _02024616
+_02024614:
+ mov r0, #0x0
+_02024616:
+ cmp r0, #0x0
+ beq _0202461E
+ mov r0, #0x0
+ pop {r3-r5, pc}
+_0202461E:
+ sub r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r3, r0, #0x10
+ mov r0, #0x1
+ mov r1, #0x7
+ and r1, r3
+ add r2, r0, #0x0
+ lsl r2, r1
+ asr r1, r3, #0x3
+ add r1, r5, r1
+ add r1, #0x44
+ ldrb r1, [r1, #0x0]
+ tst r1, r2
+ bne _0202463C
+ mov r0, #0x0
+_0202463C:
+ pop {r3-r5, pc}
+ nop
+_02024640: .word 0xBEEFCAFE
+_02024644: .word 0x000001ED
+
+ thumb_func_start FUN_02024648
+FUN_02024648: ; 0x02024648
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _02024670 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _0202465A
+ bl ErrorHandling
+_0202465A:
+ cmp r4, #0x0
+ bne _02024666
+ mov r0, #0x41
+ lsl r0, r0, #0x2
+ ldr r6, [r5, r0]
+ b _0202466A
+_02024666:
+ bl ErrorHandling
+_0202466A:
+ add r0, r6, #0x0
+ pop {r4-r6, pc}
+ nop
+_02024670: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_02024674
+FUN_02024674: ; 0x02024674
+ push {r4-r6, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _020246D4 ; =0xBEEFCAFE
+ add r6, r2, #0x0
+ cmp r1, r0
+ beq _02024688
+ bl ErrorHandling
+_02024688:
+ cmp r4, #0x0
+ beq _02024692
+ ldr r0, _020246D8 ; =0x000001ED
+ cmp r4, r0
+ bls _0202469A
+_02024692:
+ bl ErrorHandling
+ mov r0, #0x1
+ b _0202469C
+_0202469A:
+ mov r0, #0x0
+_0202469C:
+ cmp r0, #0x0
+ beq _020246A6
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r4-r6, pc}
+_020246A6:
+ sub r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ add r3, r2, #0x0
+ asr r2, r2, #0x3
+ add r2, r5, r2
+ mov r0, #0x7
+ add r2, #0x44
+ mov r1, #0x1
+ and r3, r0
+ ldrb r2, [r2, #0x0]
+ lsl r1, r3
+ tst r1, r2
+ beq _020246CE
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ add r2, r6, #0x0
+ bl FUN_020242C8
+ pop {r4-r6, pc}
+_020246CE:
+ sub r0, #0x8
+ pop {r4-r6, pc}
+ nop
+_020246D4: .word 0xBEEFCAFE
+_020246D8: .word 0x000001ED
+
+ thumb_func_start FUN_020246DC
+FUN_020246DC: ; 0x020246DC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _02024718 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020246EE
+ bl ErrorHandling
+_020246EE:
+ mov r0, #0x43
+ mov r2, #0x0
+ lsl r0, r0, #0x2
+_020246F4:
+ add r1, r5, r2
+ ldrb r1, [r1, r0]
+ cmp r1, #0xff
+ beq _02024702
+ add r2, r2, #0x1
+ cmp r2, #0x1c
+ blt _020246F4
+_02024702:
+ cmp r2, r4
+ bgt _0202470C
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0202470C:
+ mov r0, #0x43
+ add r1, r5, r4
+ lsl r0, r0, #0x2
+ ldrb r0, [r1, r0]
+ pop {r3-r5, pc}
+ nop
+_02024718: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_0202471C
+FUN_0202471C: ; 0x0202471C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024744 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _0202472C
+ bl ErrorHandling
+_0202472C:
+ mov r1, #0x43
+ mov r0, #0x0
+ lsl r1, r1, #0x2
+_02024732:
+ add r2, r4, r0
+ ldrb r2, [r2, r1]
+ cmp r2, #0xff
+ beq _02024740
+ add r0, r0, #0x1
+ cmp r0, #0x1c
+ blt _02024732
+_02024740:
+ pop {r4, pc}
+ nop
+_02024744: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_02024748
+FUN_02024748: ; 0x02024748
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _0202479C ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _0202475A
+ bl ErrorHandling
+_0202475A:
+ ldr r1, _020247A0 ; =0x000001A6
+ add r0, r5, #0x0
+ bl FUN_02023D8C
+ cmp r0, r4
+ bgt _0202476C
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_0202476C:
+ cmp r4, #0x2
+ blt _02024774
+ bl ErrorHandling
+_02024774:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r0, #0x1
+ mov r1, #0x7
+ and r1, r2
+ add r3, r0, #0x0
+ lsl r3, r1
+ asr r1, r2, #0x3
+ add r2, r5, r1
+ mov r1, #0x42
+ lsl r1, r1, #0x2
+ ldrb r1, [r2, r1]
+ tst r1, r3
+ bne _0202479A
+ mov r0, #0x0
+_0202479A:
+ pop {r3-r5, pc}
+ .balign 4
+_0202479C: .word 0xBEEFCAFE
+_020247A0: .word 0x000001A6
+
+ thumb_func_start FUN_020247A4
+FUN_020247A4: ; 0x020247A4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _020247C0 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020247B4
+ bl ErrorHandling
+_020247B4:
+ ldr r1, _020247C4 ; =0x000001A6
+ add r0, r4, #0x0
+ bl FUN_02023D8C
+ pop {r4, pc}
+ nop
+_020247C0: .word 0xBEEFCAFE
+_020247C4: .word 0x000001A6
+
+ thumb_func_start FUN_020247C8
+FUN_020247C8: ; 0x020247C8
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _0202481C ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020247DA
+ bl ErrorHandling
+_020247DA:
+ ldr r1, _02024820 ; =0x000001A7
+ add r0, r5, #0x0
+ bl FUN_02023D8C
+ cmp r0, r4
+ bgt _020247EC
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_020247EC:
+ cmp r4, #0x2
+ blt _020247F4
+ bl ErrorHandling
+_020247F4:
+ add r0, r4, #0x1
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r2, r0, #0x10
+ mov r0, #0x1
+ mov r1, #0x7
+ and r1, r2
+ add r3, r0, #0x0
+ lsl r3, r1
+ asr r1, r2, #0x3
+ add r2, r5, r1
+ ldr r1, _02024824 ; =0x00000109
+ ldrb r1, [r2, r1]
+ tst r1, r3
+ bne _02024818
+ mov r0, #0x0
+_02024818:
+ pop {r3-r5, pc}
+ nop
+_0202481C: .word 0xBEEFCAFE
+_02024820: .word 0x000001A7
+_02024824: .word 0x00000109
+
+ thumb_func_start FUN_02024828
+FUN_02024828: ; 0x02024828
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024844 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024838
+ bl ErrorHandling
+_02024838:
+ ldr r1, _02024848 ; =0x000001A7
+ add r0, r4, #0x0
+ bl FUN_02023D8C
+ pop {r4, pc}
+ nop
+_02024844: .word 0xBEEFCAFE
+_02024848: .word 0x000001A7
+
+ thumb_func_start FUN_0202484C
+FUN_0202484C: ; 0x0202484C
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _02024894 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _0202485E
+ bl ErrorHandling
+_0202485E:
+ mov r1, #0x67
+ add r0, r5, #0x0
+ lsl r1, r1, #0x2
+ bl FUN_02023F2C
+ cmp r0, r4
+ bgt _02024872
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_02024872:
+ cmp r4, #0x3
+ blt _0202487A
+ bl ErrorHandling
+_0202487A:
+ lsl r0, r4, #0x10
+ lsr r2, r0, #0x10
+ asr r0, r2, #0x2
+ add r1, r5, r0
+ ldr r0, _02024898 ; =0x0000010A
+ ldrb r1, [r1, r0]
+ lsl r0, r2, #0x1e
+ lsr r0, r0, #0x1d
+ asr r1, r0
+ mov r0, #0x3
+ and r0, r1
+ pop {r3-r5, pc}
+ nop
+_02024894: .word 0xBEEFCAFE
+_02024898: .word 0x0000010A
+
+ thumb_func_start FUN_0202489C
+FUN_0202489C: ; 0x0202489C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _020248B8 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020248AC
+ bl ErrorHandling
+_020248AC:
+ mov r1, #0x67
+ add r0, r4, #0x0
+ lsl r1, r1, #0x2
+ bl FUN_02023F2C
+ pop {r4, pc}
+ .balign 4
+_020248B8: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_020248BC
+FUN_020248BC: ; 0x020248BC
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _02024900 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020248CE
+ bl ErrorHandling
+_020248CE:
+ ldr r1, _02024904 ; =0x0000019D
+ add r0, r5, #0x0
+ bl FUN_02023F2C
+ cmp r0, r4
+ bgt _020248E0
+ mov r0, #0x0
+ mvn r0, r0
+ pop {r3-r5, pc}
+_020248E0:
+ cmp r4, #0x3
+ blt _020248E8
+ bl ErrorHandling
+_020248E8:
+ lsl r0, r4, #0x10
+ lsr r2, r0, #0x10
+ asr r0, r2, #0x2
+ add r1, r5, r0
+ ldr r0, _02024908 ; =0x0000010B
+ ldrb r1, [r1, r0]
+ lsl r0, r2, #0x1e
+ lsr r0, r0, #0x1d
+ asr r1, r0
+ mov r0, #0x3
+ and r0, r1
+ pop {r3-r5, pc}
+ .balign 4
+_02024900: .word 0xBEEFCAFE
+_02024904: .word 0x0000019D
+_02024908: .word 0x0000010B
+
+ thumb_func_start FUN_0202490C
+FUN_0202490C: ; 0x0202490C
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024928 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _0202491C
+ bl ErrorHandling
+_0202491C:
+ ldr r1, _0202492C ; =0x0000019D
+ add r0, r4, #0x0
+ bl FUN_02023F2C
+ pop {r4, pc}
+ nop
+_02024928: .word 0xBEEFCAFE
+_0202492C: .word 0x0000019D
+
+ thumb_func_start FUN_02024930
+FUN_02024930: ; 0x02024930
+ push {r3-r5, lr}
+ add r5, r0, #0x0
+ add r4, r1, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _0202496C ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024942
+ bl ErrorHandling
+_02024942:
+ lsl r0, r4, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, #0x2
+ bhs _02024958
+ lsl r0, r0, #0x2
+ ldr r1, [r5, #0x40]
+ add r0, #0x18
+ lsr r1, r0
+ mov r0, #0xf
+ and r0, r1
+ pop {r3-r5, pc}
+_02024958:
+ add r5, #0x80
+ sub r0, r0, #0x2
+ lsl r0, r0, #0x18
+ ldr r1, [r5, #0x0]
+ lsr r0, r0, #0x16
+ add r0, #0x18
+ lsr r1, r0
+ mov r0, #0xf
+ and r0, r1
+ pop {r3-r5, pc}
+ .balign 4
+_0202496C: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_02024970
+FUN_02024970: ; 0x02024970
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024988 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024980
+ bl ErrorHandling
+_02024980:
+ add r0, r4, #0x0
+ bl FUN_020240D0
+ pop {r4, pc}
+ .balign 4
+_02024988: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_0202498C
+FUN_0202498C: ; 0x0202498C
+ push {r3-r7, lr}
+ sub sp, #0x8
+ add r5, r0, #0x0
+ str r1, [sp, #0x0]
+ add r0, r1, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl GetMonData
+ lsl r0, r0, #0x10
+ lsr r0, r0, #0x10
+ str r0, [sp, #0x4]
+ mov r1, #0x0
+ ldr r0, [sp, #0x0]
+ add r2, r1, #0x0
+ bl GetMonData
+ add r7, r0, #0x0
+ ldr r0, [sp, #0x0]
+ bl GetMonGender
+ add r6, r0, #0x0
+ ldr r1, [r5, #0x0]
+ ldr r0, _02024AE4 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _020249C4
+ bl ErrorHandling
+_020249C4:
+ ldr r0, [sp, #0x4]
+ cmp r0, #0x0
+ beq _020249D0
+ ldr r1, _02024AE8 ; =0x000001ED
+ cmp r0, r1
+ bls _020249D8
+_020249D0:
+ bl ErrorHandling
+ mov r0, #0x1
+ b _020249DA
+_020249D8:
+ mov r0, #0x0
+_020249DA:
+ cmp r0, #0x0
+ bne _02024ADE
+ ldr r0, [sp, #0x4]
+ mov r2, #0x1
+ sub r0, r0, #0x1
+ lsl r0, r0, #0x10
+ lsr r4, r0, #0x10
+ mov r0, #0x7
+ and r0, r4
+ add r1, r2, #0x0
+ lsl r1, r0
+ asr r0, r4, #0x3
+ add r3, r5, r0
+ add r3, #0x44
+ ldrb r3, [r3, #0x0]
+ tst r3, r1
+ bne _02024A70
+ ldr r1, _02024AEC ; =0x00000147
+ ldr r0, [sp, #0x4]
+ cmp r0, r1
+ bne _02024A08
+ sub r1, #0x43
+ str r7, [r5, r1]
+_02024A08:
+ lsl r0, r6, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x2
+ bls _02024A14
+ bl ErrorHandling
+_02024A14:
+ cmp r6, #0x2
+ bne _02024A1A
+ mov r6, #0x0
+_02024A1A:
+ cmp r6, #0x2
+ blo _02024A22
+ bl ErrorHandling
+_02024A22:
+ add r2, r5, #0x0
+ mov r0, #0x7
+ add r3, r4, #0x0
+ and r3, r0
+ mov r0, #0x1
+ lsl r0, r3
+ add r2, #0xc4
+ asr r1, r4, #0x3
+ ldrb r7, [r2, r1]
+ mvn r0, r0
+ and r0, r7
+ strb r0, [r2, r1]
+ add r0, r6, #0x0
+ ldrb r7, [r2, r1]
+ lsl r0, r3
+ orr r0, r7
+ strb r0, [r2, r1]
+ cmp r6, #0x2
+ blo _02024A4C
+ bl ErrorHandling
+_02024A4C:
+ add r1, r5, #0x0
+ mov r0, #0x7
+ add r2, r4, #0x0
+ and r2, r0
+ mov r3, #0x1
+ lsl r3, r2
+ add r1, #0x84
+ asr r0, r4, #0x3
+ ldrb r7, [r1, r0]
+ mvn r3, r3
+ lsl r6, r2
+ and r3, r7
+ strb r3, [r1, r0]
+ ldrb r3, [r1, r0]
+ add r2, r3, #0x0
+ orr r2, r6
+ strb r2, [r1, r0]
+ b _02024AC0
+_02024A70:
+ add r0, r5, r0
+ add r0, #0x84
+ ldrb r0, [r0, #0x0]
+ tst r0, r1
+ bne _02024A7C
+ mov r2, #0x0
+_02024A7C:
+ lsl r0, r2, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, r6
+ beq _02024AC0
+ lsl r0, r6, #0x18
+ lsr r6, r0, #0x18
+ cmp r6, #0x2
+ bls _02024A90
+ bl ErrorHandling
+_02024A90:
+ cmp r6, #0x2
+ bne _02024A96
+ mov r6, #0x0
+_02024A96:
+ cmp r6, #0x2
+ blo _02024A9E
+ bl ErrorHandling
+_02024A9E:
+ add r1, r5, #0x0
+ mov r0, #0x7
+ add r2, r4, #0x0
+ and r2, r0
+ mov r3, #0x1
+ lsl r3, r2
+ add r1, #0xc4
+ asr r0, r4, #0x3
+ ldrb r7, [r1, r0]
+ mvn r3, r3
+ lsl r6, r2
+ and r3, r7
+ strb r3, [r1, r0]
+ ldrb r3, [r1, r0]
+ add r2, r3, #0x0
+ orr r2, r6
+ strb r2, [r1, r0]
+_02024AC0:
+ ldr r1, [sp, #0x4]
+ ldr r2, [sp, #0x0]
+ add r0, r5, #0x0
+ bl FUN_020241B8
+ mov r1, #0x7
+ add r5, #0x44
+ asr r0, r4, #0x3
+ ldrb r3, [r5, r0]
+ mov r2, #0x1
+ and r1, r4
+ lsl r2, r1
+ add r1, r3, #0x0
+ orr r1, r2
+ strb r1, [r5, r0]
+_02024ADE:
+ add sp, #0x8
+ pop {r3-r7, pc}
+ nop
+_02024AE4: .word 0xBEEFCAFE
+_02024AE8: .word 0x000001ED
+_02024AEC: .word 0x00000147
+
+ thumb_func_start FUN_02024AF0
+FUN_02024AF0: ; 0x02024AF0
+ push {r4-r7, lr}
+ sub sp, #0x14
+ add r4, r0, #0x0
+ str r1, [sp, #0x0]
+ add r0, r1, #0x0
+ mov r1, #0x5
+ mov r2, #0x0
+ bl GetMonData
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ ldr r0, [sp, #0x0]
+ mov r1, #0xc
+ mov r2, #0x0
+ bl GetMonData
+ str r0, [sp, #0x8]
+ mov r1, #0x0
+ ldr r0, [sp, #0x0]
+ add r2, r1, #0x0
+ bl GetMonData
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x0]
+ bl GetMonGender
+ add r7, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024C78 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024B32
+ bl ErrorHandling
+_02024B32:
+ cmp r6, #0x0
+ beq _02024B3C
+ ldr r0, _02024C7C ; =0x000001ED
+ cmp r6, r0
+ bls _02024B44
+_02024B3C:
+ bl ErrorHandling
+ mov r0, #0x1
+ b _02024B46
+_02024B44:
+ mov r0, #0x0
+_02024B46:
+ cmp r0, #0x0
+ beq _02024B4C
+ b _02024C72
+_02024B4C:
+ sub r0, r6, #0x1
+ lsl r0, r0, #0x10
+ lsr r5, r0, #0x10
+ mov r0, #0x1
+ mov r1, #0x7
+ and r1, r5
+ add r2, r0, #0x0
+ asr r3, r5, #0x3
+ lsl r2, r1
+ add r1, r4, r3
+ add r1, #0x44
+ ldrb r1, [r1, #0x0]
+ tst r1, r2
+ bne _02024BEA
+ ldr r1, _02024C80 ; =0x00000147
+ cmp r6, r1
+ bne _02024B74
+ ldr r0, [sp, #0x4]
+ sub r1, #0x43
+ str r0, [r4, r1]
+_02024B74:
+ lsl r0, r7, #0x18
+ lsr r7, r0, #0x18
+ cmp r7, #0x2
+ bls _02024B80
+ bl ErrorHandling
+_02024B80:
+ cmp r7, #0x2
+ bne _02024B86
+ mov r7, #0x0
+_02024B86:
+ cmp r7, #0x2
+ blo _02024B8E
+ bl ErrorHandling
+_02024B8E:
+ mov r0, #0x7
+ and r0, r5
+ str r0, [sp, #0x10]
+ add r0, r4, #0x0
+ add r0, #0xc4
+ asr r3, r5, #0x3
+ ldrb r1, [r0, r3]
+ mov r2, #0x1
+ str r1, [sp, #0xc]
+ ldr r1, [sp, #0x10]
+ lsl r2, r1
+ ldr r1, [sp, #0xc]
+ mvn r2, r2
+ and r1, r2
+ strb r1, [r0, r3]
+ ldrb r1, [r0, r3]
+ add r2, r7, #0x0
+ mov r12, r1
+ ldr r1, [sp, #0x10]
+ lsl r2, r1
+ mov r1, r12
+ orr r1, r2
+ strb r1, [r0, r3]
+ cmp r7, #0x2
+ blo _02024BC4
+ bl ErrorHandling
+_02024BC4:
+ add r1, r4, #0x0
+ mov r0, #0x7
+ add r2, r5, #0x0
+ and r2, r0
+ mov r3, #0x1
+ lsl r3, r2
+ add r1, #0x84
+ asr r0, r5, #0x3
+ ldrb r5, [r1, r0]
+ mvn r3, r3
+ and r3, r5
+ strb r3, [r1, r0]
+ add r5, r7, #0x0
+ ldrb r3, [r1, r0]
+ lsl r5, r2
+ add r2, r3, #0x0
+ orr r2, r5
+ strb r2, [r1, r0]
+ b _02024C3C
+_02024BEA:
+ add r1, r4, r3
+ add r1, #0x84
+ ldrb r1, [r1, #0x0]
+ tst r1, r2
+ bne _02024BF6
+ mov r0, #0x0
+_02024BF6:
+ lsl r0, r0, #0x18
+ lsr r0, r0, #0x18
+ cmp r0, r7
+ beq _02024C3C
+ lsl r0, r7, #0x18
+ lsr r7, r0, #0x18
+ cmp r7, #0x2
+ bls _02024C0A
+ bl ErrorHandling
+_02024C0A:
+ cmp r7, #0x2
+ bne _02024C10
+ mov r7, #0x0
+_02024C10:
+ cmp r7, #0x2
+ blo _02024C18
+ bl ErrorHandling
+_02024C18:
+ add r1, r4, #0x0
+ mov r0, #0x7
+ add r2, r5, #0x0
+ and r2, r0
+ mov r3, #0x1
+ lsl r3, r2
+ add r1, #0xc4
+ asr r0, r5, #0x3
+ ldrb r5, [r1, r0]
+ mvn r3, r3
+ and r3, r5
+ strb r3, [r1, r0]
+ add r5, r7, #0x0
+ ldrb r3, [r1, r0]
+ lsl r5, r2
+ add r2, r3, #0x0
+ orr r2, r5
+ strb r2, [r1, r0]
+_02024C3C:
+ ldr r2, [sp, #0x0]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_020241B8
+ ldr r2, [sp, #0x8]
+ add r0, r4, #0x0
+ add r1, r6, #0x0
+ bl FUN_02024294
+ sub r0, r6, #0x1
+ lsl r0, r0, #0x10
+ lsr r6, r0, #0x10
+ add r1, r4, #0x4
+ asr r0, r6, #0x3
+ mov r2, #0x7
+ ldrb r5, [r1, r0]
+ mov r3, #0x1
+ and r2, r6
+ lsl r3, r2
+ add r2, r5, #0x0
+ orr r2, r3
+ add r4, #0x44
+ strb r2, [r1, r0]
+ ldrb r1, [r4, r0]
+ orr r1, r3
+ strb r1, [r4, r0]
+_02024C72:
+ add sp, #0x14
+ pop {r4-r7, pc}
+ nop
+_02024C78: .word 0xBEEFCAFE
+_02024C7C: .word 0x000001ED
+_02024C80: .word 0x00000147
+
+ thumb_func_start Pokedex_SetNatDexFlag
+Pokedex_SetNatDexFlag: ; 0x02024C84
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024C9C ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024C94
+ bl ErrorHandling
+_02024C94:
+ ldr r0, _02024CA0 ; =0x00000139
+ mov r1, #0x1
+ strb r1, [r4, r0]
+ pop {r4, pc}
+ .balign 4
+_02024C9C: .word 0xBEEFCAFE
+_02024CA0: .word 0x00000139
+
+ thumb_func_start Pokedex_GetNatDexFlag
+Pokedex_GetNatDexFlag: ; 0x02024CA4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024CBC ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024CB4
+ bl ErrorHandling
+_02024CB4:
+ ldr r0, _02024CC0 ; =0x00000139
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+ nop
+_02024CBC: .word 0xBEEFCAFE
+_02024CC0: .word 0x00000139
+
+ thumb_func_start FUN_02024CC4
+FUN_02024CC4: ; 0x02024CC4
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024CDC ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024CD4
+ bl ErrorHandling
+_02024CD4:
+ mov r0, #0x4a
+ lsl r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+ .balign 4
+_02024CDC: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_02024CE0
+FUN_02024CE0: ; 0x02024CE0
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024CFC ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024CF0
+ bl ErrorHandling
+_02024CF0:
+ mov r0, #0x4a
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ strb r1, [r4, r0]
+ pop {r4, pc}
+ nop
+_02024CFC: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_02024D00
+FUN_02024D00: ; 0x02024D00
+ push {r4-r6, lr}
+ add r6, r2, #0x0
+ add r4, r0, #0x0
+ add r5, r1, #0x0
+ cmp r6, #0x8
+ blo _02024D10
+ bl ErrorHandling
+_02024D10:
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024D44 ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024D1C
+ bl ErrorHandling
+_02024D1C:
+ add r0, r5, #0x0
+ bl FUN_02087A50
+ add r5, r0, #0x0
+ cmp r5, #0xe
+ bne _02024D2C
+ mov r0, #0x0
+ pop {r4-r6, pc}
+_02024D2C:
+ add r0, r6, #0x0
+ bl FUN_02087A1C
+ mov r1, #0x1
+ add r2, r1, #0x0
+ lsl r2, r0
+ ldr r0, _02024D48 ; =0x00000129
+ add r1, r4, r5
+ ldrb r0, [r1, r0]
+ and r0, r2
+ pop {r4-r6, pc}
+ nop
+_02024D44: .word 0xBEEFCAFE
+_02024D48: .word 0x00000129
+
+ thumb_func_start FUN_02024D4C
+FUN_02024D4C: ; 0x02024D4C
+ ldr r1, _02024D54 ; =0x00000137
+ mov r2, #0x1
+ strb r2, [r0, r1]
+ bx lr
+ .balign 4
+_02024D54: .word 0x00000137
+
+ thumb_func_start FUN_02024D58
+FUN_02024D58: ; 0x02024D58
+ ldr r1, _02024D60 ; =0x00000137
+ ldrb r0, [r0, r1]
+ bx lr
+ nop
+_02024D60: .word 0x00000137
+
+ thumb_func_start FUN_02024D64
+FUN_02024D64: ; 0x02024D64
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024D7C ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024D74
+ bl ErrorHandling
+_02024D74:
+ mov r0, #0x4e
+ lsl r0, r0, #0x2
+ ldrb r0, [r4, r0]
+ pop {r4, pc}
+ .balign 4
+_02024D7C: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_02024D80
+FUN_02024D80: ; 0x02024D80
+ push {r4, lr}
+ add r4, r0, #0x0
+ ldr r1, [r4, #0x0]
+ ldr r0, _02024D9C ; =0xBEEFCAFE
+ cmp r1, r0
+ beq _02024D90
+ bl ErrorHandling
+_02024D90:
+ mov r0, #0x4e
+ mov r1, #0x1
+ lsl r0, r0, #0x2
+ strb r1, [r4, r0]
+ pop {r4, pc}
+ nop
+_02024D9C: .word 0xBEEFCAFE
+
+ thumb_func_start FUN_02024DA0
+FUN_02024DA0: ; 0x02024DA0
+ ldr r3, _02024DA8 ; =SavArray_get
+ mov r1, #0x7
+ bx r3
+ nop
+_02024DA8: .word SavArray_get
+
+ thumb_func_start FUN_02024DAC
+FUN_02024DAC: ; 0x02024DAC
+ push {r3-r5, lr}
+ add r4, r2, #0x0
+ ldr r2, _02024E60 ; =0x0000019D
+ add r5, r0, #0x0
+ cmp r1, r2
+ bgt _02024DD6
+ sub r3, r2, #0x1
+ cmp r1, r3
+ blt _02024DC6
+ beq _02024E24
+ cmp r1, r2
+ beq _02024E36
+ b _02024E5A
+_02024DC6:
+ cmp r1, #0xc9
+ bgt _02024DCE
+ beq _02024DEE
+ b _02024E5A
+_02024DCE:
+ sub r2, #0x1b
+ cmp r1, r2
+ beq _02024E48
+ b _02024E5A
+_02024DD6:
+ add r3, r2, #0x0
+ add r3, #0x9
+ cmp r1, r3
+ bgt _02024DE6
+ add r2, #0x9
+ cmp r1, r2
+ beq _02024E00
+ b _02024E5A
+_02024DE6:
+ add r2, #0xa
+ cmp r1, r2
+ beq _02024E12
+ b _02024E5A
+_02024DEE:
+ bl FUN_0202471C
+ cmp r4, r0
+ bhs _02024E5A
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020246DC
+ pop {r3-r5, pc}
+_02024E00:
+ bl FUN_020247A4
+ cmp r4, r0
+ bhs _02024E5A
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02024748
+ pop {r3-r5, pc}
+_02024E12:
+ bl FUN_02024828
+ cmp r4, r0
+ bhs _02024E5A
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020247C8
+ pop {r3-r5, pc}
+_02024E24:
+ bl FUN_0202489C
+ cmp r4, r0
+ bhs _02024E5A
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_0202484C
+ pop {r3-r5, pc}
+_02024E36:
+ bl FUN_0202490C
+ cmp r4, r0
+ bhs _02024E5A
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_020248BC
+ pop {r3-r5, pc}
+_02024E48:
+ bl FUN_02024970
+ cmp r4, r0
+ bhs _02024E5A
+ add r0, r5, #0x0
+ add r1, r4, #0x0
+ bl FUN_02024930
+ pop {r3-r5, pc}
+_02024E5A:
+ mov r0, #0x0
+ pop {r3-r5, pc}
+ nop
+_02024E60: .word 0x0000019D