summaryrefslogtreecommitdiff
path: root/arm9/asm/unk_0200E850.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm/unk_0200E850.s')
-rw-r--r--arm9/asm/unk_0200E850.s134
1 files changed, 134 insertions, 0 deletions
diff --git a/arm9/asm/unk_0200E850.s b/arm9/asm/unk_0200E850.s
index a464171a..32fcbf7b 100644
--- a/arm9/asm/unk_0200E850.s
+++ b/arm9/asm/unk_0200E850.s
@@ -5947,3 +5947,137 @@ _02011372:
pop {r4-r6, pc}
.balign 4
_02011378: .word 0x00000385
+
+ thumb_func_start FUN_0201137C
+FUN_0201137C: ; 0x0201137C
+ push {r3-r7, lr}
+ sub sp, #0x10
+ add r4, r1, #0x0
+ add r6, r2, #0x0
+ add r5, r0, #0x0
+ lsl r0, r6, #0xc
+ ldr r2, [r4, #0x2c]
+ add r7, r3, #0x0
+ asr r1, r0, #0x1f
+ asr r3, r2, #0x1f
+ bl _ll_mul
+ add r2, r0, #0x0
+ mov r0, #0x2
+ mov r3, #0x0
+ lsl r0, r0, #0xa
+ add r0, r2, r0
+ adc r1, r3
+ lsl r1, r1, #0x14
+ lsr r0, r0, #0xc
+ orr r0, r1
+ mov r1, #0xe1
+ asr r0, r0, #0xc
+ lsl r1, r1, #0x2
+ strb r0, [r5, r1]
+ ldrb r0, [r5, r1]
+ sub r2, r6, r0
+ sub r0, r1, #0x4
+ str r4, [r5, r0]
+ add r4, #0x23
+ add r0, r1, #0x2
+ ldrb r3, [r4, #0x0]
+ sub r1, r1, #0x4
+ strb r3, [r5, r0]
+ ldr r0, [sp, #0x28]
+ add r3, r7, #0x0
+ str r0, [sp, #0x0]
+ ldr r0, [sp, #0x2c]
+ str r0, [sp, #0x4]
+ ldr r0, [sp, #0x30]
+ str r0, [sp, #0x8]
+ ldr r0, [sp, #0x34]
+ str r0, [sp, #0xc]
+ ldr r1, [r5, r1]
+ add r0, r5, #0x0
+ add r0, #0x4c
+ add r1, #0x24
+ bl FUN_02010FD0
+ ldr r0, _020113E8 ; =0x00000385
+ mov r1, #0x0
+ strb r1, [r5, r0]
+ add sp, #0x10
+ pop {r3-r7, pc}
+ .balign 4
+_020113E8: .word 0x00000385
+
+ thumb_func_start FUN_020113EC
+FUN_020113EC: ; 0x020113EC
+ push {r4-r6, lr}
+ sub sp, #0x8
+ add r4, r1, #0x0
+ ldr r1, _0201147C ; =0x00000385
+ add r5, r0, #0x0
+ ldrb r1, [r5, r1]
+ mov r6, #0x0
+ cmp r1, #0x0
+ beq _02011408
+ cmp r1, #0x1
+ beq _02011460
+ cmp r1, #0x2
+ beq _02011474
+ b _02011476
+_02011408:
+ add r0, #0x4c
+ bl FUN_020110BC
+ cmp r0, #0x1
+ bne _02011476
+ ldr r2, _0201147C ; =0x00000385
+ ldrb r0, [r5, r2]
+ sub r1, r2, #0x5
+ add r0, r0, #0x1
+ strb r0, [r5, r2]
+ ldr r0, [r4, #0x10]
+ sub r2, r2, #0x1
+ str r0, [sp, #0x0]
+ ldr r0, [r4, #0x18]
+ str r0, [sp, #0x4]
+ ldrb r2, [r5, r2]
+ ldr r1, [r5, r1]
+ ldr r3, [r4, #0x8]
+ add r0, r5, #0x0
+ bl FUN_0200FE20
+ mov r0, #0xe
+ lsl r0, r0, #0x6
+ ldr r3, [r5, r0]
+ add r0, r3, #0x0
+ add r0, #0x20
+ ldrb r0, [r0, #0x0]
+ cmp r0, #0x0
+ ldr r0, [r4, #0x18]
+ bne _02011452
+ add r3, #0x23
+ ldrb r3, [r3, #0x0]
+ ldr r2, [r4, #0x10]
+ mov r1, #0x1
+ bl FUN_0200F6E4
+ b _02011476
+_02011452:
+ add r3, #0x23
+ ldrb r3, [r3, #0x0]
+ ldr r2, [r4, #0x10]
+ mov r1, #0x2
+ bl FUN_0200F6E4
+ b _02011476
+_02011460:
+ bl FUN_0200FE90
+ cmp r0, #0x1
+ bne _02011476
+ ldr r0, _0201147C ; =0x00000385
+ mov r6, #0x1
+ ldrb r1, [r5, r0]
+ add r1, r1, #0x1
+ strb r1, [r5, r0]
+ b _02011476
+_02011474:
+ mov r6, #0x1
+_02011476:
+ add r0, r6, #0x0
+ add sp, #0x8
+ pop {r4-r6, pc}
+ .balign 4
+_0201147C: .word 0x00000385