diff options
Diffstat (limited to 'arm9/asm/unk_02046030.s')
-rw-r--r-- | arm9/asm/unk_02046030.s | 582 |
1 files changed, 292 insertions, 290 deletions
diff --git a/arm9/asm/unk_02046030.s b/arm9/asm/unk_02046030.s index 1ab4b578..00145c3e 100644 --- a/arm9/asm/unk_02046030.s +++ b/arm9/asm/unk_02046030.s @@ -1,290 +1,292 @@ - .include "asm/macros.inc"
- .include "global.inc"
-
- .text
-
- thumb_func_start FUN_02046030
-FUN_02046030: ; 0x02046030
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0xb
- mov r1, #0xc
- bl FUN_020169D8
- add r2, r0, #0x0
- mov r0, #0x0
- strb r0, [r2, #0x0]
- strb r0, [r2, #0x1]
- strb r0, [r2, #0x2]
- strb r0, [r2, #0x3]
- strb r0, [r2, #0x4]
- strb r0, [r2, #0x5]
- strb r0, [r2, #0x6]
- strb r0, [r2, #0x7]
- strb r0, [r2, #0x8]
- strb r0, [r2, #0x9]
- strb r0, [r2, #0xa]
- strb r0, [r2, #0xb]
- ldr r0, [r4, #0x10]
- ldr r1, _02046064 ; =FUN_02046068
- bl FUN_0204640C
- pop {r4, pc}
- nop
-_02046064: .word FUN_02046068
-
- thumb_func_start FUN_02046068
-FUN_02046068: ; 0x02046068
- push {r4-r6, lr}
- sub sp, #0x38
- add r6, r0, #0x0
- bl FUN_02046528
- add r5, r0, #0x0
- add r0, r6, #0x0
- bl FUN_0204652C
- add r4, r0, #0x0
- ldr r0, [r5, #0xc]
- bl FUN_020462AC
- ldrb r1, [r4, #0x8]
- cmp r1, #0xb
- bls _0204608A
- b _020461F8
-_0204608A:
- add r2, r1, r1
- add r2, pc
- ldrh r2, [r2, #0x6]
- lsl r2, r2, #0x10
- asr r2, r2, #0x10
- add pc, r2
-_02046096: ; jump table (using 16-bit offset)
- .short _020460AE - _02046096 - 2; case 0
- .short _020460D4 - _02046096 - 2; case 1
- .short _020460E2 - _02046096 - 2; case 2
- .short _0204610A - _02046096 - 2; case 3
- .short _02046118 - _02046096 - 2; case 4
- .short _02046150 - _02046096 - 2; case 5
- .short _02046160 - _02046096 - 2; case 6
- .short _0204618A - _02046096 - 2; case 7
- .short _02046198 - _02046096 - 2; case 8
- .short _020461C0 - _02046096 - 2; case 9
- .short _020461CE - _02046096 - 2; case 10
- .short _020461E4 - _02046096 - 2; case 11
-_020460AE:
- ldr r0, [r5, #0x38]
- bl FUN_02055320
- strh r0, [r4, #0x4]
- ldr r0, [r5, #0x38]
- bl FUN_0205532C
- strh r0, [r4, #0x6]
- add r0, r5, #0x0
- mov r1, #0x1
- bl FUN_0206367C
- add r0, r6, #0x0
- bl FUN_0204AFC8
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020460D4:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020460E2:
- bl FUN_0205F1C4
- mov r0, #0xac
- str r0, [sp, #0x24]
- sub r0, #0xad
- str r0, [sp, #0x28]
- ldr r0, _02046200 ; =0x0000034F
- add r1, sp, #0x24
- str r0, [sp, #0x2c]
- ldr r0, _02046204 ; =0x00000231
- str r0, [sp, #0x30]
- mov r0, #0x1
- str r0, [sp, #0x34]
- add r0, r6, #0x0
- bl FUN_02049160
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_0204610A:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046118:
- ldr r0, [r5, #0x38]
- mov r1, #0x1
- bl FUN_02046214
- add r0, r5, #0x0
- bl FUN_02046224
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0xb
- str r0, [sp, #0xc]
- ldr r3, _02046208 ; =0x0000FFFF
- add r0, r6, #0x0
- mov r1, #0x3
- mov r2, #0x11
- bl FUN_0204C1B4
- ldr r0, _0204620C ; =0x00000679
- bl FUN_020054C8
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046150:
- ldr r0, _02046210 ; =0x021C48B8
- ldr r2, [r0, #0x48]
- mov r0, #0x3
- tst r0, r2
- beq _020461F8
- add r0, r1, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046160:
- mov r0, #0x0
- str r0, [sp, #0x0]
- mov r0, #0x6
- str r0, [sp, #0x4]
- mov r0, #0x1
- str r0, [sp, #0x8]
- mov r0, #0xb
- str r0, [sp, #0xc]
- ldr r3, _02046208 ; =0x0000FFFF
- add r0, r6, #0x0
- mov r1, #0x3
- mov r2, #0x10
- bl FUN_0204C1B4
- ldr r0, _0204620C ; =0x00000679
- bl FUN_020054C8
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_0204618A:
- add r0, r6, #0x0
- bl FUN_0204AF3C
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_02046198:
- bl FUN_0205F1D4
- ldrh r2, [r4, #0x6]
- ldrh r1, [r4, #0x4]
- mov r0, #0xa4
- str r0, [sp, #0x10]
- sub r0, #0xa5
- str r0, [sp, #0x14]
- mov r0, #0x0
- str r1, [sp, #0x18]
- str r0, [sp, #0x20]
- str r2, [sp, #0x1c]
- add r0, r6, #0x0
- add r1, sp, #0x10
- bl FUN_02049160
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020461C0:
- add r0, r6, #0x0
- bl FUN_0204AF84
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020461CE:
- ldr r0, [r5, #0x38]
- mov r1, #0x0
- bl FUN_02046214
- add r0, r6, #0x0
- bl FUN_0204B00C
- ldrb r0, [r4, #0x8]
- add r0, r0, #0x1
- strb r0, [r4, #0x8]
- b _020461F8
-_020461E4:
- add r0, r4, #0x0
- bl FUN_02016A18
- add r0, r5, #0x0
- mov r1, #0x0
- bl FUN_0206367C
- add sp, #0x38
- mov r0, #0x1
- pop {r4-r6, pc}
-_020461F8:
- mov r0, #0x0
- add sp, #0x38
- pop {r4-r6, pc}
- nop
-_02046200: .word 0x0000034F
-_02046204: .word 0x00000231
-_02046208: .word 0x0000FFFF
-_0204620C: .word 0x00000679
-_02046210: .word 0x021C48B8
-
- thumb_func_start FUN_02046214
-FUN_02046214: ; 0x02046214
- push {r4, lr}
- add r4, r1, #0x0
- bl FUN_020553A0
- add r1, r4, #0x0
- bl FUN_0205889C
- pop {r4, pc}
-
- thumb_func_start FUN_02046224
-FUN_02046224: ; 0x02046224
- push {r3-r4, lr}
- sub sp, #0x14
- add r4, r0, #0x0
- ldr r0, _02046278 ; =0x000008C1
- ldr r1, [r4, #0x20]
- bl FUN_0201EEF0
- ldr r0, _0204627C ; =0x000F81B8
- ldr r1, [r4, #0x20]
- bl FUN_0201EFE0
- ldr r0, _02046280 ; =0x0350523D
- str r0, [sp, #0x8]
- ldr r0, _02046284 ; =0x0015EDB7
- str r0, [sp, #0xc]
- ldr r0, _02046288 ; =0x023DA40E
- str r0, [sp, #0x10]
- ldr r1, [r4, #0x20]
- add r0, sp, #0x8
- bl FUN_0201F04C
- ldr r1, _0204628C ; =0x00000823
- add r0, sp, #0x0
- strh r1, [r0, #0x0]
- mov r1, #0x52
- lsl r1, r1, #0x4
- strh r1, [r0, #0x2]
- mov r1, #0x0
- strh r1, [r0, #0x4]
- ldr r1, [r4, #0x20]
- add r0, sp, #0x0
- bl FUN_0201EF90
- mov r0, #0x3
- ldr r1, _02046290 ; =0x0061C000
- ldr r2, [r4, #0x20]
- lsl r0, r0, #0xe
- bl FUN_0201EC94
- add sp, #0x14
- pop {r3-r4, pc}
- nop
-_02046278: .word 0x000008C1
-_0204627C: .word 0x000F81B8
-_02046280: .word 0x0350523D
-_02046284: .word 0x0015EDB7
-_02046288: .word 0x023DA40E
-_0204628C: .word 0x00000823
-_02046290: .word 0x0061C000
+ .include "asm/macros.inc" + .include "global.inc" + + .extern gUnknown21C48B8 + + .text + + thumb_func_start FUN_02046030 +FUN_02046030: ; 0x02046030 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0xc + bl FUN_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + strb r0, [r2, #0x0] + strb r0, [r2, #0x1] + strb r0, [r2, #0x2] + strb r0, [r2, #0x3] + strb r0, [r2, #0x4] + strb r0, [r2, #0x5] + strb r0, [r2, #0x6] + strb r0, [r2, #0x7] + strb r0, [r2, #0x8] + strb r0, [r2, #0x9] + strb r0, [r2, #0xa] + strb r0, [r2, #0xb] + ldr r0, [r4, #0x10] + ldr r1, _02046064 ; =FUN_02046068 + bl FUN_0204640C + pop {r4, pc} + nop +_02046064: .word FUN_02046068 + + thumb_func_start FUN_02046068 +FUN_02046068: ; 0x02046068 + push {r4-r6, lr} + sub sp, #0x38 + add r6, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020462AC + ldrb r1, [r4, #0x8] + cmp r1, #0xb + bls _0204608A + b _020461F8 +_0204608A: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_02046096: ; jump table (using 16-bit offset) + .short _020460AE - _02046096 - 2; case 0 + .short _020460D4 - _02046096 - 2; case 1 + .short _020460E2 - _02046096 - 2; case 2 + .short _0204610A - _02046096 - 2; case 3 + .short _02046118 - _02046096 - 2; case 4 + .short _02046150 - _02046096 - 2; case 5 + .short _02046160 - _02046096 - 2; case 6 + .short _0204618A - _02046096 - 2; case 7 + .short _02046198 - _02046096 - 2; case 8 + .short _020461C0 - _02046096 - 2; case 9 + .short _020461CE - _02046096 - 2; case 10 + .short _020461E4 - _02046096 - 2; case 11 +_020460AE: + ldr r0, [r5, #0x38] + bl FUN_02055320 + strh r0, [r4, #0x4] + ldr r0, [r5, #0x38] + bl FUN_0205532C + strh r0, [r4, #0x6] + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_0206367C + add r0, r6, #0x0 + bl FUN_0204AFC8 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020460D4: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020460E2: + bl FUN_0205F1C4 + mov r0, #0xac + str r0, [sp, #0x24] + sub r0, #0xad + str r0, [sp, #0x28] + ldr r0, _02046200 ; =0x0000034F + add r1, sp, #0x24 + str r0, [sp, #0x2c] + ldr r0, _02046204 ; =0x00000231 + str r0, [sp, #0x30] + mov r0, #0x1 + str r0, [sp, #0x34] + add r0, r6, #0x0 + bl FUN_02049160 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_0204610A: + add r0, r6, #0x0 + bl FUN_0204AF84 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_02046118: + ldr r0, [r5, #0x38] + mov r1, #0x1 + bl FUN_02046214 + add r0, r5, #0x0 + bl FUN_02046224 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0xb + str r0, [sp, #0xc] + ldr r3, _02046208 ; =0x0000FFFF + add r0, r6, #0x0 + mov r1, #0x3 + mov r2, #0x11 + bl FUN_0204C1B4 + ldr r0, _0204620C ; =0x00000679 + bl FUN_020054C8 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_02046150: + ldr r0, _02046210 ; =gUnknown21C48B8 + ldr r2, [r0, #0x48] + mov r0, #0x3 + tst r0, r2 + beq _020461F8 + add r0, r1, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_02046160: + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0xb + str r0, [sp, #0xc] + ldr r3, _02046208 ; =0x0000FFFF + add r0, r6, #0x0 + mov r1, #0x3 + mov r2, #0x10 + bl FUN_0204C1B4 + ldr r0, _0204620C ; =0x00000679 + bl FUN_020054C8 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_0204618A: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_02046198: + bl FUN_0205F1D4 + ldrh r2, [r4, #0x6] + ldrh r1, [r4, #0x4] + mov r0, #0xa4 + str r0, [sp, #0x10] + sub r0, #0xa5 + str r0, [sp, #0x14] + mov r0, #0x0 + str r1, [sp, #0x18] + str r0, [sp, #0x20] + str r2, [sp, #0x1c] + add r0, r6, #0x0 + add r1, sp, #0x10 + bl FUN_02049160 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020461C0: + add r0, r6, #0x0 + bl FUN_0204AF84 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020461CE: + ldr r0, [r5, #0x38] + mov r1, #0x0 + bl FUN_02046214 + add r0, r6, #0x0 + bl FUN_0204B00C + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020461E4: + add r0, r4, #0x0 + bl FUN_02016A18 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_0206367C + add sp, #0x38 + mov r0, #0x1 + pop {r4-r6, pc} +_020461F8: + mov r0, #0x0 + add sp, #0x38 + pop {r4-r6, pc} + nop +_02046200: .word 0x0000034F +_02046204: .word 0x00000231 +_02046208: .word 0x0000FFFF +_0204620C: .word 0x00000679 +_02046210: .word gUnknown21C48B8 + + thumb_func_start FUN_02046214 +FUN_02046214: ; 0x02046214 + push {r4, lr} + add r4, r1, #0x0 + bl FUN_020553A0 + add r1, r4, #0x0 + bl FUN_0205889C + pop {r4, pc} + + thumb_func_start FUN_02046224 +FUN_02046224: ; 0x02046224 + push {r3-r4, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldr r0, _02046278 ; =0x000008C1 + ldr r1, [r4, #0x20] + bl FUN_0201EEF0 + ldr r0, _0204627C ; =0x000F81B8 + ldr r1, [r4, #0x20] + bl FUN_0201EFE0 + ldr r0, _02046280 ; =0x0350523D + str r0, [sp, #0x8] + ldr r0, _02046284 ; =0x0015EDB7 + str r0, [sp, #0xc] + ldr r0, _02046288 ; =0x023DA40E + str r0, [sp, #0x10] + ldr r1, [r4, #0x20] + add r0, sp, #0x8 + bl FUN_0201F04C + ldr r1, _0204628C ; =0x00000823 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + mov r1, #0x52 + lsl r1, r1, #0x4 + strh r1, [r0, #0x2] + mov r1, #0x0 + strh r1, [r0, #0x4] + ldr r1, [r4, #0x20] + add r0, sp, #0x0 + bl FUN_0201EF90 + mov r0, #0x3 + ldr r1, _02046290 ; =0x0061C000 + ldr r2, [r4, #0x20] + lsl r0, r0, #0xe + bl FUN_0201EC94 + add sp, #0x14 + pop {r3-r4, pc} + nop +_02046278: .word 0x000008C1 +_0204627C: .word 0x000F81B8 +_02046280: .word 0x0350523D +_02046284: .word 0x0015EDB7 +_02046288: .word 0x023DA40E +_0204628C: .word 0x00000823 +_02046290: .word 0x0061C000 |