pmd-red/asm/code_8094148.s
Cheng Hann Gan 938a88551f
Labeled more symbols (#77)
* Labeled more symbols

* Fixed comment typo

* Renamed some functions
2021-11-20 08:47:46 -08:00

750 lines
12 KiB
ArmAsm

.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8094268
sub_8094268:
push {r4-r6,lr}
adds r5, r0, 0
adds r3, r1, 0
asrs r0, r3, 16
asrs r1, r2, 16
adds r0, r1
lsls r0, 16
ldr r6, _080942B0
ands r3, r6
orrs r3, r0
adds r2, r3, r2
lsls r2, 16
lsrs r2, 16
ldr r4, _080942B4
ands r3, r4
orrs r3, r2
asrs r1, r3, 16
ldr r0, _080942B8
cmp r1, r0
ble _080942A6
adds r0, r3, 0x1
lsls r0, 16
lsrs r0, 16
ands r3, r4
orrs r3, r0
asrs r0, r3, 16
ldr r1, _080942BC
adds r0, r1
lsls r0, 16
ands r3, r6
orrs r3, r0
_080942A6:
str r3, [r5]
adds r0, r5, 0
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_080942B0: .4byte 0x0000ffff
_080942B4: .4byte 0xffff0000
_080942B8: .4byte 0x000003e7
_080942BC: .4byte 0xfffffc18
thumb_func_end sub_8094268
thumb_func_start sub_80942C0
sub_80942C0:
push {r4,r5,lr}
adds r5, r0, 0
adds r3, r1, 0
asrs r0, r3, 16
asrs r1, r2, 16
subs r0, r1
lsls r0, 16
ldr r4, _08094310
ands r3, r4
orrs r3, r0
subs r2, r3, r2
lsls r2, 16
lsrs r2, 16
ldr r1, _08094314
ands r3, r1
orrs r3, r2
cmp r3, 0
bge _080942FC
subs r0, r3, 0x1
lsls r0, 16
lsrs r0, 16
ands r3, r1
orrs r3, r0
asrs r0, r3, 16
movs r2, 0xFA
lsls r2, 2
adds r0, r2
lsls r0, 16
ands r3, r4
orrs r3, r0
_080942FC:
lsls r0, r3, 16
cmp r0, 0
bge _08094304
movs r3, 0
_08094304:
str r3, [r5]
adds r0, r5, 0
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_08094310: .4byte 0x0000ffff
_08094314: .4byte 0xffff0000
thumb_func_end sub_80942C0
thumb_func_start sub_8094318
sub_8094318:
push {r4,lr}
adds r4, r0, 0
adds r3, r1, 0
lsls r0, r3, 16
asrs r1, r0, 16
lsls r0, r2, 16
asrs r0, 16
cmp r1, r0
bgt _08094336
cmp r1, r0
blt _0809433A
asrs r1, r3, 16
asrs r0, r2, 16
cmp r1, r0
ble _0809433A
_08094336:
str r2, [r4]
b _0809433C
_0809433A:
str r3, [r4]
_0809433C:
adds r0, r4, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8094318
thumb_func_start sub_8094344
sub_8094344:
push {r4,lr}
adds r4, r0, 0
adds r3, r1, 0
lsls r0, r3, 16
asrs r1, r0, 16
lsls r0, r2, 16
asrs r0, 16
cmp r1, r0
bgt _08094362
cmp r1, r0
blt _08094366
asrs r1, r3, 16
asrs r0, r2, 16
cmp r1, r0
ble _08094366
_08094362:
str r3, [r4]
b _08094368
_08094366:
str r2, [r4]
_08094368:
adds r0, r4, 0
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8094344
thumb_func_start sub_8094370
sub_8094370:
push {r4,r5,lr}
adds r5, r0, 0
lsls r1, 16
lsls r2, 16
ldr r4, _08094398
lsrs r3, r1, 16
orrs r3, r2
asrs r2, 16
ldr r1, _0809439C
asrs r0, r1, 16
cmp r2, r0
ble _0809438C
ands r3, r4
orrs r3, r1
_0809438C:
str r3, [r5]
adds r0, r5, 0
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_08094398: .4byte 0x0000ffff
_0809439C: .4byte 0x03e70000
thumb_func_end sub_8094370
thumb_func_start sub_80943A0
sub_80943A0:
lsls r1, 16
lsrs r2, r1, 16
str r2, [r0]
bx lr
thumb_func_end sub_80943A0
thumb_func_start sub_80943A8
sub_80943A8:
push {r4,r5,lr}
ldr r3, [r1, 0x4]
lsrs r2, r3, 16
ldr r1, _080943D4
ands r5, r1
orrs r5, r2
ldr r4, _080943D8
adds r2, r4, 0
ands r2, r3
lsls r1, r2, 5
subs r1, r2
lsls r1, 2
adds r1, r2
lsls r1, 3
lsrs r1, 16
lsls r1, 16
ands r5, r4
orrs r5, r1
str r5, [r0]
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_080943D4: .4byte 0xffff0000
_080943D8: .4byte 0x0000ffff
thumb_func_end sub_80943A8
thumb_func_start sub_80943DC
sub_80943DC:
push {r4-r6,lr}
mov r6, r8
push {r6}
mov r8, r0
adds r4, r1, 0
lsls r1, r4, 16
asrs r1, 16
lsls r0, r1, 5
subs r0, r1
lsls r0, 2
adds r0, r1
lsls r0, 3
asrs r1, r4, 16
adds r0, r1
lsls r3, r2, 16
asrs r3, 16
lsls r1, r3, 5
subs r1, r3
lsls r1, 2
adds r1, r3
lsls r1, 3
asrs r2, 16
adds r1, r2
muls r0, r1
movs r5, 0xFA
lsls r5, 2
adds r1, r5, 0
bl __divsi3
adds r6, r0, 0
adds r1, r5, 0
bl __divsi3
lsls r0, 16
lsrs r0, 16
ldr r1, _08094448
ands r4, r1
orrs r4, r0
adds r0, r6, 0
adds r1, r5, 0
bl __modsi3
lsls r0, 16
ldr r1, _0809444C
ands r1, r4
orrs r0, r1
mov r1, r8
str r0, [r1]
mov r0, r8
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_08094448: .4byte 0xffff0000
_0809444C: .4byte 0x0000ffff
thumb_func_end sub_80943DC
thumb_func_start GetBellyRoundedUp
GetBellyRoundedUp:
push {lr}
adds r1, r0, 0
lsls r0, r1, 16
asrs r2, r0, 16
cmp r2, 0
bne _0809446A
asrs r0, r1, 16
cmp r0, 0
bne _08094466
movs r0, 0
b _08094476
_08094466:
movs r0, 0x1
b _08094476
_0809446A:
asrs r0, r1, 16
cmp r0, 0
bne _08094474
adds r0, r2, 0
b _08094476
_08094474:
adds r0, r2, 0x1
_08094476:
pop {r1}
bx r1
thumb_func_end GetBellyRoundedUp
thumb_func_start sub_809447C
sub_809447C:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
movs r2, 0x10
bl RestoreIntegerBits
adds r4, 0x2
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x10
bl RestoreIntegerBits
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_809447C
thumb_func_start sub_809449C
sub_809449C:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
movs r2, 0x10
bl SaveIntegerBits
adds r4, 0x2
adds r0, r5, 0
adds r1, r4, 0
movs r2, 0x10
bl SaveIntegerBits
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_809449C
thumb_func_start sub_80944BC
sub_80944BC:
push {r4,lr}
sub sp, 0x8
adds r4, r1, 0
lsls r0, 16
asrs r1, r0, 16
ldr r0, _080944F4
cmp r1, r0
bgt _08094500
lsls r1, 16
lsrs r1, 16
mov r0, sp
bl sub_8092AA8
ldr r0, _080944F8
mov r1, sp
movs r2, 0
bl sub_80928C0
ldr r0, _080944FC
ldr r0, [r0]
adds r2, r4, 0
adds r2, 0xC8
adds r1, r4, 0
movs r3, 0
bl xxx_format_string
b _08094516
.align 2, 0
_080944F4: .4byte 0x000001f3
_080944F8: .4byte gUnknown_202DE58
_080944FC: .4byte gUnknown_811383C
_08094500:
ldr r0, _08094520
ldr r2, _08094524
adds r1, r2
lsls r1, 3
adds r0, 0x4
adds r1, r0
ldr r1, [r1]
adds r0, r4, 0
movs r2, 0xC8
bl strncpy
_08094516:
add sp, 0x8
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08094520: .4byte gUnknown_8113080
_08094524: .4byte 0xfffffe0c
thumb_func_end sub_80944BC
thumb_func_start sub_8094528
sub_8094528:
push {lr}
lsls r0, 16
asrs r1, r0, 16
ldr r0, _08094544
cmp r1, r0
ble _08094550
ldr r0, _08094548
ldr r2, _0809454C
adds r1, r2
lsls r1, 3
adds r1, r0
ldrb r0, [r1]
b _08094552
.align 2, 0
_08094544: .4byte 0x000001f3
_08094548: .4byte gUnknown_8113080
_0809454C: .4byte 0xfffffe0c
_08094550:
movs r0, 0x1
_08094552:
pop {r1}
bx r1
thumb_func_end sub_8094528
thumb_func_start sub_8094558
sub_8094558:
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0xCC
adds r7, r0, 0
adds r4, r1, 0
adds r6, r2, 0
bl sub_80073B8
movs r5, 0
str r5, [sp]
movs r0, 0x10
movs r1, 0
adds r2, r4, 0
adds r3, r7, 0
bl xxx_format_and_draw
ldr r4, _080945D0
adds r1, r6, 0
adds r1, 0x18
adds r0, r4, 0
bl sub_8090208
ldr r0, _080945D4
ldr r2, [r0]
str r5, [sp]
movs r0, 0x4
movs r1, 0x10
adds r3, r7, 0
bl xxx_format_and_draw
movs r5, 0x1A
adds r0, r4, 0
adds r1, r6, 0
movs r2, 0xA
bl sub_80922B4
adds r4, 0x50
adds r1, r6, 0
adds r1, 0xA
adds r0, r4, 0
movs r2, 0xA
bl sub_80922B4
movs r1, 0x14
ldrsh r0, [r6, r1]
bl sub_8094528
lsls r0, 24
cmp r0, 0
beq _080945DC
ldr r0, _080945D8
ldr r0, [r0]
add r2, sp, 0xCC
add r1, sp, 0x4
movs r3, 0
bl xxx_format_string
b _080945EA
.align 2, 0
_080945D0: .4byte gAvailablePokemonNames
_080945D4: .4byte gUnknown_8113850
_080945D8: .4byte gUnknown_8113868
_080945DC:
ldr r0, _0809465C
ldr r0, [r0]
add r2, sp, 0xCC
add r1, sp, 0x4
movs r3, 0
bl xxx_format_string
_080945EA:
add r0, sp, 0x4
bl sub_8008ED0
movs r4, 0xB0
subs r0, r4, r0
lsrs r1, r0, 31
adds r0, r1
asrs r0, 1
movs r1, 0
mov r8, r1
str r1, [sp]
adds r1, r5, 0
add r2, sp, 0x4
adds r3, r7, 0
bl xxx_format_and_draw
adds r5, 0xA
movs r1, 0x14
ldrsh r0, [r6, r1]
add r1, sp, 0x4
bl sub_80944BC
add r0, sp, 0x4
bl sub_8008ED0
subs r4, r0
lsrs r0, r4, 31
adds r4, r0
asrs r0, r4, 1
mov r1, r8
str r1, [sp]
adds r1, r5, 0
add r2, sp, 0x4
adds r3, r7, 0
bl xxx_format_and_draw
adds r5, 0x10
ldr r1, _08094660
ldr r0, [r6, 0x20]
str r0, [r1]
adds r0, r6, 0
adds r0, 0x2A
ldrb r0, [r0]
str r0, [r1, 0x4]
cmp r0, 0x63
ble _08094668
ldr r0, _08094664
ldr r2, [r0]
mov r0, r8
str r0, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
b _0809467A
.align 2, 0
_0809465C: .4byte gUnknown_8113870
_08094660: .4byte gUnknown_202DE30
_08094664: .4byte gUnknown_81138C0
_08094668:
ldr r0, _080946CC
ldr r2, [r0]
mov r1, r8
str r1, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
_0809467A:
adds r5, 0xA
ldr r4, _080946D0
movs r1, 0x24
ldrsh r0, [r6, r1]
str r0, [r4]
ldr r0, _080946D4
ldr r2, [r0]
movs r0, 0
mov r8, r0
str r0, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
adds r5, 0xA
adds r0, r6, 0
adds r0, 0x26
ldrb r2, [r0]
str r2, [r4]
adds r0, 0x2
ldrb r0, [r0]
str r0, [r4, 0x4]
adds r0, r6, 0
adds r0, 0x2B
ldrb r1, [r0]
cmp r1, 0
beq _080946DC
adds r0, r1, 0
adds r0, r2, r0
str r0, [r4]
ldr r0, _080946D8
ldr r2, [r0]
mov r1, r8
str r1, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
b _080946EC
.align 2, 0
_080946CC: .4byte gUnknown_8113898
_080946D0: .4byte gUnknown_202DE30
_080946D4: .4byte gUnknown_81138D0
_080946D8: .4byte gUnknown_8113950
_080946DC:
ldr r0, _08094714
ldr r2, [r0]
str r1, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
_080946EC:
adds r0, r6, 0
adds r0, 0x2D
ldrb r1, [r0]
cmp r1, 0
beq _08094720
ldr r2, _08094718
ldr r0, [r2, 0x4]
adds r0, r1
str r0, [r2, 0x4]
ldr r0, _0809471C
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
b _08094730
.align 2, 0
_08094714: .4byte gUnknown_81138E4
_08094718: .4byte gUnknown_202DE30
_0809471C: .4byte gUnknown_8113974
_08094720:
ldr r0, _08094768
ldr r2, [r0]
str r1, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
_08094730:
adds r5, 0xA
ldr r2, _0809476C
adds r0, r6, 0
adds r0, 0x27
ldrb r3, [r0]
str r3, [r2]
adds r0, 0x2
ldrb r0, [r0]
str r0, [r2, 0x4]
adds r0, r6, 0
adds r0, 0x2C
ldrb r1, [r0]
cmp r1, 0
beq _08094774
adds r0, r1, 0
adds r0, r3, r0
str r0, [r2]
ldr r0, _08094770
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
b _08094784
.align 2, 0
_08094768: .4byte gUnknown_8113900
_0809476C: .4byte gUnknown_202DE30
_08094770: .4byte gUnknown_8113990
_08094774:
ldr r0, _080947AC
ldr r2, [r0]
str r1, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
_08094784:
adds r0, r6, 0
adds r0, 0x2E
ldrb r1, [r0]
cmp r1, 0
beq _080947B8
ldr r2, _080947B0
ldr r0, [r2, 0x4]
adds r0, r1
str r0, [r2, 0x4]
ldr r0, _080947B4
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
b _080947C8
.align 2, 0
_080947AC: .4byte gUnknown_8113918
_080947B0: .4byte gUnknown_202DE30
_080947B4: .4byte gUnknown_81139B4
_080947B8:
ldr r0, _080947E4
ldr r2, [r0]
str r1, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
_080947C8:
adds r5, 0x10
adds r2, r6, 0
adds r2, 0x1C
ldrb r1, [r6, 0x1C]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _080947EC
ldr r0, _080947E8
adds r1, r2, 0
movs r2, 0
bl sub_8090E14
b _080947F6
.align 2, 0
_080947E4: .4byte gUnknown_8113934
_080947E8: .4byte gUnknown_202DE58
_080947EC:
ldr r0, _0809481C
ldr r1, _08094820
ldr r1, [r1]
bl strcpy
_080947F6:
ldr r0, _08094824
ldr r2, [r0]
movs r0, 0
str r0, [sp]
movs r0, 0x4
adds r1, r5, 0
adds r3, r7, 0
bl xxx_format_and_draw
adds r0, r7, 0
bl sub_80073E0
add sp, 0xCC
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0809481C: .4byte gUnknown_202DE58
_08094820: .4byte gUnknown_81139B8
_08094824: .4byte gUnknown_81139CC
thumb_func_end sub_8094558
.align 2,0