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
|
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_817C7DC
sub_817C7DC: @ 817C7DC
ldr r2, =gUnknown_0860A320
lsls r0, 2
adds r0, r2
ldr r0, [r0]
lsls r1, 1
adds r1, r0
movs r2, 0
ldrsh r0, [r1, r2]
bx lr
.pool
thumb_func_end sub_817C7DC
thumb_func_start sub_817C7F4
sub_817C7F4: @ 817C7F4
push {r4,r5,lr}
lsls r4, r0, 16
lsrs r5, r4, 16
adds r0, r5, 0
bl sub_811EB10
lsls r0, 24
cmp r0, 0
beq _0817C810
ldr r0, =gUnknown_0860A3AC
b _0817C84E
.pool
_0817C810:
lsrs r0, r4, 25
ldr r2, =0x000001ff
ands r2, r5
cmp r0, 0x13
bhi _0817C828
cmp r0, 0x12
bcs _0817C834
cmp r0, 0
beq _0817C82C
b _0817C83C
.pool
_0817C828:
cmp r0, 0x15
bne _0817C83C
_0817C82C:
ldr r1, =gUnknown_085F5494
b _0817C844
.pool
_0817C834:
ldr r1, =gUnknown_085FA1D8
b _0817C844
.pool
_0817C83C:
ldr r1, =gUnknown_0860A168
lsls r0, 2
adds r0, r1
ldr r1, [r0]
_0817C844:
lsls r0, r2, 1
adds r0, r2
lsls r0, 4
adds r1, r0
adds r0, r1, 0
_0817C84E:
pop {r4,r5}
pop {r1}
bx r1
.pool
thumb_func_end sub_817C7F4
thumb_func_start sub_817C858
sub_817C858: @ 817C858
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r5, r0, 0
lsls r1, 16
lsrs r7, r1, 16
movs r0, 0
strh r0, [r5, 0x4]
movs r6, 0
ldr r0, =gUnknown_0860A3DC
mov r8, r0
adds r4, r5, 0
adds r4, 0x18
_0817C872:
lsls r0, r6, 3
ldr r1, [r5, 0x30]
adds r2, r1, r0
ldrb r0, [r2]
cmp r0, 0xFF
beq _0817C8A0
movs r1, 0x1
ldrsb r1, [r2, r1]
lsls r0, 2
add r0, r8
ldr r0, [r0]
adds r1, r0
strh r1, [r4]
adds r0, r7, 0
adds r0, 0x1E
adds r1, r6, 0
bl sub_817C7DC
strh r0, [r4, 0x2]
ldrh r0, [r4]
ldrh r1, [r5, 0x4]
adds r0, r1
strh r0, [r5, 0x4]
_0817C8A0:
adds r4, 0x4
adds r6, 0x1
cmp r6, 0x5
ble _0817C872
movs r0, 0
strb r0, [r5, 0x1]
strh r0, [r5, 0xA]
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_817C858
.align 2, 0 @ Don't pad with nop.
|