summaryrefslogtreecommitdiff
path: root/arm9/asm/unk_0202D394.s
blob: 8def9e947e1b0706d529cf8223db3a1b5fbcd2c8 (plain)
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
	.include "asm/macros.inc"
	.include "global.inc"

	.text

	thumb_func_start FUN_0202D394
FUN_0202D394: ; 0x0202D394
	str r1, [r0, #0x0]
	strh r2, [r0, #0xa]
	mov r1, #0x0
	strh r1, [r0, #0x4]
	strh r1, [r0, #0x6]
	strh r1, [r0, #0x8]
	bx lr
	.balign 4

	thumb_func_start FUN_0202D3A4
FUN_0202D3A4: ; 0x0202D3A4
	push {r3-r7, lr}
	str r2, [sp, #0x0]
	add r5, r0, #0x0
	add r7, r1, #0x0
	bl FUN_0202D498
	ldr r1, [sp, #0x0]
	cmp r0, r1
	bgt _0202D3BC
	bl FUN_02031454
	pop {r3-r7, pc}
_0202D3BC:
	mov r0, #0x8
	ldrsh r4, [r5, r0]
	ldrsh r1, [r5, r0]
	ldr r0, [sp, #0x0]
	mov r6, #0x0
	add r0, r1, r0
	cmp r4, r0
	bge _0202D3F2
_0202D3CC:
	cmp r7, #0x0
	bne _0202D3D4
	bl GF_AssertFail
_0202D3D4:
	add r0, r5, #0x0
	add r1, r4, #0x0
	bl FUN_0202D4A8
	ldrb r2, [r7, r6]
	ldr r1, [r5, #0x0]
	add r4, r4, #0x1
	strb r2, [r1, r0]
	mov r0, #0x8
	ldrsh r1, [r5, r0]
	ldr r0, [sp, #0x0]
	add r6, r6, #0x1
	add r0, r1, r0
	cmp r4, r0
	blt _0202D3CC
_0202D3F2:
	add r0, r5, #0x0
	add r1, r4, #0x0
	bl FUN_0202D4A8
	strh r0, [r5, #0x8]
	pop {r3-r7, pc}
	.balign 4

	thumb_func_start FUN_0202D400
FUN_0202D400: ; 0x0202D400
	push {r3-r5, lr}
	add r5, r0, #0x0
	bl FUN_0202D42C
	mov r1, #0x4
	add r4, r0, #0x0
	ldrsh r1, [r5, r1]
	add r0, r5, #0x0
	add r1, r1, r4
	bl FUN_0202D4A8
	strh r0, [r5, #0x4]
	add r0, r4, #0x0
	pop {r3-r5, pc}

	thumb_func_start FUN_0202D41C
FUN_0202D41C: ; 0x0202D41C
	push {r3, lr}
	add r1, sp, #0x0
	mov r2, #0x1
	bl FUN_0202D400
	add r0, sp, #0x0
	ldrb r0, [r0, #0x0]
	pop {r3, pc}

	thumb_func_start FUN_0202D42C
FUN_0202D42C: ; 0x0202D42C
	push {r3-r7, lr}
	add r5, r0, #0x0
	mov r0, #0x4
	ldrsh r4, [r5, r0]
	add r7, r2, #0x0
	str r1, [sp, #0x0]
	add r0, r4, r7
	mov r6, #0x0
	cmp r4, r0
	bge _0202D472
_0202D440:
	add r0, r5, #0x0
	add r1, r4, #0x0
	bl FUN_0202D4A8
	mov r1, #0x6
	ldrsh r1, [r5, r1]
	cmp r1, r0
	bne _0202D454
	add r0, r6, #0x0
	pop {r3-r7, pc}
_0202D454:
	add r0, r5, #0x0
	add r1, r4, #0x0
	bl FUN_0202D4A8
	ldr r1, [r5, #0x0]
	add r4, r4, #0x1
	ldrb r1, [r1, r0]
	ldr r0, [sp, #0x0]
	strb r1, [r0, r6]
	mov r0, #0x4
	ldrsh r0, [r5, r0]
	add r6, r6, #0x1
	add r0, r0, r7
	cmp r4, r0
	blt _0202D440
_0202D472:
	add r0, r6, #0x0
	pop {r3-r7, pc}
	.balign 4

	thumb_func_start FUN_0202D478
FUN_0202D478: ; 0x0202D478
	mov r1, #0x4
	mov r3, #0x6
	ldrsh r1, [r0, r1]
	ldrsh r2, [r0, r3]
	cmp r1, r2
	ble _0202D490
	mov r2, #0xa
	ldrsh r2, [r0, r2]
	ldrsh r0, [r0, r3]
	add r0, r2, r0
	sub r0, r0, r1
	bx lr
_0202D490:
	ldrsh r0, [r0, r3]
	sub r0, r0, r1
	bx lr
	.balign 4

	thumb_func_start FUN_0202D498
FUN_0202D498: ; 0x0202D498
	push {r4, lr}
	add r4, r0, #0x0
	bl FUN_0202D478
	mov r1, #0xa
	ldrsh r1, [r4, r1]
	sub r0, r1, r0
	pop {r4, pc}

	thumb_func_start FUN_0202D4A8
FUN_0202D4A8: ; 0x0202D4A8
	push {r3, lr}
	add r2, r0, #0x0
	add r0, r1, #0x0
	mov r1, #0xa
	ldrsh r1, [r2, r1]
	bl _s32_div_f
	add r0, r1, #0x0
	pop {r3, pc}
	.balign 4

	thumb_func_start FUN_0202D4BC
FUN_0202D4BC: ; 0x0202D4BC
	mov r1, #0x8
	ldrsh r1, [r0, r1]
	strh r1, [r0, #0x6]
	bx lr