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
|
.include "asm/macros.inc"
.include "global.inc"
.section .text
thumb_func_start NitroMain
NitroMain: ; 0x02000C54
push {r3-r7, lr}
bl FUN_02016014
bl FUN_02016148
bl FUN_020163BC
mov r0, #0x0
bl FUN_02016438
ldr r0, _02000DD0 ; =0x02106FA0
mov r1, #0x0
blx FUN_020D50D8
bl FUN_02022294
bl FUN_0201259C
bl FUN_02000DF4
bl FUN_02002C14
mov r0, #0x0
mov r1, #0x3
bl FUN_02002C50
mov r0, #0x1
mov r1, #0x3
bl FUN_02002C50
mov r0, #0x3
add r1, r0, #0x0
bl FUN_02002C50
mov r1, #0x0
ldr r0, _02000DD4 ; =0x02106FA0
mvn r1, r1
str r1, [r0, #0x18]
bl FUN_0202254C
ldr r1, _02000DD4 ; =0x02106FA0
str r0, [r1, #0x20]
bl FUN_02029EF8
add r4, r0, #0x0
ldr r0, _02000DD4 ; =0x02106FA0
ldr r0, [r0, #0x20]
bl FUN_02023900
add r1, r0, #0x0
add r0, r4, #0x0
bl FUN_02003B98
bl FUN_02020AFC
mov r0, #0x3
bl FUN_020337E8
cmp r0, #0x3
bne _02000CD4
mov r0, #0x3
mov r1, #0x0
bl FUN_02034188
_02000CD4:
ldr r0, _02000DD4 ; =0x02106FA0
ldr r0, [r0, #0x20]
bl FUN_020227FC
cmp r0, #0x0
bne _02000CE8
mov r0, #0x0
bl FUN_02089D90
b _02000D1A
_02000CE8:
ldr r0, _02000DD8 ; =0x027FFC20
ldr r0, [r0, #0x0]
cmp r0, #0x0
beq _02000CF6
cmp r0, #0x1
beq _02000D06
b _02000D16
_02000CF6:
ldr r0, _02000DD4 ; =0x02106FA0
mov r1, #0x0
str r1, [r0, #0x1c]
ldr r0, _02000DDC ; =0x0000003F
ldr r1, _02000DE0 ; =0x021DBE18
bl FUN_02000E7C
b _02000D1A
_02000D06:
ldr r0, _02000DD4 ; =0x02106FA0
mov r1, #0x1
str r1, [r0, #0x1c]
ldr r0, _02000DE4 ; =0x00000034
ldr r1, _02000DE8 ; =0x021D76C8
bl FUN_02000E7C
b _02000D1A
_02000D16:
bl FUN_02020C2C
_02000D1A:
ldr r0, _02000DEC ; =0x021C48B8
mov r1, #0x1
str r1, [r0, #0x6c]
mov r1, #0x0
str r1, [r0, #0x30]
bl FUN_02000FA4
bl FUN_0200A2AC
bl FUN_02015E30
mov r1, #0x0
ldr r0, _02000DD4 ; =0x02106FA0
mov r7, #0xc3
ldr r6, _02000DF0 ; =0x021C4918
ldr r4, _02000DEC ; =0x021C48B8
str r1, [r0, #0x4]
add r5, r1, #0x0
lsl r7, r7, #0x2
_02000D40:
bl FUN_02000EE8
bl FUN_02000FE8
bl FUN_02016464
mov r0, #0xc3
ldr r1, [r4, #0x38]
lsl r0, r0, #0x2
and r0, r1
cmp r0, r7
bne _02000D64
ldrb r0, [r6, #0x8]
cmp r0, #0x0
bne _02000D64
mov r0, #0x0
bl FUN_02000F18
_02000D64:
bl FUN_0202FB80
cmp r0, #0x0
beq _02000D90
bl FUN_02000E0C
ldr r0, [r4, #0x18]
bl FUN_0201B5CC
ldr r0, [r4, #0x24]
bl FUN_0201B5CC
ldr r0, [r4, #0x30]
cmp r0, #0x0
bne _02000D90
mov r0, #0x1
add r1, r0, #0x0
blx FUN_020C9C0C
ldr r0, [r4, #0x2c]
add r0, r0, #0x1
str r0, [r4, #0x2c]
_02000D90:
bl FUN_020125D4
bl FUN_02015E60
bl FUN_020222C4
ldr r0, [r4, #0x24]
bl FUN_0201B5CC
mov r0, #0x1
add r1, r0, #0x0
blx FUN_020C9C0C
ldr r0, [r4, #0x2c]
add r0, r0, #0x1
str r0, [r4, #0x2c]
str r5, [r4, #0x30]
bl FUN_0200A318
bl FUN_0200E2D8
ldr r1, [r4, #0x0]
cmp r1, #0x0
beq _02000DC4
ldr r0, [r4, #0x4]
blx r1
_02000DC4:
bl FUN_02003C10
ldr r0, [r4, #0x20]
bl FUN_0201B5CC
b _02000D40
.balign 4
_02000DD0: .word 0x02106FA0
_02000DD4: .word 0x02106FA0
_02000DD8: .word 0x027FFC20
_02000DDC: .word 0x0000003F
_02000DE0: .word 0x021DBE18
_02000DE4: .word 0x00000034
_02000DE8: .word 0x021D76C8
_02000DEC: .word 0x021C48B8
_02000DF0: .word 0x021C4918
|