807 lines
12 KiB
ArmAsm
Executable file
807 lines
12 KiB
ArmAsm
Executable file
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8024048
|
|
sub_8024048: @ 8024048
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
ldrb r0, [r5, 0xC]
|
|
cmp r0, 0x4
|
|
bhi _08024124
|
|
lsls r0, 2
|
|
ldr r1, =_08024064
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_08024064:
|
|
.4byte _08024078
|
|
.4byte _0802408A
|
|
.4byte _0802409C
|
|
.4byte _080240CC
|
|
.4byte _080240DC
|
|
_08024078:
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
adds r1, r5, r0
|
|
adds r0, r5, 0
|
|
bl sub_8022070
|
|
cmp r0, 0
|
|
bne _08024124
|
|
b _0802412A
|
|
_0802408A:
|
|
movs r0, 0
|
|
bl CopyBgTilemapBufferToVram
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
adds r1, r5, r0
|
|
movs r0, 0x1E
|
|
strb r0, [r1]
|
|
b _08024124
|
|
_0802409C:
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
adds r1, r5, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _080240AE
|
|
subs r0, 0x1
|
|
strb r0, [r1]
|
|
b _0802412A
|
|
_080240AE:
|
|
ldr r0, =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0802412A
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
adds r0, r5, 0
|
|
bl sub_802222C
|
|
b _08024124
|
|
.pool
|
|
_080240CC:
|
|
ldrh r0, [r5, 0x12]
|
|
cmp r0, 0xC
|
|
bhi _08024124
|
|
adds r0, 0x1
|
|
movs r1, 0
|
|
strh r0, [r5, 0x12]
|
|
strb r1, [r5, 0xC]
|
|
b _0802412A
|
|
_080240DC:
|
|
ldr r0, =gStringVar1
|
|
ldr r1, [r5, 0x1C]
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r4, =gStringVar2
|
|
bl GetBerryPowder
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
movs r3, 0x6
|
|
bl ConvertIntToDecimalStringN
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x3
|
|
movs r3, 0
|
|
bl sub_8024644
|
|
movs r0, 0x13
|
|
strb r0, [r5, 0xE]
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
strb r4, [r5, 0xC]
|
|
b _0802412A
|
|
.pool
|
|
_08024124:
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
_0802412A:
|
|
movs r0, 0
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024048
|
|
|
|
thumb_func_start sub_8024134
|
|
sub_8024134: @ 8024134
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
adds r5, r0, 0
|
|
adds r4, r1, 0
|
|
ldrb r0, [r5, 0xC]
|
|
cmp r0, 0x4
|
|
bhi _08024218
|
|
lsls r0, 2
|
|
ldr r1, =_08024150
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.pool
|
|
.align 2, 0
|
|
_08024150:
|
|
.4byte _08024164
|
|
.4byte _080241A0
|
|
.4byte _080241A6
|
|
.4byte _080241F0
|
|
.4byte _08024204
|
|
_08024164:
|
|
ldrh r1, [r5, 0x28]
|
|
ldr r0, =0x00008c9f
|
|
cmp r1, r0
|
|
bls _08024176
|
|
movs r1, 0x9C
|
|
lsls r1, 1
|
|
adds r0, r5, r1
|
|
bl sub_8022554
|
|
_08024176:
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
adds r0, r4, 0
|
|
movs r1, 0x8
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8024644
|
|
movs r4, 0
|
|
movs r0, 0x13
|
|
strb r0, [r5, 0xE]
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
strb r4, [r5, 0xC]
|
|
b _0802421E
|
|
.pool
|
|
_080241A0:
|
|
bl sub_8010434
|
|
b _08024218
|
|
_080241A6:
|
|
bl IsLinkTaskFinished
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802421E
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl DrawDialogueFrame
|
|
ldr r2, =gText_SavingDontTurnOffPower
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x3
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
movs r3, 0
|
|
bl AddTextPrinterParameterized2
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
ldr r0, =sub_8153688
|
|
movs r1, 0
|
|
bl CreateTask
|
|
b _08024218
|
|
.pool
|
|
_080241F0:
|
|
ldr r0, =sub_8153688
|
|
bl FuncIsActiveTask
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08024218
|
|
b _0802421E
|
|
.pool
|
|
_08024204:
|
|
movs r0, 0x14
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
movs r1, 0
|
|
movs r0, 0xF
|
|
strh r0, [r5, 0x12]
|
|
strb r1, [r5, 0xC]
|
|
b _0802421E
|
|
_08024218:
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
_0802421E:
|
|
movs r0, 0
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024134
|
|
|
|
thumb_func_start sub_8024228
|
|
sub_8024228: @ 8024228
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
adds r6, r1, 0
|
|
ldrb r0, [r5, 0xC]
|
|
cmp r0, 0x1
|
|
beq _0802426A
|
|
cmp r0, 0x1
|
|
bgt _08024240
|
|
cmp r0, 0
|
|
beq _08024246
|
|
b _080242D0
|
|
_08024240:
|
|
cmp r0, 0x2
|
|
beq _08024270
|
|
b _080242D0
|
|
_08024246:
|
|
movs r0, 0x1
|
|
str r0, [sp]
|
|
adds r0, r6, 0
|
|
movs r1, 0x4
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8024644
|
|
movs r0, 0x14
|
|
strb r0, [r5, 0xE]
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
movs r0, 0
|
|
strb r0, [r5, 0xC]
|
|
b _080242D8
|
|
_0802426A:
|
|
bl DisplayYesNoMenuDefaultYes
|
|
b _080242D0
|
|
_08024270:
|
|
bl Menu_ProcessInputNoWrapClearOnChoose
|
|
lsls r0, 24
|
|
asrs r4, r0, 24
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _080242D6
|
|
adds r0, r5, 0
|
|
adds r0, 0x42
|
|
movs r1, 0
|
|
movs r2, 0xC
|
|
bl memset
|
|
cmp r4, 0
|
|
bne _080242A2
|
|
bl HasAtLeastOneBerry
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802429E
|
|
strh r4, [r5, 0x14]
|
|
b _080242A6
|
|
_0802429E:
|
|
movs r0, 0x3
|
|
b _080242A4
|
|
_080242A2:
|
|
movs r0, 0x1
|
|
_080242A4:
|
|
strh r0, [r5, 0x14]
|
|
_080242A6:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl ClearDialogWindowAndFrame
|
|
movs r4, 0
|
|
str r4, [sp]
|
|
adds r0, r6, 0
|
|
movs r1, 0x8
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_8024644
|
|
movs r0, 0x15
|
|
strb r0, [r5, 0xE]
|
|
movs r0, 0x3
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
strb r4, [r5, 0xC]
|
|
b _080242D6
|
|
_080242D0:
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
_080242D6:
|
|
movs r0, 0
|
|
_080242D8:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024228
|
|
|
|
thumb_func_start sub_80242E0
|
|
sub_80242E0: @ 80242E0
|
|
push {r4-r7,lr}
|
|
adds r4, r0, 0
|
|
movs r5, 0
|
|
ldrb r0, [r4, 0xC]
|
|
cmp r0, 0x1
|
|
beq _08024306
|
|
cmp r0, 0x1
|
|
bgt _080242F6
|
|
cmp r0, 0
|
|
beq _08024300
|
|
b _080243AC
|
|
_080242F6:
|
|
cmp r0, 0x2
|
|
beq _08024328
|
|
cmp r0, 0x3
|
|
beq _08024336
|
|
b _080243AC
|
|
_08024300:
|
|
bl sub_8010434
|
|
b _080243AC
|
|
_08024306:
|
|
bl IsLinkTaskFinished
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080243B2
|
|
ldrh r0, [r4, 0x14]
|
|
adds r1, r4, 0
|
|
adds r1, 0x42
|
|
strh r0, [r1]
|
|
adds r0, r4, 0
|
|
adds r0, 0x4E
|
|
strh r5, [r0]
|
|
movs r0, 0
|
|
movs r2, 0x2
|
|
bl SendBlock
|
|
b _080243AC
|
|
_08024328:
|
|
bl IsLinkTaskFinished
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080243B2
|
|
strh r5, [r4, 0x10]
|
|
b _080243AC
|
|
_08024336:
|
|
bl GetBlockReceivedStatus
|
|
ldr r2, =gUnknown_082F4448
|
|
ldrb r3, [r4, 0x9]
|
|
subs r1, r3, 0x2
|
|
adds r1, r2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080243B2
|
|
adds r7, r4, 0
|
|
adds r7, 0x42
|
|
adds r6, r4, 0
|
|
adds r6, 0x4E
|
|
cmp r5, r3
|
|
bcs _08024374
|
|
adds r1, r6, 0
|
|
ldr r2, =gBlockRecvBuffer
|
|
_0802435C:
|
|
lsls r0, r5, 8
|
|
adds r0, r2
|
|
ldrh r0, [r0]
|
|
ldrh r3, [r1]
|
|
adds r0, r3
|
|
strh r0, [r1]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
ldrb r0, [r4, 0x9]
|
|
cmp r5, r0
|
|
bcc _0802435C
|
|
_08024374:
|
|
ldrh r0, [r6]
|
|
cmp r0, 0
|
|
beq _08024390
|
|
movs r0, 0x17
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
b _0802439A
|
|
.pool
|
|
_08024390:
|
|
movs r0, 0x16
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
_0802439A:
|
|
bl ResetBlockReceivedFlags
|
|
movs r1, 0
|
|
movs r0, 0
|
|
strh r0, [r7]
|
|
strh r0, [r6]
|
|
strh r0, [r4, 0x10]
|
|
strb r1, [r4, 0xC]
|
|
b _080243B4
|
|
_080243AC:
|
|
ldrb r0, [r4, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r4, 0xC]
|
|
_080243B2:
|
|
movs r0, 0
|
|
_080243B4:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80242E0
|
|
|
|
thumb_func_start sub_80243BC
|
|
sub_80243BC: @ 80243BC
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
adds r5, r0, 0
|
|
ldrb r4, [r5, 0xC]
|
|
cmp r4, 0x1
|
|
beq _080243EA
|
|
cmp r4, 0x1
|
|
bgt _080243D2
|
|
cmp r4, 0
|
|
beq _080243DC
|
|
b _08024434
|
|
_080243D2:
|
|
cmp r4, 0x2
|
|
beq _080243F6
|
|
cmp r4, 0x3
|
|
beq _0802441A
|
|
b _08024434
|
|
_080243DC:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
str r4, [sp]
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
b _08024410
|
|
_080243EA:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08024434
|
|
b _0802443A
|
|
_080243F6:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl ClearDialogWindowAndFrame
|
|
adds r0, r5, 0
|
|
bl sub_8021488
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0x10
|
|
movs r3, 0
|
|
_08024410:
|
|
bl BeginNormalPaletteFade
|
|
bl UpdatePaletteFade
|
|
b _08024434
|
|
_0802441A:
|
|
bl UpdatePaletteFade
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0802443A
|
|
movs r0, 0x7
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
movs r0, 0
|
|
strh r4, [r5, 0x12]
|
|
b _08024438
|
|
_08024434:
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
_08024438:
|
|
strb r0, [r5, 0xC]
|
|
_0802443A:
|
|
movs r0, 0
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80243BC
|
|
|
|
thumb_func_start sub_8024444
|
|
sub_8024444: @ 8024444
|
|
push {r4,r5,lr}
|
|
sub sp, 0x10
|
|
adds r5, r0, 0
|
|
ldrb r4, [r5, 0xC]
|
|
cmp r4, 0x1
|
|
beq _080244BC
|
|
cmp r4, 0x1
|
|
bgt _0802445A
|
|
cmp r4, 0
|
|
beq _08024460
|
|
b _080244F6
|
|
_0802445A:
|
|
cmp r4, 0x2
|
|
beq _080244D4
|
|
b _080244F6
|
|
_08024460:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl DrawDialogueFrame
|
|
ldrh r1, [r5, 0x14]
|
|
cmp r1, 0x3
|
|
bne _08024490
|
|
ldr r0, =gUnknown_082F32A4
|
|
ldr r2, [r0, 0x14]
|
|
ldrb r3, [r5, 0xB]
|
|
str r4, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
str r1, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl AddTextPrinterParameterized2
|
|
b _080244AC
|
|
.pool
|
|
_08024490:
|
|
ldr r0, =gUnknown_082F32A4
|
|
ldr r2, [r0, 0x18]
|
|
ldrb r3, [r5, 0xB]
|
|
str r4, [sp]
|
|
movs r0, 0x2
|
|
str r0, [sp, 0x4]
|
|
movs r0, 0x1
|
|
str r0, [sp, 0x8]
|
|
movs r0, 0x3
|
|
str r0, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl AddTextPrinterParameterized2
|
|
_080244AC:
|
|
movs r0, 0
|
|
movs r1, 0x3
|
|
bl CopyWindowToVram
|
|
b _080244F6
|
|
.pool
|
|
_080244BC:
|
|
movs r0, 0
|
|
bl IsTextPrinterActive
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080244FC
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
adds r1, r5, r0
|
|
movs r0, 0x78
|
|
strb r0, [r1]
|
|
b _080244F6
|
|
_080244D4:
|
|
movs r0, 0x9C
|
|
lsls r0, 1
|
|
adds r1, r5, r0
|
|
ldrb r0, [r1]
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
beq _080244E8
|
|
subs r0, 0x1
|
|
strb r0, [r1]
|
|
b _080244FC
|
|
_080244E8:
|
|
movs r0, 0x18
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
strb r4, [r5, 0xC]
|
|
b _080244FC
|
|
_080244F6:
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
_080244FC:
|
|
movs r0, 0
|
|
add sp, 0x10
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024444
|
|
|
|
thumb_func_start sub_8024508
|
|
sub_8024508: @ 8024508
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
ldrb r4, [r5, 0xC]
|
|
cmp r4, 0x1
|
|
beq _08024528
|
|
cmp r4, 0x1
|
|
bgt _0802451C
|
|
cmp r4, 0
|
|
beq _08024522
|
|
b _08024558
|
|
_0802451C:
|
|
cmp r4, 0x2
|
|
beq _08024538
|
|
b _08024558
|
|
_08024522:
|
|
bl sub_8010434
|
|
b _08024558
|
|
_08024528:
|
|
bl IsLinkTaskFinished
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0802455E
|
|
bl sub_800AC34
|
|
b _08024558
|
|
_08024538:
|
|
ldr r0, =gReceivedRemoteLinkPlayers
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _0802455E
|
|
movs r0, 0x19
|
|
strb r0, [r5, 0xE]
|
|
movs r0, 0x5
|
|
movs r1, 0x1
|
|
movs r2, 0
|
|
bl sub_8022BEC
|
|
strb r4, [r5, 0xC]
|
|
b _0802455E
|
|
.pool
|
|
_08024558:
|
|
ldrb r0, [r5, 0xC]
|
|
adds r0, 0x1
|
|
strb r0, [r5, 0xC]
|
|
_0802455E:
|
|
movs r0, 0
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024508
|
|
|
|
thumb_func_start sub_8024568
|
|
sub_8024568: @ 8024568
|
|
push {lr}
|
|
movs r0, 0
|
|
bl sub_8020C0C
|
|
movs r0, 0
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8024568
|
|
|
|
thumb_func_start sub_8024578
|
|
sub_8024578: @ 8024578
|
|
push {r4-r6,lr}
|
|
adds r4, r0, 0
|
|
movs r5, 0
|
|
movs r0, 0x33
|
|
bl IncrementGameStat
|
|
strb r5, [r4, 0xD]
|
|
movs r1, 0
|
|
strh r5, [r4, 0x10]
|
|
movs r0, 0x2
|
|
strh r0, [r4, 0x12]
|
|
strh r5, [r4, 0x14]
|
|
str r5, [r4, 0x1C]
|
|
strh r5, [r4, 0x18]
|
|
strh r5, [r4, 0x1A]
|
|
str r5, [r4, 0x20]
|
|
adds r0, r4, 0
|
|
adds r0, 0x24
|
|
strb r1, [r0]
|
|
adds r1, r4, 0
|
|
adds r1, 0x25
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
strh r5, [r4, 0x26]
|
|
strh r5, [r4, 0x28]
|
|
strh r5, [r4, 0x2E]
|
|
ldr r0, =0x0000ffff
|
|
strh r0, [r4, 0x32]
|
|
strh r5, [r4, 0x30]
|
|
strh r5, [r4, 0x34]
|
|
movs r6, 0
|
|
movs r3, 0
|
|
_080245B8:
|
|
lsls r0, r5, 5
|
|
adds r2, r4, r0
|
|
adds r1, r2, 0
|
|
adds r1, 0xA4
|
|
ldr r0, =0x0000ffff
|
|
strh r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0xA6
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
adds r1, 0x6
|
|
movs r0, 0x1
|
|
strh r0, [r1]
|
|
adds r0, r2, 0
|
|
adds r0, 0xAC
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strh r3, [r0]
|
|
adds r0, 0x2
|
|
strb r6, [r0]
|
|
adds r0, 0x1
|
|
strb r6, [r0]
|
|
adds r0, r5, 0x1
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0x4
|
|
bls _080245B8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.pool
|
|
thumb_func_end sub_8024578
|
|
|
|
thumb_func_start sub_8024604
|
|
sub_8024604: @ 8024604
|
|
push {r4-r6,lr}
|
|
sub sp, 0x8
|
|
str r2, [sp, 0x4]
|
|
ldr r5, [sp, 0x18]
|
|
ldr r6, [sp, 0x1C]
|
|
ldr r4, [sp, 0x20]
|
|
mov r2, sp
|
|
strh r4, [r2]
|
|
add r4, sp, 0x4
|
|
ldrb r2, [r4]
|
|
strb r2, [r0]
|
|
ldrb r2, [r4, 0x1]
|
|
strb r2, [r0, 0x1]
|
|
ldrb r2, [r4, 0x2]
|
|
strb r2, [r0, 0x2]
|
|
ldrb r2, [r4, 0x3]
|
|
strb r2, [r0, 0x3]
|
|
strb r3, [r0, 0x4]
|
|
strb r5, [r0, 0x5]
|
|
strb r6, [r0, 0x6]
|
|
mov r2, sp
|
|
ldrb r2, [r2]
|
|
strb r2, [r0, 0x7]
|
|
mov r2, sp
|
|
ldrb r2, [r2, 0x1]
|
|
strb r2, [r0, 0x8]
|
|
strb r1, [r0, 0x9]
|
|
add sp, 0x8
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8024604
|
|
|
|
thumb_func_start sub_8024644
|
|
sub_8024644: @ 8024644
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r5, [sp, 0x10]
|
|
mov r4, sp
|
|
strh r3, [r4]
|
|
strb r1, [r0]
|
|
strb r2, [r0, 0x1]
|
|
mov r1, sp
|
|
ldrb r1, [r1]
|
|
strb r1, [r0, 0x2]
|
|
mov r1, sp
|
|
ldrb r1, [r1, 0x1]
|
|
strb r1, [r0, 0x3]
|
|
strb r5, [r0, 0x4]
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8024644
|
|
|
|
.align 2, 0 @ don't pad with nop
|