1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
.include "asm/macros.inc"
.include "global.inc"
.section .text
thumb_func_start FUN_02006234
FUN_02006234: ; 0x02006234
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
add r0, r2, #0x0
mov r1, #0x28
bl FUN_02016998
add r3, r0, #0x0
add r2, r3, #0x0
ldmia r5!, {r0-r1}
stmia r2!, {r0-r1}
ldmia r5!, {r0-r1}
stmia r2!, {r0-r1}
mov r0, #0x0
str r0, [r3, #0x10]
str r0, [r3, #0x14]
str r4, [r3, #0x18]
str r0, [r3, #0x1c]
str r0, [r3, #0x20]
str r0, [r3, #0x24]
add r0, r3, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_02006260
FUN_02006260: ; 0x02006260
ldr r3, _02006264 ; =FUN_02016A18
bx r3
.balign 4
_02006264: .word FUN_02016A18
thumb_func_start FUN_02006268
FUN_02006268: ; 0x02006268
push {r4, lr}
add r4, r0, #0x0
add r0, r2, #0x0
bl FUN_02016998
str r0, [r4, #0x1c]
pop {r4, pc}
.balign 4
thumb_func_start FUN_02006278
FUN_02006278: ; 0x02006278
ldr r0, [r0, #0x1c]
bx lr
thumb_func_start FUN_0200627C
FUN_0200627C: ; 0x0200627C
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0x1c]
bl FUN_02016A18
mov r0, #0x0
str r0, [r4, #0x1c]
pop {r4, pc}
thumb_func_start FUN_0200628C
FUN_0200628C: ; 0x0200628C
ldr r0, [r0, #0x18]
bx lr
thumb_func_start FUN_02006290
FUN_02006290: ; 0x02006290
push {r4, lr}
add r4, r0, #0x0
ldr r1, [r4, #0x10]
cmp r1, #0x3
bhi _0200630E
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_020062A6: ; jump table (using 16-bit offset)
.short _020062AE - _020062A6 - 2; case 0
.short _020062C2 - _020062A6 - 2; case 1
.short _020062DA - _020062A6 - 2; case 2
.short _020062F0 - _020062A6 - 2; case 3
_020062AE:
mov r1, #0x0
ldr r0, [r4, #0xc]
mvn r1, r1
cmp r0, r1
beq _020062BE
mov r1, #0x2
bl HandleLoadOverlay
_020062BE:
mov r0, #0x1
str r0, [r4, #0x10]
_020062C2:
add r1, r4, #0x0
ldr r2, [r4, #0x0]
add r0, r4, #0x0
add r1, #0x14
blx r2
cmp r0, #0x1
bne _0200630E
mov r0, #0x2
str r0, [r4, #0x10]
mov r0, #0x0
str r0, [r4, #0x14]
b _0200630E
_020062DA:
add r1, r4, #0x0
ldr r2, [r4, #0x4]
add r1, #0x14
blx r2
cmp r0, #0x1
bne _0200630E
mov r0, #0x3
str r0, [r4, #0x10]
mov r0, #0x0
str r0, [r4, #0x14]
b _0200630E
_020062F0:
add r1, r4, #0x0
ldr r2, [r4, #0x8]
add r1, #0x14
blx r2
cmp r0, #0x1
bne _0200630E
mov r1, #0x0
ldr r0, [r4, #0xc]
mvn r1, r1
cmp r0, r1
beq _0200630A
bl UnloadOverlayByID
_0200630A:
mov r0, #0x1
pop {r4, pc}
_0200630E:
mov r0, #0x0
pop {r4, pc}
.balign 4
|