mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 19:47:35 +01:00
3332 lines
48 KiB
ArmAsm
3332 lines
48 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8124F2C
|
|
sub_8124F2C: @ 8124F2C
|
|
push {lr}
|
|
ldr r2, =gUnknown_03006168
|
|
ldr r1, [r0, 0x4]
|
|
str r1, [r2]
|
|
ldr r2, =gUnknown_0300617C
|
|
ldrb r1, [r0, 0x1F]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006164
|
|
ldrb r1, [r0, 0x19]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006178
|
|
ldrb r1, [r0, 0x1A]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006174
|
|
ldrb r1, [r0, 0x1B]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_0300616C
|
|
ldrb r1, [r0, 0x1C]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006180
|
|
ldrb r1, [r0, 0x1D]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006170
|
|
ldrb r1, [r0, 0x1E]
|
|
strb r1, [r2]
|
|
ldrb r0, [r0]
|
|
subs r0, 0x2
|
|
cmp r0, 0x22
|
|
bls _08124F68
|
|
b _081250B4
|
|
_08124F68:
|
|
lsls r0, 2
|
|
ldr r1, =_08124F98
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_08124F98:
|
|
.4byte _08125024
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _08125084
|
|
.4byte _081250B4
|
|
.4byte _0812502A
|
|
.4byte _08125030
|
|
.4byte _08125044
|
|
.4byte _08125056
|
|
.4byte _081250B4
|
|
.4byte _0812506C
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _08125072
|
|
.4byte _08125050
|
|
.4byte _08125078
|
|
.4byte _0812507E
|
|
.4byte _081250B4
|
|
.4byte _081250B4
|
|
.4byte _08125090
|
|
_08125024:
|
|
bl sub_8125230
|
|
b _081250B4
|
|
_0812502A:
|
|
bl sub_81252E8
|
|
b _081250B4
|
|
_08125030:
|
|
bl sub_81254E0
|
|
ldr r0, =gUnknown_0300617C
|
|
ldrb r0, [r0]
|
|
bl sub_81253A4
|
|
b _081250B4
|
|
.pool
|
|
_08125044:
|
|
bl sub_81254E0
|
|
bl sub_8125630
|
|
bl sub_8125448
|
|
_08125050:
|
|
bl sub_8125630
|
|
b _081250B4
|
|
_08125056:
|
|
bl sub_81254E0
|
|
bl sub_81257F8
|
|
bl sub_81257F8
|
|
bl sub_81258A0
|
|
bl sub_8125448
|
|
b _081250B4
|
|
_0812506C:
|
|
bl sub_81256C8
|
|
b _081250B4
|
|
_08125072:
|
|
bl sub_81254E0
|
|
b _081250B4
|
|
_08125078:
|
|
bl sub_81257F8
|
|
b _081250B4
|
|
_0812507E:
|
|
bl sub_81258A0
|
|
b _081250B4
|
|
_08125084:
|
|
bl sub_8125250
|
|
movs r0, 0x3
|
|
bl sub_81250B8
|
|
b _081250B4
|
|
_08125090:
|
|
bl sub_81254E0
|
|
bl sub_81257F8
|
|
bl sub_81258A0
|
|
bl sub_8125448
|
|
bl sub_81252E8
|
|
bl sub_81252E8
|
|
movs r0, 0x2
|
|
bl sub_81250B8
|
|
movs r0, 0x4
|
|
bl sub_8125170
|
|
_081250B4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8124F2C
|
|
|
|
thumb_func_start sub_81250B8
|
|
sub_81250B8: @ 81250B8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
mov r8, r0
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _0812514A
|
|
ldr r1, =gUnknown_03006174
|
|
mov r12, r1
|
|
ldr r3, =gUnknown_03006180
|
|
mov r10, r3
|
|
ldr r0, =gUnknown_03006164
|
|
mov r9, r0
|
|
_081250DE:
|
|
ldr r1, =gUnknown_03006178
|
|
ldrb r0, [r1]
|
|
adds r0, r2
|
|
mov r3, r10
|
|
ldrb r1, [r3]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
ldr r3, =gUnknown_03006168
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
mov r3, r9
|
|
ldrb r0, [r3]
|
|
lsls r0, 1
|
|
adds r3, r1, r0
|
|
movs r4, 0
|
|
adds r5, r2, 0x1
|
|
mov r0, r12
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
bcs _0812513E
|
|
movs r6, 0x80
|
|
lsls r6, 8
|
|
_0812510A:
|
|
ldrh r1, [r3]
|
|
adds r0, r6, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0812512E
|
|
movs r0, 0x1F
|
|
ands r0, r1
|
|
adds r0, r7
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0x1F
|
|
bls _08125124
|
|
movs r2, 0x1F
|
|
_08125124:
|
|
lsls r0, r2, 10
|
|
lsls r1, r2, 5
|
|
orrs r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r3]
|
|
_0812512E:
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
adds r3, 0x2
|
|
mov r1, r12
|
|
ldrb r1, [r1]
|
|
cmp r4, r1
|
|
bcc _0812510A
|
|
_0812513E:
|
|
lsls r0, r5, 24
|
|
lsrs r2, r0, 24
|
|
mov r3, r8
|
|
ldrb r3, [r3]
|
|
cmp r2, r3
|
|
bcc _081250DE
|
|
_0812514A:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81250B8
|
|
|
|
thumb_func_start sub_8125170
|
|
sub_8125170: @ 8125170
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _08125208
|
|
ldr r1, =gUnknown_03006174
|
|
mov r10, r1
|
|
_0812518E:
|
|
ldr r3, =gUnknown_03006178
|
|
ldrb r0, [r3]
|
|
adds r0, r2
|
|
ldr r3, =gUnknown_03006180
|
|
ldrb r1, [r3]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
ldr r3, =gUnknown_03006168
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
ldr r3, =gUnknown_03006164
|
|
ldrb r0, [r3]
|
|
lsls r0, 1
|
|
adds r3, r1, r0
|
|
movs r5, 0
|
|
adds r7, r2, 0x1
|
|
mov r0, r10
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcs _081251FC
|
|
movs r1, 0x80
|
|
lsls r1, 8
|
|
mov r9, r1
|
|
movs r0, 0x1F
|
|
mov r12, r0
|
|
mov r1, r8
|
|
subs r6, r0, r1
|
|
_081251C4:
|
|
ldrh r1, [r3]
|
|
mov r0, r9
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081251EC
|
|
movs r4, 0x1F
|
|
mov r2, r12
|
|
ands r2, r1
|
|
cmp r2, r6
|
|
ble _081251E2
|
|
mov r1, r8
|
|
lsrs r0, r1, 1
|
|
subs r0, r4, r0
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
_081251E2:
|
|
lsls r0, r2, 10
|
|
lsls r1, r2, 5
|
|
orrs r0, r1
|
|
orrs r0, r2
|
|
strh r0, [r3]
|
|
_081251EC:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r3, 0x2
|
|
mov r0, r10
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcc _081251C4
|
|
_081251FC:
|
|
lsls r0, r7, 24
|
|
lsrs r2, r0, 24
|
|
ldr r1, =gUnknown_0300616C
|
|
ldrb r1, [r1]
|
|
cmp r2, r1
|
|
bcc _0812518E
|
|
_08125208:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8125170
|
|
|
|
thumb_func_start sub_8125230
|
|
sub_8125230: @ 8125230
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
ldr r5, =0x00000c7f
|
|
_08125236:
|
|
lsls r0, r4, 16
|
|
lsrs r0, 16
|
|
bl sub_8125954
|
|
adds r4, 0x1
|
|
cmp r4, r5
|
|
bls _08125236
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8125230
|
|
|
|
thumb_func_start sub_8125250
|
|
sub_8125250: @ 8125250
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _081252C2
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
ldr r3, =gUnknown_03006174
|
|
_08125268:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r4, r8
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
adds r6, r2, 0x1
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcs _081252B6
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r7, r0, 0
|
|
_08125294:
|
|
ldrh r0, [r4]
|
|
ands r0, r7
|
|
cmp r0, 0
|
|
bne _081252A8
|
|
adds r0, r4, 0
|
|
str r3, [sp]
|
|
bl sub_8125B28
|
|
strh r0, [r4]
|
|
ldr r3, [sp]
|
|
_081252A8:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcc _08125294
|
|
_081252B6:
|
|
lsls r0, r6, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _08125268
|
|
_081252C2:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8125250
|
|
|
|
thumb_func_start sub_81252E8
|
|
sub_81252E8: @ 81252E8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _0812537E
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
ldr r3, =gUnknown_03006180
|
|
_08125300:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r3]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r4, r8
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
adds r0, r2
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
ldrh r1, [r4]
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
movs r5, 0x1
|
|
ldrb r0, [r3]
|
|
lsls r0, 1
|
|
adds r4, r0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
adds r7, r2, 0x1
|
|
cmp r5, r0
|
|
bge _08125372
|
|
ldr r6, =gUnknown_03006180
|
|
_08125336:
|
|
ldrh r0, [r4]
|
|
movs r2, 0x80
|
|
lsls r2, 8
|
|
adds r1, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _0812535C
|
|
ldrb r2, [r6]
|
|
lsls r2, 1
|
|
adds r2, r4, r2
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
str r3, [sp, 0x4]
|
|
bl sub_8125E18
|
|
strh r0, [r4]
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
ldr r3, [sp, 0x4]
|
|
_0812535C:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r0, [r6]
|
|
lsls r0, 1
|
|
adds r4, r0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
blt _08125336
|
|
_08125372:
|
|
lsls r0, r7, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _08125300
|
|
_0812537E:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81252E8
|
|
|
|
thumb_func_start sub_81253A4
|
|
sub_81253A4: @ 81253A4
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0x4
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _08125420
|
|
ldr r0, =gUnknown_03006168
|
|
mov r9, r0
|
|
ldr r3, =gUnknown_03006174
|
|
_081253C4:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r4, r9
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
adds r6, r2, 0x1
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcs _08125414
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r7, r0, 0
|
|
_081253F0:
|
|
ldrh r0, [r4]
|
|
ands r0, r7
|
|
cmp r0, 0
|
|
bne _08125406
|
|
adds r0, r4, 0
|
|
mov r1, r8
|
|
str r3, [sp]
|
|
bl sub_8125B5C
|
|
strh r0, [r4]
|
|
ldr r3, [sp]
|
|
_08125406:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcc _081253F0
|
|
_08125414:
|
|
lsls r0, r6, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _081253C4
|
|
_08125420:
|
|
add sp, 0x4
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81253A4
|
|
|
|
thumb_func_start sub_8125448
|
|
sub_8125448: @ 8125448
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _081254BA
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
ldr r3, =gUnknown_03006174
|
|
_08125460:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r4, r8
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
adds r6, r2, 0x1
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcs _081254AE
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r7, r0, 0
|
|
_0812548C:
|
|
ldrh r0, [r4]
|
|
ands r0, r7
|
|
cmp r0, 0
|
|
bne _081254A0
|
|
adds r0, r4, 0
|
|
str r3, [sp]
|
|
bl sub_8125C68
|
|
strh r0, [r4]
|
|
ldr r3, [sp]
|
|
_081254A0:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcc _0812548C
|
|
_081254AE:
|
|
lsls r0, r6, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _08125460
|
|
_081254BA:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8125448
|
|
|
|
thumb_func_start sub_81254E0
|
|
sub_81254E0: @ 81254E0
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
movs r7, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r7, r0
|
|
bcs _0812556C
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
_081254F6:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r7
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r5, r1, r0
|
|
adds r4, r5, 0x2
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
movs r6, 0x1
|
|
adds r5, r4, 0
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
adds r7, 0x1
|
|
cmp r6, r0
|
|
bge _08125556
|
|
_0812552E:
|
|
adds r4, r5, 0x2
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
subs r1, r5, 0x2
|
|
adds r0, r5, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r5, r4, 0
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r6, r0
|
|
blt _0812552E
|
|
_08125556:
|
|
subs r1, r5, 0x2
|
|
adds r0, r5, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
lsls r0, r7, 24
|
|
lsrs r7, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r7, r0
|
|
bcc _081254F6
|
|
_0812556C:
|
|
movs r6, 0
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r6, r0
|
|
bcs _0812560C
|
|
ldr r3, =gUnknown_03006168
|
|
mov r9, r3
|
|
ldr r0, =gUnknown_03006180
|
|
mov r8, r0
|
|
_0812557E:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r0, [r0]
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
adds r2, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
adds r0, r6
|
|
lsls r0, 1
|
|
adds r5, r2, r0
|
|
lsls r1, 1
|
|
adds r1, r5, r1
|
|
adds r0, r5, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
movs r7, 0x1
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
lsls r0, 1
|
|
adds r5, r0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
adds r6, 0x1
|
|
cmp r7, r0
|
|
bge _081255F0
|
|
ldr r4, =gUnknown_03006180
|
|
_081255BE:
|
|
ldrb r1, [r4]
|
|
lsls r1, 1
|
|
adds r1, r5, r1
|
|
adds r0, r5, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
ldrb r1, [r4]
|
|
lsls r1, 1
|
|
subs r1, r5, r1
|
|
adds r0, r5, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r5, r0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r7, r0
|
|
blt _081255BE
|
|
_081255F0:
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
lsls r1, 1
|
|
subs r1, r5, r1
|
|
adds r0, r5, 0
|
|
bl sub_8125C98
|
|
strh r0, [r5]
|
|
lsls r0, r6, 24
|
|
lsrs r6, r0, 24
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r6, r0
|
|
bcc _0812557E
|
|
_0812560C:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81254E0
|
|
|
|
thumb_func_start sub_8125630
|
|
sub_8125630: @ 8125630
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _081256A2
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
ldr r3, =gUnknown_03006174
|
|
_08125648:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r4, r8
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
adds r6, r2, 0x1
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcs _08125696
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r7, r0, 0
|
|
_08125674:
|
|
ldrh r0, [r4]
|
|
ands r0, r7
|
|
cmp r0, 0
|
|
bne _08125688
|
|
adds r0, r4, 0
|
|
str r3, [sp]
|
|
bl sub_8125CC8
|
|
strh r0, [r4]
|
|
ldr r3, [sp]
|
|
_08125688:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldrb r0, [r3]
|
|
cmp r5, r0
|
|
bcc _08125674
|
|
_08125696:
|
|
lsls r0, r6, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _08125648
|
|
_081256A2:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8125630
|
|
|
|
thumb_func_start sub_81256C8
|
|
sub_81256C8: @ 81256C8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
ldr r0, =gUnknown_03006168
|
|
ldr r4, [r0]
|
|
movs r6, 0
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r5, r0, 0
|
|
_081256E0:
|
|
movs r7, 0
|
|
_081256E2:
|
|
ldrh r0, [r4]
|
|
ands r0, r5
|
|
cmp r0, 0
|
|
bne _081256F2
|
|
adds r0, r4, 0
|
|
bl sub_8125CC8
|
|
strh r0, [r4]
|
|
_081256F2:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r4, 0x2
|
|
cmp r7, 0x3F
|
|
bls _081256E2
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x3F
|
|
bls _081256E0
|
|
movs r7, 0
|
|
ldr r1, =gUnknown_03006168
|
|
mov r10, r1
|
|
mov r3, sp
|
|
movs r2, 0x80
|
|
lsls r2, 8
|
|
mov r9, r2
|
|
_08125716:
|
|
lsls r0, r7, 1
|
|
mov r2, r10
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldrh r1, [r4]
|
|
strh r1, [r3]
|
|
mov r1, r9
|
|
strh r1, [r4]
|
|
movs r6, 0x1
|
|
adds r4, 0x80
|
|
adds r5, r0, 0
|
|
_0812572C:
|
|
ldrh r0, [r4]
|
|
movs r2, 0x80
|
|
lsls r2, 8
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _0812574C
|
|
adds r2, r4, 0
|
|
adds r2, 0x80
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
str r3, [sp, 0x4]
|
|
bl sub_8125F38
|
|
strh r0, [r4]
|
|
ldr r3, [sp, 0x4]
|
|
strh r0, [r3]
|
|
_0812574C:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r4, 0x80
|
|
cmp r6, 0x3E
|
|
bls _0812572C
|
|
mov r0, r9
|
|
strh r0, [r4]
|
|
mov r1, r10
|
|
ldr r0, [r1]
|
|
adds r4, r0, r5
|
|
ldrh r0, [r4]
|
|
strh r0, [r3]
|
|
mov r2, r9
|
|
strh r2, [r4]
|
|
movs r6, 0x1
|
|
adds r4, 0x80
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
mov r8, r0
|
|
_08125774:
|
|
ldrh r0, [r4]
|
|
mov r1, r8
|
|
ands r0, r1
|
|
adds r5, r4, 0
|
|
adds r5, 0x80
|
|
cmp r0, 0
|
|
bne _08125794
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
str r3, [sp, 0x4]
|
|
bl sub_8125F38
|
|
strh r0, [r4]
|
|
ldr r3, [sp, 0x4]
|
|
strh r0, [r3]
|
|
_08125794:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r4, r5, 0
|
|
cmp r6, 0x3E
|
|
bls _08125774
|
|
mov r2, r9
|
|
strh r2, [r4]
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
cmp r7, 0x3F
|
|
bls _08125716
|
|
ldr r0, =gUnknown_03006168
|
|
ldr r4, [r0]
|
|
movs r6, 0
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
mov r8, r0
|
|
_081257BA:
|
|
movs r7, 0
|
|
adds r5, r6, 0x1
|
|
_081257BE:
|
|
ldrh r0, [r4]
|
|
mov r1, r8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _081257D0
|
|
adds r0, r4, 0
|
|
bl sub_8125CC8
|
|
strh r0, [r4]
|
|
_081257D0:
|
|
adds r0, r7, 0x1
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
adds r4, 0x2
|
|
cmp r7, 0x3F
|
|
bls _081257BE
|
|
lsls r0, r5, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, 0x3F
|
|
bls _081257BA
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81256C8
|
|
|
|
thumb_func_start sub_81257F8
|
|
sub_81257F8: @ 81257F8
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _0812587A
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
_0812580E:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
ldrh r1, [r4]
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
movs r5, 0x1
|
|
adds r4, 0x2
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
adds r6, r2, 0x1
|
|
cmp r5, r0
|
|
bge _0812586E
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r7, r0, 0
|
|
_08125846:
|
|
ldrh r0, [r4]
|
|
ands r0, r7
|
|
cmp r0, 0
|
|
bne _0812585C
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl sub_8125CF4
|
|
strh r0, [r4]
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
_0812585C:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
blt _08125846
|
|
_0812586E:
|
|
lsls r0, r6, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _0812580E
|
|
_0812587A:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81257F8
|
|
|
|
thumb_func_start sub_81258A0
|
|
sub_81258A0: @ 81258A0
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x8
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _0812592E
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
ldr r7, =gUnknown_03006180
|
|
_081258B8:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r7]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
adds r0, r2
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
ldrh r1, [r4]
|
|
mov r0, sp
|
|
strh r1, [r0]
|
|
movs r5, 0x1
|
|
ldrb r0, [r7]
|
|
lsls r0, 1
|
|
adds r4, r0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
adds r6, r2, 0x1
|
|
cmp r5, r0
|
|
bge _08125922
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r2, r0, 0
|
|
_081258F2:
|
|
ldrh r0, [r4]
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
bne _0812590C
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
str r2, [sp, 0x4]
|
|
bl sub_8125CF4
|
|
strh r0, [r4]
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
ldr r2, [sp, 0x4]
|
|
_0812590C:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r0, [r7]
|
|
lsls r0, 1
|
|
adds r4, r0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
blt _081258F2
|
|
_08125922:
|
|
lsls r0, r6, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _081258B8
|
|
_0812592E:
|
|
add sp, 0x8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81258A0
|
|
|
|
thumb_func_start sub_8125954
|
|
sub_8125954: @ 8125954
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x20
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r10, r0
|
|
mov r2, sp
|
|
ldr r3, =gUnknown_085A1F94
|
|
lsls r1, r0, 1
|
|
add r1, r10
|
|
adds r0, r1, r3
|
|
ldrb r0, [r0]
|
|
strb r0, [r2]
|
|
adds r0, r3, 0x1
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
strb r0, [r2, 0x1]
|
|
mov r5, sp
|
|
adds r0, r3, 0x2
|
|
adds r1, r0
|
|
ldrb r4, [r1]
|
|
lsls r2, r4, 24
|
|
lsrs r1, r2, 27
|
|
movs r0, 0x7
|
|
ands r1, r0
|
|
strh r1, [r5, 0x2]
|
|
lsrs r2, 25
|
|
mov r9, r2
|
|
movs r0, 0x3
|
|
ands r2, r0
|
|
mov r9, r2
|
|
movs r5, 0x1
|
|
ands r5, r4
|
|
movs r4, 0x1
|
|
mov r8, r4
|
|
cmp r8, r1
|
|
bcs _08125A06
|
|
mov r3, sp
|
|
_081259A6:
|
|
cmp r5, 0
|
|
bne _081259C4
|
|
mov r0, r8
|
|
lsls r2, r0, 2
|
|
mov r4, sp
|
|
adds r1, r4, r2
|
|
ldrb r0, [r3]
|
|
mov r4, r8
|
|
subs r0, r4
|
|
strb r0, [r1]
|
|
ldrb r0, [r3, 0x1]
|
|
add r0, r8
|
|
b _081259D6
|
|
.pool
|
|
_081259C4:
|
|
mov r0, r8
|
|
lsls r2, r0, 2
|
|
mov r4, sp
|
|
adds r1, r4, r2
|
|
ldrb r0, [r3]
|
|
adds r0, 0x1
|
|
strb r0, [r1]
|
|
ldrb r0, [r3, 0x1]
|
|
subs r0, 0x1
|
|
_081259D6:
|
|
strb r0, [r1, 0x1]
|
|
add r2, sp
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x3F
|
|
bhi _081259E6
|
|
ldrb r0, [r2, 0x1]
|
|
cmp r0, 0x3F
|
|
bls _081259EE
|
|
_081259E6:
|
|
mov r0, r8
|
|
subs r0, 0x1
|
|
strh r0, [r3, 0x2]
|
|
b _08125A06
|
|
_081259EE:
|
|
ldrh r0, [r3, 0x2]
|
|
mov r1, r8
|
|
subs r0, r1
|
|
strh r0, [r2, 0x2]
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
ldrh r0, [r3, 0x2]
|
|
cmp r8, r0
|
|
bcc _081259A6
|
|
_08125A06:
|
|
movs r2, 0
|
|
mov r8, r2
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0x2]
|
|
cmp r8, r0
|
|
bcc _08125A14
|
|
b _08125B16
|
|
_08125A14:
|
|
movs r3, 0x1F
|
|
_08125A16:
|
|
ldr r1, =gUnknown_03006168
|
|
mov r4, r8
|
|
lsls r0, r4, 2
|
|
mov r2, sp
|
|
adds r6, r2, r0
|
|
ldrb r0, [r6, 0x1]
|
|
lsls r0, 7
|
|
ldr r1, [r1]
|
|
adds r1, r0
|
|
ldrb r0, [r6]
|
|
lsls r0, 1
|
|
adds r2, r1, r0
|
|
ldrh r1, [r2]
|
|
movs r4, 0x80
|
|
lsls r4, 8
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08125B02
|
|
movs r7, 0x1F
|
|
ands r7, r1
|
|
lsls r0, r1, 16
|
|
lsrs r5, r0, 21
|
|
ands r5, r3
|
|
lsrs r4, r0, 26
|
|
ands r4, r3
|
|
mov r0, r9
|
|
cmp r0, 0
|
|
blt _08125AF8
|
|
cmp r0, 0x1
|
|
ble _08125A78
|
|
cmp r0, 0x3
|
|
bgt _08125AF8
|
|
ldrh r0, [r6, 0x2]
|
|
adds r1, r7, r0
|
|
lsls r1, 16
|
|
lsrs r7, r1, 16
|
|
adds r1, r5, r0
|
|
lsls r1, 16
|
|
lsrs r5, r1, 16
|
|
adds r0, r4, r0
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r7, 0x1F
|
|
bls _08125AEC
|
|
movs r7, 0x1F
|
|
b _08125AEC
|
|
.pool
|
|
_08125A78:
|
|
mov r1, r10
|
|
lsls r0, r1, 1
|
|
add r0, r10
|
|
ldr r1, =gUnknown_085A1F94
|
|
adds r1, 0x2
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
lsrs r0, 3
|
|
movs r1, 0x7
|
|
ands r0, r1
|
|
movs r1, 0x3
|
|
str r2, [sp, 0x18]
|
|
str r3, [sp, 0x1C]
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, [sp, 0x18]
|
|
ldr r3, [sp, 0x1C]
|
|
cmp r0, 0x1
|
|
beq _08125AC8
|
|
cmp r0, 0x1
|
|
bgt _08125AB0
|
|
cmp r0, 0
|
|
beq _08125AB6
|
|
b _08125AF8
|
|
.pool
|
|
_08125AB0:
|
|
cmp r0, 0x2
|
|
beq _08125ADA
|
|
b _08125AF8
|
|
_08125AB6:
|
|
ldrh r0, [r6, 0x2]
|
|
cmp r7, r0
|
|
bcc _08125AC4
|
|
subs r0, r7, r0
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
b _08125AF8
|
|
_08125AC4:
|
|
movs r7, 0
|
|
b _08125AF8
|
|
_08125AC8:
|
|
ldrh r0, [r6, 0x2]
|
|
cmp r5, r0
|
|
bcc _08125AD6
|
|
subs r0, r5, r0
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
b _08125AF8
|
|
_08125AD6:
|
|
movs r5, 0
|
|
b _08125AF8
|
|
_08125ADA:
|
|
ldrh r0, [r6, 0x2]
|
|
cmp r4, r0
|
|
bcc _08125AE8
|
|
subs r0, r4, r0
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
b _08125AF8
|
|
_08125AE8:
|
|
movs r4, 0
|
|
b _08125AF8
|
|
_08125AEC:
|
|
cmp r5, 0x1F
|
|
bls _08125AF2
|
|
movs r5, 0x1F
|
|
_08125AF2:
|
|
cmp r4, 0x1F
|
|
bls _08125AF8
|
|
movs r4, 0x1F
|
|
_08125AF8:
|
|
lsls r0, r4, 10
|
|
lsls r1, r5, 5
|
|
orrs r0, r1
|
|
orrs r7, r0
|
|
strh r7, [r2]
|
|
_08125B02:
|
|
mov r0, r8
|
|
adds r0, 0x1
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
mov r8, r0
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0x2]
|
|
cmp r8, r0
|
|
bcs _08125B16
|
|
b _08125A16
|
|
_08125B16:
|
|
add sp, 0x20
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8125954
|
|
|
|
thumb_func_start sub_8125B28
|
|
sub_8125B28: @ 8125B28
|
|
ldrh r2, [r0]
|
|
movs r0, 0x1F
|
|
adds r1, r2, 0
|
|
ands r1, r0
|
|
asrs r3, r2, 5
|
|
ands r3, r0
|
|
asrs r2, 10
|
|
ands r2, r0
|
|
movs r0, 0x4C
|
|
muls r1, r0
|
|
movs r0, 0x97
|
|
muls r0, r3
|
|
adds r1, r0
|
|
lsls r0, r2, 3
|
|
subs r0, r2
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
adds r1, r0
|
|
asrs r1, 8
|
|
lsls r0, r1, 10
|
|
lsls r2, r1, 5
|
|
orrs r0, r2
|
|
orrs r0, r1
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bx lr
|
|
thumb_func_end sub_8125B28
|
|
|
|
thumb_func_start sub_8125B5C
|
|
sub_8125B5C: @ 8125B5C
|
|
push {r4,lr}
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
ldrh r0, [r0]
|
|
movs r2, 0x1F
|
|
movs r1, 0x1F
|
|
ands r1, r0
|
|
lsls r0, 16
|
|
lsrs r3, r0, 21
|
|
ands r3, r2
|
|
lsrs r0, 26
|
|
ands r0, r2
|
|
cmp r1, 0x10
|
|
bhi _08125B8C
|
|
cmp r3, 0x10
|
|
bhi _08125B8C
|
|
cmp r0, 0x10
|
|
bhi _08125B8C
|
|
adds r0, r4, 0
|
|
bl sub_8125B98
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _08125B8E
|
|
_08125B8C:
|
|
ldr r0, =0x00007fff
|
|
_08125B8E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_8125B5C
|
|
|
|
thumb_func_start sub_8125B98
|
|
sub_8125B98: @ 8125B98
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r6, 0
|
|
movs r7, 0
|
|
adds r0, r4, 0
|
|
movs r1, 0x6
|
|
bl __udivsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0x3
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r0, r4, 0
|
|
movs r1, 0x6
|
|
bl __umodsi3
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x5
|
|
bhi _08125C50
|
|
lsls r0, 2
|
|
ldr r1, =_08125BE0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_08125BE0:
|
|
.4byte _08125BF8
|
|
.4byte _08125C08
|
|
.4byte _08125C18
|
|
.4byte _08125C26
|
|
.4byte _08125C34
|
|
.4byte _08125C42
|
|
_08125BF8:
|
|
movs r0, 0x15
|
|
subs r0, r5
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
adds r7, r6, 0
|
|
movs r1, 0
|
|
mov r8, r1
|
|
b _08125C50
|
|
_08125C08:
|
|
movs r7, 0
|
|
movs r0, 0x15
|
|
subs r0, r5
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
mov r6, r8
|
|
b _08125C50
|
|
_08125C18:
|
|
movs r0, 0x15
|
|
subs r0, r5
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
movs r6, 0
|
|
mov r8, r7
|
|
b _08125C50
|
|
_08125C26:
|
|
movs r7, 0
|
|
movs r6, 0
|
|
movs r0, 0x17
|
|
subs r0, r5
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
b _08125C4E
|
|
_08125C34:
|
|
movs r0, 0x17
|
|
subs r0, r5
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
movs r6, 0
|
|
mov r8, r6
|
|
b _08125C50
|
|
_08125C42:
|
|
movs r7, 0
|
|
movs r0, 0x17
|
|
subs r0, r5
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
movs r0, 0
|
|
_08125C4E:
|
|
mov r8, r0
|
|
_08125C50:
|
|
lsls r0, r7, 10
|
|
lsls r1, r6, 5
|
|
orrs r0, r1
|
|
mov r1, r8
|
|
orrs r1, r0
|
|
lsls r0, r1, 16
|
|
lsrs r0, 16
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8125B98
|
|
|
|
thumb_func_start sub_8125C68
|
|
sub_8125C68: @ 8125C68
|
|
push {lr}
|
|
ldrh r0, [r0]
|
|
movs r2, 0x1F
|
|
movs r1, 0x1F
|
|
ands r1, r0
|
|
lsls r0, 16
|
|
lsrs r3, r0, 21
|
|
ands r3, r2
|
|
lsrs r0, 26
|
|
ands r0, r2
|
|
cmp r1, 0x10
|
|
bhi _08125C8C
|
|
cmp r3, 0x10
|
|
bhi _08125C8C
|
|
cmp r0, 0x10
|
|
bhi _08125C8C
|
|
movs r0, 0
|
|
b _08125C8E
|
|
_08125C8C:
|
|
ldr r0, =0x00007fff
|
|
_08125C8E:
|
|
pop {r1}
|
|
bx r1
|
|
.pool
|
|
thumb_func_end sub_8125C68
|
|
|
|
thumb_func_start sub_8125C98
|
|
sub_8125C98: @ 8125C98
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
ldrh r3, [r4]
|
|
cmp r3, 0
|
|
beq _08125CC0
|
|
movs r2, 0x80
|
|
lsls r2, 8
|
|
adds r0, r2, 0
|
|
ands r0, r3
|
|
cmp r0, 0
|
|
beq _08125CB2
|
|
adds r0, r2, 0
|
|
b _08125CC2
|
|
_08125CB2:
|
|
ldrh r1, [r1]
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _08125CC0
|
|
ldrh r0, [r4]
|
|
b _08125CC2
|
|
_08125CC0:
|
|
movs r0, 0
|
|
_08125CC2:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8125C98
|
|
|
|
thumb_func_start sub_8125CC8
|
|
sub_8125CC8: @ 8125CC8
|
|
push {r4,lr}
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1F
|
|
movs r3, 0x1F
|
|
ands r3, r1
|
|
lsls r1, 16
|
|
lsrs r2, r1, 21
|
|
lsrs r1, 26
|
|
subs r3, r0, r3
|
|
adds r4, r0, 0
|
|
bics r4, r2
|
|
adds r2, r4, 0
|
|
bics r0, r1
|
|
lsls r0, 10
|
|
lsls r2, 5
|
|
orrs r0, r2
|
|
orrs r0, r3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8125CC8
|
|
|
|
thumb_func_start sub_8125CF4
|
|
sub_8125CF4: @ 8125CF4
|
|
push {r4-r7,lr}
|
|
sub sp, 0x14
|
|
adds r7, r1, 0
|
|
ldrh r4, [r0]
|
|
ldrh r5, [r7]
|
|
lsls r6, r4, 16
|
|
lsls r0, r5, 16
|
|
mov r12, r0
|
|
cmp r4, r5
|
|
beq _08125D66
|
|
mov r2, sp
|
|
movs r3, 0x1F
|
|
movs r1, 0x1F
|
|
adds r0, r1, 0
|
|
ands r0, r4
|
|
strh r0, [r2]
|
|
lsrs r0, r6, 21
|
|
ands r0, r3
|
|
strh r0, [r2, 0x2]
|
|
lsrs r0, r6, 26
|
|
ands r0, r3
|
|
strh r0, [r2, 0x4]
|
|
mov r0, sp
|
|
ands r1, r5
|
|
strh r1, [r0, 0x6]
|
|
mov r1, sp
|
|
mov r2, r12
|
|
lsrs r0, r2, 21
|
|
ands r0, r3
|
|
strh r0, [r1, 0x8]
|
|
lsrs r0, r2, 26
|
|
ands r0, r3
|
|
strh r0, [r1, 0xA]
|
|
mov r0, sp
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x19
|
|
bls _08125D4E
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0x2]
|
|
cmp r0, 0x19
|
|
bls _08125D4E
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0x4]
|
|
cmp r0, 0x19
|
|
bhi _08125D66
|
|
_08125D4E:
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0x6]
|
|
cmp r0, 0x19
|
|
bls _08125D6A
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0x8]
|
|
cmp r0, 0x19
|
|
bls _08125D6A
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0xA]
|
|
cmp r0, 0x19
|
|
bls _08125D6A
|
|
_08125D66:
|
|
ldrh r0, [r7]
|
|
b _08125E10
|
|
_08125D6A:
|
|
movs r4, 0
|
|
add r6, sp, 0xC
|
|
mov r7, sp
|
|
adds r7, 0x6
|
|
adds r5, r6, 0
|
|
_08125D74:
|
|
lsls r2, r4, 1
|
|
mov r1, sp
|
|
adds r0, r1, r2
|
|
adds r1, r7, r2
|
|
ldrh r3, [r0]
|
|
ldrh r0, [r1]
|
|
cmp r3, r0
|
|
bls _08125D8A
|
|
adds r1, r5, r2
|
|
subs r0, r3, r0
|
|
b _08125D8E
|
|
_08125D8A:
|
|
adds r1, r5, r2
|
|
subs r0, r3
|
|
_08125D8E:
|
|
strh r0, [r1]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x2
|
|
bls _08125D74
|
|
adds r1, r6, 0
|
|
ldrh r0, [r1, 0x2]
|
|
ldrh r3, [r1]
|
|
cmp r3, r0
|
|
bcc _08125DB4
|
|
ldrh r2, [r1, 0x4]
|
|
cmp r3, r2
|
|
bcc _08125DAE
|
|
adds r2, r3, 0
|
|
b _08125DC8
|
|
_08125DAE:
|
|
cmp r0, r2
|
|
bcs _08125DBA
|
|
b _08125DC2
|
|
_08125DB4:
|
|
ldrh r2, [r1, 0x4]
|
|
cmp r0, r2
|
|
bcc _08125DBE
|
|
_08125DBA:
|
|
ldrh r2, [r1, 0x2]
|
|
b _08125DC8
|
|
_08125DBE:
|
|
cmp r2, r3
|
|
bcc _08125DC6
|
|
_08125DC2:
|
|
ldrh r2, [r1, 0x4]
|
|
b _08125DC8
|
|
_08125DC6:
|
|
ldrh r2, [r6]
|
|
_08125DC8:
|
|
mov r0, sp
|
|
ldrh r1, [r0, 0x6]
|
|
lsrs r0, r2, 1
|
|
movs r6, 0x1F
|
|
subs r6, r0
|
|
adds r0, r1, 0
|
|
muls r0, r6
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
adds r5, r0, 0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0x8]
|
|
muls r0, r6
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
mov r0, sp
|
|
ldrh r0, [r0, 0xA]
|
|
muls r0, r6
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r0, 6
|
|
lsls r4, 5
|
|
orrs r0, r4
|
|
orrs r5, r0
|
|
lsls r5, 16
|
|
lsrs r5, 16
|
|
adds r0, r5, 0
|
|
_08125E10:
|
|
add sp, 0x14
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8125CF4
|
|
|
|
thumb_func_start sub_8125E18
|
|
sub_8125E18: @ 8125E18
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
adds r3, r0, 0
|
|
mov r10, r1
|
|
str r2, [sp]
|
|
ldrh r1, [r3]
|
|
mov r0, r10
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
bne _08125E40
|
|
ldrh r0, [r2]
|
|
cmp r0, r1
|
|
bne _08125E40
|
|
mov r1, r10
|
|
ldrh r0, [r1]
|
|
b _08125F28
|
|
_08125E40:
|
|
mov r2, r10
|
|
ldrh r0, [r2]
|
|
movs r1, 0x1F
|
|
mov r9, r1
|
|
movs r4, 0x1F
|
|
adds r5, r4, 0
|
|
ands r5, r0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 21
|
|
mov r1, r9
|
|
ands r1, r2
|
|
mov r8, r1
|
|
lsrs r0, 26
|
|
mov r2, r9
|
|
ands r2, r0
|
|
str r2, [sp, 0x4]
|
|
ldrh r2, [r3]
|
|
adds r0, r4, 0
|
|
ands r0, r2
|
|
lsls r2, 16
|
|
lsrs r1, r2, 21
|
|
mov r3, r9
|
|
ands r1, r3
|
|
adds r0, r1
|
|
lsrs r2, 26
|
|
ands r2, r3
|
|
adds r0, r2
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
mov r1, r8
|
|
adds r0, r5, r1
|
|
ldr r2, [sp, 0x4]
|
|
adds r0, r2
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r3, [sp]
|
|
ldrh r1, [r3]
|
|
ands r4, r1
|
|
lsls r1, 16
|
|
lsrs r0, r1, 21
|
|
mov r2, r9
|
|
ands r0, r2
|
|
adds r4, r0
|
|
lsrs r1, 26
|
|
ands r1, r2
|
|
adds r4, r1
|
|
adds r0, r4, 0
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r7, r6
|
|
bne _08125EC2
|
|
cmp r1, r6
|
|
bne _08125EC2
|
|
mov r3, r10
|
|
ldrh r0, [r3]
|
|
b _08125F28
|
|
_08125EC2:
|
|
cmp r7, r6
|
|
bls _08125ECA
|
|
subs r0, r7, r6
|
|
b _08125ECC
|
|
_08125ECA:
|
|
subs r0, r6, r7
|
|
_08125ECC:
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r1, r6
|
|
bls _08125ED8
|
|
subs r0, r1, r6
|
|
b _08125EDA
|
|
_08125ED8:
|
|
subs r0, r6, r1
|
|
_08125EDA:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r2, r0
|
|
bcc _08125EE4
|
|
adds r0, r2, 0
|
|
_08125EE4:
|
|
lsrs r0, 1
|
|
movs r4, 0x1F
|
|
subs r4, r0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r5, 0
|
|
muls r0, r4
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
mov r0, r8
|
|
muls r0, r4
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldr r1, [sp, 0x4]
|
|
adds r0, r1, 0
|
|
muls r0, r4
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r0, 6
|
|
mov r2, r8
|
|
lsls r1, r2, 5
|
|
orrs r0, r1
|
|
orrs r5, r0
|
|
lsls r0, r5, 16
|
|
lsrs r0, 16
|
|
_08125F28:
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8125E18
|
|
|
|
thumb_func_start sub_8125F38
|
|
sub_8125F38: @ 8125F38
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x8
|
|
adds r3, r0, 0
|
|
mov r10, r1
|
|
str r2, [sp]
|
|
ldrh r1, [r3]
|
|
mov r0, r10
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
bne _08125F60
|
|
ldrh r0, [r2]
|
|
cmp r0, r1
|
|
bne _08125F60
|
|
mov r1, r10
|
|
ldrh r0, [r1]
|
|
b _08126046
|
|
_08125F60:
|
|
mov r2, r10
|
|
ldrh r0, [r2]
|
|
movs r1, 0x1F
|
|
mov r9, r1
|
|
movs r4, 0x1F
|
|
adds r5, r4, 0
|
|
ands r5, r0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 21
|
|
mov r1, r9
|
|
ands r1, r2
|
|
mov r8, r1
|
|
lsrs r0, 26
|
|
mov r2, r9
|
|
ands r2, r0
|
|
str r2, [sp, 0x4]
|
|
ldrh r2, [r3]
|
|
adds r0, r4, 0
|
|
ands r0, r2
|
|
lsls r2, 16
|
|
lsrs r1, r2, 21
|
|
mov r3, r9
|
|
ands r1, r3
|
|
adds r0, r1
|
|
lsrs r2, 26
|
|
ands r2, r3
|
|
adds r0, r2
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
mov r1, r8
|
|
adds r0, r5, r1
|
|
ldr r2, [sp, 0x4]
|
|
adds r0, r2
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
ldr r3, [sp]
|
|
ldrh r1, [r3]
|
|
ands r4, r1
|
|
lsls r1, 16
|
|
lsrs r0, r1, 21
|
|
mov r2, r9
|
|
ands r0, r2
|
|
adds r4, r0
|
|
lsrs r1, 26
|
|
ands r1, r2
|
|
adds r4, r1
|
|
adds r0, r4, 0
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
cmp r7, r6
|
|
bne _08125FE2
|
|
cmp r1, r6
|
|
bne _08125FE2
|
|
mov r3, r10
|
|
ldrh r0, [r3]
|
|
b _08126046
|
|
_08125FE2:
|
|
cmp r7, r6
|
|
bls _08125FEA
|
|
subs r0, r7, r6
|
|
b _08125FEC
|
|
_08125FEA:
|
|
subs r0, r6, r7
|
|
_08125FEC:
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
cmp r1, r6
|
|
bls _08125FF8
|
|
subs r0, r1, r6
|
|
b _08125FFA
|
|
_08125FF8:
|
|
subs r0, r6, r1
|
|
_08125FFA:
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r2, r0
|
|
bcc _08126004
|
|
adds r0, r2, 0
|
|
_08126004:
|
|
movs r4, 0x1F
|
|
subs r4, r0
|
|
lsls r4, 16
|
|
lsrs r4, 16
|
|
adds r0, r5, 0
|
|
muls r0, r4
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
mov r0, r8
|
|
muls r0, r4
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
ldr r1, [sp, 0x4]
|
|
adds r0, r1, 0
|
|
muls r0, r4
|
|
movs r1, 0x1F
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
lsrs r0, 6
|
|
mov r2, r8
|
|
lsls r1, r2, 5
|
|
orrs r0, r1
|
|
orrs r5, r0
|
|
lsls r0, r5, 16
|
|
lsrs r0, 16
|
|
_08126046:
|
|
add sp, 0x8
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8125F38
|
|
|
|
thumb_func_start sub_8126058
|
|
sub_8126058: @ 8126058
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0xC
|
|
ldrb r1, [r0, 0x1D]
|
|
lsrs r5, r1, 3
|
|
ldrb r1, [r0, 0x1E]
|
|
lsrs r1, 3
|
|
str r1, [sp, 0x8]
|
|
ldr r1, [r0, 0x4]
|
|
str r1, [sp]
|
|
ldr r2, [r0, 0x10]
|
|
str r2, [sp, 0x4]
|
|
ldrh r0, [r0, 0x16]
|
|
cmp r0, 0x2
|
|
bne _08126108
|
|
movs r1, 0
|
|
ldr r0, [sp, 0x8]
|
|
cmp r1, r0
|
|
bcc _08126086
|
|
b _08126194
|
|
_08126086:
|
|
movs r0, 0
|
|
adds r2, r1, 0x1
|
|
mov r10, r2
|
|
cmp r0, r5
|
|
bcs _081260FA
|
|
adds r2, r1, 0
|
|
muls r2, r5
|
|
mov r9, r2
|
|
lsls r1, 3
|
|
mov r8, r1
|
|
_0812609A:
|
|
movs r4, 0
|
|
lsls r6, r0, 4
|
|
adds r7, r0, 0x1
|
|
add r0, r9
|
|
lsls r0, 6
|
|
ldr r1, [sp, 0x4]
|
|
adds r1, r0
|
|
mov r12, r1
|
|
_081260AA:
|
|
lsls r0, r4, 3
|
|
mov r2, r12
|
|
adds r3, r2, r0
|
|
mov r1, r8
|
|
adds r0, r1, r4
|
|
lsls r0, 3
|
|
muls r0, r5
|
|
lsls r0, 1
|
|
ldr r2, [sp]
|
|
adds r0, r2, r0
|
|
adds r2, r0, r6
|
|
ldrh r0, [r2, 0x2]
|
|
lsls r0, 8
|
|
ldrh r1, [r2]
|
|
orrs r0, r1
|
|
strh r0, [r3]
|
|
ldrh r0, [r2, 0x6]
|
|
lsls r0, 8
|
|
ldrh r1, [r2, 0x4]
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x2]
|
|
ldrh r0, [r2, 0xA]
|
|
lsls r0, 8
|
|
ldrh r1, [r2, 0x8]
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x4]
|
|
ldrh r0, [r2, 0xE]
|
|
lsls r0, 8
|
|
ldrh r1, [r2, 0xC]
|
|
orrs r0, r1
|
|
strh r0, [r3, 0x6]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x7
|
|
bls _081260AA
|
|
lsls r0, r7, 16
|
|
lsrs r0, 16
|
|
cmp r0, r5
|
|
bcc _0812609A
|
|
_081260FA:
|
|
mov r1, r10
|
|
lsls r0, r1, 16
|
|
lsrs r1, r0, 16
|
|
ldr r2, [sp, 0x8]
|
|
cmp r1, r2
|
|
bcc _08126086
|
|
b _08126194
|
|
_08126108:
|
|
movs r1, 0
|
|
ldr r0, [sp, 0x8]
|
|
cmp r1, r0
|
|
bcs _08126194
|
|
_08126110:
|
|
movs r0, 0
|
|
adds r2, r1, 0x1
|
|
mov r10, r2
|
|
cmp r0, r5
|
|
bcs _08126188
|
|
adds r2, r1, 0
|
|
muls r2, r5
|
|
mov r9, r2
|
|
lsls r1, 3
|
|
mov r8, r1
|
|
_08126124:
|
|
movs r4, 0
|
|
lsls r6, r0, 4
|
|
adds r7, r0, 0x1
|
|
add r0, r9
|
|
lsls r0, 5
|
|
ldr r1, [sp, 0x4]
|
|
adds r1, r0
|
|
mov r12, r1
|
|
_08126134:
|
|
lsls r0, r4, 2
|
|
mov r2, r12
|
|
adds r3, r2, r0
|
|
mov r1, r8
|
|
adds r0, r1, r4
|
|
lsls r0, 3
|
|
muls r0, r5
|
|
lsls r0, 1
|
|
ldr r2, [sp]
|
|
adds r0, r2, r0
|
|
adds r2, r0, r6
|
|
ldrh r1, [r2, 0x2]
|
|
lsls r1, 4
|
|
ldrh r0, [r2]
|
|
orrs r1, r0
|
|
ldrh r0, [r2, 0x4]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
ldrh r0, [r2, 0x6]
|
|
lsls r0, 12
|
|
orrs r1, r0
|
|
strh r1, [r3]
|
|
ldrh r1, [r2, 0xA]
|
|
lsls r1, 4
|
|
ldrh r0, [r2, 0x8]
|
|
orrs r1, r0
|
|
ldrh r0, [r2, 0xC]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
ldrh r0, [r2, 0xE]
|
|
lsls r0, 12
|
|
orrs r1, r0
|
|
strh r1, [r3, 0x2]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
cmp r4, 0x7
|
|
bls _08126134
|
|
lsls r0, r7, 16
|
|
lsrs r0, 16
|
|
cmp r0, r5
|
|
bcc _08126124
|
|
_08126188:
|
|
mov r1, r10
|
|
lsls r0, r1, 16
|
|
lsrs r1, r0, 16
|
|
ldr r2, [sp, 0x8]
|
|
cmp r1, r2
|
|
bcc _08126110
|
|
_08126194:
|
|
add sp, 0xC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8126058
|
|
|
|
thumb_func_start sub_81261A4
|
|
sub_81261A4: @ 81261A4
|
|
push {lr}
|
|
ldr r2, =gUnknown_03006188
|
|
ldrb r1, [r0, 0x18]
|
|
lsls r1, 4
|
|
strh r1, [r2]
|
|
ldr r3, =gUnknown_03006184
|
|
ldrh r2, [r2]
|
|
lsls r2, 1
|
|
ldr r1, [r0, 0x8]
|
|
adds r1, r2
|
|
str r1, [r3]
|
|
ldr r2, =gUnknown_03006168
|
|
ldr r1, [r0, 0x4]
|
|
str r1, [r2]
|
|
ldr r2, =gUnknown_03006164
|
|
ldrb r1, [r0, 0x19]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006178
|
|
ldrb r1, [r0, 0x1A]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006174
|
|
ldrb r1, [r0, 0x1B]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_0300616C
|
|
ldrb r1, [r0, 0x1C]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006180
|
|
ldrb r1, [r0, 0x1D]
|
|
strb r1, [r2]
|
|
ldr r2, =gUnknown_03006170
|
|
ldrb r1, [r0, 0x1E]
|
|
strb r1, [r2]
|
|
ldrh r0, [r0, 0x14]
|
|
cmp r0, 0x5
|
|
bhi _0812626A
|
|
lsls r0, 2
|
|
ldr r1, =_0812621C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_0812621C:
|
|
.4byte _08126234
|
|
.4byte _0812623C
|
|
.4byte _08126244
|
|
.4byte _0812624E
|
|
.4byte _08126258
|
|
.4byte _08126262
|
|
_08126234:
|
|
movs r0, 0
|
|
bl sub_81263A4
|
|
b _0812626A
|
|
_0812623C:
|
|
movs r0, 0x1
|
|
bl sub_81263A4
|
|
b _0812626A
|
|
_08126244:
|
|
bl sub_8126270
|
|
bl sub_8126714
|
|
b _0812626A
|
|
_0812624E:
|
|
bl sub_8126370
|
|
bl sub_8126664
|
|
b _0812626A
|
|
_08126258:
|
|
bl sub_8126334
|
|
bl sub_81265B4
|
|
b _0812626A
|
|
_08126262:
|
|
bl sub_8126318
|
|
bl sub_81264FC
|
|
_0812626A:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81261A4
|
|
|
|
thumb_func_start sub_8126270
|
|
sub_8126270: @ 8126270
|
|
ldr r2, =gUnknown_03006184
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r0, [r2]
|
|
ldr r2, =0x000018c6
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x2]
|
|
ldr r2, =0x000077bd
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x4]
|
|
ldr r2, =0x00002d6b
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x6]
|
|
ldr r2, =0x000018dd
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x8]
|
|
ldr r2, =0x00001ba6
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0xA]
|
|
ldr r2, =0x000074c6
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0xC]
|
|
ldr r2, =0x00001bbd
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0xE]
|
|
ldr r2, =0x000074dd
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x10]
|
|
ldr r2, =0x000077a6
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x12]
|
|
ldr r2, =0x0000197d
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x14]
|
|
ldr r2, =0x00001bab
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x16]
|
|
ldr r2, =0x00007566
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x18]
|
|
ldr r2, =0x00002cdd
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x1A]
|
|
ldr r2, =0x00002fa6
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x1C]
|
|
ldr r2, =0x000074cb
|
|
adds r1, r2, 0
|
|
strh r1, [r0, 0x1E]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_8126270
|
|
|
|
thumb_func_start sub_8126318
|
|
sub_8126318: @ 8126318
|
|
ldr r2, =gUnknown_03006184
|
|
ldr r0, [r2]
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r2, [r2]
|
|
strh r1, [r2, 0x2]
|
|
ldr r1, =0x00007fff
|
|
adds r0, r1, 0
|
|
strh r0, [r2, 0x4]
|
|
bx lr
|
|
.pool
|
|
thumb_func_end sub_8126318
|
|
|
|
thumb_func_start sub_8126334
|
|
sub_8126334: @ 8126334
|
|
push {r4,r5,lr}
|
|
ldr r1, =gUnknown_03006184
|
|
ldr r0, [r1]
|
|
movs r2, 0
|
|
strh r2, [r0]
|
|
ldr r0, [r1]
|
|
strh r2, [r0, 0x2]
|
|
movs r4, 0
|
|
adds r5, r1, 0
|
|
_08126346:
|
|
ldr r0, [r5]
|
|
lsls r2, r4, 1
|
|
adds r2, r0
|
|
adds r0, r4, 0x2
|
|
lsls r3, r0, 1
|
|
lsls r1, r0, 11
|
|
lsls r0, 6
|
|
orrs r1, r0
|
|
orrs r1, r3
|
|
strh r1, [r2, 0x4]
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0xD
|
|
bls _08126346
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8126334
|
|
|
|
thumb_func_start sub_8126370
|
|
sub_8126370: @ 8126370
|
|
push {r4,lr}
|
|
ldr r2, =gUnknown_03006184
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
movs r3, 0
|
|
adds r4, r2, 0
|
|
_0812637E:
|
|
ldr r0, [r4]
|
|
lsls r2, r3, 1
|
|
adds r2, r0
|
|
lsls r0, r3, 10
|
|
lsls r1, r3, 5
|
|
orrs r0, r1
|
|
orrs r0, r3
|
|
strh r0, [r2, 0x2]
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, 0x1F
|
|
bls _0812637E
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8126370
|
|
|
|
thumb_func_start sub_81263A4
|
|
sub_81263A4: @ 81263A4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 24
|
|
movs r1, 0xDF
|
|
mov r9, r1
|
|
cmp r0, 0
|
|
bne _081263BC
|
|
movs r2, 0xFF
|
|
mov r9, r2
|
|
_081263BC:
|
|
movs r6, 0
|
|
ldr r3, =gUnknown_03006184
|
|
mov r12, r3
|
|
mov r0, r9
|
|
lsls r4, r0, 1
|
|
ldr r5, =gUnknown_0300616C
|
|
cmp r6, r9
|
|
bcs _081263E0
|
|
movs r2, 0
|
|
_081263CE:
|
|
ldr r0, [r3]
|
|
lsls r1, r6, 1
|
|
adds r1, r0
|
|
strh r2, [r1]
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
cmp r6, r9
|
|
bcc _081263CE
|
|
_081263E0:
|
|
mov r1, r12
|
|
ldr r0, [r1]
|
|
adds r0, r4, r0
|
|
ldr r2, =0x00003def
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
movs r3, 0
|
|
ldrb r5, [r5]
|
|
cmp r3, r5
|
|
bcs _081264E4
|
|
_081263F4:
|
|
ldr r2, =gUnknown_03006168
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r3
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
ldr r1, [r2]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r6, 0
|
|
ldr r0, =gUnknown_03006174
|
|
adds r2, r0, 0
|
|
adds r3, 0x1
|
|
mov r10, r3
|
|
ldrb r3, [r2]
|
|
cmp r6, r3
|
|
bcs _081264D6
|
|
ldr r0, =gUnknown_03006188
|
|
mov r8, r0
|
|
_08126424:
|
|
ldrh r0, [r4]
|
|
movs r3, 0x80
|
|
lsls r3, 8
|
|
adds r1, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126464
|
|
mov r1, r8
|
|
ldrh r0, [r1]
|
|
strh r0, [r4]
|
|
adds r6, 0x1
|
|
adds r7, r4, 0x2
|
|
b _081264CA
|
|
.pool
|
|
_08126464:
|
|
adds r0, r4, 0
|
|
bl sub_81267C4
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
movs r3, 0x1
|
|
adds r6, 0x1
|
|
adds r7, r4, 0x2
|
|
cmp r3, r9
|
|
bcs _081264C0
|
|
ldr r0, =gUnknown_03006184
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2, 0x2]
|
|
mov r12, r0
|
|
cmp r1, 0
|
|
bne _08126494
|
|
strh r5, [r2, 0x2]
|
|
mov r2, r8
|
|
ldrh r0, [r2]
|
|
adds r0, 0x1
|
|
b _081264BE
|
|
.pool
|
|
_08126494:
|
|
mov r2, r12
|
|
ldr r1, [r2]
|
|
lsls r0, r3, 1
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, r5
|
|
beq _081264B8
|
|
adds r0, r3, 0x1
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
cmp r3, r9
|
|
bcs _081264C0
|
|
lsls r0, r3, 1
|
|
adds r1, r0, r1
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08126494
|
|
strh r5, [r1]
|
|
_081264B8:
|
|
mov r1, r8
|
|
ldrh r0, [r1]
|
|
adds r0, r3
|
|
_081264BE:
|
|
strh r0, [r4]
|
|
_081264C0:
|
|
ldr r2, =gUnknown_03006174
|
|
cmp r3, r9
|
|
bne _081264CA
|
|
mov r3, r9
|
|
strh r3, [r4]
|
|
_081264CA:
|
|
lsls r0, r6, 24
|
|
lsrs r6, r0, 24
|
|
adds r4, r7, 0
|
|
ldrb r0, [r2]
|
|
cmp r6, r0
|
|
bcc _08126424
|
|
_081264D6:
|
|
mov r1, r10
|
|
lsls r0, r1, 24
|
|
lsrs r3, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r3, r0
|
|
bcc _081263F4
|
|
_081264E4:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81263A4
|
|
|
|
thumb_func_start sub_81264FC
|
|
sub_81264FC: @ 81264FC
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _081265A0
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
_08126510:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r6, 0
|
|
ldr r0, =gUnknown_03006174
|
|
adds r3, r0, 0
|
|
adds r7, r2, 0x1
|
|
ldrb r0, [r3]
|
|
cmp r6, r0
|
|
bcs _08126594
|
|
ldr r5, =gUnknown_03006188
|
|
_0812653C:
|
|
ldrh r0, [r4]
|
|
movs r2, 0x80
|
|
lsls r2, 8
|
|
adds r1, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812656C
|
|
ldrh r0, [r5]
|
|
strh r0, [r4]
|
|
b _08126586
|
|
.pool
|
|
_0812656C:
|
|
adds r0, r4, 0
|
|
bl sub_8125C68
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _0812657E
|
|
ldrh r0, [r5]
|
|
adds r0, 0x1
|
|
b _08126582
|
|
_0812657E:
|
|
ldrh r0, [r5]
|
|
adds r0, 0x2
|
|
_08126582:
|
|
strh r0, [r4]
|
|
ldr r3, =gUnknown_03006174
|
|
_08126586:
|
|
adds r0, r6, 0x1
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
adds r4, 0x2
|
|
ldrb r0, [r3]
|
|
cmp r6, r0
|
|
bcc _0812653C
|
|
_08126594:
|
|
lsls r0, r7, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _08126510
|
|
_081265A0:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81264FC
|
|
|
|
thumb_func_start sub_81265B4
|
|
sub_81265B4: @ 81265B4
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _08126650
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
_081265CA:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
ldr r0, =gUnknown_03006174
|
|
adds r7, r2, 0x1
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcs _08126644
|
|
ldr r6, =gUnknown_03006188
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r2, r0, 0
|
|
_081265FA:
|
|
ldrh r0, [r4]
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08126624
|
|
ldrh r0, [r6]
|
|
strh r0, [r4]
|
|
b _08126634
|
|
.pool
|
|
_08126624:
|
|
adds r0, r4, 0
|
|
str r2, [sp]
|
|
bl sub_8126908
|
|
ldrh r1, [r6]
|
|
adds r0, r1
|
|
strh r0, [r4]
|
|
ldr r2, [sp]
|
|
_08126634:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcc _081265FA
|
|
_08126644:
|
|
lsls r0, r7, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _081265CA
|
|
_08126650:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_81265B4
|
|
|
|
thumb_func_start sub_8126664
|
|
sub_8126664: @ 8126664
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _08126700
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
_0812667A:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
ldr r0, =gUnknown_03006174
|
|
adds r7, r2, 0x1
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcs _081266F4
|
|
ldr r6, =gUnknown_03006188
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r2, r0, 0
|
|
_081266AA:
|
|
ldrh r0, [r4]
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _081266D4
|
|
ldrh r0, [r6]
|
|
strh r0, [r4]
|
|
b _081266E4
|
|
.pool
|
|
_081266D4:
|
|
adds r0, r4, 0
|
|
str r2, [sp]
|
|
bl sub_812693C
|
|
ldrh r1, [r6]
|
|
adds r0, r1
|
|
strh r0, [r4]
|
|
ldr r2, [sp]
|
|
_081266E4:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcc _081266AA
|
|
_081266F4:
|
|
lsls r0, r7, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _0812667A
|
|
_08126700:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8126664
|
|
|
|
thumb_func_start sub_8126714
|
|
sub_8126714: @ 8126714
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x4
|
|
movs r2, 0
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcs _081267B0
|
|
ldr r0, =gUnknown_03006168
|
|
mov r8, r0
|
|
_0812672A:
|
|
ldr r0, =gUnknown_03006178
|
|
ldrb r1, [r0]
|
|
adds r1, r2
|
|
ldr r0, =gUnknown_03006180
|
|
ldrb r0, [r0]
|
|
muls r0, r1
|
|
lsls r0, 1
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r1, r0
|
|
ldr r0, =gUnknown_03006164
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r4, r1, r0
|
|
movs r5, 0
|
|
ldr r0, =gUnknown_03006174
|
|
adds r7, r2, 0x1
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcs _081267A4
|
|
ldr r6, =gUnknown_03006188
|
|
movs r0, 0x80
|
|
lsls r0, 8
|
|
adds r2, r0, 0
|
|
_0812675A:
|
|
ldrh r0, [r4]
|
|
ands r0, r2
|
|
cmp r0, 0
|
|
beq _08126784
|
|
ldrh r0, [r6]
|
|
strh r0, [r4]
|
|
b _08126794
|
|
.pool
|
|
_08126784:
|
|
adds r0, r4, 0
|
|
str r2, [sp]
|
|
bl sub_8126838
|
|
ldrh r1, [r6]
|
|
adds r0, r1
|
|
strh r0, [r4]
|
|
ldr r2, [sp]
|
|
_08126794:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
adds r4, 0x2
|
|
ldr r0, =gUnknown_03006174
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
bcc _0812675A
|
|
_081267A4:
|
|
lsls r0, r7, 24
|
|
lsrs r2, r0, 24
|
|
ldr r0, =gUnknown_0300616C
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bcc _0812672A
|
|
_081267B0:
|
|
add sp, 0x4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8126714
|
|
|
|
thumb_func_start sub_81267C4
|
|
sub_81267C4: @ 81267C4
|
|
push {r4,lr}
|
|
ldrh r0, [r0]
|
|
movs r1, 0x1F
|
|
movs r4, 0x1F
|
|
ands r4, r0
|
|
lsls r0, 16
|
|
lsrs r3, r0, 21
|
|
ands r3, r1
|
|
lsrs r2, r0, 26
|
|
ands r2, r1
|
|
movs r1, 0x3
|
|
adds r0, r4, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _081267E8
|
|
movs r0, 0x1C
|
|
ands r0, r4
|
|
adds r4, r0, 0x4
|
|
_081267E8:
|
|
adds r0, r3, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _081267F6
|
|
movs r0, 0x1C
|
|
ands r0, r3
|
|
adds r3, r0, 0x4
|
|
_081267F6:
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08126804
|
|
movs r0, 0x1C
|
|
ands r0, r2
|
|
adds r2, r0, 0x4
|
|
_08126804:
|
|
cmp r4, 0x5
|
|
bhi _0812680A
|
|
movs r4, 0x6
|
|
_0812680A:
|
|
cmp r4, 0x1E
|
|
bls _08126810
|
|
movs r4, 0x1E
|
|
_08126810:
|
|
cmp r3, 0x5
|
|
bhi _08126816
|
|
movs r3, 0x6
|
|
_08126816:
|
|
cmp r3, 0x1E
|
|
bls _0812681C
|
|
movs r3, 0x1E
|
|
_0812681C:
|
|
cmp r2, 0x5
|
|
bhi _08126822
|
|
movs r2, 0x6
|
|
_08126822:
|
|
cmp r2, 0x1E
|
|
bls _08126828
|
|
movs r2, 0x1E
|
|
_08126828:
|
|
lsls r0, r2, 10
|
|
lsls r1, r3, 5
|
|
orrs r0, r1
|
|
orrs r4, r0
|
|
adds r0, r4, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_81267C4
|
|
|
|
thumb_func_start sub_8126838
|
|
sub_8126838: @ 8126838
|
|
push {lr}
|
|
ldrh r0, [r0]
|
|
movs r1, 0x1F
|
|
movs r3, 0x1F
|
|
ands r3, r0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 21
|
|
ands r2, r1
|
|
lsrs r0, 26
|
|
ands r0, r1
|
|
cmp r3, 0xB
|
|
bhi _0812685C
|
|
cmp r2, 0xA
|
|
bhi _0812685C
|
|
cmp r0, 0xA
|
|
bhi _0812685C
|
|
movs r0, 0x1
|
|
b _08126902
|
|
_0812685C:
|
|
cmp r3, 0x13
|
|
bls _08126880
|
|
cmp r2, 0x13
|
|
bls _08126868
|
|
cmp r0, 0x13
|
|
bhi _0812688C
|
|
_08126868:
|
|
cmp r3, 0x13
|
|
bls _08126880
|
|
cmp r2, 0x13
|
|
bls _08126876
|
|
cmp r0, 0xE
|
|
bhi _0812688C
|
|
b _081268C4
|
|
_08126876:
|
|
cmp r0, 0x13
|
|
bls _08126880
|
|
cmp r2, 0xE
|
|
bhi _0812688C
|
|
b _081268A0
|
|
_08126880:
|
|
cmp r2, 0x13
|
|
bls _08126890
|
|
cmp r0, 0x13
|
|
bls _08126890
|
|
cmp r3, 0xE
|
|
bls _081268E8
|
|
_0812688C:
|
|
movs r0, 0x2
|
|
b _08126902
|
|
_08126890:
|
|
cmp r3, 0x13
|
|
bls _081268B4
|
|
cmp r2, 0xB
|
|
bls _081268A8
|
|
cmp r0, 0xB
|
|
bls _081268A4
|
|
cmp r2, r0
|
|
bcs _081268C4
|
|
_081268A0:
|
|
movs r0, 0x8
|
|
b _08126902
|
|
_081268A4:
|
|
movs r0, 0xA
|
|
b _08126902
|
|
_081268A8:
|
|
cmp r0, 0xB
|
|
bls _081268B0
|
|
movs r0, 0xD
|
|
b _08126902
|
|
_081268B0:
|
|
movs r0, 0x4
|
|
b _08126902
|
|
_081268B4:
|
|
cmp r2, 0x13
|
|
bls _081268D8
|
|
cmp r3, 0xB
|
|
bls _081268CC
|
|
cmp r0, 0xB
|
|
bls _081268C8
|
|
cmp r3, r0
|
|
bcc _081268E8
|
|
_081268C4:
|
|
movs r0, 0x7
|
|
b _08126902
|
|
_081268C8:
|
|
movs r0, 0xB
|
|
b _08126902
|
|
_081268CC:
|
|
cmp r0, 0xB
|
|
bls _081268D4
|
|
movs r0, 0xE
|
|
b _08126902
|
|
_081268D4:
|
|
movs r0, 0x5
|
|
b _08126902
|
|
_081268D8:
|
|
cmp r0, 0x13
|
|
bls _08126900
|
|
cmp r3, 0xB
|
|
bls _081268EC
|
|
cmp r2, 0xB
|
|
bls _081268F4
|
|
cmp r3, r2
|
|
bcs _081268A0
|
|
_081268E8:
|
|
movs r0, 0x9
|
|
b _08126902
|
|
_081268EC:
|
|
cmp r2, 0xB
|
|
bls _081268F4
|
|
movs r0, 0xC
|
|
b _08126902
|
|
_081268F4:
|
|
cmp r0, 0xB
|
|
bls _081268FC
|
|
movs r0, 0xF
|
|
b _08126902
|
|
_081268FC:
|
|
movs r0, 0x6
|
|
b _08126902
|
|
_08126900:
|
|
movs r0, 0x3
|
|
_08126902:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8126838
|
|
|
|
thumb_func_start sub_8126908
|
|
sub_8126908: @ 8126908
|
|
push {lr}
|
|
ldrh r1, [r0]
|
|
movs r3, 0x1F
|
|
movs r0, 0x1F
|
|
ands r0, r1
|
|
lsls r1, 16
|
|
lsrs r2, r1, 21
|
|
ands r2, r3
|
|
lsrs r1, 26
|
|
ands r1, r3
|
|
adds r0, r2
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
movs r1, 0x1E
|
|
ands r0, r1
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
beq _08126934
|
|
lsrs r0, 17
|
|
b _08126936
|
|
_08126934:
|
|
movs r0, 0x1
|
|
_08126936:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8126908
|
|
|
|
thumb_func_start sub_812693C
|
|
sub_812693C: @ 812693C
|
|
push {lr}
|
|
ldrh r1, [r0]
|
|
movs r3, 0x1F
|
|
movs r0, 0x1F
|
|
ands r0, r1
|
|
lsls r1, 16
|
|
lsrs r2, r1, 21
|
|
ands r2, r3
|
|
lsrs r1, 26
|
|
ands r1, r3
|
|
adds r0, r2
|
|
adds r0, r1
|
|
movs r1, 0x3
|
|
bl __divsi3
|
|
lsls r0, 16
|
|
movs r1, 0x80
|
|
lsls r1, 9
|
|
adds r0, r1
|
|
lsrs r0, 16
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_812693C
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|