summaryrefslogtreecommitdiff
path: root/asm/landmark.s
blob: 12bb398851f8b2c46d2724bda05e35fc175f1aef (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
	.include "asm/macros.inc"
	.include "constants/constants.inc"

	.syntax unified

	.text

	thumb_func_start sub_8145CF4
sub_8145CF4: @ 8145CF4
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 24
	lsrs r1, 24
	lsls r2, 24
	lsrs r5, r2, 24
	bl sub_8145D48
	adds r4, r0, 0
	cmp r4, 0
	bne _08145D10
_08145D0C:
	movs r0, 0
	b _08145D42
_08145D10:
	ldr r6, =0x0000ffff
	b _08145D26
	.pool
_08145D18:
	subs r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
_08145D1E:
	adds r4, 0x4
	ldr r0, [r4]
	cmp r0, 0
	beq _08145D0C
_08145D26:
	ldr r1, [r4]
	ldrh r0, [r1, 0x4]
	cmp r0, r6
	beq _08145D3A
	bl FlagGet
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08145D1E
_08145D3A:
	cmp r5, 0
	bne _08145D18
	ldr r0, [r4]
	ldr r0, [r0]
_08145D42:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_8145CF4

	thumb_func_start sub_8145D48
sub_8145D48: @ 8145D48
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r3, r0, 24
	lsls r1, 24
	lsrs r6, r1, 24
	movs r2, 0
	ldr r0, =gUnknown_085B91B8
	ldrb r1, [r0]
	adds r4, r0, 0
	cmp r1, 0xD5
	beq _08145DB8
	adds r1, r4, 0
_08145D60:
	lsls r0, r2, 3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, r3
	bhi _08145DB8
	cmp r0, r3
	beq _08145D7E
	adds r0, r2, 0x1
	lsls r0, 16
	lsrs r2, r0, 16
	lsls r0, r2, 3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0xD5
	bne _08145D60
_08145D7E:
	lsls r0, r2, 3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0xD5
	bne _08145D98
	b _08145DB8
	.pool
_08145D90:
	adds r0, r4, 0x4
	adds r0, r1, r0
	ldr r0, [r0]
	b _08145DBA
_08145D98:
	cmp r0, r3
	bne _08145DB8
	ldr r5, =gUnknown_085B91B8
_08145D9E:
	lsls r1, r2, 3
	adds r0, r1, r5
	ldrb r0, [r0, 0x1]
	cmp r0, r6
	beq _08145D90
	adds r0, r2, 0x1
	lsls r0, 16
	lsrs r2, r0, 16
	lsls r0, r2, 3
	adds r0, r4
	ldrb r0, [r0]
	cmp r0, r3
	beq _08145D9E
_08145DB8:
	movs r0, 0
_08145DBA:
	pop {r4-r6}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8145D48

	.align 2, 0 @ Don't pad with nop.