.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 thumb_func_start MOD16_021D74E0 MOD16_021D74E0: ; 0x021D74E0 push {r3, r4, r5, lr} sub sp, #0x20 mov r1, #0 add r5, r0, #0 mov r0, #0x36 add r2, r1, #0 bl FUN_0200433C mov r2, #1 mov r0, #3 mov r1, #0x25 lsl r2, r2, #0x12 bl FUN_0201681C add r0, r5, #0 mov r1, #4 mov r2, #0x25 bl OverlayManager_CreateAndGetData add r4, r0, #0 bne _021D750E bl GF_AssertFail _021D750E: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] mov r0, #8 mov r1, #0x25 bl FUN_0201C24C add r0, r5, #0 bl OverlayManager_GetField18 add r5, r0, #0 ldr r0, _021D7584 ; =MOD16_021D7650 add r1, r4, #0 bl Main_SetVBlankIntrCB bl FUN_02015F1C bl FUN_0201CC08 mov r0, #4 bl FUN_0201CC24 cmp r0, #1 beq _021D7546 bl GF_AssertFail _021D7546: mov r0, #0x25 bl MOD16_021D79FC ldr r0, [r5] add r1, sp, #0 str r0, [sp] ldr r0, [r5, #4] str r0, [sp, #4] ldr r0, [r5, #8] str r0, [sp, #8] ldr r0, [r5, #0xc] str r0, [sp, #0xc] ldr r0, [r5, #0x18] str r0, [sp, #0x18] ldr r0, [r5, #0x10] str r0, [sp, #0x10] ldr r0, [r5, #0x14] str r0, [sp, #0x14] ldr r0, [r5, #0x1c] str r0, [sp, #0x1c] mov r0, #0x25 bl MOD16_021D76AC str r0, [r4] mov r0, #1 mov r1, #0x2a bl FUN_020051EC mov r0, #1 add sp, #0x20 pop {r3, r4, r5, pc} .align 2, 0 _021D7584: .word MOD16_021D7650 thumb_func_end MOD16_021D74E0 thumb_func_start MOD16_021D7588 MOD16_021D7588: ; 0x021D7588 push {r3, r4, r5, lr} add r4, r1, #0 bl OverlayManager_GetData ldr r1, [r4] add r5, r0, #0 cmp r1, #3 bhi _021D7608 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021D75A4: ; jump table .short _021D75AC - _021D75A4 - 2 ; case 0 .short _021D75C4 - _021D75A4 - 2 ; case 1 .short _021D75DA - _021D75A4 - 2 ; case 2 .short _021D75E6 - _021D75A4 - 2 ; case 3 _021D75AC: bl MOD16_021D7664 mov r0, #0xf mvn r0, r0 mov r1, #0x3f mov r2, #3 bl FUN_0200A274 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021D7608 _021D75C4: ldr r0, [r5] bl MOD16_021D7804 cmp r0, #1 bne _021D7608 mov r0, #0 str r0, [r5] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021D7608 _021D75DA: bl MOD16_021D7684 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021D7608 _021D75E6: bl MOD16_021D76A4 cmp r0, #0 beq _021D7608 mov r0, #0 bl FUN_0200E388 mov r0, #1 bl FUN_0200E388 ldr r0, _021D760C ; =0x04000050 mov r1, #0 strh r1, [r0] ldr r0, _021D7610 ; =0x04001050 strh r1, [r0] mov r0, #1 pop {r3, r4, r5, pc} _021D7608: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _021D760C: .word 0x04000050 _021D7610: .word 0x04001050 thumb_func_end MOD16_021D7588 thumb_func_start MOD16_021D7614 MOD16_021D7614: ; 0x021D7614 push {r4, lr} add r4, r0, #0 bl OverlayManager_GetData mov r0, #0 add r1, r0, #0 bl Main_SetVBlankIntrCB bl FUN_0201CD04 cmp r0, #1 beq _021D7630 bl GF_AssertFail _021D7630: bl MOD16_021D7A10 bl FUN_0201C29C add r0, r4, #0 bl OverlayManager_FreeData mov r0, #0x25 bl FUN_020168D0 mov r0, #1 mov r1, #0x7f bl FUN_020051EC mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021D7614 thumb_func_start MOD16_021D7650 MOD16_021D7650: ; 0x021D7650 push {r3, lr} ldr r0, [r0] cmp r0, #0 beq _021D765C bl MOD16_021D7A24 _021D765C: bl FUN_0201C30C pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021D7650 thumb_func_start MOD16_021D7664 MOD16_021D7664: ; 0x021D7664 push {lr} sub sp, #0xc mov r0, #6 str r0, [sp] mov r1, #1 str r1, [sp, #4] mov r0, #0x25 str r0, [sp, #8] mov r0, #0 add r2, r1, #0 add r3, r0, #0 bl FUN_0200E1D0 add sp, #0xc pop {pc} .align 2, 0 thumb_func_end MOD16_021D7664 thumb_func_start MOD16_021D7684 MOD16_021D7684: ; 0x021D7684 push {lr} sub sp, #0xc mov r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0x25 str r0, [sp, #8] mov r0, #0 add r1, r0, #0 add r2, r0, #0 add r3, r0, #0 bl FUN_0200E1D0 add sp, #0xc pop {pc} thumb_func_end MOD16_021D7684 thumb_func_start MOD16_021D76A4 MOD16_021D76A4: ; 0x021D76A4 ldr r3, _021D76A8 ; =FUN_0200E308 bx r3 .align 2, 0 _021D76A8: .word FUN_0200E308 thumb_func_end MOD16_021D76A4 thumb_func_start MOD16_021D76AC MOD16_021D76AC: ; 0x021D76AC push {r4, r5, r6, r7, lr} sub sp, #0x2c add r5, r1, #0 ldr r1, _021D77D0 ; =0x00001D10 add r7, r0, #0 bl AllocFromHeap add r4, r0, #0 bne _021D76C2 bl GF_AssertFail _021D76C2: ldr r2, _021D77D0 ; =0x00001D10 add r0, r4, #0 mov r1, #0 bl memset str r7, [r4, #4] ldr r0, [r5, #0x1c] str r0, [r4, #8] add r0, r7, #0 bl MOD16_021DA858 ldr r1, _021D77D4 ; =0x00001A0C str r0, [r4, r1] add r0, r7, #0 bl MOD16_021DA858 ldr r1, _021D77D8 ; =0x00001A10 str r0, [r4, r1] add r0, r7, #0 bl MOD16_021DA858 ldr r1, _021D77DC ; =0x00001A14 str r0, [r4, r1] add r0, r7, #0 bl MOD16_021DA858 ldr r1, _021D77E0 ; =0x00001A18 str r0, [r4, r1] add r0, r7, #0 bl MOD16_021DA5FC mov r1, #0x1d lsl r1, r1, #8 str r0, [r4, r1] add r0, r7, #0 bl MOD16_021DA5FC ldr r1, _021D77E4 ; =0x00001D04 str r0, [r4, r1] add r0, r7, #0 bl MOD16_021DA5FC ldr r1, _021D77E8 ; =0x00001D08 str r0, [r4, r1] add r0, r7, #0 bl MOD16_021DA5FC ldr r1, _021D77EC ; =0x00001D0C str r0, [r4, r1] ldr r0, [r5] str r0, [sp, #8] ldr r0, [r5, #4] str r0, [sp, #0xc] ldr r0, [r5, #8] str r0, [sp, #0x10] ldr r0, [r5, #0xc] str r0, [sp, #0x14] ldr r0, [r5, #0x10] str r0, [sp, #0x18] ldr r0, [r5, #0x14] str r0, [sp, #0x1c] ldr r0, [r5, #0x18] str r0, [sp, #0x20] ldr r0, [r5, #0x1c] bl FUN_0208A328 str r0, [sp, #0x24] ldr r0, [r5, #0x1c] bl FUN_0208A330 str r0, [sp, #0x28] add r0, r4, #0 add r0, #0xc add r1, sp, #8 add r2, r7, #0 bl MOD16_021D9798 ldr r0, _021D77F0 ; =0x0000177C add r1, r7, #0 add r0, r4, r0 bl MOD16_021D8534 mov r0, #0 str r0, [sp, #4] ldr r0, _021D77F4 ; =0x00001A30 ldr r5, _021D77F8 ; =0x021FF418 add r6, r4, r0 _021D7770: ldr r3, [r5] cmp r3, #0 beq _021D777E add r0, r6, #0 add r1, r4, #0 add r2, r7, #0 blx r3 _021D777E: ldr r0, [sp, #4] add r5, r5, #4 add r0, r0, #1 add r6, #0x28 str r0, [sp, #4] cmp r0, #0xa blt _021D7770 mov r0, #0 str r0, [sp] mov r0, #0x6f lsl r0, r0, #6 ldr r5, _021D77FC ; =0x021FF3D8 add r6, r4, r0 _021D7798: ldr r3, [r5] cmp r3, #0 beq _021D77A6 add r0, r6, #0 add r1, r4, #0 add r2, r7, #0 blx r3 _021D77A6: ldr r0, [sp] add r5, r5, #4 add r0, r0, #1 add r6, #0x28 str r0, [sp] cmp r0, #8 blt _021D7798 ldr r1, _021D7800 ; =0x00001A1C add r0, r7, #0 add r1, r4, r1 add r2, r4, #0 mov r3, #1 bl MOD16_021DAE0C add r0, r4, #0 bl MOD16_021D847C add r0, r4, #0 add sp, #0x2c pop {r4, r5, r6, r7, pc} nop _021D77D0: .word 0x00001D10 _021D77D4: .word 0x00001A0C _021D77D8: .word 0x00001A10 _021D77DC: .word 0x00001A14 _021D77E0: .word 0x00001A18 _021D77E4: .word 0x00001D04 _021D77E8: .word 0x00001D08 _021D77EC: .word 0x00001D0C _021D77F0: .word 0x0000177C _021D77F4: .word 0x00001A30 _021D77F8: .word MOD16_021FF418 _021D77FC: .word MOD16_021FF3D8 _021D7800: .word 0x00001A1C thumb_func_end MOD16_021D76AC thumb_func_start MOD16_021D7804 MOD16_021D7804: ; 0x021D7804 push {r4, lr} add r4, r0, #0 bne _021D780E bl GF_AssertFail _021D780E: add r0, r4, #0 add r0, #0xc bl MOD16_021D9F8C ldr r0, _021D79D8 ; =0x00001A14 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7872 ldr r0, _021D79DC ; =0x00001A0C ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7872 ldr r0, _021D79E0 ; =0x00001A18 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7872 ldr r0, _021D79E4 ; =0x00001A10 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7872 ldr r0, _021D79E8 ; =0x00001D08 mov r1, #0 ldr r0, [r4, r0] bl MOD16_021DA7B0 ldr r0, _021D79EC ; =0x00001D0C mov r1, #0 ldr r0, [r4, r0] bl MOD16_021DA7B0 mov r0, #0x1d lsl r0, r0, #8 ldr r0, [r4, r0] mov r1, #0 bl MOD16_021DA7B0 ldr r0, _021D79F0 ; =0x00001D04 mov r1, #0 ldr r0, [r4, r0] bl MOD16_021DA7B0 b _021D789C _021D7872: ldr r0, _021D79E8 ; =0x00001D08 mov r1, #1 ldr r0, [r4, r0] bl MOD16_021DA7B0 ldr r0, _021D79EC ; =0x00001D0C mov r1, #1 ldr r0, [r4, r0] bl MOD16_021DA7B0 mov r0, #0x1d lsl r0, r0, #8 ldr r0, [r4, r0] mov r1, #1 bl MOD16_021DA7B0 ldr r0, _021D79F0 ; =0x00001D04 mov r1, #1 ldr r0, [r4, r0] bl MOD16_021DA7B0 _021D789C: ldr r0, _021D79E8 ; =0x00001D08 ldr r0, [r4, r0] bl MOD16_021DA694 ldr r0, _021D79EC ; =0x00001D0C ldr r0, [r4, r0] bl MOD16_021DA694 mov r0, #0x1d lsl r0, r0, #8 ldr r0, [r4, r0] bl MOD16_021DA694 ldr r0, _021D79F0 ; =0x00001D04 ldr r0, [r4, r0] bl MOD16_021DA694 ldr r0, _021D79E8 ; =0x00001D08 ldr r0, [r4, r0] bl MOD16_021DA71C ldr r0, _021D79EC ; =0x00001D0C ldr r0, [r4, r0] bl MOD16_021DA71C mov r0, #0x1d lsl r0, r0, #8 ldr r0, [r4, r0] bl MOD16_021DA71C ldr r0, _021D79F0 ; =0x00001D04 ldr r0, [r4, r0] bl MOD16_021DA71C ldr r0, _021D79DC ; =0x00001A0C ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7910 ldr r0, _021D79E0 ; =0x00001A18 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7910 ldr r0, _021D79E4 ; =0x00001A10 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7910 ldr r1, _021D79D8 ; =0x00001A14 ldr r0, [r4, r1] sub r1, #0x10 ldr r1, [r4, r1] bl MOD16_021DA8A0 _021D7910: ldr r0, _021D79D8 ; =0x00001A14 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7940 ldr r0, _021D79E0 ; =0x00001A18 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7940 ldr r0, _021D79E4 ; =0x00001A10 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7940 ldr r1, _021D79DC ; =0x00001A0C ldr r0, [r4, r1] sub r1, #0x10 ldr r1, [r4, r1] bl MOD16_021DA8A0 _021D7940: ldr r0, _021D79D8 ; =0x00001A14 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7970 ldr r0, _021D79DC ; =0x00001A0C ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7970 ldr r0, _021D79E4 ; =0x00001A10 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D7970 ldr r1, _021D79E0 ; =0x00001A18 ldr r0, [r4, r1] sub r1, #0x10 ldr r1, [r4, r1] bl MOD16_021DA8A0 _021D7970: ldr r0, _021D79D8 ; =0x00001A14 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D79A0 ldr r0, _021D79DC ; =0x00001A0C ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D79A0 ldr r0, _021D79E0 ; =0x00001A18 ldr r0, [r4, r0] bl MOD16_021DA8F0 cmp r0, #0 bne _021D79A0 ldr r1, _021D79E4 ; =0x00001A10 ldr r0, [r4, r1] sub r1, #0x10 ldr r1, [r4, r1] bl MOD16_021DA8A0 _021D79A0: bl FUN_020222AC ldr r0, _021D79F4 ; =0x0000177C add r0, r4, r0 bl MOD16_021D86B4 mov r0, #0 add r1, r0, #0 bl FUN_020222B4 ldr r1, _021D79F8 ; =0x00001A04 mov r0, #0 str r0, [r4, r1] add r2, r1, #4 str r0, [r4, r2] add r2, r1, #0 sub r2, #8 str r0, [r4, r2] sub r1, r1, #4 str r0, [r4, r1] ldr r1, [r4] cmp r1, #1 bne _021D79D6 add r0, r4, #0 bl MOD16_021D8298 mov r0, #1 _021D79D6: pop {r4, pc} .align 2, 0 _021D79D8: .word 0x00001A14 _021D79DC: .word 0x00001A0C _021D79E0: .word 0x00001A18 _021D79E4: .word 0x00001A10 _021D79E8: .word 0x00001D08 _021D79EC: .word 0x00001D0C _021D79F0: .word 0x00001D04 _021D79F4: .word 0x0000177C _021D79F8: .word 0x00001A04 thumb_func_end MOD16_021D7804 thumb_func_start MOD16_021D79FC MOD16_021D79FC: ; 0x021D79FC push {r4, lr} add r4, r0, #0 bl MOD16_021D8404 add r0, r4, #0 bl MOD16_021D8424 bl MOD16_021D84A0 pop {r4, pc} thumb_func_end MOD16_021D79FC thumb_func_start MOD16_021D7A10 MOD16_021D7A10: ; 0x021D7A10 push {r3, lr} bl FUN_02009FA0 bl FUN_0201D12C bl FUN_0201E08C bl MOD16_021D8514 pop {r3, pc} thumb_func_end MOD16_021D7A10 thumb_func_start MOD16_021D7A24 MOD16_021D7A24: ; 0x021D7A24 push {r3, lr} ldr r1, _021D7A34 ; =0x0000177C add r0, r0, r1 bl MOD16_021D86DC bl FUN_02009F80 pop {r3, pc} .align 2, 0 _021D7A34: .word 0x0000177C thumb_func_end MOD16_021D7A24 thumb_func_start MOD16_021D7A38 MOD16_021D7A38: ; 0x021D7A38 push {r4, lr} add r4, r0, #0 bne _021D7A42 bl GF_AssertFail _021D7A42: mov r0, #0x1d lsl r0, r0, #8 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021D7A38 thumb_func_start MOD16_021D7A4C MOD16_021D7A4C: ; 0x021D7A4C push {r4, lr} add r4, r0, #0 bne _021D7A56 bl GF_AssertFail _021D7A56: ldr r0, _021D7A5C ; =0x00001D04 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 _021D7A5C: .word 0x00001D04 thumb_func_end MOD16_021D7A4C thumb_func_start MOD16_021D7A60 MOD16_021D7A60: ; 0x021D7A60 push {r4, lr} add r4, r0, #0 bne _021D7A6A bl GF_AssertFail _021D7A6A: ldr r0, _021D7A70 ; =0x00001D08 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 _021D7A70: .word 0x00001D08 thumb_func_end MOD16_021D7A60 thumb_func_start MOD16_021D7A74 MOD16_021D7A74: ; 0x021D7A74 push {r4, lr} add r4, r0, #0 bne _021D7A7E bl GF_AssertFail _021D7A7E: ldr r0, _021D7A84 ; =0x00001D0C ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 _021D7A84: .word 0x00001D0C thumb_func_end MOD16_021D7A74 thumb_func_start MOD16_021D7A88 MOD16_021D7A88: ; 0x021D7A88 push {r4, lr} add r4, r0, #0 bne _021D7A92 bl GF_AssertFail _021D7A92: ldr r0, _021D7A98 ; =0x00001A0C ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 _021D7A98: .word 0x00001A0C thumb_func_end MOD16_021D7A88 thumb_func_start MOD16_021D7A9C MOD16_021D7A9C: ; 0x021D7A9C push {r4, lr} add r4, r0, #0 bne _021D7AA6 bl GF_AssertFail _021D7AA6: ldr r0, _021D7AAC ; =0x00001A10 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 _021D7AAC: .word 0x00001A10 thumb_func_end MOD16_021D7A9C thumb_func_start MOD16_021D7AB0 MOD16_021D7AB0: ; 0x021D7AB0 push {r4, lr} add r4, r0, #0 bne _021D7ABA bl GF_AssertFail _021D7ABA: ldr r0, _021D7AC0 ; =0x00001A14 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 _021D7AC0: .word 0x00001A14 thumb_func_end MOD16_021D7AB0 thumb_func_start MOD16_021D7AC4 MOD16_021D7AC4: ; 0x021D7AC4 push {r4, lr} add r4, r0, #0 bne _021D7ACE bl GF_AssertFail _021D7ACE: ldr r0, _021D7AD4 ; =0x00001A18 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 _021D7AD4: .word 0x00001A18 thumb_func_end MOD16_021D7AC4 thumb_func_start MOD16_021D7AD8 MOD16_021D7AD8: ; 0x021D7AD8 push {r4, lr} add r4, r0, #0 bne _021D7AE2 bl GF_AssertFail _021D7AE2: ldr r0, _021D7AE8 ; =0x000019FC add r0, r4, r0 pop {r4, pc} .align 2, 0 _021D7AE8: .word 0x000019FC thumb_func_end MOD16_021D7AD8 thumb_func_start MOD16_021D7AEC MOD16_021D7AEC: ; 0x021D7AEC push {r4, lr} add r4, r0, #0 bne _021D7AF6 bl GF_AssertFail _021D7AF6: mov r0, #0x1a lsl r0, r0, #8 add r0, r4, r0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021D7AEC thumb_func_start MOD16_021D7B00 MOD16_021D7B00: ; 0x021D7B00 push {r4, lr} add r4, r0, #0 bne _021D7B0A bl GF_AssertFail _021D7B0A: ldr r0, _021D7B10 ; =0x00001A04 add r0, r4, r0 pop {r4, pc} .align 2, 0 _021D7B10: .word 0x00001A04 thumb_func_end MOD16_021D7B00 thumb_func_start MOD16_021D7B14 MOD16_021D7B14: ; 0x021D7B14 push {r4, lr} add r4, r0, #0 bne _021D7B1E bl GF_AssertFail _021D7B1E: ldr r0, _021D7B24 ; =0x00001A08 add r0, r4, r0 pop {r4, pc} .align 2, 0 _021D7B24: .word 0x00001A08 thumb_func_end MOD16_021D7B14 thumb_func_start MOD16_021D7B28 MOD16_021D7B28: ; 0x021D7B28 push {r4, lr} add r4, r0, #0 bne _021D7B32 bl GF_AssertFail _021D7B32: add r0, r4, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021D7B28 thumb_func_start MOD16_021D7B38 MOD16_021D7B38: ; 0x021D7B38 push {r4, lr} add r4, r0, #0 bne _021D7B42 bl GF_AssertFail _021D7B42: add r4, #0xc add r0, r4, #0 pop {r4, pc} thumb_func_end MOD16_021D7B38 thumb_func_start MOD16_021D7B48 MOD16_021D7B48: ; 0x021D7B48 push {r4, lr} add r4, r0, #0 bne _021D7B52 bl GF_AssertFail _021D7B52: ldr r0, _021D7B58 ; =0x0000177C add r0, r4, r0 pop {r4, pc} .align 2, 0 _021D7B58: .word 0x0000177C thumb_func_end MOD16_021D7B48 thumb_func_start MOD16_021D7B5C MOD16_021D7B5C: ; 0x021D7B5C push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 cmp r4, #0xa blt _021D7B6A bl GF_AssertFail _021D7B6A: ldr r0, _021D7B78 ; =0x00001A30 add r1, r5, r0 mov r0, #0x28 mul r0, r4 add r0, r1, r0 pop {r3, r4, r5, pc} nop _021D7B78: .word 0x00001A30 thumb_func_end MOD16_021D7B5C thumb_func_start MOD16_021D7B7C MOD16_021D7B7C: ; 0x021D7B7C push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 cmp r4, #8 blt _021D7B8A bl GF_AssertFail _021D7B8A: mov r0, #0x6f lsl r0, r0, #6 add r1, r5, r0 mov r0, #0x28 mul r0, r4 add r0, r1, r0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D7B7C thumb_func_start MOD16_021D7B98 MOD16_021D7B98: ; 0x021D7B98 push {r4, lr} add r4, r0, #0 cmp r1, #4 bhi _021D7BDE add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021D7BAC: ; jump table .short _021D7BB6 - _021D7BAC - 2 ; case 0 .short _021D7BC6 - _021D7BAC - 2 ; case 1 .short _021D7BBE - _021D7BAC - 2 ; case 2 .short _021D7BCE - _021D7BAC - 2 ; case 3 .short _021D7BCE - _021D7BAC - 2 ; case 4 _021D7BB6: mov r1, #1 bl FUN_02020208 pop {r4, pc} _021D7BBE: mov r1, #2 bl FUN_02020208 pop {r4, pc} _021D7BC6: mov r1, #3 bl FUN_02020208 pop {r4, pc} _021D7BCE: bl FUN_0202022C cmp r0, #0 beq _021D7BDE ldr r1, _021D7BE0 ; =0xFFFFE000 add r0, r4, #0 bl FUN_020201E4 _021D7BDE: pop {r4, pc} .align 2, 0 _021D7BE0: .word 0xFFFFE000 thumb_func_end MOD16_021D7B98 thumb_func_start MOD16_021D7BE4 MOD16_021D7BE4: ; 0x021D7BE4 push {r3, r4, r5, lr} sub sp, #8 add r4, r1, #0 add r5, r2, #0 bl FUN_0202022C cmp r0, #3 bhi _021D7C6C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021D7C00: ; jump table .short _021D7C08 - _021D7C00 - 2 ; case 0 .short _021D7C22 - _021D7C00 - 2 ; case 1 .short _021D7C3C - _021D7C00 - 2 ; case 2 .short _021D7C56 - _021D7C00 - 2 ; case 3 _021D7C08: ldr r0, [r4] add r1, sp, #4 add r2, sp, #0 bl FUN_020119A4 str r5, [sp] ldr r0, [r4] ldr r1, [sp, #4] add r2, r5, #0 bl FUN_020118C4 add sp, #8 pop {r3, r4, r5, pc} _021D7C22: ldr r0, [r4] add r1, sp, #4 add r2, sp, #0 bl FUN_020119A4 sub r2, r5, #2 str r2, [sp] ldr r0, [r4] ldr r1, [sp, #4] bl FUN_020118C4 add sp, #8 pop {r3, r4, r5, pc} _021D7C3C: ldr r0, [r4] add r1, sp, #4 add r2, sp, #0 bl FUN_020119A4 sub r2, r5, #4 str r2, [sp] ldr r0, [r4] ldr r1, [sp, #4] bl FUN_020118C4 add sp, #8 pop {r3, r4, r5, pc} _021D7C56: ldr r0, [r4] add r1, sp, #4 add r2, sp, #0 bl FUN_020119A4 sub r2, r5, #2 str r2, [sp] ldr r0, [r4] ldr r1, [sp, #4] bl FUN_020118C4 _021D7C6C: add sp, #8 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D7BE4 thumb_func_start MOD16_021D7C70 MOD16_021D7C70: ; 0x021D7C70 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r3, #0 bl MOD16_021D7BE4 add r0, r5, #0 bl FUN_0202022C cmp r0, #2 ldr r0, [r4] bge _021D7C90 add r1, r6, #0 bl FUN_02011AC0 pop {r4, r5, r6, pc} _021D7C90: ldr r1, [sp, #0x10] bl FUN_02011AC0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021D7C70 thumb_func_start MOD16_021D7C98 MOD16_021D7C98: ; 0x021D7C98 strb r1, [r0] strb r2, [r0, #1] ldr r1, [sp] strb r3, [r0, #2] strb r1, [r0, #3] bx lr thumb_func_end MOD16_021D7C98 thumb_func_start MOD16_021D7CA4 MOD16_021D7CA4: ; 0x021D7CA4 str r1, [r0] str r2, [r0, #8] ldr r2, [sp] ldr r1, [sp, #4] str r3, [r0, #4] str r2, [r0, #0xc] sub r1, r1, r2 str r1, [r0, #0x14] ldr r2, [sp, #8] ldr r1, [sp, #0xc] str r2, [r0, #0x10] sub r1, r1, r2 str r1, [r0, #0x18] ldr r1, [sp, #0x10] str r1, [r0, #0x20] mov r1, #0 str r1, [r0, #0x1c] bx lr thumb_func_end MOD16_021D7CA4 thumb_func_start MOD16_021D7CC8 MOD16_021D7CC8: ; 0x021D7CC8 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r0, #0 ldr r1, [r5, #0x1c] ldr r0, [r5, #0x20] cmp r1, r0 bgt _021D7D94 mov r2, #0 str r2, [sp] mov r0, #0x20 str r0, [sp, #4] mov r0, #0x18 str r0, [sp, #8] mov r0, #0x10 str r0, [sp, #0xc] ldr r1, [r5, #8] ldr r0, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r3, r2, #0 bl FUN_02018540 ldr r1, [r5, #0x14] ldr r6, [r5, #0x1c] add r0, r1, #0 ldr r4, [r5, #0x20] mul r0, r6 add r1, r4, #0 bl _s32_div_f ldr r1, [r5, #0x18] add r7, r0, #0 add r0, r1, #0 mul r0, r6 add r1, r4, #0 bl _s32_div_f ldr r1, [r5, #0xc] ldr r2, [r5, #0x10] add r1, r7, r1 add r4, r0, r2 cmp r1, #0 ble _021D7D4C mov r0, #0x20 lsl r2, r1, #0x18 str r0, [sp] lsr r2, r2, #0x18 str r2, [sp, #4] ldr r2, [r5, #4] sub r1, r0, r1 add r2, #0xc str r2, [sp, #8] mov r2, #0 lsl r1, r1, #0x18 str r2, [sp, #0xc] lsr r1, r1, #0x18 str r1, [sp, #0x10] str r0, [sp, #0x14] str r0, [sp, #0x18] ldr r1, [r5, #8] ldr r0, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r3, r2, #0 bl FUN_02018170 _021D7D4C: mov r0, #0x20 sub r3, r0, r4 cmp r3, #0 ble _021D7D7C lsl r1, r4, #0x18 str r0, [sp] lsr r1, r1, #0x18 str r1, [sp, #4] ldr r1, [r5, #4] mov r2, #0 add r1, #0xc str r1, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] str r0, [sp, #0x14] str r0, [sp, #0x18] ldr r1, [r5, #8] lsl r3, r3, #0x18 lsl r1, r1, #0x18 ldr r0, [r5] lsr r1, r1, #0x18 lsr r3, r3, #0x18 bl FUN_02018170 _021D7D7C: ldr r1, [r5, #8] ldr r0, [r5] lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl FUN_0201AC68 ldr r0, [r5, #0x1c] add sp, #0x1c add r0, r0, #1 str r0, [r5, #0x1c] mov r0, #0 pop {r4, r5, r6, r7, pc} _021D7D94: mov r0, #1 add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021D7CC8 thumb_func_start MOD16_021D7D9C MOD16_021D7D9C: ; 0x021D7D9C push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 add r6, r1, #0 mov r0, #4 add r1, r3, #0 add r7, r2, #0 str r3, [sp, #0x10] bl String_ctor mov r1, #1 str r1, [sp] add r1, r6, #0 mov r2, #3 mov r3, #2 add r4, r0, #0 bl String16_FormatInteger ldr r2, [sp, #0x10] add r0, r7, #0 mov r1, #2 bl MOD16_021DBBC8 mov r1, #0 add r6, r0, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _021D7E10 ; =0x00030201 add r2, r4, #0 str r0, [sp, #8] str r1, [sp, #0xc] add r0, r5, #0 mov r1, #2 mov r3, #0x16 bl AddTextPrinterParameterized2 mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _021D7E10 ; =0x00030201 add r2, r6, #0 str r0, [sp, #8] str r1, [sp, #0xc] add r0, r5, #0 mov r1, #2 mov r3, #0x31 bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r6, #0 bl MOD16_021DBBAC add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021D7E10: .word 0x00030201 thumb_func_end MOD16_021D7D9C thumb_func_start MOD16_021D7E14 MOD16_021D7E14: ; 0x021D7E14 push {r4, r5, r6, lr} add r5, r0, #0 add r0, r1, #0 add r4, r2, #0 add r6, r3, #0 bl MOD16_021D9D04 cmp r0, #0 bne _021D7E36 mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r5, r0] add r1, r4, #0 add r2, r6, #0 bl MOD16_021D7E68 pop {r4, r5, r6, pc} _021D7E36: mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r5, r0] add r1, r4, #0 add r2, r6, #0 bl MOD16_021D7E48 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021D7E14 thumb_func_start MOD16_021D7E48 MOD16_021D7E48: ; 0x021D7E48 push {r4, r5, r6, lr} add r5, r1, #0 add r6, r2, #0 mov r1, #0xf mov r2, #2 bl MOD16_021DB388 add r1, r6, #0 add r2, r6, #0 add r3, r5, #0 add r4, r0, #0 bl MOD16_021D7D9C add r0, r4, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021D7E48 thumb_func_start MOD16_021D7E68 MOD16_021D7E68: ; 0x021D7E68 push {r3, r4, r5, r6, r7, lr} add r6, r2, #0 add r4, r0, #0 lsl r0, r6, #0x10 lsr r0, r0, #0x10 add r5, r1, #0 bl SpeciesToSinnohDexNo add r7, r0, #0 cmp r7, #0 bgt _021D7E82 bl GF_AssertFail _021D7E82: add r0, r4, #0 mov r1, #0xf mov r2, #2 bl MOD16_021DB388 add r1, r7, #0 add r2, r6, #0 add r3, r5, #0 add r4, r0, #0 bl MOD16_021D7D9C add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021D7E68 thumb_func_start MOD16_021D7E9C MOD16_021D7E9C: ; 0x021D7E9C push {r4, r5, r6, r7, lr} sub sp, #0x44 add r7, r1, #0 add r5, r0, #0 add r4, r3, #0 add r0, r7, #0 str r2, [sp, #4] bl MOD16_021D9D04 str r0, [sp, #8] add r0, r7, #0 add r1, r4, #0 bl MOD16_021D9E08 add r4, r0, #0 add r0, r5, #0 bl MOD16_021D8838 add r6, r0, #0 add r0, r5, #0 bl MOD16_021D8854 str r0, [sp, #0xc] ldr r0, [sp, #0x58] add r1, sp, #0x10 str r0, [sp, #0x10] ldr r0, [sp, #0x5c] str r0, [sp, #0x14] add r0, r6, #0 bl FUN_02020044 add r0, r6, #0 mov r1, #1 bl FUN_020200A0 ldr r0, [r4, #4] cmp r0, #2 bne _021D7F08 mov r0, #0x36 ldr r1, [sp, #0x58] lsl r0, r0, #0xc sub r0, r1, r0 str r0, [sp, #0x10] ldr r0, [sp, #0x5c] add r1, sp, #0x10 str r0, [sp, #0x14] ldr r0, [sp, #0xc] bl FUN_02020044 ldr r0, [sp, #0xc] mov r1, #1 bl FUN_020200A0 b _021D7F10 _021D7F08: ldr r0, [sp, #0xc] mov r1, #0 bl FUN_020200A0 _021D7F10: add r0, r5, #0 mov r1, #1 bl MOD16_021D88D4 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r5, r1] str r1, [sp, #0x1c] mov r1, #0 bl FUN_02009E54 str r0, [sp, #0x24] mov r0, #0x3f mvn r0, r0 str r0, [sp, #0x2c] add r0, #0x38 str r0, [sp, #0x30] mov r0, #0 str r0, [sp, #0x34] str r0, [sp, #0x38] mov r0, #1 str r0, [sp, #0x3c] ldr r0, [sp, #4] str r6, [sp, #0x28] str r0, [sp, #0x40] ldr r2, [sp, #4] ldr r3, [r4] add r0, r5, #0 add r1, r7, #0 bl MOD16_021D7E14 add r6, r0, #0 ldr r0, [sp, #8] str r6, [sp, #0x20] str r0, [sp] ldr r3, [r4] add r0, r5, #0 add r1, sp, #0x1c mov r2, #0 bl MOD16_021D8870 add r0, r6, #0 bl MOD16_021DB3BC add sp, #0x44 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021D7E9C thumb_func_start MOD16_021D7F6C MOD16_021D7F6C: ; 0x021D7F6C mov r3, #0x6d lsl r3, r3, #2 add r0, r0, r3 ldr r3, _021D7F78 ; =MOD16_021D7F7C bx r3 nop _021D7F78: .word MOD16_021D7F7C thumb_func_end MOD16_021D7F6C thumb_func_start MOD16_021D7F7C MOD16_021D7F7C: ; 0x021D7F7C push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 lsl r0, r1, #0xc str r0, [sp] lsl r0, r2, #0xc str r0, [sp, #4] ldr r0, [r4] add r1, sp, #0 bl FUN_02020044 mov r0, #0x36 ldr r1, [sp] lsl r0, r0, #0xc sub r0, r1, r0 str r0, [sp] ldr r0, [r4, #4] add r1, sp, #0 bl FUN_02020044 ldr r0, [r4, #8] ldr r0, [r0] cmp r0, #0 beq _021D7FB0 bl FUN_02011938 _021D7FB0: add sp, #0xc pop {r3, r4, pc} thumb_func_end MOD16_021D7F7C thumb_func_start MOD16_021D7FB4 MOD16_021D7FB4: ; 0x021D7FB4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [sp, #0x28] ldr r5, [sp, #0x2c] cmp r2, #0xc9 bne _021D7FD4 str r5, [sp] mov r2, #0 str r2, [sp, #4] str r2, [sp, #8] add r2, r3, #0 add r3, r6, #0 bl MOD16_021D80CC add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021D7FD4: mov r7, #0x67 lsl r7, r7, #2 cmp r2, r7 bne _021D7FF0 str r5, [sp] mov r2, #0 str r2, [sp, #4] str r2, [sp, #8] add r2, r3, #0 add r3, r6, #0 bl MOD16_021D81A0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021D7FF0: add r4, r7, #1 cmp r2, r4 bne _021D800A str r5, [sp] mov r2, #0 str r2, [sp, #4] str r2, [sp, #8] add r2, r3, #0 add r3, r6, #0 bl MOD16_021D81E4 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021D800A: add r4, r7, #0 add r4, #0xa cmp r2, r4 bne _021D8026 str r5, [sp] mov r2, #0 str r2, [sp, #4] str r2, [sp, #8] add r2, r3, #0 add r3, r6, #0 bl MOD16_021D8110 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021D8026: add r4, r7, #0 add r4, #0xb cmp r2, r4 bne _021D8042 str r5, [sp] mov r2, #0 str r2, [sp, #4] str r2, [sp, #8] add r2, r3, #0 add r3, r6, #0 bl MOD16_021D8158 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021D8042: sub r7, #0x1a cmp r2, r7 bne _021D805C str r5, [sp] mov r2, #0 str r2, [sp, #4] str r2, [sp, #8] add r2, r3, #0 add r3, r6, #0 bl MOD16_021D822C add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021D805C: str r6, [sp] str r5, [sp, #4] mov r4, #0 str r4, [sp, #8] str r4, [sp, #0xc] bl MOD16_021D8070 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021D7FB4 thumb_func_start MOD16_021D8070 MOD16_021D8070: ; 0x021D8070 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r7, r0, #0 ldr r0, _021D80C8 ; =0x00000147 add r5, r2, #0 add r6, r1, #0 mov r4, #0 str r3, [sp, #0x18] cmp r5, r0 bne _021D808C add r0, r6, #0 bl MOD16_021D9A30 add r4, r0, #0 _021D808C: ldr r2, [sp, #0x38] add r0, r6, #0 add r1, r5, #0 bl MOD16_021D98DC add r6, r0, #0 mov r0, #0 mvn r0, r0 cmp r6, r0 beq _021D80C0 mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, [sp, #0x30] str r4, [sp, #8] str r0, [sp, #0xc] ldr r0, [sp, #0x34] ldr r3, [sp, #0x18] str r0, [sp, #0x10] ldr r0, [sp, #0x3c] add r1, r5, #0 str r0, [sp, #0x14] add r0, r7, #0 add r2, r6, #0 bl MOD16_021D8718 _021D80C0: add r0, r6, #0 add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021D80C8: .word 0x00000147 thumb_func_end MOD16_021D8070 thumb_func_start MOD16_021D80CC MOD16_021D80CC: ; 0x021D80CC push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 add r0, r1, #0 ldr r1, [sp, #0x34] add r7, r2, #0 add r5, r3, #0 bl MOD16_021D98EC add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 beq _021D810A mov r1, #0 lsl r0, r4, #0x18 str r1, [sp] lsr r0, r0, #0x18 str r0, [sp, #4] str r1, [sp, #8] ldr r0, [sp, #0x30] str r5, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [sp, #0x38] mov r1, #0xc9 str r0, [sp, #0x14] add r0, r6, #0 mov r2, #2 add r3, r7, #0 bl MOD16_021D8718 _021D810A: add r0, r4, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021D80CC thumb_func_start MOD16_021D8110 MOD16_021D8110: ; 0x021D8110 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 add r0, r1, #0 ldr r1, [sp, #0x34] add r7, r2, #0 add r5, r3, #0 bl MOD16_021D9904 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 beq _021D814C mov r2, #0 lsl r0, r4, #0x18 str r2, [sp] lsr r0, r0, #0x18 str r0, [sp, #4] str r2, [sp, #8] ldr r0, [sp, #0x30] str r5, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [sp, #0x38] ldr r1, _021D8154 ; =0x000001A6 str r0, [sp, #0x14] add r0, r6, #0 add r3, r7, #0 bl MOD16_021D8718 _021D814C: add r0, r4, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _021D8154: .word 0x000001A6 thumb_func_end MOD16_021D8110 thumb_func_start MOD16_021D8158 MOD16_021D8158: ; 0x021D8158 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 add r0, r1, #0 ldr r1, [sp, #0x34] add r7, r2, #0 add r5, r3, #0 bl MOD16_021D991C add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 beq _021D8194 mov r2, #0 lsl r0, r4, #0x18 str r2, [sp] lsr r0, r0, #0x18 str r0, [sp, #4] str r2, [sp, #8] ldr r0, [sp, #0x30] str r5, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [sp, #0x38] ldr r1, _021D819C ; =0x000001A7 str r0, [sp, #0x14] add r0, r6, #0 add r3, r7, #0 bl MOD16_021D8718 _021D8194: add r0, r4, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _021D819C: .word 0x000001A7 thumb_func_end MOD16_021D8158 thumb_func_start MOD16_021D81A0 MOD16_021D81A0: ; 0x021D81A0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 add r0, r1, #0 ldr r1, [sp, #0x34] add r7, r2, #0 add r5, r3, #0 bl MOD16_021D9934 add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 beq _021D81DE mov r2, #0 lsl r0, r4, #0x18 str r2, [sp] lsr r0, r0, #0x18 str r0, [sp, #4] str r2, [sp, #8] mov r1, #0x67 ldr r0, [sp, #0x30] str r5, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [sp, #0x38] lsl r1, r1, #2 str r0, [sp, #0x14] add r0, r6, #0 add r3, r7, #0 bl MOD16_021D8718 _021D81DE: add r0, r4, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021D81A0 thumb_func_start MOD16_021D81E4 MOD16_021D81E4: ; 0x021D81E4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 add r0, r1, #0 ldr r1, [sp, #0x34] add r7, r2, #0 add r5, r3, #0 bl MOD16_021D994C add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 beq _021D8222 mov r1, #0 lsl r0, r4, #0x18 str r1, [sp] lsr r0, r0, #0x18 str r0, [sp, #4] str r1, [sp, #8] ldr r0, [sp, #0x30] str r5, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [sp, #0x38] ldr r1, _021D8228 ; =0x0000019D str r0, [sp, #0x14] add r0, r6, #0 mov r2, #1 add r3, r7, #0 bl MOD16_021D8718 _021D8222: add r0, r4, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D8228: .word 0x0000019D thumb_func_end MOD16_021D81E4 thumb_func_start MOD16_021D822C MOD16_021D822C: ; 0x021D822C push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r0, #0 add r0, r1, #0 ldr r1, [sp, #0x34] add r7, r2, #0 add r5, r3, #0 bl MOD16_021D9A3C add r4, r0, #0 cmp r4, #0xf beq _021D8266 mov r1, #0 lsl r0, r4, #0x18 str r1, [sp] lsr r0, r0, #0x18 str r0, [sp, #4] str r1, [sp, #8] ldr r0, [sp, #0x30] str r5, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [sp, #0x38] ldr r1, _021D826C ; =0x00000182 str r0, [sp, #0x14] add r0, r6, #0 mov r2, #1 add r3, r7, #0 bl MOD16_021D8718 _021D8266: add r0, r4, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D826C: .word 0x00000182 thumb_func_end MOD16_021D822C thumb_func_start MOD16_021D8270 MOD16_021D8270: ; 0x021D8270 push {r3, r4, r5, lr} ldr r2, _021D8294 ; =0x00000266 add r4, r0, #0 add r3, r1, #0 mov r0, #0 mov r1, #0x1a bl NewMsgDataFromNarc add r5, r0, #0 add r1, r4, #0 bl NewString_ReadMsgData add r4, r0, #0 add r0, r5, #0 bl DestroyMsgData add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 _021D8294: .word 0x00000266 thumb_func_end MOD16_021D8270 thumb_func_start MOD16_021D8298 MOD16_021D8298: ; 0x021D8298 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, _021D83D4 ; =0x00001A1C add r0, r6, r0 bl MOD16_021DAC7C ldr r0, _021D83D8 ; =0x00001A0C ldr r0, [r6, r0] cmp r0, #0 bne _021D82B0 bl GF_AssertFail _021D82B0: ldr r0, _021D83D8 ; =0x00001A0C ldr r0, [r6, r0] bl FreeToHeap ldr r0, _021D83DC ; =0x00001A10 ldr r0, [r6, r0] cmp r0, #0 bne _021D82C4 bl GF_AssertFail _021D82C4: ldr r0, _021D83DC ; =0x00001A10 ldr r0, [r6, r0] bl FreeToHeap ldr r0, _021D83E0 ; =0x00001A14 ldr r0, [r6, r0] cmp r0, #0 bne _021D82D8 bl GF_AssertFail _021D82D8: ldr r0, _021D83E0 ; =0x00001A14 ldr r0, [r6, r0] bl FreeToHeap ldr r0, _021D83E4 ; =0x00001A18 ldr r0, [r6, r0] cmp r0, #0 bne _021D82EC bl GF_AssertFail _021D82EC: ldr r0, _021D83E4 ; =0x00001A18 ldr r0, [r6, r0] bl FreeToHeap mov r0, #0x1d lsl r0, r0, #8 ldr r0, [r6, r0] cmp r0, #0 bne _021D8302 bl GF_AssertFail _021D8302: mov r0, #0x1d lsl r0, r0, #8 ldr r0, [r6, r0] bl FreeToHeap ldr r0, _021D83E8 ; =0x00001D04 ldr r0, [r6, r0] cmp r0, #0 bne _021D8318 bl GF_AssertFail _021D8318: ldr r0, _021D83E8 ; =0x00001D04 ldr r0, [r6, r0] bl FreeToHeap ldr r0, _021D83EC ; =0x00001D08 ldr r0, [r6, r0] cmp r0, #0 bne _021D832C bl GF_AssertFail _021D832C: ldr r0, _021D83EC ; =0x00001D08 ldr r0, [r6, r0] bl FreeToHeap ldr r0, _021D83F0 ; =0x00001D0C ldr r0, [r6, r0] cmp r0, #0 bne _021D8340 bl GF_AssertFail _021D8340: ldr r0, _021D83F0 ; =0x00001D0C ldr r0, [r6, r0] bl FreeToHeap ldr r0, _021D83F4 ; =0x00001A30 ldr r4, _021D83F8 ; =0x021FF440 mov r7, #0 add r5, r6, r0 _021D8350: ldr r1, [r4] cmp r1, #0 beq _021D835A add r0, r5, #0 blx r1 _021D835A: add r7, r7, #1 add r4, r4, #4 add r5, #0x28 cmp r7, #0xa blt _021D8350 mov r0, #0x6f lsl r0, r0, #6 ldr r4, _021D83FC ; =0x021FF3F8 mov r7, #0 add r5, r6, r0 _021D836E: ldr r1, [r4] cmp r1, #0 beq _021D8378 add r0, r5, #0 blx r1 _021D8378: add r7, r7, #1 add r4, r4, #4 add r5, #0x28 cmp r7, #8 blt _021D836E add r0, r6, #0 add r0, #0xc bl MOD16_021D9A6C add r1, r0, #0 ldr r0, [r6, #8] bl FUN_0208A32C add r0, r6, #0 add r0, #0xc mov r1, #1 bl MOD16_021D9CD0 cmp r0, #1 bne _021D83B2 add r0, r6, #0 add r0, #0xc bl MOD16_021D9A84 add r1, r0, #0 ldr r0, [r6, #8] bl FUN_0208A334 b _021D83BA _021D83B2: ldr r0, [r6, #8] mov r1, #2 bl FUN_0208A334 _021D83BA: add r0, r6, #0 add r0, #0xc bl MOD16_021D98B0 ldr r0, _021D8400 ; =0x0000177C add r0, r6, r0 bl MOD16_021D8628 add r0, r6, #0 bl FreeToHeap pop {r3, r4, r5, r6, r7, pc} nop _021D83D4: .word 0x00001A1C _021D83D8: .word 0x00001A0C _021D83DC: .word 0x00001A10 _021D83E0: .word 0x00001A14 _021D83E4: .word 0x00001A18 _021D83E8: .word 0x00001D04 _021D83EC: .word 0x00001D08 _021D83F0: .word 0x00001D0C _021D83F4: .word 0x00001A30 _021D83F8: .word MOD16_021FF440 _021D83FC: .word MOD16_021FF3F8 _021D8400: .word 0x0000177C thumb_func_end MOD16_021D8298 thumb_func_start MOD16_021D8404 MOD16_021D8404: ; 0x021D8404 push {r4, lr} sub sp, #0x28 ldr r4, _021D8420 ; =0x021FF468 add r3, sp, #0 mov r2, #5 _021D840E: ldmia r4!, {r0, r1} stmia r3!, {r0, r1} sub r2, r2, #1 bne _021D840E add r0, sp, #0 bl GX_SetBanks add sp, #0x28 pop {r4, pc} .align 2, 0 _021D8420: .word MOD16_021FF468 thumb_func_end MOD16_021D8404 thumb_func_start MOD16_021D8424 MOD16_021D8424: ; 0x021D8424 push {r4, r5, lr} sub sp, #0x24 add r4, r0, #0 bl NNS_G2dInitOamManagerModule mov r0, #0 str r0, [sp] mov r1, #0x80 str r1, [sp, #4] str r0, [sp, #8] mov r3, #0x20 str r3, [sp, #0xc] add r2, r0, #0 str r4, [sp, #0x10] bl FUN_02009EAC ldr r5, _021D8474 ; =0x021FF3C8 add r3, sp, #0x14 add r2, r3, #0 ldmia r5!, {r0, r1} stmia r3!, {r0, r1} ldmia r5!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 ldr r1, _021D8478 ; =0x00200010 mov r2, #0x10 str r4, [sp, #0x20] bl FUN_0201D060 mov r0, #0x20 add r1, r4, #0 bl FUN_0201E00C bl FUN_0201D168 bl FUN_0201E0BC add sp, #0x24 pop {r4, r5, pc} nop _021D8474: .word MOD16_021FF3C8 _021D8478: .word 0x00200010 thumb_func_end MOD16_021D8424 thumb_func_start MOD16_021D847C MOD16_021D847C: ; 0x021D847C push {r4, lr} ldr r1, _021D8498 ; =0x00001A0C add r4, r0, #0 ldr r0, [r4, r1] add r1, #0x10 add r1, r4, r1 mov r2, #1 bl MOD16_021DA888 ldr r0, _021D849C ; =0x000019FC mov r1, #1 str r1, [r4, r0] pop {r4, pc} nop _021D8498: .word 0x00001A0C _021D849C: .word 0x000019FC thumb_func_end MOD16_021D847C thumb_func_start MOD16_021D84A0 MOD16_021D84A0: ; 0x021D84A0 push {r3, lr} bl NNS_G3dInit bl G3X_InitMtxStack ldr r0, _021D8500 ; =0x04000060 ldr r2, _021D8504 ; =0xFFFFCFFD ldrh r1, [r0] and r1, r2 strh r1, [r0] ldrh r3, [r0] add r1, r2, #2 and r3, r1 mov r1, #0x10 orr r1, r3 strh r1, [r0] ldrh r3, [r0] ldr r1, _021D8508 ; =0x0000CFFB and r1, r3 strh r1, [r0] add r1, r2, #2 ldrh r3, [r0] lsr r2, r2, #0x11 and r3, r1 mov r1, #8 orr r1, r3 strh r1, [r0] mov r0, #0 add r1, r0, #0 mov r3, #0x3f str r0, [sp] bl G3X_SetClearColor ldr r1, _021D850C ; =0x04000540 mov r0, #2 str r0, [r1] ldr r0, _021D8510 ; =0xBFFF0000 str r0, [r1, #0x40] mov r0, #1 add r1, r0, #0 bl NNS_GfdInitFrmTexVramManager mov r0, #1 lsl r0, r0, #0xe mov r1, #1 bl NNS_GfdInitFrmPlttVramManager pop {r3, pc} .align 2, 0 _021D8500: .word 0x04000060 _021D8504: .word 0xFFFFCFFD _021D8508: .word 0x0000CFFB _021D850C: .word 0x04000540 _021D8510: .word 0xBFFF0000 thumb_func_end MOD16_021D84A0 thumb_func_start MOD16_021D8514 MOD16_021D8514: ; 0x021D8514 push {r3, lr} bl NNS_GfdResetFrmTexVramState bl NNS_GfdResetFrmPlttVramState pop {r3, pc} thumb_func_end MOD16_021D8514 thumb_func_start MOD16_021D8520 MOD16_021D8520: ; 0x021D8520 mov r0, #0x46 bx lr thumb_func_end MOD16_021D8520 thumb_func_start MOD16_021D8524 MOD16_021D8524: ; 0x021D8524 add r0, r0, #3 bx lr thumb_func_end MOD16_021D8524 thumb_func_start MOD16_021D8528 MOD16_021D8528: ; 0x021D8528 mov r0, #0 bx lr thumb_func_end MOD16_021D8528 thumb_func_start MOD16_021D852C MOD16_021D852C: ; 0x021D852C mov r0, #2 bx lr thumb_func_end MOD16_021D852C thumb_func_start MOD16_021D8530 MOD16_021D8530: ; 0x021D8530 mov r0, #1 bx lr thumb_func_end MOD16_021D8530 thumb_func_start MOD16_021D8534 MOD16_021D8534: ; 0x021D8534 push {r3, r4, r5, lr} sub sp, #0x20 add r5, r0, #0 mov r0, #0x45 add r4, r1, #0 bl NARC_ctor mov r1, #0x9f lsl r1, r1, #2 str r0, [r5, r1] add r0, r4, #0 bl FUN_02016B94 str r0, [r5] mov r1, #1 mov r0, #0 str r0, [sp, #0x14] str r1, [sp, #0x10] str r1, [sp, #0x18] str r1, [sp, #0x1c] add r0, sp, #0x10 bl FUN_02016BBC ldr r0, [r5] add r1, r4, #0 bl MOD16_021D8DC0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021D8F60 add r1, r5, #0 mov r0, #0x80 add r1, #0x14 add r2, r4, #0 bl FUN_02008C9C mov r1, #0x4f lsl r1, r1, #2 str r0, [r5, r1] mov r0, #0x20 mov r1, #0 add r2, r4, #0 bl FUN_02008DEC mov r1, #5 lsl r1, r1, #6 str r0, [r5, r1] mov r0, #0x20 mov r1, #1 add r2, r4, #0 bl FUN_02008DEC mov r1, #0x51 lsl r1, r1, #2 str r0, [r5, r1] mov r0, #0x20 mov r1, #2 add r2, r4, #0 bl FUN_02008DEC mov r1, #0x52 lsl r1, r1, #2 str r0, [r5, r1] mov r0, #0x20 mov r1, #3 add r2, r4, #0 bl FUN_02008DEC mov r1, #0x53 lsl r1, r1, #2 str r0, [r5, r1] mov r0, #0x10 mov r1, #1 bl GX_EngineAToggleLayers mov r0, #0x10 mov r1, #1 bl GX_EngineBToggleLayers mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r5, r0] str r0, [sp] ldr r0, [r5] str r0, [sp, #4] mov r0, #0x10 str r0, [sp, #8] add r0, sp, #0 str r4, [sp, #0xc] bl MOD16_021DB228 mov r1, #0x15 lsl r1, r1, #4 str r0, [r5, r1] mov r0, #2 add r1, r4, #0 bl FUN_02002C50 add r0, r5, #0 add r1, r4, #0 bl MOD16_021D8F9C add r0, r5, #0 add r1, r4, #0 bl MOD16_021D9078 add r0, r5, #0 add r1, r4, #0 bl MOD16_021D921C add r0, r5, #0 add r1, r4, #0 bl MOD16_021D9400 add r0, r5, #0 add r1, r4, #0 bl MOD16_021D94EC add sp, #0x20 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D8534 thumb_func_start MOD16_021D8628 MOD16_021D8628: ; 0x021D8628 push {r4, lr} add r4, r0, #0 bl MOD16_021D92DC add r0, r4, #0 bl MOD16_021D91A0 add r0, r4, #0 bl MOD16_021D959C add r0, r4, #0 bl MOD16_021D94A4 add r0, r4, #0 bl MOD16_021D8F90 ldr r0, [r4] bl MOD16_021D8F2C ldr r0, [r4] bl FreeToHeap mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0201FD58 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] bl FUN_02008E2C mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02008E2C mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02008E2C mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02008E2C mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] bl MOD16_021DB288 mov r0, #2 bl FUN_02002CF8 add r0, r4, #0 bl MOD16_021D9044 mov r0, #0x9f lsl r0, r0, #2 ldr r0, [r4, r0] bl NARC_dtor mov r2, #0xa add r0, r4, #0 mov r1, #0 lsl r2, r2, #6 bl memset pop {r4, pc} thumb_func_end MOD16_021D8628 thumb_func_start MOD16_021D86B4 MOD16_021D86B4: ; 0x021D86B4 push {r4, lr} add r4, r0, #0 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0201FDEC bl NNS_G2dSetupSoftwareSpriteCamera mov r0, #0x55 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02006ED4 mov r0, #0x5a lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_02013D5C pop {r4, pc} thumb_func_end MOD16_021D86B4 thumb_func_start MOD16_021D86DC MOD16_021D86DC: ; 0x021D86DC push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0201AB60 mov r0, #0x55 lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_020081C4 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021D86DC thumb_func_start MOD16_021D86F4 MOD16_021D86F4: ; 0x021D86F4 push {r3, lr} mov r3, #0 bl MOD16_021D87BC pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021D86F4 thumb_func_start MOD16_021D8700 MOD16_021D8700: ; 0x021D8700 ldr r3, _021D8708 ; =MOD16_021D8804 mov r1, #0 bx r3 nop _021D8708: .word MOD16_021D8804 thumb_func_end MOD16_021D8700 thumb_func_start MOD16_021D870C MOD16_021D870C: ; 0x021D870C ldr r3, _021D8714 ; =MOD16_021D8810 mov r2, #0 bx r3 nop _021D8714: .word MOD16_021D8810 thumb_func_end MOD16_021D870C thumb_func_start MOD16_021D8718 MOD16_021D8718: ; 0x021D8718 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r5, r1, #0 mov r1, #0x56 lsl r1, r1, #2 str r0, [sp, #0x10] add r7, r0, r1 ldr r0, [sp, #0x54] add r4, r2, #0 lsl r0, r0, #2 str r0, [sp, #0x14] ldr r0, [r7, r0] add r6, r3, #0 cmp r0, #0 beq _021D873A bl FUN_02007534 _021D873A: mov r0, #0 mvn r0, r0 cmp r4, r0 bne _021D874E lsl r0, r5, #0x10 lsr r0, r0, #0x10 mov r1, #0 bl GetGenderBySpeciesAndPersonality add r4, r0, #0 _021D874E: ldr r0, [sp, #0x40] lsl r1, r5, #0x10 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp] add r0, sp, #0x30 ldrb r0, [r0, #0x14] lsl r2, r4, #0x18 lsl r3, r6, #0x18 str r0, [sp, #4] ldr r0, [sp, #0x48] lsr r1, r1, #0x10 str r0, [sp, #8] add r0, sp, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_02068C00 cmp r6, #0 bne _021D8792 ldr r0, [sp, #0x48] lsl r1, r4, #0x18 str r0, [sp] add r3, sp, #0x30 lsl r0, r5, #0x10 lsl r2, r6, #0x18 ldrb r3, [r3, #0x14] lsr r0, r0, #0x10 lsr r1, r1, #0x18 lsr r2, r2, #0x18 bl FUN_02068E88 add r3, r0, #0 b _021D8794 _021D8792: mov r3, #0 _021D8794: mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] str r0, [sp, #0xc] mov r1, #0x55 ldr r4, [sp, #0x50] ldr r0, [sp, #0x10] lsl r1, r1, #2 ldr r0, [r0, r1] ldr r2, [sp, #0x4c] add r1, sp, #0x18 add r3, r4, r3 bl FUN_020073A0 ldr r1, [sp, #0x14] str r0, [r7, r1] add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021D8718 thumb_func_start MOD16_021D87BC MOD16_021D87BC: ; 0x021D87BC push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 mov r1, #0x56 lsl r1, r1, #2 add r5, r0, r1 lsl r4, r3, #2 add r7, r2, #0 ldr r0, [r5, r4] mov r1, #0 add r2, r6, #0 bl FUN_02007558 ldr r0, [r5, r4] mov r1, #1 add r2, r7, #0 bl FUN_02007558 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021D87BC thumb_func_start MOD16_021D87E0 MOD16_021D87E0: ; 0x021D87E0 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 mov r1, #0x56 lsl r1, r1, #2 add r5, r0, r1 lsl r4, r3, #2 ldr r0, [r5, r4] mov r1, #0 add r7, r2, #0 bl FUN_0200782C str r0, [r6] ldr r0, [r5, r4] mov r1, #1 bl FUN_0200782C str r0, [r7] pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021D87E0 thumb_func_start MOD16_021D8804 MOD16_021D8804: ; 0x021D8804 lsl r1, r1, #2 add r1, r0, r1 mov r0, #0x56 lsl r0, r0, #2 ldr r0, [r1, r0] bx lr thumb_func_end MOD16_021D8804 thumb_func_start MOD16_021D8810 MOD16_021D8810: ; 0x021D8810 push {r3, lr} lsl r2, r2, #2 add r2, r0, r2 mov r0, #0x56 lsl r0, r0, #2 ldr r0, [r2, r0] cmp r0, #0 beq _021D8836 cmp r1, #1 bne _021D882E mov r1, #6 mov r2, #0 bl FUN_02007558 pop {r3, pc} _021D882E: mov r1, #6 mov r2, #1 bl FUN_02007558 _021D8836: pop {r3, pc} thumb_func_end MOD16_021D8810 thumb_func_start MOD16_021D8838 MOD16_021D8838: ; 0x021D8838 push {r4, lr} add r4, r0, #0 mov r0, #0x6d lsl r0, r0, #2 ldr r0, [r4, r0] cmp r0, #0 bne _021D884A bl GF_AssertFail _021D884A: mov r0, #0x6d lsl r0, r0, #2 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021D8838 thumb_func_start MOD16_021D8854 MOD16_021D8854: ; 0x021D8854 push {r4, lr} add r4, r0, #0 mov r0, #0x6e lsl r0, r0, #2 ldr r0, [r4, r0] cmp r0, #0 bne _021D8866 bl GF_AssertFail _021D8866: mov r0, #0x6e lsl r0, r0, #2 ldr r0, [r4, r0] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021D8854 thumb_func_start MOD16_021D8870 MOD16_021D8870: ; 0x021D8870 push {r3, r4, lr} sub sp, #4 ldr r4, [sp, #0x10] str r4, [sp] mov r4, #0x6d lsl r4, r4, #2 add r0, r0, r4 bl MOD16_021D8888 add sp, #4 pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021D8870 thumb_func_start MOD16_021D8888 MOD16_021D8888: ; 0x021D8888 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #0x28] add r6, r1, #0 add r4, r2, #0 cmp r3, r0 bne _021D88AA ldr r1, [sp, #0x10] ldr r0, [r5, #0x2c] cmp r1, r0 bne _021D88AA ldr r0, [r5, #8] mov r1, #1 ldr r0, [r0] bl FUN_020119D0 pop {r4, r5, r6, pc} _021D88AA: ldr r0, [sp, #0x10] str r3, [r5, #0x28] str r0, [r5, #0x2c] ldr r0, [r5, #8] cmp r0, #0 beq _021D88BA bl MOD16_021DB338 _021D88BA: cmp r4, #0 beq _021D88CA add r0, r6, #0 add r1, r4, #0 bl MOD16_021DB2D4 str r0, [r5, #8] pop {r4, r5, r6, pc} _021D88CA: add r0, r6, #0 bl MOD16_021DB2BC str r0, [r5, #8] pop {r4, r5, r6, pc} thumb_func_end MOD16_021D8888 thumb_func_start MOD16_021D88D4 MOD16_021D88D4: ; 0x021D88D4 push {r3, r4, r5, lr} add r5, r1, #0 add r4, r0, #0 cmp r5, #3 ble _021D88E2 bl GF_AssertFail _021D88E2: lsl r0, r5, #2 add r1, r4, r0 mov r0, #7 lsl r0, r0, #6 ldr r0, [r1, r0] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D88D4 thumb_func_start MOD16_021D88F0 MOD16_021D88F0: ; 0x021D88F0 push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x6d lsl r0, r0, #2 ldr r0, [r5, r0] add r4, r1, #0 bl FUN_02020398 mov r0, #0x6e lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r4, #0 bl FUN_02020398 mov r0, #0x6f lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r4, #0 ldr r0, [r0] bl FUN_02011AF0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D88F0 thumb_func_start MOD16_021D891C MOD16_021D891C: ; 0x021D891C push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x6d add r4, r1, #0 lsl r0, r0, #2 lsl r1, r4, #0x18 ldr r0, [r5, r0] lsr r1, r1, #0x18 bl FUN_02020238 mov r0, #0x6e lsl r0, r0, #2 lsl r1, r4, #0x18 ldr r0, [r5, r0] lsr r1, r1, #0x18 bl FUN_02020238 mov r0, #0x6f lsl r0, r0, #2 ldr r0, [r5, r0] lsl r1, r4, #0x18 ldr r0, [r0] lsr r1, r1, #0x18 bl FUN_02011A00 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D891C thumb_func_start MOD16_021D8950 MOD16_021D8950: ; 0x021D8950 push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x6d lsl r0, r0, #2 ldr r0, [r5, r0] add r4, r1, #0 cmp r0, #0 beq _021D8964 bl FUN_020200A0 _021D8964: mov r0, #0x6e lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, #0 beq _021D8974 add r1, r4, #0 bl FUN_020200A0 _021D8974: mov r0, #0x6f lsl r0, r0, #2 ldr r0, [r5, r0] ldr r0, [r0] cmp r0, #0 beq _021D8986 add r1, r4, #0 bl FUN_020119D0 _021D8986: pop {r3, r4, r5, pc} thumb_func_end MOD16_021D8950 thumb_func_start MOD16_021D8988 MOD16_021D8988: ; 0x021D8988 push {r4, r5} ldr r4, [sp, #0x18] ldr r5, [sp, #0x14] str r4, [r0] ldr r4, [sp, #0x10] str r4, [r0, #4] mov r4, #0x20 orr r4, r5 str r4, [r0, #8] str r2, [r0, #0xc] sub r2, r3, r2 str r2, [r0, #0x10] ldr r3, [sp, #8] ldr r2, [sp, #0xc] str r3, [r0, #0x14] sub r2, r2, r3 str r2, [r0, #0x18] str r1, [r0, #0x1c] mov r1, #0 str r1, [r0, #0x20] pop {r4, r5} bx lr thumb_func_end MOD16_021D8988 thumb_func_start MOD16_021D89B4 MOD16_021D89B4: ; 0x021D89B4 push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 bl MOD16_021D8A7C cmp r0, #0 bne _021D8A02 add r0, r5, #0 bl MOD16_021D8A14 add r4, r0, #0 add r0, r5, #0 bl MOD16_021D8A48 ldr r1, [r5] cmp r1, #0 bne _021D89EA mov r1, #0 str r1, [sp] str r0, [sp, #4] ldr r0, _021D8A0C ; =0x04000050 ldr r1, [r5, #4] ldr r2, [r5, #8] add r3, r4, #0 bl G2x_SetBlendBrightnessExt_ b _021D89FC _021D89EA: mov r1, #0 str r1, [sp] str r0, [sp, #4] ldr r0, _021D8A10 ; =0x04001050 ldr r1, [r5, #4] ldr r2, [r5, #8] add r3, r4, #0 bl G2x_SetBlendBrightnessExt_ _021D89FC: ldr r0, [r5, #0x20] add r0, r0, #1 str r0, [r5, #0x20] _021D8A02: add r0, r5, #0 bl MOD16_021D8A7C add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 _021D8A0C: .word 0x04000050 _021D8A10: .word 0x04001050 thumb_func_end MOD16_021D89B4 thumb_func_start MOD16_021D8A14 MOD16_021D8A14: ; 0x021D8A14 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x18] ldr r2, [r4, #0x20] lsl r0, r0, #0xc lsl r2, r2, #0xc asr r1, r0, #0x1f asr r3, r2, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 ldr r1, [r4, #0x1c] lsl r1, r1, #0xc bl FX_Div asr r1, r0, #0xc ldr r0, [r4, #0x14] add r0, r1, r0 pop {r4, pc} thumb_func_end MOD16_021D8A14 thumb_func_start MOD16_021D8A48 MOD16_021D8A48: ; 0x021D8A48 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x10] ldr r2, [r4, #0x20] lsl r0, r0, #0xc lsl r2, r2, #0xc asr r1, r0, #0x1f asr r3, r2, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 ldr r1, [r4, #0x1c] lsl r1, r1, #0xc bl FX_Div asr r1, r0, #0xc ldr r0, [r4, #0xc] add r0, r1, r0 pop {r4, pc} thumb_func_end MOD16_021D8A48 thumb_func_start MOD16_021D8A7C MOD16_021D8A7C: ; 0x021D8A7C ldr r1, [r0, #0x20] ldr r0, [r0, #0x1c] cmp r1, r0 ble _021D8A88 mov r0, #1 bx lr _021D8A88: mov r0, #0 bx lr thumb_func_end MOD16_021D8A7C thumb_func_start MOD16_021D8A8C MOD16_021D8A8C: ; 0x021D8A8C push {r3, r4, r5, lr} add r5, r0, #0 add r0, r1, #0 bl MOD16_021D8A48 neg r4, r0 add r0, r5, #0 bl MOD16_021D8700 mov r3, #0 add r1, r4, #0 add r2, r4, #0 str r3, [sp] bl FUN_02007E68 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D8A8C thumb_func_start MOD16_021D8AAC MOD16_021D8AAC: ; 0x021D8AAC push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 add r4, r2, #0 add r0, r1, #0 bl MOD16_021D8A48 neg r6, r0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021D8804 mov r3, #0 add r1, r6, #0 add r2, r6, #0 str r3, [sp] bl FUN_02007E68 add sp, #4 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021D8AAC thumb_func_start MOD16_021D8AD4 MOD16_021D8AD4: ; 0x021D8AD4 push {r4, r5, lr} sub sp, #0x14 add r4, r1, #0 add r5, r0, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021DB540 add r0, r5, #0 add r1, sp, #8 add r2, sp, #4 bl MOD16_021DB568 ldr r0, [sp, #4] str r0, [sp] ldr r1, [sp, #0x10] ldr r2, [sp, #0xc] ldr r3, [sp, #8] add r0, r4, #0 bl MOD16_021D8B04 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D8AD4 thumb_func_start MOD16_021D8B04 MOD16_021D8B04: ; 0x021D8B04 push {r3, r4, lr} sub sp, #4 ldr r4, [sp, #0x10] str r4, [sp] bl MOD16_021D96B4 add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021D8B04 thumb_func_start MOD16_021D8B14 MOD16_021D8B14: ; 0x021D8B14 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 mov r4, #0 _021D8B1C: ldr r0, [r5] add r1, r6, #0 bl FUN_020200A0 add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _021D8B1C pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021D8B14 thumb_func_start MOD16_021D8B30 MOD16_021D8B30: ; 0x021D8B30 ldr r3, _021D8B38 ; =FUN_02020128 ldr r0, [r0] bx r3 nop _021D8B38: .word FUN_02020128 thumb_func_end MOD16_021D8B30 thumb_func_start MOD16_021D8B3C MOD16_021D8B3C: ; 0x021D8B3C str r1, [r0, #0x30] cmp r1, #0 bne _021D8B46 mov r1, #0 str r1, [r0, #0x34] _021D8B46: bx lr thumb_func_end MOD16_021D8B3C thumb_func_start MOD16_021D8B48 MOD16_021D8B48: ; 0x021D8B48 push {r4, r5, lr} sub sp, #0x14 add r4, r1, #0 add r5, r0, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021DB540 add r0, r5, #0 add r1, sp, #8 add r2, sp, #4 bl MOD16_021DB568 ldr r0, [sp, #4] str r0, [sp] ldr r1, [sp, #0x10] ldr r2, [sp, #0xc] ldr r3, [sp, #8] add r0, r4, #0 bl MOD16_021D8B78 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D8B48 thumb_func_start MOD16_021D8B78 MOD16_021D8B78: ; 0x021D8B78 push {r3, r4, r5, r6, r7, lr} add r7, r3, #0 mov r3, #0x81 add r4, r1, #0 add r5, r0, #0 lsl r3, r3, #2 add r6, r2, #0 str r4, [r5, r3] add r0, r3, #4 str r6, [r5, r0] add r0, r3, #0 add r0, #8 str r7, [r5, r0] add r0, r3, #0 ldr r1, [sp, #0x18] add r0, #0xc str r1, [r5, r0] add r0, r3, #0 add r0, #0xc ldr r0, [r5, r0] add r2, r3, #4 str r0, [sp] add r0, r3, #0 ldr r1, [r5, r3] add r3, #8 sub r0, #0x20 ldr r2, [r5, r2] ldr r3, [r5, r3] add r0, r5, r0 bl MOD16_021D9668 mov r0, #0x26 lsl r0, r0, #4 str r4, [r5, r0] add r1, r0, #4 str r6, [r5, r1] add r1, r0, #0 add r1, #8 str r7, [r5, r1] add r1, r0, #0 ldr r2, [sp, #0x18] add r1, #0xc str r2, [r5, r1] mov r1, #0 add r0, #0x10 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021D8B78 thumb_func_start MOD16_021D8BD8 MOD16_021D8BD8: ; 0x021D8BD8 str r1, [r0] str r3, [r0, #4] str r1, [r0, #8] str r3, [r0, #0xc] sub r1, r2, r1 str r1, [r0, #0x10] ldr r1, [sp] sub r1, r1, r3 str r1, [r0, #0x14] ldr r1, [sp, #4] str r1, [r0, #0x1c] mov r1, #0 str r1, [r0, #0x18] bx lr thumb_func_end MOD16_021D8BD8 thumb_func_start MOD16_021D8BF4 MOD16_021D8BF4: ; 0x021D8BF4 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x10] ldr r2, [r5, #0x18] lsl r0, r0, #0xc lsl r2, r2, #0xc asr r1, r0, #0x1f asr r3, r2, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 ldr r1, [r5, #0x1c] lsl r1, r1, #0xc bl FX_Div add r4, r0, #0 ldr r0, [r5, #0x14] ldr r2, [r5, #0x18] lsl r0, r0, #0xc lsl r2, r2, #0xc asr r1, r0, #0x1f asr r3, r2, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 ldr r1, [r5, #0x1c] lsl r1, r1, #0xc bl FX_Div ldr r1, [r5, #8] asr r2, r4, #0xc add r1, r2, r1 str r1, [r5] asr r1, r0, #0xc ldr r0, [r5, #0xc] add r0, r1, r0 str r0, [r5, #4] ldr r0, [r5, #0x18] ldr r1, [r5, #0x1c] add r0, r0, #1 cmp r0, r1 bgt _021D8C6A str r0, [r5, #0x18] mov r0, #0 pop {r3, r4, r5, pc} _021D8C6A: str r1, [r5, #0x18] mov r0, #1 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D8BF4 thumb_func_start MOD16_021D8C70 MOD16_021D8C70: ; 0x021D8C70 mov r1, #0x9f lsl r1, r1, #2 ldr r0, [r0, r1] bx lr thumb_func_end MOD16_021D8C70 thumb_func_start MOD16_021D8C78 MOD16_021D8C78: ; 0x021D8C78 push {r4, r5, r6, lr} add r5, r2, #0 mov r2, #0x9f lsl r2, r2, #2 add r6, r3, #0 ldr r0, [r0, r2] add r2, r6, #0 bl NARC_AllocAndReadWholeMember add r4, r0, #0 beq _021D8CB0 cmp r5, #0 beq _021D8CB0 ldr r1, [r4] add r0, r6, #0 lsr r1, r1, #8 bl AllocFromHeap add r5, r0, #0 beq _021D8CAE add r0, r4, #0 add r1, r5, #0 bl MI_UncompressLZ8 add r0, r4, #0 bl FreeToHeap _021D8CAE: add r4, r5, #0 _021D8CB0: add r0, r4, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021D8C78 thumb_func_start MOD16_021D8CB4 MOD16_021D8CB4: ; 0x021D8CB4 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r6, r2, #0 add r5, r3, #0 ldr r2, [sp, #0x28] ldr r3, [sp, #0x2c] ldr r4, [sp, #0x24] bl MOD16_021D8C78 add r7, r0, #0 beq _021D8CF6 add r1, sp, #4 bl NNS_G2dGetUnpackedBGCharacterData cmp r0, #0 beq _021D8CF0 cmp r4, #0 bne _021D8CDC ldr r0, [sp, #4] ldr r4, [r0, #0x10] _021D8CDC: ldr r0, [sp, #0x20] lsl r1, r5, #0x18 str r0, [sp] ldr r2, [sp, #4] add r0, r6, #0 ldr r2, [r2, #0x14] lsr r1, r1, #0x18 add r3, r4, #0 bl FUN_02017E14 _021D8CF0: add r0, r7, #0 bl FreeToHeap _021D8CF6: add r0, r4, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021D8CB4 thumb_func_start MOD16_021D8CFC MOD16_021D8CFC: ; 0x021D8CFC push {r3, r4, r5, r6, r7, lr} add r6, r3, #0 add r5, r2, #0 ldr r3, [sp, #0x1c] mov r2, #0 ldr r4, [sp, #0x18] bl MOD16_021D8C78 add r7, r0, #0 beq _021D8D42 add r1, sp, #0 bl NNS_G2dGetUnpackedPaletteData cmp r0, #0 beq _021D8D3C cmp r4, #0 bne _021D8D22 ldr r0, [sp] ldr r4, [r0, #8] _021D8D22: ldr r0, [sp] add r1, r4, #0 ldr r0, [r0, #0xc] bl DC_FlushRange ldr r0, [sp] add r2, r4, #0 ldr r3, _021D8D44 ; =0x021FF548 lsl r4, r5, #2 ldr r0, [r0, #0xc] ldr r3, [r3, r4] add r1, r6, #0 blx r3 _021D8D3C: add r0, r7, #0 bl FreeToHeap _021D8D42: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D8D44: .word MOD16_021FF548 thumb_func_end MOD16_021D8CFC thumb_func_start MOD16_021D8D48 MOD16_021D8D48: ; 0x021D8D48 push {r3, r4, r5, lr} add r5, r3, #0 ldr r3, [sp, #0x10] bl MOD16_021D8C78 add r4, r0, #0 beq _021D8D6A add r1, r5, #0 bl NNS_G2dGetUnpackedScreenData cmp r0, #0 bne _021D8D6A add r0, r4, #0 bl FreeToHeap mov r0, #0 pop {r3, r4, r5, pc} _021D8D6A: add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D8D48 thumb_func_start MOD16_021D8D70 MOD16_021D8D70: ; 0x021D8D70 push {r3, r4, r5, lr} add r5, r2, #0 mov r2, #0 bl MOD16_021D8C78 add r4, r0, #0 beq _021D8D92 add r1, r5, #0 bl NNS_G2dGetUnpackedPaletteData cmp r0, #0 bne _021D8D92 add r0, r4, #0 bl FreeToHeap mov r0, #0 pop {r3, r4, r5, pc} _021D8D92: add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D8D70 thumb_func_start MOD16_021D8D98 MOD16_021D8D98: ; 0x021D8D98 push {r3, r4, r5, lr} add r5, r3, #0 ldr r3, [sp, #0x10] bl MOD16_021D8C78 add r4, r0, #0 beq _021D8DBA add r1, r5, #0 bl NNS_G2dGetUnpackedBGCharacterData cmp r0, #0 bne _021D8DBA add r0, r4, #0 bl FreeToHeap mov r0, #0 pop {r3, r4, r5, pc} _021D8DBA: add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D8D98 thumb_func_start MOD16_021D8DC0 MOD16_021D8DC0: ; 0x021D8DC0 push {r4, r5, r6, lr} sub sp, #0xa8 ldr r6, _021D8F14 ; =0x021FF510 add r3, sp, #0x8c add r5, r0, #0 add r4, r1, #0 ldmia r6!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r6] mov r1, #1 str r0, [r3] add r0, r5, #0 mov r3, #0 bl FUN_02016C18 mov r0, #1 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #1 bl FUN_02018744 ldr r6, _021D8F18 ; =0x021FF4F4 add r3, sp, #0x70 ldmia r6!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r6] mov r1, #2 str r0, [r3] add r0, r5, #0 mov r3, #0 bl FUN_02016C18 mov r0, #2 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #2 bl FUN_02018744 mov r0, #0 mov r1, #2 bl FUN_020178BC mov r0, #1 add r1, r0, #0 bl GX_EngineAToggleLayers ldr r6, _021D8F1C ; =0x021FF4D8 add r3, sp, #0x54 ldmia r6!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r6] mov r1, #3 str r0, [r3] add r0, r5, #0 mov r3, #0 bl FUN_02016C18 mov r0, #3 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #3 bl FUN_02018744 ldr r6, _021D8F20 ; =0x021FF4BC add r3, sp, #0x38 ldmia r6!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r6] mov r1, #5 str r0, [r3] add r0, r5, #0 mov r3, #0 bl FUN_02016C18 mov r0, #5 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #5 bl FUN_02018744 ldr r6, _021D8F24 ; =0x021FF4A0 add r3, sp, #0x1c ldmia r6!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r6] mov r1, #6 str r0, [r3] add r0, r5, #0 mov r3, #0 bl FUN_02016C18 mov r0, #6 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #6 bl FUN_02018744 ldr r6, _021D8F28 ; =0x021FF52C add r3, sp, #0 ldmia r6!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldmia r6!, {r0, r1} stmia r3!, {r0, r1} ldr r0, [r6] mov r1, #7 str r0, [r3] add r0, r5, #0 mov r3, #1 bl FUN_02016C18 mov r0, #7 mov r1, #0x40 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #7 bl FUN_02018744 add sp, #0xa8 pop {r4, r5, r6, pc} .align 2, 0 _021D8F14: .word MOD16_021FF510 _021D8F18: .word MOD16_021FF4F4 _021D8F1C: .word MOD16_021FF4D8 _021D8F20: .word MOD16_021FF4BC _021D8F24: .word MOD16_021FF4A0 _021D8F28: .word MOD16_021FF52C thumb_func_end MOD16_021D8DC0 thumb_func_start MOD16_021D8F2C MOD16_021D8F2C: ; 0x021D8F2C push {r4, lr} add r4, r0, #0 mov r1, #1 bl FUN_020178A0 add r0, r4, #0 mov r1, #2 bl FUN_020178A0 add r0, r4, #0 mov r1, #3 bl FUN_020178A0 add r0, r4, #0 mov r1, #5 bl FUN_020178A0 add r0, r4, #0 mov r1, #7 bl FUN_020178A0 add r0, r4, #0 mov r1, #6 bl FUN_020178A0 pop {r4, pc} thumb_func_end MOD16_021D8F2C thumb_func_start MOD16_021D8F60 MOD16_021D8F60: ; 0x021D8F60 push {r3, r4, lr} sub sp, #0x14 mov r3, #0 add r4, r0, #0 str r3, [sp] mov r0, #0x20 str r0, [sp, #4] str r0, [sp, #8] str r3, [sp, #0xc] str r3, [sp, #0x10] ldr r0, [r4] add r1, r4, #4 mov r2, #1 bl FUN_02019064 add r0, r4, #4 mov r1, #0 bl FillWindowPixelBuffer add r0, r4, #4 bl CopyWindowToVram add sp, #0x14 pop {r3, r4, pc} thumb_func_end MOD16_021D8F60 thumb_func_start MOD16_021D8F90 MOD16_021D8F90: ; 0x021D8F90 ldr r3, _021D8F98 ; =FUN_02019178 add r0, r0, #4 bx r3 nop _021D8F98: .word FUN_02019178 thumb_func_end MOD16_021D8F90 thumb_func_start MOD16_021D8F9C MOD16_021D8F9C: ; 0x021D8F9C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r7, r1, #0 add r5, r0, #0 add r0, r7, #0 bl FUN_02006D98 mov r1, #0x55 lsl r1, r1, #2 str r0, [r5, r1] ldr r3, _021D9030 ; =NNS_GfdDefaultFuncAllocTexVram mov r0, #2 mov r1, #0 ldr r3, [r3] lsl r0, r0, #0xe add r2, r1, #0 blx r3 ldr r3, _021D9034 ; =NNS_GfdDefaultFuncAllocPlttVram add r4, r0, #0 ldr r3, [r3] mov r0, #0x80 mov r1, #0 mov r2, #1 blx r3 ldr r2, _021D9038 ; =0x7FFF0000 add r6, r0, #0 mov r0, #0x55 lsl r0, r0, #2 and r2, r4 lsl r1, r4, #0x10 lsr r2, r2, #0x10 ldr r0, [r5, r0] lsr r1, r1, #0xd lsl r2, r2, #4 bl FUN_020081A8 ldr r2, _021D903C ; =0xFFFF0000 mov r0, #0x55 lsl r0, r0, #2 and r2, r6 lsl r1, r6, #0x10 lsr r2, r2, #0x10 ldr r0, [r5, r0] lsr r1, r1, #0xd lsl r2, r2, #3 bl FUN_020081B4 mov r2, #0 mov r0, #0x56 add r3, r5, #0 add r1, r2, #0 lsl r0, r0, #2 _021D9004: add r2, r2, #1 str r1, [r3, r0] add r3, r3, #4 cmp r2, #4 blt _021D9004 ldr r4, _021D9040 ; =0x021FF490 add r3, sp, #0 add r2, r3, #0 ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 str r7, [sp, #0xc] bl FUN_02013CD4 mov r1, #0x5a lsl r1, r1, #2 str r0, [r5, r1] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021D9030: .word NNS_GfdDefaultFuncAllocTexVram _021D9034: .word NNS_GfdDefaultFuncAllocPlttVram _021D9038: .word 0x7FFF0000 _021D903C: .word 0xFFFF0000 _021D9040: .word MOD16_021FF490 thumb_func_end MOD16_021D8F9C thumb_func_start MOD16_021D9044 MOD16_021D9044: ; 0x021D9044 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r6, #0x56 mov r4, #0 add r5, r7, #0 lsl r6, r6, #2 _021D9050: ldr r0, [r5, r6] cmp r0, #0 beq _021D905A bl FUN_02007534 _021D905A: add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _021D9050 mov r0, #0x55 lsl r0, r0, #2 ldr r0, [r7, r0] bl FUN_020072E8 mov r0, #0x5a lsl r0, r0, #2 ldr r0, [r7, r0] bl FUN_02013D18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021D9044 thumb_func_start MOD16_021D9078 MOD16_021D9078: ; 0x021D9078 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r6, r1, #0 mov r1, #0x6d add r5, r0, #0 lsl r1, r1, #2 add r4, r5, r1 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021D9114 ; =0x00000BB8 mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r6, [sp, #8] lsl r0, r0, #6 ldr r0, [r5, r0] add r1, r7, #0 mov r2, #0x4e bl FUN_020091E0 str r0, [r4, #0xc] bl FUN_02009B04 ldr r0, [r4, #0xc] bl FUN_02009474 ldr r0, _021D9114 ; =0x00000BB8 add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x51 str r6, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r5, r0] mov r2, #3 mov r3, #0 bl FUN_02009298 str r0, [r4, #0x10] bl FUN_02009D68 ldr r0, [r4, #0x10] bl FUN_02009474 ldr r0, _021D9114 ; =0x00000BB8 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r6, [sp, #8] lsl r0, r0, #2 ldr r0, [r5, r0] mov r2, #0x4c mov r3, #1 bl FUN_02009358 str r0, [r4, #0x14] ldr r0, _021D9114 ; =0x00000BB8 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r6, [sp, #8] lsl r0, r0, #2 ldr r0, [r5, r0] mov r2, #0x4d mov r3, #1 bl FUN_02009358 str r0, [r4, #0x18] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D9114: .word 0x00000BB8 thumb_func_end MOD16_021D9078 thumb_func_start MOD16_021D9118 MOD16_021D9118: ; 0x021D9118 push {r4, r5, r6, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, _021D919C ; =0x00000BB8 mov r3, #1 str r0, [sp] add r6, r2, #0 str r3, [sp, #4] add r4, r1, #0 str r6, [sp, #8] ldr r0, [r4] mov r1, #0x45 mov r2, #0x4e bl FUN_02008F34 str r0, [r5, #0xc] bl FUN_02009B04 ldr r0, [r5, #0xc] bl FUN_02009474 ldr r0, _021D919C ; =0x00000BB8 mov r1, #0x45 str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] str r6, [sp, #0xc] ldr r0, [r4, #4] mov r2, #3 mov r3, #0 bl FUN_02008FEC str r0, [r5, #0x10] bl FUN_02009D68 ldr r0, [r5, #0x10] bl FUN_02009474 ldr r0, _021D919C ; =0x00000BB8 mov r1, #0x45 str r0, [sp] mov r0, #2 str r0, [sp, #4] str r6, [sp, #8] ldr r0, [r4, #8] mov r2, #0x4c mov r3, #1 bl FUN_020090AC str r0, [r5, #0x14] ldr r0, _021D919C ; =0x00000BB8 mov r1, #0x45 str r0, [sp] mov r0, #3 str r0, [sp, #4] str r6, [sp, #8] ldr r0, [r4, #0xc] mov r2, #0x4d mov r3, #1 bl FUN_020090AC str r0, [r5, #0x18] add sp, #0x10 pop {r4, r5, r6, pc} nop _021D919C: .word 0x00000BB8 thumb_func_end MOD16_021D9118 thumb_func_start MOD16_021D91A0 MOD16_021D91A0: ; 0x021D91A0 push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x6d lsl r0, r0, #2 add r4, r5, r0 ldr r0, [r4, #0xc] bl FUN_02009C0C ldr r0, [r4, #0x10] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r5, r0] ldr r1, [r4, #0xc] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r1, [r4, #0x10] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r1, [r4, #0x14] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r1, [r4, #0x18] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D91A0 thumb_func_start MOD16_021D91E8 MOD16_021D91E8: ; 0x021D91E8 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0xc] add r4, r1, #0 bl FUN_02009C0C ldr r0, [r5, #0x10] bl FUN_02009E04 ldr r0, [r4] ldr r1, [r5, #0xc] bl FUN_02009490 ldr r0, [r4, #4] ldr r1, [r5, #0x10] bl FUN_02009490 ldr r0, [r4, #8] ldr r1, [r5, #0x14] bl FUN_02009490 ldr r0, [r4, #0xc] ldr r1, [r5, #0x18] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D91E8 thumb_func_start MOD16_021D921C MOD16_021D921C: ; 0x021D921C push {r3, r4, r5, lr} sub sp, #0x70 add r4, r1, #0 ldr r1, _021D92D8 ; =0x00000BB8 add r5, r0, #0 mov r0, #0 str r1, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r3, #5 str r0, [sp, #0x10] lsl r3, r3, #6 ldr r2, [r5, r3] str r2, [sp, #0x14] add r2, r3, #4 ldr r2, [r5, r2] str r2, [sp, #0x18] add r2, r3, #0 add r2, #8 ldr r2, [r5, r2] add r3, #0xc str r2, [sp, #0x1c] ldr r2, [r5, r3] add r3, r1, #0 str r2, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] add r0, sp, #0x4c add r2, r1, #0 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #0 str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #1 str r0, [sp, #0x44] add r0, sp, #0x2c str r1, [sp, #0x40] str r4, [sp, #0x48] str r1, [sp, #0x34] str r1, [sp, #0x38] bl FUN_0201FF84 mov r1, #0x6d lsl r1, r1, #2 str r0, [r5, r1] ldr r0, [r5, r1] mov r1, #0 bl FUN_020200A0 mov r0, #0x6d lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_02020310 mov r0, #0 str r0, [sp, #0x34] str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 mov r1, #0x6e lsl r1, r1, #2 str r0, [r5, r1] ldr r0, [r5, r1] mov r1, #0 bl FUN_020200A0 mov r0, #0x6e lsl r0, r0, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_02020130 mov r1, #0x6f lsl r1, r1, #2 mov r2, #0 add r0, r1, #0 str r2, [r5, r1] add r0, #0x20 str r2, [r5, r0] add r1, #0x24 str r2, [r5, r1] add sp, #0x70 pop {r3, r4, r5, pc} nop _021D92D8: .word 0x00000BB8 thumb_func_end MOD16_021D921C thumb_func_start MOD16_021D92DC MOD16_021D92DC: ; 0x021D92DC push {r4, lr} add r4, r0, #0 mov r0, #0x6d lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0201FFC8 mov r0, #0x6d mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] add r0, r0, #4 ldr r0, [r4, r0] bl FUN_0201FFC8 mov r0, #0x6e mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] add r0, r0, #4 ldr r0, [r4, r0] cmp r0, #0 beq _021D9316 bl MOD16_021DB338 mov r0, #0x6f mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] _021D9316: pop {r4, pc} thumb_func_end MOD16_021D92DC thumb_func_start MOD16_021D9318 MOD16_021D9318: ; 0x021D9318 push {r4, r5, r6, lr} sub sp, #0x70 add r4, r1, #0 ldr r1, _021D93A8 ; =0x00000BB8 add r5, r0, #0 mov r0, #0 add r6, r3, #0 str r1, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 ldr r3, [sp, #0x80] str r0, [sp, #0xc] str r3, [sp, #0x10] ldr r3, [r2] str r3, [sp, #0x14] ldr r3, [r2, #4] str r3, [sp, #0x18] ldr r3, [r2, #8] str r3, [sp, #0x1c] ldr r2, [r2, #0xc] add r3, r1, #0 str r2, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] add r0, sp, #0x4c add r2, r1, #0 bl FUN_02008AA4 mov r1, #0 add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #1 str r0, [sp, #0x44] str r4, [sp, #0x2c] str r1, [sp, #0x40] str r6, [sp, #0x48] str r1, [sp, #0x34] str r1, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5] mov r1, #0 bl FUN_020200A0 ldr r0, [r5] mov r1, #1 bl FUN_02020310 mov r0, #0 str r0, [sp, #0x34] str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5, #4] mov r1, #0 bl FUN_020200A0 ldr r0, [r5, #4] mov r1, #1 bl FUN_02020130 mov r0, #0 str r0, [r5, #8] str r0, [r5, #0x28] str r0, [r5, #0x2c] add sp, #0x70 pop {r4, r5, r6, pc} nop _021D93A8: .word 0x00000BB8 thumb_func_end MOD16_021D9318 thumb_func_start MOD16_021D93AC MOD16_021D93AC: ; 0x021D93AC push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0201FFC8 mov r0, #0 str r0, [r4] ldr r0, [r4, #4] bl FUN_0201FFC8 mov r0, #0 str r0, [r4, #4] ldr r0, [r4, #8] cmp r0, #0 beq _021D93D2 bl MOD16_021DB338 mov r0, #0 str r0, [r4, #8] _021D93D2: pop {r4, pc} thumb_func_end MOD16_021D93AC thumb_func_start MOD16_021D93D4 MOD16_021D93D4: ; 0x021D93D4 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 cmp r0, #0 beq _021D93E4 bl FUN_020200A0 _021D93E4: ldr r0, [r5, #4] cmp r0, #0 beq _021D93F0 add r1, r4, #0 bl FUN_020200A0 _021D93F0: ldr r0, [r5, #8] ldr r0, [r0] cmp r0, #0 beq _021D93FE add r1, r4, #0 bl FUN_020119D0 _021D93FE: pop {r3, r4, r5, pc} thumb_func_end MOD16_021D93D4 thumb_func_start MOD16_021D9400 MOD16_021D9400: ; 0x021D9400 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r6, r1, #0 mov r1, #0x79 add r5, r0, #0 lsl r1, r1, #2 add r4, r5, r1 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021D94A0 ; =0x00002EE0 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r6, [sp, #8] lsl r0, r0, #6 ldr r0, [r5, r0] mov r2, #0x77 mov r3, #1 bl FUN_020091E0 str r0, [r4, #0x10] bl FUN_02009B04 ldr r0, [r4, #0x10] bl FUN_02009474 ldr r0, _021D94A0 ; =0x00002EE0 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] mov r0, #0x51 str r6, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r5, r0] mov r2, #0x15 mov r3, #0 bl FUN_02009298 str r0, [r4, #0x14] bl FUN_02009D68 ldr r0, [r4, #0x14] bl FUN_02009474 ldr r0, _021D94A0 ; =0x00002EE0 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r6, [sp, #8] lsl r0, r0, #2 ldr r0, [r5, r0] mov r2, #0x78 mov r3, #1 bl FUN_02009358 str r0, [r4, #0x18] ldr r0, _021D94A0 ; =0x00002EE0 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r6, [sp, #8] lsl r0, r0, #2 ldr r0, [r5, r0] mov r2, #0x76 mov r3, #1 bl FUN_02009358 str r0, [r4, #0x1c] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D94A0: .word 0x00002EE0 thumb_func_end MOD16_021D9400 thumb_func_start MOD16_021D94A4 MOD16_021D94A4: ; 0x021D94A4 push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0x79 lsl r0, r0, #2 add r4, r5, r0 ldr r0, [r4, #0x10] bl FUN_02009C0C ldr r0, [r4, #0x14] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r5, r0] ldr r1, [r4, #0x10] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r1, [r4, #0x14] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r1, [r4, #0x18] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r1, [r4, #0x1c] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021D94A4 thumb_func_start MOD16_021D94EC MOD16_021D94EC: ; 0x021D94EC push {r3, r4, r5, r6, r7, lr} sub sp, #0x70 add r5, r1, #0 ldr r1, _021D9598 ; =0x00002EE0 add r6, r0, #0 mov r0, #0 mov r2, #0x79 lsl r2, r2, #2 str r1, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] str r0, [sp, #0x10] sub r2, #0xa4 ldr r2, [r6, r2] add r3, r1, #0 str r2, [sp, #0x14] mov r2, #0x79 lsl r2, r2, #2 sub r2, #0xa0 ldr r2, [r6, r2] str r2, [sp, #0x18] mov r2, #0x79 lsl r2, r2, #2 sub r2, #0x9c ldr r2, [r6, r2] str r2, [sp, #0x1c] mov r2, #0x79 lsl r2, r2, #2 sub r2, #0x98 ldr r2, [r6, r2] str r2, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] add r0, sp, #0x4c add r2, r1, #0 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r6, r0] mov r4, #0 str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #2 str r0, [sp, #0x44] mov r0, #0x49 lsl r0, r0, #0xe str r0, [sp, #0x38] mov r0, #0x19 lsl r0, r0, #0xe str r0, [sp, #0x34] mov r0, #0x79 lsl r0, r0, #2 str r5, [sp, #0x48] str r4, [sp, #0x40] add r5, r6, r0 add r7, sp, #0x2c _021D9566: add r0, r7, #0 bl FUN_0201FF84 add r1, r4, #0 stmia r5!, {r0} bl FUN_02020130 add r4, r4, #1 cmp r4, #4 blt _021D9566 mov r0, #0x79 lsl r0, r0, #2 add r0, r6, r0 mov r1, #0 bl MOD16_021D8B14 add r0, r6, #0 bl MOD16_021D95C4 add r0, r6, #0 bl MOD16_021D9760 add sp, #0x70 pop {r3, r4, r5, r6, r7, pc} nop _021D9598: .word 0x00002EE0 thumb_func_end MOD16_021D94EC thumb_func_start MOD16_021D959C MOD16_021D959C: ; 0x021D959C push {r3, r4, r5, lr} add r5, r0, #0 bl MOD16_021D9780 add r0, r5, #0 bl MOD16_021D95E4 mov r0, #0x79 lsl r0, r0, #2 mov r4, #0 add r5, r5, r0 _021D95B2: ldr r0, [r5] bl FUN_0201FFC8 add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _021D95B2 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D959C thumb_func_start MOD16_021D95C4 MOD16_021D95C4: ; 0x021D95C4 push {r4, lr} mov r1, #0x79 add r4, r0, #0 lsl r1, r1, #2 ldr r0, _021D95E0 ; =MOD16_021D95F4 add r1, r4, r1 mov r2, #1 bl FUN_0200CA44 mov r1, #0x9d lsl r1, r1, #2 str r0, [r4, r1] pop {r4, pc} nop _021D95E0: .word MOD16_021D95F4 thumb_func_end MOD16_021D95C4 thumb_func_start MOD16_021D95E4 MOD16_021D95E4: ; 0x021D95E4 mov r1, #0x9d lsl r1, r1, #2 ldr r3, _021D95F0 ; =FUN_0200CAB4 ldr r0, [r0, r1] bx r3 nop _021D95F0: .word FUN_0200CAB4 thumb_func_end MOD16_021D95E4 thumb_func_start MOD16_021D95F4 MOD16_021D95F4: ; 0x021D95F4 push {r3, r4, r5, lr} add r4, r1, #0 ldr r0, [r4, #0x30] cmp r0, #0 beq _021D9610 ldr r0, [r4, #0x2c] str r0, [sp] ldr r1, [r4, #0x20] ldr r2, [r4, #0x24] ldr r3, [r4, #0x28] add r0, r4, #0 bl MOD16_021D9668 pop {r3, r4, r5, pc} _021D9610: ldr r0, [r4, #0x34] add r0, r0, #1 lsr r2, r0, #0x1f lsl r1, r0, #0x1a sub r1, r1, r2 mov r0, #0x1a ror r1, r0 add r0, r2, r1 str r0, [r4, #0x34] cmp r0, #0x20 blt _021D962C add r1, r0, #1 mov r0, #0x40 sub r0, r0, r1 _021D962C: lsl r2, r0, #0xc asr r1, r2, #0x1f lsr r0, r2, #0x12 lsl r3, r1, #0xe mov r1, #2 orr r3, r0 lsl r2, r2, #0xe mov r0, #0 lsl r1, r1, #0xa add r5, r2, r1 adc r3, r0 lsl r2, r3, #0x14 lsr r0, r5, #0xc orr r0, r2 lsl r1, r1, #6 bl FX_Div asr r3, r0, #0xc ldr r0, [r4, #0x2c] add r0, r0, r3 str r0, [sp] add r0, r4, #0 ldr r1, [r4, #0x20] ldr r2, [r4, #0x24] ldr r4, [r4, #0x28] add r3, r4, r3 bl MOD16_021D9668 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D95F4 thumb_func_start MOD16_021D9668 MOD16_021D9668: ; 0x021D9668 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 ldr r6, [sp, #0x40] add r5, r0, #0 str r1, [sp, #0xc] add r7, r2, #0 str r3, [sp, #0x10] mov r4, #0 _021D9678: ldr r0, [sp, #0x10] str r7, [sp] str r0, [sp, #4] ldr r3, [sp, #0xc] str r6, [sp, #8] add r0, r4, #0 add r1, sp, #0x18 add r2, sp, #0x14 bl MOD16_021DB5A8 ldr r0, [sp, #0x18] lsl r0, r0, #0xc str r0, [sp, #0x1c] ldr r0, [sp, #0x14] lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [sp, #0x20] ldr r0, [r5] add r1, sp, #0x1c bl FUN_02020044 add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _021D9678 add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021D9668 thumb_func_start MOD16_021D96B4 MOD16_021D96B4: ; 0x021D96B4 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r6, r1, #0 mov r1, #0x87 lsl r1, r1, #2 add r4, r0, r1 ldr r1, [r4, #0x44] add r5, r2, #0 add r7, r3, #0 cmp r1, r6 bne _021D96DE ldr r1, [r4, #0x48] cmp r1, r5 bne _021D96DE ldr r1, [r4, #0x4c] cmp r1, r7 bne _021D96DE ldr r2, [r4, #0x50] ldr r1, [sp, #0x20] cmp r2, r1 beq _021D971E _021D96DE: mov r1, #0x79 lsl r1, r1, #2 add r3, r0, r1 str r3, [r4] str r5, [sp] mov r0, #3 str r0, [sp, #4] ldr r1, [r3, #0x20] ldr r3, [r3, #0x24] add r0, r4, #4 add r2, r6, #0 bl MOD16_021D8BD8 ldr r3, [r4] ldr r0, [sp, #0x20] add r2, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] add r0, r4, #0 ldr r1, [r3, #0x28] ldr r3, [r3, #0x2c] add r0, #0x24 bl MOD16_021D8BD8 str r6, [r4, #0x44] str r5, [r4, #0x48] ldr r0, [sp, #0x20] str r7, [r4, #0x4c] str r0, [r4, #0x50] mov r0, #1 str r0, [r4, #0x54] _021D971E: add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021D96B4 thumb_func_start MOD16_021D9724 MOD16_021D9724: ; 0x021D9724 push {r3, r4, r5, lr} add r5, r1, #0 ldr r0, [r5, #0x54] cmp r0, #0 beq _021D975E add r0, r5, #4 bl MOD16_021D8BF4 add r4, r0, #0 add r0, r5, #0 add r0, #0x24 bl MOD16_021D8BF4 ldr r1, [r5, #4] ldr r0, [r5] cmp r4, #1 str r1, [r0, #0x20] ldr r1, [r5, #8] ldr r0, [r5] str r1, [r0, #0x24] ldr r1, [r5, #0x24] ldr r0, [r5] str r1, [r0, #0x28] ldr r1, [r5, #0x28] ldr r0, [r5] str r1, [r0, #0x2c] bne _021D975E mov r0, #0 str r0, [r5, #0x54] _021D975E: pop {r3, r4, r5, pc} thumb_func_end MOD16_021D9724 thumb_func_start MOD16_021D9760 MOD16_021D9760: ; 0x021D9760 push {r4, lr} mov r1, #0x87 add r4, r0, #0 lsl r1, r1, #2 ldr r0, _021D977C ; =MOD16_021D9724 add r1, r4, r1 mov r2, #0 bl FUN_0200CA44 mov r1, #0x9e lsl r1, r1, #2 str r0, [r4, r1] pop {r4, pc} nop _021D977C: .word MOD16_021D9724 thumb_func_end MOD16_021D9760 thumb_func_start MOD16_021D9780 MOD16_021D9780: ; 0x021D9780 push {r4, lr} add r4, r0, #0 mov r0, #0x9e lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0200CAB4 mov r0, #0x9e mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} thumb_func_end MOD16_021D9780 thumb_func_start MOD16_021D9798 MOD16_021D9798: ; 0x021D9798 push {r4, r5, r6, lr} sub sp, #0x10 add r6, r2, #0 add r4, r1, #0 ldr r2, _021D988C ; =0x00001770 mov r1, #0 add r5, r0, #0 bl memset ldr r0, [r4] str r0, [r5] ldr r1, [r4, #8] ldr r0, _021D9890 ; =0x00001744 str r1, [r5, r0] ldr r0, [r5] bl Pokedex_GetNatDexFlag cmp r0, #0 beq _021D97C2 mov r1, #1 b _021D97C4 _021D97C2: mov r1, #0 _021D97C4: ldr r0, _021D9894 ; =0x00001734 str r1, [r5, r0] ldr r0, [r4, #0x20] cmp r0, #2 bne _021D97DC ldr r0, _021D9894 ; =0x00001734 ldr r0, [r5, r0] cmp r0, #0 beq _021D97DA mov r0, #1 b _021D97DC _021D97DA: mov r0, #0 _021D97DC: cmp r0, #1 ldr r0, _021D9898 ; =0x00001730 bne _021D97EA mov r1, #1 str r1, [r5, r0] mov r1, #0 b _021D97EE _021D97EA: mov r1, #0 str r1, [r5, r0] _021D97EE: str r1, [sp] ldr r0, _021D9898 ; =0x00001730 str r1, [sp, #4] ldr r0, [r5, r0] add r2, r1, #0 str r0, [sp, #8] add r0, r5, #0 add r3, r1, #0 str r6, [sp, #0xc] bl MOD16_021D9CB0 cmp r0, #0 bne _021D980C bl GF_AssertFail _021D980C: ldr r1, [r4, #0x1c] add r0, r5, #0 bl MOD16_021D9DC0 ldr r1, [r4, #0x1c] add r0, r5, #0 bl MOD16_021D9A60 ldr r1, [r4, #0x20] add r0, r5, #0 bl MOD16_021D9A78 ldr r0, [r4, #4] bl PlayerProfile_GetVersion ldr r1, _021D989C ; =0x0000174C str r0, [r5, r1] ldr r0, [r4, #4] bl PlayerProfile_GetTrainerGender ldr r1, _021D98A0 ; =0x00001750 str r0, [r5, r1] ldr r0, [r4, #4] add r1, r6, #0 bl PlayerProfile_GetPlayerName_NewString ldr r1, _021D98A4 ; =0x00001754 str r0, [r5, r1] add r0, r6, #0 bl FUN_02087A6C ldr r1, _021D98A8 ; =0x00001748 str r0, [r5, r1] add r0, r1, #0 add r0, #8 ldr r0, [r5, r0] cmp r0, #0 ldr r0, [r5, r1] bne _021D9864 mov r1, #0 add r2, r6, #0 bl FUN_02087A98 b _021D986C _021D9864: mov r1, #1 add r2, r6, #0 bl FUN_02087A98 _021D986C: ldr r0, [r4, #0xc] ldr r1, _021D98AC ; =0x00001760 str r0, [r5, r1] ldr r2, [r4, #0x10] add r0, r1, #4 str r2, [r5, r0] add r0, r1, #0 ldr r2, [r4, #0x14] add r0, #8 str r2, [r5, r0] ldr r0, [r4, #0x18] add r1, #0xc str r0, [r5, r1] add sp, #0x10 pop {r4, r5, r6, pc} nop _021D988C: .word 0x00001770 _021D9890: .word 0x00001744 _021D9894: .word 0x00001734 _021D9898: .word 0x00001730 _021D989C: .word 0x0000174C _021D98A0: .word 0x00001750 _021D98A4: .word 0x00001754 _021D98A8: .word 0x00001748 _021D98AC: .word 0x00001760 thumb_func_end MOD16_021D9798 thumb_func_start MOD16_021D98B0 MOD16_021D98B0: ; 0x021D98B0 push {r4, lr} add r4, r0, #0 ldr r0, _021D98D4 ; =0x00001754 ldr r0, [r4, r0] bl String_dtor ldr r0, _021D98D8 ; =0x00001748 ldr r0, [r4, r0] bl FUN_02087B0C ldr r0, _021D98D8 ; =0x00001748 ldr r0, [r4, r0] bl FUN_02087A84 ldr r0, _021D98D8 ; =0x00001748 mov r1, #0 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021D98D4: .word 0x00001754 _021D98D8: .word 0x00001748 thumb_func_end MOD16_021D98B0 thumb_func_start MOD16_021D98DC MOD16_021D98DC: ; 0x021D98DC ldr r3, _021D98E8 ; =FUN_02024674 lsl r1, r1, #0x10 ldr r0, [r0] lsr r1, r1, #0x10 bx r3 nop _021D98E8: .word FUN_02024674 thumb_func_end MOD16_021D98DC thumb_func_start MOD16_021D98EC MOD16_021D98EC: ; 0x021D98EC push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 cmp r4, #0x1c blt _021D98FA bl GF_AssertFail _021D98FA: ldr r0, [r5] add r1, r4, #0 bl Pokedex_GetSeenUnownI pop {r3, r4, r5, pc} thumb_func_end MOD16_021D98EC thumb_func_start MOD16_021D9904 MOD16_021D9904: ; 0x021D9904 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 cmp r4, #2 blt _021D9912 bl GF_AssertFail _021D9912: ldr r0, [r5] add r1, r4, #0 bl Pokedex_GetSeenShellosForme pop {r3, r4, r5, pc} thumb_func_end MOD16_021D9904 thumb_func_start MOD16_021D991C MOD16_021D991C: ; 0x021D991C push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 cmp r4, #2 blt _021D992A bl GF_AssertFail _021D992A: ldr r0, [r5] add r1, r4, #0 bl Pokedex_GetSeenGastrodonForme pop {r3, r4, r5, pc} thumb_func_end MOD16_021D991C thumb_func_start MOD16_021D9934 MOD16_021D9934: ; 0x021D9934 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 cmp r4, #3 blt _021D9942 bl GF_AssertFail _021D9942: ldr r0, [r5] add r1, r4, #0 bl Pokedex_GetSeenBurmyForme pop {r3, r4, r5, pc} thumb_func_end MOD16_021D9934 thumb_func_start MOD16_021D994C MOD16_021D994C: ; 0x021D994C push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 cmp r4, #3 blt _021D995A bl GF_AssertFail _021D995A: ldr r0, [r5] add r1, r4, #0 bl Pokedex_GetSeenWormadamForme pop {r3, r4, r5, pc} thumb_func_end MOD16_021D994C thumb_func_start MOD16_021D9964 MOD16_021D9964: ; 0x021D9964 push {r3, lr} ldr r3, _021D99D8 ; =0x0000019D cmp r1, r3 bhi _021D998A sub r2, r3, #1 cmp r1, r2 blo _021D997A beq _021D99BA cmp r1, r3 beq _021D99C2 b _021D99D2 _021D997A: cmp r1, #0xc9 bhi _021D9982 beq _021D99A2 b _021D99D2 _021D9982: sub r3, #0x1b cmp r1, r3 beq _021D99CA b _021D99D2 _021D998A: add r2, r3, #0 add r2, #9 cmp r1, r2 bhi _021D999A add r3, #9 cmp r1, r3 beq _021D99AA b _021D99D2 _021D999A: add r3, #0xa cmp r1, r3 beq _021D99B2 b _021D99D2 _021D99A2: mov r1, #0 bl MOD16_021D98EC pop {r3, pc} _021D99AA: mov r1, #0 bl MOD16_021D9904 pop {r3, pc} _021D99B2: mov r1, #0 bl MOD16_021D991C pop {r3, pc} _021D99BA: mov r1, #0 bl MOD16_021D9934 pop {r3, pc} _021D99C2: mov r1, #0 bl MOD16_021D994C pop {r3, pc} _021D99CA: mov r1, #0 bl MOD16_021D9A3C pop {r3, pc} _021D99D2: mov r0, #0 pop {r3, pc} nop _021D99D8: .word 0x0000019D thumb_func_end MOD16_021D9964 thumb_func_start MOD16_021D99DC MOD16_021D99DC: ; 0x021D99DC push {r3, lr} mov r2, #1 bl MOD16_021D98DC mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021D99F0 mov r0, #1 pop {r3, pc} _021D99F0: mov r0, #2 pop {r3, pc} thumb_func_end MOD16_021D99DC thumb_func_start MOD16_021D99F4 MOD16_021D99F4: ; 0x021D99F4 ldr r3, _021D99FC ; =Pokedex_CountSeenUnown ldr r0, [r0] bx r3 nop _021D99FC: .word Pokedex_CountSeenUnown thumb_func_end MOD16_021D99F4 thumb_func_start MOD16_021D9A00 MOD16_021D9A00: ; 0x021D9A00 ldr r3, _021D9A08 ; =Pokedex_CountSeenShellos ldr r0, [r0] bx r3 nop _021D9A08: .word Pokedex_CountSeenShellos thumb_func_end MOD16_021D9A00 thumb_func_start MOD16_021D9A0C MOD16_021D9A0C: ; 0x021D9A0C ldr r3, _021D9A14 ; =Pokedex_CountSeenGastrodon ldr r0, [r0] bx r3 nop _021D9A14: .word Pokedex_CountSeenGastrodon thumb_func_end MOD16_021D9A0C thumb_func_start MOD16_021D9A18 MOD16_021D9A18: ; 0x021D9A18 ldr r3, _021D9A20 ; =Pokedex_CountSeenBurmy ldr r0, [r0] bx r3 nop _021D9A20: .word Pokedex_CountSeenBurmy thumb_func_end MOD16_021D9A18 thumb_func_start MOD16_021D9A24 MOD16_021D9A24: ; 0x021D9A24 ldr r3, _021D9A2C ; =Pokedex_CountSeenWormadam ldr r0, [r0] bx r3 nop _021D9A2C: .word Pokedex_CountSeenWormadam thumb_func_end MOD16_021D9A24 thumb_func_start MOD16_021D9A30 MOD16_021D9A30: ; 0x021D9A30 ldr r3, _021D9A38 ; =Pokedex_GetSeenSpindaPersonality ldr r0, [r0] mov r1, #0 bx r3 .align 2, 0 _021D9A38: .word Pokedex_GetSeenSpindaPersonality thumb_func_end MOD16_021D9A30 thumb_func_start MOD16_021D9A3C MOD16_021D9A3C: ; 0x021D9A3C ldr r3, _021D9A44 ; =Pokedex_GetSeenDeoxysForme ldr r0, [r0] bx r3 nop _021D9A44: .word Pokedex_GetSeenDeoxysForme thumb_func_end MOD16_021D9A3C thumb_func_start MOD16_021D9A48 MOD16_021D9A48: ; 0x021D9A48 ldr r3, _021D9A50 ; =Pokedex_CountSeenDeoxys ldr r0, [r0] bx r3 nop _021D9A50: .word Pokedex_CountSeenDeoxys thumb_func_end MOD16_021D9A48 thumb_func_start MOD16_021D9A54 MOD16_021D9A54: ; 0x021D9A54 ldr r3, _021D9A5C ; =Pokedex_GetNatDexFlag ldr r0, [r0] bx r3 nop _021D9A5C: .word Pokedex_GetNatDexFlag thumb_func_end MOD16_021D9A54 thumb_func_start MOD16_021D9A60 MOD16_021D9A60: ; 0x021D9A60 ldr r2, _021D9A68 ; =0x0000175C strh r1, [r0, r2] bx lr nop _021D9A68: .word 0x0000175C thumb_func_end MOD16_021D9A60 thumb_func_start MOD16_021D9A6C MOD16_021D9A6C: ; 0x021D9A6C ldr r1, _021D9A74 ; =0x0000175C ldrh r0, [r0, r1] bx lr nop _021D9A74: .word 0x0000175C thumb_func_end MOD16_021D9A6C thumb_func_start MOD16_021D9A78 MOD16_021D9A78: ; 0x021D9A78 ldr r2, _021D9A80 ; =0x0000175E strh r1, [r0, r2] bx lr nop _021D9A80: .word 0x0000175E thumb_func_end MOD16_021D9A78 thumb_func_start MOD16_021D9A84 MOD16_021D9A84: ; 0x021D9A84 ldr r1, _021D9A8C ; =0x0000175E ldrh r0, [r0, r1] bx lr nop _021D9A8C: .word 0x0000175E thumb_func_end MOD16_021D9A84 thumb_func_start MOD16_021D9A90 MOD16_021D9A90: ; 0x021D9A90 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 ldr r7, [sp, #0x4c] str r1, [sp, #0xc] add r5, r0, #0 ldr r1, _021D9CA8 ; =0x000003DA add r0, r7, #0 str r2, [sp, #0x10] str r3, [sp, #0x14] bl AllocFromHeapAtEnd add r6, r0, #0 bne _021D9AAE bl GF_AssertFail _021D9AAE: ldr r2, _021D9CA8 ; =0x000003DA add r0, r6, #0 mov r1, #0 bl memset mov r0, #0 str r0, [sp, #0x24] ldr r1, _021D9CA8 ; =0x000003DA add r0, r7, #0 bl AllocFromHeapAtEnd add r4, r0, #0 bne _021D9ACC bl GF_AssertFail _021D9ACC: ldr r2, _021D9CA8 ; =0x000003DA add r0, r4, #0 mov r1, #0 bl memset mov r1, #0 ldr r0, [sp, #0x48] str r1, [sp, #0x20] cmp r0, #0 add r2, sp, #0x1c bne _021D9AFE add r0, r7, #0 mov r1, #1 bl MOD16_021DA184 str r0, [sp, #0x18] ldr r0, [sp, #0x1c] ldr r3, [sp, #0x18] str r0, [sp] ldr r2, [r5] add r0, r6, #0 add r1, sp, #0x24 bl MOD16_021D9FC4 b _021D9B16 _021D9AFE: add r0, r7, #0 bl MOD16_021DA184 str r0, [sp, #0x18] ldr r0, [sp, #0x1c] ldr r3, [sp, #0x18] str r0, [sp] ldr r2, [r5] add r0, r6, #0 add r1, sp, #0x24 bl MOD16_021D9FC4 _021D9B16: ldr r0, [sp, #0x24] add r1, r4, #0 str r0, [sp] str r7, [sp, #4] ldr r0, [r5] add r2, sp, #0x20 str r0, [sp, #8] ldr r0, [sp, #0xc] add r3, r6, #0 bl MOD16_021DA1B4 ldr r2, [sp, #0x20] add r0, r6, #0 add r1, r4, #0 lsl r2, r2, #1 bl memcpy ldr r2, [sp, #0x20] add r0, r4, #0 str r2, [sp, #0x24] mov r1, #0 lsl r2, r2, #1 bl memset mov r0, #0 str r0, [sp, #0x20] ldr r0, [sp, #0x24] add r1, r4, #0 str r0, [sp] str r7, [sp, #4] ldr r0, [r5] add r2, sp, #0x20 str r0, [sp, #8] ldr r0, [sp, #0x10] add r3, r6, #0 bl MOD16_021DA264 ldr r2, [sp, #0x20] cmp r2, #0 bne _021D9B6A mov r7, #0 b _021D9C82 _021D9B6A: add r0, r6, #0 add r1, r4, #0 lsl r2, r2, #1 bl memcpy ldr r2, [sp, #0x20] add r0, r4, #0 str r2, [sp, #0x24] mov r1, #0 lsl r2, r2, #1 bl memset mov r0, #0 str r0, [sp, #0x20] ldr r0, [sp, #0x24] add r1, r4, #0 str r0, [sp] str r7, [sp, #4] ldr r0, [r5] add r2, sp, #0x20 str r0, [sp, #8] ldr r0, [sp, #0x14] add r3, r6, #0 bl MOD16_021DA348 ldr r2, [sp, #0x20] cmp r2, #0 bne _021D9BA6 mov r7, #0 b _021D9C82 _021D9BA6: add r0, r6, #0 add r1, r4, #0 lsl r2, r2, #1 bl memcpy ldr r2, [sp, #0x20] add r0, r4, #0 str r2, [sp, #0x24] mov r1, #0 lsl r2, r2, #1 bl memset mov r0, #0 str r0, [sp, #0x20] ldr r0, [sp, #0x24] add r1, r4, #0 str r0, [sp] str r7, [sp, #4] ldr r0, [r5] add r2, sp, #0x20 str r0, [sp, #8] ldr r0, [sp, #0x40] add r3, r6, #0 bl MOD16_021DA348 ldr r2, [sp, #0x20] cmp r2, #0 bne _021D9BE2 mov r7, #0 b _021D9C82 _021D9BE2: add r0, r6, #0 add r1, r4, #0 lsl r2, r2, #1 bl memcpy ldr r2, [sp, #0x20] add r0, r4, #0 str r2, [sp, #0x24] mov r1, #0 lsl r2, r2, #1 bl memset mov r0, #0 str r0, [sp, #0x20] ldr r0, [sp, #0x24] add r1, r4, #0 str r0, [sp] str r7, [sp, #4] ldr r0, [r5] add r2, sp, #0x20 str r0, [sp, #8] ldr r0, [sp, #0x44] add r3, r6, #0 bl MOD16_021DA49C ldr r2, [sp, #0x20] cmp r2, #0 bne _021D9C1E mov r7, #0 b _021D9C82 _021D9C1E: add r0, r6, #0 add r1, r4, #0 lsl r2, r2, #1 bl memcpy ldr r2, [sp, #0x20] add r0, r4, #0 str r2, [sp, #0x24] mov r1, #0 lsl r2, r2, #1 bl memset mov r0, #0 str r0, [sp, #0x20] ldr r1, [r5] ldr r3, [sp, #0x24] add r0, r5, #4 add r2, r6, #0 bl MOD16_021DA080 ldr r0, [sp, #0xc] cmp r0, #0 bne _021D9C64 ldr r0, [sp, #0x10] cmp r0, #0 bne _021D9C64 ldr r0, [sp, #0x14] cmp r0, #0 bne _021D9C64 ldr r0, [sp, #0x40] cmp r0, #0 bne _021D9C64 ldr r0, [sp, #0x44] cmp r0, #0 beq _021D9C68 _021D9C64: mov r0, #1 str r0, [sp, #0x50] _021D9C68: ldr r0, [sp, #0x50] cmp r0, #0 bne _021D9C7A ldr r1, [sp, #0x18] ldr r2, [sp, #0x1c] add r0, r5, #4 bl MOD16_021DA0D8 b _021D9C80 _021D9C7A: add r0, r5, #4 bl MOD16_021DA148 _021D9C80: mov r7, #1 _021D9C82: ldr r2, _021D9CAC ; =0x00001738 add r0, r5, #4 add r1, r5, r2 add r2, r2, #4 add r2, r5, r2 bl MOD16_021DA5C4 add r0, r6, #0 bl FreeToHeap add r0, r4, #0 bl FreeToHeap ldr r0, [sp, #0x18] bl FreeToHeap add r0, r7, #0 add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D9CA8: .word 0x000003DA _021D9CAC: .word 0x00001738 thumb_func_end MOD16_021D9A90 thumb_func_start MOD16_021D9CB0 MOD16_021D9CB0: ; 0x021D9CB0 push {r3, r4, lr} sub sp, #0x14 ldr r4, [sp, #0x20] str r4, [sp] ldr r4, [sp, #0x24] str r4, [sp, #4] ldr r4, [sp, #0x28] str r4, [sp, #8] ldr r4, [sp, #0x2c] str r4, [sp, #0xc] mov r4, #0 str r4, [sp, #0x10] bl MOD16_021D9A90 add sp, #0x14 pop {r3, r4, pc} thumb_func_end MOD16_021D9CB0 thumb_func_start MOD16_021D9CD0 MOD16_021D9CD0: ; 0x021D9CD0 cmp r1, #0 bne _021D9CD8 mov r0, #1 bx lr _021D9CD8: ldr r1, _021D9CE8 ; =0x00001734 ldr r0, [r0, r1] cmp r0, #0 beq _021D9CE4 mov r0, #1 bx lr _021D9CE4: mov r0, #0 bx lr .align 2, 0 _021D9CE8: .word 0x00001734 thumb_func_end MOD16_021D9CD0 thumb_func_start MOD16_021D9CEC MOD16_021D9CEC: ; 0x021D9CEC push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021D9CD0 cmp r0, #0 beq _021D9CFE ldr r1, _021D9D00 ; =0x00001730 str r4, [r5, r1] _021D9CFE: pop {r3, r4, r5, pc} .align 2, 0 _021D9D00: .word 0x00001730 thumb_func_end MOD16_021D9CEC thumb_func_start MOD16_021D9D04 MOD16_021D9D04: ; 0x021D9D04 ldr r1, _021D9D0C ; =0x00001730 ldr r0, [r0, r1] bx lr nop _021D9D0C: .word 0x00001730 thumb_func_end MOD16_021D9D04 thumb_func_start MOD16_021D9D10 MOD16_021D9D10: ; 0x021D9D10 cmp r1, #0 blt _021D9D22 mov r2, #0xf7 lsl r2, r2, #4 ldr r0, [r0, r2] cmp r1, r0 bge _021D9D22 mov r0, #1 bx lr _021D9D22: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021D9D10 thumb_func_start MOD16_021D9D28 MOD16_021D9D28: ; 0x021D9D28 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021D9D10 cmp r0, #0 beq _021D9D3E ldr r0, _021D9D44 ; =0x00000F6C str r4, [r5, r0] mov r0, #1 pop {r3, r4, r5, pc} _021D9D3E: mov r0, #0 pop {r3, r4, r5, pc} nop _021D9D44: .word 0x00000F6C thumb_func_end MOD16_021D9D28 thumb_func_start MOD16_021D9D48 MOD16_021D9D48: ; 0x021D9D48 push {r3, r4, r5, lr} add r4, r1, #0 ldr r1, _021D9D84 ; =0x00000F6C add r5, r0, #0 ldr r1, [r5, r1] add r1, r1, r4 bl MOD16_021D9D10 cmp r0, #0 beq _021D9D68 ldr r0, _021D9D84 ; =0x00000F6C ldr r1, [r5, r0] add r1, r1, r4 str r1, [r5, r0] mov r0, #1 pop {r3, r4, r5, pc} _021D9D68: cmp r4, #0 blt _021D9D78 mov r0, #0xf7 lsl r0, r0, #4 ldr r1, [r5, r0] sub r0, r0, #4 sub r1, r1, #1 b _021D9D7C _021D9D78: ldr r0, _021D9D84 ; =0x00000F6C mov r1, #0 _021D9D7C: str r1, [r5, r0] mov r0, #0 pop {r3, r4, r5, pc} nop _021D9D84: .word 0x00000F6C thumb_func_end MOD16_021D9D48 thumb_func_start MOD16_021D9D88 MOD16_021D9D88: ; 0x021D9D88 ldr r1, _021D9D90 ; =0x00000F6C ldr r0, [r0, r1] bx lr nop _021D9D90: .word 0x00000F6C thumb_func_end MOD16_021D9D88 thumb_func_start MOD16_021D9D94 MOD16_021D9D94: ; 0x021D9D94 mov r1, #0xf7 lsl r1, r1, #4 ldr r0, [r0, r1] bx lr thumb_func_end MOD16_021D9D94 thumb_func_start MOD16_021D9D9C MOD16_021D9D9C: ; 0x021D9D9C push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021D9D94 mov r2, #0 cmp r0, #0 ble _021D9DBA _021D9DAC: ldr r1, [r5, #4] cmp r1, r4 beq _021D9DBA add r2, r2, #1 add r5, #8 cmp r2, r0 blt _021D9DAC _021D9DBA: add r0, r2, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D9D9C thumb_func_start MOD16_021D9DC0 MOD16_021D9DC0: ; 0x021D9DC0 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 bl MOD16_021D9D94 add r4, r0, #0 add r0, r5, #0 add r1, r6, #0 bl MOD16_021D9D9C add r1, r0, #0 cmp r4, r1 bls _021D9DE2 add r0, r5, #0 bl MOD16_021D9D28 pop {r4, r5, r6, pc} _021D9DE2: mov r0, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021D9DC0 thumb_func_start MOD16_021D9DE8 MOD16_021D9DE8: ; 0x021D9DE8 ldr r1, _021D9DF4 ; =0x00000F6C ldr r1, [r0, r1] lsl r1, r1, #3 add r0, r0, r1 ldr r0, [r0, #4] bx lr .align 2, 0 _021D9DF4: .word 0x00000F6C thumb_func_end MOD16_021D9DE8 thumb_func_start MOD16_021D9DF8 MOD16_021D9DF8: ; 0x021D9DF8 ldr r1, _021D9E04 ; =0x00000F6C ldr r1, [r0, r1] lsl r1, r1, #3 add r0, r0, r1 ldr r0, [r0, #8] bx lr .align 2, 0 _021D9E04: .word 0x00000F6C thumb_func_end MOD16_021D9DF8 thumb_func_start MOD16_021D9E08 MOD16_021D9E08: ; 0x021D9E08 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021D9D10 cmp r0, #0 beq _021D9E1E add r1, r5, #4 lsl r0, r4, #3 add r0, r1, r0 pop {r3, r4, r5, pc} _021D9E1E: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021D9E08 thumb_func_start MOD16_021D9E24 MOD16_021D9E24: ; 0x021D9E24 ldr r2, _021D9E38 ; =0x0000172C ldr r0, [r0, r2] cmp r0, r1 ble _021D9E34 cmp r1, #0 blt _021D9E34 mov r0, #1 bx lr _021D9E34: mov r0, #0 bx lr .align 2, 0 _021D9E38: .word 0x0000172C thumb_func_end MOD16_021D9E24 thumb_func_start MOD16_021D9E3C MOD16_021D9E3C: ; 0x021D9E3C push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021D9E24 cmp r0, #0 beq _021D9E62 ldr r1, _021D9E68 ; =0x00001728 add r0, r5, #0 str r4, [r5, r1] ldr r1, [r5, r1] lsl r1, r1, #2 add r2, r5, r1 ldr r1, _021D9E6C ; =0x00000F74 ldr r1, [r2, r1] bl MOD16_021D9D28 mov r0, #1 pop {r3, r4, r5, pc} _021D9E62: mov r0, #0 pop {r3, r4, r5, pc} nop _021D9E68: .word 0x00001728 _021D9E6C: .word 0x00000F74 thumb_func_end MOD16_021D9E3C thumb_func_start MOD16_021D9E70 MOD16_021D9E70: ; 0x021D9E70 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021D9EA8 cmp r0, #0 beq _021D9E9A ldr r1, _021D9EA0 ; =0x00001728 ldr r0, [r5, r1] add r0, r0, r4 str r0, [r5, r1] ldr r1, [r5, r1] add r0, r5, #0 lsl r1, r1, #2 add r2, r5, r1 ldr r1, _021D9EA4 ; =0x00000F74 ldr r1, [r2, r1] bl MOD16_021D9D28 mov r0, #1 pop {r3, r4, r5, pc} _021D9E9A: mov r0, #0 pop {r3, r4, r5, pc} nop _021D9EA0: .word 0x00001728 _021D9EA4: .word 0x00000F74 thumb_func_end MOD16_021D9E70 thumb_func_start MOD16_021D9EA8 MOD16_021D9EA8: ; 0x021D9EA8 push {r3, lr} ldr r2, _021D9EC0 ; =0x00001728 ldr r2, [r0, r2] add r1, r2, r1 bl MOD16_021D9E24 cmp r0, #0 beq _021D9EBC mov r0, #1 pop {r3, pc} _021D9EBC: mov r0, #0 pop {r3, pc} .align 2, 0 _021D9EC0: .word 0x00001728 thumb_func_end MOD16_021D9EA8 thumb_func_start MOD16_021D9EC4 MOD16_021D9EC4: ; 0x021D9EC4 ldr r1, _021D9ECC ; =0x00001728 ldr r0, [r0, r1] bx lr nop _021D9ECC: .word 0x00001728 thumb_func_end MOD16_021D9EC4 thumb_func_start MOD16_021D9ED0 MOD16_021D9ED0: ; 0x021D9ED0 ldr r1, _021D9ED8 ; =0x0000172C ldr r0, [r0, r1] bx lr nop _021D9ED8: .word 0x0000172C thumb_func_end MOD16_021D9ED0 thumb_func_start MOD16_021D9EDC MOD16_021D9EDC: ; 0x021D9EDC lsl r1, r1, #2 add r1, r0, r1 ldr r0, _021D9EE8 ; =0x00000F74 ldr r0, [r1, r0] bx lr nop _021D9EE8: .word 0x00000F74 thumb_func_end MOD16_021D9EDC thumb_func_start MOD16_021D9EEC MOD16_021D9EEC: ; 0x021D9EEC push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, _021D9F24 ; =0x0000172C mov r4, #0 ldr r0, [r5, r0] cmp r0, #0 ble _021D9F22 ldr r7, _021D9F24 ; =0x0000172C _021D9EFC: add r0, r5, #0 add r1, r4, #0 bl MOD16_021D9EDC add r6, r0, #0 add r0, r5, #0 bl MOD16_021D9D88 cmp r6, r0 bne _021D9F1A add r0, r5, #0 add r1, r4, #0 bl MOD16_021D9E3C pop {r3, r4, r5, r6, r7, pc} _021D9F1A: ldr r0, [r5, r7] add r4, r4, #1 cmp r4, r0 blt _021D9EFC _021D9F22: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021D9F24: .word 0x0000172C thumb_func_end MOD16_021D9EEC thumb_func_start MOD16_021D9F28 MOD16_021D9F28: ; 0x021D9F28 ldr r1, _021D9F30 ; =0x00001738 ldr r0, [r0, r1] bx lr nop _021D9F30: .word 0x00001738 thumb_func_end MOD16_021D9F28 thumb_func_start MOD16_021D9F34 MOD16_021D9F34: ; 0x021D9F34 ldr r1, _021D9F3C ; =0x0000173C ldr r0, [r0, r1] bx lr nop _021D9F3C: .word 0x0000173C thumb_func_end MOD16_021D9F34 thumb_func_start MOD16_021D9F40 MOD16_021D9F40: ; 0x021D9F40 ldr r1, _021D9F48 ; =0x00001754 ldr r0, [r0, r1] bx lr nop _021D9F48: .word 0x00001754 thumb_func_end MOD16_021D9F40 thumb_func_start MOD16_021D9F4C MOD16_021D9F4C: ; 0x021D9F4C ldr r1, _021D9F54 ; =0x00001750 ldr r0, [r0, r1] bx lr nop _021D9F54: .word 0x00001750 thumb_func_end MOD16_021D9F4C thumb_func_start MOD16_021D9F58 MOD16_021D9F58: ; 0x021D9F58 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 bl MOD16_021D9DE8 add r4, r0, #0 ldr r0, [r5] bl FUN_02024D58 cmp r0, #0 bne _021D9F72 mov r0, #0 pop {r4, r5, r6, pc} _021D9F72: lsl r1, r4, #0x10 ldr r0, [r5] lsr r1, r1, #0x10 add r2, r6, #0 bl Pokedex_GetMeisterFlagBySpeciesAndLanguage pop {r4, r5, r6, pc} thumb_func_end MOD16_021D9F58 thumb_func_start MOD16_021D9F80 MOD16_021D9F80: ; 0x021D9F80 ldr r3, _021D9F88 ; =FUN_02024CC4 ldr r0, [r0] bx r3 nop _021D9F88: .word FUN_02024CC4 thumb_func_end MOD16_021D9F80 thumb_func_start MOD16_021D9F8C MOD16_021D9F8C: ; 0x021D9F8C ldr r1, _021D9FAC ; =gMain + 0x40 ldrh r1, [r1, #0x22] cmp r1, #0 beq _021D9F9C ldr r1, _021D9FB0 ; =0x00001758 mov r2, #0 str r2, [r0, r1] bx lr _021D9F9C: ldr r1, _021D9FB4 ; =gMain ldr r1, [r1, #0x44] cmp r1, #0 beq _021D9FAA ldr r1, _021D9FB0 ; =0x00001758 mov r2, #1 str r2, [r0, r1] _021D9FAA: bx lr .align 2, 0 _021D9FAC: .word gMain + 0x40 _021D9FB0: .word 0x00001758 _021D9FB4: .word gMain thumb_func_end MOD16_021D9F8C thumb_func_start MOD16_021D9FB8 MOD16_021D9FB8: ; 0x021D9FB8 ldr r1, _021D9FC0 ; =0x00001758 ldr r0, [r0, r1] bx lr nop _021D9FC0: .word 0x00001758 thumb_func_end MOD16_021D9FB8 thumb_func_start MOD16_021D9FC4 MOD16_021D9FC4: ; 0x021D9FC4 push {r3, r4, r5, r6, r7, lr} sub sp, #8 ldr r7, [sp, #0x20] add r5, r1, #0 mov r6, #0 add r4, r3, #0 str r0, [sp] str r2, [sp, #4] str r6, [r5] cmp r7, #0 ble _021D9FFE _021D9FDA: ldrh r1, [r4] ldr r0, [sp, #4] bl Pokedex_CheckMonSeenFlag cmp r0, #0 beq _021D9FF6 ldr r1, [r5] ldrh r0, [r4] lsl r2, r1, #1 ldr r1, [sp] strh r0, [r1, r2] ldr r0, [r5] add r0, r0, #1 str r0, [r5] _021D9FF6: add r6, r6, #1 add r4, r4, #2 cmp r6, r7 blt _021D9FDA _021D9FFE: add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021D9FC4 thumb_func_start MOD16_021DA004 MOD16_021DA004: ; 0x021DA004 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 str r0, [sp] ldr r0, [sp, #0x28] str r1, [sp, #4] str r0, [sp, #0x28] ldr r0, [sp, #0x30] mov r1, #0 str r0, [sp, #0x30] ldr r0, [sp, #0x34] add r6, r2, #0 str r0, [sp, #0x34] ldr r0, [sp, #4] str r3, [sp, #8] str r1, [r0] add r0, r3, #0 ldr r7, [sp, #0x2c] str r1, [sp, #0xc] cmp r0, #0 ble _021DA07C _021DA02C: mov r4, #0 cmp r7, #0 ble _021DA054 ldr r5, [sp, #0x28] _021DA034: ldrh r1, [r6] ldrh r0, [r5] cmp r1, r0 bne _021DA04C ldr r0, [sp, #0x30] cmp r0, #1 beq _021DA054 ldr r0, [sp, #0x34] bl Pokedex_CheckMonCaughtFlag cmp r0, #0 bne _021DA054 _021DA04C: add r4, r4, #1 add r5, r5, #2 cmp r4, r7 blt _021DA034 _021DA054: cmp r4, r7 bge _021DA06E ldr r0, [sp, #4] ldrh r2, [r6] ldr r0, [r0] lsl r1, r0, #1 ldr r0, [sp] strh r2, [r0, r1] ldr r0, [sp, #4] ldr r0, [r0] add r1, r0, #1 ldr r0, [sp, #4] str r1, [r0] _021DA06E: ldr r0, [sp, #0xc] add r6, r6, #2 add r1, r0, #1 ldr r0, [sp, #8] str r1, [sp, #0xc] cmp r1, r0 blt _021DA02C _021DA07C: add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DA004 thumb_func_start MOD16_021DA080 MOD16_021DA080: ; 0x021DA080 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, _021DA0D4 ; =0x00000F6C mov r6, #0 add r7, r3, #0 add r4, r2, #0 str r1, [sp] str r6, [r5, r0] cmp r7, #0 ble _021DA0D2 _021DA094: ldrh r1, [r4] ldr r0, [sp] bl Pokedex_CheckMonCaughtFlag cmp r0, #0 ldr r0, _021DA0D4 ; =0x00000F6C beq _021DA0AC ldr r0, [r5, r0] lsl r0, r0, #3 add r1, r5, r0 mov r0, #2 b _021DA0B4 _021DA0AC: ldr r0, [r5, r0] lsl r0, r0, #3 add r1, r5, r0 mov r0, #1 _021DA0B4: str r0, [r1, #4] ldr r1, _021DA0D4 ; =0x00000F6C ldrh r0, [r4] ldr r1, [r5, r1] add r6, r6, #1 lsl r1, r1, #3 str r0, [r5, r1] ldr r0, _021DA0D4 ; =0x00000F6C add r4, r4, #2 ldr r0, [r5, r0] add r1, r0, #1 ldr r0, _021DA0D4 ; =0x00000F6C str r1, [r5, r0] cmp r6, r7 blt _021DA094 _021DA0D2: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DA0D4: .word 0x00000F6C thumb_func_end MOD16_021DA080 thumb_func_start MOD16_021DA0D8 MOD16_021DA0D8: ; 0x021DA0D8 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 mov r4, #0 ldr r1, _021DA13C ; =0x00001728 mov ip, r2 str r4, [r0, r1] add r1, r2, #0 mov lr, r4 cmp r1, #0 ble _021DA13A ldr r7, _021DA13C ; =0x00001728 add r5, r0, #0 _021DA0F0: ldr r1, _021DA140 ; =0x00000F6C ldr r1, [r0, r1] cmp r4, r1 bge _021DA12C ldrh r1, [r6] ldr r2, [r5] cmp r2, r1 ldr r1, _021DA13C ; =0x00001728 bne _021DA11A ldr r1, [r0, r1] add r5, #8 lsl r1, r1, #2 add r2, r0, r1 mov r1, #0xf7 lsl r1, r1, #4 str r4, [r2, r1] ldr r1, [r0, r7] add r4, r4, #1 add r1, r1, #1 str r1, [r0, r7] b _021DA12C _021DA11A: ldr r1, [r0, r1] ldr r2, _021DA144 ; =0x000001EE lsl r1, r1, #2 add r3, r0, r1 lsl r1, r2, #3 str r2, [r3, r1] ldr r1, [r0, r7] add r1, r1, #1 str r1, [r0, r7] _021DA12C: mov r1, lr add r1, r1, #1 mov r2, ip add r6, r6, #2 mov lr, r1 cmp r1, r2 blt _021DA0F0 _021DA13A: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DA13C: .word 0x00001728 _021DA140: .word 0x00000F6C _021DA144: .word 0x000001EE thumb_func_end MOD16_021DA0D8 thumb_func_start MOD16_021DA148 MOD16_021DA148: ; 0x021DA148 push {r3, r4, r5, r6} ldr r2, _021DA17C ; =0x00001728 mov r1, #0 str r1, [r0, r2] ldr r2, _021DA180 ; =0x00000F6C ldr r2, [r0, r2] cmp r2, #0 ble _021DA178 ldr r5, _021DA17C ; =0x00001728 mov r3, #0xf7 lsl r3, r3, #4 add r2, r5, #0 sub r4, r3, #4 _021DA162: ldr r6, [r0, r2] lsl r6, r6, #2 add r6, r0, r6 str r1, [r6, r3] ldr r6, [r0, r5] add r1, r1, #1 add r6, r6, #1 str r6, [r0, r5] ldr r6, [r0, r4] cmp r1, r6 blt _021DA162 _021DA178: pop {r3, r4, r5, r6} bx lr .align 2, 0 _021DA17C: .word 0x00001728 _021DA180: .word 0x00000F6C thumb_func_end MOD16_021DA148 thumb_func_start MOD16_021DA184 MOD16_021DA184: ; 0x021DA184 push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r1, #0 add r6, r0, #0 add r4, r2, #0 cmp r5, #0x2f blt _021DA196 bl GF_AssertFail _021DA196: mov r2, #0 add r5, #0xb str r2, [sp] add r0, sp, #8 str r0, [sp, #4] mov r0, #0x4b add r1, r5, #0 add r3, r6, #0 bl GfGfxLoader_LoadFromNarc_GetSizeOut ldr r1, [sp, #8] lsr r1, r1, #1 str r1, [r4] add sp, #0xc pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021DA184 thumb_func_start MOD16_021DA1B4 MOD16_021DA1B4: ; 0x021DA1B4 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r0, #0 str r1, [sp, #0x10] add r7, r2, #0 mov r4, #0 str r3, [sp, #0x14] ldr r0, [sp, #0x34] cmp r5, #5 bhi _021DA222 add r1, r5, r5 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DA1D4: ; jump table .short _021DA1E0 - _021DA1D4 - 2 ; case 0 .short _021DA1E4 - _021DA1D4 - 2 ; case 1 .short _021DA1F2 - _021DA1D4 - 2 ; case 2 .short _021DA1FE - _021DA1D4 - 2 ; case 3 .short _021DA20A - _021DA1D4 - 2 ; case 4 .short _021DA216 - _021DA1D4 - 2 ; case 5 _021DA1E0: add r6, r4, #0 b _021DA226 _021DA1E4: mov r1, #2 add r2, sp, #0x18 bl MOD16_021DA184 add r6, r0, #0 mov r4, #1 b _021DA226 _021DA1F2: mov r1, #3 add r2, sp, #0x18 bl MOD16_021DA184 add r6, r0, #0 b _021DA226 _021DA1FE: mov r1, #4 add r2, sp, #0x18 bl MOD16_021DA184 add r6, r0, #0 b _021DA226 _021DA20A: mov r1, #5 add r2, sp, #0x18 bl MOD16_021DA184 add r6, r0, #0 b _021DA226 _021DA216: mov r1, #6 add r2, sp, #0x18 bl MOD16_021DA184 add r6, r0, #0 b _021DA226 _021DA222: bl GF_AssertFail _021DA226: cmp r6, #0 beq _021DA24E ldr r0, [sp, #0x14] add r1, r7, #0 str r0, [sp] ldr r0, [sp, #0x30] add r2, r6, #0 str r0, [sp, #4] ldr r0, [sp, #0x38] str r4, [sp, #8] str r0, [sp, #0xc] ldr r0, [sp, #0x10] ldr r3, [sp, #0x18] bl MOD16_021DA004 add r0, r6, #0 bl FreeToHeap add sp, #0x1c pop {r4, r5, r6, r7, pc} _021DA24E: ldr r2, [sp, #0x30] ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] lsl r2, r2, #1 bl memcpy ldr r0, [sp, #0x30] str r0, [r7] add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DA1B4 thumb_func_start MOD16_021DA264 MOD16_021DA264: ; 0x021DA264 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 add r7, r1, #0 add r6, r2, #0 str r3, [sp, #0x10] ldr r0, [sp, #0x34] cmp r5, #9 bhi _021DA306 add r1, r5, r5 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DA282: ; jump table .short _021DA296 - _021DA282 - 2 ; case 0 .short _021DA29A - _021DA282 - 2 ; case 1 .short _021DA2A6 - _021DA282 - 2 ; case 2 .short _021DA2B2 - _021DA282 - 2 ; case 3 .short _021DA2BE - _021DA282 - 2 ; case 4 .short _021DA2CA - _021DA282 - 2 ; case 5 .short _021DA2D6 - _021DA282 - 2 ; case 6 .short _021DA2E2 - _021DA282 - 2 ; case 7 .short _021DA2EE - _021DA282 - 2 ; case 8 .short _021DA2FA - _021DA282 - 2 ; case 9 _021DA296: mov r4, #0 b _021DA30A _021DA29A: mov r1, #7 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2A6: mov r1, #8 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2B2: mov r1, #9 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2BE: mov r1, #0xa add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2CA: mov r1, #0xb add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2D6: mov r1, #0xc add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2E2: mov r1, #0xd add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2EE: mov r1, #0xe add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA2FA: mov r1, #0xf add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA30A _021DA306: bl GF_AssertFail _021DA30A: cmp r4, #0 beq _021DA332 str r4, [sp] ldr r0, [sp, #0x14] ldr r2, [sp, #0x10] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] ldr r0, [sp, #0x38] ldr r3, [sp, #0x30] str r0, [sp, #0xc] add r0, r7, #0 add r1, r6, #0 bl MOD16_021DA004 add r0, r4, #0 bl FreeToHeap add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021DA332: ldr r2, [sp, #0x30] ldr r1, [sp, #0x10] add r0, r7, #0 lsl r2, r2, #1 bl memcpy ldr r0, [sp, #0x30] str r0, [r6] add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DA264 thumb_func_start MOD16_021DA348 MOD16_021DA348: ; 0x021DA348 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 add r7, r1, #0 add r6, r2, #0 str r3, [sp, #0x10] ldr r0, [sp, #0x34] cmp r5, #0x11 bhi _021DA45A add r1, r5, r5 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DA366: ; jump table .short _021DA38A - _021DA366 - 2 ; case 0 .short _021DA38E - _021DA366 - 2 ; case 1 .short _021DA39A - _021DA366 - 2 ; case 2 .short _021DA3A6 - _021DA366 - 2 ; case 3 .short _021DA3B2 - _021DA366 - 2 ; case 4 .short _021DA3BE - _021DA366 - 2 ; case 5 .short _021DA3CA - _021DA366 - 2 ; case 6 .short _021DA3D6 - _021DA366 - 2 ; case 7 .short _021DA3E2 - _021DA366 - 2 ; case 8 .short _021DA3EE - _021DA366 - 2 ; case 9 .short _021DA3FA - _021DA366 - 2 ; case 10 .short _021DA406 - _021DA366 - 2 ; case 11 .short _021DA412 - _021DA366 - 2 ; case 12 .short _021DA41E - _021DA366 - 2 ; case 13 .short _021DA42A - _021DA366 - 2 ; case 14 .short _021DA436 - _021DA366 - 2 ; case 15 .short _021DA442 - _021DA366 - 2 ; case 16 .short _021DA44E - _021DA366 - 2 ; case 17 _021DA38A: mov r4, #0 b _021DA45E _021DA38E: mov r1, #0x10 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA39A: mov r1, #0x11 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3A6: mov r1, #0x12 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3B2: mov r1, #0x13 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3BE: mov r1, #0x14 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3CA: mov r1, #0x15 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3D6: mov r1, #0x16 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3E2: mov r1, #0x17 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3EE: mov r1, #0x18 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA3FA: mov r1, #0x19 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA406: mov r1, #0x1a add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA412: mov r1, #0x1b add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA41E: mov r1, #0x1c add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA42A: mov r1, #0x1d add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA436: mov r1, #0x1e add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA442: mov r1, #0x1f add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA44E: mov r1, #0x20 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA45E _021DA45A: bl GF_AssertFail _021DA45E: cmp r4, #0 beq _021DA486 str r4, [sp] ldr r0, [sp, #0x14] ldr r2, [sp, #0x10] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] ldr r0, [sp, #0x38] ldr r3, [sp, #0x30] str r0, [sp, #0xc] add r0, r7, #0 add r1, r6, #0 bl MOD16_021DA004 add r0, r4, #0 bl FreeToHeap add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021DA486: ldr r2, [sp, #0x30] ldr r1, [sp, #0x10] add r0, r7, #0 lsl r2, r2, #1 bl memcpy ldr r0, [sp, #0x30] str r0, [r6] add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DA348 thumb_func_start MOD16_021DA49C MOD16_021DA49C: ; 0x021DA49C push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 add r7, r1, #0 add r6, r2, #0 str r3, [sp, #0x10] ldr r0, [sp, #0x34] cmp r5, #0xe bhi _021DA584 add r1, r5, r5 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DA4BA: ; jump table .short _021DA4D8 - _021DA4BA - 2 ; case 0 .short _021DA4DC - _021DA4BA - 2 ; case 1 .short _021DA4E8 - _021DA4BA - 2 ; case 2 .short _021DA4F4 - _021DA4BA - 2 ; case 3 .short _021DA500 - _021DA4BA - 2 ; case 4 .short _021DA50C - _021DA4BA - 2 ; case 5 .short _021DA518 - _021DA4BA - 2 ; case 6 .short _021DA524 - _021DA4BA - 2 ; case 7 .short _021DA530 - _021DA4BA - 2 ; case 8 .short _021DA53C - _021DA4BA - 2 ; case 9 .short _021DA548 - _021DA4BA - 2 ; case 10 .short _021DA554 - _021DA4BA - 2 ; case 11 .short _021DA560 - _021DA4BA - 2 ; case 12 .short _021DA56C - _021DA4BA - 2 ; case 13 .short _021DA578 - _021DA4BA - 2 ; case 14 _021DA4D8: mov r4, #0 b _021DA588 _021DA4DC: mov r1, #0x21 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA4E8: mov r1, #0x22 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA4F4: mov r1, #0x23 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA500: mov r1, #0x24 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA50C: mov r1, #0x25 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA518: mov r1, #0x26 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA524: mov r1, #0x27 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA530: mov r1, #0x28 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA53C: mov r1, #0x29 add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA548: mov r1, #0x2a add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA554: mov r1, #0x2b add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA560: mov r1, #0x2c add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA56C: mov r1, #0x2d add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA578: mov r1, #0x2e add r2, sp, #0x14 bl MOD16_021DA184 add r4, r0, #0 b _021DA588 _021DA584: bl GF_AssertFail _021DA588: cmp r4, #0 beq _021DA5B0 str r4, [sp] ldr r0, [sp, #0x14] ldr r2, [sp, #0x10] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] ldr r0, [sp, #0x38] ldr r3, [sp, #0x30] str r0, [sp, #0xc] add r0, r7, #0 add r1, r6, #0 bl MOD16_021DA004 add r0, r4, #0 bl FreeToHeap add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021DA5B0: ldr r2, [sp, #0x30] ldr r1, [sp, #0x10] add r0, r7, #0 lsl r2, r2, #1 bl memcpy ldr r0, [sp, #0x30] str r0, [r6] add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DA49C thumb_func_start MOD16_021DA5C4 MOD16_021DA5C4: ; 0x021DA5C4 push {r3, r4, r5, r6} mov r3, #0 str r3, [r1] ldr r4, _021DA5F8 ; =0x00000F6C str r3, [r2] ldr r4, [r0, r4] cmp r4, #0 ble _021DA5F4 ldr r5, _021DA5F8 ; =0x00000F6C add r4, r0, #0 _021DA5D8: ldr r6, [r4, #4] cmp r6, #2 bne _021DA5E4 ldr r6, [r2] add r6, r6, #1 str r6, [r2] _021DA5E4: ldr r6, [r1] add r3, r3, #1 add r6, r6, #1 str r6, [r1] ldr r6, [r0, r5] add r4, #8 cmp r3, r6 blt _021DA5D8 _021DA5F4: pop {r3, r4, r5, r6} bx lr .align 2, 0 _021DA5F8: .word 0x00000F6C thumb_func_end MOD16_021DA5C4 thumb_func_start MOD16_021DA5FC MOD16_021DA5FC: ; 0x021DA5FC push {r3, r4, r5, lr} mov r1, #0x48 add r5, r0, #0 bl AllocFromHeap add r4, r0, #0 bne _021DA60E bl GF_AssertFail _021DA60E: add r0, r4, #0 mov r1, #0 mov r2, #0x48 bl memset mov r0, #5 str r0, [r4, #8] str r5, [r4, #0x44] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DA5FC thumb_func_start MOD16_021DA624 MOD16_021DA624: ; 0x021DA624 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 cmp r5, #0 bne _021DA632 bl GF_AssertFail _021DA632: cmp r4, #0 bne _021DA63A bl GF_AssertFail _021DA63A: add r0, r5, #0 bl MOD16_021DA7C4 cmp r0, #0 bne _021DA648 bl GF_AssertFail _021DA648: ldr r0, [r4] str r0, [r5] ldr r0, [r4, #4] str r0, [r5, #4] mov r0, #0 str r0, [r5, #8] add r0, r5, #0 add r0, #0xc bl MOD16_021DA7F4 ldr r0, [r5, #0x44] str r0, [r5, #0x10] add r0, r5, #0 add r0, #0x2c bl MOD16_021DA800 ldr r0, [r5, #0x44] str r0, [r5, #0x30] ldr r0, [r4, #8] ldr r0, [r0] str r0, [r5, #0x20] ldr r0, [r4, #8] ldr r0, [r0, #4] str r0, [r5, #0x24] ldr r0, [r4, #8] ldr r0, [r0, #8] str r0, [r5, #0x28] ldr r0, [r4, #0xc] ldr r0, [r0] str r0, [r5, #0x38] ldr r0, [r4, #0xc] ldr r0, [r0, #4] str r0, [r5, #0x3c] ldr r0, [r4, #0xc] ldr r0, [r0, #8] str r0, [r5, #0x40] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DA624 thumb_func_start MOD16_021DA694 MOD16_021DA694: ; 0x021DA694 push {r4, lr} add r4, r0, #0 bne _021DA69E bl GF_AssertFail _021DA69E: ldr r0, [r4, #8] cmp r0, #5 bhi _021DA712 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DA6B0: ; jump table .short _021DA6BC - _021DA6B0 - 2 ; case 0 .short _021DA716 - _021DA6B0 - 2 ; case 1 .short _021DA6D8 - _021DA6B0 - 2 ; case 2 .short _021DA716 - _021DA6B0 - 2 ; case 3 .short _021DA6F6 - _021DA6B0 - 2 ; case 4 .short _021DA70E - _021DA6B0 - 2 ; case 5 _021DA6BC: add r1, r4, #0 ldr r0, [r4, #0x20] ldr r2, [r4] add r1, #0xc bl MOD16_021DA808 cmp r0, #1 bne _021DA716 ldr r0, [r4, #8] add r0, r0, #1 str r0, [r4, #8] mov r0, #0 str r0, [r4, #0xc] b _021DA716 _021DA6D8: add r1, r4, #0 ldr r0, [r4, #0x24] ldr r2, [r4] add r1, #0xc bl MOD16_021DA808 cmp r0, #1 bne _021DA716 ldr r0, [r4, #8] add r0, r0, #1 str r0, [r4, #8] mov r0, #0 str r0, [r4, #0xc] str r0, [r4, #0x2c] b _021DA716 _021DA6F6: add r1, r4, #0 ldr r0, [r4, #0x28] ldr r2, [r4] add r1, #0xc bl MOD16_021DA808 cmp r0, #1 bne _021DA716 ldr r0, [r4, #8] add r0, r0, #1 str r0, [r4, #8] b _021DA716 _021DA70E: mov r0, #1 pop {r4, pc} _021DA712: bl GF_AssertFail _021DA716: mov r0, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DA694 thumb_func_start MOD16_021DA71C MOD16_021DA71C: ; 0x021DA71C push {r3, r4, lr} sub sp, #4 add r4, r0, #0 bne _021DA728 bl GF_AssertFail _021DA728: ldr r0, [r4, #8] cmp r0, #5 bhi _021DA7A6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DA73A: ; jump table .short _021DA7AA - _021DA73A - 2 ; case 0 .short _021DA746 - _021DA73A - 2 ; case 1 .short _021DA76A - _021DA73A - 2 ; case 2 .short _021DA780 - _021DA73A - 2 ; case 3 .short _021DA7AA - _021DA73A - 2 ; case 4 .short _021DA7A0 - _021DA73A - 2 ; case 5 _021DA746: add r0, r4, #0 add r0, #0xc str r0, [sp] add r2, r4, #0 ldr r0, [r4, #0x38] ldr r1, [r4, #4] ldr r3, [r4] add r2, #0x2c bl MOD16_021DA828 cmp r0, #1 bne _021DA7AA ldr r0, [r4, #8] add r0, r0, #1 str r0, [r4, #8] mov r0, #0 str r0, [r4, #0x2c] b _021DA7AA _021DA76A: add r0, r4, #0 add r0, #0xc str r0, [sp] add r2, r4, #0 ldr r0, [r4, #0x3c] ldr r1, [r4, #4] ldr r3, [r4] add r2, #0x2c bl MOD16_021DA828 b _021DA7AA _021DA780: add r0, r4, #0 add r0, #0xc str r0, [sp] add r2, r4, #0 ldr r0, [r4, #0x40] ldr r1, [r4, #4] ldr r3, [r4] add r2, #0x2c bl MOD16_021DA828 cmp r0, #1 bne _021DA7AA ldr r0, [r4, #8] add r0, r0, #1 str r0, [r4, #8] b _021DA7AA _021DA7A0: add sp, #4 mov r0, #1 pop {r3, r4, pc} _021DA7A6: bl GF_AssertFail _021DA7AA: mov r0, #0 add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021DA71C thumb_func_start MOD16_021DA7B0 MOD16_021DA7B0: ; 0x021DA7B0 str r1, [r0, #0x1c] bx lr thumb_func_end MOD16_021DA7B0 thumb_func_start MOD16_021DA7B4 MOD16_021DA7B4: ; 0x021DA7B4 push {r4, lr} add r4, r0, #0 bne _021DA7BE bl GF_AssertFail _021DA7BE: mov r0, #1 str r0, [r4, #0x18] pop {r4, pc} thumb_func_end MOD16_021DA7B4 thumb_func_start MOD16_021DA7C4 MOD16_021DA7C4: ; 0x021DA7C4 push {r4, lr} add r4, r0, #0 bne _021DA7CE bl GF_AssertFail _021DA7CE: ldr r0, [r4, #8] cmp r0, #5 bne _021DA7D8 mov r0, #1 pop {r4, pc} _021DA7D8: mov r0, #0 pop {r4, pc} thumb_func_end MOD16_021DA7C4 thumb_func_start MOD16_021DA7DC MOD16_021DA7DC: ; 0x021DA7DC push {r4, lr} add r4, r0, #0 bne _021DA7E6 bl GF_AssertFail _021DA7E6: ldr r0, [r4, #8] cmp r0, #2 bne _021DA7F0 mov r0, #1 pop {r4, pc} _021DA7F0: mov r0, #0 pop {r4, pc} thumb_func_end MOD16_021DA7DC thumb_func_start MOD16_021DA7F4 MOD16_021DA7F4: ; 0x021DA7F4 mov r1, #0 str r1, [r0] str r1, [r0, #8] str r1, [r0, #0xc] bx lr .align 2, 0 thumb_func_end MOD16_021DA7F4 thumb_func_start MOD16_021DA800 MOD16_021DA800: ; 0x021DA800 mov r1, #0 str r1, [r0] str r1, [r0, #8] bx lr thumb_func_end MOD16_021DA800 thumb_func_start MOD16_021DA808 MOD16_021DA808: ; 0x021DA808 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 cmp r5, #0 bne _021DA818 bl GF_AssertFail _021DA818: cmp r4, #0 bne _021DA820 bl GF_AssertFail _021DA820: add r0, r4, #0 add r1, r6, #0 blx r5 pop {r4, r5, r6, pc} thumb_func_end MOD16_021DA808 thumb_func_start MOD16_021DA828 MOD16_021DA828: ; 0x021DA828 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 add r4, r2, #0 add r7, r3, #0 cmp r5, #0 bne _021DA83A bl GF_AssertFail _021DA83A: cmp r4, #0 bne _021DA842 bl GF_AssertFail _021DA842: ldr r0, [sp, #0x18] cmp r0, #0 bne _021DA84C bl GF_AssertFail _021DA84C: ldr r3, [sp, #0x18] add r0, r6, #0 add r1, r4, #0 add r2, r7, #0 blx r5 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DA828 thumb_func_start MOD16_021DA858 MOD16_021DA858: ; 0x021DA858 push {r4, lr} mov r1, #0xc bl AllocFromHeap add r4, r0, #0 bne _021DA868 bl GF_AssertFail _021DA868: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r4, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DA858 thumb_func_start MOD16_021DA888 MOD16_021DA888: ; 0x021DA888 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 cmp r5, #0 bne _021DA898 bl GF_AssertFail _021DA898: str r4, [r5] str r6, [r5, #4] pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DA888 thumb_func_start MOD16_021DA8A0 MOD16_021DA8A0: ; 0x021DA8A0 push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 cmp r4, #0 bne _021DA8AE bl GF_AssertFail _021DA8AE: add r0, r4, #0 bl MOD16_021DA908 cmp r0, #0 bne _021DA8CA add r0, r4, #0 add r1, r5, #0 bl MOD16_021DA918 add r1, r0, #0 beq _021DA8CA add r0, r4, #0 bl MOD16_021DA950 _021DA8CA: add r0, r4, #0 bl MOD16_021DA908 cmp r0, #1 bne _021DA8EA ldr r1, [r4, #8] add r0, r1, #0 ldr r1, [r1, #4] add r0, #8 blx r1 cmp r0, #1 bne _021DA8EA add r0, r4, #0 mov r1, #0 bl MOD16_021DA950 _021DA8EA: ldr r0, [r4, #8] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DA8A0 thumb_func_start MOD16_021DA8F0 MOD16_021DA8F0: ; 0x021DA8F0 push {r4, lr} add r4, r0, #0 bne _021DA8FA bl GF_AssertFail _021DA8FA: ldr r0, [r4, #8] cmp r0, #0 beq _021DA904 mov r0, #1 pop {r4, pc} _021DA904: mov r0, #0 pop {r4, pc} thumb_func_end MOD16_021DA8F0 thumb_func_start MOD16_021DA908 MOD16_021DA908: ; 0x021DA908 ldr r0, [r0, #8] cmp r0, #0 beq _021DA912 mov r0, #1 bx lr _021DA912: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021DA908 thumb_func_start MOD16_021DA918 MOD16_021DA918: ; 0x021DA918 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r5, #4] add r7, r1, #0 mov r6, #0 cmp r0, #0 ble _021DA94C add r4, r6, #0 _021DA928: ldr r0, [r5] cmp r0, #0 bne _021DA932 bl GF_AssertFail _021DA932: ldr r0, [r5] ldr r1, [r0, r4] tst r1, r7 beq _021DA942 mov r1, #0x14 mul r1, r6 add r0, r0, r1 pop {r3, r4, r5, r6, r7, pc} _021DA942: ldr r0, [r5, #4] add r6, r6, #1 add r4, #0x14 cmp r6, r0 blt _021DA928 _021DA94C: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DA918 thumb_func_start MOD16_021DA950 MOD16_021DA950: ; 0x021DA950 str r1, [r0, #8] cmp r1, #0 beq _021DA95A mov r0, #0 str r0, [r1, #8] _021DA95A: bx lr thumb_func_end MOD16_021DA950 thumb_func_start MOD16_021DA95C MOD16_021DA95C: ; 0x021DA95C push {r4, lr} add r4, r0, #0 ldr r0, [r4] ldr r2, [r4, #8] cmp r0, #3 bhi _021DA9BC add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DA974: ; jump table .short _021DA97C - _021DA974 - 2 ; case 0 .short _021DA98A - _021DA974 - 2 ; case 1 .short _021DA99C - _021DA974 - 2 ; case 2 .short _021DA9AE - _021DA974 - 2 ; case 3 _021DA97C: ldr r0, [r2, #4] bl MOD16_021DA7B4 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DA9C0 _021DA98A: ldr r0, [r2, #4] bl MOD16_021DA7C4 cmp r0, #1 bne _021DA9C0 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DA9C0 _021DA99C: ldr r0, [r2] ldr r1, [r2, #8] ldr r2, [r2, #4] bl MOD16_021DAC44 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DA9C0 _021DA9AE: ldr r0, [r2, #4] bl MOD16_021DA7DC cmp r0, #1 bne _021DA9C0 mov r0, #1 pop {r4, pc} _021DA9BC: bl GF_AssertFail _021DA9C0: mov r0, #0 pop {r4, pc} thumb_func_end MOD16_021DA95C thumb_func_start MOD16_021DA9C4 MOD16_021DA9C4: ; 0x021DA9C4 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5] ldr r4, [r5, #8] cmp r0, #0 beq _021DA9DC cmp r0, #1 beq _021DA9FC cmp r0, #2 beq _021DAA3A b _021DAA44 _021DA9DC: ldr r0, [r4] bl MOD16_021DA7B4 ldr r0, [r4, #4] bl MOD16_021DA7B4 ldr r0, [r4, #8] bl MOD16_021DA7B4 ldr r0, [r4, #0xc] bl MOD16_021DA7B4 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAA48 _021DA9FC: ldr r0, [r4] bl MOD16_021DA7C4 str r0, [sp] ldr r0, [r4, #4] bl MOD16_021DA7C4 str r0, [sp, #4] ldr r0, [r4, #8] bl MOD16_021DA7C4 str r0, [sp, #8] ldr r0, [r4, #0xc] bl MOD16_021DA7C4 str r0, [sp, #0xc] mov r1, #0 add r2, sp, #0 _021DAA20: ldr r0, [r2] cmp r0, #0 beq _021DAA2E add r1, r1, #1 add r2, r2, #4 cmp r1, #4 blt _021DAA20 _021DAA2E: cmp r1, #4 blt _021DAA48 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAA48 _021DAA3A: ldr r1, [r4, #0x10] mov r0, #1 str r0, [r1] add sp, #0x10 pop {r3, r4, r5, pc} _021DAA44: bl GF_AssertFail _021DAA48: mov r0, #0 add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DA9C4 thumb_func_start MOD16_021DAA50 MOD16_021DAA50: ; 0x021DAA50 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5] ldr r4, [r5, #8] cmp r0, #3 bls _021DAA60 b _021DAB68 _021DAA60: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DAA6C: ; jump table .short _021DAA74 - _021DAA6C - 2 ; case 0 .short _021DAA94 - _021DAA6C - 2 ; case 1 .short _021DAAD2 - _021DAA6C - 2 ; case 2 .short _021DAB02 - _021DAA6C - 2 ; case 3 _021DAA74: ldr r0, [r4] bl MOD16_021DA7B4 ldr r0, [r4, #4] bl MOD16_021DA7B4 ldr r0, [r4, #8] bl MOD16_021DA7B4 ldr r0, [r4, #0xc] bl MOD16_021DA7B4 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAB6C _021DAA94: ldr r0, [r4] bl MOD16_021DA7C4 str r0, [sp] ldr r0, [r4, #4] bl MOD16_021DA7C4 str r0, [sp, #4] ldr r0, [r4, #8] bl MOD16_021DA7C4 str r0, [sp, #8] ldr r0, [r4, #0xc] bl MOD16_021DA7C4 str r0, [sp, #0xc] mov r1, #0 add r2, sp, #0 _021DAAB8: ldr r0, [r2] cmp r0, #0 beq _021DAAC6 add r1, r1, #1 add r2, r2, #4 cmp r1, #4 blt _021DAAB8 _021DAAC6: cmp r1, #4 blt _021DAB6C ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAB6C _021DAAD2: ldr r0, [r4, #0x20] ldr r1, [r4, #0x10] ldr r2, [r4] bl MOD16_021DAC44 ldr r0, [r4, #0x24] ldr r1, [r4, #0x14] ldr r2, [r4, #4] bl MOD16_021DAC44 ldr r0, [r4, #0x28] ldr r1, [r4, #0x18] ldr r2, [r4, #8] bl MOD16_021DAC44 ldr r0, [r4, #0x2c] ldr r1, [r4, #0x1c] ldr r2, [r4, #0xc] bl MOD16_021DAC44 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAB6C _021DAB02: ldr r0, [r4, #0x20] cmp r0, #0 beq _021DAB12 ldr r0, [r4] bl MOD16_021DA7DC str r0, [sp] b _021DAB16 _021DAB12: mov r0, #1 str r0, [sp] _021DAB16: ldr r0, [r4, #0x24] cmp r0, #0 beq _021DAB24 ldr r0, [r4, #4] bl MOD16_021DA7DC str r0, [sp, #4] _021DAB24: ldr r0, [r4, #0x28] cmp r0, #0 beq _021DAB34 ldr r0, [r4, #8] bl MOD16_021DA7DC str r0, [sp, #8] b _021DAB38 _021DAB34: mov r0, #1 str r0, [sp, #8] _021DAB38: ldr r0, [r4, #0x2c] cmp r0, #0 beq _021DAB48 ldr r0, [r4, #0xc] bl MOD16_021DA7DC str r0, [sp, #0xc] b _021DAB4C _021DAB48: mov r0, #1 str r0, [sp, #0xc] _021DAB4C: mov r2, #0 add r1, sp, #0 _021DAB50: ldr r0, [r1] cmp r0, #0 beq _021DAB5E add r2, r2, #1 add r1, r1, #4 cmp r2, #4 blt _021DAB50 _021DAB5E: cmp r2, #4 blt _021DAB6C add sp, #0x10 mov r0, #1 pop {r3, r4, r5, pc} _021DAB68: bl GF_AssertFail _021DAB6C: mov r0, #0 add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DAA50 thumb_func_start MOD16_021DAB74 MOD16_021DAB74: ; 0x021DAB74 push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] ldr r4, [r5, #8] cmp r0, #3 bhi _021DAC38 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DAB8E: ; jump table .short _021DAB96 - _021DAB8E - 2 ; case 0 .short _021DABAA - _021DAB8E - 2 ; case 1 .short _021DABD8 - _021DAB8E - 2 ; case 2 .short _021DABF4 - _021DAB8E - 2 ; case 3 _021DAB96: ldr r0, [r4] bl MOD16_021DA7B4 ldr r0, [r4, #4] bl MOD16_021DA7B4 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAC3C _021DABAA: ldr r0, [r4] bl MOD16_021DA7C4 str r0, [sp] ldr r0, [r4, #4] bl MOD16_021DA7C4 str r0, [sp, #4] mov r1, #0 add r2, sp, #0 _021DABBE: ldr r0, [r2] cmp r0, #0 beq _021DABCC add r1, r1, #1 add r2, r2, #4 cmp r1, #2 blt _021DABBE _021DABCC: cmp r1, #2 blt _021DAC3C ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAC3C _021DABD8: ldr r0, [r4, #0x10] ldr r1, [r4, #8] ldr r2, [r4] bl MOD16_021DAC44 ldr r0, [r4, #0x14] ldr r1, [r4, #0xc] ldr r2, [r4, #4] bl MOD16_021DAC44 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DAC3C _021DABF4: ldr r0, [r4, #0x10] cmp r0, #0 beq _021DAC04 ldr r0, [r4] bl MOD16_021DA7DC str r0, [sp] b _021DAC08 _021DAC04: mov r0, #1 str r0, [sp] _021DAC08: ldr r0, [r4, #0x14] cmp r0, #0 beq _021DAC18 ldr r0, [r4, #4] bl MOD16_021DA7DC str r0, [sp, #4] b _021DAC1C _021DAC18: mov r0, #1 str r0, [sp, #4] _021DAC1C: mov r2, #0 add r1, sp, #0 _021DAC20: ldr r0, [r1] cmp r0, #0 beq _021DAC2E add r2, r2, #1 add r1, r1, #4 cmp r2, #2 blt _021DAC20 _021DAC2E: cmp r2, #2 blt _021DAC3C add sp, #8 mov r0, #1 pop {r3, r4, r5, pc} _021DAC38: bl GF_AssertFail _021DAC3C: mov r0, #0 add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DAB74 thumb_func_start MOD16_021DAC44 MOD16_021DAC44: ; 0x021DAC44 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 add r4, r1, #0 cmp r5, #0 beq _021DAC76 ldr r0, [r5] add r1, sp, #0 str r0, [sp] ldr r0, [r5, #4] str r0, [sp, #4] add r0, r5, #0 add r0, #8 str r0, [sp, #8] add r0, r5, #0 add r0, #0x14 str r0, [sp, #0xc] add r0, r2, #0 bl MOD16_021DA624 ldr r1, [r5, #0x20] ldr r2, [r5, #0x24] add r0, r4, #0 bl MOD16_021DA888 _021DAC76: add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DAC44 thumb_func_start MOD16_021DAC7C MOD16_021DAC7C: ; 0x021DAC7C push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x10] cmp r0, #0 bne _021DAC8A bl GF_AssertFail _021DAC8A: ldr r0, [r4, #0x10] bl FreeToHeap mov r0, #0 str r0, [r4, #0x10] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DAC7C thumb_func_start MOD16_021DAC98 MOD16_021DAC98: ; 0x021DAC98 push {r4, r5, r6, lr} add r6, r1, #0 ldr r1, _021DAD1C ; =MOD16_021DAA50 str r3, [r6] str r1, [r6, #4] mov r1, #0x30 add r5, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DACB2 bl GF_AssertFail _021DACB2: add r0, r4, #0 mov r1, #0 mov r2, #0x30 bl memset add r0, r5, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r5, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r5, #0 bl MOD16_021D7A60 str r0, [r4, #8] add r0, r5, #0 bl MOD16_021D7A74 str r0, [r4, #0xc] add r0, r5, #0 bl MOD16_021D7A88 str r0, [r4, #0x10] add r0, r5, #0 bl MOD16_021D7A9C str r0, [r4, #0x14] add r0, r5, #0 bl MOD16_021D7AB0 str r0, [r4, #0x18] add r0, r5, #0 bl MOD16_021D7AC4 str r0, [r4, #0x1c] add r0, r5, #0 mov r1, #1 bl MOD16_021D7B5C str r0, [r4, #0x20] add r0, r5, #0 mov r1, #1 bl MOD16_021D7B7C str r0, [r4, #0x24] mov r0, #0 str r0, [r4, #0x28] str r0, [r4, #0x2c] str r4, [r6, #0x10] pop {r4, r5, r6, pc} nop _021DAD1C: .word MOD16_021DAA50 thumb_func_end MOD16_021DAC98 thumb_func_start MOD16_021DAD20 MOD16_021DAD20: ; 0x021DAD20 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DAD74 ; =MOD16_021DA9C4 str r3, [r5] str r1, [r5, #4] mov r1, #0x14 add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DAD3A bl GF_AssertFail _021DAD3A: add r2, r4, #0 mov r1, #0x14 mov r0, #0 _021DAD40: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DAD40 add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r6, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A60 str r0, [r4, #8] add r0, r6, #0 bl MOD16_021D7A74 str r0, [r4, #0xc] add r0, r6, #0 bl MOD16_021D7B28 str r0, [r4, #0x10] str r4, [r5, #0x10] pop {r4, r5, r6, pc} .align 2, 0 _021DAD74: .word MOD16_021DA9C4 thumb_func_end MOD16_021DAD20 thumb_func_start MOD16_021DAD78 MOD16_021DAD78: ; 0x021DAD78 push {r4, r5, r6, lr} add r6, r1, #0 ldr r1, _021DAE08 ; =MOD16_021DAA50 str r3, [r6] str r1, [r6, #4] mov r1, #0x30 add r5, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DAD92 bl GF_AssertFail _021DAD92: add r0, r4, #0 mov r1, #0 mov r2, #0x30 bl memset add r0, r5, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r5, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r5, #0 bl MOD16_021D7A60 str r0, [r4, #8] add r0, r5, #0 bl MOD16_021D7A74 str r0, [r4, #0xc] add r0, r5, #0 bl MOD16_021D7A88 str r0, [r4, #0x10] add r0, r5, #0 bl MOD16_021D7A9C str r0, [r4, #0x14] add r0, r5, #0 bl MOD16_021D7AB0 str r0, [r4, #0x18] add r0, r5, #0 bl MOD16_021D7AC4 str r0, [r4, #0x1c] add r0, r5, #0 mov r1, #2 bl MOD16_021D7B5C str r0, [r4, #0x20] add r0, r5, #0 mov r1, #2 bl MOD16_021D7B7C str r0, [r4, #0x24] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #0x28] add r0, r5, #0 mov r1, #3 bl MOD16_021D7B7C str r0, [r4, #0x2c] str r4, [r6, #0x10] pop {r4, r5, r6, pc} .align 2, 0 _021DAE08: .word MOD16_021DAA50 thumb_func_end MOD16_021DAD78 thumb_func_start MOD16_021DAE0C MOD16_021DAE0C: ; 0x021DAE0C push {r4, r5, r6, lr} add r6, r1, #0 ldr r1, _021DAE90 ; =MOD16_021DAA50 str r3, [r6] str r1, [r6, #4] mov r1, #0x30 add r5, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DAE26 bl GF_AssertFail _021DAE26: add r0, r4, #0 mov r1, #0 mov r2, #0x30 bl memset add r0, r5, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r5, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r5, #0 bl MOD16_021D7A60 str r0, [r4, #8] add r0, r5, #0 bl MOD16_021D7A74 str r0, [r4, #0xc] add r0, r5, #0 bl MOD16_021D7A88 str r0, [r4, #0x10] add r0, r5, #0 bl MOD16_021D7A9C str r0, [r4, #0x14] add r0, r5, #0 bl MOD16_021D7AB0 str r0, [r4, #0x18] add r0, r5, #0 bl MOD16_021D7AC4 str r0, [r4, #0x1c] add r0, r5, #0 mov r1, #0 bl MOD16_021D7B5C str r0, [r4, #0x20] add r0, r5, #0 mov r1, #0 bl MOD16_021D7B7C str r0, [r4, #0x24] mov r0, #0 str r0, [r4, #0x28] str r0, [r4, #0x2c] str r4, [r6, #0x10] pop {r4, r5, r6, pc} nop _021DAE90: .word MOD16_021DAA50 thumb_func_end MOD16_021DAE0C thumb_func_start MOD16_021DAE94 MOD16_021DAE94: ; 0x021DAE94 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, _021DAED0 ; =MOD16_021DA95C str r3, [r5] add r6, r1, #0 str r0, [r5, #4] add r0, r2, #0 mov r1, #0xc bl AllocFromHeap add r4, r0, #0 bne _021DAEB0 bl GF_AssertFail _021DAEB0: add r0, r6, #0 mov r1, #0 bl MOD16_021D7B5C str r0, [r4] add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] str r4, [r5, #0x10] pop {r4, r5, r6, pc} nop _021DAED0: .word MOD16_021DA95C thumb_func_end MOD16_021DAE94 thumb_func_start MOD16_021DAED4 MOD16_021DAED4: ; 0x021DAED4 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DAF34 ; =MOD16_021DAB74 str r3, [r5] str r1, [r5, #4] mov r1, #0x18 add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DAEEE bl GF_AssertFail _021DAEEE: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021DAEF4: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DAEF4 add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r6, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 bl MOD16_021D7A9C str r0, [r4, #0xc] add r0, r6, #0 mov r1, #6 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r6, #0 mov r1, #4 bl MOD16_021D7B7C str r0, [r4, #0x14] str r4, [r5, #0x10] pop {r4, r5, r6, pc} .align 2, 0 _021DAF34: .word MOD16_021DAB74 thumb_func_end MOD16_021DAED4 thumb_func_start MOD16_021DAF38 MOD16_021DAF38: ; 0x021DAF38 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DAF98 ; =MOD16_021DAB74 str r3, [r5] str r1, [r5, #4] mov r1, #0x18 add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DAF52 bl GF_AssertFail _021DAF52: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021DAF58: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DAF58 add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r6, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 bl MOD16_021D7A9C str r0, [r4, #0xc] add r0, r6, #0 mov r1, #7 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r6, #0 mov r1, #5 bl MOD16_021D7B7C str r0, [r4, #0x14] str r4, [r5, #0x10] pop {r4, r5, r6, pc} .align 2, 0 _021DAF98: .word MOD16_021DAB74 thumb_func_end MOD16_021DAF38 thumb_func_start MOD16_021DAF9C MOD16_021DAF9C: ; 0x021DAF9C push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DAFFC ; =MOD16_021DAB74 str r3, [r5] str r1, [r5, #4] mov r1, #0x18 add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DAFB6 bl GF_AssertFail _021DAFB6: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021DAFBC: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DAFBC add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r6, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 bl MOD16_021D7A9C str r0, [r4, #0xc] add r0, r6, #0 mov r1, #8 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r6, #0 mov r1, #6 bl MOD16_021D7B7C str r0, [r4, #0x14] str r4, [r5, #0x10] pop {r4, r5, r6, pc} .align 2, 0 _021DAFFC: .word MOD16_021DAB74 thumb_func_end MOD16_021DAF9C thumb_func_start MOD16_021DB000 MOD16_021DB000: ; 0x021DB000 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DB054 ; =MOD16_021DA95C str r3, [r5] str r1, [r5, #4] mov r1, #0xc add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DB01A bl GF_AssertFail _021DB01A: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 mov r1, #8 bl MOD16_021D7B5C str r0, [r4] str r4, [r5, #0x10] pop {r4, r5, r6, pc} nop _021DB054: .word MOD16_021DA95C thumb_func_end MOD16_021DB000 thumb_func_start MOD16_021DB058 MOD16_021DB058: ; 0x021DB058 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DB0AC ; =MOD16_021DA95C str r3, [r5] str r1, [r5, #4] mov r1, #0xc add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DB072 bl GF_AssertFail _021DB072: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 mov r1, #9 bl MOD16_021D7B5C str r0, [r4] str r4, [r5, #0x10] pop {r4, r5, r6, pc} nop _021DB0AC: .word MOD16_021DA95C thumb_func_end MOD16_021DB058 thumb_func_start MOD16_021DB0B0 MOD16_021DB0B0: ; 0x021DB0B0 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DB110 ; =MOD16_021DAB74 str r3, [r5] str r1, [r5, #4] mov r1, #0x18 add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DB0CA bl GF_AssertFail _021DB0CA: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021DB0D0: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DB0D0 add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r6, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 bl MOD16_021D7A9C str r0, [r4, #0xc] add r0, r6, #0 mov r1, #2 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r6, #0 mov r1, #2 bl MOD16_021D7B7C str r0, [r4, #0x14] str r4, [r5, #0x10] pop {r4, r5, r6, pc} .align 2, 0 _021DB110: .word MOD16_021DAB74 thumb_func_end MOD16_021DB0B0 thumb_func_start MOD16_021DB114 MOD16_021DB114: ; 0x021DB114 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DB168 ; =MOD16_021DA95C str r3, [r5] str r1, [r5, #4] mov r1, #0xc add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DB12E bl GF_AssertFail _021DB12E: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 mov r1, #2 bl MOD16_021D7B5C str r0, [r4] str r4, [r5, #0x10] pop {r4, r5, r6, pc} nop _021DB168: .word MOD16_021DA95C thumb_func_end MOD16_021DB114 thumb_func_start MOD16_021DB16C MOD16_021DB16C: ; 0x021DB16C push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DB1CC ; =MOD16_021DAB74 str r3, [r5] str r1, [r5, #4] mov r1, #0x18 add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DB186 bl GF_AssertFail _021DB186: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021DB18C: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DB18C add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4] add r0, r6, #0 bl MOD16_021D7A4C str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 bl MOD16_021D7A9C str r0, [r4, #0xc] add r0, r6, #0 mov r1, #3 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r6, #0 mov r1, #7 bl MOD16_021D7B7C str r0, [r4, #0x14] str r4, [r5, #0x10] pop {r4, r5, r6, pc} .align 2, 0 _021DB1CC: .word MOD16_021DAB74 thumb_func_end MOD16_021DB16C thumb_func_start MOD16_021DB1D0 MOD16_021DB1D0: ; 0x021DB1D0 push {r4, r5, r6, lr} add r5, r1, #0 ldr r1, _021DB224 ; =MOD16_021DA95C str r3, [r5] str r1, [r5, #4] mov r1, #0xc add r6, r2, #0 bl AllocFromHeap add r4, r0, #0 bne _021DB1EA bl GF_AssertFail _021DB1EA: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r6, #0 bl MOD16_021D7A38 str r0, [r4, #4] add r0, r6, #0 bl MOD16_021D7A88 str r0, [r4, #8] add r0, r6, #0 mov r1, #4 bl MOD16_021D7B5C str r0, [r4] str r4, [r5, #0x10] pop {r4, r5, r6, pc} nop _021DB224: .word MOD16_021DA95C thumb_func_end MOD16_021DB1D0 thumb_func_start MOD16_021DB228 MOD16_021DB228: ; 0x021DB228 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0xc] mov r1, #0x18 bl AllocFromHeap add r4, r0, #0 bne _021DB23C bl GF_AssertFail _021DB23C: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021DB242: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DB242 ldr r0, [r5, #8] ldr r1, [r5, #0xc] bl FUN_02011744 str r0, [r4] ldr r1, [r5, #8] ldr r0, [r5, #0xc] lsl r1, r1, #4 bl AllocFromHeap str r0, [r4, #0xc] cmp r0, #0 bne _021DB268 bl GF_AssertFail _021DB268: ldr r2, [r5, #8] ldr r0, [r4, #0xc] mov r1, #0 lsl r2, r2, #4 bl memset ldr r0, [r5, #8] str r0, [r4, #0x10] ldr r0, [r5] str r0, [r4, #4] ldr r0, [r5, #4] str r0, [r4, #8] ldr r0, [r5, #0xc] str r0, [r4, #0x14] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DB228 thumb_func_start MOD16_021DB288 MOD16_021DB288: ; 0x021DB288 push {r4, lr} add r4, r0, #0 bne _021DB292 bl GF_AssertFail _021DB292: add r0, r4, #0 bl MOD16_021DB358 ldr r0, [r4, #0xc] bl FreeToHeap ldr r0, [r4] bl FUN_020117BC add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021DB2AA: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DB2AA add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DB288 thumb_func_start MOD16_021DB2BC MOD16_021DB2BC: ; 0x021DB2BC push {r4, lr} add r4, r0, #0 ldr r0, [r4, #4] ldr r1, [r4, #0x20] ldr r2, [r4, #0x24] bl FUN_02011898 add r1, r0, #0 add r0, r4, #0 bl MOD16_021DB2D4 pop {r4, pc} thumb_func_end MOD16_021DB2BC thumb_func_start MOD16_021DB2D4 MOD16_021DB2D4: ; 0x021DB2D4 push {r4, r5, r6, lr} sub sp, #0x30 add r5, r0, #0 ldr r0, [r5] add r6, r1, #0 bl MOD16_021DB460 add r4, r0, #0 bne _021DB2EA bl GF_AssertFail _021DB2EA: ldr r2, [r5, #0x20] add r0, r6, #0 mov r1, #1 add r3, r4, #4 bl FUN_0201D568 ldr r0, [r5] ldr r0, [r0] str r0, [sp] ldr r0, [r5, #4] str r0, [sp, #4] ldr r0, [r5] ldr r0, [r0, #4] str r0, [sp, #8] ldr r0, [r5, #8] str r0, [sp, #0xc] ldr r0, [r5, #0xc] str r0, [sp, #0x10] ldr r0, [r4, #8] str r0, [sp, #0x14] ldr r0, [r5, #0x10] str r0, [sp, #0x18] ldr r0, [r5, #0x14] str r0, [sp, #0x1c] ldr r0, [r5, #0x18] str r0, [sp, #0x20] ldr r0, [r5, #0x1c] str r0, [sp, #0x24] ldr r0, [r5, #0x20] str r0, [sp, #0x28] ldr r0, [r5, #0x24] str r0, [sp, #0x2c] add r0, sp, #0 bl FUN_020117E8 str r0, [r4] add r0, r4, #0 add sp, #0x30 pop {r4, r5, r6, pc} thumb_func_end MOD16_021DB2D4 thumb_func_start MOD16_021DB338 MOD16_021DB338: ; 0x021DB338 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_02011870 add r0, r4, #4 bl FUN_0201D5E8 mov r1, #0x10 mov r0, #0 _021DB34C: strb r0, [r4] add r4, r4, #1 sub r1, r1, #1 bne _021DB34C pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DB338 thumb_func_start MOD16_021DB358 MOD16_021DB358: ; 0x021DB358 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #0x10] mov r6, #0 cmp r0, #0 ble _021DB384 add r4, r6, #0 _021DB366: ldr r0, [r5, #0xc] add r0, r0, r4 bl MOD16_021DB450 cmp r0, #0 beq _021DB37A ldr r0, [r5, #0xc] add r0, r0, r4 bl MOD16_021DB338 _021DB37A: ldr r0, [r5, #0x10] add r6, r6, #1 add r4, #0x10 cmp r6, r0 blt _021DB366 _021DB384: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DB358 thumb_func_start MOD16_021DB388 MOD16_021DB388: ; 0x021DB388 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5, #0x14] add r4, r1, #0 mov r1, #1 add r6, r2, #0 bl AllocWindows add r7, r0, #0 bl InitWindow mov r0, #0 str r0, [sp] str r0, [sp, #4] lsl r2, r4, #0x18 lsl r3, r6, #0x18 ldr r0, [r5, #8] add r1, r7, #0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 bl FUN_020190EC add r0, r7, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DB388 thumb_func_start MOD16_021DB3BC MOD16_021DB3BC: ; 0x021DB3BC ldr r3, _021DB3C4 ; =FUN_020191A4 mov r1, #1 bx r3 nop _021DB3C4: .word FUN_020191A4 thumb_func_end MOD16_021DB3BC thumb_func_start MOD16_021DB3C8 MOD16_021DB3C8: ; 0x021DB3C8 push {r4, r5, r6, lr} sub sp, #0x10 add r5, r0, #0 add r4, r3, #0 add r6, r1, #0 ldr r3, [r5, #0x14] mov r0, #0 mov r1, #0x1a bl NewMsgDataFromNarc add r5, r0, #0 bne _021DB3E4 bl GF_AssertFail _021DB3E4: add r0, r5, #0 add r1, r4, #0 bl NewString_ReadMsgData add r4, r0, #0 ldr r0, [sp, #0x24] ldr r3, [sp, #0x20] str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _021DB428 ; =0x00030201 mov r1, #2 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] add r0, r6, #0 add r2, r4, #0 bl AddTextPrinterParameterized2 mov r0, #2 add r1, r4, #0 mov r2, #0 bl FUN_02002E14 add r6, r0, #0 add r0, r4, #0 bl String_dtor add r0, r5, #0 bl DestroyMsgData add r0, r6, #0 add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 _021DB428: .word 0x00030201 thumb_func_end MOD16_021DB3C8 thumb_func_start MOD16_021DB42C MOD16_021DB42C: ; 0x021DB42C push {r3, lr} sub sp, #0x10 ldr r0, [sp, #0x18] str r0, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _021DB44C ; =0x00030201 str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] add r0, r1, #0 mov r1, #2 bl AddTextPrinterParameterized2 add sp, #0x10 pop {r3, pc} .align 2, 0 _021DB44C: .word 0x00030201 thumb_func_end MOD16_021DB42C thumb_func_start MOD16_021DB450 MOD16_021DB450: ; 0x021DB450 ldr r0, [r0] cmp r0, #0 beq _021DB45A mov r0, #1 bx lr _021DB45A: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021DB450 thumb_func_start MOD16_021DB460 MOD16_021DB460: ; 0x021DB460 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #0x10] mov r6, #0 cmp r0, #0 ble _021DB48C add r4, r6, #0 _021DB46E: ldr r0, [r5, #0xc] add r0, r0, r4 bl MOD16_021DB450 cmp r0, #0 bne _021DB482 ldr r1, [r5, #0xc] lsl r0, r6, #4 add r0, r1, r0 pop {r4, r5, r6, pc} _021DB482: ldr r0, [r5, #0x10] add r6, r6, #1 add r4, #0x10 cmp r6, r0 blt _021DB46E _021DB48C: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021DB460 thumb_func_start MOD16_021DB490 MOD16_021DB490: ; 0x021DB490 push {r3, lr} mov r1, #0x14 bl AllocFromHeap add r3, r0, #0 mov r2, #0x14 mov r1, #0 _021DB49E: strb r1, [r3] add r3, r3, #1 sub r2, r2, #1 bne _021DB49E pop {r3, pc} thumb_func_end MOD16_021DB490 thumb_func_start MOD16_021DB4A8 MOD16_021DB4A8: ; 0x021DB4A8 ldr r3, _021DB4AC ; =FreeToHeap bx r3 .align 2, 0 _021DB4AC: .word FreeToHeap thumb_func_end MOD16_021DB4A8 thumb_func_start MOD16_021DB4B0 MOD16_021DB4B0: ; 0x021DB4B0 push {r3, r4, r5, r6} add r6, r0, #0 mov r5, #0x14 mov r4, #0 _021DB4B8: strb r4, [r6] add r6, r6, #1 sub r5, r5, #1 bne _021DB4B8 str r1, [r0] str r2, [r0, #4] str r3, [r0, #8] pop {r3, r4, r5, r6} bx lr .align 2, 0 thumb_func_end MOD16_021DB4B0 thumb_func_start MOD16_021DB4CC MOD16_021DB4CC: ; 0x021DB4CC push {r3, r4, r5, lr} add r5, r0, #0 add r4, r2, #0 cmp r1, #4 bhi _021DB526 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DB4E2: ; jump table .short _021DB4EC - _021DB4E2 - 2 ; case 0 .short _021DB4F4 - _021DB4E2 - 2 ; case 1 .short _021DB4FC - _021DB4E2 - 2 ; case 2 .short _021DB50E - _021DB4E2 - 2 ; case 3 .short _021DB520 - _021DB4E2 - 2 ; case 4 _021DB4EC: add r1, r4, #0 bl MOD16_021DB68C pop {r3, r4, r5, pc} _021DB4F4: add r1, r4, #0 bl MOD16_021DB6BC pop {r3, r4, r5, pc} _021DB4FC: cmp r4, #0 blt _021DB506 ldr r0, [r5, #4] cmp r4, r0 blt _021DB50A _021DB506: bl GF_AssertFail _021DB50A: str r4, [r5, #0xc] pop {r3, r4, r5, pc} _021DB50E: cmp r4, #0 blt _021DB518 ldr r0, [r5, #8] cmp r4, r0 blt _021DB51C _021DB518: bl GF_AssertFail _021DB51C: str r4, [r5, #0x10] pop {r3, r4, r5, pc} _021DB520: add r1, r4, #0 bl MOD16_021DB6EC _021DB526: pop {r3, r4, r5, pc} thumb_func_end MOD16_021DB4CC thumb_func_start MOD16_021DB528 MOD16_021DB528: ; 0x021DB528 ldr r2, [r0, #0x10] ldr r1, [r0, #4] add r3, r2, #0 mul r3, r1 ldr r1, [r0, #0xc] add r2, r3, r1 ldr r1, [r0] mov r0, #0x1c mul r0, r2 add r0, r1, r0 ldr r0, [r0, #0x18] bx lr thumb_func_end MOD16_021DB528 thumb_func_start MOD16_021DB540 MOD16_021DB540: ; 0x021DB540 push {r4, r5} ldr r4, [r0, #0x10] ldr r3, [r0, #4] add r5, r4, #0 mul r5, r3 ldr r3, [r0, #0xc] add r5, r5, r3 mov r3, #0x1c add r4, r5, #0 mul r4, r3 ldr r3, [r0] ldr r3, [r3, r4] str r3, [r1] ldr r0, [r0] add r0, r0, r4 ldr r0, [r0, #4] str r0, [r2] pop {r4, r5} bx lr .align 2, 0 thumb_func_end MOD16_021DB540 thumb_func_start MOD16_021DB568 MOD16_021DB568: ; 0x021DB568 push {r4, r5} ldr r4, [r0, #0x10] ldr r3, [r0, #4] add r5, r4, #0 mul r5, r3 ldr r3, [r0, #0xc] add r5, r5, r3 mov r3, #0x1c add r4, r5, #0 mul r4, r3 ldr r3, [r0] add r3, r3, r4 ldr r3, [r3, #8] str r3, [r1] ldr r0, [r0] add r0, r0, r4 ldr r0, [r0, #0xc] str r0, [r2] pop {r4, r5} bx lr thumb_func_end MOD16_021DB568 thumb_func_start MOD16_021DB590 MOD16_021DB590: ; 0x021DB590 str r1, [r0] str r2, [r0, #4] ldr r1, [sp] str r3, [r0, #8] str r1, [r0, #0xc] ldr r1, [sp, #4] str r1, [r0, #0x10] ldr r1, [sp, #8] str r1, [r0, #0x14] ldr r1, [sp, #0xc] str r1, [r0, #0x18] bx lr thumb_func_end MOD16_021DB590 thumb_func_start MOD16_021DB5A8 MOD16_021DB5A8: ; 0x021DB5A8 push {r3, r4, r5, r6} ldr r4, [sp, #0x10] cmp r0, #0 beq _021DB5B4 cmp r0, #2 bne _021DB5C0 _021DB5B4: ldr r6, [sp, #0x14] lsr r5, r6, #0x1f add r5, r6, r5 asr r5, r5, #1 sub r3, r3, r5 b _021DB5CA _021DB5C0: ldr r6, [sp, #0x14] lsr r5, r6, #0x1f add r5, r6, r5 asr r5, r5, #1 add r3, r3, r5 _021DB5CA: cmp r0, #1 bhi _021DB5DA ldr r5, [sp, #0x18] lsr r0, r5, #0x1f add r0, r5, r0 asr r0, r0, #1 sub r4, r4, r0 b _021DB5E4 _021DB5DA: ldr r5, [sp, #0x18] lsr r0, r5, #0x1f add r0, r5, r0 asr r0, r0, #1 add r4, r4, r0 _021DB5E4: str r3, [r1] str r4, [r2] pop {r3, r4, r5, r6} bx lr thumb_func_end MOD16_021DB5A8 thumb_func_start MOD16_021DB5EC MOD16_021DB5EC: ; 0x021DB5EC push {r4, r5, r6, lr} add r5, r0, #0 mov r0, #0 add r4, r1, #0 mvn r0, r0 cmp r4, r0 beq _021DB602 cmp r4, #1 beq _021DB602 bl GF_AssertFail _021DB602: ldr r0, [r5, #0xc] mov r1, #0x1c _021DB606: add r0, r0, r4 bmi _021DB626 ldr r2, [r5, #4] cmp r0, r2 bge _021DB626 ldr r3, [r5, #0x10] ldr r2, [r5, #4] mul r2, r3 add r6, r2, r0 add r2, r6, #0 ldr r3, [r5] mul r2, r1 add r6, r3, r2 ldr r2, [r6, #0x10] cmp r2, #2 beq _021DB606 _021DB626: cmp r0, #0 blt _021DB638 ldr r1, [r5, #4] cmp r0, r1 bge _021DB638 ldr r1, [r6, #0x10] cmp r1, #0 bne _021DB638 str r0, [r5, #0xc] _021DB638: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DB5EC thumb_func_start MOD16_021DB63C MOD16_021DB63C: ; 0x021DB63C push {r4, r5, r6, lr} add r5, r0, #0 mov r0, #0 add r4, r1, #0 mvn r0, r0 cmp r4, r0 beq _021DB652 cmp r4, #1 beq _021DB652 bl GF_AssertFail _021DB652: ldr r0, [r5, #0x10] mov r1, #0x1c _021DB656: add r0, r0, r4 bmi _021DB678 ldr r2, [r5, #8] cmp r0, r2 bge _021DB678 ldr r2, [r5, #4] add r3, r0, #0 mul r3, r2 ldr r2, [r5, #0xc] add r6, r3, r2 add r2, r6, #0 ldr r3, [r5] mul r2, r1 add r6, r3, r2 ldr r2, [r6, #0x14] cmp r2, #2 beq _021DB656 _021DB678: cmp r0, #0 blt _021DB68A ldr r1, [r5, #8] cmp r0, r1 bge _021DB68A ldr r1, [r6, #0x10] cmp r1, #0 bne _021DB68A str r0, [r5, #0x10] _021DB68A: pop {r4, r5, r6, pc} thumb_func_end MOD16_021DB63C thumb_func_start MOD16_021DB68C MOD16_021DB68C: ; 0x021DB68C push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 cmp r1, #0 bge _021DB698 neg r5, r1 b _021DB69A _021DB698: add r5, r1, #0 _021DB69A: add r0, r1, #0 add r1, r5, #0 bl _s32_div_f add r7, r0, #0 mov r4, #0 cmp r5, #0 ble _021DB6B8 _021DB6AA: add r0, r6, #0 add r1, r7, #0 bl MOD16_021DB5EC add r4, r4, #1 cmp r4, r5 blt _021DB6AA _021DB6B8: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DB68C thumb_func_start MOD16_021DB6BC MOD16_021DB6BC: ; 0x021DB6BC push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 cmp r1, #0 bge _021DB6C8 neg r5, r1 b _021DB6CA _021DB6C8: add r5, r1, #0 _021DB6CA: add r0, r1, #0 add r1, r5, #0 bl _s32_div_f add r7, r0, #0 mov r4, #0 cmp r5, #0 ble _021DB6E8 _021DB6DA: add r0, r6, #0 add r1, r7, #0 bl MOD16_021DB63C add r4, r4, #1 cmp r4, r5 blt _021DB6DA _021DB6E8: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DB6BC thumb_func_start MOD16_021DB6EC MOD16_021DB6EC: ; 0x021DB6EC push {r4, r5, r6, lr} add r4, r0, #0 ldr r2, [r4, #4] ldr r0, [r4, #8] add r3, r2, #0 mul r3, r0 mov r5, #0 cmp r3, #0 ble _021DB724 ldr r6, [r4] _021DB700: ldr r0, [r6, #0x18] cmp r1, r0 bne _021DB71C add r0, r5, #0 add r1, r2, #0 bl _s32_div_f str r1, [r4, #0xc] ldr r1, [r4, #4] add r0, r5, #0 bl _s32_div_f str r0, [r4, #0x10] pop {r4, r5, r6, pc} _021DB71C: add r5, r5, #1 add r6, #0x1c cmp r5, r3 blt _021DB700 _021DB724: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DB6EC thumb_func_start MOD16_021DB728 MOD16_021DB728: ; 0x021DB728 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 str r0, [sp, #0x10] ldr r0, [sp, #0x5c] str r2, [sp, #0x18] str r1, [sp, #0x14] str r0, [sp, #0x5c] mov r0, #0 str r3, [sp, #0x1c] add r1, sp, #0x48 str r0, [sp, #0x38] ldrb r0, [r1, #0x1c] str r0, [sp, #0x20] cmp r0, #0 ble _021DB7BC ldr r0, [sp, #0x38] ldrb r6, [r1, #0x10] str r0, [sp, #0x34] str r0, [sp, #0x30] ldrh r0, [r1, #0x24] str r0, [sp, #0x2c] ldrh r0, [r1, #0x20] str r0, [sp, #0x28] ldrb r0, [r1, #0x18] str r0, [sp, #0x24] _021DB75A: ldr r0, [sp, #0x24] mov r7, #0 cmp r0, #0 ble _021DB7A2 ldr r1, [sp, #0x5c] ldr r0, [sp, #0x30] add r4, r7, #0 add r5, r1, r0 ldr r1, [sp, #0x2c] ldr r0, [sp, #0x34] add r0, r1, r0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x3c] _021DB776: str r6, [sp] ldrb r0, [r5] ldr r1, [sp, #0x14] str r0, [sp, #4] ldr r0, [sp, #0x28] add r0, r0, r4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [sp, #0x3c] str r0, [sp, #0xc] ldr r0, [sp, #0x10] ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] bl MOD16_021DB7F4 ldr r0, [sp, #0x24] add r7, r7, #1 add r4, r4, r6 add r5, r5, #1 cmp r7, r0 blt _021DB776 _021DB7A2: ldr r0, [sp, #0x34] ldr r1, [sp, #0x30] add r0, r0, r6 str r0, [sp, #0x34] ldr r0, [sp, #0x20] add r0, r1, r0 str r0, [sp, #0x30] ldr r0, [sp, #0x38] add r1, r0, #1 ldr r0, [sp, #0x20] str r1, [sp, #0x38] cmp r1, r0 blt _021DB75A _021DB7BC: add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DB728 thumb_func_start MOD16_021DB7C0 MOD16_021DB7C0: ; 0x021DB7C0 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r2, #0 str r0, [sp, #4] add r5, r1, #0 mov r6, #0 cmp r7, #0 ble _021DB7F0 _021DB7D0: mov r4, #0 cmp r5, #0 ble _021DB7EA _021DB7D6: ldr r0, [sp, #4] add r1, r4, #0 add r2, r6, #0 add r3, r5, #0 str r7, [sp] bl MOD16_021DB84C add r4, r4, #1 cmp r4, r5 blt _021DB7D6 _021DB7EA: add r6, r6, #1 cmp r6, r7 blt _021DB7D0 _021DB7F0: add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DB7C0 thumb_func_start MOD16_021DB7F4 MOD16_021DB7F4: ; 0x021DB7F4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x20 str r1, [sp, #0x1c] ldr r1, [sp, #0x3c] str r0, [sp, #0x18] add r5, r2, #0 add r6, r3, #0 cmp r1, #0 beq _021DB848 ldr r0, [sp, #0x38] add r4, r1, #0 mul r4, r0 add r0, r4, #0 add r1, r5, #0 bl _s32_div_f add r7, r0, #0 add r0, r4, #0 add r1, r5, #0 bl _s32_div_f str r5, [sp] add r4, r1, #0 str r6, [sp, #4] add r0, sp, #0x28 ldrb r1, [r0, #0x18] lsl r2, r4, #0x10 lsl r3, r7, #0x10 str r1, [sp, #8] ldrb r0, [r0, #0x1c] ldr r1, [sp, #0x1c] lsr r2, r2, #0x10 str r0, [sp, #0xc] ldr r0, [sp, #0x38] lsr r3, r3, #0x10 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] str r0, [sp, #0x14] ldr r0, [sp, #0x18] bl BlitBitmapRectToWindow _021DB848: add sp, #0x20 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DB7F4 thumb_func_start MOD16_021DB84C MOD16_021DB84C: ; 0x021DB84C push {r4, r5, r6, r7, lr} sub sp, #0xc add r7, r2, #0 add r6, r1, #0 add r1, r7, #0 mul r1, r3 add r4, r0, #0 add r5, r6, r1 ldrb r1, [r4, r5] cmp r1, #0 bne _021DB87A ldr r1, [sp, #0x20] str r3, [sp] str r1, [sp, #4] add r1, sp, #8 add r2, r6, #0 add r3, r7, #0 bl MOD16_021DB8B0 ldr r0, [sp, #8] bl MOD16_021DB9D0 strb r0, [r4, r5] _021DB87A: add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DB84C thumb_func_start MOD16_021DB880 MOD16_021DB880: ; 0x021DB880 push {r3, r4} cmp r1, #0 blt _021DB88A cmp r1, r3 blt _021DB892 _021DB88A: mov r0, #0 mvn r0, r0 pop {r3, r4} bx lr _021DB892: cmp r2, #0 blt _021DB89C ldr r4, [sp, #8] cmp r2, r4 blt _021DB8A4 _021DB89C: mov r0, #0 mvn r0, r0 pop {r3, r4} bx lr _021DB8A4: mul r3, r2 add r1, r1, r3 ldrb r0, [r0, r1] pop {r3, r4} bx lr .align 2, 0 thumb_func_end MOD16_021DB880 thumb_func_start MOD16_021DB8B0 MOD16_021DB8B0: ; 0x021DB8B0 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r1, #0 ldr r1, [sp, #0x20] add r6, r2, #0 str r1, [sp, #0x20] add r7, r3, #0 mov r1, #0 str r1, [r5] ldr r4, [sp, #0x24] ldr r3, [sp, #0x20] add r1, r6, #0 sub r2, r7, #1 str r0, [sp, #4] str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB8DE ldr r1, [r5] mov r0, #1 orr r0, r1 str r0, [r5] _021DB8DE: ldr r0, [sp, #4] ldr r3, [sp, #0x20] add r1, r6, #0 add r2, r7, #1 str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB8F8 ldr r1, [r5] mov r0, #2 orr r0, r1 str r0, [r5] _021DB8F8: ldr r0, [sp, #4] ldr r3, [sp, #0x20] sub r1, r6, #1 add r2, r7, #0 str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB912 ldr r1, [r5] mov r0, #4 orr r0, r1 str r0, [r5] _021DB912: ldr r0, [sp, #4] ldr r3, [sp, #0x20] add r1, r6, #1 add r2, r7, #0 str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB92C ldr r1, [r5] mov r0, #8 orr r0, r1 str r0, [r5] _021DB92C: ldr r0, [r5] mov r1, #1 tst r1, r0 bne _021DB954 mov r1, #4 tst r0, r1 bne _021DB954 ldr r0, [sp, #4] ldr r3, [sp, #0x20] sub r1, r6, #1 sub r2, r7, #1 str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB954 ldr r1, [r5] mov r0, #0x10 orr r0, r1 str r0, [r5] _021DB954: ldr r0, [r5] mov r1, #1 tst r1, r0 bne _021DB97C mov r1, #8 tst r0, r1 bne _021DB97C ldr r0, [sp, #4] ldr r3, [sp, #0x20] add r1, r6, #1 sub r2, r7, #1 str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB97C ldr r1, [r5] mov r0, #0x20 orr r0, r1 str r0, [r5] _021DB97C: ldr r0, [r5] mov r1, #2 tst r1, r0 bne _021DB9A4 mov r1, #4 tst r0, r1 bne _021DB9A4 ldr r0, [sp, #4] ldr r3, [sp, #0x20] sub r1, r6, #1 add r2, r7, #1 str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB9A4 ldr r1, [r5] mov r0, #0x40 orr r0, r1 str r0, [r5] _021DB9A4: ldr r0, [r5] mov r1, #2 tst r1, r0 bne _021DB9CC mov r1, #8 tst r0, r1 bne _021DB9CC ldr r0, [sp, #4] ldr r3, [sp, #0x20] add r1, r6, #1 add r2, r7, #1 str r4, [sp] bl MOD16_021DB880 cmp r0, #1 bne _021DB9CC ldr r1, [r5] mov r0, #0x80 orr r0, r1 str r0, [r5] _021DB9CC: add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DB8B0 thumb_func_start MOD16_021DB9D0 MOD16_021DB9D0: ; 0x021DB9D0 push {r4, lr} cmp r0, #0x84 bgt _021DBAA6 blt _021DB9DA b _021DBB98 _021DB9DA: cmp r0, #0x58 bgt _021DBA8C blt _021DB9E2 b _021DBB70 _021DB9E2: cmp r0, #0x48 bgt _021DBA7E blt _021DB9EA b _021DBBA0 _021DB9EA: cmp r0, #0x41 bhi _021DBA84 add r1, r0, r0 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DB9FA: ; jump table .short _021DBAE8 - _021DB9FA - 2 ; case 0 .short _021DBAEC - _021DB9FA - 2 ; case 1 .short _021DBAF0 - _021DB9FA - 2 ; case 2 .short _021DBAFC - _021DB9FA - 2 ; case 3 .short _021DBAF4 - _021DB9FA - 2 ; case 4 .short _021DBB00 - _021DB9FA - 2 ; case 5 .short _021DBB08 - _021DB9FA - 2 ; case 6 .short _021DBB14 - _021DB9FA - 2 ; case 7 .short _021DBAF8 - _021DB9FA - 2 ; case 8 .short _021DBB04 - _021DB9FA - 2 ; case 9 .short _021DBB0C - _021DB9FA - 2 ; case 10 .short _021DBB18 - _021DB9FA - 2 ; case 11 .short _021DBB10 - _021DB9FA - 2 ; case 12 .short _021DBB1C - _021DB9FA - 2 ; case 13 .short _021DBB20 - _021DB9FA - 2 ; case 14 .short _021DBB24 - _021DB9FA - 2 ; case 15 .short _021DBB28 - _021DB9FA - 2 ; case 16 .short _021DBBA4 - _021DB9FA - 2 ; case 17 .short _021DBB8C - _021DB9FA - 2 ; case 18 .short _021DBBA4 - _021DB9FA - 2 ; case 19 .short _021DBBA4 - _021DB9FA - 2 ; case 20 .short _021DBBA4 - _021DB9FA - 2 ; case 21 .short _021DBBA4 - _021DB9FA - 2 ; case 22 .short _021DBBA4 - _021DB9FA - 2 ; case 23 .short _021DBB9C - _021DB9FA - 2 ; case 24 .short _021DBBA4 - _021DB9FA - 2 ; case 25 .short _021DBB80 - _021DB9FA - 2 ; case 26 .short _021DBBA4 - _021DB9FA - 2 ; case 27 .short _021DBBA4 - _021DB9FA - 2 ; case 28 .short _021DBBA4 - _021DB9FA - 2 ; case 29 .short _021DBBA4 - _021DB9FA - 2 ; case 30 .short _021DBBA4 - _021DB9FA - 2 ; case 31 .short _021DBB2C - _021DB9FA - 2 ; case 32 .short _021DBBA4 - _021DB9FA - 2 ; case 33 .short _021DBB90 - _021DB9FA - 2 ; case 34 .short _021DBBA4 - _021DB9FA - 2 ; case 35 .short _021DBB94 - _021DB9FA - 2 ; case 36 .short _021DBBA4 - _021DB9FA - 2 ; case 37 .short _021DBB7C - _021DB9FA - 2 ; case 38 .short _021DBBA4 - _021DB9FA - 2 ; case 39 .short _021DBBA4 - _021DB9FA - 2 ; case 40 .short _021DBBA4 - _021DB9FA - 2 ; case 41 .short _021DBBA4 - _021DB9FA - 2 ; case 42 .short _021DBBA4 - _021DB9FA - 2 ; case 43 .short _021DBBA4 - _021DB9FA - 2 ; case 44 .short _021DBBA4 - _021DB9FA - 2 ; case 45 .short _021DBBA4 - _021DB9FA - 2 ; case 46 .short _021DBBA4 - _021DB9FA - 2 ; case 47 .short _021DBB38 - _021DB9FA - 2 ; case 48 .short _021DBBA4 - _021DB9FA - 2 ; case 49 .short _021DBB68 - _021DB9FA - 2 ; case 50 .short _021DBBA4 - _021DB9FA - 2 ; case 51 .short _021DBBA4 - _021DB9FA - 2 ; case 52 .short _021DBBA4 - _021DB9FA - 2 ; case 53 .short _021DBBA4 - _021DB9FA - 2 ; case 54 .short _021DBBA4 - _021DB9FA - 2 ; case 55 .short _021DBBA4 - _021DB9FA - 2 ; case 56 .short _021DBBA4 - _021DB9FA - 2 ; case 57 .short _021DBBA4 - _021DB9FA - 2 ; case 58 .short _021DBBA4 - _021DB9FA - 2 ; case 59 .short _021DBBA4 - _021DB9FA - 2 ; case 60 .short _021DBBA4 - _021DB9FA - 2 ; case 61 .short _021DBBA4 - _021DB9FA - 2 ; case 62 .short _021DBBA4 - _021DB9FA - 2 ; case 63 .short _021DBB30 - _021DB9FA - 2 ; case 64 .short _021DBB84 - _021DB9FA - 2 ; case 65 _021DBA7E: cmp r0, #0x49 bgt _021DBA86 beq _021DBB78 _021DBA84: b _021DBBA4 _021DBA86: cmp r0, #0x50 beq _021DBB3C b _021DBBA4 _021DBA8C: cmp r0, #0x70 bgt _021DBA98 bge _021DBB50 cmp r0, #0x60 beq _021DBB44 b _021DBBA4 _021DBA98: cmp r0, #0x80 bgt _021DBAA0 beq _021DBB34 b _021DBBA4 _021DBAA0: cmp r0, #0x81 beq _021DBB88 b _021DBBA4 _021DBAA6: cmp r0, #0xb0 bgt _021DBAC6 bge _021DBB54 cmp r0, #0x90 bgt _021DBAB8 bge _021DBB40 cmp r0, #0x85 beq _021DBB74 b _021DBBA4 _021DBAB8: cmp r0, #0xa0 bgt _021DBAC0 beq _021DBB48 b _021DBBA4 _021DBAC0: cmp r0, #0xa4 beq _021DBB6C b _021DBBA4 _021DBAC6: cmp r0, #0xd0 bgt _021DBADA bge _021DBB58 cmp r0, #0xc0 bgt _021DBAD4 beq _021DBB4C b _021DBBA4 _021DBAD4: cmp r0, #0xc1 beq _021DBB64 b _021DBBA4 _021DBADA: cmp r0, #0xe0 bgt _021DBAE2 beq _021DBB5C b _021DBBA4 _021DBAE2: cmp r0, #0xf0 beq _021DBB60 b _021DBBA4 _021DBAE8: mov r4, #0 b _021DBBA8 _021DBAEC: mov r4, #2 b _021DBBA8 _021DBAF0: mov r4, #3 b _021DBBA8 _021DBAF4: mov r4, #4 b _021DBBA8 _021DBAF8: mov r4, #5 b _021DBBA8 _021DBAFC: mov r4, #6 b _021DBBA8 _021DBB00: mov r4, #7 b _021DBBA8 _021DBB04: mov r4, #8 b _021DBBA8 _021DBB08: mov r4, #9 b _021DBBA8 _021DBB0C: mov r4, #0xa b _021DBBA8 _021DBB10: mov r4, #0xb b _021DBBA8 _021DBB14: mov r4, #0xc b _021DBBA8 _021DBB18: mov r4, #0xd b _021DBBA8 _021DBB1C: mov r4, #0xe b _021DBBA8 _021DBB20: mov r4, #0xf b _021DBBA8 _021DBB24: mov r4, #0x10 b _021DBBA8 _021DBB28: mov r4, #0x11 b _021DBBA8 _021DBB2C: mov r4, #0x12 b _021DBBA8 _021DBB30: mov r4, #0x13 b _021DBBA8 _021DBB34: mov r4, #0x14 b _021DBBA8 _021DBB38: mov r4, #0x15 b _021DBBA8 _021DBB3C: mov r4, #0x16 b _021DBBA8 _021DBB40: mov r4, #0x17 b _021DBBA8 _021DBB44: mov r4, #0x18 b _021DBBA8 _021DBB48: mov r4, #0x19 b _021DBBA8 _021DBB4C: mov r4, #0x1a b _021DBBA8 _021DBB50: mov r4, #0x1b b _021DBBA8 _021DBB54: mov r4, #0x1c b _021DBBA8 _021DBB58: mov r4, #0x1d b _021DBBA8 _021DBB5C: mov r4, #0x1e b _021DBBA8 _021DBB60: mov r4, #0x1f b _021DBBA8 _021DBB64: mov r4, #0x20 b _021DBBA8 _021DBB68: mov r4, #0x21 b _021DBBA8 _021DBB6C: mov r4, #0x22 b _021DBBA8 _021DBB70: mov r4, #0x23 b _021DBBA8 _021DBB74: mov r4, #0x24 b _021DBBA8 _021DBB78: mov r4, #0x25 b _021DBBA8 _021DBB7C: mov r4, #0x26 b _021DBBA8 _021DBB80: mov r4, #0x27 b _021DBBA8 _021DBB84: mov r4, #0x28 b _021DBBA8 _021DBB88: mov r4, #0x29 b _021DBBA8 _021DBB8C: mov r4, #0x2a b _021DBBA8 _021DBB90: mov r4, #0x2b b _021DBBA8 _021DBB94: mov r4, #0x2c b _021DBBA8 _021DBB98: mov r4, #0x2d b _021DBBA8 _021DBB9C: mov r4, #0x2e b _021DBBA8 _021DBBA0: mov r4, #0x2f b _021DBBA8 _021DBBA4: bl GF_AssertFail _021DBBA8: add r0, r4, #0 pop {r4, pc} thumb_func_end MOD16_021DB9D0 thumb_func_start MOD16_021DBBAC MOD16_021DBBAC: ; 0x021DBBAC ldr r3, _021DBBB0 ; =String_dtor bx r3 .align 2, 0 _021DBBB0: .word String_dtor thumb_func_end MOD16_021DBBAC thumb_func_start MOD16_021DBBB4 MOD16_021DBBB4: ; 0x021DBBB4 add r1, r0, #1 ldr r0, _021DBBC0 ; =0x021FF568 ldr r3, _021DBBC4 ; =GetMeisterLanguage ldrb r0, [r0, r1] bx r3 nop _021DBBC0: .word MOD16_021FF568 _021DBBC4: .word GetMeisterLanguage thumb_func_end MOD16_021DBBB4 thumb_func_start MOD16_021DBBC8 MOD16_021DBBC8: ; 0x021DBBC8 push {r3, r4, r5, lr} sub sp, #0x10 add r4, r2, #0 add r2, sp, #4 str r2, [sp] add r2, sp, #0xc add r3, sp, #8 add r5, r0, #0 bl MOD16_021DBCE0 ldr r2, [sp, #4] cmp r2, #6 bne _021DBBEE add r0, r5, #0 add r1, r4, #0 bl GetSpeciesName add sp, #0x10 pop {r3, r4, r5, pc} _021DBBEE: ldr r1, [sp, #0xc] mov r0, #6 mul r0, r1 add r1, r2, r0 ldr r0, _021DBC04 ; =0x0000026E add r2, r4, #0 str r1, [sp, #4] bl MOD16_021DBCA0 add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021DBC04: .word 0x0000026E thumb_func_end MOD16_021DBBC8 thumb_func_start MOD16_021DBC08 MOD16_021DBC08: ; 0x021DBC08 push {r3, r4, r5, lr} sub sp, #0x10 add r4, r2, #0 add r2, sp, #4 str r2, [sp] add r2, sp, #0xc add r3, sp, #8 add r5, r0, #0 bl MOD16_021DBCE0 ldr r2, [sp, #4] cmp r2, #6 bne _021DBC28 str r5, [sp, #4] ldr r0, _021DBC40 ; =0x0000026D b _021DBC34 _021DBC28: ldr r1, [sp, #0xc] mov r0, #6 mul r0, r1 add r0, r2, r0 str r0, [sp, #4] ldr r0, _021DBC44 ; =0x0000026F _021DBC34: ldr r1, [sp, #4] add r2, r4, #0 bl MOD16_021DBCA0 add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021DBC40: .word 0x0000026D _021DBC44: .word 0x0000026F thumb_func_end MOD16_021DBC08 thumb_func_start MOD16_021DBC48 MOD16_021DBC48: ; 0x021DBC48 push {r4, r5, r6, lr} sub sp, #0x10 add r4, r2, #0 add r2, sp, #4 add r6, r3, #0 str r2, [sp] add r2, sp, #0xc add r3, sp, #8 add r5, r0, #0 bl MOD16_021DBCE0 ldr r0, [sp, #4] cmp r0, #6 bne _021DBC74 cmp r4, #1 blt _021DBC6C bl GF_AssertFail _021DBC6C: add r0, r5, r4 str r0, [sp, #4] .ifdef DIAMOND ldr r0, _021DBC98 ; =0x00000267 .else mov r0, #0x9a lsl r0, r0, #2 .endif b _021DBC8C _021DBC74: cmp r4, #1 blt _021DBC7C bl GF_AssertFail _021DBC7C: ldr r0, [sp, #4] ldr r1, [sp, #0xc] add r2, r0, r4 mov r0, #6 mul r0, r1 add r0, r2, r0 str r0, [sp, #4] ldr r0, _021DBC9C ; =0x00000269 _021DBC8C: ldr r1, [sp, #4] add r2, r6, #0 bl MOD16_021DBCA0 add sp, #0x10 pop {r4, r5, r6, pc} .ifdef DIAMOND _021DBC98: .word 0x00000267 .else nop .endif _021DBC9C: .word 0x00000269 thumb_func_end MOD16_021DBC48 thumb_func_start MOD16_021DBCA0 MOD16_021DBCA0: ; 0x021DBCA0 push {r4, r5, r6, lr} add r3, r0, #0 add r5, r2, #0 add r6, r1, #0 add r2, r3, #0 mov r0, #1 mov r1, #0x1a add r3, r5, #0 bl NewMsgDataFromNarc add r4, r0, #0 beq _021DBCDA mov r0, #1 lsl r0, r0, #8 add r1, r5, #0 bl String_ctor add r5, r0, #0 beq _021DBCD0 add r0, r4, #0 add r1, r6, #0 add r2, r5, #0 bl ReadMsgDataIntoString _021DBCD0: add r0, r4, #0 bl DestroyMsgData add r0, r5, #0 pop {r4, r5, r6, pc} _021DBCDA: mov r0, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DBCA0 thumb_func_start MOD16_021DBCE0 MOD16_021DBCE0: ; 0x021DBCE0 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 add r0, r1, #0 add r4, r2, #0 add r5, r3, #0 ldr r6, [sp, #0x18] bl GetMeisterLanguageIdx str r0, [r5] cmp r0, #6 blt _021DBCFA bl GF_AssertFail _021DBCFA: add r0, r7, #0 bl GetMeisterSpeciesIdx str r0, [r4] ldr r5, [r5] cmp r5, #6 blt _021DBD0C bl GF_AssertFail _021DBD0C: cmp r5, #1 bne _021DBD12 mov r5, #6 _021DBD12: str r5, [r6] ldr r0, [r4] cmp r0, #0xe bne _021DBD22 cmp r5, #6 beq _021DBD22 mov r0, #0 b _021DBD24 _021DBD22: mov r0, #1 _021DBD24: cmp r0, #0 bne _021DBD2C bl GF_AssertFail _021DBD2C: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DBCE0 thumb_func_start MOD16_021DBD30 MOD16_021DBD30: ; 0x021DBD30 push {r4, r5, lr} sub sp, #0xc add r4, r0, #0 cmp r2, #9 bhi _021DBD82 add r0, r2, r2 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DBD46: ; jump table .short _021DBD5A - _021DBD46 - 2 ; case 0 .short _021DBD5E - _021DBD46 - 2 ; case 1 .short _021DBD62 - _021DBD46 - 2 ; case 2 .short _021DBD66 - _021DBD46 - 2 ; case 3 .short _021DBD6A - _021DBD46 - 2 ; case 4 .short _021DBD70 - _021DBD46 - 2 ; case 5 .short _021DBD74 - _021DBD46 - 2 ; case 6 .short _021DBD78 - _021DBD46 - 2 ; case 7 .short _021DBD7C - _021DBD46 - 2 ; case 8 .short _021DBD80 - _021DBD46 - 2 ; case 9 _021DBD5A: mov r5, #4 b _021DBD82 _021DBD5E: ldr r5, _021DBDA0 ; =0x000001F3 b _021DBD82 _021DBD62: ldr r5, _021DBDA4 ; =0x000003E2 b _021DBD82 _021DBD66: ldr r5, _021DBDA8 ; =0x000005D1 b _021DBD82 _021DBD6A: mov r5, #0x1f lsl r5, r5, #6 b _021DBD82 _021DBD70: ldr r5, _021DBDAC ; =0x000009AF b _021DBD82 _021DBD74: ldr r5, _021DBDB0 ; =0x00000B9E b _021DBD82 _021DBD78: ldr r5, _021DBDB4 ; =0x00000D8D b _021DBD82 _021DBD7C: ldr r5, _021DBDB8 ; =0x00000F7C b _021DBD82 _021DBD80: ldr r5, _021DBDBC ; =0x0000116B _021DBD82: mov r2, #0 str r2, [sp] add r0, sp, #8 str r0, [sp, #4] .ifdef DIAMOND mov r0, #0x8b .else mov r0, #0x8c .endif add r1, r5, r1 bl GfGfxLoader_LoadFromNarc_GetSizeOut str r0, [r4] ldr r0, [sp, #8] lsr r0, r0, #2 str r0, [r4, #4] add sp, #0xc pop {r4, r5, pc} nop _021DBDA0: .word 0x000001F3 _021DBDA4: .word 0x000003E2 _021DBDA8: .word 0x000005D1 _021DBDAC: .word 0x000009AF _021DBDB0: .word 0x00000B9E _021DBDB4: .word 0x00000D8D _021DBDB8: .word 0x00000F7C _021DBDBC: .word 0x0000116B thumb_func_end MOD16_021DBD30 thumb_func_start MOD16_021DBDC0 MOD16_021DBDC0: ; 0x021DBDC0 push {r4, lr} add r4, r0, #0 bne _021DBDCA bl GF_AssertFail _021DBDCA: ldr r0, [r4] cmp r0, #0 bne _021DBDD4 bl GF_AssertFail _021DBDD4: ldr r0, [r4] bl FreeToHeap mov r0, #0 str r0, [r4] str r0, [r4, #4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DBDC0 thumb_func_start MOD16_021DBDE4 MOD16_021DBDE4: ; 0x021DBDE4 push {r3, r4, lr} sub sp, #0xc add r4, r1, #0 mov r1, #0 add r3, r0, #0 str r1, [sp] add r0, sp, #8 str r0, [sp, #4] .ifdef DIAMOND mov r0, #0x8b .else mov r0, #0x8c .endif add r2, r1, #0 bl GfGfxLoader_LoadFromNarc_GetSizeOut cmp r4, #0 beq _021DBE06 ldr r1, [sp, #8] lsr r1, r1, #2 str r1, [r4] _021DBE06: add sp, #0xc pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021DBDE4 thumb_func_start MOD16_021DBE0C MOD16_021DBE0C: ; 0x021DBE0C push {r4, r5, lr} sub sp, #0xc mov r2, #0 add r3, r0, #0 add r4, r1, #0 str r2, [sp] add r0, sp, #8 str r0, [sp, #4] .ifdef DIAMOND mov r0, #0x8b .else mov r0, #0x8c .endif mov r1, #2 bl GfGfxLoader_LoadFromNarc_GetSizeOut add r5, r0, #0 cmp r4, #0 beq _021DBE34 ldr r0, [sp, #8] mov r1, #0x24 bl _u32_div_f str r0, [r4] _021DBE34: add r0, r5, #0 add sp, #0xc pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DBE0C thumb_func_start MOD16_021DBE3C MOD16_021DBE3C: ; 0x021DBE3C push {r3, r4, r5, r6, r7, lr} sub sp, #8 str r1, [sp, #4] add r4, r3, #0 str r0, [sp] ldrb r1, [r4, #1] ldrb r0, [r4, #3] add r0, r1, r0 cmp r0, r2 blt _021DBE54 bl GF_AssertFail _021DBE54: ldrb r1, [r4] ldrb r0, [r4, #2] add r1, r1, r0 ldr r0, [sp, #4] cmp r1, r0 blt _021DBE64 bl GF_AssertFail _021DBE64: ldrb r7, [r4, #1] ldrb r0, [r4, #3] add r0, r7, r0 cmp r7, r0 bge _021DBEBE ldr r0, [sp, #4] mul r0, r7 mov ip, r0 _021DBE74: ldrb r5, [r4] ldrb r3, [r4, #2] add r1, r5, #0 add r0, r5, r3 cmp r5, r0 bge _021DBEAA ldr r2, [sp] mov r0, ip add r0, r2, r0 add r2, r0, r5 _021DBE88: sub r6, r1, r5 ldrb r5, [r4, #1] ldrb r0, [r2] add r1, r1, #1 sub r5, r7, r5 mul r5, r3 add r3, r4, r6 add r3, r5, r3 ldrb r3, [r3, #4] orr r0, r3 strb r0, [r2] ldrb r3, [r4, #2] ldrb r5, [r4] add r2, r2, #1 add r0, r5, r3 cmp r1, r0 blt _021DBE88 _021DBEAA: ldr r0, [sp, #4] mov r1, ip add r0, r1, r0 mov ip, r0 ldrb r1, [r4, #1] ldrb r0, [r4, #3] add r7, r7, #1 add r0, r1, r0 cmp r7, r0 blt _021DBE74 _021DBEBE: add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DBE3C thumb_func_start MOD16_021DBEC4 MOD16_021DBEC4: ; 0x021DBEC4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 str r0, [sp] ldr r0, [sp, #0x30] str r3, [sp, #4] str r0, [sp, #0x30] mov r0, #0 str r0, [sp, #8] str r0, [sp, #0xc] ldr r0, [sp, #0x30] ldr r5, [sp, #0x34] ldr r0, [r0, #4] ldr r4, [sp, #0x38] sub r0, r0, #1 cmp r0, #0 ble _021DBF4E lsl r0, r1, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] lsl r0, r2, #0x18 lsr r0, r0, #0x18 ldr r7, [sp, #8] str r0, [sp, #0x14] _021DBEF2: ldr r0, [sp, #0x30] ldr r0, [r0] ldr r0, [r0, r7] cmp r0, #0 bne _021DBF00 bl GF_AssertFail _021DBF00: mov r1, #0 cmp r4, #0 bls _021DBF18 ldr r0, [sp, #0x30] ldr r0, [r0] ldr r2, [r0, r7] _021DBF0C: ldrb r0, [r5, r1] cmp r2, r0 beq _021DBF18 add r1, r1, #1 cmp r1, r4 blo _021DBF0C _021DBF18: cmp r1, r4 blo _021DBF3A ldr r3, [sp, #0x30] mov r6, #0x24 ldr r3, [r3] ldr r0, [sp] ldr r3, [r3, r7] ldr r1, [sp, #0x10] mul r6, r3 ldr r3, [sp, #4] ldr r2, [sp, #0x14] add r3, r3, r6 bl MOD16_021DBE3C ldr r0, [sp, #8] add r0, r0, #1 str r0, [sp, #8] _021DBF3A: ldr r0, [sp, #0xc] add r7, r7, #4 add r0, r0, #1 str r0, [sp, #0xc] ldr r0, [sp, #0x30] ldr r0, [r0, #4] sub r1, r0, #1 ldr r0, [sp, #0xc] cmp r0, r1 blt _021DBEF2 _021DBF4E: ldr r0, [sp, #8] add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DBEC4 thumb_func_start MOD16_021DBF54 MOD16_021DBF54: ; 0x021DBF54 push {r3, r4, r5, r6, lr} sub sp, #0xc ldr r4, [sp, #0x24] add r5, r0, #0 ldrb r6, [r4] mul r3, r6 add r1, r1, r3 str r1, [sp] ldrb r6, [r4, #1] ldr r3, [sp, #0x20] lsl r1, r1, #0xc mul r3, r6 add r2, r2, r3 str r1, [sp] str r2, [sp, #4] lsl r1, r2, #0xc str r1, [sp, #4] add r1, sp, #0 bl FUN_02020044 ldrb r0, [r4, #2] cmp r0, #0 beq _021DBF8E ldr r1, [sp, #0x2c] add r0, r5, #0 bl FUN_02020130 add sp, #0xc pop {r3, r4, r5, r6, pc} _021DBF8E: ldr r1, [sp, #0x28] add r0, r5, #0 bl FUN_02020130 add sp, #0xc pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DBF54 thumb_func_start MOD16_021DBF9C MOD16_021DBF9C: ; 0x021DBF9C push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 mov ip, r0 ldr r0, [sp, #0x40] ldr r7, [sp, #0x50] str r0, [sp, #0x40] ldr r0, [sp, #0x44] str r1, [sp, #0x10] str r0, [sp, #0x44] ldr r0, [sp, #0x48] str r2, [sp, #0x14] str r0, [sp, #0x48] ldr r0, [sp, #0x4c] str r3, [sp, #0x18] str r0, [sp, #0x4c] ldr r0, [sp, #0x54] ldr r5, [sp, #0x5c] str r0, [sp, #0x54] ldr r0, [sp, #0x58] ldr r4, [sp, #0x60] str r0, [sp, #0x58] mov r0, #0 str r0, [sp, #0x20] str r0, [sp, #0x24] ldr r0, [r7, #4] sub r0, r0, #1 cmp r0, #0 ble _021DC05C add r0, r1, #0 lsl r1, r0, #2 mov r0, ip add r0, r0, r1 ldr r6, [sp, #0x20] str r0, [sp, #0x1c] _021DBFE0: ldr r0, [r7] ldr r0, [r0, r6] cmp r0, #0 bne _021DBFEC bl GF_AssertFail _021DBFEC: ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] cmp r1, r0 blt _021DBFF8 bl GF_AssertFail _021DBFF8: mov r1, #0 cmp r4, #0 bls _021DC00E ldr r0, [r7] ldr r2, [r0, r6] _021DC002: ldrb r0, [r5, r1] cmp r2, r0 beq _021DC00E add r1, r1, #1 cmp r1, r4 blo _021DC002 _021DC00E: cmp r1, r4 blo _021DC04A ldr r0, [sp, #0x48] ldr r2, [sp, #0x40] str r0, [sp] ldr r0, [r7] ldr r3, [sp, #0x44] ldr r0, [r0, r6] lsl r1, r0, #2 ldr r0, [sp, #0x4c] add r0, r0, r1 str r0, [sp, #4] ldr r0, [sp, #0x54] ldr r1, [sp, #0x18] str r0, [sp, #8] ldr r0, [sp, #0x58] str r0, [sp, #0xc] ldr r0, [sp, #0x1c] ldr r0, [r0] bl MOD16_021DBF54 ldr r0, [sp, #0x1c] add r0, r0, #4 str r0, [sp, #0x1c] ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] ldr r0, [sp, #0x20] add r0, r0, #1 str r0, [sp, #0x20] _021DC04A: ldr r0, [sp, #0x24] add r6, r6, #4 add r0, r0, #1 str r0, [sp, #0x24] ldr r0, [r7, #4] sub r1, r0, #1 ldr r0, [sp, #0x24] cmp r0, r1 blt _021DBFE0 _021DC05C: ldr r1, [sp, #0x64] ldr r0, [sp, #0x20] str r0, [r1] ldr r0, [sp, #0x10] add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DBF9C thumb_func_start MOD16_021DC068 MOD16_021DC068: ; 0x021DC068 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021DC10C add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021DC15C add r7, r0, #0 ldr r0, [sp] add r1, r5, #0 add r2, r4, #0 bl MOD16_021DC198 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021DC230 str r0, [r5, #0x24] ldr r0, _021DC0B4 ; =MOD16_021DC234 str r0, [r5, #8] ldr r0, _021DC0B8 ; =MOD16_021DC280 str r0, [r5, #0xc] ldr r0, _021DC0BC ; =MOD16_021DC2B0 str r0, [r5, #0x10] ldr r0, _021DC0C0 ; =MOD16_021DC2C4 str r0, [r5, #0x14] ldr r0, _021DC0C4 ; =MOD16_021DC3A8 str r0, [r5, #0x18] ldr r0, _021DC0C8 ; =MOD16_021DC424 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} nop _021DC0B4: .word MOD16_021DC234 _021DC0B8: .word MOD16_021DC280 _021DC0BC: .word MOD16_021DC2B0 _021DC0C0: .word MOD16_021DC2C4 _021DC0C4: .word MOD16_021DC3A8 _021DC0C8: .word MOD16_021DC424 thumb_func_end MOD16_021DC068 thumb_func_start MOD16_021DC0CC MOD16_021DC0CC: ; 0x021DC0CC push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021DC148 ldr r0, [r4, #4] bl MOD16_021DC184 ldr r0, [r4, #0x20] bl MOD16_021DC1F8 pop {r4, pc} thumb_func_end MOD16_021DC0CC thumb_func_start MOD16_021DC0E4 MOD16_021DC0E4: ; 0x021DC0E4 ldr r1, [r0, #0x24] cmp r1, #1 beq _021DC102 ldr r1, [r0, #0x28] cmp r1, #1 beq _021DC102 ldr r1, [r0, #0x2c] cmp r1, #1 beq _021DC102 ldr r1, [r0, #0x30] cmp r1, #1 beq _021DC102 ldr r0, [r0, #0x34] cmp r0, #1 bne _021DC106 _021DC102: mov r0, #0 bx lr _021DC106: mov r0, #1 bx lr .align 2, 0 thumb_func_end MOD16_021DC0E4 thumb_func_start MOD16_021DC10C MOD16_021DC10C: ; 0x021DC10C push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x38 bl AllocFromHeap add r4, r0, #0 bne _021DC11E bl GF_AssertFail _021DC11E: add r0, r4, #0 mov r1, #0 mov r2, #0x38 bl memset add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] mov r0, #0 str r0, [r4, #0x10] str r0, [r4, #0x14] mov r0, #1 str r0, [r4, #0x1c] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DC10C thumb_func_start MOD16_021DC148 MOD16_021DC148: ; 0x021DC148 push {r4, lr} add r4, r0, #0 bne _021DC152 bl GF_AssertFail _021DC152: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DC148 thumb_func_start MOD16_021DC15C MOD16_021DC15C: ; 0x021DC15C push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021DC16E bl GF_AssertFail _021DC16E: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DC15C thumb_func_start MOD16_021DC184 MOD16_021DC184: ; 0x021DC184 push {r4, lr} add r4, r0, #0 bne _021DC18E bl GF_AssertFail _021DC18E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DC184 thumb_func_start MOD16_021DC198 MOD16_021DC198: ; 0x021DC198 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r2, #0 bl MOD16_021DC230 add r2, r0, #0 mov r1, #0x14 add r0, r5, #0 mul r1, r2 bl AllocFromHeap add r6, r0, #0 add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 mov r3, #1 bl MOD16_021DAC98 add r1, r6, #0 add r0, r5, #0 add r1, #0x14 add r2, r4, #0 mov r3, #2 bl MOD16_021DAD78 add r1, r6, #0 add r0, r5, #0 add r1, #0x28 add r2, r4, #0 mov r3, #4 bl MOD16_021DAD20 add r0, r6, #0 add r0, #0x3c add r1, r4, #0 add r2, r5, #0 mov r3, #8 bl MOD16_021DAE94 add r1, r6, #0 add r0, r5, #0 add r1, #0x50 add r2, r4, #0 mov r3, #0x10 bl MOD16_021DAE0C add r0, r6, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021DC198 thumb_func_start MOD16_021DC1F8 MOD16_021DC1F8: ; 0x021DC1F8 push {r4, lr} add r4, r0, #0 bne _021DC202 bl GF_AssertFail _021DC202: add r0, r4, #0 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x14 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x28 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x3c bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x50 bl MOD16_021DAC7C add r0, r4, #0 bl FreeToHeap pop {r4, pc} thumb_func_end MOD16_021DC1F8 thumb_func_start MOD16_021DC230 MOD16_021DC230: ; 0x021DC230 mov r0, #5 bx lr thumb_func_end MOD16_021DC230 thumb_func_start MOD16_021DC234 MOD16_021DC234: ; 0x021DC234 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #4] add r4, r1, #0 mov r1, #0x24 bl AllocFromHeap str r0, [r5, #8] cmp r0, #0 bne _021DC24C bl GF_AssertFail _021DC24C: ldr r0, [r5, #8] mov r1, #0 mov r2, #0x24 bl memset ldr r1, [r5, #8] add r0, r4, #0 bl MOD16_021DC4D4 ldr r0, [r4, #4] bl MOD16_021D9EEC mov r1, #1 str r1, [r4, #0x1c] mov r0, #0 str r0, [r4, #0x20] ldr r0, [r4, #0x18] cmp r0, #1 bne _021DC274 str r1, [r4, #0x10] _021DC274: add r0, r4, #0 bl MOD16_021DC540 mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DC234 thumb_func_start MOD16_021DC280 MOD16_021DC280: ; 0x021DC280 push {r3, lr} add r2, r0, #0 ldr r0, [r2, #0xc] ldr r3, [r2, #8] cmp r0, #1 bne _021DC290 mov r0, #1 pop {r3, pc} _021DC290: ldr r0, [r2] cmp r0, #0 bne _021DC2A0 mov r0, #0 str r0, [r1, #0x18] mov r0, #1 str r0, [r2] b _021DC2AA _021DC2A0: ldr r2, [r2, #4] add r0, r1, #0 add r1, r3, #0 bl MOD16_021DC4F8 _021DC2AA: mov r0, #0 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021DC280 thumb_func_start MOD16_021DC2B0 MOD16_021DC2B0: ; 0x021DC2B0 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DC2B0 thumb_func_start MOD16_021DC2C4 MOD16_021DC2C4: ; 0x021DC2C4 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r6, r2, #0 ldr r7, [r4, #8] cmp r0, #3 bhi _021DC39C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DC2E0: ; jump table .short _021DC2E8 - _021DC2E0 - 2 ; case 0 .short _021DC316 - _021DC2E0 - 2 ; case 1 .short _021DC360 - _021DC2E0 - 2 ; case 2 .short _021DC388 - _021DC2E0 - 2 ; case 3 _021DC2E8: mov r1, #0x52 ldr r0, [r4, #4] lsl r1, r1, #2 bl AllocFromHeap add r7, r0, #0 bne _021DC2FA bl GF_AssertFail _021DC2FA: str r7, [r4, #8] add r0, r7, #0 add r1, r6, #0 bl MOD16_021DD1A0 ldr r1, [r5] add r0, r7, #0 add r2, r6, #0 bl MOD16_021DCE44 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DC3A0 _021DC316: mov r0, #0x5d ldr r1, [r6, #4] lsl r0, r0, #6 ldr r0, [r1, r0] cmp r0, #0 bne _021DC32E ldr r1, [r5] ldr r3, [r4, #4] add r0, r7, #0 bl MOD16_021DC690 b _021DC338 _021DC32E: ldr r1, [r5] ldr r3, [r4, #4] add r0, r7, #0 bl MOD16_021DC770 _021DC338: ldr r0, [r6, #0x14] cmp r0, #0 beq _021DC34C add r0, r7, #0 add r1, r5, #0 add r2, r6, #0 mov r3, #1 bl MOD16_021DD7C4 b _021DC358 _021DC34C: add r0, r7, #0 add r1, r5, #0 add r2, r6, #0 mov r3, #1 bl MOD16_021DD724 _021DC358: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DC3A0 _021DC360: ldr r0, [r6, #0x14] cmp r0, #0 beq _021DC372 add r0, r7, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021DD850 b _021DC37C _021DC372: add r0, r7, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021DD760 _021DC37C: cmp r0, #0 beq _021DC3A0 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DC3A0 _021DC388: mov r0, #0x10 str r0, [sp] ldr r0, _021DC3A4 ; =0x04000050 mov r1, #1 mov r2, #8 mov r3, #0 bl G2x_SetBlendAlpha_ mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021DC39C: bl GF_AssertFail _021DC3A0: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DC3A4: .word 0x04000050 thumb_func_end MOD16_021DC2C4 thumb_func_start MOD16_021DC3A8 MOD16_021DC3A8: ; 0x021DC3A8 push {r3, r4, r5, r6, r7, lr} add r5, r2, #0 add r6, r0, #0 add r7, r1, #0 ldr r0, [r5, #0x1c] ldr r4, [r7, #8] cmp r0, #0 bne _021DC3BC mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021DC3BC: ldr r0, [r5, #4] bl MOD16_021D9EC4 mov r1, #0x51 lsl r1, r1, #2 ldr r2, [r4, r1] cmp r2, r0 beq _021DC3EC str r0, [r4, r1] add r0, r4, #0 add r1, r5, #0 bl MOD16_021DCFD4 ldr r1, [r6] ldr r3, [r7, #4] add r0, r4, #0 add r2, r5, #0 bl MOD16_021DD244 ldr r1, [r6] add r0, r4, #0 add r2, r5, #0 bl MOD16_021DCE44 _021DC3EC: add r0, r4, #0 add r1, r5, #0 bl MOD16_021DCF1C add r0, r4, #0 add r1, r5, #0 bl MOD16_021DD060 add r0, r4, #0 add r1, r5, #0 bl MOD16_021DD12C ldr r1, [r6] ldr r3, [r7, #4] add r0, r4, #0 add r2, r5, #0 bl MOD16_021DD1C0 ldr r1, [r6] add r0, r4, #0 add r2, r5, #0 bl MOD16_021DD49C add r0, r5, #0 bl MOD16_021DD4F0 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DC3A8 thumb_func_start MOD16_021DC424 MOD16_021DC424: ; 0x021DC424 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #3 bhi _021DC4C6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DC440: ; jump table .short _021DC448 - _021DC440 - 2 ; case 0 .short _021DC484 - _021DC440 - 2 ; case 1 .short _021DC4AC - _021DC440 - 2 ; case 2 .short _021DC4C2 - _021DC440 - 2 ; case 3 _021DC448: ldr r0, _021DC4D0 ; =0x04000050 mov r3, #0 strh r3, [r0] ldr r0, [r7, #0x14] cmp r0, #0 beq _021DC474 ldr r1, [r5] ldr r3, [r4, #4] add r0, r6, #0 bl MOD16_021DD6DC ldr r0, [r5] add r1, r7, #0 bl MOD16_021DD4E0 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021DD7C4 b _021DC47C _021DC474: add r0, r6, #0 add r1, r5, #0 bl MOD16_021DD724 _021DC47C: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DC4CA _021DC484: ldr r0, [r7, #0x14] cmp r0, #0 beq _021DC496 add r0, r6, #0 add r1, r5, #0 mov r3, #0 bl MOD16_021DD850 b _021DC4A0 _021DC496: add r0, r6, #0 add r1, r5, #0 mov r3, #0 bl MOD16_021DD760 _021DC4A0: cmp r0, #0 beq _021DC4CA ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DC4CA _021DC4AC: ldr r1, [r5] add r0, r6, #0 bl MOD16_021DC754 add r0, r6, #0 bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DC4CA _021DC4C2: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021DC4C6: bl GF_AssertFail _021DC4CA: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} nop _021DC4D0: .word 0x04000050 thumb_func_end MOD16_021DC424 thumb_func_start MOD16_021DC4D4 MOD16_021DC4D4: ; 0x021DC4D4 mov r2, #0 str r2, [r0, #8] str r2, [r1] mov r0, #0x3c str r0, [r1, #4] mov r0, #4 str r0, [r1, #8] str r0, [r1, #0xc] bx lr .align 2, 0 thumb_func_end MOD16_021DC4D4 thumb_func_start MOD16_021DC4E8 MOD16_021DC4E8: ; 0x021DC4E8 mov r0, #0xa lsl r0, r0, #6 str r0, [r1, #4] mov r0, #0 str r0, [r1, #8] str r0, [r1, #0xc] bx lr .align 2, 0 thumb_func_end MOD16_021DC4E8 thumb_func_start MOD16_021DC4F8 MOD16_021DC4F8: ; 0x021DC4F8 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021DC598 cmp r0, #1 beq _021DC53E add r0, r5, #0 bl MOD16_021DC540 ldr r0, [r4] cmp r0, #0 bne _021DC52A ldr r0, [r4, #0x14] cmp r0, #1 bne _021DC522 add r0, r4, #0 add r1, r5, #0 bl MOD16_021DDB0C b _021DC52A _021DC522: add r0, r4, #0 add r1, r5, #0 bl MOD16_021DDB58 _021DC52A: ldr r0, [r5, #0x20] cmp r0, #0 beq _021DC538 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DC620 _021DC538: add r0, r5, #0 bl MOD16_021DC550 _021DC53E: pop {r3, r4, r5, pc} thumb_func_end MOD16_021DC4F8 thumb_func_start MOD16_021DC540 MOD16_021DC540: ; 0x021DC540 mov r1, #0 str r1, [r0, #0x24] str r1, [r0, #0x28] str r1, [r0, #0x2c] str r1, [r0, #0x30] str r1, [r0, #0x34] bx lr .align 2, 0 thumb_func_end MOD16_021DC540 thumb_func_start MOD16_021DC550 MOD16_021DC550: ; 0x021DC550 ldr r1, _021DC594 ; =gMain mov r2, #2 ldr r1, [r1, #0x48] tst r2, r1 beq _021DC572 mov r1, #0x5d ldr r2, [r0, #4] lsl r1, r1, #6 ldr r1, [r2, r1] cmp r1, #0 bne _021DC56C mov r1, #1 str r1, [r0, #0x28] bx lr _021DC56C: mov r1, #1 str r1, [r0, #0x24] bx lr _021DC572: mov r3, #1 add r2, r1, #0 tst r2, r3 beq _021DC57E str r3, [r0, #0x2c] bx lr _021DC57E: lsl r2, r3, #0xa tst r2, r1 beq _021DC588 str r3, [r0, #0x34] bx lr _021DC588: mov r2, #4 tst r1, r2 beq _021DC590 str r3, [r0, #0x30] _021DC590: bx lr nop _021DC594: .word gMain thumb_func_end MOD16_021DC550 thumb_func_start MOD16_021DC598 MOD16_021DC598: ; 0x021DC598 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 ldr r1, [r5, #0x28] add r4, r2, #0 cmp r1, #0 beq _021DC5B4 bl MOD16_021DD9C8 ldr r0, _021DC618 ; =0x000005DD bl FUN_020054C8 mov r0, #1 pop {r4, r5, r6, pc} _021DC5B4: ldr r1, [r5, #0x24] cmp r1, #0 beq _021DC5CA add r1, r4, #0 bl MOD16_021DDAB4 ldr r0, _021DC618 ; =0x000005DD bl FUN_020054C8 mov r0, #1 pop {r4, r5, r6, pc} _021DC5CA: ldr r0, [r5, #0x2c] cmp r0, #0 beq _021DC5F6 ldr r0, [r5, #4] bl MOD16_021D9EC4 add r1, r0, #0 ldr r0, [r5, #4] bl MOD16_021D9EDC ldr r1, _021DC61C ; =0x000001EE cmp r0, r1 beq _021DC5F6 add r0, r6, #0 add r1, r5, #0 bl MOD16_021DD9E0 ldr r0, _021DC618 ; =0x000005DD bl FUN_020054C8 mov r0, #1 pop {r4, r5, r6, pc} _021DC5F6: ldr r0, [r5, #0x34] cmp r0, #0 beq _021DC604 add r0, r5, #0 bl MOD16_021DD9F8 pop {r4, r5, r6, pc} _021DC604: ldr r0, [r5, #0x30] cmp r0, #0 beq _021DC614 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DDA2C pop {r4, r5, r6, pc} _021DC614: mov r0, #0 pop {r4, r5, r6, pc} .align 2, 0 _021DC618: .word 0x000005DD _021DC61C: .word 0x000001EE thumb_func_end MOD16_021DC598 thumb_func_start MOD16_021DC620 MOD16_021DC620: ; 0x021DC620 push {r4, lr} add r4, r1, #0 ldr r1, [r4] cmp r1, #0 beq _021DC670 ldr r2, [r4, #4] ldr r1, [r0, #0xc] sub r1, r1, r2 cmp r1, #0 ble _021DC638 str r1, [r0, #0xc] pop {r4, pc} _021DC638: mov r1, #0 str r1, [r0, #0xc] str r1, [r4] ldr r0, [r4, #0xc] cmp r0, #0 ble _021DC670 ldr r0, [r4, #8] sub r0, r0, #1 cmp r0, #0 ble _021DC650 str r0, [r4, #8] pop {r4, pc} _021DC650: ldr r0, [r4, #4] bl _fflt ldr r1, _021DC674 ; =0x3FCCCCCD bl _fmul bl _ffix str r0, [r4, #4] ldr r0, [r4, #0xc] sub r1, r0, #1 mov r0, #4 sub r0, r0, r1 str r1, [r4, #0xc] lsl r0, r0, #2 str r0, [r4, #8] _021DC670: pop {r4, pc} nop _021DC674: .word 0x3FCCCCCD thumb_func_end MOD16_021DC620 thumb_func_start MOD16_021DC678 MOD16_021DC678: ; 0x021DC678 mov r3, #0xa lsl r3, r3, #6 str r3, [r0, #0xc] str r2, [r1] str r2, [r0, #8] bx lr thumb_func_end MOD16_021DC678 thumb_func_start MOD16_021DC684 MOD16_021DC684: ; 0x021DC684 ldr r3, _021DC68C ; =MOD16_021D9E70 ldr r0, [r0, #4] bx r3 nop _021DC68C: .word MOD16_021D9E70 thumb_func_end MOD16_021DC684 thumb_func_start MOD16_021DC690 MOD16_021DC690: ; 0x021DC690 push {r4, r5, r6, r7, lr} sub sp, #0xc add r6, r1, #0 mov r1, #0 add r5, r0, #0 add r4, r2, #0 add r7, r3, #0 str r1, [sp] add r0, r6, #0 add r2, r1, #0 add r3, r1, #0 str r7, [sp, #4] bl MOD16_021D8CFC add r0, r6, #0 add r1, r7, #0 bl MOD16_021DC860 ldr r0, [r4, #4] bl MOD16_021D9D04 add r3, r0, #0 add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021DC8F8 ldr r0, [r4, #4] bl MOD16_021D9F28 str r0, [sp, #8] ldr r0, [r4, #4] bl MOD16_021D9F34 add r3, r0, #0 ldr r2, [sp, #8] add r0, r6, #0 add r1, r7, #0 bl MOD16_021DC958 add r0, r5, #0 add r1, r7, #0 bl MOD16_021DCAB4 add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021DCB58 add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021DCCC0 add r0, r6, #0 add r1, r7, #0 bl MOD16_021DD63C str r0, [r5, #0x4c] add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 add r3, r7, #0 bl MOD16_021DCD68 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DCF10 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DCF1C add r0, r5, #0 add r1, r4, #0 bl MOD16_021DD060 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DD110 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DD12C add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 add r3, r7, #0 bl MOD16_021DD1C0 add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021DD49C add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021DC690 thumb_func_start MOD16_021DC754 MOD16_021DC754: ; 0x021DC754 push {r4, lr} add r4, r0, #0 bl MOD16_021DCED8 add r0, r4, #0 bl MOD16_021DCAFC add r0, r4, #0 bl MOD16_021DCEBC add r0, r4, #0 bl MOD16_021DC93C pop {r4, pc} thumb_func_end MOD16_021DC754 thumb_func_start MOD16_021DC770 MOD16_021DC770: ; 0x021DC770 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 add r7, r1, #0 add r4, r2, #0 mov r0, #0x20 str r0, [sp] add r6, r3, #0 mov r2, #0 add r0, r7, #0 mov r1, #4 add r3, r2, #0 str r6, [sp, #4] bl MOD16_021D8CFC add r0, r7, #0 mov r1, #0 add r2, sp, #0x10 add r3, r6, #0 bl MOD16_021D8D70 str r0, [sp, #0xc] ldr r0, [sp, #0x10] mov r1, #2 ldr r0, [r0, #0xc] lsl r1, r1, #8 str r0, [sp, #8] bl DC_FlushRange ldr r0, [sp, #8] mov r2, #0x1e add r0, #0x20 mov r1, #0x20 lsl r2, r2, #4 str r0, [sp, #8] bl GX_LoadBGPltt ldr r0, [sp, #0xc] bl FreeToHeap add r0, r7, #0 add r1, r6, #0 bl MOD16_021DC860 ldr r0, [r4, #4] bl MOD16_021D9D04 add r3, r0, #0 add r0, r5, #0 add r1, r7, #0 add r2, r6, #0 bl MOD16_021DC8F8 add r0, r5, #0 add r1, r6, #0 bl MOD16_021DCAB4 add r0, r5, #0 add r1, r7, #0 add r2, r6, #0 bl MOD16_021DCB58 add r0, r5, #0 add r1, r7, #0 add r2, r6, #0 bl MOD16_021DCCC0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021DD63C str r0, [r5, #0x4c] add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021DCD68 ldr r0, [r4, #4] bl MOD16_021D9F28 add r2, r0, #0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021DCA2C add r0, r5, #0 add r1, r4, #0 bl MOD16_021DCF10 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DCF1C add r0, r5, #0 add r1, r4, #0 bl MOD16_021DD060 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DD110 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DD12C add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021DD1C0 add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 bl MOD16_021DD49C add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DC770 thumb_func_start MOD16_021DC860 MOD16_021DC860: ; 0x021DC860 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] add r5, r0, #0 str r4, [sp, #0xc] ldr r2, [r5] mov r1, #0x1c mov r3, #3 bl MOD16_021D8CB4 str r4, [sp] add r0, r5, #0 mov r1, #0x26 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r6, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] add r0, r5, #0 mov r1, #0x27 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r4, r0, #0 ldr r2, [sp, #0x10] mov r0, #4 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #1 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap ldr r0, [r5] mov r1, #3 bl FUN_0201AC68 add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021DC860 thumb_func_start MOD16_021DC8F8 MOD16_021DC8F8: ; 0x021DC8F8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 add r6, r1, #0 str r0, [sp, #8] add r4, r2, #0 str r4, [sp, #0xc] add r7, r3, #0 ldr r2, [r6] add r0, r6, #0 mov r1, #0x1c mov r3, #2 bl MOD16_021D8CB4 cmp r7, #1 bne _021DC924 mov r1, #0x2a b _021DC926 _021DC924: mov r1, #0x28 _021DC926: add r3, r5, #0 add r0, r6, #0 mov r2, #1 add r3, #0xdc str r4, [sp] bl MOD16_021D8D48 add r5, #0xd8 str r0, [r5] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DC8F8 thumb_func_start MOD16_021DC93C MOD16_021DC93C: ; 0x021DC93C push {r4, lr} add r4, r0, #0 add r0, #0xd8 ldr r0, [r0] bl FreeToHeap add r0, r4, #0 mov r1, #0 add r0, #0xd8 str r1, [r0] add r4, #0xdc str r1, [r4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DC93C thumb_func_start MOD16_021DC958 MOD16_021DC958: ; 0x021DC958 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 mov r0, #0x20 add r6, r1, #0 add r7, r2, #0 str r3, [sp, #0x10] bl String_ctor add r4, r0, #0 ldr r2, _021DCA24 ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r6, #0 bl NewMsgDataFromNarc mov r1, #0 add r2, r4, #0 add r6, r0, #0 bl ReadMsgDataIntoString mov r0, #0x98 str r0, [sp] mov r1, #0 ldr r0, _021DCA28 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r4, #0 mov r3, #8 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 mov r1, #1 add r2, r4, #0 bl ReadMsgDataIntoString mov r0, #0x98 str r0, [sp] mov r1, #0 ldr r0, _021DCA28 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r4, #0 mov r3, #0x80 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 mov r0, #1 str r0, [sp] add r0, r4, #0 add r1, r7, #0 mov r2, #3 mov r3, #2 bl String16_FormatInteger mov r0, #0xaa str r0, [sp] mov r1, #0 ldr r0, _021DCA28 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r4, #0 mov r3, #0x30 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 mov r0, #1 str r0, [sp] ldr r1, [sp, #0x10] add r0, r4, #0 mov r2, #3 mov r3, #2 bl String16_FormatInteger mov r0, #0xaa str r0, [sp] mov r1, #0 ldr r0, _021DCA28 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r4, #0 mov r3, #0xb4 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r6, #0 bl DestroyMsgData ldr r0, [r5] mov r1, #1 bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021DCA24: .word 0x00000266 _021DCA28: .word 0x00020100 thumb_func_end MOD16_021DC958 thumb_func_start MOD16_021DCA2C MOD16_021DCA2C: ; 0x021DCA2C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #0x20 add r6, r1, #0 add r7, r2, #0 bl String_ctor add r4, r0, #0 ldr r2, _021DCAAC ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r6, #0 bl NewMsgDataFromNarc mov r1, #0x6c add r2, r4, #0 add r6, r0, #0 bl ReadMsgDataIntoString mov r0, #0x98 str r0, [sp] mov r1, #0 ldr r0, _021DCAB0 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r4, #0 mov r3, #8 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 mov r0, #1 str r0, [sp] add r0, r4, #0 add r1, r7, #0 mov r2, #3 mov r3, #2 bl String16_FormatInteger mov r0, #0xaa str r0, [sp] mov r1, #0 ldr r0, _021DCAB0 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r4, #0 mov r3, #0x30 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r6, #0 bl DestroyMsgData ldr r0, [r5] mov r1, #1 bl FUN_0201AC68 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DCAAC: .word 0x00000266 _021DCAB0: .word 0x00020100 thumb_func_end MOD16_021DCA2C thumb_func_start MOD16_021DCAB4 MOD16_021DCAB4: ; 0x021DCAB4 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 mov r0, #2 mov r1, #0 add r2, r4, #0 bl FUN_02008DEC add r1, r5, #0 add r1, #0x80 str r0, [r1] mov r0, #2 mov r1, #1 add r2, r4, #0 bl FUN_02008DEC add r1, r5, #0 add r1, #0x84 str r0, [r1] mov r0, #2 add r1, r0, #0 add r2, r4, #0 bl FUN_02008DEC add r1, r5, #0 add r1, #0x88 str r0, [r1] mov r0, #2 mov r1, #3 add r2, r4, #0 bl FUN_02008DEC add r5, #0x8c str r0, [r5] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DCAB4 thumb_func_start MOD16_021DCAFC MOD16_021DCAFC: ; 0x021DCAFC push {r4, lr} add r4, r0, #0 add r0, #0x80 ldr r0, [r0] mov r1, #0x51 bl FUN_020094F0 bl FUN_02009C0C add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #3 bl FUN_020094F0 bl FUN_02009E04 add r0, r4, #0 add r0, #0x80 ldr r0, [r0] mov r1, #0x6f bl FUN_020094F0 bl FUN_02009C0C add r0, r4, #0 add r0, #0x80 ldr r0, [r0] bl FUN_02008E2C add r0, r4, #0 add r0, #0x84 ldr r0, [r0] bl FUN_02008E2C add r0, r4, #0 add r0, #0x88 ldr r0, [r0] bl FUN_02008E2C add r4, #0x8c ldr r0, [r4] bl FUN_02008E2C pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DCAFC thumb_func_start MOD16_021DCB58 MOD16_021DCB58: ; 0x021DCB58 push {r4, r5, r6, r7, lr} sub sp, #0x2c add r5, r0, #0 add r0, r1, #0 add r4, r2, #0 bl MOD16_021D8C70 add r6, r0, #0 mov r2, #0x51 add r0, r5, #0 str r2, [sp] mov r3, #1 str r3, [sp, #4] str r4, [sp, #8] add r0, #0x80 ldr r0, [r0] add r1, r6, #0 bl FUN_020091E0 add r7, r0, #0 bl FUN_02009B04 add r0, r7, #0 bl FUN_02009474 mov r2, #3 str r2, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0xc str r0, [sp, #8] add r0, r5, #0 str r4, [sp, #0xc] add r0, #0x84 ldr r0, [r0] add r1, r6, #0 mov r3, #0 bl FUN_02009298 add r7, r0, #0 bl FUN_02009D68 add r0, r7, #0 bl FUN_02009474 mov r2, #0x4f str r2, [sp] mov r0, #2 str r0, [sp, #4] add r0, r5, #0 str r4, [sp, #8] add r0, #0x88 ldr r0, [r0] add r1, r6, #0 mov r3, #1 bl FUN_02009358 mov r2, #0x50 str r2, [sp] mov r0, #3 str r0, [sp, #4] add r0, r5, #0 str r4, [sp, #8] add r0, #0x8c ldr r0, [r0] add r1, r6, #0 mov r3, #1 bl FUN_02009358 mov r0, #0x50 str r0, [sp] sub r0, #0x51 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r1, #2 str r1, [sp, #0x10] add r1, r5, #0 add r1, #0x80 ldr r1, [r1] mov r2, #3 str r1, [sp, #0x14] add r1, r5, #0 add r1, #0x84 ldr r1, [r1] mov r3, #0x4f str r1, [sp, #0x18] add r1, r5, #0 add r1, #0x88 ldr r1, [r1] str r1, [sp, #0x1c] add r1, r5, #0 add r1, #0x8c ldr r1, [r1] str r1, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] add r0, r5, #0 add r0, #0x90 mov r1, #0x51 bl FUN_02008AA4 mov r2, #0x6f str r2, [sp] mov r3, #1 str r3, [sp, #4] add r0, r5, #0 str r4, [sp, #8] add r0, #0x80 ldr r0, [r0] add r1, r6, #0 bl FUN_020091E0 add r7, r0, #0 bl FUN_02009B04 add r0, r7, #0 bl FUN_02009474 mov r2, #0x6d str r2, [sp] mov r0, #2 str r0, [sp, #4] add r0, r5, #0 str r4, [sp, #8] add r0, #0x88 ldr r0, [r0] add r1, r6, #0 mov r3, #1 bl FUN_02009358 mov r2, #0x6e str r2, [sp] mov r0, #3 str r0, [sp, #4] add r0, r5, #0 str r4, [sp, #8] add r0, #0x8c ldr r0, [r0] add r1, r6, #0 mov r3, #1 bl FUN_02009358 mov r0, #0x6e str r0, [sp] sub r0, #0x6f str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r1, #2 str r1, [sp, #0x10] add r1, r5, #0 add r1, #0x80 ldr r1, [r1] mov r2, #3 str r1, [sp, #0x14] add r1, r5, #0 add r1, #0x84 ldr r1, [r1] mov r3, #0x6d str r1, [sp, #0x18] add r1, r5, #0 add r1, #0x88 ldr r1, [r1] str r1, [sp, #0x1c] add r1, r5, #0 add r1, #0x8c ldr r1, [r1] add r5, #0xb4 str r1, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] add r0, r5, #0 mov r1, #0x6f bl FUN_02008AA4 add sp, #0x2c pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021DCB58 thumb_func_start MOD16_021DCCC0 MOD16_021DCCC0: ; 0x021DCCC0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x20 mov r4, #0 add r6, r0, #0 add r3, r1, #0 add r5, sp, #0 add r0, r4, #0 add r1, r4, #0 stmia r5!, {r0, r1} stmia r5!, {r0, r1} stmia r5!, {r0, r1} stmia r5!, {r0, r1} mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r3, r0] add r5, r6, #0 str r0, [sp] add r0, r6, #0 add r0, #0x90 str r0, [sp, #4] mov r0, #1 str r0, [sp, #0x18] mov r0, #0x20 str r2, [sp, #0x1c] str r0, [sp, #0x14] add r7, r4, #0 _021DCCF4: add r0, sp, #0 bl FUN_0201FF84 add r1, r7, #0 stmia r5!, {r0} bl FUN_02020130 add r4, r4, #1 cmp r4, #9 blt _021DCCF4 mov r5, #0 str r5, [sp, #0x14] add r4, r6, #0 add r7, sp, #0 _021DCD10: add r0, r7, #0 bl FUN_0201FF84 mov r1, #1 str r0, [r4, #0x50] bl FUN_02020130 add r5, r5, #1 add r4, r4, #4 cmp r5, #9 blt _021DCD10 mov r0, #0 str r0, [sp, #0x14] add r0, sp, #0 bl FUN_0201FF84 mov r1, #2 str r0, [r6, #0x74] bl FUN_02020130 mov r0, #0 str r0, [sp, #0x14] mov r0, #0xe lsl r0, r0, #0xe str r0, [sp, #8] mov r0, #5 lsl r0, r0, #0x10 str r0, [sp, #0xc] add r0, r6, #0 add r0, #0xb4 str r0, [sp, #4] add r0, sp, #0 bl FUN_0201FF84 str r0, [r6, #0x7c] mov r1, #0 bl FUN_020200A0 ldr r0, [r6, #0x7c] mov r1, #1 bl FUN_02020398 add sp, #0x20 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DCCC0 thumb_func_start MOD16_021DCD68 MOD16_021DCD68: ; 0x021DCD68 push {r4, r5, r6, r7, lr} sub sp, #0x44 str r1, [sp, #8] str r0, [sp, #4] mov r1, #0x15 ldr r0, [sp, #8] lsl r1, r1, #4 ldr r0, [r0, r1] mov r1, #0 str r0, [sp, #0x1c] ldr r0, [sp, #4] add r7, r2, #0 add r0, #0x98 ldr r0, [r0] str r3, [sp, #0xc] str r0, [sp, #0x24] mov r0, #2 str r0, [sp, #0x34] mov r0, #1 str r0, [sp, #0x3c] add r0, r3, #0 str r1, [sp, #0x28] str r1, [sp, #0x2c] str r1, [sp, #0x30] str r1, [sp, #0x38] str r0, [sp, #0x40] ldr r0, [r7, #4] bl MOD16_021D9EC4 sub r4, r0, #4 ldr r0, [sp, #4] ldr r6, [r0, #0x24] ldr r0, [r7, #4] bl MOD16_021D9ED0 str r0, [sp, #0x10] mov r0, #0 str r0, [sp, #0x14] _021DCDB4: ldr r0, [sp, #4] lsl r1, r6, #2 add r5, r0, r1 ldr r0, [r5, #0x28] cmp r0, #0 beq _021DCDC8 bl MOD16_021DB338 mov r0, #0 str r0, [r5, #0x28] _021DCDC8: cmp r4, #0 blt _021DCE20 ldr r0, [sp, #0x10] cmp r4, r0 bge _021DCE20 ldr r0, [r7, #4] add r1, r4, #0 bl MOD16_021D9EDC add r1, r0, #0 ldr r0, _021DCE40 ; =0x000001EE cmp r1, r0 beq _021DCE0E ldr r0, [r7, #4] bl MOD16_021D9E08 add r3, r0, #0 ldr r0, [sp, #8] ldr r1, [r7, #4] ldr r2, [sp, #0xc] ldr r3, [r3] bl MOD16_021D7E14 ldr r1, [sp, #4] str r0, [sp, #0x20] str r0, [sp, #0x18] ldr r1, [r1, #0x4c] add r0, sp, #0x1c bl MOD16_021DB2D4 str r0, [r5, #0x28] ldr r0, [sp, #0x18] bl MOD16_021DB3BC b _021DCE24 _021DCE0E: add r0, r4, #1 str r0, [sp] ldr r0, [sp, #4] ldr r1, [sp, #8] ldr r2, [sp, #0xc] add r3, r6, #0 bl MOD16_021DD370 b _021DCE24 _021DCE20: mov r0, #0 str r0, [r5, #0x28] _021DCE24: add r0, r6, #1 mov r1, #9 bl _s32_div_f ldr r0, [sp, #0x14] add r6, r1, #0 add r0, r0, #1 add r4, r4, #1 str r0, [sp, #0x14] cmp r0, #9 blt _021DCDB4 add sp, #0x44 pop {r4, r5, r6, r7, pc} nop _021DCE40: .word 0x000001EE thumb_func_end MOD16_021DCD68 thumb_func_start MOD16_021DCE44 MOD16_021DCE44: ; 0x021DCE44 push {r4, r5, r6, r7, lr} sub sp, #0xc add r4, r2, #0 add r5, r0, #0 ldr r0, [r4, #4] add r6, r1, #0 bl MOD16_021D9EC4 str r0, [sp, #8] ldr r0, [r4, #4] bl MOD16_021D9D88 add r1, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9E08 add r7, r0, #0 ldr r0, [r4, #4] ldr r1, [sp, #8] bl MOD16_021D9EDC ldr r1, _021DCEB8 ; =0x000001EE cmp r0, r1 bne _021DCE8C add r0, r6, #0 mov r1, #0 bl MOD16_021D870C ldr r0, [r5, #0x7c] cmp r0, #0 beq _021DCEB4 mov r1, #1 bl FUN_020200A0 add sp, #0xc pop {r4, r5, r6, r7, pc} _021DCE8C: mov r0, #0x38 str r0, [sp] mov r0, #0x50 str r0, [sp, #4] ldr r1, [r4, #4] ldr r2, [r7] add r0, r6, #0 mov r3, #2 bl MOD16_021D7FB4 add r0, r6, #0 mov r1, #1 bl MOD16_021D870C ldr r0, [r5, #0x7c] cmp r0, #0 beq _021DCEB4 mov r1, #0 bl FUN_020200A0 _021DCEB4: add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _021DCEB8: .word 0x000001EE thumb_func_end MOD16_021DCE44 thumb_func_start MOD16_021DCEBC MOD16_021DCEBC: ; 0x021DCEBC push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021DCEC2: ldr r0, [r5, #0x28] cmp r0, #0 beq _021DCECC bl MOD16_021DB338 _021DCECC: add r4, r4, #1 add r5, r5, #4 cmp r4, #9 blt _021DCEC2 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DCEBC thumb_func_start MOD16_021DCED8 MOD16_021DCED8: ; 0x021DCED8 push {r4, r5, r6, lr} add r6, r0, #0 mov r4, #0 add r5, r6, #0 _021DCEE0: ldr r0, [r5] bl FUN_0201FFC8 add r4, r4, #1 add r5, r5, #4 cmp r4, #9 blt _021DCEE0 mov r5, #0 add r4, r6, #0 _021DCEF2: ldr r0, [r4, #0x50] bl FUN_0201FFC8 add r5, r5, #1 add r4, r4, #4 cmp r5, #9 blt _021DCEF2 ldr r0, [r6, #0x74] bl FUN_0201FFC8 ldr r0, [r6, #0x7c] bl FUN_0201FFC8 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DCED8 thumb_func_start MOD16_021DCF10 MOD16_021DCF10: ; 0x021DCF10 ldr r3, _021DCF18 ; =MOD16_021DD44C mov r2, #0 str r2, [r0, #0x24] bx r3 .align 2, 0 _021DCF18: .word MOD16_021DD44C thumb_func_end MOD16_021DCF10 thumb_func_start MOD16_021DCF1C MOD16_021DCF1C: ; 0x021DCF1C push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r0, #0 ldr r0, [r5, #0x24] str r1, [sp] str r0, [sp, #4] mov r4, #0 _021DCF2A: ldr r0, [sp] ldr r0, [r0, #8] cmp r0, #1 bne _021DCF36 add r0, r4, #2 b _021DCF38 _021DCF36: add r0, r4, #0 _021DCF38: add r1, r4, #1 ldr r3, [sp] lsl r7, r1, #2 mov r2, #0xa lsl r0, r0, #2 ldr r1, _021DCFCC ; =0x021FF570 str r0, [sp, #8] ldr r0, [r1, r0] lsl r2, r2, #6 ldr r6, [r3, #0xc] add r3, r2, #0 ldr r1, [r1, r7] sub r3, r3, r6 bl MOD16_021DD174 str r0, [sp, #0xc] ldr r3, [sp] mov r2, #0xa ldr r1, _021DCFD0 ; =0x021FF59C ldr r0, [sp, #8] lsl r2, r2, #6 ldr r6, [r3, #0xc] ldr r0, [r1, r0] add r3, r2, #0 ldr r1, [r1, r7] sub r3, r3, r6 bl MOD16_021DD174 str r0, [sp, #0x10] ldr r0, [sp, #4] add r1, sp, #0xc lsl r6, r0, #2 ldr r0, [r5, r6] bl FUN_02020044 mov r0, #4 sub r7, r0, r4 bpl _021DCF86 neg r7, r7 _021DCF86: lsl r1, r7, #1 bpl _021DCF8C neg r1, r1 _021DCF8C: ldr r0, [r5, r6] add r1, #0x20 bl FUN_02020310 cmp r4, #4 bne _021DCFA2 ldr r0, [r5, r6] mov r1, #0 bl FUN_020202DC b _021DCFB6 _021DCFA2: add r1, r7, #6 cmp r1, #9 ldr r0, [r5, r6] bge _021DCFB0 bl FUN_020202DC b _021DCFB6 _021DCFB0: mov r1, #9 bl FUN_020202DC _021DCFB6: ldr r0, [sp, #4] mov r1, #9 add r0, r0, #1 bl _s32_div_f add r4, r4, #1 str r1, [sp, #4] cmp r4, #9 blt _021DCF2A add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DCFCC: .word MOD16_021FF570 _021DCFD0: .word MOD16_021FF59C thumb_func_end MOD16_021DCF1C thumb_func_start MOD16_021DCFD4 MOD16_021DCFD4: ; 0x021DCFD4 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9EC4 add r6, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9ED0 add r7, r0, #0 ldr r0, [r4, #8] cmp r0, #1 bne _021DD026 ldr r0, [r5, #0x24] add r0, r0, #1 cmp r0, #9 bge _021DCFFA b _021DCFFC _021DCFFA: mov r0, #0 _021DCFFC: str r0, [r5, #0x24] ldr r0, [r5, #0x24] mov r1, #9 add r0, #8 bl _s32_div_f add r0, r6, #4 cmp r0, r7 blt _021DD01A lsl r0, r1, #2 ldr r0, [r5, r0] mov r1, #0 bl FUN_020200A0 pop {r3, r4, r5, r6, r7, pc} _021DD01A: lsl r0, r1, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_020200A0 pop {r3, r4, r5, r6, r7, pc} _021DD026: cmp r0, #2 bne _021DD054 ldr r0, [r5, #0x24] sub r0, r0, #1 bmi _021DD032 b _021DD034 _021DD032: mov r0, #8 _021DD034: str r0, [r5, #0x24] ldr r1, [r5, #0x24] sub r0, r6, #4 bpl _021DD048 lsl r0, r1, #2 ldr r0, [r5, r0] mov r1, #0 bl FUN_020200A0 pop {r3, r4, r5, r6, r7, pc} _021DD048: lsl r0, r1, #2 ldr r0, [r5, r0] mov r1, #1 bl FUN_020200A0 pop {r3, r4, r5, r6, r7, pc} _021DD054: add r0, r5, #0 add r1, r4, #0 bl MOD16_021DD44C pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DCFD4 thumb_func_start MOD16_021DD060 MOD16_021DD060: ; 0x021DD060 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r7, r1, #0 str r0, [sp] ldr r0, [r7, #4] bl MOD16_021D9EC4 add r5, r0, #0 ldr r0, [r7, #4] bl MOD16_021D9ED0 str r0, [sp, #4] sub r0, r5, #4 mov r4, #0 str r0, [sp, #8] _021DD07E: ldr r0, [sp] mov r1, #9 ldr r0, [r0, #0x24] add r0, r0, r4 bl _s32_div_f ldr r0, [sp, #8] add r5, r1, #0 mov r6, #0 add r1, r0, r4 bmi _021DD0B6 ldr r0, [sp, #4] cmp r1, r0 bge _021DD0B6 ldr r0, [r7, #4] bl MOD16_021D9EDC add r1, r0, #0 ldr r0, _021DD10C ; =0x000001EE cmp r1, r0 beq _021DD0B6 ldr r0, [r7, #4] bl MOD16_021D9E08 ldr r0, [r0, #4] cmp r0, #2 bne _021DD0B6 mov r6, #1 _021DD0B6: ldr r0, [sp] lsl r1, r5, #2 add r5, r0, r1 ldr r0, [r5, #0x50] add r1, r6, #0 bl FUN_020200A0 cmp r6, #0 beq _021DD102 ldr r0, [r5] bl FUN_0202011C mov r1, #0x36 ldr r2, [r0] lsl r1, r1, #0xc sub r1, r2, r1 str r1, [sp, #0xc] ldr r0, [r0, #4] add r1, sp, #0xc str r0, [sp, #0x10] ldr r0, [r5, #0x50] bl FUN_02020044 ldr r0, [r5] bl FUN_02020300 add r1, r0, #0 ldr r0, [r5, #0x50] bl FUN_020202A8 ldr r0, [r5] bl FUN_0202032C add r1, r0, #0 ldr r0, [r5, #0x50] sub r1, r1, #1 bl FUN_02020310 _021DD102: add r4, r4, #1 cmp r4, #9 blt _021DD07E add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DD10C: .word 0x000001EE thumb_func_end MOD16_021DD060 thumb_func_start MOD16_021DD110 MOD16_021DD110: ; 0x021DD110 push {r4, lr} add r4, r0, #0 ldr r0, [r1, #4] bl MOD16_021D9ED0 add r1, r0, #0 mov r0, #0x36 lsl r0, r0, #0xc lsl r1, r1, #0xc bl FX_Div str r0, [r4, #0x78] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DD110 thumb_func_start MOD16_021DD12C MOD16_021DD12C: ; 0x021DD12C push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 ldr r0, [r1, #4] bl MOD16_021D9EC4 add r2, r0, #0 ldr r0, [r4, #0x78] lsl r2, r2, #0xc asr r1, r0, #0x1f asr r3, r2, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r2, r0, r2 adc r1, r3 lsl r0, r1, #0x14 lsr r1, r2, #0xc orr r1, r0 mov r0, #0x3a lsl r0, r0, #0xc str r1, [sp, #4] add r0, r1, r0 str r0, [sp, #4] mov r0, #0x3e lsl r0, r0, #0xe str r0, [sp] ldr r0, [r4, #0x74] add r1, sp, #0 bl FUN_02020044 add sp, #0xc pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021DD12C thumb_func_start MOD16_021DD174 MOD16_021DD174: ; 0x021DD174 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r2, #0 sub r0, r1, r5 lsl r2, r3, #0xc asr r1, r0, #0x1f asr r3, r2, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 lsl r1, r4, #0xc bl FX_Div add r0, r0, r5 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DD174 thumb_func_start MOD16_021DD1A0 MOD16_021DD1A0: ; 0x021DD1A0 push {r3, r4, r5, lr} mov r2, #0x52 add r5, r1, #0 mov r1, #0 lsl r2, r2, #2 add r4, r0, #0 bl memset ldr r0, [r5, #4] bl MOD16_021D9EC4 mov r1, #0x51 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DD1A0 thumb_func_start MOD16_021DD1C0 MOD16_021DD1C0: ; 0x021DD1C0 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r0, #0 ldr r5, [r7, #0x24] mov r6, #0 _021DD1CA: lsl r0, r5, #2 add r4, r7, r0 ldr r0, [r4, #0x28] cmp r0, #0 beq _021DD20C ldr r0, [r4] add r1, sp, #4 add r2, sp, #0 bl MOD16_021DD220 ldr r0, [r4, #0x28] ldr r1, [sp, #4] ldr r0, [r0] ldr r2, [sp] bl FUN_020118C4 ldr r0, [r4] bl FUN_0202032C add r1, r0, #0 ldr r0, [r4, #0x28] sub r1, r1, #1 ldr r0, [r0] bl FUN_02011A30 ldr r0, [r4] bl FUN_02020300 add r1, r0, #0 ldr r0, [r4, #0x28] ldr r0, [r0] bl FUN_02011A90 _021DD20C: add r0, r5, #1 mov r1, #9 bl _s32_div_f add r6, r6, #1 add r5, r1, #0 cmp r6, #9 blt _021DD1CA add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DD1C0 thumb_func_start MOD16_021DD220 MOD16_021DD220: ; 0x021DD220 push {r3, r4, r5, lr} add r5, r1, #0 add r4, r2, #0 bl FUN_0202011C ldr r1, [r0] asr r1, r1, #0xc str r1, [r5] ldr r0, [r0, #4] asr r0, r0, #0xc str r0, [r4] ldr r0, [r5] sub r0, #0x40 str r0, [r5] ldr r0, [r4] sub r0, #8 str r0, [r4] pop {r3, r4, r5, pc} thumb_func_end MOD16_021DD220 thumb_func_start MOD16_021DD244 MOD16_021DD244: ; 0x021DD244 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r4, r2, #0 add r5, r0, #0 ldr r0, [r4, #4] str r1, [sp, #8] str r3, [sp, #0xc] bl MOD16_021D9EC4 str r0, [sp, #0x14] ldr r0, [r4, #4] bl MOD16_021D9ED0 ldr r1, [r4, #8] str r0, [sp, #0x10] cmp r1, #1 beq _021DD26C cmp r1, #2 beq _021DD276 b _021DD27C _021DD26C: ldr r6, [r5, #0x24] ldr r0, [sp, #0x14] add r6, #8 add r7, r0, #4 b _021DD27C _021DD276: ldr r0, [sp, #0x14] ldr r6, [r5, #0x24] sub r7, r0, #4 _021DD27C: cmp r1, #0 bne _021DD290 ldr r1, [sp, #8] ldr r3, [sp, #0xc] add r0, r5, #0 add r2, r4, #0 bl MOD16_021DCD68 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021DD290: add r0, r6, #0 mov r1, #9 bl _s32_div_f ldr r0, [sp, #0x10] add r6, r1, #0 cmp r7, r0 bge _021DD2DA cmp r7, #0 blt _021DD2DA ldr r0, [r4, #4] add r1, r7, #0 bl MOD16_021D9EDC ldr r1, _021DD2F0 ; =0x000001EE cmp r0, r1 beq _021DD2C6 str r6, [sp] str r0, [sp, #4] ldr r1, [sp, #8] ldr r3, [sp, #0xc] add r0, r5, #0 add r2, r4, #0 bl MOD16_021DD2F4 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021DD2C6: add r0, r7, #1 str r0, [sp] ldr r1, [sp, #8] ldr r2, [sp, #0xc] add r0, r5, #0 add r3, r6, #0 bl MOD16_021DD370 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021DD2DA: lsl r4, r6, #2 add r5, #0x28 ldr r0, [r5, r4] cmp r0, #0 beq _021DD2EC bl MOD16_021DB338 mov r0, #0 str r0, [r5, r4] _021DD2EC: add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DD2F0: .word 0x000001EE thumb_func_end MOD16_021DD244 thumb_func_start MOD16_021DD2F4 MOD16_021DD2F4: ; 0x021DD2F4 push {r4, r5, r6, r7, lr} sub sp, #0x2c add r4, r2, #0 add r5, r0, #0 add r6, r1, #0 ldr r0, [r4, #4] ldr r1, [sp, #0x44] add r7, r3, #0 bl MOD16_021D9E08 str r0, [sp] cmp r0, #0 bne _021DD312 bl GF_AssertFail _021DD312: mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r6, r0] mov r1, #0 str r0, [sp, #4] add r0, r5, #0 add r0, #0x98 ldr r0, [r0] ldr r3, [sp] str r0, [sp, #0xc] mov r0, #2 str r0, [sp, #0x1c] mov r0, #1 str r0, [sp, #0x24] str r1, [sp, #0x10] str r1, [sp, #0x14] str r1, [sp, #0x18] str r1, [sp, #0x20] str r7, [sp, #0x28] ldr r1, [r4, #4] ldr r3, [r3] add r0, r6, #0 add r2, r7, #0 bl MOD16_021D7E14 add r6, r0, #0 ldr r0, [sp, #0x40] add r4, r5, #0 add r4, #0x28 lsl r7, r0, #2 ldr r0, [r4, r7] cmp r0, #0 beq _021DD358 bl MOD16_021DB338 _021DD358: str r6, [sp, #8] ldr r1, [r5, #0x4c] add r0, sp, #4 bl MOD16_021DB2D4 str r0, [r4, r7] add r0, r6, #0 bl MOD16_021DB3BC add sp, #0x2c pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DD2F4 thumb_func_start MOD16_021DD370 MOD16_021DD370: ; 0x021DD370 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 add r4, r2, #0 str r0, [sp, #0x10] add r5, r1, #0 mov r0, #0x20 add r1, r4, #0 add r6, r3, #0 bl String_ctor add r7, r0, #0 ldr r2, _021DD444 ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r4, #0 bl NewMsgDataFromNarc mov r1, #0x15 lsl r1, r1, #4 str r0, [sp, #0x14] ldr r0, [r5, r1] mov r2, #2 str r0, [sp, #0x18] ldr r0, [sp, #0x10] add r0, #0x98 ldr r0, [r0] str r0, [sp, #0x20] mov r0, #0 str r0, [sp, #0x24] str r0, [sp, #0x28] str r0, [sp, #0x2c] str r0, [sp, #0x34] mov r0, #1 str r2, [sp, #0x30] str r4, [sp, #0x3c] str r0, [sp, #0x38] ldr r0, [r5, r1] mov r1, #0xf bl MOD16_021DB388 add r5, r0, #0 mov r0, #1 str r0, [sp] ldr r1, [sp, #0x58] add r0, r7, #0 mov r2, #3 mov r3, #2 bl String16_FormatInteger mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _021DD448 ; =0x00030201 add r2, r7, #0 str r0, [sp, #8] str r1, [sp, #0xc] add r0, r5, #0 mov r1, #2 mov r3, #0x16 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x14] mov r1, #0x63 add r2, r7, #0 bl ReadMsgDataIntoString mov r1, #0 str r1, [sp] mov r0, #0xff str r0, [sp, #4] ldr r0, _021DD448 ; =0x00030201 add r2, r7, #0 str r0, [sp, #8] str r1, [sp, #0xc] add r0, r5, #0 mov r1, #2 mov r3, #0x31 bl AddTextPrinterParameterized2 ldr r4, [sp, #0x10] lsl r6, r6, #2 add r4, #0x28 ldr r0, [r4, r6] cmp r0, #0 beq _021DD420 bl MOD16_021DB338 _021DD420: ldr r1, [sp, #0x10] str r5, [sp, #0x1c] ldr r1, [r1, #0x4c] add r0, sp, #0x18 bl MOD16_021DB2D4 str r0, [r4, r6] add r0, r5, #0 bl MOD16_021DB3BC add r0, r7, #0 bl String_dtor ldr r0, [sp, #0x14] bl DestroyMsgData add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DD444: .word 0x00000266 _021DD448: .word 0x00030201 thumb_func_end MOD16_021DD370 thumb_func_start MOD16_021DD44C MOD16_021DD44C: ; 0x021DD44C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9EC4 add r5, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9ED0 sub r4, r5, #4 ldr r5, [r6, #0x24] str r0, [sp] mov r7, #0 _021DD468: cmp r4, #0 blt _021DD47E ldr r0, [sp] cmp r4, r0 bge _021DD47E lsl r0, r5, #2 ldr r0, [r6, r0] mov r1, #1 bl FUN_020200A0 b _021DD488 _021DD47E: lsl r0, r5, #2 ldr r0, [r6, r0] mov r1, #0 bl FUN_020200A0 _021DD488: add r0, r5, #1 mov r1, #9 bl _s32_div_f add r7, r7, #1 add r5, r1, #0 add r4, r4, #1 cmp r7, #9 blt _021DD468 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DD44C thumb_func_start MOD16_021DD49C MOD16_021DD49C: ; 0x021DD49C push {r3, r4, r5, lr} add r4, r1, #0 ldr r1, [r2, #0xc] mov r0, #0xa lsl r0, r0, #6 sub r0, r0, r1 lsl r0, r0, #0xc mov r2, #0x1f asr r1, r0, #0x1f lsl r2, r2, #0xc mov r3, #0 bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 mov r1, #0xa lsl r1, r1, #0x12 bl FX_Div add r5, r0, #0 add r0, r4, #0 bl MOD16_021D8700 mov r1, #0x17 asr r2, r5, #0xc bl FUN_02007558 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DD49C thumb_func_start MOD16_021DD4E0 MOD16_021DD4E0: ; 0x021DD4E0 push {r3, lr} bl MOD16_021D8700 mov r1, #0x17 mov r2, #0x1f bl FUN_02007558 pop {r3, pc} thumb_func_end MOD16_021DD4E0 thumb_func_start MOD16_021DD4F0 MOD16_021DD4F0: ; 0x021DD4F0 push {r4, lr} mov r1, #0xa ldr r0, [r0, #0xc] lsl r1, r1, #6 sub r0, r1, r0 lsl r3, r0, #0xc asr r2, r3, #0x1f lsr r0, r3, #0x10 lsl r4, r2, #0x10 orr r4, r0 mov r0, #2 lsl r3, r3, #0x10 mov r2, #0 lsl r0, r0, #0xa add r0, r3, r0 adc r4, r2 lsl r2, r4, #0x14 lsr r0, r0, #0xc orr r0, r2 lsl r1, r1, #0xc bl FX_Div asr r1, r0, #0xc mov r0, #0x10 sub r0, r0, r1 lsl r0, r0, #8 orr r1, r0 ldr r0, _021DD52C ; =0x04000052 strh r1, [r0] pop {r4, pc} .align 2, 0 _021DD52C: .word 0x04000052 thumb_func_end MOD16_021DD4F0 thumb_func_start MOD16_021DD530 MOD16_021DD530: ; 0x021DD530 push {r3, r4, r5, r6, r7, lr} sub sp, #0x20 str r0, [sp, #0x14] ldr r0, _021DD5BC ; =0x00000685 add r5, r2, #0 str r1, [sp, #0x18] add r4, r3, #0 bl FUN_020054C8 ldr r0, [r5, #0x10] cmp r0, #0 bne _021DD576 cmp r4, #0 beq _021DD568 ldr r0, [sp, #0x18] mov r6, #3 ldr r0, [r0] mov r4, #0 ldr r0, [r0] mov r1, #1 add r2, r6, #0 mov r3, #0xc0 str r4, [sp, #0x1c] mov r7, #0xe mov r5, #4 bl FUN_020179E0 b _021DD594 _021DD568: mov r0, #3 mov r6, #0 str r0, [sp, #0x1c] mov r4, #0xe add r7, r6, #0 mov r5, #4 b _021DD594 _021DD576: cmp r4, #0 beq _021DD588 mov r0, #0xc str r0, [sp, #0x1c] mov r4, #0x14 mov r6, #3 mov r7, #0xe mov r5, #4 b _021DD594 _021DD588: mov r0, #3 str r0, [sp, #0x1c] mov r4, #0xe mov r6, #0xc mov r7, #0x14 mov r5, #4 _021DD594: ldr r0, [sp, #0x1c] ldr r3, [sp, #0x14] str r0, [sp] str r6, [sp, #4] str r4, [sp, #8] str r7, [sp, #0xc] ldr r1, [sp, #0x18] str r5, [sp, #0x10] ldr r0, [sp, #0x14] ldr r1, [r1] add r3, #0xdc str r3, [sp, #0x14] ldr r1, [r1] ldr r3, [r3] add r0, #0xe0 mov r2, #2 bl MOD16_021D7CA4 add sp, #0x20 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DD5BC: .word 0x00000685 thumb_func_end MOD16_021DD530 thumb_func_start MOD16_021DD5C0 MOD16_021DD5C0: ; 0x021DD5C0 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0xe0 add r4, r1, #0 bl MOD16_021D7CC8 add r6, r0, #0 bne _021DD60A add r0, r5, #0 add r0, #0xf8 ldr r1, [r0] add r0, r5, #0 add r0, #0xfc ldr r0, [r0] sub r0, r0, #1 mul r0, r1 mov r1, #1 lsl r1, r1, #8 ldr r1, [r5, r1] bl _s32_div_f add r5, #0xf0 ldr r1, [r5] add r0, r0, r1 lsl r3, r0, #3 mov r0, #0x2f sub r3, #0x70 mvn r0, r0 cmp r3, r0 bge _021DD5FE add r3, r0, #0 _021DD5FE: ldr r0, [r4] mov r1, #1 ldr r0, [r0] mov r2, #3 bl FUN_0201AEE4 _021DD60A: add r0, r6, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DD5C0 thumb_func_start MOD16_021DD610 MOD16_021DD610: ; 0x021DD610 push {r3, lr} ldr r1, [r1, #0x10] cmp r1, #0 bne _021DD62A cmp r2, #0 bne _021DD62A ldr r0, [r0] mov r1, #1 ldr r0, [r0] mov r2, #3 mov r3, #0 bl FUN_020179E0 _021DD62A: mov r2, #1 lsl r2, r2, #0x1a ldr r1, [r2] ldr r0, _021DD638 ; =0xFFFF1FFF and r0, r1 str r0, [r2] pop {r3, pc} .align 2, 0 _021DD638: .word 0xFFFF1FFF thumb_func_end MOD16_021DD610 thumb_func_start MOD16_021DD63C MOD16_021DD63C: ; 0x021DD63C push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x15 lsl r1, r1, #4 ldr r0, [r0, r1] mov r1, #0xf mov r2, #2 bl MOD16_021DB388 add r4, r0, #0 mov r1, #1 add r2, r5, #0 bl FUN_02011898 add r5, r0, #0 add r0, r4, #0 bl MOD16_021DB3BC add r0, r5, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DD63C thumb_func_start MOD16_021DD664 MOD16_021DD664: ; 0x021DD664 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r5, #0x74] mov r1, #1 bl FUN_02020398 mov r6, #1 mov r4, #0 add r7, r6, #0 _021DD676: ldr r0, [r5] add r1, r6, #0 bl FUN_02020398 ldr r0, [r5, #0x50] add r1, r7, #0 bl FUN_02020398 ldr r0, [r5, #0x28] cmp r0, #0 beq _021DD694 ldr r0, [r0] mov r1, #1 bl FUN_02011AF0 _021DD694: add r4, r4, #1 add r5, r5, #4 cmp r4, #9 blt _021DD676 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DD664 thumb_func_start MOD16_021DD6A0 MOD16_021DD6A0: ; 0x021DD6A0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r5, #0x74] mov r1, #0 bl FUN_02020398 mov r4, #0 add r6, r4, #0 add r7, r4, #0 _021DD6B2: ldr r0, [r5] add r1, r6, #0 bl FUN_02020398 ldr r0, [r5, #0x50] add r1, r7, #0 bl FUN_02020398 ldr r0, [r5, #0x28] cmp r0, #0 beq _021DD6D0 ldr r0, [r0] mov r1, #0 bl FUN_02011AF0 _021DD6D0: add r4, r4, #1 add r5, r5, #4 cmp r4, #9 blt _021DD6B2 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DD6A0 thumb_func_start MOD16_021DD6DC MOD16_021DD6DC: ; 0x021DD6DC push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r0, #0 ldr r0, [r4, #0x24] add r6, r1, #0 add r0, r0, #4 mov r1, #9 add r5, r2, #0 add r7, r3, #0 bl _s32_div_f lsl r0, r1, #2 ldr r0, [r4, r0] bl FUN_0202011C add r4, r0, #0 ldr r0, [r5, #4] bl MOD16_021D9D88 add r3, r0, #0 ldr r0, [r4] add r2, r7, #0 str r0, [sp] ldr r0, [r4, #4] str r0, [sp, #4] ldr r1, [r5, #4] add r0, r6, #0 bl MOD16_021D7E9C add r0, r6, #0 mov r1, #0 bl MOD16_021D891C add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DD6DC thumb_func_start MOD16_021DD724 MOD16_021DD724: ; 0x021DD724 push {r3, r4, r5, lr} add r5, r2, #0 add r4, r3, #0 bl MOD16_021DD530 ldr r0, [r5, #0x10] cmp r0, #1 beq _021DD75E cmp r4, #0 beq _021DD74C mov r1, #0 mov r0, #1 add r2, r1, #0 str r0, [sp] mov r0, #4 sub r2, #0x10 mov r3, #0x39 bl FUN_0200A208 pop {r3, r4, r5, pc} _021DD74C: mov r0, #1 str r0, [sp] mov r0, #4 add r1, r0, #0 sub r1, #0x14 mov r2, #0 mov r3, #0x39 bl FUN_0200A208 _021DD75E: pop {r3, r4, r5, pc} thumb_func_end MOD16_021DD724 thumb_func_start MOD16_021DD760 MOD16_021DD760: ; 0x021DD760 push {r3, r4, r5, r6, r7, lr} add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021DD5C0 add r7, r0, #0 ldr r0, [r4, #0x10] cmp r0, #1 beq _021DD77C mov r0, #1 bl FUN_0200A344 b _021DD77E _021DD77C: mov r0, #1 _021DD77E: cmp r7, #1 bne _021DD7BE cmp r0, #1 bne _021DD7BE ldr r0, [r4, #0x10] cmp r0, #1 beq _021DD7B0 cmp r6, #0 bne _021DD7B0 mov r0, #0xf mvn r0, r0 mov r1, #0x3f mov r2, #1 bl FUN_0200A274 ldr r0, [r5] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r5] mov r1, #1 ldr r0, [r0] bl FUN_02018744 _021DD7B0: add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021DD610 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021DD7BE: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DD760 thumb_func_start MOD16_021DD7C4 MOD16_021DD7C4: ; 0x021DD7C4 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r5, r1, #0 add r7, r2, #0 add r4, r3, #0 bl MOD16_021DD664 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 add r3, r4, #0 bl MOD16_021DD530 cmp r4, #0 bne _021DD7F4 add r0, r6, #0 add r1, r5, #0 bl MOD16_021DD910 add r0, r6, #0 add r1, r5, #0 bl MOD16_021DD96C _021DD7F4: ldr r0, [r7, #0x10] cmp r0, #1 beq _021DD84A cmp r4, #0 beq _021DD826 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x28 str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #4 add r2, r1, #0 sub r2, #0x14 bl MOD16_021D8988 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021DD826: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x28 str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #4 add r3, r1, #0 sub r3, #0x14 bl MOD16_021D8988 _021DD84A: add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DD7C4 thumb_func_start MOD16_021DD850 MOD16_021DD850: ; 0x021DD850 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r4, r2, #0 add r7, r0, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021DD5C0 str r0, [sp, #8] ldr r0, [r4, #0x10] cmp r0, #1 beq _021DD876 mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 str r0, [sp, #0xc] _021DD876: cmp r6, #0 bne _021DD890 add r0, r7, #0 add r1, r5, #0 bl MOD16_021DD944 str r0, [sp, #0x10] add r0, r7, #0 add r1, r5, #0 bl MOD16_021DD9A0 str r0, [sp, #0x14] b _021DD896 _021DD890: mov r0, #1 str r0, [sp, #0x10] str r0, [sp, #0x14] _021DD896: mov r1, #0 add r2, sp, #8 _021DD89A: ldr r0, [r2] cmp r0, #0 beq _021DD8A8 add r1, r1, #1 add r2, r2, #4 cmp r1, #4 blt _021DD89A _021DD8A8: cmp r1, #4 bne _021DD906 cmp r6, #0 bne _021DD8E0 ldr r0, [r4, #0x10] cmp r0, #1 beq _021DD8F6 mov r3, #0 add r0, r3, #0 str r3, [sp] sub r0, #0x10 str r0, [sp, #4] ldr r0, _021DD90C ; =0x04000050 mov r1, #0x2e mov r2, #8 bl G2x_SetBlendBrightnessExt_ ldr r0, [r5] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r5] mov r1, #1 ldr r0, [r0] bl FUN_02018744 b _021DD8F6 _021DD8E0: add r0, r7, #0 bl MOD16_021DD6A0 ldr r0, [r5] mov r1, #0 bl MOD16_021D8950 ldr r0, [r5] mov r1, #0 bl MOD16_021D88F0 _021DD8F6: add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021DD610 add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021DD906: mov r0, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DD90C: .word 0x04000050 thumb_func_end MOD16_021DD850 thumb_func_start MOD16_021DD910 MOD16_021DD910: ; 0x021DD910 push {r3, r4, r5, lr} sub sp, #8 add r4, r1, #0 mov r1, #0x48 add r5, r0, #0 str r1, [sp] mov r0, #4 add r1, #0xbc str r0, [sp, #4] add r0, r5, r1 mov r1, #0x38 mov r2, #0x30 mov r3, #0x50 bl MOD16_021D8BD8 mov r2, #0x41 lsl r2, r2, #2 ldr r1, [r5, r2] add r2, r2, #4 ldr r0, [r4] ldr r2, [r5, r2] bl MOD16_021D86F4 add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DD910 thumb_func_start MOD16_021DD944 MOD16_021DD944: ; 0x021DD944 push {r4, r5, r6, lr} add r5, r0, #0 mov r0, #0x41 lsl r0, r0, #2 add r0, r5, r0 add r4, r1, #0 bl MOD16_021D8BF4 mov r2, #0x41 lsl r2, r2, #2 ldr r1, [r5, r2] add r2, r2, #4 add r6, r0, #0 ldr r0, [r4] ldr r2, [r5, r2] bl MOD16_021D86F4 add r0, r6, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DD944 thumb_func_start MOD16_021DD96C MOD16_021DD96C: ; 0x021DD96C push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x20 str r0, [sp] mov r0, #4 str r0, [sp, #4] mov r0, #0x49 lsl r0, r0, #2 add r4, r1, #0 add r0, r5, r0 mov r1, #0xaa mov r2, #0xac mov r3, #0x52 bl MOD16_021D8BD8 mov r2, #0x49 lsl r2, r2, #2 ldr r1, [r5, r2] add r2, r2, #4 ldr r0, [r4] ldr r2, [r5, r2] bl MOD16_021D7F6C add sp, #8 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DD96C thumb_func_start MOD16_021DD9A0 MOD16_021DD9A0: ; 0x021DD9A0 push {r4, r5, r6, lr} add r5, r0, #0 mov r0, #0x49 lsl r0, r0, #2 add r0, r5, r0 add r4, r1, #0 bl MOD16_021D8BF4 mov r2, #0x49 lsl r2, r2, #2 ldr r1, [r5, r2] add r2, r2, #4 add r6, r0, #0 ldr r0, [r4] ldr r2, [r5, r2] bl MOD16_021D7F6C add r0, r6, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DD9A0 thumb_func_start MOD16_021DD9C8 MOD16_021DD9C8: ; 0x021DD9C8 ldr r3, [r0] mov r1, #4 ldr r2, [r3] orr r1, r2 str r1, [r3] mov r1, #0 str r1, [r0, #0x10] str r1, [r0, #0x14] mov r1, #2 str r1, [r0, #0x20] bx lr .align 2, 0 thumb_func_end MOD16_021DD9C8 thumb_func_start MOD16_021DD9E0 MOD16_021DD9E0: ; 0x021DD9E0 ldr r3, [r1] mov r0, #2 ldr r2, [r3] orr r2, r0 str r2, [r3] mov r3, #0 str r3, [r1, #0x10] mov r2, #1 str r2, [r1, #0x14] str r3, [r1, #0xc] str r0, [r1, #0x20] bx lr thumb_func_end MOD16_021DD9E0 thumb_func_start MOD16_021DD9F8 MOD16_021DD9F8: ; 0x021DD9F8 push {r3, lr} mov r1, #0x5d ldr r2, [r0, #4] lsl r1, r1, #6 ldr r1, [r2, r1] cmp r1, #0 bne _021DDA24 ldr r3, [r0] mov r1, #1 ldr r2, [r3] orr r1, r2 str r1, [r3] mov r1, #0 str r1, [r0, #0x10] str r1, [r0, #0x14] mov r1, #2 str r1, [r0, #0x20] ldr r0, _021DDA28 ; =0x000005DD bl FUN_020054C8 mov r0, #1 pop {r3, pc} _021DDA24: mov r0, #0 pop {r3, pc} .align 2, 0 _021DDA28: .word 0x000005DD thumb_func_end MOD16_021DD9F8 thumb_func_start MOD16_021DDA2C MOD16_021DDA2C: ; 0x021DDA2C push {r4, r5, r6, lr} sub sp, #0x10 add r5, r0, #0 add r6, r1, #0 mov r1, #0x5d ldr r0, [r5, #4] lsl r1, r1, #6 ldr r1, [r0, r1] cmp r1, #1 bne _021DDA46 add sp, #0x10 mov r0, #0 pop {r4, r5, r6, pc} _021DDA46: bl MOD16_021D9D04 cmp r0, #0 bne _021DDA52 mov r4, #1 b _021DDA54 _021DDA52: mov r4, #0 _021DDA54: ldr r0, [r5, #4] add r1, r4, #0 bl MOD16_021D9CD0 cmp r0, #0 beq _021DDAA8 ldr r0, [r5, #4] add r1, r4, #0 bl MOD16_021D9CEC ldr r0, _021DDAB0 ; =0x000005DD bl FUN_020054C8 mov r1, #0 str r1, [sp] str r1, [sp, #4] str r4, [sp, #8] str r6, [sp, #0xc] ldr r0, [r5, #4] add r2, r1, #0 add r3, r1, #0 bl MOD16_021D9CB0 ldr r0, [r5, #4] mov r1, #0 bl MOD16_021D9D28 mov r3, #0 str r3, [r5, #0xc] ldr r2, [r5] mov r0, #0x10 ldr r1, [r2] add sp, #0x10 orr r0, r1 str r0, [r2] str r3, [r5, #0x10] str r3, [r5, #0x14] mov r0, #2 str r0, [r5, #0x20] str r3, [r5, #0x1c] mov r0, #1 pop {r4, r5, r6, pc} _021DDAA8: mov r0, #0 add sp, #0x10 pop {r4, r5, r6, pc} nop _021DDAB0: .word 0x000005DD thumb_func_end MOD16_021DDA2C thumb_func_start MOD16_021DDAB4 MOD16_021DDAB4: ; 0x021DDAB4 push {r4, r5, r6, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5, #4] add r4, r1, #0 bl MOD16_021D9DE8 add r6, r0, #0 ldr r0, [r5, #4] bl MOD16_021D9D04 mov r1, #0 str r1, [sp] str r1, [sp, #4] str r0, [sp, #8] str r4, [sp, #0xc] ldr r0, [r5, #4] add r2, r1, #0 add r3, r1, #0 bl MOD16_021D9CB0 ldr r2, [r5] mov r0, #0x10 ldr r1, [r2] orr r0, r1 str r0, [r2] ldr r0, [r5, #4] add r1, r6, #0 bl MOD16_021D9DC0 mov r2, #0 str r2, [r5, #0xc] mov r0, #0x5d ldr r1, [r5, #4] lsl r0, r0, #6 str r2, [r1, r0] str r2, [r5, #0x10] str r2, [r5, #0x14] str r2, [r5, #8] mov r0, #2 str r0, [r5, #0x20] str r2, [r5, #0x1c] add sp, #0x10 pop {r4, r5, r6, pc} thumb_func_end MOD16_021DDAB4 thumb_func_start MOD16_021DDB0C MOD16_021DDB0C: ; 0x021DDB0C push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x18] add r4, r1, #0 sub r0, r0, #1 str r0, [r5, #0x18] bmi _021DDB42 ldr r1, [r5, #0x1c] add r0, r4, #0 bl MOD16_021DC684 cmp r0, #0 beq _021DDB3C ldr r2, [r5, #0x20] add r0, r4, #0 add r1, r5, #0 bl MOD16_021DC678 mov r0, #1 str r0, [r4, #0x20] ldr r0, _021DDB54 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021DDB3C: mov r0, #0 str r0, [r5, #0x18] pop {r3, r4, r5, pc} _021DDB42: add r0, r4, #0 add r1, r5, #0 bl MOD16_021DC4D4 mov r0, #0 str r0, [r5, #0x14] str r0, [r4, #0x20] pop {r3, r4, r5, pc} nop _021DDB54: .word 0x0000068B thumb_func_end MOD16_021DDB0C thumb_func_start MOD16_021DDB58 MOD16_021DDB58: ; 0x021DDB58 push {r3, r4, r5, lr} ldr r2, _021DDC24 ; =gMain add r4, r1, #0 ldr r3, [r2, #0x44] add r5, r0, #0 mov r1, #0x40 add r0, r3, #0 tst r0, r1 beq _021DDB9A add r0, r4, #0 sub r1, #0x41 bl MOD16_021DC684 cmp r0, #0 beq _021DDB8C add r0, r4, #0 add r1, r5, #0 mov r2, #2 bl MOD16_021DC678 mov r0, #1 str r0, [r4, #0x20] ldr r0, _021DDC28 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021DDB8C: add r0, r4, #0 add r1, r5, #0 bl MOD16_021DC4D4 mov r0, #0 str r0, [r4, #0x20] pop {r3, r4, r5, pc} _021DDB9A: mov r0, #0x80 tst r0, r3 beq _021DDBD0 add r0, r4, #0 mov r1, #1 bl MOD16_021DC684 cmp r0, #0 beq _021DDBC2 add r0, r4, #0 add r1, r5, #0 mov r2, #1 bl MOD16_021DC678 mov r0, #1 str r0, [r4, #0x20] ldr r0, _021DDC28 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021DDBC2: add r0, r4, #0 add r1, r5, #0 bl MOD16_021DC4D4 mov r0, #0 str r0, [r4, #0x20] pop {r3, r4, r5, pc} _021DDBD0: ldr r1, [r2, #0x48] mov r0, #0x20 tst r0, r1 beq _021DDBF2 mov r0, #1 str r0, [r5, #0x14] mov r0, #5 str r0, [r5, #0x18] sub r0, r0, #6 str r0, [r5, #0x1c] mov r0, #2 str r0, [r5, #0x20] add r0, r4, #0 add r1, r5, #0 bl MOD16_021DC4E8 pop {r3, r4, r5, pc} _021DDBF2: mov r0, #0x10 tst r0, r1 beq _021DDC0E mov r1, #1 str r1, [r5, #0x14] mov r0, #5 str r0, [r5, #0x18] str r1, [r5, #0x1c] str r1, [r5, #0x20] add r0, r4, #0 add r1, r5, #0 bl MOD16_021DC4E8 pop {r3, r4, r5, pc} _021DDC0E: ldr r0, [r4, #0x20] cmp r0, #1 bne _021DDC20 add r0, r4, #0 add r1, r5, #0 bl MOD16_021DC4D4 mov r0, #0 str r0, [r4, #0x20] _021DDC20: pop {r3, r4, r5, pc} nop _021DDC24: .word gMain _021DDC28: .word 0x0000068B thumb_func_end MOD16_021DDB58 thumb_func_start MOD16_021DDC2C MOD16_021DDC2C: ; 0x021DDC2C push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021DDCA4 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021DDCEC add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021DDD14 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021DDD90 str r0, [r5, #0x24] ldr r0, _021DDC74 ; =MOD16_021DDD94 str r0, [r5, #8] ldr r0, _021DDC78 ; =MOD16_021DDDDC str r0, [r5, #0xc] ldr r0, _021DDC7C ; =MOD16_021DDE28 str r0, [r5, #0x10] ldr r0, _021DDC80 ; =MOD16_021DDE3C str r0, [r5, #0x14] ldr r0, _021DDC84 ; =MOD16_021DDECC str r0, [r5, #0x18] ldr r0, _021DDC88 ; =MOD16_021DDF60 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DDC74: .word MOD16_021DDD94 _021DDC78: .word MOD16_021DDDDC _021DDC7C: .word MOD16_021DDE28 _021DDC80: .word MOD16_021DDE3C _021DDC84: .word MOD16_021DDECC _021DDC88: .word MOD16_021DDF60 thumb_func_end MOD16_021DDC2C thumb_func_start MOD16_021DDC8C MOD16_021DDC8C: ; 0x021DDC8C push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021DDD50 ldr r0, [r4] bl MOD16_021DDD64 ldr r0, [r4, #0x20] bl MOD16_021DDD78 pop {r4, pc} thumb_func_end MOD16_021DDC8C thumb_func_start MOD16_021DDCA4 MOD16_021DDCA4: ; 0x021DDCA4 push {r4, r5, r6, lr} add r6, r1, #0 mov r1, #0x28 add r5, r0, #0 bl AllocFromHeap add r4, r0, #0 bne _021DDCB8 bl GF_AssertFail _021DDCB8: add r0, r4, #0 mov r1, #0 mov r2, #0x28 bl memset add r0, r6, #0 mov r1, #0 bl MOD16_021D7B5C ldr r0, [r0] mov r1, #0 str r0, [r4, #0x1c] add r2, r4, #0 mov r0, #4 _021DDCD4: add r1, r1, #1 stmia r2!, {r0} cmp r1, #7 blt _021DDCD4 add r0, r6, #0 bl MOD16_021D7AEC str r0, [r4, #0x20] str r5, [r4, #0x24] add r0, r4, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DDCA4 thumb_func_start MOD16_021DDCEC MOD16_021DDCEC: ; 0x021DDCEC push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021DDCFE bl GF_AssertFail _021DDCFE: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DDCEC thumb_func_start MOD16_021DDD14 MOD16_021DDD14: ; 0x021DDD14 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 bl MOD16_021DDD90 add r7, r0, #0 mov r1, #0x14 mul r7, r1 add r0, r5, #0 add r1, r7, #0 bl AllocFromHeap add r4, r0, #0 bne _021DDD34 bl GF_AssertFail _021DDD34: add r0, r4, #0 mov r1, #0 add r2, r7, #0 bl memset add r0, r4, #0 add r1, r6, #0 add r2, r5, #0 mov r3, #1 bl MOD16_021DAE94 add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DDD14 thumb_func_start MOD16_021DDD50 MOD16_021DDD50: ; 0x021DDD50 push {r4, lr} add r4, r0, #0 bne _021DDD5A bl GF_AssertFail _021DDD5A: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DDD50 thumb_func_start MOD16_021DDD64 MOD16_021DDD64: ; 0x021DDD64 push {r4, lr} add r4, r0, #0 bne _021DDD6E bl GF_AssertFail _021DDD6E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DDD64 thumb_func_start MOD16_021DDD78 MOD16_021DDD78: ; 0x021DDD78 push {r4, lr} add r4, r0, #0 bne _021DDD82 bl GF_AssertFail _021DDD82: add r0, r4, #0 bl MOD16_021DAC7C add r0, r4, #0 bl FreeToHeap pop {r4, pc} thumb_func_end MOD16_021DDD78 thumb_func_start MOD16_021DDD90 MOD16_021DDD90: ; 0x021DDD90 mov r0, #1 bx lr thumb_func_end MOD16_021DDD90 thumb_func_start MOD16_021DDD94 MOD16_021DDD94: ; 0x021DDD94 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #4] add r4, r1, #0 mov r1, #0x24 bl AllocFromHeap str r0, [r5, #8] cmp r0, #0 bne _021DDDAC bl GF_AssertFail _021DDDAC: ldr r0, [r5, #8] mov r1, #0 mov r2, #0x24 bl memset ldr r1, _021DDDD8 ; =0x000004CD ldr r0, [r5, #8] add r2, r4, #0 str r1, [r0, #0x1c] mov r1, #0 mov r0, #4 _021DDDC2: add r1, r1, #1 stmia r2!, {r0} cmp r1, #7 blt _021DDDC2 ldr r0, [r5, #8] ldr r2, [r5, #4] add r1, r4, #0 bl MOD16_021DDFE0 mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 _021DDDD8: .word 0x000004CD thumb_func_end MOD16_021DDD94 thumb_func_start MOD16_021DDDDC MOD16_021DDDDC: ; 0x021DDDDC push {r3, r4, r5, lr} add r5, r1, #0 ldr r1, [r0, #0xc] ldr r4, [r0, #8] cmp r1, #1 bne _021DDDEC mov r0, #1 pop {r3, r4, r5, pc} _021DDDEC: ldr r0, [r0, #0x10] cmp r0, #1 bne _021DDDF6 mov r0, #0 pop {r3, r4, r5, pc} _021DDDF6: ldr r2, [r5, #0x1c] add r0, r4, #0 ldr r1, [r2, #0xc] ldr r2, [r2, #8] bl MOD16_021DE9B0 add r0, r4, #0 add r1, r5, #0 bl MOD16_021DE09C ldr r0, [r5, #0x1c] ldr r0, [r0, #0x20] cmp r0, #0 bne _021DDE1C add r0, r4, #0 add r1, r5, #0 bl MOD16_021DE824 b _021DDE22 _021DDE1C: mov r0, #0 str r0, [r4, #0xc] str r0, [r4, #0x10] _021DDE22: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DDDDC thumb_func_start MOD16_021DDE28 MOD16_021DDE28: ; 0x021DDE28 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl MOD16_021DE0EC ldr r0, [r4, #8] bl FreeToHeap mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021DDE28 thumb_func_start MOD16_021DDE3C MOD16_021DDE3C: ; 0x021DDE3C push {r3, r4, r5, lr} add r4, r1, #0 ldr r1, [r4] add r3, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021DDEC8 add r5, r1, r1 add r5, pc ldrh r5, [r5, #6] lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 _021DDE56: ; jump table .short _021DDE60 - _021DDE56 - 2 ; case 0 .short _021DDE84 - _021DDE56 - 2 ; case 1 .short _021DDE94 - _021DDE56 - 2 ; case 2 .short _021DDEAE - _021DDE56 - 2 ; case 3 .short _021DDEC0 - _021DDE56 - 2 ; case 4 _021DDE60: ldr r0, [r4, #4] mov r1, #0x3c bl AllocFromHeap str r0, [r4, #8] cmp r0, #0 bne _021DDE72 bl GF_AssertFail _021DDE72: ldr r0, [r4, #8] mov r1, #0 mov r2, #0x3c bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDEC8 _021DDE84: add r1, r3, #0 ldr r3, [r4, #4] bl MOD16_021DE1E0 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDEC8 _021DDE94: mov r1, #0 mov r0, #2 add r2, r1, #0 str r0, [sp] mov r0, #4 sub r2, #0x10 mov r3, #0x3f bl FUN_0200A208 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDEC8 _021DDEAE: mov r0, #2 bl FUN_0200A344 cmp r0, #0 beq _021DDEC8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDEC8 _021DDEC0: add r0, r1, #1 str r0, [r4] mov r0, #1 pop {r3, r4, r5, pc} _021DDEC8: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DDE3C thumb_func_start MOD16_021DDECC MOD16_021DDECC: ; 0x021DDECC push {r3, r4, r5, r6, r7, lr} ldr r4, [r1, #8] add r5, r2, #0 add r7, r0, #0 ldr r0, [r4] ldr r1, [r5] ldr r6, [r3, #8] bl MOD16_021D7B98 ldr r0, [r4, #4] ldr r1, [r5, #4] bl MOD16_021D7B98 ldr r0, [r4, #8] ldr r1, [r5, #8] bl MOD16_021D7B98 ldr r0, [r4, #0x18] ldr r1, [r5, #0xc] bl MOD16_021D7B98 ldr r0, [r4, #0x1c] ldr r1, [r5, #0x10] bl MOD16_021D7B98 mov r2, #5 str r2, [sp] ldr r0, [r4] ldr r1, [r4, #0xc] sub r2, #0x13 mov r3, #3 bl MOD16_021DEA24 mov r2, #5 str r2, [sp] ldr r0, [r4, #4] ldr r1, [r4, #0x10] sub r2, #0x13 mov r3, #3 bl MOD16_021DEA24 mov r2, #5 str r2, [sp] ldr r0, [r4, #8] ldr r1, [r4, #0x14] sub r2, #0x13 mov r3, #2 bl MOD16_021DEA24 ldr r0, [r5, #0x1c] ldr r0, [r0, #0x20] cmp r0, #0 bne _021DDF4E mov r0, #0x83 ldr r1, [r6, #0xc] lsl r0, r0, #2 bl MathUtil_0201BC84 add r2, r0, #0 ldr r3, [r6, #0x1c] add r0, r4, #0 add r1, r7, #0 bl MOD16_021DE8D0 b _021DDF5C _021DDF4E: cmp r0, #1 bne _021DDF5C add r0, r4, #0 add r1, r7, #0 add r2, r5, #0 bl MOD16_021DE93C _021DDF5C: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DDECC thumb_func_start MOD16_021DDF60 MOD16_021DDF60: ; 0x021DDF60 push {r3, r4, lr} sub sp, #4 add r4, r1, #0 ldr r1, [r4] add r2, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021DDFD8 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DDF7C: ; jump table .short _021DDF86 - _021DDF7C - 2 ; case 0 .short _021DDFA0 - _021DDF7C - 2 ; case 1 .short _021DDFB2 - _021DDF7C - 2 ; case 2 .short _021DDFC2 - _021DDF7C - 2 ; case 3 .short _021DDFD2 - _021DDF7C - 2 ; case 4 _021DDF86: mov r0, #2 str r0, [sp] mov r0, #4 add r1, r0, #0 sub r1, #0x14 mov r2, #0 mov r3, #0x3f bl FUN_0200A208 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDFD8 _021DDFA0: mov r0, #2 bl FUN_0200A344 cmp r0, #0 beq _021DDFD8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDFD8 _021DDFB2: add r1, r2, #0 ldr r2, [r4, #4] bl MOD16_021DE228 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDFD8 _021DDFC2: bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DDFD8 _021DDFD2: add sp, #4 mov r0, #1 pop {r3, r4, pc} _021DDFD8: mov r0, #0 add sp, #4 pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021DDF60 thumb_func_start MOD16_021DDFE0 MOD16_021DDFE0: ; 0x021DDFE0 push {r3, r4, r5, r6, lr} sub sp, #4 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #0x1c bl AllocFromHeap str r0, [r5, #8] mov r0, #0x60 str r0, [sp] ldr r0, [r5, #8] mov r1, #0x10 mov r2, #0x40 mov r3, #0 bl MOD16_021D7C98 mov r0, #0x60 str r0, [sp] ldr r0, [r5, #8] mov r1, #0x40 add r0, r0, #4 mov r2, #0x70 mov r3, #0 bl MOD16_021D7C98 mov r0, #0x60 str r0, [sp] ldr r0, [r5, #8] mov r1, #0x70 add r0, #8 mov r2, #0xc0 mov r3, #0 bl MOD16_021D7C98 mov r0, #0x84 str r0, [sp] ldr r0, [r5, #8] mov r1, #0x38 add r0, #0xc mov r2, #0x48 mov r3, #0x74 bl MOD16_021D7C98 mov r0, #0x84 str r0, [sp] ldr r0, [r5, #8] mov r1, #0x8a add r0, #0x10 mov r2, #0x9a mov r3, #0x74 bl MOD16_021D7C98 ldr r0, [r5, #8] mov r1, #0xfe strb r1, [r0, #0x14] ldr r0, [r5, #8] mov r1, #0xf8 strb r1, [r0, #0x15] ldr r0, [r5, #8] mov r1, #0x68 strb r1, [r0, #0x16] ldr r0, [r5, #8] mov r2, #0x10 strb r1, [r0, #0x17] mov r0, #0xb4 str r0, [sp] ldr r0, [r5, #8] mov r1, #0 add r0, #0x18 mov r3, #0x74 bl MOD16_021D7C98 add r0, r6, #0 mov r1, #8 bl AllocFromHeap add r3, r0, #0 str r5, [r3] str r4, [r3, #4] str r3, [r5, #4] str r6, [sp] ldr r0, [r5, #8] ldr r2, _021DE098 ; =MOD16_021DE108 mov r1, #7 bl FUN_020220C4 str r0, [r5] add sp, #4 pop {r3, r4, r5, r6, pc} nop _021DE098: .word MOD16_021DE108 thumb_func_end MOD16_021DDFE0 thumb_func_start MOD16_021DE09C MOD16_021DE09C: ; 0x021DE09C push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 mov r1, #0 add r2, r4, #0 mov r0, #4 _021DE0A8: add r1, r1, #1 stmia r2!, {r0} cmp r1, #7 blt _021DE0A8 add r0, r4, #0 bl MOD16_021DEA34 ldr r0, [r5] bl FUN_02022144 ldr r1, [r4, #0x1c] add r0, r5, #0 ldr r1, [r1, #4] bl MOD16_021DEA5C cmp r0, #0 bne _021DE0CE mov r0, #0 str r0, [r5, #0xc] _021DE0CE: ldr r0, [r4, #0x14] cmp r0, #4 ldr r0, [r5, #0x1c] beq _021DE0E0 ldr r1, [r5, #0xc] bl MOD16_021DEAFC str r0, [r5, #0x1c] pop {r3, r4, r5, pc} _021DE0E0: mov r1, #0 bl MOD16_021DEAFC str r0, [r5, #0x1c] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DE09C thumb_func_start MOD16_021DE0EC MOD16_021DE0EC: ; 0x021DE0EC push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0202212C ldr r0, [r4, #4] bl FreeToHeap ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] pop {r4, pc} thumb_func_end MOD16_021DE0EC thumb_func_start MOD16_021DE108 MOD16_021DE108: ; 0x021DE108 push {r4, r5, r6, lr} ldr r5, [r2, #4] add r6, r0, #0 ldr r0, [r5, #0x1c] ldr r4, [r2] ldr r0, [r0, #4] lsl r2, r6, #2 str r1, [r5, r2] cmp r1, #0 beq _021DE122 cmp r1, #2 beq _021DE12E b _021DE1D6 _021DE122: ldr r0, _021DE1DC ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x14] ldrh r0, [r0, #0x1e] str r0, [r4, #0x18] pop {r4, r5, r6, pc} _021DE12E: cmp r6, #6 bhi _021DE1A2 add r1, r6, r6 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DE13E: ; jump table .short _021DE14C - _021DE13E - 2 ; case 0 .short _021DE154 - _021DE13E - 2 ; case 1 .short _021DE15C - _021DE13E - 2 ; case 2 .short _021DE164 - _021DE13E - 2 ; case 3 .short _021DE174 - _021DE13E - 2 ; case 4 .short _021DE1A2 - _021DE13E - 2 ; case 5 .short _021DE18A - _021DE13E - 2 ; case 6 _021DE14C: ldr r0, [r5, #0x1c] mov r1, #1 str r1, [r0, #0x34] b _021DE1A2 _021DE154: ldr r0, [r5, #0x1c] mov r1, #1 str r1, [r0, #0x30] b _021DE1A2 _021DE15C: ldr r0, [r5, #0x1c] mov r1, #1 str r1, [r0, #0x2c] b _021DE1A2 _021DE164: ldr r0, [r4, #0x20] cmp r0, #0 bne _021DE1A2 add r0, r5, #0 mov r1, #0 bl MOD16_021DEAB8 b _021DE1A2 _021DE174: ldr r1, [r4, #0x20] cmp r1, #0 bne _021DE1A2 bl MOD16_021D9D94 add r1, r0, #0 add r0, r5, #0 sub r1, r1, #1 bl MOD16_021DEAB8 b _021DE1A2 _021DE18A: ldr r0, [r5, #0x1c] mov r1, #0x5d ldr r2, [r0, #4] lsl r1, r1, #6 ldr r1, [r2, r1] cmp r1, #0 bne _021DE19E mov r1, #1 str r1, [r0, #0x28] b _021DE1A2 _021DE19E: mov r1, #1 str r1, [r0, #0x24] _021DE1A2: cmp r6, #5 bne _021DE1D0 ldr r0, [r5, #0x1c] ldr r0, [r0, #0x20] cmp r0, #0 bne _021DE1C6 add r0, r4, #0 bl MOD16_021DE8A0 ldr r1, [r4, #0xc] cmp r1, #0x10 bgt _021DE1C6 mov r0, #0xf mvn r0, r0 cmp r1, r0 blt _021DE1C6 mov r0, #0 str r0, [r4, #0xc] _021DE1C6: ldr r0, _021DE1DC ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x14] ldrh r0, [r0, #0x1e] str r0, [r4, #0x18] _021DE1D0: mov r0, #1 str r0, [r4, #0x20] pop {r4, r5, r6, pc} _021DE1D6: mov r0, #0 str r0, [r4, #0x20] pop {r4, r5, r6, pc} .align 2, 0 _021DE1DC: .word gMain + 0x40 thumb_func_end MOD16_021DE108 thumb_func_start MOD16_021DE1E0 MOD16_021DE1E0: ; 0x021DE1E0 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r2, #0 add r7, r3, #0 add r5, r0, #0 add r0, r4, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021DE254 add r0, r4, #0 add r1, r7, #0 bl MOD16_021DE788 add r0, r5, #0 add r1, r4, #0 add r2, r7, #0 bl MOD16_021DE308 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 add r3, r7, #0 bl MOD16_021DE3FC add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 add r3, r7, #0 bl MOD16_021DE594 mov r0, #7 mov r1, #3 bl FUN_020178BC pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DE1E0 thumb_func_start MOD16_021DE228 MOD16_021DE228: ; 0x021DE228 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 bl MOD16_021DE768 add r0, r5, #0 bl MOD16_021DE568 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DE3B8 add r0, r4, #0 add r1, r6, #0 bl MOD16_021DE808 mov r0, #7 mov r1, #1 bl FUN_020178BC pop {r4, r5, r6, pc} thumb_func_end MOD16_021DE228 thumb_func_start MOD16_021DE254 MOD16_021DE254: ; 0x021DE254 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] add r7, r1, #0 ldr r6, [r0] mov r1, #0 add r4, r2, #0 str r1, [sp] str r4, [sp, #4] mov r2, #4 add r3, r1, #0 bl MOD16_021D8CFC ldr r0, [r7, #0x1c] mov r1, #0x5d ldr r0, [r0, #4] lsl r1, r1, #6 ldr r1, [r0, r1] cmp r1, #1 bne _021DE292 mov r0, #0x20 str r0, [sp] str r4, [sp, #4] ldr r0, [r5] mov r1, #1 mov r2, #4 mov r3, #0x60 bl MOD16_021D8CFC b _021DE2AC _021DE292: bl MOD16_021D9D04 cmp r0, #1 bne _021DE2AC mov r0, #0x20 str r0, [sp] str r4, [sp, #4] ldr r0, [r5] mov r1, #0x19 mov r2, #4 mov r3, #0x60 bl MOD16_021D8CFC _021DE2AC: mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] str r4, [sp, #0xc] ldr r0, [r5] mov r1, #0x1d add r2, r6, #0 mov r3, #6 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x29 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r4, r0, #0 ldrh r0, [r2] mov r1, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r6, #0 bl FUN_02018148 add r0, r4, #0 bl FreeToHeap add r0, r6, #0 mov r1, #6 bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DE254 thumb_func_start MOD16_021DE308 MOD16_021DE308: ; 0x021DE308 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021DE3A8 ; =0x0000043C add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x54 mov r3, #1 bl FUN_020091E0 str r0, [r5, #0x2c] bl FUN_02009B04 ldr r0, [r5, #0x2c] bl FUN_02009474 ldr r0, _021DE3AC ; =0x000003EB add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0xc str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #3 mov r3, #0 bl FUN_02009298 str r0, [r5, #0x30] bl FUN_02009D68 ldr r0, [r5, #0x30] bl FUN_02009474 ldr r0, _021DE3B0 ; =0x0000043A add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x52 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x34] ldr r0, _021DE3B4 ; =0x0000043B add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x53 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x38] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021DE3A8: .word 0x0000043C _021DE3AC: .word 0x000003EB _021DE3B0: .word 0x0000043A _021DE3B4: .word 0x0000043B thumb_func_end MOD16_021DE308 thumb_func_start MOD16_021DE3B8 MOD16_021DE3B8: ; 0x021DE3B8 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x2c] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0x30] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x2c] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x30] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x34] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x38] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DE3B8 thumb_func_start MOD16_021DE3FC MOD16_021DE3FC: ; 0x021DE3FC push {r3, r4, r5, r6, r7, lr} sub sp, #0x70 add r7, r3, #0 add r5, r0, #0 mov r0, #0 ldr r4, [r1] ldr r3, _021DE564 ; =0x0000043B add r6, r2, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #5 str r2, [sp, #0x10] lsl r0, r0, #6 ldr r1, [r4, r0] str r1, [sp, #0x14] add r1, r0, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r0, #0 add r1, #8 ldr r1, [r4, r1] add r0, #0xc str r1, [sp, #0x1c] ldr r0, [r4, r0] add r1, r3, #1 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r2, r3, #0 add r0, sp, #0x4c sub r2, #0x50 sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0xa str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #8 str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] mov r0, #3 lsl r0, r0, #0x10 str r0, [sp, #0x34] lsl r1, r1, #0xe lsl r0, r0, #2 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] str r7, [sp, #0x48] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5] mov r1, #2 bl FUN_02020130 ldr r0, [r6, #0x1c] ldr r1, [r0, #4] mov r0, #0x5d lsl r0, r0, #6 ldr r0, [r1, r0] cmp r0, #1 bne _021DE494 ldr r0, [r5] mov r1, #0 bl FUN_020200A0 _021DE494: mov r0, #3 lsl r0, r0, #0x10 mov r1, #0x16 str r0, [sp, #0x34] lsl r1, r1, #0xe lsl r0, r0, #2 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5, #4] mov r1, #0 bl FUN_02020130 ldr r0, [r6, #0x1c] mov r1, #1 ldr r0, [r0, #4] bl MOD16_021D9CD0 cmp r0, #0 beq _021DE4D0 ldr r0, [r6, #0x1c] ldr r1, [r0, #4] mov r0, #0x5d lsl r0, r0, #6 ldr r0, [r1, r0] cmp r0, #1 bne _021DE4D8 _021DE4D0: ldr r0, [r5, #4] mov r1, #0 bl FUN_020200A0 _021DE4D8: mov r0, #3 lsl r0, r0, #0x10 mov r1, #0x26 str r0, [sp, #0x34] lsl r1, r1, #0xe lsl r0, r0, #2 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 mov r1, #1 str r0, [r5, #8] bl FUN_02020130 mov r0, #0x1f lsl r0, r0, #0xe str r0, [sp, #0x34] mov r1, #1 mov r0, #3 lsl r1, r1, #0x12 lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 mov r1, #3 str r0, [r5, #0x18] bl FUN_02020130 mov r0, #0x1f lsl r0, r0, #0xe str r0, [sp, #0x34] mov r1, #0x92 mov r0, #3 lsl r1, r1, #0xc lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 mov r1, #4 str r0, [r5, #0x1c] bl FUN_02020130 mov r0, #0x1f lsl r0, r0, #0xe str r0, [sp, #0x34] mov r1, #2 mov r0, #3 lsl r1, r1, #0xe lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 mov r1, #5 str r0, [r5, #0x20] bl FUN_02020130 add sp, #0x70 pop {r3, r4, r5, r6, r7, pc} nop _021DE564: .word 0x0000043B thumb_func_end MOD16_021DE3FC thumb_func_start MOD16_021DE568 MOD16_021DE568: ; 0x021DE568 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0201FFC8 ldr r0, [r4, #4] bl FUN_0201FFC8 ldr r0, [r4, #8] bl FUN_0201FFC8 ldr r0, [r4, #0x18] bl FUN_0201FFC8 ldr r0, [r4, #0x1c] bl FUN_0201FFC8 ldr r0, [r4, #0x20] bl FUN_0201FFC8 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DE568 thumb_func_start MOD16_021DE594 MOD16_021DE594: ; 0x021DE594 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 add r5, r0, #0 ldr r0, [r5] add r6, r2, #0 add r7, r3, #0 ldr r4, [r1] cmp r0, #0 bne _021DE5AA bl GF_AssertFail _021DE5AA: mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, _021DE760 ; =0x000003EB bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] mov r1, #0 bl FUN_02009E54 mov r1, #0x27 mvn r1, r1 str r1, [sp, #0x28] add r1, #0x1a str r1, [sp, #0x2c] mov r1, #0 str r1, [sp, #0x30] str r1, [sp, #0x34] mov r1, #2 str r0, [sp, #0x20] str r1, [sp, #0x38] str r7, [sp, #0x3c] bl FUN_0201E28C add r7, r0, #0 mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0xa mov r2, #4 bl MOD16_021DB388 str r0, [sp, #0x10] mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r1, [sp, #0x10] ldr r2, _021DE764 ; =0x00000266 mov r3, #7 bl MOD16_021DB3C8 ldr r0, [sp, #0x10] str r0, [sp, #0x1c] ldr r0, [r5] str r0, [sp, #0x24] add r0, sp, #0x18 bl MOD16_021DB2BC str r0, [r5, #0xc] ldr r0, [r0] add r1, r7, #3 bl FUN_02011A60 ldr r0, [r6, #0x1c] ldr r1, [r0, #4] mov r0, #0x5d lsl r0, r0, #6 ldr r0, [r1, r0] cmp r0, #1 bne _021DE638 ldr r0, [r5, #0xc] mov r1, #0 ldr r0, [r0] bl FUN_020119D0 _021DE638: ldr r0, [sp, #0x10] bl MOD16_021DB3BC mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0xa mov r2, #4 bl MOD16_021DB388 str r0, [sp, #8] mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r1, [sp, #8] ldr r2, _021DE764 ; =0x00000266 mov r3, #5 bl MOD16_021DB3C8 ldr r0, [sp, #8] str r0, [sp, #0x1c] ldr r0, [r5, #4] str r0, [sp, #0x24] add r0, sp, #0x18 bl MOD16_021DB2BC str r0, [r5, #0x10] ldr r0, [r0] add r1, r7, #3 bl FUN_02011A60 ldr r0, [r6, #0x1c] mov r1, #1 ldr r0, [r0, #4] bl MOD16_021D9CD0 cmp r0, #0 beq _021DE698 ldr r0, [r6, #0x1c] ldr r1, [r0, #4] mov r0, #0x5d lsl r0, r0, #6 ldr r0, [r1, r0] cmp r0, #1 bne _021DE6A2 _021DE698: ldr r0, [r5, #0x10] mov r1, #0 ldr r0, [r0] bl FUN_020119D0 _021DE6A2: ldr r0, [sp, #8] bl MOD16_021DB3BC mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0xa mov r2, #4 bl MOD16_021DB388 str r0, [sp, #0x14] mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r1, [sp, #0x14] ldr r2, _021DE764 ; =0x00000266 mov r3, #0x1d bl MOD16_021DB3C8 ldr r0, [sp, #0x14] str r0, [sp, #0x1c] ldr r0, [r5, #8] str r0, [sp, #0x24] add r0, sp, #0x18 bl MOD16_021DB2BC str r0, [r5, #0x14] ldr r0, [r0] add r1, r7, #2 bl FUN_02011A60 ldr r0, [sp, #0x14] bl MOD16_021DB3BC mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0xe mov r2, #2 bl MOD16_021DB388 str r0, [sp, #0xc] ldr r0, [r6, #0x1c] ldr r2, _021DE764 ; =0x00000266 ldr r1, [r0, #4] mov r0, #0x5d lsl r0, r0, #6 ldr r0, [r1, r0] cmp r0, #0 bne _021DE722 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r1, [sp, #0xc] mov r3, #0x6a bl MOD16_021DB3C8 b _021DE736 _021DE722: mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r1, [sp, #0xc] mov r3, #0x6b bl MOD16_021DB3C8 _021DE736: ldr r0, [sp, #0xc] str r0, [sp, #0x1c] ldr r0, [r5, #0x20] str r0, [sp, #0x24] mov r0, #0xa str r0, [sp, #0x28] sub r0, #0x12 str r0, [sp, #0x2c] add r0, sp, #0x18 bl MOD16_021DB2BC str r0, [r5, #0x24] ldr r0, [r0] add r1, r7, #1 bl FUN_02011A60 ldr r0, [sp, #0xc] bl MOD16_021DB3BC add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DE760: .word 0x000003EB _021DE764: .word 0x00000266 thumb_func_end MOD16_021DE594 thumb_func_start MOD16_021DE768 MOD16_021DE768: ; 0x021DE768 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0xc] bl MOD16_021DB338 ldr r0, [r4, #0x10] bl MOD16_021DB338 ldr r0, [r4, #0x14] bl MOD16_021DB338 ldr r0, [r4, #0x24] bl MOD16_021DB338 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DE768 thumb_func_start MOD16_021DE788 MOD16_021DE788: ; 0x021DE788 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] add r6, r1, #0 ldr r4, [r0] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r6, [sp, #0xc] mov r1, #0x1b add r2, r4, #0 mov r3, #7 bl MOD16_021D8CB4 str r6, [sp] ldr r0, [r5] mov r1, #0x25 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #7 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r4, #0 bl FUN_02018148 add r0, r5, #0 bl FreeToHeap add r0, r4, #0 mov r1, #7 bl FUN_0201AC68 mov r2, #0 add r3, r2, #0 add r0, r4, #0 mov r1, #7 sub r3, #0x78 bl FUN_020179E0 add r0, r4, #0 mov r1, #7 mov r2, #3 mov r3, #0 bl FUN_020179E0 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DE788 thumb_func_start MOD16_021DE808 MOD16_021DE808: ; 0x021DE808 push {r4, lr} ldr r0, [r0] add r3, r1, #0 ldr r4, [r0] mov r0, #7 mov r1, #0x40 mov r2, #0 bl FUN_02017F18 add r0, r4, #0 mov r1, #7 bl FUN_02018744 pop {r4, pc} thumb_func_end MOD16_021DE808 thumb_func_start MOD16_021DE824 MOD16_021DE824: ; 0x021DE824 push {r3, r4, r5, lr} add r4, r1, #0 ldr r2, [r4, #0x1c] add r5, r0, #0 ldr r3, [r2, #0xc] ldr r1, [r2, #4] cmp r3, #0 bgt _021DE860 ldr r3, [r5, #0x10] cmp r3, #0 beq _021DE85C bl MOD16_021DEA84 cmp r0, #0 bne _021DE84C add r0, r5, #0 add r1, r4, #0 bl MOD16_021DEAAC b _021DE860 _021DE84C: mov r1, #0xa ldr r0, [r4, #0x1c] lsl r1, r1, #6 str r1, [r0, #0xc] ldr r0, _021DE89C ; =0x0000068B bl FUN_020054C8 b _021DE860 _021DE85C: mov r0, #0 str r0, [r2, #8] _021DE860: ldr r0, [r5, #0x10] cmp r0, #0 bge _021DE86E ldr r0, [r4, #0x1c] mov r1, #1 str r1, [r0, #8] b _021DE876 _021DE86E: ble _021DE876 ldr r0, [r4, #0x1c] mov r1, #2 str r1, [r0, #8] _021DE876: ldr r2, [r4, #0x1c] ldr r0, [r2, #8] cmp r0, #0 beq _021DE898 ldr r1, [r5, #0x10] cmp r1, #0 bge _021DE886 neg r1, r1 _021DE886: ldr r0, [r2, #0xc] sub r0, r0, r1 str r0, [r2, #0xc] ldr r1, [r4, #0x1c] ldr r0, [r1, #0xc] cmp r0, #0 bge _021DE898 mov r0, #0 str r0, [r1, #0xc] _021DE898: pop {r3, r4, r5, pc} nop _021DE89C: .word 0x0000068B thumb_func_end MOD16_021DE824 thumb_func_start MOD16_021DE8A0 MOD16_021DE8A0: ; 0x021DE8A0 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 mov r0, #0x83 lsl r0, r0, #2 str r0, [sp] ldr r3, _021DE8CC ; =gMain + 0x40 ldr r0, [r4, #0x14] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] ldr r1, [r4, #0x18] sub r0, #0xf8 sub r1, #0x68 sub r2, #0xf8 sub r3, #0x68 bl CircularDistance mov r1, #0xa mul r1, r0 str r1, [r4, #0xc] add sp, #4 pop {r3, r4, pc} .align 2, 0 _021DE8CC: .word gMain + 0x40 thumb_func_end MOD16_021DE8A0 thumb_func_start MOD16_021DE8D0 MOD16_021DE8D0: ; 0x021DE8D0 push {r4, r5, r6, lr} add r5, r0, #0 lsl r0, r2, #0xc add r4, r1, #0 asr r6, r3, #0x1f add r2, r3, #0 asr r1, r0, #0x1f add r3, r6, #0 bl _ll_mul mov r3, #2 mov r6, #0 lsl r3, r3, #0xa add r3, r0, r3 adc r1, r6 lsl r0, r1, #0x14 lsr r1, r3, #0xc orr r1, r0 asr r0, r1, #0xc ldrh r2, [r5, #0x28] mov r1, #0xb6 add r0, r2, r0 strh r0, [r5, #0x28] ldrh r0, [r5, #0x28] strh r0, [r5, #0x28] bl _s32_div_f add r3, r0, #0 ldr r0, [r4] lsl r3, r3, #0x10 ldr r0, [r0] mov r1, #7 add r2, r6, #0 lsr r3, r3, #0x10 bl FUN_0201AF08 ldr r0, [r4] mov r1, #7 ldr r0, [r0] mov r2, #9 mov r3, #0x80 bl FUN_0201AF50 ldr r0, [r4] mov r1, #7 ldr r0, [r0] mov r2, #0xc mov r3, #0x68 bl FUN_0201AF50 ldrh r0, [r5, #0x28] strh r0, [r5, #0x2a] pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021DE8D0 thumb_func_start MOD16_021DE93C MOD16_021DE93C: ; 0x021DE93C push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 ldr r6, [r7, #0x1c] add r5, r0, #0 add r4, r1, #0 mov r1, #0xa ldr r0, [r6, #0xc] lsl r1, r1, #6 sub r2, r1, r0 ldr r0, _021DE9AC ; =0x000011C7 mul r0, r2 bl _s32_div_f ldr r1, [r6, #8] cmp r1, #1 bne _021DE95E neg r0, r0 _021DE95E: ldrh r1, [r5, #0x2a] add r0, r1, r0 strh r0, [r5, #0x28] ldrh r0, [r5, #0x28] mov r1, #0xb6 strh r0, [r5, #0x28] bl _s32_div_f add r3, r0, #0 ldr r0, [r4] lsl r3, r3, #0x10 ldr r0, [r0] mov r1, #7 mov r2, #0 lsr r3, r3, #0x10 bl FUN_0201AF08 ldr r0, [r4] mov r1, #7 ldr r0, [r0] mov r2, #9 mov r3, #0x80 bl FUN_0201AF50 ldr r0, [r4] mov r1, #7 ldr r0, [r0] mov r2, #0xc mov r3, #0x68 bl FUN_0201AF50 ldr r0, [r7, #0x1c] ldr r0, [r0, #0xc] cmp r0, #0 bne _021DE9A8 ldrh r0, [r5, #0x28] strh r0, [r5, #0x2a] _021DE9A8: pop {r3, r4, r5, r6, r7, pc} nop _021DE9AC: .word 0x000011C7 thumb_func_end MOD16_021DE93C thumb_func_start MOD16_021DE9B0 MOD16_021DE9B0: ; 0x021DE9B0 push {r3, r4} ldr r3, [r0, #0xc] cmp r3, #0 ble _021DE9C8 sub r3, r3, #2 cmp r3, #4 blt _021DE9C2 str r3, [r0, #0xc] b _021DE9D8 _021DE9C2: mov r3, #4 str r3, [r0, #0xc] b _021DE9D8 _021DE9C8: add r4, r3, #2 mov r3, #3 mvn r3, r3 cmp r4, r3 bgt _021DE9D6 str r4, [r0, #0xc] b _021DE9D8 _021DE9D6: str r3, [r0, #0xc] _021DE9D8: ldr r3, [r0, #0xc] str r3, [r0, #0x10] ldr r4, [r0, #0xc] cmp r4, #0x21 bgt _021DEA1A mov r3, #0x20 mvn r3, r3 cmp r4, r3 blt _021DEA1A cmp r1, #0 bne _021DEA08 mov r3, #0 str r3, [r0, #0x10] ldr r2, [r0, #0xc] cmp r2, #4 bgt _021DEA1A sub r1, r3, #4 cmp r2, r1 blt _021DEA1A ldr r1, _021DEA20 ; =0x000004CD str r3, [r0, #0xc] str r1, [r0, #0x1c] pop {r3, r4} bx lr _021DEA08: cmp r2, #1 bne _021DEA14 str r3, [r0, #0x10] str r3, [r0, #0xc] pop {r3, r4} bx lr _021DEA14: mov r1, #0x21 str r1, [r0, #0x10] str r1, [r0, #0xc] _021DEA1A: pop {r3, r4} bx lr nop _021DEA20: .word 0x000004CD thumb_func_end MOD16_021DE9B0 thumb_func_start MOD16_021DEA24 MOD16_021DEA24: ; 0x021DEA24 push {r3, r4, lr} sub sp, #4 ldr r4, [sp, #0x10] str r4, [sp] bl MOD16_021D7C70 add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021DEA24 thumb_func_start MOD16_021DEA34 MOD16_021DEA34: ; 0x021DEA34 ldr r2, [r0, #0x1c] ldr r1, [r2, #0x2c] cmp r1, #0 beq _021DEA42 mov r1, #2 str r1, [r0, #8] bx lr _021DEA42: ldr r1, [r2, #0x34] cmp r1, #0 beq _021DEA4E mov r1, #2 str r1, [r0] bx lr _021DEA4E: ldr r1, [r2, #0x30] cmp r1, #0 beq _021DEA58 mov r1, #2 str r1, [r0, #4] _021DEA58: bx lr .align 2, 0 thumb_func_end MOD16_021DEA34 thumb_func_start MOD16_021DEA5C MOD16_021DEA5C: ; 0x021DEA5C push {r3, lr} ldr r0, [r0, #0xc] cmp r0, #0 beq _021DEA7E bge _021DEA6A mov r2, #1 b _021DEA6E _021DEA6A: mov r2, #0 mvn r2, r2 _021DEA6E: add r0, r1, #0 add r1, r2, #0 bl MOD16_021D9EA8 cmp r0, #0 bne _021DEA7E mov r0, #0 pop {r3, pc} _021DEA7E: mov r0, #1 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021DEA5C thumb_func_start MOD16_021DEA84 MOD16_021DEA84: ; 0x021DEA84 push {r3, lr} ldr r0, [r0, #0x10] cmp r0, #0 beq _021DEAA6 bge _021DEA92 mov r2, #1 b _021DEA96 _021DEA92: mov r2, #0 mvn r2, r2 _021DEA96: add r0, r1, #0 add r1, r2, #0 bl MOD16_021D9E70 cmp r0, #0 bne _021DEAA6 mov r0, #0 pop {r3, pc} _021DEAA6: mov r0, #1 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021DEA84 thumb_func_start MOD16_021DEAAC MOD16_021DEAAC: ; 0x021DEAAC mov r2, #0 str r2, [r0, #0x10] str r2, [r0, #0xc] ldr r0, [r1, #0x1c] str r2, [r0, #8] bx lr thumb_func_end MOD16_021DEAAC thumb_func_start MOD16_021DEAB8 MOD16_021DEAB8: ; 0x021DEAB8 push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, [r4, #0x1c] add r5, r1, #0 bl MOD16_021DC0E4 cmp r0, #0 beq _021DEAF8 ldr r0, [r4, #0x1c] add r1, r5, #0 ldr r0, [r0, #4] bl MOD16_021D9D28 ldr r1, [r4, #0x20] mov r2, #1 ldr r0, [r1] mov r3, #2 orr r0, r2 str r0, [r1] ldr r1, [r4, #0x1c] mov r0, #0 str r0, [r1, #0xc] ldr r1, [r4, #0x1c] str r3, [r1, #0x20] ldr r1, [r4, #0x1c] str r2, [r1, #0x10] ldr r1, [r4, #0x1c] str r0, [r1, #0x14] ldr r1, [r4, #0x1c] str r0, [r1, #8] ldr r1, [r4, #0x1c] str r0, [r1, #0x1c] _021DEAF8: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DEAB8 thumb_func_start MOD16_021DEAFC MOD16_021DEAFC: ; 0x021DEAFC cmp r1, #0 bge _021DEB02 neg r1, r1 _021DEB02: cmp r1, #0x40 bge _021DEB14 add r2, r0, #0 ldr r1, _021DEB24 ; =0x000004CD sub r2, #0x29 cmp r2, r1 blt _021DEB22 sub r0, #0x29 bx lr _021DEB14: ldr r1, _021DEB28 ; =0x00000333 add r2, r0, r1 mov r1, #1 lsl r1, r1, #0xc cmp r2, r1 bgt _021DEB22 add r0, r2, #0 _021DEB22: bx lr .align 2, 0 _021DEB24: .word 0x000004CD _021DEB28: .word 0x00000333 thumb_func_end MOD16_021DEAFC thumb_func_start MOD16_021DEB2C MOD16_021DEB2C: ; 0x021DEB2C push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021DEC64 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021DECA0 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021DECC8 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021DED44 str r0, [r5, #0x24] ldr r0, _021DEB74 ; =MOD16_021DED48 str r0, [r5, #8] ldr r0, _021DEB78 ; =MOD16_021DED80 str r0, [r5, #0xc] ldr r0, _021DEB7C ; =MOD16_021DEEA4 str r0, [r5, #0x10] ldr r0, _021DEB80 ; =MOD16_021DEEB8 str r0, [r5, #0x14] ldr r0, _021DEB84 ; =MOD16_021DEF34 str r0, [r5, #0x18] ldr r0, _021DEB88 ; =MOD16_021DEF70 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DEB74: .word MOD16_021DED48 _021DEB78: .word MOD16_021DED80 _021DEB7C: .word MOD16_021DEEA4 _021DEB80: .word MOD16_021DEEB8 _021DEB84: .word MOD16_021DEF34 _021DEB88: .word MOD16_021DEF70 thumb_func_end MOD16_021DEB2C thumb_func_start MOD16_021DEB8C MOD16_021DEB8C: ; 0x021DEB8C push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021DED04 ldr r0, [r4, #4] bl MOD16_021DED18 ldr r0, [r4, #0x20] bl MOD16_021DED2C pop {r4, pc} thumb_func_end MOD16_021DEB8C thumb_func_start MOD16_021DEBA4 MOD16_021DEBA4: ; 0x021DEBA4 push {r3, r4, r5, lr} add r5, r1, #0 ldr r4, [r0] cmp r5, #4 blt _021DEBB2 bl GF_AssertFail _021DEBB2: str r5, [r4, #0xc] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DEBA4 thumb_func_start MOD16_021DEBB8 MOD16_021DEBB8: ; 0x021DEBB8 ldr r0, [r0] ldr r0, [r0, #0xc] bx lr .align 2, 0 thumb_func_end MOD16_021DEBB8 thumb_func_start MOD16_021DEBC0 MOD16_021DEBC0: ; 0x021DEBC0 push {r3, r4, r5, lr} add r5, r1, #0 ldr r4, [r0] cmp r5, #6 blt _021DEBCE bl GF_AssertFail _021DEBCE: str r5, [r4, #0x10] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DEBC0 thumb_func_start MOD16_021DEBD4 MOD16_021DEBD4: ; 0x021DEBD4 ldr r0, [r0] ldr r0, [r0, #0x10] bx lr .align 2, 0 thumb_func_end MOD16_021DEBD4 thumb_func_start MOD16_021DEBDC MOD16_021DEBDC: ; 0x021DEBDC push {r3, r4, r5, lr} add r5, r1, #0 ldr r4, [r0] cmp r5, #0xa blt _021DEBEA bl GF_AssertFail _021DEBEA: str r5, [r4, #0x14] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DEBDC thumb_func_start MOD16_021DEBF0 MOD16_021DEBF0: ; 0x021DEBF0 ldr r0, [r0] ldr r0, [r0, #0x14] bx lr .align 2, 0 thumb_func_end MOD16_021DEBF0 thumb_func_start MOD16_021DEBF8 MOD16_021DEBF8: ; 0x021DEBF8 push {r4, r5, r6, lr} add r5, r1, #0 add r6, r2, #0 ldr r4, [r0] cmp r5, #0x12 blt _021DEC08 bl GF_AssertFail _021DEC08: cmp r6, #0 bne _021DEC10 str r5, [r4, #0x18] pop {r4, r5, r6, pc} _021DEC10: str r5, [r4, #0x1c] pop {r4, r5, r6, pc} thumb_func_end MOD16_021DEBF8 thumb_func_start MOD16_021DEC14 MOD16_021DEC14: ; 0x021DEC14 ldr r0, [r0] cmp r1, #0 bne _021DEC1E ldr r0, [r0, #0x18] bx lr _021DEC1E: ldr r0, [r0, #0x1c] bx lr .align 2, 0 thumb_func_end MOD16_021DEC14 thumb_func_start MOD16_021DEC24 MOD16_021DEC24: ; 0x021DEC24 push {r3, r4, r5, lr} add r5, r1, #0 ldr r4, [r0] cmp r5, #0xf blt _021DEC32 bl GF_AssertFail _021DEC32: str r5, [r4, #0x20] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DEC24 thumb_func_start MOD16_021DEC38 MOD16_021DEC38: ; 0x021DEC38 ldr r0, [r0] ldr r0, [r0, #0x20] bx lr .align 2, 0 thumb_func_end MOD16_021DEC38 thumb_func_start MOD16_021DEC40 MOD16_021DEC40: ; 0x021DEC40 ldr r2, [r0] mov r0, #1 str r0, [r2, #0x24] str r1, [r2, #0x28] bx lr .align 2, 0 thumb_func_end MOD16_021DEC40 thumb_func_start MOD16_021DEC4C MOD16_021DEC4C: ; 0x021DEC4C ldr r0, [r0] ldr r0, [r0, #0x28] bx lr .align 2, 0 thumb_func_end MOD16_021DEC4C thumb_func_start MOD16_021DEC54 MOD16_021DEC54: ; 0x021DEC54 ldr r0, [r0] ldr r0, [r0, #0x30] bx lr .align 2, 0 thumb_func_end MOD16_021DEC54 thumb_func_start MOD16_021DEC5C MOD16_021DEC5C: ; 0x021DEC5C ldr r0, [r0] ldr r0, [r0, #0x34] bx lr .align 2, 0 thumb_func_end MOD16_021DEC5C thumb_func_start MOD16_021DEC64 MOD16_021DEC64: ; 0x021DEC64 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x38 bl AllocFromHeap add r4, r0, #0 bne _021DEC76 bl GF_AssertFail _021DEC76: add r0, r4, #0 mov r1, #0 mov r2, #0x38 bl memset add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #0 bl MOD16_021D7B5C ldr r0, [r0] str r0, [r4, #8] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DEC64 thumb_func_start MOD16_021DECA0 MOD16_021DECA0: ; 0x021DECA0 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021DECB2 bl GF_AssertFail _021DECB2: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DECA0 thumb_func_start MOD16_021DECC8 MOD16_021DECC8: ; 0x021DECC8 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 bl MOD16_021DED44 add r7, r0, #0 mov r1, #0x14 mul r7, r1 add r0, r5, #0 add r1, r7, #0 bl AllocFromHeap add r4, r0, #0 bne _021DECE8 bl GF_AssertFail _021DECE8: add r0, r4, #0 mov r1, #0 add r2, r7, #0 bl memset add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 mov r3, #2 bl MOD16_021DAE0C add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DECC8 thumb_func_start MOD16_021DED04 MOD16_021DED04: ; 0x021DED04 push {r4, lr} add r4, r0, #0 bne _021DED0E bl GF_AssertFail _021DED0E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DED04 thumb_func_start MOD16_021DED18 MOD16_021DED18: ; 0x021DED18 push {r4, lr} add r4, r0, #0 bne _021DED22 bl GF_AssertFail _021DED22: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DED18 thumb_func_start MOD16_021DED2C MOD16_021DED2C: ; 0x021DED2C push {r4, lr} add r4, r0, #0 bne _021DED36 bl GF_AssertFail _021DED36: add r0, r4, #0 bl MOD16_021DAC7C add r0, r4, #0 bl FreeToHeap pop {r4, pc} thumb_func_end MOD16_021DED2C thumb_func_start MOD16_021DED44 MOD16_021DED44: ; 0x021DED44 mov r0, #1 bx lr thumb_func_end MOD16_021DED44 thumb_func_start MOD16_021DED48 MOD16_021DED48: ; 0x021DED48 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #4] add r4, r1, #0 mov r1, #4 bl AllocFromHeap add r6, r0, #0 bne _021DED5E bl GF_AssertFail _021DED5E: mov r0, #0 strb r0, [r6] strb r0, [r6, #1] strb r0, [r6, #2] strb r0, [r6, #3] str r6, [r5, #8] str r0, [r4, #0xc] str r0, [r4, #0x10] str r0, [r4, #0x14] str r0, [r4, #0x18] str r0, [r4, #0x1c] str r0, [r4, #0x20] str r0, [r4, #0x24] str r0, [r4, #0x28] str r0, [r4, #0x30] mov r0, #1 pop {r4, r5, r6, pc} thumb_func_end MOD16_021DED48 thumb_func_start MOD16_021DED80 MOD16_021DED80: ; 0x021DED80 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5, #0xc] add r4, r1, #0 cmp r0, #1 bne _021DED94 add sp, #0x14 mov r0, #1 pop {r4, r5, pc} _021DED94: ldr r0, [r5, #0x10] cmp r0, #1 bne _021DEDA0 add sp, #0x14 mov r0, #0 pop {r4, r5, pc} _021DEDA0: ldr r0, [r5] cmp r0, #4 bhi _021DEE96 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DEDB2: ; jump table .short _021DEDBC - _021DEDB2 - 2 ; case 0 .short _021DEDF2 - _021DEDB2 - 2 ; case 1 .short _021DEE10 - _021DEDB2 - 2 ; case 2 .short _021DEE20 - _021DEDB2 - 2 ; case 3 .short _021DEE84 - _021DEDB2 - 2 ; case 4 _021DEDBC: ldr r0, [r4, #0x2c] cmp r0, #0 beq _021DEDC6 mov r0, #0 str r0, [r4, #0x2c] _021DEDC6: ldr r0, [r4, #0x24] cmp r0, #1 bne _021DEE9A ldr r0, [r4, #0x28] cmp r0, #0 bne _021DEDE2 ldr r2, [r4] mov r0, #2 ldr r1, [r2] orr r0, r1 str r0, [r2] mov r0, #4 str r0, [r4, #0x30] b _021DEE9A _021DEDE2: mov r0, #1 str r0, [r4, #0x30] mov r0, #4 str r0, [r4, #0x34] ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DEE9A _021DEDF2: ldr r0, [r4, #0x34] sub r0, r0, #1 str r0, [r4, #0x34] bpl _021DEE9A ldr r0, [r5] add r0, r0, #1 str r0, [r5] mov r0, #2 str r0, [r4, #0x30] mov r0, #0x20 str r0, [r4, #0x34] ldr r0, _021DEEA0 ; =0x000005FF bl FUN_020054C8 b _021DEE9A _021DEE10: ldr r0, [r4, #0x34] sub r0, r0, #1 str r0, [r4, #0x34] bpl _021DEE9A ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DEE9A _021DEE20: ldr r0, [r4, #4] bl MOD16_021D9D04 ldr r1, [r4, #0x1c] str r1, [sp] ldr r1, [r4, #0x20] str r1, [sp, #4] str r0, [sp, #8] ldr r0, [r5, #4] str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] ldr r0, [r4, #4] ldr r1, [r4, #0x10] ldr r2, [r4, #0x14] ldr r3, [r4, #0x18] bl MOD16_021D9A90 cmp r0, #1 bne _021DEE6A ldr r2, [r4] mov r0, #2 ldr r1, [r2] orr r0, r1 str r0, [r2] ldr r0, [r4, #4] mov r1, #0 bl MOD16_021D9E3C mov r0, #0x5d ldr r1, [r4, #4] mov r2, #1 lsl r0, r0, #6 str r2, [r1, r0] ldr r0, [r4, #8] str r2, [r0, #0x18] b _021DEE9A _021DEE6A: mov r0, #0 str r0, [r4, #0x28] str r0, [r4, #0x24] mov r0, #1 str r0, [r4, #0x2c] mov r0, #3 str r0, [r4, #0x30] mov r0, #4 str r0, [r4, #0x34] ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DEE9A _021DEE84: ldr r0, [r4, #0x34] sub r0, r0, #1 str r0, [r4, #0x34] bpl _021DEE9A mov r0, #0 str r0, [r4, #0x30] str r0, [r4, #0x34] str r0, [r5] b _021DEE9A _021DEE96: bl GF_AssertFail _021DEE9A: mov r0, #0 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 _021DEEA0: .word 0x000005FF thumb_func_end MOD16_021DED80 thumb_func_start MOD16_021DEEA4 MOD16_021DEEA4: ; 0x021DEEA4 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DEEA4 thumb_func_start MOD16_021DEEB8 MOD16_021DEEB8: ; 0x021DEEB8 push {r3, r4, r5, lr} add r4, r1, #0 ldr r1, [r4] add r5, r0, #0 ldr r3, [r3, #8] ldr r0, [r4, #8] cmp r1, #3 bhi _021DEF2E add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DEED4: ; jump table .short _021DEEDC - _021DEED4 - 2 ; case 0 .short _021DEEF6 - _021DEED4 - 2 ; case 1 .short _021DEF18 - _021DEED4 - 2 ; case 2 .short _021DEF2A - _021DEED4 - 2 ; case 3 _021DEEDC: ldr r0, [r4, #4] mov r1, #0x64 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x64 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DEF2E _021DEEF6: ldr r1, [r4, #4] str r1, [sp] add r1, r5, #0 bl MOD16_021DEFF8 mov r1, #0 mov r0, #1 add r2, r1, #0 str r0, [sp] sub r2, #0x10 mov r3, #0x3f bl FUN_0200A208 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DEF2E _021DEF18: mov r0, #1 bl FUN_0200A344 cmp r0, #0 beq _021DEF2E ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DEF2E _021DEF2A: mov r0, #1 pop {r3, r4, r5, pc} _021DEF2E: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DEEB8 thumb_func_start MOD16_021DEF34 MOD16_021DEF34: ; 0x021DEF34 push {r4, lr} add r3, r1, #0 ldr r1, [r2, #0x30] add r4, r0, #0 ldr r0, [r3, #8] cmp r1, #0 bne _021DEF4C ldr r3, [r3, #4] add r1, r4, #0 bl MOD16_021DF450 b _021DEF6A _021DEF4C: cmp r1, #1 beq _021DEF54 cmp r1, #3 bne _021DEF5E _021DEF54: ldr r3, [r3, #4] add r1, r4, #0 bl MOD16_021DF89C b _021DEF6A _021DEF5E: cmp r1, #4 beq _021DEF6A ldr r3, [r3, #4] add r1, r4, #0 bl MOD16_021DF90C _021DEF6A: mov r0, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DEF34 thumb_func_start MOD16_021DEF70 MOD16_021DEF70: ; 0x021DEF70 push {r3, r4, lr} sub sp, #4 add r4, r1, #0 ldr r1, [r4] add r3, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021DEFF2 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DEF8C: ; jump table .short _021DEF96 - _021DEF8C - 2 ; case 0 .short _021DEFBC - _021DEF8C - 2 ; case 1 .short _021DEFCE - _021DEF8C - 2 ; case 2 .short _021DEFDC - _021DEF8C - 2 ; case 3 .short _021DEFEC - _021DEF8C - 2 ; case 4 _021DEF96: ldr r0, [r2, #0x28] cmp r0, #0 bne _021DEFB6 mov r0, #1 str r0, [sp] mov r0, #6 add r1, r0, #0 sub r1, #0x16 mov r2, #0 mov r3, #0x3f bl FUN_0200A208 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DEFF2 _021DEFB6: mov r0, #2 str r0, [r4] b _021DEFF2 _021DEFBC: mov r0, #1 bl FUN_0200A344 cmp r0, #0 beq _021DEFF2 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DEFF2 _021DEFCE: add r1, r3, #0 bl MOD16_021DF0BC ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DEFF2 _021DEFDC: bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DEFF2 _021DEFEC: add sp, #4 mov r0, #1 pop {r3, r4, pc} _021DEFF2: mov r0, #0 add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021DEF70 thumb_func_start MOD16_021DEFF8 MOD16_021DEFF8: ; 0x021DEFF8 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r7, r0, #0 ldr r0, [r5] mov r1, #2 ldr r0, [r0] add r4, r2, #0 ldr r6, [sp, #0x18] bl FUN_02018744 ldr r0, [r5] mov r1, #1 ldr r0, [r0] bl FUN_02018744 ldr r0, [r5] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r5] mov r1, #7 add r0, r0, #4 bl FUN_0201AB24 add r0, r5, #0 bl MOD16_021DF17C add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021DF108 ldr r0, [r4, #4] bl MOD16_021D9D04 str r0, [sp] add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021DF140 add r0, r7, #0 add r1, r5, #0 add r2, r6, #0 bl MOD16_021DF198 add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021DF288 ldr r1, [r4, #0xc] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF350 ldr r1, [r4, #0xc] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF514 ldr r1, [r4, #0x10] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF5D0 ldr r1, [r4, #0x14] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF630 ldr r1, [r4, #0x18] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF7B0 ldr r1, [r4, #0x1c] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF7BC ldr r1, [r4, #0x20] add r0, r7, #0 bl MOD16_021DF7C8 mov r0, #1 add r1, r0, #0 bl FUN_020178BC mov r0, #2 mov r1, #0 bl FUN_020178BC pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DEFF8 thumb_func_start MOD16_021DF0BC MOD16_021DF0BC: ; 0x021DF0BC push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021DF33C add r0, r5, #0 add r1, r4, #0 bl MOD16_021DF244 add r0, r5, #0 add r1, r4, #0 bl MOD16_021DF168 ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_02018744 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FUN_0201AB24 mov r0, #1 mov r1, #0 bl FUN_020178BC mov r0, #2 mov r1, #1 bl FUN_020178BC pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DF0BC thumb_func_start MOD16_021DF108 MOD16_021DF108: ; 0x021DF108 push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] add r4, r2, #0 str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x1c mov r3, #3 bl MOD16_021D8CB4 mov r0, #0x20 str r0, [sp] str r4, [sp, #4] mov r2, #0 ldr r0, [r5] mov r1, #5 add r3, r2, #0 bl MOD16_021D8CFC add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DF108 thumb_func_start MOD16_021DF140 MOD16_021DF140: ; 0x021DF140 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 ldr r0, [sp, #0x10] cmp r0, #1 bne _021DF150 mov r2, #0x2a b _021DF152 _021DF150: mov r2, #0x28 _021DF152: str r3, [sp] ldr r0, [r1] add r3, r4, #0 add r1, r2, #0 mov r2, #1 add r3, #0x60 bl MOD16_021D8D48 str r0, [r4, #0x5c] add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021DF140 thumb_func_start MOD16_021DF168 MOD16_021DF168: ; 0x021DF168 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x5c] bl FreeToHeap mov r0, #0 str r0, [r4, #0x5c] str r0, [r4, #0x60] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DF168 thumb_func_start MOD16_021DF17C MOD16_021DF17C: ; 0x021DF17C push {r4, lr} ldr r0, [r0] bl MOD16_021D8700 add r4, r0, #0 mov r1, #6 mov r2, #1 bl FUN_02007558 add r0, r4, #0 bl FUN_02007EEC pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DF17C thumb_func_start MOD16_021DF198 MOD16_021DF198: ; 0x021DF198 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021DF234 ; =0x00003AE9 mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x51 bl FUN_020091E0 str r0, [r5, #0x24] bl FUN_02009B04 ldr r0, [r5, #0x24] bl FUN_02009474 ldr r0, _021DF238 ; =0x00003A9B add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #0xc str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #3 mov r3, #0 bl FUN_02009298 str r0, [r5, #0x28] bl FUN_02009D68 ldr r0, [r5, #0x28] bl FUN_02009474 ldr r0, _021DF23C ; =0x00003AE7 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x4f mov r3, #1 bl FUN_02009358 str r0, [r5, #0x2c] ldr r0, _021DF240 ; =0x00003AE8 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x50 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x30] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DF234: .word 0x00003AE9 _021DF238: .word 0x00003A9B _021DF23C: .word 0x00003AE7 _021DF240: .word 0x00003AE8 thumb_func_end MOD16_021DF198 thumb_func_start MOD16_021DF244 MOD16_021DF244: ; 0x021DF244 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x24] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0x28] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x24] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x28] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x2c] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x30] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DF244 thumb_func_start MOD16_021DF288 MOD16_021DF288: ; 0x021DF288 push {r4, r5, r6, lr} sub sp, #0x70 add r6, r3, #0 ldr r4, [r1] ldr r3, _021DF338 ; =0x00003AE8 add r5, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r2, #0x4d sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x1f str r0, [sp, #0x40] mov r0, #1 str r0, [sp, #0x44] lsl r0, r0, #0x13 str r0, [sp, #0x34] mov r0, #0x29 lsl r0, r0, #0xe str r0, [sp, #0x38] add r0, sp, #0x2c str r6, [sp, #0x48] bl FUN_0201FF84 mov r1, #3 str r0, [r5, #0x20] bl FUN_02020130 mov r0, #2 lsl r0, r0, #0x12 str r0, [sp, #0x34] mov r0, #6 lsl r0, r0, #0x10 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5, #0x58] mov r1, #0x11 bl FUN_02020130 ldr r0, [r5, #0x58] mov r1, #0 bl FUN_020200A0 ldr r0, [r5, #0x58] mov r1, #1 bl FUN_020200EC ldr r0, [r5, #0x58] mov r1, #0 bl FUN_02020238 add sp, #0x70 pop {r4, r5, r6, pc} .align 2, 0 _021DF338: .word 0x00003AE8 thumb_func_end MOD16_021DF288 thumb_func_start MOD16_021DF33C MOD16_021DF33C: ; 0x021DF33C push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x20] bl FUN_0201FFC8 ldr r0, [r4, #0x58] bl FUN_0201FFC8 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DF33C thumb_func_start MOD16_021DF350 MOD16_021DF350: ; 0x021DF350 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r5, [r0] mov r0, #0xd0 str r0, [sp] mov r0, #0x20 add r6, r1, #0 add r7, r2, #0 str r0, [sp, #4] add r0, r5, #4 mov r1, #0 mov r2, #0x18 mov r3, #8 bl FillWindowPixelRect cmp r6, #3 bhi _021DF394 add r0, r6, r6 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DF37E: ; jump table .short _021DF386 - _021DF37E - 2 ; case 0 .short _021DF38A - _021DF37E - 2 ; case 1 .short _021DF38E - _021DF37E - 2 ; case 2 .short _021DF392 - _021DF37E - 2 ; case 3 _021DF386: mov r4, #0x5a b _021DF394 _021DF38A: mov r4, #0x57 b _021DF394 _021DF38E: mov r4, #0x58 b _021DF394 _021DF392: mov r4, #0x59 _021DF394: add r0, r4, #0 add r1, r7, #0 bl MOD16_021D8270 add r6, r0, #0 mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002F08 mov r1, #0xd0 sub r0, r1, r0 lsr r4, r0, #1 add r0, r6, #0 add r4, #0x18 bl FUN_02002F90 lsl r1, r0, #4 mov r0, #0x20 sub r0, r0, r1 lsr r0, r0, #1 add r0, #8 str r0, [sp] mov r1, #0 ldr r0, _021DF3E0 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r6, #0 add r3, r4, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DF3E0: .word 0x00020100 thumb_func_end MOD16_021DF350 thumb_func_start MOD16_021DF3E4 MOD16_021DF3E4: ; 0x021DF3E4 push {r4, r5, r6, lr} sub sp, #0x10 ldr r4, [r0] mov r0, #0xd0 str r0, [sp] mov r0, #0x20 add r5, r1, #0 str r0, [sp, #4] add r0, r4, #4 mov r1, #0 mov r2, #0x18 mov r3, #8 bl FillWindowPixelRect mov r0, #0x5d add r1, r5, #0 bl MOD16_021D8270 add r6, r0, #0 mov r0, #0 add r1, r6, #0 add r2, r0, #0 bl FUN_02002F08 mov r1, #0xd0 sub r0, r1, r0 lsr r5, r0, #1 add r0, r6, #0 add r5, #0x18 bl FUN_02002F90 lsl r1, r0, #4 mov r0, #0x20 sub r0, r0, r1 lsr r0, r0, #1 add r0, #8 str r0, [sp] mov r1, #0 ldr r0, _021DF44C ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r4, #4 add r2, r6, #0 add r3, r5, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r6, #0 bl String_dtor add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 _021DF44C: .word 0x00020100 thumb_func_end MOD16_021DF3E4 thumb_func_start MOD16_021DF450 MOD16_021DF450: ; 0x021DF450 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r4, r2, #0 add r6, r1, #0 ldr r1, [r4, #0x2c] ldr r0, [r5, #0x18] add r7, r3, #0 cmp r1, r0 beq _021DF474 str r1, [r5, #0x18] cmp r1, #1 bne _021DF474 mov r0, #0x40 str r0, [r5, #0x1c] add r0, r6, #0 add r1, r7, #0 bl MOD16_021DF3E4 _021DF474: ldr r0, [r5, #0x1c] cmp r0, #0 ble _021DF480 sub r0, r0, #1 str r0, [r5, #0x1c] b _021DF492 _021DF480: bne _021DF492 ldr r1, [r4, #0xc] add r0, r6, #0 add r2, r7, #0 bl MOD16_021DF350 ldr r0, [r5, #0x1c] sub r0, r0, #1 str r0, [r5, #0x1c] _021DF492: ldr r1, [r4, #0xc] ldr r0, [r5] cmp r0, r1 beq _021DF4B0 add r0, r6, #0 add r2, r7, #0 bl MOD16_021DF514 ldr r1, [r4, #0xc] add r0, r6, #0 add r2, r7, #0 bl MOD16_021DF350 ldr r0, [r4, #0xc] str r0, [r5] _021DF4B0: ldr r1, [r4, #0x10] ldr r0, [r5, #4] cmp r0, r1 beq _021DF4C4 add r0, r6, #0 add r2, r7, #0 bl MOD16_021DF5D0 ldr r0, [r4, #0x10] str r0, [r5, #4] _021DF4C4: ldr r1, [r4, #0x14] ldr r0, [r5, #8] cmp r0, r1 beq _021DF4D8 add r0, r6, #0 add r2, r7, #0 bl MOD16_021DF630 ldr r0, [r4, #0x14] str r0, [r5, #8] _021DF4D8: ldr r1, [r4, #0x18] ldr r0, [r5, #0xc] cmp r0, r1 beq _021DF4EC add r0, r6, #0 add r2, r7, #0 bl MOD16_021DF7B0 ldr r0, [r4, #0x18] str r0, [r5, #0xc] _021DF4EC: ldr r1, [r4, #0x1c] ldr r0, [r5, #0x10] cmp r0, r1 beq _021DF500 add r0, r6, #0 add r2, r7, #0 bl MOD16_021DF7BC ldr r0, [r4, #0x1c] str r0, [r5, #0x10] _021DF500: ldr r1, [r4, #0x20] ldr r0, [r5, #0x14] cmp r0, r1 beq _021DF512 add r0, r5, #0 bl MOD16_021DF7C8 ldr r0, [r4, #0x20] str r0, [r5, #0x14] _021DF512: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DF450 thumb_func_start MOD16_021DF514 MOD16_021DF514: ; 0x021DF514 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r4, r0, #0 str r2, [sp] add r7, r1, #0 str r2, [sp, #0xc] ldr r0, [r4] mov r1, #0x2b mov r2, #1 add r3, sp, #0x14 bl MOD16_021D8D48 ldr r2, [sp, #0x14] mov r3, #0 str r3, [sp] str r0, [sp, #0x10] ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 ldr r0, [sp, #0x10] bl FreeToHeap cmp r7, #3 bhi _021DF584 add r0, r7, r7 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DF566: ; jump table .short _021DF56E - _021DF566 - 2 ; case 0 .short _021DF574 - _021DF566 - 2 ; case 1 .short _021DF57A - _021DF566 - 2 ; case 2 .short _021DF580 - _021DF566 - 2 ; case 3 _021DF56E: mov r5, #6 mov r6, #0x2c b _021DF584 _021DF574: mov r5, #9 mov r6, #0x2d b _021DF584 _021DF57A: mov r5, #0xc mov r6, #0x2e b _021DF584 _021DF580: mov r5, #0x11 mov r6, #0x2f _021DF584: ldr r0, [sp, #0xc] add r1, r6, #0 str r0, [sp] ldr r0, [r4] mov r2, #1 add r3, sp, #0x14 bl MOD16_021D8D48 add r6, r0, #0 lsl r0, r5, #0x18 ldr r2, [sp, #0x14] lsr r0, r0, #0x18 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap ldr r0, [r4] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021DF514 thumb_func_start MOD16_021DF5D0 MOD16_021DF5D0: ; 0x021DF5D0 push {r4, r5, r6, lr} sub sp, #0x10 ldr r4, [r0] mov r0, #0x50 str r0, [sp] mov r0, #0x10 add r5, r1, #0 add r6, r2, #0 str r0, [sp, #4] add r0, r4, #4 mov r1, #0 mov r2, #0x58 mov r3, #0x34 bl FillWindowPixelRect add r5, #0x51 add r0, r5, #0 add r1, r6, #0 bl MOD16_021D8270 add r5, r0, #0 mov r0, #0 add r1, r5, #0 add r2, r0, #0 mov r3, #0x50 bl FUN_02002F40 add r3, r0, #0 mov r0, #0x34 str r0, [sp] mov r1, #0 ldr r0, _021DF62C ; =0x00040300 str r1, [sp, #4] str r0, [sp, #8] add r3, #0x58 add r0, r4, #4 add r2, r5, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r5, #0 bl String_dtor add sp, #0x10 pop {r4, r5, r6, pc} nop _021DF62C: .word 0x00040300 thumb_func_end MOD16_021DF5D0 thumb_func_start MOD16_021DF630 MOD16_021DF630: ; 0x021DF630 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r5, [r0] mov r0, #0x50 str r0, [sp] mov r0, #0x10 add r6, r1, #0 add r7, r2, #0 str r0, [sp, #4] add r0, r5, #4 mov r1, #0 mov r2, #0x58 mov r3, #0x4d bl FillWindowPixelRect cmp r6, #9 bhi _021DF698 add r0, r6, r6 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DF65E: ; jump table .short _021DF672 - _021DF65E - 2 ; case 0 .short _021DF676 - _021DF65E - 2 ; case 1 .short _021DF67A - _021DF65E - 2 ; case 2 .short _021DF67E - _021DF65E - 2 ; case 3 .short _021DF682 - _021DF65E - 2 ; case 4 .short _021DF686 - _021DF65E - 2 ; case 5 .short _021DF68A - _021DF65E - 2 ; case 6 .short _021DF68E - _021DF65E - 2 ; case 7 .short _021DF692 - _021DF65E - 2 ; case 8 .short _021DF696 - _021DF65E - 2 ; case 9 _021DF672: mov r4, #0x73 b _021DF698 _021DF676: mov r4, #0x36 b _021DF698 _021DF67A: mov r4, #0x37 b _021DF698 _021DF67E: mov r4, #0x38 b _021DF698 _021DF682: mov r4, #0x39 b _021DF698 _021DF686: mov r4, #0x3a b _021DF698 _021DF68A: mov r4, #0x3b b _021DF698 _021DF68E: mov r4, #0x3c b _021DF698 _021DF692: mov r4, #0x3d b _021DF698 _021DF696: mov r4, #0x3e _021DF698: add r0, r4, #0 add r1, r7, #0 bl MOD16_021D8270 add r4, r0, #0 mov r0, #0 add r1, r4, #0 add r2, r0, #0 mov r3, #0x50 bl FUN_02002F40 add r3, r0, #0 mov r0, #0x4d str r0, [sp] mov r1, #0 ldr r0, _021DF6D4 ; =0x00040300 str r1, [sp, #4] str r0, [sp, #8] add r3, #0x58 add r0, r5, #4 add r2, r4, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021DF6D4: .word 0x00040300 thumb_func_end MOD16_021DF630 thumb_func_start MOD16_021DF6D8 MOD16_021DF6D8: ; 0x021DF6D8 push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r5, [r0] add r7, r3, #0 mov r0, #0x50 str r0, [sp] mov r0, #0x10 lsl r3, r7, #0x10 add r6, r1, #0 str r2, [sp, #0x10] str r0, [sp, #4] add r0, r5, #4 mov r1, #0 mov r2, #0x58 lsr r3, r3, #0x10 bl FillWindowPixelRect cmp r6, #0x11 bhi _021DF774 add r0, r6, r6 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DF70A: ; jump table .short _021DF72E - _021DF70A - 2 ; case 0 .short _021DF732 - _021DF70A - 2 ; case 1 .short _021DF736 - _021DF70A - 2 ; case 2 .short _021DF73A - _021DF70A - 2 ; case 3 .short _021DF73E - _021DF70A - 2 ; case 4 .short _021DF742 - _021DF70A - 2 ; case 5 .short _021DF746 - _021DF70A - 2 ; case 6 .short _021DF74A - _021DF70A - 2 ; case 7 .short _021DF74E - _021DF70A - 2 ; case 8 .short _021DF752 - _021DF70A - 2 ; case 9 .short _021DF756 - _021DF70A - 2 ; case 10 .short _021DF75A - _021DF70A - 2 ; case 11 .short _021DF75E - _021DF70A - 2 ; case 12 .short _021DF762 - _021DF70A - 2 ; case 13 .short _021DF766 - _021DF70A - 2 ; case 14 .short _021DF76A - _021DF70A - 2 ; case 15 .short _021DF76E - _021DF70A - 2 ; case 16 .short _021DF772 - _021DF70A - 2 ; case 17 _021DF72E: mov r4, #0x74 b _021DF774 _021DF732: mov r4, #0x40 b _021DF774 _021DF736: mov r4, #0x46 b _021DF774 _021DF73A: mov r4, #0x49 b _021DF774 _021DF73E: mov r4, #0x47 b _021DF774 _021DF742: mov r4, #0x48 b _021DF774 _021DF746: mov r4, #0x4c b _021DF774 _021DF74A: mov r4, #0x4b b _021DF774 _021DF74E: mov r4, #0x4d b _021DF774 _021DF752: mov r4, #0x50 b _021DF774 _021DF756: mov r4, #0x41 b _021DF774 _021DF75A: mov r4, #0x42 b _021DF774 _021DF75E: mov r4, #0x44 b _021DF774 _021DF762: mov r4, #0x43 b _021DF774 _021DF766: mov r4, #0x4a b _021DF774 _021DF76A: mov r4, #0x45 b _021DF774 _021DF76E: mov r4, #0x4e b _021DF774 _021DF772: mov r4, #0x4f _021DF774: ldr r1, [sp, #0x10] add r0, r4, #0 bl MOD16_021D8270 add r4, r0, #0 mov r0, #0 add r1, r4, #0 add r2, r0, #0 mov r3, #0x50 bl FUN_02002F40 add r3, r0, #0 str r7, [sp] mov r1, #0 ldr r0, _021DF7AC ; =0x00040300 str r1, [sp, #4] str r0, [sp, #8] add r3, #0x58 add r0, r5, #4 add r2, r4, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021DF7AC: .word 0x00040300 thumb_func_end MOD16_021DF6D8 thumb_func_start MOD16_021DF7B0 MOD16_021DF7B0: ; 0x021DF7B0 push {r3, lr} mov r3, #0x66 bl MOD16_021DF6D8 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021DF7B0 thumb_func_start MOD16_021DF7BC MOD16_021DF7BC: ; 0x021DF7BC push {r3, lr} mov r3, #0x78 bl MOD16_021DF6D8 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021DF7BC thumb_func_start MOD16_021DF7C8 MOD16_021DF7C8: ; 0x021DF7C8 push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 ldr r0, [r4, #0x20] bne _021DF7DA mov r1, #0 bl FUN_020200A0 pop {r3, r4, r5, pc} _021DF7DA: mov r1, #1 bl FUN_020200A0 cmp r5, #0xe bhi _021DF898 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DF7F0: ; jump table .short _021DF898 - _021DF7F0 - 2 ; case 0 .short _021DF80E - _021DF7F0 - 2 ; case 1 .short _021DF818 - _021DF7F0 - 2 ; case 2 .short _021DF822 - _021DF7F0 - 2 ; case 3 .short _021DF82C - _021DF7F0 - 2 ; case 4 .short _021DF836 - _021DF7F0 - 2 ; case 5 .short _021DF840 - _021DF7F0 - 2 ; case 6 .short _021DF84A - _021DF7F0 - 2 ; case 7 .short _021DF854 - _021DF7F0 - 2 ; case 8 .short _021DF85E - _021DF7F0 - 2 ; case 9 .short _021DF868 - _021DF7F0 - 2 ; case 10 .short _021DF872 - _021DF7F0 - 2 ; case 11 .short _021DF87C - _021DF7F0 - 2 ; case 12 .short _021DF886 - _021DF7F0 - 2 ; case 13 .short _021DF890 - _021DF7F0 - 2 ; case 14 _021DF80E: ldr r0, [r4, #0x20] mov r1, #3 bl FUN_02020130 pop {r3, r4, r5, pc} _021DF818: ldr r0, [r4, #0x20] mov r1, #4 bl FUN_02020130 pop {r3, r4, r5, pc} _021DF822: ldr r0, [r4, #0x20] mov r1, #5 bl FUN_02020130 pop {r3, r4, r5, pc} _021DF82C: ldr r0, [r4, #0x20] mov r1, #6 bl FUN_02020130 pop {r3, r4, r5, pc} _021DF836: ldr r0, [r4, #0x20] mov r1, #7 bl FUN_02020130 pop {r3, r4, r5, pc} _021DF840: ldr r0, [r4, #0x20] mov r1, #8 bl FUN_02020130 pop {r3, r4, r5, pc} _021DF84A: ldr r0, [r4, #0x20] mov r1, #9 bl FUN_02020130 pop {r3, r4, r5, pc} _021DF854: ldr r0, [r4, #0x20] mov r1, #0xa bl FUN_02020130 pop {r3, r4, r5, pc} _021DF85E: ldr r0, [r4, #0x20] mov r1, #0xb bl FUN_02020130 pop {r3, r4, r5, pc} _021DF868: ldr r0, [r4, #0x20] mov r1, #0xc bl FUN_02020130 pop {r3, r4, r5, pc} _021DF872: ldr r0, [r4, #0x20] mov r1, #0xd bl FUN_02020130 pop {r3, r4, r5, pc} _021DF87C: ldr r0, [r4, #0x20] mov r1, #0xe bl FUN_02020130 pop {r3, r4, r5, pc} _021DF886: ldr r0, [r4, #0x20] mov r1, #0xf bl FUN_02020130 pop {r3, r4, r5, pc} _021DF890: ldr r0, [r4, #0x20] mov r1, #0x10 bl FUN_02020130 _021DF898: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DF7C8 thumb_func_start MOD16_021DF89C MOD16_021DF89C: ; 0x021DF89C push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r2, #0x34] add r4, r1, #0 cmp r0, #4 bne _021DF900 ldr r0, [r2, #0x30] cmp r0, #1 bne _021DF8D4 mov r1, #0 str r1, [sp] mov r0, #0xc str r0, [sp, #4] str r1, [sp, #8] mov r0, #0x14 str r0, [sp, #0xc] mov r0, #4 str r0, [sp, #0x10] ldr r1, [r4] add r0, r5, #0 ldr r1, [r1] ldr r3, [r5, #0x60] add r0, #0x34 mov r2, #2 bl MOD16_021D7CA4 b _021DF900 _021DF8D4: add r0, r4, #0 add r1, r5, #0 add r2, r3, #0 bl MOD16_021DF9C0 mov r0, #0xc str r0, [sp] mov r1, #0 str r1, [sp, #4] mov r0, #0x14 str r0, [sp, #8] str r1, [sp, #0xc] mov r0, #4 str r0, [sp, #0x10] ldr r1, [r4] add r0, r5, #0 ldr r1, [r1] ldr r3, [r5, #0x60] add r0, #0x34 mov r2, #2 bl MOD16_021D7CA4 _021DF900: add r5, #0x34 add r0, r5, #0 bl MOD16_021D7CC8 add sp, #0x14 pop {r4, r5, pc} thumb_func_end MOD16_021DF89C thumb_func_start MOD16_021DF90C MOD16_021DF90C: ; 0x021DF90C push {r3, r4, r5, r6, r7, lr} add r6, r2, #0 add r5, r0, #0 ldr r0, [r6, #0x34] add r4, r1, #0 add r7, r3, #0 cmp r0, #0x20 bne _021DF92E ldr r0, [r5, #0x58] mov r1, #1 bl FUN_020200A0 add r0, r4, #0 add r1, r7, #0 bl MOD16_021DF970 b _021DF94C _021DF92E: cmp r0, #0 bne _021DF94C ldr r0, [r5, #0x58] mov r1, #0 bl FUN_020200A0 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r4] add r0, r0, #4 bl FUN_02019220 _021DF94C: ldr r2, [r6, #0x34] mov r1, #4 sub r2, r1, r2 ldr r1, _021DF96C ; =0x00007FFF add r3, r2, #0 mul r3, r1 asr r1, r3, #1 lsr r1, r1, #0x1e add r1, r3, r1 lsl r1, r1, #0xe ldr r0, [r5, #0x58] lsr r1, r1, #0x10 bl FUN_02020088 pop {r3, r4, r5, r6, r7, pc} nop _021DF96C: .word 0x00007FFF thumb_func_end MOD16_021DF90C thumb_func_start MOD16_021DF970 MOD16_021DF970: ; 0x021DF970 push {r3, r4, r5, lr} sub sp, #0x10 ldr r5, [r0] add r4, r1, #0 add r0, r5, #4 mov r1, #0 bl FillWindowPixelBuffer mov r0, #0x5e add r1, r4, #0 bl MOD16_021D8270 add r4, r0, #0 mov r0, #0x80 str r0, [sp] mov r1, #0 ldr r0, _021DF9BC ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #4 add r2, r4, #0 mov r3, #0x60 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor mov r0, #1 mov r1, #0 bl FUN_020178BC mov r0, #2 mov r1, #1 bl FUN_020178BC add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021DF9BC: .word 0x00020100 thumb_func_end MOD16_021DF970 thumb_func_start MOD16_021DF9C0 MOD16_021DF9C0: ; 0x021DF9C0 push {r4, r5, r6, lr} add r5, r0, #0 mov r0, #1 add r4, r1, #0 add r1, r0, #0 add r6, r2, #0 bl FUN_020178BC mov r0, #2 mov r1, #0 bl FUN_020178BC ldr r0, [r5] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r1, [r4] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF514 ldr r1, [r4] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF350 ldr r1, [r4, #4] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF5D0 ldr r1, [r4, #8] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF630 ldr r1, [r4, #0xc] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF7B0 ldr r1, [r4, #0x10] add r0, r5, #0 add r2, r6, #0 bl MOD16_021DF7BC ldr r1, [r4, #0x14] add r0, r4, #0 bl MOD16_021DF7C8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021DF9C0 thumb_func_start MOD16_021DFA28 MOD16_021DFA28: ; 0x021DFA28 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021DFAA0 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021DFAE8 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021DFB20 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021DFB50 str r0, [r5, #0x24] ldr r0, _021DFA70 ; =MOD16_021DFB54 str r0, [r5, #8] ldr r0, _021DFA74 ; =MOD16_021DFBB8 str r0, [r5, #0xc] ldr r0, _021DFA78 ; =MOD16_021DFCEC str r0, [r5, #0x10] ldr r0, _021DFA7C ; =MOD16_021DFD0C str r0, [r5, #0x14] ldr r0, _021DFA80 ; =MOD16_021DFD9C str r0, [r5, #0x18] ldr r0, _021DFA84 ; =MOD16_021DFECC str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021DFA70: .word MOD16_021DFB54 _021DFA74: .word MOD16_021DFBB8 _021DFA78: .word MOD16_021DFCEC _021DFA7C: .word MOD16_021DFD0C _021DFA80: .word MOD16_021DFD9C _021DFA84: .word MOD16_021DFECC thumb_func_end MOD16_021DFA28 thumb_func_start MOD16_021DFA88 MOD16_021DFA88: ; 0x021DFA88 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021DFB24 ldr r0, [r4, #4] bl MOD16_021DFB38 ldr r0, [r4, #0x20] bl MOD16_021DFB4C pop {r4, pc} thumb_func_end MOD16_021DFA88 thumb_func_start MOD16_021DFAA0 MOD16_021DFAA0: ; 0x021DFAA0 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x10 bl AllocFromHeap add r4, r0, #0 bne _021DFAB2 bl GF_AssertFail _021DFAB2: add r2, r4, #0 mov r1, #0x10 mov r0, #0 _021DFAB8: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021DFAB8 add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #1 bl MOD16_021D7B5C str r0, [r4, #8] add r0, r5, #0 mov r1, #1 bl MOD16_021D7B7C str r0, [r4, #0xc] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DFAA0 thumb_func_start MOD16_021DFAE8 MOD16_021DFAE8: ; 0x021DFAE8 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0xc bl AllocFromHeap add r4, r0, #0 bne _021DFAFA bl GF_AssertFail _021DFAFA: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DFAE8 thumb_func_start MOD16_021DFB20 MOD16_021DFB20: ; 0x021DFB20 mov r0, #0 bx lr thumb_func_end MOD16_021DFB20 thumb_func_start MOD16_021DFB24 MOD16_021DFB24: ; 0x021DFB24 push {r4, lr} add r4, r0, #0 bne _021DFB2E bl GF_AssertFail _021DFB2E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DFB24 thumb_func_start MOD16_021DFB38 MOD16_021DFB38: ; 0x021DFB38 push {r4, lr} add r4, r0, #0 bne _021DFB42 bl GF_AssertFail _021DFB42: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021DFB38 thumb_func_start MOD16_021DFB4C MOD16_021DFB4C: ; 0x021DFB4C bx lr .align 2, 0 thumb_func_end MOD16_021DFB4C thumb_func_start MOD16_021DFB50 MOD16_021DFB50: ; 0x021DFB50 mov r0, #0 bx lr thumb_func_end MOD16_021DFB50 thumb_func_start MOD16_021DFB54 MOD16_021DFB54: ; 0x021DFB54 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #4] add r6, r1, #0 mov r1, #0x9c bl AllocFromHeap add r4, r0, #0 bne _021DFB6A bl GF_AssertFail _021DFB6A: add r0, r4, #0 mov r1, #0 mov r2, #0x9c bl memset add r0, r4, #0 ldr r1, _021DFBB4 ; =0x0000FFFF str r4, [r5, #8] add r0, #0x80 str r1, [r0] add r0, r4, #0 add r1, r6, #0 bl MOD16_021E2864 ldr r2, [r5, #4] add r0, r4, #0 add r1, r6, #0 bl MOD16_021E0048 ldr r1, [r5, #4] add r0, r4, #0 bl MOD16_021E18E8 add r0, r4, #0 add r1, r6, #0 bl MOD16_021E1930 mov r1, #0 mov r0, #4 _021DFBA4: add r1, r1, #1 str r0, [r4, #0x2c] add r4, r4, #4 cmp r1, #6 blt _021DFBA4 mov r0, #1 pop {r4, r5, r6, pc} nop _021DFBB4: .word 0x0000FFFF thumb_func_end MOD16_021DFB54 thumb_func_start MOD16_021DFBB8 MOD16_021DFBB8: ; 0x021DFBB8 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r6, r1, #0 add r5, r0, #0 ldr r0, [r6, #0xc] ldr r4, [r5, #8] ldr r7, [r0, #4] ldr r0, [r5, #0xc] cmp r0, #1 bne _021DFBD2 add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021DFBD2: ldr r0, [r5, #0x10] cmp r0, #1 bne _021DFBDE add sp, #8 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021DFBDE: ldr r0, [r6, #8] bl MOD16_021DEC54 cmp r0, #0 beq _021DFBEE add sp, #8 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021DFBEE: ldr r0, [r6, #8] bl MOD16_021DEBB8 str r0, [sp, #4] ldr r0, [r5] cmp r0, #4 bhi _021DFCE4 add r1, r0, r0 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DFC08: ; jump table .short _021DFC12 - _021DFC08 - 2 ; case 0 .short _021DFC6E - _021DFC08 - 2 ; case 1 .short _021DFC7C - _021DFC08 - 2 ; case 2 .short _021DFCD2 - _021DFC08 - 2 ; case 3 .short _021DFCE0 - _021DFC08 - 2 ; case 4 _021DFC12: ldr r1, [r4, #0x24] ldr r0, [sp, #4] cmp r1, r0 bne _021DFC22 ldr r1, [r4, #0x28] ldr r0, [r4, #0x20] cmp r1, r0 beq _021DFC4A _021DFC22: add r0, r4, #0 mov r1, #0 add r0, #0x98 str r1, [r0] mov r0, #2 str r0, [r7, #4] add r0, r4, #0 add r0, #0x98 str r0, [r7, #8] add r0, r4, #0 bl MOD16_021E0214 ldr r1, [sp, #4] add r0, r4, #0 bl MOD16_021E0224 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DFCE4 _021DFC4A: add r0, r4, #0 add r1, r6, #0 bl MOD16_021E0104 ldr r0, [r6, #4] bl MOD16_021D9FB8 cmp r0, #1 bne _021DFC64 add r0, r4, #0 add r1, r6, #0 bl MOD16_021E1804 _021DFC64: add r0, r4, #0 add r1, r6, #0 bl MOD16_021E2870 b _021DFCE4 _021DFC6E: add r4, #0x98 ldr r1, [r4] cmp r1, #0 beq _021DFCE4 add r0, r0, #1 str r0, [r5] b _021DFCE4 _021DFC7C: ldr r0, [r4, #0x24] add r1, r6, #0 str r0, [sp] ldr r0, [sp, #4] str r0, [r4, #0x24] ldr r0, [r4, #0x20] str r0, [r4, #0x28] ldr r2, [r5, #4] add r0, r4, #0 bl MOD16_021E00A0 ldr r1, [r5, #4] add r0, r4, #0 bl MOD16_021E1970 add r0, r4, #0 add r1, r6, #0 bl MOD16_021E2864 ldr r1, [r4, #0x24] ldr r0, [sp] cmp r0, r1 beq _021DFCB2 add r0, r4, #0 add r1, r6, #0 bl MOD16_021E1930 _021DFCB2: add r0, r4, #0 mov r1, #0 add r0, #0x98 str r1, [r0] mov r0, #1 str r0, [r7, #4] add r0, r4, #0 add r0, #0x98 str r0, [r7, #8] add r0, r4, #0 bl MOD16_021E02C4 ldr r0, [r5] add r0, r0, #1 str r0, [r5] b _021DFCE4 _021DFCD2: add r4, #0x98 ldr r1, [r4] cmp r1, #0 beq _021DFCE4 add r0, r0, #1 str r0, [r5] b _021DFCE4 _021DFCE0: mov r0, #0 str r0, [r5] _021DFCE4: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DFBB8 thumb_func_start MOD16_021DFCEC MOD16_021DFCEC: ; 0x021DFCEC push {r3, r4, r5, lr} add r4, r0, #0 ldr r5, [r4, #8] add r0, r5, #0 bl MOD16_021E0090 add r0, r5, #0 bl MOD16_021E18D0 add r0, r5, #0 bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DFCEC thumb_func_start MOD16_021DFD0C MOD16_021DFD0C: ; 0x021DFD0C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 ldr r1, [r4] add r6, r0, #0 add r7, r2, #0 ldr r5, [r3, #8] ldr r0, [r4, #8] cmp r1, #3 bhi _021DFD96 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021DFD2A: ; jump table .short _021DFD32 - _021DFD2A - 2 ; case 0 .short _021DFD50 - _021DFD2A - 2 ; case 1 .short _021DFD80 - _021DFD2A - 2 ; case 2 .short _021DFD92 - _021DFD2A - 2 ; case 3 _021DFD32: mov r1, #0x4e ldr r0, [r4, #4] lsl r1, r1, #2 bl AllocFromHeap mov r2, #0x4e str r0, [r4, #8] mov r1, #0 lsl r2, r2, #2 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DFD96 _021DFD50: ldr r1, [r4, #4] add r3, r5, #0 str r1, [sp] add r1, r6, #0 bl MOD16_021DFF74 mov r1, #0 mov r0, #2 add r2, r1, #0 str r0, [sp] mov r0, #1 sub r2, #0x10 mov r3, #0x3f bl FUN_0200A208 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 bl MOD16_021E1988 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DFD96 _021DFD80: mov r0, #2 bl FUN_0200A344 cmp r0, #0 beq _021DFD96 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DFD96 _021DFD92: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021DFD96: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021DFD0C thumb_func_start MOD16_021DFD9C MOD16_021DFD9C: ; 0x021DFD9C push {r4, r5, r6, r7, lr} sub sp, #0xc add r7, r0, #0 add r0, r2, #0 add r5, r1, #0 ldr r0, [r0, #8] str r2, [sp, #4] ldr r6, [r3, #8] ldr r4, [r5, #8] bl MOD16_021DEC54 cmp r0, #0 beq _021DFDC2 ldr r2, [sp, #4] add r0, r4, #0 add r1, r7, #0 bl MOD16_021E2E74 b _021DFE4C _021DFDC2: add r0, r4, #0 add r1, r7, #0 bl MOD16_021E2CC8 mov r0, #0x41 lsl r0, r0, #2 ldr r2, [r6, #0x24] ldr r3, [r4, r0] cmp r3, r2 bne _021DFDE0 add r0, r0, #4 ldr r1, [r4, r0] ldr r0, [r6, #0x28] cmp r1, r0 beq _021DFE42 _021DFDE0: mov r0, #0x41 lsl r0, r0, #2 str r2, [r4, r0] ldr r1, [r6, #0x28] add r0, r0, #4 str r1, [r4, r0] cmp r3, #3 bne _021DFDFE add r0, r4, #0 add r1, r7, #0 bl MOD16_021E1BD0 add r0, r4, #0 bl MOD16_021E22A8 _021DFDFE: ldr r2, [r5, #4] add r0, r4, #0 add r1, r7, #0 bl MOD16_021E1CA4 ldr r2, [r5, #4] add r0, r4, #0 add r1, r7, #0 bl MOD16_021E2344 mov r0, #0x41 lsl r0, r0, #2 ldr r0, [r4, r0] cmp r0, #3 bne _021DFE30 ldr r2, [r5, #4] add r0, r4, #0 add r1, r7, #0 bl MOD16_021E1B3C ldr r2, [r5, #4] add r0, r4, #0 add r1, r7, #0 bl MOD16_021E20EC _021DFE30: mov r3, #0x41 lsl r3, r3, #2 ldr r2, [r4, r3] add r3, r3, #4 ldr r3, [r4, r3] add r0, r4, #0 mov r1, #1 bl MOD16_021E2DBC _021DFE42: ldr r2, [sp, #4] add r0, r7, #0 add r1, r6, #0 bl MOD16_021E19A4 _021DFE4C: mov r7, #0 str r6, [sp, #8] add r5, r4, #0 _021DFE52: ldr r1, [sp, #8] ldr r0, [r5] ldr r1, [r1, #0x2c] bl MOD16_021D7B98 ldr r1, [r5, #0x18] cmp r1, #0 beq _021DFE7A cmp r7, #5 bne _021DFE6A mov r3, #1 b _021DFE6C _021DFE6A: mov r3, #3 _021DFE6C: mov r0, #5 str r0, [sp] mov r2, #5 ldr r0, [r5] mvn r2, r2 bl MOD16_021D7C70 _021DFE7A: ldr r0, [sp, #8] add r7, r7, #1 add r0, r0, #4 add r5, r5, #4 str r0, [sp, #8] cmp r7, #6 blt _021DFE52 mov r5, #0 mov r7, #6 _021DFE8C: ldr r0, [r4, #0x30] cmp r0, #0 beq _021DFE98 ldr r1, [r6, #0x44] bl MOD16_021D7B98 _021DFE98: ldr r1, [r4, #0x6c] cmp r1, #0 beq _021DFEAC str r7, [sp] mov r2, #5 ldr r0, [r4, #0x30] mvn r2, r2 mov r3, #0xb bl MOD16_021D7C70 _021DFEAC: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] cmp r0, #0 beq _021DFEBC ldr r1, [r6, #0x44] bl MOD16_021D7B98 _021DFEBC: add r5, r5, #1 add r4, r4, #4 add r6, r6, #4 cmp r5, #0xf blt _021DFE8C mov r0, #0 add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021DFD9C thumb_func_start MOD16_021DFECC MOD16_021DFECC: ; 0x021DFECC push {r3, r4, r5, r6, lr} sub sp, #4 add r4, r1, #0 add r6, r0, #0 ldr r0, [r4] ldr r5, [r4, #8] cmp r0, #4 bhi _021DFF6E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021DFEE8: ; jump table .short _021DFEF2 - _021DFEE8 - 2 ; case 0 .short _021DFF1C - _021DFEE8 - 2 ; case 1 .short _021DFF2E - _021DFEE8 - 2 ; case 2 .short _021DFF56 - _021DFEE8 - 2 ; case 3 .short _021DFF68 - _021DFEE8 - 2 ; case 4 _021DFEF2: ldr r0, [r2, #8] bl MOD16_021DEC4C cmp r0, #1 bne _021DFF02 mov r0, #2 str r0, [r4] b _021DFF6E _021DFF02: mov r0, #2 str r0, [sp] mov r0, #6 add r1, r0, #0 sub r1, #0x16 mov r2, #0 mov r3, #0x3f bl FUN_0200A208 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DFF6E _021DFF1C: mov r0, #2 bl FUN_0200A344 cmp r0, #0 beq _021DFF6E ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DFF6E _021DFF2E: add r0, r5, #0 add r1, r6, #0 bl MOD16_021DFFB8 mov r0, #0x41 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, #3 bne _021DFF4E add r0, r5, #0 add r1, r6, #0 bl MOD16_021E1BD0 add r0, r5, #0 bl MOD16_021E22A8 _021DFF4E: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DFF6E _021DFF56: add r0, r5, #0 bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021DFF6E _021DFF68: add sp, #4 mov r0, #1 pop {r3, r4, r5, r6, pc} _021DFF6E: mov r0, #0 add sp, #4 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021DFECC thumb_func_start MOD16_021DFF74 MOD16_021DFF74: ; 0x021DFF74 push {r4, r5, r6, lr} ldr r4, [sp, #0x10] add r6, r1, #0 add r5, r0, #0 add r1, r2, #0 add r0, r6, #0 add r2, r4, #0 bl MOD16_021DFFE0 add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E1A14 add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E1C10 add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E22D0 mov r3, #0x41 lsl r3, r3, #2 ldr r2, [r5, r3] add r3, r3, #4 ldr r3, [r5, r3] add r0, r5, #0 mov r1, #1 bl MOD16_021E2DBC pop {r4, r5, r6, pc} thumb_func_end MOD16_021DFF74 thumb_func_start MOD16_021DFFB8 MOD16_021DFFB8: ; 0x021DFFB8 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E2334 add r0, r5, #0 bl MOD16_021E1C94 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E1AE4 mov r0, #0x79 ldr r1, [r4] lsl r0, r0, #2 add r0, r1, r0 mov r1, #0 bl MOD16_021D8B14 pop {r3, r4, r5, pc} thumb_func_end MOD16_021DFFB8 thumb_func_start MOD16_021DFFE0 MOD16_021DFFE0: ; 0x021DFFE0 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] add r5, r2, #0 str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x1d mov r3, #6 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x4b mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #6 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021DFFE0 thumb_func_start MOD16_021E0048 MOD16_021E0048: ; 0x021E0048 push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 bl MOD16_021E0158 ldr r0, [r5, #0x28] add r1, r4, #0 str r0, [sp] ldr r3, [r5, #0x24] add r0, r5, #0 add r2, r6, #0 bl MOD16_021E00C4 add r0, r5, #0 bl MOD16_021E0070 add sp, #4 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021E0048 thumb_func_start MOD16_021E0070 MOD16_021E0070: ; 0x021E0070 mov r2, #0 add r3, r0, #0 mov r1, #3 _021E0076: add r2, r2, #1 str r1, [r3, #0x2c] add r3, r3, #4 cmp r2, #6 blt _021E0076 mov r2, #0 mov r1, #3 _021E0084: add r2, r2, #1 str r1, [r0, #0x44] add r0, r0, #4 cmp r2, #0xf blt _021E0084 bx lr thumb_func_end MOD16_021E0070 thumb_func_start MOD16_021E0090 MOD16_021E0090: ; 0x021E0090 push {r4, lr} add r4, r0, #0 bl MOD16_021E026C add r0, r4, #0 bl MOD16_021E02AC pop {r4, pc} thumb_func_end MOD16_021E0090 thumb_func_start MOD16_021E00A0 MOD16_021E00A0: ; 0x021E00A0 push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 bl MOD16_021E02AC ldr r0, [r5, #0x28] add r1, r4, #0 str r0, [sp] ldr r3, [r5, #0x24] add r0, r5, #0 add r2, r6, #0 bl MOD16_021E00C4 add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E00A0 thumb_func_start MOD16_021E00C4 MOD16_021E00C4: ; 0x021E00C4 push {r3, lr} cmp r3, #3 bhi _021E0100 add r3, r3, r3 add r3, pc ldrh r3, [r3, #6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _021E00D6: ; jump table .short _021E00DE - _021E00D6 - 2 ; case 0 .short _021E00E4 - _021E00D6 - 2 ; case 1 .short _021E00EA - _021E00D6 - 2 ; case 2 .short _021E00FC - _021E00D6 - 2 ; case 3 _021E00DE: bl MOD16_021E02D4 pop {r3, pc} _021E00E4: bl MOD16_021E0400 pop {r3, pc} _021E00EA: ldr r3, [sp, #8] cmp r3, #0 bne _021E00F6 bl MOD16_021E0558 pop {r3, pc} _021E00F6: bl MOD16_021E06F8 pop {r3, pc} _021E00FC: bl MOD16_021E08A0 _021E0100: pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E00C4 thumb_func_start MOD16_021E0104 MOD16_021E0104: ; 0x021E0104 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E01FC ldr r2, [r5, #0x24] ldr r3, [r5, #0x28] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E011C pop {r3, r4, r5, pc} thumb_func_end MOD16_021E0104 thumb_func_start MOD16_021E011C MOD16_021E011C: ; 0x021E011C push {r3, lr} cmp r2, #3 bhi _021E0156 add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _021E012E: ; jump table .short _021E0136 - _021E012E - 2 ; case 0 .short _021E013C - _021E012E - 2 ; case 1 .short _021E0142 - _021E012E - 2 ; case 2 .short _021E0152 - _021E012E - 2 ; case 3 _021E0136: bl MOD16_021E0364 pop {r3, pc} _021E013C: bl MOD16_021E0490 pop {r3, pc} _021E0142: cmp r3, #0 bne _021E014C bl MOD16_021E05FC pop {r3, pc} _021E014C: bl MOD16_021E07B0 pop {r3, pc} _021E0152: bl MOD16_021E0930 _021E0156: pop {r3, pc} thumb_func_end MOD16_021E011C thumb_func_start MOD16_021E0158 MOD16_021E0158: ; 0x021E0158 push {r3, r4, r5, r6, lr} sub sp, #4 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #0x18 bl AllocFromHeap str r0, [r5, #4] mov r0, #1 lsl r0, r0, #8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x20 add r0, r0, #4 mov r2, #0x40 mov r3, #0xc0 bl MOD16_021D7C98 mov r0, #0xec str r0, [sp] ldr r0, [r5, #4] mov r1, #0 mov r2, #0x20 mov r3, #0xbc bl MOD16_021D7C98 mov r0, #1 lsl r0, r0, #8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x40 add r0, #8 mov r2, #0x60 mov r3, #0xc0 bl MOD16_021D7C98 mov r0, #1 lsl r0, r0, #8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x60 add r0, #0xc mov r2, #0x80 mov r3, #0xc0 bl MOD16_021D7C98 mov r0, #1 lsl r0, r0, #8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x80 add r0, #0x10 mov r2, #0xa0 mov r3, #0xc0 bl MOD16_021D7C98 mov r0, #0xfc str r0, [sp] ldr r0, [r5, #4] mov r1, #0xa0 add r0, #0x14 mov r2, #0xc0 mov r3, #0xac bl MOD16_021D7C98 str r4, [r5, #0x10] str r5, [r5, #0x14] str r6, [sp] add r3, r5, #0 ldr r0, [r5, #4] ldr r2, _021E01F8 ; =MOD16_021E0284 mov r1, #6 add r3, #0x10 bl FUN_020220C4 str r0, [r5] add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _021E01F8: .word MOD16_021E0284 thumb_func_end MOD16_021E0158 thumb_func_start MOD16_021E01FC MOD16_021E01FC: ; 0x021E01FC push {r4, lr} add r4, r0, #0 bl MOD16_021E0214 ldr r0, [r4] bl FUN_02022144 ldr r1, [r4, #0x24] add r0, r4, #0 bl MOD16_021E0224 pop {r4, pc} thumb_func_end MOD16_021E01FC thumb_func_start MOD16_021E0214 MOD16_021E0214: ; 0x021E0214 mov r2, #0 mov r1, #3 _021E0218: add r2, r2, #1 str r1, [r0, #0x2c] add r0, r0, #4 cmp r2, #6 blt _021E0218 bx lr thumb_func_end MOD16_021E0214 thumb_func_start MOD16_021E0224 MOD16_021E0224: ; 0x021E0224 cmp r1, #3 bhi _021E026A add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E0234: ; jump table .short _021E023C - _021E0234 - 2 ; case 0 .short _021E0248 - _021E0234 - 2 ; case 1 .short _021E0254 - _021E0234 - 2 ; case 2 .short _021E0260 - _021E0234 - 2 ; case 3 _021E023C: ldr r1, [r0, #0x30] cmp r1, #2 beq _021E026A mov r1, #1 str r1, [r0, #0x30] bx lr _021E0248: ldr r1, [r0, #0x34] cmp r1, #2 beq _021E026A mov r1, #1 str r1, [r0, #0x34] bx lr _021E0254: ldr r1, [r0, #0x38] cmp r1, #2 beq _021E026A mov r1, #1 str r1, [r0, #0x38] bx lr _021E0260: ldr r1, [r0, #0x3c] cmp r1, #2 beq _021E026A mov r1, #1 str r1, [r0, #0x3c] _021E026A: bx lr thumb_func_end MOD16_021E0224 thumb_func_start MOD16_021E026C MOD16_021E026C: ; 0x021E026C push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0202212C ldr r0, [r4, #4] bl FreeToHeap mov r0, #0 str r0, [r4, #4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E026C thumb_func_start MOD16_021E0284 MOD16_021E0284: ; 0x021E0284 ldr r2, [r2, #4] lsl r3, r0, #2 add r3, r2, r3 str r1, [r3, #0x2c] cmp r1, #2 bne _021E02A4 add r1, r2, #0 add r1, #0x80 str r0, [r1] add r0, r2, #0 add r0, #0x94 ldr r0, [r0] add r2, #0x94 add r0, r0, #1 str r0, [r2] bx lr _021E02A4: mov r0, #0 add r2, #0x94 str r0, [r2] bx lr thumb_func_end MOD16_021E0284 thumb_func_start MOD16_021E02AC MOD16_021E02AC: ; 0x021E02AC push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FUN_0202212C ldr r0, [r4, #0xc] bl FreeToHeap mov r0, #0 str r0, [r4, #0xc] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E02AC thumb_func_start MOD16_021E02C4 MOD16_021E02C4: ; 0x021E02C4 mov r2, #0 mov r1, #3 _021E02C8: add r2, r2, #1 str r1, [r0, #0x44] add r0, r0, #4 cmp r2, #0xf blt _021E02C8 bx lr thumb_func_end MOD16_021E02C4 thumb_func_start MOD16_021E02D4 MOD16_021E02D4: ; 0x021E02D4 push {r4, r5, r6, r7, lr} sub sp, #0x1c str r0, [sp, #4] str r1, [sp, #8] add r0, r2, #0 mov r1, #0x18 str r2, [sp, #0xc] bl AllocFromHeap ldr r1, [sp, #4] str r0, [r1, #0xc] mov r0, #0 str r0, [sp, #0x14] mov r0, #0x30 ldr r6, [sp, #0x14] str r0, [sp, #0x10] _021E02F4: ldr r0, [sp, #0x10] ldr r7, [sp, #0x10] str r0, [sp, #0x18] add r0, #0x10 mov r4, #0 mov r5, #0x30 sub r7, #0x10 str r0, [sp, #0x18] _021E0304: add r0, r5, #0 add r0, #0x28 str r0, [sp] ldr r0, [sp, #4] add r3, r5, #0 ldr r1, [r0, #0xc] add r0, r4, r6 lsl r0, r0, #2 add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0 sub r3, #0x28 bl MOD16_021D7C98 add r4, r4, #1 add r5, #0x50 cmp r4, #2 blt _021E0304 ldr r0, [sp, #0x10] add r6, r6, #2 add r0, #0x20 str r0, [sp, #0x10] ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x14] cmp r0, #3 blt _021E02F4 ldr r1, [sp, #8] ldr r0, [sp, #4] ldr r3, [sp, #4] str r1, [r0, #0x10] str r0, [r0, #0x14] ldr r0, [sp, #0xc] ldr r2, _021E0360 ; =MOD16_021E03EC str r0, [sp] ldr r0, [sp, #4] mov r1, #6 ldr r0, [r0, #0xc] add r3, #0x10 bl FUN_020220C4 ldr r1, [sp, #4] str r0, [r1, #8] add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021E0360: .word MOD16_021E03EC thumb_func_end MOD16_021E02D4 thumb_func_start MOD16_021E0364 MOD16_021E0364: ; 0x021E0364 push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 mov r1, #0 add r2, r4, #0 mov r0, #3 _021E0370: add r1, r1, #1 str r0, [r2, #0x44] add r2, r2, #4 cmp r1, #6 blt _021E0370 ldr r0, [r4, #8] bl FUN_02022144 ldr r0, [r5, #8] bl MOD16_021DEBD4 cmp r0, #5 bhi _021E03E8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E0396: ; jump table .short _021E03A2 - _021E0396 - 2 ; case 0 .short _021E03AE - _021E0396 - 2 ; case 1 .short _021E03BA - _021E0396 - 2 ; case 2 .short _021E03C6 - _021E0396 - 2 ; case 3 .short _021E03D2 - _021E0396 - 2 ; case 4 .short _021E03DE - _021E0396 - 2 ; case 5 _021E03A2: ldr r0, [r4, #0x44] cmp r0, #2 beq _021E03E8 mov r0, #1 str r0, [r4, #0x44] pop {r3, r4, r5, pc} _021E03AE: ldr r0, [r4, #0x48] cmp r0, #2 beq _021E03E8 mov r0, #1 str r0, [r4, #0x48] pop {r3, r4, r5, pc} _021E03BA: ldr r0, [r4, #0x4c] cmp r0, #2 beq _021E03E8 mov r0, #1 str r0, [r4, #0x4c] pop {r3, r4, r5, pc} _021E03C6: ldr r0, [r4, #0x50] cmp r0, #2 beq _021E03E8 mov r0, #1 str r0, [r4, #0x50] pop {r3, r4, r5, pc} _021E03D2: ldr r0, [r4, #0x54] cmp r0, #2 beq _021E03E8 mov r0, #1 str r0, [r4, #0x54] pop {r3, r4, r5, pc} _021E03DE: ldr r0, [r4, #0x58] cmp r0, #2 beq _021E03E8 mov r0, #1 str r0, [r4, #0x58] _021E03E8: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E0364 thumb_func_start MOD16_021E03EC MOD16_021E03EC: ; 0x021E03EC ldr r3, [r2, #4] lsl r2, r0, #2 add r2, r3, r2 str r1, [r2, #0x44] cmp r1, #2 bne _021E03FC add r3, #0x84 str r0, [r3] _021E03FC: bx lr .align 2, 0 thumb_func_end MOD16_021E03EC thumb_func_start MOD16_021E0400 MOD16_021E0400: ; 0x021E0400 push {r4, r5, r6, r7, lr} sub sp, #0x1c str r0, [sp, #4] str r1, [sp, #8] add r0, r2, #0 mov r1, #0x28 str r2, [sp, #0xc] bl AllocFromHeap ldr r1, [sp, #4] str r0, [r1, #0xc] mov r0, #0 str r0, [sp, #0x14] mov r0, #0x10 ldr r6, [sp, #0x14] str r0, [sp, #0x10] _021E0420: ldr r0, [sp, #0x10] ldr r7, [sp, #0x10] str r0, [sp, #0x18] add r0, #0x10 mov r4, #0 mov r5, #0x30 sub r7, #0x10 str r0, [sp, #0x18] _021E0430: add r0, r5, #0 add r0, #0x28 str r0, [sp] ldr r0, [sp, #4] add r3, r5, #0 ldr r1, [r0, #0xc] add r0, r4, r6 lsl r0, r0, #2 add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0 sub r3, #0x28 bl MOD16_021D7C98 add r4, r4, #1 add r5, #0x50 cmp r4, #2 blt _021E0430 ldr r0, [sp, #0x10] add r6, r6, #2 add r0, #0x20 str r0, [sp, #0x10] ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x14] cmp r0, #5 blt _021E0420 ldr r1, [sp, #8] ldr r0, [sp, #4] ldr r3, [sp, #4] str r1, [r0, #0x10] str r0, [r0, #0x14] ldr r0, [sp, #0xc] ldr r2, _021E048C ; =MOD16_021E0544 str r0, [sp] ldr r0, [sp, #4] mov r1, #0xa ldr r0, [r0, #0xc] add r3, #0x10 bl FUN_020220C4 ldr r1, [sp, #4] str r0, [r1, #8] add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021E048C: .word MOD16_021E0544 thumb_func_end MOD16_021E0400 thumb_func_start MOD16_021E0490 MOD16_021E0490: ; 0x021E0490 push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 mov r1, #0 add r2, r4, #0 mov r0, #3 _021E049C: add r1, r1, #1 str r0, [r2, #0x44] add r2, r2, #4 cmp r1, #0xa blt _021E049C ldr r0, [r4, #8] bl FUN_02022144 ldr r0, [r5, #8] bl MOD16_021DEBF0 cmp r0, #9 bhi _021E0540 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E04C2: ; jump table .short _021E0540 - _021E04C2 - 2 ; case 0 .short _021E04D6 - _021E04C2 - 2 ; case 1 .short _021E04E2 - _021E04C2 - 2 ; case 2 .short _021E04EE - _021E04C2 - 2 ; case 3 .short _021E04FA - _021E04C2 - 2 ; case 4 .short _021E0506 - _021E04C2 - 2 ; case 5 .short _021E0512 - _021E04C2 - 2 ; case 6 .short _021E051E - _021E04C2 - 2 ; case 7 .short _021E052A - _021E04C2 - 2 ; case 8 .short _021E0536 - _021E04C2 - 2 ; case 9 _021E04D6: ldr r0, [r4, #0x44] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x44] pop {r3, r4, r5, pc} _021E04E2: ldr r0, [r4, #0x48] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x48] pop {r3, r4, r5, pc} _021E04EE: ldr r0, [r4, #0x4c] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x4c] pop {r3, r4, r5, pc} _021E04FA: ldr r0, [r4, #0x50] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x50] pop {r3, r4, r5, pc} _021E0506: ldr r0, [r4, #0x54] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x54] pop {r3, r4, r5, pc} _021E0512: ldr r0, [r4, #0x58] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x58] pop {r3, r4, r5, pc} _021E051E: ldr r0, [r4, #0x5c] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x5c] pop {r3, r4, r5, pc} _021E052A: ldr r0, [r4, #0x60] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x60] pop {r3, r4, r5, pc} _021E0536: ldr r0, [r4, #0x64] cmp r0, #2 beq _021E0540 mov r0, #1 str r0, [r4, #0x64] _021E0540: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E0490 thumb_func_start MOD16_021E0544 MOD16_021E0544: ; 0x021E0544 ldr r3, [r2, #4] lsl r2, r0, #2 add r2, r3, r2 str r1, [r2, #0x44] cmp r1, #2 bne _021E0554 add r3, #0x84 str r0, [r3] _021E0554: bx lr .align 2, 0 thumb_func_end MOD16_021E0544 thumb_func_start MOD16_021E0558 MOD16_021E0558: ; 0x021E0558 push {r4, r5, r6, r7, lr} sub sp, #0x1c str r0, [sp, #4] str r1, [sp, #8] add r0, r2, #0 mov r1, #0x2c str r2, [sp, #0xc] bl AllocFromHeap ldr r1, [sp, #4] str r0, [r1, #0xc] mov r0, #0 str r0, [sp, #0x14] mov r0, #0x10 ldr r6, [sp, #0x14] str r0, [sp, #0x10] _021E0578: ldr r0, [sp, #0x10] ldr r7, [sp, #0x10] str r0, [sp, #0x18] add r0, #0x10 mov r4, #0 mov r5, #0x30 sub r7, #0x10 str r0, [sp, #0x18] _021E0588: add r0, r5, #0 add r0, #0x28 str r0, [sp] ldr r0, [sp, #4] add r3, r5, #0 ldr r1, [r0, #0xc] add r0, r4, r6 lsl r0, r0, #2 add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0 sub r3, #0x28 bl MOD16_021D7C98 add r4, r4, #1 add r5, #0x50 cmp r4, #2 blt _021E0588 ldr r0, [sp, #0x10] add r6, r6, #2 add r0, #0x20 str r0, [sp, #0x10] ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x14] cmp r0, #5 blt _021E0578 mov r0, #0x28 str r0, [sp] ldr r0, [sp, #4] mov r1, #0xa0 ldr r0, [r0, #0xc] mov r2, #0xc0 add r0, #0x28 mov r3, #8 bl MOD16_021D7C98 ldr r3, [sp, #4] ldr r1, [sp, #8] ldr r0, [sp, #4] ldr r2, _021E05F8 ; =MOD16_021E06CC str r1, [r0, #0x10] str r0, [r0, #0x14] ldr r0, [sp, #0xc] mov r1, #0xb str r0, [sp] ldr r0, [sp, #4] add r3, #0x10 ldr r0, [r0, #0xc] bl FUN_020220C4 ldr r1, [sp, #4] str r0, [r1, #8] add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021E05F8: .word MOD16_021E06CC thumb_func_end MOD16_021E0558 thumb_func_start MOD16_021E05FC MOD16_021E05FC: ; 0x021E05FC push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 mov r1, #0 add r2, r5, #0 mov r0, #3 _021E0608: add r1, r1, #1 str r0, [r2, #0x44] add r2, r2, #4 cmp r1, #0xb blt _021E0608 ldr r0, [r5, #8] bl FUN_02022144 ldr r0, [r4, #8] mov r1, #0 bl MOD16_021DEC14 add r1, r0, #0 add r0, r5, #0 bl MOD16_021E063C ldr r0, [r4, #8] mov r1, #1 bl MOD16_021DEC14 add r1, r0, #0 add r0, r5, #0 bl MOD16_021E063C pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E05FC thumb_func_start MOD16_021E063C MOD16_021E063C: ; 0x021E063C cmp r1, #9 bhi _021E06CA add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E064C: ; jump table .short _021E06CA - _021E064C - 2 ; case 0 .short _021E0660 - _021E064C - 2 ; case 1 .short _021E066C - _021E064C - 2 ; case 2 .short _021E0678 - _021E064C - 2 ; case 3 .short _021E0684 - _021E064C - 2 ; case 4 .short _021E0690 - _021E064C - 2 ; case 5 .short _021E069C - _021E064C - 2 ; case 6 .short _021E06A8 - _021E064C - 2 ; case 7 .short _021E06B4 - _021E064C - 2 ; case 8 .short _021E06C0 - _021E064C - 2 ; case 9 _021E0660: ldr r1, [r0, #0x44] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x44] bx lr _021E066C: ldr r1, [r0, #0x48] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x48] bx lr _021E0678: ldr r1, [r0, #0x4c] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x4c] bx lr _021E0684: ldr r1, [r0, #0x50] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x50] bx lr _021E0690: ldr r1, [r0, #0x54] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x54] bx lr _021E069C: ldr r1, [r0, #0x58] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x58] bx lr _021E06A8: ldr r1, [r0, #0x5c] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x5c] bx lr _021E06B4: ldr r1, [r0, #0x60] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x60] bx lr _021E06C0: ldr r1, [r0, #0x64] cmp r1, #2 beq _021E06CA mov r1, #1 str r1, [r0, #0x64] _021E06CA: bx lr thumb_func_end MOD16_021E063C thumb_func_start MOD16_021E06CC MOD16_021E06CC: ; 0x021E06CC ldr r2, [r2, #4] lsl r3, r0, #2 add r3, r2, r3 str r1, [r3, #0x44] cmp r1, #2 bne _021E06F0 add r1, r2, #0 add r1, #0x90 ldr r1, [r1] cmp r1, #0 bne _021E06F6 add r1, r2, #0 add r1, #0x84 str r0, [r1] mov r0, #1 add r2, #0x90 str r0, [r2] bx lr _021E06F0: mov r0, #0 add r2, #0x90 str r0, [r2] _021E06F6: bx lr thumb_func_end MOD16_021E06CC thumb_func_start MOD16_021E06F8 MOD16_021E06F8: ; 0x021E06F8 push {r4, r5, r6, r7, lr} sub sp, #0x1c str r0, [sp, #4] str r1, [sp, #8] add r0, r2, #0 mov r1, #0x28 str r2, [sp, #0xc] bl AllocFromHeap ldr r1, [sp, #4] str r0, [r1, #0xc] mov r0, #0 str r0, [sp, #0x14] mov r0, #0x10 ldr r6, [sp, #0x14] str r0, [sp, #0x10] _021E0718: ldr r0, [sp, #0x10] ldr r7, [sp, #0x10] str r0, [sp, #0x18] add r0, #0x10 mov r4, #0 mov r5, #0x30 sub r7, #0x10 str r0, [sp, #0x18] _021E0728: add r0, r5, #0 add r0, #0x28 str r0, [sp] ldr r0, [sp, #4] add r3, r5, #0 ldr r1, [r0, #0xc] add r0, r4, r6 lsl r0, r0, #2 add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0 sub r3, #0x28 bl MOD16_021D7C98 add r4, r4, #1 add r5, #0x50 cmp r4, #2 blt _021E0728 ldr r0, [sp, #0x10] add r6, r6, #2 add r0, #0x20 str r0, [sp, #0x10] ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x14] cmp r0, #4 blt _021E0718 mov r0, #0xa8 str r0, [sp] ldr r0, [sp, #4] mov r1, #0x80 ldr r0, [r0, #0xc] mov r2, #0xa0 add r0, #0x20 mov r3, #0x58 bl MOD16_021D7C98 mov r0, #0x28 str r0, [sp] ldr r0, [sp, #4] mov r1, #0xa0 ldr r0, [r0, #0xc] mov r2, #0xc0 add r0, #0x24 mov r3, #8 bl MOD16_021D7C98 ldr r3, [sp, #4] ldr r1, [sp, #8] ldr r0, [sp, #4] ldr r2, _021E07AC ; =MOD16_021E07F0 str r1, [r0, #0x10] str r0, [r0, #0x14] ldr r0, [sp, #0xc] mov r1, #0xa str r0, [sp] ldr r0, [sp, #4] add r3, #0x10 ldr r0, [r0, #0xc] bl FUN_020220C4 ldr r1, [sp, #4] str r0, [r1, #8] add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021E07AC: .word MOD16_021E07F0 thumb_func_end MOD16_021E06F8 thumb_func_start MOD16_021E07B0 MOD16_021E07B0: ; 0x021E07B0 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 mov r1, #0 add r2, r5, #0 mov r0, #3 _021E07BC: add r1, r1, #1 str r0, [r2, #0x44] add r2, r2, #4 cmp r1, #0xa blt _021E07BC ldr r0, [r5, #8] bl FUN_02022144 ldr r0, [r4, #8] mov r1, #0 bl MOD16_021DEC14 add r1, r0, #0 add r0, r5, #0 bl MOD16_021E081C ldr r0, [r4, #8] mov r1, #1 bl MOD16_021DEC14 add r1, r0, #0 add r0, r5, #0 bl MOD16_021E081C pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E07B0 thumb_func_start MOD16_021E07F0 MOD16_021E07F0: ; 0x021E07F0 ldr r2, [r2, #4] lsl r3, r0, #2 add r3, r2, r3 str r1, [r3, #0x44] cmp r1, #2 bne _021E0814 add r1, r2, #0 add r1, #0x90 ldr r1, [r1] cmp r1, #0 bne _021E081A add r1, r2, #0 add r1, #0x84 str r0, [r1] mov r0, #1 add r2, #0x90 str r0, [r2] bx lr _021E0814: mov r0, #0 add r2, #0x90 str r0, [r2] _021E081A: bx lr thumb_func_end MOD16_021E07F0 thumb_func_start MOD16_021E081C MOD16_021E081C: ; 0x021E081C sub r1, #0xa cmp r1, #7 bhi _021E089C add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E082E: ; jump table .short _021E083E - _021E082E - 2 ; case 0 .short _021E084A - _021E082E - 2 ; case 1 .short _021E0856 - _021E082E - 2 ; case 2 .short _021E0862 - _021E082E - 2 ; case 3 .short _021E086E - _021E082E - 2 ; case 4 .short _021E087A - _021E082E - 2 ; case 5 .short _021E0886 - _021E082E - 2 ; case 6 .short _021E0892 - _021E082E - 2 ; case 7 _021E083E: ldr r1, [r0, #0x44] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x44] bx lr _021E084A: ldr r1, [r0, #0x48] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x48] bx lr _021E0856: ldr r1, [r0, #0x4c] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x4c] bx lr _021E0862: ldr r1, [r0, #0x50] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x50] bx lr _021E086E: ldr r1, [r0, #0x54] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x54] bx lr _021E087A: ldr r1, [r0, #0x58] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x58] bx lr _021E0886: ldr r1, [r0, #0x5c] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x5c] bx lr _021E0892: ldr r1, [r0, #0x60] cmp r1, #2 beq _021E089C mov r1, #1 str r1, [r0, #0x60] _021E089C: bx lr .align 2, 0 thumb_func_end MOD16_021E081C thumb_func_start MOD16_021E08A0 MOD16_021E08A0: ; 0x021E08A0 push {r4, r5, r6, r7, lr} sub sp, #0x1c str r0, [sp, #4] str r1, [sp, #8] add r0, r2, #0 mov r1, #0x3c str r2, [sp, #0xc] bl AllocFromHeap ldr r1, [sp, #4] str r0, [r1, #0xc] mov r0, #0 str r0, [sp, #0x14] mov r0, #0x10 ldr r6, [sp, #0x14] str r0, [sp, #0x10] _021E08C0: ldr r0, [sp, #0x10] ldr r7, [sp, #0x10] str r0, [sp, #0x18] add r0, #0x10 mov r4, #0 mov r5, #0x1c sub r7, #0x10 str r0, [sp, #0x18] _021E08D0: add r0, r5, #0 add r0, #0x18 str r0, [sp] ldr r0, [sp, #4] add r3, r5, #0 ldr r1, [r0, #0xc] add r0, r4, r6 lsl r0, r0, #2 add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0 sub r3, #0x18 bl MOD16_021D7C98 add r4, r4, #1 add r5, #0x38 cmp r4, #3 blt _021E08D0 ldr r0, [sp, #0x10] add r6, r6, #3 add r0, #0x20 str r0, [sp, #0x10] ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x14] cmp r0, #5 blt _021E08C0 ldr r1, [sp, #8] ldr r0, [sp, #4] ldr r3, [sp, #4] str r1, [r0, #0x10] str r0, [r0, #0x14] ldr r0, [sp, #0xc] ldr r2, _021E092C ; =MOD16_021E0A28 str r0, [sp] ldr r0, [sp, #4] mov r1, #0xf ldr r0, [r0, #0xc] add r3, #0x10 bl FUN_020220C4 ldr r1, [sp, #4] str r0, [r1, #8] add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021E092C: .word MOD16_021E0A28 thumb_func_end MOD16_021E08A0 thumb_func_start MOD16_021E0930 MOD16_021E0930: ; 0x021E0930 push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 mov r1, #0 add r2, r4, #0 mov r0, #3 _021E093C: add r1, r1, #1 str r0, [r2, #0x44] add r2, r2, #4 cmp r1, #0xf blt _021E093C ldr r0, [r4, #8] bl FUN_02022144 ldr r0, [r5, #8] bl MOD16_021DEC38 cmp r0, #0xe bhi _021E0A26 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E0962: ; jump table .short _021E0A26 - _021E0962 - 2 ; case 0 .short _021E0980 - _021E0962 - 2 ; case 1 .short _021E098C - _021E0962 - 2 ; case 2 .short _021E0998 - _021E0962 - 2 ; case 3 .short _021E09A4 - _021E0962 - 2 ; case 4 .short _021E09B0 - _021E0962 - 2 ; case 5 .short _021E09BC - _021E0962 - 2 ; case 6 .short _021E09C8 - _021E0962 - 2 ; case 7 .short _021E09D4 - _021E0962 - 2 ; case 8 .short _021E09E0 - _021E0962 - 2 ; case 9 .short _021E09EC - _021E0962 - 2 ; case 10 .short _021E09F8 - _021E0962 - 2 ; case 11 .short _021E0A04 - _021E0962 - 2 ; case 12 .short _021E0A10 - _021E0962 - 2 ; case 13 .short _021E0A1C - _021E0962 - 2 ; case 14 _021E0980: ldr r0, [r4, #0x60] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x60] pop {r3, r4, r5, pc} _021E098C: ldr r0, [r4, #0x70] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x70] pop {r3, r4, r5, pc} _021E0998: ldr r0, [r4, #0x58] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x58] pop {r3, r4, r5, pc} _021E09A4: ldr r0, [r4, #0x48] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x48] pop {r3, r4, r5, pc} _021E09B0: ldr r0, [r4, #0x74] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x74] pop {r3, r4, r5, pc} _021E09BC: ldr r0, [r4, #0x64] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x64] pop {r3, r4, r5, pc} _021E09C8: ldr r0, [r4, #0x78] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x78] pop {r3, r4, r5, pc} _021E09D4: ldr r0, [r4, #0x54] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x54] pop {r3, r4, r5, pc} _021E09E0: ldr r0, [r4, #0x50] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x50] pop {r3, r4, r5, pc} _021E09EC: ldr r0, [r4, #0x5c] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x5c] pop {r3, r4, r5, pc} _021E09F8: ldr r0, [r4, #0x68] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x68] pop {r3, r4, r5, pc} _021E0A04: ldr r0, [r4, #0x4c] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x4c] pop {r3, r4, r5, pc} _021E0A10: ldr r0, [r4, #0x44] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x44] pop {r3, r4, r5, pc} _021E0A1C: ldr r0, [r4, #0x6c] cmp r0, #2 beq _021E0A26 mov r0, #1 str r0, [r4, #0x6c] _021E0A26: pop {r3, r4, r5, pc} thumb_func_end MOD16_021E0930 thumb_func_start MOD16_021E0A28 MOD16_021E0A28: ; 0x021E0A28 ldr r3, [r2, #4] lsl r2, r0, #2 add r2, r3, r2 str r1, [r2, #0x44] cmp r1, #2 bne _021E0A38 add r3, #0x84 str r0, [r3] _021E0A38: bx lr .align 2, 0 thumb_func_end MOD16_021E0A28 thumb_func_start MOD16_021E0A3C MOD16_021E0A3C: ; 0x021E0A3C push {r4, r5, r6, lr} sub sp, #0x10 add r4, r1, #0 add r6, r0, #0 cmp r4, #5 bhi _021E0A9A add r5, r4, r4 add r5, pc ldrh r5, [r5, #6] lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 _021E0A54: ; jump table .short _021E0A60 - _021E0A54 - 2 ; case 0 .short _021E0A6A - _021E0A54 - 2 ; case 1 .short _021E0A74 - _021E0A54 - 2 ; case 2 .short _021E0A7E - _021E0A54 - 2 ; case 3 .short _021E0A88 - _021E0A54 - 2 ; case 4 .short _021E0A92 - _021E0A54 - 2 ; case 5 _021E0A60: mov r2, #0x10 mov r1, #0xd4 mov r3, #0x1c add r0, r2, #0 b _021E0A9A _021E0A6A: mov r1, #0xe0 mov r2, #0x30 mov r3, #0x2c mov r0, #0x10 b _021E0A9A _021E0A74: mov r1, #0xe0 mov r2, #0x50 mov r3, #0x2c mov r0, #0x10 b _021E0A9A _021E0A7E: mov r1, #0xe0 mov r2, #0x70 mov r3, #0x2c mov r0, #0x10 b _021E0A9A _021E0A88: mov r1, #0xe0 mov r2, #0x90 mov r3, #0x2c mov r0, #0x10 b _021E0A9A _021E0A92: mov r1, #0xd4 mov r2, #0xb0 mov r3, #0x3c mov r0, #0x10 _021E0A9A: str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] add r0, r6, #0 str r4, [sp, #0xc] bl MOD16_021DB590 add sp, #0x10 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E0A3C thumb_func_start MOD16_021E0AB0 MOD16_021E0AB0: ; 0x021E0AB0 push {r4, lr} add r4, r0, #0 ldr r0, _021E0BB4 ; =gMain ldr r1, [r0, #0x44] mov r0, #1 tst r0, r1 beq _021E0B86 add r0, r4, #0 add r0, #0x8c ldr r0, [r0] cmp r0, #0 bne _021E0B94 ldr r0, [r4, #0x18] bl MOD16_021DB528 cmp r0, #5 bhi _021E0B76 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E0ADE: ; jump table .short _021E0B60 - _021E0ADE - 2 ; case 0 .short _021E0AEA - _021E0ADE - 2 ; case 1 .short _021E0B02 - _021E0ADE - 2 ; case 2 .short _021E0B18 - _021E0ADE - 2 ; case 3 .short _021E0B30 - _021E0ADE - 2 ; case 4 .short _021E0B48 - _021E0ADE - 2 ; case 5 _021E0AEA: add r0, r4, #0 mov r1, #1 add r0, #0x80 str r1, [r0] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x2c] b _021E0B76 _021E0B02: add r0, r4, #0 mov r1, #2 add r0, #0x80 str r1, [r0] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x2c] b _021E0B76 _021E0B18: add r0, r4, #0 mov r1, #3 add r0, #0x80 str r1, [r0] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x2c] b _021E0B76 _021E0B30: add r0, r4, #0 mov r1, #4 add r0, #0x80 str r1, [r0] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x2c] b _021E0B76 _021E0B48: add r0, r4, #0 mov r1, #5 add r0, #0x80 str r1, [r0] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x2c] b _021E0B76 _021E0B60: add r0, r4, #0 mov r1, #0 add r0, #0x80 str r1, [r0] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x2c] _021E0B76: add r0, r4, #0 add r0, #0x94 ldr r0, [r0] add r1, r0, #1 add r0, r4, #0 add r0, #0x94 str r1, [r0] b _021E0B94 _021E0B86: add r0, r4, #0 mov r1, #0 add r0, #0x94 str r1, [r0] add r0, r4, #0 add r0, #0x8c str r1, [r0] _021E0B94: ldr r0, _021E0BB4 ; =gMain mov r1, #2 ldr r0, [r0, #0x48] tst r0, r1 beq _021E0BB2 add r0, r4, #0 mov r2, #0 add r0, #0x80 str r2, [r0] add r0, r4, #0 add r0, #0x80 ldr r0, [r0] lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x2c] _021E0BB2: pop {r4, pc} .align 2, 0 _021E0BB4: .word gMain thumb_func_end MOD16_021E0AB0 thumb_func_start MOD16_021E0BB8 MOD16_021E0BB8: ; 0x021E0BB8 push {r4, r5, r6, r7, lr} sub sp, #0x24 str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r1, #0 mov r1, #0x7e lsl r1, r1, #2 bl AllocFromHeap ldr r1, [sp, #0x10] str r0, [r1, #0x1c] mov r0, #0 str r0, [sp, #0x20] mov r0, #0x10 str r0, [sp, #0x1c] mov r0, #6 ldr r7, [sp, #0x20] str r0, [sp, #0x18] _021E0BDC: mov r4, #0 mov r6, #0x30 _021E0BE0: ldr r0, [sp, #0x18] add r1, r4, r0 ldr r0, [sp, #0x20] cmp r0, #5 bhi _021E0C48 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E0BF6: ; jump table .short _021E0C02 - _021E0BF6 - 2 ; case 0 .short _021E0C0E - _021E0BF6 - 2 ; case 1 .short _021E0C1A - _021E0BF6 - 2 ; case 2 .short _021E0C26 - _021E0BF6 - 2 ; case 3 .short _021E0C32 - _021E0BF6 - 2 ; case 4 .short _021E0C3E - _021E0BF6 - 2 ; case 5 _021E0C02: cmp r4, #2 bne _021E0C0A mov r1, #0 b _021E0C48 _021E0C0A: mov r5, #1 b _021E0C48 _021E0C0E: cmp r4, #2 bne _021E0C16 mov r1, #1 b _021E0C48 _021E0C16: mov r5, #0 b _021E0C48 _021E0C1A: cmp r4, #2 bne _021E0C22 mov r1, #2 b _021E0C48 _021E0C22: mov r5, #0 b _021E0C48 _021E0C26: cmp r4, #2 bne _021E0C2E mov r1, #3 b _021E0C48 _021E0C2E: mov r5, #0 b _021E0C48 _021E0C32: cmp r4, #2 bne _021E0C3A mov r1, #4 b _021E0C48 _021E0C3A: mov r5, #1 b _021E0C48 _021E0C3E: cmp r4, #2 bne _021E0C46 mov r1, #5 b _021E0C48 _021E0C46: mov r5, #1 _021E0C48: cmp r4, #2 bge _021E0C6E mov r0, #0x10 str r0, [sp] str r5, [sp, #4] str r5, [sp, #8] str r1, [sp, #0xc] ldr r0, [sp, #0x10] add r2, r4, r7 mov r1, #0x1c mul r1, r2 ldr r0, [r0, #0x1c] ldr r2, [sp, #0x1c] add r0, r0, r1 add r1, r6, #0 mov r3, #0x3c bl MOD16_021DB590 b _021E0C7E _021E0C6E: ldr r0, [sp, #0x10] add r2, r4, r7 ldr r3, [r0, #0x1c] mov r0, #0x1c mul r0, r2 add r0, r3, r0 bl MOD16_021E0A3C _021E0C7E: add r4, r4, #1 add r6, #0x50 cmp r4, #3 blt _021E0BE0 ldr r0, [sp, #0x1c] add r7, r7, #3 add r0, #0x20 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] add r0, r0, #2 str r0, [sp, #0x18] ldr r0, [sp, #0x20] add r0, r0, #1 str r0, [sp, #0x20] cmp r0, #6 blt _021E0BDC ldr r0, [sp, #0x14] bl MOD16_021DB490 ldr r1, [sp, #0x10] mov r2, #3 str r0, [r1, #0x18] ldr r1, [r1, #0x1c] mov r3, #6 bl MOD16_021DB4B0 add sp, #0x24 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E0BB8 thumb_func_start MOD16_021E0CB8 MOD16_021E0CB8: ; 0x021E0CB8 push {r4, lr} add r4, r0, #0 ldr r0, _021E0D8C ; =gMain ldr r1, [r0, #0x44] mov r0, #1 tst r0, r1 beq _021E0D82 add r0, r4, #0 add r0, #0x8c ldr r0, [r0] cmp r0, #0 bne _021E0D88 ldr r0, [r4, #0x18] bl MOD16_021DB528 sub r0, #8 cmp r0, #5 bhi _021E0D88 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E0CE8: ; jump table .short _021E0CF4 - _021E0CE8 - 2 ; case 0 .short _021E0D0C - _021E0CE8 - 2 ; case 1 .short _021E0D24 - _021E0CE8 - 2 ; case 2 .short _021E0D3A - _021E0CE8 - 2 ; case 3 .short _021E0D52 - _021E0CE8 - 2 ; case 4 .short _021E0D6A - _021E0CE8 - 2 ; case 5 _021E0CF4: add r0, r4, #0 mov r1, #0 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0D0C: add r0, r4, #0 mov r1, #1 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0D24: add r0, r4, #0 mov r1, #2 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0D3A: add r0, r4, #0 mov r1, #3 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0D52: add r0, r4, #0 mov r1, #4 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0D6A: add r0, r4, #0 mov r1, #5 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0D82: mov r0, #0 add r4, #0x8c str r0, [r4] _021E0D88: pop {r4, pc} nop _021E0D8C: .word gMain thumb_func_end MOD16_021E0CB8 thumb_func_start MOD16_021E0D90 MOD16_021E0D90: ; 0x021E0D90 push {r4, r5, r6, r7, lr} sub sp, #0x24 str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r1, #0 mov r1, #0x7e lsl r1, r1, #2 bl AllocFromHeap ldr r1, [sp, #0x10] str r0, [r1, #0x1c] mov r0, #0 str r0, [sp, #0x20] mov r0, #0x10 str r0, [sp, #0x1c] mov r0, #6 ldr r7, [sp, #0x20] str r0, [sp, #0x18] _021E0DB4: mov r4, #0 mov r6, #0x30 _021E0DB8: ldr r0, [sp, #0x18] add r1, r4, r0 ldr r0, [sp, #0x20] cmp r0, #5 bhi _021E0E20 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E0DCE: ; jump table .short _021E0DDA - _021E0DCE - 2 ; case 0 .short _021E0DE6 - _021E0DCE - 2 ; case 1 .short _021E0DF2 - _021E0DCE - 2 ; case 2 .short _021E0DFE - _021E0DCE - 2 ; case 3 .short _021E0E0A - _021E0DCE - 2 ; case 4 .short _021E0E16 - _021E0DCE - 2 ; case 5 _021E0DDA: cmp r4, #2 bne _021E0DE2 mov r1, #0 b _021E0E20 _021E0DE2: mov r5, #0 b _021E0E20 _021E0DE6: cmp r4, #2 bne _021E0DEE mov r1, #1 b _021E0E20 _021E0DEE: mov r5, #0 b _021E0E20 _021E0DF2: cmp r4, #2 bne _021E0DFA mov r1, #2 b _021E0E20 _021E0DFA: mov r5, #0 b _021E0E20 _021E0DFE: cmp r4, #2 bne _021E0E06 mov r1, #3 b _021E0E20 _021E0E06: mov r5, #0 b _021E0E20 _021E0E0A: cmp r4, #2 bne _021E0E12 mov r1, #4 b _021E0E20 _021E0E12: mov r5, #0 b _021E0E20 _021E0E16: cmp r4, #2 bne _021E0E1E mov r1, #5 b _021E0E20 _021E0E1E: mov r5, #1 _021E0E20: cmp r4, #2 bge _021E0E46 mov r0, #0x10 str r0, [sp] str r5, [sp, #4] str r5, [sp, #8] str r1, [sp, #0xc] ldr r0, [sp, #0x10] add r2, r4, r7 mov r1, #0x1c mul r1, r2 ldr r0, [r0, #0x1c] ldr r2, [sp, #0x1c] add r0, r0, r1 add r1, r6, #0 mov r3, #0x3c bl MOD16_021DB590 b _021E0E56 _021E0E46: ldr r0, [sp, #0x10] add r2, r4, r7 ldr r3, [r0, #0x1c] mov r0, #0x1c mul r0, r2 add r0, r3, r0 bl MOD16_021E0A3C _021E0E56: add r4, r4, #1 add r6, #0x50 cmp r4, #3 blt _021E0DB8 ldr r0, [sp, #0x1c] add r7, r7, #3 add r0, #0x20 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] add r0, r0, #2 str r0, [sp, #0x18] ldr r0, [sp, #0x20] add r0, r0, #1 str r0, [sp, #0x20] cmp r0, #6 blt _021E0DB4 ldr r0, [sp, #0x14] bl MOD16_021DB490 ldr r1, [sp, #0x10] mov r2, #3 str r0, [r1, #0x18] ldr r1, [r1, #0x1c] mov r3, #6 bl MOD16_021DB4B0 add sp, #0x24 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E0D90 thumb_func_start MOD16_021E0E90 MOD16_021E0E90: ; 0x021E0E90 push {r4, lr} add r4, r0, #0 ldr r0, _021E0FD8 ; =gMain ldr r1, [r0, #0x44] mov r0, #1 tst r0, r1 bne _021E0EA0 b _021E0FD0 _021E0EA0: add r0, r4, #0 add r0, #0x8c ldr r0, [r0] cmp r0, #0 bne _021E0EB4 ldr r0, [r4, #0x18] bl MOD16_021DB528 cmp r0, #0xf bls _021E0EB6 _021E0EB4: b _021E0FD6 _021E0EB6: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E0EC2: ; jump table .short _021E0FD6 - _021E0EC2 - 2 ; case 0 .short _021E0FD6 - _021E0EC2 - 2 ; case 1 .short _021E0FD6 - _021E0EC2 - 2 ; case 2 .short _021E0FD6 - _021E0EC2 - 2 ; case 3 .short _021E0FD6 - _021E0EC2 - 2 ; case 4 .short _021E0FD6 - _021E0EC2 - 2 ; case 5 .short _021E0EE2 - _021E0EC2 - 2 ; case 6 .short _021E0EFA - _021E0EC2 - 2 ; case 7 .short _021E0F12 - _021E0EC2 - 2 ; case 8 .short _021E0F28 - _021E0EC2 - 2 ; case 9 .short _021E0F40 - _021E0EC2 - 2 ; case 10 .short _021E0F58 - _021E0EC2 - 2 ; case 11 .short _021E0F70 - _021E0EC2 - 2 ; case 12 .short _021E0F88 - _021E0EC2 - 2 ; case 13 .short _021E0FA0 - _021E0EC2 - 2 ; case 14 .short _021E0FB8 - _021E0EC2 - 2 ; case 15 _021E0EE2: add r0, r4, #0 mov r1, #0 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0EFA: add r0, r4, #0 mov r1, #1 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0F12: add r0, r4, #0 mov r1, #2 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0F28: add r0, r4, #0 mov r1, #3 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0F40: add r0, r4, #0 mov r1, #4 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0F58: add r0, r4, #0 mov r1, #5 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0F70: add r0, r4, #0 mov r1, #6 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0F88: add r0, r4, #0 mov r1, #7 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0FA0: add r0, r4, #0 mov r1, #8 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0FB8: add r0, r4, #0 mov r1, #9 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E0FD0: mov r0, #0 add r4, #0x8c str r0, [r4] _021E0FD6: pop {r4, pc} .align 2, 0 _021E0FD8: .word gMain thumb_func_end MOD16_021E0E90 thumb_func_start MOD16_021E0FDC MOD16_021E0FDC: ; 0x021E0FDC push {r4, r5, r6, r7, lr} sub sp, #0x2c str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r1, #0 mov r1, #0x7e lsl r1, r1, #2 bl AllocFromHeap ldr r1, [sp, #0x10] str r0, [r1, #0x1c] mov r0, #0 str r0, [sp, #0x28] mov r0, #0x10 str r0, [sp, #0x24] mov r0, #6 str r0, [sp, #0x20] ldr r0, [sp, #0x28] str r0, [sp, #0x1c] _021E1002: mov r0, #0x30 mov r4, #0 str r0, [sp, #0x18] _021E1008: ldr r0, [sp, #0x20] ldr r3, [sp, #0x18] add r1, r4, r0 ldr r0, [sp, #0x28] cmp r0, #5 bhi _021E1098 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1020: ; jump table .short _021E102C - _021E1020 - 2 ; case 0 .short _021E103C - _021E1020 - 2 ; case 1 .short _021E104C - _021E1020 - 2 ; case 2 .short _021E105C - _021E1020 - 2 ; case 3 .short _021E106C - _021E1020 - 2 ; case 4 .short _021E107C - _021E1020 - 2 ; case 5 _021E102C: cmp r4, #2 bne _021E1034 mov r1, #0 b _021E1098 _021E1034: mov r5, #0 mov r7, #0x3c mov r6, #0x10 b _021E1098 _021E103C: cmp r4, #2 bne _021E1044 mov r1, #1 b _021E1098 _021E1044: mov r5, #0 mov r7, #0x3c mov r6, #0x10 b _021E1098 _021E104C: cmp r4, #2 bne _021E1054 mov r1, #2 b _021E1098 _021E1054: mov r5, #0 mov r7, #0x3c mov r6, #0x10 b _021E1098 _021E105C: cmp r4, #2 bne _021E1064 mov r1, #3 b _021E1098 _021E1064: mov r5, #0 mov r7, #0x3c mov r6, #0x10 b _021E1098 _021E106C: cmp r4, #2 bne _021E1074 mov r1, #4 b _021E1098 _021E1074: mov r5, #0 mov r7, #0x3c mov r6, #0x10 b _021E1098 _021E107C: cmp r4, #2 bne _021E1084 mov r1, #5 b _021E1098 _021E1084: cmp r4, #0 bne _021E1092 mov r7, #0x10 mov r5, #0 add r6, r7, #0 mov r3, #0x18 b _021E1098 _021E1092: mov r5, #1 mov r7, #0x3c mov r6, #0x10 _021E1098: cmp r4, #2 bge _021E10BE str r6, [sp] str r5, [sp, #4] str r5, [sp, #8] ldr r0, [sp, #0x10] str r1, [sp, #0xc] ldr r2, [r0, #0x1c] ldr r0, [sp, #0x1c] add r1, r4, r0 mov r0, #0x1c mul r0, r1 add r0, r2, r0 add r1, r3, #0 ldr r2, [sp, #0x24] add r3, r7, #0 bl MOD16_021DB590 b _021E10D0 _021E10BE: ldr r0, [sp, #0x10] ldr r3, [r0, #0x1c] ldr r0, [sp, #0x1c] add r2, r4, r0 mov r0, #0x1c mul r0, r2 add r0, r3, r0 bl MOD16_021E0A3C _021E10D0: ldr r0, [sp, #0x18] add r4, r4, #1 add r0, #0x50 str r0, [sp, #0x18] cmp r4, #3 blt _021E1008 ldr r0, [sp, #0x24] add r0, #0x20 str r0, [sp, #0x24] ldr r0, [sp, #0x20] add r0, r0, #2 str r0, [sp, #0x20] ldr r0, [sp, #0x1c] add r0, r0, #3 str r0, [sp, #0x1c] ldr r0, [sp, #0x28] add r0, r0, #1 str r0, [sp, #0x28] cmp r0, #6 blt _021E1002 ldr r0, [sp, #0x14] bl MOD16_021DB490 ldr r1, [sp, #0x10] mov r2, #3 str r0, [r1, #0x18] ldr r1, [r1, #0x1c] mov r3, #6 bl MOD16_021DB4B0 add sp, #0x2c pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E0FDC thumb_func_start MOD16_021E1110 MOD16_021E1110: ; 0x021E1110 push {r4, lr} add r4, r0, #0 ldr r0, _021E1278 ; =gMain ldr r1, [r0, #0x44] mov r0, #1 tst r0, r1 bne _021E1120 b _021E1270 _021E1120: add r0, r4, #0 add r0, #0x8c ldr r0, [r0] cmp r0, #0 bne _021E1134 ldr r0, [r4, #0x18] bl MOD16_021DB528 cmp r0, #0x10 bls _021E1136 _021E1134: b _021E1276 _021E1136: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1142: ; jump table .short _021E1276 - _021E1142 - 2 ; case 0 .short _021E1276 - _021E1142 - 2 ; case 1 .short _021E1276 - _021E1142 - 2 ; case 2 .short _021E1276 - _021E1142 - 2 ; case 3 .short _021E1276 - _021E1142 - 2 ; case 4 .short _021E1276 - _021E1142 - 2 ; case 5 .short _021E1164 - _021E1142 - 2 ; case 6 .short _021E117C - _021E1142 - 2 ; case 7 .short _021E1194 - _021E1142 - 2 ; case 8 .short _021E11AA - _021E1142 - 2 ; case 9 .short _021E11C2 - _021E1142 - 2 ; case 10 .short _021E11DA - _021E1142 - 2 ; case 11 .short _021E11F2 - _021E1142 - 2 ; case 12 .short _021E120A - _021E1142 - 2 ; case 13 .short _021E1222 - _021E1142 - 2 ; case 14 .short _021E123A - _021E1142 - 2 ; case 15 .short _021E1258 - _021E1142 - 2 ; case 16 _021E1164: add r0, r4, #0 mov r1, #0 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E117C: add r0, r4, #0 mov r1, #1 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1194: add r0, r4, #0 mov r1, #2 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E11AA: add r0, r4, #0 mov r1, #3 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E11C2: add r0, r4, #0 mov r1, #4 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E11DA: add r0, r4, #0 mov r1, #5 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E11F2: add r0, r4, #0 mov r1, #6 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E120A: add r0, r4, #0 mov r1, #7 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1222: add r0, r4, #0 mov r1, #8 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E123A: add r0, r4, #0 mov r1, #9 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] mov r0, #1 add r4, #0x8c str r0, [r4] pop {r4, pc} _021E1258: add r0, r4, #0 mov r1, #0xa add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1270: mov r0, #0 add r4, #0x8c str r0, [r4] _021E1276: pop {r4, pc} .align 2, 0 _021E1278: .word gMain thumb_func_end MOD16_021E1110 thumb_func_start MOD16_021E127C MOD16_021E127C: ; 0x021E127C push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r1, #0 mov r1, #0x7e lsl r1, r1, #2 bl AllocFromHeap ldr r1, [sp, #0x10] str r0, [r1, #0x1c] mov r0, #0 str r0, [sp, #0x2c] mov r0, #0x10 str r0, [sp, #0x24] mov r0, #6 str r0, [sp, #0x20] ldr r0, [sp, #0x2c] str r0, [sp, #0x1c] _021E12A2: mov r0, #0x30 mov r4, #0 str r0, [sp, #0x18] _021E12A8: ldr r0, [sp, #0x20] ldr r3, [sp, #0x18] add r1, r4, r0 ldr r0, [sp, #0x2c] cmp r0, #5 bhi _021E1364 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E12C0: ; jump table .short _021E12CC - _021E12C0 - 2 ; case 0 .short _021E12E0 - _021E12C0 - 2 ; case 1 .short _021E12F4 - _021E12C0 - 2 ; case 2 .short _021E1308 - _021E12C0 - 2 ; case 3 .short _021E131C - _021E12C0 - 2 ; case 4 .short _021E1340 - _021E12C0 - 2 ; case 5 _021E12CC: cmp r4, #2 bne _021E12D4 mov r1, #0 b _021E1364 _021E12D4: mov r6, #0 mov r0, #0x3c add r5, r6, #0 str r0, [sp, #0x28] mov r7, #0x10 b _021E1364 _021E12E0: cmp r4, #2 bne _021E12E8 mov r1, #1 b _021E1364 _021E12E8: mov r6, #0 mov r0, #0x3c add r5, r6, #0 str r0, [sp, #0x28] mov r7, #0x10 b _021E1364 _021E12F4: cmp r4, #2 bne _021E12FC mov r1, #2 b _021E1364 _021E12FC: mov r6, #0 mov r0, #0x3c add r5, r6, #0 str r0, [sp, #0x28] mov r7, #0x10 b _021E1364 _021E1308: cmp r4, #2 bne _021E1310 mov r1, #3 b _021E1364 _021E1310: mov r6, #0 mov r0, #0x3c add r5, r6, #0 str r0, [sp, #0x28] mov r7, #0x10 b _021E1364 _021E131C: cmp r4, #2 bne _021E1324 mov r1, #4 b _021E1364 _021E1324: cmp r4, #0 bne _021E1334 mov r0, #0x3c mov r6, #1 mov r5, #2 str r0, [sp, #0x28] mov r7, #0x10 b _021E1364 _021E1334: mov r6, #0 mov r0, #0x3c add r5, r6, #0 str r0, [sp, #0x28] mov r7, #0x10 b _021E1364 _021E1340: cmp r4, #2 bne _021E1348 mov r1, #5 b _021E1364 _021E1348: cmp r4, #0 bne _021E135A mov r0, #0x10 mov r6, #0 add r5, r6, #0 str r0, [sp, #0x28] add r7, r0, #0 mov r3, #0x18 b _021E1364 _021E135A: mov r6, #1 mov r0, #0x3c add r5, r6, #0 str r0, [sp, #0x28] mov r7, #0x10 _021E1364: cmp r4, #2 bge _021E138A str r7, [sp] str r6, [sp, #4] str r5, [sp, #8] ldr r0, [sp, #0x10] str r1, [sp, #0xc] ldr r2, [r0, #0x1c] ldr r0, [sp, #0x1c] add r1, r4, r0 mov r0, #0x1c mul r0, r1 add r0, r2, r0 add r1, r3, #0 ldr r2, [sp, #0x24] ldr r3, [sp, #0x28] bl MOD16_021DB590 b _021E139C _021E138A: ldr r0, [sp, #0x10] ldr r3, [r0, #0x1c] ldr r0, [sp, #0x1c] add r2, r4, r0 mov r0, #0x1c mul r0, r2 add r0, r3, r0 bl MOD16_021E0A3C _021E139C: ldr r0, [sp, #0x18] add r4, r4, #1 add r0, #0x50 str r0, [sp, #0x18] cmp r4, #3 bge _021E13AA b _021E12A8 _021E13AA: ldr r0, [sp, #0x24] add r0, #0x20 str r0, [sp, #0x24] ldr r0, [sp, #0x20] add r0, r0, #2 str r0, [sp, #0x20] ldr r0, [sp, #0x1c] add r0, r0, #3 str r0, [sp, #0x1c] ldr r0, [sp, #0x2c] add r0, r0, #1 str r0, [sp, #0x2c] cmp r0, #6 bge _021E13C8 b _021E12A2 _021E13C8: ldr r0, [sp, #0x14] bl MOD16_021DB490 ldr r1, [sp, #0x10] mov r2, #3 str r0, [r1, #0x18] ldr r1, [r1, #0x1c] mov r3, #6 bl MOD16_021DB4B0 add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E127C thumb_func_start MOD16_021E13E0 MOD16_021E13E0: ; 0x021E13E0 push {r4, lr} add r4, r0, #0 ldr r0, _021E1530 ; =gMain ldr r1, [r0, #0x44] mov r0, #1 tst r0, r1 bne _021E13F0 b _021E1528 _021E13F0: add r0, r4, #0 add r0, #0x8c ldr r0, [r0] cmp r0, #0 bne _021E1404 ldr r0, [r4, #0x18] bl MOD16_021DB528 cmp r0, #0x10 bls _021E1406 _021E1404: b _021E152E _021E1406: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1412: ; jump table .short _021E152E - _021E1412 - 2 ; case 0 .short _021E152E - _021E1412 - 2 ; case 1 .short _021E152E - _021E1412 - 2 ; case 2 .short _021E152E - _021E1412 - 2 ; case 3 .short _021E152E - _021E1412 - 2 ; case 4 .short _021E152E - _021E1412 - 2 ; case 5 .short _021E1434 - _021E1412 - 2 ; case 6 .short _021E144C - _021E1412 - 2 ; case 7 .short _021E1464 - _021E1412 - 2 ; case 8 .short _021E147A - _021E1412 - 2 ; case 9 .short _021E1492 - _021E1412 - 2 ; case 10 .short _021E14AA - _021E1412 - 2 ; case 11 .short _021E14C2 - _021E1412 - 2 ; case 12 .short _021E14DA - _021E1412 - 2 ; case 13 .short _021E152E - _021E1412 - 2 ; case 14 .short _021E14F2 - _021E1412 - 2 ; case 15 .short _021E1510 - _021E1412 - 2 ; case 16 _021E1434: add r0, r4, #0 mov r1, #0 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E144C: add r0, r4, #0 mov r1, #1 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1464: add r0, r4, #0 mov r1, #2 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E147A: add r0, r4, #0 mov r1, #3 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1492: add r0, r4, #0 mov r1, #4 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E14AA: add r0, r4, #0 mov r1, #5 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E14C2: add r0, r4, #0 mov r1, #6 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E14DA: add r0, r4, #0 mov r1, #7 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E14F2: add r0, r4, #0 mov r1, #8 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] mov r0, #1 add r4, #0x8c str r0, [r4] pop {r4, pc} _021E1510: add r0, r4, #0 mov r1, #9 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1528: mov r0, #0 add r4, #0x8c str r0, [r4] _021E152E: pop {r4, pc} .align 2, 0 _021E1530: .word gMain thumb_func_end MOD16_021E13E0 thumb_func_start MOD16_021E1534 MOD16_021E1534: ; 0x021E1534 push {r4, r5, r6, r7, lr} sub sp, #0x24 str r0, [sp, #0x10] str r1, [sp, #0x14] add r0, r1, #0 mov r1, #0x2a lsl r1, r1, #4 bl AllocFromHeap ldr r1, [sp, #0x10] str r0, [r1, #0x1c] mov r0, #0 str r0, [sp, #0x20] mov r0, #0x10 str r0, [sp, #0x1c] mov r0, #6 ldr r7, [sp, #0x20] str r0, [sp, #0x18] _021E1558: mov r4, #0 mov r6, #0x1c _021E155C: ldr r0, [sp, #0x18] add r1, r4, r0 ldr r0, [sp, #0x20] cmp r0, #5 bhi _021E15C4 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1572: ; jump table .short _021E157E - _021E1572 - 2 ; case 0 .short _021E158A - _021E1572 - 2 ; case 1 .short _021E1596 - _021E1572 - 2 ; case 2 .short _021E15A2 - _021E1572 - 2 ; case 3 .short _021E15AE - _021E1572 - 2 ; case 4 .short _021E15BA - _021E1572 - 2 ; case 5 _021E157E: cmp r4, #3 bne _021E1586 mov r1, #0 b _021E15C4 _021E1586: mov r5, #0 b _021E15C4 _021E158A: cmp r4, #3 bne _021E1592 mov r1, #1 b _021E15C4 _021E1592: mov r5, #0 b _021E15C4 _021E1596: cmp r4, #3 bne _021E159E mov r1, #2 b _021E15C4 _021E159E: mov r5, #0 b _021E15C4 _021E15A2: cmp r4, #3 bne _021E15AA mov r1, #3 b _021E15C4 _021E15AA: mov r5, #0 b _021E15C4 _021E15AE: cmp r4, #3 bne _021E15B6 mov r1, #4 b _021E15C4 _021E15B6: mov r5, #0 b _021E15C4 _021E15BA: cmp r4, #3 bne _021E15C2 mov r1, #5 b _021E15C4 _021E15C2: mov r5, #1 _021E15C4: cmp r4, #3 bge _021E15EA mov r0, #0x14 str r0, [sp] str r5, [sp, #4] str r5, [sp, #8] str r1, [sp, #0xc] ldr r0, [sp, #0x10] add r2, r4, r7 mov r1, #0x1c mul r1, r2 ldr r0, [r0, #0x1c] ldr r2, [sp, #0x1c] add r0, r0, r1 add r1, r6, #0 mov r3, #0x20 bl MOD16_021DB590 b _021E15FA _021E15EA: ldr r0, [sp, #0x10] add r2, r4, r7 ldr r3, [r0, #0x1c] mov r0, #0x1c mul r0, r2 add r0, r3, r0 bl MOD16_021E0A3C _021E15FA: add r4, r4, #1 add r6, #0x38 cmp r4, #4 blt _021E155C ldr r0, [sp, #0x1c] add r7, r7, #4 add r0, #0x20 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] add r0, r0, #3 str r0, [sp, #0x18] ldr r0, [sp, #0x20] add r0, r0, #1 str r0, [sp, #0x20] cmp r0, #6 blt _021E1558 ldr r0, [sp, #0x14] bl MOD16_021DB490 ldr r1, [sp, #0x10] mov r2, #4 str r0, [r1, #0x18] ldr r1, [r1, #0x1c] mov r3, #6 bl MOD16_021DB4B0 add sp, #0x24 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E1534 thumb_func_start MOD16_021E1634 MOD16_021E1634: ; 0x021E1634 push {r4, lr} add r4, r0, #0 ldr r0, _021E1800 ; =gMain ldr r1, [r0, #0x44] mov r0, #1 tst r0, r1 bne _021E1644 b _021E17F6 _021E1644: add r0, r4, #0 add r0, #0x8c ldr r0, [r0] cmp r0, #0 bne _021E1658 ldr r0, [r4, #0x18] bl MOD16_021DB528 cmp r0, #0x14 bls _021E165A _021E1658: b _021E17FC _021E165A: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1666: ; jump table .short _021E17FC - _021E1666 - 2 ; case 0 .short _021E17FC - _021E1666 - 2 ; case 1 .short _021E17FC - _021E1666 - 2 ; case 2 .short _021E17FC - _021E1666 - 2 ; case 3 .short _021E17FC - _021E1666 - 2 ; case 4 .short _021E17FC - _021E1666 - 2 ; case 5 .short _021E1690 - _021E1666 - 2 ; case 6 .short _021E16A8 - _021E1666 - 2 ; case 7 .short _021E16C0 - _021E1666 - 2 ; case 8 .short _021E16D6 - _021E1666 - 2 ; case 9 .short _021E16EE - _021E1666 - 2 ; case 10 .short _021E1706 - _021E1666 - 2 ; case 11 .short _021E171E - _021E1666 - 2 ; case 12 .short _021E1736 - _021E1666 - 2 ; case 13 .short _021E174E - _021E1666 - 2 ; case 14 .short _021E1766 - _021E1666 - 2 ; case 15 .short _021E177E - _021E1666 - 2 ; case 16 .short _021E1796 - _021E1666 - 2 ; case 17 .short _021E17AE - _021E1666 - 2 ; case 18 .short _021E17C6 - _021E1666 - 2 ; case 19 .short _021E17DE - _021E1666 - 2 ; case 20 _021E1690: add r0, r4, #0 mov r1, #0 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E16A8: add r0, r4, #0 mov r1, #1 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E16C0: add r0, r4, #0 mov r1, #2 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E16D6: add r0, r4, #0 mov r1, #3 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E16EE: add r0, r4, #0 mov r1, #4 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1706: add r0, r4, #0 mov r1, #5 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E171E: add r0, r4, #0 mov r1, #6 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1736: add r0, r4, #0 mov r1, #7 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E174E: add r0, r4, #0 mov r1, #8 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1766: add r0, r4, #0 mov r1, #9 add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E177E: add r0, r4, #0 mov r1, #0xa add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E1796: add r0, r4, #0 mov r1, #0xb add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E17AE: add r0, r4, #0 mov r1, #0xc add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E17C6: add r0, r4, #0 mov r1, #0xd add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E17DE: add r0, r4, #0 mov r1, #0xe add r0, #0x84 str r1, [r0] add r0, r4, #0 add r0, #0x84 ldr r0, [r0] mov r1, #2 lsl r0, r0, #2 add r0, r4, r0 str r1, [r0, #0x44] pop {r4, pc} _021E17F6: mov r0, #0 add r4, #0x8c str r0, [r4] _021E17FC: pop {r4, pc} nop _021E1800: .word gMain thumb_func_end MOD16_021E1634 thumb_func_start MOD16_021E1804 MOD16_021E1804: ; 0x021E1804 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, _021E1890 ; =gMain add r4, r1, #0 ldr r1, [r0, #0x48] mov r0, #0x10 tst r0, r1 beq _021E1826 ldr r0, [r5, #0x18] mov r1, #0 mov r2, #1 bl MOD16_021DB4CC add r0, r5, #0 mov r1, #1 add r0, #0x8c str r1, [r0] _021E1826: ldr r0, _021E1890 ; =gMain ldr r1, [r0, #0x48] mov r0, #0x20 tst r0, r1 beq _021E1842 mov r1, #0 ldr r0, [r5, #0x18] sub r2, r1, #1 bl MOD16_021DB4CC add r0, r5, #0 mov r1, #1 add r0, #0x8c str r1, [r0] _021E1842: ldr r0, _021E1890 ; =gMain ldr r1, [r0, #0x48] mov r0, #0x40 tst r0, r1 beq _021E185E mov r1, #1 ldr r0, [r5, #0x18] sub r2, r1, #2 bl MOD16_021DB4CC add r0, r5, #0 mov r1, #1 add r0, #0x8c str r1, [r0] _021E185E: ldr r0, _021E1890 ; =gMain ldr r1, [r0, #0x48] mov r0, #0x80 tst r0, r1 beq _021E187A mov r1, #1 ldr r0, [r5, #0x18] add r2, r1, #0 bl MOD16_021DB4CC add r0, r5, #0 mov r1, #1 add r0, #0x8c str r1, [r0] _021E187A: add r0, r5, #0 add r1, r4, #0 bl MOD16_021E0AB0 ldr r2, [r5, #0x24] ldr r3, [r5, #0x28] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E1894 pop {r3, r4, r5, pc} .align 2, 0 _021E1890: .word gMain thumb_func_end MOD16_021E1804 thumb_func_start MOD16_021E1894 MOD16_021E1894: ; 0x021E1894 push {r3, lr} cmp r2, #3 bhi _021E18CE add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _021E18A6: ; jump table .short _021E18AE - _021E18A6 - 2 ; case 0 .short _021E18B4 - _021E18A6 - 2 ; case 1 .short _021E18BA - _021E18A6 - 2 ; case 2 .short _021E18CA - _021E18A6 - 2 ; case 3 _021E18AE: bl MOD16_021E0CB8 pop {r3, pc} _021E18B4: bl MOD16_021E0E90 pop {r3, pc} _021E18BA: cmp r3, #0 bne _021E18C4 bl MOD16_021E1110 pop {r3, pc} _021E18C4: bl MOD16_021E13E0 pop {r3, pc} _021E18CA: bl MOD16_021E1634 _021E18CE: pop {r3, pc} thumb_func_end MOD16_021E1894 thumb_func_start MOD16_021E18D0 MOD16_021E18D0: ; 0x021E18D0 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x1c] bl FreeToHeap ldr r0, [r4, #0x18] bl MOD16_021DB4A8 mov r0, #0 str r0, [r4, #0x18] str r0, [r4, #0x1c] pop {r4, pc} thumb_func_end MOD16_021E18D0 thumb_func_start MOD16_021E18E8 MOD16_021E18E8: ; 0x021E18E8 push {r3, lr} ldr r2, [r0, #0x24] ldr r3, [r0, #0x28] bl MOD16_021E18F4 pop {r3, pc} thumb_func_end MOD16_021E18E8 thumb_func_start MOD16_021E18F4 MOD16_021E18F4: ; 0x021E18F4 push {r3, lr} cmp r2, #3 bhi _021E192E add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _021E1906: ; jump table .short _021E190E - _021E1906 - 2 ; case 0 .short _021E1914 - _021E1906 - 2 ; case 1 .short _021E191A - _021E1906 - 2 ; case 2 .short _021E192A - _021E1906 - 2 ; case 3 _021E190E: bl MOD16_021E0BB8 pop {r3, pc} _021E1914: bl MOD16_021E0D90 pop {r3, pc} _021E191A: cmp r3, #0 bne _021E1924 bl MOD16_021E0FDC pop {r3, pc} _021E1924: bl MOD16_021E127C pop {r3, pc} _021E192A: bl MOD16_021E1534 _021E192E: pop {r3, pc} thumb_func_end MOD16_021E18F4 thumb_func_start MOD16_021E1930 MOD16_021E1930: ; 0x021E1930 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x24] cmp r0, #3 bhi _021E195E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1946: ; jump table .short _021E194E - _021E1946 - 2 ; case 0 .short _021E1952 - _021E1946 - 2 ; case 1 .short _021E1956 - _021E1946 - 2 ; case 2 .short _021E195A - _021E1946 - 2 ; case 3 _021E194E: mov r4, #1 b _021E1962 _021E1952: mov r4, #2 b _021E1962 _021E1956: mov r4, #3 b _021E1962 _021E195A: mov r4, #4 b _021E1962 _021E195E: bl GF_AssertFail _021E1962: ldr r0, [r5, #0x18] mov r1, #4 add r2, r4, #0 bl MOD16_021DB4CC pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E1930 thumb_func_start MOD16_021E1970 MOD16_021E1970: ; 0x021E1970 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E18D0 ldr r2, [r5, #0x24] ldr r3, [r5, #0x28] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E18F4 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E1970 thumb_func_start MOD16_021E1988 MOD16_021E1988: ; 0x021E1988 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 ldr r0, [r4, #0x18] ldr r1, [r5] add r6, r2, #0 bl MOD16_021D8B48 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E19A4 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E1988 thumb_func_start MOD16_021E19A4 MOD16_021E19A4: ; 0x021E19A4 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r2, #4] add r4, r1, #0 bl MOD16_021D9FB8 cmp r0, #1 bne _021E19D2 add r0, r5, #0 mov r1, #1 bl MOD16_021E19EC cmp r0, #0 beq _021E19C8 ldr r0, [r4, #0x18] ldr r1, [r5] bl MOD16_021D8B48 _021E19C8: add r0, r5, #0 add r1, r4, #0 bl MOD16_021E19DC pop {r3, r4, r5, pc} _021E19D2: add r0, r5, #0 mov r1, #0 bl MOD16_021E19EC pop {r3, r4, r5, pc} thumb_func_end MOD16_021E19A4 thumb_func_start MOD16_021E19DC MOD16_021E19DC: ; 0x021E19DC ldr r3, _021E19E8 ; =MOD16_021D8AD4 add r2, r0, #0 ldr r0, [r1, #0x18] ldr r1, [r2] bx r3 nop _021E19E8: .word MOD16_021D8AD4 thumb_func_end MOD16_021E19DC thumb_func_start MOD16_021E19EC MOD16_021E19EC: ; 0x021E19EC push {r3, r4, r5, lr} ldr r4, [r0] mov r0, #0x79 lsl r0, r0, #2 add r0, r4, r0 add r5, r1, #0 bl MOD16_021D8B30 cmp r5, r0 beq _021E1A10 mov r0, #0x79 lsl r0, r0, #2 add r0, r4, r0 add r1, r5, #0 bl MOD16_021D8B14 mov r0, #1 pop {r3, r4, r5, pc} _021E1A10: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E19EC thumb_func_start MOD16_021E1A14 MOD16_021E1A14: ; 0x021E1A14 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E1AD4 ; =0x00003EFD add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x7d mov r3, #1 bl FUN_020091E0 add r1, r5, #0 add r1, #0xe4 str r0, [r1] add r0, r5, #0 add r0, #0xe4 ldr r0, [r0] bl FUN_02009B04 add r0, r5, #0 add r0, #0xe4 ldr r0, [r0] bl FUN_02009474 ldr r0, _021E1AD8 ; =0x00003E83 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #6 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #3 mov r3, #0 bl FUN_02009298 add r1, r5, #0 add r1, #0xe8 str r0, [r1] add r0, r5, #0 add r0, #0xe8 ldr r0, [r0] bl FUN_02009D68 add r0, r5, #0 add r0, #0xe8 ldr r0, [r0] bl FUN_02009474 ldr r0, _021E1ADC ; =0x00003EFE add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x7e mov r3, #1 bl FUN_02009358 add r1, r5, #0 add r1, #0xec str r0, [r1] ldr r0, _021E1AE0 ; =0x00003EFC add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x7c mov r3, #1 bl FUN_02009358 add r5, #0xf0 str r0, [r5] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E1AD4: .word 0x00003EFD _021E1AD8: .word 0x00003E83 _021E1ADC: .word 0x00003EFE _021E1AE0: .word 0x00003EFC thumb_func_end MOD16_021E1A14 thumb_func_start MOD16_021E1AE4 MOD16_021E1AE4: ; 0x021E1AE4 push {r3, r4, r5, lr} add r5, r0, #0 add r0, #0xe4 ldr r0, [r0] ldr r4, [r1] bl FUN_02009C0C add r0, r5, #0 add r0, #0xe8 ldr r0, [r0] bl FUN_02009E04 mov r0, #5 add r1, r5, #0 lsl r0, r0, #6 add r1, #0xe4 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x51 add r1, r5, #0 lsl r0, r0, #2 add r1, #0xe8 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x52 add r1, r5, #0 lsl r0, r0, #2 add r1, #0xec ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 add r5, #0xf0 ldr r0, [r4, r0] ldr r1, [r5] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E1AE4 thumb_func_start MOD16_021E1B3C MOD16_021E1B3C: ; 0x021E1B3C push {r4, r5, r6, r7, lr} sub sp, #0xc ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 mov r0, #0x3f lsl r0, r0, #8 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x80 mov r3, #1 bl FUN_020091E0 add r1, r5, #0 add r1, #0xf4 str r0, [r1] add r0, r5, #0 add r0, #0xf4 ldr r0, [r0] bl FUN_02009B04 add r0, r5, #0 add r0, #0xf4 ldr r0, [r0] bl FUN_02009474 ldr r0, _021E1BC8 ; =0x00003F01 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x81 mov r3, #1 bl FUN_02009358 add r1, r5, #0 add r1, #0xfc str r0, [r1] ldr r0, _021E1BCC ; =0x00003EFF add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x7f mov r3, #1 bl FUN_02009358 mov r1, #1 lsl r1, r1, #8 str r0, [r5, r1] add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _021E1BC8: .word 0x00003F01 _021E1BCC: .word 0x00003EFF thumb_func_end MOD16_021E1B3C thumb_func_start MOD16_021E1BD0 MOD16_021E1BD0: ; 0x021E1BD0 push {r3, r4, r5, lr} add r5, r0, #0 add r0, #0xf4 ldr r0, [r0] ldr r4, [r1] bl FUN_02009C0C mov r0, #5 add r1, r5, #0 lsl r0, r0, #6 add r1, #0xf4 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x52 add r1, r5, #0 lsl r0, r0, #2 add r1, #0xfc ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r1, #0x53 lsl r1, r1, #2 ldr r0, [r4, r1] sub r1, #0x4c ldr r1, [r5, r1] bl FUN_02009490 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E1BD0 thumb_func_start MOD16_021E1C10 MOD16_021E1C10: ; 0x021E1C10 push {r4, r5, r6, lr} sub sp, #0x70 ldr r4, [r1] ldr r3, _021E1C90 ; =0x00003EFC add r5, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #5 str r1, [sp, #0x10] lsl r0, r0, #6 add r6, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r2, #0x79 add r3, r3, #2 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] add r1, sp, #0x2c str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x20 str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] add r0, r5, #0 str r6, [sp, #0x48] bl MOD16_021E1D60 mov r3, #0x41 lsl r3, r3, #2 ldr r2, [r5, r3] add r3, r3, #4 ldr r3, [r5, r3] add r0, r5, #0 add r1, sp, #0x2c bl MOD16_021E1D24 add sp, #0x70 pop {r4, r5, r6, pc} nop _021E1C90: .word 0x00003EFC thumb_func_end MOD16_021E1C10 thumb_func_start MOD16_021E1C94 MOD16_021E1C94: ; 0x021E1C94 push {r4, lr} add r4, r0, #0 bl MOD16_021E1E14 add r0, r4, #0 bl MOD16_021E1E2C pop {r4, pc} thumb_func_end MOD16_021E1C94 thumb_func_start MOD16_021E1CA4 MOD16_021E1CA4: ; 0x021E1CA4 push {r4, r5, r6, lr} sub sp, #0x70 ldr r4, [r1] ldr r3, _021E1D20 ; =0x00003EFC add r5, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #5 str r1, [sp, #0x10] lsl r0, r0, #6 add r6, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r2, #0x79 add r3, r3, #2 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x20 str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] add r0, r5, #0 str r6, [sp, #0x48] bl MOD16_021E1E2C mov r3, #0x41 lsl r3, r3, #2 ldr r2, [r5, r3] add r3, r3, #4 ldr r3, [r5, r3] add r0, r5, #0 add r1, sp, #0x2c bl MOD16_021E1D24 add sp, #0x70 pop {r4, r5, r6, pc} .align 2, 0 _021E1D20: .word 0x00003EFC thumb_func_end MOD16_021E1CA4 thumb_func_start MOD16_021E1D24 MOD16_021E1D24: ; 0x021E1D24 push {r3, lr} cmp r2, #3 bhi _021E1D5E add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _021E1D36: ; jump table .short _021E1D3E - _021E1D36 - 2 ; case 0 .short _021E1D44 - _021E1D36 - 2 ; case 1 .short _021E1D4A - _021E1D36 - 2 ; case 2 .short _021E1D5A - _021E1D36 - 2 ; case 3 _021E1D3E: bl MOD16_021E1E4C pop {r3, pc} _021E1D44: bl MOD16_021E1EBC pop {r3, pc} _021E1D4A: cmp r3, #0 bne _021E1D54 bl MOD16_021E1F2C pop {r3, pc} _021E1D54: bl MOD16_021E1FC0 pop {r3, pc} _021E1D5A: bl MOD16_021E207C _021E1D5E: pop {r3, pc} thumb_func_end MOD16_021E1D24 thumb_func_start MOD16_021E1D60 MOD16_021E1D60: ; 0x021E1D60 push {r3, r4, r5, r6, r7, lr} mov r7, #0xe add r6, r0, #0 add r4, r1, #0 mov r5, #0 lsl r7, r7, #0x10 _021E1D6C: cmp r5, #5 bhi _021E1DCA add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1D7C: ; jump table .short _021E1D88 - _021E1D7C - 2 ; case 0 .short _021E1D96 - _021E1D7C - 2 ; case 1 .short _021E1DA0 - _021E1D7C - 2 ; case 2 .short _021E1DAA - _021E1D7C - 2 ; case 3 .short _021E1DB4 - _021E1D7C - 2 ; case 4 .short _021E1DBE - _021E1D7C - 2 ; case 5 _021E1D88: mov r0, #0xd lsl r0, r0, #0x10 str r0, [r4, #0xc] mov r0, #0x35 lsl r0, r0, #0xe str r0, [r4, #8] b _021E1DCA _021E1D96: mov r0, #0xf lsl r0, r0, #0x10 str r0, [r4, #0xc] str r7, [r4, #8] b _021E1DCA _021E1DA0: mov r0, #0x11 lsl r0, r0, #0x10 str r0, [r4, #0xc] str r7, [r4, #8] b _021E1DCA _021E1DAA: mov r0, #0x13 lsl r0, r0, #0x10 str r0, [r4, #0xc] str r7, [r4, #8] b _021E1DCA _021E1DB4: mov r0, #0x15 lsl r0, r0, #0x10 str r0, [r4, #0xc] str r7, [r4, #8] b _021E1DCA _021E1DBE: mov r0, #0x17 lsl r0, r0, #0x10 str r0, [r4, #0xc] mov r0, #0x35 lsl r0, r0, #0xe str r0, [r4, #8] _021E1DCA: add r0, r4, #0 bl FUN_0201FF84 str r0, [r6] cmp r5, #5 bhi _021E1E0A add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E1DE2: ; jump table .short _021E1DEE - _021E1DE2 - 2 ; case 0 .short _021E1DF8 - _021E1DE2 - 2 ; case 1 .short _021E1DF8 - _021E1DE2 - 2 ; case 2 .short _021E1DF8 - _021E1DE2 - 2 ; case 3 .short _021E1DF8 - _021E1DE2 - 2 ; case 4 .short _021E1E02 - _021E1DE2 - 2 ; case 5 _021E1DEE: ldr r0, [r6] mov r1, #3 bl FUN_02020130 b _021E1E0A _021E1DF8: ldr r0, [r6] mov r1, #2 bl FUN_02020130 b _021E1E0A _021E1E02: ldr r0, [r6] mov r1, #1 bl FUN_02020130 _021E1E0A: add r5, r5, #1 add r6, r6, #4 cmp r5, #6 blt _021E1D6C pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E1D60 thumb_func_start MOD16_021E1E14 MOD16_021E1E14: ; 0x021E1E14 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021E1E1A: ldr r0, [r5] bl FUN_0201FFC8 add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blt _021E1E1A pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E1E14 thumb_func_start MOD16_021E1E2C MOD16_021E1E2C: ; 0x021E1E2C push {r4, r5, r6, lr} mov r4, #0 add r5, r0, #0 add r6, r4, #0 _021E1E34: ldr r0, [r5, #0x30] cmp r0, #0 beq _021E1E40 bl FUN_0201FFC8 str r6, [r5, #0x30] _021E1E40: add r4, r4, #1 add r5, r5, #4 cmp r4, #0xf blt _021E1E34 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E1E2C thumb_func_start MOD16_021E1E4C MOD16_021E1E4C: ; 0x021E1E4C push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp] mov r0, #0 str r0, [sp, #0x10] mov r0, #0x30 add r6, r1, #0 str r0, [sp, #8] ldr r0, [sp, #0x10] add r7, r6, #0 str r0, [sp, #4] add r7, #8 _021E1E64: ldr r0, [sp, #8] mov r4, #0x30 lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [r6, #0xc] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #4] lsl r1, r0, #2 ldr r0, [sp] add r5, r0, r1 _021E1E7E: str r4, [r6, #8] ldr r0, [r7] lsl r0, r0, #0xc str r0, [r7] add r0, r6, #0 bl FUN_0201FF84 mov r1, #0 str r0, [r5, #0x30] bl FUN_02020130 ldr r0, [sp, #0xc] add r4, #0x50 add r0, r0, #1 add r5, r5, #4 str r0, [sp, #0xc] cmp r0, #2 blt _021E1E7E ldr r0, [sp, #8] add r0, #0x20 str r0, [sp, #8] ldr r0, [sp, #4] add r0, r0, #2 str r0, [sp, #4] ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #3 blt _021E1E64 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E1E4C thumb_func_start MOD16_021E1EBC MOD16_021E1EBC: ; 0x021E1EBC push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp] mov r0, #0 str r0, [sp, #0x10] mov r0, #0x10 add r6, r1, #0 str r0, [sp, #8] ldr r0, [sp, #0x10] add r7, r6, #0 str r0, [sp, #4] add r7, #8 _021E1ED4: ldr r0, [sp, #8] mov r4, #0x30 lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [r6, #0xc] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #4] lsl r1, r0, #2 ldr r0, [sp] add r5, r0, r1 _021E1EEE: str r4, [r6, #8] ldr r0, [r7] lsl r0, r0, #0xc str r0, [r7] add r0, r6, #0 bl FUN_0201FF84 mov r1, #0 str r0, [r5, #0x30] bl FUN_02020130 ldr r0, [sp, #0xc] add r4, #0x50 add r0, r0, #1 add r5, r5, #4 str r0, [sp, #0xc] cmp r0, #2 blt _021E1EEE ldr r0, [sp, #8] add r0, #0x20 str r0, [sp, #8] ldr r0, [sp, #4] add r0, r0, #2 str r0, [sp, #4] ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #5 blt _021E1ED4 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E1EBC thumb_func_start MOD16_021E1F2C MOD16_021E1F2C: ; 0x021E1F2C push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp] mov r0, #0 str r0, [sp, #0x10] mov r0, #0x10 add r6, r1, #0 str r0, [sp, #8] ldr r0, [sp, #0x10] add r7, r6, #0 str r0, [sp, #4] add r7, #8 _021E1F44: ldr r0, [sp, #8] mov r4, #0x30 lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [r6, #0xc] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #4] lsl r1, r0, #2 ldr r0, [sp] add r5, r0, r1 _021E1F5E: str r4, [r6, #8] ldr r0, [r7] lsl r0, r0, #0xc str r0, [r7] add r0, r6, #0 bl FUN_0201FF84 mov r1, #0 str r0, [r5, #0x30] bl FUN_02020130 ldr r0, [sp, #0xc] add r4, #0x50 add r0, r0, #1 add r5, r5, #4 str r0, [sp, #0xc] cmp r0, #2 blt _021E1F5E ldr r0, [sp, #8] add r0, #0x20 str r0, [sp, #8] ldr r0, [sp, #4] add r0, r0, #2 str r0, [sp, #4] ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #5 blt _021E1F44 mov r0, #0xb0 mov r2, #0x18 str r0, [r6, #0xc] lsl r0, r2, #0xc str r0, [r6, #8] ldr r0, [r6, #0xc] lsl r1, r0, #0xc lsl r0, r2, #0xf add r0, r1, r0 str r0, [r6, #0xc] add r0, r6, #0 bl FUN_0201FF84 ldr r1, [sp] str r0, [r1, #0x58] mov r1, #5 bl FUN_02020130 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E1F2C thumb_func_start MOD16_021E1FC0 MOD16_021E1FC0: ; 0x021E1FC0 push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp] mov r0, #0 str r0, [sp, #0x10] mov r0, #0x10 add r6, r1, #0 str r0, [sp, #8] ldr r0, [sp, #0x10] add r7, r6, #0 str r0, [sp, #4] add r7, #8 _021E1FD8: ldr r0, [sp, #8] mov r4, #0x30 lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [r6, #0xc] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #4] lsl r1, r0, #2 ldr r0, [sp] add r5, r0, r1 _021E1FF2: str r4, [r6, #8] ldr r0, [r7] lsl r0, r0, #0xc str r0, [r7] add r0, r6, #0 bl FUN_0201FF84 mov r1, #0 str r0, [r5, #0x30] bl FUN_02020130 ldr r0, [sp, #0xc] add r4, #0x50 add r0, r0, #1 add r5, r5, #4 str r0, [sp, #0xc] cmp r0, #2 blt _021E1FF2 ldr r0, [sp, #8] add r0, #0x20 str r0, [sp, #8] ldr r0, [sp, #4] add r0, r0, #2 str r0, [sp, #4] ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #4 blt _021E1FD8 mov r0, #0x90 str r0, [r6, #0xc] mov r0, #0x80 lsl r0, r0, #0xc str r0, [r6, #8] ldr r0, [r6, #0xc] lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [r6, #0xc] add r0, r6, #0 bl FUN_0201FF84 ldr r1, [sp] str r0, [r1, #0x50] mov r1, #0 bl FUN_02020130 mov r0, #0xb0 mov r2, #0x18 str r0, [r6, #0xc] lsl r0, r2, #0xc str r0, [r6, #8] ldr r0, [r6, #0xc] lsl r1, r0, #0xc lsl r0, r2, #0xf add r0, r1, r0 str r0, [r6, #0xc] add r0, r6, #0 bl FUN_0201FF84 ldr r1, [sp] str r0, [r1, #0x54] mov r1, #4 bl FUN_02020130 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E1FC0 thumb_func_start MOD16_021E207C MOD16_021E207C: ; 0x021E207C push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp] mov r0, #0 str r0, [sp, #0x10] mov r0, #0x10 add r6, r1, #0 str r0, [sp, #8] ldr r0, [sp, #0x10] add r7, r6, #0 str r0, [sp, #4] add r7, #8 _021E2094: ldr r0, [sp, #8] mov r4, #0x1c lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [r6, #0xc] mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #4] lsl r1, r0, #2 ldr r0, [sp] add r5, r0, r1 _021E20AE: str r4, [r6, #8] ldr r0, [r7] lsl r0, r0, #0xc str r0, [r7] add r0, r6, #0 bl FUN_0201FF84 mov r1, #6 str r0, [r5, #0x30] bl FUN_02020130 ldr r0, [sp, #0xc] add r4, #0x38 add r0, r0, #1 add r5, r5, #4 str r0, [sp, #0xc] cmp r0, #3 blt _021E20AE ldr r0, [sp, #8] add r0, #0x20 str r0, [sp, #8] ldr r0, [sp, #4] add r0, r0, #3 str r0, [sp, #4] ldr r0, [sp, #0x10] add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #5 blt _021E2094 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E207C thumb_func_start MOD16_021E20EC MOD16_021E20EC: ; 0x021E20EC push {r4, r5, r6, r7, lr} sub sp, #0x7c ldr r4, [r1] ldr r3, _021E22A4 ; =0x00003EFF str r0, [sp, #0x2c] mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #5 str r1, [sp, #0x10] lsl r0, r0, #6 add r5, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x58 sub r2, #0x7c add r3, r3, #2 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x38] add r0, sp, #0x58 str r0, [sp, #0x3c] mov r0, #0xf str r0, [sp, #0x4c] mov r0, #2 str r0, [sp, #0x50] mov r0, #0 str r0, [sp, #0x34] mov r0, #0x10 ldr r7, [sp, #0x34] str r5, [sp, #0x54] str r0, [sp, #0x30] _021E2156: ldr r0, [sp, #0x30] mov r6, #0 str r0, [sp, #0x44] lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 add r0, r1, r0 str r0, [sp, #0x44] ldr r0, [sp, #0x2c] lsl r1, r7, #2 mov r5, #0x1c add r4, r0, r1 _021E216E: str r5, [sp, #0x40] lsl r0, r5, #0xc str r0, [sp, #0x40] add r0, sp, #0x38 bl FUN_0201FF84 add r1, r4, #0 add r1, #0xa8 str r0, [r1] add r0, r6, r7 cmp r0, #0xe bhi _021E2280 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E2192: ; jump table .short _021E21B0 - _021E2192 - 2 ; case 0 .short _021E21BE - _021E2192 - 2 ; case 1 .short _021E21CC - _021E2192 - 2 ; case 2 .short _021E21DA - _021E2192 - 2 ; case 3 .short _021E21E8 - _021E2192 - 2 ; case 4 .short _021E21F6 - _021E2192 - 2 ; case 5 .short _021E2204 - _021E2192 - 2 ; case 6 .short _021E2212 - _021E2192 - 2 ; case 7 .short _021E2220 - _021E2192 - 2 ; case 8 .short _021E222E - _021E2192 - 2 ; case 9 .short _021E223C - _021E2192 - 2 ; case 10 .short _021E224A - _021E2192 - 2 ; case 11 .short _021E2258 - _021E2192 - 2 ; case 12 .short _021E2266 - _021E2192 - 2 ; case 13 .short _021E2274 - _021E2192 - 2 ; case 14 _021E21B0: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #0 bl FUN_02020130 b _021E2280 _021E21BE: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #5 bl FUN_02020130 b _021E2280 _021E21CC: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #0xa bl FUN_02020130 b _021E2280 _021E21DA: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #1 bl FUN_02020130 b _021E2280 _021E21E8: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #6 bl FUN_02020130 b _021E2280 _021E21F6: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #0xb bl FUN_02020130 b _021E2280 _021E2204: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #2 bl FUN_02020130 b _021E2280 _021E2212: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #9 bl FUN_02020130 b _021E2280 _021E2220: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #0xc bl FUN_02020130 b _021E2280 _021E222E: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #3 bl FUN_02020130 b _021E2280 _021E223C: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #8 bl FUN_02020130 b _021E2280 _021E224A: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #0xd bl FUN_02020130 b _021E2280 _021E2258: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #4 bl FUN_02020130 b _021E2280 _021E2266: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #7 bl FUN_02020130 b _021E2280 _021E2274: add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] mov r1, #0 bl FUN_020200A0 _021E2280: add r6, r6, #1 add r5, #0x38 add r4, r4, #4 cmp r6, #3 bge _021E228C b _021E216E _021E228C: ldr r0, [sp, #0x30] add r7, r7, #3 add r0, #0x20 str r0, [sp, #0x30] ldr r0, [sp, #0x34] add r0, r0, #1 str r0, [sp, #0x34] cmp r0, #5 bge _021E22A0 b _021E2156 _021E22A0: add sp, #0x7c pop {r4, r5, r6, r7, pc} .align 2, 0 _021E22A4: .word 0x00003EFF thumb_func_end MOD16_021E20EC thumb_func_start MOD16_021E22A8 MOD16_021E22A8: ; 0x021E22A8 push {r4, r5, r6, lr} mov r4, #0 add r5, r0, #0 add r6, r4, #0 _021E22B0: add r0, r5, #0 add r0, #0xa8 ldr r0, [r0] cmp r0, #0 beq _021E22C4 bl FUN_0201FFC8 add r0, r5, #0 add r0, #0xa8 str r6, [r0] _021E22C4: add r4, r4, #1 add r5, r5, #4 cmp r4, #0xf blt _021E22B0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E22A8 thumb_func_start MOD16_021E22D0 MOD16_021E22D0: ; 0x021E22D0 push {r3, r4, r5, r6, lr} sub sp, #0x2c add r5, r0, #0 ldr r4, [r1] mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, _021E2330 ; =0x00003E83 add r6, r2, #0 bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r4, r1] str r1, [sp, #4] mov r1, #0 bl FUN_02009E54 str r0, [sp, #0xc] mov r0, #0 mov r2, #0x15 str r0, [sp, #0x1c] str r0, [sp, #0x20] mov r0, #2 str r0, [sp, #0x24] str r6, [sp, #0x28] lsl r2, r2, #4 ldr r2, [r4, r2] add r0, r5, #0 add r1, sp, #4 bl MOD16_021E23D0 mov r3, #0x42 lsl r3, r3, #2 ldr r0, [r5, r3] add r2, r3, #0 str r0, [sp] add r2, #0x48 sub r3, r3, #4 ldr r2, [r4, r2] ldr r3, [r5, r3] add r0, r5, #0 add r1, sp, #4 bl MOD16_021E23A0 add sp, #0x2c pop {r3, r4, r5, r6, pc} nop _021E2330: .word 0x00003E83 thumb_func_end MOD16_021E22D0 thumb_func_start MOD16_021E2334 MOD16_021E2334: ; 0x021E2334 push {r4, lr} add r4, r0, #0 bl MOD16_021E2554 add r0, r4, #0 bl MOD16_021E2570 pop {r4, pc} thumb_func_end MOD16_021E2334 thumb_func_start MOD16_021E2344 MOD16_021E2344: ; 0x021E2344 push {r3, r4, r5, r6, lr} sub sp, #0x2c add r5, r0, #0 ldr r4, [r1] mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, _021E239C ; =0x00003E83 add r6, r2, #0 bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r4, r1] str r1, [sp, #4] mov r1, #0 bl FUN_02009E54 str r0, [sp, #0xc] mov r0, #0 str r0, [sp, #0x1c] str r0, [sp, #0x20] mov r0, #2 str r0, [sp, #0x24] add r0, r5, #0 str r6, [sp, #0x28] bl MOD16_021E2570 mov r3, #0x42 lsl r3, r3, #2 ldr r0, [r5, r3] add r2, r3, #0 str r0, [sp] add r2, #0x48 sub r3, r3, #4 ldr r2, [r4, r2] ldr r3, [r5, r3] add r0, r5, #0 add r1, sp, #4 bl MOD16_021E23A0 add sp, #0x2c pop {r3, r4, r5, r6, pc} nop _021E239C: .word 0x00003E83 thumb_func_end MOD16_021E2344 thumb_func_start MOD16_021E23A0 MOD16_021E23A0: ; 0x021E23A0 push {r3, lr} cmp r3, #0 beq _021E23B0 cmp r3, #1 beq _021E23B6 cmp r3, #2 beq _021E23BC pop {r3, pc} _021E23B0: bl MOD16_021E2590 pop {r3, pc} _021E23B6: bl MOD16_021E2634 pop {r3, pc} _021E23BC: ldr r3, [sp, #8] cmp r3, #0 bne _021E23C8 bl MOD16_021E26F0 pop {r3, pc} _021E23C8: bl MOD16_021E27AC pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E23A0 thumb_func_start MOD16_021E23D0 MOD16_021E23D0: ; 0x021E23D0 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #8] add r6, r2, #0 mov r1, #2 bl FUN_0201E28C add r7, r0, #0 add r0, r6, #0 mov r1, #8 mov r2, #2 bl MOD16_021DB388 str r0, [sp, #8] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r1, [sp, #8] ldr r2, _021E2550 ; =0x00000266 add r0, r6, #0 mov r3, #0x32 bl MOD16_021DB3C8 ldr r1, [sp, #8] neg r0, r0 str r1, [r4, #4] ldr r1, [r5, #4] lsr r0, r0, #1 str r1, [r4, #0xc] str r0, [r4, #0x10] mov r0, #5 mvn r0, r0 str r0, [r4, #0x14] add r0, r4, #0 bl MOD16_021DB2BC str r0, [r5, #0x1c] ldr r0, [r0] add r1, r7, #3 bl FUN_02011A60 ldr r0, [sp, #8] bl MOD16_021DB3BC add r0, r6, #0 mov r1, #8 mov r2, #2 bl MOD16_021DB388 str r0, [sp, #0xc] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r1, [sp, #0xc] ldr r2, _021E2550 ; =0x00000266 add r0, r6, #0 mov r3, #0x2f bl MOD16_021DB3C8 ldr r1, [sp, #0xc] neg r0, r0 str r1, [r4, #4] ldr r1, [r5, #8] lsr r0, r0, #1 str r1, [r4, #0xc] str r0, [r4, #0x10] mov r0, #5 mvn r0, r0 str r0, [r4, #0x14] add r0, r4, #0 bl MOD16_021DB2BC str r0, [r5, #0x20] ldr r0, [r0] add r1, r7, #3 bl FUN_02011A60 ldr r0, [sp, #0xc] bl MOD16_021DB3BC add r0, r6, #0 mov r1, #8 mov r2, #2 bl MOD16_021DB388 str r0, [sp, #0x10] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r1, [sp, #0x10] ldr r2, _021E2550 ; =0x00000266 add r0, r6, #0 mov r3, #0x30 bl MOD16_021DB3C8 ldr r1, [sp, #0x10] neg r0, r0 str r1, [r4, #4] ldr r1, [r5, #0xc] lsr r0, r0, #1 str r1, [r4, #0xc] str r0, [r4, #0x10] mov r0, #5 mvn r0, r0 str r0, [r4, #0x14] add r0, r4, #0 bl MOD16_021DB2BC str r0, [r5, #0x24] ldr r0, [r0] add r1, r7, #3 bl FUN_02011A60 ldr r0, [sp, #0x10] bl MOD16_021DB3BC add r0, r6, #0 mov r1, #8 mov r2, #2 bl MOD16_021DB388 str r0, [sp, #0x14] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r1, [sp, #0x14] ldr r2, _021E2550 ; =0x00000266 add r0, r6, #0 mov r3, #0x31 bl MOD16_021DB3C8 ldr r1, [sp, #0x14] neg r0, r0 str r1, [r4, #4] ldr r1, [r5, #0x10] lsr r0, r0, #1 str r1, [r4, #0xc] str r0, [r4, #0x10] mov r0, #5 mvn r0, r0 str r0, [r4, #0x14] add r0, r4, #0 bl MOD16_021DB2BC str r0, [r5, #0x28] ldr r0, [r0] add r1, r7, #3 bl FUN_02011A60 ldr r0, [sp, #0x14] bl MOD16_021DB3BC add r0, r6, #0 mov r1, #8 mov r2, #2 bl MOD16_021DB388 str r0, [sp, #0x18] mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r1, [sp, #0x18] ldr r2, _021E2550 ; =0x00000266 add r0, r6, #0 mov r3, #0x33 bl MOD16_021DB3C8 ldr r1, [sp, #0x18] neg r0, r0 str r1, [r4, #4] ldr r1, [r5, #0x14] lsr r0, r0, #1 str r1, [r4, #0xc] str r0, [r4, #0x10] mov r0, #5 mvn r0, r0 str r0, [r4, #0x14] add r0, r4, #0 bl MOD16_021DB2BC str r0, [r5, #0x2c] ldr r0, [r0] add r1, r7, #1 bl FUN_02011A60 ldr r0, [sp, #0x18] bl MOD16_021DB3BC add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 _021E2550: .word 0x00000266 thumb_func_end MOD16_021E23D0 thumb_func_start MOD16_021E2554 MOD16_021E2554: ; 0x021E2554 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021E255A: ldr r0, [r5, #0x18] cmp r0, #0 beq _021E2564 bl MOD16_021DB338 _021E2564: add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blt _021E255A pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E2554 thumb_func_start MOD16_021E2570 MOD16_021E2570: ; 0x021E2570 push {r4, r5, r6, lr} mov r4, #0 add r5, r0, #0 add r6, r4, #0 _021E2578: ldr r0, [r5, #0x6c] cmp r0, #0 beq _021E2584 bl MOD16_021DB338 str r6, [r5, #0x6c] _021E2584: add r4, r4, #1 add r5, r5, #4 cmp r4, #0xf blt _021E2578 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E2570 thumb_func_start MOD16_021E2590 MOD16_021E2590: ; 0x021E2590 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r0, r1, #0 str r1, [sp, #8] ldr r0, [r0, #8] mov r1, #2 str r2, [sp, #0xc] bl FUN_0201E28C str r0, [sp, #0x10] add r0, #0xb mov r5, #0 str r0, [sp, #0x10] _021E25AC: ldr r0, [sp, #0xc] mov r1, #0xa mov r2, #2 bl MOD16_021DB388 add r7, r0, #0 cmp r5, #5 bhi _021E25EA add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E25C8: ; jump table .short _021E25D4 - _021E25C8 - 2 ; case 0 .short _021E25D8 - _021E25C8 - 2 ; case 1 .short _021E25DC - _021E25C8 - 2 ; case 2 .short _021E25E0 - _021E25C8 - 2 ; case 3 .short _021E25E4 - _021E25C8 - 2 ; case 4 .short _021E25E8 - _021E25C8 - 2 ; case 5 _021E25D4: mov r4, #0x51 b _021E25EA _021E25D8: mov r4, #0x52 b _021E25EA _021E25DC: mov r4, #0x53 b _021E25EA _021E25E0: mov r4, #0x54 b _021E25EA _021E25E4: mov r4, #0x55 b _021E25EA _021E25E8: mov r4, #0x56 _021E25EA: mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, [sp, #0xc] ldr r2, _021E2630 ; =0x00000266 add r1, r7, #0 add r3, r4, #0 bl MOD16_021DB3C8 neg r0, r0 lsr r1, r0, #1 ldr r0, [sp, #8] str r1, [r0, #0x10] str r7, [r0, #4] ldr r1, [r6, #0x30] str r1, [r0, #0xc] mov r1, #5 mvn r1, r1 str r1, [r0, #0x14] bl MOD16_021DB2BC str r0, [r6, #0x6c] ldr r0, [r0] ldr r1, [sp, #0x10] bl FUN_02011A60 add r0, r7, #0 bl MOD16_021DB3BC add r5, r5, #1 add r6, r6, #4 cmp r5, #6 blt _021E25AC add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021E2630: .word 0x00000266 thumb_func_end MOD16_021E2590 thumb_func_start MOD16_021E2634 MOD16_021E2634: ; 0x021E2634 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r0, r1, #0 str r1, [sp, #8] ldr r0, [r0, #8] mov r1, #2 str r2, [sp, #0xc] bl FUN_0201E28C str r0, [sp, #0x10] add r0, #0xb mov r5, #0 str r0, [sp, #0x10] _021E2650: ldr r0, [sp, #0xc] mov r1, #0xa mov r2, #2 bl MOD16_021DB388 add r7, r0, #0 cmp r5, #9 bhi _021E26A6 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E266C: ; jump table .short _021E2680 - _021E266C - 2 ; case 0 .short _021E2684 - _021E266C - 2 ; case 1 .short _021E2688 - _021E266C - 2 ; case 2 .short _021E268C - _021E266C - 2 ; case 3 .short _021E2690 - _021E266C - 2 ; case 4 .short _021E2694 - _021E266C - 2 ; case 5 .short _021E2698 - _021E266C - 2 ; case 6 .short _021E269C - _021E266C - 2 ; case 7 .short _021E26A0 - _021E266C - 2 ; case 8 .short _021E26A4 - _021E266C - 2 ; case 9 _021E2680: mov r4, #0x36 b _021E26A6 _021E2684: mov r4, #0x37 b _021E26A6 _021E2688: mov r4, #0x38 b _021E26A6 _021E268C: mov r4, #0x39 b _021E26A6 _021E2690: mov r4, #0x3a b _021E26A6 _021E2694: mov r4, #0x3b b _021E26A6 _021E2698: mov r4, #0x3c b _021E26A6 _021E269C: mov r4, #0x3d b _021E26A6 _021E26A0: mov r4, #0x3e b _021E26A6 _021E26A4: mov r4, #0x73 _021E26A6: mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, [sp, #0xc] ldr r2, _021E26EC ; =0x00000266 add r1, r7, #0 add r3, r4, #0 bl MOD16_021DB3C8 neg r0, r0 lsr r1, r0, #1 ldr r0, [sp, #8] str r1, [r0, #0x10] str r7, [r0, #4] ldr r1, [r6, #0x30] str r1, [r0, #0xc] mov r1, #5 mvn r1, r1 str r1, [r0, #0x14] bl MOD16_021DB2BC str r0, [r6, #0x6c] ldr r0, [r0] ldr r1, [sp, #0x10] bl FUN_02011A60 add r0, r7, #0 bl MOD16_021DB3BC add r5, r5, #1 add r6, r6, #4 cmp r5, #0xa blt _021E2650 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021E26EC: .word 0x00000266 thumb_func_end MOD16_021E2634 thumb_func_start MOD16_021E26F0 MOD16_021E26F0: ; 0x021E26F0 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r0, r1, #0 str r1, [sp, #8] ldr r0, [r0, #8] mov r1, #2 str r2, [sp, #0xc] bl FUN_0201E28C str r0, [sp, #0x10] add r0, #0xb mov r5, #0 str r0, [sp, #0x10] _021E270C: ldr r0, [sp, #0xc] mov r1, #0xa mov r2, #2 bl MOD16_021DB388 add r7, r0, #0 cmp r5, #9 bhi _021E2762 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E2728: ; jump table .short _021E273C - _021E2728 - 2 ; case 0 .short _021E2740 - _021E2728 - 2 ; case 1 .short _021E2744 - _021E2728 - 2 ; case 2 .short _021E2748 - _021E2728 - 2 ; case 3 .short _021E274C - _021E2728 - 2 ; case 4 .short _021E2750 - _021E2728 - 2 ; case 5 .short _021E2754 - _021E2728 - 2 ; case 6 .short _021E2758 - _021E2728 - 2 ; case 7 .short _021E275C - _021E2728 - 2 ; case 8 .short _021E2760 - _021E2728 - 2 ; case 9 _021E273C: mov r4, #0x40 b _021E2762 _021E2740: mov r4, #0x46 b _021E2762 _021E2744: mov r4, #0x49 b _021E2762 _021E2748: mov r4, #0x47 b _021E2762 _021E274C: mov r4, #0x48 b _021E2762 _021E2750: mov r4, #0x4c b _021E2762 _021E2754: mov r4, #0x4b b _021E2762 _021E2758: mov r4, #0x4d b _021E2762 _021E275C: mov r4, #0x50 b _021E2762 _021E2760: mov r4, #0x74 _021E2762: mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, [sp, #0xc] ldr r2, _021E27A8 ; =0x00000266 add r1, r7, #0 add r3, r4, #0 bl MOD16_021DB3C8 neg r0, r0 lsr r1, r0, #1 ldr r0, [sp, #8] str r1, [r0, #0x10] str r7, [r0, #4] ldr r1, [r6, #0x30] str r1, [r0, #0xc] mov r1, #5 mvn r1, r1 str r1, [r0, #0x14] bl MOD16_021DB2BC str r0, [r6, #0x6c] ldr r0, [r0] ldr r1, [sp, #0x10] bl FUN_02011A60 add r0, r7, #0 bl MOD16_021DB3BC add r5, r5, #1 add r6, r6, #4 cmp r5, #0xa blt _021E270C add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021E27A8: .word 0x00000266 thumb_func_end MOD16_021E26F0 thumb_func_start MOD16_021E27AC MOD16_021E27AC: ; 0x021E27AC push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r0, r1, #0 str r1, [sp, #8] ldr r0, [r0, #8] mov r1, #2 str r2, [sp, #0xc] bl FUN_0201E28C str r0, [sp, #0x10] add r0, #0xb mov r5, #0 str r0, [sp, #0x10] _021E27C8: ldr r0, [sp, #0xc] mov r1, #0xa mov r2, #2 bl MOD16_021DB388 add r7, r0, #0 cmp r5, #8 bhi _021E2818 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E27E4: ; jump table .short _021E27F6 - _021E27E4 - 2 ; case 0 .short _021E27FA - _021E27E4 - 2 ; case 1 .short _021E27FE - _021E27E4 - 2 ; case 2 .short _021E2802 - _021E27E4 - 2 ; case 3 .short _021E2806 - _021E27E4 - 2 ; case 4 .short _021E280A - _021E27E4 - 2 ; case 5 .short _021E280E - _021E27E4 - 2 ; case 6 .short _021E2812 - _021E27E4 - 2 ; case 7 .short _021E2816 - _021E27E4 - 2 ; case 8 _021E27F6: mov r4, #0x41 b _021E2818 _021E27FA: mov r4, #0x42 b _021E2818 _021E27FE: mov r4, #0x44 b _021E2818 _021E2802: mov r4, #0x43 b _021E2818 _021E2806: mov r4, #0x4a b _021E2818 _021E280A: mov r4, #0x45 b _021E2818 _021E280E: mov r4, #0x4e b _021E2818 _021E2812: mov r4, #0x4f b _021E2818 _021E2816: mov r4, #0x74 _021E2818: mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, [sp, #0xc] ldr r2, _021E2860 ; =0x00000266 add r1, r7, #0 add r3, r4, #0 bl MOD16_021DB3C8 neg r0, r0 lsr r1, r0, #1 ldr r0, [sp, #8] str r1, [r0, #0x10] str r7, [r0, #4] ldr r1, [r6, #0x30] str r1, [r0, #0xc] mov r1, #5 mvn r1, r1 str r1, [r0, #0x14] bl MOD16_021DB2BC str r0, [r6, #0x6c] ldr r0, [r0] ldr r1, [sp, #0x10] bl FUN_02011A60 add r0, r7, #0 bl MOD16_021DB3BC add r5, r5, #1 add r6, r6, #4 cmp r5, #9 blt _021E27C8 add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _021E2860: .word 0x00000266 thumb_func_end MOD16_021E27AC thumb_func_start MOD16_021E2864 MOD16_021E2864: ; 0x021E2864 ldr r1, _021E286C ; =0x0000FFFF add r0, #0x84 str r1, [r0] bx lr .align 2, 0 _021E286C: .word 0x0000FFFF thumb_func_end MOD16_021E2864 thumb_func_start MOD16_021E2870 MOD16_021E2870: ; 0x021E2870 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E28C4 ldr r2, [r5, #0x24] ldr r3, [r5, #0x28] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E2888 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E2870 thumb_func_start MOD16_021E2888 MOD16_021E2888: ; 0x021E2888 push {r3, lr} cmp r2, #3 bhi _021E28C2 add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _021E289A: ; jump table .short _021E28A2 - _021E289A - 2 ; case 0 .short _021E28A8 - _021E289A - 2 ; case 1 .short _021E28AE - _021E289A - 2 ; case 2 .short _021E28BE - _021E289A - 2 ; case 3 _021E28A2: bl MOD16_021E2994 pop {r3, pc} _021E28A8: bl MOD16_021E2A00 pop {r3, pc} _021E28AE: cmp r3, #0 bne _021E28B8 bl MOD16_021E2A84 pop {r3, pc} _021E28B8: bl MOD16_021E2B08 pop {r3, pc} _021E28BE: bl MOD16_021E2C28 _021E28C2: pop {r3, pc} thumb_func_end MOD16_021E2888 thumb_func_start MOD16_021E28C4 MOD16_021E28C4: ; 0x021E28C4 push {r3, r4, r5, lr} add r5, r0, #0 add r0, #0x80 ldr r0, [r0] add r4, r1, #0 cmp r0, #5 bhi _021E2982 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E28DE: ; jump table .short _021E28EA - _021E28DE - 2 ; case 0 .short _021E28FA - _021E28DE - 2 ; case 1 .short _021E2914 - _021E28DE - 2 ; case 2 .short _021E292E - _021E28DE - 2 ; case 3 .short _021E2950 - _021E28DE - 2 ; case 4 .short _021E296A - _021E28DE - 2 ; case 5 _021E28EA: ldr r0, [r4, #8] mov r1, #0 bl MOD16_021DEC40 ldr r0, _021E298C ; =0x000005DD bl FUN_020054C8 b _021E2982 _021E28FA: ldr r0, [r4, #8] bl MOD16_021DEBB8 cmp r0, #0 beq _021E2982 ldr r0, [r4, #8] mov r1, #0 bl MOD16_021DEBA4 ldr r0, _021E298C ; =0x000005DD bl FUN_020054C8 b _021E2982 _021E2914: ldr r0, [r4, #8] bl MOD16_021DEBB8 cmp r0, #1 beq _021E2982 ldr r0, [r4, #8] mov r1, #1 bl MOD16_021DEBA4 ldr r0, _021E298C ; =0x000005DD bl FUN_020054C8 b _021E2982 _021E292E: ldr r0, [r4, #8] bl MOD16_021DEBB8 cmp r0, #2 beq _021E2982 ldr r0, [r4, #8] mov r1, #2 bl MOD16_021DEBA4 ldr r0, _021E298C ; =0x000005DD bl FUN_020054C8 add r0, r5, #0 mov r1, #0 add r0, #0x88 str r1, [r0] b _021E2982 _021E2950: ldr r0, [r4, #8] bl MOD16_021DEBB8 cmp r0, #3 beq _021E2982 ldr r0, [r4, #8] mov r1, #3 bl MOD16_021DEBA4 ldr r0, _021E298C ; =0x000005DD bl FUN_020054C8 b _021E2982 _021E296A: add r0, r5, #0 add r0, #0x94 ldr r0, [r0] cmp r0, #1 bgt _021E2982 ldr r0, [r4, #8] mov r1, #1 bl MOD16_021DEC40 ldr r0, _021E298C ; =0x000005DD bl FUN_020054C8 _021E2982: ldr r0, _021E2990 ; =0x0000FFFF add r5, #0x80 str r0, [r5] pop {r3, r4, r5, pc} nop _021E298C: .word 0x000005DD _021E2990: .word 0x0000FFFF thumb_func_end MOD16_021E28C4 thumb_func_start MOD16_021E2994 MOD16_021E2994: ; 0x021E2994 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0x84 ldr r0, [r0] add r6, r1, #0 mov r4, #0x64 cmp r0, #5 bhi _021E29D2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E29B0: ; jump table .short _021E29BC - _021E29B0 - 2 ; case 0 .short _021E29C0 - _021E29B0 - 2 ; case 1 .short _021E29C4 - _021E29B0 - 2 ; case 2 .short _021E29C8 - _021E29B0 - 2 ; case 3 .short _021E29CC - _021E29B0 - 2 ; case 4 .short _021E29D0 - _021E29B0 - 2 ; case 5 _021E29BC: mov r4, #0 b _021E29D2 _021E29C0: mov r4, #1 b _021E29D2 _021E29C4: mov r4, #2 b _021E29D2 _021E29C8: mov r4, #3 b _021E29D2 _021E29CC: mov r4, #4 b _021E29D2 _021E29D0: mov r4, #5 _021E29D2: cmp r4, #0x64 beq _021E29EE ldr r0, [r6, #8] bl MOD16_021DEBD4 cmp r4, r0 beq _021E29EE ldr r0, _021E29F8 ; =0x000005DD bl FUN_020054C8 ldr r0, [r6, #8] add r1, r4, #0 bl MOD16_021DEBC0 _021E29EE: ldr r0, _021E29FC ; =0x0000FFFF add r5, #0x84 str r0, [r5] pop {r4, r5, r6, pc} nop _021E29F8: .word 0x000005DD _021E29FC: .word 0x0000FFFF thumb_func_end MOD16_021E2994 thumb_func_start MOD16_021E2A00 MOD16_021E2A00: ; 0x021E2A00 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0x84 ldr r0, [r0] add r6, r1, #0 mov r4, #0x64 cmp r0, #9 bhi _021E2A56 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E2A1C: ; jump table .short _021E2A30 - _021E2A1C - 2 ; case 0 .short _021E2A34 - _021E2A1C - 2 ; case 1 .short _021E2A38 - _021E2A1C - 2 ; case 2 .short _021E2A3C - _021E2A1C - 2 ; case 3 .short _021E2A40 - _021E2A1C - 2 ; case 4 .short _021E2A44 - _021E2A1C - 2 ; case 5 .short _021E2A48 - _021E2A1C - 2 ; case 6 .short _021E2A4C - _021E2A1C - 2 ; case 7 .short _021E2A50 - _021E2A1C - 2 ; case 8 .short _021E2A54 - _021E2A1C - 2 ; case 9 _021E2A30: mov r4, #1 b _021E2A56 _021E2A34: mov r4, #2 b _021E2A56 _021E2A38: mov r4, #3 b _021E2A56 _021E2A3C: mov r4, #4 b _021E2A56 _021E2A40: mov r4, #5 b _021E2A56 _021E2A44: mov r4, #6 b _021E2A56 _021E2A48: mov r4, #7 b _021E2A56 _021E2A4C: mov r4, #8 b _021E2A56 _021E2A50: mov r4, #9 b _021E2A56 _021E2A54: mov r4, #0 _021E2A56: cmp r4, #0x64 beq _021E2A72 ldr r0, [r6, #8] bl MOD16_021DEBF0 cmp r4, r0 beq _021E2A72 ldr r0, _021E2A7C ; =0x000005DD bl FUN_020054C8 ldr r0, [r6, #8] add r1, r4, #0 bl MOD16_021DEBDC _021E2A72: ldr r0, _021E2A80 ; =0x0000FFFF add r5, #0x84 str r0, [r5] pop {r4, r5, r6, pc} nop _021E2A7C: .word 0x000005DD _021E2A80: .word 0x0000FFFF thumb_func_end MOD16_021E2A00 thumb_func_start MOD16_021E2A84 MOD16_021E2A84: ; 0x021E2A84 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0x84 ldr r0, [r0] add r6, r1, #0 mov r4, #0x64 cmp r0, #0xa bhi _021E2AE8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E2AA0: ; jump table .short _021E2AB6 - _021E2AA0 - 2 ; case 0 .short _021E2ABA - _021E2AA0 - 2 ; case 1 .short _021E2ABE - _021E2AA0 - 2 ; case 2 .short _021E2AC2 - _021E2AA0 - 2 ; case 3 .short _021E2AC6 - _021E2AA0 - 2 ; case 4 .short _021E2ACA - _021E2AA0 - 2 ; case 5 .short _021E2ACE - _021E2AA0 - 2 ; case 6 .short _021E2AD2 - _021E2AA0 - 2 ; case 7 .short _021E2AD6 - _021E2AA0 - 2 ; case 8 .short _021E2ADA - _021E2AA0 - 2 ; case 9 .short _021E2ADE - _021E2AA0 - 2 ; case 10 _021E2AB6: mov r4, #1 b _021E2AE8 _021E2ABA: mov r4, #2 b _021E2AE8 _021E2ABE: mov r4, #3 b _021E2AE8 _021E2AC2: mov r4, #4 b _021E2AE8 _021E2AC6: mov r4, #5 b _021E2AE8 _021E2ACA: mov r4, #6 b _021E2AE8 _021E2ACE: mov r4, #7 b _021E2AE8 _021E2AD2: mov r4, #8 b _021E2AE8 _021E2AD6: mov r4, #9 b _021E2AE8 _021E2ADA: mov r4, #0 b _021E2AE8 _021E2ADE: mov r0, #1 str r0, [r5, #0x20] ldr r0, _021E2B00 ; =0x000005DD bl FUN_020054C8 _021E2AE8: cmp r4, #0x64 beq _021E2AF6 add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E2B84 _021E2AF6: ldr r0, _021E2B04 ; =0x0000FFFF add r5, #0x84 str r0, [r5] pop {r4, r5, r6, pc} nop _021E2B00: .word 0x000005DD _021E2B04: .word 0x0000FFFF thumb_func_end MOD16_021E2A84 thumb_func_start MOD16_021E2B08 MOD16_021E2B08: ; 0x021E2B08 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0x84 ldr r0, [r0] add r6, r1, #0 mov r4, #0x64 cmp r0, #9 bhi _021E2B66 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E2B24: ; jump table .short _021E2B38 - _021E2B24 - 2 ; case 0 .short _021E2B3C - _021E2B24 - 2 ; case 1 .short _021E2B40 - _021E2B24 - 2 ; case 2 .short _021E2B44 - _021E2B24 - 2 ; case 3 .short _021E2B48 - _021E2B24 - 2 ; case 4 .short _021E2B4C - _021E2B24 - 2 ; case 5 .short _021E2B50 - _021E2B24 - 2 ; case 6 .short _021E2B54 - _021E2B24 - 2 ; case 7 .short _021E2B58 - _021E2B24 - 2 ; case 8 .short _021E2B5C - _021E2B24 - 2 ; case 9 _021E2B38: mov r4, #0xa b _021E2B66 _021E2B3C: mov r4, #0xb b _021E2B66 _021E2B40: mov r4, #0xc b _021E2B66 _021E2B44: mov r4, #0xd b _021E2B66 _021E2B48: mov r4, #0xe b _021E2B66 _021E2B4C: mov r4, #0xf b _021E2B66 _021E2B50: mov r4, #0x10 b _021E2B66 _021E2B54: mov r4, #0x11 b _021E2B66 _021E2B58: mov r4, #0 b _021E2B66 _021E2B5C: mov r0, #0 str r0, [r5, #0x20] ldr r0, _021E2B7C ; =0x000005DD bl FUN_020054C8 _021E2B66: cmp r4, #0x64 beq _021E2B74 add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E2B84 _021E2B74: ldr r0, _021E2B80 ; =0x0000FFFF add r5, #0x84 str r0, [r5] pop {r4, r5, r6, pc} .align 2, 0 _021E2B7C: .word 0x000005DD _021E2B80: .word 0x0000FFFF thumb_func_end MOD16_021E2B08 thumb_func_start MOD16_021E2B84 MOD16_021E2B84: ; 0x021E2B84 push {r4, r5, r6, lr} add r4, r1, #0 add r5, r0, #0 add r6, r2, #0 ldr r0, [r4, #8] beq _021E2BE4 mov r1, #0 bl MOD16_021DEC14 cmp r6, r0 beq _021E2C20 ldr r0, [r4, #8] mov r1, #1 bl MOD16_021DEC14 cmp r6, r0 beq _021E2C20 add r1, r5, #0 add r1, #0x88 ldr r0, [r4, #8] ldr r1, [r1] bl MOD16_021DEC14 cmp r6, r0 beq _021E2C20 add r2, r5, #0 add r2, #0x88 ldr r0, [r4, #8] ldr r2, [r2] add r1, r6, #0 bl MOD16_021DEBF8 add r0, r5, #0 add r0, #0x88 ldr r0, [r0] add r5, #0x88 add r0, r0, #1 lsr r2, r0, #0x1f lsl r1, r0, #0x1f sub r1, r1, r2 mov r0, #0x1f ror r1, r0 add r0, r2, r1 str r0, [r5] ldr r0, _021E2C24 ; =0x000005DD bl FUN_020054C8 pop {r4, r5, r6, pc} _021E2BE4: mov r1, #0 bl MOD16_021DEC14 cmp r0, #0 ldr r0, [r4, #8] beq _021E2C00 add r1, r6, #0 mov r2, #0 bl MOD16_021DEBF8 ldr r0, _021E2C24 ; =0x000005DD bl FUN_020054C8 b _021E2C1A _021E2C00: mov r1, #1 bl MOD16_021DEC14 cmp r0, #0 beq _021E2C1A ldr r0, [r4, #8] add r1, r6, #0 mov r2, #1 bl MOD16_021DEBF8 ldr r0, _021E2C24 ; =0x000005DD bl FUN_020054C8 _021E2C1A: mov r0, #0 add r5, #0x88 str r0, [r5] _021E2C20: pop {r4, r5, r6, pc} nop _021E2C24: .word 0x000005DD thumb_func_end MOD16_021E2B84 thumb_func_start MOD16_021E2C28 MOD16_021E2C28: ; 0x021E2C28 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0x84 ldr r0, [r0] add r6, r1, #0 mov r4, #0x64 cmp r0, #0xe bhi _021E2C9C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E2C44: ; jump table .short _021E2C62 - _021E2C44 - 2 ; case 0 .short _021E2C66 - _021E2C44 - 2 ; case 1 .short _021E2C6A - _021E2C44 - 2 ; case 2 .short _021E2C6E - _021E2C44 - 2 ; case 3 .short _021E2C72 - _021E2C44 - 2 ; case 4 .short _021E2C76 - _021E2C44 - 2 ; case 5 .short _021E2C7A - _021E2C44 - 2 ; case 6 .short _021E2C7E - _021E2C44 - 2 ; case 7 .short _021E2C82 - _021E2C44 - 2 ; case 8 .short _021E2C86 - _021E2C44 - 2 ; case 9 .short _021E2C8A - _021E2C44 - 2 ; case 10 .short _021E2C8E - _021E2C44 - 2 ; case 11 .short _021E2C92 - _021E2C44 - 2 ; case 12 .short _021E2C96 - _021E2C44 - 2 ; case 13 .short _021E2C9A - _021E2C44 - 2 ; case 14 _021E2C62: mov r4, #0xd b _021E2C9C _021E2C66: mov r4, #4 b _021E2C9C _021E2C6A: mov r4, #0xc b _021E2C9C _021E2C6E: mov r4, #9 b _021E2C9C _021E2C72: mov r4, #8 b _021E2C9C _021E2C76: mov r4, #3 b _021E2C9C _021E2C7A: mov r4, #0xa b _021E2C9C _021E2C7E: mov r4, #1 b _021E2C9C _021E2C82: mov r4, #6 b _021E2C9C _021E2C86: mov r4, #0xb b _021E2C9C _021E2C8A: mov r4, #0xe b _021E2C9C _021E2C8E: mov r4, #2 b _021E2C9C _021E2C92: mov r4, #5 b _021E2C9C _021E2C96: mov r4, #7 b _021E2C9C _021E2C9A: mov r4, #0 _021E2C9C: cmp r4, #0x64 beq _021E2CB8 ldr r0, [r6, #8] bl MOD16_021DEC38 cmp r4, r0 beq _021E2CB8 ldr r0, _021E2CC0 ; =0x000005DD bl FUN_020054C8 ldr r0, [r6, #8] add r1, r4, #0 bl MOD16_021DEC24 _021E2CB8: ldr r0, _021E2CC4 ; =0x0000FFFF add r5, #0x84 str r0, [r5] pop {r4, r5, r6, pc} .align 2, 0 _021E2CC0: .word 0x000005DD _021E2CC4: .word 0x0000FFFF thumb_func_end MOD16_021E2C28 thumb_func_start MOD16_021E2CC8 MOD16_021E2CC8: ; 0x021E2CC8 push {r3, r4, r5, lr} mov r3, #0x4b lsl r3, r3, #2 ldr r2, [r0, r3] cmp r2, #0 bne _021E2CF4 ldr r2, [r1, #4] cmp r2, #0 ble _021E2CF8 str r2, [r0, r3] mov r5, #0 add r2, r3, #4 str r5, [r0, r2] add r2, r3, #0 ldr r4, [r1, #8] add r2, #8 add r3, #8 str r4, [r0, r2] ldr r0, [r0, r3] str r5, [r0] str r5, [r1, #4] pop {r3, r4, r5, pc} _021E2CF4: bl MOD16_021E2CFC _021E2CF8: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E2CC8 thumb_func_start MOD16_021E2CFC MOD16_021E2CFC: ; 0x021E2CFC push {r4, lr} sub sp, #8 mov r3, #0x4b add r4, r0, #0 lsl r3, r3, #2 ldr r1, [r4, r3] cmp r1, #0 beq _021E2DAE add r0, r3, #4 ldr r0, [r4, r0] cmp r0, #0 beq _021E2D1C cmp r0, #1 beq _021E2D6E add sp, #8 pop {r4, pc} _021E2D1C: cmp r1, #1 bne _021E2D36 mov r1, #0 str r1, [sp] mov r0, #2 sub r3, #0x20 str r0, [sp, #4] add r0, r4, r3 mov r2, #0x10 add r3, r1, #0 bl MOD16_021D8BD8 b _021E2D4A _021E2D36: mov r2, #0 str r2, [sp] mov r0, #2 sub r3, #0x20 str r0, [sp, #4] add r0, r4, r3 mov r1, #0x10 add r3, r2, #0 bl MOD16_021D8BD8 _021E2D4A: mov r0, #0x43 lsl r0, r0, #2 ldr r3, [r4, r0] mov r0, #0x10 sub r0, r0, r3 str r0, [sp] ldr r0, _021E2DB4 ; =0x04001050 mov r1, #0 mov r2, #4 bl G2x_SetBlendAlpha_ mov r0, #0x13 lsl r0, r0, #4 ldr r1, [r4, r0] add sp, #8 add r1, r1, #1 str r1, [r4, r0] pop {r4, pc} _021E2D6E: sub r3, #0x20 add r0, r4, r3 bl MOD16_021D8BF4 mov r1, #0x43 lsl r1, r1, #2 ldr r3, [r4, r1] mov r2, #0x10 sub r2, r2, r3 lsl r2, r2, #8 orr r3, r2 ldr r2, _021E2DB8 ; =0x04001052 cmp r0, #1 strh r3, [r2] bne _021E2DAE add r1, #0x20 ldr r0, [r4, r1] cmp r0, #1 bne _021E2D9A mov r1, #0 sub r0, r2, #2 strh r1, [r0] _021E2D9A: mov r1, #0x4d lsl r1, r1, #2 ldr r0, [r4, r1] mov r2, #1 str r2, [r0] sub r0, r1, #4 mov r2, #0 str r2, [r4, r0] sub r1, #8 str r2, [r4, r1] _021E2DAE: add sp, #8 pop {r4, pc} nop _021E2DB4: .word 0x04001050 _021E2DB8: .word 0x04001052 thumb_func_end MOD16_021E2CFC thumb_func_start MOD16_021E2DBC MOD16_021E2DBC: ; 0x021E2DBC push {r3, lr} cmp r2, #2 bne _021E2DD2 cmp r3, #0 bne _021E2DCC bl MOD16_021E2E14 pop {r3, pc} _021E2DCC: bl MOD16_021E2E44 pop {r3, pc} _021E2DD2: bl MOD16_021E2DD8 pop {r3, pc} thumb_func_end MOD16_021E2DBC thumb_func_start MOD16_021E2DD8 MOD16_021E2DD8: ; 0x021E2DD8 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 mov r6, #0 _021E2DE0: ldr r0, [r5, #0x30] cmp r0, #0 beq _021E2DEC add r1, r4, #0 bl FUN_02020398 _021E2DEC: ldr r0, [r5, #0x6c] cmp r0, #0 beq _021E2DFA ldr r0, [r0] add r1, r4, #0 bl FUN_02011AF0 _021E2DFA: add r0, r5, #0 add r0, #0xa8 ldr r0, [r0] cmp r0, #0 beq _021E2E0A add r1, r4, #0 bl FUN_02020398 _021E2E0A: add r6, r6, #1 add r5, r5, #4 cmp r6, #0xf blt _021E2DE0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E2DD8 thumb_func_start MOD16_021E2E14 MOD16_021E2E14: ; 0x021E2E14 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 mov r4, #0 _021E2E1C: cmp r4, #0xa beq _021E2E3A ldr r0, [r5, #0x30] cmp r0, #0 beq _021E2E2C add r1, r6, #0 bl FUN_02020398 _021E2E2C: ldr r0, [r5, #0x6c] cmp r0, #0 beq _021E2E3A ldr r0, [r0] add r1, r6, #0 bl FUN_02011AF0 _021E2E3A: add r4, r4, #1 add r5, r5, #4 cmp r4, #0xf blt _021E2E1C pop {r4, r5, r6, pc} thumb_func_end MOD16_021E2E14 thumb_func_start MOD16_021E2E44 MOD16_021E2E44: ; 0x021E2E44 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 mov r4, #0 _021E2E4C: cmp r4, #9 beq _021E2E6A ldr r0, [r5, #0x30] cmp r0, #0 beq _021E2E5C add r1, r6, #0 bl FUN_02020398 _021E2E5C: ldr r0, [r5, #0x6c] cmp r0, #0 beq _021E2E6A ldr r0, [r0] add r1, r6, #0 bl FUN_02011AF0 _021E2E6A: add r4, r4, #1 add r5, r5, #4 cmp r4, #0xf blt _021E2E4C pop {r4, r5, r6, pc} thumb_func_end MOD16_021E2E44 thumb_func_start MOD16_021E2E74 MOD16_021E2E74: ; 0x021E2E74 push {r3, r4, lr} sub sp, #4 add r4, r2, #0 ldr r0, [r4, #8] bl MOD16_021DEC5C cmp r0, #4 bne _021E2EC0 ldr r0, [r4, #8] bl MOD16_021DEC54 cmp r0, #3 bne _021E2EA4 mov r1, #0 mov r0, #2 add r2, r1, #0 str r0, [sp] mov r0, #4 sub r2, #0x10 mov r3, #0x3f bl FUN_0200A208 add sp, #4 pop {r3, r4, pc} _021E2EA4: ldr r0, [r4, #8] bl MOD16_021DEC54 cmp r0, #1 bne _021E2EC0 mov r0, #2 str r0, [sp] mov r0, #4 add r1, r0, #0 sub r1, #0x14 mov r2, #0 mov r3, #0x3f bl FUN_0200A208 _021E2EC0: add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021E2E74 thumb_func_start MOD16_021E2EC4 MOD16_021E2EC4: ; 0x021E2EC4 push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 add r0, r7, #0 bl MOD16_021E2F64 add r4, r0, #0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021E2FA8 str r4, [r5] str r0, [r5, #4] mov r0, #0 str r0, [r5, #0x20] bl MOD16_021E2FFC str r0, [r5, #0x24] ldr r0, _021E2F04 ; =MOD16_021E3000 str r0, [r5, #8] ldr r0, _021E2F08 ; =MOD16_021E3074 str r0, [r5, #0xc] ldr r0, _021E2F0C ; =MOD16_021E30B0 str r0, [r5, #0x10] ldr r0, _021E2F10 ; =MOD16_021E30E0 str r0, [r5, #0x14] ldr r0, _021E2F14 ; =MOD16_021E31E0 str r0, [r5, #0x18] ldr r0, _021E2F18 ; =MOD16_021E320C str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E2F04: .word MOD16_021E3000 _021E2F08: .word MOD16_021E3074 _021E2F0C: .word MOD16_021E30B0 _021E2F10: .word MOD16_021E30E0 _021E2F14: .word MOD16_021E31E0 _021E2F18: .word MOD16_021E320C thumb_func_end MOD16_021E2EC4 thumb_func_start MOD16_021E2F1C MOD16_021E2F1C: ; 0x021E2F1C push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E2FD4 ldr r0, [r4, #4] bl MOD16_021E2FE8 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E2F1C thumb_func_start MOD16_021E2F30 MOD16_021E2F30: ; 0x021E2F30 ldr r0, [r0] ldr r0, [r0, #4] bx lr .align 2, 0 thumb_func_end MOD16_021E2F30 thumb_func_start MOD16_021E2F38 MOD16_021E2F38: ; 0x021E2F38 push {r3, r4, r5, lr} add r5, r1, #0 ldr r4, [r0] cmp r5, #3 blt _021E2F46 bl GF_AssertFail _021E2F46: str r5, [r4, #4] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E2F38 thumb_func_start MOD16_021E2F4C MOD16_021E2F4C: ; 0x021E2F4C ldr r0, [r0, #4] str r1, [r0, #4] str r2, [r0, #8] bx lr thumb_func_end MOD16_021E2F4C thumb_func_start MOD16_021E2F54 MOD16_021E2F54: ; 0x021E2F54 ldr r0, [r0, #4] str r1, [r0, #0xc] bx lr .align 2, 0 thumb_func_end MOD16_021E2F54 thumb_func_start MOD16_021E2F5C MOD16_021E2F5C: ; 0x021E2F5C ldr r0, [r0, #4] str r1, [r0, #0x10] bx lr .align 2, 0 thumb_func_end MOD16_021E2F5C thumb_func_start MOD16_021E2F64 MOD16_021E2F64: ; 0x021E2F64 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0xc bl AllocFromHeap add r4, r0, #0 bne _021E2F76 bl GF_AssertFail _021E2F76: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #8] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E2F64 thumb_func_start MOD16_021E2FA8 MOD16_021E2FA8: ; 0x021E2FA8 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x14 bl AllocFromHeap add r4, r0, #0 bne _021E2FBA bl GF_AssertFail _021E2FBA: add r2, r4, #0 mov r1, #0x14 mov r0, #0 _021E2FC0: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021E2FC0 add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E2FA8 thumb_func_start MOD16_021E2FD4 MOD16_021E2FD4: ; 0x021E2FD4 push {r4, lr} add r4, r0, #0 bne _021E2FDE bl GF_AssertFail _021E2FDE: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E2FD4 thumb_func_start MOD16_021E2FE8 MOD16_021E2FE8: ; 0x021E2FE8 push {r4, lr} add r4, r0, #0 bne _021E2FF2 bl GF_AssertFail _021E2FF2: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E2FE8 thumb_func_start MOD16_021E2FFC MOD16_021E2FFC: ; 0x021E2FFC mov r0, #0 bx lr thumb_func_end MOD16_021E2FFC thumb_func_start MOD16_021E3000 MOD16_021E3000: ; 0x021E3000 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r6, #4] add r5, r1, #0 mov r1, #0x34 bl AllocFromHeap add r4, r0, #0 bne _021E3016 bl GF_AssertFail _021E3016: add r0, r4, #0 mov r1, #0 mov r2, #0x34 bl memset str r4, [r6, #8] ldr r1, [r5] ldr r0, _021E3070 ; =0x00001744 ldr r0, [r1, r0] cmp r0, #0 bne _021E3032 mov r0, #0 str r0, [r5, #4] b _021E3042 _021E3032: sub r0, r0, #1 cmp r0, #1 bhi _021E303E mov r0, #1 str r0, [r5, #4] b _021E3042 _021E303E: mov r0, #2 str r0, [r5, #4] _021E3042: add r2, r4, #0 ldr r0, [r6, #4] add r1, r5, #0 add r2, #0xc bl MOD16_021E3E08 str r0, [r4, #4] add r2, r4, #0 ldr r0, [r6, #4] add r1, r5, #0 add r2, #0x10 bl MOD16_021E3E10 str r0, [r4, #8] ldr r2, [r6, #4] add r0, r4, #0 add r1, r5, #0 bl MOD16_021E3FC4 ldr r0, [r5, #4] str r0, [r4] mov r0, #1 pop {r4, r5, r6, pc} .align 2, 0 _021E3070: .word 0x00001744 thumb_func_end MOD16_021E3000 thumb_func_start MOD16_021E3074 MOD16_021E3074: ; 0x021E3074 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #0xc] add r6, r1, #0 ldr r4, [r5, #8] cmp r0, #1 bne _021E3086 mov r0, #1 pop {r4, r5, r6, pc} _021E3086: ldr r0, [r5, #0x10] cmp r0, #1 bne _021E3090 mov r0, #0 pop {r4, r5, r6, pc} _021E3090: ldr r1, [r4] ldr r0, [r6, #4] cmp r1, r0 beq _021E30AC add r0, r4, #0 bl MOD16_021E4070 ldr r2, [r5, #4] add r0, r4, #0 add r1, r6, #0 bl MOD16_021E3FC4 ldr r0, [r6, #4] str r0, [r4] _021E30AC: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E3074 thumb_func_start MOD16_021E30B0 MOD16_021E30B0: ; 0x021E30B0 push {r3, r4, r5, lr} add r4, r0, #0 ldr r5, [r4, #8] ldr r0, [r5, #4] cmp r0, #0 beq _021E30C0 bl FreeToHeap _021E30C0: ldr r0, [r5, #8] cmp r0, #0 beq _021E30CA bl FreeToHeap _021E30CA: add r0, r5, #0 bl MOD16_021E4070 add r0, r5, #0 bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E30B0 thumb_func_start MOD16_021E30E0 MOD16_021E30E0: ; 0x021E30E0 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r3, #8] add r4, r1, #0 str r0, [sp, #4] ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #3 bhi _021E31CE add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E3102: ; jump table .short _021E310A - _021E3102 - 2 ; case 0 .short _021E3142 - _021E3102 - 2 ; case 1 .short _021E319A - _021E3102 - 2 ; case 2 .short _021E31C2 - _021E3102 - 2 ; case 3 _021E310A: ldr r0, [r4, #4] ldr r1, _021E31D4 ; =0x00000844 bl AllocFromHeap ldr r2, _021E31D4 ; =0x00000844 str r0, [r4, #8] mov r1, #0 bl memset ldr r5, [r4, #8] ldr r0, [r7, #4] mov r1, #0 str r0, [r5] ldr r0, [r4, #4] bl MOD16_021DBDE4 ldr r1, _021E31D8 ; =0x00000804 str r0, [r5, r1] ldr r0, [r4, #4] mov r1, #0 bl MOD16_021DBE0C ldr r1, _021E31DC ; =0x00000808 str r0, [r5, r1] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E31CE _021E3142: ldr r0, [r4, #4] ldr r3, [sp, #4] str r0, [sp] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E32D8 ldr r0, [r4, #8] ldr r2, [sp, #4] ldr r3, [r4, #4] add r1, r7, #0 bl MOD16_021E3C18 ldr r0, [r4, #8] ldr r1, [sp, #4] bl MOD16_021E3EF0 add r0, r6, #0 bl MOD16_021E4094 add r0, r6, #0 add r1, r5, #0 bl MOD16_021E3E6C ldr r0, [r5, #0xc] cmp r0, #0 bne _021E3186 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E3998 b _021E3192 _021E3186: add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E3A5C _021E3192: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E31CE _021E319A: ldr r0, [r5, #0xc] cmp r0, #0 bne _021E31AC add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021E3A10 b _021E31B6 _021E31AC: add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021E3AEC _021E31B6: cmp r0, #0 beq _021E31CE ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E31CE _021E31C2: add r0, r6, #0 bl MOD16_021E40D4 add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E31CE: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E31D4: .word 0x00000844 _021E31D8: .word 0x00000804 _021E31DC: .word 0x00000808 thumb_func_end MOD16_021E30E0 thumb_func_start MOD16_021E31E0 MOD16_021E31E0: ; 0x021E31E0 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r1, #0 add r6, r0, #0 ldr r0, [r5, #8] add r7, r2, #0 ldr r4, [r3, #8] str r0, [sp, #4] bl MOD16_021E411C ldr r0, [r5, #4] add r1, r6, #0 str r0, [sp] ldr r0, [sp, #4] add r2, r7, #0 add r3, r4, #0 bl MOD16_021E3F88 mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E31E0 thumb_func_start MOD16_021E320C MOD16_021E320C: ; 0x021E320C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r5, [r4, #8] cmp r0, #4 bhi _021E32CC add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E3228: ; jump table .short _021E3232 - _021E3228 - 2 ; case 0 .short _021E3260 - _021E3228 - 2 ; case 1 .short _021E3288 - _021E3228 - 2 ; case 2 .short _021E329E - _021E3228 - 2 ; case 3 .short _021E32C8 - _021E3228 - 2 ; case 4 _021E3232: add r0, r5, #0 bl MOD16_021E4094 ldr r0, [r6, #0xc] cmp r0, #0 bne _021E324C add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021E3998 b _021E3258 _021E324C: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021E3A5C _021E3258: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E32CC _021E3260: ldr r0, [r6, #0xc] cmp r0, #0 bne _021E3272 add r0, r5, #0 add r1, r6, #0 mov r3, #0 bl MOD16_021E3A10 b _021E327C _021E3272: add r0, r5, #0 add r1, r6, #0 mov r3, #0 bl MOD16_021E3AEC _021E327C: cmp r0, #0 beq _021E32CC ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E32CC _021E3288: add r0, r5, #0 bl MOD16_021E3DBC add r0, r5, #0 add r1, r6, #0 bl MOD16_021E3328 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E32CC _021E329E: mov r0, #2 mov r1, #1 bl GX_EngineAToggleLayers ldr r0, _021E32D0 ; =0x00000804 ldr r0, [r5, r0] bl FreeToHeap ldr r0, _021E32D4 ; =0x00000808 ldr r0, [r5, r0] bl FreeToHeap ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E32CC _021E32C8: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E32CC: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E32D0: .word 0x00000804 _021E32D4: .word 0x00000808 thumb_func_end MOD16_021E320C thumb_func_start MOD16_021E32D8 MOD16_021E32D8: ; 0x021E32D8 push {r3, r4, r5, r6, r7, lr} ldr r6, [sp, #0x18] add r7, r2, #0 add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 add r1, r7, #0 add r2, r6, #0 bl MOD16_021E3348 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E3B70 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E34D0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E36B0 add r0, r5, #0 add r1, r4, #0 add r2, r7, #0 add r3, r6, #0 bl MOD16_021E37E8 ldr r1, [r7, #4] add r0, r5, #0 bl MOD16_021E3F50 add r0, r4, #0 add r1, r7, #0 bl MOD16_021E41FC pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E32D8 thumb_func_start MOD16_021E3328 MOD16_021E3328: ; 0x021E3328 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E3BC8 add r0, r5, #0 bl MOD16_021E3904 add r0, r5, #0 bl MOD16_021E37C0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E361C pop {r3, r4, r5, pc} thumb_func_end MOD16_021E3328 thumb_func_start MOD16_021E3348 MOD16_021E3348: ; 0x021E3348 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] add r6, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] add r4, r2, #0 str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #3 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x40 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r7, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r7, #0 bl FreeToHeap ldr r1, [r6] ldr r0, _021E34C0 ; =0x00001764 ldr r0, [r1, r0] cmp r0, #0 beq _021E33E6 str r4, [sp] ldr r0, [r5] mov r1, #0x41 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r7, r0, #0 ldr r2, [sp, #0x10] mov r0, #8 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0xd lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r7, #0 bl FreeToHeap _021E33E6: ldr r1, [r6] ldr r0, _021E34C4 ; =0x0000176C ldr r0, [r1, r0] cmp r0, #0 beq _021E342A str r4, [sp] ldr r0, [r5] mov r1, #0x42 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r7, r0, #0 ldr r2, [sp, #0x10] mov r0, #7 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0x1c lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r7, #0 bl FreeToHeap _021E342A: ldr r1, [r6] ldr r0, _021E34C8 ; =0x00001760 ldr r0, [r1, r0] cmp r0, #0 beq _021E346E str r4, [sp] ldr r0, [r5] mov r1, #0x43 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r7, r0, #0 ldr r2, [sp, #0x10] mov r0, #8 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0xb lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r7, #0 bl FreeToHeap _021E346E: ldr r1, [r6] ldr r0, _021E34CC ; =0x00001768 ldr r0, [r1, r0] cmp r0, #0 beq _021E34B2 str r4, [sp] ldr r0, [r5] mov r1, #0x44 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r4, r0, #0 ldr r2, [sp, #0x10] mov r0, #0x10 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0x19 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap _021E34B2: ldr r0, [r5] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021E34C0: .word 0x00001764 _021E34C4: .word 0x0000176C _021E34C8: .word 0x00001760 _021E34CC: .word 0x00001768 thumb_func_end MOD16_021E3348 thumb_func_start MOD16_021E34D0 MOD16_021E34D0: ; 0x021E34D0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E3600 ; =0x000017DC mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x6c bl FUN_020091E0 add r1, r5, #0 add r1, #0xb4 str r0, [r1] add r0, r5, #0 add r0, #0xb4 ldr r0, [r0] bl FUN_02009B04 add r0, r5, #0 add r0, #0xb4 ldr r0, [r0] bl FUN_02009474 ldr r0, _021E3604 ; =0x000017DA add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x6a mov r3, #1 bl FUN_02009358 add r1, r5, #0 add r1, #0xbc str r0, [r1] ldr r0, _021E3608 ; =0x000017DB add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x6b mov r3, #1 bl FUN_02009358 add r1, r5, #0 add r1, #0xc0 str r0, [r1] ldr r0, _021E360C ; =0x000017CD mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x5d bl FUN_020091E0 add r1, r5, #0 add r1, #0xd0 str r0, [r1] add r0, r5, #0 add r0, #0xd0 ldr r0, [r0] bl FUN_02009B04 add r0, r5, #0 add r0, #0xd0 ldr r0, [r0] bl FUN_02009474 ldr r0, _021E3610 ; =0x0000177E add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #5 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0xe mov r3, #0 bl FUN_02009298 add r1, r5, #0 add r1, #0xd4 str r0, [r1] add r0, r5, #0 add r0, #0xd4 ldr r0, [r0] bl FUN_02009D68 add r0, r5, #0 add r0, #0xd4 ldr r0, [r0] bl FUN_02009474 ldr r0, _021E3614 ; =0x000017CB add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5b mov r3, #1 bl FUN_02009358 add r1, r5, #0 add r1, #0xd8 str r0, [r1] ldr r0, _021E3618 ; =0x000017CC add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5c mov r3, #1 bl FUN_02009358 add r5, #0xdc str r0, [r5] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E3600: .word 0x000017DC _021E3604: .word 0x000017DA _021E3608: .word 0x000017DB _021E360C: .word 0x000017CD _021E3610: .word 0x0000177E _021E3614: .word 0x000017CB _021E3618: .word 0x000017CC thumb_func_end MOD16_021E34D0 thumb_func_start MOD16_021E361C MOD16_021E361C: ; 0x021E361C push {r3, r4, r5, lr} add r5, r0, #0 add r0, #0xb4 ldr r0, [r0] ldr r4, [r1] bl FUN_02009C0C mov r0, #5 add r1, r5, #0 lsl r0, r0, #6 add r1, #0xb4 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x52 add r1, r5, #0 lsl r0, r0, #2 add r1, #0xbc ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x53 add r1, r5, #0 lsl r0, r0, #2 add r1, #0xc0 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 add r0, r5, #0 add r0, #0xd0 ldr r0, [r0] bl FUN_02009C0C add r0, r5, #0 add r0, #0xd4 ldr r0, [r0] bl FUN_02009E04 mov r0, #5 add r1, r5, #0 lsl r0, r0, #6 add r1, #0xd0 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x51 add r1, r5, #0 lsl r0, r0, #2 add r1, #0xd4 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x52 add r1, r5, #0 lsl r0, r0, #2 add r1, #0xd8 ldr r0, [r4, r0] ldr r1, [r1] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 add r5, #0xdc ldr r0, [r4, r0] ldr r1, [r5] bl FUN_02009490 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E361C thumb_func_start MOD16_021E36B0 MOD16_021E36B0: ; 0x021E36B0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x70 ldr r4, [r1] ldr r3, _021E37B8 ; =0x000017CC add r5, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 add r6, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r2, #0x4e sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x1f str r0, [sp, #0x40] mov r0, #1 str r0, [sp, #0x44] mov r0, #0xa lsl r0, r0, #0x10 str r0, [sp, #0x34] mov r0, #6 lsl r0, r0, #0x10 str r0, [sp, #0x38] add r0, sp, #0x2c str r6, [sp, #0x48] bl FUN_0201FF84 add r1, r5, #0 add r1, #0xc8 str r0, [r1] add r0, r5, #0 add r0, #0xc8 ldr r0, [r0] mov r1, #2 bl FUN_02020130 ldr r3, _021E37BC ; =0x000017DB mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #5 str r1, [sp, #0x10] lsl r0, r0, #6 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r2, #0x5d sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r4, #0 str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x1f str r0, [sp, #0x40] mov r0, #1 str r0, [sp, #0x44] str r6, [sp, #0x48] str r4, [sp, #0x34] str r4, [sp, #0x38] add r6, sp, #0x2c add r7, r4, #0 _021E3796: add r0, r6, #0 bl FUN_0201FF84 str r0, [r5, #4] add r1, r7, #0 bl FUN_020200A0 ldr r0, [r5, #4] mov r1, #1 bl FUN_02020398 add r4, r4, #1 add r5, r5, #4 cmp r4, #0x2c blt _021E3796 add sp, #0x70 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E37B8: .word 0x000017CC _021E37BC: .word 0x000017DB thumb_func_end MOD16_021E36B0 thumb_func_start MOD16_021E37C0 MOD16_021E37C0: ; 0x021E37C0 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0xc8 ldr r0, [r0] bl FUN_0201FFC8 add r0, r5, #0 mov r4, #0 add r0, #0xc8 str r4, [r0] add r6, r4, #0 _021E37D6: ldr r0, [r5, #4] bl FUN_0201FFC8 str r6, [r5, #4] add r4, r4, #1 add r5, r5, #4 cmp r4, #0x2c blt _021E37D6 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E37C0 thumb_func_start MOD16_021E37E8 MOD16_021E37E8: ; 0x021E37E8 push {r4, r5, r6, r7, lr} sub sp, #0x34 add r5, r0, #0 add r0, #0xc8 add r4, r1, #0 ldr r0, [r0] add r6, r3, #0 ldr r7, [r4] cmp r0, #0 bne _021E3800 bl GF_AssertFail _021E3800: mov r0, #0x51 ldr r1, [r4] lsl r0, r0, #2 ldr r0, [r1, r0] ldr r1, _021E38FC ; =0x0000177E bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r7, r1] str r1, [sp, #0xc] mov r1, #0 bl FUN_02009E54 mov r1, #1 mov r2, #0x1e str r0, [sp, #0x14] str r1, [sp, #0x24] str r2, [sp, #0x28] str r1, [sp, #0x2c] str r6, [sp, #0x30] bl FUN_0201E28C str r0, [sp, #8] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r7, r0] mov r1, #0x10 mov r2, #2 bl MOD16_021DB388 add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r7, r0] ldr r2, _021E3900 ; =0x00000266 add r1, r4, #0 mov r3, #0x23 bl MOD16_021DB3C8 add r1, r5, #0 lsr r0, r0, #1 str r4, [sp, #0x10] add r1, #0xc8 ldr r1, [r1] neg r0, r0 str r0, [sp, #0x1c] mov r0, #7 mvn r0, r0 str r0, [sp, #0x20] add r0, sp, #0xc str r1, [sp, #0x18] bl MOD16_021DB2BC add r1, r5, #0 add r1, #0xcc str r0, [r1] add r0, r5, #0 add r0, #0xcc ldr r0, [r0] ldr r1, [sp, #8] ldr r0, [r0] add r1, r1, #2 bl FUN_02011A60 add r0, r4, #0 bl MOD16_021DB3BC mov r6, #0 _021E3890: mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r7, r0] mov r1, #9 mov r2, #2 bl MOD16_021DB388 add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 add r3, r6, #0 ldr r0, [r7, r0] ldr r2, _021E3900 ; =0x00000266 add r1, r4, #0 add r3, #0x24 bl MOD16_021DB3C8 mov r1, #0 str r1, [sp, #0x18] mov r1, #0x48 sub r0, r1, r0 lsr r0, r0, #1 add r0, #8 str r0, [sp, #0x1c] mov r0, #0x20 str r0, [sp, #0x20] add r0, sp, #0xc str r4, [sp, #0x10] bl MOD16_021DB2BC add r1, r5, #0 add r1, #0xe0 str r0, [r1] add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] ldr r1, [sp, #8] ldr r0, [r0] add r1, r1, #2 bl FUN_02011A60 add r0, r4, #0 bl MOD16_021DB3BC add r6, r6, #1 add r5, r5, #4 cmp r6, #3 blt _021E3890 add sp, #0x34 pop {r4, r5, r6, r7, pc} nop _021E38FC: .word 0x0000177E _021E3900: .word 0x00000266 thumb_func_end MOD16_021E37E8 thumb_func_start MOD16_021E3904 MOD16_021E3904: ; 0x021E3904 push {r3, r4, r5, lr} add r5, r0, #0 add r0, #0xcc ldr r0, [r0] bl MOD16_021DB338 mov r4, #0 _021E3912: add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] bl MOD16_021DB338 add r4, r4, #1 add r5, r5, #4 cmp r4, #3 blt _021E3912 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E3904 thumb_func_start MOD16_021E3928 MOD16_021E3928: ; 0x021E3928 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0xc8 ldr r0, [r0] mov r1, #1 bl FUN_02020398 add r0, r5, #0 add r0, #0xcc ldr r0, [r0] mov r1, #1 ldr r0, [r0] bl FUN_02011AF0 mov r4, #0 mov r6, #1 _021E3948: add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] add r1, r6, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #3 blt _021E3948 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E3928 thumb_func_start MOD16_021E3960 MOD16_021E3960: ; 0x021E3960 push {r4, r5, r6, lr} add r5, r0, #0 add r0, #0xc8 ldr r0, [r0] mov r1, #0 bl FUN_02020398 add r0, r5, #0 add r0, #0xcc ldr r0, [r0] mov r1, #0 ldr r0, [r0] bl FUN_02011AF0 mov r4, #0 add r6, r4, #0 _021E3980: add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] add r1, r6, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #3 blt _021E3980 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E3960 thumb_func_start MOD16_021E3998 MOD16_021E3998: ; 0x021E3998 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021E3928 ldr r0, [r4, #8] bl MOD16_021E8C68 cmp r0, #0 beq _021E39FE cmp r6, #0 beq _021E39DA mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 b _021E39FE _021E39DA: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E39FE: mov r1, #0x5b ldr r0, [r5] lsl r1, r1, #2 add r1, r0, r1 bl MOD16_021D8A8C add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E3998 thumb_func_start MOD16_021E3A10 MOD16_021E3A10: ; 0x021E3A10 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #8] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021E3A30 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 b _021E3A3A _021E3A30: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C _021E3A3A: cmp r0, #0 beq _021E3A4C cmp r4, #0 beq _021E3A48 add r0, r6, #0 bl MOD16_021E3960 _021E3A48: mov r0, #1 pop {r4, r5, r6, pc} _021E3A4C: mov r1, #0x5b ldr r0, [r5] lsl r1, r1, #2 add r1, r0, r1 bl MOD16_021D8A8C mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E3A10 thumb_func_start MOD16_021E3A5C MOD16_021E3A5C: ; 0x021E3A5C push {r4, r5, r6, r7, lr} sub sp, #0x14 add r6, r0, #0 add r5, r1, #0 add r7, r2, #0 add r4, r3, #0 bl MOD16_021E3928 cmp r4, #0 bne _021E3A86 ldr r0, [r5, #8] mov r1, #0x28 str r0, [sp] ldr r0, [r5, #0x10] mov r3, #0x78 str r0, [sp, #4] ldr r0, _021E3AE8 ; =0x00000814 ldr r2, [r5, #4] add r0, r6, r0 bl MOD16_021D8BD8 _021E3A86: ldr r0, [r7, #8] bl MOD16_021E8C68 cmp r0, #0 beq _021E3AE4 cmp r4, #0 beq _021E3ABE mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r2, #0x2f str r2, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 ldr r1, [r5, #0x10] sub r2, #0x3f lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl MOD16_021D8988 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021E3ABE: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r3, #0x2f str r3, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 ldr r1, [r5, #0x10] sub r3, #0x3f lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl MOD16_021D8988 _021E3AE4: add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021E3AE8: .word 0x00000814 thumb_func_end MOD16_021E3A5C thumb_func_start MOD16_021E3AEC MOD16_021E3AEC: ; 0x021E3AEC push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 add r7, r3, #0 bne _021E3B14 ldr r0, _021E3B6C ; =0x00000814 add r0, r5, r0 bl MOD16_021D8BF4 str r0, [sp] ldr r2, _021E3B6C ; =0x00000814 ldr r0, [r4] ldr r1, [r5, r2] add r2, r2, #4 ldr r2, [r5, r2] bl MOD16_021D86F4 b _021E3B18 _021E3B14: mov r0, #1 str r0, [sp] _021E3B18: ldr r0, [r6, #8] bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r4] beq _021E3B32 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 str r0, [sp, #4] b _021E3B3E _021E3B32: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C str r0, [sp, #4] _021E3B3E: mov r1, #0 add r2, sp, #0 _021E3B42: ldr r0, [r2] cmp r0, #0 beq _021E3B50 add r1, r1, #1 add r2, r2, #4 cmp r1, #2 blt _021E3B42 _021E3B50: cmp r1, #2 bne _021E3B64 cmp r7, #1 bne _021E3B5E add r0, r5, #0 bl MOD16_021E3960 _021E3B5E: add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E3B64: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _021E3B6C: .word 0x00000814 thumb_func_end MOD16_021E3AEC thumb_func_start MOD16_021E3B70 MOD16_021E3B70: ; 0x021E3B70 push {r3, r4, r5, r6, lr} sub sp, #4 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r6, r2, #0 add r0, r0, #4 mov r1, #0 bl FillWindowPixelBuffer str r6, [sp] ldr r3, _021E3BBC ; =0x000007F8 ldr r0, [r4] mov r1, #0x1e mov r2, #1 add r3, r5, r3 bl MOD16_021D8D98 ldr r1, _021E3BC0 ; =0x000007F4 mov r2, #1 str r0, [r5, r1] str r6, [sp] lsl r3, r2, #0xb ldr r0, [r4] mov r1, #0x1f add r3, r5, r3 bl MOD16_021D8D98 ldr r1, _021E3BC4 ; =0x000007FC str r0, [r5, r1] ldr r0, [r4] mov r1, #8 add r0, r0, #4 bl FUN_0201AB24 add sp, #4 pop {r3, r4, r5, r6, pc} nop _021E3BBC: .word 0x000007F8 _021E3BC0: .word 0x000007F4 _021E3BC4: .word 0x000007FC thumb_func_end MOD16_021E3B70 thumb_func_start MOD16_021E3BC8 MOD16_021E3BC8: ; 0x021E3BC8 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_02018744 ldr r0, _021E3C10 ; =0x000007F4 ldr r0, [r5, r0] bl FreeToHeap ldr r1, _021E3C10 ; =0x000007F4 mov r2, #0 str r2, [r5, r1] add r0, r1, #4 add r1, #8 str r2, [r5, r0] ldr r0, [r5, r1] bl FreeToHeap ldr r0, _021E3C14 ; =0x000007FC mov r1, #0 str r1, [r5, r0] add r0, r0, #4 str r1, [r5, r0] ldr r0, [r4] add r0, r0, #4 bl FUN_0201AB24 pop {r3, r4, r5, pc} .align 2, 0 _021E3C10: .word 0x000007F4 _021E3C14: .word 0x000007FC thumb_func_end MOD16_021E3BC8 thumb_func_start MOD16_021E3C18 MOD16_021E3C18: ; 0x021E3C18 push {r4, r5, r6, r7, lr} sub sp, #0x3c add r4, r2, #0 add r6, r0, #0 str r1, [sp, #0x28] str r3, [sp, #0x2c] bl MOD16_021E3DBC add r0, r4, #0 add r0, #0x1c str r0, [sp] ldr r0, [r4, #4] mov r1, #0x1e str r0, [sp, #4] ldr r0, [r4, #0xc] ldr r3, _021E3DAC ; =0x00000808 str r0, [sp, #8] add r0, r6, #0 ldr r3, [r6, r3] add r0, #0xec add r2, r1, #0 bl MOD16_021DBEC4 ldr r1, _021E3DB0 ; =0x00000838 str r0, [r6, r1] ldr r0, [r4, #0x20] sub r1, r0, #1 ldr r0, [r4, #0xc] add r7, r1, r0 ldr r0, [sp, #0x2c] add r1, r7, #0 bl AllocFromHeapAtEnd add r5, r0, #0 mov r1, #0 cmp r7, #0 ble _021E3C7E _021E3C62: ldr r2, [r4, #0xc] cmp r1, r2 bhs _021E3C6E ldr r0, [r4, #4] ldrb r0, [r0, r1] b _021E3C76 _021E3C6E: sub r2, r1, r2 ldr r0, [r4, #0x1c] lsl r2, r2, #2 ldr r0, [r0, r2] _021E3C76: strb r0, [r5, r1] add r1, r1, #1 cmp r1, r7 blt _021E3C62 _021E3C7E: add r0, r4, #0 add r0, #0x2c str r0, [sp] str r5, [sp, #4] mov r0, #0x47 lsl r0, r0, #4 mov r1, #0x1e ldr r3, _021E3DAC ; =0x00000808 str r7, [sp, #8] ldr r3, [r6, r3] add r0, r6, r0 add r2, r1, #0 bl MOD16_021DBEC4 mov r1, #0x21 lsl r1, r1, #6 str r0, [r6, r1] add r0, r5, #0 bl FreeToHeap add r0, r6, #0 mov r1, #0x1e add r0, #0xec add r2, r1, #0 bl MOD16_021DB7C0 mov r0, #0x47 lsl r0, r0, #4 mov r1, #0x1e add r0, r6, r0 add r2, r1, #0 bl MOD16_021DB7C0 ldr r0, [sp, #0x28] ldr r0, [r0] bl MOD16_021D9DE8 ldr r1, _021E3DB4 ; =0x0000015D cmp r0, r1 bne _021E3CDE mov r1, #5 str r1, [sp, #0x38] mov r1, #0x5c str r1, [sp, #0x34] mov r1, #0xe mov r0, #4 str r1, [sp, #0x30] b _021E3CEC _021E3CDE: mov r1, #1 str r1, [sp, #0x38] mov r1, #0x5c str r1, [sp, #0x34] mov r1, #0x20 mov r0, #0 str r1, [sp, #0x30] _021E3CEC: add r1, r6, #0 mov r2, #0 add r1, #0xc4 str r2, [r1] ldr r1, [sp, #0x30] ldr r3, [sp, #0x34] str r1, [sp] mov r1, #5 str r1, [sp, #4] str r1, [sp, #8] ldr r1, _021E3DB8 ; =0x00000804 ldr r2, [r6, r1] add r1, #0x30 str r2, [sp, #0xc] add r2, r4, #0 add r2, #0x14 str r2, [sp, #0x10] mov r2, #2 str r2, [sp, #0x14] str r0, [sp, #0x18] ldr r0, [r4, #8] mov r2, #0x2c str r0, [sp, #0x1c] ldr r0, [r4, #0x10] str r0, [sp, #0x20] add r0, r6, r1 add r1, r6, #0 str r0, [sp, #0x24] add r1, #0xc4 ldr r1, [r1] add r0, r6, #4 bl MOD16_021DBF9C add r1, r6, #0 add r1, #0xc4 str r0, [r1] ldr r0, [r4, #0x18] sub r1, r0, #1 ldr r0, [r4, #0x10] add r7, r1, r0 ldr r0, [sp, #0x2c] add r1, r7, #0 bl AllocFromHeapAtEnd add r5, r0, #0 mov r1, #0 cmp r7, #0 ble _021E3D68 _021E3D4C: ldr r2, [r4, #0x10] cmp r1, r2 bhs _021E3D58 ldr r0, [r4, #8] ldrb r0, [r0, r1] b _021E3D60 _021E3D58: sub r2, r1, r2 ldr r0, [r4, #0x14] lsl r2, r2, #2 ldr r0, [r0, r2] _021E3D60: strb r0, [r5, r1] add r1, r1, #1 cmp r1, r7 blt _021E3D4C _021E3D68: ldr r0, [sp, #0x30] ldr r1, _021E3DB8 ; =0x00000804 str r0, [sp] mov r0, #5 str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r6, r1] add r4, #0x24 str r0, [sp, #0xc] str r4, [sp, #0x10] mov r0, #3 str r0, [sp, #0x14] ldr r0, [sp, #0x38] add r1, #0x38 str r0, [sp, #0x18] str r5, [sp, #0x1c] add r0, r6, r1 str r7, [sp, #0x20] add r1, r6, #0 str r0, [sp, #0x24] add r1, #0xc4 ldr r1, [r1] ldr r3, [sp, #0x34] add r0, r6, #4 mov r2, #0x2c bl MOD16_021DBF9C add r6, #0xc4 str r0, [r6] add r0, r5, #0 bl FreeToHeap add sp, #0x3c pop {r4, r5, r6, r7, pc} .align 2, 0 _021E3DAC: .word 0x00000808 _021E3DB0: .word 0x00000838 _021E3DB4: .word 0x0000015D _021E3DB8: .word 0x00000804 thumb_func_end MOD16_021E3C18 thumb_func_start MOD16_021E3DBC MOD16_021E3DBC: ; 0x021E3DBC push {r3, r4, r5, r6, r7, lr} mov r2, #0xe1 add r6, r0, #0 add r0, #0xec mov r1, #0 lsl r2, r2, #2 bl memset mov r2, #0x47 lsl r2, r2, #4 add r0, r6, r2 mov r1, #0 sub r2, #0xec bl memset add r0, r6, #0 add r0, #0xc4 ldr r0, [r0] mov r4, #0 cmp r0, #0 ble _021E3E00 add r5, r6, #0 add r7, r4, #0 _021E3DEA: ldr r0, [r5, #4] add r1, r7, #0 bl FUN_020200A0 add r0, r6, #0 add r0, #0xc4 ldr r0, [r0] add r4, r4, #1 add r5, r5, #4 cmp r4, r0 blt _021E3DEA _021E3E00: mov r0, #0 add r6, #0xc4 str r0, [r6] pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E3DBC thumb_func_start MOD16_021E3E08 MOD16_021E3E08: ; 0x021E3E08 mov r0, #0 str r0, [r2] bx lr .align 2, 0 thumb_func_end MOD16_021E3E08 thumb_func_start MOD16_021E3E10 MOD16_021E3E10: ; 0x021E3E10 push {r4, r5, r6, lr} add r5, r1, #0 add r6, r2, #0 ldr r2, [r5] ldr r1, _021E3E60 ; =0x00001768 mov r4, #0 ldr r1, [r2, r1] cmp r1, #0 bne _021E3E30 ldr r3, _021E3E64 ; =0x021FF5D6 ldr r1, _021E3E68 ; =0x0000FFFF _021E3E26: add r3, r3, #2 ldrh r2, [r3] add r4, r4, #1 cmp r2, r1 bne _021E3E26 _021E3E30: cmp r4, #0 beq _021E3E3C add r1, r4, #0 bl AllocFromHeap b _021E3E3E _021E3E3C: mov r0, #0 _021E3E3E: str r4, [r6] ldr r3, [r5] ldr r2, _021E3E60 ; =0x00001768 mov r1, #0 ldr r2, [r3, r2] cmp r2, #0 bne _021E3E5E ldr r4, _021E3E64 ; =0x021FF5D6 ldr r2, _021E3E68 ; =0x0000FFFF _021E3E50: ldrh r3, [r4] add r4, r4, #2 strb r3, [r0, r1] ldrh r3, [r4] add r1, r1, #1 cmp r3, r2 bne _021E3E50 _021E3E5E: pop {r4, r5, r6, pc} .align 2, 0 _021E3E60: .word 0x00001768 _021E3E64: .word MOD16_021FF5D6 _021E3E68: .word 0x0000FFFF thumb_func_end MOD16_021E3E10 thumb_func_start MOD16_021E3E6C MOD16_021E3E6C: ; 0x021E3E6C push {r3, r4, r5, lr} sub sp, #0x18 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer mov r0, #2 lsl r0, r0, #0xa ldr r3, [r5, r0] mov r0, #5 str r0, [sp] mov r0, #0x47 lsl r0, r0, #4 add r0, r5, r0 str r0, [sp, #4] mov r1, #0x1e str r1, [sp, #8] str r1, [sp, #0xc] mov r0, #0x59 str r0, [sp, #0x10] str r1, [sp, #0x14] ldrh r2, [r3, #2] ldr r1, [r3, #0x14] ldrh r3, [r3] ldr r0, [r4] lsl r2, r2, #0x13 lsl r3, r3, #0x13 add r0, r0, #4 lsr r2, r2, #0x10 lsr r3, r3, #0x10 bl MOD16_021DB728 ldr r0, _021E3EEC ; =0x000007F8 mov r1, #0x1e ldr r3, [r5, r0] mov r0, #5 str r0, [sp] add r5, #0xec str r5, [sp, #4] str r1, [sp, #8] str r1, [sp, #0xc] mov r0, #0x59 str r0, [sp, #0x10] str r1, [sp, #0x14] ldrh r2, [r3, #2] ldr r1, [r3, #0x14] ldrh r3, [r3] ldr r0, [r4] lsl r2, r2, #0x13 lsl r3, r3, #0x13 add r0, r0, #4 lsr r2, r2, #0x10 lsr r3, r3, #0x10 bl MOD16_021DB728 ldr r0, [r4] add r0, r0, #4 bl CopyWindowToVram add sp, #0x18 pop {r3, r4, r5, pc} .align 2, 0 _021E3EEC: .word 0x000007F8 thumb_func_end MOD16_021E3E6C thumb_func_start MOD16_021E3EF0 MOD16_021E3EF0: ; 0x021E3EF0 push {r4, lr} ldr r1, _021E3F4C ; =0x00000834 add r4, r0, #0 ldr r0, [r4, r1] cmp r0, #0 bne _021E3F30 add r0, r1, #4 ldr r0, [r4, r0] cmp r0, #0 bne _021E3F30 add r0, r1, #0 add r0, #8 ldr r0, [r4, r0] cmp r0, #0 bne _021E3F30 add r1, #0xc ldr r0, [r4, r1] cmp r0, #0 bne _021E3F30 add r0, r4, #0 add r0, #0xc8 ldr r0, [r0] mov r1, #1 bl FUN_020200A0 add r4, #0xcc ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_020119D0 pop {r4, pc} _021E3F30: add r0, r4, #0 add r0, #0xc8 ldr r0, [r0] mov r1, #0 bl FUN_020200A0 add r4, #0xcc ldr r0, [r4] mov r1, #0 ldr r0, [r0] bl FUN_020119D0 pop {r4, pc} nop _021E3F4C: .word 0x00000834 thumb_func_end MOD16_021E3EF0 thumb_func_start MOD16_021E3F50 MOD16_021E3F50: ; 0x021E3F50 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 mov r4, #0 mov r7, #1 _021E3F5A: cmp r4, r6 bne _021E3F6E add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] add r1, r7, #0 ldr r0, [r0] bl FUN_020119D0 b _021E3F7C _021E3F6E: add r0, r5, #0 add r0, #0xe0 ldr r0, [r0] mov r1, #0 ldr r0, [r0] bl FUN_020119D0 _021E3F7C: add r4, r4, #1 add r5, r5, #4 cmp r4, #3 blt _021E3F5A pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E3F50 thumb_func_start MOD16_021E3F88 MOD16_021E3F88: ; 0x021E3F88 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r2, #0 add r4, r3, #0 add r7, r1, #0 ldr r2, [r5] ldr r1, [r4] cmp r2, r1 beq _021E3FC0 ldr r3, [sp, #0x18] add r1, r6, #0 add r2, r4, #0 bl MOD16_021E3C18 add r0, r5, #0 add r1, r7, #0 bl MOD16_021E3E6C ldr r1, [r6, #4] add r0, r5, #0 bl MOD16_021E3F50 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E3EF0 ldr r0, [r4] str r0, [r5] _021E3FC0: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E3F88 thumb_func_start MOD16_021E3FC4 MOD16_021E3FC4: ; 0x021E3FC4 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r6, r2, #0 bl MOD16_021D9DE8 add r7, r0, #0 ldr r0, [r4, #4] cmp r0, #0 beq _021E3FE6 cmp r0, #1 beq _021E3FF0 cmp r0, #2 beq _021E3FFA b _021E4004 _021E3FE6: mov r0, #0 str r0, [sp, #4] mov r0, #5 str r0, [sp] b _021E4008 _021E3FF0: mov r0, #1 str r0, [sp, #4] mov r0, #6 str r0, [sp] b _021E4008 _021E3FFA: mov r0, #2 str r0, [sp, #4] mov r0, #7 str r0, [sp] b _021E4008 _021E4004: bl GF_AssertFail _021E4008: add r0, r5, #0 ldr r2, [sp, #4] add r0, #0x14 add r1, r7, #0 add r3, r6, #0 bl MOD16_021DBD30 add r0, r5, #0 ldr r2, [sp] add r0, #0x1c add r1, r7, #0 add r3, r6, #0 bl MOD16_021DBD30 ldr r0, [r4] bl MOD16_021D9A54 cmp r0, #0 bne _021E404E add r0, r5, #0 add r0, #0x24 add r1, r7, #0 mov r2, #3 add r3, r6, #0 bl MOD16_021DBD30 add r5, #0x2c add r0, r5, #0 add r1, r7, #0 mov r2, #8 add r3, r6, #0 bl MOD16_021DBD30 add sp, #8 pop {r3, r4, r5, r6, r7, pc} _021E404E: add r0, r5, #0 add r0, #0x24 add r1, r7, #0 mov r2, #4 add r3, r6, #0 bl MOD16_021DBD30 add r5, #0x2c add r0, r5, #0 add r1, r7, #0 mov r2, #9 add r3, r6, #0 bl MOD16_021DBD30 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E3FC4 thumb_func_start MOD16_021E4070 MOD16_021E4070: ; 0x021E4070 push {r4, lr} add r4, r0, #0 add r0, #0x14 bl MOD16_021DBDC0 add r0, r4, #0 add r0, #0x1c bl MOD16_021DBDC0 add r0, r4, #0 add r0, #0x24 bl MOD16_021DBDC0 add r4, #0x2c add r0, r4, #0 bl MOD16_021DBDC0 pop {r4, pc} thumb_func_end MOD16_021E4070 thumb_func_start MOD16_021E4094 MOD16_021E4094: ; 0x021E4094 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, _021E40D0 ; =0x0000080C mov r1, #0 str r1, [r6, r0] add r0, r0, #4 str r1, [r6, r0] mov r0, #2 bl GX_EngineAToggleLayers add r0, r6, #0 add r0, #0xc4 ldr r0, [r0] mov r4, #0 cmp r0, #0 ble _021E40CE add r5, r6, #0 add r7, r4, #0 _021E40B8: ldr r0, [r5, #4] add r1, r7, #0 bl FUN_020200A0 add r0, r6, #0 add r0, #0xc4 ldr r0, [r0] add r4, r4, #1 add r5, r5, #4 cmp r4, r0 blt _021E40B8 _021E40CE: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E40D0: .word 0x0000080C thumb_func_end MOD16_021E4094 thumb_func_start MOD16_021E40D4 MOD16_021E40D4: ; 0x021E40D4 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r0, #0x10 str r0, [sp] ldr r0, _021E4118 ; =0x04000050 mov r1, #0xa mov r2, #8 mov r3, #0 bl G2x_SetBlendAlpha_ mov r0, #2 mov r1, #1 bl GX_EngineAToggleLayers add r0, r6, #0 add r0, #0xc4 ldr r0, [r0] mov r4, #0 cmp r0, #0 ble _021E4116 add r5, r6, #0 add r7, r4, #0 _021E4100: ldr r0, [r5, #4] add r1, r7, #0 bl FUN_020200A0 add r0, r6, #0 add r0, #0xc4 ldr r0, [r0] add r4, r4, #1 add r5, r5, #4 cmp r4, r0 blt _021E4100 _021E4116: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E4118: .word 0x04000050 thumb_func_end MOD16_021E40D4 thumb_func_start MOD16_021E411C MOD16_021E411C: ; 0x021E411C push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, _021E41F4 ; =0x0000080C ldr r1, [r5, r0] cmp r1, #0x20 blt _021E4172 mov r4, #0 str r4, [r5, r0] add r0, r0, #4 ldr r0, [r5, r0] cmp r0, #0 bne _021E4162 add r0, r5, #0 add r0, #0xc4 ldr r0, [r0] cmp r0, #0 ble _021E4158 add r6, r5, #0 mov r7, #1 _021E4142: ldr r0, [r6, #4] add r1, r7, #0 bl FUN_020200A0 add r0, r5, #0 add r0, #0xc4 ldr r0, [r0] add r4, r4, #1 add r6, r6, #4 cmp r4, r0 blt _021E4142 _021E4158: mov r0, #0x81 mov r1, #1 lsl r0, r0, #4 str r1, [r5, r0] b _021E4172 _021E4162: mov r0, #2 mov r1, #1 bl GX_EngineAToggleLayers mov r0, #0x81 add r1, r4, #0 lsl r0, r0, #4 str r1, [r5, r0] _021E4172: ldr r0, _021E41F4 ; =0x0000080C ldr r1, [r5, r0] cmp r1, #0x10 blt _021E417E mov r0, #0x20 sub r1, r0, r1 _021E417E: lsl r2, r1, #0xc asr r1, r2, #0x1f lsr r0, r2, #0x10 lsl r3, r1, #0x10 mov r1, #2 orr r3, r0 lsl r2, r2, #0x10 mov r0, #0 lsl r1, r1, #0xa add r4, r2, r1 adc r3, r0 lsl r2, r3, #0x14 lsr r0, r4, #0xc orr r0, r2 lsl r1, r1, #5 bl FX_Div asr r1, r0, #0xc mov r0, #1 lsl r0, r0, #0xc orr r1, r0 ldr r0, _021E41F8 ; =0x04000052 strh r1, [r0] ldr r0, _021E41F4 ; =0x0000080C ldr r1, [r5, r0] add r1, r1, #1 str r1, [r5, r0] ldr r1, [r5, r0] cmp r1, #0x20 blt _021E41F2 add r0, r0, #4 ldr r0, [r5, r0] cmp r0, #0 bne _021E41CC mov r0, #2 mov r1, #0 bl GX_EngineAToggleLayers pop {r3, r4, r5, r6, r7, pc} _021E41CC: add r0, r5, #0 add r0, #0xc4 ldr r0, [r0] mov r4, #0 cmp r0, #0 ble _021E41F2 add r6, r5, #0 add r7, r4, #0 _021E41DC: ldr r0, [r6, #4] add r1, r7, #0 bl FUN_020200A0 add r0, r5, #0 add r0, #0xc4 ldr r0, [r0] add r4, r4, #1 add r6, r6, #4 cmp r4, r0 blt _021E41DC _021E41F2: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E41F4: .word 0x0000080C _021E41F8: .word 0x04000052 thumb_func_end MOD16_021E411C thumb_func_start MOD16_021E41FC MOD16_021E41FC: ; 0x021E41FC push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 bl MOD16_021D8700 add r6, r0, #0 ldr r0, [r4] bl MOD16_021D9DE8 add r2, r0, #0 mov r0, #0x28 str r0, [sp] mov r0, #0x78 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r4] mov r3, #2 bl MOD16_021D7FB4 add r0, r6, #0 mov r1, #6 mov r2, #0 bl FUN_02007558 add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E41FC thumb_func_start MOD16_021E4234 MOD16_021E4234: ; 0x021E4234 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021E42AC add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E42E8 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E4310 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021E4340 str r0, [r5, #0x24] ldr r0, _021E427C ; =MOD16_021E4344 str r0, [r5, #8] ldr r0, _021E4280 ; =MOD16_021E437C str r0, [r5, #0xc] ldr r0, _021E4284 ; =MOD16_021E43AC str r0, [r5, #0x10] ldr r0, _021E4288 ; =MOD16_021E43C0 str r0, [r5, #0x14] ldr r0, _021E428C ; =MOD16_021E4478 str r0, [r5, #0x18] ldr r0, _021E4290 ; =MOD16_021E44AC str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E427C: .word MOD16_021E4344 _021E4280: .word MOD16_021E437C _021E4284: .word MOD16_021E43AC _021E4288: .word MOD16_021E43C0 _021E428C: .word MOD16_021E4478 _021E4290: .word MOD16_021E44AC thumb_func_end MOD16_021E4234 thumb_func_start MOD16_021E4294 MOD16_021E4294: ; 0x021E4294 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E4314 ldr r0, [r4, #4] bl MOD16_021E4328 ldr r0, [r4, #0x20] bl MOD16_021E433C pop {r4, pc} thumb_func_end MOD16_021E4294 thumb_func_start MOD16_021E42AC MOD16_021E42AC: ; 0x021E42AC push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #8 bl AllocFromHeap add r4, r0, #0 bne _021E42BE bl GF_AssertFail _021E42BE: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] add r0, r5, #0 mov r1, #6 bl MOD16_021D7B5C str r0, [r4] add r0, r5, #0 mov r1, #3 bl MOD16_021D7B7C str r0, [r4, #4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E42AC thumb_func_start MOD16_021E42E8 MOD16_021E42E8: ; 0x021E42E8 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021E42FA bl GF_AssertFail _021E42FA: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E42E8 thumb_func_start MOD16_021E4310 MOD16_021E4310: ; 0x021E4310 mov r0, #0 bx lr thumb_func_end MOD16_021E4310 thumb_func_start MOD16_021E4314 MOD16_021E4314: ; 0x021E4314 push {r4, lr} add r4, r0, #0 bne _021E431E bl GF_AssertFail _021E431E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E4314 thumb_func_start MOD16_021E4328 MOD16_021E4328: ; 0x021E4328 push {r4, lr} add r4, r0, #0 bne _021E4332 bl GF_AssertFail _021E4332: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E4328 thumb_func_start MOD16_021E433C MOD16_021E433C: ; 0x021E433C bx lr .align 2, 0 thumb_func_end MOD16_021E433C thumb_func_start MOD16_021E4340 MOD16_021E4340: ; 0x021E4340 mov r0, #0 bx lr thumb_func_end MOD16_021E4340 thumb_func_start MOD16_021E4344 MOD16_021E4344: ; 0x021E4344 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #4] add r6, r1, #0 mov r1, #0x28 bl AllocFromHeap add r4, r0, #0 bne _021E435A bl GF_AssertFail _021E435A: add r0, r4, #0 mov r1, #0 mov r2, #0x28 bl memset str r4, [r5, #8] add r0, r4, #0 add r1, r6, #0 bl MOD16_021E4A88 ldr r2, [r5, #4] add r0, r4, #0 add r1, r6, #0 bl MOD16_021E47E4 mov r0, #1 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E4344 thumb_func_start MOD16_021E437C MOD16_021E437C: ; 0x021E437C push {r3, r4, r5, lr} add r5, r1, #0 ldr r1, [r0, #0xc] ldr r4, [r0, #8] cmp r1, #1 bne _021E438C mov r0, #1 pop {r3, r4, r5, pc} _021E438C: ldr r0, [r0, #0x10] cmp r0, #1 bne _021E4396 mov r0, #0 pop {r3, r4, r5, pc} _021E4396: ldr r0, [r5, #4] bl MOD16_021E95C0 cmp r0, #0 beq _021E43A8 add r0, r4, #0 add r1, r5, #0 bl MOD16_021E482C _021E43A8: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E437C thumb_func_start MOD16_021E43AC MOD16_021E43AC: ; 0x021E43AC push {r4, lr} ldr r4, [r0, #8] add r0, r4, #0 bl MOD16_021E4968 add r0, r4, #0 bl FreeToHeap mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021E43AC thumb_func_start MOD16_021E43C0 MOD16_021E43C0: ; 0x021E43C0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r3, #8] add r4, r1, #0 str r0, [sp] ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #3 bhi _021E4474 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E43E0: ; jump table .short _021E43E8 - _021E43E0 - 2 ; case 0 .short _021E4402 - _021E43E0 - 2 ; case 1 .short _021E4436 - _021E43E0 - 2 ; case 2 .short _021E4458 - _021E43E0 - 2 ; case 3 _021E43E8: ldr r0, [r4, #4] mov r1, #0x2c bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x2c bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4474 _021E4402: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E45F8 ldr r2, [sp] add r0, r6, #0 add r1, r7, #0 bl MOD16_021E4980 ldr r3, [r4, #4] add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 bl MOD16_021E49B8 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E4550 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4474 _021E4436: ldr r3, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E49B8 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E45BC cmp r0, #0 beq _021E4474 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4474 _021E4458: ldr r3, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E49B8 mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #0 bl MOD16_021D8B3C mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E4474: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E43C0 thumb_func_start MOD16_021E4478 MOD16_021E4478: ; 0x021E4478 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r3, #8] add r5, r1, #0 add r4, r2, #0 str r0, [sp] ldr r7, [r5, #8] ldr r2, [sp] add r0, r7, #0 add r1, r4, #0 bl MOD16_021E4980 ldr r1, [sp] add r0, r6, #0 add r2, r4, #0 bl MOD16_021E4B14 ldr r3, [r5, #4] add r0, r7, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E49B8 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E4478 thumb_func_start MOD16_021E44AC MOD16_021E44AC: ; 0x021E44AC push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r5, [r4, #8] cmp r0, #4 bhi _021E4534 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E44C8: ; jump table .short _021E44D2 - _021E44C8 - 2 ; case 0 .short _021E44F4 - _021E44C8 - 2 ; case 1 .short _021E450A - _021E44C8 - 2 ; case 2 .short _021E451C - _021E44C8 - 2 ; case 3 .short _021E4530 - _021E44C8 - 2 ; case 4 _021E44D2: mov r0, #0x79 ldr r1, [r6] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 bl MOD16_021D8B3C add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021E4550 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4534 _021E44F4: add r0, r5, #0 add r1, r6, #0 mov r3, #0 bl MOD16_021E45BC cmp r0, #0 beq _021E4534 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4534 _021E450A: ldr r2, [r4, #4] add r0, r5, #0 add r1, r6, #0 bl MOD16_021E4620 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4534 _021E451C: ldr r0, [r5, #0x14] bl FreeToHeap ldr r0, [r4, #8] bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4534 _021E4530: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E4534: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E44AC thumb_func_start MOD16_021E4538 MOD16_021E4538: ; 0x021E4538 ldr r3, _021E4540 ; =FUN_02020398 ldr r0, [r0] mov r1, #1 bx r3 .align 2, 0 _021E4540: .word FUN_02020398 thumb_func_end MOD16_021E4538 thumb_func_start MOD16_021E4544 MOD16_021E4544: ; 0x021E4544 ldr r3, _021E454C ; =FUN_02020398 ldr r0, [r0] mov r1, #0 bx r3 .align 2, 0 _021E454C: .word FUN_02020398 thumb_func_end MOD16_021E4544 thumb_func_start MOD16_021E4550 MOD16_021E4550: ; 0x021E4550 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021E4538 ldr r0, [r4, #4] bl MOD16_021E95B8 cmp r0, #0 beq _021E45B8 cmp r6, #0 beq _021E4594 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r2, [r5] lsl r0, r0, #4 add r0, r2, r0 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r3, r4, r5, r6, pc} _021E4594: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r3, [r5] lsl r0, r0, #4 add r0, r3, r0 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E45B8: add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021E4550 thumb_func_start MOD16_021E45BC MOD16_021E45BC: ; 0x021E45BC push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #4] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E95B8 cmp r0, #0 beq _021E45DC mov r0, #0x19 ldr r1, [r5] lsl r0, r0, #4 add r0, r1, r0 bl MOD16_021D89B4 b _021E45E2 _021E45DC: mov r0, #2 bl FUN_0200A344 _021E45E2: cmp r0, #0 beq _021E45F4 cmp r4, #0 beq _021E45F0 add r0, r6, #0 bl MOD16_021E4544 _021E45F0: mov r0, #1 pop {r4, r5, r6, pc} _021E45F4: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E45BC thumb_func_start MOD16_021E45F8 MOD16_021E45F8: ; 0x021E45F8 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 MOD16_021E4634 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E469C add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E4750 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E45F8 thumb_func_start MOD16_021E4620 MOD16_021E4620: ; 0x021E4620 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E47D8 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E471C pop {r3, r4, r5, pc} thumb_func_end MOD16_021E4620 thumb_func_start MOD16_021E4634 MOD16_021E4634: ; 0x021E4634 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] add r5, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x22 mov r3, #6 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x45 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #6 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E4634 thumb_func_start MOD16_021E469C MOD16_021E469C: ; 0x021E469C push {r4, r5, r6, r7, lr} sub sp, #0xc ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E4710 ; =0x000017D9 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x69 mov r3, #1 bl FUN_020091E0 str r0, [r5, #4] bl FUN_02009B04 ldr r0, [r5, #4] bl FUN_02009474 ldr r0, _021E4714 ; =0x000017D7 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x67 mov r3, #1 bl FUN_02009358 str r0, [r5, #0xc] ldr r0, _021E4718 ; =0x000017D8 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x68 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x10] add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _021E4710: .word 0x000017D9 _021E4714: .word 0x000017D7 _021E4718: .word 0x000017D8 thumb_func_end MOD16_021E469C thumb_func_start MOD16_021E471C MOD16_021E471C: ; 0x021E471C push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #4] ldr r4, [r1] bl FUN_02009C0C mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #4] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0xc] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x10] bl FUN_02009490 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E471C thumb_func_start MOD16_021E4750 MOD16_021E4750: ; 0x021E4750 push {r4, r5, r6, lr} sub sp, #0x70 ldr r4, [r1] ldr r3, _021E47D0 ; =0x000017D8 add r5, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 add r6, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] ldr r2, _021E47D4 ; =0x0000083F str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0 str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x1f str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] mov r0, #3 lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c str r6, [sp, #0x48] str r1, [sp, #0x34] bl FUN_0201FF84 mov r1, #0 str r0, [r5] bl FUN_02020130 add sp, #0x70 pop {r4, r5, r6, pc} .align 2, 0 _021E47D0: .word 0x000017D8 _021E47D4: .word 0x0000083F thumb_func_end MOD16_021E4750 thumb_func_start MOD16_021E47D8 MOD16_021E47D8: ; 0x021E47D8 ldr r3, _021E47E0 ; =FUN_0201FFC8 ldr r0, [r0] bx r3 nop _021E47E0: .word FUN_0201FFC8 thumb_func_end MOD16_021E47D8 thumb_func_start MOD16_021E47E4 MOD16_021E47E4: ; 0x021E47E4 push {r3, r4, r5, r6, lr} sub sp, #4 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #4 bl AllocFromHeap str r0, [r5, #0x14] mov r1, #0xfe strb r1, [r0] ldr r1, [r5] ldr r0, [r5, #0x14] add r3, r5, #0 strb r1, [r0, #1] ldr r1, [r5, #4] ldr r0, [r5, #0x14] ldr r2, _021E4828 ; =MOD16_021E4938 strb r1, [r0, #2] ldr r0, [r5, #0x14] mov r1, #0x20 strb r1, [r0, #3] str r4, [r5, #0x18] str r5, [r5, #0x1c] str r6, [sp] ldr r0, [r5, #0x14] mov r1, #1 add r3, #0x18 bl FUN_020220C4 str r0, [r5, #0x10] add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _021E4828: .word MOD16_021E4938 thumb_func_end MOD16_021E47E4 thumb_func_start MOD16_021E482C MOD16_021E482C: ; 0x021E482C push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, [r4, #0x10] add r5, r1, #0 bl FUN_02022144 add r0, r4, #0 add r1, r5, #0 bl MOD16_021E48BC ldr r1, [r4] ldr r0, [r4, #0x14] strb r1, [r0, #1] ldr r1, [r4, #4] ldr r0, [r4, #0x14] strb r1, [r0, #2] pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E482C thumb_func_start MOD16_021E4850 MOD16_021E4850: ; 0x021E4850 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, _021E48B4 ; =gMain + 0x40 add r4, r1, #0 ldrh r0, [r0, #0x22] cmp r0, #0 bne _021E48B2 ldr r0, [r4, #4] bl MOD16_021E95C8 cmp r0, #1 bne _021E48B2 ldr r0, [r4] bl MOD16_021E2F30 ldr r1, _021E48B8 ; =gMain ldr r2, [r1, #0x48] mov r1, #0x20 tst r1, r2 beq _021E4892 sub r1, r0, #1 bpl _021E487E mov r1, #0 _021E487E: ldr r0, [r4] bl MOD16_021E2F38 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E4A88 mov r0, #1 str r0, [r5, #0x24] pop {r3, r4, r5, pc} _021E4892: mov r1, #0x10 tst r1, r2 beq _021E48B2 add r1, r0, #1 cmp r1, #3 blt _021E48A0 mov r1, #2 _021E48A0: ldr r0, [r4] bl MOD16_021E2F38 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E4A88 mov r0, #1 str r0, [r5, #0x24] _021E48B2: pop {r3, r4, r5, pc} .align 2, 0 _021E48B4: .word gMain + 0x40 _021E48B8: .word gMain thumb_func_end MOD16_021E4850 thumb_func_start MOD16_021E48BC MOD16_021E48BC: ; 0x021E48BC push {r3, r4, r5, lr} add r5, r0, #0 mov r2, #0 str r2, [r5, #0x24] ldr r3, [r5, #0x20] add r4, r1, #0 cmp r3, #0 beq _021E492E ldr r0, _021E4934 ; =gMain + 0x40 ldrh r1, [r0, #0x22] cmp r1, #0 beq _021E492A ldrh r2, [r0, #0x1c] ldr r1, [r5, #8] sub r1, r2, r1 str r1, [r5] ldrh r1, [r0, #0x1e] ldr r0, [r5, #0xc] sub r0, r1, r0 str r0, [r5, #4] ldr r0, [r5] cmp r0, #0x18 bge _021E48EE mov r0, #0x18 str r0, [r5] _021E48EE: ldr r0, [r5] cmp r0, #0xf6 ble _021E48F8 mov r0, #0xf6 str r0, [r5] _021E48F8: ldr r0, [r5, #4] cmp r0, #0x40 bge _021E4902 mov r0, #0x40 str r0, [r5, #4] _021E4902: ldr r0, [r5] bl MOD16_021E4AC0 ldr r1, [r5, #4] add r0, #0x84 cmp r1, r0 ble _021E4912 str r0, [r5, #4] _021E4912: ldr r0, [r5] mov r1, #0x55 bl _s32_div_f add r1, r0, #0 cmp r1, #2 ble _021E4922 mov r1, #2 _021E4922: ldr r0, [r4] bl MOD16_021E2F38 pop {r3, r4, r5, pc} _021E492A: str r2, [r5, #0x20] pop {r3, r4, r5, pc} _021E492E: bl MOD16_021E4850 pop {r3, r4, r5, pc} .align 2, 0 _021E4934: .word gMain + 0x40 thumb_func_end MOD16_021E48BC thumb_func_start MOD16_021E4938 MOD16_021E4938: ; 0x021E4938 push {r4, lr} ldr r4, [r2, #4] cmp r1, #0 bne _021E495C ldr r0, _021E4960 ; =0x000005DD bl FUN_020054C8 mov r0, #1 str r0, [r4, #0x20] ldr r0, _021E4964 ; =gMain + 0x40 ldr r1, [r4] ldrh r2, [r0, #0x1c] sub r1, r2, r1 str r1, [r4, #8] ldrh r1, [r0, #0x1e] ldr r0, [r4, #4] sub r0, r1, r0 str r0, [r4, #0xc] _021E495C: pop {r4, pc} nop _021E4960: .word 0x000005DD _021E4964: .word gMain + 0x40 thumb_func_end MOD16_021E4938 thumb_func_start MOD16_021E4968 MOD16_021E4968: ; 0x021E4968 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x10] bl FUN_0202212C ldr r0, [r4, #0x14] bl FreeToHeap mov r0, #0 str r0, [r4, #0x14] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E4968 thumb_func_start MOD16_021E4980 MOD16_021E4980: ; 0x021E4980 push {r4, r5, lr} sub sp, #0xc add r5, r0, #0 ldr r0, [r2] add r4, r1, #0 lsl r0, r0, #0xc str r0, [sp] ldr r0, [r2, #4] lsl r1, r0, #0xc mov r0, #3 lsl r0, r0, #0x12 str r1, [sp, #4] add r0, r1, r0 str r0, [sp, #4] ldr r0, [r5] add r1, sp, #0 bl FUN_02020044 ldr r0, [r4] bl MOD16_021E2F30 add r1, r0, #0 ldr r0, [r5] bl FUN_02020130 add sp, #0xc pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E4980 thumb_func_start MOD16_021E49B8 MOD16_021E49B8: ; 0x021E49B8 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 ldr r0, [r2] add r7, r1, #0 str r3, [sp] mov r4, #0 bl MOD16_021E2F30 ldr r1, [r5, #0x18] add r6, r0, #0 cmp r1, r6 bne _021E49DC ldr r0, [r5, #0x14] cmp r0, #0 beq _021E49DC ldr r0, [r5, #0x1c] cmp r0, r1 beq _021E4A86 _021E49DC: ldr r0, [r5, #0x1c] cmp r0, r6 beq _021E49E8 str r0, [r5, #0x18] mov r0, #0 str r0, [r5, #0x24] _021E49E8: ldr r0, [r5, #0x24] cmp r0, #0 beq _021E49F8 cmp r0, #1 beq _021E4A2E cmp r0, #2 beq _021E4A64 b _021E4A6C _021E49F8: str r6, [r5, #0x1c] ldr r0, [r5, #0x14] cmp r0, #0 beq _021E4A04 bl FreeToHeap _021E4A04: ldr r1, [r5, #0x18] add r2, r5, #0 ldr r0, [r7] ldr r3, [sp] add r1, #0xf add r2, #0x20 bl MOD16_021D8D70 str r0, [r5, #0x14] mov r0, #0 str r0, [r5, #0x28] ldr r0, [r5, #0x18] cmp r0, r6 ble _021E4A24 mov r4, #1 b _021E4A26 _021E4A24: mov r4, #2 _021E4A26: ldr r0, [r5, #0x24] add r0, r0, #1 str r0, [r5, #0x24] b _021E4A6C _021E4A2E: ldr r0, [r5, #0x14] cmp r0, #0 beq _021E4A38 bl FreeToHeap _021E4A38: ldr r1, [r5, #0x1c] add r2, r5, #0 ldr r0, [r7] ldr r3, [sp] add r1, #0xf add r2, #0x20 bl MOD16_021D8D70 str r0, [r5, #0x14] mov r0, #0 str r0, [r5, #0x28] ldr r1, [r5, #0x18] ldr r0, [r5, #0x1c] cmp r1, r0 bge _021E4A5A mov r4, #1 b _021E4A5C _021E4A5A: mov r4, #2 _021E4A5C: ldr r0, [r5, #0x24] add r0, r0, #1 str r0, [r5, #0x24] b _021E4A6C _021E4A64: mov r4, #0 str r4, [r5, #0x24] ldr r0, [r5, #0x1c] str r0, [r5, #0x18] _021E4A6C: ldr r2, [r5, #0x20] mov r0, #0x1f ldr r3, [r2, #0xc] lsl r2, r4, #5 add r2, r3, r2 mov r1, #0x40 mov r3, #0x20 bl FUN_0201C2C8 cmp r0, #0 bne _021E4A86 bl GF_AssertFail _021E4A86: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E49B8 thumb_func_start MOD16_021E4A88 MOD16_021E4A88: ; 0x021E4A88 push {r4, lr} add r4, r0, #0 ldr r0, [r1] bl MOD16_021E2F30 cmp r0, #0 beq _021E4AA0 cmp r0, #1 beq _021E4AAA cmp r0, #2 beq _021E4AB4 pop {r4, pc} _021E4AA0: mov r0, #0x20 str r0, [r4] mov r0, #0x80 str r0, [r4, #4] pop {r4, pc} _021E4AAA: mov r0, #0x80 str r0, [r4] mov r0, #0x60 str r0, [r4, #4] pop {r4, pc} _021E4AB4: mov r0, #0xe0 str r0, [r4] mov r0, #0x80 str r0, [r4, #4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E4A88 thumb_func_start MOD16_021E4AC0 MOD16_021E4AC0: ; 0x021E4AC0 push {r3, lr} cmp r0, #0x28 blt _021E4ACA cmp r0, #0xd8 ble _021E4ACE _021E4ACA: mov r0, #0x30 pop {r3, pc} _021E4ACE: ldr r1, _021E4B0C ; =0x00007FFF sub r0, #0x28 mul r1, r0 add r0, r1, #0 mov r1, #0xb0 bl _s32_div_f lsl r0, r0, #0x10 lsr r0, r0, #0x10 asr r0, r0, #4 lsl r1, r0, #2 ldr r0, _021E4B10 ; =FX_SinCosTable_ mov r2, #3 ldrsh r0, [r0, r1] lsl r2, r2, #0x10 mov r3, #0 asr r1, r0, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r2, r0, r2 adc r1, r3 lsl r0, r1, #0x14 lsr r1, r2, #0xc orr r1, r0 asr r1, r1, #0xc mov r0, #0x30 sub r0, r0, r1 pop {r3, pc} .align 2, 0 _021E4B0C: .word 0x00007FFF _021E4B10: .word FX_SinCosTable_ thumb_func_end MOD16_021E4AC0 thumb_func_start MOD16_021E4B14 MOD16_021E4B14: ; 0x021E4B14 push {r3, r4, r5, lr} ldr r4, [r0] ldr r0, [r2, #4] add r5, r1, #0 bl MOD16_021E95C8 cmp r0, #1 bne _021E4B48 ldr r0, [r5, #0x24] cmp r0, #0 bne _021E4B3A mov r3, #0x20 str r3, [sp] ldr r1, [r5] ldr r2, [r5, #4] add r0, r4, #0 bl MOD16_021D8B04 pop {r3, r4, r5, pc} _021E4B3A: mov r3, #0x20 str r3, [sp] ldr r1, [r5] ldr r2, [r5, #4] add r0, r4, #0 bl MOD16_021D8B78 _021E4B48: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E4B14 thumb_func_start MOD16_021E4B4C MOD16_021E4B4C: ; 0x021E4B4C push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 add r0, r7, #0 bl MOD16_021E4BCC add r4, r0, #0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021E4C08 str r4, [r5] str r0, [r5, #4] mov r0, #0 str r0, [r5, #0x20] bl MOD16_021E4C58 str r0, [r5, #0x24] ldr r0, _021E4B8C ; =MOD16_021E4C5C str r0, [r5, #8] ldr r0, _021E4B90 ; =MOD16_021E4C80 str r0, [r5, #0xc] ldr r0, _021E4B94 ; =MOD16_021E4CD0 str r0, [r5, #0x10] ldr r0, _021E4B98 ; =MOD16_021E4CDC str r0, [r5, #0x14] ldr r0, _021E4B9C ; =MOD16_021E4DBC str r0, [r5, #0x18] ldr r0, _021E4BA0 ; =MOD16_021E4DC0 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E4B8C: .word MOD16_021E4C5C _021E4B90: .word MOD16_021E4C80 _021E4B94: .word MOD16_021E4CD0 _021E4B98: .word MOD16_021E4CDC _021E4B9C: .word MOD16_021E4DBC _021E4BA0: .word MOD16_021E4DC0 thumb_func_end MOD16_021E4B4C thumb_func_start MOD16_021E4BA4 MOD16_021E4BA4: ; 0x021E4BA4 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E4C30 ldr r0, [r4, #4] bl MOD16_021E4C44 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E4BA4 thumb_func_start MOD16_021E4BB8 MOD16_021E4BB8: ; 0x021E4BB8 mov r0, #0 bx lr thumb_func_end MOD16_021E4BB8 thumb_func_start MOD16_021E4BBC MOD16_021E4BBC: ; 0x021E4BBC mov r2, #1 cmp r1, #1 bne _021E4BC6 mov r1, #0 add r2, r1, #0 _021E4BC6: str r1, [r0, #0x18] add r0, r2, #0 bx lr thumb_func_end MOD16_021E4BBC thumb_func_start MOD16_021E4BCC MOD16_021E4BCC: ; 0x021E4BCC push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x20 bl AllocFromHeap add r4, r0, #0 bne _021E4BDE bl GF_AssertFail _021E4BDE: add r0, r4, #0 mov r1, #0 mov r2, #0x20 bl memset add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E4BCC thumb_func_start MOD16_021E4C08 MOD16_021E4C08: ; 0x021E4C08 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021E4C1A bl GF_AssertFail _021E4C1A: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E4C08 thumb_func_start MOD16_021E4C30 MOD16_021E4C30: ; 0x021E4C30 push {r4, lr} add r4, r0, #0 bne _021E4C3A bl GF_AssertFail _021E4C3A: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E4C30 thumb_func_start MOD16_021E4C44 MOD16_021E4C44: ; 0x021E4C44 push {r4, lr} add r4, r0, #0 bne _021E4C4E bl GF_AssertFail _021E4C4E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E4C44 thumb_func_start MOD16_021E4C58 MOD16_021E4C58: ; 0x021E4C58 mov r0, #0 bx lr thumb_func_end MOD16_021E4C58 thumb_func_start MOD16_021E4C5C MOD16_021E4C5C: ; 0x021E4C5C push {r4, lr} add r4, r1, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r1, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9A60 ldr r0, [r4, #4] bl MOD16_021D9D04 add r1, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9A78 mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021E4C5C thumb_func_start MOD16_021E4C80 MOD16_021E4C80: ; 0x021E4C80 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0xc] add r4, r1, #0 cmp r0, #1 bne _021E4C90 mov r0, #1 pop {r3, r4, r5, pc} _021E4C90: ldr r0, [r5, #0x10] cmp r0, #1 bne _021E4C9A mov r0, #0 pop {r3, r4, r5, pc} _021E4C9A: ldr r0, [r5] cmp r0, #0 bne _021E4CC8 ldr r0, [r4, #0x1c] cmp r0, #1 bne _021E4CC2 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r1, r0, #0 ldr r2, _021E4CCC ; =0x000001FF lsl r1, r1, #0x10 mov r0, #0xe lsr r1, r1, #0x10 add r3, r2, #0 str r2, [sp] bl FUN_020056AC mov r0, #0 str r0, [r4, #0x1c] _021E4CC2: ldr r0, [r5] add r0, r0, #1 str r0, [r5] _021E4CC8: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 _021E4CCC: .word 0x000001FF thumb_func_end MOD16_021E4C80 thumb_func_start MOD16_021E4CD0 MOD16_021E4CD0: ; 0x021E4CD0 push {r3, lr} mov r0, #0 bl FUN_02005614 mov r0, #1 pop {r3, pc} thumb_func_end MOD16_021E4CD0 thumb_func_start MOD16_021E4CDC MOD16_021E4CDC: ; 0x021E4CDC push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r5, [r4, #8] cmp r0, #3 bhi _021E4DB2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E4CF8: ; jump table .short _021E4D00 - _021E4CF8 - 2 ; case 0 .short _021E4D1A - _021E4CF8 - 2 ; case 1 .short _021E4D64 - _021E4CF8 - 2 ; case 2 .short _021E4DA8 - _021E4CF8 - 2 ; case 3 _021E4D00: ldr r0, [r4, #4] mov r1, #0x74 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x74 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4DB2 _021E4D1A: ldr r3, [r4, #4] add r0, r5, #0 add r1, r6, #0 bl MOD16_021E4E7C ldr r0, [r7, #0x14] cmp r0, #0 beq _021E4D34 cmp r0, #1 beq _021E4D42 cmp r0, #2 beq _021E4D50 b _021E4D5C _021E4D34: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E5908 b _021E4D5C _021E4D42: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E5830 b _021E4D5C _021E4D50: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E5A04 _021E4D5C: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4DB2 _021E4D64: ldr r0, [r7, #0x14] cmp r0, #0 beq _021E4D74 cmp r0, #1 beq _021E4D82 cmp r0, #2 beq _021E4D90 b _021E4D9C _021E4D74: add r0, r5, #0 add r1, r6, #0 mov r3, #1 bl MOD16_021E598C add r1, r0, #0 b _021E4D9C _021E4D82: add r0, r5, #0 add r1, r6, #0 mov r3, #1 bl MOD16_021E58AC add r1, r0, #0 b _021E4D9C _021E4D90: add r0, r5, #0 add r1, r6, #0 mov r3, #1 bl MOD16_021E5A8C add r1, r0, #0 _021E4D9C: cmp r1, #0 beq _021E4DB2 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4DB2 _021E4DA8: ldr r0, _021E4DB8 ; =0x04000050 mov r1, #0 strh r1, [r0] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E4DB2: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} nop _021E4DB8: .word 0x04000050 thumb_func_end MOD16_021E4CDC thumb_func_start MOD16_021E4DBC MOD16_021E4DBC: ; 0x021E4DBC mov r0, #0 bx lr thumb_func_end MOD16_021E4DBC thumb_func_start MOD16_021E4DC0 MOD16_021E4DC0: ; 0x021E4DC0 push {r3, r4, r5, lr} add r4, r1, #0 ldr r5, [r4] add r3, r0, #0 add r1, r2, #0 ldr r0, [r4, #8] cmp r5, #4 bhi _021E4E76 add r5, r5, r5 add r5, pc ldrh r5, [r5, #6] lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 _021E4DDC: ; jump table .short _021E4DE6 - _021E4DDC - 2 ; case 0 .short _021E4E1A - _021E4DDC - 2 ; case 1 .short _021E4E58 - _021E4DDC - 2 ; case 2 .short _021E4E66 - _021E4DDC - 2 ; case 3 .short _021E4E72 - _021E4DDC - 2 ; case 4 _021E4DE6: ldr r1, [r1, #0x14] cmp r1, #0 beq _021E4DF6 cmp r1, #1 beq _021E4E00 cmp r1, #2 beq _021E4E0A b _021E4E12 _021E4DF6: add r1, r3, #0 mov r3, #0 bl MOD16_021E5908 b _021E4E12 _021E4E00: add r1, r3, #0 mov r3, #0 bl MOD16_021E5830 b _021E4E12 _021E4E0A: add r1, r3, #0 mov r3, #0 bl MOD16_021E5A04 _021E4E12: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4E76 _021E4E1A: ldr r1, [r1, #0x14] cmp r1, #0 beq _021E4E2A cmp r1, #1 beq _021E4E36 cmp r1, #2 beq _021E4E42 b _021E4E4C _021E4E2A: add r1, r3, #0 mov r3, #0 bl MOD16_021E598C add r2, r0, #0 b _021E4E4C _021E4E36: add r1, r3, #0 mov r3, #0 bl MOD16_021E58AC add r2, r0, #0 b _021E4E4C _021E4E42: add r1, r3, #0 mov r3, #0 bl MOD16_021E5A8C add r2, r0, #0 _021E4E4C: cmp r2, #0 beq _021E4E76 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4E76 _021E4E58: add r1, r3, #0 bl MOD16_021E4EE4 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4E76 _021E4E66: bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E4E76 _021E4E72: mov r0, #1 pop {r3, r4, r5, pc} _021E4E76: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E4DC0 thumb_func_start MOD16_021E4E7C MOD16_021E4E7C: ; 0x021E4E7C push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 add r7, r0, #0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E53C4 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E5410 add r0, r7, #0 add r1, r5, #0 add r2, r6, #0 bl MOD16_021E5464 add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021E56D0 add r0, r5, #0 add r1, r6, #0 bl MOD16_021E4F1C add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E5030 ldr r0, [r4, #4] bl MOD16_021D9DF8 cmp r0, #2 bne _021E4EE2 add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021E51FC add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021E5554 _021E4EE2: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E4E7C thumb_func_start MOD16_021E4EE4 MOD16_021E4EE4: ; 0x021E4EE4 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 bl MOD16_021E5818 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer add r0, r5, #0 add r1, r4, #0 bl MOD16_021E5224 add r0, r5, #0 bl MOD16_021E56B4 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E5510 ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_02018744 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E4EE4 thumb_func_start MOD16_021E4F1C MOD16_021E4F1C: ; 0x021E4F1C push {r3, r4, r5, r6, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #3 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x32 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r6, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x33 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r1, #3 str r1, [sp] add r6, r0, #0 ldrh r0, [r2] mov r3, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x34 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r6, r0, #0 ldr r2, [sp, #0x10] mov r0, #8 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x36 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r4, r0, #0 ldr r2, [sp, #0x10] mov r0, #0x10 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap ldr r0, [r5] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E4F1C thumb_func_start MOD16_021E5030 MOD16_021E5030: ; 0x021E5030 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #4] add r7, r2, #0 bl MOD16_021D9DE8 add r6, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DF8 cmp r0, #2 beq _021E504C mov r6, #0 _021E504C: ldr r0, _021E5060 ; =0x00020100 add r1, r6, #0 str r0, [sp] ldr r0, [r5] ldr r3, [r4, #0x18] add r0, r0, #4 add r2, r7, #0 bl MOD16_021E5064 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E5060: .word 0x00020100 thumb_func_end MOD16_021E5030 thumb_func_start MOD16_021E5064 MOD16_021E5064: ; 0x021E5064 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r6, r2, #0 add r5, r0, #0 str r1, [sp, #0x10] mov r0, #0x40 add r1, r6, #0 str r3, [sp, #0x14] ldr r4, [sp, #0x30] bl String_ctor add r7, r0, #0 ldr r2, _021E5100 ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r6, #0 bl NewMsgDataFromNarc mov r1, #9 add r2, r7, #0 str r0, [sp, #0x18] bl ReadMsgDataIntoString mov r0, #0x58 str r0, [sp] mov r1, #0 str r1, [sp, #4] str r4, [sp, #8] add r0, r5, #0 add r2, r7, #0 mov r3, #0x98 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] mov r1, #0xa add r2, r7, #0 bl ReadMsgDataIntoString mov r0, #0x68 str r0, [sp] mov r1, #0 str r1, [sp, #4] str r4, [sp, #8] add r0, r5, #0 add r2, r7, #0 mov r3, #0x98 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r7, #0 bl String_dtor ldr r0, [sp, #0x18] bl DestroyMsgData ldr r2, [sp, #0x10] add r0, r5, #0 add r1, r6, #0 add r3, r4, #0 bl MOD16_021E5104 ldr r2, [sp, #0x10] add r0, r5, #0 add r1, r6, #0 add r3, r4, #0 bl MOD16_021E5158 ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] add r0, r5, #0 add r1, r6, #0 str r4, [sp] bl MOD16_021E51AC add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021E5100: .word 0x00000266 thumb_func_end MOD16_021E5064 thumb_func_start MOD16_021E5104 MOD16_021E5104: ; 0x021E5104 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r0, #0 mov r0, #0x40 add r6, r1, #0 str r2, [sp, #0x10] add r5, r3, #0 bl String_ctor mov r2, #0x9b add r4, r0, #0 mov r0, #0 mov r1, #0x1a lsl r2, r2, #2 add r3, r6, #0 bl NewMsgDataFromNarc ldr r1, [sp, #0x10] add r2, r4, #0 add r6, r0, #0 bl ReadMsgDataIntoString mov r0, #0x58 str r0, [sp] mov r1, #0 str r1, [sp, #4] str r5, [sp, #8] add r0, r7, #0 add r2, r4, #0 mov r3, #0xb8 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r6, #0 bl DestroyMsgData add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E5104 thumb_func_start MOD16_021E5158 MOD16_021E5158: ; 0x021E5158 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r0, #0 mov r0, #0x40 add r6, r1, #0 str r2, [sp, #0x10] add r5, r3, #0 bl String_ctor add r4, r0, #0 ldr r2, _021E51A8 ; =0x0000026B mov r0, #0 mov r1, #0x1a add r3, r6, #0 bl NewMsgDataFromNarc ldr r1, [sp, #0x10] add r2, r4, #0 add r6, r0, #0 bl ReadMsgDataIntoString mov r0, #0x68 str r0, [sp] mov r1, #0 str r1, [sp, #4] str r5, [sp, #8] add r0, r7, #0 add r2, r4, #0 mov r3, #0xb8 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r6, #0 bl DestroyMsgData add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021E51A8: .word 0x0000026B thumb_func_end MOD16_021E5158 thumb_func_start MOD16_021E51AC MOD16_021E51AC: ; 0x021E51AC push {r3, r4, r5, lr} sub sp, #0x10 add r4, r1, #0 add r5, r0, #0 add r0, r2, #0 add r2, r3, #0 mov r1, #2 add r3, r4, #0 bl MOD16_021DBC48 add r4, r0, #0 mov r0, #0 add r1, r4, #0 add r2, r0, #0 bl FUN_02002F08 cmp r0, #0xf0 bhs _021E51D8 lsr r1, r0, #1 mov r0, #0x80 sub r3, r0, r1 b _021E51DA _021E51D8: mov r3, #8 _021E51DA: mov r0, #0x88 str r0, [sp] mov r1, #0 ldr r0, [sp, #0x20] str r1, [sp, #4] str r0, [sp, #8] add r0, r5, #0 add r2, r4, #0 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r4, #0 bl MOD16_021DBBAC add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E51AC thumb_func_start MOD16_021E51FC MOD16_021E51FC: ; 0x021E51FC push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r2, #4] add r4, r1, #0 add r6, r3, #0 bl MOD16_021D9DE8 add r3, r0, #0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E5238 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E533C pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E51FC thumb_func_start MOD16_021E5224 MOD16_021E5224: ; 0x021E5224 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E53B4 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E52F4 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E5224 thumb_func_start MOD16_021E5238 MOD16_021E5238: ; 0x021E5238 push {r4, r5, r6, r7, lr} sub sp, #0x24 str r3, [sp, #0x10] add r5, r0, #0 add r6, r2, #0 ldr r4, [r1] bl MOD16_021D8520 add r7, r0, #0 ldr r0, [sp, #0x10] bl MOD16_021D8524 str r0, [sp, #0x14] bl MOD16_021D8528 str r0, [sp, #0x18] bl MOD16_021D852C str r0, [sp, #0x1c] bl MOD16_021D8530 str r0, [sp, #0x20] mov r0, #0xfa lsl r0, r0, #4 str r0, [sp] mov r3, #1 str r3, [sp, #4] mov r0, #5 str r6, [sp, #8] lsl r0, r0, #6 ldr r0, [r4, r0] ldr r2, [sp, #0x14] add r1, r7, #0 bl FUN_02008F34 str r0, [r5, #0x24] bl FUN_02009B04 ldr r0, [r5, #0x24] bl FUN_02009474 mov r0, #0xfa lsl r0, r0, #4 str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x51 str r6, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r4, r0] ldr r2, [sp, #0x18] add r1, r7, #0 mov r3, #0 bl FUN_02008FEC str r0, [r5, #0x28] bl FUN_02009D68 ldr r0, [r5, #0x28] bl FUN_02009474 mov r0, #0xfa lsl r0, r0, #4 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r6, [sp, #8] lsl r0, r0, #2 ldr r0, [r4, r0] ldr r2, [sp, #0x1c] add r1, r7, #0 mov r3, #1 bl FUN_020090AC str r0, [r5, #0x2c] mov r0, #0xfa lsl r0, r0, #4 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r6, [sp, #8] lsl r0, r0, #2 ldr r0, [r4, r0] ldr r2, [sp, #0x20] add r1, r7, #0 mov r3, #1 bl FUN_020090AC str r0, [r5, #0x30] add sp, #0x24 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E5238 thumb_func_start MOD16_021E52F4 MOD16_021E52F4: ; 0x021E52F4 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x24] ldr r4, [r1] cmp r0, #0 beq _021E533A bl FUN_02009C0C ldr r0, [r5, #0x28] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x24] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x28] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x2c] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x30] bl FUN_02009490 _021E533A: pop {r3, r4, r5, pc} thumb_func_end MOD16_021E52F4 thumb_func_start MOD16_021E533C MOD16_021E533C: ; 0x021E533C push {r4, r5, r6, lr} sub sp, #0x70 ldr r4, [r1] mov r1, #0xfa add r5, r0, #0 lsl r1, r1, #4 mov r0, #0 add r6, r2, #0 str r1, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #5 str r2, [sp, #0x10] lsl r0, r0, #6 ldr r3, [r4, r0] str r3, [sp, #0x14] add r3, r0, #4 ldr r3, [r4, r3] str r3, [sp, #0x18] add r3, r0, #0 add r3, #8 ldr r3, [r4, r3] add r0, #0xc str r3, [sp, #0x1c] ldr r0, [r4, r0] add r3, r1, #0 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r0, sp, #0x4c add r2, r1, #0 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x20 str r0, [sp, #0x40] mov r0, #1 str r0, [sp, #0x44] mov r0, #0x16 lsl r0, r0, #0xe str r0, [sp, #0x38] mov r0, #0x1e lsl r0, r0, #0xe str r0, [sp, #0x34] add r0, sp, #0x2c str r6, [sp, #0x48] bl FUN_0201FF84 str r0, [r5] add sp, #0x70 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E533C thumb_func_start MOD16_021E53B4 MOD16_021E53B4: ; 0x021E53B4 push {r3, lr} ldr r0, [r0] cmp r0, #0 beq _021E53C0 bl FUN_0201FFC8 _021E53C0: pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E53B4 thumb_func_start MOD16_021E53C4 MOD16_021E53C4: ; 0x021E53C4 push {r4, r5, r6, lr} sub sp, #8 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #4] add r6, r2, #0 bl MOD16_021D9D88 add r3, r0, #0 mov r0, #0x2b lsl r0, r0, #0xe str r0, [sp] mov r0, #2 lsl r0, r0, #0x10 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r4, #4] add r2, r6, #0 bl MOD16_021D7E9C ldr r0, [r5] mov r1, #0 bl MOD16_021D891C add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E53C4 thumb_func_start MOD16_021E53F8 MOD16_021E53F8: ; 0x021E53F8 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #0 bl MOD16_021D8950 ldr r0, [r4] mov r1, #0 bl MOD16_021D88F0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E53F8 thumb_func_start MOD16_021E5410 MOD16_021E5410: ; 0x021E5410 push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 bl MOD16_021D8700 add r6, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r2, r0, #0 mov r0, #0x30 str r0, [sp] mov r0, #0x48 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r4, #4] mov r3, #2 bl MOD16_021D7FB4 add r0, r6, #0 mov r1, #6 mov r2, #0 bl FUN_02007558 add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E5410 thumb_func_start MOD16_021E5448 MOD16_021E5448: ; 0x021E5448 push {r4, lr} ldr r0, [r0] bl MOD16_021D8700 add r4, r0, #0 mov r1, #6 mov r2, #1 bl FUN_02007558 add r0, r4, #0 bl FUN_02007EEC pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E5448 thumb_func_start MOD16_021E5464 MOD16_021E5464: ; 0x021E5464 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E5500 ; =0x00000FFA mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x5a bl FUN_020091E0 str r0, [r5, #0x14] bl FUN_02009B04 ldr r0, [r5, #0x14] bl FUN_02009474 ldr r0, _021E5504 ; =0x00000FAD add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #5 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0xd mov r3, #0 bl FUN_02009298 str r0, [r5, #0x18] bl FUN_02009D68 ldr r0, [r5, #0x18] bl FUN_02009474 ldr r0, _021E5508 ; =0x00000FF8 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x58 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x1c] ldr r0, _021E550C ; =0x00000FF9 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x59 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x20] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E5500: .word 0x00000FFA _021E5504: .word 0x00000FAD _021E5508: .word 0x00000FF8 _021E550C: .word 0x00000FF9 thumb_func_end MOD16_021E5464 thumb_func_start MOD16_021E5510 MOD16_021E5510: ; 0x021E5510 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x14] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0x18] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x14] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x18] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x1c] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x20] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E5510 thumb_func_start MOD16_021E5554 MOD16_021E5554: ; 0x021E5554 push {r3, r4, r5, r6, r7, lr} sub sp, #0x78 add r6, r2, #0 add r5, r0, #0 ldr r0, [r6, #4] str r3, [sp, #0x2c] ldr r4, [r1] bl MOD16_021D9DE8 add r7, r0, #0 ldr r0, [r6, #4] add r1, r7, #0 bl MOD16_021D9964 str r0, [sp, #0x30] ldr r1, [sp, #0x30] add r0, r7, #0 mov r2, #6 ; BASE_TYPE1 bl GetMonBaseStat_HandleFormeConversion add r6, r0, #0 ldr r1, [sp, #0x30] add r0, r7, #0 mov r2, #7 ; BASE_TYPE2 bl GetMonBaseStat_HandleFormeConversion add r7, r0, #0 add r0, r6, #0 bl MOD16_021E563C add r6, r0, #0 add r0, r7, #0 bl MOD16_021E563C ldr r3, _021E5638 ; =0x00000FF9 add r7, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #5 str r2, [sp, #0x10] lsl r0, r0, #6 ldr r1, [r4, r0] str r1, [sp, #0x14] add r1, r0, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r0, #0 add r1, #8 ldr r1, [r4, r1] add r0, #0xc str r1, [sp, #0x1c] ldr r0, [r4, r0] add r1, r3, #1 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r2, r3, #0 add r0, sp, #0x54 sub r2, #0x4c sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x34] add r0, sp, #0x54 str r0, [sp, #0x38] mov r0, #0x20 str r0, [sp, #0x48] mov r0, #1 str r0, [sp, #0x4c] ldr r0, [sp, #0x2c] str r0, [sp, #0x50] mov r0, #0xaa lsl r0, r0, #0xc str r0, [sp, #0x3c] mov r0, #0x12 lsl r0, r0, #0xe str r0, [sp, #0x40] add r0, sp, #0x34 bl FUN_0201FF84 add r1, r6, #0 str r0, [r5, #4] bl FUN_02020130 cmp r6, r7 beq _021E562E mov r0, #0x37 lsl r0, r0, #0xe str r0, [sp, #0x3c] mov r0, #0x12 lsl r0, r0, #0xe str r0, [sp, #0x40] add r0, sp, #0x34 bl FUN_0201FF84 add r1, r7, #0 str r0, [r5, #8] bl FUN_02020130 add sp, #0x78 pop {r3, r4, r5, r6, r7, pc} _021E562E: mov r0, #0 str r0, [r5, #8] add sp, #0x78 pop {r3, r4, r5, r6, r7, pc} nop _021E5638: .word 0x00000FF9 thumb_func_end MOD16_021E5554 thumb_func_start MOD16_021E563C MOD16_021E563C: ; 0x021E563C cmp r0, #0x11 bhi _021E56B2 add r1, r0, r0 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E564C: ; jump table .short _021E5670 - _021E564C - 2 ; case 0 .short _021E5674 - _021E564C - 2 ; case 1 .short _021E5678 - _021E564C - 2 ; case 2 .short _021E567C - _021E564C - 2 ; case 3 .short _021E5680 - _021E564C - 2 ; case 4 .short _021E5684 - _021E564C - 2 ; case 5 .short _021E5688 - _021E564C - 2 ; case 6 .short _021E568C - _021E564C - 2 ; case 7 .short _021E5690 - _021E564C - 2 ; case 8 .short _021E568C - _021E564C - 2 ; case 9 .short _021E5694 - _021E564C - 2 ; case 10 .short _021E5698 - _021E564C - 2 ; case 11 .short _021E569C - _021E564C - 2 ; case 12 .short _021E56A0 - _021E564C - 2 ; case 13 .short _021E56A4 - _021E564C - 2 ; case 14 .short _021E56A8 - _021E564C - 2 ; case 15 .short _021E56AC - _021E564C - 2 ; case 16 .short _021E56B0 - _021E564C - 2 ; case 17 _021E5670: mov r0, #0 bx lr _021E5674: mov r0, #6 bx lr _021E5678: mov r0, #0xe bx lr _021E567C: mov r0, #0xa bx lr _021E5680: mov r0, #8 bx lr _021E5684: mov r0, #5 bx lr _021E5688: mov r0, #0xb bx lr _021E568C: mov r0, #7 bx lr _021E5690: mov r0, #9 bx lr _021E5694: mov r0, #1 bx lr _021E5698: mov r0, #3 bx lr _021E569C: mov r0, #2 bx lr _021E56A0: mov r0, #4 bx lr _021E56A4: mov r0, #0xf bx lr _021E56A8: mov r0, #0xd bx lr _021E56AC: mov r0, #0x10 bx lr _021E56B0: mov r0, #0xc _021E56B2: bx lr thumb_func_end MOD16_021E563C thumb_func_start MOD16_021E56B4 MOD16_021E56B4: ; 0x021E56B4 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #4] cmp r0, #0 beq _021E56C2 bl FUN_0201FFC8 _021E56C2: ldr r0, [r4, #8] cmp r0, #0 beq _021E56CC bl FUN_0201FFC8 _021E56CC: pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E56B4 thumb_func_start MOD16_021E56D0 MOD16_021E56D0: ; 0x021E56D0 push {r3, r4, r5, r6, r7, lr} sub sp, #0xa0 add r6, r0, #0 add r0, r2, #0 add r5, r1, #0 ldr r0, [r0, #4] str r2, [sp, #0x2c] add r7, r3, #0 ldr r4, [r5] bl MOD16_021D9DE8 ldr r3, _021E57C4 ; =0x00000FF9 str r0, [sp, #0x30] mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #5 str r2, [sp, #0x10] lsl r0, r0, #6 ldr r1, [r4, r0] str r1, [sp, #0x14] add r1, r0, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r0, #0 add r1, #8 ldr r1, [r4, r1] add r0, #0xc str r1, [sp, #0x1c] ldr r0, [r4, r0] add r1, r3, #1 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r2, r3, #0 add r0, sp, #0x7c sub r2, #0x4c sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x5c] add r0, sp, #0x7c str r0, [sp, #0x60] mov r0, #0x20 str r0, [sp, #0x70] mov r0, #1 str r0, [sp, #0x74] mov r0, #3 lsl r0, r0, #0x12 str r0, [sp, #0x64] mov r0, #0xd lsl r0, r0, #0xe str r0, [sp, #0x68] add r0, sp, #0x5c str r7, [sp, #0x78] bl FUN_0201FF84 mov r1, #0x11 str r0, [r6, #0xc] bl FUN_02020130 ldr r0, [sp, #0x2c] ldr r0, [r0, #4] bl MOD16_021D9DF8 cmp r0, #2 beq _021E5768 mov r0, #0 str r0, [sp, #0x30] _021E5768: mov r0, #0x15 ldr r1, [r5] lsl r0, r0, #4 ldr r0, [r1, r0] ldr r1, [sp, #0x30] add r2, r7, #0 bl MOD16_021E57C8 add r4, r0, #0 ldr r0, [r5] mov r1, #1 bl MOD16_021D88D4 mov r1, #0x15 ldr r2, [r5] lsl r1, r1, #4 ldr r1, [r2, r1] str r1, [sp, #0x34] mov r1, #0 bl FUN_02009E54 str r0, [sp, #0x3c] ldr r0, [r6, #0xc] str r0, [sp, #0x40] mov r0, #0x4d mvn r0, r0 str r0, [sp, #0x44] add r0, #0x46 str r0, [sp, #0x48] mov r0, #0 str r0, [sp, #0x4c] mov r0, #0x1f str r0, [sp, #0x50] mov r0, #1 str r0, [sp, #0x54] str r7, [sp, #0x58] str r4, [sp, #0x38] add r0, sp, #0x34 bl MOD16_021DB2BC str r0, [r6, #0x10] add r0, r4, #0 bl MOD16_021DB3BC add sp, #0xa0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E57C4: .word 0x00000FF9 thumb_func_end MOD16_021E56D0 thumb_func_start MOD16_021E57C8 MOD16_021E57C8: ; 0x021E57C8 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r6, r2, #0 mov r1, #0x12 mov r2, #2 add r7, r0, #0 bl MOD16_021DB388 add r4, r0, #0 add r0, r5, #0 mov r1, #2 add r2, r6, #0 bl MOD16_021DBC08 add r5, r0, #0 mov r0, #2 add r1, r5, #0 mov r2, #0 bl FUN_02002E14 cmp r0, #0x88 bhs _021E57FC mov r1, #0x88 sub r0, r1, r0 lsr r3, r0, #1 b _021E57FE _021E57FC: mov r3, #0 _021E57FE: mov r0, #0 str r0, [sp] add r0, r7, #0 add r1, r4, #0 add r2, r5, #0 bl MOD16_021DB42C add r0, r5, #0 bl MOD16_021DBBAC add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E57C8 thumb_func_start MOD16_021E5818 MOD16_021E5818: ; 0x021E5818 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0xc] bl FUN_0201FFC8 mov r0, #0 str r0, [r4, #0xc] ldr r0, [r4, #0x10] bl MOD16_021DB338 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E5818 thumb_func_start MOD16_021E5830 MOD16_021E5830: ; 0x021E5830 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r1, #0 add r7, r0, #0 ldr r0, [r5] mov r1, #1 add r4, r2, #0 add r6, r3, #0 bl MOD16_021D88F0 add r0, r7, #0 bl MOD16_021E5B08 ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 beq _021E58A2 cmp r6, #0 beq _021E587E mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2b str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 b _021E58A2 _021E587E: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2b str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E58A2: add r0, r5, #0 bl MOD16_021E5B70 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E5830 thumb_func_start MOD16_021E58AC MOD16_021E58AC: ; 0x021E58AC push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, [r2, #0x10] add r5, r1, #0 add r6, r3, #0 bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021E58CC mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 b _021E58D6 _021E58CC: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C _021E58D6: add r4, r0, #0 cmp r4, #1 bne _021E58FE cmp r6, #1 bne _021E58F0 add r0, r7, #0 bl MOD16_021E5B3C ldr r0, [r5] mov r1, #0 bl MOD16_021D88F0 b _021E5904 _021E58F0: add r0, r5, #0 bl MOD16_021E5448 add r0, r5, #0 bl MOD16_021E53F8 b _021E5904 _021E58FE: add r0, r5, #0 bl MOD16_021E5B70 _021E5904: add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E58AC thumb_func_start MOD16_021E5908 MOD16_021E5908: ; 0x021E5908 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r0, #0 add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 bl MOD16_021E5B08 cmp r6, #0 bne _021E592E ldr r1, [r4, #8] ldr r2, [r4, #0xc] add r0, r7, #0 mov r3, #4 bl MOD16_021E5B80 add r0, r7, #0 bl MOD16_021E5BB8 _021E592E: ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 beq _021E5988 cmp r6, #0 beq _021E5964 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #4 add r2, r1, #0 sub r2, #0x14 bl MOD16_021D8988 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021E5964: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #4 add r3, r1, #0 sub r3, #0x14 bl MOD16_021D8988 _021E5988: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E5908 thumb_func_start MOD16_021E598C MOD16_021E598C: ; 0x021E598C push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 add r7, r3, #0 bne _021E59AC bl MOD16_021E5B9C str r0, [sp] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E5BD4 str r0, [sp, #4] b _021E59B2 _021E59AC: mov r0, #1 str r0, [sp] str r0, [sp, #4] _021E59B2: ldr r0, [r6, #0x10] bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r4] beq _021E59CC mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 str r0, [sp, #8] b _021E59D8 _021E59CC: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C str r0, [sp, #8] _021E59D8: mov r1, #0 add r2, sp, #0 _021E59DC: ldr r0, [r2] cmp r0, #0 beq _021E59EA add r1, r1, #1 add r2, r2, #4 cmp r1, #3 blt _021E59DC _021E59EA: cmp r1, #3 bne _021E59FE cmp r7, #1 bne _021E59F8 add r0, r5, #0 bl MOD16_021E5B3C _021E59F8: add sp, #0xc mov r0, #1 pop {r4, r5, r6, r7, pc} _021E59FE: mov r0, #0 add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E598C thumb_func_start MOD16_021E5A04 MOD16_021E5A04: ; 0x021E5A04 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r1, #0 add r7, r0, #0 add r4, r2, #0 add r6, r3, #0 bl MOD16_021E5B08 ldr r0, [r5] mov r1, #1 bl MOD16_021D88F0 cmp r6, #0 bne _021E5A2C ldr r1, [r4, #8] ldr r2, [r4, #0xc] add r0, r7, #0 mov r3, #1 bl MOD16_021E5B80 _021E5A2C: ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 beq _021E5A86 cmp r6, #0 beq _021E5A62 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021E5A62: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E5A86: add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E5A04 thumb_func_start MOD16_021E5A8C MOD16_021E5A8C: ; 0x021E5A8C push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r0, #0 add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 bne _021E5AA2 bl MOD16_021E5B9C str r0, [sp] b _021E5AA6 _021E5AA2: mov r0, #1 str r0, [sp] _021E5AA6: ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021E5AC0 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 str r0, [sp, #4] b _021E5ACC _021E5AC0: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C str r0, [sp, #4] _021E5ACC: mov r1, #0 add r2, sp, #0 _021E5AD0: ldr r0, [r2] cmp r0, #0 beq _021E5ADE add r1, r1, #1 add r2, r2, #4 cmp r1, #2 blt _021E5AD0 _021E5ADE: cmp r1, #2 bne _021E5B02 cmp r6, #1 bne _021E5AF6 add r0, r7, #0 bl MOD16_021E5B3C ldr r0, [r5] mov r1, #0 bl MOD16_021D88F0 b _021E5AFC _021E5AF6: add r0, r5, #0 bl MOD16_021E53F8 _021E5AFC: add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E5B02: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E5A8C thumb_func_start MOD16_021E5B08 MOD16_021E5B08: ; 0x021E5B08 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r4, #0 add r5, r7, #0 mov r6, #1 _021E5B12: ldr r0, [r5] cmp r0, #0 beq _021E5B1E add r1, r6, #0 bl FUN_02020398 _021E5B1E: add r4, r4, #1 add r5, r5, #4 cmp r4, #3 blt _021E5B12 ldr r0, [r7, #0xc] mov r1, #1 bl FUN_02020398 ldr r0, [r7, #0x10] mov r1, #1 ldr r0, [r0] bl FUN_02011AF0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E5B08 thumb_func_start MOD16_021E5B3C MOD16_021E5B3C: ; 0x021E5B3C push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r4, #0 add r5, r7, #0 add r6, r4, #0 _021E5B46: ldr r0, [r5] cmp r0, #0 beq _021E5B52 add r1, r6, #0 bl FUN_02020398 _021E5B52: add r4, r4, #1 add r5, r5, #4 cmp r4, #3 blt _021E5B46 ldr r0, [r7, #0xc] mov r1, #0 bl FUN_02020398 ldr r0, [r7, #0x10] mov r1, #0 ldr r0, [r0] bl FUN_02011AF0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E5B3C thumb_func_start MOD16_021E5B70 MOD16_021E5B70: ; 0x021E5B70 mov r1, #0x5b ldr r0, [r0] lsl r1, r1, #2 ldr r3, _021E5B7C ; =MOD16_021D8A8C add r1, r0, r1 bx r3 .align 2, 0 _021E5B7C: .word MOD16_021D8A8C thumb_func_end MOD16_021E5B70 thumb_func_start MOD16_021E5B80 MOD16_021E5B80: ; 0x021E5B80 push {r4, lr} sub sp, #8 add r4, r1, #0 str r2, [sp] str r3, [sp, #4] add r0, #0x34 mov r1, #0x30 add r2, r4, #0 mov r3, #0x48 bl MOD16_021D8BD8 add sp, #8 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E5B80 thumb_func_start MOD16_021E5B9C MOD16_021E5B9C: ; 0x021E5B9C push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r0, #0x34 bl MOD16_021D8BF4 add r6, r0, #0 ldr r0, [r4] ldr r1, [r5, #0x34] ldr r2, [r5, #0x38] bl MOD16_021D86F4 add r0, r6, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E5B9C thumb_func_start MOD16_021E5BB8 MOD16_021E5BB8: ; 0x021E5BB8 push {r3, lr} sub sp, #8 mov r1, #0x52 str r1, [sp] mov r1, #4 str r1, [sp, #4] add r0, #0x54 mov r1, #0xac mov r2, #0xaa mov r3, #0x20 bl MOD16_021D8BD8 add sp, #8 pop {r3, pc} thumb_func_end MOD16_021E5BB8 thumb_func_start MOD16_021E5BD4 MOD16_021E5BD4: ; 0x021E5BD4 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r0, #0x54 bl MOD16_021D8BF4 add r6, r0, #0 ldr r0, [r4] ldr r1, [r5, #0x54] ldr r2, [r5, #0x58] bl MOD16_021D7F6C add r0, r6, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E5BD4 thumb_func_start MOD16_021E5BF0 MOD16_021E5BF0: ; 0x021E5BF0 push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 add r0, r7, #0 bl MOD16_021E5C88 add r4, r0, #0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021E5CC8 str r4, [r5] str r0, [r5, #4] mov r0, #0 str r0, [r5, #0x20] bl MOD16_021E5D28 str r0, [r5, #0x24] ldr r0, _021E5C30 ; =MOD16_021E5D44 str r0, [r5, #8] ldr r0, _021E5C34 ; =MOD16_021E5D6C str r0, [r5, #0xc] ldr r0, _021E5C38 ; =MOD16_021E5D7C str r0, [r5, #0x10] ldr r0, _021E5C3C ; =MOD16_021E5D80 str r0, [r5, #0x14] ldr r0, _021E5C40 ; =MOD16_021E5E14 str r0, [r5, #0x18] ldr r0, _021E5C44 ; =MOD16_021E5ED4 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E5C30: .word MOD16_021E5D44 _021E5C34: .word MOD16_021E5D6C _021E5C38: .word MOD16_021E5D7C _021E5C3C: .word MOD16_021E5D80 _021E5C40: .word MOD16_021E5E14 _021E5C44: .word MOD16_021E5ED4 thumb_func_end MOD16_021E5BF0 thumb_func_start MOD16_021E5C48 MOD16_021E5C48: ; 0x021E5C48 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E5D00 ldr r0, [r4, #4] bl MOD16_021E5D14 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E5C48 thumb_func_start MOD16_021E5C5C MOD16_021E5C5C: ; 0x021E5C5C push {r3, r4, r5, lr} ldr r4, [r0] ldr r0, [r0, #4] add r2, r1, #0 ldr r0, [r0, #4] cmp r0, #1 bne _021E5C6E mov r0, #0 pop {r3, r4, r5, pc} _021E5C6E: ldr r5, [r4, #0x14] ldr r0, [r4, #0xc] ldr r3, [r4, #0x10] add r1, r5, #0 bl MOD16_021E5D2C str r0, [r4, #0x14] cmp r5, r0 beq _021E5C84 mov r0, #1 pop {r3, r4, r5, pc} _021E5C84: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E5C5C thumb_func_start MOD16_021E5C88 MOD16_021E5C88: ; 0x021E5C88 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x18 bl AllocFromHeap add r4, r0, #0 bne _021E5C9A bl GF_AssertFail _021E5C9A: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021E5CA0: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021E5CA0 add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #8] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E5C88 thumb_func_start MOD16_021E5CC8 MOD16_021E5CC8: ; 0x021E5CC8 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0xc bl AllocFromHeap add r4, r0, #0 bne _021E5CDA bl GF_AssertFail _021E5CDA: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E5CC8 thumb_func_start MOD16_021E5D00 MOD16_021E5D00: ; 0x021E5D00 push {r4, lr} add r4, r0, #0 bne _021E5D0A bl GF_AssertFail _021E5D0A: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E5D00 thumb_func_start MOD16_021E5D14 MOD16_021E5D14: ; 0x021E5D14 push {r4, lr} add r4, r0, #0 bne _021E5D1E bl GF_AssertFail _021E5D1E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E5D14 thumb_func_start MOD16_021E5D28 MOD16_021E5D28: ; 0x021E5D28 mov r0, #0 bx lr thumb_func_end MOD16_021E5D28 thumb_func_start MOD16_021E5D2C MOD16_021E5D2C: ; 0x021E5D2C cmp r2, #0 ble _021E5D3A add r2, r1, r2 cmp r2, r3 blt _021E5D40 mov r2, #0 b _021E5D40 _021E5D3A: add r0, r1, r2 bpl _021E5D40 sub r2, r3, #1 _021E5D40: add r0, r2, #0 bx lr thumb_func_end MOD16_021E5D2C thumb_func_start MOD16_021E5D44 MOD16_021E5D44: ; 0x021E5D44 push {r3, r4, r5, lr} add r4, r1, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r5, r0, #0 add r1, r4, #0 bl MOD16_021E6648 str r0, [r4, #0xc] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E6690 str r0, [r4, #0x10] mov r0, #0 str r0, [r4, #0x14] mov r0, #1 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E5D44 thumb_func_start MOD16_021E5D6C MOD16_021E5D6C: ; 0x021E5D6C ldr r0, [r0, #0xc] cmp r0, #1 bne _021E5D76 mov r0, #1 bx lr _021E5D76: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021E5D6C thumb_func_start MOD16_021E5D7C MOD16_021E5D7C: ; 0x021E5D7C mov r0, #1 bx lr thumb_func_end MOD16_021E5D7C thumb_func_start MOD16_021E5D80 MOD16_021E5D80: ; 0x021E5D80 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #3 bhi _021E5E0A add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E5D9C: ; jump table .short _021E5DA4 - _021E5D9C - 2 ; case 0 .short _021E5DCC - _021E5D9C - 2 ; case 1 .short _021E5DEA - _021E5D9C - 2 ; case 2 .short _021E5E00 - _021E5D9C - 2 ; case 3 _021E5DA4: ldr r0, [r4, #4] mov r1, #0xd0 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0xd0 bl memset ldr r0, [r4, #8] ldr r1, [r7, #0xc] add r0, #0xc8 str r1, [r0] mov r0, #0 str r0, [r5, #4] str r0, [r5, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5E0A _021E5DCC: ldr r3, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E5F40 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E63B4 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5E0A _021E5DEA: add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021E6424 cmp r0, #0 beq _021E5E0A ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5E0A _021E5E00: ldr r0, _021E5E10 ; =0x04000050 mov r1, #0 strh r1, [r0] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E5E0A: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} nop _021E5E10: .word 0x04000050 thumb_func_end MOD16_021E5D80 thumb_func_start MOD16_021E5E14 MOD16_021E5E14: ; 0x021E5E14 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #0 beq _021E5E30 cmp r0, #1 beq _021E5E7C cmp r0, #2 beq _021E5E94 b _021E5EC0 _021E5E30: add r0, r6, #0 add r0, #0xcc ldr r1, [r7, #0x14] ldr r0, [r0] cmp r1, r0 beq _021E5EC4 add r0, r6, #0 add r0, #0xcc str r1, [r0] add r0, r6, #0 add r0, #0xb8 ldr r0, [r0] add r0, r0, #1 lsr r2, r0, #0x1f lsl r1, r0, #0x1f sub r1, r1, r2 mov r0, #0x1f ror r1, r0 add r0, r6, #0 add r1, r2, r1 add r0, #0xb8 str r1, [r0] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E6510 add r0, r6, #0 bl MOD16_021E6E24 mov r0, #1 str r0, [r5, #4] ldr r0, _021E5ED0 ; =0x0000068B bl FUN_020054C8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5EC4 _021E5E7C: add r0, r6, #0 add r1, r5, #0 bl MOD16_021E6534 cmp r0, #1 bne _021E5EC4 mov r0, #1 str r0, [r5, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5EC4 _021E5E94: ldr r0, [r5, #8] cmp r0, #1 bne _021E5EC4 ldr r0, [r7, #0xc] add r1, r5, #0 str r0, [sp] ldr r0, [r7, #0x14] str r0, [sp, #4] ldr r3, [r4, #4] add r0, r6, #0 bl MOD16_021E6BA4 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 bl MOD16_021E6070 mov r0, #0 str r0, [r5, #8] str r0, [r5, #4] str r0, [r4] b _021E5EC4 _021E5EC0: bl GF_AssertFail _021E5EC4: add r0, r6, #0 bl MOD16_021E6E44 mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E5ED0: .word 0x0000068B thumb_func_end MOD16_021E5E14 thumb_func_start MOD16_021E5ED4 MOD16_021E5ED4: ; 0x021E5ED4 push {r4, lr} add r4, r1, #0 ldr r1, [r4] add r3, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021E5F3A add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E5EEE: ; jump table .short _021E5EF8 - _021E5EEE - 2 ; case 0 .short _021E5F08 - _021E5EEE - 2 ; case 1 .short _021E5F1C - _021E5EEE - 2 ; case 2 .short _021E5F2A - _021E5EEE - 2 ; case 3 .short _021E5F36 - _021E5EEE - 2 ; case 4 _021E5EF8: add r1, r3, #0 mov r3, #0 bl MOD16_021E63B4 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5F3A _021E5F08: add r1, r3, #0 mov r3, #0 bl MOD16_021E6424 cmp r0, #0 beq _021E5F3A ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5F3A _021E5F1C: add r1, r3, #0 bl MOD16_021E5F88 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5F3A _021E5F2A: bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E5F3A _021E5F36: mov r0, #1 pop {r4, pc} _021E5F3A: mov r0, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E5ED4 thumb_func_start MOD16_021E5F40 MOD16_021E5F40: ; 0x021E5F40 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r0, #0 add r5, r1, #0 add r6, r3, #0 add r4, r2, #0 bl MOD16_021E600C add r0, r7, #0 add r1, r5, #0 add r2, r6, #0 bl MOD16_021E6198 add r0, r5, #0 add r1, r6, #0 bl MOD16_021E5FA4 add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021E6288 ldr r0, [r4, #0xc] add r1, r5, #0 str r0, [sp] ldr r0, [r4, #0x14] add r2, r4, #0 str r0, [sp, #4] add r0, r7, #0 add r3, r6, #0 bl MOD16_021E6B30 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E5F40 thumb_func_start MOD16_021E5F88 MOD16_021E5F88: ; 0x021E5F88 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E6E0C add r0, r5, #0 bl MOD16_021E6394 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E6244 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E5F88 thumb_func_start MOD16_021E5FA4 MOD16_021E5FA4: ; 0x021E5FA4 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] add r5, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #3 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x32 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E5FA4 thumb_func_start MOD16_021E600C MOD16_021E600C: ; 0x021E600C push {r4, r5, r6, r7, lr} sub sp, #0xc add r4, r2, #0 add r6, r0, #0 ldr r0, [r4, #4] add r5, r1, #0 bl MOD16_021D9DE8 add r7, r0, #0 ldr r0, [r4, #0xc] add r1, r5, #0 str r0, [sp] ldr r0, [r4, #0x14] add r2, r4, #0 str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] add r0, r6, #0 add r3, r7, #0 bl MOD16_021E60A8 ldr r0, [r4, #0xc] ldr r1, [r4, #0x14] ldr r3, [r4, #0x10] mov r2, #1 bl MOD16_021E5D2C ldr r1, [r4, #0xc] add r2, r4, #0 str r1, [sp] str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] add r0, r6, #0 add r1, r5, #0 add r3, r7, #0 bl MOD16_021E60A8 mov r4, #0 mov r6, #1 _021E605C: ldr r0, [r5] add r1, r6, #0 add r2, r4, #0 bl MOD16_021D8810 add r4, r4, #1 cmp r4, #4 blt _021E605C add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E600C thumb_func_start MOD16_021E6070 MOD16_021E6070: ; 0x021E6070 push {r4, r5, r6, r7, lr} sub sp, #0xc add r4, r2, #0 add r5, r0, #0 ldr r0, [r4, #4] add r6, r1, #0 bl MOD16_021D9DE8 add r7, r0, #0 ldr r0, [r4, #0xc] ldr r1, [r4, #0x14] ldr r3, [r4, #0x10] mov r2, #1 bl MOD16_021E5D2C ldr r1, [r4, #0xc] add r2, r4, #0 str r1, [sp] str r0, [sp, #4] mov r0, #2 str r0, [sp, #8] add r0, r5, #0 add r1, r6, #0 add r3, r7, #0 bl MOD16_021E60A8 add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E6070 thumb_func_start MOD16_021E60A8 MOD16_021E60A8: ; 0x021E60A8 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r5, [sp, #0x30] add r6, r0, #0 add r7, r1, #0 str r2, [sp, #8] str r3, [sp, #0xc] ldr r4, [sp, #0x2c] cmp r5, #2 ble _021E60C0 bl GF_AssertFail _021E60C0: ldr r0, [sp, #0x28] cmp r0, #9 bhi _021E6172 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E60D2: ; jump table .short _021E60E6 - _021E60D2 - 2 ; case 0 .short _021E60E6 - _021E60D2 - 2 ; case 1 .short _021E60E6 - _021E60D2 - 2 ; case 2 .short _021E60E6 - _021E60D2 - 2 ; case 3 .short _021E6122 - _021E60D2 - 2 ; case 4 .short _021E6136 - _021E60D2 - 2 ; case 5 .short _021E60FA - _021E60D2 - 2 ; case 6 .short _021E610E - _021E60D2 - 2 ; case 7 .short _021E614A - _021E60D2 - 2 ; case 8 .short _021E615E - _021E60D2 - 2 ; case 9 _021E60E6: ldr r2, [sp, #8] str r4, [sp] ldr r3, [sp, #0xc] add r0, r6, #0 add r1, r7, #0 str r5, [sp, #4] bl MOD16_021E6758 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021E60FA: ldr r2, [sp, #8] str r4, [sp] ldr r3, [sp, #0xc] add r0, r6, #0 add r1, r7, #0 str r5, [sp, #4] bl MOD16_021E67F0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021E610E: ldr r2, [sp, #8] str r4, [sp] ldr r3, [sp, #0xc] add r0, r6, #0 add r1, r7, #0 str r5, [sp, #4] bl MOD16_021E687C add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021E6122: ldr r2, [sp, #8] str r4, [sp] ldr r3, [sp, #0xc] add r0, r6, #0 add r1, r7, #0 str r5, [sp, #4] bl MOD16_021E6908 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021E6136: ldr r2, [sp, #8] str r4, [sp] ldr r3, [sp, #0xc] add r0, r6, #0 add r1, r7, #0 str r5, [sp, #4] bl MOD16_021E6994 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021E614A: ldr r2, [sp, #8] str r4, [sp] ldr r3, [sp, #0xc] add r0, r6, #0 add r1, r7, #0 str r5, [sp, #4] bl MOD16_021E6A20 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021E615E: ldr r2, [sp, #8] str r4, [sp] ldr r3, [sp, #0xc] add r0, r6, #0 add r1, r7, #0 str r5, [sp, #4] bl MOD16_021E6AAC add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021E6172: bl GF_AssertFail add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E60A8 thumb_func_start MOD16_021E617C MOD16_021E617C: ; 0x021E617C push {r4, r5, r6, lr} mov r4, #0 add r5, r0, #0 add r6, r4, #0 _021E6184: ldr r0, [r5] add r1, r6, #0 add r2, r4, #0 bl MOD16_021D8810 add r4, r4, #1 cmp r4, #4 blt _021E6184 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E617C thumb_func_start MOD16_021E6198 MOD16_021E6198: ; 0x021E6198 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E6234 ; =0x0000372A mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x7a bl FUN_020091E0 str r0, [r5, #0x10] bl FUN_02009B04 ldr r0, [r5, #0x10] bl FUN_02009474 ldr r0, _021E6238 ; =0x000036C6 add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x16 mov r3, #0 bl FUN_02009298 str r0, [r5, #0x14] bl FUN_02009D68 ldr r0, [r5, #0x14] bl FUN_02009474 ldr r0, _021E623C ; =0x0000372B add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x7b mov r3, #1 bl FUN_02009358 str r0, [r5, #0x18] ldr r0, _021E6240 ; =0x00003729 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x79 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x1c] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021E6234: .word 0x0000372A _021E6238: .word 0x000036C6 _021E623C: .word 0x0000372B _021E6240: .word 0x00003729 thumb_func_end MOD16_021E6198 thumb_func_start MOD16_021E6244 MOD16_021E6244: ; 0x021E6244 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x10] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0x14] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x10] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x14] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x18] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x1c] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E6244 thumb_func_start MOD16_021E6288 MOD16_021E6288: ; 0x021E6288 push {r4, r5, r6, r7, lr} sub sp, #0x7c add r5, r3, #0 ldr r4, [r1] ldr r3, _021E6390 ; =0x00003729 add r6, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #3 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 str r2, [sp, #0x2c] ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x58 sub r2, #0x63 add r3, r3, #2 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r4, #0 str r0, [sp, #0x38] add r0, sp, #0x58 str r0, [sp, #0x3c] mov r0, #0x20 str r0, [sp, #0x4c] mov r0, #1 str r5, [sp, #0x54] str r0, [sp, #0x50] str r4, [sp, #0x40] str r4, [sp, #0x44] add r5, r6, #0 mov r7, #0x1f _021E62F6: add r0, r4, #0 add r1, sp, #0x34 add r2, sp, #0x30 bl MOD16_021E6D54 ldr r0, [sp, #0x34] lsl r0, r0, #0xc str r0, [sp, #0x40] ldr r0, [sp, #0x30] add r0, #8 lsl r0, r0, #0xc str r0, [sp, #0x44] add r0, sp, #0x38 bl FUN_0201FF84 str r0, [r5] lsr r1, r4, #0x1f lsl r0, r4, #0x1f sub r0, r0, r1 ror r0, r7 add r0, r1, r0 ldr r0, [r5] bne _021E632C mov r1, #0 bl FUN_02020130 b _021E6332 _021E632C: mov r1, #2 bl FUN_02020130 _021E6332: add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _021E62F6 mov r0, #0x3e lsl r0, r0, #0xe str r0, [sp, #0x40] mov r0, #6 lsl r0, r0, #0x10 str r0, [sp, #0x44] mov r0, #0 str r0, [sp, #0x4c] add r0, sp, #0x38 bl FUN_0201FF84 add r1, r6, #0 add r1, #0xbc str r0, [r1] add r0, r6, #0 add r0, #0xbc ldr r0, [r0] mov r1, #1 bl FUN_02020130 add r0, r6, #0 add r0, #0xbc ldr r0, [r0] mov r1, #1 bl FUN_020200BC add r0, r6, #0 add r0, #0xbc ldr r0, [r0] mov r1, #0 bl FUN_02020238 ldr r0, [sp, #0x2c] ldr r0, [r0, #0x10] cmp r0, #1 bgt _021E638C add r6, #0xbc ldr r0, [r6] mov r1, #0 bl FUN_020200A0 _021E638C: add sp, #0x7c pop {r4, r5, r6, r7, pc} .align 2, 0 _021E6390: .word 0x00003729 thumb_func_end MOD16_021E6288 thumb_func_start MOD16_021E6394 MOD16_021E6394: ; 0x021E6394 push {r4, r5, r6, lr} add r6, r0, #0 mov r4, #0 add r5, r6, #0 _021E639C: ldr r0, [r5] bl FUN_0201FFC8 add r4, r4, #1 add r5, r5, #4 cmp r4, #4 blt _021E639C add r6, #0xbc ldr r0, [r6] bl FUN_0201FFC8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E6394 thumb_func_start MOD16_021E63B4 MOD16_021E63B4: ; 0x021E63B4 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021E6474 ldr r0, [r4, #8] bl MOD16_021E8C68 cmp r0, #0 beq _021E641A cmp r6, #0 beq _021E63F6 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2b str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 b _021E641A _021E63F6: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2b str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E641A: add r0, r5, #0 bl MOD16_021E64F4 add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021E63B4 thumb_func_start MOD16_021E6424 MOD16_021E6424: ; 0x021E6424 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, [r2, #8] add r5, r1, #0 add r6, r3, #0 bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021E6444 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 b _021E644E _021E6444: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C _021E644E: add r4, r0, #0 cmp r4, #1 bne _021E6468 cmp r6, #1 bne _021E6460 add r0, r7, #0 bl MOD16_021E64B4 b _021E646E _021E6460: add r0, r5, #0 bl MOD16_021E617C b _021E646E _021E6468: add r0, r5, #0 bl MOD16_021E64F4 _021E646E: add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E6424 thumb_func_start MOD16_021E6474 MOD16_021E6474: ; 0x021E6474 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 mov r6, #0 add r4, r5, #0 mov r7, #1 _021E647E: ldr r0, [r4] add r1, r7, #0 bl FUN_02020398 add r6, r6, #1 add r4, r4, #4 cmp r6, #4 blt _021E647E add r0, r5, #0 add r0, #0xbc ldr r0, [r0] mov r1, #1 bl FUN_02020398 mov r4, #0 mov r6, #1 _021E649E: ldr r0, [r5, #0x20] add r1, r6, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021E649E pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E6474 thumb_func_start MOD16_021E64B4 MOD16_021E64B4: ; 0x021E64B4 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 mov r6, #0 add r4, r5, #0 add r7, r6, #0 _021E64BE: ldr r0, [r4] add r1, r7, #0 bl FUN_02020398 add r6, r6, #1 add r4, r4, #4 cmp r6, #4 blt _021E64BE add r0, r5, #0 add r0, #0xbc ldr r0, [r0] mov r1, #0 bl FUN_02020398 mov r4, #0 add r6, r4, #0 _021E64DE: ldr r0, [r5, #0x20] add r1, r6, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021E64DE pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E64B4 thumb_func_start MOD16_021E64F4 MOD16_021E64F4: ; 0x021E64F4 push {r4, r5, r6, lr} mov r6, #0x5b add r5, r0, #0 mov r4, #0 lsl r6, r6, #2 _021E64FE: ldr r0, [r5] add r2, r4, #0 add r1, r0, r6 bl MOD16_021D8AAC add r4, r4, #1 cmp r4, #4 blt _021E64FE pop {r4, r5, r6, pc} thumb_func_end MOD16_021E64F4 thumb_func_start MOD16_021E6510 MOD16_021E6510: ; 0x021E6510 push {r3, r4, r5, r6, r7, lr} mov r7, #0xff add r5, r0, #0 add r6, r1, #0 mov r4, #0 mvn r7, r7 _021E651C: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #0 str r4, [sp] bl MOD16_021E6570 add r4, r4, #1 cmp r4, #4 blt _021E651C pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E6510 thumb_func_start MOD16_021E6534 MOD16_021E6534: ; 0x021E6534 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 add r5, r0, #0 ldr r0, [r6, #4] cmp r0, #0 bne _021E6544 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E6544: mov r4, #0 _021E6546: add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E65D8 add r4, r4, #1 add r7, r0, #0 cmp r4, #4 blt _021E6546 mov r4, #0 _021E655A: ldr r0, [r5, #0x20] ldr r0, [r0] bl FUN_02011938 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021E655A add r0, r7, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E6534 thumb_func_start MOD16_021E6570 MOD16_021E6570: ; 0x021E6570 push {r3, r4, r5, r6, r7, lr} sub sp, #0x20 add r6, r0, #0 add r0, #0xb8 ldr r0, [r0] add r7, r1, #0 str r2, [sp, #8] str r3, [sp, #0xc] ldr r5, [sp, #0x38] cmp r0, #0 bne _021E658A add r4, r5, #0 b _021E6590 _021E658A: sub r4, r5, #2 bpl _021E6590 add r4, r4, #4 _021E6590: add r0, r5, #0 add r1, sp, #0x14 add r2, sp, #0x10 bl MOD16_021E6D54 ldr r0, [r7] add r1, sp, #0x1c add r2, sp, #0x18 add r3, r4, #0 bl MOD16_021D87E0 add r1, r6, #0 ldr r3, [sp, #0x10] ldr r2, [sp, #0x14] mov r0, #0x10 str r3, [sp] str r0, [sp, #4] ldr r4, [sp, #0xc] add r1, #0x28 lsl r0, r5, #5 add r0, r1, r0 ldr r1, [sp, #8] add r3, r3, r4 add r1, r2, r1 bl MOD16_021D8BD8 ldr r1, [sp, #0x18] ldr r0, [sp, #0x10] sub r1, r1, r0 lsl r0, r5, #2 add r0, r6, r0 add r0, #0xa8 str r1, [r0] add sp, #0x20 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E6570 thumb_func_start MOD16_021E65D8 MOD16_021E65D8: ; 0x021E65D8 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r6, r0, #0 add r0, #0xb8 ldr r0, [r0] add r4, r2, #0 str r1, [sp] str r2, [sp, #4] cmp r0, #0 beq _021E65F2 sub r4, r4, #2 bpl _021E65F2 add r4, r4, #4 _021E65F2: ldr r0, [sp, #4] add r7, r6, #0 lsl r5, r0, #5 add r7, #0x28 add r0, r7, r5 bl MOD16_021D8BF4 str r0, [sp, #8] add r0, r6, #0 str r0, [sp, #0xc] add r0, #0x2c str r0, [sp, #0xc] ldr r2, [sp, #0xc] ldr r0, [sp] ldr r3, [r2, r5] ldr r2, [sp, #4] ldr r0, [r0] lsl r2, r2, #2 add r2, r6, r2 add r2, #0xa8 ldr r2, [r2] ldr r1, [r7, r5] add r2, r3, r2 add r3, r4, #0 bl MOD16_021D87BC ldr r0, [r7, r5] add r1, sp, #0x10 lsl r0, r0, #0xc str r0, [sp, #0x10] ldr r0, [sp, #0xc] ldr r0, [r0, r5] add r0, #8 lsl r0, r0, #0xc str r0, [sp, #0x14] lsl r0, r4, #2 ldr r0, [r6, r0] bl FUN_02020044 ldr r0, [sp, #8] add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E65D8 thumb_func_start MOD16_021E6648 MOD16_021E6648: ; 0x021E6648 push {r3, lr} mov r3, #0x67 lsl r3, r3, #2 cmp r0, r3 bne _021E6656 mov r0, #6 pop {r3, pc} _021E6656: add r2, r3, #1 cmp r0, r2 bne _021E6660 mov r0, #7 pop {r3, pc} _021E6660: add r2, r3, #0 add r2, #0xa cmp r0, r2 bne _021E666C mov r0, #4 pop {r3, pc} _021E666C: add r2, r3, #0 add r2, #0xb cmp r0, r2 bne _021E6678 mov r0, #5 pop {r3, pc} _021E6678: cmp r0, #0xc9 bne _021E6680 mov r0, #8 pop {r3, pc} _021E6680: sub r3, #0x1a cmp r0, r3 bne _021E668A mov r0, #9 pop {r3, pc} _021E668A: bl MOD16_021E66F4 pop {r3, pc} thumb_func_end MOD16_021E6648 thumb_func_start MOD16_021E6690 MOD16_021E6690: ; 0x021E6690 push {r3, lr} mov r2, #0x67 add r3, r0, #0 lsl r2, r2, #2 cmp r3, r2 bne _021E66A4 ldr r0, [r1, #4] bl MOD16_021D9A18 pop {r3, pc} _021E66A4: add r0, r2, #1 cmp r3, r0 bne _021E66B2 ldr r0, [r1, #4] bl MOD16_021D9A24 pop {r3, pc} _021E66B2: add r0, r2, #0 add r0, #0xa cmp r3, r0 bne _021E66C2 ldr r0, [r1, #4] bl MOD16_021D9A00 pop {r3, pc} _021E66C2: add r0, r2, #0 add r0, #0xb cmp r3, r0 bne _021E66D2 ldr r0, [r1, #4] bl MOD16_021D9A0C pop {r3, pc} _021E66D2: cmp r3, #0xc9 bne _021E66DE ldr r0, [r1, #4] bl MOD16_021D99F4 pop {r3, pc} _021E66DE: sub r2, #0x1a cmp r3, r2 ldr r0, [r1, #4] bne _021E66EC bl MOD16_021D9A48 pop {r3, pc} _021E66EC: add r1, r3, #0 bl MOD16_021D99DC pop {r3, pc} thumb_func_end MOD16_021E6690 thumb_func_start MOD16_021E66F4 MOD16_021E66F4: ; 0x021E66F4 push {r3, r4, r5, lr} add r4, r1, #0 mov r1, #0x12 ; BASE_GENDER_RATIO add r5, r0, #0 bl GetMonBaseStat cmp r0, #0 bne _021E6708 mov r0, #1 pop {r3, r4, r5, pc} _021E6708: cmp r0, #0xfe bne _021E6710 mov r0, #2 pop {r3, r4, r5, pc} _021E6710: cmp r0, #0xff bne _021E6718 mov r0, #3 pop {r3, r4, r5, pc} _021E6718: ldr r0, [r4, #4] add r1, r5, #0 bl MOD16_021D99DC cmp r0, #1 bne _021E6754 ldr r0, [r4, #4] add r1, r5, #0 mov r2, #0 bl MOD16_021D98DC add r4, r0, #0 mov r0, #0 mvn r0, r0 cmp r4, r0 bne _021E673C bl GF_AssertFail _021E673C: cmp r4, #0 bne _021E6744 mov r0, #1 pop {r3, r4, r5, pc} _021E6744: cmp r4, #0xfe bne _021E674C mov r0, #2 pop {r3, r4, r5, pc} _021E674C: cmp r4, #0xff bne _021E6754 mov r0, #3 pop {r3, r4, r5, pc} _021E6754: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E66F4 thumb_func_start MOD16_021E6758 MOD16_021E6758: ; 0x021E6758 push {r4, r5, r6, r7, lr} sub sp, #0x1c ldr r4, [sp, #0x34] add r5, r0, #0 add r6, r1, #0 add r7, r2, #0 add r0, r4, #0 add r1, sp, #0x18 add r2, sp, #0x14 str r3, [sp, #0x10] bl MOD16_021E6D54 add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] cmp r0, #0 bne _021E677E add r0, r4, #0 b _021E6784 _021E677E: sub r0, r4, #2 bpl _021E6784 add r0, r0, #4 _021E6784: ldr r1, [sp, #0x18] ldr r2, [sp, #0x10] str r1, [sp] ldr r1, [sp, #0x14] mov r3, #2 str r1, [sp, #4] ldr r1, [sp, #0x30] str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [r6] ldr r1, [r7, #4] bl MOD16_021D8070 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E67AA bl GF_AssertFail _021E67AA: add r0, r4, #1 add r1, sp, #0x18 add r2, sp, #0x14 bl MOD16_021E6D54 add r5, #0xb8 ldr r1, [r5] add r0, r4, #1 cmp r1, #0 beq _021E67C4 sub r0, r0, #2 bpl _021E67C4 add r0, r0, #4 _021E67C4: ldr r1, [sp, #0x18] ldr r2, [sp, #0x10] str r1, [sp] ldr r1, [sp, #0x14] mov r3, #0 str r1, [sp, #4] ldr r1, [sp, #0x30] str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, [r6] ldr r1, [r7, #4] bl MOD16_021D8070 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E67EA bl GF_AssertFail _021E67EA: add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E6758 thumb_func_start MOD16_021E67F0 MOD16_021E67F0: ; 0x021E67F0 push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r4, [sp, #0x2c] add r5, r0, #0 add r6, r1, #0 add r7, r2, #0 add r0, r4, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] cmp r0, #0 bne _021E6814 add r1, r4, #0 b _021E681A _021E6814: sub r1, r4, #2 bpl _021E681A add r1, r1, #4 _021E681A: ldr r0, [sp, #0xc] mov r2, #2 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D81A0 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E683C bl GF_AssertFail _021E683C: add r0, r4, #1 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r5, #0xb8 ldr r0, [r5] add r1, r4, #1 cmp r0, #0 beq _021E6856 sub r1, r1, #2 bpl _021E6856 add r1, r1, #4 _021E6856: ldr r0, [sp, #0xc] mov r2, #0 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D81A0 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E6878 bl GF_AssertFail _021E6878: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E67F0 thumb_func_start MOD16_021E687C MOD16_021E687C: ; 0x021E687C push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r4, [sp, #0x2c] add r5, r0, #0 add r6, r1, #0 add r7, r2, #0 add r0, r4, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] cmp r0, #0 bne _021E68A0 add r1, r4, #0 b _021E68A6 _021E68A0: sub r1, r4, #2 bpl _021E68A6 add r1, r1, #4 _021E68A6: ldr r0, [sp, #0xc] mov r2, #2 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D81E4 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E68C8 bl GF_AssertFail _021E68C8: add r0, r4, #1 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r5, #0xb8 ldr r0, [r5] add r1, r4, #1 cmp r0, #0 beq _021E68E2 sub r1, r1, #2 bpl _021E68E2 add r1, r1, #4 _021E68E2: ldr r0, [sp, #0xc] mov r2, #0 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D81E4 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E6904 bl GF_AssertFail _021E6904: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E687C thumb_func_start MOD16_021E6908 MOD16_021E6908: ; 0x021E6908 push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r4, [sp, #0x2c] add r5, r0, #0 add r6, r1, #0 add r7, r2, #0 add r0, r4, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] cmp r0, #0 bne _021E692C add r1, r4, #0 b _021E6932 _021E692C: sub r1, r4, #2 bpl _021E6932 add r1, r1, #4 _021E6932: ldr r0, [sp, #0xc] mov r2, #2 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D8110 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E6954 bl GF_AssertFail _021E6954: add r0, r4, #1 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r5, #0xb8 ldr r0, [r5] add r1, r4, #1 cmp r0, #0 beq _021E696E sub r1, r1, #2 bpl _021E696E add r1, r1, #4 _021E696E: ldr r0, [sp, #0xc] mov r2, #0 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D8110 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E6990 bl GF_AssertFail _021E6990: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E6908 thumb_func_start MOD16_021E6994 MOD16_021E6994: ; 0x021E6994 push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r4, [sp, #0x2c] add r5, r0, #0 add r6, r1, #0 add r7, r2, #0 add r0, r4, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] cmp r0, #0 bne _021E69B8 add r1, r4, #0 b _021E69BE _021E69B8: sub r1, r4, #2 bpl _021E69BE add r1, r1, #4 _021E69BE: ldr r0, [sp, #0xc] mov r2, #2 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D8158 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E69E0 bl GF_AssertFail _021E69E0: add r0, r4, #1 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r5, #0xb8 ldr r0, [r5] add r1, r4, #1 cmp r0, #0 beq _021E69FA sub r1, r1, #2 bpl _021E69FA add r1, r1, #4 _021E69FA: ldr r0, [sp, #0xc] mov r2, #0 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D8158 mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E6A1C bl GF_AssertFail _021E6A1C: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E6994 thumb_func_start MOD16_021E6A20 MOD16_021E6A20: ; 0x021E6A20 push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r4, [sp, #0x2c] add r5, r0, #0 add r6, r1, #0 add r7, r2, #0 add r0, r4, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] cmp r0, #0 bne _021E6A44 add r1, r4, #0 b _021E6A4A _021E6A44: sub r1, r4, #2 bpl _021E6A4A add r1, r1, #4 _021E6A4A: ldr r0, [sp, #0xc] mov r2, #2 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D80CC mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E6A6C bl GF_AssertFail _021E6A6C: add r0, r4, #1 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r5, #0xb8 ldr r0, [r5] add r1, r4, #1 cmp r0, #0 beq _021E6A86 sub r1, r1, #2 bpl _021E6A86 add r1, r1, #4 _021E6A86: ldr r0, [sp, #0xc] mov r2, #0 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D80CC mov r1, #0 mvn r1, r1 cmp r0, r1 bne _021E6AA8 bl GF_AssertFail _021E6AA8: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E6A20 thumb_func_start MOD16_021E6AAC MOD16_021E6AAC: ; 0x021E6AAC push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r4, [sp, #0x2c] add r5, r0, #0 add r6, r1, #0 add r7, r2, #0 add r0, r4, #0 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] cmp r0, #0 bne _021E6AD0 add r1, r4, #0 b _021E6AD6 _021E6AD0: sub r1, r4, #2 bpl _021E6AD6 add r1, r1, #4 _021E6AD6: ldr r0, [sp, #0xc] mov r2, #2 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D822C cmp r0, #0xf bne _021E6AF4 bl GF_AssertFail _021E6AF4: add r0, r4, #1 add r1, sp, #0x10 add r2, sp, #0xc bl MOD16_021E6D54 add r5, #0xb8 ldr r0, [r5] add r1, r4, #1 cmp r0, #0 beq _021E6B0E sub r1, r1, #2 bpl _021E6B0E add r1, r1, #4 _021E6B0E: ldr r0, [sp, #0xc] mov r2, #0 str r0, [sp] ldr r0, [sp, #0x28] str r0, [sp, #4] str r1, [sp, #8] ldr r0, [r6] ldr r1, [r7, #4] ldr r3, [sp, #0x10] bl MOD16_021D822C cmp r0, #0xf bne _021E6B2C bl GF_AssertFail _021E6B2C: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E6AAC thumb_func_start MOD16_021E6B30 MOD16_021E6B30: ; 0x021E6B30 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 add r6, r1, #0 add r1, r5, #0 add r1, #0xb8 ldr r1, [r1] add r4, r2, #0 add r7, r3, #0 mov r0, #0 cmp r1, #0 beq _021E6B4E sub r0, r0, #2 bpl _021E6B4E add r0, r0, #4 _021E6B4E: ldr r1, [sp, #0x28] add r2, r4, #0 str r1, [sp] ldr r1, [sp, #0x2c] add r3, r7, #0 str r1, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] add r0, r5, #0 add r1, r6, #0 bl MOD16_021E6C04 ldr r0, [sp, #0x28] ldr r1, [sp, #0x2c] ldr r3, [r4, #0x10] mov r2, #1 bl MOD16_021E5D2C add r2, r5, #0 add r2, #0xb8 ldr r2, [r2] mov r1, #2 cmp r2, #0 beq _021E6B86 sub r1, r1, #2 bpl _021E6B86 add r1, r1, #4 _021E6B86: ldr r2, [sp, #0x28] add r3, r7, #0 str r2, [sp] str r0, [sp, #4] str r1, [sp, #8] mov r0, #1 str r0, [sp, #0xc] add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD16_021E6C04 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E6B30 thumb_func_start MOD16_021E6BA4 MOD16_021E6BA4: ; 0x021E6BA4 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r6, r2, #0 add r5, r0, #0 str r1, [sp, #0x10] str r3, [sp, #0x14] ldr r0, [sp, #0x30] ldr r1, [sp, #0x34] ldr r3, [r6, #0x10] mov r2, #1 bl MOD16_021E5D2C str r0, [sp, #0x18] add r0, r5, #0 add r0, #0xb8 ldr r0, [r0] mov r4, #2 cmp r0, #0 beq _021E6BD0 sub r4, r4, #2 bpl _021E6BD0 add r4, r4, #4 _021E6BD0: add r0, r0, #1 lsr r2, r0, #0x1f lsl r1, r0, #0x1f sub r1, r1, r2 mov r0, #0x1f ror r1, r0 add r7, r2, r1 lsl r0, r7, #2 add r0, r5, r0 ldr r0, [r0, #0x20] bl MOD16_021DB338 ldr r0, [sp, #0x30] ldr r1, [sp, #0x10] str r0, [sp] ldr r0, [sp, #0x18] ldr r3, [sp, #0x14] str r0, [sp, #4] str r4, [sp, #8] add r0, r5, #0 add r2, r6, #0 str r7, [sp, #0xc] bl MOD16_021E6C04 add sp, #0x1c pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E6BA4 thumb_func_start MOD16_021E6C04 MOD16_021E6C04: ; 0x021E6C04 push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 add r4, r0, #0 ldr r0, [sp, #0x60] add r6, r1, #0 lsl r7, r0, #2 ldr r0, [r4, r7] str r2, [sp, #8] str r3, [sp, #0xc] ldr r5, [r6] cmp r0, #0 bne _021E6C20 bl GF_AssertFail _021E6C20: ldr r1, [sp, #8] ldr r2, [sp, #0x58] ldr r3, [sp, #0x5c] add r0, r6, #0 bl MOD16_021E6D94 str r0, [sp, #0x10] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0 str r0, [sp, #0x18] ldr r0, [r4, #0x14] bl FUN_02009E54 mov r1, #0x28 str r1, [sp, #0x2c] mov r1, #3 str r1, [sp, #0x30] mov r1, #0 ldr r2, [sp, #0xc] str r1, [sp, #0x34] mov r1, #1 str r0, [sp, #0x20] str r1, [sp, #0x38] str r2, [sp, #0x3c] bl FUN_0201E28C str r0, [sp, #0x14] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r5, r0] mov r1, #0xa mov r2, #2 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r5, r0] ldr r2, _021E6CB0 ; =0x00000266 ldr r3, [sp, #0x10] add r1, r6, #0 bl MOD16_021DB3C8 lsr r0, r0, #1 neg r0, r0 str r6, [sp, #0x1c] str r0, [sp, #0x28] ldr r0, [r4, r7] add r4, #0x20 str r0, [sp, #0x24] ldr r0, [sp, #0x64] lsl r5, r0, #2 add r0, sp, #0x18 bl MOD16_021DB2BC str r0, [r4, r5] ldr r0, [r4, r5] ldr r1, [sp, #0x14] ldr r0, [r0] bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} nop _021E6CB0: .word 0x00000266 thumb_func_end MOD16_021E6C04 thumb_func_start MOD16_021E6CB4 MOD16_021E6CB4: ; 0x021E6CB4 push {r4, r5, r6, lr} add r5, r1, #0 ldr r0, [r5, #4] add r6, r2, #0 bl MOD16_021D9DE8 add r1, r0, #0 ldr r0, [r5, #4] add r2, r6, #0 bl MOD16_021D98DC add r5, r0, #0 mov r0, #0 mvn r0, r0 cmp r5, r0 bne _021E6CD8 bl GF_AssertFail _021E6CD8: cmp r5, #0 beq _021E6CE2 cmp r5, #1 beq _021E6CE6 b _021E6CEA _021E6CE2: mov r4, #0xd b _021E6CEE _021E6CE6: mov r4, #0xe b _021E6CEE _021E6CEA: bl GF_AssertFail _021E6CEE: add r0, r4, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E6CB4 thumb_func_start MOD16_021E6CF4 MOD16_021E6CF4: ; 0x021E6CF4 mov r0, #0xd bx lr thumb_func_end MOD16_021E6CF4 thumb_func_start MOD16_021E6CF8 MOD16_021E6CF8: ; 0x021E6CF8 mov r0, #0xe bx lr thumb_func_end MOD16_021E6CF8 thumb_func_start MOD16_021E6CFC MOD16_021E6CFC: ; 0x021E6CFC mov r0, #0x15 bx lr thumb_func_end MOD16_021E6CFC thumb_func_start MOD16_021E6D00 MOD16_021E6D00: ; 0x021E6D00 push {r3, lr} ldr r0, [r1, #4] add r1, r2, #0 bl MOD16_021D9934 add r0, #0x11 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E6D00 thumb_func_start MOD16_021E6D10 MOD16_021E6D10: ; 0x021E6D10 push {r3, lr} ldr r0, [r1, #4] add r1, r2, #0 bl MOD16_021D994C add r0, #0x11 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E6D10 thumb_func_start MOD16_021E6D20 MOD16_021E6D20: ; 0x021E6D20 push {r3, lr} ldr r0, [r1, #4] add r1, r2, #0 bl MOD16_021D9904 add r0, #0xf pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E6D20 thumb_func_start MOD16_021E6D30 MOD16_021E6D30: ; 0x021E6D30 push {r3, lr} ldr r0, [r1, #4] add r1, r2, #0 bl MOD16_021D991C add r0, #0xf pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E6D30 thumb_func_start MOD16_021E6D40 MOD16_021E6D40: ; 0x021E6D40 mov r0, #0x14 bx lr thumb_func_end MOD16_021E6D40 thumb_func_start MOD16_021E6D44 MOD16_021E6D44: ; 0x021E6D44 push {r3, lr} ldr r0, [r1, #4] add r1, r2, #0 bl MOD16_021D9A3C add r0, #0x6e pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E6D44 thumb_func_start MOD16_021E6D54 MOD16_021E6D54: ; 0x021E6D54 push {r3, r4, r5, r6, r7, lr} mov r4, #0 add r6, r1, #0 add r7, r2, #0 add r5, r4, #0 cmp r0, #3 bhi _021E6D8A add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E6D6E: ; jump table .short _021E6D78 - _021E6D6E - 2 ; case 0 .short _021E6D76 - _021E6D6E - 2 ; case 1 .short _021E6D80 - _021E6D6E - 2 ; case 2 .short _021E6D7E - _021E6D6E - 2 ; case 3 _021E6D76: mov r4, #0x70 _021E6D78: add r4, #0x48 mov r5, #0x58 b _021E6D8E _021E6D7E: mov r4, #0x70 _021E6D80: mov r0, #0x52 lsl r0, r0, #2 add r4, r4, r0 mov r5, #0x58 b _021E6D8E _021E6D8A: bl GF_AssertFail _021E6D8E: str r4, [r6] str r5, [r7] pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E6D54 thumb_func_start MOD16_021E6D94 MOD16_021E6D94: ; 0x021E6D94 push {r3, lr} cmp r2, #9 bhi _021E6E08 add r2, r2, r2 add r2, pc ldrh r2, [r2, #6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _021E6DA6: ; jump table .short _021E6DBA - _021E6DA6 - 2 ; case 0 .short _021E6DC2 - _021E6DA6 - 2 ; case 1 .short _021E6DCA - _021E6DA6 - 2 ; case 2 .short _021E6DD2 - _021E6DA6 - 2 ; case 3 .short _021E6DEA - _021E6DA6 - 2 ; case 4 .short _021E6DF2 - _021E6DA6 - 2 ; case 5 .short _021E6DDA - _021E6DA6 - 2 ; case 6 .short _021E6DE2 - _021E6DA6 - 2 ; case 7 .short _021E6DFA - _021E6DA6 - 2 ; case 8 .short _021E6E02 - _021E6DA6 - 2 ; case 9 _021E6DBA: add r2, r3, #0 bl MOD16_021E6CB4 pop {r3, pc} _021E6DC2: add r2, r3, #0 bl MOD16_021E6CF4 pop {r3, pc} _021E6DCA: add r2, r3, #0 bl MOD16_021E6CF8 pop {r3, pc} _021E6DD2: add r2, r3, #0 bl MOD16_021E6CFC pop {r3, pc} _021E6DDA: add r2, r3, #0 bl MOD16_021E6D00 pop {r3, pc} _021E6DE2: add r2, r3, #0 bl MOD16_021E6D10 pop {r3, pc} _021E6DEA: add r2, r3, #0 bl MOD16_021E6D20 pop {r3, pc} _021E6DF2: add r2, r3, #0 bl MOD16_021E6D30 pop {r3, pc} _021E6DFA: add r2, r3, #0 bl MOD16_021E6D40 pop {r3, pc} _021E6E02: add r2, r3, #0 bl MOD16_021E6D44 _021E6E08: pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021E6D94 thumb_func_start MOD16_021E6E0C MOD16_021E6E0C: ; 0x021E6E0C push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021E6E12: ldr r0, [r5, #0x20] bl MOD16_021DB338 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021E6E12 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E6E0C thumb_func_start MOD16_021E6E24 MOD16_021E6E24: ; 0x021E6E24 push {r4, lr} add r4, r0, #0 add r0, #0xbc ldr r0, [r0] mov r1, #0 bl FUN_020200A0 add r0, r4, #0 mov r1, #0x18 add r0, #0xc0 str r1, [r0] mov r0, #1 add r4, #0xc4 str r0, [r4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E6E24 thumb_func_start MOD16_021E6E44 MOD16_021E6E44: ; 0x021E6E44 push {r4, lr} add r4, r0, #0 add r0, #0xc4 ldr r0, [r0] cmp r0, #0 beq _021E6E7A add r0, r4, #0 add r0, #0xc0 ldr r0, [r0] sub r1, r0, #1 add r0, r4, #0 add r0, #0xc0 str r1, [r0] add r0, r4, #0 add r0, #0xc0 ldr r0, [r0] cmp r0, #0 bgt _021E6E7A add r0, r4, #0 add r0, #0xbc ldr r0, [r0] mov r1, #1 bl FUN_020200A0 mov r0, #0 add r4, #0xc4 str r0, [r4] _021E6E7A: pop {r4, pc} thumb_func_end MOD16_021E6E44 thumb_func_start MOD16_021E6E7C MOD16_021E6E7C: ; 0x021E6E7C push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 add r0, r7, #0 bl MOD16_021E6F18 add r4, r0, #0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021E6F54 str r4, [r5] str r0, [r5, #4] mov r0, #0 str r0, [r5, #0x20] bl MOD16_021E6FA4 str r0, [r5, #0x24] ldr r0, _021E6EBC ; =MOD16_021E6FA8 str r0, [r5, #8] ldr r0, _021E6EC0 ; =MOD16_021E6FAC str r0, [r5, #0xc] ldr r0, _021E6EC4 ; =MOD16_021E6FBC str r0, [r5, #0x10] ldr r0, _021E6EC8 ; =MOD16_021E6FC0 str r0, [r5, #0x14] ldr r0, _021E6ECC ; =MOD16_021E70A0 str r0, [r5, #0x18] ldr r0, _021E6ED0 ; =MOD16_021E70A4 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E6EBC: .word MOD16_021E6FA8 _021E6EC0: .word MOD16_021E6FAC _021E6EC4: .word MOD16_021E6FBC _021E6EC8: .word MOD16_021E6FC0 _021E6ECC: .word MOD16_021E70A0 _021E6ED0: .word MOD16_021E70A4 thumb_func_end MOD16_021E6E7C thumb_func_start MOD16_021E6ED4 MOD16_021E6ED4: ; 0x021E6ED4 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E6F7C ldr r0, [r4, #4] bl MOD16_021E6F90 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E6ED4 thumb_func_start MOD16_021E6EE8 MOD16_021E6EE8: ; 0x021E6EE8 ldr r0, [r0] str r1, [r0, #8] str r2, [r0, #0xc] bx lr thumb_func_end MOD16_021E6EE8 thumb_func_start MOD16_021E6EF0 MOD16_021E6EF0: ; 0x021E6EF0 ldr r0, [r0] str r1, [r0, #0x14] bx lr .align 2, 0 thumb_func_end MOD16_021E6EF0 thumb_func_start MOD16_021E6EF8 MOD16_021E6EF8: ; 0x021E6EF8 mov r0, #0 bx lr thumb_func_end MOD16_021E6EF8 thumb_func_start MOD16_021E6EFC MOD16_021E6EFC: ; 0x021E6EFC ldr r2, [r0] mov r0, #1 cmp r1, #1 bne _021E6F08 mov r1, #0 add r0, r1, #0 _021E6F08: str r1, [r2, #0x1c] bx lr thumb_func_end MOD16_021E6EFC thumb_func_start MOD16_021E6F0C MOD16_021E6F0C: ; 0x021E6F0C ldr r2, [r0] mov r0, #0 str r1, [r2, #0x18] str r0, [r2, #0x1c] bx lr .align 2, 0 thumb_func_end MOD16_021E6F0C thumb_func_start MOD16_021E6F18 MOD16_021E6F18: ; 0x021E6F18 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x20 bl AllocFromHeap add r4, r0, #0 bne _021E6F2A bl GF_AssertFail _021E6F2A: add r0, r4, #0 mov r1, #0 mov r2, #0x20 bl memset add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E6F18 thumb_func_start MOD16_021E6F54 MOD16_021E6F54: ; 0x021E6F54 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021E6F66 bl GF_AssertFail _021E6F66: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E6F54 thumb_func_start MOD16_021E6F7C MOD16_021E6F7C: ; 0x021E6F7C push {r4, lr} add r4, r0, #0 bne _021E6F86 bl GF_AssertFail _021E6F86: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E6F7C thumb_func_start MOD16_021E6F90 MOD16_021E6F90: ; 0x021E6F90 push {r4, lr} add r4, r0, #0 bne _021E6F9A bl GF_AssertFail _021E6F9A: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E6F90 thumb_func_start MOD16_021E6FA4 MOD16_021E6FA4: ; 0x021E6FA4 mov r0, #0 bx lr thumb_func_end MOD16_021E6FA4 thumb_func_start MOD16_021E6FA8 MOD16_021E6FA8: ; 0x021E6FA8 mov r0, #1 bx lr thumb_func_end MOD16_021E6FA8 thumb_func_start MOD16_021E6FAC MOD16_021E6FAC: ; 0x021E6FAC ldr r0, [r0, #0xc] cmp r0, #1 bne _021E6FB6 mov r0, #1 bx lr _021E6FB6: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021E6FAC thumb_func_start MOD16_021E6FBC MOD16_021E6FBC: ; 0x021E6FBC mov r0, #1 bx lr thumb_func_end MOD16_021E6FBC thumb_func_start MOD16_021E6FC0 MOD16_021E6FC0: ; 0x021E6FC0 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r5, [r4, #8] cmp r0, #3 bhi _021E7096 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E6FDC: ; jump table .short _021E6FE4 - _021E6FDC - 2 ; case 0 .short _021E6FFE - _021E6FDC - 2 ; case 1 .short _021E7048 - _021E6FDC - 2 ; case 2 .short _021E708C - _021E6FDC - 2 ; case 3 _021E6FE4: ldr r0, [r4, #4] mov r1, #0x58 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x58 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7096 _021E6FFE: ldr r3, [r4, #4] add r0, r5, #0 add r1, r6, #0 bl MOD16_021E7160 ldr r0, [r7, #0x14] cmp r0, #0 beq _021E7018 cmp r0, #1 beq _021E7026 cmp r0, #2 beq _021E7034 b _021E7040 _021E7018: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E77C0 b _021E7040 _021E7026: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E76E8 b _021E7040 _021E7034: add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021E78BC _021E7040: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7096 _021E7048: ldr r0, [r7, #0x14] cmp r0, #0 beq _021E7058 cmp r0, #1 beq _021E7066 cmp r0, #2 beq _021E7074 b _021E7080 _021E7058: add r0, r5, #0 add r1, r6, #0 mov r3, #1 bl MOD16_021E7844 add r1, r0, #0 b _021E7080 _021E7066: add r0, r5, #0 add r1, r6, #0 mov r3, #1 bl MOD16_021E7764 add r1, r0, #0 b _021E7080 _021E7074: add r0, r5, #0 add r1, r6, #0 mov r3, #1 bl MOD16_021E7944 add r1, r0, #0 _021E7080: cmp r1, #0 beq _021E7096 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7096 _021E708C: ldr r0, _021E709C ; =0x04000050 mov r1, #0 strh r1, [r0] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E7096: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} nop _021E709C: .word 0x04000050 thumb_func_end MOD16_021E6FC0 thumb_func_start MOD16_021E70A0 MOD16_021E70A0: ; 0x021E70A0 mov r0, #0 bx lr thumb_func_end MOD16_021E70A0 thumb_func_start MOD16_021E70A4 MOD16_021E70A4: ; 0x021E70A4 push {r3, r4, r5, lr} add r4, r1, #0 ldr r5, [r4] add r3, r0, #0 add r1, r2, #0 ldr r0, [r4, #8] cmp r5, #4 bhi _021E715A add r5, r5, r5 add r5, pc ldrh r5, [r5, #6] lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 _021E70C0: ; jump table .short _021E70CA - _021E70C0 - 2 ; case 0 .short _021E70FE - _021E70C0 - 2 ; case 1 .short _021E713C - _021E70C0 - 2 ; case 2 .short _021E714A - _021E70C0 - 2 ; case 3 .short _021E7156 - _021E70C0 - 2 ; case 4 _021E70CA: ldr r1, [r1, #0x14] cmp r1, #0 beq _021E70DA cmp r1, #1 beq _021E70E4 cmp r1, #2 beq _021E70EE b _021E70F6 _021E70DA: add r1, r3, #0 mov r3, #0 bl MOD16_021E77C0 b _021E70F6 _021E70E4: add r1, r3, #0 mov r3, #0 bl MOD16_021E76E8 b _021E70F6 _021E70EE: add r1, r3, #0 mov r3, #0 bl MOD16_021E78BC _021E70F6: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E715A _021E70FE: ldr r1, [r1, #0x14] cmp r1, #0 beq _021E710E cmp r1, #1 beq _021E711A cmp r1, #2 beq _021E7126 b _021E7130 _021E710E: add r1, r3, #0 mov r3, #0 bl MOD16_021E7844 add r2, r0, #0 b _021E7130 _021E711A: add r1, r3, #0 mov r3, #0 bl MOD16_021E7764 add r2, r0, #0 b _021E7130 _021E7126: add r1, r3, #0 mov r3, #0 bl MOD16_021E7944 add r2, r0, #0 _021E7130: cmp r2, #0 beq _021E715A ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E715A _021E713C: add r1, r3, #0 bl MOD16_021E71A8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E715A _021E714A: bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E715A _021E7156: mov r0, #1 pop {r3, r4, r5, pc} _021E715A: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E70A4 thumb_func_start MOD16_021E7160 MOD16_021E7160: ; 0x021E7160 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 add r7, r0, #0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E73F0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E743C add r0, r7, #0 add r1, r5, #0 add r2, r6, #0 bl MOD16_021E7490 add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 add r3, r6, #0 bl MOD16_021E7580 add r0, r5, #0 add r1, r6, #0 bl MOD16_021E71D0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E72E4 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E7160 thumb_func_start MOD16_021E71A8 MOD16_021E71A8: ; 0x021E71A8 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 bl MOD16_021E76D0 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer add r0, r5, #0 add r1, r4, #0 bl MOD16_021E753C ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_02018744 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E71A8 thumb_func_start MOD16_021E71D0 MOD16_021E71D0: ; 0x021E71D0 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #3 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x32 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r6, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x33 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r1, #3 str r1, [sp] add r6, r0, #0 ldrh r0, [r2] mov r3, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x37 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r6, r0, #0 ldr r2, [sp, #0x10] mov r0, #0x10 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x38 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r4, r0, #0 ldr r2, [sp, #0x10] mov r0, #8 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0xe lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap ldr r0, [r5] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E71D0 thumb_func_start MOD16_021E72E4 MOD16_021E72E4: ; 0x021E72E4 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r5, r0, #0 add r4, r1, #0 str r2, [sp, #0x10] mov r0, #0x40 add r1, r2, #0 bl String_ctor str r0, [sp, #0x18] ldr r2, _021E7394 ; =0x00000266 ldr r3, [sp, #0x10] mov r0, #0 mov r1, #0x1a bl NewMsgDataFromNarc str r0, [sp, #0x14] ldr r0, [r4, #4] bl MOD16_021D9DE8 add r7, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DF8 cmp r0, #2 beq _021E731E mov r7, #0 bl GF_AssertFail _021E731E: ldr r0, [r4, #0x18] bl MOD16_021E7A70 add r1, r0, #0 ldr r0, [sp, #0x14] ldr r2, [sp, #0x18] bl ReadMsgDataIntoString mov r0, #0 ldr r1, [sp, #0x18] add r2, r0, #0 bl FUN_02002E14 add r3, r0, #0 mov r0, #0x48 str r0, [sp] mov r1, #0 lsr r6, r3, #0x1f add r6, r3, r6 ldr r0, _021E7398 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] ldr r2, [sp, #0x18] asr r6, r6, #1 mov r3, #0xb8 add r0, r0, #4 sub r3, r3, r6 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor ldr r0, [sp, #0x14] bl DestroyMsgData ldr r0, [r4, #0x1c] ldr r1, [sp, #0x10] str r0, [sp] ldr r3, [r4, #0x18] add r0, r5, #0 add r2, r7, #0 bl MOD16_021E739C ldr r1, [sp, #0x10] ldr r3, [r4, #0x18] add r0, r5, #0 add r2, r7, #0 bl MOD16_021E7AB4 ldr r1, [sp, #0x10] ldr r3, [r4, #0x18] add r0, r5, #0 add r2, r7, #0 bl MOD16_021E7AF0 add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 _021E7394: .word 0x00000266 _021E7398: .word 0x00020100 thumb_func_end MOD16_021E72E4 thumb_func_start MOD16_021E739C MOD16_021E739C: ; 0x021E739C push {r3, r4, r5, lr} sub sp, #0x10 add r5, r0, #0 add r4, r1, #0 add r0, r2, #0 add r1, r3, #0 ldr r2, [sp, #0x20] add r3, r4, #0 bl MOD16_021DBC48 add r4, r0, #0 mov r0, #0 add r1, r4, #0 add r2, r0, #0 bl FUN_02002F08 cmp r0, #0xf0 bhs _021E73C8 lsr r1, r0, #1 mov r0, #0x80 sub r3, r0, r1 b _021E73CA _021E73C8: mov r3, #8 _021E73CA: mov r0, #0x88 str r0, [sp] mov r1, #0 ldr r0, _021E73EC ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 add r0, r4, #0 bl MOD16_021DBBAC add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021E73EC: .word 0x00020100 thumb_func_end MOD16_021E739C thumb_func_start MOD16_021E73F0 MOD16_021E73F0: ; 0x021E73F0 push {r4, r5, r6, lr} sub sp, #8 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #4] add r6, r2, #0 bl MOD16_021D9D88 add r3, r0, #0 mov r0, #0x2b lsl r0, r0, #0xe str r0, [sp] mov r0, #2 lsl r0, r0, #0x10 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r4, #4] add r2, r6, #0 bl MOD16_021D7E9C ldr r0, [r5] mov r1, #0 bl MOD16_021D891C add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E73F0 thumb_func_start MOD16_021E7424 MOD16_021E7424: ; 0x021E7424 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #0 bl MOD16_021D8950 ldr r0, [r4] mov r1, #0 bl MOD16_021D88F0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E7424 thumb_func_start MOD16_021E743C MOD16_021E743C: ; 0x021E743C push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 bl MOD16_021D8700 add r6, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r2, r0, #0 mov r0, #0x30 str r0, [sp] mov r0, #0x48 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r4, #4] mov r3, #2 bl MOD16_021D7FB4 add r0, r6, #0 mov r1, #6 mov r2, #0 bl FUN_02007558 add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E743C thumb_func_start MOD16_021E7474 MOD16_021E7474: ; 0x021E7474 push {r4, lr} ldr r0, [r0] bl MOD16_021D8700 add r4, r0, #0 mov r1, #6 mov r2, #1 bl FUN_02007558 add r0, r4, #0 bl FUN_02007EEC pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E7474 thumb_func_start MOD16_021E7490 MOD16_021E7490: ; 0x021E7490 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E752C ; =0x00000FFA mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x5a bl FUN_020091E0 str r0, [r5, #8] bl FUN_02009B04 ldr r0, [r5, #8] bl FUN_02009474 ldr r0, _021E7530 ; =0x00000FAD add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #5 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0xd mov r3, #0 bl FUN_02009298 str r0, [r5, #0xc] bl FUN_02009D68 ldr r0, [r5, #0xc] bl FUN_02009474 ldr r0, _021E7534 ; =0x00000FF8 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x58 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x10] ldr r0, _021E7538 ; =0x00000FF9 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x59 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x14] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E752C: .word 0x00000FFA _021E7530: .word 0x00000FAD _021E7534: .word 0x00000FF8 _021E7538: .word 0x00000FF9 thumb_func_end MOD16_021E7490 thumb_func_start MOD16_021E753C MOD16_021E753C: ; 0x021E753C push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #8] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0xc] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #8] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0xc] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x10] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x14] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E753C thumb_func_start MOD16_021E7580 MOD16_021E7580: ; 0x021E7580 push {r3, r4, r5, r6, r7, lr} sub sp, #0xa0 add r6, r0, #0 add r0, r2, #0 add r5, r1, #0 ldr r0, [r0, #4] str r2, [sp, #0x2c] add r7, r3, #0 ldr r4, [r5] bl MOD16_021D9DE8 ldr r3, _021E7670 ; =0x00000FF9 str r0, [sp, #0x30] mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #5 str r2, [sp, #0x10] lsl r0, r0, #6 ldr r1, [r4, r0] str r1, [sp, #0x14] add r1, r0, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r0, #0 add r1, #8 ldr r1, [r4, r1] add r0, #0xc str r1, [sp, #0x1c] ldr r0, [r4, r0] add r1, r3, #1 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r2, r3, #0 add r0, sp, #0x7c sub r2, #0x4c sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x5c] add r0, sp, #0x7c str r0, [sp, #0x60] mov r0, #0x20 str r0, [sp, #0x70] mov r0, #1 str r0, [sp, #0x74] mov r0, #3 lsl r0, r0, #0x12 str r0, [sp, #0x64] mov r0, #0xd lsl r0, r0, #0xe str r0, [sp, #0x68] add r0, sp, #0x5c str r7, [sp, #0x78] bl FUN_0201FF84 mov r1, #0x11 str r0, [r6] bl FUN_02020130 ldr r0, [sp, #0x2c] ldr r0, [r0, #4] bl MOD16_021D9DF8 cmp r0, #2 beq _021E7618 mov r0, #0 str r0, [sp, #0x30] _021E7618: ldr r1, [sp, #0x30] add r0, r5, #0 add r2, r7, #0 bl MOD16_021E7674 add r4, r0, #0 ldr r0, [r5] mov r1, #1 bl MOD16_021D88D4 mov r1, #0x15 ldr r2, [r5] lsl r1, r1, #4 ldr r1, [r2, r1] str r1, [sp, #0x34] mov r1, #0 bl FUN_02009E54 str r0, [sp, #0x3c] ldr r0, [r6] str r0, [sp, #0x40] mov r0, #0x4d mvn r0, r0 str r0, [sp, #0x44] add r0, #0x46 str r0, [sp, #0x48] mov r0, #0 str r0, [sp, #0x4c] mov r0, #0x1f str r0, [sp, #0x50] mov r0, #1 str r0, [sp, #0x54] str r7, [sp, #0x58] str r4, [sp, #0x38] add r0, sp, #0x34 bl MOD16_021DB2BC str r0, [r6, #4] add r0, r4, #0 bl MOD16_021DB3BC add sp, #0xa0 pop {r3, r4, r5, r6, r7, pc} nop _021E7670: .word 0x00000FF9 thumb_func_end MOD16_021E7580 thumb_func_start MOD16_021E7674 MOD16_021E7674: ; 0x021E7674 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 mov r0, #0x15 ldr r1, [r5] lsl r0, r0, #4 ldr r0, [r1, r0] add r7, r2, #0 mov r1, #0x12 mov r2, #2 bl MOD16_021DB388 add r4, r0, #0 add r0, r6, #0 mov r1, #2 add r2, r7, #0 bl MOD16_021DBC08 add r6, r0, #0 mov r0, #2 add r1, r6, #0 mov r2, #0 bl FUN_02002E14 cmp r0, #0x88 bhs _021E76B0 mov r1, #0x88 sub r0, r1, r0 lsr r3, r0, #1 b _021E76B2 _021E76B0: mov r3, #0 _021E76B2: mov r0, #0 str r0, [sp] mov r0, #0x15 ldr r1, [r5] lsl r0, r0, #4 ldr r0, [r1, r0] add r1, r4, #0 add r2, r6, #0 bl MOD16_021DB42C add r0, r6, #0 bl MOD16_021DBBAC add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E7674 thumb_func_start MOD16_021E76D0 MOD16_021E76D0: ; 0x021E76D0 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0201FFC8 mov r0, #0 str r0, [r4] ldr r0, [r4, #4] bl MOD16_021DB338 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E76D0 thumb_func_start MOD16_021E76E8 MOD16_021E76E8: ; 0x021E76E8 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r1, #0 add r7, r0, #0 ldr r0, [r5] mov r1, #1 add r4, r2, #0 add r6, r3, #0 bl MOD16_021D88F0 add r0, r7, #0 bl MOD16_021E79C0 ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 beq _021E775A cmp r6, #0 beq _021E7736 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2b str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 b _021E775A _021E7736: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2b str r0, [sp, #8] mov r0, #8 str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E775A: add r0, r5, #0 bl MOD16_021E79F0 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E76E8 thumb_func_start MOD16_021E7764 MOD16_021E7764: ; 0x021E7764 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 ldr r0, [r2, #0x10] add r5, r1, #0 add r6, r3, #0 bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021E7784 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 b _021E778E _021E7784: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C _021E778E: add r4, r0, #0 cmp r4, #1 bne _021E77B6 cmp r6, #1 bne _021E77A8 add r0, r7, #0 bl MOD16_021E79D8 ldr r0, [r5] mov r1, #0 bl MOD16_021D88F0 b _021E77BC _021E77A8: add r0, r5, #0 bl MOD16_021E7474 add r0, r5, #0 bl MOD16_021E7424 b _021E77BC _021E77B6: add r0, r5, #0 bl MOD16_021E79F0 _021E77BC: add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E7764 thumb_func_start MOD16_021E77C0 MOD16_021E77C0: ; 0x021E77C0 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r0, #0 add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 bl MOD16_021E79C0 cmp r6, #0 bne _021E77E6 ldr r1, [r4, #8] ldr r2, [r4, #0xc] add r0, r7, #0 mov r3, #4 bl MOD16_021E7A00 add r0, r7, #0 bl MOD16_021E7A38 _021E77E6: ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 beq _021E7840 cmp r6, #0 beq _021E781C mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021E781C: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E7840: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E77C0 thumb_func_start MOD16_021E7844 MOD16_021E7844: ; 0x021E7844 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 add r7, r3, #0 bne _021E7864 bl MOD16_021E7A1C str r0, [sp] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E7A54 str r0, [sp, #4] b _021E786A _021E7864: mov r0, #1 str r0, [sp] str r0, [sp, #4] _021E786A: ldr r0, [r6, #0x10] bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r4] beq _021E7884 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 str r0, [sp, #8] b _021E7890 _021E7884: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C str r0, [sp, #8] _021E7890: mov r1, #0 add r2, sp, #0 _021E7894: ldr r0, [r2] cmp r0, #0 beq _021E78A2 add r1, r1, #1 add r2, r2, #4 cmp r1, #3 blt _021E7894 _021E78A2: cmp r1, #3 bne _021E78B6 cmp r7, #1 bne _021E78B0 add r0, r5, #0 bl MOD16_021E79D8 _021E78B0: add sp, #0xc mov r0, #1 pop {r4, r5, r6, r7, pc} _021E78B6: mov r0, #0 add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E7844 thumb_func_start MOD16_021E78BC MOD16_021E78BC: ; 0x021E78BC push {r4, r5, r6, r7, lr} sub sp, #0x14 add r5, r1, #0 add r7, r0, #0 add r4, r2, #0 add r6, r3, #0 bl MOD16_021E79C0 ldr r0, [r5] mov r1, #1 bl MOD16_021D88F0 cmp r6, #0 bne _021E78E4 ldr r1, [r4, #8] ldr r2, [r4, #0xc] add r0, r7, #0 mov r3, #1 bl MOD16_021E7A00 _021E78E4: ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 beq _021E793E cmp r6, #0 beq _021E791A mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021E791A: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E793E: add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E78BC thumb_func_start MOD16_021E7944 MOD16_021E7944: ; 0x021E7944 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r0, #0 add r5, r1, #0 add r4, r2, #0 add r6, r3, #0 bne _021E795A bl MOD16_021E7A1C str r0, [sp] b _021E795E _021E795A: mov r0, #1 str r0, [sp] _021E795E: ldr r0, [r4, #0x10] bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021E7978 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 str r0, [sp, #4] b _021E7984 _021E7978: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C str r0, [sp, #4] _021E7984: mov r1, #0 add r2, sp, #0 _021E7988: ldr r0, [r2] cmp r0, #0 beq _021E7996 add r1, r1, #1 add r2, r2, #4 cmp r1, #2 blt _021E7988 _021E7996: cmp r1, #2 bne _021E79BA cmp r6, #1 bne _021E79AE add r0, r7, #0 bl MOD16_021E79D8 ldr r0, [r5] mov r1, #0 bl MOD16_021D88F0 b _021E79B4 _021E79AE: add r0, r5, #0 bl MOD16_021E7424 _021E79B4: add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E79BA: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E7944 thumb_func_start MOD16_021E79C0 MOD16_021E79C0: ; 0x021E79C0 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #1 bl FUN_02020398 ldr r0, [r4, #4] mov r1, #1 ldr r0, [r0] bl FUN_02011AF0 pop {r4, pc} thumb_func_end MOD16_021E79C0 thumb_func_start MOD16_021E79D8 MOD16_021E79D8: ; 0x021E79D8 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #0 bl FUN_02020398 ldr r0, [r4, #4] mov r1, #0 ldr r0, [r0] bl FUN_02011AF0 pop {r4, pc} thumb_func_end MOD16_021E79D8 thumb_func_start MOD16_021E79F0 MOD16_021E79F0: ; 0x021E79F0 mov r1, #0x5b ldr r0, [r0] lsl r1, r1, #2 ldr r3, _021E79FC ; =MOD16_021D8A8C add r1, r0, r1 bx r3 .align 2, 0 _021E79FC: .word MOD16_021D8A8C thumb_func_end MOD16_021E79F0 thumb_func_start MOD16_021E7A00 MOD16_021E7A00: ; 0x021E7A00 push {r4, lr} sub sp, #8 add r4, r1, #0 str r2, [sp] str r3, [sp, #4] add r0, #0x18 mov r1, #0x30 add r2, r4, #0 mov r3, #0x48 bl MOD16_021D8BD8 add sp, #8 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E7A00 thumb_func_start MOD16_021E7A1C MOD16_021E7A1C: ; 0x021E7A1C push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r0, #0x18 bl MOD16_021D8BF4 add r6, r0, #0 ldr r0, [r4] ldr r1, [r5, #0x18] ldr r2, [r5, #0x1c] bl MOD16_021D86F4 add r0, r6, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E7A1C thumb_func_start MOD16_021E7A38 MOD16_021E7A38: ; 0x021E7A38 push {r3, lr} sub sp, #8 mov r1, #0x52 str r1, [sp] mov r1, #4 str r1, [sp, #4] add r0, #0x38 mov r1, #0xac mov r2, #0xaa mov r3, #0x20 bl MOD16_021D8BD8 add sp, #8 pop {r3, pc} thumb_func_end MOD16_021E7A38 thumb_func_start MOD16_021E7A54 MOD16_021E7A54: ; 0x021E7A54 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r0, #0x38 bl MOD16_021D8BF4 add r6, r0, #0 ldr r0, [r4] ldr r1, [r5, #0x38] ldr r2, [r5, #0x3c] bl MOD16_021D7F6C add r0, r6, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E7A54 thumb_func_start MOD16_021E7A70 MOD16_021E7A70: ; 0x021E7A70 push {r4, lr} cmp r0, #7 bhi _021E7AAA add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E7A82: ; jump table .short _021E7AAA - _021E7A82 - 2 ; case 0 .short _021E7A92 - _021E7A82 - 2 ; case 1 .short _021E7A96 - _021E7A82 - 2 ; case 2 .short _021E7A9A - _021E7A82 - 2 ; case 3 .short _021E7A9E - _021E7A82 - 2 ; case 4 .short _021E7AA2 - _021E7A82 - 2 ; case 5 .short _021E7AAA - _021E7A82 - 2 ; case 6 .short _021E7AA6 - _021E7A82 - 2 ; case 7 _021E7A92: mov r4, #0x72 b _021E7AAE _021E7A96: mov r4, #0x16 b _021E7AAE _021E7A9A: mov r4, #0x17 b _021E7AAE _021E7A9E: mov r4, #0x19 b _021E7AAE _021E7AA2: mov r4, #0x18 b _021E7AAE _021E7AA6: mov r4, #0x1a b _021E7AAE _021E7AAA: bl GF_AssertFail _021E7AAE: add r0, r4, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E7A70 thumb_func_start MOD16_021E7AB4 MOD16_021E7AB4: ; 0x021E7AB4 push {r3, r4, r5, lr} sub sp, #0x10 add r4, r1, #0 add r5, r0, #0 add r0, r2, #0 add r1, r3, #0 add r2, r4, #0 bl MOD16_021DBBC8 add r4, r0, #0 mov r0, #0x60 str r0, [sp] mov r1, #0 ldr r0, _021E7AEC ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 mov r3, #0x80 bl AddTextPrinterParameterized2 add r0, r4, #0 bl MOD16_021DBBAC add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021E7AEC: .word 0x00020100 thumb_func_end MOD16_021E7AB4 thumb_func_start MOD16_021E7AF0 MOD16_021E7AF0: ; 0x021E7AF0 push {r3, r4, r5, lr} sub sp, #0x10 add r4, r1, #0 add r5, r0, #0 add r0, r2, #0 add r1, r3, #0 add r2, r4, #0 bl MOD16_021DBC08 add r4, r0, #0 mov r0, #0 add r1, r4, #0 add r2, r0, #0 bl FUN_02002E14 mov r1, #0xf2 sub r3, r1, r0 mov r0, #0x70 str r0, [sp] mov r1, #0 ldr r0, _021E7B34 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 add r0, r4, #0 bl MOD16_021DBBAC add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021E7B34: .word 0x00020100 thumb_func_end MOD16_021E7AF0 thumb_func_start MOD16_021E7B38 MOD16_021E7B38: ; 0x021E7B38 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021E7BB0 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E7C10 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E7C38 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021E7CE0 str r0, [r5, #0x24] ldr r0, _021E7B80 ; =MOD16_021E7CE4 str r0, [r5, #8] ldr r0, _021E7B84 ; =MOD16_021E7D28 str r0, [r5, #0xc] ldr r0, _021E7B88 ; =MOD16_021E7D68 str r0, [r5, #0x10] ldr r0, _021E7B8C ; =MOD16_021E7D7C str r0, [r5, #0x14] ldr r0, _021E7B90 ; =MOD16_021E7E10 str r0, [r5, #0x18] ldr r0, _021E7B94 ; =MOD16_021E7ECC str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E7B80: .word MOD16_021E7CE4 _021E7B84: .word MOD16_021E7D28 _021E7B88: .word MOD16_021E7D68 _021E7B8C: .word MOD16_021E7D7C _021E7B90: .word MOD16_021E7E10 _021E7B94: .word MOD16_021E7ECC thumb_func_end MOD16_021E7B38 thumb_func_start MOD16_021E7B98 MOD16_021E7B98: ; 0x021E7B98 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E7C90 ldr r0, [r4] bl MOD16_021E7CA4 ldr r0, [r4, #0x20] bl MOD16_021E7CB8 pop {r4, pc} thumb_func_end MOD16_021E7B98 thumb_func_start MOD16_021E7BB0 MOD16_021E7BB0: ; 0x021E7BB0 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x18 bl AllocFromHeap add r4, r0, #0 bne _021E7BC2 bl GF_AssertFail _021E7BC2: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021E7BC8: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021E7BC8 add r0, r5, #0 bl MOD16_021D7AEC str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #3 bl MOD16_021D7B7C str r0, [r4, #0x14] add r0, r5, #0 mov r1, #2 bl MOD16_021D7B5C ldr r0, [r0] mov r1, #3 str r0, [r4, #8] add r0, r5, #0 bl MOD16_021D7B5C str r0, [r4, #0xc] add r0, r5, #0 mov r1, #4 bl MOD16_021D7B5C str r0, [r4, #0x10] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E7BB0 thumb_func_start MOD16_021E7C10 MOD16_021E7C10: ; 0x021E7C10 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021E7C22 bl GF_AssertFail _021E7C22: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E7C10 thumb_func_start MOD16_021E7C38 MOD16_021E7C38: ; 0x021E7C38 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 bl MOD16_021E7CE0 add r7, r0, #0 mov r1, #0x14 mul r7, r1 add r0, r5, #0 add r1, r7, #0 bl AllocFromHeap add r4, r0, #0 bne _021E7C58 bl GF_AssertFail _021E7C58: add r0, r4, #0 mov r1, #0 add r2, r7, #0 bl memset add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 mov r3, #1 bl MOD16_021DB0B0 add r1, r4, #0 add r0, r5, #0 add r1, #0x14 add r2, r6, #0 mov r3, #2 bl MOD16_021DB1D0 add r1, r4, #0 add r0, r5, #0 add r1, #0x28 add r2, r6, #0 mov r3, #4 bl MOD16_021DB114 add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E7C38 thumb_func_start MOD16_021E7C90 MOD16_021E7C90: ; 0x021E7C90 push {r4, lr} add r4, r0, #0 bne _021E7C9A bl GF_AssertFail _021E7C9A: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E7C90 thumb_func_start MOD16_021E7CA4 MOD16_021E7CA4: ; 0x021E7CA4 push {r4, lr} add r4, r0, #0 bne _021E7CAE bl GF_AssertFail _021E7CAE: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E7CA4 thumb_func_start MOD16_021E7CB8 MOD16_021E7CB8: ; 0x021E7CB8 push {r4, lr} add r4, r0, #0 bne _021E7CC2 bl GF_AssertFail _021E7CC2: add r0, r4, #0 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x14 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x28 bl MOD16_021DAC7C add r0, r4, #0 bl FreeToHeap pop {r4, pc} thumb_func_end MOD16_021E7CB8 thumb_func_start MOD16_021E7CE0 MOD16_021E7CE0: ; 0x021E7CE0 mov r0, #3 bx lr thumb_func_end MOD16_021E7CE0 thumb_func_start MOD16_021E7CE4 MOD16_021E7CE4: ; 0x021E7CE4 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #4] add r6, r1, #0 mov r1, #0x3c bl AllocFromHeap mov r1, #0 mov r2, #0x3c add r4, r0, #0 bl memset mov r1, #0 add r2, r4, #0 mov r0, #4 _021E7D02: add r1, r1, #1 str r0, [r2, #0x14] add r2, r2, #4 cmp r1, #8 blt _021E7D02 mov r0, #0 str r0, [r4, #0x10] ldr r2, [r5, #4] add r0, r4, #0 add r1, r6, #0 bl MOD16_021E7F54 add r0, r4, #0 add r1, r6, #0 bl MOD16_021E8B7C str r4, [r5, #8] mov r0, #1 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E7CE4 thumb_func_start MOD16_021E7D28 MOD16_021E7D28: ; 0x021E7D28 push {r3, r4, r5, lr} add r5, r1, #0 ldr r1, [r0, #0xc] ldr r4, [r0, #8] cmp r1, #1 bne _021E7D38 mov r0, #1 pop {r3, r4, r5, pc} _021E7D38: ldr r0, [r0, #0x10] cmp r0, #1 bne _021E7D42 mov r0, #0 pop {r3, r4, r5, pc} _021E7D42: ldr r0, [r5, #0x14] bl MOD16_021E95C0 cmp r0, #0 beq _021E7D62 add r0, r4, #0 bl MOD16_021E8ABC add r0, r4, #0 add r1, r5, #0 bl MOD16_021E8014 add r0, r4, #0 add r1, r5, #0 bl MOD16_021E8A78 _021E7D62: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E7D28 thumb_func_start MOD16_021E7D68 MOD16_021E7D68: ; 0x021E7D68 push {r4, lr} ldr r4, [r0, #8] add r0, r4, #0 bl MOD16_021E8088 add r0, r4, #0 bl FreeToHeap mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021E7D68 thumb_func_start MOD16_021E7D7C MOD16_021E7D7C: ; 0x021E7D7C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] str r2, [sp] ldr r7, [r3, #8] ldr r6, [r4, #8] cmp r0, #3 bhi _021E7E0A add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E7D9A: ; jump table .short _021E7DA2 - _021E7D9A - 2 ; case 0 .short _021E7DBC - _021E7D9A - 2 ; case 1 .short _021E7DE2 - _021E7D9A - 2 ; case 2 .short _021E7DF8 - _021E7D9A - 2 ; case 3 _021E7DA2: ldr r0, [r4, #4] mov r1, #0xc4 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0xc4 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7E0A _021E7DBC: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E8228 add r0, r6, #0 add r1, r7, #0 bl MOD16_021E8AE4 ldr r2, [sp] add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021E880C ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7E0A _021E7DE2: add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021E8878 cmp r0, #0 beq _021E7E0A ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7E0A _021E7DF8: mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #0 bl MOD16_021D8B3C mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E7E0A: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E7D7C thumb_func_start MOD16_021E7E10 MOD16_021E7E10: ; 0x021E7E10 push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 str r0, [sp, #0x1c] add r0, r1, #0 ldr r7, [r0, #8] ldr r6, [r3, #8] add r0, r7, #0 add r0, #0xc0 str r1, [sp, #0x20] ldr r1, [r0] ldr r0, [r6, #0x38] cmp r1, r0 beq _021E7E3A add r0, r7, #0 add r1, r6, #0 bl MOD16_021E8AE4 add r0, r7, #0 ldr r1, [r6, #0x38] add r0, #0xc0 str r1, [r0] _021E7E3A: mov r0, #0 str r0, [sp, #0x2c] add r0, r7, #0 str r0, [sp, #0x28] add r0, #0xa0 str r0, [sp, #0x28] add r0, r7, #0 str r0, [sp, #0x24] add r0, #0x80 str r0, [sp, #0x24] add r4, r6, #0 add r5, r7, #0 _021E7E52: ldr r0, [sp, #0x2c] cmp r0, #0 bne _021E7E5C mov r1, #4 b _021E7E5E _021E7E5C: mov r1, #5 _021E7E5E: mov r0, #5 mvn r0, r0 str r0, [sp] ldr r0, [sp, #0x24] str r1, [sp, #4] str r0, [sp, #8] ldr r0, [sp, #0x20] ldr r0, [r0, #4] str r0, [sp, #0xc] mov r0, #4 str r0, [sp, #0x10] mov r0, #1 str r0, [sp, #0x14] ldr r0, [sp, #0x28] str r0, [sp, #0x18] ldr r0, [sp, #0x1c] ldr r1, [r5] ldr r2, [r5, #0x20] ldr r3, [r4, #0x14] bl MOD16_021E88B4 ldr r0, [r5, #0x50] ldr r1, [r4, #0x14] bl MOD16_021D7B98 ldr r0, [sp, #0x28] add r4, r4, #4 add r0, r0, #4 str r0, [sp, #0x28] ldr r0, [sp, #0x24] add r5, r5, #4 add r0, r0, #4 str r0, [sp, #0x24] ldr r0, [sp, #0x2c] add r0, r0, #1 str r0, [sp, #0x2c] cmp r0, #1 ble _021E7E52 mov r4, #2 add r6, #8 add r7, #8 _021E7EB0: ldr r0, [r7] ldr r1, [r6, #0x14] add r2, r4, #0 bl MOD16_021E8BB8 add r4, r4, #1 add r6, r6, #4 add r7, r7, #4 cmp r4, #8 blt _021E7EB0 mov r0, #0 add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E7E10 thumb_func_start MOD16_021E7ECC MOD16_021E7ECC: ; 0x021E7ECC push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #4 bhi _021E7F4E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E7EE8: ; jump table .short _021E7EF2 - _021E7EE8 - 2 ; case 0 .short _021E7F14 - _021E7EE8 - 2 ; case 1 .short _021E7F2A - _021E7EE8 - 2 ; case 2 .short _021E7F3C - _021E7EE8 - 2 ; case 3 .short _021E7F4A - _021E7EE8 - 2 ; case 4 _021E7EF2: mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 bl MOD16_021D8B3C add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021E880C ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7F4E _021E7F14: add r0, r6, #0 add r1, r5, #0 mov r3, #0 bl MOD16_021E8878 cmp r0, #0 beq _021E7F4E ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7F4E _021E7F2A: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021E8258 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7F4E _021E7F3C: add r0, r6, #0 bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E7F4E _021E7F4A: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E7F4E: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E7ECC thumb_func_start MOD16_021E7F54 MOD16_021E7F54: ; 0x021E7F54 push {r3, r4, r5, r6, lr} sub sp, #4 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #0x20 bl AllocFromHeap str r0, [r5, #4] mov r0, #0xd0 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x70 mov r2, #0x98 mov r3, #0x30 bl MOD16_021D7C98 mov r0, #0xd0 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x38 add r0, r0, #4 mov r2, #0x60 mov r3, #0x30 bl MOD16_021D7C98 mov r0, #0x30 str r0, [sp] ldr r0, [r5, #4] mov r1, #0xa0 add r0, #8 mov r2, #0xc0 mov r3, #8 bl MOD16_021D7C98 mov r0, #0x58 str r0, [sp] ldr r0, [r5, #4] mov r1, #0xa0 add r0, #0xc mov r2, #0xc0 mov r3, #0x30 bl MOD16_021D7C98 mov r0, #0x80 str r0, [sp] ldr r0, [r5, #4] mov r1, #0xa0 add r0, #0x10 mov r2, #0xc0 mov r3, #0x58 bl MOD16_021D7C98 mov r0, #0xa8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0xa0 add r0, #0x14 mov r2, #0xc0 mov r3, #0x80 bl MOD16_021D7C98 mov r0, #0xd0 str r0, [sp] ldr r0, [r5, #4] mov r1, #0xa0 add r0, #0x18 mov r2, #0xc0 mov r3, #0xa8 bl MOD16_021D7C98 mov r0, #0xf8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0xa0 add r0, #0x1c mov r2, #0xc0 mov r3, #0xd0 bl MOD16_021D7C98 str r4, [r5, #8] str r5, [r5, #0xc] str r6, [sp] add r3, r5, #0 ldr r0, [r5, #4] ldr r2, _021E8010 ; =MOD16_021E80A0 mov r1, #8 add r3, #8 bl FUN_020220C4 str r0, [r5] add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _021E8010: .word MOD16_021E80A0 thumb_func_end MOD16_021E7F54 thumb_func_start MOD16_021E8014 MOD16_021E8014: ; 0x021E8014 push {r4, lr} add r4, r0, #0 mov r1, #0 add r2, r4, #0 mov r0, #3 _021E801E: add r1, r1, #1 str r0, [r2, #0x14] add r2, r2, #4 cmp r1, #8 blt _021E801E ldr r0, [r4] bl FUN_02022144 ldr r0, [r4, #0x10] cmp r0, #5 bhi _021E806E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E8040: ; jump table .short _021E804C - _021E8040 - 2 ; case 0 .short _021E8052 - _021E8040 - 2 ; case 1 .short _021E8058 - _021E8040 - 2 ; case 2 .short _021E805E - _021E8040 - 2 ; case 3 .short _021E8064 - _021E8040 - 2 ; case 4 .short _021E806A - _021E8040 - 2 ; case 5 _021E804C: mov r0, #1 str r0, [r4, #0x1c] b _021E806E _021E8052: mov r0, #1 str r0, [r4, #0x20] b _021E806E _021E8058: mov r0, #1 str r0, [r4, #0x24] b _021E806E _021E805E: mov r0, #1 str r0, [r4, #0x28] b _021E806E _021E8064: mov r0, #1 str r0, [r4, #0x2c] b _021E806E _021E806A: mov r0, #1 str r0, [r4, #0x30] _021E806E: ldr r0, [r4, #0x34] cmp r0, #0 beq _021E807A cmp r0, #1 beq _021E8080 pop {r4, pc} _021E807A: mov r0, #2 str r0, [r4, #0x14] pop {r4, pc} _021E8080: mov r0, #2 str r0, [r4, #0x18] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E8014 thumb_func_start MOD16_021E8088 MOD16_021E8088: ; 0x021E8088 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0202212C ldr r0, [r4, #4] bl FreeToHeap mov r0, #0 str r0, [r4, #4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E8088 thumb_func_start MOD16_021E80A0 MOD16_021E80A0: ; 0x021E80A0 push {r3, r4, r5, lr} ldr r4, [r2, #4] ldr r5, [r2] lsl r2, r0, #2 add r2, r4, r2 str r1, [r2, #0x14] cmp r1, #2 bne _021E811A cmp r0, #7 bhi _021E811A add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E80C0: ; jump table .short _021E80D0 - _021E80C0 - 2 ; case 0 .short _021E80D6 - _021E80C0 - 2 ; case 1 .short _021E80DC - _021E80C0 - 2 ; case 2 .short _021E8112 - _021E80C0 - 2 ; case 3 .short _021E814A - _021E80C0 - 2 ; case 4 .short _021E8180 - _021E80C0 - 2 ; case 5 .short _021E81B6 - _021E80C0 - 2 ; case 6 .short _021E81EC - _021E80C0 - 2 ; case 7 _021E80D0: mov r0, #0 str r0, [r4, #0x34] pop {r3, r4, r5, pc} _021E80D6: mov r0, #1 str r0, [r4, #0x34] pop {r3, r4, r5, pc} _021E80DC: ldr r0, [r4, #0x38] mov r1, #1 tst r0, r1 beq _021E811A ldr r0, [r4, #0x10] cmp r0, #0 ldr r0, [r5, #8] bne _021E80F2 bl MOD16_021E4BB8 b _021E80FA _021E80F2: mov r1, #0 bl MOD16_021E4BBC mov r0, #1 _021E80FA: cmp r0, #0 beq _021E811A ldr r2, [r4, #0x10] add r0, r4, #0 add r1, r5, #0 mov r3, #0 bl MOD16_021E89D4 ldr r0, _021E8224 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021E8112: ldr r1, [r4, #0x38] mov r0, #2 tst r0, r1 bne _021E811C _021E811A: b _021E8220 _021E811C: ldr r0, [r4, #0x10] cmp r0, #1 ldr r0, [r5, #0x10] bne _021E812A bl MOD16_021E6EF8 b _021E8132 _021E812A: mov r1, #0 bl MOD16_021E6EFC mov r0, #1 _021E8132: cmp r0, #0 beq _021E8220 ldr r2, [r4, #0x10] add r0, r4, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021E89D4 ldr r0, _021E8224 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021E814A: ldr r1, [r4, #0x38] mov r0, #4 tst r0, r1 beq _021E8220 ldr r0, [r4, #0x10] cmp r0, #2 ldr r0, [r5, #0x10] bne _021E8160 bl MOD16_021E6EF8 b _021E8168 _021E8160: mov r1, #0 bl MOD16_021E6EFC mov r0, #1 _021E8168: cmp r0, #0 beq _021E8220 ldr r2, [r4, #0x10] add r0, r4, #0 add r1, r5, #0 mov r3, #2 bl MOD16_021E89D4 ldr r0, _021E8224 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021E8180: ldr r1, [r4, #0x38] mov r0, #8 tst r0, r1 beq _021E8220 ldr r0, [r4, #0x10] cmp r0, #3 ldr r0, [r5, #0x10] bne _021E8196 bl MOD16_021E6EF8 b _021E819E _021E8196: mov r1, #0 bl MOD16_021E6EFC mov r0, #1 _021E819E: cmp r0, #0 beq _021E8220 ldr r2, [r4, #0x10] add r0, r4, #0 add r1, r5, #0 mov r3, #3 bl MOD16_021E89D4 ldr r0, _021E8224 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021E81B6: ldr r1, [r4, #0x38] mov r0, #0x10 tst r0, r1 beq _021E8220 ldr r0, [r4, #0x10] cmp r0, #4 ldr r0, [r5, #0x10] bne _021E81CC bl MOD16_021E6EF8 b _021E81D4 _021E81CC: mov r1, #0 bl MOD16_021E6EFC mov r0, #1 _021E81D4: cmp r0, #0 beq _021E8220 ldr r2, [r4, #0x10] add r0, r4, #0 add r1, r5, #0 mov r3, #4 bl MOD16_021E89D4 ldr r0, _021E8224 ; =0x0000068B bl FUN_020054C8 pop {r3, r4, r5, pc} _021E81EC: ldr r1, [r4, #0x38] mov r0, #0x20 tst r0, r1 beq _021E8220 ldr r0, [r4, #0x10] cmp r0, #5 ldr r0, [r5, #0x10] bne _021E8202 bl MOD16_021E6EF8 b _021E820A _021E8202: mov r1, #0 bl MOD16_021E6EFC mov r0, #1 _021E820A: cmp r0, #0 beq _021E8220 ldr r2, [r4, #0x10] add r0, r4, #0 add r1, r5, #0 mov r3, #5 bl MOD16_021E89D4 ldr r0, _021E8224 ; =0x0000068B bl FUN_020054C8 _021E8220: pop {r3, r4, r5, pc} nop _021E8224: .word 0x0000068B thumb_func_end MOD16_021E80A0 thumb_func_start MOD16_021E8228 MOD16_021E8228: ; 0x021E8228 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 MOD16_021E82B8 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E8394 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E84DC add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021E868C pop {r4, r5, r6, pc} thumb_func_end MOD16_021E8228 thumb_func_start MOD16_021E8258 MOD16_021E8258: ; 0x021E8258 push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x20 add r6, r2, #0 str r0, [sp] add r4, r1, #0 str r6, [sp, #4] ldr r0, [r4] mov r1, #9 mov r2, #4 mov r3, #0x80 bl MOD16_021D8CFC mov r0, #0x20 str r0, [sp] str r6, [sp, #4] ldr r0, [r4] mov r1, #9 mov r2, #4 mov r3, #0xa0 bl MOD16_021D8CFC add r0, r5, #0 bl MOD16_021E866C add r0, r5, #0 add r1, r4, #0 bl MOD16_021E8780 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E8480 mov r4, #0 _021E829E: add r0, r5, #0 add r0, #0xa0 ldr r0, [r0] cmp r0, #0 beq _021E82AC bl FreeToHeap _021E82AC: add r4, r4, #1 add r5, r5, #4 cmp r4, #8 blt _021E829E add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E8258 thumb_func_start MOD16_021E82B8 MOD16_021E82B8: ; 0x021E82B8 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x22 mov r3, #6 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x3e mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r6, r0, #0 ldrh r0, [r2] mov r1, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x3c mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r6, r0, #0 mov r1, #6 ldr r2, [sp, #0x10] mov r0, #0xe str r0, [sp] ldrh r0, [r2] add r3, r1, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] ldr r0, [r5] mov r1, #0x3f mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 add r4, r0, #0 mov r1, #6 ldr r2, [sp, #0x10] mov r0, #7 str r0, [sp] ldrh r0, [r2] add r3, r1, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap ldr r0, [r5] mov r1, #6 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E82B8 thumb_func_start MOD16_021E8394 MOD16_021E8394: ; 0x021E8394 push {r4, r5, r6, r7, lr} sub sp, #0xc ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E8468 ; =0x000013EE add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x66 mov r3, #1 bl FUN_020091E0 str r0, [r5, #0x40] bl FUN_02009B04 ldr r0, [r5, #0x40] bl FUN_02009474 ldr r0, _021E846C ; =0x000013EC add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x64 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x48] ldr r0, _021E8470 ; =0x000013ED add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x65 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x4c] ldr r0, _021E8474 ; =0x000013EB add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x63 mov r3, #1 bl FUN_020091E0 str r0, [r5, #0x70] bl FUN_02009B04 ldr r0, [r5, #0x70] bl FUN_02009474 ldr r0, _021E8478 ; =0x000013E9 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x61 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x78] ldr r0, _021E847C ; =0x000013EA add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x62 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x7c] add sp, #0xc pop {r4, r5, r6, r7, pc} nop _021E8468: .word 0x000013EE _021E846C: .word 0x000013EC _021E8470: .word 0x000013ED _021E8474: .word 0x000013EB _021E8478: .word 0x000013E9 _021E847C: .word 0x000013EA thumb_func_end MOD16_021E8394 thumb_func_start MOD16_021E8480 MOD16_021E8480: ; 0x021E8480 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x40] ldr r4, [r1] bl FUN_02009C0C mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x40] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x48] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x4c] bl FUN_02009490 ldr r0, [r5, #0x70] bl FUN_02009C0C mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x70] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x78] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x7c] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E8480 thumb_func_start MOD16_021E84DC MOD16_021E84DC: ; 0x021E84DC push {r4, r5, r6, r7, lr} sub sp, #0x74 ldr r4, [r1] ldr r3, _021E8658 ; =0x000013ED add r7, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 add r5, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] ldr r2, _021E865C ; =0x0000083F str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x50 sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0x21 str r0, [sp, #0x30] add r0, sp, #0x50 str r0, [sp, #0x34] mov r0, #0x1f str r0, [sp, #0x44] mov r0, #2 str r0, [sp, #0x48] lsl r0, r0, #0x12 str r0, [sp, #0x38] mov r0, #3 lsl r1, r1, #0xe lsl r0, r0, #0x12 str r1, [sp, #0x3c] add r0, r1, r0 str r0, [sp, #0x3c] add r0, sp, #0x30 str r5, [sp, #0x4c] bl FUN_0201FF84 mov r1, #0 str r0, [r7] bl FUN_02020130 mov r0, #2 lsl r0, r0, #0x12 str r0, [sp, #0x38] mov r1, #0x13 mov r0, #3 lsl r1, r1, #0xe lsl r0, r0, #0x12 str r1, [sp, #0x3c] add r0, r1, r0 str r0, [sp, #0x3c] add r0, sp, #0x30 bl FUN_0201FF84 mov r1, #0 str r0, [r7, #4] bl FUN_02020130 ldr r3, _021E8660 ; =0x000013EA mov r0, #0 mov r2, #5 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] mov r1, #2 lsl r2, r2, #6 str r1, [sp, #0x10] ldr r1, [r4, r2] str r1, [sp, #0x14] add r1, r2, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r2, #0 add r1, #8 ldr r1, [r4, r1] add r2, #0xc str r1, [sp, #0x1c] ldr r1, [r4, r2] ldr r2, _021E865C ; =0x0000083F str r1, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x50 sub r3, r3, #1 bl FUN_02008AA4 add r0, sp, #0x50 str r0, [sp, #0x34] mov r1, #0xb mov r0, #3 lsl r1, r1, #0x10 lsl r0, r0, #0x12 str r1, [sp, #0x3c] add r0, r1, r0 str r0, [sp, #0x3c] mov r0, #0 ldr r4, _021E8664 ; =0x021FF5DC ldr r5, _021E8668 ; =0x021FF5F4 str r0, [sp, #0x2c] add r6, r7, #0 _021E85DA: ldr r0, [r4] str r0, [sp, #0x38] add r0, sp, #0x30 bl FUN_0201FF84 str r0, [r6, #8] ldr r1, [r5] bl FUN_02020130 ldr r0, [sp, #0x2c] add r4, r4, #4 add r0, r0, #1 add r6, r6, #4 add r5, r5, #4 str r0, [sp, #0x2c] cmp r0, #6 blt _021E85DA mov r0, #0x1e str r0, [sp, #0x44] mov r0, #0xa lsl r0, r0, #0x10 str r0, [sp, #0x38] mov r1, #0x86 mov r0, #3 lsl r1, r1, #0xc lsl r0, r0, #0x12 str r1, [sp, #0x3c] add r0, r1, r0 str r0, [sp, #0x3c] add r0, sp, #0x30 bl FUN_0201FF84 mov r1, #0xd str r0, [r7, #0x50] bl FUN_02020130 mov r0, #6 lsl r0, r0, #0x10 mov r1, #0x4e str r0, [sp, #0x38] lsl r1, r1, #0xc lsl r0, r0, #1 str r1, [sp, #0x3c] add r0, r1, r0 str r0, [sp, #0x3c] add r0, sp, #0x30 bl FUN_0201FF84 mov r1, #0xc str r0, [r7, #0x54] bl FUN_02020130 mov r1, #2 add r7, #8 mov r0, #0 _021E8648: add r1, r1, #1 str r0, [r7, #0x50] add r7, r7, #4 cmp r1, #8 blt _021E8648 add sp, #0x74 pop {r4, r5, r6, r7, pc} nop _021E8658: .word 0x000013ED _021E865C: .word 0x0000083F _021E8660: .word 0x000013EA _021E8664: .word MOD16_021FF5DC _021E8668: .word MOD16_021FF5F4 thumb_func_end MOD16_021E84DC thumb_func_start MOD16_021E866C MOD16_021E866C: ; 0x021E866C push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021E8672: ldr r0, [r5] bl FUN_0201FFC8 ldr r0, [r5, #0x50] cmp r0, #0 beq _021E8682 bl FUN_0201FFC8 _021E8682: add r4, r4, #1 add r5, r5, #4 cmp r4, #8 blt _021E8672 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E866C thumb_func_start MOD16_021E868C MOD16_021E868C: ; 0x021E868C push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r5, r0, #0 ldr r0, [r5] add r6, r2, #0 ldr r4, [r1] cmp r0, #0 bne _021E86A0 bl GF_AssertFail _021E86A0: mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, _021E8778 ; =0x0000083F bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r4, r1] str r1, [sp, #8] mov r1, #0 bl FUN_02009E54 mov r1, #5 mvn r1, r1 str r1, [sp, #0x1c] mov r1, #2 mov r2, #0 str r0, [sp, #0x10] str r1, [sp, #0x20] str r2, [sp, #0x24] str r1, [sp, #0x28] str r6, [sp, #0x2c] bl FUN_0201E28C add r7, r0, #0 mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #8 mov r2, #4 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r2, _021E877C ; =0x00000266 add r1, r6, #0 mov r3, #0x21 bl MOD16_021DB3C8 str r6, [sp, #0xc] ldr r0, [r5] str r0, [sp, #0x14] mov r0, #0x1f mvn r0, r0 str r0, [sp, #0x18] add r0, sp, #8 bl MOD16_021DB2BC str r0, [r5, #0x20] ldr r0, [r0] add r1, r7, #4 bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #8 mov r2, #4 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r2, _021E877C ; =0x00000266 add r1, r6, #0 mov r3, #0x22 bl MOD16_021DB3C8 mov r1, #0x20 sub r0, r1, r0 str r6, [sp, #0xc] str r0, [sp, #0x18] ldr r0, [r5, #4] str r0, [sp, #0x14] add r0, sp, #8 bl MOD16_021DB2BC str r0, [r5, #0x24] ldr r0, [r0] add r1, r7, #4 bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC mov r1, #2 add r5, #8 mov r0, #0 _021E876A: add r1, r1, #1 str r0, [r5, #0x20] add r5, r5, #4 cmp r1, #8 blt _021E876A add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E8778: .word 0x0000083F _021E877C: .word 0x00000266 thumb_func_end MOD16_021E868C thumb_func_start MOD16_021E8780 MOD16_021E8780: ; 0x021E8780 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021E8786: ldr r0, [r5, #0x20] cmp r0, #0 beq _021E8790 bl MOD16_021DB338 _021E8790: add r4, r4, #1 add r5, r5, #4 cmp r4, #8 blt _021E8786 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E8780 thumb_func_start MOD16_021E879C MOD16_021E879C: ; 0x021E879C push {r3, r4, r5, r6, r7, lr} mov r7, #1 add r5, r0, #0 mov r4, #0 add r6, r7, #0 _021E87A6: ldr r0, [r5] add r1, r6, #0 bl FUN_02020398 ldr r0, [r5, #0x20] cmp r0, #0 beq _021E87BC ldr r0, [r0] add r1, r7, #0 bl FUN_02011AF0 _021E87BC: ldr r0, [r5, #0x50] cmp r0, #0 beq _021E87C8 mov r1, #1 bl FUN_02020398 _021E87C8: add r4, r4, #1 add r5, r5, #4 cmp r4, #8 blt _021E87A6 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E879C thumb_func_start MOD16_021E87D4 MOD16_021E87D4: ; 0x021E87D4 push {r3, r4, r5, r6, r7, lr} mov r4, #0 add r5, r0, #0 add r7, r4, #0 add r6, r4, #0 _021E87DE: ldr r0, [r5] add r1, r6, #0 bl FUN_02020398 ldr r0, [r5, #0x20] cmp r0, #0 beq _021E87F4 ldr r0, [r0] add r1, r7, #0 bl FUN_02011AF0 _021E87F4: ldr r0, [r5, #0x50] cmp r0, #0 beq _021E8800 mov r1, #0 bl FUN_02020398 _021E8800: add r4, r4, #1 add r5, r5, #4 cmp r4, #8 blt _021E87DE pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E87D4 thumb_func_start MOD16_021E880C MOD16_021E880C: ; 0x021E880C push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021E879C ldr r0, [r4, #0x14] bl MOD16_021E95B8 cmp r0, #0 beq _021E8874 cmp r6, #0 beq _021E8850 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r2, [r5] lsl r0, r0, #4 add r0, r2, r0 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r3, r4, r5, r6, pc} _021E8850: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r3, [r5] lsl r0, r0, #4 add r0, r3, r0 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021E8874: add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021E880C thumb_func_start MOD16_021E8878 MOD16_021E8878: ; 0x021E8878 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #0x14] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E95B8 cmp r0, #0 beq _021E8898 mov r0, #0x19 ldr r1, [r5] lsl r0, r0, #4 add r0, r1, r0 bl MOD16_021D89B4 b _021E889E _021E8898: mov r0, #2 bl FUN_0200A344 _021E889E: cmp r0, #0 beq _021E88B0 cmp r4, #0 beq _021E88AC add r0, r6, #0 bl MOD16_021E87D4 _021E88AC: mov r0, #1 pop {r4, r5, r6, pc} _021E88B0: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E8878 thumb_func_start MOD16_021E88B4 MOD16_021E88B4: ; 0x021E88B4 push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp, #4] str r1, [sp, #8] add r0, r1, #0 add r1, r3, #0 str r2, [sp, #0xc] ldr r4, [sp, #0x30] ldr r6, [sp, #0x40] mov r5, #0 bl MOD16_021D7B98 ldr r0, [sp, #0x3c] ldr r1, [sp, #0xc] str r0, [sp] ldr r0, [sp, #8] ldr r2, [sp, #0x28] ldr r3, [sp, #0x38] bl MOD16_021E8960 ldr r0, [sp, #8] bl FUN_0202022C cmp r0, #3 bhi _021E8926 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E88F2: ; jump table .short _021E88FA - _021E88F2 - 2 ; case 0 .short _021E88FA - _021E88F2 - 2 ; case 1 .short _021E890A - _021E88F2 - 2 ; case 2 .short _021E8918 - _021E88F2 - 2 ; case 3 _021E88FA: ldr r0, [r4] cmp r0, #0 beq _021E8926 mov r0, #0 mov r5, #1 mov r7, #9 str r0, [r4] b _021E8926 _021E890A: ldr r0, [r4] cmp r0, #1 beq _021E8926 mov r5, #1 mov r7, #0xa str r5, [r4] b _021E8926 _021E8918: ldr r0, [r4] cmp r0, #2 beq _021E8926 mov r0, #2 mov r5, #1 mov r7, #8 str r0, [r4] _021E8926: cmp r5, #0 beq _021E895C ldr r0, [r6] cmp r0, #0 beq _021E8934 bl FreeToHeap _021E8934: ldr r0, [sp, #4] ldr r3, [sp, #0x34] ldr r0, [r0] add r1, r7, #0 add r2, sp, #0x10 bl MOD16_021D8D70 str r0, [r6] ldr r2, [sp, #0x10] ldr r1, [sp, #0x2c] ldr r2, [r2, #0xc] mov r0, #0x1f lsl r1, r1, #5 mov r3, #0x20 bl FUN_0201C2C8 cmp r0, #0 bne _021E895C bl GF_AssertFail _021E895C: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E88B4 thumb_func_start MOD16_021E8960 MOD16_021E8960: ; 0x021E8960 push {r3, r4, lr} sub sp, #4 ldr r4, [sp, #0x10] str r4, [sp] bl MOD16_021D7C70 add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021E8960 thumb_func_start MOD16_021E8970 MOD16_021E8970: ; 0x021E8970 push {r4, r5, r6, lr} add r4, r1, #0 ldr r1, [r4, #8] mov r6, #1 str r6, [r1, #0x1c] ldr r3, [r4] add r5, r2, #0 ldr r2, [r3] mov r1, #4 orr r1, r2 str r1, [r3] mov r1, #0 str r1, [r0, #0x10] mov r1, #2 ldr r0, [r4, #8] cmp r5, #5 str r1, [r0, #0x14] bhi _021E89D0 add r0, r5, r5 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E89A0: ; jump table .short _021E89AC - _021E89A0 - 2 ; case 0 .short _021E89BE - _021E89A0 - 2 ; case 1 .short _021E89BE - _021E89A0 - 2 ; case 2 .short _021E89BE - _021E89A0 - 2 ; case 3 .short _021E89BE - _021E89A0 - 2 ; case 4 .short _021E89BE - _021E89A0 - 2 ; case 5 _021E89AC: ldr r0, [r4, #8] mov r1, #0x30 str r1, [r0, #8] ldr r0, [r4, #8] mov r1, #0x48 str r1, [r0, #0xc] ldr r0, [r4, #8] str r6, [r0, #0x14] pop {r4, r5, r6, pc} _021E89BE: ldr r0, [r4, #0x10] mov r1, #0x30 mov r2, #0x48 bl MOD16_021E6EE8 ldr r0, [r4, #0x10] add r1, r6, #0 bl MOD16_021E6EF0 _021E89D0: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E8970 thumb_func_start MOD16_021E89D4 MOD16_021E89D4: ; 0x021E89D4 push {r3, r4, r5, r6, r7, lr} add r5, r3, #0 add r4, r1, #0 str r2, [sp] cmp r5, #5 bhi _021E8A36 add r1, r5, r5 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E89EC: ; jump table .short _021E89F8 - _021E89EC - 2 ; case 0 .short _021E8A12 - _021E89EC - 2 ; case 1 .short _021E8A12 - _021E89EC - 2 ; case 2 .short _021E8A12 - _021E89EC - 2 ; case 3 .short _021E8A12 - _021E89EC - 2 ; case 4 .short _021E8A12 - _021E89EC - 2 ; case 5 _021E89F8: ldr r3, [r4] mov r1, #4 ldr r2, [r3] mov r7, #0x30 orr r1, r2 str r1, [r3] mov r1, #0 str r1, [r0, #0x10] ldr r0, [r4, #8] mov r1, #2 mov r6, #0x48 str r1, [r0, #0x14] b _021E8A36 _021E8A12: ldr r2, [r4] mov r1, #2 ldr r3, [r2] mov r7, #0x30 orr r3, r1 str r3, [r2] str r5, [r0, #0x10] ldr r0, [r4, #0x10] mov r6, #0x48 bl MOD16_021E6EF0 sub r0, r5, #1 bl MOD16_021DBBB4 add r1, r0, #0 ldr r0, [r4, #0x10] bl MOD16_021E6F0C _021E8A36: ldr r0, [sp] cmp r0, #5 bhi _021E8A76 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E8A48: ; jump table .short _021E8A54 - _021E8A48 - 2 ; case 0 .short _021E8A64 - _021E8A48 - 2 ; case 1 .short _021E8A64 - _021E8A48 - 2 ; case 2 .short _021E8A64 - _021E8A48 - 2 ; case 3 .short _021E8A64 - _021E8A48 - 2 ; case 4 .short _021E8A64 - _021E8A48 - 2 ; case 5 _021E8A54: ldr r0, [r4, #8] mov r1, #2 str r7, [r0, #8] ldr r0, [r4, #8] str r6, [r0, #0xc] ldr r0, [r4, #8] str r1, [r0, #0x14] pop {r3, r4, r5, r6, r7, pc} _021E8A64: ldr r0, [r4, #0x10] add r1, r7, #0 add r2, r6, #0 bl MOD16_021E6EE8 ldr r0, [r4, #0x10] mov r1, #2 bl MOD16_021E6EF0 _021E8A76: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E89D4 thumb_func_start MOD16_021E8A78 MOD16_021E8A78: ; 0x021E8A78 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x34] add r4, r1, #0 cmp r0, #8 beq _021E8AB6 cmp r0, #1 ldr r0, [r4, #4] bne _021E8A94 mov r1, #0 mvn r1, r1 bl MOD16_021D9D48 b _021E8A9A _021E8A94: mov r1, #1 bl MOD16_021D9D48 _021E8A9A: cmp r0, #1 bne _021E8AB6 ldr r2, [r5, #0x10] add r0, r5, #0 add r1, r4, #0 bl MOD16_021E8970 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E8B7C ldr r0, _021E8AB8 ; =0x0000068B bl FUN_020054C8 _021E8AB6: pop {r3, r4, r5, pc} .align 2, 0 _021E8AB8: .word 0x0000068B thumb_func_end MOD16_021E8A78 thumb_func_start MOD16_021E8ABC MOD16_021E8ABC: ; 0x021E8ABC ldr r1, _021E8AE0 ; =gMain ldr r2, [r1, #0x48] mov r1, #0x40 tst r1, r2 beq _021E8ACC mov r1, #1 str r1, [r0, #0x34] bx lr _021E8ACC: mov r1, #0x80 tst r1, r2 beq _021E8AD8 mov r1, #0 str r1, [r0, #0x34] bx lr _021E8AD8: mov r1, #8 str r1, [r0, #0x34] bx lr nop _021E8AE0: .word gMain thumb_func_end MOD16_021E8ABC thumb_func_start MOD16_021E8AE4 MOD16_021E8AE4: ; 0x021E8AE4 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #0x38] mov r1, #1 tst r0, r1 ldr r0, [r5, #8] bne _021E8AFC mov r1, #0 bl FUN_020200A0 b _021E8B00 _021E8AFC: bl FUN_020200A0 _021E8B00: ldr r1, [r4, #0x38] mov r0, #2 tst r0, r1 ldr r0, [r5, #0xc] bne _021E8B12 mov r1, #0 bl FUN_020200A0 b _021E8B18 _021E8B12: mov r1, #1 bl FUN_020200A0 _021E8B18: ldr r1, [r4, #0x38] mov r0, #4 tst r0, r1 ldr r0, [r5, #0x10] bne _021E8B2A mov r1, #0 bl FUN_020200A0 b _021E8B30 _021E8B2A: mov r1, #1 bl FUN_020200A0 _021E8B30: ldr r1, [r4, #0x38] mov r0, #8 tst r0, r1 ldr r0, [r5, #0x14] bne _021E8B42 mov r1, #0 bl FUN_020200A0 b _021E8B48 _021E8B42: mov r1, #1 bl FUN_020200A0 _021E8B48: ldr r1, [r4, #0x38] mov r0, #0x10 tst r0, r1 ldr r0, [r5, #0x18] bne _021E8B5A mov r1, #0 bl FUN_020200A0 b _021E8B60 _021E8B5A: mov r1, #1 bl FUN_020200A0 _021E8B60: ldr r1, [r4, #0x38] mov r0, #0x20 tst r0, r1 ldr r0, [r5, #0x1c] bne _021E8B72 mov r1, #0 bl FUN_020200A0 pop {r3, r4, r5, pc} _021E8B72: mov r1, #1 bl FUN_020200A0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E8AE4 thumb_func_start MOD16_021E8B7C MOD16_021E8B7C: ; 0x021E8B7C push {r3, r4, r5, r6, r7, lr} mov r5, #0 add r4, r0, #0 add r6, r1, #0 str r5, [r0, #0x38] add r4, #0x38 mov r7, #1 _021E8B8A: add r0, r5, #0 bl MOD16_021DBBB4 add r1, r0, #0 ldr r0, [r6, #4] bl MOD16_021D9F58 cmp r0, #0 beq _021E8BB0 ldr r1, [r4] mov r0, #1 add r2, r1, #0 orr r2, r0 add r0, r5, #1 add r1, r7, #0 lsl r1, r0 add r0, r2, #0 orr r0, r1 str r0, [r4] _021E8BB0: add r5, r5, #1 cmp r5, #6 blt _021E8B8A pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E8B7C thumb_func_start MOD16_021E8BB8 MOD16_021E8BB8: ; 0x021E8BB8 push {r4, r5, r6, lr} add r4, r2, #0 add r5, r0, #0 add r6, r1, #0 cmp r4, #2 blt _021E8BC8 cmp r4, #8 blt _021E8BCC _021E8BC8: bl GF_AssertFail _021E8BCC: sub r0, r4, #2 lsl r1, r0, #2 ldr r0, _021E8BEC ; =0x021FF5F4 cmp r6, #1 ldr r1, [r0, r1] bne _021E8BE2 add r0, r5, #0 add r1, r1, #1 bl FUN_02020130 pop {r4, r5, r6, pc} _021E8BE2: add r0, r5, #0 bl FUN_02020130 pop {r4, r5, r6, pc} nop _021E8BEC: .word MOD16_021FF5F4 thumb_func_end MOD16_021E8BB8 thumb_func_start MOD16_021E8BF0 MOD16_021E8BF0: ; 0x021E8BF0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021E8C70 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E8CF4 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E8D1C str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021E8E34 str r0, [r5, #0x24] ldr r0, _021E8C38 ; =MOD16_021E8E38 str r0, [r5, #8] ldr r0, _021E8C3C ; =MOD16_021E8E40 str r0, [r5, #0xc] ldr r0, _021E8C40 ; =MOD16_021E8E70 str r0, [r5, #0x10] ldr r0, _021E8C44 ; =MOD16_021E8E78 str r0, [r5, #0x14] ldr r0, _021E8C48 ; =MOD16_021E8F24 str r0, [r5, #0x18] ldr r0, _021E8C4C ; =MOD16_021E8F4C str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E8C38: .word MOD16_021E8E38 _021E8C3C: .word MOD16_021E8E40 _021E8C40: .word MOD16_021E8E70 _021E8C44: .word MOD16_021E8E78 _021E8C48: .word MOD16_021E8F24 _021E8C4C: .word MOD16_021E8F4C thumb_func_end MOD16_021E8BF0 thumb_func_start MOD16_021E8C50 MOD16_021E8C50: ; 0x021E8C50 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E8DBC ldr r0, [r4, #4] bl MOD16_021E8DD0 ldr r0, [r4, #0x20] bl MOD16_021E8DE4 pop {r4, pc} thumb_func_end MOD16_021E8C50 thumb_func_start MOD16_021E8C68 MOD16_021E8C68: ; 0x021E8C68 ldr r0, [r0] ldr r0, [r0, #0x28] bx lr .align 2, 0 thumb_func_end MOD16_021E8C68 thumb_func_start MOD16_021E8C70 MOD16_021E8C70: ; 0x021E8C70 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x34 bl AllocFromHeap add r4, r0, #0 bne _021E8C82 bl GF_AssertFail _021E8C82: add r0, r4, #0 mov r1, #0 mov r2, #0x34 bl memset add r0, r5, #0 bl MOD16_021D7B00 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] mov r0, #0 str r0, [r4, #8] add r0, r5, #0 mov r1, #2 bl MOD16_021D7B5C ldr r0, [r0] mov r1, #3 str r0, [r4, #0x10] add r0, r5, #0 bl MOD16_021D7B5C str r0, [r4, #0x14] add r0, r5, #0 mov r1, #4 bl MOD16_021D7B5C str r0, [r4, #0x18] add r0, r5, #0 mov r1, #6 bl MOD16_021D7B5C str r0, [r4, #0x1c] add r0, r5, #0 mov r1, #7 bl MOD16_021D7B5C str r0, [r4, #0x20] add r0, r5, #0 mov r1, #6 bl MOD16_021D7B7C str r0, [r4, #0x24] add r0, r5, #0 mov r1, #0 bl MOD16_021D7B5C ldr r0, [r0] str r0, [r4, #0xc] mov r0, #1 str r0, [r4, #0x2c] str r0, [r4, #0x30] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E8C70 thumb_func_start MOD16_021E8CF4 MOD16_021E8CF4: ; 0x021E8CF4 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021E8D06 bl GF_AssertFail _021E8D06: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E8CF4 thumb_func_start MOD16_021E8D1C MOD16_021E8D1C: ; 0x021E8D1C push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 bl MOD16_021E8E34 add r7, r0, #0 mov r1, #0x14 mul r7, r1 add r0, r5, #0 add r1, r7, #0 bl AllocFromHeap add r4, r0, #0 bne _021E8D3C bl GF_AssertFail _021E8D3C: add r0, r4, #0 mov r1, #0 add r2, r7, #0 bl memset add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 mov r3, #2 bl MOD16_021DAE0C add r1, r4, #0 add r0, r5, #0 add r1, #0x14 add r2, r6, #0 mov r3, #4 bl MOD16_021DB0B0 add r1, r4, #0 add r0, r5, #0 add r1, #0x28 add r2, r6, #0 mov r3, #8 bl MOD16_021DAED4 add r1, r4, #0 add r0, r5, #0 add r1, #0x3c add r2, r6, #0 mov r3, #0x10 bl MOD16_021DAF38 add r1, r4, #0 add r0, r5, #0 add r1, #0x50 add r2, r6, #0 mov r3, #0x20 bl MOD16_021DAF9C add r1, r4, #0 add r0, r5, #0 add r1, #0x64 add r2, r6, #0 mov r3, #0x40 bl MOD16_021DB000 add r1, r4, #0 add r0, r5, #0 add r1, #0x78 add r2, r6, #0 mov r3, #0x80 bl MOD16_021DB058 add r1, r4, #0 mov r3, #1 add r0, r5, #0 add r1, #0x8c add r2, r6, #0 lsl r3, r3, #8 bl MOD16_021DB16C add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021E8D1C thumb_func_start MOD16_021E8DBC MOD16_021E8DBC: ; 0x021E8DBC push {r4, lr} add r4, r0, #0 bne _021E8DC6 bl GF_AssertFail _021E8DC6: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E8DBC thumb_func_start MOD16_021E8DD0 MOD16_021E8DD0: ; 0x021E8DD0 push {r4, lr} add r4, r0, #0 bne _021E8DDA bl GF_AssertFail _021E8DDA: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E8DD0 thumb_func_start MOD16_021E8DE4 MOD16_021E8DE4: ; 0x021E8DE4 push {r4, lr} add r4, r0, #0 bne _021E8DEE bl GF_AssertFail _021E8DEE: add r0, r4, #0 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x14 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x28 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x3c bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x50 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x64 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x78 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x8c bl MOD16_021DAC7C add r0, r4, #0 bl FreeToHeap pop {r4, pc} thumb_func_end MOD16_021E8DE4 thumb_func_start MOD16_021E8E34 MOD16_021E8E34: ; 0x021E8E34 mov r0, #8 bx lr thumb_func_end MOD16_021E8E34 thumb_func_start MOD16_021E8E38 MOD16_021E8E38: ; 0x021E8E38 ldr r1, [r1, #0x10] mov r0, #1 str r0, [r1, #0x1c] bx lr thumb_func_end MOD16_021E8E38 thumb_func_start MOD16_021E8E40 MOD16_021E8E40: ; 0x021E8E40 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0xc] cmp r0, #1 bne _021E8E4E mov r0, #1 pop {r4, pc} _021E8E4E: ldr r0, [r4, #0x10] cmp r0, #1 bne _021E8E58 mov r0, #0 pop {r4, pc} _021E8E58: ldr r0, [r4] cmp r0, #0 bne _021E8E6A add r0, r1, #0 bl MOD16_021E9534 ldr r0, [r4] add r0, r0, #1 str r0, [r4] _021E8E6A: mov r0, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E8E40 thumb_func_start MOD16_021E8E70 MOD16_021E8E70: ; 0x021E8E70 mov r0, #0 str r0, [r1, #8] mov r0, #1 bx lr thumb_func_end MOD16_021E8E70 thumb_func_start MOD16_021E8E78 MOD16_021E8E78: ; 0x021E8E78 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r4, r1, #0 ldr r1, [r4] add r5, r0, #0 add r7, r2, #0 ldr r6, [r4, #8] cmp r1, #3 bhi _021E8F1A add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E8E96: ; jump table .short _021E8E9E - _021E8E96 - 2 ; case 0 .short _021E8EBE - _021E8E96 - 2 ; case 1 .short _021E8EF6 - _021E8E96 - 2 ; case 2 .short _021E8F0E - _021E8E96 - 2 ; case 3 _021E8E9E: ldr r0, [r4, #4] mov r1, #0x28 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x28 bl memset ldr r1, [r7, #8] ldr r0, [r4, #8] str r1, [r0] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E8F1E _021E8EBE: ldr r3, [r4, #4] add r1, r6, #0 bl MOD16_021E9294 add r0, r6, #0 bl MOD16_021E9DE0 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2f str r0, [sp, #8] str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #4 add r2, r1, #0 sub r2, #0x14 bl MOD16_021D8988 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E8F1E _021E8EF6: mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 cmp r0, #0 beq _021E8F1E ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E8F1E _021E8F0E: add r0, r6, #0 bl MOD16_021E9DFC add sp, #0x14 mov r0, #1 pop {r4, r5, r6, r7, pc} _021E8F1A: bl GF_AssertFail _021E8F1E: mov r0, #0 add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021E8E78 thumb_func_start MOD16_021E8F24 MOD16_021E8F24: ; 0x021E8F24 push {r3, r4, r5, lr} ldr r4, [r1, #8] add r5, r2, #0 ldr r1, [r5, #8] ldr r0, [r4] cmp r0, r1 beq _021E8F46 add r0, r4, #0 bl MOD16_021E9530 ldr r1, [r5, #8] ldr r2, [r4] add r0, r4, #0 bl MOD16_021EA1B4 ldr r0, [r5, #8] str r0, [r4] _021E8F46: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E8F24 thumb_func_start MOD16_021E8F4C MOD16_021E8F4C: ; 0x021E8F4C push {r4, r5, lr} sub sp, #0x14 add r4, r1, #0 ldr r3, [r4] add r5, r0, #0 ldr r1, [r4, #8] cmp r3, #4 bhi _021E9008 add r3, r3, r3 add r3, pc ldrh r3, [r3, #6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _021E8F68: ; jump table .short _021E8F72 - _021E8F68 - 2 ; case 0 .short _021E8FCC - _021E8F68 - 2 ; case 1 .short _021E8FE4 - _021E8F68 - 2 ; case 2 .short _021E8FF0 - _021E8F68 - 2 ; case 3 .short _021E9002 - _021E8F68 - 2 ; case 4 _021E8F72: ldr r0, [r2, #0x2c] cmp r0, #0 beq _021E8FA2 add r0, r1, #0 bl MOD16_021E9DE0 mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2f str r0, [sp, #8] str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #4 add r3, r1, #0 sub r3, #0x14 bl MOD16_021D8988 b _021E8FC4 _021E8FA2: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x3f str r0, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #4 add r3, r1, #0 sub r3, #0x14 bl MOD16_021D8988 _021E8FC4: ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E900C _021E8FCC: mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 cmp r0, #0 beq _021E900C ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E900C _021E8FE4: bl MOD16_021E92D0 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E900C _021E8FF0: add r0, r1, #0 bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E900C _021E9002: add sp, #0x14 mov r0, #1 pop {r4, r5, pc} _021E9008: bl GF_AssertFail _021E900C: mov r0, #0 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E8F4C thumb_func_start MOD16_021E9014 MOD16_021E9014: ; 0x021E9014 push {r4, lr} add r4, r0, #0 bl MOD16_021E9024 mov r0, #1 str r0, [r4, #0x30] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E9014 thumb_func_start MOD16_021E9024 MOD16_021E9024: ; 0x021E9024 push {r4, lr} add r4, r0, #0 ldr r2, [r4] mov r0, #2 ldr r1, [r2] orr r0, r1 str r0, [r2] mov r1, #0 str r1, [r4, #0x28] ldr r0, [r4, #0x10] str r1, [r0, #0x14] ldr r0, [r4, #0x18] bl MOD16_021E6EF0 ldr r0, [r4, #8] cmp r0, #4 bhi _021E90D2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E9052: ; jump table .short _021E905C - _021E9052 - 2 ; case 0 .short _021E9078 - _021E9052 - 2 ; case 1 .short _021E909C - _021E9052 - 2 ; case 2 .short _021E90C0 - _021E9052 - 2 ; case 3 .short _021E90CA - _021E9052 - 2 ; case 4 _021E905C: ldr r0, [r4, #0x10] mov r1, #0x38 str r1, [r0, #8] ldr r0, [r4, #0x10] mov r2, #0x50 str r2, [r0, #0xc] ldr r0, [r4, #0x18] bl MOD16_021E6EE8 ldr r0, [r4, #0xc] mov r1, #1 str r1, [r0, #0x14] str r1, [r4, #0x2c] pop {r4, pc} _021E9078: ldr r0, [r4, #0x1c] mov r1, #1 bl MOD16_021E2F54 ldr r0, [r4, #0x1c] mov r1, #4 bl MOD16_021E2F5C ldr r0, [r4, #0x1c] mov r1, #0x38 mov r2, #0x50 bl MOD16_021E2F4C ldr r0, [r4, #0xc] mov r1, #1 str r1, [r0, #0x14] str r1, [r4, #0x2c] pop {r4, pc} _021E909C: ldr r0, [r4, #0x20] mov r1, #1 bl MOD16_021EA264 ldr r0, [r4, #0x20] mov r1, #4 bl MOD16_021EA26C ldr r0, [r4, #0x20] mov r1, #0x38 mov r2, #0x50 bl MOD16_021EA25C ldr r0, [r4, #0xc] mov r1, #1 str r1, [r0, #0x14] str r1, [r4, #0x2c] pop {r4, pc} _021E90C0: ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #0x14] str r1, [r4, #0x2c] pop {r4, pc} _021E90CA: ldr r0, [r4, #0xc] mov r1, #0 str r1, [r0, #0x14] str r1, [r4, #0x2c] _021E90D2: pop {r4, pc} thumb_func_end MOD16_021E9024 thumb_func_start MOD16_021E90D4 MOD16_021E90D4: ; 0x021E90D4 mov r0, #0 bx lr thumb_func_end MOD16_021E90D4 thumb_func_start MOD16_021E90D8 MOD16_021E90D8: ; 0x021E90D8 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r0, #0 mov r0, #1 add r7, r1, #0 str r2, [sp] str r0, [sp, #4] cmp r7, #4 bhi _021E91D6 add r0, r7, r7 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E90F6: ; jump table .short _021E9100 - _021E90F6 - 2 ; case 0 .short _021E9128 - _021E90F6 - 2 ; case 1 .short _021E915E - _021E90F6 - 2 ; case 2 .short _021E9194 - _021E90F6 - 2 ; case 3 .short _021E91B4 - _021E90F6 - 2 ; case 4 _021E9100: add r0, r2, #0 bl MOD16_021E90D4 cmp r0, #0 beq _021E910E mov r1, #2 b _021E9110 _021E910E: mov r1, #1 _021E9110: ldr r0, [r4, #0x10] mov r6, #0x30 str r1, [r0, #0x14] ldr r2, [r4] mov r0, #4 ldr r1, [r2] mov r5, #0x48 orr r0, r1 str r0, [r2] mov r0, #0 str r0, [r4, #8] b _021E91DA _021E9128: add r0, r2, #0 bl MOD16_021E90D4 cmp r0, #0 ldr r0, [r4, #0x1c] beq _021E9144 mov r1, #1 bl MOD16_021E2F54 ldr r0, [r4, #0x1c] mov r1, #1 bl MOD16_021E2F5C b _021E914A _021E9144: mov r1, #0 bl MOD16_021E2F54 _021E914A: ldr r2, [r4] mov r0, #8 ldr r1, [r2] mov r6, #0x28 orr r0, r1 str r0, [r2] mov r0, #1 str r0, [r4, #8] mov r5, #0x78 b _021E91DA _021E915E: add r0, r2, #0 bl MOD16_021E90D4 cmp r0, #0 ldr r0, [r4, #0x20] beq _021E917A mov r1, #1 bl MOD16_021EA264 ldr r0, [r4, #0x20] mov r1, #1 bl MOD16_021EA26C b _021E9180 _021E917A: mov r1, #0 bl MOD16_021EA264 _021E9180: ldr r2, [r4] mov r0, #0x10 ldr r1, [r2] mov r6, #0x30 orr r0, r1 str r0, [r2] mov r0, #2 str r0, [r4, #8] mov r5, #0x40 b _021E91DA _021E9194: ldr r0, [r4, #4] bl MOD16_021D9DF8 cmp r0, #2 bne _021E91AE ldr r2, [r4] mov r0, #0x20 ldr r1, [r2] orr r0, r1 str r0, [r2] mov r0, #3 str r0, [r4, #8] b _021E91DA _021E91AE: mov r0, #0 str r0, [sp, #4] b _021E91DA _021E91B4: ldr r0, [r4, #4] bl MOD16_021D9F80 cmp r0, #1 bne _021E91D0 ldr r2, [r4] mov r0, #1 ldr r1, [r2] lsl r0, r0, #8 orr r0, r1 str r0, [r2] mov r0, #4 str r0, [r4, #8] b _021E91DA _021E91D0: mov r0, #0 str r0, [sp, #4] b _021E91DA _021E91D6: bl GF_AssertFail _021E91DA: ldr r0, [sp] cmp r0, #4 bhi _021E928A add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E91EC: ; jump table .short _021E91F6 - _021E91EC - 2 ; case 0 .short _021E922E - _021E91EC - 2 ; case 1 .short _021E925C - _021E91EC - 2 ; case 2 .short _021E928E - _021E91EC - 2 ; case 3 .short _021E928E - _021E91EC - 2 ; case 4 _021E91F6: add r0, r7, #0 bl MOD16_021E90D4 cmp r0, #0 beq _021E920E ldr r0, [r4, #0x10] mov r1, #2 str r1, [r0, #0x14] ldr r0, [r4, #0x18] bl MOD16_021E6EF0 b _021E921A _021E920E: ldr r0, [r4, #0x10] mov r1, #1 str r1, [r0, #0x14] ldr r0, [r4, #0x18] bl MOD16_021E6EF0 _021E921A: ldr r0, [r4, #0x10] add r1, r6, #0 str r6, [r0, #8] ldr r0, [r4, #0x10] add r2, r5, #0 str r5, [r0, #0xc] ldr r0, [r4, #0x18] bl MOD16_021E6EE8 b _021E928E _021E922E: add r0, r7, #0 bl MOD16_021E90D4 cmp r0, #0 ldr r0, [r4, #0x1c] beq _021E924A mov r1, #1 bl MOD16_021E2F54 ldr r0, [r4, #0x1c] mov r1, #1 bl MOD16_021E2F5C b _021E9250 _021E924A: mov r1, #0 bl MOD16_021E2F54 _021E9250: ldr r0, [r4, #0x1c] add r1, r6, #0 add r2, r5, #0 bl MOD16_021E2F4C b _021E928E _021E925C: add r0, r7, #0 bl MOD16_021E90D4 cmp r0, #0 ldr r0, [r4, #0x20] beq _021E9278 mov r1, #1 bl MOD16_021EA264 ldr r0, [r4, #0x20] mov r1, #1 bl MOD16_021EA26C b _021E927E _021E9278: mov r1, #0 bl MOD16_021EA264 _021E927E: ldr r0, [r4, #0x20] add r1, r6, #0 add r2, r5, #0 bl MOD16_021EA25C b _021E928E _021E928A: bl GF_AssertFail _021E928E: ldr r0, [sp, #4] add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E90D8 thumb_func_start MOD16_021E9294 MOD16_021E9294: ; 0x021E9294 push {r4, r5, r6, lr} add r4, r3, #0 add r5, r1, #0 add r1, r2, #0 add r6, r0, #0 add r2, r4, #0 bl MOD16_021E92F8 add r0, r6, #0 add r1, r5, #0 add r2, r4, #0 bl MOD16_021E938C add r0, r6, #0 add r1, r5, #0 add r2, r4, #0 bl MOD16_021E947C add r0, r6, #0 add r1, r5, #0 add r2, r4, #0 bl MOD16_021E9484 add r0, r5, #0 mov r1, #0 mov r2, #1 bl MOD16_021EA1B4 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E9294 thumb_func_start MOD16_021E92D0 MOD16_021E92D0: ; 0x021E92D0 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 bl MOD16_021E9480 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E9438 add r0, r4, #0 bl MOD16_021E9518 ldr r0, [r5] mov r1, #2 ldr r0, [r0] bl FUN_02018744 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E92D0 thumb_func_start MOD16_021E92F8 MOD16_021E92F8: ; 0x021E92F8 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 mov r2, #0 str r2, [sp] add r5, r0, #0 str r4, [sp, #4] add r6, r1, #0 ldr r0, [r5] mov r1, #6 add r3, r2, #0 bl MOD16_021D8CFC ldr r0, [r6, #4] bl MOD16_021D9D04 cmp r0, #1 bne _021E932E mov r0, #0x20 str r0, [sp] str r4, [sp, #4] mov r2, #0 ldr r0, [r5] mov r1, #0x18 add r3, r2, #0 bl MOD16_021D8CFC _021E932E: ldr r0, [r5] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #2 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x39 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r4, r0, #0 ldrh r0, [r2] mov r1, #2 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap ldr r0, [r5] mov r1, #2 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021E92F8 thumb_func_start MOD16_021E938C MOD16_021E938C: ; 0x021E938C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r0] add r5, r1, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E9428 ; =0x00000827 mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x57 bl FUN_020091E0 str r0, [r5, #0x18] bl FUN_02009B04 ldr r0, [r5, #0x18] bl FUN_02009474 ldr r0, _021E942C ; =0x000007DC add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0xc mov r3, #0 bl FUN_02009298 str r0, [r5, #0x1c] bl FUN_02009D68 ldr r0, [r5, #0x1c] bl FUN_02009474 ldr r0, _021E9430 ; =0x00000825 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x55 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x20] ldr r0, _021E9434 ; =0x00000826 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x56 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x24] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021E9428: .word 0x00000827 _021E942C: .word 0x000007DC _021E9430: .word 0x00000825 _021E9434: .word 0x00000826 thumb_func_end MOD16_021E938C thumb_func_start MOD16_021E9438 MOD16_021E9438: ; 0x021E9438 push {r3, r4, r5, lr} add r5, r1, #0 ldr r4, [r0] ldr r0, [r5, #0x18] bl FUN_02009C0C ldr r0, [r5, #0x1c] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x18] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x1c] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x20] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x24] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E9438 thumb_func_start MOD16_021E947C MOD16_021E947C: ; 0x021E947C bx lr .align 2, 0 thumb_func_end MOD16_021E947C thumb_func_start MOD16_021E9480 MOD16_021E9480: ; 0x021E9480 bx lr .align 2, 0 thumb_func_end MOD16_021E9480 thumb_func_start MOD16_021E9484 MOD16_021E9484: ; 0x021E9484 push {r4, r5, r6, r7, lr} sub sp, #0x34 ldr r7, [r0] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r7, r0] add r5, r1, #0 str r0, [sp, #0xc] ldr r0, [r5, #0x1c] mov r1, #0 add r4, r2, #0 bl FUN_02009E54 mov r1, #0x10 str r1, [sp, #0x1c] mov r1, #0 str r1, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] str r1, [sp, #0x18] mov r1, #1 str r0, [sp, #0x14] str r1, [sp, #0x2c] str r4, [sp, #0x30] bl FUN_0201E28C str r0, [sp, #8] mov r6, #0 _021E94BC: mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r7, r0] mov r1, #8 mov r2, #2 bl MOD16_021DB388 add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 add r3, r6, #0 ldr r0, [r7, r0] ldr r2, _021E9514 ; =0x00000266 add r1, r4, #0 add r3, #0x65 bl MOD16_021DB3C8 str r4, [sp, #0x10] add r0, sp, #0xc bl MOD16_021DB2BC str r0, [r5, #4] ldr r0, [r0] ldr r1, [sp, #8] bl FUN_02011A60 ldr r0, [r5, #4] mov r1, #0 ldr r0, [r0] bl FUN_020119D0 add r0, r4, #0 bl MOD16_021DB3BC add r6, r6, #1 add r5, r5, #4 cmp r6, #5 blt _021E94BC add sp, #0x34 pop {r4, r5, r6, r7, pc} nop _021E9514: .word 0x00000266 thumb_func_end MOD16_021E9484 thumb_func_start MOD16_021E9518 MOD16_021E9518: ; 0x021E9518 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021E951E: ldr r0, [r5, #4] bl MOD16_021DB338 add r4, r4, #1 add r5, r5, #4 cmp r4, #5 blt _021E951E pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E9518 thumb_func_start MOD16_021E9530 MOD16_021E9530: ; 0x021E9530 bx lr .align 2, 0 thumb_func_end MOD16_021E9530 thumb_func_start MOD16_021E9534 MOD16_021E9534: ; 0x021E9534 mov r1, #1 str r1, [r0, #0x28] ldr r0, [r0, #0x10] str r1, [r0, #0x14] bx lr .align 2, 0 thumb_func_end MOD16_021E9534 thumb_func_start MOD16_021E9540 MOD16_021E9540: ; 0x021E9540 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021E95D0 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E960C add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021E9634 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021E9664 str r0, [r5, #0x24] ldr r0, _021E9588 ; =MOD16_021E9668 str r0, [r5, #8] ldr r0, _021E958C ; =MOD16_021E96B8 str r0, [r5, #0xc] ldr r0, _021E9590 ; =MOD16_021E972C str r0, [r5, #0x10] ldr r0, _021E9594 ; =MOD16_021E974C str r0, [r5, #0x14] ldr r0, _021E9598 ; =MOD16_021E97DC str r0, [r5, #0x18] ldr r0, _021E959C ; =MOD16_021E9810 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021E9588: .word MOD16_021E9668 _021E958C: .word MOD16_021E96B8 _021E9590: .word MOD16_021E972C _021E9594: .word MOD16_021E974C _021E9598: .word MOD16_021E97DC _021E959C: .word MOD16_021E9810 thumb_func_end MOD16_021E9540 thumb_func_start MOD16_021E95A0 MOD16_021E95A0: ; 0x021E95A0 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021E9638 ldr r0, [r4, #4] bl MOD16_021E964C ldr r0, [r4, #0x20] bl MOD16_021E9660 pop {r4, pc} thumb_func_end MOD16_021E95A0 thumb_func_start MOD16_021E95B8 MOD16_021E95B8: ; 0x021E95B8 ldr r0, [r0] ldr r0, [r0, #0x24] bx lr .align 2, 0 thumb_func_end MOD16_021E95B8 thumb_func_start MOD16_021E95C0 MOD16_021E95C0: ; 0x021E95C0 ldr r0, [r0] ldr r0, [r0, #0x28] bx lr .align 2, 0 thumb_func_end MOD16_021E95C0 thumb_func_start MOD16_021E95C8 MOD16_021E95C8: ; 0x021E95C8 ldr r0, [r0] ldr r0, [r0, #0x30] bx lr .align 2, 0 thumb_func_end MOD16_021E95C8 thumb_func_start MOD16_021E95D0 MOD16_021E95D0: ; 0x021E95D0 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x34 bl AllocFromHeap add r4, r0, #0 bne _021E95E2 bl GF_AssertFail _021E95E2: add r0, r4, #0 mov r1, #0 mov r2, #0x34 bl memset add r0, r5, #0 bl MOD16_021D7B14 str r0, [r4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C ldr r0, [r0] str r0, [r4, #4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #8] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E95D0 thumb_func_start MOD16_021E960C MOD16_021E960C: ; 0x021E960C push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021E961E bl GF_AssertFail _021E961E: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E960C thumb_func_start MOD16_021E9634 MOD16_021E9634: ; 0x021E9634 mov r0, #0 bx lr thumb_func_end MOD16_021E9634 thumb_func_start MOD16_021E9638 MOD16_021E9638: ; 0x021E9638 push {r4, lr} add r4, r0, #0 bne _021E9642 bl GF_AssertFail _021E9642: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E9638 thumb_func_start MOD16_021E964C MOD16_021E964C: ; 0x021E964C push {r4, lr} add r4, r0, #0 bne _021E9656 bl GF_AssertFail _021E9656: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E964C thumb_func_start MOD16_021E9660 MOD16_021E9660: ; 0x021E9660 bx lr .align 2, 0 thumb_func_end MOD16_021E9660 thumb_func_start MOD16_021E9664 MOD16_021E9664: ; 0x021E9664 mov r0, #0 bx lr thumb_func_end MOD16_021E9664 thumb_func_start MOD16_021E9668 MOD16_021E9668: ; 0x021E9668 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #4] add r4, r1, #0 mov r1, #0x1c bl AllocFromHeap add r6, r0, #0 add r2, r6, #0 mov r1, #0x1c mov r0, #0 _021E967E: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021E967E ldr r2, [r5, #4] add r0, r6, #0 add r1, r4, #0 bl MOD16_021E9894 ldr r2, [r5, #4] add r0, r6, #0 add r1, r4, #0 bl MOD16_021E9E6C add r0, r6, #0 add r1, r4, #0 bl MOD16_021EA08C mov r1, #0 mov r0, #4 _021E96A6: add r1, r1, #1 str r0, [r4, #0xc] add r4, r4, #4 cmp r1, #6 blt _021E96A6 str r6, [r5, #8] mov r0, #1 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021E9668 thumb_func_start MOD16_021E96B8 MOD16_021E96B8: ; 0x021E96B8 push {r3, r4, r5, lr} add r5, r1, #0 ldr r1, [r0, #0xc] ldr r4, [r0, #8] cmp r1, #1 bne _021E96CC mov r0, #0 str r0, [r5, #0x24] mov r0, #1 pop {r3, r4, r5, pc} _021E96CC: ldr r1, [r0, #0x10] cmp r1, #1 bne _021E96D6 mov r0, #0 pop {r3, r4, r5, pc} _021E96D6: ldr r1, [r0] cmp r1, #0 bne _021E96F0 mov r3, #1 str r3, [r5, #0x24] ldr r1, [r5, #4] mov r2, #0 str r2, [r1, #0x30] str r3, [r5, #0x28] ldr r1, [r0] add r1, r1, #1 str r1, [r0] b _021E9728 _021E96F0: mov r0, #1 str r0, [r5, #0x28] add r0, r5, #0 bl MOD16_021E9E2C add r0, r4, #0 add r1, r5, #0 bl MOD16_021EA0EC add r0, r5, #0 bl MOD16_021E9930 ldr r0, [r5, #8] bl MOD16_021D9FB8 cmp r0, #1 bne _021E9720 ldr r0, [r5, #0x30] cmp r0, #0 bne _021E9720 add r0, r4, #0 add r1, r5, #0 bl MOD16_021E9F48 _021E9720: add r0, r4, #0 add r1, r5, #0 bl MOD16_021E9940 _021E9728: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E96B8 thumb_func_start MOD16_021E972C MOD16_021E972C: ; 0x021E972C push {r3, r4, r5, lr} add r4, r0, #0 ldr r5, [r4, #8] add r0, r5, #0 bl MOD16_021E99C0 add r0, r5, #0 bl MOD16_021EA074 ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E972C thumb_func_start MOD16_021E974C MOD16_021E974C: ; 0x021E974C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 ldr r1, [r4] add r5, r0, #0 add r7, r2, #0 ldr r6, [r3, #8] ldr r0, [r4, #8] cmp r1, #4 bhi _021E97D8 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E976A: ; jump table .short _021E9774 - _021E976A - 2 ; case 0 .short _021E978E - _021E976A - 2 ; case 1 .short _021E979E - _021E976A - 2 ; case 2 .short _021E97C2 - _021E976A - 2 ; case 3 .short _021E97D4 - _021E976A - 2 ; case 4 _021E9774: ldr r0, [r4, #4] mov r1, #0x28 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x28 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E97D8 _021E978E: ldr r3, [r4, #4] add r1, r5, #0 bl MOD16_021E9B00 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E97D8 _021E979E: mov r1, #0 mov r0, #2 add r2, r1, #0 str r0, [sp] mov r0, #4 sub r2, #0x10 mov r3, #0x3f bl FUN_0200A208 add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021EA120 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E97D8 _021E97C2: mov r0, #2 bl FUN_0200A344 cmp r0, #0 beq _021E97D8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E97D8 _021E97D4: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021E97D8: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E974C thumb_func_start MOD16_021E97DC MOD16_021E97DC: ; 0x021E97DC push {r3, r4, r5, r6, r7, lr} sub sp, #8 str r0, [sp] ldr r0, [r3, #8] add r7, r2, #0 ldr r5, [r1, #8] str r0, [sp, #4] mov r6, #0 add r4, r7, #0 _021E97EE: ldr r0, [r5] ldr r1, [r4, #0xc] bl MOD16_021D7B98 add r6, r6, #1 add r4, r4, #4 add r5, r5, #4 cmp r6, #6 blt _021E97EE ldr r0, [sp] ldr r1, [sp, #4] add r2, r7, #0 bl MOD16_021EA13C mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E97DC thumb_func_start MOD16_021E9810 MOD16_021E9810: ; 0x021E9810 push {r3, r4, r5, lr} add r4, r1, #0 ldr r1, [r4] add r5, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021E9890 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021E982A: ; jump table .short _021E9834 - _021E982A - 2 ; case 0 .short _021E984E - _021E982A - 2 ; case 1 .short _021E9860 - _021E982A - 2 ; case 2 .short _021E987C - _021E982A - 2 ; case 3 .short _021E988C - _021E982A - 2 ; case 4 _021E9834: mov r0, #2 str r0, [sp] mov r0, #4 add r1, r0, #0 sub r1, #0x14 mov r2, #0 mov r3, #0x3f bl FUN_0200A208 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E9890 _021E984E: mov r0, #2 bl FUN_0200A344 cmp r0, #0 beq _021E9890 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E9890 _021E9860: add r1, r5, #0 bl MOD16_021E9B3C mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #0 bl MOD16_021D8B14 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E9890 _021E987C: bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021E9890 _021E988C: mov r0, #1 pop {r3, r4, r5, pc} _021E9890: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E9810 thumb_func_start MOD16_021E9894 MOD16_021E9894: ; 0x021E9894 push {r3, r4, r5, r6, lr} sub sp, #4 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #0x18 bl AllocFromHeap str r0, [r5, #4] mov r0, #0x30 str r0, [sp] mov r1, #8 ldr r0, [r5, #4] mov r2, #0x28 add r3, r1, #0 bl MOD16_021D7C98 mov r0, #0xf8 str r0, [sp] ldr r0, [r5, #4] mov r1, #8 add r0, #0x14 mov r2, #0x28 mov r3, #0xd0 bl MOD16_021D7C98 mov r0, #0x58 str r0, [sp] ldr r0, [r5, #4] mov r1, #8 add r0, r0, #4 mov r2, #0x28 mov r3, #0x30 bl MOD16_021D7C98 mov r0, #0x80 str r0, [sp] ldr r0, [r5, #4] mov r1, #8 add r0, #8 mov r2, #0x28 mov r3, #0x58 bl MOD16_021D7C98 mov r0, #0xa8 str r0, [sp] ldr r0, [r5, #4] mov r1, #8 add r0, #0xc mov r2, #0x28 mov r3, #0x80 bl MOD16_021D7C98 mov r0, #0xd0 str r0, [sp] ldr r0, [r5, #4] mov r1, #8 add r0, #0x10 mov r2, #0x28 mov r3, #0xa8 bl MOD16_021D7C98 str r4, [r5, #8] str r5, [r5, #0xc] str r6, [sp] add r3, r5, #0 ldr r0, [r5, #4] ldr r2, _021E992C ; =MOD16_021E99D8 mov r1, #6 add r3, #8 bl FUN_020220C4 str r0, [r5] add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _021E992C: .word MOD16_021E99D8 thumb_func_end MOD16_021E9894 thumb_func_start MOD16_021E9930 MOD16_021E9930: ; 0x021E9930 mov r2, #0 mov r1, #3 _021E9934: add r2, r2, #1 str r1, [r0, #0xc] add r0, r0, #4 cmp r2, #6 blt _021E9934 bx lr thumb_func_end MOD16_021E9930 thumb_func_start MOD16_021E9940 MOD16_021E9940: ; 0x021E9940 push {r4, lr} add r4, r1, #0 ldr r1, [r4, #0x2c] cmp r1, #0 bne _021E9950 ldr r0, [r0] bl FUN_02022144 _021E9950: ldr r0, [r4, #0x2c] cmp r0, #0 beq _021E9960 ldr r0, [r4, #0x20] cmp r0, #2 beq _021E9960 mov r0, #1 str r0, [r4, #0x20] _021E9960: ldr r0, [r4, #4] ldr r0, [r0, #8] cmp r0, #4 bhi _021E99BA add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E9974: ; jump table .short _021E997E - _021E9974 - 2 ; case 0 .short _021E998A - _021E9974 - 2 ; case 1 .short _021E9996 - _021E9974 - 2 ; case 2 .short _021E99A2 - _021E9974 - 2 ; case 3 .short _021E99AE - _021E9974 - 2 ; case 4 _021E997E: ldr r0, [r4, #0xc] cmp r0, #2 beq _021E99BE mov r0, #1 str r0, [r4, #0xc] pop {r4, pc} _021E998A: ldr r0, [r4, #0x10] cmp r0, #2 beq _021E99BE mov r0, #1 str r0, [r4, #0x10] pop {r4, pc} _021E9996: ldr r0, [r4, #0x14] cmp r0, #2 beq _021E99BE mov r0, #1 str r0, [r4, #0x14] pop {r4, pc} _021E99A2: ldr r0, [r4, #0x18] cmp r0, #2 beq _021E99BE mov r0, #1 str r0, [r4, #0x18] pop {r4, pc} _021E99AE: ldr r0, [r4, #0x1c] cmp r0, #2 beq _021E99BE mov r0, #1 str r0, [r4, #0x1c] pop {r4, pc} _021E99BA: bl GF_AssertFail _021E99BE: pop {r4, pc} thumb_func_end MOD16_021E9940 thumb_func_start MOD16_021E99C0 MOD16_021E99C0: ; 0x021E99C0 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0202212C ldr r0, [r4, #4] bl FreeToHeap mov r0, #0 str r0, [r4, #4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021E99C0 thumb_func_start MOD16_021E99D8 MOD16_021E99D8: ; 0x021E99D8 push {r4, r5, r6, lr} ldr r6, [r2] ldr r5, [r2, #4] lsl r2, r0, #2 add r2, r6, r2 ldr r4, [r6, #4] cmp r1, #0 str r1, [r2, #0xc] beq _021E99F0 cmp r1, #2 beq _021E99F6 pop {r4, r5, r6, pc} _021E99F0: mov r0, #0 str r0, [r5, #0x10] pop {r4, r5, r6, pc} _021E99F6: cmp r0, #5 bhi _021E9AF6 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E9A06: ; jump table .short _021E9A20 - _021E9A06 - 2 ; case 0 .short _021E9A3E - _021E9A06 - 2 ; case 1 .short _021E9A5C - _021E9A06 - 2 ; case 2 .short _021E9A7A - _021E9A06 - 2 ; case 3 .short _021E9AB4 - _021E9A06 - 2 ; case 4 .short _021E9A12 - _021E9A06 - 2 ; case 5 _021E9A12: add r0, r4, #0 bl MOD16_021E9014 ldr r0, _021E9AF8 ; =0x000005DD bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9A20: ldr r2, [r4, #8] cmp r2, #0 beq _021E9AF6 add r0, r6, #0 mov r1, #0 bl MOD16_021E9E18 add r0, r5, #0 add r1, r6, #0 bl MOD16_021EA08C ldr r0, _021E9AFC ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9A3E: ldr r2, [r4, #8] cmp r2, #1 beq _021E9AF6 add r0, r6, #0 mov r1, #1 bl MOD16_021E9E18 add r0, r5, #0 add r1, r6, #0 bl MOD16_021EA08C ldr r0, _021E9AFC ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9A5C: ldr r2, [r4, #8] cmp r2, #2 beq _021E9AF6 add r0, r6, #0 mov r1, #2 bl MOD16_021E9E18 add r0, r5, #0 add r1, r6, #0 bl MOD16_021EA08C ldr r0, _021E9AFC ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9A7A: ldr r2, [r4, #8] cmp r2, #3 beq _021E9AF6 add r0, r6, #0 mov r1, #3 bl MOD16_021E9E18 cmp r0, #0 beq _021E9A9C add r0, r5, #0 add r1, r6, #0 bl MOD16_021EA08C ldr r0, _021E9AFC ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9A9C: ldr r0, [r5, #0x10] cmp r0, #0 bne _021E9AF6 ldr r0, [r4, #8] cmp r0, #2 beq _021E9AAE ldr r0, _021E9AF8 ; =0x000005DD bl FUN_020054C8 _021E9AAE: mov r0, #1 str r0, [r5, #0x10] pop {r4, r5, r6, pc} _021E9AB4: ldr r2, [r4, #8] cmp r2, #4 beq _021E9AF6 add r0, r6, #0 mov r1, #4 bl MOD16_021E9E18 cmp r0, #0 beq _021E9AD6 add r0, r5, #0 add r1, r6, #0 bl MOD16_021EA08C ldr r0, _021E9AFC ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9AD6: ldr r0, [r5, #0x10] cmp r0, #0 bne _021E9AF6 ldr r0, [r4, #4] bl MOD16_021D9F80 cmp r0, #1 bne _021E9AF2 ldr r0, [r4, #8] cmp r0, #2 beq _021E9AF2 ldr r0, _021E9AF8 ; =0x000005DD bl FUN_020054C8 _021E9AF2: mov r0, #0 str r0, [r5, #0x10] _021E9AF6: pop {r4, r5, r6, pc} .align 2, 0 _021E9AF8: .word 0x000005DD _021E9AFC: .word 0x0000068B thumb_func_end MOD16_021E99D8 thumb_func_start MOD16_021E9B00 MOD16_021E9B00: ; 0x021E9B00 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r2, #0 add r7, r3, #0 add r5, r0, #0 add r0, r4, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021E9B60 add r0, r5, #0 add r1, r4, #0 add r2, r7, #0 bl MOD16_021E9BFC add r0, r5, #0 add r1, r4, #0 add r2, r7, #0 bl MOD16_021E9CF0 add r0, r5, #0 add r1, r4, #0 add r2, r7, #0 bl MOD16_021E9DD8 add r0, r5, #0 add r1, r6, #0 bl MOD16_021EA1D8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021E9B00 thumb_func_start MOD16_021E9B3C MOD16_021E9B3C: ; 0x021E9B3C push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021E9DDC add r0, r5, #0 bl MOD16_021E9DC0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021E9CAC ldr r0, [r4] mov r1, #5 ldr r0, [r0] bl FUN_02018744 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E9B3C thumb_func_start MOD16_021E9B60 MOD16_021E9B60: ; 0x021E9B60 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r6, r1, #0 add r5, r0, #0 ldr r0, [r6, #4] add r4, r2, #0 ldr r0, [r0, #0x30] cmp r0, #0 beq _021E9B9E mov r3, #0 str r3, [sp] str r4, [sp, #4] ldr r0, [r5] mov r1, #6 mov r2, #4 bl MOD16_021D8CFC ldr r0, [r6, #8] bl MOD16_021D9D04 cmp r0, #1 bne _021E9B9E mov r0, #0x20 str r0, [sp] str r4, [sp, #4] ldr r0, [r5] mov r1, #0x18 mov r2, #4 mov r3, #0 bl MOD16_021D8CFC _021E9B9E: ldr r0, [r5] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x22 mov r3, #5 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x3b mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r4, r0, #0 ldrh r0, [r2] mov r1, #5 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap ldr r0, [r5] mov r1, #5 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021E9B60 thumb_func_start MOD16_021E9BFC MOD16_021E9BFC: ; 0x021E9BFC push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021E9C9C ; =0x00000894 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x60 mov r3, #1 bl FUN_020091E0 str r0, [r5, #0x18] bl FUN_02009B04 ldr r0, [r5, #0x18] bl FUN_02009474 ldr r0, _021E9CA0 ; =0x0000083F add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #6 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0xb mov r3, #0 bl FUN_02009298 str r0, [r5, #0x1c] bl FUN_02009D68 ldr r0, [r5, #0x1c] bl FUN_02009474 ldr r0, _021E9CA4 ; =0x00000892 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5e mov r3, #1 bl FUN_02009358 str r0, [r5, #0x20] ldr r0, _021E9CA8 ; =0x00000893 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5f mov r3, #1 bl FUN_02009358 str r0, [r5, #0x24] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021E9C9C: .word 0x00000894 _021E9CA0: .word 0x0000083F _021E9CA4: .word 0x00000892 _021E9CA8: .word 0x00000893 thumb_func_end MOD16_021E9BFC thumb_func_start MOD16_021E9CAC MOD16_021E9CAC: ; 0x021E9CAC push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x18] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0x1c] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x18] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x1c] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x20] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x24] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021E9CAC thumb_func_start MOD16_021E9CF0 MOD16_021E9CF0: ; 0x021E9CF0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x70 ldr r4, [r1] ldr r3, _021E9DBC ; =0x00000893 add r5, r0, #0 mov r0, #0 add r6, r2, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #5 str r2, [sp, #0x10] lsl r0, r0, #6 ldr r1, [r4, r0] str r1, [sp, #0x14] add r1, r0, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r0, #0 add r1, #8 ldr r1, [r4, r1] add r0, #0xc str r1, [sp, #0x1c] ldr r0, [r4, r0] add r1, r3, #1 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r2, r3, #0 add r0, sp, #0x4c sub r2, #0x54 sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r7, #7 str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x20 str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] mov r0, #0x36 str r6, [sp, #0x48] lsl r0, r0, #0xe mov r6, #0x39 str r0, [sp, #0x38] mov r4, #0 lsl r7, r7, #0xe lsl r6, r6, #0xe _021E9D60: cmp r4, #5 bhi _021E9DA2 add r0, r4, r4 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E9D70: ; jump table .short _021E9D80 - _021E9D70 - 2 ; case 0 .short _021E9D84 - _021E9D70 - 2 ; case 1 .short _021E9D8C - _021E9D70 - 2 ; case 2 .short _021E9D94 - _021E9D70 - 2 ; case 3 .short _021E9D9C - _021E9D70 - 2 ; case 4 .short _021E9D7C - _021E9D70 - 2 ; case 5 _021E9D7C: str r6, [sp, #0x34] b _021E9DA2 _021E9D80: str r7, [sp, #0x34] b _021E9DA2 _021E9D84: mov r0, #0x11 lsl r0, r0, #0xe str r0, [sp, #0x34] b _021E9DA2 _021E9D8C: mov r0, #0x1b lsl r0, r0, #0xe str r0, [sp, #0x34] b _021E9DA2 _021E9D94: mov r0, #0x25 lsl r0, r0, #0xe str r0, [sp, #0x34] b _021E9DA2 _021E9D9C: mov r0, #0x2f lsl r0, r0, #0xe str r0, [sp, #0x34] _021E9DA2: add r0, sp, #0x2c bl FUN_0201FF84 add r1, r4, #0 stmia r5!, {r0} bl FUN_02020130 add r4, r4, #1 cmp r4, #6 blt _021E9D60 add sp, #0x70 pop {r3, r4, r5, r6, r7, pc} nop _021E9DBC: .word 0x00000893 thumb_func_end MOD16_021E9CF0 thumb_func_start MOD16_021E9DC0 MOD16_021E9DC0: ; 0x021E9DC0 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021E9DC6: ldr r0, [r5] bl FUN_0201FFC8 add r4, r4, #1 add r5, r5, #4 cmp r4, #6 blt _021E9DC6 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021E9DC0 thumb_func_start MOD16_021E9DD8 MOD16_021E9DD8: ; 0x021E9DD8 bx lr .align 2, 0 thumb_func_end MOD16_021E9DD8 thumb_func_start MOD16_021E9DDC MOD16_021E9DDC: ; 0x021E9DDC bx lr .align 2, 0 thumb_func_end MOD16_021E9DDC thumb_func_start MOD16_021E9DE0 MOD16_021E9DE0: ; 0x021E9DE0 push {r4, r5, r6, lr} add r5, r0, #0 mov r4, #0 mov r6, #1 _021E9DE8: ldr r0, [r5, #4] add r1, r6, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #5 blt _021E9DE8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E9DE0 thumb_func_start MOD16_021E9DFC MOD16_021E9DFC: ; 0x021E9DFC push {r4, r5, r6, lr} mov r4, #0 add r5, r0, #0 add r6, r4, #0 _021E9E04: ldr r0, [r5, #4] add r1, r6, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #5 blt _021E9E04 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E9DFC thumb_func_start MOD16_021E9E18 MOD16_021E9E18: ; 0x021E9E18 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #4] bl MOD16_021E90D8 cmp r0, #1 bne _021E9E2A mov r1, #0 str r1, [r4, #0x28] _021E9E2A: pop {r4, pc} thumb_func_end MOD16_021E9E18 thumb_func_start MOD16_021E9E2C MOD16_021E9E2C: ; 0x021E9E2C ldr r3, _021E9E30 ; =MOD16_021E9E34 bx r3 .align 2, 0 _021E9E30: .word MOD16_021E9E34 thumb_func_end MOD16_021E9E2C thumb_func_start MOD16_021E9E34 MOD16_021E9E34: ; 0x021E9E34 push {r3, r4, r5, lr} add r5, r0, #0 ldr r4, [r5, #4] bl MOD16_021E9E64 ldr r0, _021E9E5C ; =gMain ldr r1, [r0, #0x48] mov r0, #2 tst r0, r1 beq _021E9E58 add r0, r4, #0 bl MOD16_021E9014 mov r0, #1 str r0, [r5, #0x2c] ldr r0, _021E9E60 ; =0x000005DD bl FUN_020054C8 _021E9E58: pop {r3, r4, r5, pc} nop _021E9E5C: .word gMain _021E9E60: .word 0x000005DD thumb_func_end MOD16_021E9E34 thumb_func_start MOD16_021E9E64 MOD16_021E9E64: ; 0x021E9E64 mov r1, #0 str r1, [r0, #0x2c] bx lr .align 2, 0 thumb_func_end MOD16_021E9E64 thumb_func_start MOD16_021E9E6C MOD16_021E9E6C: ; 0x021E9E6C push {r4, r5, r6, lr} sub sp, #0x10 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #0xa8 bl AllocFromHeap str r0, [r5, #0x18] mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] str r0, [sp, #0xc] mov r2, #0x18 ldr r0, [r5, #0x18] mov r1, #0x1c add r3, r2, #0 bl MOD16_021DB590 mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #1 str r0, [sp, #0xc] ldr r0, [r5, #0x18] mov r2, #0x18 add r0, #0x1c mov r1, #0x44 add r3, r2, #0 bl MOD16_021DB590 mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #2 str r0, [sp, #0xc] ldr r0, [r5, #0x18] mov r2, #0x18 add r0, #0x38 mov r1, #0x6c add r3, r2, #0 bl MOD16_021DB590 mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #3 str r0, [sp, #0xc] ldr r0, [r5, #0x18] mov r2, #0x18 add r0, #0x54 mov r1, #0x94 add r3, r2, #0 bl MOD16_021DB590 ldr r0, [r4, #8] bl MOD16_021D9F80 cmp r0, #1 bne _021E9EFA mov r1, #0 b _021E9EFC _021E9EFA: mov r1, #2 _021E9EFC: mov r0, #0x10 str r0, [sp] str r1, [sp, #4] str r1, [sp, #8] mov r0, #4 str r0, [sp, #0xc] ldr r0, [r5, #0x18] mov r2, #0x18 add r0, #0x70 mov r1, #0xbc add r3, r2, #0 bl MOD16_021DB590 mov r0, #0x10 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #5 str r0, [sp, #0xc] ldr r0, [r5, #0x18] mov r2, #0x18 add r0, #0x8c mov r1, #0xe4 add r3, r2, #0 bl MOD16_021DB590 add r0, r6, #0 bl MOD16_021DB490 str r0, [r5, #0x14] ldr r1, [r5, #0x18] mov r2, #6 mov r3, #1 bl MOD16_021DB4B0 add sp, #0x10 pop {r4, r5, r6, pc} thumb_func_end MOD16_021E9E6C thumb_func_start MOD16_021E9F48 MOD16_021E9F48: ; 0x021E9F48 push {r4, r5, r6, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4, #0x2c] ldr r5, [r4, #4] cmp r0, #0 beq _021E9F58 b _021EA066 _021E9F58: ldr r0, _021EA068 ; =gMain ldr r1, [r0, #0x48] mov r0, #0x10 tst r0, r1 beq _021E9F6C ldr r0, [r6, #0x14] mov r1, #0 mov r2, #1 bl MOD16_021DB4CC _021E9F6C: ldr r0, _021EA068 ; =gMain ldr r1, [r0, #0x48] mov r0, #0x20 tst r0, r1 beq _021E9F80 mov r1, #0 ldr r0, [r6, #0x14] sub r2, r1, #1 bl MOD16_021DB4CC _021E9F80: ldr r0, _021EA068 ; =gMain ldr r1, [r0, #0x48] mov r0, #1 tst r0, r1 beq _021EA066 ldr r0, [r6, #0x14] bl MOD16_021DB528 cmp r0, #5 bhi _021EA066 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021E9FA0: ; jump table .short _021E9FAC - _021E9FA0 - 2 ; case 0 .short _021E9FC6 - _021E9FA0 - 2 ; case 1 .short _021E9FE0 - _021E9FA0 - 2 ; case 2 .short _021E9FFA - _021E9FA0 - 2 ; case 3 .short _021EA026 - _021E9FA0 - 2 ; case 4 .short _021EA052 - _021E9FA0 - 2 ; case 5 _021E9FAC: ldr r2, [r5, #8] cmp r2, #0 beq _021EA066 add r0, r4, #0 mov r1, #0 bl MOD16_021E9E18 mov r0, #2 str r0, [r4, #0xc] ldr r0, _021EA06C ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9FC6: ldr r2, [r5, #8] cmp r2, #1 beq _021EA066 add r0, r4, #0 mov r1, #1 bl MOD16_021E9E18 mov r0, #2 str r0, [r4, #0x10] ldr r0, _021EA06C ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9FE0: ldr r2, [r5, #8] cmp r2, #2 beq _021EA066 add r0, r4, #0 mov r1, #2 bl MOD16_021E9E18 mov r0, #2 str r0, [r4, #0x14] ldr r0, _021EA06C ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021E9FFA: ldr r2, [r5, #8] cmp r2, #3 beq _021EA066 add r0, r4, #0 mov r1, #3 bl MOD16_021E9E18 cmp r0, #0 beq _021EA018 mov r0, #2 str r0, [r4, #0x18] ldr r0, _021EA06C ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021EA018: ldr r0, [r5, #8] cmp r0, #2 beq _021EA066 ldr r0, _021EA070 ; =0x000005DD bl FUN_020054C8 pop {r4, r5, r6, pc} _021EA026: ldr r2, [r5, #8] cmp r2, #4 beq _021EA066 add r0, r4, #0 mov r1, #4 bl MOD16_021E9E18 cmp r0, #0 beq _021EA044 mov r0, #2 str r0, [r4, #0x1c] ldr r0, _021EA06C ; =0x0000068B bl FUN_020054C8 pop {r4, r5, r6, pc} _021EA044: ldr r0, [r5, #8] cmp r0, #2 beq _021EA066 ldr r0, _021EA070 ; =0x000005DD bl FUN_020054C8 pop {r4, r5, r6, pc} _021EA052: add r0, r5, #0 bl MOD16_021E9014 mov r0, #1 str r0, [r4, #0x2c] mov r0, #2 str r0, [r4, #0x20] ldr r0, _021EA070 ; =0x000005DD bl FUN_020054C8 _021EA066: pop {r4, r5, r6, pc} .align 2, 0 _021EA068: .word gMain _021EA06C: .word 0x0000068B _021EA070: .word 0x000005DD thumb_func_end MOD16_021E9F48 thumb_func_start MOD16_021EA074 MOD16_021EA074: ; 0x021EA074 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x18] bl FreeToHeap ldr r0, [r4, #0x14] bl MOD16_021DB4A8 mov r0, #0 str r0, [r4, #0x14] str r0, [r4, #0x18] pop {r4, pc} thumb_func_end MOD16_021EA074 thumb_func_start MOD16_021EA08C MOD16_021EA08C: ; 0x021EA08C push {r3, lr} ldr r3, [r1, #4] mov r2, #0 str r2, [r1, #0x30] ldr r1, [r3, #8] cmp r1, #4 bhi _021EA0E8 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021EA0A6: ; jump table .short _021EA0B0 - _021EA0A6 - 2 ; case 0 .short _021EA0BA - _021EA0A6 - 2 ; case 1 .short _021EA0C6 - _021EA0A6 - 2 ; case 2 .short _021EA0D2 - _021EA0A6 - 2 ; case 3 .short _021EA0DE - _021EA0A6 - 2 ; case 4 _021EA0B0: ldr r0, [r0, #0x14] mov r1, #4 bl MOD16_021DB4CC pop {r3, pc} _021EA0BA: ldr r0, [r0, #0x14] mov r1, #4 mov r2, #1 bl MOD16_021DB4CC pop {r3, pc} _021EA0C6: ldr r0, [r0, #0x14] mov r1, #4 mov r2, #2 bl MOD16_021DB4CC pop {r3, pc} _021EA0D2: ldr r0, [r0, #0x14] mov r1, #4 mov r2, #3 bl MOD16_021DB4CC pop {r3, pc} _021EA0DE: mov r1, #4 ldr r0, [r0, #0x14] add r2, r1, #0 bl MOD16_021DB4CC _021EA0E8: pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021EA08C thumb_func_start MOD16_021EA0EC MOD16_021EA0EC: ; 0x021EA0EC ldr r0, [r1, #4] ldr r0, [r0, #8] cmp r0, #0 beq _021EA118 ldr r0, [r1, #0x30] cmp r0, #0 bne _021EA10A ldr r0, _021EA11C ; =gMain ldr r2, [r0, #0x48] mov r0, #0x80 tst r0, r2 beq _021EA118 mov r0, #1 str r0, [r1, #0x30] bx lr _021EA10A: ldr r0, _021EA11C ; =gMain ldr r2, [r0, #0x48] mov r0, #0x40 tst r0, r2 beq _021EA118 mov r0, #0 str r0, [r1, #0x30] _021EA118: bx lr nop _021EA11C: .word gMain thumb_func_end MOD16_021EA0EC thumb_func_start MOD16_021EA120 MOD16_021EA120: ; 0x021EA120 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 ldr r0, [r4, #0x14] ldr r1, [r5] add r6, r2, #0 bl MOD16_021D8B48 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EA13C pop {r4, r5, r6, pc} thumb_func_end MOD16_021EA120 thumb_func_start MOD16_021EA13C MOD16_021EA13C: ; 0x021EA13C push {r4, r5, r6, lr} add r6, r2, #0 add r5, r0, #0 ldr r0, [r6, #8] add r4, r1, #0 bl MOD16_021D9FB8 cmp r0, #1 bne _021EA172 add r0, r5, #0 mov r1, #1 bl MOD16_021EA18C ldr r1, [r6, #0x30] cmp r1, #0 bne _021EA17A cmp r0, #0 beq _021EA168 ldr r0, [r4, #0x14] ldr r1, [r5] bl MOD16_021D8B48 _021EA168: add r0, r5, #0 add r1, r4, #0 bl MOD16_021EA17C pop {r4, r5, r6, pc} _021EA172: add r0, r5, #0 mov r1, #0 bl MOD16_021EA18C _021EA17A: pop {r4, r5, r6, pc} thumb_func_end MOD16_021EA13C thumb_func_start MOD16_021EA17C MOD16_021EA17C: ; 0x021EA17C ldr r3, _021EA188 ; =MOD16_021D8AD4 add r2, r0, #0 ldr r0, [r1, #0x14] ldr r1, [r2] bx r3 nop _021EA188: .word MOD16_021D8AD4 thumb_func_end MOD16_021EA17C thumb_func_start MOD16_021EA18C MOD16_021EA18C: ; 0x021EA18C push {r3, r4, r5, lr} ldr r4, [r0] mov r0, #0x79 lsl r0, r0, #2 add r0, r4, r0 add r5, r1, #0 bl MOD16_021D8B30 cmp r5, r0 beq _021EA1B0 mov r0, #0x79 lsl r0, r0, #2 add r0, r4, r0 add r1, r5, #0 bl MOD16_021D8B14 mov r0, #1 pop {r3, r4, r5, pc} _021EA1B0: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EA18C thumb_func_start MOD16_021EA1B4 MOD16_021EA1B4: ; 0x021EA1B4 push {r3, r4, r5, lr} add r5, r0, #0 lsl r0, r2, #2 add r0, r5, r0 ldr r0, [r0, #4] add r4, r1, #0 ldr r0, [r0] mov r1, #0 bl FUN_020119D0 lsl r0, r4, #2 add r0, r5, r0 ldr r0, [r0, #4] mov r1, #1 ldr r0, [r0] bl FUN_020119D0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EA1B4 thumb_func_start MOD16_021EA1D8 MOD16_021EA1D8: ; 0x021EA1D8 push {r4, lr} add r4, r0, #0 ldr r0, [r1, #8] bl MOD16_021D9F80 cmp r0, #0 bne _021EA1EE ldr r0, [r4, #0x10] mov r1, #0 bl FUN_020200A0 _021EA1EE: pop {r4, pc} thumb_func_end MOD16_021EA1D8 thumb_func_start MOD16_021EA1F0 MOD16_021EA1F0: ; 0x021EA1F0 push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 add r0, r7, #0 bl MOD16_021EA274 add r4, r0, #0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021EA2BC str r4, [r5] str r0, [r5, #4] mov r0, #0 str r0, [r5, #0x20] bl MOD16_021EA310 str r0, [r5, #0x24] ldr r0, _021EA230 ; =MOD16_021EA314 str r0, [r5, #8] ldr r0, _021EA234 ; =MOD16_021EA35C str r0, [r5, #0xc] ldr r0, _021EA238 ; =MOD16_021EA388 str r0, [r5, #0x10] ldr r0, _021EA23C ; =MOD16_021EA39C str r0, [r5, #0x14] ldr r0, _021EA240 ; =MOD16_021EA45C str r0, [r5, #0x18] ldr r0, _021EA244 ; =MOD16_021EA47C str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EA230: .word MOD16_021EA314 _021EA234: .word MOD16_021EA35C _021EA238: .word MOD16_021EA388 _021EA23C: .word MOD16_021EA39C _021EA240: .word MOD16_021EA45C _021EA244: .word MOD16_021EA47C thumb_func_end MOD16_021EA1F0 thumb_func_start MOD16_021EA248 MOD16_021EA248: ; 0x021EA248 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021EA2E8 ldr r0, [r4, #4] bl MOD16_021EA2FC pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EA248 thumb_func_start MOD16_021EA25C MOD16_021EA25C: ; 0x021EA25C ldr r0, [r0, #4] str r1, [r0, #4] str r2, [r0, #8] bx lr thumb_func_end MOD16_021EA25C thumb_func_start MOD16_021EA264 MOD16_021EA264: ; 0x021EA264 ldr r0, [r0, #4] str r1, [r0, #0xc] bx lr .align 2, 0 thumb_func_end MOD16_021EA264 thumb_func_start MOD16_021EA26C MOD16_021EA26C: ; 0x021EA26C ldr r0, [r0, #4] str r1, [r0, #0x10] bx lr .align 2, 0 thumb_func_end MOD16_021EA26C thumb_func_start MOD16_021EA274 MOD16_021EA274: ; 0x021EA274 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x10 bl AllocFromHeap add r4, r0, #0 bne _021EA286 bl GF_AssertFail _021EA286: add r2, r4, #0 mov r1, #0x10 mov r0, #0 _021EA28C: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021EA28C add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #8] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B7C str r0, [r4, #0xc] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EA274 thumb_func_start MOD16_021EA2BC MOD16_021EA2BC: ; 0x021EA2BC push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x14 bl AllocFromHeap add r4, r0, #0 bne _021EA2CE bl GF_AssertFail _021EA2CE: add r2, r4, #0 mov r1, #0x14 mov r0, #0 _021EA2D4: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021EA2D4 add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EA2BC thumb_func_start MOD16_021EA2E8 MOD16_021EA2E8: ; 0x021EA2E8 push {r4, lr} add r4, r0, #0 bne _021EA2F2 bl GF_AssertFail _021EA2F2: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EA2E8 thumb_func_start MOD16_021EA2FC MOD16_021EA2FC: ; 0x021EA2FC push {r4, lr} add r4, r0, #0 bne _021EA306 bl GF_AssertFail _021EA306: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EA2FC thumb_func_start MOD16_021EA310 MOD16_021EA310: ; 0x021EA310 mov r0, #0 bx lr thumb_func_end MOD16_021EA310 thumb_func_start MOD16_021EA314 MOD16_021EA314: ; 0x021EA314 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 add r5, r0, #0 ldr r0, [r6, #4] bl MOD16_021D9DE8 add r7, r0, #0 ldr r0, [r5, #4] mov r1, #0x18 bl AllocFromHeap add r4, r0, #0 bne _021EA332 bl GF_AssertFail _021EA332: add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021EA338: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021EA338 str r4, [r5, #8] add r0, r7, #0 bl FUN_02004E98 str r0, [r4] bl FUN_02004E8C str r0, [r4, #8] add r0, r4, #0 add r1, r6, #0 bl MOD16_021EAA8C mov r0, #1 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EA314 thumb_func_start MOD16_021EA35C MOD16_021EA35C: ; 0x021EA35C push {r3, r4, r5, lr} ldr r2, [r0, #0xc] add r5, r1, #0 ldr r4, [r0, #8] cmp r2, #1 bne _021EA36C mov r0, #1 pop {r3, r4, r5, pc} _021EA36C: ldr r0, [r0, #0x10] cmp r0, #1 bne _021EA376 mov r0, #0 pop {r3, r4, r5, pc} _021EA376: add r0, r4, #0 bl MOD16_021EAA8C add r0, r4, #0 add r1, r5, #0 bl MOD16_021EAE5C mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EA35C thumb_func_start MOD16_021EA388 MOD16_021EA388: ; 0x021EA388 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EA388 thumb_func_start MOD16_021EA39C MOD16_021EA39C: ; 0x021EA39C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r3, [r3, #8] ldr r6, [r4, #8] cmp r0, #3 bhi _021EA458 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EA3BA: ; jump table .short _021EA3C2 - _021EA3BA - 2 ; case 0 .short _021EA3E0 - _021EA3BA - 2 ; case 1 .short _021EA41C - _021EA3BA - 2 ; case 2 .short _021EA454 - _021EA3BA - 2 ; case 3 _021EA3C2: mov r1, #0x33 ldr r0, [r4, #4] lsl r1, r1, #4 bl AllocFromHeap mov r2, #0x33 str r0, [r4, #8] mov r1, #0 lsl r2, r2, #4 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EA458 _021EA3E0: ldr r0, [r4, #4] add r1, r5, #0 str r0, [sp] add r0, r6, #0 bl MOD16_021EA784 ldr r0, [r5, #0xc] cmp r0, #0 bne _021EA400 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021EA5BC b _021EA40C _021EA400: add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021EA680 _021EA40C: mov r0, #0 mov r1, #3 bl FUN_020053CC ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EA458 _021EA41C: ldr r0, [r5, #0xc] cmp r0, #0 bne _021EA42E add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021EA634 b _021EA438 _021EA42E: add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021EA70C _021EA438: cmp r0, #1 bne _021EA458 bl FUN_02005404 cmp r0, #0 bne _021EA458 mov r0, #1 add r1, r0, #0 bl FUN_020047C8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EA458 _021EA454: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021EA458: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EA39C thumb_func_start MOD16_021EA45C MOD16_021EA45C: ; 0x021EA45C push {r3, r4, r5, lr} ldr r4, [r3, #8] ldr r5, [r1, #8] add r2, r0, #0 add r1, r2, #0 add r0, r5, #0 add r2, r4, #0 bl MOD16_021EAC1C add r0, r5, #0 add r1, r4, #0 bl MOD16_021EAD04 mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EA45C thumb_func_start MOD16_021EA47C MOD16_021EA47C: ; 0x021EA47C push {r4, lr} add r4, r1, #0 ldr r1, [r4] add r3, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021EA518 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021EA496: ; jump table .short _021EA4A0 - _021EA496 - 2 ; case 0 .short _021EA4D2 - _021EA496 - 2 ; case 1 .short _021EA4F6 - _021EA496 - 2 ; case 2 .short _021EA504 - _021EA496 - 2 ; case 3 .short _021EA514 - _021EA496 - 2 ; case 4 _021EA4A0: ldr r1, [r3, #0xc] cmp r1, #0 bne _021EA4B0 add r1, r3, #0 mov r3, #0 bl MOD16_021EA5BC b _021EA4B8 _021EA4B0: add r1, r3, #0 mov r3, #0 bl MOD16_021EA680 _021EA4B8: mov r0, #1 mov r1, #0 bl FUN_020047C8 mov r0, #0x7f mov r1, #3 mov r2, #0 bl FUN_0200538C ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EA518 _021EA4D2: ldr r1, [r3, #0xc] cmp r1, #0 bne _021EA4E2 add r1, r3, #0 mov r3, #0 bl MOD16_021EA634 b _021EA4EA _021EA4E2: add r1, r3, #0 mov r3, #0 bl MOD16_021EA70C _021EA4EA: cmp r0, #0 beq _021EA518 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EA518 _021EA4F6: add r1, r3, #0 bl MOD16_021EA7D0 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EA518 _021EA504: bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EA518 _021EA514: mov r0, #1 pop {r4, pc} _021EA518: mov r0, #0 pop {r4, pc} thumb_func_end MOD16_021EA47C thumb_func_start MOD16_021EA51C MOD16_021EA51C: ; 0x021EA51C push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 bl MOD16_021D8700 add r6, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r2, r0, #0 mov r0, #0x30 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r4, #4] mov r3, #2 bl MOD16_021D7FB4 add r0, r6, #0 mov r1, #6 mov r2, #0 bl FUN_02007558 add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EA51C thumb_func_start MOD16_021EA554 MOD16_021EA554: ; 0x021EA554 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r0, #0 str r0, [sp] mov r6, #1 _021EA55E: mov r4, #0 add r5, r7, #0 _021EA562: ldr r0, [r5, #0x20] add r1, r6, #0 bl FUN_02020398 add r4, r4, #1 add r5, #8 cmp r4, #9 blt _021EA562 ldr r0, [r7, #0x68] mov r1, #1 bl FUN_02020398 ldr r0, [sp] add r7, #0x54 add r0, r0, #1 str r0, [sp] cmp r0, #9 blt _021EA55E pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EA554 thumb_func_start MOD16_021EA588 MOD16_021EA588: ; 0x021EA588 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r0, #0 str r0, [sp] add r6, r0, #0 _021EA592: mov r4, #0 add r5, r7, #0 _021EA596: ldr r0, [r5, #0x20] add r1, r6, #0 bl FUN_02020398 add r4, r4, #1 add r5, #8 cmp r4, #9 blt _021EA596 ldr r0, [r7, #0x68] mov r1, #0 bl FUN_02020398 ldr r0, [sp] add r7, #0x54 add r0, r0, #1 str r0, [sp] cmp r0, #9 blt _021EA592 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EA588 thumb_func_start MOD16_021EA5BC MOD16_021EA5BC: ; 0x021EA5BC push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021EA554 ldr r0, [r4, #8] bl MOD16_021E8C68 cmp r0, #0 beq _021EA622 cmp r6, #0 beq _021EA5FE mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #3 add r2, r1, #0 sub r2, #0x13 bl MOD16_021D8988 b _021EA622 _021EA5FE: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #3 add r3, r1, #0 sub r3, #0x13 bl MOD16_021D8988 _021EA622: mov r1, #0x5b ldr r0, [r5] lsl r1, r1, #2 add r1, r0, r1 bl MOD16_021D8A8C add sp, #0x14 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EA5BC thumb_func_start MOD16_021EA634 MOD16_021EA634: ; 0x021EA634 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #8] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021EA654 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 b _021EA65E _021EA654: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C _021EA65E: cmp r0, #0 beq _021EA670 cmp r4, #0 beq _021EA66C add r0, r6, #0 bl MOD16_021EA588 _021EA66C: mov r0, #1 pop {r4, r5, r6, pc} _021EA670: mov r1, #0x5b ldr r0, [r5] lsl r1, r1, #2 add r1, r0, r1 bl MOD16_021D8A8C mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EA634 thumb_func_start MOD16_021EA680 MOD16_021EA680: ; 0x021EA680 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r0, #0 add r5, r1, #0 add r6, r2, #0 add r4, r3, #0 bl MOD16_021EA554 cmp r4, #0 bne _021EA6A8 ldr r0, [r5, #8] mov r1, #0x30 str r0, [sp] ldr r0, [r5, #0x10] mov r3, #0x40 str r0, [sp, #4] ldr r2, [r5, #4] add r0, r7, #0 bl MOD16_021D8BD8 _021EA6A8: ldr r0, [r6, #8] bl MOD16_021E8C68 cmp r0, #0 beq _021EA706 cmp r4, #0 beq _021EA6E0 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r2, #0x2f str r2, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 ldr r1, [r5, #0x10] sub r2, #0x3f lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl MOD16_021D8988 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021EA6E0: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r3, #0x2f str r3, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 ldr r1, [r5, #0x10] sub r3, #0x3f lsl r1, r1, #0x18 lsr r1, r1, #0x18 bl MOD16_021D8988 _021EA706: add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EA680 thumb_func_start MOD16_021EA70C MOD16_021EA70C: ; 0x021EA70C push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r5, r0, #0 add r4, r1, #0 add r6, r2, #0 add r7, r3, #0 bne _021EA72C bl MOD16_021D8BF4 str r0, [sp] ldr r0, [r4] ldr r1, [r5] ldr r2, [r5, #4] bl MOD16_021D86F4 b _021EA730 _021EA72C: mov r0, #1 str r0, [sp] _021EA730: ldr r0, [r6, #8] bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r4] beq _021EA74A mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 str r0, [sp, #4] b _021EA756 _021EA74A: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C str r0, [sp, #4] _021EA756: mov r1, #0 add r2, sp, #0 _021EA75A: ldr r0, [r2] cmp r0, #0 beq _021EA768 add r1, r1, #1 add r2, r2, #4 cmp r1, #2 blt _021EA75A _021EA768: cmp r1, #2 bne _021EA77C cmp r7, #1 bne _021EA776 add r0, r5, #0 bl MOD16_021EA588 _021EA776: add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021EA77C: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EA70C thumb_func_start MOD16_021EA784 MOD16_021EA784: ; 0x021EA784 push {r3, r4, r5, r6, r7, lr} ldr r6, [sp, #0x18] add r7, r2, #0 add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 add r1, r7, #0 add r2, r6, #0 bl MOD16_021EA7F0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EA89C add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EA9C0 add r0, r5, #0 add r1, r4, #0 add r2, r7, #0 add r3, r6, #0 bl MOD16_021EAA84 add r0, r4, #0 add r1, r7, #0 bl MOD16_021EA51C add r0, r5, #0 add r1, r4, #0 bl MOD16_021EACB0 add r0, r5, #0 bl MOD16_021EACE8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EA784 thumb_func_start MOD16_021EA7D0 MOD16_021EA7D0: ; 0x021EA7D0 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021EAA88 add r0, r5, #0 bl MOD16_021EAA5C add r0, r5, #0 add r1, r4, #0 bl MOD16_021EA964 add r0, r4, #0 bl MOD16_021EA858 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EA7D0 thumb_func_start MOD16_021EA7F0 MOD16_021EA7F0: ; 0x021EA7F0 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] add r5, r2, #0 str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #3 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x46 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EA7F0 thumb_func_start MOD16_021EA858 MOD16_021EA858: ; 0x021EA858 push {r4, lr} sub sp, #8 add r4, r0, #0 ldr r0, [r4] mov r2, #0 ldr r0, [r0] mov r1, #1 add r3, r2, #0 bl FUN_0201AEE4 mov r1, #0 mov r0, #1 lsl r0, r0, #8 str r0, [sp] mov r0, #0xc0 str r0, [sp, #4] ldr r0, [r4] add r2, r1, #0 add r0, r0, #4 add r3, r1, #0 bl FillWindowPixelRect ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_02018744 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FUN_0201AB24 add sp, #8 pop {r4, pc} thumb_func_end MOD16_021EA858 thumb_func_start MOD16_021EA89C MOD16_021EA89C: ; 0x021EA89C push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021EA954 ; =0x00002B6C mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x74 bl FUN_020091E0 mov r1, #0xc5 lsl r1, r1, #2 str r0, [r5, r1] ldr r0, [r5, r1] bl FUN_02009B04 mov r0, #0xc5 lsl r0, r0, #2 ldr r0, [r5, r0] bl FUN_02009474 ldr r0, _021EA958 ; =0x00002B0B add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x13 mov r3, #0 bl FUN_02009298 mov r1, #0xc6 lsl r1, r1, #2 str r0, [r5, r1] ldr r0, [r5, r1] bl FUN_02009D68 mov r0, #0xc6 lsl r0, r0, #2 ldr r0, [r5, r0] bl FUN_02009474 ldr r0, _021EA95C ; =0x00002B6D add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x75 mov r3, #1 bl FUN_02009358 mov r1, #0xc7 lsl r1, r1, #2 str r0, [r5, r1] ldr r0, _021EA960 ; =0x00002B6B add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x73 mov r3, #1 bl FUN_02009358 mov r1, #0x32 lsl r1, r1, #4 str r0, [r5, r1] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021EA954: .word 0x00002B6C _021EA958: .word 0x00002B0B _021EA95C: .word 0x00002B6D _021EA960: .word 0x00002B6B thumb_func_end MOD16_021EA89C thumb_func_start MOD16_021EA964 MOD16_021EA964: ; 0x021EA964 push {r3, r4, r5, lr} add r5, r0, #0 mov r0, #0xc5 lsl r0, r0, #2 ldr r0, [r5, r0] ldr r4, [r1] bl FUN_02009C0C mov r0, #0xc6 lsl r0, r0, #2 ldr r0, [r5, r0] bl FUN_02009E04 mov r0, #5 mov r1, #0xc5 lsl r0, r0, #6 lsl r1, r1, #2 ldr r0, [r4, r0] ldr r1, [r5, r1] bl FUN_02009490 mov r0, #0x51 mov r1, #0xc6 lsl r0, r0, #2 lsl r1, r1, #2 ldr r0, [r4, r0] ldr r1, [r5, r1] bl FUN_02009490 mov r0, #0x52 mov r1, #0xc7 lsl r0, r0, #2 lsl r1, r1, #2 ldr r0, [r4, r0] ldr r1, [r5, r1] bl FUN_02009490 mov r0, #0x53 mov r1, #0x32 lsl r0, r0, #2 lsl r1, r1, #4 ldr r0, [r4, r0] ldr r1, [r5, r1] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EA964 thumb_func_start MOD16_021EA9C0 MOD16_021EA9C0: ; 0x021EA9C0 push {r4, r5, r6, r7, lr} sub sp, #0x74 ldr r4, [r1] ldr r3, _021EAA58 ; =0x00002B6B add r7, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #5 str r1, [sp, #0x10] lsl r0, r0, #6 add r5, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x50 sub r2, #0x60 add r3, r3, #2 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] add r6, sp, #0x30 str r0, [sp, #0x30] add r0, sp, #0x50 str r0, [sp, #0x34] mov r0, #0x11 str r0, [sp, #0x44] mov r0, #1 str r0, [sp, #0x48] mov r0, #0 str r5, [sp, #0x4c] str r0, [sp, #0x2c] str r0, [sp, #0x38] str r0, [sp, #0x3c] _021EAA2A: mov r4, #0 add r5, r7, #0 _021EAA2E: add r0, r6, #0 bl FUN_0201FF84 str r0, [r5, #0x20] add r4, r4, #1 add r5, #8 cmp r4, #9 blt _021EAA2E add r0, r6, #0 bl FUN_0201FF84 str r0, [r7, #0x68] ldr r0, [sp, #0x2c] add r7, #0x54 add r0, r0, #1 str r0, [sp, #0x2c] cmp r0, #9 blt _021EAA2A add sp, #0x74 pop {r4, r5, r6, r7, pc} nop _021EAA58: .word 0x00002B6B thumb_func_end MOD16_021EA9C0 thumb_func_start MOD16_021EAA5C MOD16_021EAA5C: ; 0x021EAA5C push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 mov r7, #0 _021EAA62: mov r4, #0 add r5, r6, #0 _021EAA66: ldr r0, [r5, #0x20] bl FUN_0201FFC8 add r4, r4, #1 add r5, #8 cmp r4, #9 blt _021EAA66 ldr r0, [r6, #0x68] bl FUN_0201FFC8 add r7, r7, #1 add r6, #0x54 cmp r7, #9 blt _021EAA62 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EAA5C thumb_func_start MOD16_021EAA84 MOD16_021EAA84: ; 0x021EAA84 bx lr .align 2, 0 thumb_func_end MOD16_021EAA84 thumb_func_start MOD16_021EAA88 MOD16_021EAA88: ; 0x021EAA88 bx lr .align 2, 0 thumb_func_end MOD16_021EAA88 thumb_func_start MOD16_021EAA8C MOD16_021EAA8C: ; 0x021EAA8C push {r4, lr} add r4, r0, #0 ldr r0, [r1, #0xc] bl MOD16_021EAF10 add r2, r0, #0 ldr r1, [r4] mov r0, #1 bl FUN_02004F28 str r0, [r4, #4] pop {r4, pc} thumb_func_end MOD16_021EAA8C thumb_func_start MOD16_021EAAA4 MOD16_021EAAA4: ; 0x021EAAA4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x20 ldr r0, [sp, #0x44] ldr r7, [sp, #0x3c] str r0, [sp, #0x44] ldr r0, [sp, #0x48] str r1, [sp, #8] str r0, [sp, #0x48] add r0, r2, #0 str r3, [sp, #0xc] ldr r5, [sp, #0x40] bl FUN_02004E80 str r0, [sp, #0x1c] lsl r0, r7, #0x10 lsr r0, r0, #0x10 str r0, [sp] mov r0, #0x40 str r0, [sp, #4] ldr r0, [sp, #8] ldr r3, [sp, #0x44] ldr r0, [r0] sub r3, #0x20 lsl r2, r5, #0x10 lsl r3, r3, #0x10 add r0, r0, #4 mov r1, #0 lsr r2, r2, #0x10 lsr r3, r3, #0x10 bl FillWindowPixelRect ldr r1, [sp, #0x38] ldr r0, [sp, #0xc] mov r6, #0 sub r0, r1, r0 cmp r7, #0 ble _021EAB48 lsl r0, r0, #0xc str r0, [sp, #0x14] asr r0, r0, #0x1f str r0, [sp, #0x18] lsl r0, r7, #0xc add r4, r6, #0 str r0, [sp, #0x10] _021EAAFC: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] asr r3, r4, #0x1f add r2, r4, #0 bl _ll_mul mov r2, #2 lsl r2, r2, #0xa add r0, r0, r2 ldr r2, _021EAB4C ; =0x00000000 adc r1, r2 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 ldr r1, [sp, #0x10] bl FX_Div asr r1, r0, #0xc ldr r0, [sp, #0xc] ldr r2, [sp, #0x1c] add r1, r1, r0 ldr r0, [sp, #0x48] ldr r3, [sp, #0x44] str r0, [sp] ldr r0, [sp, #8] ldrb r1, [r2, r1] ldr r0, [r0] add r2, r5, #0 add r0, r0, #4 bl MOD16_021EAB50 mov r0, #1 lsl r0, r0, #0xc add r6, r6, #1 add r5, r5, #1 add r4, r4, r0 cmp r6, r7 blt _021EAAFC _021EAB48: add sp, #0x20 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EAB4C: .word 0x00000000 thumb_func_end MOD16_021EAAA4 thumb_func_start MOD16_021EAB50 MOD16_021EAB50: ; 0x021EAB50 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r1, #0 str r0, [sp, #8] add r6, r2, #0 add r7, r3, #0 ldr r4, [sp, #0x20] cmp r5, #0x7f bls _021EAB64 sub r5, #0xff _021EAB64: cmp r5, #0 beq _021EAB8E lsl r2, r5, #0xc asr r0, r2, #0x1f lsr r1, r2, #0xf lsl r0, r0, #0x11 orr r0, r1 mov r1, #2 lsl r3, r2, #0x11 mov r2, #0 lsl r1, r1, #0xa add r3, r3, r1 adc r0, r2 lsl r1, r0, #0x14 lsr r0, r3, #0xc orr r0, r1 mov r1, #0x7f lsl r1, r1, #0xc bl FX_Div asr r5, r0, #0xc _021EAB8E: ldr r1, [r4] add r0, r7, r5 add r1, r7, r1 cmp r0, r1 ble _021EAB9E add r3, r1, #0 sub r1, r0, r1 b _021EABA2 _021EAB9E: add r3, r0, #0 sub r1, r1, r0 _021EABA2: mov r0, #1 str r0, [sp] add r0, r1, #1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #4] lsl r2, r6, #0x10 lsl r3, r3, #0x10 ldr r0, [sp, #8] mov r1, #6 lsr r2, r2, #0x10 lsr r3, r3, #0x10 bl FillWindowPixelRect str r5, [r4] add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021EAB50 thumb_func_start MOD16_021EABC4 MOD16_021EABC4: ; 0x021EABC4 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r7, r0, #0 ldr r0, [sp, #0x20] add r5, r1, #0 str r0, [sp, #0x20] ldr r0, [sp, #0x24] add r6, r2, #0 add r4, r3, #0 str r0, [sp, #0x24] sub r0, r6, r5 lsl r0, r0, #0x10 lsr r0, r0, #0x10 ldr r3, [sp, #0x20] str r0, [sp] mov r0, #0x40 str r0, [sp, #4] ldr r0, [r7] sub r3, #0x20 lsl r2, r4, #0x10 lsl r3, r3, #0x10 add r0, r0, #4 mov r1, #0 lsr r2, r2, #0x10 lsr r3, r3, #0x10 bl FillWindowPixelRect cmp r5, r6 bge _021EAC18 _021EABFE: ldr r0, [sp, #0x24] ldr r3, [sp, #0x20] str r0, [sp] ldr r0, [r7] mov r1, #0 add r0, r0, #4 add r2, r4, #0 bl MOD16_021EAB50 add r5, r5, #1 add r4, r4, #1 cmp r5, r6 blt _021EABFE _021EAC18: add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EABC4 thumb_func_start MOD16_021EAC1C MOD16_021EAC1C: ; 0x021EAC1C push {r4, r5, r6, r7, lr} sub sp, #0x14 mov r3, #0xc9 add r5, r0, #0 lsl r3, r3, #2 ldr r0, [r5, r3] add r4, r1, #0 add r0, r0, #4 str r0, [r5, r3] ldr r0, [r5, r3] add r6, r2, #0 lsr r2, r0, #0x1f lsl r1, r0, #0x18 sub r1, r1, r2 mov r0, #0x18 ror r1, r0 add r1, r2, r1 str r1, [r5, r3] ldr r3, [r5, r3] sub r3, #8 bpl _021EAC4A add r0, #0xe8 add r3, r3, r0 _021EAC4A: mov r0, #0xcb lsl r0, r0, #2 ldr r1, [r6, #4] ldr r7, [r5, r0] cmp r7, r1 beq _021EAC76 str r1, [sp] mov r1, #4 str r1, [sp, #4] str r3, [sp, #8] mov r1, #0x97 sub r0, r0, #4 str r1, [sp, #0xc] add r0, r5, r0 str r0, [sp, #0x10] ldr r2, [r6] add r0, r5, #0 add r1, r4, #0 add r3, r7, #0 bl MOD16_021EAAA4 b _021EAC8A _021EAC76: mov r1, #0x97 sub r0, r0, #4 str r1, [sp] add r0, r5, r0 str r0, [sp, #4] add r0, r4, #0 mov r1, #0 mov r2, #4 bl MOD16_021EABC4 _021EAC8A: ldr r0, [r4] mov r3, #0xc9 lsl r3, r3, #2 ldr r0, [r0] ldr r3, [r5, r3] mov r1, #1 mov r2, #0 bl FUN_0201AEE4 ldr r0, [r4] add r0, r0, #4 bl FUN_02019220 mov r0, #0xcb ldr r1, [r6, #4] lsl r0, r0, #2 str r1, [r5, r0] add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021EAC1C thumb_func_start MOD16_021EACB0 MOD16_021EACB0: ; 0x021EACB0 push {r3, r4, r5, lr} sub sp, #8 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] mov r1, #9 add r0, r0, #4 bl FUN_0201AB24 mov r0, #0xca mov r2, #0x97 lsl r0, r0, #2 str r2, [sp] add r0, r5, r0 mov r1, #0 str r0, [sp, #4] add r0, r4, #0 add r2, #0x69 add r3, r1, #0 bl MOD16_021EABC4 ldr r0, [r4] add r0, r0, #4 bl CopyWindowToVram add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EACB0 thumb_func_start MOD16_021EACE8 MOD16_021EACE8: ; 0x021EACE8 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 add r5, #0x20 _021EACF0: add r0, r5, #0 add r1, r4, #0 bl MOD16_021EAD24 add r4, r4, #1 add r5, #0x54 cmp r4, #9 blt _021EACF0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EACE8 thumb_func_start MOD16_021EAD04 MOD16_021EAD04: ; 0x021EAD04 push {r4, r5, r6, lr} add r5, r0, #0 add r6, r1, #0 mov r4, #0 add r5, #0x20 _021EAD0E: add r1, r6, r4 ldrb r1, [r1, #0xc] add r0, r5, #0 bl MOD16_021EAD88 add r4, r4, #1 add r5, #0x54 cmp r4, #9 blt _021EAD0E pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EAD04 thumb_func_start MOD16_021EAD24 MOD16_021EAD24: ; 0x021EAD24 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 str r0, [sp] lsl r0, r1, #4 add r0, #0x70 lsl r0, r0, #0xc str r0, [sp, #4] mov r0, #6 lsl r0, r0, #0x10 mov r6, #2 ldr r5, [sp] str r0, [sp, #8] mov r4, #0 add r7, sp, #4 lsl r6, r6, #0xe _021EAD42: ldr r0, [r5] add r1, r7, #0 bl FUN_02020044 ldr r0, [r5] mov r1, #0 bl FUN_020200A0 ldr r0, [sp, #8] mov r1, #1 sub r0, r0, r6 str r0, [sp, #8] ldr r0, [r5] bl FUN_02020130 add r4, r4, #1 add r5, #8 cmp r4, #9 blt _021EAD42 mov r0, #6 lsl r0, r0, #0x10 str r0, [sp, #8] ldr r0, [sp] add r1, sp, #4 ldr r0, [r0, #0x48] bl FUN_02020044 ldr r0, [sp] mov r1, #0 ldr r0, [r0, #0x48] bl FUN_020200A0 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EAD24 thumb_func_start MOD16_021EAD88 MOD16_021EAD88: ; 0x021EAD88 push {r3, r4, r5, r6, r7, lr} mov r4, #0 add r7, r1, #0 add r6, r0, #0 str r4, [sp] cmp r7, #0 ble _021EADAC add r5, r6, #0 _021EAD98: ldr r0, [r5] mov r1, #1 bl FUN_020200A0 add r4, r4, #1 lsl r0, r4, #1 str r0, [r5, #4] add r5, #8 cmp r4, r7 blt _021EAD98 _021EADAC: mov r5, #0 add r4, r6, #0 add r7, r5, #0 _021EADB2: ldr r0, [r4] bl FUN_02020128 cmp r0, #0 beq _021EADD4 ldr r0, [r4, #4] sub r0, r0, #1 cmp r0, #0 ble _021EADCC str r0, [r4, #4] add r0, r5, #1 str r0, [sp] b _021EADD4 _021EADCC: ldr r0, [r4] add r1, r7, #0 bl FUN_020200A0 _021EADD4: add r5, r5, #1 add r4, #8 cmp r5, #9 blt _021EADB2 ldr r1, [r6, #0x4c] ldr r0, [sp] cmp r1, r0 bgt _021EAE04 ldr r0, [r6, #0x48] ldr r1, [sp] bl MOD16_021EAE2C mov r0, #0x10 str r0, [r6, #0x50] ldr r1, [r6, #0x4c] ldr r0, [sp] cmp r1, r0 bge _021EAE00 ldr r0, [r6, #0x48] mov r1, #1 bl FUN_020200A0 _021EAE00: ldr r0, [sp] str r0, [r6, #0x4c] _021EAE04: ldr r1, [r6, #0x4c] cmp r1, #0 ble _021EAE22 ldr r0, [r6, #0x50] cmp r0, #0 bge _021EAE1C sub r1, r1, #1 str r1, [r6, #0x4c] ldr r0, [r6, #0x48] bl MOD16_021EAE2C pop {r3, r4, r5, r6, r7, pc} _021EAE1C: sub r0, r0, #1 str r0, [r6, #0x50] pop {r3, r4, r5, r6, r7, pc} _021EAE22: ldr r0, [r6, #0x48] mov r1, #0 bl FUN_020200A0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EAD88 thumb_func_start MOD16_021EAE2C MOD16_021EAE2C: ; 0x021EAE2C push {r3, r4, r5, r6, lr} sub sp, #0xc add r5, r0, #0 add r4, r1, #0 bl FUN_0202011C add r6, r0, #0 add r3, sp, #0 ldmia r6!, {r0, r1} add r2, r3, #0 stmia r3!, {r0, r1} ldr r0, [r6] add r1, r2, #0 str r0, [r3] lsl r0, r4, #3 neg r0, r0 add r0, #0x60 lsl r0, r0, #0xc str r0, [sp, #4] add r0, r5, #0 bl FUN_02020044 add sp, #0xc pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021EAE2C thumb_func_start MOD16_021EAE5C MOD16_021EAE5C: ; 0x021EAE5C push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r1, #0xc] bl MOD16_021EAF10 add r4, r0, #0 add r1, r5, #0 mov r0, #0 add r1, #0xc strb r0, [r5, #0xc] strb r0, [r1, #1] strb r0, [r1, #2] strb r0, [r1, #3] strb r0, [r1, #4] strb r0, [r1, #5] strb r0, [r1, #6] strb r0, [r1, #7] strb r0, [r1, #8] bl FUN_02005670 cmp r0, #0 beq _021EAE96 ldr r0, [r5] add r5, #0xc add r1, r5, #0 mov r2, #9 add r3, r4, #0 bl FUN_02004F70 _021EAE96: pop {r3, r4, r5, pc} thumb_func_end MOD16_021EAE5C thumb_func_start MOD16_021EAE98 MOD16_021EAE98: ; 0x021EAE98 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021EAF18 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021EAF58 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021EAF80 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021EAFB0 str r0, [r5, #0x24] ldr r0, _021EAEE0 ; =MOD16_021EAFB4 str r0, [r5, #8] ldr r0, _021EAEE4 ; =MOD16_021EAFF4 str r0, [r5, #0xc] ldr r0, _021EAEE8 ; =MOD16_021EB078 str r0, [r5, #0x10] ldr r0, _021EAEEC ; =MOD16_021EB08C str r0, [r5, #0x14] ldr r0, _021EAEF0 ; =MOD16_021EB114 str r0, [r5, #0x18] ldr r0, _021EAEF4 ; =MOD16_021EB16C str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EAEE0: .word MOD16_021EAFB4 _021EAEE4: .word MOD16_021EAFF4 _021EAEE8: .word MOD16_021EB078 _021EAEEC: .word MOD16_021EB08C _021EAEF0: .word MOD16_021EB114 _021EAEF4: .word MOD16_021EB16C thumb_func_end MOD16_021EAE98 thumb_func_start MOD16_021EAEF8 MOD16_021EAEF8: ; 0x021EAEF8 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021EAF84 ldr r0, [r4, #4] bl MOD16_021EAF98 ldr r0, [r4, #0x20] bl MOD16_021EAFAC pop {r4, pc} thumb_func_end MOD16_021EAEF8 thumb_func_start MOD16_021EAF10 MOD16_021EAF10: ; 0x021EAF10 ldr r0, [r0] ldr r0, [r0, #0xc] bx lr .align 2, 0 thumb_func_end MOD16_021EAF10 thumb_func_start MOD16_021EAF18 MOD16_021EAF18: ; 0x021EAF18 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x10 bl AllocFromHeap add r4, r0, #0 bne _021EAF2A bl GF_AssertFail _021EAF2A: add r2, r4, #0 mov r1, #0x10 mov r0, #0 _021EAF30: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021EAF30 add r0, r5, #0 bl MOD16_021D7AEC str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #3 bl MOD16_021D7B7C str r0, [r4, #8] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EAF18 thumb_func_start MOD16_021EAF58 MOD16_021EAF58: ; 0x021EAF58 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021EAF6A bl GF_AssertFail _021EAF6A: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EAF58 thumb_func_start MOD16_021EAF80 MOD16_021EAF80: ; 0x021EAF80 mov r0, #0 bx lr thumb_func_end MOD16_021EAF80 thumb_func_start MOD16_021EAF84 MOD16_021EAF84: ; 0x021EAF84 push {r4, lr} add r4, r0, #0 bne _021EAF8E bl GF_AssertFail _021EAF8E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EAF84 thumb_func_start MOD16_021EAF98 MOD16_021EAF98: ; 0x021EAF98 push {r4, lr} add r4, r0, #0 bne _021EAFA2 bl GF_AssertFail _021EAFA2: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EAF98 thumb_func_start MOD16_021EAFAC MOD16_021EAFAC: ; 0x021EAFAC bx lr .align 2, 0 thumb_func_end MOD16_021EAFAC thumb_func_start MOD16_021EAFB0 MOD16_021EAFB0: ; 0x021EAFB0 mov r0, #0 bx lr thumb_func_end MOD16_021EAFB0 thumb_func_start MOD16_021EAFB4 MOD16_021EAFB4: ; 0x021EAFB4 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 add r5, r0, #0 ldr r0, [r6, #4] bl MOD16_021D9DE8 add r7, r0, #0 ldr r0, [r5, #4] mov r1, #0x70 bl AllocFromHeap mov r1, #0 mov r2, #0x70 add r4, r0, #0 bl memset ldr r2, [r5, #4] add r0, r4, #0 add r1, r6, #0 bl MOD16_021EB31C add r0, r4, #0 add r1, r6, #0 bl MOD16_021EB3D0 add r0, r7, #0 bl FUN_02004E98 str r0, [r4, #0x6c] str r4, [r5, #8] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EAFB4 thumb_func_start MOD16_021EAFF4 MOD16_021EAFF4: ; 0x021EAFF4 push {r3, r4, r5, lr} add r5, r1, #0 ldr r1, [r0, #0xc] ldr r4, [r0, #8] cmp r1, #1 bne _021EB010 add r0, r4, #0 bl MOD16_021EC000 add r0, r4, #0 bl MOD16_021EC010 mov r0, #1 pop {r3, r4, r5, pc} _021EB010: ldr r0, [r0, #0x10] cmp r0, #1 bne _021EB01A mov r0, #0 pop {r3, r4, r5, pc} _021EB01A: ldr r0, [r4, #0x3c] str r0, [r5, #0xc] ldr r0, [r5, #8] bl MOD16_021E95C0 cmp r0, #0 beq _021EB074 bl FUN_02005670 cmp r0, #0 bne _021EB03C ldr r0, [r4, #0x64] cmp r0, #0 bne _021EB03C add r0, r4, #0 bl MOD16_021EC000 _021EB03C: add r0, r4, #0 add r1, r5, #0 bl MOD16_021EB3D0 ldr r0, [r5, #8] bl MOD16_021E95C8 cmp r0, #0 beq _021EB060 ldr r0, [r5, #4] bl MOD16_021D9FB8 cmp r0, #0 beq _021EB060 add r0, r4, #0 add r1, r5, #0 bl MOD16_021EC144 _021EB060: ldr r0, [r4, #0x64] cmp r0, #0 beq _021EB074 ldr r0, [r4, #0x2c] cmp r0, #0 beq _021EB074 add r0, r4, #0 add r1, r5, #0 bl MOD16_021EC030 _021EB074: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EAFF4 thumb_func_start MOD16_021EB078 MOD16_021EB078: ; 0x021EB078 push {r4, lr} ldr r4, [r0, #8] add r0, r4, #0 bl MOD16_021EB3F4 add r0, r4, #0 bl FreeToHeap mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021EB078 thumb_func_start MOD16_021EB08C MOD16_021EB08C: ; 0x021EB08C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #3 bhi _021EB110 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EB0A8: ; jump table .short _021EB0B0 - _021EB0A8 - 2 ; case 0 .short _021EB0CA - _021EB0A8 - 2 ; case 1 .short _021EB0E8 - _021EB0A8 - 2 ; case 2 .short _021EB0FE - _021EB0A8 - 2 ; case 3 _021EB0B0: ldr r0, [r4, #4] mov r1, #0x74 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x74 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EB110 _021EB0CA: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021EB6C0 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021EB270 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EB110 _021EB0E8: add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021EB2E0 cmp r0, #0 beq _021EB110 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EB110 _021EB0FE: mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #0 bl MOD16_021D8B3C mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021EB110: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EB08C thumb_func_start MOD16_021EB114 MOD16_021EB114: ; 0x021EB114 push {r3, r4, r5, r6, r7, lr} add r6, r2, #0 add r7, r0, #0 ldr r0, [r6, #8] ldr r4, [r3, #8] ldr r5, [r1, #8] bl MOD16_021E95C0 cmp r0, #0 beq _021EB168 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EBBA0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EBBF0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EBC18 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EBD3C add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 bl MOD16_021EBD58 add r0, r5, #0 bl MOD16_021EBE38 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EC120 add r0, r7, #0 add r1, r6, #0 bl MOD16_021EC1B8 _021EB168: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EB114 thumb_func_start MOD16_021EB16C MOD16_021EB16C: ; 0x021EB16C push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r5, [r4, #8] cmp r0, #4 bhi _021EB1F4 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EB188: ; jump table .short _021EB192 - _021EB188 - 2 ; case 0 .short _021EB1BA - _021EB188 - 2 ; case 1 .short _021EB1D0 - _021EB188 - 2 ; case 2 .short _021EB1E2 - _021EB188 - 2 ; case 3 .short _021EB1F0 - _021EB188 - 2 ; case 4 _021EB192: mov r0, #0x79 ldr r1, [r6] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 bl MOD16_021D8B3C add r0, r5, #0 bl MOD16_021EC0A8 add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021EB270 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EB1F4 _021EB1BA: add r0, r5, #0 add r1, r6, #0 mov r3, #0 bl MOD16_021EB2E0 cmp r0, #0 beq _021EB1F4 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EB1F4 _021EB1D0: ldr r2, [r4, #4] add r0, r5, #0 add r1, r6, #0 bl MOD16_021EB6FC ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EB1F4 _021EB1E2: add r0, r5, #0 bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EB1F4 _021EB1F0: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021EB1F4: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EB16C thumb_func_start MOD16_021EB1F8 MOD16_021EB1F8: ; 0x021EB1F8 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #1 bl FUN_02020398 ldr r0, [r4, #0x3c] mov r1, #1 bl FUN_02020398 ldr r0, [r4, #4] mov r1, #1 bl FUN_02020398 ldr r0, [r4, #0x20] mov r1, #1 bl FUN_02020398 ldr r0, [r4, #0x50] mov r1, #1 ldr r0, [r0] bl FUN_02011AF0 ldr r0, [r4, #0x54] mov r1, #1 ldr r0, [r0] bl FUN_02011AF0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EB1F8 thumb_func_start MOD16_021EB234 MOD16_021EB234: ; 0x021EB234 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #0 bl FUN_02020398 ldr r0, [r4, #0x3c] mov r1, #0 bl FUN_02020398 ldr r0, [r4, #4] mov r1, #0 bl FUN_02020398 ldr r0, [r4, #0x20] mov r1, #0 bl FUN_02020398 ldr r0, [r4, #0x50] mov r1, #0 ldr r0, [r0] bl FUN_02011AF0 ldr r0, [r4, #0x54] mov r1, #0 ldr r0, [r0] bl FUN_02011AF0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EB234 thumb_func_start MOD16_021EB270 MOD16_021EB270: ; 0x021EB270 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021EB1F8 ldr r0, [r4, #8] bl MOD16_021E95B8 cmp r0, #0 beq _021EB2DC cmp r6, #0 beq _021EB2B6 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] mov r0, #0x19 ldr r1, [r5] lsl r0, r0, #4 add r0, r1, r0 mov r1, #3 add r2, r1, #0 sub r2, #0x13 bl MOD16_021D8988 add sp, #0x14 pop {r3, r4, r5, r6, pc} _021EB2B6: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] mov r0, #0x19 ldr r1, [r5] lsl r0, r0, #4 add r0, r1, r0 mov r1, #3 add r3, r1, #0 sub r3, #0x13 bl MOD16_021D8988 _021EB2DC: add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021EB270 thumb_func_start MOD16_021EB2E0 MOD16_021EB2E0: ; 0x021EB2E0 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #8] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E95B8 cmp r0, #0 beq _021EB300 mov r0, #0x19 ldr r1, [r5] lsl r0, r0, #4 add r0, r1, r0 bl MOD16_021D89B4 b _021EB306 _021EB300: mov r0, #2 bl FUN_0200A344 _021EB306: cmp r0, #0 beq _021EB318 cmp r4, #0 beq _021EB314 add r0, r6, #0 bl MOD16_021EB234 _021EB314: mov r0, #1 pop {r4, r5, r6, pc} _021EB318: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EB2E0 thumb_func_start MOD16_021EB31C MOD16_021EB31C: ; 0x021EB31C push {r3, r4, r5, r6, lr} sub sp, #4 add r4, r2, #0 add r5, r0, #0 add r6, r1, #0 add r0, r4, #0 mov r1, #0xc bl AllocFromHeap str r0, [r5, #4] add r0, r4, #0 mov r1, #8 bl AllocFromHeap str r0, [r5, #0x10] mov r0, #0x6a str r0, [sp] ldr r0, [r5, #4] mov r1, #0x35 mov r2, #0x51 mov r3, #0x16 bl MOD16_021D7C98 ldr r1, [r5, #4] mov r0, #0xfe strb r0, [r1, #4] ldr r1, [r5, #4] mov r2, #0x33 strb r2, [r1, #5] ldr r1, [r5, #4] mov r2, #0x9d strb r2, [r1, #6] ldr r1, [r5, #4] mov r2, #0x20 strb r2, [r1, #7] ldr r1, [r5, #4] mov r2, #0x9b strb r0, [r1, #8] ldr r0, [r5, #4] mov r1, #0xb3 strb r1, [r0, #9] ldr r0, [r5, #4] mov r1, #0x7b strb r1, [r0, #0xa] ldr r0, [r5, #4] mov r1, #0x48 strb r1, [r0, #0xb] mov r0, #0xcc str r0, [sp] ldr r0, [r5, #0x10] mov r1, #0x6b mov r3, #0x9c bl MOD16_021D7C98 mov r0, #0xf6 str r0, [sp] ldr r0, [r5, #0x10] mov r1, #0x96 add r0, r0, #4 mov r2, #0xb6 mov r3, #0xd6 bl MOD16_021D7C98 str r6, [r5, #8] str r5, [r5, #0xc] str r4, [sp] add r3, r5, #0 ldr r0, [r5, #4] ldr r2, _021EB3C8 ; =MOD16_021EB41C mov r1, #3 add r3, #8 bl FUN_020220C4 str r0, [r5] str r4, [sp] add r3, r5, #0 ldr r0, [r5, #0x10] ldr r2, _021EB3CC ; =MOD16_021EB45C mov r1, #2 add r3, #8 bl FUN_020220C4 str r0, [r5, #0x14] add sp, #4 pop {r3, r4, r5, r6, pc} nop _021EB3C8: .word MOD16_021EB41C _021EB3CC: .word MOD16_021EB45C thumb_func_end MOD16_021EB31C thumb_func_start MOD16_021EB3D0 MOD16_021EB3D0: ; 0x021EB3D0 push {r4, lr} add r4, r0, #0 mov r1, #0 add r2, r4, #0 mov r0, #0x64 _021EB3DA: add r1, r1, #1 str r0, [r2, #0x18] add r2, r2, #4 cmp r1, #2 blt _021EB3DA ldr r0, [r4] bl FUN_02022144 ldr r0, [r4, #0x14] bl FUN_02022144 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EB3D0 thumb_func_start MOD16_021EB3F4 MOD16_021EB3F4: ; 0x021EB3F4 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0202212C ldr r0, [r4, #0x14] bl FUN_0202212C ldr r0, [r4, #4] bl FreeToHeap mov r0, #0 str r0, [r4, #4] ldr r0, [r4, #0x10] bl FreeToHeap mov r0, #0 str r0, [r4, #0x10] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EB3F4 thumb_func_start MOD16_021EB41C MOD16_021EB41C: ; 0x021EB41C push {r3, lr} ldr r3, [r2] ldr r2, [r2, #4] cmp r1, #3 bhi _021EB458 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021EB432: ; jump table .short _021EB43A - _021EB432 - 2 ; case 0 .short _021EB44A - _021EB432 - 2 ; case 1 .short _021EB442 - _021EB432 - 2 ; case 2 .short _021EB452 - _021EB432 - 2 ; case 3 _021EB43A: add r1, r3, #0 bl MOD16_021EB4F8 pop {r3, pc} _021EB442: add r1, r3, #0 bl MOD16_021EB568 pop {r3, pc} _021EB44A: add r1, r3, #0 bl MOD16_021EB648 pop {r3, pc} _021EB452: add r1, r3, #0 bl MOD16_021EB684 _021EB458: pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021EB41C thumb_func_start MOD16_021EB45C MOD16_021EB45C: ; 0x021EB45C push {r3, r4, r5, r6, r7, lr} ldr r7, [r2] add r5, r0, #0 ldr r0, [r7, #4] ldr r4, [r2, #4] add r6, r1, #0 bl MOD16_021D9DE8 str r0, [sp] lsl r0, r5, #2 add r0, r4, r0 str r6, [r0, #0x18] cmp r6, #3 bhi _021EB4F0 add r0, r6, r6 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EB484: ; jump table .short _021EB48C - _021EB484 - 2 ; case 0 .short _021EB4F0 - _021EB484 - 2 ; case 1 .short _021EB492 - _021EB484 - 2 ; case 2 .short _021EB4F0 - _021EB484 - 2 ; case 3 _021EB48C: mov r0, #0 str r0, [r4, #0x24] pop {r3, r4, r5, r6, r7, pc} _021EB492: ldr r0, [r4, #0x24] cmp r0, #0 bne _021EB4F0 mov r2, #1 str r2, [r4, #0x24] cmp r5, #0 beq _021EB4A6 cmp r5, #1 beq _021EB4DC pop {r3, r4, r5, r6, r7, pc} _021EB4A6: ldr r0, [r4, #0x64] cmp r0, #1 ldr r0, [r4, #0x2c] bne _021EB4C6 cmp r0, #0 bne _021EB4BE ldr r2, [sp] add r0, r4, #0 add r1, r7, #0 bl MOD16_021EBFD4 pop {r3, r4, r5, r6, r7, pc} _021EB4BE: add r0, r4, #0 bl MOD16_021EC000 pop {r3, r4, r5, r6, r7, pc} _021EB4C6: cmp r0, #1 bne _021EB4D0 mov r0, #0 bl FUN_02005614 _021EB4D0: ldr r2, [sp] add r0, r4, #0 add r1, r7, #0 bl MOD16_021EBFD4 pop {r3, r4, r5, r6, r7, pc} _021EB4DC: mov r0, #2 str r0, [r4, #0x28] ldr r1, [r4, #0x64] add r0, r4, #0 eor r1, r2 bl MOD16_021EC060 ldr r0, _021EB4F4 ; =0x000005DD bl FUN_020054C8 _021EB4F0: pop {r3, r4, r5, r6, r7, pc} nop _021EB4F4: .word 0x000005DD thumb_func_end MOD16_021EB45C thumb_func_start MOD16_021EB4F8 MOD16_021EB4F8: ; 0x021EB4F8 push {r4, lr} add r4, r2, #0 cmp r0, #0 beq _021EB50A cmp r0, #1 beq _021EB522 cmp r0, #2 beq _021EB53E pop {r4, pc} _021EB50A: ldr r0, [r4, #0x2c] cmp r0, #1 bne _021EB516 add r0, r4, #0 bl MOD16_021EC000 _021EB516: ldr r0, _021EB564 ; =gMain + 0x40 ldrh r0, [r0, #0x1c] str r0, [r4, #0x38] mov r0, #1 str r0, [r4, #0x30] pop {r4, pc} _021EB522: ldr r0, [r4, #0x2c] cmp r0, #1 bne _021EB52E add r0, r4, #0 bl MOD16_021EC000 _021EB52E: mov r0, #1 str r0, [r4, #0x4c] ldr r0, _021EB564 ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x54] ldrh r0, [r0, #0x1e] str r0, [r4, #0x58] pop {r4, pc} _021EB53E: ldr r0, [r4, #0x2c] cmp r0, #0 beq _021EB55C ldr r0, [r4, #0x10] bl FUN_02020A40 str r0, [r4, #0x20] ldr r0, [r4, #0x10] add r0, r0, #4 bl FUN_02020A40 ldr r1, [r4, #0x20] orr r0, r1 str r0, [r4, #0x20] pop {r4, pc} _021EB55C: mov r0, #1 str r0, [r4, #0x20] pop {r4, pc} nop _021EB564: .word gMain + 0x40 thumb_func_end MOD16_021EB4F8 thumb_func_start MOD16_021EB568 MOD16_021EB568: ; 0x021EB568 push {r4, lr} add r4, r2, #0 cmp r0, #0 beq _021EB57A cmp r0, #1 beq _021EB5BA cmp r0, #2 beq _021EB5DE pop {r4, pc} _021EB57A: ldr r0, [r4, #0x30] cmp r0, #1 bne _021EB638 ldr r1, _021EB63C ; =gMain + 0x40 ldr r0, [r4, #0x38] ldrh r2, [r1, #0x1c] sub r2, r2, r0 ldr r0, [r4, #0x34] cmp r0, #0 bne _021EB5A2 cmp r2, #0xc blt _021EB638 mov r0, #1 str r0, [r4, #0x34] ldrh r0, [r1, #0x1c] str r0, [r4, #0x38] ldr r0, _021EB640 ; =0x000005F7 bl FUN_020054C8 pop {r4, pc} _021EB5A2: mov r0, #0xb mvn r0, r0 cmp r2, r0 bgt _021EB638 mov r0, #0 str r0, [r4, #0x34] ldrh r0, [r1, #0x1c] str r0, [r4, #0x38] ldr r0, _021EB640 ; =0x000005F7 bl FUN_020054C8 pop {r4, pc} _021EB5BA: ldr r0, [r4, #0x4c] cmp r0, #1 bne _021EB638 add r0, r4, #0 bl MOD16_021EBC30 add r0, r4, #0 bl MOD16_021EBC98 add r0, r4, #0 bl MOD16_021EBCC4 ldr r0, _021EB63C ; =gMain + 0x40 ldrh r1, [r0, #0x1c] str r1, [r4, #0x54] ldrh r0, [r0, #0x1e] str r0, [r4, #0x58] pop {r4, pc} _021EB5DE: ldr r0, [r4, #0x20] cmp r0, #0 bne _021EB638 ldr r0, [r4, #0x2c] cmp r0, #0 bne _021EB5F8 mov r0, #1 str r0, [r4, #0x20] add r0, r4, #0 mov r1, #0 bl MOD16_021EC0C0 b _021EB632 _021EB5F8: ldr r1, _021EB63C ; =gMain + 0x40 ldrh r0, [r1, #0x1e] cmp r0, #0x83 bhs _021EB626 ldr r0, [r4, #0x34] cmp r0, #0 bne _021EB610 ldrh r1, [r1, #0x1c] add r0, r4, #0 bl MOD16_021EBDD0 b _021EB618 _021EB610: ldrh r1, [r1, #0x1c] add r0, r4, #0 bl MOD16_021EBE04 _021EB618: mov r0, #0 str r0, [r4, #0x3c] add r0, r4, #0 mov r1, #1 bl MOD16_021EC0C0 b _021EB632 _021EB626: add r0, r4, #0 mov r1, #0 bl MOD16_021EC0D8 ldr r0, _021EB644 ; =0xFFFFFA00 str r0, [r4, #0x3c] _021EB632: add r0, r4, #0 bl MOD16_021EC0E8 _021EB638: pop {r4, pc} nop _021EB63C: .word gMain + 0x40 _021EB640: .word 0x000005F7 _021EB644: .word 0xFFFFFA00 thumb_func_end MOD16_021EB568 thumb_func_start MOD16_021EB648 MOD16_021EB648: ; 0x021EB648 push {r4, lr} add r4, r2, #0 cmp r0, #0 beq _021EB65A cmp r0, #1 beq _021EB660 cmp r0, #2 beq _021EB66C pop {r4, pc} _021EB65A: mov r0, #0 str r0, [r4, #0x30] pop {r4, pc} _021EB660: ldr r0, [r4, #0x60] lsl r0, r0, #2 str r0, [r4, #0x5c] mov r0, #0 str r0, [r4, #0x4c] pop {r4, pc} _021EB66C: ldr r0, [r4, #0x20] cmp r0, #0 bne _021EB680 add r0, r4, #0 mov r1, #0 bl MOD16_021EC0C0 add r0, r4, #0 bl MOD16_021EC0E8 _021EB680: pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EB648 thumb_func_start MOD16_021EB684 MOD16_021EB684: ; 0x021EB684 push {r4, lr} add r4, r2, #0 cmp r0, #0 beq _021EB696 cmp r0, #1 beq _021EB69C cmp r0, #2 beq _021EB6A8 pop {r4, pc} _021EB696: mov r0, #0 str r0, [r4, #0x30] pop {r4, pc} _021EB69C: ldr r0, [r4, #0x60] lsl r0, r0, #2 str r0, [r4, #0x5c] mov r0, #0 str r0, [r4, #0x4c] pop {r4, pc} _021EB6A8: ldr r0, [r4, #0x20] cmp r0, #0 bne _021EB6BC add r0, r4, #0 mov r1, #0 bl MOD16_021EC0C0 add r0, r4, #0 bl MOD16_021EC0E8 _021EB6BC: pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EB684 thumb_func_start MOD16_021EB6C0 MOD16_021EB6C0: ; 0x021EB6C0 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 MOD16_021EB724 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EB830 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EB920 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EBAA4 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EC068 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EB6C0 thumb_func_start MOD16_021EB6FC MOD16_021EB6FC: ; 0x021EB6FC push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021EBA84 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EBB88 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EB8DC add r0, r4, #0 bl MOD16_021EB80C add r0, r5, #0 bl MOD16_021EC080 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EB6FC thumb_func_start MOD16_021EB724 MOD16_021EB724: ; 0x021EB724 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x22 mov r3, #6 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x47 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r6, r0, #0 ldrh r0, [r2] mov r1, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r6, #0 bl FreeToHeap ldr r0, [r5] mov r1, #6 ldr r0, [r0] bl FUN_0201AC68 ldr r0, [r5] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r4, [sp, #0xc] ldr r2, [r0] mov r1, #0x23 mov r3, #7 bl MOD16_021D8CB4 str r4, [sp] ldr r0, [r5] mov r1, #0x48 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r4, r0, #0 ldrh r0, [r2] mov r1, #7 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r5] ldr r0, [r0] bl FUN_02018148 add r0, r4, #0 bl FreeToHeap ldr r0, [r5] mov r1, #7 ldr r0, [r0] bl FUN_0201AC68 ldr r0, [r5] mov r2, #0 add r3, r2, #0 ldr r0, [r0] mov r1, #7 sub r3, #0x30 bl FUN_020179E0 ldr r0, [r5] mov r2, #3 add r3, r2, #0 ldr r0, [r0] mov r1, #7 sub r3, #0x13 bl FUN_020179E0 mov r0, #7 mov r1, #3 bl FUN_020178BC add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021EB724 thumb_func_start MOD16_021EB80C MOD16_021EB80C: ; 0x021EB80C push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #6 ldr r0, [r0] bl FUN_02018744 ldr r0, [r4] mov r1, #7 ldr r0, [r0] bl FUN_02018744 mov r0, #7 mov r1, #1 bl FUN_020178BC pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EB80C thumb_func_start MOD16_021EB830 MOD16_021EB830: ; 0x021EB830 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021EB8D0 ; =0x00002781 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x71 mov r3, #1 bl FUN_020091E0 str r0, [r5, #0x58] bl FUN_02009B04 ldr r0, [r5, #0x58] bl FUN_02009474 ldr r0, _021EB8D4 ; =0x00002722 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #3 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x12 mov r3, #0 bl FUN_02009298 str r0, [r5, #0x5c] bl FUN_02009D68 ldr r0, [r5, #0x5c] bl FUN_02009474 ldr r0, _021EB8D8 ; =0x00002782 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x72 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x60] mov r0, #0x9e lsl r0, r0, #6 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x70 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x64] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EB8D0: .word 0x00002781 _021EB8D4: .word 0x00002722 _021EB8D8: .word 0x00002782 thumb_func_end MOD16_021EB830 thumb_func_start MOD16_021EB8DC MOD16_021EB8DC: ; 0x021EB8DC push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x58] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0x5c] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x58] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x5c] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x60] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x64] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EB8DC thumb_func_start MOD16_021EB920 MOD16_021EB920: ; 0x021EB920 push {r4, r5, r6, lr} sub sp, #0x70 ldr r4, [r1] mov r3, #0x9e add r5, r0, #0 lsl r3, r3, #6 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 add r6, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] add r2, r3, #0 str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r2, #0x5e add r3, r3, #2 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0x43 str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x1f str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] lsl r0, r0, #0x11 str r0, [sp, #0x34] mov r0, #3 lsl r1, r1, #0xc lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] str r6, [sp, #0x48] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5, #0x3c] mov r1, #4 bl FUN_02020130 ldr r0, [r5, #0x3c] mov r1, #1 bl FUN_020200BC mov r1, #2 ldr r0, [r5, #0x3c] lsl r1, r1, #0xc bl FUN_020200D8 ldr r0, [r5, #0x3c] mov r1, #8 bl FUN_02020208 mov r0, #0x33 lsl r0, r0, #0xc str r0, [sp, #0x34] mov r1, #0x9d mov r0, #3 lsl r1, r1, #0xc lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5] mov r1, #1 bl FUN_02020130 ldr r0, [r5] mov r1, #1 bl FUN_020200EC mov r0, #0x2d lsl r0, r0, #0xe str r0, [sp, #0x34] mov r1, #0x83 mov r0, #3 lsl r1, r1, #0xc lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5, #4] mov r1, #3 bl FUN_02020130 ldr r0, [r5, #4] mov r1, #1 bl FUN_020200BC mov r1, #2 ldr r0, [r5, #4] lsl r1, r1, #0xc bl FUN_020200D8 ldr r0, [r5, #4] mov r1, #5 bl FUN_02020208 mov r2, #3 str r2, [r5, #8] mov r1, #2 str r1, [r5, #0xc] str r2, [r5, #0x10] mov r0, #5 str r0, [r5, #0x18] mov r0, #0xe6 str r1, [r5, #0x1c] lsl r0, r0, #0xc mov r1, #0xa6 str r0, [sp, #0x34] lsl r1, r1, #0xc lsl r0, r2, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 str r0, [r5, #0x20] mov r1, #6 bl FUN_02020130 ldr r0, [r5, #0x20] mov r1, #1 bl FUN_020200BC mov r1, #2 ldr r0, [r5, #0x20] lsl r1, r1, #0xc bl FUN_020200D8 ldr r0, [r5, #0x20] mov r1, #5 bl FUN_02020208 mov r1, #6 str r1, [r5, #0x24] mov r0, #5 str r0, [r5, #0x28] str r1, [r5, #0x2c] str r0, [r5, #0x34] mov r0, #2 str r0, [r5, #0x38] add sp, #0x70 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EB920 thumb_func_start MOD16_021EBA84 MOD16_021EBA84: ; 0x021EBA84 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0201FFC8 ldr r0, [r4, #0x3c] bl FUN_0201FFC8 ldr r0, [r4, #4] bl FUN_0201FFC8 ldr r0, [r4, #0x20] bl FUN_0201FFC8 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EBA84 thumb_func_start MOD16_021EBAA4 MOD16_021EBAA4: ; 0x021EBAA4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r5, r0, #0 ldr r4, [r1] mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, _021EBB80 ; =0x00002722 add r6, r2, #0 bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r4, r1] str r1, [sp, #8] mov r1, #0 bl FUN_02009E54 mov r2, #0 mov r1, #0x45 lsl r1, r1, #2 str r1, [sp, #0x1c] mov r1, #2 str r0, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x20] str r2, [sp, #0x24] str r1, [sp, #0x28] str r6, [sp, #0x2c] bl FUN_0201E28C add r7, r0, #0 mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #8 mov r2, #2 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r2, _021EBB84 ; =0x00000266 add r1, r6, #0 mov r3, #0x29 bl MOD16_021DB3C8 lsr r1, r0, #1 mov r0, #0x40 sub r0, r0, r1 str r0, [sp, #0x18] str r6, [sp, #0xc] add r0, sp, #8 bl MOD16_021DB2BC str r0, [r5, #0x50] ldr r0, [r0] add r1, r7, #0 bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #8 mov r2, #2 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r2, _021EBB84 ; =0x00000266 add r1, r6, #0 mov r3, #0x2a bl MOD16_021DB3C8 lsr r1, r0, #1 mov r0, #0x40 sub r0, r0, r1 str r0, [sp, #0x18] str r6, [sp, #0xc] add r0, sp, #8 bl MOD16_021DB2BC str r0, [r5, #0x54] ldr r0, [r0] add r1, r7, #0 bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC ldr r0, [r5, #0x54] mov r1, #0 ldr r0, [r0] bl FUN_020119D0 add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} nop _021EBB80: .word 0x00002722 _021EBB84: .word 0x00000266 thumb_func_end MOD16_021EBAA4 thumb_func_start MOD16_021EBB88 MOD16_021EBB88: ; 0x021EBB88 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021EBB8E: ldr r0, [r5, #0x50] bl MOD16_021DB338 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021EBB8E pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EBB88 thumb_func_start MOD16_021EBBA0 MOD16_021EBBA0: ; 0x021EBBA0 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 ldr r1, [r5, #0x40] ldr r0, [r4, #0x34] cmp r1, r0 beq _021EBBEC ldr r0, [r5, #0x3c] bl FUN_0202022C add r6, r0, #0 ldr r0, [r4, #0x34] cmp r0, #0 ldr r0, [r5, #0x3c] bne _021EBBD4 mov r1, #4 bl FUN_02020130 mov r1, #8 sub r1, r1, r6 lsl r1, r1, #0x10 ldr r0, [r5, #0x3c] lsr r1, r1, #0x10 bl FUN_02020208 b _021EBBE8 _021EBBD4: mov r1, #0 bl FUN_02020130 mov r1, #8 sub r1, r1, r6 lsl r1, r1, #0x10 ldr r0, [r5, #0x3c] lsr r1, r1, #0x10 bl FUN_02020208 _021EBBE8: ldr r0, [r4, #0x34] str r0, [r5, #0x40] _021EBBEC: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EBBA0 thumb_func_start MOD16_021EBBF0 MOD16_021EBBF0: ; 0x021EBBF0 push {r4, lr} add r2, r1, #0 add r4, r0, #0 ldr r0, [r2, #0x64] ldr r3, [r2, #0x18] cmp r0, #0 ldr r0, [r4, #4] bne _021EBC0C add r4, #8 add r1, r4, #0 mov r2, #0 bl MOD16_021EBEE4 pop {r4, pc} _021EBC0C: add r4, #8 ldr r2, [r2, #0x2c] add r1, r4, #0 bl MOD16_021EBE6C pop {r4, pc} thumb_func_end MOD16_021EBBF0 thumb_func_start MOD16_021EBC18 MOD16_021EBC18: ; 0x021EBC18 push {r3, lr} add r2, r0, #0 ldr r0, [r2, #0x20] add r3, r1, #0 add r2, #0x24 add r1, r2, #0 ldr r2, [r3, #0x64] ldr r3, [r3, #0x1c] bl MOD16_021EBE6C pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021EBC18 thumb_func_start MOD16_021EBC30 MOD16_021EBC30: ; 0x021EBC30 push {r3, r4, r5, r6, lr} sub sp, #4 add r5, r0, #0 mov r0, #0 str r0, [sp] ldr r3, _021EBC94 ; =gMain + 0x40 ldr r0, [r5, #0x54] ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] ldr r1, [r5, #0x58] sub r0, #0x33 sub r1, #0x9d sub r2, #0x33 sub r3, #0x9d bl CircularDistance add r6, r0, #0 bpl _021EBC56 neg r0, r6 _021EBC56: cmp r0, #1 blt _021EBC90 ldr r0, [r5, #0x5c] add r4, r5, #0 add r4, #0x5c add r0, r0, r6 str r0, [r5, #0x5c] ldr r0, [r4] bpl _021EBC6E add r0, #0x58 str r0, [r4] b _021EBC76 _021EBC6E: mov r1, #0x58 bl _s32_div_f str r1, [r4] _021EBC76: ldr r0, [r5, #0x5c] cmp r0, #0x20 blt _021EBC90 cmp r0, #0x38 bgt _021EBC90 cmp r6, #0 ble _021EBC8C mov r0, #0x20 add sp, #4 str r0, [r5, #0x5c] pop {r3, r4, r5, r6, pc} _021EBC8C: mov r0, #0x38 str r0, [r5, #0x5c] _021EBC90: add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _021EBC94: .word gMain + 0x40 thumb_func_end MOD16_021EBC30 thumb_func_start MOD16_021EBC98 MOD16_021EBC98: ; 0x021EBC98 push {r4, lr} add r4, r0, #0 ldr r1, [r4, #0x5c] asr r0, r1, #1 lsr r0, r0, #0x1e add r0, r1, r0 asr r1, r0, #2 ldr r0, [r4, #0x60] cmp r1, r0 beq _021EBCBE ldr r0, _021EBCC0 ; =0x000005F7 bl FUN_020054C8 ldr r1, [r4, #0x5c] asr r0, r1, #1 lsr r0, r0, #0x1e add r0, r1, r0 asr r0, r0, #2 str r0, [r4, #0x60] _021EBCBE: pop {r4, pc} .align 2, 0 _021EBCC0: .word 0x000005F7 thumb_func_end MOD16_021EBC98 thumb_func_start MOD16_021EBCC4 MOD16_021EBCC4: ; 0x021EBCC4 push {r4, lr} add r4, r0, #0 ldr r1, [r4, #0x5c] cmp r1, #0 bne _021EBCD4 bl MOD16_021EC010 pop {r4, pc} _021EBCD4: ble _021EBD02 cmp r1, #0x2c bgt _021EBD02 ldr r0, [r4, #0x50] cmp r0, #1 bne _021EBCE6 mov r0, #0 bl FUN_02004CA4 _021EBCE6: ldr r0, [r4, #0x50] cmp r0, #2 beq _021EBCF4 bl FUN_02004CB4 mov r0, #2 str r0, [r4, #0x50] _021EBCF4: ldr r0, [r4, #0x60] cmp r0, #0 bne _021EBCFC mov r0, #1 _021EBCFC: bl FUN_02004D04 pop {r4, pc} _021EBD02: ldr r0, [r4, #0x50] cmp r0, #2 bne _021EBD0C bl FUN_02004CFC _021EBD0C: ldr r0, [r4, #0x50] cmp r0, #1 beq _021EBD1C mov r0, #0 bl FUN_02004C80 mov r0, #1 str r0, [r4, #0x50] _021EBD1C: ldr r0, [r4, #0x5c] cmp r0, #0 bne _021EBD26 mov r0, #0x58 str r0, [r4, #0x5c] _021EBD26: ldr r1, [r4, #0x60] mov r0, #0x16 sub r0, r0, r1 lsl r0, r0, #3 cmp r0, #0 ble _021EBD34 sub r0, r0, #1 _021EBD34: mov r1, #0 bl FUN_02004CAC pop {r4, pc} thumb_func_end MOD16_021EBCC4 thumb_func_start MOD16_021EBD3C MOD16_021EBD3C: ; 0x021EBD3C push {r4, lr} ldr r1, [r1, #0x5c] add r4, r0, #0 mov r0, #0xe bl MathUtil_0201BC84 add r1, r0, #0 lsl r1, r1, #0x10 ldr r0, [r4] lsr r1, r1, #0x10 bl FUN_02020088 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EBD3C thumb_func_start MOD16_021EBD58 MOD16_021EBD58: ; 0x021EBD58 push {r4, r5, r6, lr} add r4, r1, #0 ldr r1, [r2, #0x6c] add r5, r0, #0 ldr r2, [r2, #0x3c] mov r0, #1 bl FUN_02004F28 add r6, r0, #0 bne _021EBD70 mov r0, #0 str r0, [r5, #0x48] _021EBD70: add r0, r5, #0 ldr r1, [r5, #0x48] add r0, #0x4c sub r1, r6, r1 lsl r1, r1, #4 ldrh r0, [r0] neg r1, r1 add r1, r0, r1 add r0, r5, #0 add r0, #0x4c strh r1, [r0] add r0, r5, #0 add r0, #0x4c ldrh r1, [r0] add r0, r5, #0 add r0, #0x4c strh r1, [r0] add r0, r5, #0 add r0, #0x4c ldrh r0, [r0] mov r1, #0xb6 bl _s32_div_f add r3, r0, #0 ldr r0, [r4] lsl r3, r3, #0x10 ldr r0, [r0] mov r1, #7 mov r2, #0 lsr r3, r3, #0x10 bl FUN_0201AF08 ldr r0, [r4] mov r1, #7 ldr r0, [r0] mov r2, #9 mov r3, #0x83 bl FUN_0201AF50 ldr r0, [r4] mov r1, #7 ldr r0, [r0] mov r2, #0xc mov r3, #0x63 bl FUN_0201AF50 str r6, [r5, #0x48] pop {r4, r5, r6, pc} thumb_func_end MOD16_021EBD58 thumb_func_start MOD16_021EBDD0 MOD16_021EBDD0: ; 0x021EBDD0 push {r4, lr} sub r1, #0x6b add r4, r0, #0 lsl r0, r1, #0xc mov r2, #0x7f asr r1, r0, #0x1f lsl r2, r2, #0xc mov r3, #0 bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 mov r1, #9 lsl r1, r1, #0x10 bl FX_Div asr r0, r0, #0xc str r0, [r4, #0x44] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EBDD0 thumb_func_start MOD16_021EBE04 MOD16_021EBE04: ; 0x021EBE04 push {r4, lr} sub r1, #0xb3 add r4, r0, #0 lsl r0, r1, #0xc mov r2, #0x7f asr r1, r0, #0x1f lsl r2, r2, #0xc mov r3, #0 bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r0, r0, r2 adc r1, r3 lsl r1, r1, #0x14 lsr r0, r0, #0xc orr r0, r1 mov r1, #0x12 lsl r1, r1, #0xe bl FX_Div asr r0, r0, #0xc str r0, [r4, #0x40] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EBE04 thumb_func_start MOD16_021EBE38 MOD16_021EBE38: ; 0x021EBE38 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x40] cmp r0, #0 ldr r0, [r4, #0x50] bne _021EBE58 ldr r0, [r0] mov r1, #1 bl FUN_020119D0 ldr r0, [r4, #0x54] mov r1, #0 ldr r0, [r0] bl FUN_020119D0 pop {r4, pc} _021EBE58: ldr r0, [r0] mov r1, #0 bl FUN_020119D0 ldr r0, [r4, #0x54] mov r1, #1 ldr r0, [r0] bl FUN_020119D0 pop {r4, pc} thumb_func_end MOD16_021EBE38 thumb_func_start MOD16_021EBE6C MOD16_021EBE6C: ; 0x021EBE6C push {r3, r4, r5, r6, r7, lr} add r4, r3, #0 add r6, r0, #0 add r5, r1, #0 add r7, r2, #0 cmp r4, #3 bne _021EBE7C mov r4, #1 _021EBE7C: add r0, r6, #0 bl FUN_0202022C str r0, [sp] ldr r0, [r5, #0xc] cmp r0, r7 beq _021EBE96 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 bl MOD16_021EBF7C str r7, [r5, #0xc] _021EBE96: cmp r4, #2 bgt _021EBEAA cmp r4, #0 blt _021EBEE0 beq _021EBEE0 cmp r4, #1 beq _021EBECC cmp r4, #2 beq _021EBEB0 pop {r3, r4, r5, r6, r7, pc} _021EBEAA: cmp r4, #0x64 beq _021EBECC pop {r3, r4, r5, r6, r7, pc} _021EBEB0: ldr r1, [r5, #0x14] ldr r0, [sp] cmp r0, r1 ble _021EBEE0 lsl r1, r1, #0x10 add r0, r6, #0 lsr r1, r1, #0x10 bl FUN_02020208 add r0, r6, #0 mov r1, #0 bl FUN_020200D8 pop {r3, r4, r5, r6, r7, pc} _021EBECC: add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 bl MOD16_021EBF7C mov r1, #2 add r0, r6, #0 lsl r1, r1, #0xc bl FUN_020200D8 _021EBEE0: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EBE6C thumb_func_start MOD16_021EBEE4 MOD16_021EBEE4: ; 0x021EBEE4 push {r3, r4, r5, r6, r7, lr} add r4, r3, #0 add r6, r0, #0 add r5, r1, #0 add r7, r2, #0 cmp r4, #1 bne _021EBEF4 mov r4, #3 _021EBEF4: add r0, r6, #0 bl FUN_0202022C ldr r0, [r5, #0xc] cmp r0, r7 beq _021EBF0C add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 bl MOD16_021EBF7C str r7, [r5, #0xc] _021EBF0C: cmp r4, #3 bgt _021EBF20 cmp r4, #0 blt _021EBF7A beq _021EBF26 cmp r4, #2 beq _021EBF50 cmp r4, #3 beq _021EBF66 pop {r3, r4, r5, r6, r7, pc} _021EBF20: cmp r4, #0x64 beq _021EBF66 pop {r3, r4, r5, r6, r7, pc} _021EBF26: cmp r7, #1 bne _021EBF36 add r0, r6, #0 add r1, r5, #0 mov r2, #0 bl MOD16_021EBF7C b _021EBF40 _021EBF36: add r0, r6, #0 add r1, r5, #0 mov r2, #1 bl MOD16_021EBF7C _021EBF40: ldr r1, [r5, #0x14] add r0, r6, #0 sub r1, r1, #1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02020208 pop {r3, r4, r5, r6, r7, pc} _021EBF50: ldr r1, [r5, #0x14] add r0, r6, #0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02020208 add r0, r6, #0 mov r1, #0 bl FUN_020200D8 pop {r3, r4, r5, r6, r7, pc} _021EBF66: add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 bl MOD16_021EBF7C mov r1, #2 add r0, r6, #0 lsl r1, r1, #0xc bl FUN_020200D8 _021EBF7A: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EBEE4 thumb_func_start MOD16_021EBF7C MOD16_021EBF7C: ; 0x021EBF7C push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r4, r1, #0 add r7, r2, #0 bl FUN_0202022C add r6, r0, #0 cmp r7, #1 ldr r1, [r4, #8] bne _021EBFB2 ldr r0, [r4] cmp r1, r0 bne _021EBFD2 ldr r1, [r4, #4] add r0, r5, #0 bl FUN_02020130 ldr r0, [r4, #4] str r0, [r4, #8] ldr r1, [r4, #0x10] add r0, r5, #0 sub r1, r1, r6 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02020208 pop {r3, r4, r5, r6, r7, pc} _021EBFB2: ldr r0, [r4, #4] cmp r1, r0 bne _021EBFD2 ldr r1, [r4] add r0, r5, #0 bl FUN_02020130 ldr r0, [r4] str r0, [r4, #8] ldr r1, [r4, #0x10] add r0, r5, #0 sub r1, r1, r6 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl FUN_02020208 _021EBFD2: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EBF7C thumb_func_start MOD16_021EBFD4 MOD16_021EBFD4: ; 0x021EBFD4 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 mov r0, #1 lsl r1, r2, #0x10 str r0, [r4, #0x2c] ldr r0, _021EBFFC ; =0x000001FF lsr r1, r1, #0x10 str r0, [sp] mov r0, #0xd mov r2, #0 mov r3, #0x7f bl FUN_020056AC add r0, r4, #0 bl MOD16_021EC0E8 add sp, #4 pop {r3, r4, pc} nop _021EBFFC: .word 0x000001FF thumb_func_end MOD16_021EBFD4 thumb_func_start MOD16_021EC000 MOD16_021EC000: ; 0x021EC000 push {r4, lr} add r4, r0, #0 mov r0, #0 bl FUN_02005614 mov r0, #0 str r0, [r4, #0x2c] pop {r4, pc} thumb_func_end MOD16_021EC000 thumb_func_start MOD16_021EC010 MOD16_021EC010: ; 0x021EC010 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x50] cmp r0, #1 bne _021EC020 mov r0, #0 bl FUN_02004CA4 _021EC020: ldr r0, [r4, #0x50] cmp r0, #2 bne _021EC02A bl FUN_02004CFC _021EC02A: mov r0, #0 str r0, [r4, #0x50] pop {r4, pc} thumb_func_end MOD16_021EC010 thumb_func_start MOD16_021EC030 MOD16_021EC030: ; 0x021EC030 push {r4, r5, r6, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r6, r0, #0 bl FUN_02005670 cmp r0, #0 bne _021EC05C ldr r0, [r5, #0x68] sub r0, r0, #1 str r0, [r5, #0x68] bne _021EC05C add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EBFD4 mov r0, #0xa str r0, [r5, #0x68] _021EC05C: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EC030 thumb_func_start MOD16_021EC060 MOD16_021EC060: ; 0x021EC060 str r1, [r0, #0x64] mov r1, #0xa str r1, [r0, #0x68] bx lr thumb_func_end MOD16_021EC060 thumb_func_start MOD16_021EC068 MOD16_021EC068: ; 0x021EC068 push {r4, lr} add r4, r0, #0 add r3, r2, #0 ldr r0, [r1] add r2, r4, #0 mov r1, #0x14 add r2, #0x6c bl MOD16_021D8D70 str r0, [r4, #0x68] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EC068 thumb_func_start MOD16_021EC080 MOD16_021EC080: ; 0x021EC080 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x68] bl FreeToHeap mov r0, #0 str r0, [r4, #0x68] str r0, [r4, #0x6c] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EC080 thumb_func_start MOD16_021EC094 MOD16_021EC094: ; 0x021EC094 push {r3, lr} add r2, r0, #0 ldr r2, [r2, #0x6c] mov r0, #0x1f ldr r2, [r2, #0xc] mov r1, #0xe0 mov r3, #0x20 bl FUN_0201C2C8 pop {r3, pc} thumb_func_end MOD16_021EC094 thumb_func_start MOD16_021EC0A8 MOD16_021EC0A8: ; 0x021EC0A8 push {r3, lr} add r2, r0, #0 ldr r2, [r2, #0x6c] mov r0, #0x1f ldr r2, [r2, #0xc] mov r1, #0xe0 add r2, #0x20 mov r3, #0x20 bl FUN_0201C2C8 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021EC0A8 thumb_func_start MOD16_021EC0C0 MOD16_021EC0C0: ; 0x021EC0C0 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021EC0D8 cmp r4, #0 bne _021EC0D4 add r0, r5, #0 bl MOD16_021EC0DC _021EC0D4: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EC0C0 thumb_func_start MOD16_021EC0D8 MOD16_021EC0D8: ; 0x021EC0D8 str r1, [r0, #0x48] bx lr thumb_func_end MOD16_021EC0D8 thumb_func_start MOD16_021EC0DC MOD16_021EC0DC: ; 0x021EC0DC mov r1, #0 str r1, [r0, #0x3c] str r1, [r0, #0x40] str r1, [r0, #0x44] bx lr .align 2, 0 thumb_func_end MOD16_021EC0DC thumb_func_start MOD16_021EC0E8 MOD16_021EC0E8: ; 0x021EC0E8 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #0x2c] cmp r0, #0 beq _021EC108 ldr r0, [r4, #0x3c] bl MOD16_021EC1DC ldr r1, _021EC10C ; =0x0000FFFF ldr r2, [r4, #0x40] mov r0, #1 bl FUN_02004D4C ldr r0, [r4, #0x44] bl MOD16_021EC110 _021EC108: pop {r4, pc} nop _021EC10C: .word 0x0000FFFF thumb_func_end MOD16_021EC0E8 thumb_func_start MOD16_021EC110 MOD16_021EC110: ; 0x021EC110 ldr r3, _021EC11C ; =FUN_02004828 add r1, r0, #0 mov r0, #8 mov r2, #0 bx r3 nop _021EC11C: .word FUN_02004828 thumb_func_end MOD16_021EC110 thumb_func_start MOD16_021EC120 MOD16_021EC120: ; 0x021EC120 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 ldr r2, [r4, #0x48] ldr r1, [r5, #0x70] cmp r2, r1 beq _021EC140 cmp r2, #1 bne _021EC138 bl MOD16_021EC094 b _021EC13C _021EC138: bl MOD16_021EC0A8 _021EC13C: ldr r0, [r4, #0x48] str r0, [r5, #0x70] _021EC140: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EC120 thumb_func_start MOD16_021EC144 MOD16_021EC144: ; 0x021EC144 push {r4, r5, r6, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r6, r0, #0 ldr r0, _021EC1B4 ; =gMain mov r1, #1 ldr r0, [r0, #0x48] tst r0, r1 beq _021EC198 str r1, [r5, #0x28] mov r0, #0 str r0, [r5, #0x18] ldr r1, [r5, #0x64] cmp r1, #0 bne _021EC17E ldr r1, [r5, #0x2c] cmp r1, #1 bne _021EC172 bl FUN_02005614 _021EC172: add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EBFD4 pop {r4, r5, r6, pc} _021EC17E: ldr r0, [r5, #0x2c] cmp r0, #0 bne _021EC190 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EBFD4 pop {r4, r5, r6, pc} _021EC190: add r0, r5, #0 bl MOD16_021EC000 pop {r4, r5, r6, pc} _021EC198: ldr r0, [r5, #0x28] cmp r0, #1 bne _021EC1A6 mov r0, #2 str r0, [r5, #0x28] str r0, [r5, #0x18] pop {r4, r5, r6, pc} _021EC1A6: cmp r0, #2 bne _021EC1B0 mov r0, #0 str r0, [r5, #0x28] str r1, [r5, #0x18] _021EC1B0: pop {r4, r5, r6, pc} nop _021EC1B4: .word gMain thumb_func_end MOD16_021EC144 thumb_func_start MOD16_021EC1B8 MOD16_021EC1B8: ; 0x021EC1B8 push {r3, r4, lr} sub sp, #4 ldr r4, [r0] ldr r0, [r1, #8] bl MOD16_021E95C8 cmp r0, #1 bne _021EC1D6 mov r3, #0x18 add r0, r4, #0 mov r1, #0xb4 mov r2, #0x83 str r3, [sp] bl MOD16_021D8B04 _021EC1D6: add sp, #4 pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021EC1B8 thumb_func_start MOD16_021EC1DC MOD16_021EC1DC: ; 0x021EC1DC push {r4, lr} add r4, r0, #0 ldr r1, _021EC1F8 ; =0x0000FFFF mov r0, #1 add r2, r4, #0 bl FUN_02004D20 add r4, #0x14 ldr r1, _021EC1F8 ; =0x0000FFFF mov r0, #8 add r2, r4, #0 bl FUN_02004D20 pop {r4, pc} .align 2, 0 _021EC1F8: .word 0x0000FFFF thumb_func_end MOD16_021EC1DC thumb_func_start MOD16_021EC1FC MOD16_021EC1FC: ; 0x021EC1FC push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021EC274 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021EC2C0 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021EC2E8 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021EC318 str r0, [r5, #0x24] ldr r0, _021EC244 ; =MOD16_021EC31C str r0, [r5, #8] ldr r0, _021EC248 ; =MOD16_021EC340 str r0, [r5, #0xc] ldr r0, _021EC24C ; =MOD16_021EC350 str r0, [r5, #0x10] ldr r0, _021EC250 ; =MOD16_021EC364 str r0, [r5, #0x14] ldr r0, _021EC254 ; =MOD16_021EC3E8 str r0, [r5, #0x18] ldr r0, _021EC258 ; =MOD16_021EC3EC str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EC244: .word MOD16_021EC31C _021EC248: .word MOD16_021EC340 _021EC24C: .word MOD16_021EC350 _021EC250: .word MOD16_021EC364 _021EC254: .word MOD16_021EC3E8 _021EC258: .word MOD16_021EC3EC thumb_func_end MOD16_021EC1FC thumb_func_start MOD16_021EC25C MOD16_021EC25C: ; 0x021EC25C push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021EC2EC ldr r0, [r4, #4] bl MOD16_021EC300 ldr r0, [r4, #0x20] bl MOD16_021EC314 pop {r4, pc} thumb_func_end MOD16_021EC25C thumb_func_start MOD16_021EC274 MOD16_021EC274: ; 0x021EC274 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0xc bl AllocFromHeap add r4, r0, #0 bne _021EC286 bl GF_AssertFail _021EC286: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] strb r0, [r4, #8] strb r0, [r4, #9] strb r0, [r4, #0xa] strb r0, [r4, #0xb] add r0, r5, #0 bl MOD16_021D7AD8 str r0, [r4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #8] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EC274 thumb_func_start MOD16_021EC2C0 MOD16_021EC2C0: ; 0x021EC2C0 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021EC2D2 bl GF_AssertFail _021EC2D2: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EC2C0 thumb_func_start MOD16_021EC2E8 MOD16_021EC2E8: ; 0x021EC2E8 mov r0, #0 bx lr thumb_func_end MOD16_021EC2E8 thumb_func_start MOD16_021EC2EC MOD16_021EC2EC: ; 0x021EC2EC push {r4, lr} add r4, r0, #0 bne _021EC2F6 bl GF_AssertFail _021EC2F6: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EC2EC thumb_func_start MOD16_021EC300 MOD16_021EC300: ; 0x021EC300 push {r4, lr} add r4, r0, #0 bne _021EC30A bl GF_AssertFail _021EC30A: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EC300 thumb_func_start MOD16_021EC314 MOD16_021EC314: ; 0x021EC314 bx lr .align 2, 0 thumb_func_end MOD16_021EC314 thumb_func_start MOD16_021EC318 MOD16_021EC318: ; 0x021EC318 mov r0, #0 bx lr thumb_func_end MOD16_021EC318 thumb_func_start MOD16_021EC31C MOD16_021EC31C: ; 0x021EC31C push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #4] mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021EC330 bl GF_AssertFail _021EC330: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] str r4, [r5, #8] mov r0, #1 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EC31C thumb_func_start MOD16_021EC340 MOD16_021EC340: ; 0x021EC340 ldr r0, [r0, #0xc] cmp r0, #1 bne _021EC34A mov r0, #1 bx lr _021EC34A: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021EC340 thumb_func_start MOD16_021EC350 MOD16_021EC350: ; 0x021EC350 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EC350 thumb_func_start MOD16_021EC364 MOD16_021EC364: ; 0x021EC364 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r3, [r3, #8] ldr r5, [r4, #8] cmp r0, #3 bhi _021EC3E2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EC382: ; jump table .short _021EC38A - _021EC382 - 2 ; case 0 .short _021EC3A8 - _021EC382 - 2 ; case 1 .short _021EC3C8 - _021EC382 - 2 ; case 2 .short _021EC3DE - _021EC382 - 2 ; case 3 _021EC38A: ldr r0, [r4, #4] mov r1, #0x14 bl AllocFromHeap str r0, [r4, #8] mov r2, #0x14 mov r1, #0 _021EC398: strb r1, [r0] add r0, r0, #1 sub r2, r2, #1 bne _021EC398 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EC3E2 _021EC3A8: ldr r0, [r4, #4] add r1, r6, #0 str r0, [sp] add r0, r5, #0 bl MOD16_021EC520 add r0, r5, #0 add r1, r6, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021EC474 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EC3E2 _021EC3C8: add r0, r5, #0 add r1, r6, #0 mov r3, #1 bl MOD16_021EC4E0 cmp r0, #0 beq _021EC3E2 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EC3E2 _021EC3DE: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021EC3E2: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EC364 thumb_func_start MOD16_021EC3E8 MOD16_021EC3E8: ; 0x021EC3E8 mov r0, #0 bx lr thumb_func_end MOD16_021EC3E8 thumb_func_start MOD16_021EC3EC MOD16_021EC3EC: ; 0x021EC3EC push {r4, lr} add r4, r1, #0 ldr r1, [r4] add r3, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021EC456 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021EC406: ; jump table .short _021EC410 - _021EC406 - 2 ; case 0 .short _021EC420 - _021EC406 - 2 ; case 1 .short _021EC434 - _021EC406 - 2 ; case 2 .short _021EC442 - _021EC406 - 2 ; case 3 .short _021EC452 - _021EC406 - 2 ; case 4 _021EC410: add r1, r3, #0 mov r3, #0 bl MOD16_021EC474 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EC456 _021EC420: add r1, r3, #0 mov r3, #0 bl MOD16_021EC4E0 cmp r0, #0 beq _021EC456 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EC456 _021EC434: add r1, r3, #0 bl MOD16_021EC574 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EC456 _021EC442: bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EC456 _021EC452: mov r0, #1 pop {r4, pc} _021EC456: mov r0, #0 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EC3EC thumb_func_start MOD16_021EC45C MOD16_021EC45C: ; 0x021EC45C ldr r3, _021EC464 ; =FUN_02020398 ldr r0, [r0, #0x10] mov r1, #1 bx r3 .align 2, 0 _021EC464: .word FUN_02020398 thumb_func_end MOD16_021EC45C thumb_func_start MOD16_021EC468 MOD16_021EC468: ; 0x021EC468 ldr r3, _021EC470 ; =FUN_02020398 ldr r0, [r0, #0x10] mov r1, #0 bx r3 .align 2, 0 _021EC470: .word FUN_02020398 thumb_func_end MOD16_021EC468 thumb_func_start MOD16_021EC474 MOD16_021EC474: ; 0x021EC474 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021EC45C ldr r0, [r4, #8] bl MOD16_021E8C68 cmp r0, #0 beq _021EC4DC cmp r6, #0 beq _021EC4B8 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r3, r4, r5, r6, pc} _021EC4B8: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2a str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021EC4DC: add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021EC474 thumb_func_start MOD16_021EC4E0 MOD16_021EC4E0: ; 0x021EC4E0 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #8] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r5] beq _021EC500 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 b _021EC50A _021EC500: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C _021EC50A: cmp r0, #0 beq _021EC51C cmp r4, #0 beq _021EC518 add r0, r6, #0 bl MOD16_021EC468 _021EC518: mov r0, #1 pop {r4, r5, r6, pc} _021EC51C: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EC4E0 thumb_func_start MOD16_021EC520 MOD16_021EC520: ; 0x021EC520 push {r3, r4, r5, r6, r7, lr} ldr r4, [sp, #0x18] add r7, r2, #0 add r5, r1, #0 add r6, r0, #0 add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 bl MOD16_021EC5A8 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EC7E8 add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 bl MOD16_021EC898 add r0, r6, #0 add r1, r5, #0 add r2, r4, #0 bl MOD16_021EC610 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 add r3, r4, #0 bl MOD16_021EC700 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 add r3, r4, #0 bl MOD16_021EC7E0 add r0, r5, #0 add r1, r7, #0 bl MOD16_021EC9B0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EC520 thumb_func_start MOD16_021EC574 MOD16_021EC574: ; 0x021EC574 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021EC7E4 add r0, r5, #0 bl MOD16_021EC7D4 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EC6BC ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_02018744 add r0, r4, #0 bl MOD16_021ECA2C pop {r3, r4, r5, pc} thumb_func_end MOD16_021EC574 thumb_func_start MOD16_021EC5A8 MOD16_021EC5A8: ; 0x021EC5A8 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] add r5, r2, #0 str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #3 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x4a mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EC5A8 thumb_func_start MOD16_021EC610 MOD16_021EC610: ; 0x021EC610 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021EC6AC ; =0x00001BB5 mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x5d bl FUN_020091E0 str r0, [r5] bl FUN_02009B04 ldr r0, [r5] bl FUN_02009474 ldr r0, _021EC6B0 ; =0x00001B66 add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #5 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0xe mov r3, #0 bl FUN_02009298 str r0, [r5, #4] bl FUN_02009D68 ldr r0, [r5, #4] bl FUN_02009474 ldr r0, _021EC6B4 ; =0x00001BB3 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5b mov r3, #1 bl FUN_02009358 str r0, [r5, #8] ldr r0, _021EC6B8 ; =0x00001BB4 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5c mov r3, #1 bl FUN_02009358 str r0, [r5, #0xc] add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EC6AC: .word 0x00001BB5 _021EC6B0: .word 0x00001B66 _021EC6B4: .word 0x00001BB3 _021EC6B8: .word 0x00001BB4 thumb_func_end MOD16_021EC610 thumb_func_start MOD16_021EC6BC MOD16_021EC6BC: ; 0x021EC6BC push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #4] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #4] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #8] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0xc] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EC6BC thumb_func_start MOD16_021EC700 MOD16_021EC700: ; 0x021EC700 push {r4, r5, r6, r7, lr} sub sp, #0x74 add r6, r2, #0 add r5, r0, #0 ldr r0, [r6, #4] add r7, r3, #0 ldr r4, [r1] bl MOD16_021D9DE8 ldr r3, _021EC7CC ; =0x00001BB4 str r0, [sp, #0x2c] mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 ldr r1, [r4, r0] str r1, [sp, #0x14] add r1, r0, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r0, #0 add r1, #8 ldr r1, [r4, r1] add r0, #0xc str r1, [sp, #0x1c] ldr r0, [r4, r0] add r1, r3, #1 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r2, r3, #0 add r0, sp, #0x50 sub r2, #0x4e sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x30] add r0, sp, #0x50 str r0, [sp, #0x34] mov r0, #0x1f str r0, [sp, #0x44] mov r0, #1 str r0, [sp, #0x48] str r7, [sp, #0x4c] ldr r1, [r6, #4] ldr r0, _021EC7D0 ; =0x00001748 ldr r0, [r1, r0] ldr r1, [sp, #0x2c] bl FUN_02087B98 add r4, r0, #0 ldr r1, [r6, #4] ldr r0, _021EC7D0 ; =0x00001748 ldr r0, [r1, r0] ldr r1, [sp, #0x2c] bl FUN_02087BD8 add r7, r0, #0 mov r0, #0x2a lsl r0, r0, #0xe str r0, [sp, #0x38] add r0, r4, #0 add r0, #0x58 lsl r0, r0, #0xc str r0, [sp, #0x3c] add r0, sp, #0x30 bl FUN_0201FF84 str r0, [r5, #0x10] ldr r0, [r6, #4] bl MOD16_021D9F4C cmp r0, #0 ldr r0, [r5, #0x10] bne _021EC7B2 mov r1, #5 bl FUN_02020130 b _021EC7B8 _021EC7B2: mov r1, #6 bl FUN_02020130 _021EC7B8: ldr r0, [r5, #0x10] add r1, r4, #0 bl MOD16_021ECA48 ldr r0, [r5, #0x10] add r1, r7, #0 bl MOD16_021ECA74 add sp, #0x74 pop {r4, r5, r6, r7, pc} .align 2, 0 _021EC7CC: .word 0x00001BB4 _021EC7D0: .word 0x00001748 thumb_func_end MOD16_021EC700 thumb_func_start MOD16_021EC7D4 MOD16_021EC7D4: ; 0x021EC7D4 ldr r3, _021EC7DC ; =FUN_0201FFC8 ldr r0, [r0, #0x10] bx r3 nop _021EC7DC: .word FUN_0201FFC8 thumb_func_end MOD16_021EC7D4 thumb_func_start MOD16_021EC7E0 MOD16_021EC7E0: ; 0x021EC7E0 bx lr .align 2, 0 thumb_func_end MOD16_021EC7E0 thumb_func_start MOD16_021EC7E4 MOD16_021EC7E4: ; 0x021EC7E4 bx lr .align 2, 0 thumb_func_end MOD16_021EC7E4 thumb_func_start MOD16_021EC7E8 MOD16_021EC7E8: ; 0x021EC7E8 push {r4, r5, r6, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #0x20 add r6, r1, #0 bl String_ctor add r4, r0, #0 ldr r2, _021EC890 ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r6, #0 bl NewMsgDataFromNarc mov r1, #0x2b add r2, r4, #0 add r6, r0, #0 bl ReadMsgDataIntoString mov r0, #0 mov r3, #1 add r1, r4, #0 add r2, r0, #0 lsl r3, r3, #8 bl FUN_02002F40 add r3, r0, #0 mov r0, #0x18 str r0, [sp] mov r1, #0 ldr r0, _021EC894 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 add r0, r6, #0 mov r1, #9 add r2, r4, #0 bl ReadMsgDataIntoString mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EC894 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 mov r3, #0x20 bl AddTextPrinterParameterized2 add r0, r6, #0 mov r1, #9 add r2, r4, #0 bl ReadMsgDataIntoString mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EC894 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 mov r3, #0x98 bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r6, #0 bl DestroyMsgData add sp, #0x10 pop {r4, r5, r6, pc} nop _021EC890: .word 0x00000266 _021EC894: .word 0x00020100 thumb_func_end MOD16_021EC7E8 thumb_func_start MOD16_021EC898 MOD16_021EC898: ; 0x021EC898 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 mov r0, #0x20 add r1, r7, #0 bl String_ctor mov r2, #0x9b add r4, r0, #0 mov r0, #0 mov r1, #0x1a lsl r2, r2, #2 add r3, r7, #0 bl NewMsgDataFromNarc str r0, [sp, #0x10] ldr r0, [r6, #4] bl MOD16_021D9DE8 add r1, r7, #0 str r0, [sp, #0x14] bl GetSpeciesName str r0, [sp, #0x18] mov r0, #0x98 str r0, [sp] mov r1, #0 ldr r0, _021EC9A8 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] ldr r2, [sp, #0x18] add r0, r0, #4 mov r3, #0x1a bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] add r2, r4, #0 bl ReadMsgDataIntoString mov r0, #0 add r1, r4, #0 add r2, r0, #0 bl FUN_02002E14 mov r1, #0x6e sub r3, r1, r0 mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EC9A8 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor ldr r0, [sp, #0x10] bl DestroyMsgData ldr r2, _021EC9AC ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r7, #0 bl NewMsgDataFromNarc add r7, r0, #0 ldr r0, [r6, #4] bl MOD16_021D9F40 add r2, r0, #0 mov r0, #0x98 str r0, [sp] mov r1, #0 ldr r0, _021EC9A8 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] mov r3, #0x92 add r0, r0, #4 bl AddTextPrinterParameterized2 ldr r0, [r6, #4] bl MOD16_021D9F4C cmp r0, #0 bne _021EC966 add r0, r7, #0 mov r1, #0x5f add r2, r4, #0 bl ReadMsgDataIntoString b _021EC970 _021EC966: add r0, r7, #0 mov r1, #0x60 add r2, r4, #0 bl ReadMsgDataIntoString _021EC970: mov r0, #0 add r1, r4, #0 add r2, r0, #0 bl FUN_02002E14 mov r1, #0xe6 sub r3, r1, r0 mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EC9A8 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r7, #0 bl DestroyMsgData add sp, #0x1c pop {r4, r5, r6, r7, pc} nop _021EC9A8: .word 0x00020100 _021EC9AC: .word 0x00000266 thumb_func_end MOD16_021EC898 thumb_func_start MOD16_021EC9B0 MOD16_021EC9B0: ; 0x021EC9B0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 bl MOD16_021D8700 add r6, r0, #0 ldr r0, [r4, #4] bl MOD16_021D9DE8 add r7, r0, #0 ldr r1, [r4, #4] ldr r0, _021ECA28 ; =0x00001748 ldr r0, [r1, r0] add r1, r7, #0 bl FUN_02087BB8 str r0, [sp, #8] ldr r1, [r4, #4] ldr r0, _021ECA28 ; =0x00001748 ldr r0, [r1, r0] add r1, r7, #0 bl FUN_02087BF8 str r0, [sp, #0xc] mov r0, #0x58 str r0, [sp] ldr r0, [sp, #8] add r2, r7, #0 add r0, #0x58 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r4, #4] mov r3, #2 bl MOD16_021D7FB4 add r0, r6, #0 mov r1, #6 mov r2, #0 bl FUN_02007558 mov r1, #0xf mov r3, #0 add r0, r6, #0 add r2, r1, #0 str r3, [sp] bl FUN_02007E68 ldr r1, [sp, #8] add r0, r6, #0 bl MOD16_021ECA64 ldr r1, [sp, #0xc] add r0, r6, #0 bl MOD16_021ECA98 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} nop _021ECA28: .word 0x00001748 thumb_func_end MOD16_021EC9B0 thumb_func_start MOD16_021ECA2C MOD16_021ECA2C: ; 0x021ECA2C push {r4, lr} ldr r0, [r0] bl MOD16_021D8700 add r4, r0, #0 mov r1, #6 mov r2, #1 bl FUN_02007558 add r0, r4, #0 bl FUN_02007EEC pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ECA2C thumb_func_start MOD16_021ECA48 MOD16_021ECA48: ; 0x021ECA48 push {lr} sub sp, #0xc add r1, #0x58 mov r2, #0x2a lsl r1, r1, #0xc lsl r2, r2, #0xe str r1, [sp, #4] add r1, sp, #0 str r2, [sp] bl FUN_02020044 add sp, #0xc pop {pc} .align 2, 0 thumb_func_end MOD16_021ECA48 thumb_func_start MOD16_021ECA64 MOD16_021ECA64: ; 0x021ECA64 ldr r3, _021ECA70 ; =FUN_02007558 add r2, r1, #0 mov r1, #1 add r2, #0x58 bx r3 nop _021ECA70: .word FUN_02007558 thumb_func_end MOD16_021ECA64 thumb_func_start MOD16_021ECA74 MOD16_021ECA74: ; 0x021ECA74 push {r3, r4, lr} sub sp, #0xc add r4, r0, #0 mov r0, #1 lsl r0, r0, #0x14 lsl r1, r1, #0xc bl FX_Div str r0, [sp] str r0, [sp, #4] add r0, r4, #0 add r1, sp, #0 mov r2, #2 bl FUN_02020074 add sp, #0xc pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021ECA74 thumb_func_start MOD16_021ECA98 MOD16_021ECA98: ; 0x021ECA98 push {r3, r4, r5, lr} add r4, r0, #0 mov r0, #1 lsl r0, r0, #0x14 lsl r1, r1, #0xc bl FX_Div asr r2, r0, #0x1f lsl r3, r2, #0x14 lsr r1, r0, #0xc lsl r2, r0, #0x14 mov r0, #2 orr r3, r1 mov r1, #0 lsl r0, r0, #0xa add r2, r2, r0 adc r3, r1 lsl r0, r3, #0x14 lsr r1, r2, #0xc orr r1, r0 lsl r0, r1, #4 asr r5, r0, #0x10 add r0, r4, #0 mov r1, #0xc add r2, r5, #0 bl FUN_02007558 add r0, r4, #0 mov r1, #0xd add r2, r5, #0 bl FUN_02007558 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ECA98 thumb_func_start MOD16_021ECADC MOD16_021ECADC: ; 0x021ECADC push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021ECB54 add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021ECB98 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021ECBC0 str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021ECC50 str r0, [r5, #0x24] ldr r0, _021ECB24 ; =MOD16_021ECC54 str r0, [r5, #8] ldr r0, _021ECB28 ; =MOD16_021ECCA0 str r0, [r5, #0xc] ldr r0, _021ECB2C ; =MOD16_021ECCF4 str r0, [r5, #0x10] ldr r0, _021ECB30 ; =MOD16_021ECD08 str r0, [r5, #0x14] ldr r0, _021ECB34 ; =MOD16_021ECD90 str r0, [r5, #0x18] ldr r0, _021ECB38 ; =MOD16_021ECDC0 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021ECB24: .word MOD16_021ECC54 _021ECB28: .word MOD16_021ECCA0 _021ECB2C: .word MOD16_021ECCF4 _021ECB30: .word MOD16_021ECD08 _021ECB34: .word MOD16_021ECD90 _021ECB38: .word MOD16_021ECDC0 thumb_func_end MOD16_021ECADC thumb_func_start MOD16_021ECB3C MOD16_021ECB3C: ; 0x021ECB3C push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021ECC08 ldr r0, [r4, #4] bl MOD16_021ECC1C ldr r0, [r4, #0x20] bl MOD16_021ECC30 pop {r4, pc} thumb_func_end MOD16_021ECB3C thumb_func_start MOD16_021ECB54 MOD16_021ECB54: ; 0x021ECB54 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x10 bl AllocFromHeap add r4, r0, #0 bne _021ECB66 bl GF_AssertFail _021ECB66: add r2, r4, #0 mov r1, #0x10 mov r0, #0 _021ECB6C: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021ECB6C add r0, r5, #0 bl MOD16_021D7AEC str r0, [r4] add r0, r5, #0 mov r1, #3 bl MOD16_021D7B7C str r0, [r4, #0xc] mov r0, #0 str r0, [r4, #4] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #8] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ECB54 thumb_func_start MOD16_021ECB98 MOD16_021ECB98: ; 0x021ECB98 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021ECBAA bl GF_AssertFail _021ECBAA: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021ECB98 thumb_func_start MOD16_021ECBC0 MOD16_021ECBC0: ; 0x021ECBC0 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 bl MOD16_021ECC50 add r7, r0, #0 mov r1, #0x14 mul r7, r1 add r0, r5, #0 add r1, r7, #0 bl AllocFromHeap add r4, r0, #0 bne _021ECBE0 bl GF_AssertFail _021ECBE0: add r0, r4, #0 mov r1, #0 add r2, r7, #0 bl memset add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 mov r3, #1 bl MOD16_021DB000 add r1, r4, #0 add r0, r5, #0 add r1, #0x14 add r2, r6, #0 mov r3, #2 bl MOD16_021DB058 add r0, r4, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021ECBC0 thumb_func_start MOD16_021ECC08 MOD16_021ECC08: ; 0x021ECC08 push {r4, lr} add r4, r0, #0 bne _021ECC12 bl GF_AssertFail _021ECC12: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ECC08 thumb_func_start MOD16_021ECC1C MOD16_021ECC1C: ; 0x021ECC1C push {r4, lr} add r4, r0, #0 bne _021ECC26 bl GF_AssertFail _021ECC26: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ECC1C thumb_func_start MOD16_021ECC30 MOD16_021ECC30: ; 0x021ECC30 push {r4, lr} add r4, r0, #0 bne _021ECC3A bl GF_AssertFail _021ECC3A: add r0, r4, #0 bl MOD16_021DAC7C add r0, r4, #0 add r0, #0x14 bl MOD16_021DAC7C add r0, r4, #0 bl FreeToHeap pop {r4, pc} thumb_func_end MOD16_021ECC30 thumb_func_start MOD16_021ECC50 MOD16_021ECC50: ; 0x021ECC50 mov r0, #2 bx lr thumb_func_end MOD16_021ECC50 thumb_func_start MOD16_021ECC54 MOD16_021ECC54: ; 0x021ECC54 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #4] add r4, r1, #0 mov r1, #0x18 bl AllocFromHeap add r6, r0, #0 add r2, r6, #0 mov r1, #0x18 mov r0, #0 _021ECC6A: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021ECC6A mov r1, #0 add r2, r6, #0 mov r0, #4 _021ECC78: add r1, r1, #1 str r0, [r2, #0x10] add r2, r2, #4 cmp r1, #2 blt _021ECC78 mov r0, #0 str r0, [r4, #4] ldr r2, [r5, #4] add r0, r6, #0 add r1, r4, #0 bl MOD16_021ECF40 add r0, r6, #0 add r1, r4, #0 bl MOD16_021ECFA4 str r6, [r5, #8] mov r0, #1 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021ECC54 thumb_func_start MOD16_021ECCA0 MOD16_021ECCA0: ; 0x021ECCA0 push {r3, r4, r5, lr} add r5, r1, #0 ldr r1, [r0, #0xc] ldr r4, [r0, #8] cmp r1, #1 bne _021ECCB0 mov r0, #1 pop {r3, r4, r5, pc} _021ECCB0: ldr r0, [r0, #0x10] cmp r0, #1 bne _021ECCBA mov r0, #0 pop {r3, r4, r5, pc} _021ECCBA: ldr r0, [r5, #0xc] bl MOD16_021E95C0 cmp r0, #0 beq _021ECCEE add r0, r4, #0 bl MOD16_021ECF94 ldr r0, [r5, #0xc] bl MOD16_021E95C8 cmp r0, #0 beq _021ECCE6 ldr r0, [r5, #8] bl MOD16_021D9FB8 cmp r0, #0 beq _021ECCE6 add r0, r4, #0 add r1, r5, #0 bl MOD16_021ED4C8 _021ECCE6: add r0, r4, #0 add r1, r5, #0 bl MOD16_021ECFA4 _021ECCEE: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ECCA0 thumb_func_start MOD16_021ECCF4 MOD16_021ECCF4: ; 0x021ECCF4 push {r4, lr} ldr r4, [r0, #8] add r0, r4, #0 bl MOD16_021ECFD4 add r0, r4, #0 bl FreeToHeap mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021ECCF4 thumb_func_start MOD16_021ECD08 MOD16_021ECD08: ; 0x021ECD08 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #3 bhi _021ECD8C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021ECD24: ; jump table .short _021ECD2C - _021ECD24 - 2 ; case 0 .short _021ECD46 - _021ECD24 - 2 ; case 1 .short _021ECD64 - _021ECD24 - 2 ; case 2 .short _021ECD7A - _021ECD24 - 2 ; case 3 _021ECD2C: ldr r0, [r4, #4] mov r1, #0x40 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x40 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ECD8C _021ECD46: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021ED044 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021ECE98 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ECD8C _021ECD64: add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021ECF04 cmp r0, #0 beq _021ECD8C ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ECD8C _021ECD7A: mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #0 bl MOD16_021D8B3C mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021ECD8C: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021ECD08 thumb_func_start MOD16_021ECD90 MOD16_021ECD90: ; 0x021ECD90 push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r3, #8] add r4, r2, #0 str r0, [sp] add r5, r1, #0 ldr r0, [r4, #0xc] ldr r7, [r5, #8] bl MOD16_021E95C0 cmp r0, #0 beq _021ECDBC ldr r2, [sp] ldr r3, [r5, #4] add r0, r7, #0 add r1, r6, #0 bl MOD16_021ED46C add r0, r6, #0 add r1, r4, #0 bl MOD16_021ED50C _021ECDBC: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021ECD90 thumb_func_start MOD16_021ECDC0 MOD16_021ECDC0: ; 0x021ECDC0 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #4 bhi _021ECE42 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021ECDDC: ; jump table .short _021ECDE6 - _021ECDDC - 2 ; case 0 .short _021ECE08 - _021ECDDC - 2 ; case 1 .short _021ECE1E - _021ECDDC - 2 ; case 2 .short _021ECE30 - _021ECDDC - 2 ; case 3 .short _021ECE3E - _021ECDDC - 2 ; case 4 _021ECDE6: mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 bl MOD16_021D8B3C add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021ECE98 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ECE42 _021ECE08: add r0, r6, #0 add r1, r5, #0 mov r3, #0 bl MOD16_021ECF04 cmp r0, #0 beq _021ECE42 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ECE42 _021ECE1E: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021ED074 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ECE42 _021ECE30: add r0, r6, #0 bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ECE42 _021ECE3E: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021ECE42: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021ECDC0 thumb_func_start MOD16_021ECE48 MOD16_021ECE48: ; 0x021ECE48 push {r3, r4, r5, r6, r7, lr} mov r6, #1 add r5, r0, #0 mov r4, #0 add r7, r6, #0 _021ECE52: ldr r0, [r5] add r1, r6, #0 bl FUN_02020398 ldr r0, [r5, #8] add r1, r7, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021ECE52 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021ECE48 thumb_func_start MOD16_021ECE70 MOD16_021ECE70: ; 0x021ECE70 push {r3, r4, r5, r6, r7, lr} mov r4, #0 add r5, r0, #0 add r6, r4, #0 add r7, r4, #0 _021ECE7A: ldr r0, [r5] add r1, r6, #0 bl FUN_02020398 ldr r0, [r5, #8] add r1, r7, #0 ldr r0, [r0] bl FUN_02011AF0 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021ECE7A pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021ECE70 thumb_func_start MOD16_021ECE98 MOD16_021ECE98: ; 0x021ECE98 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021ECE48 ldr r0, [r4, #0xc] bl MOD16_021E95B8 cmp r0, #0 beq _021ECF00 cmp r6, #0 beq _021ECEDC mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r2, [r5] lsl r0, r0, #4 add r0, r2, r0 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r3, r4, r5, r6, pc} _021ECEDC: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r3, [r5] lsl r0, r0, #4 add r0, r3, r0 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021ECF00: add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021ECE98 thumb_func_start MOD16_021ECF04 MOD16_021ECF04: ; 0x021ECF04 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #0xc] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E95B8 cmp r0, #0 beq _021ECF24 mov r0, #0x19 ldr r1, [r5] lsl r0, r0, #4 add r0, r1, r0 bl MOD16_021D89B4 b _021ECF2A _021ECF24: mov r0, #2 bl FUN_0200A344 _021ECF2A: cmp r0, #0 beq _021ECF3C cmp r4, #0 beq _021ECF38 add r0, r6, #0 bl MOD16_021ECE70 _021ECF38: mov r0, #1 pop {r4, r5, r6, pc} _021ECF3C: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021ECF04 thumb_func_start MOD16_021ECF40 MOD16_021ECF40: ; 0x021ECF40 push {r3, r4, r5, r6, lr} sub sp, #4 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #8 bl AllocFromHeap str r0, [r5, #4] mov r0, #0x80 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x40 mov r2, #0xb0 mov r3, #8 bl MOD16_021D7C98 mov r0, #0xf8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x40 add r0, r0, #4 mov r2, #0xb0 mov r3, #0x80 bl MOD16_021D7C98 str r4, [r5, #8] str r5, [r5, #0xc] str r6, [sp] add r3, r5, #0 ldr r0, [r5, #4] ldr r2, _021ECF90 ; =MOD16_021ECFEC mov r1, #2 add r3, #8 bl FUN_020220C4 str r0, [r5] add sp, #4 pop {r3, r4, r5, r6, pc} .align 2, 0 _021ECF90: .word MOD16_021ECFEC thumb_func_end MOD16_021ECF40 thumb_func_start MOD16_021ECF94 MOD16_021ECF94: ; 0x021ECF94 mov r2, #0 mov r1, #3 _021ECF98: add r2, r2, #1 str r1, [r0, #0x10] add r0, r0, #4 cmp r2, #2 blt _021ECF98 bx lr thumb_func_end MOD16_021ECF94 thumb_func_start MOD16_021ECFA4 MOD16_021ECFA4: ; 0x021ECFA4 push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, [r4] add r5, r1, #0 bl FUN_02022144 ldr r0, [r5, #4] cmp r0, #0 beq _021ECFBC cmp r0, #1 beq _021ECFC8 pop {r3, r4, r5, pc} _021ECFBC: ldr r0, [r4, #0x10] cmp r0, #2 beq _021ECFD2 mov r0, #1 str r0, [r4, #0x10] pop {r3, r4, r5, pc} _021ECFC8: ldr r0, [r4, #0x14] cmp r0, #2 beq _021ECFD2 mov r0, #1 str r0, [r4, #0x14] _021ECFD2: pop {r3, r4, r5, pc} thumb_func_end MOD16_021ECFA4 thumb_func_start MOD16_021ECFD4 MOD16_021ECFD4: ; 0x021ECFD4 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0202212C ldr r0, [r4, #4] bl FreeToHeap mov r0, #0 str r0, [r4, #4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ECFD4 thumb_func_start MOD16_021ECFEC MOD16_021ECFEC: ; 0x021ECFEC push {r4, lr} ldr r3, [r2, #4] ldr r4, [r2] lsl r2, r0, #2 add r2, r3, r2 str r1, [r2, #0x10] cmp r1, #2 bne _021ED03C cmp r0, #0 beq _021ED006 cmp r0, #1 beq _021ED022 pop {r4, pc} _021ED006: ldr r0, [r4, #4] cmp r0, #0 beq _021ED03C ldr r0, _021ED040 ; =0x000005DD bl FUN_020054C8 mov r0, #0 str r0, [r4, #4] ldr r2, [r4] mov r0, #1 ldr r1, [r2] orr r0, r1 str r0, [r2] pop {r4, pc} _021ED022: ldr r0, [r4, #4] cmp r0, #1 beq _021ED03C ldr r0, _021ED040 ; =0x000005DD bl FUN_020054C8 mov r0, #1 str r0, [r4, #4] ldr r2, [r4] mov r0, #2 ldr r1, [r2] orr r0, r1 str r0, [r2] _021ED03C: pop {r4, pc} nop _021ED040: .word 0x000005DD thumb_func_end MOD16_021ECFEC thumb_func_start MOD16_021ED044 MOD16_021ED044: ; 0x021ED044 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 MOD16_021ED0D0 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021ED138 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021ED1EC add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021ED2B4 pop {r4, r5, r6, pc} thumb_func_end MOD16_021ED044 thumb_func_start MOD16_021ED074 MOD16_021ED074: ; 0x021ED074 push {r4, r5, r6, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x20 add r6, r2, #0 str r0, [sp] add r4, r1, #0 str r6, [sp, #4] ldr r0, [r4] mov r1, #9 mov r2, #4 mov r3, #0x80 bl MOD16_021D8CFC mov r0, #0x20 str r0, [sp] str r6, [sp, #4] ldr r0, [r4] mov r1, #9 mov r2, #4 mov r3, #0xa0 bl MOD16_021D8CFC add r0, r5, #0 bl MOD16_021ED29C add r0, r5, #0 add r1, r4, #0 bl MOD16_021ED398 add r0, r5, #0 add r1, r4, #0 bl MOD16_021ED1B8 mov r4, #0 _021ED0BA: ldr r0, [r5, #0x38] cmp r0, #0 beq _021ED0C4 bl FreeToHeap _021ED0C4: add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021ED0BA add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021ED074 thumb_func_start MOD16_021ED0D0 MOD16_021ED0D0: ; 0x021ED0D0 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] add r5, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x22 mov r3, #6 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x3d mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #6 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ED0D0 thumb_func_start MOD16_021ED138 MOD16_021ED138: ; 0x021ED138 push {r4, r5, r6, r7, lr} sub sp, #0xc ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021ED1AC ; =0x0000238E add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x66 mov r3, #1 bl FUN_020091E0 str r0, [r5, #0x10] bl FUN_02009B04 ldr r0, [r5, #0x10] bl FUN_02009474 ldr r0, _021ED1B0 ; =0x0000238C add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x64 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x18] ldr r0, _021ED1B4 ; =0x0000238D add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x65 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x1c] add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _021ED1AC: .word 0x0000238E _021ED1B0: .word 0x0000238C _021ED1B4: .word 0x0000238D thumb_func_end MOD16_021ED138 thumb_func_start MOD16_021ED1B8 MOD16_021ED1B8: ; 0x021ED1B8 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x10] ldr r4, [r1] bl FUN_02009C0C mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x10] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x18] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x1c] bl FUN_02009490 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ED1B8 thumb_func_start MOD16_021ED1EC MOD16_021ED1EC: ; 0x021ED1EC push {r4, r5, r6, lr} sub sp, #0x70 ldr r4, [r1] ldr r3, _021ED294 ; =0x0000238D add r5, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 add r6, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] ldr r2, _021ED298 ; =0x0000083F str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #0x1e str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x1f str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] mov r0, #0x11 lsl r0, r0, #0xe str r0, [sp, #0x34] mov r0, #3 lsl r1, r1, #0xe lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c str r6, [sp, #0x48] bl FUN_0201FF84 mov r1, #1 str r0, [r5] bl FUN_02020130 mov r0, #0x2f lsl r0, r0, #0xe str r0, [sp, #0x34] mov r1, #0x1e mov r0, #3 lsl r1, r1, #0xe lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 mov r1, #1 str r0, [r5, #4] bl FUN_02020130 add sp, #0x70 pop {r4, r5, r6, pc} .align 2, 0 _021ED294: .word 0x0000238D _021ED298: .word 0x0000083F thumb_func_end MOD16_021ED1EC thumb_func_start MOD16_021ED29C MOD16_021ED29C: ; 0x021ED29C push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021ED2A2: ldr r0, [r5] bl FUN_0201FFC8 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021ED2A2 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ED29C thumb_func_start MOD16_021ED2B4 MOD16_021ED2B4: ; 0x021ED2B4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r5, r0, #0 ldr r0, [r5] add r6, r2, #0 ldr r4, [r1] cmp r0, #0 bne _021ED2C8 bl GF_AssertFail _021ED2C8: mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, _021ED390 ; =0x0000083F bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r4, r1] str r1, [sp, #8] mov r1, #0 bl FUN_02009E54 mov r1, #7 mvn r1, r1 str r1, [sp, #0x1c] mov r1, #2 mov r2, #0 str r0, [sp, #0x10] str r1, [sp, #0x20] str r2, [sp, #0x24] str r1, [sp, #0x28] str r6, [sp, #0x2c] bl FUN_0201E28C add r7, r0, #0 mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0xc mov r2, #2 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r2, _021ED394 ; =0x00000266 add r1, r6, #0 mov r3, #0x2d bl MOD16_021DB3C8 lsr r0, r0, #1 neg r0, r0 str r6, [sp, #0xc] str r0, [sp, #0x18] ldr r0, [r5] str r0, [sp, #0x14] add r0, sp, #8 bl MOD16_021DB2BC str r0, [r5, #8] ldr r0, [r0] add r1, r7, #4 bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0xc mov r2, #2 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r2, _021ED394 ; =0x00000266 add r1, r6, #0 mov r3, #0x2e bl MOD16_021DB3C8 lsr r0, r0, #1 neg r0, r0 str r6, [sp, #0xc] str r0, [sp, #0x18] ldr r0, [r5, #4] str r0, [sp, #0x14] add r0, sp, #8 bl MOD16_021DB2BC str r0, [r5, #0xc] ldr r0, [r0] add r1, r7, #4 bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021ED390: .word 0x0000083F _021ED394: .word 0x00000266 thumb_func_end MOD16_021ED2B4 thumb_func_start MOD16_021ED398 MOD16_021ED398: ; 0x021ED398 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021ED39E: ldr r0, [r5, #8] bl MOD16_021DB338 add r4, r4, #1 add r5, r5, #4 cmp r4, #2 blt _021ED39E pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ED398 thumb_func_start MOD16_021ED3B0 MOD16_021ED3B0: ; 0x021ED3B0 push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp, #4] str r1, [sp, #8] add r0, r1, #0 add r1, r3, #0 str r2, [sp, #0xc] ldr r4, [sp, #0x30] ldr r6, [sp, #0x40] mov r5, #0 bl MOD16_021D7B98 ldr r0, [sp, #0x3c] ldr r1, [sp, #0xc] str r0, [sp] ldr r0, [sp, #8] ldr r2, [sp, #0x28] ldr r3, [sp, #0x38] bl MOD16_021ED45C ldr r0, [sp, #8] bl FUN_0202022C cmp r0, #3 bhi _021ED422 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021ED3EE: ; jump table .short _021ED3F6 - _021ED3EE - 2 ; case 0 .short _021ED3F6 - _021ED3EE - 2 ; case 1 .short _021ED406 - _021ED3EE - 2 ; case 2 .short _021ED414 - _021ED3EE - 2 ; case 3 _021ED3F6: ldr r0, [r4] cmp r0, #0 beq _021ED422 mov r0, #0 mov r5, #1 mov r7, #9 str r0, [r4] b _021ED422 _021ED406: ldr r0, [r4] cmp r0, #1 beq _021ED422 mov r5, #1 mov r7, #0xa str r5, [r4] b _021ED422 _021ED414: ldr r0, [r4] cmp r0, #2 beq _021ED422 mov r0, #2 mov r5, #1 mov r7, #8 str r0, [r4] _021ED422: cmp r5, #0 beq _021ED458 ldr r0, [r6] cmp r0, #0 beq _021ED430 bl FreeToHeap _021ED430: ldr r0, [sp, #4] ldr r3, [sp, #0x34] ldr r0, [r0] add r1, r7, #0 add r2, sp, #0x10 bl MOD16_021D8D70 str r0, [r6] ldr r2, [sp, #0x10] ldr r1, [sp, #0x2c] ldr r2, [r2, #0xc] mov r0, #0x1f lsl r1, r1, #5 mov r3, #0x20 bl FUN_0201C2C8 cmp r0, #0 bne _021ED458 bl GF_AssertFail _021ED458: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021ED3B0 thumb_func_start MOD16_021ED45C MOD16_021ED45C: ; 0x021ED45C push {r3, r4, lr} sub sp, #4 ldr r4, [sp, #0x10] str r4, [sp] bl MOD16_021D7C70 add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021ED45C thumb_func_start MOD16_021ED46C MOD16_021ED46C: ; 0x021ED46C push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r5, r0, #0 add r6, r5, #0 add r4, r5, #0 str r1, [sp, #0x1c] str r2, [sp, #0x20] str r3, [sp, #0x24] mov r7, #0 add r6, #0x38 add r4, #0x30 _021ED482: cmp r7, #0 bne _021ED48A mov r1, #4 b _021ED48C _021ED48A: mov r1, #5 _021ED48C: mov r0, #7 mvn r0, r0 str r0, [sp] str r1, [sp, #4] ldr r0, [sp, #0x24] str r4, [sp, #8] str r0, [sp, #0xc] mov r0, #4 str r0, [sp, #0x10] mov r0, #1 str r0, [sp, #0x14] str r6, [sp, #0x18] ldr r3, [sp, #0x20] ldr r0, [sp, #0x1c] ldr r1, [r5] ldr r2, [r5, #8] ldr r3, [r3, #0x10] bl MOD16_021ED3B0 ldr r0, [sp, #0x20] add r7, r7, #1 add r0, r0, #4 add r6, r6, #4 add r4, r4, #4 add r5, r5, #4 str r0, [sp, #0x20] cmp r7, #2 blt _021ED482 add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021ED46C thumb_func_start MOD16_021ED4C8 MOD16_021ED4C8: ; 0x021ED4C8 push {r3, lr} ldr r2, _021ED504 ; =gMain ldr r3, [r2, #0x48] mov r2, #1 tst r3, r2 beq _021ED500 ldr r3, [r1, #4] cmp r3, #1 bne _021ED4EC mov r3, #0 str r3, [r1, #4] ldr r3, [r1] ldr r1, [r3] orr r1, r2 str r1, [r3] mov r1, #2 str r1, [r0, #0x10] b _021ED4FA _021ED4EC: str r2, [r1, #4] ldr r3, [r1] mov r1, #2 ldr r2, [r3] orr r2, r1 str r2, [r3] str r1, [r0, #0x14] _021ED4FA: ldr r0, _021ED508 ; =0x000005DD bl FUN_020054C8 _021ED500: pop {r3, pc} nop _021ED504: .word gMain _021ED508: .word 0x000005DD thumb_func_end MOD16_021ED4C8 thumb_func_start MOD16_021ED50C MOD16_021ED50C: ; 0x021ED50C push {r3, r4, r5, lr} add r5, r1, #0 add r4, r0, #0 ldr r0, [r5, #0xc] bl MOD16_021E95C8 cmp r0, #1 bne _021ED544 ldr r0, [r5, #4] cmp r0, #0 bne _021ED534 mov r0, #0x60 str r0, [sp] add r0, r4, #0 mov r1, #0xbc mov r2, #0x78 mov r3, #0x68 bl MOD16_021ED548 pop {r3, r4, r5, pc} _021ED534: mov r0, #0x60 str r0, [sp] add r0, r4, #0 mov r1, #0x44 mov r2, #0x78 mov r3, #0x68 bl MOD16_021ED548 _021ED544: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ED50C thumb_func_start MOD16_021ED548 MOD16_021ED548: ; 0x021ED548 push {r3, r4, lr} sub sp, #4 thumb_func_end MOD16_021ED548 thumb_func_start MOD16_021ED54C MOD16_021ED54C: ; 0x021ED54C ldr r4, [sp, #0x10] str r4, [sp] ldr r0, [r0] bl MOD16_021D8B04 add sp, #4 pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021ED54C thumb_func_start MOD16_021ED55C MOD16_021ED55C: ; 0x021ED55C push {r3, r4, r5, r6, r7, lr} add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 add r0, r7, #0 bl MOD16_021ED5C8 add r4, r0, #0 add r0, r7, #0 add r1, r6, #0 bl MOD16_021ED604 str r4, [r5] str r0, [r5, #4] mov r0, #0 str r0, [r5, #0x20] bl MOD16_021ED67C str r0, [r5, #0x24] ldr r0, _021ED59C ; =MOD16_021ED680 str r0, [r5, #8] ldr r0, _021ED5A0 ; =MOD16_021ED6EC str r0, [r5, #0xc] ldr r0, _021ED5A4 ; =MOD16_021ED6FC str r0, [r5, #0x10] ldr r0, _021ED5A8 ; =MOD16_021ED710 str r0, [r5, #0x14] ldr r0, _021ED5AC ; =MOD16_021ED7B4 str r0, [r5, #0x18] ldr r0, _021ED5B0 ; =MOD16_021ED874 str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021ED59C: .word MOD16_021ED680 _021ED5A0: .word MOD16_021ED6EC _021ED5A4: .word MOD16_021ED6FC _021ED5A8: .word MOD16_021ED710 _021ED5AC: .word MOD16_021ED7B4 _021ED5B0: .word MOD16_021ED874 thumb_func_end MOD16_021ED55C thumb_func_start MOD16_021ED5B4 MOD16_021ED5B4: ; 0x021ED5B4 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021ED648 ldr r0, [r4, #4] bl MOD16_021ED65C pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ED5B4 thumb_func_start MOD16_021ED5C8 MOD16_021ED5C8: ; 0x021ED5C8 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #8 bl AllocFromHeap add r4, r0, #0 bne _021ED5DA bl GF_AssertFail _021ED5DA: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4] add r0, r5, #0 mov r1, #5 bl MOD16_021D7B5C str r0, [r4, #4] add r0, r4, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021ED5C8 thumb_func_start MOD16_021ED604 MOD16_021ED604: ; 0x021ED604 push {r4, r5, r6, lr} add r6, r1, #0 mov r1, #0x20 add r5, r0, #0 bl AllocFromHeap add r4, r0, #0 bne _021ED618 bl GF_AssertFail _021ED618: add r0, r4, #0 mov r1, #0 mov r2, #0x20 bl memset add r0, r6, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 add r1, r5, #0 bl MOD16_021EE090 add r0, r4, #0 add r1, r5, #0 bl MOD16_021EE110 ldr r0, [r4, #0xc] mov r1, #0 bl FUN_02013EB0 add r0, r4, #0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021ED604 thumb_func_start MOD16_021ED648 MOD16_021ED648: ; 0x021ED648 push {r4, lr} add r4, r0, #0 bne _021ED652 bl GF_AssertFail _021ED652: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ED648 thumb_func_start MOD16_021ED65C MOD16_021ED65C: ; 0x021ED65C push {r4, lr} add r4, r0, #0 bne _021ED666 bl GF_AssertFail _021ED666: add r0, r4, #0 bl MOD16_021EE0F0 add r0, r4, #0 bl MOD16_021EE14C add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ED65C thumb_func_start MOD16_021ED67C MOD16_021ED67C: ; 0x021ED67C mov r0, #0 bx lr thumb_func_end MOD16_021ED67C thumb_func_start MOD16_021ED680 MOD16_021ED680: ; 0x021ED680 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r6, #4] add r5, r1, #0 mov r1, #8 bl AllocFromHeap add r4, r0, #0 bne _021ED696 bl GF_AssertFail _021ED696: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] strb r0, [r4, #4] strb r0, [r4, #5] strb r0, [r4, #6] strb r0, [r4, #7] str r4, [r6, #8] ldr r0, [r5] bl MOD16_021D9DE8 add r1, r0, #0 ldr r2, [r5] ldr r0, _021ED6E8 ; =0x00001748 ldr r0, [r2, r0] bl FUN_02087B78 add r6, r0, #0 ldr r0, [r5] bl MOD16_021D9F4C cmp r0, #0 bne _021ED6CC mov r0, #0x5f b _021ED6CE _021ED6CC: mov r0, #0x55 _021ED6CE: lsl r0, r0, #2 cmp r6, r0 blt _021ED6DC sub r0, r6, r0 str r0, [r4] mov r0, #1 b _021ED6E2 _021ED6DC: sub r0, r0, r6 str r0, [r4] mov r0, #0 _021ED6E2: str r0, [r4, #4] mov r0, #1 pop {r4, r5, r6, pc} .align 2, 0 _021ED6E8: .word 0x00001748 thumb_func_end MOD16_021ED680 thumb_func_start MOD16_021ED6EC MOD16_021ED6EC: ; 0x021ED6EC ldr r0, [r0, #0xc] cmp r0, #1 bne _021ED6F6 mov r0, #1 bx lr _021ED6F6: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021ED6EC thumb_func_start MOD16_021ED6FC MOD16_021ED6FC: ; 0x021ED6FC push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] mov r0, #1 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021ED6FC thumb_func_start MOD16_021ED710 MOD16_021ED710: ; 0x021ED710 push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r1, #0 add r7, r0, #0 ldr r0, [r4] str r2, [sp, #4] ldr r6, [r3, #8] ldr r5, [r4, #8] cmp r0, #3 bhi _021ED7A8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021ED730: ; jump table .short _021ED738 - _021ED730 - 2 ; case 0 .short _021ED75A - _021ED730 - 2 ; case 1 .short _021ED77C - _021ED730 - 2 ; case 2 .short _021ED792 - _021ED730 - 2 ; case 3 _021ED738: ldr r0, [r4, #4] mov r1, #0xc4 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0xc4 bl memset ldr r0, [r4, #8] mov r1, #1 add r0, #0xb8 str r1, [r0] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED7A8 _021ED75A: ldr r0, [r4, #4] add r1, r7, #0 str r0, [sp] add r0, r5, #0 add r3, r6, #0 bl MOD16_021ED9E0 ldr r2, [sp, #4] add r0, r5, #0 add r1, r7, #0 mov r3, #1 bl MOD16_021ED8FC ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED7A8 _021ED77C: add r0, r5, #0 add r1, r7, #0 mov r3, #1 bl MOD16_021ED984 cmp r0, #0 beq _021ED7A8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED7A8 _021ED792: ldr r0, _021ED7B0 ; =0x021FF60C ldr r2, [r6] mov r1, #0x11 bl MOD16_021EE5A8 str r0, [r5, #0x34] ldr r0, [r6, #4] add sp, #8 str r0, [r5, #0x38] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021ED7A8: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _021ED7B0: .word MOD16_021FF60C thumb_func_end MOD16_021ED710 thumb_func_start MOD16_021ED7B4 MOD16_021ED7B4: ; 0x021ED7B4 push {r3, r4, lr} sub sp, #4 add r4, r1, #0 ldr r1, [r4] add r2, r0, #0 ldr r0, [r4, #8] cmp r1, #7 bhi _021ED86C add r3, r1, r1 add r3, pc ldrh r3, [r3, #6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _021ED7D0: ; jump table .short _021ED7E0 - _021ED7D0 - 2 ; case 0 .short _021ED7FA - _021ED7D0 - 2 ; case 1 .short _021ED80A - _021ED7D0 - 2 ; case 2 .short _021ED818 - _021ED7D0 - 2 ; case 3 .short _021ED830 - _021ED7D0 - 2 ; case 4 .short _021ED83E - _021ED7D0 - 2 ; case 5 .short _021ED860 - _021ED7D0 - 2 ; case 6 .short _021ED86C - _021ED7D0 - 2 ; case 7 _021ED7E0: add r1, r0, #0 mov r2, #1 add r1, #0xb8 str r2, [r1] ldr r0, [r0, #0x34] ldr r0, [r0, #4] cmp r0, #0 beq _021ED7F4 str r2, [r4] b _021ED86C _021ED7F4: mov r0, #3 str r0, [r4] b _021ED86C _021ED7FA: add r1, r2, #0 ldr r2, [r0, #0x38] bl MOD16_021EE158 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED86C _021ED80A: add r0, #0xb8 ldr r0, [r0] cmp r0, #1 bne _021ED86C add r0, r1, #1 str r0, [r4] b _021ED86C _021ED818: ldr r3, [r0, #0x34] ldr r1, [r0, #0x38] str r1, [sp] add r1, r2, #0 ldrh r2, [r3, #8] ldrh r3, [r3, #0xa] bl MOD16_021EE358 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED86C _021ED830: add r0, #0xb8 ldr r0, [r0] cmp r0, #1 bne _021ED86C add r0, r1, #1 str r0, [r4] b _021ED86C _021ED83E: ldr r2, [r0, #0x34] ldr r1, [r2, #0xc] cmp r1, #0 beq _021ED85A ldr r1, [r2, #0x10] ldr r2, [r0, #0x38] lsl r1, r1, #0x10 asr r1, r1, #0x10 bl MOD16_021EE428 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED86C _021ED85A: mov r0, #7 str r0, [r4] b _021ED86C _021ED860: add r0, #0xb8 ldr r0, [r0] cmp r0, #1 bne _021ED86C add r0, r1, #1 str r0, [r4] _021ED86C: mov r0, #0 add sp, #4 pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021ED7B4 thumb_func_start MOD16_021ED874 MOD16_021ED874: ; 0x021ED874 push {r4, lr} add r4, r1, #0 ldr r1, [r4] add r3, r0, #0 ldr r0, [r4, #8] cmp r1, #4 bhi _021ED8F0 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021ED88E: ; jump table .short _021ED898 - _021ED88E - 2 ; case 0 .short _021ED8A8 - _021ED88E - 2 ; case 1 .short _021ED8BC - _021ED88E - 2 ; case 2 .short _021ED8CA - _021ED88E - 2 ; case 3 .short _021ED8EC - _021ED88E - 2 ; case 4 _021ED898: add r1, r3, #0 mov r3, #0 bl MOD16_021ED8FC ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED8F0 _021ED8A8: add r1, r3, #0 mov r3, #0 bl MOD16_021ED984 cmp r0, #0 beq _021ED8F0 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED8F0 _021ED8BC: add r1, r3, #0 bl MOD16_021EDA3C ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED8F0 _021ED8CA: add r1, r0, #0 add r1, #0xb8 ldr r1, [r1] cmp r1, #0 bne _021ED8DA ldr r0, [r0, #0x3c] bl FUN_0200CAB4 _021ED8DA: ldr r0, [r4, #8] bl FreeToHeap mov r0, #0 str r0, [r4, #8] ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021ED8F0 _021ED8EC: mov r0, #1 pop {r4, pc} _021ED8F0: mov r0, #0 pop {r4, pc} thumb_func_end MOD16_021ED874 thumb_func_start MOD16_021ED8F4 MOD16_021ED8F4: ; 0x021ED8F4 bx lr .align 2, 0 thumb_func_end MOD16_021ED8F4 thumb_func_start MOD16_021ED8F8 MOD16_021ED8F8: ; 0x021ED8F8 bx lr .align 2, 0 thumb_func_end MOD16_021ED8F8 thumb_func_start MOD16_021ED8FC MOD16_021ED8FC: ; 0x021ED8FC push {r4, r5, r6, r7, lr} sub sp, #0x14 add r4, r2, #0 add r7, r0, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021ED8F4 ldr r0, [r4, #4] bl MOD16_021E8C68 cmp r0, #0 beq _021ED97E cmp r6, #0 beq _021ED95C mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2b str r0, [sp, #8] str r3, [sp, #0xc] str r3, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A48 add r1, r0, #0 neg r1, r1 lsl r1, r1, #0x18 add r0, r7, #0 lsr r1, r1, #0x18 mov r2, #0 bl MOD16_021EE5D0 add sp, #0x14 pop {r4, r5, r6, r7, pc} _021ED95C: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2b str r0, [sp, #8] str r2, [sp, #0xc] str r2, [sp, #0x10] mov r0, #0x5b ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021ED97E: add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021ED8FC thumb_func_start MOD16_021ED984 MOD16_021ED984: ; 0x021ED984 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r2, #4] add r4, r1, #0 add r6, r3, #0 bl MOD16_021E8C68 cmp r0, #0 ldr r1, [r4] beq _021ED9A4 mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D89B4 b _021ED9AE _021ED9A4: mov r0, #0x5b lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A7C _021ED9AE: cmp r0, #0 beq _021ED9C0 cmp r6, #0 beq _021ED9BC add r0, r5, #0 bl MOD16_021ED8F8 _021ED9BC: mov r0, #1 pop {r4, r5, r6, pc} _021ED9C0: mov r0, #0x5b ldr r1, [r4] lsl r0, r0, #2 add r0, r1, r0 bl MOD16_021D8A48 add r1, r0, #0 neg r1, r1 lsl r1, r1, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 mov r2, #0 bl MOD16_021EE5D0 mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021ED984 thumb_func_start MOD16_021ED9E0 MOD16_021ED9E0: ; 0x021ED9E0 push {r3, r4, r5, r6, r7, lr} ldr r4, [sp, #0x18] add r7, r2, #0 add r5, r1, #0 add r6, r0, #0 add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 bl MOD16_021EDA7C add r0, r5, #0 add r1, r4, #0 bl MOD16_021EDEC8 add r0, r5, #0 add r1, r7, #0 add r2, r4, #0 bl MOD16_021EDF78 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 add r3, r4, #0 bl MOD16_021EDAE4 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 add r3, r4, #0 bl MOD16_021EDD04 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 add r3, r4, #0 bl MOD16_021EDEC0 ldr r0, [r5, #0xc] mov r1, #0 bl FUN_02013F2C ldr r0, [r5, #0xc] mov r1, #1 bl FUN_02013EB0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021ED9E0 thumb_func_start MOD16_021EDA3C MOD16_021EDA3C: ; 0x021EDA3C push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 bl MOD16_021EDEC4 add r0, r5, #0 bl MOD16_021EDE9C add r0, r5, #0 add r1, r4, #0 bl MOD16_021EDC70 ldr r0, [r4] mov r1, #0 add r0, r0, #4 bl FillWindowPixelBuffer ldr r0, [r4] mov r1, #1 ldr r0, [r0] bl FUN_02018744 ldr r0, [r4, #0xc] mov r1, #0 bl FUN_02013EB0 ldr r0, [r4, #0xc] mov r1, #0 bl FUN_02013F2C pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EDA3C thumb_func_start MOD16_021EDA7C MOD16_021EDA7C: ; 0x021EDA7C push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] add r5, r2, #0 str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x21 mov r3, #3 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x49 mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #3 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EDA7C thumb_func_start MOD16_021EDAE4 MOD16_021EDAE4: ; 0x021EDAE4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r5, r0, #0 add r0, r2, #0 add r7, r1, #0 ldr r0, [r0] str r2, [sp, #0x10] add r4, r3, #0 ldr r6, [r7] bl MOD16_021D9DE8 str r0, [sp, #0x1c] ldr r0, [r7] bl MOD16_021D8C70 add r7, r0, #0 ldr r0, [sp, #0x10] ldr r1, [sp, #0x1c] ldr r0, [r0] bl MOD16_021D9964 add r2, r0, #0 ldr r0, [sp, #0x1c] mov r1, #0 bl FUN_0206B6D4 str r0, [sp, #0x20] bl FUN_0206B888 str r0, [sp, #0x24] bl FUN_0206B88C str r0, [sp, #0x18] bl FUN_0206B898 str r0, [sp, #0x14] mov r0, #0x7d lsl r0, r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] ldr r2, [sp, #0x20] mov r1, #0x13 mov r3, #0 bl FUN_02008F34 str r0, [r5, #0x14] bl FUN_02009B78 ldr r0, [r5, #0x14] bl FUN_02009474 mov r0, #0x7d lsl r0, r0, #6 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #3 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] ldr r2, [sp, #0x24] mov r1, #0x13 mov r3, #0 bl FUN_02008FEC str r0, [r5, #0x18] bl FUN_02009D68 cmp r0, #0 bne _021EDB82 bl GF_AssertFail _021EDB82: add r0, r4, #0 mov r1, #0x60 bl AllocFromHeap add r1, r5, #0 add r1, #0xbc str r0, [r1] mov r0, #0x7d lsl r0, r0, #6 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] ldr r2, [sp, #0x18] mov r1, #0x13 mov r3, #0 bl FUN_020090AC str r0, [r5, #0x1c] mov r0, #0x7d lsl r0, r0, #6 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] ldr r2, [sp, #0x14] mov r1, #0x13 mov r3, #0 bl FUN_020090AC str r0, [r5, #0x20] ldr r0, _021EDC60 ; =0x00001BB5 mov r3, #1 str r0, [sp] str r3, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] add r1, r7, #0 mov r2, #0x5d bl FUN_020091E0 str r0, [r5, #0x24] bl FUN_02009B04 ldr r0, [r5, #0x24] bl FUN_02009474 ldr r0, _021EDC64 ; =0x00001B66 add r1, r7, #0 str r0, [sp] mov r0, #1 str r0, [sp, #4] mov r0, #5 str r0, [sp, #8] mov r0, #0x51 str r4, [sp, #0xc] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0xe mov r3, #0 bl FUN_02009298 str r0, [r5, #0x28] bl FUN_02009D68 add r0, r4, #0 mov r1, #0xa0 bl AllocFromHeap add r1, r5, #0 add r1, #0xc0 str r0, [r1] ldr r0, _021EDC68 ; =0x00001BB3 add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5b mov r3, #1 bl FUN_02009358 str r0, [r5, #0x2c] ldr r0, _021EDC6C ; =0x00001BB4 add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x5c mov r3, #1 bl FUN_02009358 str r0, [r5, #0x30] add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} nop _021EDC60: .word 0x00001BB5 _021EDC64: .word 0x00001B66 _021EDC68: .word 0x00001BB3 _021EDC6C: .word 0x00001BB4 thumb_func_end MOD16_021EDAE4 thumb_func_start MOD16_021EDC70 MOD16_021EDC70: ; 0x021EDC70 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #0x14] ldr r4, [r1] bl FUN_02009C0C ldr r0, [r5, #0x18] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x14] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x18] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x1c] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x20] bl FUN_02009490 ldr r0, [r5, #0x24] bl FUN_02009C0C ldr r0, [r5, #0x28] bl FUN_02009E04 mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #0x24] bl FUN_02009490 mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x28] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x2c] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x30] bl FUN_02009490 add r0, r5, #0 add r0, #0xbc ldr r0, [r0] bl FreeToHeap add r5, #0xc0 ldr r0, [r5] bl FreeToHeap pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EDC70 thumb_func_start MOD16_021EDD04 MOD16_021EDD04: ; 0x021EDD04 push {r3, r4, r5, r6, r7, lr} sub sp, #0x80 add r6, r2, #0 add r5, r0, #0 ldr r0, [r6] add r7, r3, #0 ldr r4, [r1] bl MOD16_021D9DE8 str r0, [sp, #0x2c] ldr r0, [r6] ldr r1, [sp, #0x2c] bl MOD16_021D9964 ldr r3, _021EDE98 ; =0x00001BB4 str r0, [sp, #0x30] mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r2, #0 str r2, [sp, #0xc] mov r0, #3 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 ldr r1, [r4, r0] str r1, [sp, #0x14] add r1, r0, #4 ldr r1, [r4, r1] str r1, [sp, #0x18] add r1, r0, #0 add r1, #8 ldr r1, [r4, r1] add r0, #0xc str r1, [sp, #0x1c] ldr r0, [r4, r0] add r1, r3, #1 str r0, [sp, #0x20] str r2, [sp, #0x24] str r2, [sp, #0x28] add r2, r3, #0 add r0, sp, #0x5c sub r2, #0x4e sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #1 str r0, [sp, #0x3c] add r0, sp, #0x5c str r0, [sp, #0x40] mov r0, #0x1f str r0, [sp, #0x50] mov r0, #0x2e lsl r0, r0, #0xe str r0, [sp, #0x44] lsl r0, r1, #0x12 str r0, [sp, #0x48] str r1, [sp, #0x54] str r7, [sp, #0x58] add r0, sp, #0x3c bl FUN_0201FF84 str r0, [r5] ldr r0, [r6] bl MOD16_021D9F4C cmp r0, #0 ldr r0, [r5] bne _021EDDA0 mov r1, #3 bl FUN_02020130 b _021EDDA6 _021EDDA0: mov r1, #4 bl FUN_02020130 _021EDDA6: mov r0, #2 lsl r0, r0, #0x12 str r0, [sp, #0x44] mov r0, #0x6a lsl r0, r0, #0xc str r0, [sp, #0x48] add r0, sp, #0x3c bl FUN_0201FF84 str r0, [r5, #8] mov r1, #1 bl FUN_02020130 ldr r0, [r5, #8] mov r1, #1 bl FUN_02020238 mov r0, #0x2e lsl r0, r0, #0xe str r0, [sp, #0x44] mov r0, #0x16 lsl r0, r0, #0xe str r0, [sp, #0x48] add r0, sp, #0x3c bl FUN_0201FF84 mov r1, #0 str r0, [r5, #0xc] bl FUN_02020130 mov r0, #0x12 lsl r0, r0, #0xe str r0, [sp, #0x44] mov r0, #0x16 lsl r0, r0, #0xe str r0, [sp, #0x48] add r0, sp, #0x3c bl FUN_0201FF84 str r0, [r5, #0x10] mov r1, #0 bl FUN_02020130 ldr r0, [r5, #0x14] bl FUN_02009530 add r6, r0, #0 ldr r0, [r5, #0x18] bl FUN_02009530 str r0, [sp, #0x34] ldr r0, [r5, #0x1c] bl FUN_02009530 str r0, [sp, #0x38] ldr r0, [r5, #0x20] bl FUN_02009530 str r0, [sp] mov r0, #0 mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #3 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 ldr r2, [r4, r0] ldr r3, [sp, #0x38] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] ldr r2, [sp, #0x34] str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r0, sp, #0x5c add r1, r6, #0 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] str r0, [sp, #0x3c] add r0, sp, #0x5c str r0, [sp, #0x40] mov r0, #0x1f str r0, [sp, #0x50] mov r0, #0x12 mov r1, #1 lsl r0, r0, #0xe str r0, [sp, #0x44] lsl r0, r1, #0x12 str r0, [sp, #0x48] str r1, [sp, #0x54] str r7, [sp, #0x58] add r0, sp, #0x3c bl FUN_0201FF84 str r0, [r5, #4] ldr r0, [sp, #0x2c] ldr r1, [sp, #0x30] mov r2, #0 bl FUN_0206B7BC add r1, r0, #0 ldr r0, [r5, #4] bl FUN_0202027C add sp, #0x80 pop {r3, r4, r5, r6, r7, pc} nop _021EDE98: .word 0x00001BB4 thumb_func_end MOD16_021EDD04 thumb_func_start MOD16_021EDE9C MOD16_021EDE9C: ; 0x021EDE9C push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0201FFC8 ldr r0, [r4, #4] bl FUN_0201FFC8 ldr r0, [r4, #8] bl FUN_0201FFC8 ldr r0, [r4, #0xc] bl FUN_0201FFC8 ldr r0, [r4, #0x10] bl FUN_0201FFC8 pop {r4, pc} thumb_func_end MOD16_021EDE9C thumb_func_start MOD16_021EDEC0 MOD16_021EDEC0: ; 0x021EDEC0 bx lr .align 2, 0 thumb_func_end MOD16_021EDEC0 thumb_func_start MOD16_021EDEC4 MOD16_021EDEC4: ; 0x021EDEC4 bx lr .align 2, 0 thumb_func_end MOD16_021EDEC4 thumb_func_start MOD16_021EDEC8 MOD16_021EDEC8: ; 0x021EDEC8 push {r4, r5, r6, lr} sub sp, #0x10 add r5, r0, #0 mov r0, #0x20 add r6, r1, #0 bl String_ctor add r4, r0, #0 ldr r2, _021EDF70 ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r6, #0 bl NewMsgDataFromNarc mov r1, #0x2c add r2, r4, #0 add r6, r0, #0 bl ReadMsgDataIntoString mov r0, #0 mov r3, #1 add r1, r4, #0 add r2, r0, #0 lsl r3, r3, #8 bl FUN_02002F40 add r3, r0, #0 mov r0, #0x18 str r0, [sp] mov r1, #0 ldr r0, _021EDF74 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 add r0, r6, #0 mov r1, #0xa add r2, r4, #0 bl ReadMsgDataIntoString mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EDF74 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 mov r3, #0x20 bl AddTextPrinterParameterized2 add r0, r6, #0 mov r1, #0xa add r2, r4, #0 bl ReadMsgDataIntoString mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EDF74 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 mov r3, #0x98 bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r6, #0 bl DestroyMsgData add sp, #0x10 pop {r4, r5, r6, pc} nop _021EDF70: .word 0x00000266 _021EDF74: .word 0x00020100 thumb_func_end MOD16_021EDEC8 thumb_func_start MOD16_021EDF78 MOD16_021EDF78: ; 0x021EDF78 push {r4, r5, r6, r7, lr} sub sp, #0x1c add r7, r2, #0 add r5, r0, #0 add r6, r1, #0 mov r0, #0x20 add r1, r7, #0 bl String_ctor add r4, r0, #0 ldr r2, _021EE084 ; =0x0000026B mov r0, #0 mov r1, #0x1a add r3, r7, #0 bl NewMsgDataFromNarc str r0, [sp, #0x10] ldr r0, [r6] bl MOD16_021D9DE8 add r1, r7, #0 str r0, [sp, #0x14] bl GetSpeciesName str r0, [sp, #0x18] mov r0, #0x98 str r0, [sp] mov r1, #0 ldr r0, _021EE088 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] ldr r2, [sp, #0x18] add r0, r0, #4 mov r3, #0x1a bl AddTextPrinterParameterized2 ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] add r2, r4, #0 bl ReadMsgDataIntoString mov r0, #0 add r1, r4, #0 add r2, r0, #0 bl FUN_02002E14 mov r1, #0x6e sub r3, r1, r0 mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EE088 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 ldr r0, [sp, #0x18] bl String_dtor ldr r0, [sp, #0x10] bl DestroyMsgData ldr r2, _021EE08C ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r7, #0 bl NewMsgDataFromNarc add r7, r0, #0 ldr r0, [r6] bl MOD16_021D9F40 add r2, r0, #0 mov r0, #0x98 str r0, [sp] mov r1, #0 ldr r0, _021EE088 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] mov r3, #0x92 add r0, r0, #4 bl AddTextPrinterParameterized2 ldr r0, [r6] bl MOD16_021D9F4C cmp r0, #0 bne _021EE044 add r0, r7, #0 mov r1, #0x61 add r2, r4, #0 bl ReadMsgDataIntoString b _021EE04E _021EE044: add r0, r7, #0 mov r1, #0x62 add r2, r4, #0 bl ReadMsgDataIntoString _021EE04E: mov r0, #0 add r1, r4, #0 add r2, r0, #0 bl FUN_02002E14 mov r1, #0xe6 sub r3, r1, r0 mov r0, #0xa8 str r0, [sp] mov r1, #0 ldr r0, _021EE088 ; =0x00020100 str r1, [sp, #4] str r0, [sp, #8] str r1, [sp, #0xc] ldr r0, [r5] add r2, r4, #0 add r0, r0, #4 bl AddTextPrinterParameterized2 add r0, r4, #0 bl String_dtor add r0, r7, #0 bl DestroyMsgData add sp, #0x1c pop {r4, r5, r6, r7, pc} .align 2, 0 _021EE084: .word 0x0000026B _021EE088: .word 0x00020100 _021EE08C: .word 0x00000266 thumb_func_end MOD16_021EDF78 thumb_func_start MOD16_021EE090 MOD16_021EE090: ; 0x021EE090 push {r3, r4, r5, lr} sub sp, #0x18 add r5, r1, #0 add r4, r0, #0 str r5, [sp] add r3, r4, #0 ldr r0, [r4] mov r1, #0x24 mov r2, #1 add r3, #0x18 bl MOD16_021D8D98 str r0, [r4, #0x10] add r2, r4, #0 ldr r0, [r4] mov r1, #6 add r2, #0x1c add r3, r5, #0 bl MOD16_021D8D70 str r0, [r4, #0x14] mov r0, #0x5a ldr r1, [r4] lsl r0, r0, #2 ldr r0, [r1, r0] str r0, [sp, #4] ldr r0, [r4, #0x18] str r0, [sp, #8] add r0, sp, #4 bl FUN_02013D98 str r0, [r4, #4] mov r0, #0x5a ldr r1, [r4] lsl r0, r0, #2 ldr r0, [r1, r0] str r0, [sp, #0xc] ldr r0, [r4, #0x1c] str r0, [sp, #0x10] mov r0, #0x10 str r0, [sp, #0x14] add r0, sp, #0xc bl FUN_02013E14 str r0, [r4, #8] add sp, #0x18 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EE090 thumb_func_start MOD16_021EE0F0 MOD16_021EE0F0: ; 0x021EE0F0 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #4] bl FUN_02013DD4 ldr r0, [r4, #8] bl FUN_02013E44 ldr r0, [r4, #0x10] bl FreeToHeap ldr r0, [r4, #0x14] bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EE0F0 thumb_func_start MOD16_021EE110 MOD16_021EE110: ; 0x021EE110 push {r4, lr} sub sp, #0x20 add r4, r0, #0 mov r0, #0x5a ldr r1, [r4] lsl r0, r0, #2 ldr r0, [r1, r0] mov r1, #0x40 str r0, [sp] ldr r0, [r4, #4] mov r2, #0 str r0, [sp, #4] ldr r0, [r4, #8] str r0, [sp, #8] add r0, sp, #0 strh r1, [r0, #0xc] mov r1, #0x58 strh r1, [r0, #0xe] strh r2, [r0, #0x10] mov r1, #0x1f str r1, [sp, #0x14] str r2, [sp, #0x18] strh r2, [r0, #0x1c] add r0, sp, #0 bl FUN_02013E84 str r0, [r4, #0xc] add sp, #0x20 pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EE110 thumb_func_start MOD16_021EE14C MOD16_021EE14C: ; 0x021EE14C ldr r3, _021EE154 ; =FUN_02013EA8 ldr r0, [r0, #0xc] bx r3 nop _021EE154: .word FUN_02013EA8 thumb_func_end MOD16_021EE14C thumb_func_start MOD16_021EE158 MOD16_021EE158: ; 0x021EE158 push {r4, lr} add r4, r0, #0 ldr r0, [r1, #0xc] mov r1, #0 str r0, [r4, #0x40] ldr r0, [r4, #0xc] str r0, [r4, #0x44] ldr r0, [r4, #0x10] str r0, [r4, #0x48] ldr r0, [r4] str r0, [r4, #0x4c] ldr r0, [r4, #4] str r0, [r4, #0x50] add r0, r4, #0 str r1, [r4, #0x6c] add r0, #0xb8 str r0, [r4, #0x70] add r0, r4, #0 add r0, #0xb8 str r1, [r0] cmp r2, #0 bne _021EE188 sub r0, r1, #1 b _021EE18A _021EE188: mov r0, #1 _021EE18A: str r0, [r4, #0x54] add r1, r4, #0 ldr r0, _021EE19C ; =MOD16_021EE1A0 add r1, #0x40 mov r2, #0 bl FUN_0200CA44 str r0, [r4, #0x3c] pop {r4, pc} .align 2, 0 _021EE19C: .word MOD16_021EE1A0 thumb_func_end MOD16_021EE158 thumb_func_start MOD16_021EE1A0 MOD16_021EE1A0: ; 0x021EE1A0 push {r4, lr} add r4, r1, #0 ldr r1, [r4, #0x2c] cmp r1, #5 bhi _021EE248 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021EE1B6: ; jump table .short _021EE1C2 - _021EE1B6 - 2 ; case 0 .short _021EE1CA - _021EE1B6 - 2 ; case 1 .short _021EE1D2 - _021EE1B6 - 2 ; case 2 .short _021EE1F4 - _021EE1B6 - 2 ; case 3 .short _021EE214 - _021EE1B6 - 2 ; case 4 .short _021EE23E - _021EE1B6 - 2 ; case 5 _021EE1C2: mov r0, #2 str r0, [r4, #0x18] str r0, [r4, #0x2c] pop {r4, pc} _021EE1CA: add r0, r4, #0 bl MOD16_021EE254 pop {r4, pc} _021EE1D2: ldr r1, [r4, #0x14] ldr r0, _021EE24C ; =0xFFFFFDDE mul r0, r1 str r0, [r4, #0x24] mov r0, #0xb5 ldr r1, [r4, #0x14] mvn r0, r0 mul r0, r1 str r0, [r4, #0x20] mov r0, #3 str r0, [r4, #0x28] mov r0, #1 str r0, [r4, #0x2c] add r0, r4, #0 bl MOD16_021EE254 pop {r4, pc} _021EE1F4: ldr r1, [r4, #0x14] ldr r0, _021EE250 ; =0x00000222 mul r0, r1 str r0, [r4, #0x24] ldr r1, [r4, #0x14] mov r0, #0xb6 mul r0, r1 str r0, [r4, #0x20] mov r0, #4 str r0, [r4, #0x28] mov r0, #1 str r0, [r4, #0x2c] add r0, r4, #0 bl MOD16_021EE254 pop {r4, pc} _021EE214: mov r1, #0 str r1, [r4, #0x24] ldr r0, [r4, #0x14] sub r1, #0xb6 mul r1, r0 str r1, [r4, #0x20] mov r0, #1 str r0, [r4, #0x2c] ldr r0, [r4, #0x18] sub r0, r0, #1 str r0, [r4, #0x18] cmp r0, #0 ble _021EE232 mov r0, #2 b _021EE234 _021EE232: mov r0, #5 _021EE234: str r0, [r4, #0x28] add r0, r4, #0 bl MOD16_021EE254 pop {r4, pc} _021EE23E: bl FUN_0200CAB4 ldr r0, [r4, #0x30] mov r1, #1 str r1, [r0] _021EE248: pop {r4, pc} nop _021EE24C: .word 0xFFFFFDDE _021EE250: .word 0x00000222 thumb_func_end MOD16_021EE1A0 thumb_func_start MOD16_021EE254 MOD16_021EE254: ; 0x021EE254 push {r3, lr} sub sp, #8 add r3, r0, #0 ldr r2, [r3, #0x20] ldr r1, [r3, #0x24] cmp r2, #0 bge _021EE276 ldr r0, [r3, #0x1c] add r0, r0, r2 cmp r0, r1 blt _021EE26E str r0, [r3, #0x1c] b _021EE288 _021EE26E: str r1, [r3, #0x1c] ldr r0, [r3, #0x28] str r0, [r3, #0x2c] b _021EE288 _021EE276: ldr r0, [r3, #0x1c] add r0, r0, r2 cmp r0, r1 bgt _021EE282 str r0, [r3, #0x1c] b _021EE288 _021EE282: str r1, [r3, #0x1c] ldr r0, [r3, #0x28] str r0, [r3, #0x2c] _021EE288: ldr r0, [r3, #0x10] str r0, [sp] ldr r0, [r3, #0x1c] lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #4] ldr r0, [r3] ldr r1, [r3, #4] ldr r2, [r3, #8] ldr r3, [r3, #0xc] bl MOD16_021EE2A4 add sp, #8 pop {r3, pc} thumb_func_end MOD16_021EE254 thumb_func_start MOD16_021EE2A4 MOD16_021EE2A4: ; 0x021EE2A4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r6, r1, #0 add r1, sp, #0x18 ldrh r1, [r1, #0x14] add r7, r2, #0 str r3, [sp] bl FUN_02013F2C add r0, sp, #0x18 ldrh r0, [r0, #0x14] mov r2, #0xe lsl r2, r2, #0xe asr r0, r0, #4 lsl r4, r0, #1 add r0, r4, #1 lsl r1, r0, #1 ldr r0, _021EE354 ; =FX_SinCosTable_ mov r3, #0 ldrsh r0, [r0, r1] asr r1, r0, #0x1f bl _ll_mul mov r2, #2 mov r3, #0 lsl r2, r2, #0xa add r2, r0, r2 adc r1, r3 lsl r0, r1, #0x14 lsr r5, r2, #0xc orr r5, r0 mov r2, #0xe ldr r0, _021EE354 ; =FX_SinCosTable_ lsl r1, r4, #1 ldrsh r0, [r0, r1] lsl r2, r2, #0xe asr r1, r0, #0x1f bl _ll_mul mov r2, #2 lsl r2, r2, #0xa mov r3, #0 add r0, r0, r2 adc r1, r3 lsr r4, r0, #0xc lsl r0, r2, #8 lsl r1, r1, #0x14 add r0, r5, r0 orr r4, r1 str r0, [sp, #4] lsl r0, r2, #7 add r0, r4, r0 str r0, [sp, #8] ldr r0, [sp] add r1, sp, #4 bl FUN_02020044 mov r0, #6 ldr r1, [sp, #8] lsl r0, r0, #0xe add r0, r1, r0 str r0, [sp, #8] add r0, r6, #0 add r1, sp, #4 bl FUN_02020044 mov r0, #2 lsl r0, r0, #0x12 sub r1, r0, r5 lsr r0, r0, #1 sub r0, r0, r4 str r0, [sp, #8] str r1, [sp, #4] ldr r0, [sp, #0x28] add r1, sp, #4 bl FUN_02020044 mov r0, #6 ldr r1, [sp, #8] lsl r0, r0, #0xe add r0, r1, r0 str r0, [sp, #8] add r0, r7, #0 add r1, sp, #4 bl FUN_02020044 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EE354: .word FX_SinCosTable_ thumb_func_end MOD16_021EE2A4 thumb_func_start MOD16_021EE358 MOD16_021EE358: ; 0x021EE358 push {r3, r4, r5, lr} add r4, r0, #0 ldr r0, [r1, #0xc] add r5, r4, #0 str r0, [r4, #0x74] ldr r0, [r4, #0xc] add r5, #0xb8 str r0, [r4, #0x78] ldr r0, [r4, #0x10] str r0, [r4, #0x7c] add r0, r4, #0 ldr r1, [r4] add r0, #0x80 str r1, [r0] add r0, r4, #0 ldr r1, [r4, #4] add r0, #0x84 str r1, [r0] add r1, r4, #0 mov r0, #0 add r1, #0x88 str r0, [r1] add r1, r4, #0 add r1, #0x94 str r5, [r1] add r1, r4, #0 add r1, #0xb8 str r0, [r1] ldr r0, [sp, #0x10] cmp r0, #0 bne _021EE3A4 add r0, r4, #0 add r0, #0x8c str r2, [r0] add r0, r4, #0 add r0, #0x90 str r3, [r0] b _021EE3B4 _021EE3A4: add r0, r4, #0 neg r1, r2 add r0, #0x8c str r1, [r0] add r0, r4, #0 neg r1, r3 add r0, #0x90 str r1, [r0] _021EE3B4: add r1, r4, #0 ldr r0, _021EE3C4 ; =MOD16_021EE3C8 add r1, #0x74 mov r2, #0 bl FUN_0200CA44 str r0, [r4, #0x3c] pop {r3, r4, r5, pc} .align 2, 0 _021EE3C4: .word MOD16_021EE3C8 thumb_func_end MOD16_021EE358 thumb_func_start MOD16_021EE3C8 MOD16_021EE3C8: ; 0x021EE3C8 push {r4, r5, r6, lr} sub sp, #8 add r5, r1, #0 add r6, r0, #0 ldr r0, [r5, #0x18] mov r4, #0 cmp r0, #0 ldr r2, [r5, #0x1c] bge _021EE3EC ldr r1, [r5, #0x14] add r0, r1, r0 cmp r0, r2 blt _021EE3E6 str r0, [r5, #0x14] b _021EE3FC _021EE3E6: str r2, [r5, #0x14] mov r4, #1 b _021EE3FC _021EE3EC: ldr r1, [r5, #0x14] add r0, r1, r0 cmp r0, r2 bgt _021EE3F8 str r0, [r5, #0x14] b _021EE3FC _021EE3F8: str r2, [r5, #0x14] mov r4, #1 _021EE3FC: ldr r0, [r5, #0x10] str r0, [sp] ldr r0, [r5, #0x14] lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #4] ldr r0, [r5] ldr r1, [r5, #4] ldr r2, [r5, #8] ldr r3, [r5, #0xc] bl MOD16_021EE2A4 cmp r4, #1 bne _021EE424 add r0, r6, #0 bl FUN_0200CAB4 ldr r0, [r5, #0x20] mov r1, #1 str r1, [r0] _021EE424: add sp, #8 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EE3C8 thumb_func_start MOD16_021EE428 MOD16_021EE428: ; 0x021EE428 push {r3, r4, r5, lr} add r5, r0, #0 add r4, r1, #0 cmp r2, #0 bne _021EE436 ldr r1, [r5, #4] b _021EE438 _021EE436: ldr r1, [r5] _021EE438: add r0, #0x98 str r1, [r0] neg r0, r4 lsl r1, r0, #1 add r0, r5, #0 add r0, #0xa8 str r1, [r0] add r0, r5, #0 add r0, #0x98 ldr r0, [r0] bl FUN_0202011C add r1, r5, #0 ldr r2, [r0] add r1, #0x9c str r2, [r1] ldr r1, [r0, #4] add r0, r5, #0 add r0, #0xa0 str r1, [r0] add r0, r5, #0 add r1, r5, #0 mov r2, #0 add r0, #0xac str r2, [r0] add r0, r5, #0 add r0, #0xa4 strh r4, [r0] add r0, r5, #0 add r0, #0xb0 str r2, [r0] add r0, r5, #0 add r1, #0xb8 add r0, #0xb4 str r1, [r0] add r0, r5, #0 add r0, #0xb8 str r2, [r0] add r1, r5, #0 ldr r0, _021EE494 ; =MOD16_021EE498 add r1, #0x98 bl FUN_0200CA44 str r0, [r5, #0x3c] pop {r3, r4, r5, pc} nop _021EE494: .word MOD16_021EE498 thumb_func_end MOD16_021EE428 thumb_func_start MOD16_021EE498 MOD16_021EE498: ; 0x021EE498 push {r4, r5, lr} sub sp, #0xc add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #0x18] cmp r0, #3 bhi _021EE5A2 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EE4B2: ; jump table .short _021EE4BA - _021EE4B2 - 2 ; case 0 .short _021EE50C - _021EE4B2 - 2 ; case 1 .short _021EE540 - _021EE4B2 - 2 ; case 2 .short _021EE586 - _021EE4B2 - 2 ; case 3 _021EE4BA: ldr r0, [r4, #0x14] add r3, r0, #1 str r3, [r4, #0x14] mov r0, #0xc ldrsh r0, [r4, r0] add r1, r3, #0 mul r1, r3 add r2, r0, #0 lsr r0, r1, #0x1f add r0, r1, r0 mul r2, r3 asr r0, r0, #1 add r2, r2, r0 ldr r0, [r4, #4] str r0, [sp] ldr r1, [r4, #8] lsl r0, r2, #0xc add r0, r1, r0 str r0, [sp, #4] ldr r0, [r4] add r1, sp, #0 bl FUN_02020044 ldr r1, [r4, #0x14] ldr r0, [r4, #0x10] cmp r1, r0 blt _021EE5A2 mov r0, #0 str r0, [r4, #0x14] mov r0, #0xc ldrsh r1, [r4, r0] add sp, #0xc lsr r0, r1, #0x1f add r0, r1, r0 asr r0, r0, #1 add r0, r0, #1 str r0, [r4, #0x10] ldr r0, [r4, #0x18] add r0, r0, #1 str r0, [r4, #0x18] pop {r4, r5, pc} _021EE50C: ldr r0, [r4, #0x14] cmp r0, #0 bne _021EE528 mov r0, #2 ldr r1, [r4, #4] lsl r0, r0, #0xc add r0, r1, r0 str r0, [sp] ldr r0, [r4, #8] add r1, sp, #0 str r0, [sp, #4] ldr r0, [r4] bl FUN_02020044 _021EE528: ldr r0, [r4, #0x14] add r0, r0, #1 str r0, [r4, #0x14] cmp r0, #1 ble _021EE5A2 mov r0, #0 str r0, [r4, #0x14] ldr r0, [r4, #0x18] add sp, #0xc add r0, r0, #1 str r0, [r4, #0x18] pop {r4, r5, pc} _021EE540: ldr r0, [r4, #0x14] cmp r0, #0 bne _021EE55C mov r0, #2 ldr r1, [r4, #4] lsl r0, r0, #0xc sub r0, r1, r0 str r0, [sp] ldr r0, [r4, #8] add r1, sp, #0 str r0, [sp, #4] ldr r0, [r4] bl FUN_02020044 _021EE55C: ldr r0, [r4, #0x14] add r0, r0, #1 str r0, [r4, #0x14] cmp r0, #1 ble _021EE5A2 ldr r0, [r4, #0x10] sub r0, r0, #1 str r0, [r4, #0x10] cmp r0, #0 ble _021EE57C mov r0, #0 str r0, [r4, #0x14] mov r0, #1 add sp, #0xc str r0, [r4, #0x18] pop {r4, r5, pc} _021EE57C: ldr r0, [r4, #0x18] add sp, #0xc add r0, r0, #1 str r0, [r4, #0x18] pop {r4, r5, pc} _021EE586: ldr r0, [r4, #4] add r1, sp, #0 str r0, [sp] ldr r0, [r4, #8] str r0, [sp, #4] ldr r0, [r4] bl FUN_02020044 add r0, r5, #0 bl FUN_0200CAB4 ldr r0, [r4, #0x1c] mov r1, #1 str r1, [r0] _021EE5A2: add sp, #0xc pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EE498 thumb_func_start MOD16_021EE5A8 MOD16_021EE5A8: ; 0x021EE5A8 push {r4, r5} mov r4, #0 cmp r1, #0 ble _021EE5CA add r5, r0, #0 _021EE5B2: ldr r3, [r5] cmp r3, r2 blt _021EE5C2 mov r1, #0x14 mul r1, r4 add r0, r0, r1 pop {r4, r5} bx lr _021EE5C2: add r4, r4, #1 add r5, #0x14 cmp r4, r1 blt _021EE5B2 _021EE5CA: mov r0, #0 pop {r4, r5} bx lr thumb_func_end MOD16_021EE5A8 thumb_func_start MOD16_021EE5D0 MOD16_021EE5D0: ; 0x021EE5D0 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r0, #0 ldr r0, [r5, #0x18] add r7, r1, #0 add r4, r2, #0 bl FUN_0200955C add r6, r0, #0 ldr r0, [r5, #0x18] mov r1, #0 bl FUN_02009E54 add r1, r5, #0 str r4, [sp] add r1, #0xbc str r0, [sp, #4] ldr r0, [r6, #0xc] ldr r1, [r1] mov r2, #0x30 add r3, r7, #0 bl FUN_02003974 ldr r0, [sp, #4] mov r1, #1 bl NNS_G2dGetImagePaletteLocation add r2, r5, #0 add r2, #0xbc add r1, r0, #0 ldr r2, [r2] mov r0, #0xe mov r3, #0x60 bl FUN_0201C2C8 ldr r0, [r5, #0x28] bl FUN_0200955C add r6, r0, #0 ldr r0, [r5, #0x28] mov r1, #0 bl FUN_02009E54 add r1, r5, #0 str r4, [sp] add r1, #0xc0 str r0, [sp, #8] ldr r0, [r6, #0xc] ldr r1, [r1] mov r2, #0x50 add r3, r7, #0 bl FUN_02003974 ldr r0, [sp, #8] mov r1, #1 bl NNS_G2dGetImagePaletteLocation add r5, #0xc0 add r1, r0, #0 ldr r2, [r5] mov r0, #0xe mov r3, #0xa0 bl FUN_0201C2C8 add sp, #0xc pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021EE5D0 thumb_func_start MOD16_021EE654 MOD16_021EE654: ; 0x021EE654 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 str r2, [sp] add r0, r2, #0 add r4, r1, #0 bl MOD16_021EE6CC add r6, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021EE714 add r7, r0, #0 ldr r0, [sp] add r1, r4, #0 bl MOD16_021EE73C str r6, [r5] str r7, [r5, #4] str r0, [r5, #0x20] bl MOD16_021EE76C str r0, [r5, #0x24] ldr r0, _021EE69C ; =MOD16_021EE770 str r0, [r5, #8] ldr r0, _021EE6A0 ; =MOD16_021EE7AC str r0, [r5, #0xc] ldr r0, _021EE6A4 ; =MOD16_021EE810 str r0, [r5, #0x10] ldr r0, _021EE6A8 ; =MOD16_021EE824 str r0, [r5, #0x14] ldr r0, _021EE6AC ; =MOD16_021EE8AC str r0, [r5, #0x18] ldr r0, _021EE6B0 ; =MOD16_021EE8DC str r0, [r5, #0x1c] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EE69C: .word MOD16_021EE770 _021EE6A0: .word MOD16_021EE7AC _021EE6A4: .word MOD16_021EE810 _021EE6A8: .word MOD16_021EE824 _021EE6AC: .word MOD16_021EE8AC _021EE6B0: .word MOD16_021EE8DC thumb_func_end MOD16_021EE654 thumb_func_start MOD16_021EE6B4 MOD16_021EE6B4: ; 0x021EE6B4 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl MOD16_021EE740 ldr r0, [r4, #4] bl MOD16_021EE754 ldr r0, [r4, #0x20] bl MOD16_021EE768 pop {r4, pc} thumb_func_end MOD16_021EE6B4 thumb_func_start MOD16_021EE6CC MOD16_021EE6CC: ; 0x021EE6CC push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #0x10 bl AllocFromHeap add r4, r0, #0 bne _021EE6DE bl GF_AssertFail _021EE6DE: add r2, r4, #0 mov r1, #0x10 mov r0, #0 _021EE6E4: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021EE6E4 add r0, r5, #0 bl MOD16_021D7AEC str r0, [r4] add r0, r5, #0 mov r1, #3 bl MOD16_021D7B7C str r0, [r4, #8] add r0, r5, #0 mov r1, #3 bl MOD16_021D7B5C str r0, [r4, #0xc] add r0, r5, #0 bl MOD16_021D7B38 str r0, [r4, #4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EE6CC thumb_func_start MOD16_021EE714 MOD16_021EE714: ; 0x021EE714 push {r3, r4, r5, lr} add r5, r1, #0 mov r1, #4 bl AllocFromHeap add r4, r0, #0 bne _021EE726 bl GF_AssertFail _021EE726: mov r0, #0 strb r0, [r4] strb r0, [r4, #1] strb r0, [r4, #2] strb r0, [r4, #3] add r0, r5, #0 bl MOD16_021D7B48 str r0, [r4] add r0, r4, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EE714 thumb_func_start MOD16_021EE73C MOD16_021EE73C: ; 0x021EE73C mov r0, #0 bx lr thumb_func_end MOD16_021EE73C thumb_func_start MOD16_021EE740 MOD16_021EE740: ; 0x021EE740 push {r4, lr} add r4, r0, #0 bne _021EE74A bl GF_AssertFail _021EE74A: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EE740 thumb_func_start MOD16_021EE754 MOD16_021EE754: ; 0x021EE754 push {r4, lr} add r4, r0, #0 bne _021EE75E bl GF_AssertFail _021EE75E: add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EE754 thumb_func_start MOD16_021EE768 MOD16_021EE768: ; 0x021EE768 bx lr .align 2, 0 thumb_func_end MOD16_021EE768 thumb_func_start MOD16_021EE76C MOD16_021EE76C: ; 0x021EE76C mov r0, #0 bx lr thumb_func_end MOD16_021EE76C thumb_func_start MOD16_021EE770 MOD16_021EE770: ; 0x021EE770 push {r4, r5, r6, lr} add r5, r0, #0 ldr r0, [r5, #4] add r6, r1, #0 mov r1, #0x18 bl AllocFromHeap add r4, r0, #0 add r2, r4, #0 mov r1, #0x18 mov r0, #0 _021EE786: strb r0, [r2] add r2, r2, #1 sub r1, r1, #1 bne _021EE786 mov r0, #4 str r0, [r4, #0x10] ldr r2, [r5, #4] add r0, r4, #0 add r1, r6, #0 bl MOD16_021EEA3C add r0, r4, #0 add r1, r6, #0 bl MOD16_021EEA88 str r4, [r5, #8] mov r0, #1 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EE770 thumb_func_start MOD16_021EE7AC MOD16_021EE7AC: ; 0x021EE7AC push {r3, r4, r5, lr} add r5, r1, #0 ldr r1, [r0, #0xc] ldr r4, [r0, #8] cmp r1, #1 bne _021EE7BC mov r0, #1 pop {r3, r4, r5, pc} _021EE7BC: ldr r0, [r0, #0x10] cmp r0, #1 bne _021EE7C6 mov r0, #0 pop {r3, r4, r5, pc} _021EE7C6: ldr r0, [r5, #8] bl MOD16_021E95C0 cmp r0, #0 beq _021EE80A add r0, r4, #0 bl MOD16_021EEA80 ldr r0, [r5, #8] bl MOD16_021E95C8 cmp r0, #0 beq _021EE7F2 ldr r0, [r5, #4] bl MOD16_021D9FB8 cmp r0, #0 beq _021EE7F2 add r0, r4, #0 add r1, r5, #0 bl MOD16_021EEEB4 _021EE7F2: add r0, r4, #0 add r1, r5, #0 bl MOD16_021EEA88 ldr r0, [r4, #0x14] cmp r0, #0 beq _021EE80A add r0, r5, #0 bl MOD16_021EEF00 mov r0, #0 str r0, [r4, #0x14] _021EE80A: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EE7AC thumb_func_start MOD16_021EE810 MOD16_021EE810: ; 0x021EE810 push {r4, lr} ldr r4, [r0, #8] add r0, r4, #0 bl MOD16_021EEAA0 add r0, r4, #0 bl FreeToHeap mov r0, #1 pop {r4, pc} thumb_func_end MOD16_021EE810 thumb_func_start MOD16_021EE824 MOD16_021EE824: ; 0x021EE824 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #3 bhi _021EE8A8 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EE840: ; jump table .short _021EE848 - _021EE840 - 2 ; case 0 .short _021EE862 - _021EE840 - 2 ; case 1 .short _021EE880 - _021EE840 - 2 ; case 2 .short _021EE896 - _021EE840 - 2 ; case 3 _021EE848: ldr r0, [r4, #4] mov r1, #0x30 bl AllocFromHeap str r0, [r4, #8] mov r1, #0 mov r2, #0x30 bl memset ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EE8A8 _021EE862: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021EEAE0 add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #1 bl MOD16_021EE994 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EE8A8 _021EE880: add r0, r6, #0 add r1, r5, #0 mov r3, #1 bl MOD16_021EEA00 cmp r0, #0 beq _021EE8A8 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EE8A8 _021EE896: mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #0 bl MOD16_021D8B3C mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021EE8A8: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EE824 thumb_func_start MOD16_021EE8AC MOD16_021EE8AC: ; 0x021EE8AC push {r3, r4, r5, r6, r7, lr} add r6, r0, #0 ldr r0, [r3, #8] add r4, r2, #0 str r0, [sp] add r5, r1, #0 ldr r0, [r4, #8] ldr r7, [r5, #8] bl MOD16_021E95C0 cmp r0, #0 beq _021EE8D8 ldr r2, [sp] ldr r3, [r5, #4] add r0, r6, #0 add r1, r7, #0 bl MOD16_021EEE80 add r0, r6, #0 add r1, r4, #0 bl MOD16_021EEEC8 _021EE8D8: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EE8AC thumb_func_start MOD16_021EE8DC MOD16_021EE8DC: ; 0x021EE8DC push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r5, r0, #0 ldr r0, [r4] add r7, r2, #0 ldr r6, [r4, #8] cmp r0, #4 bhi _021EE95E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EE8F8: ; jump table .short _021EE902 - _021EE8F8 - 2 ; case 0 .short _021EE924 - _021EE8F8 - 2 ; case 1 .short _021EE93A - _021EE8F8 - 2 ; case 2 .short _021EE94C - _021EE8F8 - 2 ; case 3 .short _021EE95A - _021EE8F8 - 2 ; case 4 _021EE902: mov r0, #0x79 ldr r1, [r5] lsl r0, r0, #2 add r0, r1, r0 mov r1, #1 bl MOD16_021D8B3C add r0, r6, #0 add r1, r5, #0 add r2, r7, #0 mov r3, #0 bl MOD16_021EE994 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EE95E _021EE924: add r0, r6, #0 add r1, r5, #0 mov r3, #0 bl MOD16_021EEA00 cmp r0, #0 beq _021EE95E ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EE95E _021EE93A: ldr r2, [r4, #4] add r0, r6, #0 add r1, r5, #0 bl MOD16_021EEB10 ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EE95E _021EE94C: add r0, r6, #0 bl FreeToHeap ldr r0, [r4] add r0, r0, #1 str r0, [r4] b _021EE95E _021EE95A: mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021EE95E: mov r0, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EE8DC thumb_func_start MOD16_021EE964 MOD16_021EE964: ; 0x021EE964 push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #1 bl FUN_02020398 ldr r0, [r4, #4] mov r1, #1 ldr r0, [r0] bl FUN_02011AF0 pop {r4, pc} thumb_func_end MOD16_021EE964 thumb_func_start MOD16_021EE97C MOD16_021EE97C: ; 0x021EE97C push {r4, lr} add r4, r0, #0 ldr r0, [r4] mov r1, #0 bl FUN_02020398 ldr r0, [r4, #4] mov r1, #0 ldr r0, [r0] bl FUN_02011AF0 pop {r4, pc} thumb_func_end MOD16_021EE97C thumb_func_start MOD16_021EE994 MOD16_021EE994: ; 0x021EE994 push {r3, r4, r5, r6, lr} sub sp, #0x14 add r4, r2, #0 add r5, r1, #0 add r6, r3, #0 bl MOD16_021EE964 ldr r0, [r4, #8] bl MOD16_021E95B8 cmp r0, #0 beq _021EE9FC cmp r6, #0 beq _021EE9D8 mov r3, #0 str r3, [sp] mov r0, #0x10 str r0, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r2, [r5] lsl r0, r0, #4 add r0, r2, r0 add r2, r1, #0 sub r2, #0x11 bl MOD16_021D8988 add sp, #0x14 pop {r3, r4, r5, r6, pc} _021EE9D8: mov r0, #0x10 str r0, [sp] mov r2, #0 str r2, [sp, #4] mov r0, #0x2c str r0, [sp, #8] mov r0, #0x2f str r0, [sp, #0xc] mov r1, #1 str r1, [sp, #0x10] mov r0, #0x19 ldr r3, [r5] lsl r0, r0, #4 add r0, r3, r0 add r3, r1, #0 sub r3, #0x11 bl MOD16_021D8988 _021EE9FC: add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021EE994 thumb_func_start MOD16_021EEA00 MOD16_021EEA00: ; 0x021EEA00 push {r4, r5, r6, lr} add r6, r0, #0 ldr r0, [r2, #8] add r5, r1, #0 add r4, r3, #0 bl MOD16_021E95B8 cmp r0, #0 beq _021EEA20 mov r0, #0x19 ldr r1, [r5] lsl r0, r0, #4 add r0, r1, r0 bl MOD16_021D89B4 b _021EEA26 _021EEA20: mov r0, #2 bl FUN_0200A344 _021EEA26: cmp r0, #0 beq _021EEA38 cmp r4, #0 beq _021EEA34 add r0, r6, #0 bl MOD16_021EE97C _021EEA34: mov r0, #1 pop {r4, r5, r6, pc} _021EEA38: mov r0, #0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EEA00 thumb_func_start MOD16_021EEA3C MOD16_021EEA3C: ; 0x021EEA3C push {r3, r4, r5, r6, lr} sub sp, #4 add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 add r0, r6, #0 mov r1, #4 bl AllocFromHeap str r0, [r5, #4] mov r0, #0xf8 str r0, [sp] ldr r0, [r5, #4] mov r1, #0x68 mov r2, #0xb8 mov r3, #8 bl MOD16_021D7C98 str r4, [r5, #8] str r5, [r5, #0xc] str r6, [sp] add r3, r5, #0 ldr r0, [r5, #4] ldr r2, _021EEA7C ; =MOD16_021EEAB8 mov r1, #1 add r3, #8 bl FUN_020220C4 str r0, [r5] add sp, #4 pop {r3, r4, r5, r6, pc} nop _021EEA7C: .word MOD16_021EEAB8 thumb_func_end MOD16_021EEA3C thumb_func_start MOD16_021EEA80 MOD16_021EEA80: ; 0x021EEA80 mov r1, #3 str r1, [r0, #0x10] bx lr .align 2, 0 thumb_func_end MOD16_021EEA80 thumb_func_start MOD16_021EEA88 MOD16_021EEA88: ; 0x021EEA88 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_02022144 ldr r0, [r4, #0x14] cmp r0, #0 beq _021EEA9C mov r0, #2 str r0, [r4, #0x10] _021EEA9C: pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EEA88 thumb_func_start MOD16_021EEAA0 MOD16_021EEAA0: ; 0x021EEAA0 push {r4, lr} add r4, r0, #0 ldr r0, [r4] bl FUN_0202212C ldr r0, [r4, #4] bl FreeToHeap mov r0, #0 str r0, [r4, #4] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EEAA0 thumb_func_start MOD16_021EEAB8 MOD16_021EEAB8: ; 0x021EEAB8 ldr r3, [r2, #4] lsl r2, r0, #2 add r2, r3, r2 str r1, [r2, #0x10] cmp r1, #0 beq _021EEACA cmp r1, #2 beq _021EEAD4 bx lr _021EEACA: cmp r0, #0 bne _021EEADC mov r0, #1 str r0, [r3, #0x14] bx lr _021EEAD4: cmp r0, #0 bne _021EEADC mov r0, #1 str r0, [r3, #0x14] _021EEADC: bx lr .align 2, 0 thumb_func_end MOD16_021EEAB8 thumb_func_start MOD16_021EEAE0 MOD16_021EEAE0: ; 0x021EEAE0 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 MOD16_021EEB50 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EEBB8 add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EEC6C add r0, r5, #0 add r1, r4, #0 add r2, r6, #0 bl MOD16_021EED04 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EEAE0 thumb_func_start MOD16_021EEB10 MOD16_021EEB10: ; 0x021EEB10 push {r3, r4, r5, lr} sub sp, #8 add r5, r0, #0 mov r0, #0x20 str r0, [sp] add r4, r1, #0 str r2, [sp, #4] ldr r0, [r4] mov r1, #9 mov r2, #4 mov r3, #0x80 bl MOD16_021D8CFC add r0, r5, #0 bl MOD16_021EECF8 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EEDA0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EEC38 ldr r0, [r5, #0x2c] cmp r0, #0 beq _021EEB4A bl FreeToHeap _021EEB4A: add sp, #8 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EEB10 thumb_func_start MOD16_021EEB50 MOD16_021EEB50: ; 0x021EEB50 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 ldr r0, [r4] add r5, r1, #0 mov r1, #0 str r1, [sp] str r1, [sp, #4] mov r1, #1 str r1, [sp, #8] str r5, [sp, #0xc] ldr r2, [r0] mov r1, #0x22 mov r3, #6 bl MOD16_021D8CB4 str r5, [sp] ldr r0, [r4] mov r1, #0x3a mov r2, #1 add r3, sp, #0x10 bl MOD16_021D8D48 ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #6 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [r4] ldr r0, [r0] bl FUN_02018148 add r0, r5, #0 bl FreeToHeap ldr r0, [r4] mov r1, #6 ldr r0, [r0] bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EEB50 thumb_func_start MOD16_021EEBB8 MOD16_021EEBB8: ; 0x021EEBB8 push {r4, r5, r6, r7, lr} sub sp, #0xc ldr r6, [r1] add r5, r0, #0 add r0, r6, #0 add r4, r2, #0 bl MOD16_021D8C70 add r7, r0, #0 ldr r0, _021EEC2C ; =0x0000332E add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #5 str r4, [sp, #8] lsl r0, r0, #6 ldr r0, [r6, r0] mov r2, #0x66 mov r3, #1 bl FUN_020091E0 str r0, [r5, #8] bl FUN_02009B04 ldr r0, [r5, #8] bl FUN_02009474 ldr r0, _021EEC30 ; =0x0000332C add r1, r7, #0 str r0, [sp] mov r0, #2 str r0, [sp, #4] mov r0, #0x52 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x64 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x10] ldr r0, _021EEC34 ; =0x0000332D add r1, r7, #0 str r0, [sp] mov r0, #3 str r0, [sp, #4] mov r0, #0x53 str r4, [sp, #8] lsl r0, r0, #2 ldr r0, [r6, r0] mov r2, #0x65 mov r3, #1 bl FUN_02009358 str r0, [r5, #0x14] add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _021EEC2C: .word 0x0000332E _021EEC30: .word 0x0000332C _021EEC34: .word 0x0000332D thumb_func_end MOD16_021EEBB8 thumb_func_start MOD16_021EEC38 MOD16_021EEC38: ; 0x021EEC38 push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5, #8] ldr r4, [r1] bl FUN_02009C0C mov r0, #5 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, [r5, #8] bl FUN_02009490 mov r0, #0x52 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x10] bl FUN_02009490 mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, [r5, #0x14] bl FUN_02009490 pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EEC38 thumb_func_start MOD16_021EEC6C MOD16_021EEC6C: ; 0x021EEC6C push {r4, r5, r6, lr} sub sp, #0x70 ldr r4, [r1] ldr r3, _021EECF0 ; =0x0000332D add r5, r0, #0 mov r0, #0 str r3, [sp] mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r1, #0 str r1, [sp, #0xc] mov r0, #2 str r0, [sp, #0x10] mov r0, #5 lsl r0, r0, #6 add r6, r2, #0 ldr r2, [r4, r0] str r2, [sp, #0x14] add r2, r0, #4 ldr r2, [r4, r2] str r2, [sp, #0x18] add r2, r0, #0 add r2, #8 ldr r2, [r4, r2] add r0, #0xc str r2, [sp, #0x1c] ldr r0, [r4, r0] ldr r2, _021EECF4 ; =0x0000083F str r0, [sp, #0x20] str r1, [sp, #0x24] str r1, [sp, #0x28] add r1, r3, #1 add r0, sp, #0x4c sub r3, r3, #1 bl FUN_02008AA4 mov r0, #0x4f lsl r0, r0, #2 ldr r0, [r4, r0] mov r1, #9 str r0, [sp, #0x2c] add r0, sp, #0x4c str r0, [sp, #0x30] mov r0, #0x1f str r0, [sp, #0x40] mov r0, #2 str r0, [sp, #0x44] lsl r0, r0, #0x12 str r0, [sp, #0x34] mov r0, #3 lsl r1, r1, #0x10 lsl r0, r0, #0x12 str r1, [sp, #0x38] add r0, r1, r0 str r0, [sp, #0x38] add r0, sp, #0x2c str r6, [sp, #0x48] bl FUN_0201FF84 mov r1, #2 str r0, [r5] bl FUN_02020130 add sp, #0x70 pop {r4, r5, r6, pc} .align 2, 0 _021EECF0: .word 0x0000332D _021EECF4: .word 0x0000083F thumb_func_end MOD16_021EEC6C thumb_func_start MOD16_021EECF8 MOD16_021EECF8: ; 0x021EECF8 ldr r3, _021EED00 ; =FUN_0201FFC8 ldr r0, [r0] bx r3 nop _021EED00: .word FUN_0201FFC8 thumb_func_end MOD16_021EECF8 thumb_func_start MOD16_021EED04 MOD16_021EED04: ; 0x021EED04 push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r5, r0, #0 ldr r0, [r5] add r6, r2, #0 ldr r4, [r1] cmp r0, #0 bne _021EED18 bl GF_AssertFail _021EED18: mov r0, #0x51 lsl r0, r0, #2 ldr r0, [r4, r0] ldr r1, _021EED98 ; =0x0000083F bl FUN_020094F0 mov r1, #0x15 lsl r1, r1, #4 ldr r1, [r4, r1] str r1, [sp, #8] mov r1, #0 bl FUN_02009E54 mov r1, #7 mvn r1, r1 str r1, [sp, #0x1c] mov r1, #2 mov r2, #0 str r0, [sp, #0x10] str r1, [sp, #0x20] str r2, [sp, #0x24] str r1, [sp, #0x28] str r6, [sp, #0x2c] bl FUN_0201E28C add r7, r0, #0 mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] mov r1, #0x10 mov r2, #2 bl MOD16_021DB388 add r6, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] ldr r2, _021EED9C ; =0x00000266 add r1, r6, #0 mov r3, #0x64 bl MOD16_021DB3C8 lsr r0, r0, #1 neg r0, r0 str r6, [sp, #0xc] str r0, [sp, #0x18] ldr r0, [r5] str r0, [sp, #0x14] add r0, sp, #8 bl MOD16_021DB2BC str r0, [r5, #4] ldr r0, [r0] add r1, r7, #4 bl FUN_02011A60 add r0, r6, #0 bl MOD16_021DB3BC add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EED98: .word 0x0000083F _021EED9C: .word 0x00000266 thumb_func_end MOD16_021EED04 thumb_func_start MOD16_021EEDA0 MOD16_021EEDA0: ; 0x021EEDA0 ldr r3, _021EEDA8 ; =MOD16_021DB338 ldr r0, [r0, #4] bx r3 nop _021EEDA8: .word MOD16_021DB338 thumb_func_end MOD16_021EEDA0 thumb_func_start MOD16_021EEDAC MOD16_021EEDAC: ; 0x021EEDAC push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp, #4] str r1, [sp, #8] add r0, r1, #0 add r1, r3, #0 str r2, [sp, #0xc] ldr r4, [sp, #0x30] ldr r6, [sp, #0x40] mov r5, #0 bl MOD16_021D7B98 ldr r0, [sp, #0x3c] ldr r1, [sp, #0xc] str r0, [sp] ldr r0, [sp, #8] ldr r2, [sp, #0x28] ldr r3, [sp, #0x38] bl MOD16_021EEE58 ldr r0, [sp, #8] bl FUN_0202022C cmp r0, #3 bhi _021EEE1E add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EEDEA: ; jump table .short _021EEDF2 - _021EEDEA - 2 ; case 0 .short _021EEDF2 - _021EEDEA - 2 ; case 1 .short _021EEE02 - _021EEDEA - 2 ; case 2 .short _021EEE10 - _021EEDEA - 2 ; case 3 _021EEDF2: ldr r0, [r4] cmp r0, #0 beq _021EEE1E mov r0, #0 mov r5, #1 mov r7, #9 str r0, [r4] b _021EEE1E _021EEE02: ldr r0, [r4] cmp r0, #1 beq _021EEE1E mov r5, #1 mov r7, #0xa str r5, [r4] b _021EEE1E _021EEE10: ldr r0, [r4] cmp r0, #2 beq _021EEE1E mov r0, #2 mov r5, #1 mov r7, #8 str r0, [r4] _021EEE1E: cmp r5, #0 beq _021EEE54 ldr r0, [r6] cmp r0, #0 beq _021EEE2C bl FreeToHeap _021EEE2C: ldr r0, [sp, #4] ldr r3, [sp, #0x34] ldr r0, [r0] add r1, r7, #0 add r2, sp, #0x10 bl MOD16_021D8D70 str r0, [r6] ldr r2, [sp, #0x10] ldr r1, [sp, #0x2c] ldr r2, [r2, #0xc] mov r0, #0x1f lsl r1, r1, #5 mov r3, #0x20 bl FUN_0201C2C8 cmp r0, #0 bne _021EEE54 bl GF_AssertFail _021EEE54: add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021EEDAC thumb_func_start MOD16_021EEE58 MOD16_021EEE58: ; 0x021EEE58 push {r4, r5, r6, lr} add r5, r0, #0 add r4, r1, #0 add r6, r3, #0 bl MOD16_021D7BE4 add r0, r5, #0 bl FUN_0202022C cmp r0, #2 ldr r0, [r4] bge _021EEE78 add r1, r6, #0 bl FUN_02011AC0 pop {r4, r5, r6, pc} _021EEE78: ldr r1, [sp, #0x10] bl FUN_02011AC0 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EEE58 thumb_func_start MOD16_021EEE80 MOD16_021EEE80: ; 0x021EEE80 push {r4, r5, lr} sub sp, #0x1c add r5, r1, #0 mov r1, #7 mvn r1, r1 add r4, r2, #0 str r1, [sp] mov r2, #4 add r1, r5, #0 str r2, [sp, #4] add r1, #0x28 str r1, [sp, #8] str r3, [sp, #0xc] str r2, [sp, #0x10] mov r1, #1 str r1, [sp, #0x14] add r1, r5, #0 add r1, #0x2c str r1, [sp, #0x18] ldr r1, [r5] ldr r2, [r5, #4] ldr r3, [r4, #0x10] bl MOD16_021EEDAC add sp, #0x1c pop {r4, r5, pc} thumb_func_end MOD16_021EEE80 thumb_func_start MOD16_021EEEB4 MOD16_021EEEB4: ; 0x021EEEB4 ldr r1, _021EEEC4 ; =gMain ldr r2, [r1, #0x44] mov r1, #1 tst r2, r1 beq _021EEEC0 str r1, [r0, #0x14] _021EEEC0: bx lr nop _021EEEC4: .word gMain thumb_func_end MOD16_021EEEB4 thumb_func_start MOD16_021EEEC8 MOD16_021EEEC8: ; 0x021EEEC8 push {r3, r4, lr} sub sp, #4 add r4, r0, #0 ldr r0, [r1, #8] bl MOD16_021E95C8 cmp r0, #1 bne _021EEEE8 mov r0, #0x40 str r0, [sp] add r0, r4, #0 mov r1, #0x80 mov r2, #0x90 mov r3, #0xe4 bl MOD16_021EEEEC _021EEEE8: add sp, #4 pop {r3, r4, pc} thumb_func_end MOD16_021EEEC8 thumb_func_start MOD16_021EEEEC MOD16_021EEEEC: ; 0x021EEEEC push {r3, r4, lr} sub sp, #4 ldr r4, [sp, #0x10] str r4, [sp] ldr r0, [r0] bl MOD16_021D8B04 add sp, #4 pop {r3, r4, pc} .align 2, 0 thumb_func_end MOD16_021EEEEC thumb_func_start MOD16_021EEF00 MOD16_021EEF00: ; 0x021EEF00 ldr r3, _021EEF08 ; =MOD16_021E5C5C ldr r0, [r0, #0xc] mov r1, #1 bx r3 .align 2, 0 _021EEF08: .word MOD16_021E5C5C thumb_func_end MOD16_021EEF00 thumb_func_start MOD16_021EEF0C MOD16_021EEF0C: ; 0x021EEF0C push {r4, r5, lr} sub sp, #0xc add r5, r0, #0 mov r1, #0x7a ldr r0, [r5, #0xc] lsl r1, r1, #2 bl AllocFromHeap mov r2, #0x7a add r4, r0, #0 mov r1, #0 lsl r2, r2, #2 bl memset add r0, r4, #0 add r1, r5, #0 bl MOD16_021EEFA4 ldr r0, [r4, #8] ldr r1, [r4, #0xc] bl MOD16_021EF9B8 mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] ldr r0, [r4, #8] ldr r1, [r4, #0xc] mov r2, #0xa mov r3, #0xf bl MOD16_021EF9D8 ldr r0, _021EEF64 ; =MOD16_021EF90C add r1, r4, #0 mov r2, #0 bl FUN_0200CA44 mov r1, #7 lsl r1, r1, #6 str r0, [r4, r1] add r0, r4, #0 add sp, #0xc pop {r4, r5, pc} nop _021EEF64: .word MOD16_021EF90C thumb_func_end MOD16_021EEF0C thumb_func_start MOD16_021EEF68 MOD16_021EEF68: ; 0x021EEF68 push {r4, lr} add r4, r0, #0 bl MOD16_021EF174 mov r0, #7 lsl r0, r0, #6 ldr r0, [r4, r0] bl FUN_0200CAB4 add r0, r4, #0 bl FreeToHeap pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EEF68 thumb_func_start MOD16_021EEF84 MOD16_021EEF84: ; 0x021EEF84 mov r1, #0x6e lsl r1, r1, #2 ldr r0, [r0, r1] cmp r0, #4 bne _021EEF92 mov r0, #1 bx lr _021EEF92: mov r0, #0 bx lr .align 2, 0 thumb_func_end MOD16_021EEF84 thumb_func_start MOD16_021EEF98 MOD16_021EEF98: ; 0x021EEF98 ldr r0, [r0, #0xc] bx lr thumb_func_end MOD16_021EEF98 thumb_func_start MOD16_021EEF9C MOD16_021EEF9C: ; 0x021EEF9C mov r2, #0x79 lsl r2, r2, #2 str r1, [r0, r2] bx lr thumb_func_end MOD16_021EEF9C thumb_func_start MOD16_021EEFA4 MOD16_021EEFA4: ; 0x021EEFA4 push {r4, r5, lr} sub sp, #0x14 add r4, r1, #0 add r5, r0, #0 ldr r0, [r4, #0x10] mov r1, #5 mov r2, #0 bl GetMonData mov r1, #0x6f lsl r1, r1, #2 str r0, [r5, r1] ldr r0, [r4] add r1, r5, #0 str r0, [r5] ldr r2, [r4, #0xc] mov r0, #0x20 add r1, #0x10 bl FUN_02008C9C mov r1, #0x4e lsl r1, r1, #2 str r0, [r5, r1] ldr r0, [r4, #0xc] bl FUN_020203CC ldr r0, [r4, #0xc] bl MOD16_021EFAEC ldr r0, [r4, #0xc] mov r2, #0x30 str r0, [sp] ldr r0, [r4, #8] ldr r1, [r4, #0x10] mov r3, #0x48 bl MOD16_021EFAC0 str r0, [r5, #0xc] ldr r0, [r4, #4] str r0, [r5, #8] mov r0, #0x4e lsl r0, r0, #2 ldr r0, [r5, r0] str r0, [sp, #4] ldr r0, [r5] str r0, [sp, #8] mov r0, #3 str r0, [sp, #0xc] ldr r0, [r4, #0xc] str r0, [sp, #0x10] add r0, sp, #4 bl MOD16_021DB228 mov r1, #0x53 lsl r1, r1, #2 str r0, [r5, r1] ldr r0, [r5] ldr r1, [r4, #0xc] bl MOD16_021EF218 mov r1, #0x3f add r2, r1, #0 ldr r0, _021EF170 ; =0x04000050 sub r2, #0x4f bl G2x_SetBlendBrightness_ ldr r0, [r5] ldr r1, [r4, #0xc] bl MOD16_021EF318 str r0, [r5, #4] mov r0, #0x4f lsl r0, r0, #2 ldr r1, [r4, #0xc] add r0, r5, r0 bl MOD16_021EF370 mov r1, #0x15 lsl r1, r1, #4 add r0, r5, r1 sub r1, #0x14 ldr r2, [r4, #0xc] add r1, r5, r1 bl MOD16_021D9118 mov r2, #0x15 lsl r2, r2, #4 mov r0, #2 str r0, [sp] add r1, r2, #0 sub r1, #0x18 add r0, r5, r2 sub r2, #0x14 ldr r1, [r5, r1] ldr r3, [r4, #0xc] add r2, r5, r2 bl MOD16_021D9318 ldr r0, [r4, #0x14] mov r3, #0x15 lsl r3, r3, #4 str r0, [sp] sub r1, r3, #4 add r0, r5, r3 add r3, #0x6c ldr r1, [r5, r1] ldr r2, [r4, #0xc] ldr r3, [r5, r3] bl MOD16_021EF3A8 mov r0, #0x15 lsl r0, r0, #4 add r0, r5, r0 mov r1, #0xac mov r2, #0x20 bl MOD16_021D7F7C mov r0, #0x15 lsl r0, r0, #4 add r0, r5, r0 mov r1, #1 bl MOD16_021D93D4 mov r2, #6 lsl r2, r2, #6 add r1, r2, #0 add r0, r5, r2 add r2, #0x3c sub r1, #0x44 ldr r2, [r5, r2] ldr r3, [r4, #0xc] add r1, r5, r1 bl MOD16_021EF540 mov r2, #6 lsl r2, r2, #6 add r1, r2, #0 sub r1, #0x48 add r0, r5, r2 sub r2, #0x44 ldr r1, [r5, r1] ldr r3, [r4, #0xc] add r2, r5, r2 bl MOD16_021EF598 mov r2, #0x67 lsl r2, r2, #2 add r1, r2, #0 add r0, r5, r2 add r2, #0x20 sub r1, #0x60 ldr r2, [r5, r2] ldr r3, [r4, #0xc] add r1, r5, r1 bl MOD16_021EF6A4 mov r2, #0x6f lsl r2, r2, #2 ldr r0, [r5, r2] add r1, r2, #0 str r0, [sp] add r0, r2, #0 sub r1, #0x84 sub r0, #0x20 sub r2, #0x80 ldr r1, [r5, r1] ldr r3, [r4, #0xc] add r0, r5, r0 add r2, r5, r2 bl MOD16_021EF6E0 mov r2, #0x69 lsl r2, r2, #2 add r0, r5, r2 str r0, [sp] add r1, r2, #0 add r0, r2, #0 sub r1, #0x6c sub r0, #0x10 sub r2, #0x68 ldr r1, [r5, r1] ldr r3, [r4, #0xc] add r0, r5, r0 add r2, r5, r2 bl MOD16_021EF5EC mov r3, #0x16 lsl r3, r3, #4 ldr r0, [r5, r3] add r1, r3, #0 str r0, [sp] add r0, r3, #0 sub r1, #0x14 add r3, #0x5c add r0, #0x34 ldr r1, [r5, r1] ldr r2, [r4, #0xc] ldr r3, [r5, r3] add r0, r5, r0 bl MOD16_021EF648 ldr r0, [r5] ldr r1, [r4, #0xc] bl MOD16_021EF790 ldr r0, [r5] ldr r1, [r4, #0xc] bl MOD16_021EF8A8 mov r2, #0x6f lsl r2, r2, #2 ldr r0, [r5, #4] ldr r1, [r4, #0xc] ldr r2, [r5, r2] bl MOD16_021EFA48 mov r0, #0x71 lsl r0, r0, #2 ldr r1, [r4, #0xc] ldr r2, [r4, #0x14] add r0, r5, r0 bl MOD16_021EFB20 mov r0, #0x79 mov r1, #1 lsl r0, r0, #2 str r1, [r5, r0] add sp, #0x14 pop {r4, r5, pc} nop _021EF170: .word 0x04000050 thumb_func_end MOD16_021EEFA4 thumb_func_start MOD16_021EF174 MOD16_021EF174: ; 0x021EF174 push {r4, lr} add r4, r0, #0 mov r0, #0x71 lsl r0, r0, #2 add r0, r4, r0 bl MOD16_021EFBA4 mov r0, #0x67 lsl r0, r0, #2 add r0, r4, r0 bl MOD16_021EF774 mov r1, #0x67 lsl r1, r1, #2 add r0, r4, r1 sub r1, #0x60 add r1, r4, r1 bl MOD16_021EF6D4 mov r0, #0x65 lsl r0, r0, #2 add r0, r4, r0 bl MOD16_021EF698 mov r0, #0x65 lsl r0, r0, #2 add r0, r4, r0 bl MOD16_021EF63C mov r0, #6 lsl r0, r0, #6 add r0, r4, r0 bl MOD16_021EF5E0 mov r1, #6 lsl r1, r1, #6 add r0, r4, r1 sub r1, #0x44 add r1, r4, r1 bl MOD16_021EF58C mov r0, #0x15 lsl r0, r0, #4 add r0, r4, r0 bl MOD16_021EF418 mov r0, #0x15 lsl r0, r0, #4 add r0, r4, r0 bl MOD16_021D93AC mov r1, #0x15 lsl r1, r1, #4 add r0, r4, r1 sub r1, #0x14 add r1, r4, r1 bl MOD16_021D91E8 mov r0, #0x4f lsl r0, r0, #2 add r0, r4, r0 bl MOD16_021EF390 mov r0, #0x4e lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0201FD58 ldr r0, [r4, #4] bl MOD16_021EF358 ldr r0, [r4] bl MOD16_021EF2FC mov r0, #0x53 lsl r0, r0, #2 ldr r0, [r4, r0] bl MOD16_021DB288 bl MOD16_021EFB18 pop {r4, pc} thumb_func_end MOD16_021EF174 thumb_func_start MOD16_021EF218 MOD16_021EF218: ; 0x021EF218 push {r4, r5, lr} sub sp, #0x54 ldr r3, _021EF2F0 ; =0x021FF78C add r5, r0, #0 add r4, r1, #0 ldmia r3!, {r0, r1} add r2, sp, #0x38 stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldr r0, [r3] mov r1, #1 str r0, [r2] add r0, r5, #0 bl FUN_020178A0 add r0, r5, #0 mov r1, #1 add r2, sp, #0x38 mov r3, #0 bl FUN_02016C18 mov r0, #1 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #1 bl FUN_02018744 ldr r3, _021EF2F4 ; =0x021FF770 add r2, sp, #0x1c ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldr r0, [r3] mov r1, #2 str r0, [r2] add r0, r5, #0 bl FUN_020178A0 add r0, r5, #0 mov r1, #2 add r2, sp, #0x1c mov r3, #0 bl FUN_02016C18 mov r0, #2 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #2 bl FUN_02018744 mov r0, #0 add r1, r0, #0 bl FUN_020178BC mov r0, #1 add r1, r0, #0 bl GX_EngineAToggleLayers add r0, r5, #0 mov r1, #0 bl FUN_020178A0 ldr r3, _021EF2F8 ; =0x021FF7A8 add r2, sp, #0 ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldmia r3!, {r0, r1} stmia r2!, {r0, r1} ldr r0, [r3] mov r1, #3 str r0, [r2] add r0, r5, #0 bl FUN_020178A0 add r0, r5, #0 mov r1, #3 add r2, sp, #0 mov r3, #0 bl FUN_02016C18 mov r0, #3 mov r1, #0x20 mov r2, #0 add r3, r4, #0 bl FUN_02017F18 add r0, r5, #0 mov r1, #3 bl FUN_02018744 add sp, #0x54 pop {r4, r5, pc} .align 2, 0 _021EF2F0: .word MOD16_021FF78C _021EF2F4: .word MOD16_021FF770 _021EF2F8: .word MOD16_021FF7A8 thumb_func_end MOD16_021EF218 thumb_func_start MOD16_021EF2FC MOD16_021EF2FC: ; 0x021EF2FC push {r4, lr} add r4, r0, #0 mov r1, #1 bl FUN_020178A0 add r0, r4, #0 mov r1, #2 bl FUN_020178A0 add r0, r4, #0 mov r1, #3 bl FUN_020178A0 pop {r4, pc} thumb_func_end MOD16_021EF2FC thumb_func_start MOD16_021EF318 MOD16_021EF318: ; 0x021EF318 push {r4, r5, lr} sub sp, #0x14 add r5, r0, #0 add r0, r1, #0 mov r1, #1 bl AllocWindows add r4, r0, #0 mov r3, #0 str r3, [sp] mov r0, #0x20 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0xc str r0, [sp, #0xc] add r0, r5, #0 add r1, r4, #0 mov r2, #1 str r3, [sp, #0x10] bl FUN_02019064 add r0, r4, #0 mov r1, #0 bl FillWindowPixelBuffer add r0, r4, #0 bl CopyWindowToVram add r0, r4, #0 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EF318 thumb_func_start MOD16_021EF358 MOD16_021EF358: ; 0x021EF358 push {r4, lr} add r4, r0, #0 bl FUN_02019570 add r0, r4, #0 bl FUN_02019178 add r0, r4, #0 mov r1, #1 bl FUN_020191A4 pop {r4, pc} thumb_func_end MOD16_021EF358 thumb_func_start MOD16_021EF370 MOD16_021EF370: ; 0x021EF370 push {r3, r4, r5, r6, r7, lr} add r5, r0, #0 add r6, r1, #0 mov r4, #0 mov r7, #8 _021EF37A: add r0, r7, #0 add r1, r4, #0 add r2, r6, #0 bl FUN_02008DEC add r4, r4, #1 stmia r5!, {r0} cmp r4, #4 blt _021EF37A pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EF370 thumb_func_start MOD16_021EF390 MOD16_021EF390: ; 0x021EF390 push {r4, r5, r6, lr} mov r4, #0 add r5, r0, #0 add r6, r4, #0 _021EF398: ldr r0, [r5] bl FUN_02008E2C add r4, r4, #1 stmia r5!, {r6} cmp r4, #4 blt _021EF398 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EF390 thumb_func_start MOD16_021EF3A8 MOD16_021EF3A8: ; 0x021EF3A8 push {r4, r5, r6, r7, lr} sub sp, #0x2c add r5, r0, #0 ldr r0, [r5, #0x10] add r4, r1, #0 str r4, [sp, #4] mov r1, #0 add r6, r2, #0 add r7, r3, #0 bl FUN_02009E54 str r0, [sp, #0xc] ldr r0, [r5] str r0, [sp, #0x10] mov r0, #0x3f mvn r0, r0 str r0, [sp, #0x14] add r0, #0x38 str r0, [sp, #0x18] mov r0, #2 str r0, [sp, #0x1c] mov r0, #0 str r0, [sp, #0x20] mov r0, #1 str r0, [sp, #0x24] ldr r0, [sp, #0x40] str r6, [sp, #0x28] cmp r0, #0 bne _021EF3EE add r0, r4, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021D7E68 b _021EF3F8 _021EF3EE: add r0, r4, #0 add r1, r6, #0 add r2, r7, #0 bl MOD16_021D7E48 _021EF3F8: add r4, r0, #0 ldr r0, [sp, #0x40] str r4, [sp, #8] str r0, [sp] add r0, r5, #0 add r1, sp, #4 mov r2, #0 add r3, r7, #0 bl MOD16_021D8888 add r0, r4, #0 bl MOD16_021DB3BC add sp, #0x2c pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EF3A8 thumb_func_start MOD16_021EF418 MOD16_021EF418: ; 0x021EF418 push {r4, lr} add r4, r0, #0 ldr r0, [r4, #8] cmp r0, #0 beq _021EF42A bl MOD16_021DB338 mov r0, #0 str r0, [r4, #8] _021EF42A: pop {r4, pc} thumb_func_end MOD16_021EF418 thumb_func_start MOD16_021EF42C MOD16_021EF42C: ; 0x021EF42C push {r4, r5, r6, r7, lr} sub sp, #0x14 ldr r7, [sp, #0x3c] str r3, [sp, #0x10] str r7, [sp] mov r3, #1 add r6, r2, #0 str r3, [sp, #4] add r4, r1, #0 str r6, [sp, #8] add r5, r0, #0 ldr r0, [r4] ldr r1, [sp, #0x10] ldr r2, [sp, #0x28] bl FUN_02008F34 str r0, [r5] bl FUN_02009B04 ldr r0, [r5] bl FUN_02009474 str r7, [sp] mov r0, #1 str r0, [sp, #4] ldr r0, [sp, #0x38] ldr r1, [sp, #0x10] str r0, [sp, #8] str r6, [sp, #0xc] ldr r0, [r4, #4] ldr r2, [sp, #0x2c] mov r3, #0 bl FUN_02008FEC str r0, [r5, #4] bl FUN_02009D68 ldr r0, [r5, #4] bl FUN_02009474 str r7, [sp] mov r0, #2 str r0, [sp, #4] str r6, [sp, #8] ldr r0, [r4, #8] ldr r1, [sp, #0x10] ldr r2, [sp, #0x30] mov r3, #1 bl FUN_020090AC str r0, [r5, #8] str r7, [sp] mov r0, #3 str r0, [sp, #4] str r6, [sp, #8] ldr r0, [r4, #0xc] ldr r1, [sp, #0x10] ldr r2, [sp, #0x34] mov r3, #1 bl FUN_020090AC str r0, [r5, #0xc] add sp, #0x14 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021EF42C thumb_func_start MOD16_021EF4AC MOD16_021EF4AC: ; 0x021EF4AC push {r3, r4, r5, lr} add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 bl FUN_02009C0C ldr r0, [r5, #4] bl FUN_02009E04 ldr r0, [r4] ldr r1, [r5] bl FUN_02009490 ldr r0, [r4, #4] ldr r1, [r5, #4] bl FUN_02009490 ldr r0, [r4, #8] ldr r1, [r5, #8] bl FUN_02009490 ldr r0, [r4, #0xc] ldr r1, [r5, #0xc] bl FUN_02009490 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EF4AC thumb_func_start MOD16_021EF4E0 MOD16_021EF4E0: ; 0x021EF4E0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x38 add r5, r0, #0 ldr r0, [r5] add r4, r1, #0 add r7, r2, #0 add r6, r3, #0 bl FUN_02009530 str r0, [sp, #0x2c] ldr r0, [r5, #4] bl FUN_02009530 str r0, [sp, #0x30] ldr r0, [r5, #8] bl FUN_02009530 str r0, [sp, #0x34] ldr r0, [r5, #0xc] bl FUN_02009530 str r0, [sp] mov r0, #0 mvn r0, r0 str r0, [sp, #4] str r0, [sp, #8] mov r0, #0 str r0, [sp, #0xc] str r6, [sp, #0x10] ldr r1, [r4] ldr r2, [sp, #0x30] str r1, [sp, #0x14] ldr r1, [r4, #4] ldr r3, [sp, #0x34] str r1, [sp, #0x18] ldr r1, [r4, #8] str r1, [sp, #0x1c] ldr r1, [r4, #0xc] str r1, [sp, #0x20] str r0, [sp, #0x24] str r0, [sp, #0x28] ldr r1, [sp, #0x2c] add r0, r7, #0 bl FUN_02008AA4 add sp, #0x38 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021EF4E0 thumb_func_start MOD16_021EF540 MOD16_021EF540: ; 0x021EF540 push {r4, r5, r6, r7, lr} sub sp, #0x24 add r4, r2, #0 add r5, r0, #0 str r1, [sp, #0x18] str r3, [sp, #0x1c] bl MOD16_021D8520 str r0, [sp, #0x20] add r0, r4, #0 bl MOD16_021D8524 add r4, r0, #0 bl MOD16_021D8528 add r6, r0, #0 bl MOD16_021D852C add r7, r0, #0 bl MOD16_021D8530 str r4, [sp] str r6, [sp, #4] str r7, [sp, #8] str r0, [sp, #0xc] mov r0, #1 str r0, [sp, #0x10] mov r0, #0xfa lsl r0, r0, #4 str r0, [sp, #0x14] ldr r1, [sp, #0x18] ldr r2, [sp, #0x1c] ldr r3, [sp, #0x20] add r0, r5, #4 bl MOD16_021EF42C add sp, #0x24 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021EF540 thumb_func_start MOD16_021EF58C MOD16_021EF58C: ; 0x021EF58C ldr r3, _021EF594 ; =MOD16_021EF4AC add r0, r0, #4 bx r3 nop _021EF594: .word MOD16_021EF4AC thumb_func_end MOD16_021EF58C thumb_func_start MOD16_021EF598 MOD16_021EF598: ; 0x021EF598 push {r3, r4, r5, r6, lr} sub sp, #0x44 add r5, r0, #0 add r4, r1, #0 add r6, r3, #0 add r1, r2, #0 add r0, r5, #4 add r2, sp, #0 mov r3, #2 bl MOD16_021EF4E0 add r0, sp, #0 str r0, [sp, #0x28] mov r0, #1 str r0, [sp, #0x3c] mov r0, #0x20 str r0, [sp, #0x38] mov r0, #0x1e lsl r0, r0, #0xe str r0, [sp, #0x2c] mov r0, #0x16 lsl r0, r0, #0xe str r0, [sp, #0x30] add r0, sp, #0x24 str r4, [sp, #0x24] str r6, [sp, #0x40] bl FUN_0201FF84 str r0, [r5] cmp r0, #0 bne _021EF5DA bl GF_AssertFail _021EF5DA: add sp, #0x44 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EF598 thumb_func_start MOD16_021EF5E0 MOD16_021EF5E0: ; 0x021EF5E0 ldr r3, _021EF5E8 ; =FUN_0201FFC8 ldr r0, [r0] bx r3 nop _021EF5E8: .word FUN_0201FFC8 thumb_func_end MOD16_021EF5E0 thumb_func_start MOD16_021EF5EC MOD16_021EF5EC: ; 0x021EF5EC push {r3, r4, r5, r6, lr} sub sp, #0x44 add r5, r0, #0 add r4, r1, #0 add r6, r3, #0 add r1, r2, #0 ldr r0, [sp, #0x58] add r2, sp, #0 mov r3, #2 bl MOD16_021EF4E0 add r0, sp, #0 str r0, [sp, #0x28] mov r0, #1 str r0, [sp, #0x3c] mov r0, #0x20 str r0, [sp, #0x38] mov r0, #3 lsl r0, r0, #0x12 str r0, [sp, #0x2c] mov r0, #0xd lsl r0, r0, #0xe str r0, [sp, #0x30] add r0, sp, #0x24 str r4, [sp, #0x24] str r6, [sp, #0x40] bl FUN_0201FF84 str r0, [r5] cmp r0, #0 bne _021EF62E bl GF_AssertFail _021EF62E: ldr r0, [r5] mov r1, #0x11 bl FUN_02020130 add sp, #0x44 pop {r3, r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EF5EC thumb_func_start MOD16_021EF63C MOD16_021EF63C: ; 0x021EF63C ldr r3, _021EF644 ; =FUN_0201FFC8 ldr r0, [r0] bx r3 nop _021EF644: .word FUN_0201FFC8 thumb_func_end MOD16_021EF63C thumb_func_start MOD16_021EF648 MOD16_021EF648: ; 0x021EF648 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r7, r1, #0 add r5, r0, #0 add r0, r7, #0 add r1, r3, #0 add r6, r2, #0 bl MOD16_021E57C8 add r4, r0, #0 ldr r0, [sp, #0x40] str r7, [sp] mov r1, #0 bl FUN_02009E54 str r0, [sp, #8] ldr r0, [r5] str r0, [sp, #0xc] mov r0, #0x4d mvn r0, r0 str r0, [sp, #0x10] add r0, #0x46 str r0, [sp, #0x14] mov r0, #2 str r0, [sp, #0x18] mov r0, #0x1f str r0, [sp, #0x1c] mov r0, #1 str r0, [sp, #0x20] str r6, [sp, #0x24] str r4, [sp, #4] add r0, sp, #0 bl MOD16_021DB2BC str r0, [r5, #4] add r0, r4, #0 bl MOD16_021DB3BC add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021EF648 thumb_func_start MOD16_021EF698 MOD16_021EF698: ; 0x021EF698 ldr r3, _021EF6A0 ; =MOD16_021DB338 ldr r0, [r0, #4] bx r3 nop _021EF6A0: .word MOD16_021DB338 thumb_func_end MOD16_021EF698 thumb_func_start MOD16_021EF6A4 MOD16_021EF6A4: ; 0x021EF6A4 push {r3, lr} sub sp, #0x18 mov r2, #0x5a str r2, [sp] mov r2, #0xd str r2, [sp, #4] mov r2, #0x58 str r2, [sp, #8] mov r2, #0x59 str r2, [sp, #0xc] mov r2, #5 str r2, [sp, #0x10] ldr r2, _021EF6D0 ; =0x00004268 add r0, #8 str r2, [sp, #0x14] add r2, r3, #0 mov r3, #0x45 bl MOD16_021EF42C add sp, #0x18 pop {r3, pc} nop _021EF6D0: .word 0x00004268 thumb_func_end MOD16_021EF6A4 thumb_func_start MOD16_021EF6D4 MOD16_021EF6D4: ; 0x021EF6D4 ldr r3, _021EF6DC ; =MOD16_021EF4AC add r0, #8 bx r3 nop _021EF6DC: .word MOD16_021EF4AC thumb_func_end MOD16_021EF6D4 thumb_func_start MOD16_021EF6E0 MOD16_021EF6E0: ; 0x021EF6E0 push {r4, r5, r6, r7, lr} sub sp, #0x4c add r5, r0, #0 add r7, r1, #0 ldr r0, [sp, #0x60] mov r1, #6 ; BASE_TYPE1 str r2, [sp] str r3, [sp, #4] bl GetMonBaseStat add r4, r0, #0 ldr r0, [sp, #0x60] mov r1, #7 ; BASE_TYPE2 bl GetMonBaseStat add r6, r0, #0 add r0, r4, #0 bl MOD16_021E563C add r4, r0, #0 add r0, r6, #0 bl MOD16_021E563C add r6, r0, #0 add r0, r5, #0 ldr r1, [sp] add r0, #8 add r2, sp, #8 mov r3, #2 bl MOD16_021EF4E0 add r0, sp, #8 str r0, [sp, #0x30] mov r0, #1 str r0, [sp, #0x44] mov r0, #0x20 str r0, [sp, #0x40] ldr r0, [sp, #4] str r7, [sp, #0x2c] str r0, [sp, #0x48] mov r0, #0xaa lsl r0, r0, #0xc str r0, [sp, #0x34] mov r0, #0x12 lsl r0, r0, #0xe str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 add r1, r4, #0 str r0, [r5] bl FUN_02020130 cmp r4, r6 beq _021EF76C mov r0, #0x37 lsl r0, r0, #0xe str r0, [sp, #0x34] mov r0, #0x12 lsl r0, r0, #0xe str r0, [sp, #0x38] add r0, sp, #0x2c bl FUN_0201FF84 add r1, r6, #0 str r0, [r5, #4] bl FUN_02020130 add sp, #0x4c pop {r4, r5, r6, r7, pc} _021EF76C: mov r0, #0 str r0, [r5, #4] add sp, #0x4c pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021EF6E0 thumb_func_start MOD16_021EF774 MOD16_021EF774: ; 0x021EF774 push {r4, lr} add r4, r0, #0 ldr r0, [r4] cmp r0, #0 beq _021EF782 bl FUN_0201FFC8 _021EF782: ldr r0, [r4, #4] cmp r0, #0 beq _021EF78C bl FUN_0201FFC8 _021EF78C: pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021EF774 thumb_func_start MOD16_021EF790 MOD16_021EF790: ; 0x021EF790 push {r3, r4, r5, r6, lr} sub sp, #0x14 mov r2, #0 add r5, r0, #0 add r4, r1, #0 str r2, [sp] mov r0, #0x45 mov r1, #6 add r3, r2, #0 str r4, [sp, #4] bl GfGfxLoader_GXLoadPal mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 str r0, [sp, #8] str r4, [sp, #0xc] mov r0, #0x45 mov r1, #0x21 add r2, r5, #0 mov r3, #3 bl GfGfxLoader_LoadCharData str r4, [sp] mov r0, #0x45 mov r1, #0x32 mov r2, #1 add r3, sp, #0x10 bl GfGfxLoader_GetScrnData ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r6, r0, #0 ldrh r0, [r2] mov r1, #3 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r5, #0 bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] mov r0, #0x45 mov r1, #0x33 mov r2, #1 add r3, sp, #0x10 bl GfGfxLoader_GetScrnData ldr r2, [sp, #0x10] mov r1, #3 str r1, [sp] add r6, r0, #0 ldrh r0, [r2] mov r3, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r5, #0 bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] mov r0, #0x45 mov r1, #0x34 mov r2, #1 add r3, sp, #0x10 bl GfGfxLoader_GetScrnData add r6, r0, #0 ldr r2, [sp, #0x10] mov r0, #8 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r5, #0 bl FUN_02018148 add r0, r6, #0 bl FreeToHeap str r4, [sp] mov r0, #0x45 mov r1, #0x36 mov r2, #1 add r3, sp, #0x10 bl GfGfxLoader_GetScrnData add r4, r0, #0 ldr r2, [sp, #0x10] mov r0, #0x10 str r0, [sp] ldrh r0, [r2] mov r1, #3 mov r3, #0 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r5, #0 bl FUN_02018148 add r0, r4, #0 bl FreeToHeap add r0, r5, #0 mov r1, #3 bl FUN_0201AC68 add sp, #0x14 pop {r3, r4, r5, r6, pc} thumb_func_end MOD16_021EF790 thumb_func_start MOD16_021EF8A8 MOD16_021EF8A8: ; 0x021EF8A8 push {r4, r5, lr} sub sp, #0x14 add r4, r0, #0 mov r0, #0 str r0, [sp] str r0, [sp, #4] mov r0, #1 add r5, r1, #0 str r0, [sp, #8] str r5, [sp, #0xc] mov r0, #0x45 mov r1, #0x21 add r2, r4, #0 mov r3, #2 bl GfGfxLoader_LoadCharData str r5, [sp] mov r0, #0x45 mov r1, #0x39 mov r2, #1 add r3, sp, #0x10 bl GfGfxLoader_GetScrnData ldr r2, [sp, #0x10] mov r3, #0 str r3, [sp] add r5, r0, #0 ldrh r0, [r2] mov r1, #2 lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #4] ldrh r0, [r2, #2] add r2, #0xc lsl r0, r0, #0x15 lsr r0, r0, #0x18 str r0, [sp, #8] add r0, r4, #0 bl FUN_02018148 add r0, r5, #0 bl FreeToHeap add r0, r4, #0 mov r1, #2 bl FUN_0201AC68 add sp, #0x14 pop {r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EF8A8 thumb_func_start MOD16_021EF90C MOD16_021EF90C: ; 0x021EF90C push {r3, r4, lr} sub sp, #4 add r4, r1, #0 mov r1, #0x6e lsl r1, r1, #2 ldr r0, [r4, r1] cmp r0, #4 bhi _021EF994 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021EF928: ; jump table .short _021EF932 - _021EF928 - 2 ; case 0 .short _021EF940 - _021EF928 - 2 ; case 1 .short _021EF958 - _021EF928 - 2 ; case 2 .short _021EF982 - _021EF928 - 2 ; case 3 .short _021EF994 - _021EF928 - 2 ; case 4 _021EF932: ldr r0, _021EF9B4 ; =0x04000050 mov r2, #0 strh r2, [r0] ldr r0, [r4, r1] add r0, r0, #1 str r0, [r4, r1] b _021EF994 _021EF940: ldr r0, [r4, #8] ldr r1, [r4, #0xc] bl MOD16_021EFA28 cmp r0, #0 beq _021EF994 mov r0, #0x6e lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _021EF994 _021EF958: add r2, r1, #0 add r2, #0x47 str r2, [sp] add r1, r1, #4 ldr r1, [r4, r1] mov r0, #0xe lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r3, r2, #0 bl FUN_020056AC cmp r0, #0 bne _021EF976 bl GF_AssertFail _021EF976: mov r0, #0x6e lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] b _021EF994 _021EF982: bl FUN_02005670 cmp r0, #0 bne _021EF994 mov r0, #0x6e lsl r0, r0, #2 ldr r1, [r4, r0] add r1, r1, #1 str r1, [r4, r0] _021EF994: mov r0, #0x79 lsl r0, r0, #2 ldr r1, [r4, r0] cmp r1, #0 beq _021EF9A6 sub r0, #0x20 add r0, r4, r0 bl MOD16_021EFB78 _021EF9A6: mov r0, #0x4e lsl r0, r0, #2 ldr r0, [r4, r0] bl FUN_0201FDEC add sp, #4 pop {r3, r4, pc} .align 2, 0 _021EF9B4: .word 0x04000050 thumb_func_end MOD16_021EF90C thumb_func_start MOD16_021EF9B8 MOD16_021EF9B8: ; 0x021EF9B8 push {r4, lr} mov r1, #0 mov r3, #2 add r2, r1, #0 lsl r3, r3, #8 add r4, r0, #0 bl FUN_02003108 mov r3, #7 add r0, r4, #0 mov r1, #2 mov r2, #0 lsl r3, r3, #6 bl FUN_02003108 pop {r4, pc} thumb_func_end MOD16_021EF9B8 thumb_func_start MOD16_021EF9D8 MOD16_021EF9D8: ; 0x021EF9D8 push {r4, r5, lr} sub sp, #0xc add r5, r0, #0 ldr r0, [sp, #0x20] add r4, r3, #0 str r0, [sp] add r0, r1, #0 add r1, r2, #0 ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] bl FUN_02007E68 lsl r0, r4, #0x18 lsr r0, r0, #0x18 str r0, [sp] ldr r0, [sp, #0x18] ldr r3, [sp, #0x1c] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #4] ldr r0, [sp, #0x20] lsl r3, r3, #0x18 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #8] ldr r2, _021EFA24 ; =0x0000FFFF add r0, r5, #0 mov r1, #5 asr r3, r3, #0x18 bl FUN_02003210 add r0, r5, #0 mov r1, #0 bl FUN_020038F0 add sp, #0xc pop {r4, r5, pc} nop _021EFA24: .word 0x0000FFFF thumb_func_end MOD16_021EF9D8 thumb_func_start MOD16_021EFA28 MOD16_021EFA28: ; 0x021EFA28 push {r3, r4, r5, lr} add r5, r1, #0 bl FUN_020038E4 add r4, r0, #0 add r0, r5, #0 bl FUN_02007F20 cmp r4, #0 bne _021EFA44 cmp r0, #0 bne _021EFA44 mov r0, #1 pop {r3, r4, r5, pc} _021EFA44: mov r0, #0 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EFA28 thumb_func_start MOD16_021EFA48 MOD16_021EFA48: ; 0x021EFA48 push {r3, r4, r5, lr} add r4, r1, #0 ldr r1, _021EFA68 ; =0x00020100 add r5, r0, #0 str r1, [sp] add r1, r2, #0 add r2, r4, #0 mov r3, #0 bl MOD16_021E5064 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EFA6C pop {r3, r4, r5, pc} nop _021EFA68: .word 0x00020100 thumb_func_end MOD16_021EFA48 thumb_func_start MOD16_021EFA6C MOD16_021EFA6C: ; 0x021EFA6C push {r4, r5, r6, lr} sub sp, #0x10 add r6, r0, #0 mov r0, #0x40 add r4, r1, #0 bl String_ctor add r5, r0, #0 ldr r2, _021EFABC ; =0x00000266 mov r0, #0 mov r1, #0x1a add r3, r4, #0 bl NewMsgDataFromNarc mov r1, #0x6d add r2, r5, #0 add r4, r0, #0 bl ReadMsgDataIntoString mov r1, #0 str r1, [sp] mov r0, #0xc1 str r1, [sp, #4] lsl r0, r0, #0xa str r0, [sp, #8] add r0, r6, #0 add r2, r5, #0 mov r3, #0x20 str r1, [sp, #0xc] bl AddTextPrinterParameterized2 add r0, r5, #0 bl String_dtor add r0, r4, #0 bl DestroyMsgData add sp, #0x10 pop {r4, r5, r6, pc} nop _021EFABC: .word 0x00000266 thumb_func_end MOD16_021EFA6C thumb_func_start MOD16_021EFAC0 MOD16_021EFAC0: ; 0x021EFAC0 push {r4, r5, r6, lr} sub sp, #0x20 add r5, r0, #0 add r4, r2, #0 add r0, sp, #0x10 mov r2, #2 add r6, r3, #0 bl FUN_02068B68 mov r0, #0 str r0, [sp] str r0, [sp, #4] str r0, [sp, #8] str r0, [sp, #0xc] add r0, r5, #0 add r1, sp, #0x10 add r2, r4, #0 add r3, r6, #0 bl FUN_020073A0 add sp, #0x20 pop {r4, r5, r6, pc} thumb_func_end MOD16_021EFAC0 thumb_func_start MOD16_021EFAEC MOD16_021EFAEC: ; 0x021EFAEC push {r3, r4, r5, lr} sub sp, #0x10 ldr r4, _021EFB10 ; =0x021FF760 add r3, sp, #0 add r5, r0, #0 add r2, r3, #0 ldmia r4!, {r0, r1} stmia r3!, {r0, r1} ldmia r4!, {r0, r1} stmia r3!, {r0, r1} add r0, r2, #0 ldr r1, _021EFB14 ; =0x00200010 mov r2, #0x10 str r5, [sp, #0xc] bl FUN_0201D060 add sp, #0x10 pop {r3, r4, r5, pc} .align 2, 0 _021EFB10: .word MOD16_021FF760 _021EFB14: .word 0x00200010 thumb_func_end MOD16_021EFAEC thumb_func_start MOD16_021EFB18 MOD16_021EFB18: ; 0x021EFB18 ldr r3, _021EFB1C ; =FUN_0201D12C bx r3 .align 2, 0 _021EFB1C: .word FUN_0201D12C thumb_func_end MOD16_021EFB18 thumb_func_start MOD16_021EFB20 MOD16_021EFB20: ; 0x021EFB20 push {r3, r4, r5, lr} add r4, r0, #0 add r5, r1, #0 cmp r2, #0 bne _021EFB3A add r2, r4, #0 mov r0, #0x45 mov r1, #0x17 add r2, #8 add r3, r5, #0 bl GfGfxLoader_GetPlttData b _021EFB48 _021EFB3A: add r2, r4, #0 mov r0, #0x45 mov r1, #0x18 add r2, #8 add r3, r5, #0 bl GfGfxLoader_GetPlttData _021EFB48: add r2, r4, #0 str r0, [r4] mov r0, #0x45 mov r1, #0x1a add r2, #0xc add r3, r5, #0 bl GfGfxLoader_GetPlttData str r0, [r4, #4] mov r1, #0 str r1, [r4, #0x10] str r1, [r4, #0x1c] add r2, r4, #0 _021EFB62: add r1, r1, #1 lsl r0, r1, #4 str r0, [r2, #0x14] add r2, r2, #4 cmp r1, #2 blt _021EFB62 ldr r1, [r4, #0x1c] add r0, r4, #0 bl MOD16_021EFBC4 pop {r3, r4, r5, pc} thumb_func_end MOD16_021EFB20 thumb_func_start MOD16_021EFB78 MOD16_021EFB78: ; 0x021EFB78 push {r3, lr} ldr r3, [r0, #0x1c] lsl r1, r3, #2 add r1, r0, r1 ldr r2, [r1, #0x14] ldr r1, [r0, #0x10] cmp r2, r1 bgt _021EFB9E add r1, r3, #1 str r1, [r0, #0x1c] cmp r1, #2 blt _021EFB96 mov r1, #0 str r1, [r0, #0x1c] str r1, [r0, #0x10] _021EFB96: ldr r1, [r0, #0x1c] bl MOD16_021EFBD8 pop {r3, pc} _021EFB9E: add r1, r1, #1 str r1, [r0, #0x10] pop {r3, pc} thumb_func_end MOD16_021EFB78 thumb_func_start MOD16_021EFBA4 MOD16_021EFBA4: ; 0x021EFBA4 push {r3, r4, r5, lr} add r5, r0, #0 mov r4, #0 _021EFBAA: ldr r0, [r5] bl FreeToHeap add r4, r4, #1 cmp r4, #2 blt _021EFBAA add r0, r5, #0 mov r1, #0 mov r2, #0x20 bl memset pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021EFBA4 thumb_func_start MOD16_021EFBC4 MOD16_021EFBC4: ; 0x021EFBC4 lsl r1, r1, #2 add r0, r0, r1 ldr r0, [r0, #8] ldr r3, _021EFBD4 ; =GX_LoadBGPltt ldr r0, [r0, #0xc] mov r1, #0 mov r2, #0x20 bx r3 .align 2, 0 _021EFBD4: .word GX_LoadBGPltt thumb_func_end MOD16_021EFBC4 thumb_func_start MOD16_021EFBD8 MOD16_021EFBD8: ; 0x021EFBD8 push {r3, lr} add r2, r1, #0 add r3, r0, #0 lsl r2, r2, #2 add r2, r3, r2 ldr r2, [r2, #8] mov r0, #0xf ldr r2, [r2, #0xc] mov r1, #0 mov r3, #0x20 bl FUN_0201C2C8 pop {r3, pc} .align 2, 0 thumb_func_end MOD16_021EFBD8 thumb_func_start MOD16_021EFBF4 MOD16_021EFBF4: ; 0x021EFBF4 push {r3, r4, r5, r6, r7, lr} sub sp, #8 mov r2, #0xd5 lsl r2, r2, #2 str r1, [sp, #4] add r1, r1, r2 str r0, [sp] ldr r2, _021EFC7C ; =0x00001DE0 mov r0, #0 bl MIi_CpuClear32 ldr r0, [sp] ldr r1, [r0, #0x2c] mov r0, #1 tst r0, r1 beq _021EFC70 mov r0, #0xb9 lsl r0, r0, #2 tst r0, r1 bne _021EFC70 ldr r6, _021EFC80 ; =0x000003CD mov r0, #0 add r7, r6, #0 mov ip, r0 sub r7, #0x31 _021EFC26: mov r1, ip mov r0, #1 tst r0, r1 beq _021EFC60 mov r0, ip asr r4, r0, #1 ldr r0, [sp, #4] lsl r3, r4, #3 ldr r2, [sp] mov r1, #0 add r3, r0, r3 add r4, r0, r4 _021EFC3E: add r0, r2, #0 add r0, #0xb0 ldrh r0, [r0] cmp r0, #0 beq _021EFC58 ldr r5, _021EFC80 ; =0x000003CD ldrb r5, [r4, r5] lsl r5, r5, #1 add r5, r3, r5 strh r0, [r5, r7] ldrb r0, [r4, r6] add r0, r0, #1 strb r0, [r4, r6] _021EFC58: add r1, r1, #1 add r2, r2, #2 cmp r1, #4 blt _021EFC3E _021EFC60: ldr r0, [sp] add r0, #0x34 str r0, [sp] mov r0, ip add r0, r0, #1 mov ip, r0 cmp r0, #4 blt _021EFC26 _021EFC70: ldr r2, _021EFC84 ; =0x021F4E34 ldr r1, _021EFC88 ; =0x00002134 ldr r0, [sp, #4] str r2, [r0, r1] add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021EFC7C: .word 0x00001DE0 _021EFC80: .word 0x000003CD _021EFC84: .word MOD16_021F4E34 _021EFC88: .word 0x00002134 thumb_func_end MOD16_021EFBF4 thumb_func_start MOD16_021EFC8C MOD16_021EFC8C: ; 0x021EFC8C push {r4, r5, r6, r7, lr} sub sp, #0xc str r0, [sp, #4] mov r0, #0xd5 add r5, r1, #0 lsl r0, r0, #2 add r1, r5, r0 mov r0, #0 str r2, [sp, #8] add r2, r0, #0 _021EFCA0: strb r2, [r1, r0] add r0, r0, #1 cmp r0, #0x1c blo _021EFCA0 mov r0, #0 mov r1, #0x64 mov r7, #1 _021EFCAE: add r4, r3, #0 tst r4, r7 beq _021EFCBE mov r4, #0xd6 add r6, r5, r2 lsl r4, r4, #2 strb r1, [r6, r4] b _021EFCC6 _021EFCBE: mov r4, #0xd6 add r6, r5, r2 lsl r4, r4, #2 strb r0, [r6, r4] _021EFCC6: lsl r3, r3, #0x17 add r2, r2, #1 lsr r3, r3, #0x18 cmp r2, #4 blt _021EFCAE mov r0, #0 mvn r0, r0 str r0, [sp] ldr r0, [sp, #4] ldr r2, [sp, #8] add r1, r5, #0 mov r3, #0 bl MOD11_02245D38 lsl r0, r0, #0x18 mov r4, #0 lsr r6, r0, #0x18 add r7, r4, #0 _021EFCEA: add r0, r4, #0 bl MaskOfFlagNo tst r0, r6 beq _021EFCFC mov r0, #0xd6 add r1, r5, r4 lsl r0, r0, #2 strb r7, [r1, r0] _021EFCFC: bl LCRandom lsr r1, r0, #0x1f lsl r2, r0, #0x1c sub r2, r2, r1 mov r0, #0x1c ror r2, r0 add r1, r1, r2 mov r0, #0x64 sub r2, r0, r1 mov r0, #0xdb add r1, r5, r4 lsl r0, r0, #2 add r4, r4, #1 strb r2, [r1, r0] cmp r4, #4 blt _021EFCEA mov r1, #0 add r0, #0x60 strb r1, [r5, r0] ldr r1, [sp, #4] mov r3, #0x80 ldr r2, [r1, #0x2c] add r1, r2, #0 tst r1, r3 beq _021EFD38 mov r1, #7 sub r0, #0x6c str r1, [r5, r0] b _021EFD6E _021EFD38: add r1, r3, #0 add r1, #0x80 tst r1, r2 beq _021EFD48 lsl r1, r3, #0x16 sub r0, #0x6c str r1, [r5, r0] b _021EFD6E _021EFD48: ldr r2, _021EFD88 ; =0x00002408 ldr r1, [sp, #4] ldr r2, [r1, r2] mov r1, #1 tst r1, r2 beq _021EFD5C lsl r1, r3, #0x18 sub r0, #0x6c str r1, [r5, r0] b _021EFD6E _021EFD5C: ldr r1, [sp, #8] mov r2, #0x34 mul r2, r1 ldr r1, [sp, #4] sub r0, #0x6c add r1, r1, r2 add r1, #0xb8 ldr r1, [r1] str r1, [r5, r0] _021EFD6E: ldr r0, [sp, #4] ldr r1, [r0, #0x2c] mov r0, #2 tst r0, r1 beq _021EFD84 mov r1, #0x36 lsl r1, r1, #4 ldr r2, [r5, r1] mov r0, #0x80 orr r0, r2 str r0, [r5, r1] _021EFD84: add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _021EFD88: .word 0x00002408 thumb_func_end MOD16_021EFC8C thumb_func_start MOD16_021EFD8C MOD16_021EFD8C: ; 0x021EFD8C push {r4, r5, r6, lr} add r5, r0, #0 add r2, r1, #0 mov r1, #0xd9 ldr r4, [r5, #0x30] lsl r1, r1, #2 ldrb r6, [r4, r1] mov r3, #0x10 tst r3, r6 bne _021EFDBE add r1, #0x6b strb r2, [r4, r1] add r1, r4, #0 bl MOD11_022482A4 mov r2, #0x3d lsl r2, r2, #4 strb r0, [r4, r2] sub r2, r2, #1 ldrb r2, [r4, r2] add r0, r5, #0 add r1, r4, #0 mov r3, #0xf bl MOD16_021EFC8C _021EFDBE: ldr r1, [r5, #0x2c] mov r0, #2 tst r0, r1 bne _021EFDD0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021EFDDC pop {r4, r5, r6, pc} _021EFDD0: add r0, r5, #0 add r1, r4, #0 bl MOD16_021EFED0 pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021EFD8C thumb_func_start MOD16_021EFDDC MOD16_021EFDDC: ; 0x021EFDDC push {r3, r4, r5, r6, r7, lr} sub sp, #8 add r4, r0, #0 add r5, r1, #0 bl MOD16_021F2CEC mov r0, #0x36 lsl r0, r0, #4 ldr r1, [r5, r0] cmp r1, #0 beq _021EFE32 add r7, r0, #0 add r6, r0, #5 _021EFDF6: mov r0, #1 tst r0, r1 beq _021EFE18 mov r0, #0xd9 lsl r0, r0, #2 ldrb r1, [r5, r0] mov r0, #0x10 tst r0, r1 bne _021EFE10 mov r0, #0xd5 mov r1, #0 lsl r0, r0, #2 strb r1, [r5, r0] _021EFE10: add r0, r4, #0 add r1, r5, #0 bl MOD16_021F00F0 _021EFE18: ldr r0, [r5, r7] mov r1, #0 lsr r0, r0, #1 str r0, [r5, r7] ldrb r0, [r5, r6] add r0, r0, #1 strb r0, [r5, r6] ldr r0, _021EFEC8 ; =0x00000355 strb r1, [r5, r0] add r0, #0xb ldr r1, [r5, r0] cmp r1, #0 bne _021EFDF6 _021EFE32: mov r3, #0xd9 lsl r3, r3, #2 ldrb r1, [r5, r3] mov r0, #2 tst r0, r1 beq _021EFE42 mov r0, #4 b _021EFEB2 _021EFE42: mov r0, #4 tst r0, r1 beq _021EFE4C mov r0, #5 b _021EFEB2 _021EFE4C: add r0, r3, #0 sub r0, #0xc ldrsb r0, [r5, r0] add r1, sp, #0 mov r4, #1 strb r0, [r1, #4] mov r0, #0 strb r0, [r1] add r3, #0x6b ldrb r3, [r5, r3] mov r0, #0xc0 add r2, r4, #0 mul r0, r3 add r0, r5, r0 add r3, r0, #2 _021EFE6A: ldr r0, _021EFECC ; =0x00002D4C ldrh r0, [r3, r0] cmp r0, #0 beq _021EFE9C mov r0, #0xd6 add r6, r5, r2 lsl r0, r0, #2 ldrsb r6, [r6, r0] ldrb r0, [r1, #4] cmp r0, r6 bne _021EFE90 add r0, sp, #4 strb r6, [r0, r4] add r0, r4, #1 lsl r0, r0, #0x18 add r7, r4, #0 lsr r4, r0, #0x18 add r0, sp, #0 strb r2, [r0, r7] _021EFE90: ldrb r0, [r1, #4] cmp r0, r6 bge _021EFE9C strb r6, [r1, #4] mov r4, #1 strb r2, [r1] _021EFE9C: add r2, r2, #1 add r3, r3, #2 cmp r2, #4 blt _021EFE6A bl LCRandom add r1, r4, #0 bl _s32_div_f add r0, sp, #0 ldrb r0, [r0, r1] _021EFEB2: mov r2, #0x3d lsl r2, r2, #4 sub r1, r2, #1 ldrb r1, [r5, r1] ldrb r3, [r5, r2] add r2, #0xa add r1, r5, r1 strb r3, [r1, r2] add sp, #8 pop {r3, r4, r5, r6, r7, pc} nop _021EFEC8: .word 0x00000355 _021EFECC: .word 0x00002D4C thumb_func_end MOD16_021EFDDC thumb_func_start MOD16_021EFED0 MOD16_021EFED0: ; 0x021EFED0 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r7, r0, #0 mov r0, #0 str r0, [sp, #0xc] add r0, sp, #0x18 add r5, r1, #0 str r0, [sp, #4] add r0, sp, #0x20 str r5, [sp, #8] str r0, [sp] _021EFEE6: ldr r0, _021F00DC ; =0x000003CF ldrb r2, [r5, r0] ldr r0, [sp, #0xc] cmp r0, r2 beq _021EFEFA ldr r1, _021F00E0 ; =0x00002D8C ldr r0, [sp, #8] ldr r0, [r0, r1] cmp r0, #0 bne _021EFF08 _021EFEFA: mov r1, #0 ldr r0, [sp, #4] mvn r1, r1 strb r1, [r0] ldr r0, [sp] strh r1, [r0] b _021F0026 _021EFF08: add r0, r7, #0 add r1, r5, #0 mov r3, #0xf bl MOD16_021EFC8C mov r1, #0x3d ldr r0, [sp, #0xc] lsl r1, r1, #4 strb r0, [r5, r1] sub r1, r1, #1 mov r2, #1 ldrb r1, [r5, r1] and r0, r2 and r1, r2 cmp r0, r1 beq _021EFF30 add r0, r7, #0 add r1, r5, #0 bl MOD16_021F2CEC _021EFF30: ldr r0, _021F00E4 ; =0x00000365 mov r2, #0 add r1, r0, #0 strb r2, [r5, r0] sub r1, #0x10 strb r2, [r5, r1] sub r0, r0, #5 ldr r4, [r5, r0] cmp r4, #0 beq _021EFF7A ldr r6, _021F00E4 ; =0x00000365 _021EFF46: mov r0, #1 tst r0, r4 beq _021EFF68 mov r0, #0xd9 lsl r0, r0, #2 ldrb r1, [r5, r0] mov r0, #0x10 tst r0, r1 bne _021EFF60 mov r0, #0xd5 mov r1, #0 lsl r0, r0, #2 strb r1, [r5, r0] _021EFF60: add r0, r7, #0 add r1, r5, #0 bl MOD16_021F00F0 _021EFF68: ldrb r0, [r5, r6] asr r4, r4, #1 mov r1, #0 add r0, r0, #1 strb r0, [r5, r6] ldr r0, _021F00E8 ; =0x00000355 cmp r4, #0 strb r1, [r5, r0] bne _021EFF46 _021EFF7A: mov r2, #0xd9 lsl r2, r2, #2 ldrb r1, [r5, r2] mov r0, #2 tst r0, r1 beq _021EFF8E ldr r0, [sp, #4] mov r1, #4 strb r1, [r0] b _021F0026 _021EFF8E: mov r0, #4 tst r0, r1 beq _021EFF9C ldr r0, [sp, #4] mov r1, #5 strb r1, [r0] b _021F0026 _021EFF9C: add r0, r2, #0 sub r0, #0xc ldrsb r1, [r5, r0] add r0, sp, #0x10 add r2, #0x6b strb r1, [r0, #4] mov r1, #0 strb r1, [r0] ldrb r3, [r5, r2] mov r2, #0xc0 mov r4, #1 mul r2, r3 add r2, r5, r2 add r1, r4, #0 add r2, r2, #2 _021EFFBA: ldr r3, _021F00EC ; =0x00002D4C ldrh r3, [r2, r3] cmp r3, #0 beq _021EFFE6 mov r3, #0xd6 add r6, r5, r1 lsl r3, r3, #2 ldrsb r3, [r6, r3] ldrb r6, [r0, #4] cmp r6, r3 bne _021EFFDA add r6, sp, #0x14 strb r3, [r6, r4] add r6, sp, #0x10 strb r1, [r6, r4] add r4, r4, #1 _021EFFDA: ldrb r6, [r0, #4] cmp r6, r3 bge _021EFFE6 strb r3, [r0, #4] strb r1, [r0] mov r4, #1 _021EFFE6: add r1, r1, #1 add r2, r2, #2 cmp r1, #4 blt _021EFFBA bl LCRandom add r1, r4, #0 bl _s32_div_f add r0, sp, #0x10 ldrb r1, [r0, r1] ldr r0, [sp, #4] strb r1, [r0] add r0, sp, #0x10 ldrb r1, [r0, #4] ldr r0, [sp] strh r1, [r0] ldr r0, _021F00DC ; =0x000003CF ldrb r1, [r5, r0] mov r0, #2 eor r1, r0 ldr r0, [sp, #0xc] cmp r0, r1 bne _021F0026 ldr r0, [sp] mov r1, #0 ldrsh r0, [r0, r1] cmp r0, #0x64 bge _021F0026 ldr r0, [sp] sub r1, r1, #1 strh r1, [r0] _021F0026: ldr r0, [sp, #8] add r0, #0xc0 str r0, [sp, #8] ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] ldr r0, [sp] add r0, r0, #2 str r0, [sp] ldr r0, [sp, #0xc] add r0, r0, #1 str r0, [sp, #0xc] cmp r0, #4 bge _021F0044 b _021EFEE6 _021F0044: mov r1, #0x10 add r0, sp, #0x10 ldrsh r1, [r0, r1] mov r2, #0 mov r6, #1 strb r2, [r0, #0xc] add r2, sp, #0x20 add r4, r6, #0 add r2, #2 _021F0056: mov r0, #0 ldrsh r3, [r2, r0] cmp r1, r3 bne _021F0064 add r0, sp, #0x1c strb r4, [r0, r6] add r6, r6, #1 _021F0064: cmp r1, r3 bge _021F0070 add r0, sp, #0x10 add r1, r3, #0 strb r4, [r0, #0xc] mov r6, #1 _021F0070: add r4, r4, #1 add r2, r2, #2 cmp r4, #4 blt _021F0056 bl LCRandom add r1, r6, #0 bl _s32_div_f add r0, sp, #0x1c ldrb r3, [r0, r1] ldr r0, _021F00DC ; =0x000003CF ldrb r1, [r5, r0] add r2, r5, r1 add r1, r0, #0 add r1, #0xb strb r3, [r2, r1] ldrb r2, [r5, r0] add r1, r0, #0 add r1, #0xb add r3, r5, r2 ldrb r1, [r3, r1] add r3, sp, #0x18 add r0, #0x17 ldrsb r4, [r3, r1] mov r3, #0xc0 mul r3, r2 add r3, r5, r3 lsl r2, r4, #1 add r3, r3, r2 ldr r2, _021F00EC ; =0x00002D4C ldrh r2, [r3, r2] lsl r2, r2, #4 add r2, r5, r2 ldrh r2, [r2, r0] mov r0, #2 lsl r0, r0, #8 cmp r2, r0 bne _021F00D2 add r0, r7, #0 bl MOD11_02230270 cmp r0, #0 bne _021F00D2 ldr r0, _021F00DC ; =0x000003CF ldrb r2, [r5, r0] add r0, #0xb add r1, r5, r2 strb r2, [r1, r0] _021F00D2: lsl r0, r4, #0x18 lsr r0, r0, #0x18 add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} nop _021F00DC: .word 0x000003CF _021F00E0: .word 0x00002D8C _021F00E4: .word 0x00000365 _021F00E8: .word 0x00000355 _021F00EC: .word 0x00002D4C thumb_func_end MOD16_021EFED0 thumb_func_start MOD16_021F00F0 MOD16_021F00F0: ; 0x021F00F0 push {r3, r4, r5, r6, r7, lr} add r7, r0, #0 mov r0, #0xd5 add r5, r1, #0 lsl r0, r0, #2 ldrb r0, [r5, r0] cmp r0, #2 beq _021F01D6 mov r6, #0xd9 lsl r6, r6, #2 add r4, r6, #0 sub r4, #0x10 _021F0108: cmp r0, #0 beq _021F0114 cmp r0, #1 beq _021F0154 cmp r0, #2 b _021F01CC _021F0114: ldr r1, _021F01D8 ; =0x00000365 ldr r0, _021F01DC ; =0x00002134 ldrb r1, [r5, r1] ldr r0, [r5, r0] lsl r1, r1, #2 ldr r1, [r0, r1] ldr r0, _021F01E0 ; =0x00002138 str r1, [r5, r0] ldr r0, _021F01E4 ; =0x000003CF ldrb r1, [r5, r0] mov r0, #0xc0 mul r0, r1 add r3, r5, r0 ldr r0, _021F01E8 ; =0x00000355 ldrb r2, [r5, r0] ldr r0, _021F01EC ; =0x00002D6C add r1, r3, r2 ldrb r0, [r1, r0] cmp r0, #0 bne _021F0140 mov r1, #0 b _021F0148 _021F0140: lsl r0, r2, #1 add r1, r3, r0 ldr r0, _021F01F0 ; =0x00002D4C ldrh r1, [r1, r0] _021F0148: ldr r0, _021F01F4 ; =0x00000356 strh r1, [r5, r0] ldrb r0, [r5, r4] add r0, r0, #1 strb r0, [r5, r4] b _021F01CC _021F0154: ldr r0, _021F01F4 ; =0x00000356 ldrh r0, [r5, r0] cmp r0, #0 beq _021F0176 ldr r3, _021F01E0 ; =0x00002138 ldr r2, _021F01DC ; =0x00002134 ldr r3, [r5, r3] ldr r2, [r5, r2] lsl r3, r3, #2 ldr r2, [r2, r3] add r0, r7, #0 lsl r3, r2, #2 ldr r2, _021F01F8 ; =0x021FF810 add r1, r5, #0 ldr r2, [r2, r3] blx r2 b _021F018C _021F0176: ldr r0, _021F01E8 ; =0x00000355 mov r1, #0 ldrb r0, [r5, r0] add r2, r5, r0 mov r0, #0xd6 lsl r0, r0, #2 strb r1, [r2, r0] ldrb r1, [r5, r6] mov r0, #1 orr r0, r1 strb r0, [r5, r6] _021F018C: mov r0, #0xd9 lsl r0, r0, #2 ldrb r1, [r5, r0] mov r0, #1 tst r0, r1 beq _021F01CC ldr r0, _021F01E8 ; =0x00000355 ldrb r0, [r5, r0] add r1, r0, #1 ldr r0, _021F01E8 ; =0x00000355 strb r1, [r5, r0] ldrb r0, [r5, r0] cmp r0, #4 bhs _021F01BE mov r0, #0xd9 lsl r0, r0, #2 ldrb r1, [r5, r0] mov r0, #8 tst r0, r1 bne _021F01BE mov r0, #0xd5 mov r1, #0 lsl r0, r0, #2 strb r1, [r5, r0] b _021F01C4 _021F01BE: ldrb r0, [r5, r4] add r0, r0, #1 strb r0, [r5, r4] _021F01C4: ldrb r1, [r5, r6] mov r0, #0xfe and r0, r1 strb r0, [r5, r6] _021F01CC: mov r0, #0xd5 lsl r0, r0, #2 ldrb r0, [r5, r0] cmp r0, #2 bne _021F0108 _021F01D6: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F01D8: .word 0x00000365 _021F01DC: .word 0x00002134 _021F01E0: .word 0x00002138 _021F01E4: .word 0x000003CF _021F01E8: .word 0x00000355 _021F01EC: .word 0x00002D6C _021F01F0: .word 0x00002D4C _021F01F4: .word 0x00000356 _021F01F8: .word MOD16_021FF810 thumb_func_end MOD16_021F00F0 thumb_func_start MOD16_021F01FC MOD16_021F01FC: ; 0x021F01FC push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 bl LCRandom lsr r2, r0, #0x1f lsl r1, r0, #0x18 sub r1, r1, r2 mov r0, #0x18 ror r1, r0 add r0, r2, r1 cmp r0, r4 bge _021F0234 add r0, r5, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F0234: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021F01FC thumb_func_start MOD16_021F0238 MOD16_021F0238: ; 0x021F0238 push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 bl LCRandom lsr r2, r0, #0x1f lsl r1, r0, #0x18 sub r1, r1, r2 mov r0, #0x18 ror r1, r0 add r0, r2, r1 cmp r0, r4 ble _021F0270 add r0, r5, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F0270: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021F0238 thumb_func_start MOD16_021F0274 MOD16_021F0274: ; 0x021F0274 push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 bl LCRandom lsr r2, r0, #0x1f lsl r1, r0, #0x18 sub r1, r1, r2 mov r0, #0x18 ror r1, r0 add r0, r2, r1 cmp r4, r0 bne _021F02AC add r0, r5, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F02AC: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021F0274 thumb_func_start MOD16_021F02B0 MOD16_021F02B0: ; 0x021F02B0 push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 bl LCRandom lsr r2, r0, #0x1f lsl r1, r0, #0x18 sub r1, r1, r2 mov r0, #0x18 ror r1, r0 add r0, r2, r1 cmp r4, r0 beq _021F02E8 add r0, r5, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F02E8: pop {r4, r5, r6, pc} .align 2, 0 thumb_func_end MOD16_021F02B0 thumb_func_start MOD16_021F02EC MOD16_021F02EC: ; 0x021F02EC push {r3, r4, r5, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 mov r2, #0xd6 lsl r2, r2, #2 sub r3, r2, #3 ldrb r5, [r4, r3] add r1, r4, r2 ldrsb r3, [r1, r5] add r0, r3, r0 strb r0, [r1, r5] sub r0, r2, #3 ldrb r2, [r4, r0] ldrsb r0, [r1, r2] cmp r0, #0 bge _021F031C mov r0, #0 strb r0, [r1, r2] _021F031C: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F02EC thumb_func_start MOD16_021F0320 MOD16_021F0320: ; 0x021F0320 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r3, _021F0374 ; =0x00002D8C add r2, r5, r1 ldr r1, [r2, r3] mov r0, #0x64 mul r0, r1 add r1, r3, #4 ldr r1, [r2, r1] bl _u32_div_f cmp r0, r6 bhs _021F0370 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F0370: pop {r3, r4, r5, r6, r7, pc} nop _021F0374: .word 0x00002D8C thumb_func_end MOD16_021F0320 thumb_func_start MOD16_021F0378 MOD16_021F0378: ; 0x021F0378 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r3, _021F03CC ; =0x00002D8C add r2, r5, r1 ldr r1, [r2, r3] mov r0, #0x64 mul r0, r1 add r1, r3, #4 ldr r1, [r2, r1] bl _u32_div_f cmp r0, r6 bls _021F03C8 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F03C8: pop {r3, r4, r5, r6, r7, pc} nop _021F03CC: .word 0x00002D8C thumb_func_end MOD16_021F0378 thumb_func_start MOD16_021F03D0 MOD16_021F03D0: ; 0x021F03D0 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r3, _021F0424 ; =0x00002D8C add r2, r5, r1 ldr r1, [r2, r3] mov r0, #0x64 mul r0, r1 add r1, r3, #4 ldr r1, [r2, r1] bl _u32_div_f cmp r0, r6 bne _021F0420 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F0420: pop {r3, r4, r5, r6, r7, pc} nop _021F0424: .word 0x00002D8C thumb_func_end MOD16_021F03D0 thumb_func_start MOD16_021F0428 MOD16_021F0428: ; 0x021F0428 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r3, _021F047C ; =0x00002D8C add r2, r5, r1 ldr r1, [r2, r3] mov r0, #0x64 mul r0, r1 add r1, r3, #4 ldr r1, [r2, r1] bl _u32_div_f cmp r0, r6 beq _021F0478 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F0478: pop {r3, r4, r5, r6, r7, pc} nop _021F047C: .word 0x00002D8C thumb_func_end MOD16_021F0428 thumb_func_start MOD16_021F0480 MOD16_021F0480: ; 0x021F0480 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F04C8 ; =0x00002DAC add r1, r5, r1 ldr r0, [r1, r0] tst r0, r6 beq _021F04C4 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F04C4: pop {r3, r4, r5, r6, r7, pc} nop _021F04C8: .word 0x00002DAC thumb_func_end MOD16_021F0480 thumb_func_start MOD16_021F04CC MOD16_021F04CC: ; 0x021F04CC push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F0514 ; =0x00002DAC add r1, r5, r1 ldr r0, [r1, r0] tst r0, r6 bne _021F0510 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F0510: pop {r3, r4, r5, r6, r7, pc} nop _021F0514: .word 0x00002DAC thumb_func_end MOD16_021F04CC thumb_func_start MOD16_021F0518 MOD16_021F0518: ; 0x021F0518 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F0560 ; =0x00002DB0 add r1, r5, r1 ldr r0, [r1, r0] tst r0, r6 beq _021F055C add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F055C: pop {r3, r4, r5, r6, r7, pc} nop _021F0560: .word 0x00002DB0 thumb_func_end MOD16_021F0518 thumb_func_start MOD16_021F0564 MOD16_021F0564: ; 0x021F0564 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F05AC ; =0x00002DB0 add r1, r5, r1 ldr r0, [r1, r0] tst r0, r6 bne _021F05A8 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F05A8: pop {r3, r4, r5, r6, r7, pc} nop _021F05AC: .word 0x00002DB0 thumb_func_end MOD16_021F0564 thumb_func_start MOD16_021F05B0 MOD16_021F05B0: ; 0x021F05B0 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 mov r0, #0xb7 add r1, r5, r1 lsl r0, r0, #6 ldr r0, [r1, r0] tst r0, r6 beq _021F05F6 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F05F6: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021F05B0 thumb_func_start MOD16_021F05F8 MOD16_021F05F8: ; 0x021F05F8 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 mov r0, #0xb7 add r1, r5, r1 lsl r0, r0, #6 ldr r0, [r1, r0] tst r0, r6 bne _021F063E add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F063E: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021F05F8 thumb_func_start MOD16_021F0640 MOD16_021F0640: ; 0x021F0640 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r7, r0, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 str r0, [sp] add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 add r0, r7, #0 bl MOD11_02230270 lsl r0, r0, #2 add r1, r5, r0 mov r0, #0x6f lsl r0, r0, #2 ldr r0, [r1, r0] tst r0, r6 beq _021F068E ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 _021F068E: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021F0640 thumb_func_start MOD16_021F0690 MOD16_021F0690: ; 0x021F0690 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r7, r0, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 str r0, [sp] add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 add r0, r7, #0 bl MOD11_02230270 lsl r0, r0, #2 add r1, r5, r0 mov r0, #0x6f lsl r0, r0, #2 ldr r0, [r1, r0] tst r0, r6 bne _021F06DE ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 _021F06DE: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021F0690 thumb_func_start MOD16_021F06E0 MOD16_021F06E0: ; 0x021F06E0 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, r4 bge _021F070C add r0, r5, #0 bl MOD16_021F2D88 _021F070C: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F06E0 thumb_func_start MOD16_021F0710 MOD16_021F0710: ; 0x021F0710 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, r4 ble _021F073C add r0, r5, #0 bl MOD16_021F2D88 _021F073C: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F0710 thumb_func_start MOD16_021F0740 MOD16_021F0740: ; 0x021F0740 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, r4 bne _021F076C add r0, r5, #0 bl MOD16_021F2D88 _021F076C: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F0740 thumb_func_start MOD16_021F0770 MOD16_021F0770: ; 0x021F0770 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r0, r4 beq _021F079C add r0, r5, #0 bl MOD16_021F2D88 _021F079C: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F0770 thumb_func_start MOD16_021F07A0 MOD16_021F07A0: ; 0x021F07A0 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] tst r0, r4 beq _021F07CC add r0, r5, #0 bl MOD16_021F2D88 _021F07CC: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F07A0 thumb_func_start MOD16_021F07D0 MOD16_021F07D0: ; 0x021F07D0 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] tst r0, r4 bne _021F07FC add r0, r5, #0 bl MOD16_021F2D88 _021F07FC: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F07D0 thumb_func_start MOD16_021F0800 MOD16_021F0800: ; 0x021F0800 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 ldr r0, _021F082C ; =0x00000356 ldrh r0, [r5, r0] cmp r0, r4 bne _021F082A add r0, r5, #0 bl MOD16_021F2D88 _021F082A: pop {r3, r4, r5, pc} .align 2, 0 _021F082C: .word 0x00000356 thumb_func_end MOD16_021F0800 thumb_func_start MOD16_021F0830 MOD16_021F0830: ; 0x021F0830 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 ldr r0, _021F085C ; =0x00000356 ldrh r0, [r5, r0] cmp r0, r4 beq _021F085A add r0, r5, #0 bl MOD16_021F2D88 _021F085A: pop {r3, r4, r5, pc} .align 2, 0 _021F085C: .word 0x00000356 thumb_func_end MOD16_021F0830 thumb_func_start MOD16_021F0860 MOD16_021F0860: ; 0x021F0860 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 str r0, [sp] add r0, r5, #0 add r1, r4, #0 bl MOD16_021F2D74 mov r1, #0 mvn r1, r1 cmp r0, r1 beq _021F08B0 mov r6, #0xd7 add r7, r1, #0 lsl r6, r6, #2 _021F0892: ldr r1, [r5, r6] cmp r1, r0 bne _021F08A2 ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F08A2: add r4, r4, #1 add r0, r5, #0 add r1, r4, #0 bl MOD16_021F2D74 cmp r0, r7 bne _021F0892 _021F08B0: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021F0860 thumb_func_start MOD16_021F08B4 MOD16_021F08B4: ; 0x021F08B4 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 str r0, [sp] add r0, r5, #0 add r1, r4, #0 bl MOD16_021F2D74 mov r1, #0 mvn r1, r1 cmp r0, r1 beq _021F08FA mov r6, #0xd7 add r7, r1, #0 lsl r6, r6, #2 _021F08E6: ldr r1, [r5, r6] cmp r1, r0 beq _021F0902 add r4, r4, #1 add r0, r5, #0 add r1, r4, #0 bl MOD16_021F2D74 cmp r0, r7 bne _021F08E6 _021F08FA: ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 _021F0902: pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021F08B4 thumb_func_start MOD16_021F0904 MOD16_021F0904: ; 0x021F0904 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 add r0, r6, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r6, #0 bl MOD16_021F2D54 ldr r1, _021F095C ; =0x000003CF mov ip, r0 ldrb r2, [r6, r1] mov r1, #0xc0 mov r0, #0 mul r1, r2 add r3, r6, r1 ldr r7, _021F0960 ; =0x00002D4C add r1, r3, #0 add r2, r0, #0 _021F092A: ldrh r4, [r1, r7] cmp r4, #0 beq _021F0942 ldr r4, _021F0960 ; =0x00002D4C add r5, r3, r2 ldrh r4, [r5, r4] lsl r4, r4, #4 add r5, r6, r4 ldr r4, _021F0964 ; =0x000003E1 ldrb r4, [r5, r4] cmp r4, #0 bne _021F094C _021F0942: add r0, r0, #1 add r1, r1, #2 add r2, r2, #2 cmp r0, #4 blt _021F092A _021F094C: cmp r0, #4 bge _021F0958 add r0, r6, #0 mov r1, ip bl MOD16_021F2D88 _021F0958: pop {r3, r4, r5, r6, r7, pc} nop _021F095C: .word 0x000003CF _021F0960: .word 0x00002D4C _021F0964: .word 0x000003E1 thumb_func_end MOD16_021F0904 thumb_func_start MOD16_021F0968 MOD16_021F0968: ; 0x021F0968 push {r3, r4, r5, r6, r7, lr} add r6, r1, #0 add r0, r6, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r6, #0 bl MOD16_021F2D54 ldr r1, _021F09C0 ; =0x000003CF mov ip, r0 ldrb r2, [r6, r1] mov r1, #0xc0 mov r0, #0 mul r1, r2 add r3, r6, r1 ldr r7, _021F09C4 ; =0x00002D4C add r1, r3, #0 add r2, r0, #0 _021F098E: ldrh r4, [r1, r7] cmp r4, #0 beq _021F09A6 ldr r4, _021F09C4 ; =0x00002D4C add r5, r3, r2 ldrh r4, [r5, r4] lsl r4, r4, #4 add r5, r6, r4 ldr r4, _021F09C8 ; =0x000003E1 ldrb r4, [r5, r4] cmp r4, #0 bne _021F09B0 _021F09A6: add r0, r0, #1 add r1, r1, #2 add r2, r2, #2 cmp r0, #4 blt _021F098E _021F09B0: cmp r0, #4 bne _021F09BC add r0, r6, #0 mov r1, ip bl MOD16_021F2D88 _021F09BC: pop {r3, r4, r5, r6, r7, pc} nop _021F09C0: .word 0x000003CF _021F09C4: .word 0x00002D4C _021F09C8: .word 0x000003E1 thumb_func_end MOD16_021F0968 thumb_func_start MOD16_021F09CC MOD16_021F09CC: ; 0x021F09CC push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r0, #0x15 lsl r0, r0, #4 ldr r1, [r4, r0] mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021F09CC thumb_func_start MOD16_021F09E8 MOD16_021F09E8: ; 0x021F09E8 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 cmp r0, #8 bls _021F0A02 b _021F0B0C _021F0A02: add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021F0A0E: ; jump table .short _021F0A36 - _021F0A0E - 2 ; case 0 .short _021F0A20 - _021F0A0E - 2 ; case 1 .short _021F0A64 - _021F0A0E - 2 ; case 2 .short _021F0A4E - _021F0A0E - 2 ; case 3 .short _021F0A7C - _021F0A0E - 2 ; case 4 .short _021F0AAE - _021F0A0E - 2 ; case 5 .short _021F0A90 - _021F0A0E - 2 ; case 6 .short _021F0AEC - _021F0A0E - 2 ; case 7 .short _021F0ACE - _021F0A0E - 2 ; case 8 _021F0A20: ldr r1, _021F0B14 ; =0x000003CF add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #0x1b mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0A36: mov r1, #0x3d lsl r1, r1, #4 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0A4E: ldr r1, _021F0B14 ; =0x000003CF add r0, r4, #0 ldrb r1, [r4, r1] mov r2, #0x1c mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0A64: mov r1, #0x3d lsl r1, r1, #4 ldrb r1, [r4, r1] add r0, r4, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0A7C: ldr r0, _021F0B18 ; =0x00000356 ldrh r1, [r4, r0] lsl r1, r1, #4 add r2, r4, r1 add r1, r0, #0 add r1, #0x8c ldrb r1, [r2, r1] add r0, r0, #6 str r1, [r4, r0] pop {r3, r4, r5, pc} _021F0A90: ldr r1, _021F0B14 ; =0x000003CF add r0, r5, #0 ldrb r1, [r4, r1] bl MOD11_022302BC add r1, r0, #0 add r0, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0AAE: mov r1, #0x3d lsl r1, r1, #4 ldrb r1, [r4, r1] add r0, r5, #0 bl MOD11_022302BC add r1, r0, #0 add r0, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0ACE: ldr r1, _021F0B14 ; =0x000003CF add r0, r5, #0 ldrb r1, [r4, r1] bl MOD11_022302BC add r1, r0, #0 add r0, r4, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0AEC: mov r1, #0x3d lsl r1, r1, #4 ldrb r1, [r4, r1] add r0, r5, #0 bl MOD11_022302BC add r1, r0, #0 add r0, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r3, r4, r5, pc} _021F0B0C: bl GF_AssertFail pop {r3, r4, r5, pc} nop _021F0B14: .word 0x000003CF _021F0B18: .word 0x00000356 thumb_func_end MOD16_021F09E8 thumb_func_start MOD16_021F0B1C MOD16_021F0B1C: ; 0x021F0B1C push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r4, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r6, r0, #0 add r0, r5, #0 add r1, r6, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 cmp r4, r0 beq _021F0B64 add r0, r5, #0 add r1, r6, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 cmp r4, r0 bne _021F0B6E _021F0B64: mov r0, #0xd7 mov r1, #1 lsl r0, r0, #2 str r1, [r5, r0] pop {r4, r5, r6, pc} _021F0B6E: mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r5, r0] pop {r4, r5, r6, pc} thumb_func_end MOD16_021F0B1C thumb_func_start MOD16_021F0B78 MOD16_021F0B78: ; 0x021F0B78 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, _021F0B98 ; =0x00000356 ldrh r1, [r4, r0] lsl r1, r1, #4 add r2, r4, r1 add r1, r0, #0 add r1, #0x8b ldrb r1, [r2, r1] add r0, r0, #6 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021F0B98: .word 0x00000356 thumb_func_end MOD16_021F0B78 thumb_func_start MOD16_021F0B9C MOD16_021F0B9C: ; 0x021F0B9C push {r3, r4, r5, r6, r7, lr} sub sp, #0x38 add r6, r1, #0 str r0, [sp, #0x18] add r0, r6, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r6, #0 bl MOD16_021F2D54 ldr r2, _021F0CB8 ; =0x00000356 str r0, [sp, #0x1c] ldrh r3, [r6, r2] add r2, #0x88 ldr r1, _021F0CBC ; =0x021FF7F4 lsl r7, r3, #4 add r3, r6, r7 ldrh r3, [r3, r2] ldr r2, _021F0CC0 ; =0x0000FFFF mov r0, #0 _021F0BC6: ldrh r4, [r1] cmp r3, r4 beq _021F0BD6 add r1, r1, #2 ldrh r4, [r1] add r0, r0, #1 cmp r4, r2 bne _021F0BC6 _021F0BD6: ldr r2, _021F0CC4 ; =0x021FF7DC ldr r4, _021F0CC0 ; =0x0000FFFF mov r1, #0 _021F0BDC: ldrh r5, [r2] cmp r3, r5 beq _021F0BEC add r2, r2, #2 ldrh r5, [r2] add r1, r1, #1 cmp r5, r4 bne _021F0BDC _021F0BEC: lsl r2, r1, #1 ldr r1, _021F0CC4 ; =0x021FF7DC ldrh r1, [r1, r2] ldr r2, _021F0CC0 ; =0x0000FFFF cmp r1, r2 bne _021F0C0C ldr r1, _021F0CC8 ; =0x000003E1 add r3, r6, r7 ldrb r1, [r3, r1] cmp r1, #1 bls _021F0CAA lsl r1, r0, #1 ldr r0, _021F0CBC ; =0x021FF7F4 ldrh r0, [r0, r1] cmp r0, r2 bne _021F0CAA _021F0C0C: ldr r7, _021F0CCC ; =0x000003CF mov r4, #0 add r5, sp, #0x20 _021F0C12: ldrb r1, [r6, r7] add r2, r4, #0 add r0, r6, #0 add r2, #0xa mov r3, #0 bl MOD11_02243420 strb r0, [r5] add r4, r4, #1 add r5, r5, #1 cmp r4, #6 blt _021F0C12 ldr r0, _021F0CCC ; =0x000003CF ldrb r4, [r6, r0] mov r0, #0xc0 add r5, r4, #0 mul r5, r0 add r0, r6, #0 add r1, r4, #0 bl MOD11_02246D1C add r1, sp, #0x28 str r1, [sp] ldr r3, _021F0CD0 ; =0x00002DB8 add r1, r6, r5 ldrh r1, [r1, r3] add r2, r4, #0 str r1, [sp, #4] add r1, sp, #0x20 str r1, [sp, #8] str r0, [sp, #0xc] mov r0, #0xc0 mul r0, r4 add r1, r6, r0 add r0, r3, #0 add r0, #0x14 ldr r0, [r1, r0] sub r3, #0x6c lsl r0, r0, #0xa lsr r0, r0, #0x1d str r0, [sp, #0x10] ldr r0, [sp, #0x1c] add r3, r6, r3 str r0, [sp, #0x14] ldr r0, [sp, #0x18] add r1, r6, #0 add r3, r3, r5 bl MOD16_021F2DE0 ldr r0, _021F0CD4 ; =0x00000355 add r1, sp, #0x28 ldrb r0, [r6, r0] mov r3, #0 lsl r0, r0, #2 ldr r2, [r1, r0] _021F0C80: ldr r0, [r1] cmp r0, r2 bgt _021F0C8E add r3, r3, #1 add r1, r1, #4 cmp r3, #4 blt _021F0C80 _021F0C8E: cmp r3, #4 bne _021F0C9E mov r0, #0xd7 mov r1, #2 lsl r0, r0, #2 add sp, #0x38 str r1, [r6, r0] pop {r3, r4, r5, r6, r7, pc} _021F0C9E: mov r0, #0xd7 mov r1, #1 lsl r0, r0, #2 add sp, #0x38 str r1, [r6, r0] pop {r3, r4, r5, r6, r7, pc} _021F0CAA: mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r6, r0] add sp, #0x38 pop {r3, r4, r5, r6, r7, pc} nop _021F0CB8: .word 0x00000356 _021F0CBC: .word MOD16_021FF7F4 _021F0CC0: .word 0x0000FFFF _021F0CC4: .word MOD16_021FF7DC _021F0CC8: .word 0x000003E1 _021F0CCC: .word 0x000003CF _021F0CD0: .word 0x00002DB8 _021F0CD4: .word 0x00000355 thumb_func_end MOD16_021F0B9C thumb_func_start MOD16_021F0CD8 MOD16_021F0CD8: ; 0x021F0CD8 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 lsl r0, r0, #1 add r1, r4, r0 ldr r0, _021F0D08 ; =0x0000307C ldrh r1, [r1, r0] mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} nop _021F0D08: .word 0x0000307C thumb_func_end MOD16_021F0CD8 thumb_func_start MOD16_021F0D0C MOD16_021F0D0C: ; 0x021F0D0C push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r4, r0 bne _021F0D38 add r0, r5, #0 bl MOD16_021F2D88 _021F0D38: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F0D0C thumb_func_start MOD16_021F0D3C MOD16_021F0D3C: ; 0x021F0D3C push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] cmp r4, r0 beq _021F0D68 add r0, r5, #0 bl MOD16_021F2D88 _021F0D68: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F0D3C thumb_func_start MOD16_021F0D6C MOD16_021F0D6C: ; 0x021F0D6C push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r6, r0, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r7, r0, #0 mov r0, #1 str r0, [sp] ldr r3, _021F0DAC ; =0x000003CF add r0, r6, #0 ldrb r2, [r5, r3] add r3, r3, #1 ldrb r3, [r5, r3] add r1, r5, #0 bl MOD11_02244248 cmp r4, r0 bne _021F0DAA add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F0DAA: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F0DAC: .word 0x000003CF thumb_func_end MOD16_021F0D6C thumb_func_start MOD16_021F0DB0 MOD16_021F0DB0: ; 0x021F0DB0 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r6, r0, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r7, r0, #0 mov r0, #1 str r0, [sp] ldr r3, _021F0DF0 ; =0x000003CF add r0, r6, #0 ldrb r2, [r5, r3] add r3, r3, #1 ldrb r3, [r5, r3] add r1, r5, #0 bl MOD11_02244248 cmp r4, r0 beq _021F0DEE add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F0DEE: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F0DF0: .word 0x000003CF thumb_func_end MOD16_021F0DB0 thumb_func_start MOD16_021F0DF4 MOD16_021F0DF4: ; 0x021F0DF4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r1, #0 add r7, r0, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r2, r0, #0 mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r5, r0] lsl r1, r2, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 str r0, [sp] ldr r1, [sp] add r0, r7, #0 bl MOD11_0222FF88 str r0, [sp, #0xc] ldr r1, [r7, #0x2c] mov r0, #2 tst r0, r1 beq _021F0E4E ldr r0, [sp] add r1, r5, r0 ldr r0, _021F0EC8 ; =0x0000219C ldrb r0, [r1, r0] ldr r1, [sp] str r0, [sp, #8] add r0, r7, #0 bl MOD11_022302BC add r1, r5, r0 ldr r0, _021F0EC8 ; =0x0000219C ldrb r0, [r1, r0] str r0, [sp, #4] b _021F0E5A _021F0E4E: ldr r0, [sp] add r1, r5, r0 ldr r0, _021F0EC8 ; =0x0000219C ldrb r0, [r1, r0] str r0, [sp, #4] str r0, [sp, #8] _021F0E5A: ldr r1, [sp] add r0, r7, #0 mov r4, #0 bl MOD11_0222FFC8 cmp r0, #0 ble _021F0EC4 _021F0E68: ldr r0, [sp, #0xc] add r1, r4, #0 bl GetPartyMonByIndex ldr r1, [sp, #8] add r6, r0, #0 cmp r4, r1 beq _021F0EB6 ldr r1, [sp, #4] cmp r4, r1 beq _021F0EB6 mov r1, #0xa2 mov r2, #0 bl GetMonData cmp r0, #0 beq _021F0EB6 add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F0EB6 add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F0ECC ; =0x000001EE cmp r0, r1 beq _021F0EB6 mov r0, #0xd7 lsl r0, r0, #2 ldr r0, [r5, r0] add r1, r0, #1 mov r0, #0xd7 lsl r0, r0, #2 str r1, [r5, r0] _021F0EB6: ldr r1, [sp] add r0, r7, #0 add r4, r4, #1 bl MOD11_0222FFC8 cmp r4, r0 blt _021F0E68 _021F0EC4: add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F0EC8: .word 0x0000219C _021F0ECC: .word 0x000001EE thumb_func_end MOD16_021F0DF4 thumb_func_start MOD16_021F0ED0 MOD16_021F0ED0: ; 0x021F0ED0 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, _021F0EE8 ; =0x00000356 ldrh r1, [r4, r0] add r0, r0, #6 str r1, [r4, r0] pop {r4, pc} nop _021F0EE8: .word 0x00000356 thumb_func_end MOD16_021F0ED0 thumb_func_start MOD16_021F0EEC MOD16_021F0EEC: ; 0x021F0EEC push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, _021F0F0C ; =0x00000356 ldrh r1, [r4, r0] lsl r1, r1, #4 add r2, r4, r1 add r1, r0, #0 add r1, #0x88 ldrh r1, [r2, r1] add r0, r0, #6 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021F0F0C: .word 0x00000356 thumb_func_end MOD16_021F0EEC thumb_func_start MOD16_021F0F10 MOD16_021F0F10: ; 0x021F0F10 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r7, r0, #0 lsl r1, r7, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 mov r3, #0xb7 mov r2, #2 mov r0, #0xc0 add r6, r1, #0 mul r6, r0 add r0, r5, r6 lsl r3, r3, #6 ldr r4, [r0, r3] lsl r2, r2, #0x14 tst r2, r4 beq _021F0F50 mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F0F50: ldr r2, _021F0FE4 ; =0x000003CF ldrb r4, [r5, r2] cmp r4, r1 beq _021F0FD6 cmp r7, #3 beq _021F0FD6 add r4, r5, r1 add r1, r2, #0 sub r1, #0x3f ldrb r1, [r4, r1] cmp r1, #0 beq _021F0F6E sub r2, #0x73 str r1, [r5, r2] pop {r3, r4, r5, r6, r7, pc} _021F0F6E: add r1, r3, #0 sub r1, #0x59 ldrb r1, [r0, r1] cmp r1, #0x17 beq _021F0F80 cmp r1, #0x2a beq _021F0F80 cmp r1, #0x47 bne _021F0F88 _021F0F80: mov r0, #0xd7 lsl r0, r0, #2 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F0F88: sub r3, #0x80 add r7, r5, r3 ldrh r0, [r7, r6] mov r1, #0x18 ; BASE_ABILITY_1 bl GetMonBaseStat add r4, r0, #0 ldrh r0, [r7, r6] mov r1, #0x19 ; BASE_ABILITY_2 bl GetMonBaseStat add r6, r0, #0 cmp r4, #0 beq _021F0FC2 cmp r6, #0 beq _021F0FC2 bl LCRandom mov r1, #1 tst r0, r1 beq _021F0FBA mov r0, #0xd7 lsl r0, r0, #2 str r4, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F0FBA: mov r0, #0xd7 lsl r0, r0, #2 str r6, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F0FC2: cmp r4, #0 beq _021F0FCE mov r0, #0xd7 lsl r0, r0, #2 str r4, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F0FCE: mov r0, #0xd7 lsl r0, r0, #2 str r6, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F0FD6: ldr r0, _021F0FE8 ; =0x00002D67 add r1, r5, r6 ldrb r1, [r1, r0] mov r0, #0xd7 lsl r0, r0, #2 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F0FE4: .word 0x000003CF _021F0FE8: .word 0x00002D67 thumb_func_end MOD16_021F0F10 thumb_func_start MOD16_021F0FEC MOD16_021F0FEC: ; 0x021F0FEC push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 mov r2, #2 mov ip, r1 add r6, r5, r1 mov r1, #0xb7 lsl r1, r1, #6 ldr r3, [r6, r1] lsl r2, r2, #0x14 tst r2, r3 beq _021F102C mov r4, #0 b _021F1098 _021F102C: cmp r4, #0 beq _021F1034 cmp r4, #2 bne _021F1094 _021F1034: mov r1, #0x39 add r2, r5, r0 lsl r1, r1, #4 ldrb r4, [r2, r1] cmp r4, #0 beq _021F1046 sub r1, #0x34 str r4, [r5, r1] b _021F1098 _021F1046: mov r1, ip add r2, r5, r1 ldr r1, _021F10C0 ; =0x00002D67 ldrb r4, [r2, r1] cmp r4, #0x17 beq _021F1098 cmp r4, #0x2a beq _021F1098 cmp r4, #0x47 beq _021F1098 sub r1, #0x27 add r6, r5, r1 mov r1, #0xc0 mul r1, r0 ldrh r0, [r6, r1] str r1, [sp] mov r1, #0x18 ; BASE_ABILITY_1 bl GetMonBaseStat add r4, r0, #0 ldr r0, [sp] mov r1, #0x19 ; BASE_ABILITY_2 ldrh r0, [r6, r0] bl GetMonBaseStat cmp r4, #0 beq _021F108C cmp r0, #0 beq _021F108C cmp r4, r7 beq _021F1088 cmp r0, r7 bne _021F1098 _021F1088: mov r4, #0 b _021F1098 _021F108C: cmp r4, #0 bne _021F1098 add r4, r0, #0 b _021F1098 _021F1094: sub r1, #0x59 ldrb r4, [r6, r1] _021F1098: cmp r4, #0 bne _021F10A6 mov r0, #0xd7 mov r1, #2 lsl r0, r0, #2 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F10A6: cmp r4, r7 bne _021F10B4 mov r0, #0xd7 mov r1, #1 lsl r0, r0, #2 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F10B4: mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} nop _021F10C0: .word 0x00002D67 thumb_func_end MOD16_021F0FEC thumb_func_start MOD16_021F10C4 MOD16_021F10C4: ; 0x021F10C4 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r5, r1, #0 add r7, r0, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 mov r0, #0 mov r1, #0xd7 lsl r1, r1, #2 str r0, [sp, #0x10] str r0, [r5, r1] add r4, r0, #0 _021F10E0: mov r0, #0 str r0, [sp, #0x14] ldr r0, _021F116C ; =0x000003CF ldrb r2, [r5, r0] mov r0, #0xc0 mul r0, r2 add r0, r5, r0 add r1, r4, r0 ldr r0, _021F1170 ; =0x00002D4C ldrh r6, [r1, r0] add r0, r7, #0 add r1, r5, #0 add r3, r6, #0 bl MOD16_021F32DC add r3, r0, #0 cmp r6, #0 beq _021F115C ldr r0, _021F116C ; =0x000003CF add r1, r5, #0 ldrb r0, [r5, r0] add r2, r6, #0 str r0, [sp] mov r0, #0x3d lsl r0, r0, #4 ldrb r0, [r5, r0] str r0, [sp, #4] mov r0, #0x28 str r0, [sp, #8] add r0, sp, #0x14 str r0, [sp, #0xc] add r0, r7, #0 bl MOD11_02246274 cmp r0, #0x78 bne _021F112C mov r0, #0x50 b _021F1142 _021F112C: cmp r0, #0xf0 bne _021F1134 mov r0, #0xa0 b _021F1142 _021F1134: cmp r0, #0x1e bne _021F113C mov r0, #0x14 b _021F1142 _021F113C: cmp r0, #0xf bne _021F1142 mov r0, #0xa _021F1142: ldr r2, [sp, #0x14] ldr r1, _021F1174 ; =0x00140808 tst r1, r2 beq _021F114C mov r0, #0 _021F114C: mov r1, #0xd7 lsl r1, r1, #2 ldr r1, [r5, r1] cmp r1, r0 bhs _021F115C mov r1, #0xd7 lsl r1, r1, #2 str r0, [r5, r1] _021F115C: ldr r0, [sp, #0x10] add r4, r4, #2 add r0, r0, #1 str r0, [sp, #0x10] cmp r0, #4 blt _021F10E0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F116C: .word 0x000003CF _021F1170: .word 0x00002D4C _021F1174: .word 0x00140808 thumb_func_end MOD16_021F10C4 thumb_func_start MOD16_021F1178 MOD16_021F1178: ; 0x021F1178 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r7, r0, #0 add r0, r4, #0 bl MOD16_021F2D54 str r0, [sp, #0x10] mov r0, #0 str r0, [sp, #0x14] ldr r3, _021F1208 ; =0x000003CF add r0, r5, #0 ldrb r6, [r4, r3] sub r3, #0x79 ldrh r3, [r4, r3] add r1, r4, #0 add r2, r6, #0 bl MOD16_021F32DC mov r2, #0x3d str r6, [sp] lsl r2, r2, #4 add r3, r0, #0 ldrb r0, [r4, r2] sub r2, #0x7a add r1, r4, #0 str r0, [sp, #4] mov r0, #0x28 str r0, [sp, #8] add r0, sp, #0x14 str r0, [sp, #0xc] ldrh r2, [r4, r2] add r0, r5, #0 bl MOD11_02246274 cmp r0, #0x78 bne _021F11D6 mov r0, #0x50 b _021F11EC _021F11D6: cmp r0, #0xf0 bne _021F11DE mov r0, #0xa0 b _021F11EC _021F11DE: cmp r0, #0x1e bne _021F11E6 mov r0, #0x14 b _021F11EC _021F11E6: cmp r0, #0xf bne _021F11EC mov r0, #0xa _021F11EC: ldr r2, [sp, #0x14] ldr r1, _021F120C ; =0x00140808 tst r1, r2 beq _021F11F6 mov r0, #0 _021F11F6: cmp r0, r7 bne _021F1202 ldr r1, [sp, #0x10] add r0, r4, #0 bl MOD16_021F2D88 _021F1202: add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _021F1208: .word 0x000003CF _021F120C: .word 0x00140808 thumb_func_end MOD16_021F1178 thumb_func_start MOD16_021F1210 MOD16_021F1210: ; 0x021F1210 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r7, r0, #0 str r1, [sp] add r0, r1, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, [sp] bl MOD16_021F2D54 add r4, r0, #0 ldr r0, [sp] bl MOD16_021F2D54 str r0, [sp, #0x10] ldr r0, [sp] bl MOD16_021F2D54 str r0, [sp, #0xc] lsl r1, r4, #0x18 ldr r0, [sp] lsr r1, r1, #0x18 bl MOD16_021F2D98 add r6, r0, #0 ldr r1, [r7, #0x2c] mov r0, #2 tst r0, r1 beq _021F126A ldr r0, [sp] add r1, r0, r6 ldr r0, _021F12FC ; =0x0000219C ldrb r0, [r1, r0] add r1, r6, #0 str r0, [sp, #8] add r0, r7, #0 bl MOD11_022302BC ldr r1, [sp] add r1, r1, r0 ldr r0, _021F12FC ; =0x0000219C ldrb r0, [r1, r0] str r0, [sp, #4] b _021F1276 _021F126A: ldr r0, [sp] add r1, r0, r6 ldr r0, _021F12FC ; =0x0000219C ldrb r0, [r1, r0] str r0, [sp, #4] str r0, [sp, #8] _021F1276: add r0, r7, #0 add r1, r6, #0 bl MOD11_0222FF88 str r0, [sp, #0x14] add r0, r7, #0 add r1, r6, #0 mov r5, #0 bl MOD11_0222FFC8 cmp r0, #0 ble _021F12F8 _021F128E: ldr r0, [sp, #0x14] add r1, r5, #0 bl GetPartyMonByIndex ldr r1, [sp, #8] add r4, r0, #0 cmp r5, r1 beq _021F12EA ldr r1, [sp, #4] cmp r5, r1 beq _021F12EA mov r1, #0xa2 mov r2, #0 bl GetMonData cmp r0, #0 beq _021F12EA add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F12EA add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F1300 ; =0x000001EE cmp r0, r1 beq _021F12EA add r0, r4, #0 mov r1, #0x9f mov r2, #0 bl GetMonData ldr r1, [sp, #0x10] tst r0, r1 beq _021F12EA ldr r0, [sp] ldr r1, [sp, #0xc] bl MOD16_021F2D88 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021F12EA: add r0, r7, #0 add r1, r6, #0 add r5, r5, #1 bl MOD11_0222FFC8 cmp r5, r0 blt _021F128E _021F12F8: add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F12FC: .word 0x0000219C _021F1300: .word 0x000001EE thumb_func_end MOD16_021F1210 thumb_func_start MOD16_021F1304 MOD16_021F1304: ; 0x021F1304 push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r7, r0, #0 str r1, [sp] add r0, r1, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, [sp] bl MOD16_021F2D54 add r4, r0, #0 ldr r0, [sp] bl MOD16_021F2D54 str r0, [sp, #0x10] ldr r0, [sp] bl MOD16_021F2D54 str r0, [sp, #0xc] lsl r1, r4, #0x18 ldr r0, [sp] lsr r1, r1, #0x18 bl MOD16_021F2D98 add r6, r0, #0 ldr r1, [r7, #0x2c] mov r0, #2 tst r0, r1 beq _021F135E ldr r0, [sp] add r1, r0, r6 ldr r0, _021F13F0 ; =0x0000219C ldrb r0, [r1, r0] add r1, r6, #0 str r0, [sp, #8] add r0, r7, #0 bl MOD11_022302BC ldr r1, [sp] add r1, r1, r0 ldr r0, _021F13F0 ; =0x0000219C ldrb r0, [r1, r0] str r0, [sp, #4] b _021F136A _021F135E: ldr r0, [sp] add r1, r0, r6 ldr r0, _021F13F0 ; =0x0000219C ldrb r0, [r1, r0] str r0, [sp, #4] str r0, [sp, #8] _021F136A: add r0, r7, #0 add r1, r6, #0 bl MOD11_0222FF88 str r0, [sp, #0x14] add r0, r7, #0 add r1, r6, #0 mov r5, #0 bl MOD11_0222FFC8 cmp r0, #0 ble _021F13EC _021F1382: ldr r0, [sp, #0x14] add r1, r5, #0 bl GetPartyMonByIndex ldr r1, [sp, #8] add r4, r0, #0 cmp r5, r1 beq _021F13DE ldr r1, [sp, #4] cmp r5, r1 beq _021F13DE mov r1, #0xa2 mov r2, #0 bl GetMonData cmp r0, #0 beq _021F13DE add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F13DE add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F13F4 ; =0x000001EE cmp r0, r1 beq _021F13DE add r0, r4, #0 mov r1, #0x9f mov r2, #0 bl GetMonData ldr r1, [sp, #0x10] tst r0, r1 bne _021F13DE ldr r0, [sp] ldr r1, [sp, #0xc] bl MOD16_021F2D88 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} _021F13DE: add r0, r7, #0 add r1, r6, #0 add r5, r5, #1 bl MOD11_0222FFC8 cmp r5, r0 blt _021F1382 _021F13EC: add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F13F0: .word 0x0000219C _021F13F4: .word 0x000001EE thumb_func_end MOD16_021F1304 thumb_func_start MOD16_021F13F8 MOD16_021F13F8: ; 0x021F13F8 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] mov r1, #6 lsl r1, r1, #6 ldr r2, [r4, r1] mov r1, #3 tst r1, r2 beq _021F141C mov r1, #2 str r1, [r4, r0] _021F141C: mov r0, #6 lsl r0, r0, #6 ldr r1, [r4, r0] mov r0, #0xc tst r0, r1 beq _021F1430 mov r0, #0xd7 mov r1, #3 lsl r0, r0, #2 str r1, [r4, r0] _021F1430: mov r0, #6 lsl r0, r0, #6 ldr r1, [r4, r0] mov r0, #0x30 tst r0, r1 beq _021F1444 mov r0, #0xd7 mov r1, #1 lsl r0, r0, #2 str r1, [r4, r0] _021F1444: mov r0, #6 lsl r0, r0, #6 ldr r1, [r4, r0] mov r0, #0xc0 tst r0, r1 beq _021F1458 mov r0, #0xd7 mov r1, #4 lsl r0, r0, #2 str r1, [r4, r0] _021F1458: mov r0, #6 lsl r0, r0, #6 ldr r1, [r4, r0] mov r0, #2 lsl r0, r0, #0xe tst r0, r1 beq _021F146E mov r0, #0xd7 mov r1, #5 lsl r0, r0, #2 str r1, [r4, r0] _021F146E: pop {r4, pc} thumb_func_end MOD16_021F13F8 thumb_func_start MOD16_021F1470 MOD16_021F1470: ; 0x021F1470 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 ldr r0, _021F14A4 ; =0x00000356 ldrh r2, [r5, r0] add r0, #0x88 lsl r2, r2, #4 add r2, r5, r2 ldrh r0, [r2, r0] cmp r4, r0 bne _021F14A2 add r0, r5, #0 bl MOD16_021F2D88 _021F14A2: pop {r3, r4, r5, pc} .align 2, 0 _021F14A4: .word 0x00000356 thumb_func_end MOD16_021F1470 thumb_func_start MOD16_021F14A8 MOD16_021F14A8: ; 0x021F14A8 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 ldr r0, _021F14DC ; =0x00000356 ldrh r2, [r5, r0] add r0, #0x88 lsl r2, r2, #4 add r2, r5, r2 ldrh r0, [r2, r0] cmp r4, r0 beq _021F14DA add r0, r5, #0 bl MOD16_021F2D88 _021F14DA: pop {r3, r4, r5, pc} .align 2, 0 _021F14DC: .word 0x00000356 thumb_func_end MOD16_021F14A8 thumb_func_start MOD16_021F14E0 MOD16_021F14E0: ; 0x021F14E0 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r7, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 str r0, [sp] add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 add r0, r5, r1 add r1, r0, r6 ldr r0, _021F1530 ; =0x00002D58 ldrsb r0, [r1, r0] cmp r0, r7 bge _021F152E ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 _021F152E: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F1530: .word 0x00002D58 thumb_func_end MOD16_021F14E0 thumb_func_start MOD16_021F1534 MOD16_021F1534: ; 0x021F1534 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r7, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 str r0, [sp] add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 add r0, r5, r1 add r1, r0, r6 ldr r0, _021F1584 ; =0x00002D58 ldrsb r0, [r1, r0] cmp r0, r7 ble _021F1582 ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 _021F1582: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F1584: .word 0x00002D58 thumb_func_end MOD16_021F1534 thumb_func_start MOD16_021F1588 MOD16_021F1588: ; 0x021F1588 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r7, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 str r0, [sp] add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 add r0, r5, r1 add r1, r0, r6 ldr r0, _021F15D8 ; =0x00002D58 ldrsb r0, [r1, r0] cmp r7, r0 bne _021F15D6 ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 _021F15D6: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F15D8: .word 0x00002D58 thumb_func_end MOD16_021F1588 thumb_func_start MOD16_021F15DC MOD16_021F15DC: ; 0x021F15DC push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r7, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 str r0, [sp] add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 add r0, r5, r1 add r1, r0, r6 ldr r0, _021F162C ; =0x00002D58 ldrsb r0, [r1, r0] cmp r7, r0 beq _021F162A ldr r1, [sp] add r0, r5, #0 bl MOD16_021F2D88 _021F162A: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F162C: .word 0x00002D58 thumb_func_end MOD16_021F15DC thumb_func_start MOD16_021F1630 MOD16_021F1630: ; 0x021F1630 push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r6, r1, #0 str r0, [sp, #0x14] add r0, r6, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r6, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r6, #0 bl MOD16_021F2D54 str r0, [sp, #0x1c] cmp r4, #1 bne _021F1662 ldr r0, _021F1738 ; =0x00000355 ldrb r1, [r6, r0] add r0, #0x17 add r1, r6, r1 ldrb r0, [r1, r0] str r0, [sp, #0x18] b _021F1666 _021F1662: mov r0, #0x64 str r0, [sp, #0x18] _021F1666: ldr r2, _021F173C ; =0x00000356 ldr r1, _021F1740 ; =0x021FF7F4 ldrh r3, [r6, r2] add r2, #0x88 mov r0, #0 lsl r7, r3, #4 add r3, r6, r7 ldrh r3, [r3, r2] ldr r2, _021F1744 ; =0x0000FFFF _021F1678: ldrh r4, [r1] cmp r3, r4 beq _021F1688 add r1, r1, #2 ldrh r4, [r1] add r0, r0, #1 cmp r4, r2 bne _021F1678 _021F1688: ldr r2, _021F1748 ; =0x021FF7DC ldr r4, _021F1744 ; =0x0000FFFF mov r1, #0 _021F168E: ldrh r5, [r2] cmp r3, r5 beq _021F169E add r2, r2, #2 ldrh r5, [r2] add r1, r1, #1 cmp r5, r4 bne _021F168E _021F169E: lsl r2, r1, #1 ldr r1, _021F1748 ; =0x021FF7DC ldrh r1, [r1, r2] ldr r2, _021F1744 ; =0x0000FFFF cmp r1, r2 bne _021F16BE ldr r1, _021F174C ; =0x000003E1 add r3, r6, r7 ldrb r1, [r3, r1] cmp r1, #1 bls _021F1734 lsl r1, r0, #1 ldr r0, _021F1740 ; =0x021FF7F4 ldrh r0, [r0, r1] cmp r0, r2 bne _021F1734 _021F16BE: ldr r7, _021F1750 ; =0x000003CF mov r4, #0 add r5, sp, #0x20 _021F16C4: ldrb r1, [r6, r7] add r2, r4, #0 add r0, r6, #0 add r2, #0xa mov r3, #0 bl MOD11_02243420 strb r0, [r5] add r4, r4, #1 add r5, r5, #1 cmp r4, #6 blt _021F16C4 ldr r0, _021F1750 ; =0x000003CF ldrb r4, [r6, r0] add r0, r6, #0 add r1, r4, #0 bl MOD11_02246D1C add r1, sp, #0x20 str r1, [sp] str r4, [sp, #4] str r0, [sp, #8] mov r0, #0xc0 mul r0, r4 ldr r3, _021F1754 ; =0x00002DCC add r4, r6, r0 ldr r0, [r4, r3] ldr r2, _021F173C ; =0x00000356 lsl r0, r0, #0xa lsr r0, r0, #0x1d str r0, [sp, #0xc] ldr r0, [sp, #0x18] sub r3, #0x14 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] ldrh r2, [r6, r2] ldrh r3, [r4, r3] ldr r0, [sp, #0x14] add r1, r6, #0 bl MOD16_021F2EE8 mov r1, #0x3d lsl r1, r1, #4 ldrb r2, [r6, r1] mov r1, #0xc0 mul r1, r2 add r2, r6, r1 ldr r1, _021F1758 ; =0x00002D8C ldr r1, [r2, r1] cmp r1, r0 bhi _021F1734 ldr r1, [sp, #0x1c] add r0, r6, #0 bl MOD16_021F2D88 _021F1734: add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F1738: .word 0x00000355 _021F173C: .word 0x00000356 _021F1740: .word MOD16_021FF7F4 _021F1744: .word 0x0000FFFF _021F1748: .word MOD16_021FF7DC _021F174C: .word 0x000003E1 _021F1750: .word 0x000003CF _021F1754: .word 0x00002DCC _021F1758: .word 0x00002D8C thumb_func_end MOD16_021F1630 thumb_func_start MOD16_021F175C MOD16_021F175C: ; 0x021F175C push {r3, r4, r5, r6, r7, lr} sub sp, #0x28 add r6, r1, #0 str r0, [sp, #0x14] add r0, r6, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r6, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r6, #0 bl MOD16_021F2D54 str r0, [sp, #0x1c] cmp r4, #1 bne _021F178E ldr r0, _021F1864 ; =0x00000355 ldrb r1, [r6, r0] add r0, #0x17 add r1, r6, r1 ldrb r0, [r1, r0] str r0, [sp, #0x18] b _021F1792 _021F178E: mov r0, #0x64 str r0, [sp, #0x18] _021F1792: ldr r2, _021F1868 ; =0x00000356 ldr r1, _021F186C ; =0x021FF7F4 ldrh r3, [r6, r2] add r2, #0x88 mov r0, #0 lsl r7, r3, #4 add r3, r6, r7 ldrh r3, [r3, r2] ldr r2, _021F1870 ; =0x0000FFFF _021F17A4: ldrh r4, [r1] cmp r3, r4 beq _021F17B4 add r1, r1, #2 ldrh r4, [r1] add r0, r0, #1 cmp r4, r2 bne _021F17A4 _021F17B4: ldr r2, _021F1874 ; =0x021FF7DC ldr r4, _021F1870 ; =0x0000FFFF mov r1, #0 _021F17BA: ldrh r5, [r2] cmp r3, r5 beq _021F17CA add r2, r2, #2 ldrh r5, [r2] add r1, r1, #1 cmp r5, r4 bne _021F17BA _021F17CA: lsl r2, r1, #1 ldr r1, _021F1874 ; =0x021FF7DC ldrh r1, [r1, r2] ldr r2, _021F1870 ; =0x0000FFFF cmp r1, r2 bne _021F17EA ldr r1, _021F1878 ; =0x000003E1 add r3, r6, r7 ldrb r1, [r3, r1] cmp r1, #1 bls _021F1860 lsl r1, r0, #1 ldr r0, _021F186C ; =0x021FF7F4 ldrh r0, [r0, r1] cmp r0, r2 bne _021F1860 _021F17EA: ldr r7, _021F187C ; =0x000003CF mov r4, #0 add r5, sp, #0x20 _021F17F0: ldrb r1, [r6, r7] add r2, r4, #0 add r0, r6, #0 add r2, #0xa mov r3, #0 bl MOD11_02243420 strb r0, [r5] add r4, r4, #1 add r5, r5, #1 cmp r4, #6 blt _021F17F0 ldr r0, _021F187C ; =0x000003CF ldrb r4, [r6, r0] add r0, r6, #0 add r1, r4, #0 bl MOD11_02246D1C add r1, sp, #0x20 str r1, [sp] str r4, [sp, #4] str r0, [sp, #8] mov r0, #0xc0 mul r0, r4 ldr r3, _021F1880 ; =0x00002DCC add r4, r6, r0 ldr r0, [r4, r3] ldr r2, _021F1868 ; =0x00000356 lsl r0, r0, #0xa lsr r0, r0, #0x1d str r0, [sp, #0xc] ldr r0, [sp, #0x18] sub r3, #0x14 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] ldrh r2, [r6, r2] ldrh r3, [r4, r3] ldr r0, [sp, #0x14] add r1, r6, #0 bl MOD16_021F2EE8 mov r1, #0x3d lsl r1, r1, #4 ldrb r2, [r6, r1] mov r1, #0xc0 mul r1, r2 add r2, r6, r1 ldr r1, _021F1884 ; =0x00002D8C ldr r1, [r2, r1] cmp r1, r0 bls _021F1860 ldr r1, [sp, #0x1c] add r0, r6, #0 bl MOD16_021F2D88 _021F1860: add sp, #0x28 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F1864: .word 0x00000355 _021F1868: .word 0x00000356 _021F186C: .word MOD16_021FF7F4 _021F1870: .word 0x0000FFFF _021F1874: .word MOD16_021FF7DC _021F1878: .word 0x000003E1 _021F187C: .word 0x000003CF _021F1880: .word 0x00002DCC _021F1884: .word 0x00002D8C thumb_func_end MOD16_021F175C thumb_func_start MOD16_021F1888 MOD16_021F1888: ; 0x021F1888 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 cmp r6, #0 beq _021F1918 cmp r6, #1 beq _021F18C4 cmp r6, #3 beq _021F18EA pop {r3, r4, r5, r6, r7, pc} _021F18C4: mov r2, #0xc0 mul r2, r0 ldr r0, _021F1940 ; =0x00002D4C mov r1, #0 add r3, r5, r2 _021F18CE: ldrh r2, [r3, r0] cmp r4, r2 beq _021F18DC add r1, r1, #1 add r3, r3, #2 cmp r1, #4 blt _021F18CE _021F18DC: cmp r1, #4 bge _021F193C add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F18EA: mov r1, #0xc0 mul r1, r0 add r0, r5, r1 ldr r1, _021F1944 ; =0x00002D8C ldr r1, [r0, r1] cmp r1, #0 beq _021F193C ldr r1, _021F1940 ; =0x00002D4C mov r3, #0 _021F18FC: ldrh r2, [r0, r1] cmp r4, r2 beq _021F190A add r3, r3, #1 add r0, r0, #2 cmp r3, #4 blt _021F18FC _021F190A: cmp r3, #4 bge _021F193C add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F1918: lsl r0, r0, #3 add r3, r5, r0 mov r0, #0x37 mov r1, #0 lsl r0, r0, #4 _021F1922: ldrh r2, [r3, r0] cmp r4, r2 beq _021F1930 add r1, r1, #1 add r3, r3, #2 cmp r1, #4 blt _021F1922 _021F1930: cmp r1, #4 bge _021F193C add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F193C: pop {r3, r4, r5, r6, r7, pc} nop _021F1940: .word 0x00002D4C _021F1944: .word 0x00002D8C thumb_func_end MOD16_021F1888 thumb_func_start MOD16_021F1948 MOD16_021F1948: ; 0x021F1948 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 cmp r6, #0 beq _021F19D8 cmp r6, #1 beq _021F1984 cmp r6, #3 beq _021F19AA pop {r3, r4, r5, r6, r7, pc} _021F1984: mov r2, #0xc0 mul r2, r0 ldr r0, _021F1A00 ; =0x00002D4C mov r1, #0 add r3, r5, r2 _021F198E: ldrh r2, [r3, r0] cmp r4, r2 beq _021F199C add r1, r1, #1 add r3, r3, #2 cmp r1, #4 blt _021F198E _021F199C: cmp r1, #4 bne _021F19FC add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F19AA: mov r1, #0xc0 mul r1, r0 add r0, r5, r1 ldr r1, _021F1A04 ; =0x00002D8C ldr r1, [r0, r1] cmp r1, #0 beq _021F19FC ldr r1, _021F1A00 ; =0x00002D4C mov r3, #0 _021F19BC: ldrh r2, [r0, r1] cmp r4, r2 beq _021F19CA add r3, r3, #1 add r0, r0, #2 cmp r3, #4 blt _021F19BC _021F19CA: cmp r3, #4 bne _021F19FC add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F19D8: lsl r0, r0, #3 add r3, r5, r0 mov r0, #0x37 mov r1, #0 lsl r0, r0, #4 _021F19E2: ldrh r2, [r3, r0] cmp r4, r2 beq _021F19F0 add r1, r1, #1 add r3, r3, #2 cmp r1, #4 blt _021F19E2 _021F19F0: cmp r1, #4 bne _021F19FC add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F19FC: pop {r3, r4, r5, r6, r7, pc} nop _021F1A00: .word 0x00002D4C _021F1A04: .word 0x00002D8C thumb_func_end MOD16_021F1948 thumb_func_start MOD16_021F1A08 MOD16_021F1A08: ; 0x021F1A08 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 cmp r6, #0 beq _021F1A70 cmp r6, #1 bne _021F1AA0 mov r2, #0xc0 mul r2, r0 add r0, r5, r2 ldr r2, _021F1AA4 ; =0x000003DE ldr r3, _021F1AA8 ; =0x00002D4C mov r1, #0 _021F1A4A: ldrh r6, [r0, r3] cmp r6, #0 beq _021F1A5A lsl r6, r6, #4 add r6, r5, r6 ldrh r6, [r6, r2] cmp r4, r6 beq _021F1A62 _021F1A5A: add r1, r1, #1 add r0, r0, #2 cmp r1, #4 blt _021F1A4A _021F1A62: cmp r1, #4 bge _021F1AA0 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F1A70: ldr r2, _021F1AA4 ; =0x000003DE lsl r0, r0, #3 add r3, r2, #0 mov r1, #0 add r0, r5, r0 sub r3, #0x6e _021F1A7C: ldrh r6, [r0, r3] cmp r6, #0 beq _021F1A8C lsl r6, r6, #4 add r6, r5, r6 ldrh r6, [r6, r2] cmp r4, r6 beq _021F1A94 _021F1A8C: add r1, r1, #1 add r0, r0, #2 cmp r1, #4 blt _021F1A7C _021F1A94: cmp r1, #4 bge _021F1AA0 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F1AA0: pop {r3, r4, r5, r6, r7, pc} nop _021F1AA4: .word 0x000003DE _021F1AA8: .word 0x00002D4C thumb_func_end MOD16_021F1A08 thumb_func_start MOD16_021F1AAC MOD16_021F1AAC: ; 0x021F1AAC push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 cmp r6, #0 beq _021F1B14 cmp r6, #1 bne _021F1B44 mov r2, #0xc0 mul r2, r0 add r0, r5, r2 ldr r2, _021F1B48 ; =0x000003DE ldr r3, _021F1B4C ; =0x00002D4C mov r1, #0 _021F1AEE: ldrh r6, [r0, r3] cmp r6, #0 beq _021F1AFE lsl r6, r6, #4 add r6, r5, r6 ldrh r6, [r6, r2] cmp r4, r6 beq _021F1B06 _021F1AFE: add r1, r1, #1 add r0, r0, #2 cmp r1, #4 blt _021F1AEE _021F1B06: cmp r1, #4 bne _021F1B44 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F1B14: ldr r2, _021F1B48 ; =0x000003DE lsl r0, r0, #3 add r3, r2, #0 mov r1, #0 add r0, r5, r0 sub r3, #0x6e _021F1B20: ldrh r6, [r0, r3] cmp r6, #0 beq _021F1B30 lsl r6, r6, #4 add r6, r5, r6 ldrh r6, [r6, r2] cmp r4, r6 beq _021F1B38 _021F1B30: add r1, r1, #1 add r0, r0, #2 cmp r1, #4 blt _021F1B20 _021F1B38: cmp r1, #4 bne _021F1B44 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F1B44: pop {r3, r4, r5, r6, r7, pc} nop _021F1B48: .word 0x000003DE _021F1B4C: .word 0x00002D4C thumb_func_end MOD16_021F1AAC thumb_func_start MOD16_021F1B50 MOD16_021F1B50: ; 0x021F1B50 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 cmp r4, #0 beq _021F1B88 cmp r4, #1 beq _021F1BA2 pop {r3, r4, r5, r6, r7, pc} _021F1B88: mov r1, #0xc0 mul r1, r0 ldr r0, _021F1BBC ; =0x00002DC8 add r1, r5, r1 ldr r0, [r1, r0] lsl r0, r0, #0x1d lsr r0, r0, #0x1d beq _021F1BBA add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 pop {r3, r4, r5, r6, r7, pc} _021F1BA2: mov r1, #0xc0 mul r1, r0 ldr r0, _021F1BBC ; =0x00002DC8 add r1, r5, r1 ldr r0, [r1, r0] lsl r0, r0, #0x1a lsr r0, r0, #0x1d beq _021F1BBA add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F1BBA: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F1BBC: .word 0x00002DC8 thumb_func_end MOD16_021F1B50 thumb_func_start MOD16_021F1BC0 MOD16_021F1BC0: ; 0x021F1BC0 push {r3, r4, r5, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r5, r0, #0 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 cmp r5, #0 beq _021F1BE6 cmp r5, #1 beq _021F1C04 pop {r3, r4, r5, pc} _021F1BE6: ldr r2, _021F1C24 ; =0x00000356 ldrh r0, [r4, r2] add r2, #0x79 ldrb r3, [r4, r2] mov r2, #0xc0 mul r2, r3 add r3, r4, r2 ldr r2, _021F1C28 ; =0x00002DE8 ldrh r2, [r3, r2] cmp r0, r2 bne _021F1C20 add r0, r4, #0 bl MOD16_021F2D88 pop {r3, r4, r5, pc} _021F1C04: ldr r2, _021F1C24 ; =0x00000356 ldrh r0, [r4, r2] add r2, #0x79 ldrb r3, [r4, r2] mov r2, #0xc0 mul r2, r3 add r3, r4, r2 ldr r2, _021F1C2C ; =0x00002DEC ldrh r2, [r3, r2] cmp r0, r2 bne _021F1C20 add r0, r4, #0 bl MOD16_021F2D88 _021F1C20: pop {r3, r4, r5, pc} nop _021F1C24: .word 0x00000356 _021F1C28: .word 0x00002DE8 _021F1C2C: .word 0x00002DEC thumb_func_end MOD16_021F1BC0 thumb_func_start MOD16_021F1C30 MOD16_021F1C30: ; 0x021F1C30 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r1, #0xd9 lsl r1, r1, #2 ldrb r2, [r4, r1] mov r0, #0xb orr r0, r2 strb r0, [r4, r1] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021F1C30 thumb_func_start MOD16_021F1C4C MOD16_021F1C4C: ; 0x021F1C4C bx lr .align 2, 0 thumb_func_end MOD16_021F1C4C thumb_func_start MOD16_021F1C50 MOD16_021F1C50: ; 0x021F1C50 bx lr .align 2, 0 thumb_func_end MOD16_021F1C50 thumb_func_start MOD16_021F1C54 MOD16_021F1C54: ; 0x021F1C54 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F1C84 ; =0x00002DB8 add r1, r4, r1 ldrh r1, [r1, r0] mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021F1C84: .word 0x00002DB8 thumb_func_end MOD16_021F1C54 thumb_func_start MOD16_021F1C88 MOD16_021F1C88: ; 0x021F1C88 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 ldr r1, _021F1CE4 ; =0x000003CF add r2, r0, #0 ldrb r0, [r4, r1] cmp r0, r2 beq _021F1CC8 lsl r2, r2, #1 add r2, r4, r2 sub r1, #0x3b ldrh r1, [r2, r1] add r0, r4, #0 mov r2, #1 bl MOD11_0224C12C mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r4, pc} _021F1CC8: mov r1, #0xc0 mul r1, r2 add r2, r4, r1 ldr r1, _021F1CE8 ; =0x00002DB8 add r0, r4, #0 ldrh r1, [r2, r1] mov r2, #1 bl MOD11_0224C12C mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r4, pc} nop _021F1CE4: .word 0x000003CF _021F1CE8: .word 0x00002DB8 thumb_func_end MOD16_021F1C88 thumb_func_start MOD16_021F1CEC MOD16_021F1CEC: ; 0x021F1CEC push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r6, r0, #0 ldr r0, _021F1D4C ; =0x000003CF mov r1, #1 add r3, r6, #0 ldrb r2, [r5, r0] and r3, r1 and r1, r2 cmp r3, r1 bne _021F1D36 mov r0, #0xc0 mul r0, r6 add r1, r5, r0 ldr r0, _021F1D50 ; =0x00002DB8 b _021F1D3C _021F1D36: lsl r1, r6, #1 add r1, r5, r1 sub r0, #0x3b _021F1D3C: ldrh r0, [r1, r0] cmp r0, r4 bne _021F1D4A add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F1D4A: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F1D4C: .word 0x000003CF _021F1D50: .word 0x00002DB8 thumb_func_end MOD16_021F1CEC thumb_func_start MOD16_021F1D54 MOD16_021F1D54: ; 0x021F1D54 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #6 lsl r0, r0, #6 ldr r0, [r5, r0] tst r0, r4 beq _021F1D80 add r0, r5, #0 bl MOD16_021F2D88 _021F1D80: pop {r3, r4, r5, pc} .align 2, 0 thumb_func_end MOD16_021F1D54 thumb_func_start MOD16_021F1D84 MOD16_021F1D84: ; 0x021F1D84 push {r3, r4, r5, r6, r7, lr} add r5, r1, #0 add r7, r0, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r4, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 add r0, r7, #0 bl MOD11_02230270 cmp r4, #4 beq _021F1DC2 mov r1, #1 lsl r1, r1, #0xa cmp r4, r1 beq _021F1DD8 pop {r3, r4, r5, r6, r7, pc} _021F1DC2: lsl r0, r0, #3 add r1, r5, r0 mov r0, #0x72 lsl r0, r0, #2 ldr r0, [r1, r0] lsl r0, r0, #0x1e lsr r1, r0, #0x1e mov r0, #0xd7 lsl r0, r0, #2 str r1, [r5, r0] pop {r3, r4, r5, r6, r7, pc} _021F1DD8: lsl r0, r0, #3 add r2, r5, r0 mov r0, #0x72 lsl r0, r0, #2 ldr r0, [r2, r0] sub r1, #0xa4 lsl r0, r0, #0x1c lsr r0, r0, #0x1e str r0, [r5, r1] pop {r3, r4, r5, r6, r7, pc} thumb_func_end MOD16_021F1D84 thumb_func_start MOD16_021F1DEC MOD16_021F1DEC: ; 0x021F1DEC push {r3, r4, r5, r6, r7, lr} sub sp, #0x10 add r5, r0, #0 str r1, [sp] add r0, r1, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, [sp] bl MOD16_021F2D54 add r4, r0, #0 ldr r0, [sp] bl MOD16_021F2D54 str r0, [sp, #8] lsl r1, r4, #0x18 ldr r0, [sp] lsr r1, r1, #0x18 bl MOD16_021F2D98 add r6, r0, #0 add r0, r5, #0 add r1, r6, #0 mov r4, #0 bl MOD11_0222FFC8 cmp r0, #0 ble _021F1E74 ldr r0, [sp] add r0, r0, r6 str r0, [sp, #4] _021F1E2C: add r0, r5, #0 add r1, r6, #0 add r2, r4, #0 bl MOD11_02230014 ldr r2, [sp, #4] ldr r1, _021F1E78 ; =0x0000219C str r0, [sp, #0xc] ldrb r1, [r2, r1] cmp r4, r1 beq _021F1E66 mov r1, #0xa2 mov r2, #0 bl GetMonData add r7, r0, #0 ldr r0, [sp, #0xc] mov r1, #0xa3 mov r2, #0 bl GetMonData cmp r7, r0 beq _021F1E66 ldr r0, [sp] ldr r1, [sp, #8] bl MOD16_021F2D88 add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} _021F1E66: add r0, r5, #0 add r1, r6, #0 add r4, r4, #1 bl MOD11_0222FFC8 cmp r4, r0 blt _021F1E2C _021F1E74: add sp, #0x10 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F1E78: .word 0x0000219C thumb_func_end MOD16_021F1DEC thumb_func_start MOD16_021F1E7C MOD16_021F1E7C: ; 0x021F1E7C push {r4, r5, r6, r7, lr} sub sp, #0x14 str r0, [sp] str r1, [sp, #4] add r0, r1, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, [sp, #4] bl MOD16_021F2D54 add r4, r0, #0 ldr r0, [sp, #4] bl MOD16_021F2D54 str r0, [sp, #0x10] lsl r1, r4, #0x18 ldr r0, [sp, #4] lsr r1, r1, #0x18 bl MOD16_021F2D98 str r0, [sp, #8] ldr r0, [sp] ldr r1, [sp, #8] mov r7, #0 bl MOD11_0222FFC8 cmp r0, #0 ble _021F1F16 ldr r1, [sp, #4] ldr r0, [sp, #8] add r0, r1, r0 str r0, [sp, #0xc] _021F1EBE: ldr r0, [sp] ldr r1, [sp, #8] add r2, r7, #0 bl MOD11_02230014 add r5, r0, #0 ldr r1, [sp, #0xc] ldr r0, _021F1F1C ; =0x0000219C ldrb r0, [r1, r0] cmp r7, r0 beq _021F1F08 mov r4, #0 _021F1ED6: add r1, r4, #0 add r0, r5, #0 add r1, #0x3a mov r2, #0 bl GetMonData add r1, r4, #0 add r6, r0, #0 add r0, r5, #0 add r1, #0x42 mov r2, #0 bl GetMonData cmp r6, r0 beq _021F1EFE ldr r0, [sp, #4] ldr r1, [sp, #0x10] bl MOD16_021F2D88 b _021F1F04 _021F1EFE: add r4, r4, #1 cmp r4, #4 blt _021F1ED6 _021F1F04: cmp r4, #4 bne _021F1F16 _021F1F08: ldr r0, [sp] ldr r1, [sp, #8] add r7, r7, #1 bl MOD11_0222FFC8 cmp r7, r0 blt _021F1EBE _021F1F16: add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _021F1F1C: .word 0x0000219C thumb_func_end MOD16_021F1E7C thumb_func_start MOD16_021F1F20 MOD16_021F1F20: ; 0x021F1F20 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 add r0, r4, #0 bl MOD11_02249E58 mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021F1F20 thumb_func_start MOD16_021F1F50 MOD16_021F1F50: ; 0x021F1F50 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 ldr r1, _021F1F78 ; =0x000003CF mov r0, #0xc0 ldrb r2, [r4, r1] mul r0, r2 add r2, r4, r0 add r0, r1, #0 sub r0, #0x7a ldrb r0, [r4, r0] sub r1, #0x73 add r2, r2, r0 ldr r0, _021F1F7C ; =0x00002D6C ldrb r0, [r2, r0] str r0, [r4, r1] pop {r4, pc} .align 2, 0 _021F1F78: .word 0x000003CF _021F1F7C: .word 0x00002D6C thumb_func_end MOD16_021F1F50 thumb_func_start MOD16_021F1F80 MOD16_021F1F80: ; 0x021F1F80 push {r3, r4, r5, r6, r7, lr} add r4, r1, #0 add r6, r0, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r5, r0, #0 add r0, r4, #0 bl MOD16_021F2D54 lsl r1, r5, #0x18 add r7, r0, #0 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r5, r0, #0 add r0, r6, #0 add r1, r4, #0 add r2, r5, #0 bl MOD11_022473F8 mov r1, #0xc0 mul r1, r5 add r2, r4, r1 ldr r1, _021F1FD8 ; =0x00002DCC ldr r1, [r2, r1] lsl r1, r1, #0x13 lsr r2, r1, #0x1d sub r1, r0, #1 cmp r2, r1 blo _021F1FD4 cmp r0, #1 ble _021F1FD4 add r0, r4, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F1FD4: pop {r3, r4, r5, r6, r7, pc} nop _021F1FD8: .word 0x00002DCC thumb_func_end MOD16_021F1F80 thumb_func_start MOD16_021F1FDC MOD16_021F1FDC: ; 0x021F1FDC push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, _021F1FFC ; =0x00000356 ldrh r1, [r4, r0] lsl r1, r1, #4 add r2, r4, r1 add r1, r0, #0 add r1, #0x8a ldrb r1, [r2, r1] add r0, r0, #6 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021F1FFC: .word 0x00000356 thumb_func_end MOD16_021F1FDC thumb_func_start MOD16_021F2000 MOD16_021F2000: ; 0x021F2000 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r1, #0x3d lsl r1, r1, #4 ldrb r0, [r4, r1] lsl r0, r0, #1 add r2, r4, r0 ldr r0, _021F202C ; =0x0000307C ldrh r0, [r2, r0] lsl r0, r0, #4 add r2, r4, r0 add r0, r1, #0 add r0, #0x10 ldrb r0, [r2, r0] sub r1, #0x74 str r0, [r4, r1] pop {r4, pc} nop _021F202C: .word 0x0000307C thumb_func_end MOD16_021F2000 thumb_func_start MOD16_021F2030 MOD16_021F2030: ; 0x021F2030 push {r4, r5, r6, r7, lr} sub sp, #0x34 str r0, [sp, #4] str r1, [sp, #8] add r0, r1, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, [sp, #8] bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 ldr r0, [sp, #8] lsr r1, r1, #0x18 bl MOD16_021F2D98 str r0, [sp, #0x10] ldr r0, [sp, #4] bl MOD11_0222FF84 mov r1, #0 str r0, [sp, #0x14] cmp r0, #0 ble _021F206E add r2, sp, #0x24 _021F2064: ldr r0, [sp, #0x14] stmia r2!, {r1} add r1, r1, #1 cmp r1, r0 blt _021F2064 _021F206E: mov r0, #0 str r0, [sp, #0xc] ldr r0, [sp, #0x14] sub r0, r0, #1 str r0, [sp, #0x1c] cmp r0, #0 ble _021F20C8 add r6, sp, #0x24 str r6, [sp, #0x20] _021F2080: ldr r0, [sp, #0xc] add r7, r0, #1 ldr r0, [sp, #0x14] cmp r7, r0 bge _021F20BA ldr r0, [sp, #0x20] lsl r1, r7, #2 add r5, r0, r1 _021F2090: ldr r0, [r6] ldr r4, [r5] str r0, [sp, #0x18] mov r0, #1 str r0, [sp] ldr r0, [sp, #4] ldr r1, [sp, #8] ldr r2, [sp, #0x18] add r3, r4, #0 bl MOD11_02244248 cmp r0, #0 beq _021F20B0 ldr r0, [sp, #0x18] str r4, [r6] str r0, [r5] _021F20B0: ldr r0, [sp, #0x14] add r7, r7, #1 add r5, r5, #4 cmp r7, r0 blt _021F2090 _021F20BA: ldr r0, [sp, #0xc] add r6, r6, #4 add r1, r0, #1 ldr r0, [sp, #0x1c] str r1, [sp, #0xc] cmp r1, r0 blt _021F2080 _021F20C8: ldr r1, [sp, #0x14] mov r0, #0 cmp r1, #0 ble _021F20F0 add r3, sp, #0x24 _021F20D2: ldr r2, [r3] ldr r1, [sp, #0x10] cmp r1, r2 bne _021F20E6 mov r2, #0xd7 ldr r1, [sp, #8] lsl r2, r2, #2 str r0, [r1, r2] add sp, #0x34 pop {r4, r5, r6, r7, pc} _021F20E6: ldr r1, [sp, #0x14] add r0, r0, #1 add r3, r3, #4 cmp r0, r1 blt _021F20D2 _021F20F0: add sp, #0x34 pop {r4, r5, r6, r7, pc} thumb_func_end MOD16_021F2030 thumb_func_start MOD16_021F20F4 MOD16_021F20F4: ; 0x021F20F4 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0x15 lsl r1, r1, #4 ldr r2, [r4, r1] mov r1, #0xc0 mul r1, r0 ldr r0, _021F212C ; =0x00002DD4 add r1, r4, r1 ldr r0, [r1, r0] sub r1, r2, r0 mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021F212C: .word 0x00002DD4 thumb_func_end MOD16_021F20F4 thumb_func_start MOD16_021F2130 MOD16_021F2130: ; 0x021F2130 push {r4, r5, r6, r7, lr} sub sp, #0x54 str r0, [sp, #0x18] str r1, [sp, #0x1c] add r0, r1, #0 mov r1, #1 bl MOD16_021F2D88 ldr r0, [sp, #0x1c] bl MOD16_021F2D54 str r0, [sp, #0x30] ldr r0, [sp, #0x1c] bl MOD16_021F2D54 str r0, [sp, #0x2c] mov r4, #0 ldr r1, _021F22B4 ; =0x000003CF ldr r0, [sp, #0x1c] add r5, sp, #0x34 ldrb r0, [r0, r1] add r6, r4, #0 str r0, [sp, #0x28] _021F215E: add r2, r4, #0 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x28] add r2, #0xa add r3, r6, #0 bl MOD11_02243420 strb r0, [r5] add r4, r4, #1 add r5, r5, #1 cmp r4, #6 blt _021F215E ldr r0, [sp, #0x28] mov r1, #0xc0 add r4, r0, #0 mul r4, r1 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x28] bl MOD11_02246D1C add r1, sp, #0x44 str r1, [sp] ldr r1, [sp, #0x1c] ldr r3, _021F22B8 ; =0x00002DB8 add r2, r1, r4 ldrh r1, [r2, r3] ldr r5, _021F22B4 ; =0x000003CF str r1, [sp, #4] add r1, sp, #0x34 str r1, [sp, #8] str r0, [sp, #0xc] add r0, r3, #0 add r0, #0x14 ldr r0, [r2, r0] ldr r1, [sp, #0x1c] lsl r0, r0, #0xa lsr r0, r0, #0x1d str r0, [sp, #0x10] ldr r0, [sp, #0x30] add r2, r1, #0 str r0, [sp, #0x14] ldrb r2, [r2, r5] sub r3, #0x6c add r5, r1, #0 add r3, r5, r3 ldr r0, [sp, #0x18] add r3, r3, r4 bl MOD16_021F2DE0 str r0, [sp, #0x24] ldr r0, [sp, #0x18] ldr r1, [sp, #0x28] mov r7, #0 bl MOD11_0222FFC8 cmp r0, #0 ble _021F22AE ldr r1, [sp, #0x1c] ldr r0, [sp, #0x28] add r0, r1, r0 str r0, [sp, #0x20] _021F21D8: ldr r1, _021F22BC ; =0x0000219C ldr r0, [sp, #0x20] ldrb r0, [r0, r1] cmp r7, r0 beq _021F22A0 ldr r0, [sp, #0x18] ldr r1, [sp, #0x28] add r2, r7, #0 bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 add r6, r0, #0 bl GetMonData cmp r0, #0 beq _021F22A0 add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F22A0 add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F22C0 ; =0x000001EE cmp r0, r1 beq _021F22A0 add r5, sp, #0x38 mov r4, #0 add r5, #2 _021F221E: add r1, r4, #0 add r0, r6, #0 add r1, #0x36 mov r2, #0 bl GetMonData strh r0, [r5] add r4, r4, #1 add r5, r5, #2 cmp r4, #4 blt _021F221E mov r5, #0 add r4, sp, #0x34 _021F2238: add r1, r5, #0 add r0, r6, #0 add r1, #0x46 mov r2, #0 bl GetMonData strb r0, [r4] add r5, r5, #1 add r4, r4, #1 cmp r5, #6 blt _021F2238 add r0, r6, #0 mov r1, #6 mov r2, #0 bl GetMonData add r4, r0, #0 add r0, r6, #0 mov r1, #0xa mov r2, #0 bl GetMonData add r1, sp, #0x44 str r1, [sp] lsl r1, r4, #0x10 lsr r1, r1, #0x10 str r1, [sp, #4] add r1, sp, #0x34 str r1, [sp, #8] str r0, [sp, #0xc] mov r0, #0 str r0, [sp, #0x10] ldr r0, [sp, #0x30] ldr r1, [sp, #0x1c] str r0, [sp, #0x14] ldr r3, _021F22B4 ; =0x000003CF add r2, r1, #0 ldrb r2, [r2, r3] add r3, sp, #0x38 ldr r0, [sp, #0x18] add r3, #2 bl MOD16_021F2DE0 ldr r1, [sp, #0x24] cmp r0, r1 ble _021F22A0 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x2c] bl MOD16_021F2D88 add sp, #0x54 pop {r4, r5, r6, r7, pc} _021F22A0: ldr r0, [sp, #0x18] ldr r1, [sp, #0x28] add r7, r7, #1 bl MOD11_0222FFC8 cmp r7, r0 blt _021F21D8 _021F22AE: add sp, #0x54 pop {r4, r5, r6, r7, pc} nop _021F22B4: .word 0x000003CF _021F22B8: .word 0x00002DB8 _021F22BC: .word 0x0000219C _021F22C0: .word 0x000001EE thumb_func_end MOD16_021F2130 thumb_func_start MOD16_021F22C4 MOD16_021F22C4: ; 0x021F22C4 push {r4, r5, r6, lr} add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 ldr r2, _021F22F8 ; =0x000003CF add r6, r0, #0 ldrb r2, [r4, r2] add r0, r5, #0 add r1, r4, #0 mov r3, #1 bl MOD16_021F3D3C cmp r0, #1 bne _021F22F4 add r0, r4, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F22F4: pop {r4, r5, r6, pc} nop _021F22F8: .word 0x000003CF thumb_func_end MOD16_021F22C4 thumb_func_start MOD16_021F22FC MOD16_021F22FC: ; 0x021F22FC push {r4, r5, r6, r7, lr} sub sp, #0x44 add r6, r1, #0 str r0, [sp, #0x18] add r0, r6, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r6, #0 bl MOD16_021F2D54 str r0, [sp, #0x28] add r0, r6, #0 bl MOD16_021F2D54 str r0, [sp, #0x24] add r0, r6, #0 bl MOD16_021F2D54 ldr r7, _021F2400 ; =0x000003CF str r0, [sp, #0x20] mov r4, #0 add r5, sp, #0x2c _021F232A: ldrb r1, [r6, r7] add r2, r4, #0 add r0, r6, #0 add r2, #0xa mov r3, #0 bl MOD11_02243420 strb r0, [r5] add r4, r4, #1 add r5, r5, #1 cmp r4, #6 blt _021F232A ldr r0, _021F2400 ; =0x000003CF ldrb r4, [r6, r0] mov r0, #0xc0 add r5, r4, #0 mul r5, r0 add r0, r6, #0 add r1, r4, #0 bl MOD11_02246D1C add r1, sp, #0x34 str r1, [sp] ldr r3, _021F2404 ; =0x00002DB8 add r1, r6, r5 ldrh r1, [r1, r3] add r2, r4, #0 str r1, [sp, #4] add r1, sp, #0x2c str r1, [sp, #8] str r0, [sp, #0xc] mov r0, #0xc0 mul r0, r4 add r1, r6, r0 add r0, r3, #0 add r0, #0x14 ldr r0, [r1, r0] sub r3, #0x6c lsl r0, r0, #0xa lsr r0, r0, #0x1d str r0, [sp, #0x10] ldr r0, [sp, #0x24] add r3, r6, r3 str r0, [sp, #0x14] ldr r0, [sp, #0x18] add r1, r6, #0 add r3, r3, r5 bl MOD16_021F2DE0 ldr r1, [sp, #0x28] str r0, [sp, #0x1c] lsl r1, r1, #0x18 add r0, r6, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r4, r0, #0 ldr r0, [sp, #0x24] cmp r0, #1 bne _021F23AE ldr r0, _021F2408 ; =0x00000355 ldrb r1, [r6, r0] add r0, #0x17 add r1, r6, r1 ldrb r5, [r1, r0] b _021F23B0 _021F23AE: mov r5, #0x64 _021F23B0: mov r0, #0xc0 add r7, r4, #0 mul r7, r0 add r0, r6, #0 add r1, r4, #0 bl MOD11_02246D1C add r1, sp, #0x2c str r1, [sp] str r4, [sp, #4] lsl r2, r4, #1 add r4, r6, r2 ldr r3, _021F240C ; =0x00002DCC add r7, r6, r7 str r0, [sp, #8] ldr r0, [r7, r3] ldr r2, _021F2410 ; =0x0000307C lsl r0, r0, #0xa lsr r0, r0, #0x1d str r0, [sp, #0xc] lsl r0, r5, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] sub r3, #0x14 ldrh r2, [r4, r2] ldrh r3, [r7, r3] ldr r0, [sp, #0x18] add r1, r6, #0 bl MOD16_021F2EE8 ldr r1, [sp, #0x1c] cmp r0, r1 ble _021F23FA ldr r1, [sp, #0x20] add r0, r6, #0 bl MOD16_021F2D88 _021F23FA: add sp, #0x44 pop {r4, r5, r6, r7, pc} nop _021F2400: .word 0x000003CF _021F2404: .word 0x00002DB8 _021F2408: .word 0x00000355 _021F240C: .word 0x00002DCC _021F2410: .word 0x0000307C thumb_func_end MOD16_021F22FC thumb_func_start MOD16_021F2414 MOD16_021F2414: ; 0x021F2414 push {r4, r5, r6, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r2, #0xd7 mov r3, #0xd7 mov r1, #0 lsl r2, r2, #2 str r1, [r4, r2] mov r2, #0xc0 mul r2, r0 add r0, r4, r2 ldr r2, _021F2460 ; =0x00002D58 lsl r3, r3, #2 _021F2446: ldrsb r5, [r0, r2] cmp r5, #6 ble _021F2454 ldr r6, [r4, r3] sub r5, r5, #6 add r5, r6, r5 str r5, [r4, r3] _021F2454: add r1, r1, #1 add r0, r0, #1 cmp r1, #8 blt _021F2446 pop {r4, r5, r6, pc} nop _021F2460: .word 0x00002D58 thumb_func_end MOD16_021F2414 thumb_func_start MOD16_021F2464 MOD16_021F2464: ; 0x021F2464 push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r6, #0x18 add r4, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 ldr r3, _021F24AC ; =0x000003CF mov r1, #0xc0 ldrb r6, [r5, r3] add r2, r0, #0 mul r2, r1 add r0, r5, r2 mul r1, r6 add r1, r5, r1 ldr r2, _021F24B0 ; =0x00002D58 add r0, r0, r4 add r1, r1, r4 ldrsb r0, [r0, r2] ldrsb r1, [r1, r2] sub r3, #0x73 sub r0, r0, r1 str r0, [r5, r3] pop {r4, r5, r6, pc} .align 2, 0 _021F24AC: .word 0x000003CF _021F24B0: .word 0x00002D58 thumb_func_end MOD16_021F2464 thumb_func_start MOD16_021F24B4 MOD16_021F24B4: ; 0x021F24B4 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 str r6, [sp] add r0, r5, #0 add r2, sp, #8 add r3, sp, #4 bl MOD16_021F25B0 ldr r1, [sp, #8] ldr r0, [sp, #4] cmp r1, r0 bge _021F2502 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F2502: add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021F24B4 thumb_func_start MOD16_021F2508 MOD16_021F2508: ; 0x021F2508 push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 str r6, [sp] add r0, r5, #0 add r2, sp, #8 add r3, sp, #4 bl MOD16_021F25B0 ldr r1, [sp, #8] ldr r0, [sp, #4] cmp r1, r0 ble _021F2556 add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F2556: add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021F2508 thumb_func_start MOD16_021F255C MOD16_021F255C: ; 0x021F255C push {r4, r5, r6, r7, lr} sub sp, #0xc add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r7, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 str r6, [sp] add r0, r5, #0 add r2, sp, #8 add r3, sp, #4 bl MOD16_021F25B0 ldr r1, [sp, #8] ldr r0, [sp, #4] cmp r1, r0 bne _021F25AA add r0, r5, #0 add r1, r7, #0 bl MOD16_021F2D88 _021F25AA: add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 thumb_func_end MOD16_021F255C thumb_func_start MOD16_021F25B0 MOD16_021F25B0: ; 0x021F25B0 push {r4, r5, r6, lr} add r4, r1, #0 add r1, r3, #0 ldr r3, [sp, #0x10] cmp r3, #5 bhi _021F2688 add r3, r3, r3 add r3, pc ldrh r3, [r3, #6] lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 _021F25C8: ; jump table .short _021F25D4 - _021F25C8 - 2 ; case 0 .short _021F25F2 - _021F25C8 - 2 ; case 1 .short _021F2610 - _021F25C8 - 2 ; case 2 .short _021F266A - _021F25C8 - 2 ; case 3 .short _021F262E - _021F25C8 - 2 ; case 4 .short _021F264C - _021F25C8 - 2 ; case 5 _021F25D4: ldr r3, _021F2690 ; =0x000003CF ldrb r5, [r0, r3] mov r3, #0xc0 add r6, r5, #0 mul r6, r3 ldr r5, _021F2694 ; =0x00002D8C add r6, r0, r6 ldr r6, [r6, r5] str r6, [r2] add r2, r4, #0 mul r2, r3 add r0, r0, r2 ldr r0, [r0, r5] str r0, [r1] pop {r4, r5, r6, pc} _021F25F2: ldr r3, _021F2690 ; =0x000003CF ldrb r5, [r0, r3] mov r3, #0xc0 add r6, r5, #0 mul r6, r3 ldr r5, _021F2698 ; =0x00002D42 add r6, r0, r6 ldrh r6, [r6, r5] str r6, [r2] add r2, r4, #0 mul r2, r3 add r0, r0, r2 ldrh r0, [r0, r5] str r0, [r1] pop {r4, r5, r6, pc} _021F2610: ldr r3, _021F2690 ; =0x000003CF ldrb r5, [r0, r3] mov r3, #0xc0 add r6, r5, #0 mul r6, r3 ldr r5, _021F269C ; =0x00002D44 add r6, r0, r6 ldrh r6, [r6, r5] str r6, [r2] add r2, r4, #0 mul r2, r3 add r0, r0, r2 ldrh r0, [r0, r5] str r0, [r1] pop {r4, r5, r6, pc} _021F262E: ldr r3, _021F2690 ; =0x000003CF ldrb r5, [r0, r3] mov r3, #0xc0 add r6, r5, #0 mul r6, r3 ldr r5, _021F26A0 ; =0x00002D48 add r6, r0, r6 ldrh r6, [r6, r5] str r6, [r2] add r2, r4, #0 mul r2, r3 add r0, r0, r2 ldrh r0, [r0, r5] str r0, [r1] pop {r4, r5, r6, pc} _021F264C: ldr r3, _021F2690 ; =0x000003CF ldrb r5, [r0, r3] mov r3, #0xc0 add r6, r5, #0 mul r6, r3 ldr r5, _021F26A4 ; =0x00002D4A add r6, r0, r6 ldrh r6, [r6, r5] str r6, [r2] add r2, r4, #0 mul r2, r3 add r0, r0, r2 ldrh r0, [r0, r5] str r0, [r1] pop {r4, r5, r6, pc} _021F266A: ldr r3, _021F2690 ; =0x000003CF ldrb r5, [r0, r3] mov r3, #0xc0 add r6, r5, #0 mul r6, r3 ldr r5, _021F26A8 ; =0x00002D46 add r6, r0, r6 ldrh r6, [r6, r5] str r6, [r2] add r2, r4, #0 mul r2, r3 add r0, r0, r2 ldrh r0, [r0, r5] str r0, [r1] pop {r4, r5, r6, pc} _021F2688: bl GF_AssertFail pop {r4, r5, r6, pc} nop _021F2690: .word 0x000003CF _021F2694: .word 0x00002D8C _021F2698: .word 0x00002D42 _021F269C: .word 0x00002D44 _021F26A0: .word 0x00002D48 _021F26A4: .word 0x00002D4A _021F26A8: .word 0x00002D46 thumb_func_end MOD16_021F25B0 thumb_func_start MOD16_021F26AC MOD16_021F26AC: ; 0x021F26AC push {r3, r4, r5, r6, r7, lr} sub sp, #0x40 add r6, r1, #0 str r0, [sp, #0x18] add r0, r6, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r6, #0 bl MOD16_021F2D54 ldr r2, _021F27E8 ; =0x00000356 str r0, [sp, #0x20] ldrh r3, [r6, r2] add r2, #0x88 ldr r1, _021F27EC ; =0x021FF7F4 lsl r7, r3, #4 add r3, r6, r7 ldrh r3, [r3, r2] ldr r2, _021F27F0 ; =0x0000FFFF mov r0, #0 _021F26D6: ldrh r4, [r1] cmp r3, r4 beq _021F26E6 add r1, r1, #2 ldrh r4, [r1] add r0, r0, #1 cmp r4, r2 bne _021F26D6 _021F26E6: ldr r2, _021F27F4 ; =0x021FF7DC ldr r4, _021F27F0 ; =0x0000FFFF mov r1, #0 _021F26EC: ldrh r5, [r2] cmp r3, r5 beq _021F26FC add r2, r2, #2 ldrh r5, [r2] add r1, r1, #1 cmp r5, r4 bne _021F26EC _021F26FC: lsl r2, r1, #1 ldr r1, _021F27F4 ; =0x021FF7DC ldrh r1, [r1, r2] ldr r2, _021F27F0 ; =0x0000FFFF cmp r1, r2 bne _021F271C ldr r1, _021F27F8 ; =0x000003E1 add r3, r6, r7 ldrb r1, [r3, r1] cmp r1, #1 bls _021F27DA lsl r1, r0, #1 ldr r0, _021F27EC ; =0x021FF7F4 ldrh r0, [r0, r1] cmp r0, r2 bne _021F27DA _021F271C: ldr r0, _021F27FC ; =0x000003CF ldrb r7, [r6, r0] mov r0, #0 str r0, [sp, #0x1c] _021F2724: mov r4, #0 add r5, sp, #0x28 _021F2728: add r2, r4, #0 add r0, r6, #0 add r1, r7, #0 add r2, #0xa mov r3, #0 bl MOD11_02243420 strb r0, [r5] add r4, r4, #1 add r5, r5, #1 cmp r4, #6 blt _021F2728 mov r0, #0xc0 add r4, r7, #0 mul r4, r0 add r0, r6, #0 add r1, r7, #0 bl MOD11_02246D1C add r1, sp, #0x30 str r1, [sp] ldr r3, _021F2800 ; =0x00002DB8 add r1, r6, r4 ldrh r2, [r1, r3] str r2, [sp, #4] add r2, sp, #0x28 str r2, [sp, #8] str r0, [sp, #0xc] add r0, r3, #0 add r0, #0x14 ldr r0, [r1, r0] sub r3, #0x6c lsl r0, r0, #0xa lsr r0, r0, #0x1d str r0, [sp, #0x10] ldr r0, [sp, #0x20] add r3, r6, r3 str r0, [sp, #0x14] ldr r0, [sp, #0x18] add r1, r6, #0 add r2, r7, #0 add r3, r3, r4 bl MOD16_021F2DE0 ldr r1, _021F27FC ; =0x000003CF ldr r0, [sp, #0x18] ldrb r1, [r6, r1] bl MOD11_022302BC add r7, r0, #0 ldr r0, [sp, #0x1c] cmp r0, #0 bne _021F279E ldr r0, _021F2804 ; =0x00000355 ldrb r0, [r6, r0] lsl r1, r0, #2 add r0, sp, #0x30 ldr r0, [r0, r1] str r0, [sp, #0x24] _021F279E: mov r3, #0 add r2, sp, #0x30 _021F27A2: ldr r1, [r2] ldr r0, [sp, #0x24] cmp r1, r0 bgt _021F27B2 add r3, r3, #1 add r2, r2, #4 cmp r3, #4 blt _021F27A2 _021F27B2: cmp r3, #4 bne _021F27C0 mov r0, #0xd7 mov r1, #2 lsl r0, r0, #2 str r1, [r6, r0] b _021F27CC _021F27C0: mov r0, #0xd7 mov r1, #1 lsl r0, r0, #2 add sp, #0x40 str r1, [r6, r0] pop {r3, r4, r5, r6, r7, pc} _021F27CC: ldr r0, [sp, #0x1c] add r0, r0, #1 str r0, [sp, #0x1c] cmp r0, #2 blt _021F2724 add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} _021F27DA: mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r6, r0] add sp, #0x40 pop {r3, r4, r5, r6, r7, pc} nop _021F27E8: .word 0x00000356 _021F27EC: .word MOD16_021FF7F4 _021F27F0: .word 0x0000FFFF _021F27F4: .word MOD16_021FF7DC _021F27F8: .word 0x000003E1 _021F27FC: .word 0x000003CF _021F2800: .word 0x00002DB8 _021F2804: .word 0x00000355 thumb_func_end MOD16_021F26AC thumb_func_start MOD16_021F2808 MOD16_021F2808: ; 0x021F2808 push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 cmp r4, #1 bne _021F282C bl GF_AssertFail _021F282C: cmp r4, #0 bne _021F2834 bl GF_AssertFail _021F2834: lsl r1, r4, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 bl MaskOfFlagNo ldr r1, _021F2854 ; =0x00003108 ldrb r1, [r5, r1] tst r0, r1 beq _021F2852 add r0, r5, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F2852: pop {r4, r5, r6, pc} .align 2, 0 _021F2854: .word 0x00003108 thumb_func_end MOD16_021F2808 thumb_func_start MOD16_021F2858 MOD16_021F2858: ; 0x021F2858 push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r6, r0, #0 cmp r4, #1 bne _021F287C bl GF_AssertFail _021F287C: cmp r4, #0 bne _021F2884 bl GF_AssertFail _021F2884: lsl r1, r4, #0x18 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 bl MaskOfFlagNo ldr r1, _021F28A4 ; =0x00003108 ldrb r1, [r5, r1] tst r0, r1 bne _021F28A2 add r0, r5, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F28A2: pop {r4, r5, r6, pc} .align 2, 0 _021F28A4: .word 0x00003108 thumb_func_end MOD16_021F2858 thumb_func_start MOD16_021F28A8 MOD16_021F28A8: ; 0x021F28A8 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F28DC ; =0x00002DBE add r1, r4, r1 ldrb r0, [r1, r0] lsl r0, r0, #0x1c lsr r1, r0, #0x1c mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021F28DC: .word 0x00002DBE thumb_func_end MOD16_021F28A8 thumb_func_start MOD16_021F28E0 MOD16_021F28E0: ; 0x021F28E0 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r2, r0, #0 mov r1, #0xc0 mul r2, r1 ldr r0, _021F2928 ; =0x00002DD4 add r2, r4, r2 add r1, #0x90 ldr r2, [r2, r0] ldr r0, [r4, r1] cmp r2, r0 bge _021F291C mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} _021F291C: mov r1, #1 mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} nop _021F2928: .word 0x00002DD4 thumb_func_end MOD16_021F28E0 thumb_func_start MOD16_021F292C MOD16_021F292C: ; 0x021F292C push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F2960 ; =0x00002DC8 add r1, r4, r1 ldr r0, [r1, r0] lsl r0, r0, #8 lsr r1, r0, #0x1d mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} .align 2, 0 _021F2960: .word 0x00002DC8 thumb_func_end MOD16_021F292C thumb_func_start MOD16_021F2964 MOD16_021F2964: ; 0x021F2964 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r0, #0xd7 ldr r1, [r5, #0x2c] lsl r0, r0, #2 str r1, [r4, r0] pop {r3, r4, r5, pc} thumb_func_end MOD16_021F2964 thumb_func_start MOD16_021F297C MOD16_021F297C: ; 0x021F297C push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 lsl r0, r0, #1 add r1, r4, r0 ldr r0, _021F29AC ; =0x00003124 ldrh r1, [r1, r0] mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} nop _021F29AC: .word 0x00003124 thumb_func_end MOD16_021F297C thumb_func_start MOD16_021F29B0 MOD16_021F29B0: ; 0x021F29B0 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r1, #0xd7 lsl r1, r1, #2 ldr r0, [r4, r1] lsl r0, r0, #4 add r2, r4, r0 add r0, r1, #0 add r0, #0x86 ldrb r0, [r2, r0] str r0, [r4, r1] pop {r4, pc} thumb_func_end MOD16_021F29B0 thumb_func_start MOD16_021F29D0 MOD16_021F29D0: ; 0x021F29D0 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r1, #0xd7 lsl r1, r1, #2 ldr r0, [r4, r1] lsl r0, r0, #4 add r2, r4, r0 add r0, r1, #0 add r0, #0x85 ldrb r0, [r2, r0] str r0, [r4, r1] pop {r4, pc} thumb_func_end MOD16_021F29D0 thumb_func_start MOD16_021F29F0 MOD16_021F29F0: ; 0x021F29F0 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 mov r1, #0xd7 lsl r1, r1, #2 ldr r0, [r4, r1] lsl r0, r0, #4 add r2, r4, r0 add r0, r1, #0 add r0, #0x82 ldrh r0, [r2, r0] str r0, [r4, r1] pop {r4, pc} thumb_func_end MOD16_021F29F0 thumb_func_start MOD16_021F2A10 MOD16_021F2A10: ; 0x021F2A10 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 lsl r1, r0, #1 add r2, r4, r1 ldr r1, _021F2A64 ; =0x0000305C ldrh r1, [r2, r1] cmp r1, #0xb6 beq _021F2A4C cmp r1, #0xc5 beq _021F2A4C cmp r1, #0xcb beq _021F2A4C mov r0, #0xd7 mov r1, #0 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} _021F2A4C: mov r1, #0xc0 mul r1, r0 ldr r0, _021F2A68 ; =0x00002DC8 add r1, r4, r1 ldr r0, [r1, r0] lsl r0, r0, #0x13 lsr r1, r0, #0x1e mov r0, #0xd7 lsl r0, r0, #2 str r1, [r4, r0] pop {r4, pc} nop _021F2A64: .word 0x0000305C _021F2A68: .word 0x00002DC8 thumb_func_end MOD16_021F2A10 thumb_func_start MOD16_021F2A6C MOD16_021F2A6C: ; 0x021F2A6C push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r2, r0, #0 add r0, r5, #0 add r1, r4, #0 bl MOD16_021F2C8C pop {r3, r4, r5, pc} thumb_func_end MOD16_021F2A6C thumb_func_start MOD16_021F2A8C MOD16_021F2A8C: ; 0x021F2A8C push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 add r0, r4, #0 bl MOD16_021F2D88 pop {r4, pc} thumb_func_end MOD16_021F2A8C thumb_func_start MOD16_021F2AA8 MOD16_021F2AA8: ; 0x021F2AA8 push {r3, r4, r5, lr} add r4, r1, #0 add r5, r0, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 add r1, r4, #0 bl MOD16_021F2CC4 cmp r0, #1 beq _021F2ACE mov r1, #0xd9 lsl r1, r1, #2 ldrb r2, [r4, r1] mov r0, #1 orr r0, r2 strb r0, [r4, r1] _021F2ACE: pop {r3, r4, r5, pc} thumb_func_end MOD16_021F2AA8 thumb_func_start MOD16_021F2AD0 MOD16_021F2AD0: ; 0x021F2AD0 push {r3, r4, r5, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 add r1, r0, #0 cmp r4, #0 beq _021F2AFA cmp r4, #1 beq _021F2B20 cmp r4, #2 beq _021F2B46 pop {r3, r4, r5, pc} _021F2AFA: ldr r2, _021F2B6C ; =0x000003CF mov r3, #0xc0 ldrb r0, [r5, r2] add r2, r2, #1 ldrb r2, [r5, r2] add r4, r0, #0 mul r4, r3 add r0, r5, r4 ldr r4, _021F2B70 ; =0x00002D74 mul r3, r2 add r2, r5, r3 ldrb r0, [r0, r4] ldrb r2, [r2, r4] cmp r0, r2 bls _021F2B6A add r0, r5, #0 bl MOD16_021F2D88 pop {r3, r4, r5, pc} _021F2B20: ldr r2, _021F2B6C ; =0x000003CF mov r3, #0xc0 ldrb r0, [r5, r2] add r2, r2, #1 ldrb r2, [r5, r2] add r4, r0, #0 mul r4, r3 add r0, r5, r4 ldr r4, _021F2B70 ; =0x00002D74 mul r3, r2 add r2, r5, r3 ldrb r0, [r0, r4] ldrb r2, [r2, r4] cmp r0, r2 bhs _021F2B6A add r0, r5, #0 bl MOD16_021F2D88 pop {r3, r4, r5, pc} _021F2B46: ldr r2, _021F2B6C ; =0x000003CF mov r3, #0xc0 ldrb r0, [r5, r2] add r2, r2, #1 ldrb r2, [r5, r2] add r4, r0, #0 mul r4, r3 add r0, r5, r4 ldr r4, _021F2B70 ; =0x00002D74 mul r3, r2 add r2, r5, r3 ldrb r0, [r0, r4] ldrb r2, [r2, r4] cmp r0, r2 bne _021F2B6A add r0, r5, #0 bl MOD16_021F2D88 _021F2B6A: pop {r3, r4, r5, pc} .align 2, 0 _021F2B6C: .word 0x000003CF _021F2B70: .word 0x00002D74 thumb_func_end MOD16_021F2AD0 thumb_func_start MOD16_021F2B74 MOD16_021F2B74: ; 0x021F2B74 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0x3d lsl r0, r0, #4 ldrb r2, [r4, r0] mov r0, #0xc0 mul r0, r2 add r2, r4, r0 ldr r0, _021F2BA8 ; =0x00002DC8 ldr r0, [r2, r0] lsl r0, r0, #0x15 lsr r0, r0, #0x1d beq _021F2BA4 add r0, r4, #0 bl MOD16_021F2D88 _021F2BA4: pop {r4, pc} nop _021F2BA8: .word 0x00002DC8 thumb_func_end MOD16_021F2B74 thumb_func_start MOD16_021F2BAC MOD16_021F2BAC: ; 0x021F2BAC push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 mov r0, #0x3d lsl r0, r0, #4 ldrb r2, [r4, r0] mov r0, #0xc0 mul r0, r2 add r2, r4, r0 ldr r0, _021F2BE0 ; =0x00002DC8 ldr r0, [r2, r0] lsl r0, r0, #0x15 lsr r0, r0, #0x1d bne _021F2BDC add r0, r4, #0 bl MOD16_021F2D88 _021F2BDC: pop {r4, pc} nop _021F2BE0: .word 0x00002DC8 thumb_func_end MOD16_021F2BAC thumb_func_start MOD16_021F2BE4 MOD16_021F2BE4: ; 0x021F2BE4 push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 ldr r2, _021F2C14 ; =0x000003CF add r1, r0, #0 ldrb r0, [r4, r2] add r2, r2, #1 mov r3, #1 ldrb r2, [r4, r2] and r0, r3 and r2, r3 cmp r0, r2 bne _021F2C10 add r0, r4, #0 bl MOD16_021F2D88 _021F2C10: pop {r4, pc} nop _021F2C14: .word 0x000003CF thumb_func_end MOD16_021F2BE4 thumb_func_start MOD16_021F2C18 MOD16_021F2C18: ; 0x021F2C18 push {r4, r5, r6, lr} add r5, r1, #0 add r0, r5, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r5, #0 bl MOD16_021F2D54 add r4, r0, #0 add r0, r5, #0 bl MOD16_021F2D54 lsl r1, r4, #0x18 add r6, r0, #0 add r0, r5, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 mov r1, #0xc0 mul r1, r0 ldr r0, _021F2C58 ; =0x00002DC8 add r1, r5, r1 ldr r0, [r1, r0] lsr r0, r0, #0x1f beq _021F2C54 add r0, r5, #0 add r1, r6, #0 bl MOD16_021F2D88 _021F2C54: pop {r4, r5, r6, pc} nop _021F2C58: .word 0x00002DC8 thumb_func_end MOD16_021F2C18 thumb_func_start MOD16_021F2C5C MOD16_021F2C5C: ; 0x021F2C5C push {r4, lr} add r4, r1, #0 add r0, r4, #0 mov r1, #1 bl MOD16_021F2D88 add r0, r4, #0 bl MOD16_021F2D54 add r1, r0, #0 lsl r1, r1, #0x18 add r0, r4, #0 lsr r1, r1, #0x18 bl MOD16_021F2D98 add r1, r0, #0 add r0, r4, #0 bl MOD11_02246D1C mov r1, #0xd7 lsl r1, r1, #2 str r0, [r4, r1] pop {r4, pc} .align 2, 0 thumb_func_end MOD16_021F2C5C thumb_func_start MOD16_021F2C8C MOD16_021F2C8C: ; 0x021F2C8C push {r3, r4, r5, lr} add r4, r1, #0 mov r1, #0xf3 lsl r1, r1, #2 ldrb r5, [r4, r1] add r0, r5, #1 strb r0, [r4, r1] ldr r0, _021F2CC0 ; =0x00002138 sub r1, #0x20 ldr r3, [r4, r0] lsl r0, r5, #2 add r0, r4, r0 str r3, [r0, r1] add r0, r4, #0 add r1, r2, #0 bl MOD16_021F2D88 mov r0, #0xf3 lsl r0, r0, #2 ldrb r0, [r4, r0] cmp r0, #8 bls _021F2CBC bl GF_AssertFail _021F2CBC: pop {r3, r4, r5, pc} nop _021F2CC0: .word 0x00002138 thumb_func_end MOD16_021F2C8C thumb_func_start MOD16_021F2CC4 MOD16_021F2CC4: ; 0x021F2CC4 mov r0, #0xf3 lsl r0, r0, #2 ldrb r2, [r1, r0] cmp r2, #0 beq _021F2CE4 sub r2, r2, #1 strb r2, [r1, r0] ldrb r2, [r1, r0] sub r0, #0x20 lsl r2, r2, #2 add r2, r1, r2 ldr r2, [r2, r0] ldr r0, _021F2CE8 ; =0x00002138 str r2, [r1, r0] mov r0, #1 bx lr _021F2CE4: mov r0, #0 bx lr .align 2, 0 _021F2CE8: .word 0x00002138 thumb_func_end MOD16_021F2CC4 thumb_func_start MOD16_021F2CEC MOD16_021F2CEC: ; 0x021F2CEC push {r3, r4, r5, r6, r7, lr} mov r2, #0x3d lsl r2, r2, #4 str r1, [sp] ldrb r1, [r1, r2] mov r7, #0x37 lsl r7, r7, #4 mov lr, r1 mov r3, lr lsl r4, r3, #1 ldr r3, [sp] ldr r2, [sp] lsl r1, r1, #3 add r4, r3, r4 ldr r3, _021F2D50 ; =0x0000307C mov r0, #0 add r5, r2, r1 mov ip, r1 ldrh r3, [r4, r3] add r1, r5, #0 add r2, r0, #0 add r6, r7, #0 _021F2D18: ldrh r4, [r1, r6] cmp r3, r4 beq _021F2D4E add r4, r5, r2 ldrh r4, [r4, r7] cmp r4, #0 bne _021F2D44 mov r1, lr lsl r2, r1, #1 ldr r1, [sp] ldr r3, [sp] add r2, r1, r2 ldr r1, _021F2D50 ; =0x0000307C lsl r0, r0, #1 ldrh r1, [r2, r1] mov r2, ip add r2, r3, r2 add r2, r2, r0 mov r0, #0x37 lsl r0, r0, #4 strh r1, [r2, r0] pop {r3, r4, r5, r6, r7, pc} _021F2D44: add r0, r0, #1 add r1, r1, #2 add r2, r2, #2 cmp r0, #4 blt _021F2D18 _021F2D4E: pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F2D50: .word 0x0000307C thumb_func_end MOD16_021F2CEC thumb_func_start MOD16_021F2D54 MOD16_021F2D54: ; 0x021F2D54 ldr r1, _021F2D70 ; =0x00002134 add r2, r1, #4 ldr r2, [r0, r2] ldr r3, [r0, r1] lsl r2, r2, #2 ldr r3, [r3, r2] add r2, r1, #4 ldr r2, [r0, r2] add r1, r1, #4 add r2, r2, #1 str r2, [r0, r1] add r0, r3, #0 bx lr nop _021F2D70: .word 0x00002134 thumb_func_end MOD16_021F2D54 thumb_func_start MOD16_021F2D74 MOD16_021F2D74: ; 0x021F2D74 ldr r2, _021F2D84 ; =0x00002134 ldr r3, [r0, r2] add r2, r2, #4 ldr r0, [r0, r2] add r0, r0, r1 lsl r0, r0, #2 ldr r0, [r3, r0] bx lr .align 2, 0 _021F2D84: .word 0x00002134 thumb_func_end MOD16_021F2D74 thumb_func_start MOD16_021F2D88 MOD16_021F2D88: ; 0x021F2D88 ldr r2, _021F2D94 ; =0x00002138 ldr r3, [r0, r2] add r1, r3, r1 str r1, [r0, r2] bx lr nop _021F2D94: .word 0x00002138 thumb_func_end MOD16_021F2D88 thumb_func_start MOD16_021F2D98 MOD16_021F2D98: ; 0x021F2D98 cmp r1, #3 bhi _021F2DB6 add r1, r1, r1 add r1, pc ldrh r1, [r1, #6] lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 _021F2DA8: ; jump table .short _021F2DB6 - _021F2DA8 - 2 ; case 0 .short _021F2DB0 - _021F2DA8 - 2 ; case 1 .short _021F2DCC - _021F2DA8 - 2 ; case 2 .short _021F2DBE - _021F2DA8 - 2 ; case 3 _021F2DB0: ldr r1, _021F2DDC ; =0x000003CF ldrb r0, [r0, r1] bx lr _021F2DB6: mov r1, #0x3d lsl r1, r1, #4 ldrb r0, [r0, r1] bx lr _021F2DBE: ldr r1, _021F2DDC ; =0x000003CF ldrb r1, [r0, r1] mov r0, #2 eor r0, r1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr _021F2DCC: mov r1, #0x3d lsl r1, r1, #4 ldrb r1, [r0, r1] mov r0, #2 eor r0, r1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx lr .align 2, 0 _021F2DDC: .word 0x000003CF thumb_func_end MOD16_021F2D98 thumb_func_start MOD16_021F2DE0 MOD16_021F2DE0: ; 0x021F2DE0 push {r4, r5, r6, r7, lr} sub sp, #0x2c str r0, [sp, #0x14] ldr r0, [sp, #0x44] ldr r6, [sp, #0x40] str r0, [sp, #0x44] ldr r0, [sp, #0x48] add r7, r1, #0 str r0, [sp, #0x48] ldr r0, [sp, #0x4c] str r2, [sp, #0x18] str r0, [sp, #0x4c] ldr r0, [sp, #0x50] str r3, [sp, #0x1c] str r0, [sp, #0x50] ldr r0, [sp, #0x54] str r0, [sp, #0x54] mov r0, #0 str r0, [sp, #0x24] str r0, [sp, #0x28] _021F2E08: ldr r2, [sp, #0x1c] ldr r3, _021F2ED4 ; =0x000003DE ldrh r2, [r2] ldr r1, _021F2ED8 ; =0x021FF7F4 mov r0, #0 mov ip, r2 lsl r2, r2, #4 add r2, r7, r2 ldrh r3, [r2, r3] str r2, [sp, #0x20] ldr r2, _021F2EDC ; =0x0000FFFF _021F2E1E: ldrh r4, [r1] cmp r4, r3 beq _021F2E2E add r1, r1, #2 ldrh r4, [r1] add r0, r0, #1 cmp r4, r2 bne _021F2E1E _021F2E2E: ldr r2, _021F2EE0 ; =0x021FF7DC ldr r4, _021F2EDC ; =0x0000FFFF mov r1, #0 _021F2E34: ldrh r5, [r2] cmp r5, r3 beq _021F2E44 add r2, r2, #2 ldrh r5, [r2] add r1, r1, #1 cmp r5, r4 bne _021F2E34 _021F2E44: lsl r2, r1, #1 ldr r1, _021F2EE0 ; =0x021FF7DC ldrh r1, [r1, r2] ldr r2, _021F2EDC ; =0x0000FFFF cmp r1, r2 bne _021F2E6A mov r1, ip cmp r1, #0 beq _021F2EA0 lsl r1, r0, #1 ldr r0, _021F2ED8 ; =0x021FF7F4 ldrh r0, [r0, r1] cmp r0, r2 bne _021F2EA0 ldr r1, _021F2EE4 ; =0x000003E1 ldr r0, [sp, #0x20] ldrb r0, [r0, r1] cmp r0, #1 bls _021F2EA0 _021F2E6A: ldr r0, [sp, #0x54] cmp r0, #1 bne _021F2E7C ldr r0, [sp, #0x28] add r1, r7, r0 mov r0, #0xdb lsl r0, r0, #2 ldrb r0, [r1, r0] b _021F2E7E _021F2E7C: mov r0, #0x64 _021F2E7E: ldr r1, [sp, #0x48] mov r2, ip str r1, [sp] ldr r1, [sp, #0x18] str r1, [sp, #4] ldr r1, [sp, #0x4c] str r1, [sp, #8] ldr r1, [sp, #0x50] str r1, [sp, #0xc] str r0, [sp, #0x10] ldr r0, [sp, #0x14] ldr r3, [sp, #0x44] add r1, r7, #0 bl MOD16_021F2EE8 str r0, [r6] b _021F2EA4 _021F2EA0: mov r0, #0 str r0, [r6] _021F2EA4: ldr r0, [sp, #0x1c] add r6, r6, #4 add r0, r0, #2 str r0, [sp, #0x1c] ldr r0, [sp, #0x28] add r0, r0, #1 str r0, [sp, #0x28] cmp r0, #4 blt _021F2E08 ldr r2, [sp, #0x40] mov r3, #0 _021F2EBA: ldr r1, [r2] ldr r0, [sp, #0x24] cmp r0, r1 bge _021F2EC4 str r1, [sp, #0x24] _021F2EC4: add r3, r3, #1 add r2, r2, #4 cmp r3, #4 blt _021F2EBA ldr r0, [sp, #0x24] add sp, #0x2c pop {r4, r5, r6, r7, pc} nop _021F2ED4: .word 0x000003DE _021F2ED8: .word MOD16_021FF7F4 _021F2EDC: .word 0x0000FFFF _021F2EE0: .word MOD16_021FF7DC _021F2EE4: .word 0x000003E1 thumb_func_end MOD16_021F2DE0 thumb_func_start MOD16_021F2EE8 MOD16_021F2EE8: ; 0x021F2EE8 push {r4, r5, r6, r7, lr} sub sp, #0x4c add r6, r1, #0 ldr r1, [sp, #0x60] str r3, [sp, #0x1c] str r1, [sp, #0x60] ldr r1, [sp, #0x64] str r0, [sp, #0x18] str r1, [sp, #0x64] mov r1, #0x3d lsl r1, r1, #4 ldrb r1, [r6, r1] add r5, r2, #0 bl MOD11_02230270 mov r4, #0 str r0, [sp, #0x28] add r0, r4, #0 add r7, r4, #0 str r4, [sp, #0x20] str r0, [sp, #0x48] cmp r5, #0xd8 bgt _021F2F4E blt _021F2F1A b _021F3156 _021F2F1A: cmp r5, #0x52 bgt _021F2F3C blt _021F2F22 b _021F311C _021F2F22: cmp r5, #0x31 bgt _021F2F2C bne _021F2F2A b _021F31CE _021F2F2A: b _021F3210 _021F2F2C: cmp r5, #0x45 bgt _021F2F3A cmp r5, #0x43 blt _021F2F3A beq _021F2F84 cmp r5, #0x45 beq _021F2F42 _021F2F3A: b _021F3210 _021F2F3C: cmp r5, #0x65 bgt _021F2F46 bne _021F2F44 _021F2F42: b _021F3122 _021F2F44: b _021F3210 _021F2F46: cmp r5, #0x95 bne _021F2F4C b _021F3132 _021F2F4C: b _021F3210 _021F2F4E: mov r0, #0x5a lsl r0, r0, #2 cmp r5, r0 bgt _021F2F74 blt _021F2F5A b _021F30F2 _021F2F5A: cmp r5, #0xde bgt _021F2F6E cmp r5, #0xda blt _021F2F6C bne _021F2F66 b _021F3170 _021F2F66: cmp r5, #0xde bne _021F2F6C b _021F318E _021F2F6C: b _021F3210 _021F2F6E: cmp r5, #0xed beq _021F304C b _021F3210 _021F2F74: add r1, r0, #0 add r1, #0x57 cmp r5, r1 bgt _021F2F8E add r1, r0, #0 add r1, #0x57 cmp r5, r1 blt _021F2F86 _021F2F84: b _021F31D4 _021F2F86: add r0, r0, #3 cmp r5, r0 beq _021F2F96 b _021F3210 _021F2F8E: add r0, #0x59 cmp r5, r0 beq _021F2FBE b _021F3210 _021F2F96: ldr r0, [sp, #0x68] cmp r0, #0x67 beq _021F2FCA ldr r0, [sp, #0x6c] cmp r0, #0 bne _021F2FCA ldr r1, [sp, #0x1c] add r0, r6, #0 mov r2, #0xb bl MOD11_0224C12C add r4, r0, #0 beq _021F2FCA ldr r1, [sp, #0x1c] add r0, r6, #0 mov r2, #0xc bl MOD11_0224C12C add r7, r0, #0 b _021F3214 _021F2FBE: ldr r0, [sp, #0x68] cmp r0, #0x67 beq _021F2FCA ldr r0, [sp, #0x6c] cmp r0, #0 beq _021F2FCC _021F2FCA: b _021F3214 _021F2FCC: ldr r1, [sp, #0x1c] add r0, r6, #0 mov r2, #1 bl MOD11_0224C12C sub r0, #0x7d cmp r0, #0xf bhi _021F3048 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021F2FE8: ; jump table .short _021F3028 - _021F2FE8 - 2 ; case 0 .short _021F302C - _021F2FE8 - 2 ; case 1 .short _021F3034 - _021F2FE8 - 2 ; case 2 .short _021F3030 - _021F2FE8 - 2 ; case 3 .short _021F303C - _021F2FE8 - 2 ; case 4 .short _021F3008 - _021F2FE8 - 2 ; case 5 .short _021F3010 - _021F2FE8 - 2 ; case 6 .short _021F3014 - _021F2FE8 - 2 ; case 7 .short _021F300C - _021F2FE8 - 2 ; case 8 .short _021F3038 - _021F2FE8 - 2 ; case 9 .short _021F301C - _021F2FE8 - 2 ; case 10 .short _021F3018 - _021F2FE8 - 2 ; case 11 .short _021F3020 - _021F2FE8 - 2 ; case 12 .short _021F3040 - _021F2FE8 - 2 ; case 13 .short _021F3044 - _021F2FE8 - 2 ; case 14 .short _021F3024 - _021F2FE8 - 2 ; case 15 _021F3008: mov r7, #1 b _021F3214 _021F300C: mov r7, #2 b _021F3214 _021F3010: mov r7, #3 b _021F3214 _021F3014: mov r7, #4 b _021F3214 _021F3018: mov r7, #5 b _021F3214 _021F301C: mov r7, #6 b _021F3214 _021F3020: mov r7, #7 b _021F3214 _021F3024: mov r7, #8 b _021F3214 _021F3028: mov r7, #0xa b _021F3214 _021F302C: mov r7, #0xb b _021F3214 _021F3030: mov r7, #0xc b _021F3214 _021F3034: mov r7, #0xd b _021F3214 _021F3038: mov r7, #0xe b _021F3214 _021F303C: mov r7, #0xf b _021F3214 _021F3040: mov r7, #0x10 b _021F3214 _021F3044: mov r7, #0x11 b _021F3214 _021F3048: mov r7, #0 b _021F3214 _021F304C: ldr r0, [sp, #0x60] ldr r1, [sp, #0x60] ldrb r0, [r0, #1] ldrb r3, [r1, #4] ldrb r1, [r1, #5] str r0, [sp, #0x2c] ldr r0, [sp, #0x60] str r1, [sp, #0x34] ldrb r0, [r0] lsl r1, r1, #0x1f lsr r1, r1, #0x1a str r0, [sp, #0x30] ldr r0, [sp, #0x60] str r1, [sp, #0x38] ldrb r2, [r0, #2] lsl r1, r3, #0x1f lsr r1, r1, #0x1b ldrb r0, [r0, #3] str r1, [sp, #0x3c] mov r4, #1 lsl r1, r0, #0x1f lsr r1, r1, #0x1c str r1, [sp, #0x40] lsl r1, r2, #0x1f lsr r7, r1, #0x1d ldr r1, [sp, #0x30] and r1, r4 ldr r4, [sp, #0x2c] lsl r4, r4, #0x1f lsr r4, r4, #0x1e orr r1, r4 add r4, r7, #0 orr r4, r1 ldr r1, [sp, #0x40] orr r4, r1 ldr r1, [sp, #0x3c] orr r4, r1 ldr r1, [sp, #0x38] orr r1, r4 str r1, [sp, #0x24] mov r1, #2 ldr r4, [sp, #0x34] and r3, r1 and r4, r1 lsl r4, r4, #4 str r4, [sp, #0x44] and r0, r1 lsl r4, r3, #3 lsl r3, r0, #2 add r0, r2, #0 and r0, r1 lsl r2, r0, #1 ldr r0, [sp, #0x30] and r0, r1 asr r7, r0, #1 ldr r0, [sp, #0x2c] and r0, r1 orr r0, r7 orr r0, r2 orr r0, r3 add r1, r4, #0 orr r1, r0 ldr r0, [sp, #0x44] orr r1, r0 mov r0, #0x28 mul r0, r1 mov r1, #0x3f bl _s32_div_f add r4, r0, #0 ldr r1, [sp, #0x24] mov r0, #0xf mul r0, r1 mov r1, #0x3f add r4, #0x1e bl _s32_div_f add r7, r0, #1 cmp r7, #9 bge _021F30EE b _021F3214 _021F30EE: add r7, r7, #1 b _021F3214 _021F30F2: mov r0, #0x3d lsl r0, r0, #4 ldrb r0, [r6, r0] ldr r2, _021F32B4 ; =0x000021F0 lsl r0, r0, #2 add r0, r6, r0 ldr r1, [r0, r2] mov r0, #0x19 mul r0, r1 ldr r1, [sp, #0x64] lsl r1, r1, #2 add r1, r6, r1 ldr r1, [r1, r2] bl _u32_div_f add r4, r0, #1 cmp r4, #0x96 ble _021F3118 mov r4, #0x96 _021F3118: mov r7, #0 b _021F3214 _021F311C: mov r0, #0x28 str r0, [sp, #0x20] b _021F3214 _021F3122: ldr r0, [sp, #0x64] mov r1, #0xc0 mul r1, r0 ldr r0, _021F32B8 ; =0x00002D74 add r1, r6, r1 ldrb r0, [r1, r0] str r0, [sp, #0x20] b _021F3214 _021F3132: bl LCRandom mov r1, #0xb bl _s32_div_f ldr r0, [sp, #0x64] mov r2, #0xc0 mul r2, r0 ldr r0, _021F32B8 ; =0x00002D74 add r2, r6, r2 ldrb r2, [r2, r0] add r0, r1, #5 mov r1, #0xa mul r0, r2 bl _s32_div_f str r0, [sp, #0x20] b _021F3214 _021F3156: ldr r0, [sp, #0x64] mov r1, #0xc0 mul r1, r0 ldr r0, _021F32BC ; =0x00002D75 add r1, r6, r1 ldrb r1, [r1, r0] mov r0, #0xa mul r0, r1 mov r1, #0x19 bl _s32_div_f add r4, r0, #0 b _021F3214 _021F3170: ldr r0, [sp, #0x64] mov r1, #0xc0 mul r1, r0 ldr r0, _021F32BC ; =0x00002D75 add r1, r6, r1 ldrb r1, [r1, r0] mov r0, #0xff sub r1, r0, r1 mov r0, #0xa mul r0, r1 mov r1, #0x19 bl _s32_div_f add r4, r0, #0 b _021F3214 _021F318E: bl LCRandom mov r1, #0x64 bl _s32_div_f cmp r1, #5 bge _021F31A0 mov r4, #0xa b _021F31CA _021F31A0: cmp r1, #0xf bge _021F31A8 mov r4, #0x1e b _021F31CA _021F31A8: cmp r1, #0x23 bge _021F31B0 mov r4, #0x32 b _021F31CA _021F31B0: cmp r1, #0x41 bge _021F31B8 mov r4, #0x46 b _021F31CA _021F31B8: cmp r1, #0x55 bge _021F31C0 mov r4, #0x5a b _021F31CA _021F31C0: cmp r1, #0x5f bge _021F31C8 mov r4, #0x6e b _021F31CA _021F31C8: mov r4, #0x96 _021F31CA: mov r7, #0 b _021F3214 _021F31CE: mov r0, #0x14 str r0, [sp, #0x20] b _021F3214 _021F31D4: mov r2, #0x3d lsl r2, r2, #4 ldrb r3, [r6, r2] mov r2, #0xc0 ldr r1, _021F32C0 ; =0x021FF7C4 mul r2, r3 add r3, r6, r2 ldr r2, _021F32C4 ; =0x00002D60 ldr r4, _021F32C8 ; =0x0000FFFF ldr r2, [r3, r2] mov r0, #0 _021F31EA: ldrh r3, [r1] cmp r3, r2 bge _021F31FA add r1, r1, #4 ldrh r3, [r1] add r0, r0, #1 cmp r3, r4 bne _021F31EA _021F31FA: ldr r1, _021F32C0 ; =0x021FF7C4 lsl r0, r0, #2 ldrh r2, [r1, r0] ldr r1, _021F32C8 ; =0x0000FFFF cmp r2, r1 beq _021F320C ldr r1, _021F32CC ; =0x021FF7C6 ldrh r4, [r1, r0] b _021F3214 _021F320C: mov r4, #0x78 b _021F3214 _021F3210: mov r4, #0 add r7, r4, #0 _021F3214: ldr r0, [sp, #0x20] cmp r0, #0 bne _021F325E mov r0, #6 lsl r0, r0, #6 mov ip, r0 ldr r0, [r6, r0] ldr r3, [sp, #0x28] str r0, [sp] lsl r0, r4, #0x10 lsr r0, r0, #0x10 str r0, [sp, #4] lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] ldr r0, [sp, #0x64] lsl r3, r3, #2 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] mov r0, #0x3d lsl r0, r0, #4 ldrb r0, [r6, r0] add r4, r6, r3 mov r3, ip str r0, [sp, #0x10] mov r0, #1 str r0, [sp, #0x14] add r3, #0x3c ldr r0, [sp, #0x18] ldr r3, [r4, r3] add r1, r6, #0 add r2, r5, #0 bl MOD11_0224B310 str r0, [sp, #0x20] b _021F326A _021F325E: ldr r1, _021F32D0 ; =0x0000213C mov r0, #2 ldr r2, [r6, r1] lsl r0, r0, #0xa orr r0, r2 str r0, [r6, r1] _021F326A: ldr r0, [sp, #0x64] add r1, r6, #0 str r0, [sp] mov r0, #0x3d lsl r0, r0, #4 ldrb r0, [r6, r0] add r2, r5, #0 add r3, r7, #0 str r0, [sp, #4] ldr r0, [sp, #0x20] str r0, [sp, #8] add r0, sp, #0x48 str r0, [sp, #0xc] ldr r0, [sp, #0x18] bl MOD11_02246274 ldr r2, _021F32D0 ; =0x0000213C ldr r1, _021F32D4 ; =0xFFFFF7FF ldr r3, [r6, r2] and r1, r3 str r1, [r6, r2] ldr r2, [sp, #0x48] ldr r1, _021F32D8 ; =0x00140808 tst r1, r2 beq _021F32A2 add sp, #0x4c mov r0, #0 pop {r4, r5, r6, r7, pc} _021F32A2: add r1, sp, #0x70 ldrb r1, [r1] mul r1, r0 add r0, r1, #0 mov r1, #0x64 bl MOD11_022476C0 add sp, #0x4c pop {r4, r5, r6, r7, pc} .align 2, 0 _021F32B4: .word 0x000021F0 _021F32B8: .word 0x00002D74 _021F32BC: .word 0x00002D75 _021F32C0: .word MOD16_021FF7C4 _021F32C4: .word 0x00002D60 _021F32C8: .word 0x0000FFFF _021F32CC: .word MOD16_021FF7C6 _021F32D0: .word 0x0000213C _021F32D4: .word 0xFFFFF7FF _021F32D8: .word 0x00140808 thumb_func_end MOD16_021F2EE8 thumb_func_start MOD16_021F32DC MOD16_021F32DC: ; 0x021F32DC push {r3, r4, r5, r6, r7, lr} add r6, r2, #0 ldr r2, _021F3448 ; =0x00000137 add r7, r0, #0 add r4, r1, #0 cmp r3, r2 bgt _021F32F4 blt _021F32EE b _021F33F0 _021F32EE: cmp r3, #0xed beq _021F3396 b _021F3442 _021F32F4: add r0, r2, #0 add r0, #0x34 cmp r3, r0 bgt _021F3304 add r2, #0x34 cmp r3, r2 beq _021F330C b _021F3442 _021F3304: add r2, #0x8a cmp r3, r2 beq _021F3318 b _021F3442 _021F330C: add r0, r4, #0 add r1, r6, #0 bl MOD11_02249E04 add r5, r0, #0 b _021F3444 _021F3318: add r0, r4, #0 add r1, r6, #0 bl MOD11_02249D90 sub r0, #0x7d cmp r0, #0xf bhi _021F3392 add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021F3332: ; jump table .short _021F3372 - _021F3332 - 2 ; case 0 .short _021F3376 - _021F3332 - 2 ; case 1 .short _021F337E - _021F3332 - 2 ; case 2 .short _021F337A - _021F3332 - 2 ; case 3 .short _021F3386 - _021F3332 - 2 ; case 4 .short _021F3352 - _021F3332 - 2 ; case 5 .short _021F335A - _021F3332 - 2 ; case 6 .short _021F335E - _021F3332 - 2 ; case 7 .short _021F3356 - _021F3332 - 2 ; case 8 .short _021F3382 - _021F3332 - 2 ; case 9 .short _021F3366 - _021F3332 - 2 ; case 10 .short _021F3362 - _021F3332 - 2 ; case 11 .short _021F336A - _021F3332 - 2 ; case 12 .short _021F338A - _021F3332 - 2 ; case 13 .short _021F338E - _021F3332 - 2 ; case 14 .short _021F336E - _021F3332 - 2 ; case 15 _021F3352: mov r5, #1 b _021F3444 _021F3356: mov r5, #2 b _021F3444 _021F335A: mov r5, #3 b _021F3444 _021F335E: mov r5, #4 b _021F3444 _021F3362: mov r5, #5 b _021F3444 _021F3366: mov r5, #6 b _021F3444 _021F336A: mov r5, #7 b _021F3444 _021F336E: mov r5, #8 b _021F3444 _021F3372: mov r5, #0xa b _021F3444 _021F3376: mov r5, #0xb b _021F3444 _021F337A: mov r5, #0xc b _021F3444 _021F337E: mov r5, #0xd b _021F3444 _021F3382: mov r5, #0xe b _021F3444 _021F3386: mov r5, #0xf b _021F3444 _021F338A: mov r5, #0x10 b _021F3444 _021F338E: mov r5, #0x11 b _021F3444 _021F3392: mov r5, #0 b _021F3444 _021F3396: ldr r0, _021F344C ; =0x00002D54 add r1, r4, r0 mov r0, #0xc0 mul r0, r6 ldr r4, [r1, r0] lsl r0, r4, #2 lsr r0, r0, #0x1b lsl r0, r0, #0x1f lsr r5, r0, #0x1a lsl r0, r4, #7 lsr r0, r0, #0x1b lsl r0, r0, #0x1f lsr r3, r0, #0x1b lsl r0, r4, #0xc lsr r0, r0, #0x1b lsl r0, r0, #0x1f lsr r2, r0, #0x1c lsl r0, r4, #0x11 lsr r0, r0, #0x1b lsl r0, r0, #0x1f lsr r1, r0, #0x1d lsl r0, r4, #0x1b lsl r4, r4, #0x16 lsr r4, r4, #0x1b lsr r6, r0, #0x1b mov r0, #1 lsl r4, r4, #0x1f and r0, r6 lsr r4, r4, #0x1e orr r0, r4 orr r0, r1 orr r0, r2 orr r0, r3 add r1, r5, #0 orr r1, r0 mov r0, #0xf mul r0, r1 mov r1, #0x3f bl _s32_div_f add r5, r0, #1 cmp r5, #9 blt _021F3444 add r5, r5, #1 b _021F3444 _021F33F0: mov r2, #0xd str r2, [sp] mov r2, #8 mov r3, #0 bl MOD11_02246870 cmp r0, #0 bne _021F3444 mov r0, #0x4c str r0, [sp] add r0, r7, #0 add r1, r4, #0 mov r2, #8 mov r3, #0 bl MOD11_02246870 cmp r0, #0 bne _021F3444 mov r0, #6 lsl r0, r0, #6 ldr r0, [r4, r0] ldr r1, _021F3450 ; =0x000080FF tst r1, r0 beq _021F3444 mov r1, #3 tst r1, r0 beq _021F3428 mov r5, #0xb _021F3428: mov r1, #0xc tst r1, r0 beq _021F3430 mov r5, #5 _021F3430: mov r1, #0x30 tst r1, r0 beq _021F3438 mov r5, #0xa _021F3438: mov r1, #0xc0 tst r0, r1 beq _021F3444 mov r5, #0xf b _021F3444 _021F3442: mov r5, #0 _021F3444: add r0, r5, #0 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F3448: .word 0x00000137 _021F344C: .word 0x00002D54 _021F3450: .word 0x000080FF thumb_func_end MOD16_021F32DC thumb_func_start MOD16_021F3454 MOD16_021F3454: ; 0x021F3454 push {r4, r5, r6, r7, lr} sub sp, #0xc add r4, r2, #0 ldr r2, _021F360C ; =0x00000137 add r7, r0, #0 add r6, r1, #0 cmp r3, r2 bgt _021F346E blt _021F3468 b _021F35B2 _021F3468: cmp r3, #0xed beq _021F3530 b _021F3604 _021F346E: add r0, r2, #0 add r0, #0x34 cmp r3, r0 bgt _021F347E add r2, #0x34 cmp r3, r2 beq _021F3486 b _021F3604 _021F347E: add r2, #0x8a cmp r3, r2 beq _021F34A2 b _021F3604 _021F3486: add r0, r4, #0 mov r1, #6 mov r2, #0 bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 add r0, r6, #0 lsr r1, r1, #0x10 mov r2, #0xc bl MOD11_0224C12C add r5, r0, #0 b _021F3606 _021F34A2: add r0, r4, #0 mov r1, #6 mov r2, #0 bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 add r0, r6, #0 lsr r1, r1, #0x10 mov r2, #1 bl MOD11_0224C12C sub r0, #0x7d cmp r0, #0xf bhi _021F352C add r0, r0, r0 add r0, pc ldrh r0, [r0, #6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 _021F34CC: ; jump table .short _021F350C - _021F34CC - 2 ; case 0 .short _021F3510 - _021F34CC - 2 ; case 1 .short _021F3518 - _021F34CC - 2 ; case 2 .short _021F3514 - _021F34CC - 2 ; case 3 .short _021F3520 - _021F34CC - 2 ; case 4 .short _021F34EC - _021F34CC - 2 ; case 5 .short _021F34F4 - _021F34CC - 2 ; case 6 .short _021F34F8 - _021F34CC - 2 ; case 7 .short _021F34F0 - _021F34CC - 2 ; case 8 .short _021F351C - _021F34CC - 2 ; case 9 .short _021F3500 - _021F34CC - 2 ; case 10 .short _021F34FC - _021F34CC - 2 ; case 11 .short _021F3504 - _021F34CC - 2 ; case 12 .short _021F3524 - _021F34CC - 2 ; case 13 .short _021F3528 - _021F34CC - 2 ; case 14 .short _021F3508 - _021F34CC - 2 ; case 15 _021F34EC: mov r5, #1 b _021F3606 _021F34F0: mov r5, #2 b _021F3606 _021F34F4: mov r5, #3 b _021F3606 _021F34F8: mov r5, #4 b _021F3606 _021F34FC: mov r5, #5 b _021F3606 _021F3500: mov r5, #6 b _021F3606 _021F3504: mov r5, #7 b _021F3606 _021F3508: mov r5, #8 b _021F3606 _021F350C: mov r5, #0xa b _021F3606 _021F3510: mov r5, #0xb b _021F3606 _021F3514: mov r5, #0xc b _021F3606 _021F3518: mov r5, #0xd b _021F3606 _021F351C: mov r5, #0xe b _021F3606 _021F3520: mov r5, #0xf b _021F3606 _021F3524: mov r5, #0x10 b _021F3606 _021F3528: mov r5, #0x11 b _021F3606 _021F352C: mov r5, #0 b _021F3606 _021F3530: add r0, r4, #0 mov r1, #0x4b mov r2, #0 bl GetMonData add r5, r0, #0 add r0, r4, #0 mov r1, #0x4a mov r2, #0 bl GetMonData add r6, r0, #0 add r0, r4, #0 mov r1, #0x49 mov r2, #0 bl GetMonData add r7, r0, #0 add r0, r4, #0 mov r1, #0x48 mov r2, #0 bl GetMonData str r0, [sp, #4] add r0, r4, #0 mov r1, #0x46 mov r2, #0 bl GetMonData str r0, [sp, #8] add r0, r4, #0 mov r1, #0x47 mov r2, #0 bl GetMonData add r1, r0, #0 lsl r2, r6, #0x1f lsl r0, r5, #0x1f lsr r5, r2, #0x1b lsl r2, r7, #0x1f lsr r4, r2, #0x1c ldr r2, [sp, #4] lsl r1, r1, #0x1f lsl r2, r2, #0x1f lsr r3, r2, #0x1d ldr r2, [sp, #8] mov r6, #1 and r2, r6 lsr r1, r1, #0x1e orr r1, r2 orr r1, r3 orr r1, r4 lsr r0, r0, #0x1a orr r1, r5 orr r1, r0 mov r0, #0xf mul r0, r1 mov r1, #0x3f bl _s32_div_f add r5, r0, #1 cmp r5, #9 blt _021F3606 add r5, r5, #1 b _021F3606 _021F35B2: mov r2, #0xd str r2, [sp] mov r2, #8 mov r3, #0 bl MOD11_02246870 cmp r0, #0 bne _021F3606 mov r0, #0x4c str r0, [sp] add r0, r7, #0 add r1, r6, #0 mov r2, #8 mov r3, #0 bl MOD11_02246870 cmp r0, #0 bne _021F3606 mov r0, #6 lsl r0, r0, #6 ldr r0, [r6, r0] ldr r1, _021F3610 ; =0x000080FF tst r1, r0 beq _021F3606 mov r1, #3 tst r1, r0 beq _021F35EA mov r5, #0xb _021F35EA: mov r1, #0xc tst r1, r0 beq _021F35F2 mov r5, #5 _021F35F2: mov r1, #0x30 tst r1, r0 beq _021F35FA mov r5, #0xa _021F35FA: mov r1, #0xc0 tst r0, r1 beq _021F3606 mov r5, #0xf b _021F3606 _021F3604: mov r5, #0 _021F3606: add r0, r5, #0 add sp, #0xc pop {r4, r5, r6, r7, pc} .align 2, 0 _021F360C: .word 0x00000137 _021F3610: .word 0x000080FF thumb_func_end MOD16_021F3454 thumb_func_start MOD16_021F3614 MOD16_021F3614: ; 0x021F3614 push {r4, r5} mov r2, #0xc0 mul r2, r1 add r5, r0, r2 mov r2, #0xb7 lsl r2, r2, #6 ldr r4, [r5, r2] mov r3, #0x20 tst r3, r4 beq _021F3640 add r2, #8 ldr r2, [r5, r2] lsl r2, r2, #0x11 lsr r2, r2, #0x1e bne _021F3640 add r1, r0, r1 ldr r0, _021F3648 ; =0x000021A4 mov r2, #6 strb r2, [r1, r0] mov r0, #1 pop {r4, r5} bx lr _021F3640: mov r0, #0 pop {r4, r5} bx lr nop _021F3648: .word 0x000021A4 thumb_func_end MOD16_021F3614 thumb_func_start MOD16_021F364C MOD16_021F364C: ; 0x021F364C push {r4, r5, r6, r7, lr} sub sp, #0x44 str r0, [sp, #0x14] add r5, r1, #0 str r2, [sp, #0x18] bl MOD11_0222FF74 mov r1, #2 tst r0, r1 beq _021F3666 add sp, #0x44 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F3666: ldr r0, [sp, #0x18] mov r1, #1 add r4, r0, #0 eor r4, r1 mov r1, #0xc0 add r0, r4, #0 mul r0, r1 add r2, r5, r0 ldr r0, _021F37FC ; =0x00002D67 ldrb r0, [r2, r0] cmp r0, #0x19 bne _021F36E4 mov r0, #0 str r0, [sp, #0x28] ldr r0, [sp, #0x18] mul r1, r0 add r6, r5, r1 _021F3688: ldr r0, _021F3800 ; =0x00002D4C ldr r2, [sp, #0x18] ldrh r7, [r6, r0] ldr r0, [sp, #0x14] add r1, r5, #0 add r3, r7, #0 bl MOD16_021F32DC add r3, r0, #0 cmp r7, #0 beq _021F36C8 mov r0, #0 str r0, [sp, #0x40] ldr r0, [sp, #0x18] add r1, r5, #0 str r0, [sp] str r4, [sp, #4] mov r0, #0 str r0, [sp, #8] add r0, sp, #0x40 str r0, [sp, #0xc] ldr r0, [sp, #0x14] add r2, r7, #0 bl MOD11_02246274 ldr r1, [sp, #0x40] mov r0, #2 tst r0, r1 beq _021F36C8 add sp, #0x44 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F36C8: ldr r0, [sp, #0x28] add r6, r6, #2 add r0, r0, #1 str r0, [sp, #0x28] cmp r0, #4 blt _021F3688 mov r0, #0 str r0, [sp, #0x20] ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] bl MOD11_0222FFC8 cmp r0, #0 bgt _021F36E6 _021F36E4: b _021F37F4 _021F36E6: ldr r0, [sp, #0x18] add r0, r5, r0 str r0, [sp, #0x24] _021F36EC: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] ldr r2, [sp, #0x20] bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 add r6, r0, #0 bl GetMonData cmp r0, #0 beq _021F37DE add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F37DE add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F3804 ; =0x000001EE cmp r0, r1 beq _021F37DE ldr r1, _021F3808 ; =0x0000219C ldr r0, [sp, #0x24] ldrb r1, [r0, r1] ldr r0, [sp, #0x20] cmp r0, r1 beq _021F37DE mov r7, #0 _021F3730: add r1, r7, #0 add r0, r6, #0 add r1, #0x36 mov r2, #0 bl GetMonData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x1c] ldr r0, [sp, #0x14] ldr r3, [sp, #0x1c] add r1, r5, #0 add r2, r6, #0 bl MOD16_021F3454 str r0, [sp, #0x2c] ldr r0, [sp, #0x1c] cmp r0, #0 beq _021F37D8 mov r0, #0 str r0, [sp, #0x40] add r0, r6, #0 mov r1, #0xa mov r2, #0 bl GetMonData str r0, [sp, #0x30] add r0, r5, #0 add r1, r4, #0 bl MOD11_02246D1C str r0, [sp, #0x34] add r0, r5, #0 add r1, r4, #0 bl MOD11_02249D90 str r0, [sp, #0x38] add r0, r5, #0 add r1, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 str r0, [sp, #0x3c] add r0, r5, #0 add r1, r4, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 ldr r1, [sp, #0x34] ldr r2, [sp, #0x2c] str r1, [sp] ldr r1, [sp, #0x38] ldr r3, [sp, #0x30] str r1, [sp, #4] ldr r1, [sp, #0x3c] str r1, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0x40 str r0, [sp, #0x10] ldr r1, [sp, #0x1c] add r0, r5, #0 bl MOD11_022465A0 ldr r1, [sp, #0x40] mov r0, #2 tst r0, r1 beq _021F37D8 bl LCRandom mov r1, #3 bl _s32_div_f cmp r1, #2 bge _021F37D8 ldr r0, [sp, #0x18] ldr r1, _021F380C ; =0x000021A4 add r2, r5, r0 ldr r0, [sp, #0x20] add sp, #0x44 strb r0, [r2, r1] mov r0, #1 pop {r4, r5, r6, r7, pc} _021F37D8: add r7, r7, #1 cmp r7, #4 blt _021F3730 _021F37DE: ldr r0, [sp, #0x20] ldr r1, [sp, #0x18] add r0, r0, #1 str r0, [sp, #0x20] ldr r0, [sp, #0x14] bl MOD11_0222FFC8 ldr r1, [sp, #0x20] cmp r1, r0 bge _021F37F4 b _021F36EC _021F37F4: mov r0, #0 add sp, #0x44 pop {r4, r5, r6, r7, pc} nop _021F37FC: .word 0x00002D67 _021F3800: .word 0x00002D4C _021F3804: .word 0x000001EE _021F3808: .word 0x0000219C _021F380C: .word 0x000021A4 thumb_func_end MOD16_021F364C thumb_func_start MOD16_021F3810 MOD16_021F3810: ; 0x021F3810 push {r4, r5, r6, r7, lr} sub sp, #0xb4 str r0, [sp, #0x14] add r5, r1, #0 str r2, [sp, #0x18] bl MOD11_0222FF74 mov r4, #2 tst r0, r4 beq _021F3828 mov r6, #0 b _021F382C _021F3828: mov r6, #0 add r4, r6, #0 _021F382C: mov r0, #0 str r0, [sp, #0x54] str r0, [sp, #0x6c] ldr r0, [sp, #0x18] mov r1, #0xc0 add r2, r0, #0 mul r2, r1 add r0, r5, r2 str r0, [sp, #0x3c] add r0, r6, #0 mul r0, r1 add r0, r5, r0 str r0, [sp, #0x38] add r0, r4, #0 mul r0, r1 add r0, r5, r0 str r0, [sp, #0x34] _021F384E: ldr r1, [sp, #0x3c] ldr r0, _021F3B78 ; =0x00002D4C ldr r2, [sp, #0x18] ldrh r7, [r1, r0] ldr r0, [sp, #0x14] add r1, r5, #0 add r3, r7, #0 bl MOD16_021F32DC str r0, [sp, #0x5c] cmp r7, #0 beq _021F38E4 lsl r0, r7, #4 add r1, r5, r0 ldr r0, _021F3B7C ; =0x000003E1 ldrb r0, [r1, r0] cmp r0, #0 beq _021F38E4 ldr r0, [sp, #0x54] ldr r1, [sp, #0x38] add r0, r0, #1 str r0, [sp, #0x54] mov r0, #0 str r0, [sp, #0xb0] ldr r0, _021F3B80 ; =0x00002D8C ldr r0, [r1, r0] cmp r0, #0 beq _021F38A0 ldr r0, [sp, #0x18] ldr r3, [sp, #0x5c] str r0, [sp] str r6, [sp, #4] mov r0, #0 str r0, [sp, #8] add r0, sp, #0xb0 str r0, [sp, #0xc] ldr r0, [sp, #0x14] add r1, r5, #0 add r2, r7, #0 bl MOD11_02246274 _021F38A0: ldr r1, [sp, #0xb0] mov r0, #8 tst r0, r1 bne _021F38AE add sp, #0xb4 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F38AE: mov r0, #0 str r0, [sp, #0xb0] ldr r1, [sp, #0x34] ldr r0, _021F3B80 ; =0x00002D8C ldr r0, [r1, r0] cmp r0, #0 beq _021F38D6 ldr r0, [sp, #0x18] ldr r3, [sp, #0x5c] str r0, [sp] str r4, [sp, #4] mov r0, #0 str r0, [sp, #8] add r0, sp, #0xb0 str r0, [sp, #0xc] ldr r0, [sp, #0x14] add r1, r5, #0 add r2, r7, #0 bl MOD11_02246274 _021F38D6: ldr r1, [sp, #0xb0] mov r0, #8 tst r0, r1 bne _021F38E4 add sp, #0xb4 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F38E4: ldr r0, [sp, #0x3c] add r0, r0, #2 str r0, [sp, #0x3c] ldr r0, [sp, #0x6c] add r0, r0, #1 str r0, [sp, #0x6c] cmp r0, #4 blt _021F384E ldr r0, [sp, #0x54] cmp r0, #2 bge _021F3900 add sp, #0xb4 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F3900: ldr r0, [sp, #0x18] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x64] ldr r0, [sp, #0x14] bl MOD11_0222FF74 mov r1, #0x10 tst r0, r1 bne _021F3920 ldr r0, [sp, #0x14] bl MOD11_0222FF74 mov r1, #8 tst r0, r1 beq _021F3926 _021F3920: ldr r0, [sp, #0x64] str r0, [sp, #0x60] b _021F3934 _021F3926: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] bl MOD11_022302BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x60] _021F3934: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] bl MOD11_0222FFC8 str r0, [sp, #0x58] mov r0, #0 str r0, [sp, #0x2c] ldr r0, [sp, #0x58] cmp r0, #0 bgt _021F394A b _021F3B24 _021F394A: ldr r0, [sp, #0x64] add r0, r5, r0 str r0, [sp, #0x44] ldr r0, [sp, #0x60] add r0, r5, r0 str r0, [sp, #0x40] _021F3956: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] ldr r2, [sp, #0x2c] bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 str r0, [sp, #0x50] bl GetMonData cmp r0, #0 beq _021F39BC ldr r0, [sp, #0x50] mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F39BC ldr r0, [sp, #0x50] mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F3B84 ; =0x000001EE cmp r0, r1 beq _021F39BC ldr r0, _021F3B88 ; =0x0000219C ldr r1, [sp, #0x44] ldrb r2, [r1, r0] ldr r1, [sp, #0x2c] cmp r1, r2 beq _021F39BC ldr r1, [sp, #0x40] ldrb r2, [r1, r0] ldr r1, [sp, #0x2c] cmp r1, r2 beq _021F39BC add r2, r0, #0 ldr r1, [sp, #0x44] add r2, #8 ldrb r2, [r1, r2] ldr r1, [sp, #0x2c] cmp r1, r2 beq _021F39BC ldr r1, [sp, #0x40] add r0, #8 ldrb r1, [r1, r0] ldr r0, [sp, #0x2c] cmp r0, r1 bne _021F39BE _021F39BC: b _021F3B16 _021F39BE: mov r0, #0 str r0, [sp, #0x68] _021F39C2: ldr r1, [sp, #0x68] ldr r0, [sp, #0x50] add r1, #0x36 mov r2, #0 bl GetMonData lsl r0, r0, #0x10 lsr r7, r0, #0x10 ldr r0, [sp, #0x14] ldr r2, [sp, #0x50] add r1, r5, #0 add r3, r7, #0 bl MOD16_021F3454 str r0, [sp, #0x24] cmp r7, #0 beq _021F39F0 lsl r0, r7, #4 add r1, r5, r0 ldr r0, _021F3B7C ; =0x000003E1 ldrb r0, [r1, r0] cmp r0, #0 bne _021F39F2 _021F39F0: b _021F3B0A _021F39F2: mov r0, #0 str r0, [sp, #0xb0] ldr r1, [sp, #0x38] ldr r0, _021F3B80 ; =0x00002D8C ldr r0, [r1, r0] cmp r0, #0 beq _021F3A58 ldr r0, [sp, #0x50] mov r1, #0xa mov r2, #0 bl GetMonData str r0, [sp, #0x70] add r0, r5, #0 add r1, r6, #0 bl MOD11_02246D1C str r0, [sp, #0x74] add r0, r5, #0 add r1, r6, #0 bl MOD11_02249D90 str r0, [sp, #0x78] add r0, r5, #0 add r1, r6, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 str r0, [sp, #0x7c] add r0, r5, #0 add r1, r6, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 ldr r1, [sp, #0x74] ldr r2, [sp, #0x24] str r1, [sp] ldr r1, [sp, #0x78] ldr r3, [sp, #0x70] str r1, [sp, #4] ldr r1, [sp, #0x7c] str r1, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0xb0 str r0, [sp, #0x10] add r0, r5, #0 add r1, r7, #0 bl MOD11_022465A0 _021F3A58: ldr r1, [sp, #0xb0] mov r0, #2 tst r0, r1 beq _021F3A7E bl LCRandom mov r1, #3 bl _s32_div_f cmp r1, #2 bge _021F3A7E ldr r0, [sp, #0x18] ldr r1, _021F3B8C ; =0x000021A4 add r2, r5, r0 ldr r0, [sp, #0x2c] add sp, #0xb4 strb r0, [r2, r1] mov r0, #1 pop {r4, r5, r6, r7, pc} _021F3A7E: mov r0, #0 str r0, [sp, #0xb0] ldr r1, [sp, #0x34] ldr r0, _021F3B80 ; =0x00002D8C ldr r0, [r1, r0] cmp r0, #0 beq _021F3AE4 ldr r0, [sp, #0x50] mov r1, #0xa mov r2, #0 bl GetMonData str r0, [sp, #0x80] add r0, r5, #0 add r1, r4, #0 bl MOD11_02246D1C str r0, [sp, #0x84] add r0, r5, #0 add r1, r4, #0 bl MOD11_02249D90 str r0, [sp, #0x88] add r0, r5, #0 add r1, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 str r0, [sp, #0x8c] add r0, r5, #0 add r1, r4, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 ldr r1, [sp, #0x84] ldr r2, [sp, #0x24] str r1, [sp] ldr r1, [sp, #0x88] ldr r3, [sp, #0x80] str r1, [sp, #4] ldr r1, [sp, #0x8c] str r1, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0xb0 str r0, [sp, #0x10] add r0, r5, #0 add r1, r7, #0 bl MOD11_022465A0 _021F3AE4: ldr r1, [sp, #0xb0] mov r0, #2 tst r0, r1 beq _021F3B0A bl LCRandom mov r1, #3 bl _s32_div_f cmp r1, #2 bge _021F3B0A ldr r0, [sp, #0x18] ldr r1, _021F3B8C ; =0x000021A4 add r2, r5, r0 ldr r0, [sp, #0x2c] add sp, #0xb4 strb r0, [r2, r1] mov r0, #1 pop {r4, r5, r6, r7, pc} _021F3B0A: ldr r0, [sp, #0x68] add r0, r0, #1 str r0, [sp, #0x68] cmp r0, #4 bge _021F3B16 b _021F39C2 _021F3B16: ldr r0, [sp, #0x2c] add r1, r0, #1 ldr r0, [sp, #0x58] str r1, [sp, #0x2c] cmp r1, r0 bge _021F3B24 b _021F3956 _021F3B24: mov r0, #0 str r0, [sp, #0x30] ldr r0, [sp, #0x58] cmp r0, #0 bgt _021F3B30 b _021F3D2A _021F3B30: ldr r0, [sp, #0x64] add r0, r5, r0 str r0, [sp, #0x4c] ldr r0, [sp, #0x60] add r0, r5, r0 str r0, [sp, #0x48] _021F3B3C: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] ldr r2, [sp, #0x30] bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 str r0, [sp, #0x20] bl GetMonData cmp r0, #0 beq _021F3BBE ldr r0, [sp, #0x20] mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F3BBE ldr r0, [sp, #0x20] mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F3B84 ; =0x000001EE cmp r0, r1 beq _021F3BBE ldr r0, _021F3B88 ; =0x0000219C b _021F3B90 nop _021F3B78: .word 0x00002D4C _021F3B7C: .word 0x000003E1 _021F3B80: .word 0x00002D8C _021F3B84: .word 0x000001EE _021F3B88: .word 0x0000219C _021F3B8C: .word 0x000021A4 _021F3B90: ldr r1, [sp, #0x4c] ldrb r2, [r1, r0] ldr r1, [sp, #0x30] cmp r1, r2 beq _021F3BBE ldr r1, [sp, #0x48] ldrb r2, [r1, r0] ldr r1, [sp, #0x30] cmp r1, r2 beq _021F3BBE add r2, r0, #0 ldr r1, [sp, #0x4c] add r2, #8 ldrb r2, [r1, r2] ldr r1, [sp, #0x30] cmp r1, r2 beq _021F3BBE ldr r1, [sp, #0x48] add r0, #8 ldrb r1, [r1, r0] ldr r0, [sp, #0x30] cmp r0, r1 bne _021F3BC0 _021F3BBE: b _021F3D1C _021F3BC0: mov r0, #0 str r0, [sp, #0x1c] _021F3BC4: ldr r1, [sp, #0x1c] ldr r0, [sp, #0x20] add r1, #0x36 mov r2, #0 bl GetMonData lsl r0, r0, #0x10 lsr r7, r0, #0x10 ldr r0, [sp, #0x14] ldr r2, [sp, #0x20] add r1, r5, #0 add r3, r7, #0 bl MOD16_021F3454 str r0, [sp, #0x28] cmp r7, #0 beq _021F3BF2 lsl r0, r7, #4 add r1, r5, r0 ldr r0, _021F3D30 ; =0x000003E1 ldrb r0, [r1, r0] cmp r0, #0 bne _021F3BF4 _021F3BF2: b _021F3D10 _021F3BF4: mov r0, #0 str r0, [sp, #0xb0] ldr r1, [sp, #0x38] ldr r0, _021F3D34 ; =0x00002D8C ldr r0, [r1, r0] cmp r0, #0 beq _021F3C5A ldr r0, [sp, #0x20] mov r1, #0xa mov r2, #0 bl GetMonData str r0, [sp, #0x90] add r0, r5, #0 add r1, r6, #0 bl MOD11_02246D1C str r0, [sp, #0x94] add r0, r5, #0 add r1, r6, #0 bl MOD11_02249D90 str r0, [sp, #0x98] add r0, r5, #0 add r1, r6, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 str r0, [sp, #0x9c] add r0, r5, #0 add r1, r6, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 ldr r1, [sp, #0x94] ldr r2, [sp, #0x28] str r1, [sp] ldr r1, [sp, #0x98] ldr r3, [sp, #0x90] str r1, [sp, #4] ldr r1, [sp, #0x9c] str r1, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0xb0 str r0, [sp, #0x10] add r0, r5, #0 add r1, r7, #0 bl MOD11_022465A0 _021F3C5A: ldr r0, [sp, #0xb0] cmp r0, #0 bne _021F3C82 bl LCRandom lsr r1, r0, #0x1f lsl r2, r0, #0x1f sub r2, r2, r1 mov r0, #0x1f ror r2, r0 add r0, r1, r2 bne _021F3C82 ldr r0, [sp, #0x18] ldr r1, _021F3D38 ; =0x000021A4 add r2, r5, r0 ldr r0, [sp, #0x30] add sp, #0xb4 strb r0, [r2, r1] mov r0, #1 pop {r4, r5, r6, r7, pc} _021F3C82: mov r0, #0 str r0, [sp, #0xb0] ldr r1, [sp, #0x34] ldr r0, _021F3D34 ; =0x00002D8C ldr r0, [r1, r0] cmp r0, #0 beq _021F3CE8 ldr r0, [sp, #0x20] mov r1, #0xa mov r2, #0 bl GetMonData str r0, [sp, #0xa0] add r0, r5, #0 add r1, r4, #0 bl MOD11_02246D1C str r0, [sp, #0xa4] add r0, r5, #0 add r1, r4, #0 bl MOD11_02249D90 str r0, [sp, #0xa8] add r0, r5, #0 add r1, r4, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 str r0, [sp, #0xac] add r0, r5, #0 add r1, r4, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 ldr r1, [sp, #0xa4] ldr r2, [sp, #0x28] str r1, [sp] ldr r1, [sp, #0xa8] ldr r3, [sp, #0xa0] str r1, [sp, #4] ldr r1, [sp, #0xac] str r1, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0xb0 str r0, [sp, #0x10] add r0, r5, #0 add r1, r7, #0 bl MOD11_022465A0 _021F3CE8: ldr r0, [sp, #0xb0] cmp r0, #0 bne _021F3D10 bl LCRandom lsr r2, r0, #0x1f lsl r1, r0, #0x1f sub r1, r1, r2 mov r0, #0x1f ror r1, r0 add r0, r2, r1 bne _021F3D10 ldr r0, [sp, #0x18] ldr r1, _021F3D38 ; =0x000021A4 add r2, r5, r0 ldr r0, [sp, #0x30] add sp, #0xb4 strb r0, [r2, r1] mov r0, #1 pop {r4, r5, r6, r7, pc} _021F3D10: ldr r0, [sp, #0x1c] add r0, r0, #1 str r0, [sp, #0x1c] cmp r0, #4 bge _021F3D1C b _021F3BC4 _021F3D1C: ldr r0, [sp, #0x30] add r1, r0, #1 ldr r0, [sp, #0x58] str r1, [sp, #0x30] cmp r1, r0 bge _021F3D2A b _021F3B3C _021F3D2A: mov r0, #0 add sp, #0xb4 pop {r4, r5, r6, r7, pc} .align 2, 0 _021F3D30: .word 0x000003E1 _021F3D34: .word 0x00002D8C _021F3D38: .word 0x000021A4 thumb_func_end MOD16_021F3810 thumb_func_start MOD16_021F3D3C MOD16_021F3D3C: ; 0x021F3D3C push {r3, r4, r5, r6, r7, lr} sub sp, #0x30 add r4, r2, #0 add r5, r1, #0 add r1, r4, #0 add r6, r0, #0 str r3, [sp, #0x10] bl MOD11_02230260 mov r1, #1 eor r0, r1 lsl r0, r0, #0x18 lsr r1, r0, #0x18 add r0, r6, #0 bl MOD11_0223022C lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x24] bl MaskOfFlagNo ldr r1, _021F3E88 ; =0x00003108 ldrb r1, [r5, r1] tst r0, r1 bne _021F3DE2 mov r0, #0 str r0, [sp, #0x28] mov r0, #0xc0 mul r0, r4 add r7, r5, r0 _021F3D78: ldr r0, _021F3E8C ; =0x00002D4C add r1, r5, #0 ldrh r0, [r7, r0] add r2, r4, #0 str r0, [sp, #0x20] ldr r3, [sp, #0x20] add r0, r6, #0 bl MOD16_021F32DC add r3, r0, #0 ldr r0, [sp, #0x20] cmp r0, #0 beq _021F3DD6 mov r0, #0 str r0, [sp, #0x2c] ldr r0, [sp, #0x24] str r4, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] add r0, sp, #0x2c str r0, [sp, #0xc] ldr r2, [sp, #0x20] add r0, r6, #0 add r1, r5, #0 bl MOD11_02246274 ldr r1, [sp, #0x2c] mov r0, #2 tst r0, r1 beq _021F3DD6 ldr r0, [sp, #0x10] cmp r0, #0 beq _021F3DC2 add sp, #0x30 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F3DC2: bl LCRandom mov r1, #0xa bl _s32_div_f cmp r1, #0 beq _021F3DD6 add sp, #0x30 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F3DD6: ldr r0, [sp, #0x28] add r7, r7, #2 add r0, r0, #1 str r0, [sp, #0x28] cmp r0, #4 blt _021F3D78 _021F3DE2: add r0, r6, #0 bl MOD11_0222FF74 mov r1, #2 tst r0, r1 bne _021F3DF4 add sp, #0x30 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F3DF4: ldr r1, [sp, #0x24] add r0, r6, #0 bl MOD11_022302BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x1c] bl MaskOfFlagNo ldr r1, _021F3E88 ; =0x00003108 ldrb r1, [r5, r1] tst r0, r1 bne _021F3E82 mov r0, #0 str r0, [sp, #0x18] mov r0, #0xc0 mul r0, r4 add r7, r5, r0 _021F3E18: ldr r0, _021F3E8C ; =0x00002D4C add r1, r5, #0 ldrh r0, [r7, r0] add r2, r4, #0 str r0, [sp, #0x14] ldr r3, [sp, #0x14] add r0, r6, #0 bl MOD16_021F32DC add r3, r0, #0 ldr r0, [sp, #0x14] cmp r0, #0 beq _021F3E76 mov r0, #0 str r0, [sp, #0x2c] ldr r0, [sp, #0x1c] str r4, [sp] str r0, [sp, #4] mov r0, #0 str r0, [sp, #8] add r0, sp, #0x2c str r0, [sp, #0xc] ldr r2, [sp, #0x14] add r0, r6, #0 add r1, r5, #0 bl MOD11_02246274 ldr r1, [sp, #0x2c] mov r0, #2 tst r0, r1 beq _021F3E76 ldr r0, [sp, #0x10] cmp r0, #0 beq _021F3E62 add sp, #0x30 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F3E62: bl LCRandom mov r1, #0xa bl _s32_div_f cmp r1, #0 beq _021F3E76 add sp, #0x30 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F3E76: ldr r0, [sp, #0x18] add r7, r7, #2 add r0, r0, #1 str r0, [sp, #0x18] cmp r0, #4 blt _021F3E18 _021F3E82: mov r0, #0 add sp, #0x30 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F3E88: .word 0x00003108 _021F3E8C: .word 0x00002D4C thumb_func_end MOD16_021F3D3C thumb_func_start MOD16_021F3E90 MOD16_021F3E90: ; 0x021F3E90 push {r4, r5, r6, r7, lr} sub sp, #0x14 mov r3, #1 str r0, [sp] str r1, [sp, #4] str r2, [sp, #8] bl MOD16_021F3D3C cmp r0, #0 beq _021F3EB8 bl LCRandom mov r1, #3 bl _s32_div_f cmp r1, #0 beq _021F3EB8 add sp, #0x14 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F3EB8: ldr r0, [sp, #8] lsl r1, r0, #1 ldr r0, [sp, #4] add r1, r0, r1 ldr r0, _021F3FF4 ; =0x00003064 ldrh r0, [r1, r0] cmp r0, #0 bne _021F3ECE add sp, #0x14 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F3ECE: lsl r1, r0, #4 ldr r0, [sp, #4] add r2, r0, r1 ldr r0, _021F3FF8 ; =0x000003E1 ldrb r1, [r2, r0] cmp r1, #0 bne _021F3EE2 add sp, #0x14 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F3EE2: add r0, r0, #1 ldrb r0, [r2, r0] cmp r0, #0xa bne _021F3EF0 mov r0, #0x12 str r0, [sp, #0x10] b _021F3F0A _021F3EF0: cmp r0, #0xb bne _021F3EFA mov r0, #0xb str r0, [sp, #0x10] b _021F3F0A _021F3EFA: cmp r0, #0xd bne _021F3F04 mov r0, #0xa str r0, [sp, #0x10] b _021F3F0A _021F3F04: add sp, #0x14 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F3F0A: ldr r0, [sp, #4] ldr r1, [sp, #8] bl MOD11_02246D1C ldr r1, [sp, #0x10] cmp r1, r0 bne _021F3F1E add sp, #0x14 mov r0, #0 pop {r4, r5, r6, r7, pc} _021F3F1E: ldr r0, [sp, #8] lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, [sp] bl MOD11_0222FF74 mov r1, #0x10 tst r0, r1 bne _021F3F3C ldr r0, [sp] bl MOD11_0222FF74 mov r1, #8 tst r0, r1 beq _021F3F40 _021F3F3C: add r6, r4, #0 b _021F3F4C _021F3F40: ldr r0, [sp] ldr r1, [sp, #8] bl MOD11_022302BC lsl r0, r0, #0x18 lsr r6, r0, #0x18 _021F3F4C: ldr r0, [sp] ldr r1, [sp, #8] bl MOD11_0222FFC8 mov r5, #0 str r0, [sp, #0xc] cmp r0, #0 ble _021F3FEE ldr r0, [sp, #4] add r7, r0, r4 add r6, r0, r6 _021F3F62: ldr r0, [sp] ldr r1, [sp, #8] add r2, r5, #0 bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 add r4, r0, #0 bl GetMonData cmp r0, #0 beq _021F3FE6 add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F3FE6 add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F3FFC ; =0x000001EE cmp r0, r1 beq _021F3FE6 ldr r0, _021F4000 ; =0x0000219C ldrb r0, [r7, r0] cmp r5, r0 beq _021F3FE6 ldr r0, _021F4000 ; =0x0000219C ldrb r0, [r6, r0] cmp r5, r0 beq _021F3FE6 ldr r0, _021F4004 ; =0x000021A4 ldrb r0, [r7, r0] cmp r5, r0 beq _021F3FE6 ldr r0, _021F4004 ; =0x000021A4 ldrb r0, [r6, r0] cmp r5, r0 beq _021F3FE6 add r0, r4, #0 mov r1, #0xa mov r2, #0 bl GetMonData lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #0x10] cmp r0, r1 bne _021F3FE6 bl LCRandom mov r1, #1 tst r0, r1 beq _021F3FE6 ldr r1, [sp, #4] ldr r0, [sp, #8] add sp, #0x14 add r1, r1, r0 ldr r0, _021F4004 ; =0x000021A4 strb r5, [r1, r0] mov r0, #1 pop {r4, r5, r6, r7, pc} _021F3FE6: ldr r0, [sp, #0xc] add r5, r5, #1 cmp r5, r0 blt _021F3F62 _021F3FEE: mov r0, #0 add sp, #0x14 pop {r4, r5, r6, r7, pc} .align 2, 0 _021F3FF4: .word 0x00003064 _021F3FF8: .word 0x000003E1 _021F3FFC: .word 0x000001EE _021F4000: .word 0x0000219C _021F4004: .word 0x000021A4 thumb_func_end MOD16_021F3E90 thumb_func_start MOD16_021F4008 MOD16_021F4008: ; 0x021F4008 push {r3, r4, r5, r6, r7, lr} sub sp, #0x60 add r5, r1, #0 add r1, r2, #0 lsl r6, r1, #1 str r3, [sp, #0x1c] ldr r1, _021F424C ; =0x00003064 add r3, r5, r6 str r2, [sp, #0x18] ldrh r2, [r3, r1] str r0, [sp, #0x14] cmp r2, #0 beq _021F402A add r1, #8 ldrh r1, [r3, r1] cmp r1, #0xff bne _021F4030 _021F402A: add sp, #0x60 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F4030: lsl r1, r2, #4 add r2, r5, r1 ldr r1, _021F4250 ; =0x000003E1 ldrb r1, [r2, r1] cmp r1, #0 bne _021F4042 add sp, #0x60 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F4042: ldr r1, [sp, #0x18] lsl r1, r1, #0x18 lsr r4, r1, #0x18 bl MOD11_0222FF74 mov r1, #0x10 tst r0, r1 bne _021F405E ldr r0, [sp, #0x14] bl MOD11_0222FF74 mov r1, #8 tst r0, r1 beq _021F4062 _021F405E: add r7, r4, #0 b _021F406E _021F4062: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] bl MOD11_022302BC lsl r0, r0, #0x18 lsr r7, r0, #0x18 _021F406E: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] bl MOD11_0222FFC8 str r0, [sp, #0x30] mov r0, #0 str r0, [sp, #0x34] ldr r0, [sp, #0x30] cmp r0, #0 bgt _021F4084 b _021F4246 _021F4084: add r0, r5, r4 str r0, [sp, #0x2c] add r0, r5, r7 str r0, [sp, #0x28] add r0, sp, #0x68 ldrb r0, [r0, #0x10] add r4, r5, r6 str r0, [sp, #0x24] _021F4094: ldr r0, [sp, #0x14] ldr r1, [sp, #0x18] ldr r2, [sp, #0x34] bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 add r6, r0, #0 bl GetMonData cmp r0, #0 beq _021F40FA add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F40FA add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F4254 ; =0x000001EE cmp r0, r1 beq _021F40FA ldr r0, _021F4258 ; =0x0000219C ldr r1, [sp, #0x2c] ldrb r2, [r1, r0] ldr r1, [sp, #0x34] cmp r1, r2 beq _021F40FA ldr r1, [sp, #0x28] ldrb r2, [r1, r0] ldr r1, [sp, #0x34] cmp r1, r2 beq _021F40FA add r2, r0, #0 ldr r1, [sp, #0x2c] add r2, #8 ldrb r2, [r1, r2] ldr r1, [sp, #0x34] cmp r1, r2 beq _021F40FA ldr r1, [sp, #0x28] add r0, #8 ldrb r1, [r1, r0] ldr r0, [sp, #0x34] cmp r0, r1 bne _021F40FC _021F40FA: b _021F4238 _021F40FC: mov r0, #0 str r0, [sp, #0x5c] ldr r3, _021F425C ; =0x0000306C ldr r0, [sp, #0x14] ldrh r2, [r4, r3] sub r3, #8 ldrh r3, [r4, r3] add r1, r5, #0 bl MOD16_021F32DC ldr r1, _021F425C ; =0x0000306C str r0, [sp, #0x38] ldrh r1, [r4, r1] add r0, r5, #0 bl MOD11_02246D1C str r0, [sp, #0x3c] add r0, r6, #0 mov r1, #0xa mov r2, #0 bl GetMonData str r0, [sp, #0x40] add r0, r6, #0 mov r1, #6 mov r2, #0 bl GetMonData add r1, r0, #0 lsl r1, r1, #0x10 add r0, r5, #0 lsr r1, r1, #0x10 mov r2, #1 bl MOD11_0224C12C str r0, [sp, #0x44] add r0, r6, #0 mov r1, #0xb0 mov r2, #0 bl GetMonData add r7, r0, #0 add r0, r6, #0 mov r1, #0xb1 mov r2, #0 bl GetMonData ldr r1, [sp, #0x40] ldr r2, [sp, #0x38] str r1, [sp] ldr r1, [sp, #0x44] ldr r3, [sp, #0x3c] str r1, [sp, #4] str r7, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0x5c str r0, [sp, #0x10] ldr r1, _021F424C ; =0x00003064 add r0, r5, #0 ldrh r1, [r4, r1] bl MOD11_022465A0 ldr r1, [sp, #0x5c] ldr r0, [sp, #0x1c] tst r0, r1 beq _021F4238 mov r7, #0 _021F4182: add r1, r7, #0 add r0, r6, #0 add r1, #0x36 mov r2, #0 bl GetMonData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x20] ldr r0, [sp, #0x14] ldr r3, [sp, #0x20] add r1, r5, #0 add r2, r6, #0 bl MOD16_021F3454 str r0, [sp, #0x48] ldr r0, [sp, #0x20] cmp r0, #0 beq _021F4232 mov r0, #0 str r0, [sp, #0x5c] add r0, r6, #0 mov r1, #0xa mov r2, #0 bl GetMonData ldr r1, _021F425C ; =0x0000306C str r0, [sp, #0x4c] ldrh r1, [r4, r1] add r0, r5, #0 bl MOD11_02246D1C ldr r1, _021F425C ; =0x0000306C str r0, [sp, #0x50] ldrh r1, [r4, r1] add r0, r5, #0 bl MOD11_02249D90 ldr r1, _021F425C ; =0x0000306C str r0, [sp, #0x54] ldrh r1, [r4, r1] add r0, r5, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 ldr r1, _021F425C ; =0x0000306C str r0, [sp, #0x58] ldrh r1, [r4, r1] add r0, r5, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 ldr r1, [sp, #0x50] ldr r2, [sp, #0x48] str r1, [sp] ldr r1, [sp, #0x54] ldr r3, [sp, #0x4c] str r1, [sp, #4] ldr r1, [sp, #0x58] str r1, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0x5c str r0, [sp, #0x10] ldr r1, [sp, #0x20] add r0, r5, #0 bl MOD11_022465A0 ldr r1, [sp, #0x5c] mov r0, #2 tst r0, r1 beq _021F4232 bl LCRandom ldr r1, [sp, #0x24] bl _s32_div_f cmp r1, #0 bne _021F4232 ldr r0, [sp, #0x18] ldr r1, _021F4260 ; =0x000021A4 add r2, r5, r0 ldr r0, [sp, #0x34] add sp, #0x60 strb r0, [r2, r1] mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F4232: add r7, r7, #1 cmp r7, #4 blt _021F4182 _021F4238: ldr r0, [sp, #0x34] add r1, r0, #1 ldr r0, [sp, #0x30] str r1, [sp, #0x34] cmp r1, r0 bge _021F4246 b _021F4094 _021F4246: mov r0, #0 add sp, #0x60 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F424C: .word 0x00003064 _021F4250: .word 0x000003E1 _021F4254: .word 0x000001EE _021F4258: .word 0x0000219C _021F425C: .word 0x0000306C _021F4260: .word 0x000021A4 thumb_func_end MOD16_021F4008 thumb_func_start MOD16_021F4264 MOD16_021F4264: ; 0x021F4264 push {r3, r4, r5, r6, r7, lr} sub sp, #8 str r0, [sp, #4] add r4, r2, #0 mov r0, #0xc0 add r5, r1, #0 mul r0, r4 add r1, r5, r0 ldr r0, _021F4340 ; =0x00002DAC ldr r1, [r1, r0] mov r0, #7 tst r0, r1 beq _021F429E add r0, r5, #0 add r1, r4, #0 bl MOD11_02246D1C cmp r0, #0x1e bne _021F429E mov r0, #0xc0 mul r0, r4 add r2, r5, r0 ldr r0, _021F4344 ; =0x00002D8C ldr r1, [r2, r0] add r0, r0, #4 ldr r0, [r2, r0] lsr r0, r0, #1 cmp r1, r0 bhs _021F42A4 _021F429E: add sp, #8 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F42A4: ldr r0, _021F4348 ; =0x00003064 lsl r7, r4, #1 add r6, r5, r0 ldrh r0, [r6, r7] cmp r0, #0 bne _021F42C8 bl LCRandom mov r1, #1 tst r0, r1 beq _021F42C8 ldr r0, _021F434C ; =0x000021A4 mov r3, #6 add r2, r5, r4 strb r3, [r2, r0] add sp, #8 add r0, r1, #0 pop {r3, r4, r5, r6, r7, pc} _021F42C8: ldrh r0, [r6, r7] lsl r0, r0, #4 add r1, r5, r0 ldr r0, _021F4350 ; =0x000003E1 ldrb r0, [r1, r0] cmp r0, #0 bne _021F42EE bl LCRandom mov r1, #1 tst r0, r1 beq _021F42EE ldr r0, _021F434C ; =0x000021A4 mov r3, #6 add r2, r5, r4 strb r3, [r2, r0] add sp, #8 add r0, r1, #0 pop {r3, r4, r5, r6, r7, pc} _021F42EE: mov r0, #1 str r0, [sp] ldr r0, [sp, #4] add r1, r5, #0 add r2, r4, #0 mov r3, #8 bl MOD16_021F4008 cmp r0, #0 beq _021F4308 add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F4308: mov r0, #1 str r0, [sp] ldr r0, [sp, #4] add r1, r5, #0 add r2, r4, #0 mov r3, #4 bl MOD16_021F4008 cmp r0, #0 beq _021F4322 add sp, #8 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F4322: bl LCRandom mov r1, #1 tst r0, r1 beq _021F433A ldr r0, _021F434C ; =0x000021A4 mov r3, #6 add r2, r5, r4 strb r3, [r2, r0] add sp, #8 add r0, r1, #0 pop {r3, r4, r5, r6, r7, pc} _021F433A: mov r0, #0 add sp, #8 pop {r3, r4, r5, r6, r7, pc} .align 2, 0 _021F4340: .word 0x00002DAC _021F4344: .word 0x00002D8C _021F4348: .word 0x00003064 _021F434C: .word 0x000021A4 _021F4350: .word 0x000003E1 thumb_func_end MOD16_021F4264 thumb_func_start MOD16_021F4354 MOD16_021F4354: ; 0x021F4354 push {r3, r4} mov r4, #0xc0 mul r4, r2 mov r3, #0 ldr r2, _021F4388 ; =0x00002D58 add r0, r3, #0 add r4, r1, r4 _021F4362: ldrsb r1, [r4, r2] cmp r1, #6 ble _021F4370 sub r1, r1, #6 add r1, r3, r1 lsl r1, r1, #0x18 lsr r3, r1, #0x18 _021F4370: add r0, r0, #1 add r4, r4, #1 cmp r0, #8 blt _021F4362 cmp r3, #4 blo _021F4382 mov r0, #1 pop {r3, r4} bx lr _021F4382: mov r0, #0 pop {r3, r4} bx lr .align 2, 0 _021F4388: .word 0x00002D58 thumb_func_end MOD16_021F4354 thumb_func_start MOD16_021F438C MOD16_021F438C: ; 0x021F438C push {r3, r4, r5, r6, r7, lr} sub sp, #0x18 add r6, r2, #0 mov r2, #0xc0 add r3, r6, #0 mul r3, r2 add r2, r1, #0 add r5, r2, r3 ldr r2, _021F4590 ; =0x00002DB0 ldr r3, _021F4594 ; =0x0400E000 ldr r4, [r5, r2] str r0, [sp, #4] str r1, [sp, #8] tst r4, r3 bne _021F440C add r2, #0x10 ldr r4, [r5, r2] lsr r2, r3, #0x10 tst r2, r4 bne _021F440C mov r2, #0x17 str r2, [sp] mov r2, #2 add r3, r6, #0 bl MOD11_02246870 cmp r0, #0 bne _021F440C mov r0, #0x47 str r0, [sp] ldr r0, [sp, #4] ldr r1, [sp, #8] mov r2, #2 add r3, r6, #0 bl MOD11_02246870 cmp r0, #0 bne _021F440C mov r0, #0x2a str r0, [sp] ldr r0, [sp, #4] ldr r1, [sp, #8] mov r2, #6 add r3, r6, #0 bl MOD11_02246870 cmp r0, #0 beq _021F4412 ldr r0, [sp, #8] add r1, r6, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 cmp r0, #8 beq _021F440C ldr r0, [sp, #8] add r1, r6, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 cmp r0, #8 bne _021F4412 _021F440C: add sp, #0x18 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F4412: mov r0, #0 str r0, [sp, #0x14] lsl r0, r6, #0x18 lsr r4, r0, #0x18 ldr r0, [sp, #4] bl MOD11_0222FF74 mov r1, #0x10 tst r0, r1 bne _021F4432 ldr r0, [sp, #4] bl MOD11_0222FF74 mov r1, #8 tst r0, r1 beq _021F4436 _021F4432: add r7, r4, #0 b _021F4442 _021F4436: ldr r0, [sp, #4] add r1, r6, #0 bl MOD11_022302BC lsl r0, r0, #0x18 lsr r7, r0, #0x18 _021F4442: ldr r0, [sp, #4] add r1, r6, #0 bl MOD11_0222FFC8 mov r5, #0 str r0, [sp, #0x10] cmp r0, #0 ble _021F44C2 ldr r0, [sp, #8] add r0, r0, r4 str r0, [sp, #0xc] ldr r0, [sp, #8] add r7, r0, r7 _021F445C: ldr r0, [sp, #4] add r1, r6, #0 add r2, r5, #0 bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 add r4, r0, #0 bl GetMonData cmp r0, #0 beq _021F44BA add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F44BA add r0, r4, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F4598 ; =0x000001EE cmp r0, r1 beq _021F44BA ldr r1, [sp, #0xc] ldr r0, _021F459C ; =0x0000219C ldrb r0, [r1, r0] cmp r5, r0 beq _021F44BA ldr r0, _021F459C ; =0x0000219C ldrb r0, [r7, r0] cmp r5, r0 beq _021F44BA ldr r0, _021F45A0 ; =0x000021A4 ldrb r0, [r1, r0] cmp r5, r0 beq _021F44BA ldr r0, _021F45A0 ; =0x000021A4 ldrb r0, [r7, r0] cmp r5, r0 beq _021F44BA ldr r0, [sp, #0x14] add r0, r0, #1 str r0, [sp, #0x14] _021F44BA: ldr r0, [sp, #0x10] add r5, r5, #1 cmp r5, r0 blt _021F445C _021F44C2: ldr r0, [sp, #0x14] cmp r0, #0 beq _021F4588 ldr r0, [sp, #8] add r1, r6, #0 bl MOD16_021F3614 cmp r0, #0 beq _021F44DA add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F44DA: ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 bl MOD16_021F364C cmp r0, #0 beq _021F44EE add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F44EE: ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 bl MOD16_021F3810 cmp r0, #0 beq _021F4502 add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F4502: ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 bl MOD16_021F3E90 cmp r0, #0 beq _021F4516 add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F4516: ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 bl MOD16_021F4264 cmp r0, #0 beq _021F452A add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F452A: ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 mov r3, #0 bl MOD16_021F3D3C cmp r0, #0 beq _021F4540 add sp, #0x18 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F4540: ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 bl MOD16_021F4354 cmp r0, #0 beq _021F4554 add sp, #0x18 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F4554: mov r0, #2 str r0, [sp] ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 mov r3, #8 bl MOD16_021F4008 cmp r0, #0 beq _021F456E add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F456E: mov r0, #3 str r0, [sp] ldr r0, [sp, #4] ldr r1, [sp, #8] add r2, r6, #0 mov r3, #4 bl MOD16_021F4008 cmp r0, #0 beq _021F4588 add sp, #0x18 mov r0, #1 pop {r3, r4, r5, r6, r7, pc} _021F4588: mov r0, #0 add sp, #0x18 pop {r3, r4, r5, r6, r7, pc} nop _021F4590: .word 0x00002DB0 _021F4594: .word 0x0400E000 _021F4598: .word 0x000001EE _021F459C: .word 0x0000219C _021F45A0: .word 0x000021A4 thumb_func_end MOD16_021F438C thumb_func_start MOD16_021F45A4 MOD16_021F45A4: ; 0x021F45A4 push {r4, r5, r6, r7, lr} sub sp, #0x14 add r7, r1, #0 add r1, r0, #0 str r0, [sp] ldr r5, [r1, #0x30] bl MOD11_0222FF74 add r6, r0, #0 mov r0, #1 tst r0, r6 bne _021F45C8 ldr r0, [sp] add r1, r7, #0 bl MOD11_02230270 cmp r0, #0 bne _021F4688 _021F45C8: ldr r0, [sp] add r1, r5, #0 add r2, r7, #0 bl MOD16_021F438C cmp r0, #0 beq _021F4676 ldr r0, _021F4690 ; =0x000021A4 add r0, r5, r0 str r0, [sp, #0x10] ldrb r0, [r0, r7] cmp r0, #6 bne _021F4670 ldr r0, [sp] add r1, r7, #0 bl MOD16_021F4698 add r4, r0, #0 cmp r4, #6 bne _021F466C lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] mov r0, #0x10 tst r0, r6 bne _021F4602 mov r0, #8 tst r0, r6 beq _021F4608 _021F4602: ldr r0, [sp, #0xc] str r0, [sp, #8] b _021F4616 _021F4608: ldr r0, [sp] add r1, r7, #0 bl MOD11_022302BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #8] _021F4616: ldr r0, [sp] add r1, r7, #0 bl MOD11_0222FFC8 mov r4, #0 str r0, [sp, #4] cmp r0, #0 ble _021F466C ldr r0, [sp, #0xc] add r6, r5, r0 ldr r0, [sp, #8] add r5, r5, r0 _021F462E: ldr r0, [sp] add r1, r7, #0 add r2, r4, #0 bl MOD11_02230014 mov r1, #0xa2 mov r2, #0 bl GetMonData cmp r0, #0 beq _021F4664 ldr r0, _021F4694 ; =0x0000219C ldrb r0, [r6, r0] cmp r4, r0 beq _021F4664 ldr r0, _021F4694 ; =0x0000219C ldrb r0, [r5, r0] cmp r4, r0 beq _021F4664 ldr r0, _021F4690 ; =0x000021A4 ldrb r0, [r6, r0] cmp r4, r0 beq _021F4664 ldr r0, _021F4690 ; =0x000021A4 ldrb r0, [r5, r0] cmp r4, r0 bne _021F466C _021F4664: ldr r0, [sp, #4] add r4, r4, #1 cmp r4, r0 blt _021F462E _021F466C: ldr r0, [sp, #0x10] strb r4, [r0, r7] _021F4670: add sp, #0x14 mov r0, #3 pop {r4, r5, r6, r7, pc} _021F4676: ldr r0, [sp] add r1, r7, #0 bl MOD16_021F4A40 cmp r0, #0 beq _021F4688 add sp, #0x14 mov r0, #2 pop {r4, r5, r6, r7, pc} _021F4688: mov r0, #1 add sp, #0x14 pop {r4, r5, r6, r7, pc} nop _021F4690: .word 0x000021A4 _021F4694: .word 0x0000219C thumb_func_end MOD16_021F45A4 thumb_func_start MOD16_021F4698 MOD16_021F4698: ; 0x021F4698 push {r4, r5, r6, r7, lr} sub sp, #0x94 add r7, r0, #0 str r1, [sp, #0x18] lsl r1, r1, #0x18 ldr r5, [r7, #0x30] lsr r4, r1, #0x18 bl MOD11_0222FF74 mov r1, #0x10 tst r0, r1 bne _021F46BC add r0, r7, #0 bl MOD11_0222FF74 mov r1, #8 tst r0, r1 beq _021F46C0 _021F46BC: str r4, [sp, #0x44] b _021F46CE _021F46C0: ldr r1, [sp, #0x18] add r0, r7, #0 bl MOD11_022302BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x44] _021F46CE: ldr r2, [sp, #0x18] add r0, r7, #0 add r1, r5, #0 bl MOD11_022482A4 lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r1, [sp, #0x18] add r0, r7, #0 bl MOD11_0222FFC8 str r0, [sp, #0x40] mov r0, #0 str r0, [sp, #0x50] add r0, r5, r4 str r0, [sp, #0x34] ldr r0, [sp, #0x44] add r0, r5, r0 str r0, [sp, #0x30] _021F46F4: mov r0, #0 str r0, [sp, #0x48] mov r0, #6 str r0, [sp, #0x38] ldr r0, [sp, #0x40] ldr r4, [sp, #0x48] cmp r0, #0 ble _021F47F8 _021F4704: ldr r1, [sp, #0x18] add r0, r7, #0 add r2, r4, #0 bl MOD11_02230014 mov r1, #0xad mov r2, #0 str r0, [sp, #0x68] bl GetMonData lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _021F47E0 ldr r0, _021F4A1C ; =0x000001EE cmp r1, r0 beq _021F47E0 ldr r0, [sp, #0x68] mov r1, #0xa2 mov r2, #0 bl GetMonData cmp r0, #0 beq _021F47E0 add r0, r4, #0 bl MaskOfFlagNo ldr r1, [sp, #0x50] tst r0, r1 bne _021F47E0 ldr r1, [sp, #0x34] ldr r0, _021F4A20 ; =0x0000219C ldrb r0, [r1, r0] cmp r4, r0 beq _021F47E0 ldr r1, [sp, #0x30] ldr r0, _021F4A20 ; =0x0000219C ldrb r0, [r1, r0] cmp r4, r0 beq _021F47E0 ldr r1, [sp, #0x34] ldr r0, _021F4A24 ; =0x000021A4 ldrb r0, [r1, r0] cmp r4, r0 beq _021F47E0 ldr r1, [sp, #0x30] ldr r0, _021F4A24 ; =0x000021A4 ldrb r0, [r1, r0] cmp r4, r0 beq _021F47E0 add r0, r5, #0 add r1, r6, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x60] add r0, r5, #0 add r1, r6, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x5c] ldr r0, [sp, #0x68] mov r1, #0xb0 mov r2, #0 bl GetMonData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x58] ldr r0, [sp, #0x68] mov r1, #0xb1 mov r2, #0 bl GetMonData lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x54] ldr r0, [sp, #0x58] ldr r1, [sp, #0x60] ldr r2, [sp, #0x5c] bl MOD11_02246B9C lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4c] ldr r0, [sp, #0x54] ldr r1, [sp, #0x60] ldr r2, [sp, #0x5c] bl MOD11_02246B9C ldr r1, [sp, #0x4c] add r0, r1, r0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4c] ldr r1, [sp, #0x48] cmp r1, r0 bhs _021F47F0 ldr r0, [sp, #0x4c] str r0, [sp, #0x48] lsl r0, r4, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x38] b _021F47F0 _021F47E0: add r0, r4, #0 bl MaskOfFlagNo ldr r1, [sp, #0x50] orr r0, r1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x50] _021F47F0: ldr r0, [sp, #0x40] add r4, r4, #1 cmp r4, r0 blt _021F4704 _021F47F8: ldr r0, [sp, #0x38] cmp r0, #6 beq _021F48C0 ldr r1, [sp, #0x18] ldr r2, [sp, #0x38] add r0, r7, #0 bl MOD11_02230014 add r4, r0, #0 mov r0, #0 str r0, [sp, #0x20] _021F480E: ldr r1, [sp, #0x20] add r0, r4, #0 add r1, #0x36 mov r2, #0 bl GetMonData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x3c] ldr r3, [sp, #0x3c] add r0, r7, #0 add r1, r5, #0 add r2, r4, #0 bl MOD16_021F3454 str r0, [sp, #0x6c] ldr r0, [sp, #0x3c] cmp r0, #0 beq _021F4898 mov r0, #0 str r0, [sp, #0x90] add r0, r4, #0 mov r1, #0xa mov r2, #0 bl GetMonData str r0, [sp, #0x70] add r0, r5, #0 add r1, r6, #0 bl MOD11_02246D1C str r0, [sp, #0x74] add r0, r5, #0 add r1, r6, #0 bl MOD11_02249D90 str r0, [sp, #0x78] add r0, r5, #0 add r1, r6, #0 mov r2, #0x1b mov r3, #0 bl MOD11_02243420 str r0, [sp, #0x7c] add r0, r5, #0 add r1, r6, #0 mov r2, #0x1c mov r3, #0 bl MOD11_02243420 ldr r1, [sp, #0x74] ldr r2, [sp, #0x6c] str r1, [sp] ldr r1, [sp, #0x78] ldr r3, [sp, #0x70] str r1, [sp, #4] ldr r1, [sp, #0x7c] str r1, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0x90 str r0, [sp, #0x10] ldr r1, [sp, #0x3c] add r0, r5, #0 bl MOD11_022465A0 ldr r1, [sp, #0x90] mov r0, #2 tst r0, r1 bne _021F48A2 _021F4898: ldr r0, [sp, #0x20] add r0, r0, #1 str r0, [sp, #0x20] cmp r0, #4 blt _021F480E _021F48A2: ldr r0, [sp, #0x20] cmp r0, #4 bne _021F48BA ldr r0, [sp, #0x38] bl MaskOfFlagNo ldr r1, [sp, #0x50] orr r0, r1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x50] b _021F48C4 _021F48BA: ldr r0, [sp, #0x38] add sp, #0x94 pop {r4, r5, r6, r7, pc} _021F48C0: mov r0, #0x3f str r0, [sp, #0x50] _021F48C4: ldr r0, [sp, #0x50] cmp r0, #0x3f beq _021F48CC b _021F46F4 _021F48CC: mov r0, #0 str r0, [sp, #0x28] mov r0, #6 str r0, [sp, #0x2c] ldr r0, [sp, #0x28] str r0, [sp, #0x24] ldr r0, [sp, #0x40] cmp r0, #0 bgt _021F48E0 b _021F4A14 _021F48E0: ldr r1, [sp, #0x18] ldr r2, [sp, #0x24] add r0, r7, #0 bl MOD11_02230014 mov r1, #0xad mov r2, #0 str r0, [sp, #0x1c] bl GetMonData lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _021F4900 ldr r0, _021F4A1C ; =0x000001EE cmp r1, r0 bne _021F4902 _021F4900: b _021F4A06 _021F4902: ldr r0, [sp, #0x1c] mov r1, #0xa2 mov r2, #0 bl GetMonData cmp r0, #0 beq _021F4A06 ldr r0, _021F4A20 ; =0x0000219C ldr r1, [sp, #0x34] ldrb r2, [r1, r0] ldr r1, [sp, #0x24] cmp r1, r2 beq _021F4A06 ldr r1, [sp, #0x30] ldrb r2, [r1, r0] ldr r1, [sp, #0x24] cmp r1, r2 beq _021F4A06 add r2, r0, #0 ldr r1, [sp, #0x34] add r2, #8 ldrb r2, [r1, r2] ldr r1, [sp, #0x24] cmp r1, r2 beq _021F4A06 ldr r1, [sp, #0x30] add r0, #8 ldrb r1, [r1, r0] ldr r0, [sp, #0x24] cmp r0, r1 beq _021F4A06 mov r0, #0 str r0, [sp, #0x64] ldr r0, [sp, #0x18] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x84] ldr r0, [sp, #0x24] lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x88] _021F4954: ldr r1, [sp, #0x64] ldr r0, [sp, #0x1c] add r1, #0x36 mov r2, #0 bl GetMonData lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x8c] ldr r2, [sp, #0x1c] ldr r3, [sp, #0x8c] add r0, r7, #0 add r1, r5, #0 bl MOD16_021F3454 str r0, [sp, #0x80] ldr r0, [sp, #0x8c] cmp r0, #0 beq _021F49EE lsl r0, r0, #4 add r1, r5, r0 ldr r0, _021F4A28 ; =0x000003E1 ldrb r0, [r1, r0] cmp r0, #1 beq _021F49EE add r0, r7, #0 add r1, r6, #0 bl MOD11_02230270 add r3, r0, #0 mov r0, #6 lsl r0, r0, #6 ldr r0, [r5, r0] lsl r3, r3, #2 str r0, [sp] mov r0, #0 str r0, [sp, #4] str r0, [sp, #8] ldr r0, [sp, #0x84] add r4, r5, r3 str r0, [sp, #0xc] mov r3, #0x6f str r6, [sp, #0x10] mov r0, #1 str r0, [sp, #0x14] lsl r3, r3, #2 ldr r2, [sp, #0x8c] ldr r3, [r4, r3] add r0, r7, #0 add r1, r5, #0 bl MOD11_0224B310 lsl r0, r0, #0x18 lsr r1, r0, #0x18 mov r0, #0 str r0, [sp, #0x90] ldr r0, [sp, #0x18] ldr r3, [sp, #0x80] str r0, [sp] str r6, [sp, #4] str r1, [sp, #8] add r0, sp, #0x90 str r0, [sp, #0xc] ldr r2, [sp, #0x8c] add r0, r7, #0 add r1, r5, #0 bl MOD11_02246274 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4c] ldr r1, [sp, #0x90] ldr r0, _021F4A2C ; =0x00140808 tst r0, r1 beq _021F49EE mov r0, #0 str r0, [sp, #0x4c] _021F49EE: ldr r1, [sp, #0x28] ldr r0, [sp, #0x4c] cmp r1, r0 bhs _021F49FC str r0, [sp, #0x28] ldr r0, [sp, #0x88] str r0, [sp, #0x2c] _021F49FC: ldr r0, [sp, #0x64] add r0, r0, #1 str r0, [sp, #0x64] cmp r0, #4 blt _021F4954 _021F4A06: ldr r0, [sp, #0x24] add r1, r0, #1 ldr r0, [sp, #0x40] str r1, [sp, #0x24] cmp r1, r0 bge _021F4A14 b _021F48E0 _021F4A14: ldr r0, [sp, #0x2c] add sp, #0x94 pop {r4, r5, r6, r7, pc} nop _021F4A1C: .word 0x000001EE _021F4A20: .word 0x0000219C _021F4A24: .word 0x000021A4 _021F4A28: .word 0x000003E1 _021F4A2C: .word 0x00140808 thumb_func_end MOD16_021F4698 thumb_func_start MOD16_021F4A30 MOD16_021F4A30: ; 0x021F4A30 ldr r0, [r0, #0x30] add r1, r0, r1 ldr r0, _021F4A3C ; =0x000021A4 ldrb r0, [r1, r0] bx lr nop _021F4A3C: .word 0x000021A4 thumb_func_end MOD16_021F4A30 thumb_func_start MOD16_021F4A40 MOD16_021F4A40: ; 0x021F4A40 push {r3, r4, r5, r6, r7, lr} sub sp, #0x20 add r5, r0, #0 mov r2, #0 str r2, [sp, #0x14] add r2, r1, #0 asr r2, r2, #1 ldr r4, [r5, #0x30] str r2, [sp, #0xc] add r6, r4, r2 ldr r2, [sp, #0x14] ldr r3, _021F4D6C ; =0x000003D3 str r2, [sp, #0x1c] strb r2, [r6, r3] ldr r3, [r5, #0x2c] mov r2, #0x4b and r2, r3 str r1, [sp] cmp r2, #0x4b bne _021F4A76 bl MOD11_02230260 cmp r0, #4 bne _021F4A76 add sp, #0x20 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F4A76: ldr r0, [sp] mov r1, #0xc0 mul r1, r0 mov r0, #0xb7 str r1, [sp, #8] add r1, r4, r1 lsl r0, r0, #6 ldr r1, [r1, r0] mov r0, #1 lsl r0, r0, #0x1a tst r0, r1 beq _021F4A94 add sp, #0x20 mov r0, #0 pop {r3, r4, r5, r6, r7, pc} _021F4A94: ldr r1, [sp] add r0, r5, #0 bl MOD11_0222FF88 add r7, r0, #0 mov r5, #0 bl GetPartyCount cmp r0, #0 ble _021F4AF2 _021F4AA8: add r0, r7, #0 add r1, r5, #0 bl GetPartyMonByIndex mov r1, #0xa2 mov r2, #0 add r6, r0, #0 bl GetMonData cmp r0, #0 beq _021F4AE6 add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData cmp r0, #0 beq _021F4AE6 add r0, r6, #0 mov r1, #0xad mov r2, #0 bl GetMonData ldr r1, _021F4D70 ; =0x000001EE cmp r0, r1 beq _021F4AE6 ldr r0, [sp, #0x14] add r0, r0, #1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x14] _021F4AE6: add r0, r7, #0 add r5, r5, #1 bl GetPartyCount cmp r5, r0 blt _021F4AA8 _021F4AF2: mov r0, #0 str r0, [sp, #4] ldr r0, [sp, #0xc] mov r1, #1 lsl r0, r0, #3 add r0, r4, r0 str r0, [sp, #0x18] ldr r0, [sp, #0xc] add r5, r4, r0 ldr r0, [sp, #8] add r7, r4, r0 ldr r0, [sp] bic r0, r1 str r0, [sp] add r0, r4, r0 str r0, [sp, #0x10] _021F4B12: ldr r0, [sp, #4] cmp r0, #0 beq _021F4B28 ldr r0, _021F4D74 ; =0x000003CD ldrb r1, [r5, r0] ldr r0, [sp, #4] sub r0, r1, r0 add r1, r0, #1 ldr r0, [sp, #0x14] cmp r0, r1 bgt _021F4B34 _021F4B28: mov r0, #0xe7 ldr r1, [sp, #0x18] lsl r0, r0, #2 ldrh r6, [r1, r0] cmp r6, #0 bne _021F4B36 _021F4B34: b _021F4E0E _021F4B36: cmp r6, #0x17 bne _021F4B58 ldr r1, _021F4D78 ; =0x00002D90 ldr r0, _021F4D7C ; =0x00002D8C ldr r1, [r7, r1] ldr r0, [r7, r0] lsr r1, r1, #2 cmp r0, r1 bhs _021F4BB2 cmp r0, #0 beq _021F4BB2 ldr r0, _021F4D80 ; =0x000003D1 mov r1, #0 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4B58: add r0, r4, #0 add r1, r6, #0 mov r2, #0x26 bl MOD11_0224C12C cmp r0, #0 beq _021F4B9A add r0, r4, #0 add r1, r6, #0 mov r2, #0x36 bl MOD11_0224C12C lsl r0, r0, #0x18 lsr r2, r0, #0x18 beq _021F4BB2 ldr r0, _021F4D7C ; =0x00002D8C ldr r1, [r7, r0] cmp r1, #0 beq _021F4BB2 add r0, r0, #4 ldr r3, [r7, r0] lsr r0, r3, #2 cmp r1, r0 blo _021F4B8E sub r0, r3, r1 cmp r0, r2 bls _021F4BB2 _021F4B8E: ldr r0, _021F4D80 ; =0x000003D1 mov r1, #1 strb r1, [r5, r0] add r0, r1, #0 str r0, [sp, #0x1c] b _021F4DFA _021F4B9A: add r0, r4, #0 add r1, r6, #0 mov r2, #0xf bl MOD11_0224C12C cmp r0, #0 beq _021F4BD0 ldr r0, _021F4D84 ; =0x00002DAC ldr r1, [r7, r0] mov r0, #7 tst r0, r1 bne _021F4BB4 _021F4BB2: b _021F4DFA _021F4BB4: mov r0, #5 bl MaskOfFlagNo ldr r1, _021F4D6C ; =0x000003D3 ldrb r1, [r5, r1] orr r1, r0 ldr r0, _021F4D6C ; =0x000003D3 strb r1, [r5, r0] mov r1, #2 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4BD0: add r0, r4, #0 add r1, r6, #0 mov r2, #0x10 bl MOD11_0224C12C cmp r0, #0 beq _021F4C0A ldr r0, _021F4D84 ; =0x00002DAC mov r1, #8 ldr r0, [r7, r0] tst r1, r0 bne _021F4BEE mov r1, #0x80 tst r0, r1 beq _021F4CBE _021F4BEE: mov r0, #4 bl MaskOfFlagNo ldr r1, _021F4D6C ; =0x000003D3 ldrb r1, [r5, r1] orr r1, r0 ldr r0, _021F4D6C ; =0x000003D3 strb r1, [r5, r0] mov r1, #2 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4C0A: add r0, r4, #0 add r1, r6, #0 mov r2, #0x11 bl MOD11_0224C12C cmp r0, #0 beq _021F4C3E ldr r0, _021F4D84 ; =0x00002DAC ldr r1, [r7, r0] mov r0, #0x10 tst r0, r1 beq _021F4CBE mov r0, #3 bl MaskOfFlagNo ldr r1, _021F4D6C ; =0x000003D3 ldrb r1, [r5, r1] orr r1, r0 ldr r0, _021F4D6C ; =0x000003D3 strb r1, [r5, r0] mov r1, #2 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4C3E: add r0, r4, #0 add r1, r6, #0 mov r2, #0x12 bl MOD11_0224C12C cmp r0, #0 beq _021F4C72 ldr r0, _021F4D84 ; =0x00002DAC ldr r1, [r7, r0] mov r0, #0x20 tst r0, r1 beq _021F4CBE mov r0, #2 bl MaskOfFlagNo ldr r1, _021F4D6C ; =0x000003D3 ldrb r1, [r5, r1] orr r1, r0 ldr r0, _021F4D6C ; =0x000003D3 strb r1, [r5, r0] mov r1, #2 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4C72: add r0, r4, #0 add r1, r6, #0 mov r2, #0x13 bl MOD11_0224C12C cmp r0, #0 beq _021F4CA6 ldr r0, _021F4D84 ; =0x00002DAC ldr r1, [r7, r0] mov r0, #0x40 tst r0, r1 beq _021F4CBE mov r0, #1 bl MaskOfFlagNo ldr r1, _021F4D6C ; =0x000003D3 ldrb r1, [r5, r1] orr r1, r0 ldr r0, _021F4D6C ; =0x000003D3 strb r1, [r5, r0] mov r1, #2 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4CA6: add r0, r4, #0 add r1, r6, #0 mov r2, #0x14 bl MOD11_0224C12C cmp r0, #0 beq _021F4CDC ldr r0, _021F4D88 ; =0x00002DB0 ldr r1, [r7, r0] mov r0, #7 tst r0, r1 bne _021F4CC0 _021F4CBE: b _021F4DFA _021F4CC0: mov r0, #0 bl MaskOfFlagNo ldr r1, _021F4D6C ; =0x000003D3 ldrb r1, [r5, r1] orr r1, r0 ldr r0, _021F4D6C ; =0x000003D3 strb r1, [r5, r0] mov r1, #2 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4CDC: ldr r0, _021F4D8C ; =0x00002DD4 ldr r1, [r7, r0] mov r0, #0x15 lsl r0, r0, #4 ldr r0, [r4, r0] sub r0, r1, r0 bpl _021F4CEC b _021F4DF4 _021F4CEC: add r0, r4, #0 add r1, r6, #0 mov r2, #0x1b bl MOD11_0224C12C cmp r0, #0 beq _021F4D0C ldr r0, _021F4D6C ; =0x000003D3 mov r1, #1 strb r1, [r5, r0] mov r1, #3 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4D0C: add r0, r4, #0 add r1, r6, #0 mov r2, #0x1c bl MOD11_0224C12C cmp r0, #0 beq _021F4D2C ldr r0, _021F4D6C ; =0x000003D3 mov r1, #2 strb r1, [r5, r0] mov r1, #3 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4D2C: add r0, r4, #0 add r1, r6, #0 mov r2, #0x1d bl MOD11_0224C12C cmp r0, #0 beq _021F4D4C ldr r0, _021F4D6C ; =0x000003D3 mov r1, #4 strb r1, [r5, r0] mov r1, #3 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4D4C: add r0, r4, #0 add r1, r6, #0 mov r2, #0x1e bl MOD11_0224C12C cmp r0, #0 beq _021F4D90 ldr r0, _021F4D6C ; =0x000003D3 mov r1, #5 strb r1, [r5, r0] mov r1, #3 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA .align 2, 0 _021F4D6C: .word 0x000003D3 _021F4D70: .word 0x000001EE _021F4D74: .word 0x000003CD _021F4D78: .word 0x00002D90 _021F4D7C: .word 0x00002D8C _021F4D80: .word 0x000003D1 _021F4D84: .word 0x00002DAC _021F4D88: .word 0x00002DB0 _021F4D8C: .word 0x00002DD4 _021F4D90: add r0, r4, #0 add r1, r6, #0 mov r2, #0x1f bl MOD11_0224C12C cmp r0, #0 beq _021F4DAE ldr r0, _021F4E28 ; =0x000003D3 mov r1, #3 strb r1, [r5, r0] sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4DAE: add r0, r4, #0 add r1, r6, #0 mov r2, #0x20 bl MOD11_0224C12C cmp r0, #0 beq _021F4DCE ldr r0, _021F4E28 ; =0x000003D3 mov r1, #6 strb r1, [r5, r0] mov r1, #3 sub r0, r0, #2 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4DCE: add r0, r4, #0 add r1, r6, #0 mov r2, #0x16 bl MOD11_0224C12C cmp r0, #0 beq _021F4DFA mov r0, #7 lsl r0, r0, #6 ldr r1, [r4, r0] mov r0, #0x40 tst r0, r1 bne _021F4DFA ldr r0, _021F4E2C ; =0x000003D1 mov r1, #4 strb r1, [r5, r0] mov r0, #1 str r0, [sp, #0x1c] b _021F4DFA _021F4DF4: ldr r0, _021F4E2C ; =0x000003D1 mov r1, #5 strb r1, [r5, r0] _021F4DFA: ldr r0, [sp, #0x1c] cmp r0, #1 bne _021F4E0E ldr r1, [sp, #0x10] ldr r0, _021F4E30 ; =0x000003D6 mov r2, #0 strh r6, [r1, r0] ldr r1, [sp, #0x18] sub r0, #0x3a strh r2, [r1, r0] _021F4E0E: ldr r0, [sp, #0x18] add r0, r0, #2 str r0, [sp, #0x18] ldr r0, [sp, #4] add r0, r0, #1 str r0, [sp, #4] cmp r0, #4 bge _021F4E20 b _021F4B12 _021F4E20: ldr r0, [sp, #0x1c] add sp, #0x20 pop {r3, r4, r5, r6, r7, pc} nop _021F4E28: .word 0x000003D3 _021F4E2C: .word 0x000003D1 _021F4E30: .word 0x000003D6 thumb_func_end MOD16_021F4A40 .rodata .global MOD16_021F4E34 MOD16_021F4E34: ; 0x021F4E34 .byte 0x20, 0x00, 0x00, 0x00, 0x99, 0x20, 0x00, 0x00, 0xF2, 0x09, 0x00, 0x00, 0xD8, 0x20, 0x00, 0x00 .byte 0x33, 0x21, 0x00, 0x00, 0x26, 0x21, 0x00, 0x00, 0x59, 0x21, 0x00, 0x00, 0xBC, 0x21, 0x00, 0x00 .byte 0xC0, 0x27, 0x00, 0x00, 0xDC, 0x28, 0x00, 0x00, 0x0E, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00 .byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00 .byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00 .byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00 .byte 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00, 0x64, 0x29, 0x00, 0x00 .byte 0x64, 0x29, 0x00, 0x00, 0x3D, 0x29, 0x00, 0x00, 0x56, 0x29, 0x00, 0x00, 0x5A, 0x29, 0x00, 0x00 .byte 0x51, 0x00, 0x00, 0x00, 0x42, 0x29, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x51, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x09, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00 .byte 0x44, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x22, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x22, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x8A, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x83, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x7C, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x72, 0x09, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x6D, 0x09, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x22, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x66, 0x09, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x4F, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x4C, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x49, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x46, 0x09, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x43, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0xAD, 0x00, 0x00, 0x00, 0x40, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xFD, 0x00, 0x00, 0x00 .byte 0x3D, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3F, 0x01, 0x00, 0x00, 0x3A, 0x09, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x37, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x95, 0x01, 0x00, 0x00, 0x34, 0x09, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xC0, 0x01, 0x00, 0x00 .byte 0x31, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC6, 0x01, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xD4, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0xF9, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x02, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x2F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x3D, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x4B, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x61, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x77, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x80, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x84, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x91, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x95, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x99, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xAA, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xBF, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x1A, 0x00, 0x00, 0x00, 0x6E, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 .byte 0x02, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0F, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x13, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00 .byte 0x46, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x5C, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x59, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x56, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x69, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6B, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x6D, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0xB1, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0xBF, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0xCD, 0x01, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0xDE, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0xEC, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0xFA, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x10, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x26, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x3B, 0x00, 0x00, 0x00, 0x2F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x33, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x44, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x3F, 0x00, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x59, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x4E, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0xCB, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x43, 0x00, 0x00, 0x00, 0x4D, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00 .byte 0x70, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x14, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x73, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x84, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00 .byte 0x0B, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x08, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x05, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x5A, 0x00, 0x00, 0x00, 0x7D, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00 .byte 0x7F, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x81, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x79, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x63, 0x00, 0x00, 0x00, 0xF6, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00 .byte 0x87, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x3D, 0x01, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xC5, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x6D, 0x00, 0x00, 0x00, 0x83, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00 .byte 0xAF, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0xB8, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0xBA, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x73, 0x00, 0x00, 0x00, 0xBC, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00 .byte 0xFB, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0xBB, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0xD5, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x7A, 0x00, 0x00, 0x00, 0xD2, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x7B, 0x00, 0x00, 0x00 .byte 0xCF, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0xD1, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0xC1, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x7F, 0x00, 0x00, 0x00, 0xED, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00 .byte 0xC3, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x67, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x64, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x86, 0x00, 0x00, 0x00, 0x61, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00 .byte 0xB7, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0xE1, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0xF4, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x8E, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00 .byte 0xF9, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xA8, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0xA5, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x94, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00 .byte 0x29, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x9E, 0x00, 0x00, 0x00, 0xFB, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00 .byte 0xFE, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA1, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00 .byte 0x17, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xA4, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0x16, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xA8, 0x00, 0x00, 0x00, 0x88, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0x7B, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0x28, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0x2A, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xB5, 0x00, 0x00, 0x00, 0x32, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00 .byte 0x6F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x31, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xBC, 0x00, 0x00, 0x00, 0x1B, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00 .byte 0x63, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x2B, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0x31, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xC4, 0x00, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00 .byte 0x30, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0x32, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0x47, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xD0, 0x00, 0x00, 0x00, 0x5F, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00 .byte 0x77, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0x79, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0x91, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xD5, 0x00, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00 .byte 0xE6, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD7, 0x00, 0x00, 0x00, 0xAB, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0xAC, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xDB, 0x00, 0x00, 0x00, 0x36, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00 .byte 0xAB, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0xB9, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xE2, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00 .byte 0x4F, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x65, 0x05, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xE9, 0x00, 0x00, 0x00, 0x70, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xEA, 0x00, 0x00, 0x00, 0x2E, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00 .byte 0x1B, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0x7E, 0x06, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x15, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xEE, 0x00, 0x00, 0x00, 0x7D, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00 .byte 0x7F, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x98, 0x06, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x9A, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xF3, 0x00, 0x00, 0x00, 0x9F, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00 .byte 0xAB, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00, 0xB4, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xF7, 0x00, 0x00, 0x00, 0xB7, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00 .byte 0xD1, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0x42, 0x01, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0xD8, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xFC, 0x00, 0x00, 0x00, 0xDA, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00 .byte 0xEB, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x0D, 0x07, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0x11, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x0A, 0x01, 0x00, 0x00, 0x3C, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00 .byte 0x43, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0x00, 0x00, 0x64, 0x07, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x60, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x5B, 0x07, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x48, 0x00, 0x00, 0x00, 0x58, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x54, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4A, 0x07, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x07, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2C, 0x07, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 .byte 0x39, 0x07, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x32, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x30, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x28, 0x07, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x28, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x23, 0x07, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x19, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x07, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x07, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xFE, 0x06, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0xF4, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xEE, 0x06, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xE3, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0xDD, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xD2, 0x06, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0xCC, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xC6, 0x06, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00 .byte 0xC1, 0x06, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xB9, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xB3, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00 .byte 0xAD, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x63, 0x00, 0x00, 0x00, 0xA8, 0x06, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0xA0, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x9A, 0x06, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x94, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x8F, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x48, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x88, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x83, 0x06, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x06, 0x00, 0x00 .byte 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x78, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x71, 0x06, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x06, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x5E, 0x06, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x59, 0x06, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x56, 0x06, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x4A, 0x06, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00 .byte 0x45, 0x06, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x1D, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00 .byte 0x3D, 0x06, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x25, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0xF4, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x05, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0xE4, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xF8, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xD7, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xD4, 0x05, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xCF, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xCC, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xC7, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0xC4, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0xC1, 0x05, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBA, 0x05, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0xB1, 0x05, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0xAD, 0x05, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xA9, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0xA1, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xA0, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x96, 0x05, 0x00, 0x00 .byte 0x4E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x93, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x8A, 0x05, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x75, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x6D, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x6B, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5D, 0x05, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x61, 0x05, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x5D, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x55, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x54, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x4F, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x4C, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 .byte 0x3D, 0x05, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x3A, 0x05, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x36, 0x05, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0x05, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 .byte 0x2A, 0x05, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x29, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x24, 0x05, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1F, 0x05, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x05, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x15, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x05, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x05, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x01, 0x05, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x63, 0x00, 0x00, 0x00, 0xFC, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0xF7, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xF2, 0x04, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xDD, 0x04, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0xD8, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xD2, 0x04, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0xCA, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x10, 0xC8, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0xC3, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xBC, 0x04, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB7, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xB2, 0x04, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0xAD, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xA5, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xA3, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x9E, 0x04, 0x00, 0x00 .byte 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x94, 0x04, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x8D, 0x04, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x86, 0x04, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x7E, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x76, 0x04, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x73, 0x04, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x04, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x66, 0x04, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x04, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x5D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0x00, 0x00, 0x49, 0x04, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x45, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x5E, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x33, 0x04, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2C, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2D, 0x04, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x04, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x04, 0x00, 0x00 .byte 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x11, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x2B, 0xFE, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x06, 0x04, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x73, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF6, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0xED, 0x03, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0xE9, 0x03, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0xE4, 0x03, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x03, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xDB, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x45, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xD6, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0xD0, 0x03, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCB, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xC6, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0xBB, 0x03, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xB7, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0xB2, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00 .byte 0xAD, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0xA2, 0x03, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x9F, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0x03, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x92, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x8A, 0x03, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x85, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x7F, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x77, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x6F, 0x03, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x6A, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x64, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x5C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x5A, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4F, 0x03, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4A, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x3B, 0x03, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x31, 0x03, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x2C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x26, 0x03, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x1E, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x10, 0x1C, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00 .byte 0x00, 0x70, 0x00, 0x00, 0x18, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x13, 0x03, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xEC, 0xFF, 0xFF, 0xFF, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x03, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFC, 0x02, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xF9, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x95, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00 .byte 0x97, 0x00, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, 0x99, 0x00, 0x00, 0x00, 0x9A, 0x00, 0x00, 0x00 .byte 0x9B, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00 .byte 0x9F, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0xA1, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00 .byte 0xA3, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00 .byte 0xA7, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0xAB, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00 .byte 0xAF, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00 .byte 0xB3, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00 .byte 0xB7, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00 .byte 0xBB, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00 .byte 0xBF, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00 .byte 0xC3, 0x00, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00 .byte 0xC7, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x00, 0x00 .byte 0xCB, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00 .byte 0xCF, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00 .byte 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x56, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x07, 0x00, 0xB4, 0x02, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x03, 0x00, 0x00, 0xB0, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0xA5, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0xA0, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x9B, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x96, 0x02, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x91, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x8C, 0x02, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x87, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x81, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x7C, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x77, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x72, 0x02, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x6D, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x68, 0x02, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x63, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x02, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x5A, 0x02, 0x00, 0x00 .byte 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x56, 0x02, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4A, 0x02, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 .byte 0x45, 0x02, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x3C, 0x02, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x33, 0x02, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x2E, 0x02, 0x00, 0x00 .byte 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x1C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xEC, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0xE8, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xE3, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xE0, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xDB, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xD8, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x67, 0x00, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0xD0, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0xCD, 0x01, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0xCA, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x3E, 0x00, 0x00, 0x00, 0xC7, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xA5, 0x01, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xA1, 0x01, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x9C, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x97, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x92, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x8F, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x8C, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x82, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x7E, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x79, 0x01, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x64, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x46, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x76, 0x01, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x72, 0x01, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x6E, 0x01, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x88, 0x0F, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x5B, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x56, 0x01, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4E, 0x01, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4B, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x46, 0x01, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x43, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x39, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x34, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x2F, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x25, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x02, 0x20, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x1B, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x16, 0x01, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00 .byte 0x11, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x0B, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x05, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0xC5, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xF6, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x04, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9F, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x95, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x1B, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x04, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00 .byte 0x51, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 .byte 0x42, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x3D, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xEC, 0xFF, 0xFF, 0xFF, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xF8, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF4, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x1F, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x21, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x2F, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x63, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x79, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0xC0, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0xE0, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1A, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x44, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x7E, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x8C, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xEB, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x06, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x31, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x4D, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x57, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x96, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xF0, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x1A, 0x00, 0x00, 0x00, 0x77, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 .byte 0x7B, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0xB1, 0x05, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xCA, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0xF9, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00 .byte 0x1A, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x3B, 0x06, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x6E, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x27, 0x00, 0x00, 0x00, 0xA2, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x6E, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x72, 0x06, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x87, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x30, 0x00, 0x00, 0x00, 0xF2, 0x15, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0xA2, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x66, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x86, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0xC0, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00 .byte 0xCA, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0xEA, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x24, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x38, 0x00, 0x00, 0x00, 0x32, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00 .byte 0xAF, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0xDA, 0x03, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0xF6, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x3D, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00 .byte 0x2D, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x99, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x41, 0x00, 0x00, 0x00, 0x9D, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00 .byte 0xBF, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0xC7, 0x06, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x63, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0xD1, 0x03, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00 .byte 0x57, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0xCC, 0x06, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0xDD, 0x06, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x31, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00 .byte 0x96, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x50, 0x07, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x60, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x5A, 0x00, 0x00, 0x00, 0xBE, 0x07, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00 .byte 0x25, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x3C, 0x08, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x3C, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x61, 0x00, 0x00, 0x00, 0x3F, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x43, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x61, 0x08, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x85, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x69, 0x00, 0x00, 0x00, 0x8D, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00 .byte 0xFD, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xD8, 0x02, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0xAD, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x6F, 0x00, 0x00, 0x00, 0xEA, 0x08, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00 .byte 0x5C, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x6E, 0x09, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x87, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x7F, 0x00, 0x00, 0x00, 0x96, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0xED, 0x09, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x17, 0x05, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x14, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x86, 0x00, 0x00, 0x00, 0x11, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00 .byte 0x0B, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x33, 0x0A, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x53, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x8F, 0x00, 0x00, 0x00, 0x59, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00 .byte 0x97, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0xF4, 0x0A, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0xF1, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x97, 0x00, 0x00, 0x00, 0x1D, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x9B, 0x00, 0x00, 0x00 .byte 0x34, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00, 0x01, 0x05, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0x92, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xA1, 0x00, 0x00, 0x00, 0x92, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00 .byte 0xF8, 0x04, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x97, 0x0B, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xE3, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xA8, 0x00, 0x00, 0x00, 0x12, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00 .byte 0xB2, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0xB6, 0x0B, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xAB, 0x00, 0x00, 0x00, 0xE2, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xB1, 0x00, 0x00, 0x00, 0xE8, 0x0B, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00 .byte 0x17, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0x42, 0x0D, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0x40, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xB7, 0x00, 0x00, 0x00, 0x5B, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00 .byte 0x76, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00, 0x86, 0x0D, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00, 0x99, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xBC, 0x00, 0x00, 0x00, 0xA3, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x00, 0x00 .byte 0xAF, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xC6, 0x0D, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0xF9, 0x0C, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xC0, 0x00, 0x00, 0x00, 0xD9, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00 .byte 0xE1, 0x0D, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0xE7, 0x0D, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0xF9, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xC8, 0x00, 0x00, 0x00, 0x88, 0x05, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00 .byte 0x18, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0x2C, 0x0E, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xF3, 0x02, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xCE, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00 .byte 0x84, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0x76, 0x05, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0x36, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xD3, 0x00, 0x00, 0x00, 0xE8, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00 .byte 0x47, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x95, 0x04, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xD7, 0x00, 0x00, 0x00, 0x55, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xD8, 0x00, 0x00, 0x00, 0x74, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xD9, 0x00, 0x00, 0x00 .byte 0x8C, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDA, 0x00, 0x00, 0x00, 0x9F, 0x0E, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0xB0, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xDC, 0x00, 0x00, 0x00, 0xDC, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDD, 0x00, 0x00, 0x00 .byte 0xAB, 0x0E, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xC1, 0x0E, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x0C, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xE1, 0x00, 0x00, 0x00, 0x26, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00 .byte 0x3B, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, 0x4D, 0x0F, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00, 0x92, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xE5, 0x00, 0x00, 0x00, 0xD4, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00 .byte 0xEA, 0x0F, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00, 0x25, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xE9, 0x00, 0x00, 0x00, 0x28, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x00 .byte 0x68, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x00, 0x73, 0x10, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0xB3, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xED, 0x00, 0x00, 0x00, 0xFB, 0x10, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00 .byte 0x20, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00, 0x41, 0x11, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x59, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xF1, 0x00, 0x00, 0x00, 0x72, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00 .byte 0x90, 0x11, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00, 0xE6, 0x11, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x50, 0x12, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xF5, 0x00, 0x00, 0x00, 0xBA, 0x12, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00 .byte 0xE8, 0x12, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, 0xFA, 0x12, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x0E, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xF9, 0x00, 0x00, 0x00, 0x1E, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00 .byte 0x30, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0x76, 0x13, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x7D, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xFD, 0x00, 0x00, 0x00, 0x66, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0x50, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x4D, 0x0A, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x99, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x03, 0x01, 0x00, 0x00, 0xEA, 0x13, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00 .byte 0x01, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00, 0x00, 0x54, 0x14, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x3E, 0x0A, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x09, 0x01, 0x00, 0x00, 0x10, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x00 .byte 0x34, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x0D, 0x01, 0x00, 0x00, 0x48, 0x14, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00, 0x5B, 0x14, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x10, 0x01, 0x00, 0x00, 0x3B, 0x0A, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x85, 0xFD, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00 .byte 0x93, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00 .byte 0x45, 0x01, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00 .byte 0xEE, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00 .byte 0x67, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00 .byte 0x3F, 0x01, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0xF7, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00 .byte 0xA8, 0x00, 0x00, 0x00, 0x57, 0x01, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00 .byte 0x03, 0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00 .byte 0x1D, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00 .byte 0x85, 0x01, 0x00, 0x00, 0x87, 0x01, 0x00, 0x00, 0x9F, 0x01, 0x00, 0x00, 0xBD, 0x01, 0x00, 0x00 .byte 0xD0, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xC8, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x5E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0xC4, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x3D, 0x01, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x55, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x2A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x2A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00 .byte 0x22, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x1D, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xC8, 0x00, 0x00, 0x00, 0xD1, 0xF9, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xC3, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x39, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x1B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x10, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x0F, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xF4, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xB4, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x43, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x1C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00 .byte 0x2C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x1C, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00 .byte 0x55, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00 .byte 0x5E, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x00, 0x00 .byte 0x6F, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00 .byte 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00 .byte 0x7C, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00 .byte 0x8F, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00 .byte 0xA1, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0xA5, 0x00, 0x00, 0x00 .byte 0xA7, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00 .byte 0xB2, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00 .byte 0xBF, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00 .byte 0xC7, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00 .byte 0xD5, 0x00, 0x00, 0x00, 0xD7, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00 .byte 0xDE, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00 .byte 0xE9, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00 .byte 0xEF, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00 .byte 0xF7, 0x00, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x03, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0xF2, 0xF6, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x2C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x5A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 .byte 0x1D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x68, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xB1, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4A, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x52, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x4A, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1D, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x45, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x71, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x5D, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x7A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x5A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x44, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x97, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0F, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00 .byte 0xCF, 0xFF, 0xFF, 0xFF, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0F, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x27, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x5E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xD8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x22, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0xF3, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0xFD, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00 .byte 0x69, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xFB, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFD, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0xF7, 0xFF, 0xFF, 0xFF .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00 .byte 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00 .byte 0xEE, 0xFF, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x1F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xC3, 0xFF, 0xFF, 0xFF .byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xBF, 0xFF, 0xFF, 0xFF .byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xBA, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB7, 0xFF, 0xFF, 0xFF .byte 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0xB2, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xAF, 0xFF, 0xFF, 0xFF .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0xAA, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0xA7, 0xFF, 0xFF, 0xFF .byte 0x13, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0xA4, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00 .byte 0x67, 0x00, 0x00, 0x00, 0xA1, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x00, 0x00, 0x98, 0xFF, 0xFF, 0xFF, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x59, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x75, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x72, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x21, 0xF2, 0xFF, 0xFF .byte 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x6B, 0xFF, 0xFF, 0xFF .byte 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x67, 0xFF, 0xFF, 0xFF .byte 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x62, 0xFF, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x5D, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x54, 0xFF, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x7E, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x37, 0xFF, 0xFF, 0xFF .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x32, 0xFF, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x2F, 0xFF, 0xFF, 0xFF .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x26, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x36, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00 .byte 0x69, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00 .byte 0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00 .byte 0x78, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x63, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x64, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x6C, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x7C, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x6A, 0x00, 0x00, 0x00 .byte 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00 .byte 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x31, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00 .byte 0x6A, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x75, 0x00, 0x00, 0x00 .byte 0x76, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00 .byte 0x63, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x25, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00 .byte 0x3F, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x5B, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00 .byte 0x6D, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00 .byte 0x78, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x96, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x9D, 0x00, 0x00, 0x00 .byte 0xCF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 .byte 0x13, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x10, 0x19, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x0F, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x18, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1A, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x44, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1F, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4B, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x41, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00 .byte 0x3D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x00, 0x00 .byte 0x35, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 .byte 0x2D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x25, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x1D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x4F, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0xC1, 0xED, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x3A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x5B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x11, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xD6, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x9D, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x25, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xA2, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xB5, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xFB, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x54, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xDC, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0E, 0x01, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x01, 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x55, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xE4, 0xEC, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0x60, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA4, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00 .byte 0x93, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00 .byte 0x45, 0x01, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00 .byte 0xEE, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00, 0xBA, 0x00, 0x00, 0x00 .byte 0x67, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x39, 0x01, 0x00, 0x00 .byte 0x3F, 0x01, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0xF7, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0xF5, 0x00, 0x00, 0x00 .byte 0xA8, 0x00, 0x00, 0x00, 0x57, 0x01, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00 .byte 0x03, 0x01, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00 .byte 0x1D, 0x01, 0x00, 0x00, 0x77, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00 .byte 0x85, 0x01, 0x00, 0x00, 0x87, 0x01, 0x00, 0x00, 0x9F, 0x01, 0x00, 0x00, 0xBD, 0x01, 0x00, 0x00 .byte 0xD0, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x2C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x24, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00 .byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00 .byte 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x27, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x9C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x1F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x45, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x5E, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x45, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x63, 0xE9, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0xC9, 0x08, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0xE9, 0xFF, 0xFF, 0x2F, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x2B, 0x00, 0x00, 0x00 .byte 0xA0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xF8, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x94, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x51, 0x00, 0x00, 0x00, 0x8A, 0x08, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00 .byte 0x4F, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x00, 0x00 .byte 0x76, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x00, 0x00 .byte 0xC0, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00 .byte 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xE1, 0x00, 0x00, 0x00 .byte 0xE2, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00 .byte 0x05, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x00, 0x00, 0x00, 0x3C, 0x08, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00 .byte 0x2F, 0x08, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00 .byte 0x31, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00 .byte 0x8C, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00 .byte 0xB9, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00 .byte 0xE3, 0x00, 0x00, 0x00, 0xE6, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x51, 0x00, 0x00, 0x00, 0x09, 0x08, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00 .byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0xFF, 0xFF .byte 0x17, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x5D, 0x01, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x5B, 0x01, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xA1, 0x01, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0xE2, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0xBD, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 0xE8, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x4F, 0xE8, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x56, 0xE8, 0xFF, 0xFF, 0x21, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x39, 0xE8, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0xB6, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x1D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xE8, 0xFF, 0xFF .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x48, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x40, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x38, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x39, 0xE8, 0xFF, 0xFF .byte 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x31, 0xE8, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x29, 0xE8, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x51, 0x00, 0x00, 0x00, 0xF2, 0x03, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x2D, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x82, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x1F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x82, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x1D, 0x01, 0x00, 0x00, 0xAE, 0x02, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x35, 0x02, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x32, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0xF8, 0x00, 0x00, 0x00, 0x59, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00 .byte 0x56, 0x02, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x02, 0x01, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00 .byte 0xC8, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0xB1, 0x01, 0x00, 0x00, 0x4E, 0x01, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x0A, 0x01, 0x00, 0x00, 0x93, 0x01, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0xAC, 0x02, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x1B, 0x03, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0xE7, 0x02, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00 .byte 0xE3, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x57, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x57, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0xFF, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x57, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x66, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x57, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x51, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00 .byte 0x00, 0x70, 0x00, 0x00, 0x77, 0x04, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x52, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x37, 0xE6, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x33, 0xE6, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x2F, 0xE6, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1A, 0xE6, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x17, 0xE6, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE6, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFB, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0xD3, 0xE5, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x5A, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x5A, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x29, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0xE5, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0xE5, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x76, 0xE5, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08 .byte 0x71, 0xE5, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6B, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x65, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x53, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x4D, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0xE5, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x41, 0xE5, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x33, 0xE5, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x61, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x3B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x20, 0xE5, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x2B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x10, 0xE5, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0D, 0xE5, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x05, 0xE5, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xE4, 0xFF, 0xFF .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF6, 0xE4, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xEC, 0xE4, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0x02, 0xE5, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00 .byte 0xFF, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xFC, 0xE4, 0xFF, 0xFF .byte 0x13, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0xF9, 0xE4, 0xFF, 0xFF, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xEE, 0xE4, 0xFF, 0xFF .byte 0x13, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0xEB, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00 .byte 0x25, 0x00, 0x00, 0x00, 0xE8, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00 .byte 0xE5, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0xE2, 0xE4, 0xFF, 0xFF .byte 0x13, 0x00, 0x00, 0x00, 0x6F, 0x00, 0x00, 0x00, 0xDF, 0xE4, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00 .byte 0x7A, 0x00, 0x00, 0x00, 0xDC, 0xE4, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0xB3, 0x01, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x1F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x52, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0xB4, 0xE4, 0xFF, 0xFF, 0x17, 0x00, 0x00, 0x00, 0xB3, 0x01, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xB8, 0xE4, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB2, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x9D, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x97, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xA0, 0xE4, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x7D, 0xE4, 0xFF, 0xFF, 0x17, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x57, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0xE4, 0xFF, 0xFF .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x7B, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x66, 0xE4, 0xFF, 0xFF .byte 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x60, 0xE4, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0xB4, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3F, 0xE4, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x54, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3F, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x39, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0xE4, 0xFF, 0xFF, 0x52, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x2D, 0xE4, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x6A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x76, 0x01, 0x00, 0x00, 0x7E, 0x01, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x18, 0xE4, 0xFF, 0xFF .byte 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0xFF .byte 0x54, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xF3, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x14, 0xE4, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xE3, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 .byte 0xA0, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xDB, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0xFC, 0xE3, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0xE9, 0xE3, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0xE7, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xE2, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xDD, 0xE3, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0xA9, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 .byte 0xB9, 0xE3, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4B, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0xB7, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xB2, 0xE3, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xAD, 0xE3, 0xFF, 0xFF .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x1D, 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00 .byte 0x84, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x42, 0x00, 0x00, 0x00, 0xBB, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x0E, 0x01, 0x00, 0x00 .byte 0xCC, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x00, 0x00, 0xDE, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x0F, 0x01, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x9F, 0x01, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x7C, 0x01, 0x00, 0x00 .byte 0xE8, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x6F, 0x01, 0x00, 0x00, 0xFA, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x5B, 0x01, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x88, 0xE3, 0xFF, 0xFF, 0x13, 0x00, 0x00, 0x00 .byte 0x70, 0x00, 0x00, 0x00, 0x85, 0xE3, 0xFF, 0xFF, 0x29, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x49, 0x01, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x30, 0x01, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x57, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00 .byte 0x2A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00 .byte 0x26, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00 .byte 0x22, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00 .byte 0x1A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x9B, 0x01, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB9, 0x01, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xCF, 0x01, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xB6, 0x01, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xD1, 0x01, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xC9, 0x01, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0xF6, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x20, 0xE3, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF9, 0xFE, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xE8, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00 .byte 0xE4, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0xDA, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0xFB, 0xE2, 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x04, 0x00, 0x00, 0x00, 0xC7, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0xD4, 0xFE, 0xFF, 0xFF, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCE, 0xFE, 0xFF, 0xFF, 0x4C, 0x00, 0x00, 0x00 .byte 0xB4, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0xA2, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0xCF, 0xE2, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0xBF, 0xE2, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x99, 0xE2, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x9C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x9D, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00 .byte 0x74, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x56, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x58, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x49, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x44, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x50, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4B, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x46, 0xE2, 0xFF, 0xFF .byte 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x41, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x08, 0x00, 0x00, 0x00, 0x3C, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x07, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x37, 0xE2, 0xFF, 0xFF, 0x32, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x32, 0xE2, 0xFF, 0xFF .byte 0x05, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x50, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0xFF, 0x4D, 0x00, 0x00, 0x00 .byte 0x51, 0x00, 0x00, 0x00, 0xEE, 0xFD, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x46, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x6F, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0xFE, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x00 .byte 0x0E, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x19, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF .byte 0x4D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00 .byte 0x62, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00 .byte 0xA8, 0x00, 0x00, 0x00, 0xC2, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00 .byte 0x0E, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x5D, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00 .byte 0xCE, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00 .byte 0xF0, 0x00, 0x00, 0x00, 0xF3, 0x00, 0x00, 0x00, 0xF4, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00 .byte 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00 .byte 0x1E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00 .byte 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00 .byte 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00 .byte 0x3F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00 .byte 0x5E, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x00, 0x00, 0x8F, 0x00, 0x00, 0x00 .byte 0x90, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00 .byte 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x00, 0x00 .byte 0xD2, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00 .byte 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00 .byte 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00 .byte 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00 .byte 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00 .byte 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .byte 0x42, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00 .byte 0xCD, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00 .byte 0xD4, 0x00, 0x00, 0x00, 0xE2, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00 .byte 0x0B, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00 .byte 0x0F, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00 .byte 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00 .byte 0x23, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00 .byte 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 .byte 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00 .byte 0x3C, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00 .byte 0x40, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00 .byte 0x5D, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00 .byte 0x76, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00 .byte 0x8F, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00 .byte 0xCE, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0xD3, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x00, 0x00 .byte 0xE2, 0x00, 0x00, 0x00, 0xED, 0x00, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0x51, 0x00, 0x00, 0x00, 0x86, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00 .byte 0x09, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00 .byte 0x2F, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00 .byte 0xA4, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x03, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00 .byte 0x2E, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00 .byte 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x05, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 .byte 0x02, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00 .byte 0x3A, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00 .byte 0x42, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00 .byte 0x64, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00 .byte 0xA5, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x00, 0xA7, 0x00, 0x00, 0x00, 0xAD, 0x00, 0x00, 0x00 .byte 0xBB, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xC5, 0x00, 0x00, 0x00 .byte 0xC7, 0x00, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0xD5, 0x00, 0x00, 0x00, 0xE8, 0x00, 0x00, 0x00 .byte 0xEA, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x09, 0x01, 0x00, 0x00 .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 .byte 0x10, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00 .byte 0x17, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x13, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x3D, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x3F, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x3D, 0x00, 0x00, 0x00 .byte 0x4D, 0x00, 0x00, 0x00 .global MOD16_021FF3C8 MOD16_021FF3C8: ; 0x021FF3C8 .byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF3D8 MOD16_021FF3D8: ; 0x021FF3D8 .word MOD16_021DDC2C, MOD16_021DFA28, MOD16_021E7B38, MOD16_021E9540 .word MOD16_021E4234, MOD16_021EAE98, MOD16_021ECADC, MOD16_021EE654 .global MOD16_021FF3F8 MOD16_021FF3F8: ; 0x021FF3F8 .word MOD16_021DDC8C, MOD16_021DFA88, MOD16_021E7B98, MOD16_021E95A0 .word MOD16_021E4294, MOD16_021EAEF8, MOD16_021ECB3C, MOD16_021EE6B4 .global MOD16_021FF418 MOD16_021FF418: ; 0x021FF418 .word MOD16_021DC068, MOD16_021DEB2C, MOD16_021E4B4C, MOD16_021E5BF0 .word MOD16_021E6E7C, MOD16_021E8BF0, MOD16_021E2EC4, MOD16_021EA1F0 .word MOD16_021EC1FC, MOD16_021ED55C .global MOD16_021FF440 MOD16_021FF440: ; 0x021FF440 .word MOD16_021DC0CC, MOD16_021DEB8C, MOD16_021E4BA4, MOD16_021E5C48 .word MOD16_021E6ED4, MOD16_021E8C50, MOD16_021E2F1C, MOD16_021EA248 .word MOD16_021EC25C, MOD16_021ED5B4 .global MOD16_021FF468 MOD16_021FF468: ; 0x021FF468 .byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00 .global MOD16_021FF490 MOD16_021FF490: ; 0x021FF490 .byte 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF4A0 MOD16_021FF4A0: ; 0x021FF4A0 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x02, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF4BC MOD16_021FF4BC: ; 0x021FF4BC .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF4D8 MOD16_021FF4D8: ; 0x021FF4D8 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x02, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF4F4 MOD16_021FF4F4: ; 0x021FF4F4 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x01, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF510 MOD16_021FF510: ; 0x021FF510 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF52C MOD16_021FF52C: ; 0x021FF52C .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x01, 0x01, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF548 MOD16_021FF548: ; 0x021FF548 .word GX_LoadBGPltt, GX_LoadOBJPltt, GX_LoadBGExtPltt, GX_LoadOBJExtPltt .word GXS_LoadBGPltt, GXS_LoadOBJPltt, GXS_LoadBGExtPltt, GXS_LoadOBJExtPltt .global MOD16_021FF568 MOD16_021FF568: ; 0x021FF568 .byte 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00 .global MOD16_021FF570 MOD16_021FF570: ; 0x021FF570 .byte 0x00, 0xD0, 0x0B, 0x00, 0x00, 0x90, 0x0B, 0x00, 0x00, 0x50, 0x0B, 0x00, 0x00, 0x10, 0x0B, 0x00 .byte 0x00, 0xF0, 0x0A, 0x00, 0x00, 0xA0, 0x0A, 0x00, 0x00, 0xF0, 0x0A, 0x00, 0x00, 0x10, 0x0B, 0x00 .byte 0x00, 0x50, 0x0B, 0x00, 0x00, 0x90, 0x0B, 0x00, 0x09, 0x40, 0x0B, 0x00 .global MOD16_021FF59C MOD16_021FF59C: ; 0x021FF59C .byte 0x00, 0xC0, 0x00, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0xA0, 0x01, 0x00, 0x00, 0xA0, 0x02, 0x00 .byte 0x00, 0xA0, 0x03, 0x00, 0x00, 0x20, 0x05, 0x00, 0x00, 0xA0, 0x06, 0x00, 0x00, 0xA0, 0x07, 0x00 .byte 0x00, 0xA0, 0x08, 0x00, 0x00, 0xE0, 0x08, 0x00, 0x00, 0x80, 0x09, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF .global MOD16_021FF5D6 MOD16_021FF5D6: ; 0x021FF5D6 .byte 0x0A, 0x00, 0xFF, 0xFF, 0x00, 0x00 .global MOD16_021FF5DC MOD16_021FF5DC: ; 0x021FF5DC .byte 0x00, 0xC0, 0x01, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0xC0, 0x06, 0x00, 0x00, 0x40, 0x09, 0x00 .byte 0x00, 0xC0, 0x0B, 0x00, 0x00, 0x40, 0x0E, 0x00 .global MOD16_021FF5F4 MOD16_021FF5F4: ; 0x021FF5F4 .byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00 .byte 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF60C MOD16_021FF60C: ; 0x021FF60C .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0xD8, 0x02 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0x22, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0xD8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00, 0x8E, 0x03, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x44, 0x04 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x00, 0xFA, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xB0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAA, 0x0A, 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xAA, 0x0A .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x01, 0xAA, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xAA, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x1A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xAA, 0x0A .byte 0x01, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x2E, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x80, 0x03, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xAC, 0x0D, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF .byte 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0xAA, 0x0A, 0x01, 0x00, 0x00, 0x00 .byte 0xF0, 0xFF, 0xFF, 0xFF .global MOD16_021FF760 MOD16_021FF760: ; 0x021FF760 .byte 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF770 MOD16_021FF770: ; 0x021FF770 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x01, 0x03, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF78C MOD16_021FF78C: ; 0x021FF78C .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF7A8 MOD16_021FF7A8: ; 0x021FF7A8 .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x00, 0x02, 0x05, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .global MOD16_021FF7C4 MOD16_021FF7C4: ; 0x021FF7C4 .byte 0x64, 0x00 .global MOD16_021FF7C6 MOD16_021FF7C6: ; 0x021FF7C6 .byte 0x14, 0x00, 0xFA, 0x00, 0x28, 0x00, 0xF4, 0x01, 0x3C, 0x00, 0xE8, 0x03, 0x50, 0x00, 0xD0, 0x07 .byte 0x64, 0x00, 0xFF, 0xFF, 0xFF, 0xFF .global MOD16_021FF7DC MOD16_021FF7DC: ; 0x021FF7DC .byte 0x87, 0x00, 0xDB, 0x00, 0xDE, 0x00, 0x0C, 0x01, 0x29, 0x00, 0x57, 0x00, 0x58, 0x00, 0x79, 0x00 .byte 0x7B, 0x00, 0x82, 0x00, 0xC4, 0x00, 0xFF, 0xFF .global MOD16_021FF7F4 MOD16_021FF7F4: ; 0x021FF7F4 .byte 0x07, 0x00, 0x08, 0x00, 0x27, 0x00, 0x4B, 0x00, 0x50, 0x00, 0x91, 0x00, 0x97, 0x00, 0xA1, 0x00 .byte 0xAA, 0x00, 0xB6, 0x00, 0xBE, 0x00, 0xF8, 0x00, 0x0D, 0x01, 0xFF, 0xFF .global MOD16_021FF810 MOD16_021FF810: ; 0x021FF810 .word MOD16_021F01FC, MOD16_021F0238, MOD16_021F0274, MOD16_021F02B0 .word MOD16_021F02EC, MOD16_021F0320, MOD16_021F0378, MOD16_021F03D0 .word MOD16_021F0428, MOD16_021F0480, MOD16_021F04CC, MOD16_021F0518 .word MOD16_021F0564, MOD16_021F05B0, MOD16_021F05F8, MOD16_021F0640 .word MOD16_021F0690, MOD16_021F06E0, MOD16_021F0710, MOD16_021F0740 .word MOD16_021F0770, MOD16_021F07A0, MOD16_021F07D0, MOD16_021F0800 .word MOD16_021F0830, MOD16_021F0860, MOD16_021F08B4, MOD16_021F0904 .word MOD16_021F0968, MOD16_021F09CC, MOD16_021F09E8, MOD16_021F0B78 .word MOD16_021F0B9C, MOD16_021F0CD8, MOD16_021F0D0C, MOD16_021F0D3C .word MOD16_021F0D6C, MOD16_021F0DB0, MOD16_021F0DF4, MOD16_021F0ED0 .word MOD16_021F0EEC, MOD16_021F0F10, MOD16_021F10C4, MOD16_021F1178 .word MOD16_021F1210, MOD16_021F1304, MOD16_021F13F8, MOD16_021F1470 .word MOD16_021F14A8, MOD16_021F14E0, MOD16_021F1534, MOD16_021F1588 .word MOD16_021F15DC, MOD16_021F1630, MOD16_021F175C, MOD16_021F1888 .word MOD16_021F1948, MOD16_021F1A08, MOD16_021F1AAC, MOD16_021F1B50 .word MOD16_021F1BC0, MOD16_021F1C30, MOD16_021F1C4C, MOD16_021F1C50 .word MOD16_021F1C54, MOD16_021F1C88, MOD16_021F28A8, MOD16_021F28E0 .word MOD16_021F292C, MOD16_021F2964, MOD16_021F297C, MOD16_021F29B0 .word MOD16_021F29D0, MOD16_021F29F0, MOD16_021F2A10, MOD16_021F2A6C .word MOD16_021F2A8C, MOD16_021F2AA8, MOD16_021F2AD0, MOD16_021F2B74 .word MOD16_021F2BAC, MOD16_021F2BE4, MOD16_021F0B1C, MOD16_021F0FEC .word MOD16_021F2C18, MOD16_021F1CEC, MOD16_021F1D54, MOD16_021F1D84 .word MOD16_021F1DEC, MOD16_021F1E7C, MOD16_021F1F20, MOD16_021F1F50 .word MOD16_021F1F80, MOD16_021F1FDC, MOD16_021F2000, MOD16_021F2030 .word MOD16_021F20F4, MOD16_021F2130, MOD16_021F22C4, MOD16_021F22FC .word MOD16_021F2414, MOD16_021F2464, MOD16_021F24B4, MOD16_021F2508 .word MOD16_021F255C, MOD16_021F26AC, MOD16_021F2808, MOD16_021F2858 .word MOD16_021F2C5C .data .bss