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
|
.include "asm/macros.inc"
.include "global.inc"
.section .rodata
.global UNK_020EE6D4
UNK_020EE6D4: ; 0x020EE6D4
.asciz "rom"
.text
thumb_func_start FUN_02022450
FUN_02022450: ; 0x02022450
push {r3, lr}
bl FS_IsAvailable
cmp r0, #0x0
bne _02022460
bl OS_Terminate
pop {r3, pc}
_02022460:
ldr r0, _020224BC ; =0x027FF00C
ldr r0, [r0, #0x0]
cmp r0, #0x0
bne _0202248A
bl CARD_Init
mov r2, #0x16
ldr r0, _020224C0 ; =0x027FFE00
ldr r1, _020224C4 ; =0x027FF000
lsl r2, r2, #0x4
bl MI_CpuCopy8
mov r2, #0x16
ldr r0, _020224C0 ; =0x027FFE00
ldr r1, _020224C8 ; =0x027FFA80
lsl r2, r2, #0x4
bl MI_CpuCopy8
ldr r1, _020224CC ; =0x4A414441
ldr r0, _020224BC ; =0x027FF00C
str r1, [r0, #0x0]
_0202248A:
ldr r0, _020224D0 ; =UNK_020EE6D4
mov r1, #0x3
bl FS_FindArchive
ldr r1, _020224C4 ; =0x027FF000
ldr r2, [r1, #0x48]
str r2, [r0, #0x2c]
ldr r2, [r1, #0x4c]
str r2, [r0, #0x30]
ldr r2, [r1, #0x40]
str r2, [r0, #0x34]
ldr r2, [r1, #0x44]
str r2, [r0, #0x38]
ldr r2, [r1, #0xc]
ldr r0, _020224CC ; =0x4A414441
cmp r2, r0
bne _020224B4
ldrh r1, [r1, #0x10]
ldr r0, _020224D4 ; =0x00003130
cmp r1, r0
beq _020224B8
_020224B4:
bl OS_Terminate
_020224B8:
pop {r3, pc}
nop
_020224BC: .word 0x027FF00C
_020224C0: .word 0x027FFE00
_020224C4: .word 0x027FF000
_020224C8: .word 0x027FFA80
_020224CC: .word 0x4A414441
_020224D0: .word UNK_020EE6D4
_020224D4: .word 0x00003130
thumb_func_start FUN_020224D8
FUN_020224D8: ; 0x020224D8
push {r4, lr}
sub sp, #0x48
add r4, r0, #0x0
add r0, sp, #0x0
bl FS_InitFile
add r0, sp, #0x0
add r1, r4, #0x0
bl FS_OpenFile
cmp r0, #0x0
beq _020224FC
ldr r1, [sp, #0x24]
ldr r0, _02022500 ; =0x027FFC2C
str r1, [r0, #0x0]
mov r0, #0x0
bl OS_ResetSystem
_020224FC:
add sp, #0x48
pop {r4, pc}
.balign 4
_02022500: .word 0x027FFC2C
|