diff options
Diffstat (limited to 'arm9/asm/unk_0206B16C.s')
-rw-r--r-- | arm9/asm/unk_0206B16C.s | 737 |
1 files changed, 737 insertions, 0 deletions
diff --git a/arm9/asm/unk_0206B16C.s b/arm9/asm/unk_0206B16C.s new file mode 100644 index 00000000..2dd1244b --- /dev/null +++ b/arm9/asm/unk_0206B16C.s @@ -0,0 +1,737 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + thumb_func_start FUN_0206B16C +FUN_0206B16C: ; 0x0206B16C + push {r3, lr} + bl FUN_0206B180 + bl FUN_02022830 + pop {r3, pc} + + thumb_func_start FUN_0206B178 +FUN_0206B178: ; 0x0206B178 + ldr r0, _0206B17C ; =0x000121C8 + bx lr + .balign 4 +_0206B17C: .word 0x000121C8 + + thumb_func_start FUN_0206B180 +FUN_0206B180: ; 0x0206B180 + push {r3-r7, lr} + str r0, [sp, #0x0] + mov r7, #0x0 + add r6, r0, #0x4 +_0206B188: + mov r4, #0x0 + add r5, r6, #0x0 +_0206B18C: + add r0, r5, #0x0 + bl FUN_020669A0 + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blo _0206B18C + mov r0, #0xff + lsl r0, r0, #0x4 + add r7, r7, #0x1 + add r6, r6, r0 + cmp r7, #0x12 + blo _0206B188 + mov r3, #0x0 + ldr r1, _0206B200 ; =0x000121B4 + add r4, r3, #0x0 + add r2, r3, #0x0 +_0206B1AE: + ldr r0, [sp, #0x0] + add r0, r0, r3 + strb r4, [r0, r1] + add r4, r4, #0x1 + cmp r4, #0x10 + blo _0206B1BC + add r4, r2, #0x0 +_0206B1BC: + add r3, r3, #0x1 + cmp r3, #0x12 + blo _0206B1AE + ldr r1, _0206B204 ; =0x000121C6 + ldr r0, [sp, #0x0] + mov r3, #0x0 + strb r3, [r0, r1] + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xe + bl FUN_0200A86C + add r6, r0, #0x0 + beq _0206B1F8 + ldr r1, _0206B208 ; =0x00011EE4 + ldr r0, [sp, #0x0] + mov r5, #0x0 + add r4, r0, r1 +_0206B1E0: + add r0, r6, #0x0 + add r1, r5, #0x6 + add r2, r4, #0x0 + bl FUN_0200A968 + add r5, r5, #0x1 + add r4, #0x28 + cmp r5, #0x12 + blo _0206B1E0 + add r0, r6, #0x0 + bl FUN_0200A8B8 +_0206B1F8: + ldr r0, [sp, #0x0] + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r3-r7, pc} + .balign 4 +_0206B200: .word 0x000121B4 +_0206B204: .word 0x000121C6 +_0206B208: .word 0x00011EE4 + + thumb_func_start FUN_0206B20C +FUN_0206B20C: ; 0x0206B20C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r4, [r5, #0x0] + add r6, r1, #0x0 + mov r7, #0x0 +_0206B216: + add r0, r6, #0x0 + bl FUN_0206AAB4 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_0206B244 + cmp r0, #0x0 + beq _0206B232 + bl FUN_02022830 + mov r0, #0x1 + pop {r3-r7, pc} +_0206B232: + add r4, r4, #0x1 + cmp r4, #0x12 + blo _0206B23A + add r4, r7, #0x0 +_0206B23A: + ldr r0, [r5, #0x0] + cmp r4, r0 + bne _0206B216 + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_0206B244 +FUN_0206B244: ; 0x0206B244 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r0, #0x0 + add r0, r2, #0x0 + add r5, r1, #0x0 + str r2, [sp, #0x0] + bl FUN_0206AAB4 + mov r0, #0x0 + mvn r0, r0 + cmp r5, r0 + bne _0206B25E + ldr r5, [r6, #0x0] +_0206B25E: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r6, #0x4 + mul r0, r5 + mov r4, #0x0 + add r5, r1, r0 + str r5, [sp, #0x4] + mov r6, #0x5 + add r7, r4, #0x0 +_0206B270: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _0206B2A0 + mov r0, #0x88 + add r1, r4, #0x0 + mul r1, r0 + ldr r0, [sp, #0x4] + mov r3, #0x11 + add r4, r0, r1 +_0206B28A: + ldr r2, [sp, #0x0] + sub r3, r3, #0x1 + ldmia r2!, {r0-r1} + str r2, [sp, #0x0] + stmia r4!, {r0-r1} + bne _0206B28A + bl FUN_02022830 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0206B2A0: + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blo _0206B270 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0206B2B0 +FUN_0206B2B0: ; 0x0206B2B0 + push {r3-r7, lr} + add r7, r3, #0x0 + add r5, r0, #0x0 + add r0, r7, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_0206AAB4 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0206B2CA + ldr r4, [r5, #0x0] +_0206B2CA: + cmp r4, #0x12 + bhs _0206B2F4 + cmp r6, #0x1e + bhs _0206B2F4 + mov r0, #0xff + lsl r0, r0, #0x4 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x88 + mul r0, r6 + add r0, r1, r0 + add r3, r0, #0x4 + mov r2, #0x11 +_0206B2E4: + ldmia r7!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206B2E4 + bl FUN_02022830 + mov r0, #0x1 + pop {r3-r7, pc} +_0206B2F4: + bl ErrorHandling + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_0206B2FC +FUN_0206B2FC: ; 0x0206B2FC + push {r3, lr} + mov r3, #0x0 + mvn r3, r3 + cmp r1, r3 + bne _0206B308 + ldr r1, [r0, #0x0] +_0206B308: + cmp r2, #0x1e + bhs _0206B32A + cmp r1, #0x12 + bhs _0206B32A + add r3, r0, #0x4 + mov r0, #0xff + lsl r0, r0, #0x4 + mul r0, r1 + add r1, r3, r0 + mov r0, #0x88 + mul r0, r2 + add r0, r1, r0 + bl FUN_020669A0 + bl FUN_02022830 + pop {r3, pc} +_0206B32A: + bl ErrorHandling + pop {r3, pc} + + thumb_func_start FUN_0206B330 +FUN_0206B330: ; 0x0206B330 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start FUN_0206B334 +FUN_0206B334: ; 0x0206B334 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + ldr r6, [r0, #0x0] + add r0, r0, #0x4 + mov r7, #0xab + str r0, [sp, #0x4] +_0206B342: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r6, #0x0 + mul r1, r0 + ldr r0, [sp, #0x4] + mov r4, #0x0 + add r5, r0, r1 +_0206B350: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _0206B364 + add sp, #0x8 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0206B364: + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blt _0206B350 + add r6, r6, #0x1 + cmp r6, #0x12 + blt _0206B374 + mov r6, #0x0 +_0206B374: + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x0] + cmp r6, r0 + bne _0206B342 + mov r0, #0x12 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0206B384 +FUN_0206B384: ; 0x0206B384 + push {r3-r7, lr} + add r6, r1, #0x0 + str r2, [sp, #0x0] + mov r1, #0x0 + ldr r2, [r6, #0x0] + mvn r1, r1 + cmp r2, r1 + bne _0206B398 + ldr r1, [r0, #0x0] + str r1, [r6, #0x0] +_0206B398: + ldr r1, [sp, #0x0] + ldr r4, [r6, #0x0] + ldr r5, [r1, #0x0] + add r7, r0, #0x4 + b _0206B3C8 +_0206B3A2: + mov r0, #0xff + lsl r0, r0, #0x4 + mul r0, r4 + add r1, r7, r0 + mov r0, #0x88 + mul r0, r5 + add r0, r1, r0 + mov r1, #0xab + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _0206B3C6 + ldr r0, [sp, #0x0] + str r4, [r6, #0x0] + str r5, [r0, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_0206B3C6: + add r5, r5, #0x1 +_0206B3C8: + cmp r5, #0x1e + blt _0206B3A2 + add r4, r4, #0x1 + cmp r4, #0x12 + blt _0206B3D4 + mov r4, #0x0 +_0206B3D4: + ldr r0, [r6, #0x0] + cmp r4, r0 + beq _0206B3DE + mov r5, #0x0 + b _0206B3C8 +_0206B3DE: + mov r0, #0x12 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0206B3E4 +FUN_0206B3E4: ; 0x0206B3E4 + push {r3-r7, lr} + sub sp, #0x8 + mov r6, #0x0 + add r0, r0, #0x4 + str r6, [sp, #0x4] + str r0, [sp, #0x0] + mov r7, #0xab +_0206B3F2: + ldr r5, [sp, #0x0] + mov r4, #0x0 +_0206B3F6: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + beq _0206B406 + add r6, r6, #0x1 +_0206B406: + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blt _0206B3F6 + mov r0, #0xff + ldr r1, [sp, #0x0] + lsl r0, r0, #0x4 + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] + cmp r0, #0x12 + blt _0206B3F2 + add r0, r6, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start FUN_0206B428 +FUN_0206B428: ; 0x0206B428 + push {r3, lr} + cmp r1, #0x12 + bhs _0206B436 + str r1, [r0, #0x0] + bl FUN_02022830 + pop {r3, pc} +_0206B436: + bl ErrorHandling + pop {r3, pc} + + thumb_func_start FUN_0206B43C +FUN_0206B43C: ; 0x0206B43C + push {r3, lr} + cmp r1, #0x12 + bhs _0206B44A + add r1, r0, r1 + ldr r0, _0206B454 ; =0x000121B4 + ldrb r0, [r1, r0] + pop {r3, pc} +_0206B44A: + bl ErrorHandling + mov r0, #0x0 + pop {r3, pc} + nop +_0206B454: .word 0x000121B4 + + thumb_func_start FUN_0206B458 +FUN_0206B458: ; 0x0206B458 + push {r3, lr} + mov r3, #0x0 + mvn r3, r3 + cmp r1, r3 + bne _0206B464 + ldr r1, [r0, #0x0] +_0206B464: + cmp r1, #0x12 + bhs _0206B478 + cmp r2, #0x18 + bhs _0206B478 + add r1, r0, r1 + ldr r0, _0206B480 ; =0x000121B4 + strb r2, [r1, r0] + bl FUN_02022830 + pop {r3, pc} +_0206B478: + bl ErrorHandling + pop {r3, pc} + nop +_0206B480: .word 0x000121B4 + + thumb_func_start FUN_0206B484 +FUN_0206B484: ; 0x0206B484 + push {r3, lr} + add r3, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0206B492 + ldr r1, [r3, #0x0] +_0206B492: + cmp r1, #0x12 + bhs _0206B4A8 + add r0, r2, #0x0 + ldr r2, _0206B4B0 ; =0x00011EE4 + add r3, r3, r2 + mov r2, #0x28 + mul r2, r1 + add r1, r3, r2 + bl FUN_02021E28 + pop {r3, pc} +_0206B4A8: + bl ErrorHandling + pop {r3, pc} + nop +_0206B4B0: .word 0x00011EE4 + + thumb_func_start FUN_0206B4B4 +FUN_0206B4B4: ; 0x0206B4B4 + push {r3, lr} + add r3, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0206B4C2 + ldr r1, [r3, #0x0] +_0206B4C2: + cmp r1, #0x12 + bhs _0206B4DC + add r0, r2, #0x0 + ldr r2, _0206B4E0 ; =0x00011EE4 + add r3, r3, r2 + mov r2, #0x28 + mul r2, r1 + add r1, r3, r2 + mov r2, #0x14 + bl FUN_02021EF0 + bl FUN_02022830 +_0206B4DC: + pop {r3, pc} + nop +_0206B4E0: .word 0x00011EE4 + + thumb_func_start FUN_0206B4E4 +FUN_0206B4E4: ; 0x0206B4E4 + push {r3-r7, lr} + mov r2, #0x0 + mvn r2, r2 + cmp r1, r2 + bne _0206B4F0 + ldr r1, [r0, #0x0] +_0206B4F0: + cmp r1, #0x12 + bhs _0206B520 + add r2, r0, #0x4 + mov r0, #0xff + lsl r0, r0, #0x4 + mov r4, #0x0 + mul r0, r1 + add r6, r4, #0x0 + add r5, r2, r0 + mov r7, #0xab +_0206B504: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + beq _0206B514 + add r4, r4, #0x1 +_0206B514: + add r6, r6, #0x1 + add r5, #0x88 + cmp r6, #0x1e + blt _0206B504 + add r0, r4, #0x0 + pop {r3-r7, pc} +_0206B520: + bl ErrorHandling + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_0206B528 +FUN_0206B528: ; 0x0206B528 + push {r3-r7, lr} + mov r2, #0x0 + mvn r2, r2 + cmp r1, r2 + bne _0206B534 + ldr r1, [r0, #0x0] +_0206B534: + cmp r1, #0x12 + bhs _0206B572 + add r2, r0, #0x4 + mov r0, #0xff + lsl r0, r0, #0x4 + mov r4, #0x0 + mul r0, r1 + add r6, r4, #0x0 + add r5, r2, r0 + mov r7, #0xab +_0206B548: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + beq _0206B566 + add r0, r5, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _0206B566 + add r4, r4, #0x1 +_0206B566: + add r6, r6, #0x1 + add r5, #0x88 + cmp r6, #0x1e + blt _0206B548 + add r0, r4, #0x0 + pop {r3-r7, pc} +_0206B572: + bl ErrorHandling + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0206B57C +FUN_0206B57C: ; 0x0206B57C + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_0206B584: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_0206B528 + add r5, r5, #0x1 + add r4, r4, r0 + cmp r5, #0x12 + blo _0206B584 + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_0206B598 +FUN_0206B598: ; 0x0206B598 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x12 + blo _0206B5B2 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _0206B5B2 + bl ErrorHandling +_0206B5B2: + cmp r6, #0x1e + blo _0206B5BA + bl ErrorHandling +_0206B5BA: + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0206B5C4 + ldr r4, [r5, #0x0] +_0206B5C4: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r5, #0x4 + mul r0, r4 + add r1, r1, r0 + mov r0, #0x88 + mul r0, r6 + add r0, r1, r0 + ldr r2, [sp, #0x18] + add r1, r7, #0x0 + bl FUN_02067960 + bl FUN_02022830 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0206B5E4 +FUN_0206B5E4: ; 0x0206B5E4 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x12 + blo _0206B5FC + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _0206B5FC + bl ErrorHandling +_0206B5FC: + cmp r6, #0x1e + blo _0206B604 + bl ErrorHandling +_0206B604: + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0206B60E + ldr r4, [r5, #0x0] +_0206B60E: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r5, #0x4 + mul r0, r4 + add r1, r1, r0 + mov r0, #0x88 + mul r0, r6 + add r0, r1, r0 + pop {r4-r6, pc} + + thumb_func_start FUN_0206B620 +FUN_0206B620: ; 0x0206B620 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x8 + blo _0206B62E + bl ErrorHandling +_0206B62E: + ldr r0, _0206B640 ; =0x000121C6 + mov r1, #0x1 + ldrb r2, [r5, r0] + lsl r1, r4 + orr r1, r2 + strb r1, [r5, r0] + bl FUN_02022830 + pop {r3-r5, pc} + .balign 4 +_0206B640: .word 0x000121C6 + + thumb_func_start FUN_0206B644 +FUN_0206B644: ; 0x0206B644 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x8 + blo _0206B652 + bl ErrorHandling +_0206B652: + ldr r0, _0206B664 ; =0x000121C6 + ldrb r2, [r5, r0] + mov r0, #0x1 + add r1, r0, #0x0 + lsl r1, r4 + tst r1, r2 + bne _0206B662 + mov r0, #0x0 +_0206B662: + pop {r3-r5, pc} + .balign 4 +_0206B664: .word 0x000121C6 + + thumb_func_start FUN_0206B668 +FUN_0206B668: ; 0x0206B668 + push {r4-r6, lr} + mov r4, #0x0 + add r6, r0, #0x0 + add r5, r4, #0x0 +_0206B670: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl FUN_0206B644 + cmp r0, #0x0 + beq _0206B67E + add r5, r5, #0x1 +_0206B67E: + add r4, r4, #0x1 + cmp r4, #0x8 + blo _0206B670 + add r0, r5, #0x0 + pop {r4-r6, pc} |