mirror of
https://github.com/pret/pmd-red.git
synced 2026-06-17 06:00:24 -05:00
940 lines
14 KiB
ArmAsm
940 lines
14 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_80951BC
|
|
sub_80951BC:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
bl sub_8095190
|
|
adds r2, r0, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
beq _080951F4
|
|
ldr r0, _080951F0
|
|
ldr r1, [r0]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 4
|
|
adds r1, r0
|
|
adds r0, r4, 0
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
movs r0, 0x1
|
|
b _080951F6
|
|
.align 2, 0
|
|
_080951F0: .4byte gUnknown_203B480
|
|
_080951F4:
|
|
movs r0, 0
|
|
_080951F6:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80951BC
|
|
|
|
thumb_func_start sub_80951FC
|
|
sub_80951FC:
|
|
push {r4,r5,lr}
|
|
ldr r1, _08095224
|
|
ldr r1, [r1]
|
|
adds r1, 0x30
|
|
ldrb r2, [r1]
|
|
negs r3, r2
|
|
orrs r3, r2
|
|
lsrs r3, 31
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
ldm r0!, {r2,r4,r5}
|
|
stm r1!, {r2,r4,r5}
|
|
adds r0, r3, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08095224: .4byte gUnknown_203B480
|
|
thumb_func_end sub_80951FC
|
|
|
|
thumb_func_start sub_8095228
|
|
sub_8095228:
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r2, _0809523C
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 4
|
|
ldr r0, [r2]
|
|
adds r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_0809523C: .4byte gUnknown_203B480
|
|
thumb_func_end sub_8095228
|
|
|
|
thumb_func_start sub_8095240
|
|
sub_8095240:
|
|
push {r4,r5,lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r5, _08095270
|
|
lsls r4, r0, 1
|
|
adds r4, r0
|
|
lsls r4, 4
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0
|
|
movs r2, 0x30
|
|
bl MemoryFill8
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, [r5]
|
|
adds r0, r4
|
|
adds r0, 0x22
|
|
strb r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095270: .4byte gUnknown_203B480
|
|
thumb_func_end sub_8095240
|
|
|
|
thumb_func_start sub_8095274
|
|
sub_8095274:
|
|
push {lr}
|
|
ldr r1, _08095294
|
|
ldr r3, [r1]
|
|
adds r2, r3, 0
|
|
ldm r2!, {r1}
|
|
lsls r1, 2
|
|
adds r2, r1
|
|
str r0, [r2]
|
|
ldr r0, [r3]
|
|
movs r1, 0
|
|
cmp r0, 0x1E
|
|
bgt _0809528E
|
|
adds r1, r0, 0x1
|
|
_0809528E:
|
|
str r1, [r3]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095294: .4byte gUnknown_203B48C
|
|
thumb_func_end sub_8095274
|
|
|
|
thumb_func_start sub_8095298
|
|
sub_8095298:
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
movs r2, 0
|
|
ldr r0, _080952B0
|
|
ldr r0, [r0]
|
|
adds r1, r0, 0x4
|
|
_080952A4:
|
|
ldr r0, [r1]
|
|
cmp r0, r3
|
|
bne _080952B4
|
|
movs r0, 0x1
|
|
b _080952BE
|
|
.align 2, 0
|
|
_080952B0: .4byte gUnknown_203B48C
|
|
_080952B4:
|
|
adds r1, 0x4
|
|
adds r2, 0x1
|
|
cmp r2, 0x1F
|
|
ble _080952A4
|
|
movs r0, 0
|
|
_080952BE:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095298
|
|
|
|
thumb_func_start sub_80952C4
|
|
sub_80952C4:
|
|
push {r4,lr}
|
|
ldr r2, _080952EC
|
|
ldr r1, [r2]
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
movs r3, 0
|
|
adds r4, r2, 0
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
_080952D6:
|
|
ldr r0, [r4]
|
|
lsls r1, r3, 2
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
str r2, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x1F
|
|
ble _080952D6
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080952EC: .4byte gUnknown_203B48C
|
|
thumb_func_end sub_80952C4
|
|
|
|
thumb_func_start sub_80952F0
|
|
sub_80952F0:
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
movs r3, 0
|
|
ldr r0, _08095310
|
|
ldr r2, [r0]
|
|
_080952FE:
|
|
ldrb r0, [r2]
|
|
cmp r0, r1
|
|
bne _08095314
|
|
ldr r0, [r2, 0x10]
|
|
cmp r0, r4
|
|
bne _08095314
|
|
movs r0, 0x1
|
|
b _0809531E
|
|
.align 2, 0
|
|
_08095310: .4byte gUnknown_203B480
|
|
_08095314:
|
|
adds r2, 0x30
|
|
adds r3, 0x1
|
|
cmp r3, 0x1F
|
|
ble _080952FE
|
|
movs r0, 0
|
|
_0809531E:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80952F0
|
|
|
|
thumb_func_start sub_8095324
|
|
sub_8095324:
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
movs r3, 0
|
|
ldr r0, _0809534C
|
|
ldr r1, [r0]
|
|
movs r2, 0x1F
|
|
_08095332:
|
|
ldrb r0, [r1]
|
|
cmp r0, r4
|
|
bne _0809533A
|
|
adds r3, 0x1
|
|
_0809533A:
|
|
adds r1, 0x30
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _08095332
|
|
adds r0, r3, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809534C: .4byte gUnknown_203B480
|
|
thumb_func_end sub_8095324
|
|
|
|
thumb_func_start sub_8095350
|
|
sub_8095350:
|
|
push {lr}
|
|
movs r3, 0
|
|
ldr r0, _08095370
|
|
ldr r1, [r0]
|
|
movs r2, 0x1F
|
|
_0809535A:
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _08095362
|
|
adds r3, 0x1
|
|
_08095362:
|
|
adds r1, 0x30
|
|
subs r2, 0x1
|
|
cmp r2, 0
|
|
bge _0809535A
|
|
adds r0, r3, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08095370: .4byte gUnknown_203B480
|
|
thumb_func_end sub_8095350
|
|
|
|
thumb_func_start sub_8095374
|
|
sub_8095374:
|
|
push {lr}
|
|
movs r3, 0x1
|
|
negs r3, r3
|
|
movs r2, 0
|
|
ldr r0, _08095398
|
|
ldr r1, [r0]
|
|
_08095380:
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x1
|
|
bne _08095388
|
|
adds r3, r2, 0
|
|
_08095388:
|
|
adds r1, 0x30
|
|
adds r2, 0x1
|
|
cmp r2, 0x1F
|
|
ble _08095380
|
|
adds r0, r3, 0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08095398: .4byte gUnknown_203B480
|
|
thumb_func_end sub_8095374
|
|
|
|
thumb_func_start sub_809539C
|
|
sub_809539C:
|
|
push {r4,lr}
|
|
adds r4, r1, 0
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
movs r3, 0
|
|
ldr r0, _080953BC
|
|
ldr r2, [r0]
|
|
_080953AA:
|
|
ldrb r0, [r2]
|
|
cmp r0, r1
|
|
bne _080953C0
|
|
ldr r0, [r2, 0x10]
|
|
cmp r0, r4
|
|
bne _080953C0
|
|
adds r0, r3, 0
|
|
b _080953CC
|
|
.align 2, 0
|
|
_080953BC: .4byte gUnknown_203B480
|
|
_080953C0:
|
|
adds r2, 0x30
|
|
adds r3, 0x1
|
|
cmp r3, 0x1F
|
|
ble _080953AA
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_080953CC:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809539C
|
|
|
|
thumb_func_start sub_80953D4
|
|
sub_80953D4:
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r3, r0, 24
|
|
movs r2, 0
|
|
ldr r0, _080953EC
|
|
ldr r1, [r0]
|
|
_080953E0:
|
|
ldrb r0, [r1]
|
|
cmp r0, r3
|
|
bne _080953F0
|
|
adds r0, r2, 0
|
|
b _080953FC
|
|
.align 2, 0
|
|
_080953EC: .4byte gUnknown_203B480
|
|
_080953F0:
|
|
adds r1, 0x30
|
|
adds r2, 0x1
|
|
cmp r2, 0x1F
|
|
ble _080953E0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_080953FC:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80953D4
|
|
|
|
thumb_func_start sub_8095400
|
|
sub_8095400:
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
movs r2, 0
|
|
ldr r0, _08095418
|
|
ldr r0, [r0]
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
_0809540E:
|
|
ldr r0, [r1]
|
|
cmp r0, r3
|
|
bne _0809541C
|
|
adds r0, r2, 0
|
|
b _08095428
|
|
.align 2, 0
|
|
_08095418: .4byte gUnknown_203B480
|
|
_0809541C:
|
|
adds r1, 0x30
|
|
adds r2, 0x1
|
|
cmp r2, 0x1F
|
|
ble _0809540E
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
_08095428:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8095400
|
|
|
|
thumb_func_start sub_809542C
|
|
sub_809542C:
|
|
push {r4,lr}
|
|
sub sp, 0x14
|
|
ldr r4, _08095490
|
|
ldr r2, [r4]
|
|
movs r1, 0x1
|
|
strb r1, [r2]
|
|
ldr r2, [r4]
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
str r0, [r2, 0x4]
|
|
str r1, [r2, 0x8]
|
|
bl Random
|
|
bl sub_8094D28
|
|
bl sub_8094E4C
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x10]
|
|
bl sub_808D33C
|
|
ldr r1, [r4]
|
|
ldrh r0, [r0, 0x8]
|
|
strh r0, [r1, 0xC]
|
|
bl sub_808D33C
|
|
adds r1, r0, 0
|
|
mov r0, sp
|
|
bl sub_808DA34
|
|
ldr r0, [r4]
|
|
adds r0, 0x14
|
|
mov r1, sp
|
|
bl CopyStringtoBuffer
|
|
bl sub_8011C34
|
|
ldr r1, [r4]
|
|
str r0, [r1, 0x24]
|
|
ldrb r0, [r1, 0x4]
|
|
bl GetUnk3
|
|
ldr r1, [r4]
|
|
adds r1, 0x2C
|
|
strb r0, [r1]
|
|
add sp, 0x14
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08095490: .4byte gUnknown_203B480
|
|
thumb_func_end sub_809542C
|
|
|
|
thumb_func_start sub_8095494
|
|
sub_8095494:
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
ldr r2, _080954B0
|
|
ldr r3, [r2]
|
|
lsls r2, r1, 1
|
|
adds r2, r1
|
|
lsls r2, 4
|
|
adds r3, r2
|
|
ldr r1, [r3, 0x4]
|
|
ldr r2, [r3, 0x8]
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_080954B0: .4byte gUnknown_203B480
|
|
thumb_func_end sub_8095494
|
|
|
|
thumb_func_start sub_80954B4
|
|
sub_80954B4:
|
|
push {lr}
|
|
movs r0, 0x3
|
|
bl sub_8095324
|
|
cmp r0, 0
|
|
bne _080954C4
|
|
movs r0, 0
|
|
b _080954C6
|
|
_080954C4:
|
|
movs r0, 0x1
|
|
_080954C6:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80954B4
|
|
|
|
thumb_func_start sub_80954CC
|
|
sub_80954CC:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x10
|
|
adds r3, r0, 0
|
|
adds r2, r1, 0
|
|
mov r0, sp
|
|
adds r1, r3, 0
|
|
bl sub_809485C
|
|
ldr r6, _08095618
|
|
movs r5, 0
|
|
movs r4, 0x1F
|
|
_080954E2:
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
mov r0, sp
|
|
bl sub_8095774
|
|
adds r5, 0x30
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _080954E2
|
|
ldr r4, _0809561C
|
|
ldr r1, [r4]
|
|
mov r0, sp
|
|
movs r2, 0x20
|
|
bl sub_8094924
|
|
ldr r5, [r4]
|
|
adds r4, r5, 0x4
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x58
|
|
bl memset
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
movs r2, 0x2
|
|
bl sub_8094924
|
|
adds r1, r5, 0x6
|
|
mov r0, sp
|
|
movs r2, 0x1
|
|
bl sub_8094924
|
|
adds r1, r5, 0x7
|
|
mov r0, sp
|
|
movs r2, 0x7
|
|
bl sub_8094924
|
|
adds r4, 0x4
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl sub_8090314
|
|
adds r1, r5, 0
|
|
adds r1, 0xC
|
|
mov r0, sp
|
|
movs r2, 0x9
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
mov r0, sp
|
|
bl sub_808F410
|
|
adds r1, r5, 0
|
|
adds r1, 0x14
|
|
mov r0, sp
|
|
bl sub_808F410
|
|
adds r1, r5, 0
|
|
adds r1, 0x18
|
|
mov r0, sp
|
|
movs r2, 0xA
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x1A
|
|
mov r0, sp
|
|
movs r2, 0xA
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x1C
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x1D
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x1E
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x1F
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x20
|
|
mov r0, sp
|
|
movs r2, 0x18
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x24
|
|
mov r0, sp
|
|
movs r2, 0x18
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x28
|
|
mov r0, sp
|
|
movs r2, 0x4
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x2C
|
|
mov r0, sp
|
|
bl sub_8091DC0
|
|
adds r1, r5, 0
|
|
adds r1, 0x30
|
|
mov r0, sp
|
|
bl sub_8094128
|
|
adds r1, r5, 0
|
|
adds r1, 0x50
|
|
mov r0, sp
|
|
movs r2, 0x50
|
|
bl sub_8094924
|
|
ldr r4, _08095620
|
|
ldr r1, [r4]
|
|
mov r0, sp
|
|
movs r2, 0x20
|
|
bl sub_8094924
|
|
adds r6, r4, 0
|
|
movs r5, 0x4
|
|
movs r4, 0x1F
|
|
_080955F4:
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
mov r0, sp
|
|
movs r2, 0x20
|
|
bl sub_8094924
|
|
adds r5, 0x4
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _080955F4
|
|
mov r0, sp
|
|
bl nullsub_102
|
|
ldr r0, [sp, 0x8]
|
|
add sp, 0x10
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08095618: .4byte gUnknown_203B480
|
|
_0809561C: .4byte gUnknown_203B484
|
|
_08095620: .4byte gUnknown_203B48C
|
|
thumb_func_end sub_80954CC
|
|
|
|
thumb_func_start sub_8095624
|
|
sub_8095624:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x10
|
|
adds r3, r0, 0
|
|
adds r2, r1, 0
|
|
mov r0, sp
|
|
adds r1, r3, 0
|
|
bl sub_809486C
|
|
ldr r6, _08095768
|
|
movs r5, 0
|
|
movs r4, 0x1F
|
|
_0809563A:
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
mov r0, sp
|
|
bl sub_8095824
|
|
adds r5, 0x30
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _0809563A
|
|
ldr r4, _0809576C
|
|
ldr r1, [r4]
|
|
mov r0, sp
|
|
movs r2, 0x20
|
|
bl sub_809488C
|
|
ldr r5, [r4]
|
|
adds r4, r5, 0x4
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
movs r2, 0x2
|
|
bl sub_809488C
|
|
adds r1, r5, 0x6
|
|
mov r0, sp
|
|
movs r2, 0x1
|
|
bl sub_809488C
|
|
adds r1, r5, 0x7
|
|
mov r0, sp
|
|
movs r2, 0x7
|
|
bl sub_809488C
|
|
adds r4, 0x4
|
|
mov r0, sp
|
|
adds r1, r4, 0
|
|
bl sub_80902F4
|
|
adds r1, r5, 0
|
|
adds r1, 0xC
|
|
mov r0, sp
|
|
movs r2, 0x9
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
mov r0, sp
|
|
bl sub_808F41C
|
|
adds r1, r5, 0
|
|
adds r1, 0x14
|
|
mov r0, sp
|
|
bl sub_808F41C
|
|
adds r1, r5, 0
|
|
adds r1, 0x18
|
|
mov r0, sp
|
|
movs r2, 0xA
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x1A
|
|
mov r0, sp
|
|
movs r2, 0xA
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x1C
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x1D
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x1E
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x1F
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x20
|
|
mov r0, sp
|
|
movs r2, 0x18
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x24
|
|
mov r0, sp
|
|
movs r2, 0x18
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x28
|
|
mov r0, sp
|
|
movs r2, 0x4
|
|
bl sub_809488C
|
|
adds r1, r5, 0
|
|
adds r1, 0x2C
|
|
mov r0, sp
|
|
bl sub_8091DE0
|
|
adds r1, r5, 0
|
|
adds r1, 0x30
|
|
mov r0, sp
|
|
bl sub_8094108
|
|
adds r1, r5, 0
|
|
adds r1, 0x50
|
|
mov r0, sp
|
|
movs r2, 0x50
|
|
bl sub_809488C
|
|
ldr r4, _08095770
|
|
ldr r1, [r4]
|
|
mov r0, sp
|
|
movs r2, 0x20
|
|
bl sub_809488C
|
|
adds r6, r4, 0
|
|
movs r5, 0x4
|
|
movs r4, 0x1F
|
|
_08095742:
|
|
ldr r1, [r6]
|
|
adds r1, r5
|
|
mov r0, sp
|
|
movs r2, 0x20
|
|
bl sub_809488C
|
|
adds r5, 0x4
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _08095742
|
|
mov r0, sp
|
|
bl nullsub_102
|
|
ldr r0, [sp, 0x8]
|
|
add sp, 0x10
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08095768: .4byte gUnknown_203B480
|
|
_0809576C: .4byte gUnknown_203B484
|
|
_08095770: .4byte gUnknown_203B48C
|
|
thumb_func_end sub_8095624
|
|
|
|
thumb_func_start sub_8095774
|
|
sub_8095774:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
movs r2, 0x4
|
|
bl sub_8094924
|
|
adds r1, r5, 0x4
|
|
adds r0, r4, 0
|
|
bl sub_8090314
|
|
adds r1, r5, 0
|
|
adds r1, 0x8
|
|
adds r0, r4, 0
|
|
movs r2, 0x18
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0xC
|
|
adds r0, r4, 0
|
|
movs r2, 0x9
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
adds r0, r4, 0
|
|
movs r2, 0x20
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x14
|
|
adds r0, r4, 0
|
|
movs r2, 0x50
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x20
|
|
adds r0, r4, 0
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x21
|
|
adds r0, r4, 0
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x22
|
|
adds r0, r4, 0
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x24
|
|
adds r0, r4, 0
|
|
movs r2, 0x20
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x28
|
|
adds r0, r4, 0
|
|
movs r2, 0x20
|
|
bl sub_8094924
|
|
adds r1, r5, 0
|
|
adds r1, 0x2C
|
|
adds r0, r4, 0
|
|
movs r2, 0x8
|
|
bl sub_8094924
|
|
adds r0, r4, 0
|
|
mov r1, sp
|
|
movs r2, 0x1
|
|
bl sub_8094924
|
|
mov r0, sp
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
adds r1, r5, 0
|
|
adds r1, 0x2D
|
|
strb r0, [r1]
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8095774
|
|
|
|
thumb_func_start sub_8095824
|
|
sub_8095824:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
movs r1, 0xFF
|
|
mov r0, sp
|
|
strb r1, [r0]
|
|
mov r6, sp
|
|
adds r6, 0x1
|
|
movs r0, 0
|
|
strb r0, [r6]
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0x4
|
|
bl sub_809488C
|
|
adds r1, r4, 0x4
|
|
adds r0, r5, 0
|
|
bl sub_80902F4
|
|
adds r1, r4, 0
|
|
adds r1, 0x8
|
|
adds r0, r5, 0
|
|
movs r2, 0x18
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0xC
|
|
adds r0, r5, 0
|
|
movs r2, 0x9
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x10
|
|
adds r0, r5, 0
|
|
movs r2, 0x20
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x14
|
|
adds r0, r5, 0
|
|
movs r2, 0x50
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x20
|
|
adds r0, r5, 0
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x21
|
|
adds r0, r5, 0
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x22
|
|
adds r0, r5, 0
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x24
|
|
adds r0, r5, 0
|
|
movs r2, 0x20
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x28
|
|
adds r0, r5, 0
|
|
movs r2, 0x20
|
|
bl sub_809488C
|
|
adds r1, r4, 0
|
|
adds r1, 0x2C
|
|
adds r0, r5, 0
|
|
movs r2, 0x8
|
|
bl sub_809488C
|
|
adds r0, r4, 0
|
|
adds r0, 0x2D
|
|
ldrb r0, [r0]
|
|
mov r1, sp
|
|
cmp r0, 0
|
|
bne _080958D2
|
|
adds r1, r6, 0
|
|
_080958D2:
|
|
adds r0, r5, 0
|
|
movs r2, 0x1
|
|
bl sub_809488C
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8095824
|
|
|
|
thumb_func_start sub_80958E4
|
|
sub_80958E4:
|
|
str r1, [r0]
|
|
bx lr
|
|
thumb_func_end sub_80958E4
|
|
|
|
|
|
.align 2,0
|