diff options
Diffstat (limited to 'arm9/modules/05/asm/mod05_021E5FD8.s')
-rw-r--r-- | arm9/modules/05/asm/mod05_021E5FD8.s | 2471 |
1 files changed, 2471 insertions, 0 deletions
diff --git a/arm9/modules/05/asm/mod05_021E5FD8.s b/arm9/modules/05/asm/mod05_021E5FD8.s new file mode 100644 index 00000000..8ce2cd0f --- /dev/null +++ b/arm9/modules/05/asm/mod05_021E5FD8.s @@ -0,0 +1,2471 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021E5FD8 +MOD05_021E5FD8: ; 0x021E5FD8 + ldr r3, _021E5FDC ; =FUN_020553D4 + bx r3 + .balign 4, 0 +_021E5FDC: .word FUN_020553D4 + + thumb_func_start MOD05_021E5FE0 +MOD05_021E5FE0: ; 0x021E5FE0 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + mov r6, #0 + bl FUN_020553E0 + ldr r5, _021E6010 ; =UNK05_021F7734 + add r4, r0, #0 +_021E5FEE: + mov r0, #1 + tst r0, r4 + beq _021E5FFA + ldr r1, [r5] + add r0, r7, #0 + blx r1 +_021E5FFA: + add r6, r6, #1 + lsr r4, r4, #1 + add r5, r5, #4 + cmp r6, #9 + blo _021E5FEE + add r0, r7, #0 + mov r1, #0 + bl FUN_020553DC + pop {r3, r4, r5, r6, r7, pc} + nop +_021E6010: .word UNK05_021F7734 + + thumb_func_start MOD05_021E6014 +MOD05_021E6014: ; 0x021E6014 + push {r4, lr} + add r4, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #0 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E726C + add r0, r4, #0 + mov r1, #0 + bl FUN_020553A8 + add r0, r4, #0 + bl FUN_02055410 + add r0, r4, #0 + bl FUN_02055454 + cmp r0, #0 + beq _021E6048 + bl MOD05_021E4DE4 +_021E6048: + add r0, r4, #0 + mov r1, #0 + bl FUN_02055450 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6054 +MOD05_021E6054: ; 0x021E6054 + push {r4, lr} + add r4, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #1 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E726C + add r0, r4, #0 + mov r1, #1 + bl FUN_020553A8 + add r0, r4, #0 + bl FUN_02055410 + add r0, r4, #0 + bl FUN_02055454 + cmp r0, #0 + beq _021E6088 + bl MOD05_021E4DE4 +_021E6088: + add r0, r4, #0 + mov r1, #0 + bl FUN_02055450 + ldr r0, _021E6098 ; =0x00000618 + bl FUN_020054C8 + pop {r4, pc} + .balign 4, 0 +_021E6098: .word 0x00000618 + + thumb_func_start MOD05_021E609C +MOD05_021E609C: ; 0x021E609C + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r5, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #2 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r5, #0 + bl MOD05_021E726C + add r0, r5, #0 + mov r1, #2 + bl FUN_020553A8 + add r0, r5, #0 + bl FUN_02055410 + add r0, r5, #0 + bl FUN_02055454 + cmp r0, #0 + beq _021E60D2 + bl MOD05_021E4DE4 +_021E60D2: + add r0, r5, #0 + mov r1, #0 + bl FUN_02055450 + add r0, r5, #0 + bl FUN_020552F8 + add r4, r0, #0 + add r0, r5, #0 + bl FUN_020553A0 + add r6, r0, #0 + bl FUN_02058738 + mov r0, #1 + mov r1, #0 + str r0, [sp] + add r0, r6, #0 + add r2, r1, #0 + add r3, r4, #0 + bl MOD06_0224ABAC + add r1, r0, #0 + add r0, r5, #0 + bl FUN_02055450 + add sp, #4 + pop {r3, r4, r5, r6, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E610C +MOD05_021E610C: ; 0x021E610C + ldr r3, _021E6114 ; =FUN_020556C8 + mov r1, #1 + bx r3 + nop +_021E6114: .word FUN_020556C8 + + thumb_func_start MOD05_021E6118 +MOD05_021E6118: ; 0x021E6118 + push {r4, lr} + add r4, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #4 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E726C + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6134 +MOD05_021E6134: ; 0x021E6134 + push {r4, lr} + add r4, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #6 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E726C + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6150 +MOD05_021E6150: ; 0x021E6150 + push {r4, lr} + add r4, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #7 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E726C + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E616C +MOD05_021E616C: ; 0x021E616C + push {r4, lr} + add r4, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #8 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E726C + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6188 +MOD05_021E6188: ; 0x021E6188 + push {r4, lr} + add r4, r0, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #9 + bl FUN_020555A0 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E726C + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E61A4 +MOD05_021E61A4: ; 0x021E61A4 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r6, r0, #0 + add r0, r5, #0 + add r4, r2, #0 + add r7, r3, #0 + bl FUN_020556B4 + cmp r0, #1 + bne _021E61CE + add r0, r6, #0 + add r1, r5, #0 + add r2, r7, #0 + bl MOD05_021E68D8 + cmp r0, #1 + bne _021E61CA + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E61CA: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E61CE: + add r0, r5, #0 + add r1, r4, #0 + bl FUN_02055898 + cmp r0, #0 + bne _021E61DE + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E61DE: + mov r0, #0 + mvn r0, r0 + cmp r4, r0 + bne _021E61FE + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + add r3, r7, #0 + bl MOD05_021E628C + cmp r0, #1 + bne _021E61FA + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E61FA: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E61FE: + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + add r3, r7, #0 + bl MOD05_021E6218 + cmp r0, #1 + bne _021E6212 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E6212: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6218 +MOD05_021E6218: ; 0x021E6218 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r4, r2, #0 + add r6, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + add r7, r3, #0 + bl FUN_0205714C + str r0, [sp] + mov r0, #1 + tst r0, r7 + beq _021E6246 + ldr r3, [sp] + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl MOD05_021E62B4 + cmp r0, #1 + bne _021E6246 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E6246: + mov r0, #2 + tst r0, r7 + beq _021E6260 + ldr r3, [sp] + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl MOD05_021E6714 + cmp r0, #1 + bne _021E6260 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E6260: + ldr r3, [sp] + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl MOD05_021E65EC + cmp r0, #1 + bne _021E6274 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E6274: + ldr r3, [sp] + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl MOD05_021E6758 + cmp r0, #1 + bne _021E6288 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E6288: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + + thumb_func_start MOD05_021E628C +MOD05_021E628C: ; 0x021E628C + push {r4, r5, r6, lr} + add r4, r1, #0 + add r6, r2, #0 + add r5, r0, #0 + add r0, r4, #0 + add r1, r6, #0 + bl FUN_0205714C + add r3, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl MOD05_021E6758 + cmp r0, #1 + bne _021E62B0 + mov r0, #1 + pop {r4, r5, r6, pc} +_021E62B0: + mov r0, #0 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E62B4 +MOD05_021E62B4: ; 0x021E62B4 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + add r5, r1, #0 + add r4, r2, #0 + cmp r3, #1 + beq _021E62C4 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E62C4: + add r0, r5, #0 + add r1, r4, #0 + bl MOD05_021E727C + add r6, r0, #0 + bne _021E62D4 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E62D4: + bl FUN_02058458 + cmp r0, #0x54 + beq _021E62E0 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E62E0: + add r0, r6, #0 + add r1, r4, #0 + bl FUN_02059918 + mov r1, #1 + bic r0, r1 + beq _021E62F2 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E62F2: + add r0, r4, #0 + add r1, r7, #0 + add r2, r5, #0 + add r3, r6, #0 + bl MOD05_021E6304 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6304 +MOD05_021E6304: ; 0x021E6304 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + mov r0, #0x14 + add r4, r1, #0 + add r6, r2, #0 + add r7, r3, #0 + bl MOD05_021E72B8 + add r2, r0, #0 + str r5, [r2, #4] + str r4, [r2, #8] + str r7, [r2, #0x10] + ldr r1, _021E6328 ; =MOD05_021E632C + add r0, r4, #0 + str r6, [r2, #0xc] + bl FUN_020463CC + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021E6328: .word MOD05_021E632C + + thumb_func_start MOD05_021E632C +MOD05_021E632C: ; 0x021E632C + push {r4, r5, r6, lr} + bl FUN_0204652C + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_020553A0 + add r6, r0, #0 + ldr r0, [r4] + ldr r5, [r4, #0x10] + cmp r0, #0 + beq _021E634E + cmp r0, #1 + beq _021E639A + cmp r0, #2 + beq _021E63C0 + b _021E63CA +_021E634E: + add r0, r5, #0 + bl FUN_0205AD98 + cmp r0, #0 + beq _021E63CA + add r0, r6, #0 + bl FUN_0205AD98 + cmp r0, #0 + bne _021E636C + ldr r0, [r4, #0xc] + bl FUN_020570C4 + cmp r0, #0 + beq _021E63CA +_021E636C: + ldr r0, [r4, #4] + mov r1, #8 + bl FUN_0205AFDC + add r1, r0, #0 + add r0, r5, #0 + bl FUN_0205ADDC + ldr r0, [r4, #4] + mov r1, #0x20 + bl FUN_0205AFDC + add r1, r0, #0 + add r0, r6, #0 + bl FUN_0205ADDC + ldr r0, _021E63D0 ; =0x00000627 + bl FUN_020054C8 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E63CA +_021E639A: + add r0, r5, #0 + bl FUN_0205AE28 + cmp r0, #0 + beq _021E63CA + add r0, r6, #0 + bl FUN_0205AE28 + cmp r0, #0 + beq _021E63CA + add r0, r5, #0 + bl FUN_0205AE50 + add r0, r6, #0 + bl FUN_0205AE50 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E63C0: + add r0, r4, #0 + bl MOD05_021E72DC + mov r0, #1 + pop {r4, r5, r6, pc} +_021E63CA: + mov r0, #0 + pop {r4, r5, r6, pc} + nop +_021E63D0: .word 0x00000627 + + thumb_func_start MOD05_021E63D4 +MOD05_021E63D4: ; 0x021E63D4 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r0, #0x2c + add r7, r1, #0 + add r5, r2, #0 + bl MOD05_021E72B8 + add r4, r0, #0 + str r7, [r4, #4] + str r6, [r4, #0x1c] + ldr r0, [r6, #0x38] + str r0, [r4, #0x20] + bl FUN_020553A0 + add r2, r4, #0 + str r0, [r4, #0x24] + add r2, #0xc + ldmia r5!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r2!, {r0, r1} + ldr r0, [r6, #0x10] + ldr r1, _021E640C ; =MOD05_021E6484 + add r2, r4, #0 + bl FUN_0204640C + pop {r3, r4, r5, r6, r7, pc} + nop +_021E640C: .word MOD05_021E6484 + + thumb_func_start MOD05_021E6410 +MOD05_021E6410: ; 0x021E6410 + push {r4, r5, r6, lr} + sub sp, #0x10 + add r6, r2, #0 + add r5, r1, #0 + bl FUN_02046528 + add r4, r0, #0 + add r1, r6, #0 + bl MOD05_021E72E8 + add r1, r0, #0 + add r0, r4, #0 + add r2, sp, #0 + bl MOD05_021E7228 + add r0, r4, #0 + add r1, r5, #0 + add r2, sp, #0 + bl MOD05_021E63D4 + add sp, #0x10 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E643C +MOD05_021E643C: ; 0x021E643C + push {r4, r5, r6, lr} + add r4, r2, #0 + add r5, r1, #0 + bl FUN_020553A0 + add r6, r0, #0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl FUN_0205481C + cmp r0, #1 + bne _021E647E + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + bl FUN_02054B78 + cmp r0, #1 + beq _021E646C + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + bl FUN_02054B6C + cmp r0, #1 + bne _021E647A +_021E646C: + add r0, r6, #0 + bl FUN_02058A68 + cmp r0, #1 + bne _021E647A + mov r0, #0 + pop {r4, r5, r6, pc} +_021E647A: + mov r0, #1 + pop {r4, r5, r6, pc} +_021E647E: + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6484 +MOD05_021E6484: ; 0x021E6484 + push {r3, r4, r5, r6, r7, lr} + bl FUN_0204652C + add r4, r0, #0 + ldr r0, [r4] + cmp r0, #7 + bhi _021E64D4 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_021E649E: ; jump table + .short _021E64AE - _021E649E - 2 ; case 0 + .short _021E64CA - _021E649E - 2 ; case 1 + .short _021E64E2 - _021E649E - 2 ; case 2 + .short _021E6500 - _021E649E - 2 ; case 3 + .short _021E6514 - _021E649E - 2 ; case 4 + .short _021E655E - _021E649E - 2 ; case 5 + .short _021E658A - _021E649E - 2 ; case 6 + .short _021E65AC - _021E649E - 2 ; case 7 +_021E64AE: + ldr r0, [r4, #0x1c] + mov r1, #0 + bl FUN_0204AB20 + ldr r0, [r4, #0x1c] + ldr r1, _021E65E8 ; =0x0000047F + mov r2, #1 + bl FUN_0204ABDC + ldr r0, [r4] + add r0, r0, #1 + add r0, r0, #1 + str r0, [r4] + b _021E65E4 +_021E64CA: + ldr r0, [r4, #8] + add r0, r0, #1 + str r0, [r4, #8] + cmp r0, #0xa + bgt _021E64D6 +_021E64D4: + b _021E65E4 +_021E64D6: + mov r0, #0 + str r0, [r4, #8] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E65E4 +_021E64E2: + ldr r0, [r4, #0xc] + cmp r0, #1 + bne _021E64FA + add r1, r4, #0 + ldr r0, [r4, #0x1c] + add r1, #0xc + bl MOD05_021E723C + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E65E4 +_021E64FA: + mov r0, #4 + str r0, [r4] + b _021E65E4 +_021E6500: + add r0, r4, #0 + add r0, #0xc + bl MOD05_021E7250 + cmp r0, #1 + bne _021E65E4 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E65E4 +_021E6514: + ldr r0, [r4, #0x20] + bl FUN_02055320 + add r5, r0, #0 + ldr r0, [r4, #4] + bl FUN_02059BF4 + add r6, r0, #0 + ldr r0, [r4, #0x20] + bl FUN_0205532C + add r7, r0, #0 + ldr r0, [r4, #4] + bl FUN_02059C00 + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + ldr r0, [r4, #0x24] + ldr r3, [r4, #4] + add r1, r5, r6 + add r2, r7, r2 + bl MOD06_0224ABAC + str r0, [r4, #0x28] + ldr r0, [r4, #0x20] + ldr r1, [r4, #0x28] + bl FUN_02055450 + ldr r0, [r4, #0x20] + mov r1, #2 + bl FUN_020553A8 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E65E4 +_021E655E: + ldr r0, [r4, #8] + add r0, r0, #1 + str r0, [r4, #8] + cmp r0, #0xa + ble _021E65E4 + ldr r0, [r4, #0x20] + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #0 + bl FUN_020555A0 + add r1, r0, #0 + ldr r0, [r4, #0x20] + bl MOD05_021E726C + mov r0, #0 + str r0, [r4, #8] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E65E4 +_021E658A: + ldr r0, [r4, #0x24] + bl FUN_0205AD98 + cmp r0, #1 + bne _021E65E4 + ldr r0, [r4, #4] + mov r1, #0x34 + bl FUN_0205AFDC + add r1, r0, #0 + ldr r0, [r4, #0x24] + bl FUN_0205ADDC + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E65E4 +_021E65AC: + ldr r0, [r4, #0x24] + bl FUN_0205AE28 + cmp r0, #0 + beq _021E65E4 + ldr r0, [r4, #0x24] + bl FUN_0205AE50 + ldr r0, [r4, #0x28] + mov r1, #1 + bl MOD06_0224ADF8 + ldr r0, [r4, #0x20] + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #2 + bl FUN_020555A0 + add r1, r0, #0 + ldr r0, [r4, #0x20] + bl MOD05_021E726C + add r0, r4, #0 + bl MOD05_021E72DC + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_021E65E4: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021E65E8: .word 0x0000047F + + thumb_func_start MOD05_021E65EC +MOD05_021E65EC: ; 0x021E65EC + push {r4, r5, r6, lr} + add r6, r0, #0 + add r5, r1, #0 + add r4, r2, #0 + cmp r3, #1 + bne _021E6602 + add r0, r5, #0 + bl FUN_020553C4 + cmp r0, #2 + beq _021E6606 +_021E6602: + mov r0, #0 + pop {r4, r5, r6, pc} +_021E6606: + add r0, r5, #0 + bl FUN_020553A0 + add r1, r0, #0 + add r0, r5, #0 + add r2, r4, #0 + bl FUN_02056B74 + cmp r0, #0x20 + bne _021E661E + mov r0, #0 + pop {r4, r5, r6, pc} +_021E661E: + mov r1, #0x20 + bic r0, r1 + beq _021E6628 + mov r0, #0 + pop {r4, r5, r6, pc} +_021E6628: + add r0, r4, #0 + add r1, r6, #0 + add r2, r5, #0 + bl MOD05_021E6638 + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6638 +MOD05_021E6638: ; 0x021E6638 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r0, #0x18 + add r5, r1, #0 + add r7, r2, #0 + bl MOD05_021E72B8 + add r4, r0, #0 + str r6, [r4, #4] + str r5, [r4, #8] + str r7, [r4, #0xc] + add r0, r7, #0 + bl FUN_020553A0 + str r0, [r4, #0x10] + add r0, r7, #0 + bl FUN_02055454 + str r0, [r4, #0x14] + cmp r0, #0 + bne _021E6666 + bl ErrorHandling +_021E6666: + ldr r1, _021E6674 ; =MOD05_021E6678 + add r0, r5, #0 + add r2, r4, #0 + bl FUN_020463CC + pop {r3, r4, r5, r6, r7, pc} + nop +_021E6674: .word MOD05_021E6678 + + thumb_func_start MOD05_021E6678 +MOD05_021E6678: ; 0x021E6678 + push {r4, lr} + bl FUN_0204652C + add r4, r0, #0 + ldr r0, [r4] + cmp r0, #0 + beq _021E668C + cmp r0, #1 + beq _021E66CC + b _021E6710 +_021E668C: + ldr r0, [r4, #0x10] + bl FUN_0205AD98 + cmp r0, #1 + bne _021E6710 + ldr r0, [r4, #0xc] + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #0 + bl FUN_020555A0 + add r1, r0, #0 + ldr r0, [r4, #0xc] + bl MOD05_021E726C + ldr r0, [r4, #4] + mov r1, #0x34 + bl FUN_0205AFDC + add r1, r0, #0 + ldr r0, [r4, #0x10] + bl FUN_0205ADDC + ldr r0, [r4, #0x14] + mov r1, #0 + bl MOD06_0224ADF8 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _021E6710 +_021E66CC: + ldr r0, [r4, #0x10] + bl FUN_0205AE28 + cmp r0, #0 + beq _021E6710 + ldr r0, [r4, #0x10] + bl FUN_0205AE50 + ldr r0, [r4, #0x14] + bl MOD05_021E4DE4 + ldr r0, [r4, #0xc] + mov r1, #0 + bl FUN_02055450 + ldr r0, [r4, #0xc] + mov r1, #0 + bl FUN_020553A8 + ldr r0, [r4, #8] + ldr r1, [r0, #0x1c] + ldr r1, [r1] + bl FUN_0204ABA8 + add r1, r0, #0 + ldr r0, [r4, #8] + mov r2, #1 + bl FUN_0204ABDC + add r0, r4, #0 + bl MOD05_021E72DC + mov r0, #1 + pop {r4, pc} +_021E6710: + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021E6714 +MOD05_021E6714: ; 0x021E6714 + push {r4, r5, r6, lr} + add r4, r2, #0 + add r6, r0, #0 + add r5, r1, #0 + cmp r4, #1 + bne _021E672E + cmp r3, #1 + bne _021E672E + add r0, r5, #0 + bl FUN_020553C4 + cmp r0, #2 + beq _021E6732 +_021E672E: + mov r0, #0 + pop {r4, r5, r6, pc} +_021E6732: + add r0, r5, #0 + add r1, r4, #0 + bl FUN_02057278 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_02054A48 + cmp r0, #0 + bne _021E674A + mov r0, #0 + pop {r4, r5, r6, pc} +_021E674A: + add r0, r6, #0 + add r1, r4, #0 + bl MOD05_021E6BD8 + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6758 +MOD05_021E6758: ; 0x021E6758 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r0, r4, #0 + bl FUN_02055764 + cmp r0, #1 + bne _021E676C + mov r0, #0 + pop {r4, r5, r6, pc} +_021E676C: + add r0, r4, #0 + bl FUN_020553A0 + bl FUN_02058720 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r6, #0 + bl FUN_02054984 + cmp r0, #1 + beq _021E6792 + add r0, r6, #0 + bl FUN_020549A0 + cmp r0, #1 + beq _021E6792 + mov r0, #0 + pop {r4, r5, r6, pc} +_021E6792: + add r0, r5, #0 + add r1, r4, #0 + bl MOD05_021E67A0 + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E67A0 +MOD05_021E67A0: ; 0x021E67A0 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0x10 + add r4, r1, #0 + bl MOD05_021E72B8 + add r2, r0, #0 + str r5, [r2, #8] + ldr r1, _021E67BC ; =MOD05_021E67C0 + add r0, r5, #0 + str r4, [r2, #0xc] + bl FUN_020463CC + pop {r3, r4, r5, pc} + .balign 4, 0 +_021E67BC: .word MOD05_021E67C0 + + thumb_func_start MOD05_021E67C0 +MOD05_021E67C0: ; 0x021E67C0 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r6, r0, #0 + bl FUN_0204652C + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_020553A0 + add r7, r0, #0 + ldr r0, [r4] + cmp r0, #0 + beq _021E67E4 + cmp r0, #1 + beq _021E67F0 + cmp r0, #2 + beq _021E682A + b _021E68C6 +_021E67E4: + ldr r0, _021E68CC ; =0x00000651 + bl FUN_020054C8 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E67F0: + add r0, r7, #0 + bl FUN_0205AD98 + cmp r0, #0 + bne _021E6804 + ldr r0, [r4, #0xc] + bl FUN_020570C4 + cmp r0, #0 + beq _021E68C6 +_021E6804: + ldr r0, [r4, #4] + cmp r0, #5 + blt _021E6824 + ldr r0, _021E68D0 ; =0x00000652 + bl FUN_020054C8 + ldr r0, [r4, #0xc] + mov r1, #1 + bl FUN_0205574C + add r0, r4, #0 + bl MOD05_021E72DC + add sp, #0xc + mov r0, #1 + pop {r4, r5, r6, r7, pc} +_021E6824: + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E682A: + ldr r0, [r4, #0xc] + bl FUN_020552F8 + ldr r2, _021E68D4 ; =gMain + str r0, [sp] + ldr r1, [r2, #0x48] + ldr r2, [r2, #0x44] + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + ldr r0, [r4, #0xc] + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + bl FUN_02057020 + add r5, r0, #0 + mov r0, #0 + mvn r0, r0 + cmp r5, r0 + beq _021E68C6 + ldr r0, [sp] + cmp r5, r0 + beq _021E68C6 + mov r0, #1 + str r0, [r4] + ldr r0, [r4, #4] + add r0, r0, #1 + str r0, [r4, #4] + add r0, r7, #0 + bl FUN_02058720 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020549A0 + cmp r0, #1 + bne _021E68A2 + add r0, r6, #0 + bl FUN_02046528 + add r1, sp, #8 + str r0, [sp, #4] + bl MOD06_0223C08C + cmp r0, #1 + bne _021E68A2 + ldr r0, [r4, #0xc] + mov r1, #1 + bl FUN_0205574C + add r0, r4, #0 + bl MOD05_021E72DC + ldr r0, [sp, #4] + ldr r2, [sp, #8] + add r1, r6, #0 + bl FUN_02046A20 + add sp, #0xc + mov r0, #0 + pop {r4, r5, r6, r7, pc} +_021E68A2: + ldr r0, [r4, #4] + cmp r0, #5 + bge _021E68AC + mov r6, #0x28 + b _021E68B6 +_021E68AC: + add r0, r7, #0 + mov r1, #1 + mov r6, #0x30 + bl FUN_02058A18 +_021E68B6: + add r0, r5, #0 + add r1, r6, #0 + bl FUN_0205AFDC + add r1, r0, #0 + ldr r0, [r4, #0xc] + bl FUN_02057260 +_021E68C6: + mov r0, #0 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_021E68CC: .word 0x00000651 +_021E68D0: .word 0x00000652 +_021E68D4: .word gMain + + thumb_func_start MOD05_021E68D8 +MOD05_021E68D8: ; 0x021E68D8 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + add r0, r4, #0 + bl FUN_020553A0 + bl FUN_0205AD98 + cmp r0, #0 + bne _021E68F0 + mov r0, #0 + pop {r3, r4, r5, pc} +_021E68F0: + add r0, r5, #0 + add r1, r4, #0 + bl MOD05_021E6904 + cmp r0, #1 + bne _021E6900 + mov r0, #1 + pop {r3, r4, r5, pc} +_021E6900: + mov r0, #0 + pop {r3, r4, r5, pc} + + thumb_func_start MOD05_021E6904 +MOD05_021E6904: ; 0x021E6904 + push {r4, lr} + add r4, r1, #0 + add r0, r4, #0 + bl FUN_02055408 + cmp r0, #1 + bge _021E6916 + mov r0, #0 + pop {r4, pc} +_021E6916: + add r0, r4, #0 + bl FUN_02055314 + add r1, r0, #0 + add r0, r4, #0 + bl MOD05_021E727C + add r4, r0, #0 + bne _021E692C + mov r0, #0 + pop {r4, pc} +_021E692C: + bl FUN_02058458 + cmp r0, #0x76 + beq _021E6938 + mov r0, #0 + pop {r4, pc} +_021E6938: + add r0, r4, #0 + bl MOD05_021F1AF8 + add r0, r4, #0 + bl FUN_02057654 + ldr r0, _021E6950 ; =0x0000065B + bl FUN_020054C8 + mov r0, #0 + pop {r4, pc} + nop +_021E6950: .word 0x0000065B + + thumb_func_start MOD05_021E6954 +MOD05_021E6954: ; 0x021E6954 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r0, #0x30 + add r7, r1, #0 + add r5, r2, #0 + bl MOD05_021E72B8 + add r4, r0, #0 + str r7, [r4, #4] + str r6, [r4, #0xc] + ldr r0, [r6, #0x38] + str r0, [r4, #0x10] + bl FUN_020553A0 + add r2, r4, #0 + str r0, [r4, #0x14] + add r2, #0x1c + ldmia r5!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r2!, {r0, r1} + ldr r0, [r6, #0x10] + ldr r1, _021E698C ; =MOD05_021E69FC + add r2, r4, #0 + bl FUN_0204640C + pop {r3, r4, r5, r6, r7, pc} + nop +_021E698C: .word MOD05_021E69FC + + thumb_func_start MOD05_021E6990 +MOD05_021E6990: ; 0x021E6990 + push {r4, r5, r6, lr} + sub sp, #0x10 + add r6, r2, #0 + add r5, r1, #0 + bl FUN_02046528 + add r4, r0, #0 + add r1, r6, #0 + bl MOD05_021E72E8 + add r1, r0, #0 + add r0, r4, #0 + add r2, sp, #0 + bl MOD05_021E7228 + add r0, r4, #0 + add r1, r5, #0 + add r2, sp, #0 + bl MOD05_021E6954 + add sp, #0x10 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E69BC +MOD05_021E69BC: ; 0x021E69BC + push {r3, lr} + cmp r1, #3 + bhi _021E69F6 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_021E69CE: ; jump table + .short _021E69D6 - _021E69CE - 2 ; case 0 + .short _021E69D6 - _021E69CE - 2 ; case 1 + .short _021E69E6 - _021E69CE - 2 ; case 2 + .short _021E69E6 - _021E69CE - 2 ; case 3 +_021E69D6: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020548FC + cmp r0, #1 + bne _021E69F6 + mov r0, #1 + pop {r3, pc} +_021E69E6: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_02054908 + cmp r0, #1 + bne _021E69F6 + mov r0, #1 + pop {r3, pc} +_021E69F6: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E69FC +MOD05_021E69FC: ; 0x021E69FC + push {r4, r5, r6, lr} + bl FUN_0204652C + ldr r6, _021E6A24 ; =UNK05_021F7714 + add r5, r0, #0 +_021E6A06: + ldr r1, [r5] + add r0, r5, #0 + lsl r1, r1, #2 + ldr r1, [r6, r1] + blx r1 + add r4, r0, #0 + cmp r4, #2 + beq _021E6A06 + cmp r4, #1 + bne _021E6A20 + add r0, r5, #0 + bl MOD05_021E72DC +_021E6A20: + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_021E6A24: .word UNK05_021F7714 + + thumb_func_start MOD05_021E6A28 +MOD05_021E6A28: ; 0x021E6A28 + push {r4, lr} + add r4, r0, #0 + add r1, r4, #0 + ldr r0, [r4, #0xc] + add r1, #0x1c + bl MOD05_021E723C + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021E6A40 +MOD05_021E6A40: ; 0x021E6A40 + push {r4, lr} + add r4, r0, #0 + add r0, #0x1c + bl MOD05_021E7250 + cmp r0, #1 + bne _021E6A54 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E6A54: + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021E6A58 +MOD05_021E6A58: ; 0x021E6A58 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, [r5, #0x10] + bl FUN_02055320 + add r4, r0, #0 + ldr r0, [r5, #4] + bl FUN_02059BF4 + add r6, r0, #0 + ldr r0, [r5, #0x10] + bl FUN_0205532C + add r7, r0, #0 + ldr r0, [r5, #4] + bl FUN_02059C00 + add r2, r0, #0 + mov r0, #0 + str r0, [sp] + ldr r0, [r5, #0x14] + ldr r3, [r5, #4] + add r1, r4, r6 + add r2, r7, r2 + bl MOD06_0224AEE8 + str r0, [r5, #0x18] + ldr r0, [r5, #0xc] + bl MOD06_0224F0BC + str r0, [r5, #0x2c] + ldr r0, _021E6AA8 ; =0x00000627 + bl FUN_020054C8 + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_021E6AA8: .word 0x00000627 + + thumb_func_start MOD05_021E6AAC +MOD05_021E6AAC: ; 0x021E6AAC + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x14] + bl FUN_0205AD98 + cmp r0, #1 + bne _021E6AD0 + ldr r0, [r4, #4] + mov r1, #0x34 + bl FUN_0205AFDC + add r1, r0, #0 + ldr r0, [r4, #0x14] + bl FUN_0205ADDC + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E6AD0: + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021E6AD4 +MOD05_021E6AD4: ; 0x021E6AD4 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x14] + bl FUN_0205AE28 + cmp r0, #1 + bne _021E6AF0 + ldr r0, [r4] + mov r1, #1 + add r0, r0, #1 + str r0, [r4] + ldr r0, [r4, #0x18] + bl MOD06_0224AF68 +_021E6AF0: + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021E6AF4 +MOD05_021E6AF4: ; 0x021E6AF4 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x14] + bl FUN_0205AD98 + cmp r0, #1 + bne _021E6B18 + ldr r0, [r4, #4] + mov r1, #0x10 + bl FUN_0205AFDC + add r1, r0, #0 + ldr r0, [r4, #0x14] + bl FUN_0205ADDC + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E6B18: + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021E6B1C +MOD05_021E6B1C: ; 0x021E6B1C + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x14] + bl FUN_0205AE28 + cmp r0, #0 + bne _021E6B2E + mov r0, #0 + pop {r3, r4, r5, pc} +_021E6B2E: + ldr r0, [r5, #0x14] + bl FUN_020584D4 + add r4, r0, #0 + ldr r0, [r5, #0x14] + add r1, r4, #0 + bl FUN_02059C90 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r4, #0 + bl MOD05_021E69BC + cmp r0, #1 + bne _021E6B54 + mov r0, #5 + str r0, [r5] + mov r0, #2 + pop {r3, r4, r5, pc} +_021E6B54: + ldr r0, [r5, #4] + mov r1, #0x34 + bl FUN_0205AFDC + add r1, r0, #0 + ldr r0, [r5, #0x14] + bl FUN_0205ADDC + mov r1, #0 + str r1, [r5, #8] + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + ldr r0, [r5, #0x18] + bl MOD06_0224AF68 + ldr r0, [r5, #0x2c] + bl MOD06_0224F0D0 + mov r0, #0 + str r0, [r5, #0x2c] + pop {r3, r4, r5, pc} + + thumb_func_start MOD05_021E6B80 +MOD05_021E6B80: ; 0x021E6B80 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x14] + bl FUN_0205AE28 + cmp r0, #0 + bne _021E6B92 + mov r0, #0 + pop {r4, pc} +_021E6B92: + ldr r0, [r4, #0x14] + bl FUN_0205AE50 + ldr r0, [r4, #0x18] + bl MOD05_021E4DE4 + mov r0, #1 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6BA4 +MOD05_021E6BA4: ; 0x021E6BA4 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r0, #0x54 + add r7, r1, #0 + add r5, r2, #0 + bl MOD05_021E72B8 + add r4, r0, #0 + str r7, [r4, #4] + str r6, [r4, #0x34] + .balign 4, 0 +_021E6BB8: .word 0x63A06BB0 + + thumb_func_start MOD05_021E6BBC +MOD05_021E6BBC: ; 0x021E6BBC + ldr r0, [r6, #0x38] + bl FUN_020553A0 + str r0, [r4, #0x3c] + cmp r5, #0 + beq _021E6BD4 + add r2, r4, #0 + add r2, #0x40 + ldmia r5!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r2!, {r0, r1} +_021E6BD4: + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + + thumb_func_start MOD05_021E6BD8 +MOD05_021E6BD8: ; 0x021E6BD8 + push {r4, lr} + mov r2, #0 + add r4, r0, #0 + bl MOD05_021E6BA4 + add r2, r0, #0 + ldr r1, _021E6BF0 ; =MOD05_021E6C30 + add r0, r4, #0 + bl FUN_020463CC + pop {r4, pc} + nop +_021E6BF0: .word MOD05_021E6C30 + + thumb_func_start MOD05_021E6BF4 +MOD05_021E6BF4: ; 0x021E6BF4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r7, r2, #0 + add r5, r0, #0 + add r6, r1, #0 + bl FUN_02046528 + add r4, r0, #0 + add r1, r7, #0 + bl MOD05_021E72E8 + add r1, r0, #0 + add r0, r4, #0 + add r2, sp, #0 + bl MOD05_021E7228 + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #0 + bl MOD05_021E6BA4 + add r2, r0, #0 + ldr r1, _021E6C2C ; =MOD05_021E6C30 + add r0, r5, #0 + bl FUN_0204640C + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_021E6C2C: .word MOD05_021E6C30 + + thumb_func_start MOD05_021E6C30 +MOD05_021E6C30: ; 0x021E6C30 + push {r4, r5, r6, lr} + bl FUN_0204652C + ldr r6, _021E6C70 ; =UNK05_021F7700 + ldr r4, _021E6C74 ; =UNK05_021F76EC + add r5, r0, #0 +_021E6C3C: + ldr r0, [r5, #4] + cmp r0, #0 + bne _021E6C4E + ldr r1, [r5] + add r0, r5, #0 + lsl r1, r1, #2 + ldr r1, [r4, r1] + blx r1 + b _021E6C58 +_021E6C4E: + ldr r1, [r5] + add r0, r5, #0 + lsl r1, r1, #2 + ldr r1, [r6, r1] + blx r1 +_021E6C58: + cmp r0, #2 + beq _021E6C3C + cmp r0, #1 + bne _021E6C6A + add r0, r5, #0 + bl MOD05_021E72DC + mov r0, #1 + pop {r4, r5, r6, pc} +_021E6C6A: + mov r0, #0 + pop {r4, r5, r6, pc} + nop +_021E6C70: .word UNK05_021F7700 +_021E6C74: .word UNK05_021F76EC + + thumb_func_start MOD05_021E6C78 +MOD05_021E6C78: ; 0x021E6C78 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x40] + cmp r0, #1 + bne _021E6C96 + add r1, r4, #0 + ldr r0, [r4, #0x34] + add r1, #0x40 + bl MOD05_021E723C + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + mov r0, #0 + pop {r4, pc} +_021E6C96: + mov r0, #2 + str r0, [r4] + mov r0, #1 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6CA0 +MOD05_021E6CA0: ; 0x021E6CA0 + push {r4, lr} + add r4, r0, #0 + add r0, #0x40 + bl MOD05_021E7250 + cmp r0, #1 + bne _021E6CBA + ldr r0, _021E6CC0 ; =0x0000064D + bl FUN_020054C8 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E6CBA: + mov r0, #0 + pop {r4, pc} + nop +_021E6CC0: .word 0x0000064D + + thumb_func_start MOD05_021E6CC4 +MOD05_021E6CC4: ; 0x021E6CC4 + push {r4, r5, r6, lr} + sub sp, #0x18 + add r5, r0, #0 + ldr r0, [r5, #0x3c] + bl FUN_02058B2C + add r4, r0, #0 + mov r0, #0 + bl FUN_02059BF4 + lsl r0, r0, #1 + add r4, r4, r0 + ldr r0, [r5, #0x3c] + bl FUN_02058B4C + add r6, r0, #0 + mov r0, #0 + bl FUN_02059C00 + lsl r0, r0, #1 + add r6, r6, r0 + add r2, r5, #0 + add r0, r4, #0 + add r1, r6, #0 + add r2, #0x28 + bl FUN_02059E60 + add r1, r5, #0 + ldr r0, [r5, #0x34] + add r1, #0x28 + bl FUN_02059E9C + str r4, [r5, #0xc] + ldr r0, [r5, #0x2c] + asr r1, r0, #3 + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + str r0, [r5, #0x10] + str r6, [r5, #0x14] + ldr r0, [r5, #0x3c] + add r1, sp, #0xc + bl FUN_02058B5C + ldr r1, [sp, #0x14] + ldr r0, [r5, #0x30] + cmp r1, r0 + bgt _021E6D2A + bl ErrorHandling +_021E6D2A: + ldr r1, [sp, #0x10] + ldr r0, [r5, #0x2c] + cmp r1, r0 + blt _021E6D36 + bl ErrorHandling +_021E6D36: + mov r0, #0 + str r0, [sp] + ldr r1, [r5, #0x2c] + ldr r0, [sp, #0x10] + add r3, sp, #0 + sub r2, r1, r0 + ldr r1, [r5, #0x30] + ldr r0, [sp, #0x14] + str r2, [sp, #4] + sub r1, r1, r0 + asr r0, r2, #5 + lsr r0, r0, #0x1a + add r0, r2, r0 + asr r0, r0, #6 + str r0, [sp, #4] + asr r0, r1, #5 + lsr r0, r0, #0x1a + add r0, r1, r0 + add r2, r5, #0 + str r1, [sp, #8] + asr r0, r0, #6 + str r0, [sp, #8] + ldmia r3!, {r0, r1} + add r2, #0x1c + stmia r2!, {r0, r1} + ldr r0, [r3] + str r0, [r2] + ldr r0, [r5, #0x34] + bl MOD06_0224ED94 + str r0, [r5, #0x50] + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + mov r0, #0 + add sp, #0x18 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E6D80 +MOD05_021E6D80: ; 0x021E6D80 + push {r3, r4, lr} + sub sp, #0xc + add r4, r0, #0 + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B5C + ldr r1, [sp, #4] + ldr r0, [r4, #0x20] + add r1, r1, r0 + str r1, [sp, #4] + ldr r0, [r4, #0x2c] + cmp r1, r0 + ble _021E6D9E + str r0, [sp, #4] +_021E6D9E: + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B6C + ldr r0, [r4, #8] + add r0, r0, #1 + str r0, [r4, #8] + cmp r0, #0x20 + blt _021E6DBA + mov r0, #0 + str r0, [r4, #8] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E6DBA: + mov r0, #0 + add sp, #0xc + pop {r3, r4, pc} + + thumb_func_start MOD05_021E6DC0 +MOD05_021E6DC0: ; 0x021E6DC0 + push {r3, r4, lr} + sub sp, #0xc + add r4, r0, #0 + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B5C + ldr r1, [sp, #4] + ldr r0, [r4, #0x20] + add r1, r1, r0 + str r1, [sp, #4] + ldr r0, [r4, #0x2c] + cmp r1, r0 + ble _021E6DDE + str r0, [sp, #4] +_021E6DDE: + ldr r1, [sp, #8] + ldr r0, [r4, #0x24] + add r1, r1, r0 + str r1, [sp, #8] + ldr r0, [r4, #0x30] + cmp r1, r0 + bge _021E6DEE + str r0, [sp, #8] +_021E6DEE: + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B6C + ldr r0, [r4, #8] + add r0, r0, #1 + str r0, [r4, #8] + cmp r0, #0x40 + bge _021E6E06 + add sp, #0xc + mov r0, #0 + pop {r3, r4, pc} +_021E6E06: + ldr r1, [sp, #8] + ldr r0, [r4, #0x30] + cmp r1, r0 + beq _021E6E12 + bl ErrorHandling +_021E6E12: + ldr r1, [sp, #4] + ldr r0, [r4, #0x2c] + cmp r1, r0 + beq _021E6E1E + bl ErrorHandling +_021E6E1E: + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0xc] + bl FUN_02058B30 + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0x10] + bl FUN_02058B40 + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0x14] + bl FUN_02058B50 + ldr r0, [r4, #0x3c] + bl FUN_02059C60 + ldr r0, [r4, #0x50] + bl MOD06_0224EDA8 + mov r0, #1 + add sp, #0xc + pop {r3, r4, pc} + + thumb_func_start MOD05_021E6E48 +MOD05_021E6E48: ; 0x021E6E48 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x40] + cmp r0, #1 + bne _021E6E66 + add r1, r4, #0 + ldr r0, [r4, #0x34] + add r1, #0x40 + bl MOD05_021E723C + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + mov r0, #0 + pop {r4, pc} +_021E6E66: + mov r0, #2 + str r0, [r4] + pop {r4, pc} + + thumb_func_start MOD05_021E6E6C +MOD05_021E6E6C: ; 0x021E6E6C + push {r4, lr} + add r4, r0, #0 + add r0, #0x40 + bl MOD05_021E7250 + cmp r0, #1 + bne _021E6E86 + ldr r0, _021E6E8C ; =0x0000064D + bl FUN_020054C8 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E6E86: + mov r0, #0 + pop {r4, pc} + nop +_021E6E8C: .word 0x0000064D + + thumb_func_start MOD05_021E6E90 +MOD05_021E6E90: ; 0x021E6E90 + push {r4, r5, r6, lr} + sub sp, #0x18 + add r5, r0, #0 + ldr r0, [r5, #0x3c] + bl FUN_02058B2C + add r4, r0, #0 + mov r0, #1 + bl FUN_02059BF4 + lsl r0, r0, #1 + add r4, r4, r0 + ldr r0, [r5, #0x3c] + bl FUN_02058B4C + add r6, r0, #0 + mov r0, #1 + bl FUN_02059C00 + lsl r0, r0, #1 + add r6, r6, r0 + add r2, r5, #0 + add r0, r4, #0 + add r1, r6, #0 + add r2, #0x28 + bl FUN_02059E60 + add r1, r5, #0 + ldr r0, [r5, #0x34] + add r1, #0x28 + bl FUN_02059E9C + mov r0, #0 + str r0, [r5, #0x18] + str r4, [r5, #0xc] + ldr r0, [r5, #0x2c] + asr r1, r0, #3 + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + str r0, [r5, #0x10] + str r6, [r5, #0x14] + ldr r0, [r5, #0x3c] + add r1, sp, #0xc + bl FUN_02058B5C + ldr r1, [sp, #0x14] + ldr r0, [r5, #0x30] + cmp r1, r0 + blt _021E6EFA + bl ErrorHandling +_021E6EFA: + ldr r1, [sp, #0x10] + ldr r0, [r5, #0x2c] + cmp r1, r0 + bgt _021E6F06 + bl ErrorHandling +_021E6F06: + mov r0, #0 + str r0, [sp] + ldr r1, [r5, #0x2c] + ldr r0, [sp, #0x10] + add r3, sp, #0 + sub r2, r1, r0 + ldr r1, [r5, #0x30] + ldr r0, [sp, #0x14] + str r2, [sp, #4] + sub r1, r1, r0 + asr r0, r2, #5 + lsr r0, r0, #0x1a + add r0, r2, r0 + asr r0, r0, #6 + str r0, [sp, #4] + asr r0, r1, #5 + lsr r0, r0, #0x1a + add r0, r1, r0 + add r2, r5, #0 + str r1, [sp, #8] + asr r0, r0, #6 + str r0, [sp, #8] + ldmia r3!, {r0, r1} + add r2, #0x1c + stmia r2!, {r0, r1} + ldr r0, [r3] + str r0, [r2] + ldr r0, [r5, #0x34] + bl MOD06_0224ED94 + str r0, [r5, #0x50] + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + mov r0, #0 + add sp, #0x18 + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E6F50 +MOD05_021E6F50: ; 0x021E6F50 + push {r3, r4, lr} + sub sp, #0xc + add r4, r0, #0 + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B5C + ldr r1, [sp, #8] + ldr r0, [r4, #0x24] + add r1, r1, r0 + str r1, [sp, #8] + ldr r0, [r4, #0x30] + cmp r1, r0 + ble _021E6F70 + str r0, [sp, #8] + b _021E6F78 +_021E6F70: + ldr r1, [r4, #0x18] + ldr r0, [r4, #0x24] + add r0, r1, r0 + str r0, [r4, #0x18] +_021E6F78: + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B6C + ldr r0, [r4, #8] + add r0, r0, #1 + str r0, [r4, #8] + cmp r0, #0x20 + blt _021E6F94 + mov r0, #0 + str r0, [r4, #8] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_021E6F94: + mov r0, #0 + add sp, #0xc + pop {r3, r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E6F9C +MOD05_021E6F9C: ; 0x021E6F9C + push {r3, r4, lr} + sub sp, #0xc + add r4, r0, #0 + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B5C + ldr r1, [sp, #4] + ldr r0, [r4, #0x20] + add r1, r1, r0 + str r1, [sp, #4] + ldr r0, [r4, #0x2c] + cmp r1, r0 + bge _021E6FBA + str r0, [sp, #4] +_021E6FBA: + ldr r1, [sp, #8] + ldr r0, [r4, #0x24] + add r1, r1, r0 + str r1, [sp, #8] + ldr r0, [r4, #0x30] + cmp r1, r0 + ble _021E6FCC + str r0, [sp, #8] + b _021E6FD4 +_021E6FCC: + ldr r1, [r4, #0x18] + ldr r0, [r4, #0x24] + add r0, r1, r0 + str r0, [r4, #0x18] +_021E6FD4: + ldr r0, [r4, #0x3c] + add r1, sp, #0 + bl FUN_02058B6C + ldr r0, [r4, #8] + add r0, r0, #1 + str r0, [r4, #8] + cmp r0, #0x40 + bge _021E6FEC + add sp, #0xc + mov r0, #0 + pop {r3, r4, pc} +_021E6FEC: + ldr r1, [sp, #8] + ldr r0, [r4, #0x30] + cmp r1, r0 + beq _021E6FF8 + bl ErrorHandling +_021E6FF8: + ldr r1, [sp, #4] + ldr r0, [r4, #0x2c] + cmp r1, r0 + beq _021E7004 + bl ErrorHandling +_021E7004: + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0xc] + bl FUN_02058B30 + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0x10] + bl FUN_02058B40 + ldr r0, [r4, #0x3c] + ldr r1, [r4, #0x14] + bl FUN_02058B50 + ldr r0, [r4, #0x3c] + bl FUN_02059C60 + ldr r0, [r4, #0x50] + bl MOD06_0224EDA8 + mov r0, #1 + add sp, #0xc + pop {r3, r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E7030 +MOD05_021E7030: ; 0x021E7030 + push {r3, lr} + bl FUN_02046528 + bl MOD05_021E703C + pop {r3, pc} + + thumb_func_start MOD05_021E703C +MOD05_021E703C: ; 0x021E703C + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0x18 + bl MOD05_021E72B8 + add r4, r0, #0 + str r5, [r4] + ldr r0, [r5, #0x38] + str r0, [r4, #4] + bl FUN_020553A0 + str r0, [r4, #8] + ldr r0, [r4, #4] + bl FUN_020553E8 + str r0, [r4, #0x10] + ldr r0, [r5, #0x10] + ldr r1, _021E7068 ; =MOD05_021E706C + add r2, r4, #0 + bl FUN_0204640C + pop {r3, r4, r5, pc} + .balign 4, 0 +_021E7068: .word MOD05_021E706C + + thumb_func_start MOD05_021E706C +MOD05_021E706C: ; 0x021E706C + push {r4, lr} + bl FUN_0204652C + add r4, r0, #0 + ldr r0, [r4, #0xc] + cmp r0, #0 + beq _021E7084 + cmp r0, #1 + beq _021E7096 + cmp r0, #2 + beq _021E70C8 + b _021E70E2 +_021E7084: + ldr r0, [r4, #8] + ldr r1, _021E70E8 ; =UNK05_021F7758 + bl FUN_0205AEA4 + str r0, [r4, #0x14] + ldr r0, [r4, #0xc] + add r0, r0, #1 + str r0, [r4, #0xc] + b _021E70E2 +_021E7096: + ldr r0, [r4, #0x14] + bl FUN_0205AEF0 + cmp r0, #1 + bne _021E70E2 + ldr r1, [r4, #0x10] + mov r0, #5 + bl FUN_020555A0 + add r1, r0, #0 + ldr r0, [r4, #4] + bl MOD05_021E726C + ldr r0, [r4, #0x14] + bl FUN_0205AEFC + ldr r0, [r4, #8] + ldr r1, _021E70EC ; =UNK05_021F77BC + bl FUN_0205AEA4 + str r0, [r4, #0x14] + ldr r0, [r4, #0xc] + add r0, r0, #1 + str r0, [r4, #0xc] + b _021E70E2 +_021E70C8: + ldr r0, [r4, #0x14] + bl FUN_0205AEF0 + cmp r0, #1 + bne _021E70E2 + ldr r0, [r4, #0x14] + bl FUN_0205AEFC + add r0, r4, #0 + bl MOD05_021E72DC + mov r0, #1 + pop {r4, pc} +_021E70E2: + mov r0, #0 + pop {r4, pc} + nop +_021E70E8: .word UNK05_021F7758 +_021E70EC: .word UNK05_021F77BC + + thumb_func_start MOD05_021E70F0 +MOD05_021E70F0: ; 0x021E70F0 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl FUN_020553A0 + add r5, r0, #0 + bl FUN_02058934 + cmp r0, #0 + beq _021E7136 + add r0, r4, #0 + bl FUN_020553C4 + cmp r0, #0 + bne _021E7136 + add r0, r5, #0 + bl FUN_02058458 + sub r0, #0xc4 + cmp r0, #1 + bls _021E7136 + add r0, r4, #0 + bl FUN_020553E0 + add r5, r0, #0 + add r0, r4, #0 + mov r1, #0x40 + bl MOD05_021E5FD8 + add r0, r4, #0 + bl MOD05_021E5FE0 + add r0, r4, #0 + add r1, r5, #0 + bl MOD05_021E5FD8 +_021E7136: + pop {r3, r4, r5, pc} + + thumb_func_start MOD05_021E7138 +MOD05_021E7138: ; 0x021E7138 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl FUN_020553A0 + add r5, r0, #0 + bl FUN_02058934 + cmp r0, #0 + beq _021E7180 + add r0, r4, #0 + bl FUN_020553C4 + cmp r0, #0 + bne _021E7180 + add r0, r5, #0 + bl FUN_02058458 + cmp r0, #0xc4 + beq _021E7162 + cmp r0, #0xc5 + bne _021E7180 +_021E7162: + add r0, r4, #0 + bl FUN_020553E0 + add r5, r0, #0 + add r0, r4, #0 + mov r1, #1 + bl MOD05_021E5FD8 + add r0, r4, #0 + bl MOD05_021E5FE0 + add r0, r4, #0 + add r1, r5, #0 + bl MOD05_021E5FD8 +_021E7180: + pop {r3, r4, r5, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E7184 +MOD05_021E7184: ; 0x021E7184 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + ldr r5, [r6, #0x38] + add r0, r5, #0 + bl FUN_020553C4 + add r7, r0, #0 + beq _021E7198 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_021E7198: + add r0, r5, #0 + bl FUN_020553A0 + str r0, [sp] + mov r0, #4 + mov r1, #0x10 + bl AllocFromHeapAtEnd + add r4, r0, #0 + mov r0, #0 + str r0, [r4] + str r6, [r4, #8] + str r5, [r4, #0xc] + ldr r0, [sp] + str r7, [r4, #4] + bl FUN_02058914 + add r0, r5, #0 + mov r1, #0x80 + bl MOD05_021E5FD8 + add r0, r5, #0 + bl MOD05_021E5FE0 + ldr r0, _021E71E0 ; =MOD05_021E7218 + ldr r2, _021E71E4 ; =0x0000FFFF + add r1, r4, #0 + bl FUN_0200CA44 + add r4, r0, #0 + bne _021E71DA + bl ErrorHandling +_021E71DA: + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_021E71E0: .word MOD05_021E7218 +_021E71E4: .word 0x0000FFFF + + thumb_func_start MOD05_021E71E8 +MOD05_021E71E8: ; 0x021E71E8 + push {r4, r5, r6, lr} + add r5, r0, #0 + beq _021E7216 + bl FUN_0201B6C8 + add r6, r0, #0 + ldr r4, [r6, #0xc] + add r0, r4, #0 + bl FUN_020553E8 + add r1, r0, #0 + mov r0, #0 + bl FUN_020555A0 + add r0, r4, #0 + bl MOD05_021E6014 + add r0, r6, #0 + bl FreeToHeap + add r0, r5, #0 + bl FUN_0200CAB4 +_021E7216: + pop {r4, r5, r6, pc} + + thumb_func_start MOD05_021E7218 +MOD05_021E7218: ; 0x021E7218 + push {r3, lr} + ldr r0, [r1, #0xc] + bl FUN_020553A0 + bl FUN_020586A0 + pop {r3, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E7228 +MOD05_021E7228: ; 0x021E7228 + push {r4, lr} + add r4, r2, #0 + mov r2, #1 + str r2, [r4] + str r1, [r4, #8] + ldr r0, [r0, #0x38] + bl FUN_020553E8 + str r0, [r4, #4] + pop {r4, pc} + + thumb_func_start MOD05_021E723C +MOD05_021E723C: ; 0x021E723C + push {r4, lr} + add r4, r1, #0 + ldr r2, [r4, #8] + ldr r3, [r4, #4] + mov r1, #0 + bl MOD06_0224666C + str r0, [r4, #0xc] + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E7250 +MOD05_021E7250: ; 0x021E7250 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl MOD06_022466A0 + cmp r0, #1 + bne _021E7268 + ldr r0, [r4, #0xc] + bl MOD06_022466AC + mov r0, #1 + pop {r4, pc} +_021E7268: + mov r0, #0 + pop {r4, pc} + + thumb_func_start MOD05_021E726C +MOD05_021E726C: ; 0x021E726C + push {r4, lr} + add r4, r1, #0 + bl FUN_020553A0 + add r1, r4, #0 + bl MOD05_021F3490 + pop {r4, pc} + + thumb_func_start MOD05_021E727C +MOD05_021E727C: ; 0x021E727C + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r4, r0, #0 + bl FUN_02055320 + add r6, r0, #0 + add r0, r5, #0 + bl FUN_02059BF4 + add r7, r0, #0 + add r0, r4, #0 + bl FUN_0205532C + str r0, [sp] + add r0, r5, #0 + bl FUN_02059C00 + add r5, r0, #0 + add r0, r4, #0 + bl FUN_020553A0 + bl FUN_02058578 + ldr r2, [sp] + add r1, r6, r7 + add r2, r2, r5 + bl FUN_02058D74 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E72B8 +MOD05_021E72B8: ; 0x021E72B8 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #4 + add r1, r5, #0 + bl AllocFromHeapAtEnd + add r4, r0, #0 + bne _021E72CC + bl ErrorHandling +_021E72CC: + add r0, r4, #0 + mov r1, #0 + add r2, r5, #0 + bl memset + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + + thumb_func_start MOD05_021E72DC +MOD05_021E72DC: ; 0x021E72DC + ldr r3, _021E72E4 ; =FUN_02016A8C + add r1, r0, #0 + mov r0, #4 + bx r3 + .balign 4, 0 +_021E72E4: .word FUN_02016A8C + + thumb_func_start MOD05_021E72E8 +MOD05_021E72E8: ; 0x021E72E8 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0 + bl SavArray_PlayerParty_get + add r1, r4, #0 + bl GetPartyMonByIndex + pop {r4, pc} + .balign 4, 0 + + .section .rodata + + .global UNK05_021F76EC +UNK05_021F76EC: ; 0x021F76EC + .word MOD05_021E6C78, MOD05_021E6CA0, MOD05_021E6CC4, MOD05_021E6D80 + .word MOD05_021E6DC0 + + .global UNK05_021F7700 +UNK05_021F7700: ; 0x021F7700 + .word MOD05_021E6E48, MOD05_021E6E6C, MOD05_021E6E90, MOD05_021E6F50 + .word MOD05_021E6F9C + + .global UNK05_021F7714 +UNK05_021F7714: ; 0x021F7714 + .word MOD05_021E6A28, MOD05_021E6A40, MOD05_021E6A58, MOD05_021E6AAC + .word MOD05_021E6AD4, MOD05_021E6AF4, MOD05_021E6B1C, MOD05_021E6B80 + + .global UNK05_021F7734 +UNK05_021F7734: ; 0x021F7734 + .word MOD05_021E6014, MOD05_021E6054, MOD05_021E609C, MOD05_021E610C + .word MOD05_021E6118, MOD05_021E6134, MOD05_021E6150, MOD05_021E616C + .word MOD05_021E6188 + + .global UNK05_021F7758 +UNK05_021F7758: ; 0x021F7758 + .byte 0x01, 0x00, 0x01, 0x00 ;short? + .byte 0x3C, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x3C, 0x00, 0x02, 0x00, 0x03, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00 + .byte 0x3C, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00 + .byte 0x3C, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0xFE, 0x00, 0x00, 0x00 + + .global UNK05_021F77BC +UNK05_021F77BC: ; 0x021F77BC + .byte 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00 ;short? + .byte 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00 + .byte 0x01, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00 + .byte 0x00, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x01, 0x00 + .byte 0x01, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x03, 0x00 + .byte 0x00, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x04, 0x00, 0x03, 0x00, 0x01, 0x00, 0x3C, 0x00, 0x05, 0x00 + .byte 0x01, 0x00, 0x01, 0x00, 0xFE, 0x00, 0x00, 0x00 |