diff options
Diffstat (limited to 'arm9/modules/05/asm/module_05.s')
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 10772 |
1 files changed, 0 insertions, 10772 deletions
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index 64e26e0b..3aba12d9 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -3,10641 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD05_021DC0B8 -MOD05_021DC0B8: ; 0x021DC0B8 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #4 - mov r1, #0x18 - bl AllocFromHeap - add r4, r0, #0 - add r2, r4, #0 - mov r1, #0x18 - mov r0, #0 -_021DC0CC: - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _021DC0CC - add r0, r5, #0 - bl MOD05_021DC554 - str r0, [r4] - mov r1, #0 - str r1, [r4, #4] - str r1, [r4, #8] - mov r0, #6 - str r0, [r4, #0xc] - str r1, [r4, #0x14] - mov r0, #0x17 - str r0, [r4, #0x10] - mov r0, #0x10 - mov r1, #1 - bl FUN_0201E6E4 - add r0, r4, #0 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DC0F8 -MOD05_021DC0F8: ; 0x021DC0F8 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x14] - cmp r0, #0 - beq _021DC106 - bl FUN_0200CAB4 -_021DC106: - add r0, r4, #0 - bl MOD05_021DC594 - add r2, r4, #0 - mov r1, #0x18 - mov r0, #0 -_021DC112: - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _021DC112 - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DC124 -MOD05_021DC124: ; 0x021DC124 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - add r4, r1, #0 - cmp r0, #6 - beq _021DC134 - bl ErrorHandling -_021DC134: - ldr r2, [r5, #4] - cmp r2, r4 - beq _021DC170 - ldr r0, [r5] - mov r1, #8 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC14A - bl ErrorHandling -_021DC14A: - ldr r0, [r5] - mov r1, #0 - add r2, r4, #0 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC15C - bl ErrorHandling -_021DC15C: - ldr r0, [r5] - mov r1, #3 - add r2, r4, #0 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC16E - bl ErrorHandling -_021DC16E: - str r4, [r5, #4] -_021DC170: - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DC174 -MOD05_021DC174: ; 0x021DC174 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - add r4, r1, #0 - cmp r0, #6 - beq _021DC186 - str r4, [r5, #0x10] - mov r0, #1 - pop {r3, r4, r5, pc} -_021DC186: - ldr r0, [r5, #4] - cmp r0, r4 - bne _021DC190 - mov r0, #1 - pop {r3, r4, r5, pc} -_021DC190: - ldr r0, [r5, #0x14] - cmp r0, #0 - beq _021DC19A - bl ErrorHandling -_021DC19A: - str r4, [r5, #8] - ldr r0, [r5, #4] - add r1, r4, #0 - bl MOD05_021DC368 - cmp r0, #0 - bne _021DC1B6 - ldr r0, _021DC1C8 ; =MOD05_021DC1D4 - mov r2, #0 - add r1, r5, #0 - str r2, [r5, #0xc] - bl FUN_0200CA44 - b _021DC1C2 -_021DC1B6: - ldr r0, _021DC1CC ; =MOD05_021DC2A4 - mov r2, #0 - add r1, r5, #0 - str r2, [r5, #0xc] - bl FUN_0200CA44 -_021DC1C2: - str r0, [r5, #0x14] - mov r0, #1 - pop {r3, r4, r5, pc} - .balign 4, 0 -_021DC1C8: .word MOD05_021DC1D4 -_021DC1CC: .word MOD05_021DC2A4 - - thumb_func_start MOD05_021DC1D0 -MOD05_021DC1D0: ; 0x021DC1D0 - ldr r0, [r0, #4] - bx lr - - thumb_func_start MOD05_021DC1D4 -MOD05_021DC1D4: ; 0x021DC1D4 - push {r4, lr} - add r4, r1, #0 - ldr r1, [r4, #0xc] - cmp r1, #5 - bhi _021DC2A2 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021DC1EA: ; jump table - .short _021DC1F6 - _021DC1EA - 2 ; case 0 - .short _021DC210 - _021DC1EA - 2 ; case 1 - .short _021DC236 - _021DC1EA - 2 ; case 2 - .short _021DC250 - _021DC1EA - 2 ; case 3 - .short _021DC264 - _021DC1EA - 2 ; case 4 - .short _021DC286 - _021DC1EA - 2 ; case 5 -_021DC1F6: - ldr r0, [r4] - ldr r2, [r4, #4] - mov r1, #5 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC208 - bl ErrorHandling -_021DC208: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC210: - ldr r0, [r4] - ldr r1, [r4, #4] - bl MOD05_021DC6C0 - cmp r0, #3 - beq _021DC2A2 - ldr r0, [r4] - ldr r2, [r4, #4] - mov r1, #8 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC22E - bl ErrorHandling -_021DC22E: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC236: - ldr r0, [r4] - ldr r2, [r4, #8] - mov r1, #1 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC248 - bl ErrorHandling -_021DC248: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC250: - ldr r0, [r4] - ldr r1, [r4, #8] - bl MOD05_021DC6C0 - cmp r0, #1 - beq _021DC2A2 - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC264: - ldr r0, [r4] - ldr r2, [r4, #8] - mov r1, #2 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC276 - bl ErrorHandling -_021DC276: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - ldr r0, [r4, #8] - str r0, [r4, #4] - mov r0, #0 - str r0, [r4, #8] - pop {r4, pc} -_021DC286: - mov r1, #6 - str r1, [r4, #0xc] - mov r1, #0 - str r1, [r4, #0x14] - bl FUN_0200CAB4 - ldr r1, [r4, #0x10] - cmp r1, #0x17 - beq _021DC2A2 - add r0, r4, #0 - bl MOD05_021DC174 - mov r0, #0x17 - str r0, [r4, #0x10] -_021DC2A2: - pop {r4, pc} - - thumb_func_start MOD05_021DC2A4 -MOD05_021DC2A4: ; 0x021DC2A4 - push {r4, lr} - add r4, r1, #0 - ldr r1, [r4, #0xc] - cmp r1, #4 - bhi _021DC366 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021DC2BA: ; jump table - .short _021DC2C4 - _021DC2BA - 2 ; case 0 - .short _021DC2DE - _021DC2BA - 2 ; case 1 - .short _021DC2F2 - _021DC2BA - 2 ; case 2 - .short _021DC31E - _021DC2BA - 2 ; case 3 - .short _021DC344 - _021DC2BA - 2 ; case 4 -_021DC2C4: - ldr r0, [r4] - ldr r2, [r4, #8] - mov r1, #1 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC2D6 - bl ErrorHandling -_021DC2D6: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC2DE: - ldr r0, [r4] - ldr r1, [r4, #8] - bl MOD05_021DC6C0 - cmp r0, #1 - beq _021DC366 - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC2F2: - ldr r0, [r4] - ldr r2, [r4, #4] - mov r1, #7 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC304 - bl ErrorHandling -_021DC304: - ldr r0, [r4] - ldr r2, [r4, #8] - mov r1, #4 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC316 - bl ErrorHandling -_021DC316: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC31E: - ldr r0, [r4] - ldr r1, [r4, #4] - bl MOD05_021DC6C0 - cmp r0, #3 - beq _021DC366 - ldr r0, [r4] - ldr r2, [r4, #4] - mov r1, #8 - bl MOD05_021DC608 - cmp r0, #0 - bne _021DC33C - bl ErrorHandling -_021DC33C: - ldr r0, [r4, #0xc] - add r0, r0, #1 - str r0, [r4, #0xc] - pop {r4, pc} -_021DC344: - ldr r1, [r4, #8] - mov r2, #0 - str r1, [r4, #4] - str r2, [r4, #8] - mov r1, #6 - str r1, [r4, #0xc] - str r2, [r4, #0x14] - bl FUN_0200CAB4 - ldr r1, [r4, #0x10] - cmp r1, #0x17 - beq _021DC366 - add r0, r4, #0 - bl MOD05_021DC174 - mov r0, #0x17 - str r0, [r4, #0x10] -_021DC366: - pop {r4, pc} - - thumb_func_start MOD05_021DC368 -MOD05_021DC368: ; 0x021DC368 - mov r2, #0 - cmp r0, #7 - bgt _021DC37E - cmp r0, #5 - blt _021DC3BC - beq _021DC384 - cmp r0, #6 - beq _021DC394 - cmp r0, #7 - beq _021DC3AE - b _021DC3BC -_021DC37E: - cmp r0, #0x15 - beq _021DC3A4 - b _021DC3BC -_021DC384: - cmp r1, #6 - beq _021DC390 - cmp r1, #0x15 - beq _021DC390 - cmp r1, #7 - bne _021DC3BC -_021DC390: - mov r2, #1 - b _021DC3BC -_021DC394: - cmp r1, #5 - beq _021DC3A0 - cmp r1, #0x15 - beq _021DC3A0 - cmp r1, #7 - bne _021DC3BC -_021DC3A0: - mov r2, #1 - b _021DC3BC -_021DC3A4: - sub r0, r1, #5 - cmp r0, #2 - bhi _021DC3BC - mov r2, #1 - b _021DC3BC -_021DC3AE: - cmp r1, #5 - beq _021DC3BA - cmp r1, #0x15 - beq _021DC3BA - cmp r1, #6 - bne _021DC3BC -_021DC3BA: - mov r2, #1 -_021DC3BC: - add r0, r2, #0 - bx lr - - thumb_func_start MOD05_021DC3C0 -MOD05_021DC3C0: ; 0x021DC3C0 - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - ldr r1, _021DC46C ; =0xFFFFF000 - add r6, r0, #0 - add r0, #0x14 - bl FUN_0202134C - mov r0, #0 - add r3, r6, #0 - str r0, [sp, #0xc] - str r0, [sp, #0x10] - mov r0, #0xff - lsl r0, r0, #0xc - str r0, [sp, #0x14] - mov r0, #3 - lsl r0, r0, #0x12 - str r0, [sp, #0x18] - add r0, r6, #0 - add r0, #0xac - add r1, sp, #0xc - mov r2, #1 - add r3, #0x14 - bl FUN_02009FD8 - mov r4, #0 - add r5, r6, #0 - mov r7, #0x17 -_021DC3F6: - add r0, r7, #0 - add r1, r4, #0 - mov r2, #4 - bl FUN_02008DEC - add r4, r4, #1 - stmia r5!, {r0} - cmp r4, #4 - blt _021DC3F6 - bl FUN_0200965C - add r1, r0, #0 - mov r0, #4 - lsl r1, r1, #2 - bl AllocFromHeap - str r0, [r6, #0x10] - mov r1, #0 - mov r2, #0x39 - bl MOD05_021DC480 - ldr r0, [r6, #0x10] - mov r1, #1 - mov r2, #0x3a - bl MOD05_021DC480 - ldr r0, [r6, #0x10] - mov r1, #2 - mov r2, #0x37 - bl MOD05_021DC480 - ldr r0, [r6, #0x10] - mov r1, #3 - mov r2, #0x38 - bl MOD05_021DC480 - mov r0, #0x40 - str r0, [sp] - add r0, r6, #0 - add r0, #0x14 - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - add r0, sp, #0 - bl FUN_0201FCB0 - add r1, r6, #0 - add r1, #0xf4 - str r0, [r1] - ldr r0, _021DC470 ; =MOD05_021DC474 - add r1, r6, #0 - mov r2, #0xa - bl FUN_0200CA44 - add r6, #0xf8 - str r0, [r6] - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - nop -_021DC46C: .word 0xFFFFF000 -_021DC470: .word MOD05_021DC474 - - thumb_func_start MOD05_021DC474 -MOD05_021DC474: ; 0x021DC474 - ldr r3, _021DC47C ; =FUN_0201FDEC - add r1, #0xf4 - ldr r0, [r1] - bx r3 - .balign 4, 0 -_021DC47C: .word FUN_0201FDEC - - thumb_func_start MOD05_021DC480 -MOD05_021DC480: ; 0x021DC480 - push {r3, r4, r5, lr} - add r5, r2, #0 - bl FUN_02009660 - add r4, r0, #0 - mov r0, #1 - str r0, [sp] - mov r0, #0x41 - add r1, r5, #0 - mov r2, #0 - mov r3, #4 - bl FUN_02006C98 - add r5, r0, #0 - add r1, r4, #0 - mov r2, #4 - bl FUN_02009668 - add r0, r5, #0 - bl FreeToHeap - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DC4AC -MOD05_021DC4AC: ; 0x021DC4AC - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r4, #0 - add r5, r6, #0 -_021DC4B4: - ldr r0, [r6, #0x10] - add r1, r4, #0 - bl FUN_02009660 - bl FUN_020096B4 - ldr r0, [r5] - bl FUN_02008E2C - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #4 - blt _021DC4B4 - ldr r0, [r6, #0x10] - bl FreeToHeap - mov r0, #0 - str r0, [r6, #0x10] - add r0, r6, #0 - add r0, #0xf4 - ldr r0, [r0] - bl FUN_0201FD58 - add r0, r6, #0 - mov r1, #0 - add r0, #0xf4 - str r1, [r0] - add r0, r6, #0 - add r0, #0xf8 - ldr r0, [r0] - bl FUN_0200CAB4 - mov r0, #0 - add r6, #0xf8 - str r0, [r6] - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021DC4FC -MOD05_021DC4FC: ; 0x021DC4FC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4] - ldr r1, _021DC54C ; =0x0013F000 - cmp r0, r1 - ble _021DC512 - bl _s32_div_f - str r1, [r4] - b _021DC51C -_021DC512: - ldr r2, _021DC550 ; =0xFFFC0000 - cmp r0, r2 - bge _021DC51C - add r0, r0, r1 - str r0, [r4] -_021DC51C: - mov r1, #1 - ldr r3, [r4, #4] - lsl r1, r1, #0x14 - cmp r3, r1 - ble _021DC536 - lsr r2, r3, #0x1f - lsl r1, r3, #0xc - sub r1, r1, r2 - mov r0, #0xc - ror r1, r0 - add r0, r2, r1 - str r0, [r4, #4] - b _021DC540 -_021DC536: - ldr r0, _021DC550 ; =0xFFFC0000 - cmp r3, r0 - bge _021DC540 - add r0, r3, r1 - str r0, [r4, #4] -_021DC540: - add r0, r5, #0 - add r1, r4, #0 - bl FUN_02020044 - pop {r3, r4, r5, pc} - nop -_021DC54C: .word 0x0013F000 -_021DC550: .word 0xFFFC0000 - - thumb_func_start MOD05_021DC554 -MOD05_021DC554: ; 0x021DC554 - push {r3, r4, r5, lr} - mov r1, #0x43 - add r5, r0, #0 - mov r0, #4 - lsl r1, r1, #2 - bl AllocFromHeap - add r4, r0, #0 - mov r0, #0x41 - lsl r0, r0, #2 - str r5, [r4, r0] - add r0, r4, #0 - add r0, #8 - bl MOD05_021DC3C0 - ldr r0, _021DC58C ; =UNK05_021FD2D4 - mov r1, #4 - str r0, [r4] - ldr r0, _021DC590 ; =UNK05_021F689C - str r0, [r4, #4] - mov r0, #0x41 - bl NARC_ctor - mov r1, #0x42 - lsl r1, r1, #2 - str r0, [r4, r1] - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_021DC58C: .word UNK05_021FD2D4 -_021DC590: .word UNK05_021F689C - - thumb_func_start MOD05_021DC594 -MOD05_021DC594: ; 0x021DC594 - push {r3, r4, r5, lr} - sub sp, #8 - add r4, r0, #0 - ldr r0, [r4] - cmp r0, #0 - beq _021DC5FE - mov r5, #0 -_021DC5A2: - ldr r0, [r4] - add r1, r5, #0 - bl MOD05_021DCA94 - add r5, r5, #1 - cmp r5, #0x17 - blt _021DC5A2 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - mov r0, #0x41 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r0, [r1, r0] - mov r1, #1 - ldr r0, [r0, #0x44] - add r3, r2, #0 - bl MOD05_021DBA40 - ldr r1, _021DC604 ; =0x04000008 - mov r0, #3 - ldrh r2, [r1] - bic r2, r0 - mov r0, #1 - orr r0, r2 - strh r0, [r1] - mov r0, #4 - mov r1, #0 - bl FUN_0201E6E4 - ldr r0, [r4] - add r0, #8 - bl MOD05_021DC4AC - mov r0, #0x42 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r0, [r1, r0] - bl NARC_dtor - ldr r1, [r4] - mov r0, #4 - bl FUN_02016A8C - mov r0, #0 - str r0, [r4] -_021DC5FE: - add sp, #8 - pop {r3, r4, r5, pc} - nop -_021DC604: .word 0x04000008 - - thumb_func_start MOD05_021DC608 -MOD05_021DC608: ; 0x021DC608 - push {r4, r5, r6, lr} - add r4, r2, #0 - add r6, r0, #0 - mov r5, #1 - cmp r4, #0x17 - ble _021DC618 - mov r0, #0 - pop {r4, r5, r6, pc} -_021DC618: - cmp r1, #8 - bhi _021DC6BC - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021DC628: ; jump table - .short _021DC63A - _021DC628 - 2 ; case 0 - .short _021DC644 - _021DC628 - 2 ; case 1 - .short _021DC64E - _021DC628 - 2 ; case 2 - .short _021DC65C - _021DC628 - 2 ; case 3 - .short _021DC66A - _021DC628 - 2 ; case 4 - .short _021DC69A - _021DC628 - 2 ; case 5 - .short _021DC6A4 - _021DC628 - 2 ; case 6 - .short _021DC6AC - _021DC628 - 2 ; case 7 - .short _021DC6B6 - _021DC628 - 2 ; case 8 -_021DC63A: - add r1, r4, #0 - bl MOD05_021DC8BC - add r5, r0, #0 - b _021DC6BC -_021DC644: - add r1, r4, #0 - bl MOD05_021DC90C - add r5, r0, #0 - b _021DC6BC -_021DC64E: - add r1, r4, #0 - mov r2, #0 - add r3, r5, #0 - bl MOD05_021DC948 - add r5, r0, #0 - b _021DC6BC -_021DC65C: - add r1, r4, #0 - mov r2, #2 - add r3, r5, #0 - bl MOD05_021DC948 - add r5, r0, #0 - b _021DC6BC -_021DC66A: - mov r0, #0x41 - lsl r0, r0, #2 - ldr r0, [r6, r0] - ldr r0, [r0, #0x44] - bl MOD05_021DBA30 - cmp r0, #1 - bne _021DC68A - add r0, r6, #0 - add r1, r4, #0 - mov r2, #0 - mov r3, #2 - bl MOD05_021DC948 - add r5, r0, #0 - b _021DC6BC -_021DC68A: - add r0, r6, #0 - add r1, r4, #0 - mov r2, #0 - add r3, r5, #0 - bl MOD05_021DC948 - add r5, r0, #0 - b _021DC6BC -_021DC69A: - add r1, r4, #0 - add r2, r5, #0 - bl MOD05_021DCA44 - b _021DC6BC -_021DC6A4: - add r1, r4, #0 - bl MOD05_021DCA6C - b _021DC6BC -_021DC6AC: - add r1, r4, #0 - mov r2, #0 - bl MOD05_021DCA44 - b _021DC6BC -_021DC6B6: - add r1, r4, #0 - bl MOD05_021DCA94 -_021DC6BC: - add r0, r5, #0 - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021DC6C0 -MOD05_021DC6C0: ; 0x021DC6C0 - cmp r1, #0x17 - blt _021DC6C8 - mov r0, #0 - bx lr -_021DC6C8: - ldr r2, [r0] - mov r0, #0x24 - mul r0, r1 - add r0, r2, r0 - ldr r0, [r0, #0x14] - bx lr - - thumb_func_start MOD05_021DC6D4 -MOD05_021DC6D4: ; 0x021DC6D4 - push {r3, lr} - add r3, r0, #0 - str r1, [sp] - ldr r0, _021DC6E8 ; =0x04000050 - mov r1, #4 - mov r2, #0x21 - bl G2x_SetBlendAlpha_ - pop {r3, pc} - nop -_021DC6E8: .word 0x04000050 - - thumb_func_start MOD05_021DC6EC -MOD05_021DC6EC: ; 0x021DC6EC - str r1, [r0] - str r1, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #8] - str r3, [r0, #0x10] - mov r1, #0 - str r1, [r0, #0xc] - bx lr - - thumb_func_start MOD05_021DC6FC -MOD05_021DC6FC: ; 0x021DC6FC - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4, #8] - ldr r0, [r4, #0xc] - mul r0, r1 - ldr r1, [r4, #0x10] - bl _s32_div_f - ldr r1, [r4, #4] - add r0, r0, r1 - str r0, [r4] - ldr r0, [r4, #0xc] - ldr r1, [r4, #0x10] - add r0, r0, #1 - cmp r0, r1 - bgt _021DC722 - str r0, [r4, #0xc] - mov r0, #0 - pop {r4, pc} -_021DC722: - str r1, [r4, #0xc] - mov r0, #1 - pop {r4, pc} - - thumb_func_start MOD05_021DC728 -MOD05_021DC728: ; 0x021DC728 - str r1, [r0] - str r1, [r0, #4] - sub r1, r2, r1 - str r1, [r0, #8] - strh r3, [r0, #0xe] - mov r1, #0 - strh r1, [r0, #0xc] - bx lr - - thumb_func_start MOD05_021DC738 -MOD05_021DC738: ; 0x021DC738 - push {r4, lr} - add r4, r0, #0 - mov r2, #0xc - ldrsh r2, [r4, r2] - ldr r0, [r4, #8] - 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 - mov r1, #0xe - ldrsh r1, [r4, r1] - bl FX_Div - ldr r1, [r4, #4] - add r0, r0, r1 - str r0, [r4] - mov r0, #0xe - ldrsh r1, [r4, r0] - mov r0, #0xc - ldrsh r0, [r4, r0] - add r0, r0, #1 - cmp r0, r1 - bgt _021DC77C - strh r0, [r4, #0xc] - mov r0, #0 - pop {r4, pc} -_021DC77C: - strh r1, [r4, #0xc] - mov r0, #1 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DC784 -MOD05_021DC784: ; 0x021DC784 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl MOD05_021DCDA0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl MOD05_021DCDD0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl MOD05_021DCE00 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl MOD05_021DCE3C - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021DC7B0 -MOD05_021DC7B0: ; 0x021DC7B0 - push {r4, r5, r6, r7, lr} - sub sp, #0x2c - add r4, r2, #0 - add r6, r1, #0 - add r7, r3, #0 - ldr r5, [sp, #0x40] - bl FUN_02009660 - str r0, [sp, #0x18] - add r1, r4, #0 - bl FUN_02009710 - str r0, [sp, #0x1c] - ldr r0, [sp, #0x18] - add r1, r4, #0 - bl FUN_0200973C - str r0, [sp, #0x20] - ldr r0, [sp, #0x18] - add r1, r4, #0 - bl FUN_02009768 - str r0, [sp, #0x24] - ldr r0, [sp, #0x18] - add r1, r4, #0 - bl FUN_0200979C - str r0, [sp, #0x28] - ldr r0, [sp, #0x18] - add r1, r4, #0 - bl FUN_020096DC - cmp r6, #3 - bhi _021DC87A - add r1, r6, r6 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021DC800: ; jump table - .short _021DC808 - _021DC800 - 2 ; case 0 - .short _021DC826 - _021DC800 - 2 ; case 1 - .short _021DC848 - _021DC800 - 2 ; case 2 - .short _021DC862 - _021DC800 - 2 ; case 3 -_021DC808: - str r0, [sp] - ldr r0, [sp, #0x24] - ldr r2, [sp, #0x1c] - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - ldr r0, [sp, #0x44] - ldr r3, [sp, #0x20] - str r0, [sp, #0xc] - add r0, r7, #0 - add r1, r5, #0 - bl FUN_0200923C - str r0, [sp, #0x14] - b _021DC87A -_021DC826: - str r0, [sp] - ldr r0, [sp, #0x24] - ldr r2, [sp, #0x1c] - str r0, [sp, #4] - ldr r0, [sp, #0x28] - ldr r3, [sp, #0x20] - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - ldr r0, [sp, #0x44] - add r1, r5, #0 - str r0, [sp, #0x10] - add r0, r7, #0 - bl FUN_020092F8 - str r0, [sp, #0x14] - b _021DC87A -_021DC848: - str r0, [sp] - mov r0, #2 - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - ldr r2, [sp, #0x1c] - ldr r3, [sp, #0x20] - add r0, r7, #0 - add r1, r5, #0 - bl FUN_02009358 - str r0, [sp, #0x14] - b _021DC87A -_021DC862: - str r0, [sp] - mov r0, #3 - str r0, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - ldr r2, [sp, #0x1c] - ldr r3, [sp, #0x20] - add r0, r7, #0 - add r1, r5, #0 - bl FUN_02009358 - str r0, [sp, #0x14] -_021DC87A: - ldr r0, [sp, #0x14] - add sp, #0x2c - pop {r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021DC880 -MOD05_021DC880: ; 0x021DC880 - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r0, #0 - mvn r0, r0 - add r4, r2, #0 - cmp r1, r0 - beq _021DC8BA - ldr r0, [r4] - cmp r0, #0 - beq _021DC898 - bl FUN_02009C0C -_021DC898: - ldr r0, [r4, #4] - cmp r0, #0 - beq _021DC8A2 - bl FUN_02009E04 -_021DC8A2: - mov r6, #0 -_021DC8A4: - ldr r1, [r4] - cmp r1, #0 - beq _021DC8B0 - ldr r0, [r5, #8] - bl FUN_02009490 -_021DC8B0: - add r6, r6, #1 - add r4, r4, #4 - add r5, r5, #4 - cmp r6, #4 - blt _021DC8A4 -_021DC8BA: - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021DC8BC -MOD05_021DC8BC: ; 0x021DC8BC - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r2, #0x24 - ldr r3, [r5] - mul r2, r1 - add r4, r3, r2 - ldr r1, [r4, #0xc] - cmp r1, #0 - bne _021DC906 - add r1, r4, #0 - bl MOD05_021DCD04 - cmp r0, #0 - bne _021DC8DC - mov r0, #0 - pop {r3, r4, r5, pc} -_021DC8DC: - add r0, r5, #0 - add r1, r4, #0 - bl MOD05_021DCBFC - cmp r0, #0 - bne _021DC8F4 - ldr r0, [r4, #0xc] - bl FreeToHeap - mov r0, #0 - str r0, [r4, #0xc] - pop {r3, r4, r5, pc} -_021DC8F4: - ldr r1, [r4, #0x10] - ldr r0, [r4, #0xc] - str r1, [r0, #8] - ldr r1, [r4, #4] - add r0, r5, #0 - bl MOD05_021DCBE0 - mov r0, #2 - str r0, [r4, #0x14] -_021DC906: - mov r0, #1 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DC90C -MOD05_021DC90C: ; 0x021DC90C - push {r4, lr} - mov r2, #0x24 - ldr r3, [r0] - mul r2, r1 - add r4, r3, r2 - ldr r1, [r4, #0xc] - cmp r1, #0 - beq _021DC920 - mov r0, #1 - pop {r4, pc} -_021DC920: - add r1, r4, #0 - bl MOD05_021DCD04 - cmp r0, #0 - bne _021DC92E - mov r0, #0 - pop {r4, pc} -_021DC92E: - ldr r0, _021DC944 ; =MOD05_021DCC38 - add r1, r4, #0 - mov r2, #1 - bl FUN_0200CA44 - str r0, [r4, #0x1c] - mov r0, #1 - str r0, [r4, #0x14] - mov r1, #0 - str r1, [r4, #0x18] - pop {r4, pc} - .balign 4, 0 -_021DC944: .word MOD05_021DCC38 - - thumb_func_start MOD05_021DC948 -MOD05_021DC948: ; 0x021DC948 - push {r4, r5, r6, lr} - add r5, r2, #0 - add r6, r3, #0 - ldr r3, [r0] - mov r0, #0x24 - add r2, r1, #0 - mul r2, r0 - ldr r1, [r3, r2] - sub r0, #0x25 - add r4, r3, r2 - cmp r1, r0 - beq _021DC96A - ldr r0, [r4, #0x10] - cmp r0, #0 - bne _021DC96A - mov r0, #0 - pop {r4, r5, r6, pc} -_021DC96A: - ldr r1, [r4, #0xc] - cmp r1, #0 - bne _021DC974 - mov r0, #0 - pop {r4, r5, r6, pc} -_021DC974: - ldr r0, [r4, #0x14] - cmp r0, #2 - beq _021DC97E - mov r0, #0 - pop {r4, r5, r6, pc} -_021DC97E: - ldr r0, [r4, #0x20] - mov r2, #4 - bl FUN_0200CA44 - ldr r1, [r4, #0xc] - ldr r3, _021DCA34 ; =0x00000F48 - str r0, [r1, r3] - ldr r0, [r4, #0xc] - ldr r0, [r0, r3] - cmp r0, #0 - bne _021DC998 - mov r0, #0 - pop {r4, r5, r6, pc} -_021DC998: - mov r0, #3 - str r0, [r4, #0x14] - add r0, r3, #0 - ldr r1, [r4, #0xc] - add r0, #0x1a - strh r5, [r1, r0] - add r0, r3, #0 - ldr r1, [r4, #0xc] - mov r2, #0 - add r0, #0x1e - strh r2, [r1, r0] - ldr r1, [r4, #0xc] - add r0, r1, #0 - add r0, #0xc - str r0, [r1, #0x40] - ldr r1, [r4, #0xc] - add r0, r1, #0 - add r0, #0xc - str r0, [r1, #0x44] - add r0, r3, #0 - ldr r1, [r4, #0xc] - add r0, #0x1c - strh r6, [r1, r0] - add r0, r3, #0 - ldr r1, [r4, #0xc] - add r0, #0x14 - str r2, [r1, r0] - ldr r1, [r4, #0xc] - add r0, r3, #4 - ldr r6, _021DCA38 ; =UNK_021CEF70 - add r5, r1, r0 - ldmia r6!, {r0, r1} - stmia r5!, {r0, r1} - ldr r0, [r6] - str r0, [r5] - ldr r1, [r4, #8] - cmp r1, #0 - ble _021DC9FE - mov r0, #4 - bl AllocFromHeap - ldr r2, [r4, #0xc] - ldr r1, _021DCA3C ; =0x00000F58 - str r0, [r2, r1] - ldr r0, [r4, #0xc] - ldr r2, [r4, #8] - ldr r0, [r0, r1] - mov r1, #0 - bl memset - b _021DCA04 -_021DC9FE: - ldr r0, [r4, #0xc] - add r3, #0x10 - str r2, [r0, r3] -_021DCA04: - mov r0, #0 - ldr r1, [r4, #4] - mvn r0, r0 - cmp r1, r0 - beq _021DCA30 - mov r0, #4 - mov r1, #0 - bl FUN_0201E6E4 - ldr r2, _021DCA40 ; =0x0400000C - mov r1, #3 - ldrh r3, [r2] - mov r0, #1 - bic r3, r1 - orr r0, r3 - strh r0, [r2] - sub r2, r2, #4 - ldrh r3, [r2] - mov r0, #2 - bic r3, r1 - orr r0, r3 - strh r0, [r2] -_021DCA30: - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021DCA34: .word 0x00000F48 -_021DCA38: .word UNK_021CEF70 -_021DCA3C: .word 0x00000F58 -_021DCA40: .word 0x0400000C - - thumb_func_start MOD05_021DCA44 -MOD05_021DCA44: ; 0x021DCA44 - push {r3, r4} - ldr r3, [r0] - mov r0, #0x24 - mul r0, r1 - add r4, r3, r0 - ldr r0, [r4, #0x14] - cmp r0, #3 - bne _021DCA62 - ldr r1, [r4, #0xc] - ldr r0, _021DCA68 ; =0x00000F66 - mov r3, #5 - strh r3, [r1, r0] - ldr r1, [r4, #0xc] - sub r0, r0, #2 - strh r2, [r1, r0] -_021DCA62: - pop {r3, r4} - bx lr - nop -_021DCA68: .word 0x00000F66 - - thumb_func_start MOD05_021DCA6C -MOD05_021DCA6C: ; 0x021DCA6C - push {r4, lr} - mov r2, #0x24 - ldr r3, [r0] - mul r2, r1 - add r4, r3, r2 - bl MOD05_021DC6C0 - cmp r0, #3 - bne _021DCA8E - ldr r1, [r4, #0xc] - ldr r0, _021DCA90 ; =0x00000F62 - mov r2, #5 - strh r2, [r1, r0] - ldr r1, [r4, #0xc] - ldr r2, [r4, #0x20] - mov r0, #0 - blx r2 -_021DCA8E: - pop {r4, pc} - .balign 4, 0 -_021DCA90: .word 0x00000F62 - - thumb_func_start MOD05_021DCA94 -MOD05_021DCA94: ; 0x021DCA94 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r3, [r5] - mov r0, #0x24 - add r2, r1, #0 - mul r2, r0 - add r4, r3, r2 - ldr r1, [r4, #4] - sub r0, #0x25 - cmp r1, r0 - beq _021DCAD2 - mov r0, #4 - mov r1, #0 - bl FUN_0201E6E4 - ldr r0, _021DCB5C ; =0x0400000C - mov r2, #3 - ldrh r3, [r0] - mov r1, #3 - bic r3, r2 - orr r1, r3 - strh r1, [r0] - sub r3, r0, #4 - ldrh r6, [r3] - mov r1, #1 - add r0, #0x44 - bic r6, r2 - orr r1, r6 - strh r1, [r3] - mov r1, #0 - strh r1, [r0] -_021DCAD2: - ldr r2, [r4, #0x10] - cmp r2, #0 - beq _021DCAFA - ldr r1, [r4] - add r0, r5, #0 - bl MOD05_021DC880 - ldr r1, [r4, #0x10] - mov r0, #4 - bl FUN_02016A8C - mov r0, #0 - str r0, [r4, #0x10] - ldr r0, [r4, #0x1c] - cmp r0, #0 - beq _021DCAFA - bl FUN_0200CAB4 - mov r0, #0 - str r0, [r4, #0x1c] -_021DCAFA: - ldr r0, [r4, #0xc] - cmp r0, #0 - beq _021DCB58 - add r0, #0xc - bl MOD05_021DD130 - ldr r0, [r4, #0xc] - ldr r1, _021DCB60 ; =0x00000F5C - ldr r1, [r0, r1] - cmp r1, #1 - bne _021DCB14 - bl MOD05_021E0FD0 -_021DCB14: - ldr r1, [r4, #0xc] - ldr r0, _021DCB64 ; =0x00000F58 - ldr r1, [r1, r0] - cmp r1, #0 - beq _021DCB2C - mov r0, #4 - bl FUN_02016A8C - ldr r1, [r4, #0xc] - ldr r0, _021DCB64 ; =0x00000F58 - mov r2, #0 - str r2, [r1, r0] -_021DCB2C: - ldr r0, [r4, #0x14] - cmp r0, #1 - bne _021DCB3E - ldr r0, [r4, #0x1c] - cmp r0, #0 - beq _021DCB4C - bl FUN_0200CAB4 - b _021DCB4C -_021DCB3E: - cmp r0, #3 - bne _021DCB4C - ldr r1, [r4, #0xc] - ldr r0, _021DCB68 ; =0x00000F48 - ldr r0, [r1, r0] - bl FUN_0200CAB4 -_021DCB4C: - ldr r1, [r4, #0xc] - mov r0, #4 - bl FUN_02016A8C - mov r0, #0 - str r0, [r4, #0xc] -_021DCB58: - pop {r4, r5, r6, pc} - nop -_021DCB5C: .word 0x0400000C -_021DCB60: .word 0x00000F5C -_021DCB64: .word 0x00000F58 -_021DCB68: .word 0x00000F48 - - thumb_func_start MOD05_021DCB6C -MOD05_021DCB6C: ; 0x021DCB6C - push {r3, r4, r5, lr} - add r4, r0, #0 - mov r0, #0 - ldr r1, [r4, #4] - mvn r0, r0 - cmp r1, r0 - beq _021DCBA2 - mov r0, #4 - mov r1, #0 - bl FUN_0201E6E4 - ldr r0, _021DCBD4 ; =0x0400000C - mov r2, #3 - ldrh r3, [r0] - mov r1, #3 - bic r3, r2 - orr r1, r3 - strh r1, [r0] - sub r3, r0, #4 - ldrh r5, [r3] - mov r1, #1 - add r0, #0x44 - bic r5, r2 - orr r1, r5 - strh r1, [r3] - mov r1, #0 - strh r1, [r0] -_021DCBA2: - ldr r0, [r4, #0xc] - cmp r0, #0 - beq _021DCBD0 - add r0, #0xc - bl MOD05_021DD130 - ldr r0, [r4, #0xc] - ldr r1, _021DCBD8 ; =0x00000F5C - ldr r1, [r0, r1] - cmp r1, #1 - bne _021DCBBC - bl MOD05_021E0FD0 -_021DCBBC: - ldr r0, [r4, #0x14] - cmp r0, #3 - bne _021DCBD0 - ldr r1, [r4, #0xc] - ldr r0, _021DCBDC ; =0x00000F48 - ldr r0, [r1, r0] - bl FUN_0200CAB4 - mov r0, #2 - str r0, [r4, #0x14] -_021DCBD0: - pop {r3, r4, r5, pc} - nop -_021DCBD4: .word 0x0400000C -_021DCBD8: .word 0x00000F5C -_021DCBDC: .word 0x00000F48 - - thumb_func_start MOD05_021DCBE0 -MOD05_021DCBE0: ; 0x021DCBE0 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl MOD05_021DCECC - add r0, r5, #0 - add r1, r4, #0 - bl MOD05_021DCF14 - add r0, r5, #0 - add r1, r4, #0 - bl MOD05_021DCF68 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DCBFC -MOD05_021DCBFC: ; 0x021DCBFC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - mov r0, #0 - ldr r1, [r4] - mvn r0, r0 - cmp r1, r0 - beq _021DCC32 - ldr r0, [r4, #0x10] - cmp r0, #0 - bne _021DCC32 - add r0, r4, #0 - bl MOD05_021DCD68 - cmp r0, #0 - bne _021DCC20 - mov r0, #0 - pop {r3, r4, r5, pc} -_021DCC20: - ldr r1, [r4] - ldr r2, [r4, #0x10] - add r0, r5, #0 - bl MOD05_021DC784 - add r0, r5, #0 - add r1, r4, #0 - bl MOD05_021DCE74 -_021DCC32: - mov r0, #1 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DCC38 -MOD05_021DCC38: ; 0x021DCC38 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, #0xc] - ldr r2, [r4, #0x18] - ldr r0, [r0] - cmp r2, #8 - bhi _021DCD00 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DCC54: ; jump table - .short _021DCC66 - _021DCC54 - 2 ; case 0 - .short _021DCC7C - _021DCC54 - 2 ; case 1 - .short _021DCC8C - _021DCC54 - 2 ; case 2 - .short _021DCC9A - _021DCC54 - 2 ; case 3 - .short _021DCCAA - _021DCC54 - 2 ; case 4 - .short _021DCCB8 - _021DCC54 - 2 ; case 5 - .short _021DCCC8 - _021DCC54 - 2 ; case 6 - .short _021DCCD6 - _021DCC54 - 2 ; case 7 - .short _021DCCE6 - _021DCC54 - 2 ; case 8 -_021DCC66: - add r0, r4, #0 - bl MOD05_021DCD68 - cmp r0, #0 - bne _021DCC74 - bl ErrorHandling -_021DCC74: - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCC7C: - ldr r1, [r4] - ldr r2, [r4, #0x10] - bl MOD05_021DCDA0 - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCC8C: - ldr r1, [r4, #4] - bl MOD05_021DCECC - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCC9A: - ldr r1, [r4] - ldr r2, [r4, #0x10] - bl MOD05_021DCDD0 - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCCAA: - ldr r1, [r4, #4] - bl MOD05_021DCF14 - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCCB8: - ldr r1, [r4] - ldr r2, [r4, #0x10] - bl MOD05_021DCE00 - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCCC8: - ldr r1, [r4, #4] - bl MOD05_021DCF68 - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCCD6: - ldr r1, [r4] - ldr r2, [r4, #0x10] - bl MOD05_021DCE3C - ldr r0, [r4, #0x18] - add r0, r0, #1 - str r0, [r4, #0x18] - pop {r3, r4, r5, pc} -_021DCCE6: - bl MOD05_021DCE74 - ldr r1, [r4, #0x10] - ldr r0, [r4, #0xc] - str r1, [r0, #8] - mov r0, #2 - str r0, [r4, #0x14] - mov r0, #0 - str r0, [r4, #0x18] - str r0, [r4, #0x1c] - add r0, r5, #0 - bl FUN_0200CAB4 -_021DCD00: - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DCD04 -MOD05_021DCD04: ; 0x021DCD04 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, #0xc] - cmp r0, #0 - beq _021DCD14 - mov r0, #1 - pop {r3, r4, r5, pc} -_021DCD14: - ldr r1, _021DCD60 ; =0x00000F68 - mov r0, #4 - bl AllocFromHeap - str r0, [r4, #0xc] - cmp r0, #0 - bne _021DCD26 - mov r0, #0 - pop {r3, r4, r5, pc} -_021DCD26: - ldr r2, _021DCD60 ; =0x00000F68 - mov r1, #0 - bl memset - ldr r0, [r4, #0xc] - ldr r2, _021DCD64 ; =0x00000F62 - str r5, [r0] - ldr r1, [r4, #0xc] - mov r0, #0 - strh r0, [r1, r2] - add r1, r2, #4 - ldr r3, [r4, #0xc] - sub r2, #0xa - strh r0, [r3, r1] - ldr r3, [r4, #0xc] - add r1, r3, #0 - add r1, #0xc - str r1, [r3, #0x40] - ldr r3, [r4, #0xc] - add r1, r3, #0 - add r1, #0xc - str r1, [r3, #0x44] - ldr r1, [r4, #0xc] - str r0, [r1, r2] - ldr r0, [r4, #0xc] - str r4, [r0, #4] - mov r0, #1 - pop {r3, r4, r5, pc} - nop -_021DCD60: .word 0x00000F68 -_021DCD64: .word 0x00000F62 - - thumb_func_start MOD05_021DCD68 -MOD05_021DCD68: ; 0x021DCD68 - push {r4, lr} - add r4, r0, #0 - mov r0, #0 - ldr r1, [r4] - mvn r0, r0 - cmp r1, r0 - beq _021DCD9A - ldr r0, [r4, #0x10] - cmp r0, #0 - beq _021DCD80 - mov r0, #1 - pop {r4, pc} -_021DCD80: - mov r0, #4 - mov r1, #0x64 - bl AllocFromHeap - str r0, [r4, #0x10] - cmp r0, #0 - bne _021DCD92 - mov r0, #0 - pop {r4, pc} -_021DCD92: - mov r1, #0 - mov r2, #0x64 - bl memset -_021DCD9A: - mov r0, #1 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DCDA0 -MOD05_021DCDA0: ; 0x021DCDA0 - push {r3, r4, r5, lr} - sub sp, #8 - add r5, r0, #0 - mov r0, #0 - add r3, r1, #0 - mvn r0, r0 - add r4, r2, #0 - cmp r3, r0 - beq _021DCDCC - mov r0, #0x42 - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r2, r3, #0 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, [r5, #0x18] - ldr r3, [r5, #0x10] - mov r1, #2 - bl MOD05_021DC7B0 - str r0, [r4, #8] -_021DCDCC: - add sp, #8 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DCDD0 -MOD05_021DCDD0: ; 0x021DCDD0 - push {r3, r4, r5, lr} - sub sp, #8 - add r5, r0, #0 - mov r0, #0 - add r3, r1, #0 - mvn r0, r0 - add r4, r2, #0 - cmp r3, r0 - beq _021DCDFC - mov r0, #0x42 - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r2, r3, #0 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, [r5, #0x18] - ldr r3, [r5, #0x14] - mov r1, #3 - bl MOD05_021DC7B0 - str r0, [r4, #0xc] -_021DCDFC: - add sp, #8 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DCE00 -MOD05_021DCE00: ; 0x021DCE00 - push {r3, r4, r5, lr} - sub sp, #8 - add r5, r0, #0 - mov r0, #0 - add r3, r1, #0 - mvn r0, r0 - add r4, r2, #0 - cmp r3, r0 - beq _021DCE36 - mov r0, #0x42 - lsl r0, r0, #2 - ldr r0, [r5, r0] - add r2, r3, #0 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, [r5, #0x18] - ldr r3, [r5, #8] - mov r1, #0 - bl MOD05_021DC7B0 - str r0, [r4] - bl FUN_02009B04 - ldr r0, [r4] - bl FUN_02009474 -_021DCE36: - add sp, #8 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DCE3C -MOD05_021DCE3C: ; 0x021DCE3C - push {r3, r4, r5, lr} - sub sp, #8 - add r5, r0, #0 - mov r0, #0 - add r3, r1, #0 - mvn r0, r0 - add r4, r2, #0 - cmp r3, r0 - beq _021DCE70 - mov r0, #0x42 - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #1 - str r0, [sp] - str r1, [sp, #4] - add r2, r3, #0 - ldr r0, [r5, #0x18] - ldr r3, [r5, #0xc] - bl MOD05_021DC7B0 - str r0, [r4, #4] - bl FUN_02009D68 - ldr r0, [r4, #4] - bl FUN_02009474 -_021DCE70: - add sp, #8 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DCE74 -MOD05_021DCE74: ; 0x021DCE74 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - mov r0, #0 - ldr r1, [r4] - mvn r0, r0 - cmp r1, r0 - beq _021DCEC8 - ldr r2, [r4, #0x10] - mov r0, #1 - str r0, [sp] - add r0, r2, #0 - add r0, #0x40 - add r1, r5, #0 - mov r3, #0 - bl MOD05_021DD0A4 - ldr r0, [r4, #0x10] - mov r1, #0 - add r0, #0x10 - mov r2, #0x30 - bl memset - add r5, #0xfc - ldr r1, [r5] - ldr r0, [r4, #0x10] - str r1, [r0, #0x10] - ldr r1, [r4, #0x10] - add r0, r1, #0 - add r0, #0x40 - str r0, [r1, #0x14] - mov r1, #1 - ldr r0, [r4, #0x10] - lsl r1, r1, #0xc - str r1, [r0, #0x24] - ldr r0, [r4, #0x10] - str r1, [r0, #0x28] - ldr r0, [r4, #0x10] - str r1, [r0, #0x2c] - ldr r0, [r4, #0x10] - mov r1, #1 - str r1, [r0, #0x38] -_021DCEC8: - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DCECC -MOD05_021DCECC: ; 0x021DCECC - push {r3, lr} - sub sp, #0x18 - add r2, r0, #0 - mov r0, #0 - mvn r0, r0 - cmp r1, r0 - beq _021DCF0E - mov r0, #0x42 - lsl r0, r0, #2 - ldr r0, [r2, r0] - ldr r3, [r2, #4] - mov r2, #0xc - mul r2, r1 - ldr r1, [r3, r2] - mov r2, #4 - bl NARC_AllocAndReadWholeMember - add r1, sp, #0x14 - str r0, [sp] - bl FUN_020B0138 - ldr r1, [sp, #0x14] - mov r0, #2 - ldr r1, [r1, #0xc] - mov r2, #0x20 - mov r3, #0xc0 - bl FUN_02017FB4 - ldr r0, [sp] - bl FreeToHeap - mov r0, #0 - str r0, [sp] -_021DCF0E: - add sp, #0x18 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DCF14 -MOD05_021DCF14: ; 0x021DCF14 - push {r3, r4, lr} - sub sp, #0x1c - add r4, r0, #0 - mov r0, #0 - mvn r0, r0 - cmp r1, r0 - beq _021DCF62 - mov r2, #0xc - mov r0, #0x42 - lsl r0, r0, #2 - ldr r3, [r4, #4] - mul r2, r1 - add r1, r3, r2 - ldr r0, [r4, r0] - ldr r1, [r1, #4] - mov r2, #4 - bl NARC_AllocAndReadWholeMember - add r1, sp, #0x14 - str r0, [sp, #8] - bl FUN_020B0088 - ldr r3, [sp, #0x14] - mov r0, #0 - str r0, [sp] - mov r0, #0x41 - lsl r0, r0, #2 - ldr r0, [r4, r0] - ldr r2, [r3, #0x14] - ldr r0, [r0, #8] - ldr r3, [r3, #0x10] - mov r1, #2 - bl FUN_02017E14 - ldr r0, [sp, #8] - bl FreeToHeap - mov r0, #0 - str r0, [sp, #8] -_021DCF62: - add sp, #0x1c - pop {r3, r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DCF68 -MOD05_021DCF68: ; 0x021DCF68 - push {r4, r5, lr} - sub sp, #0x24 - add r4, r0, #0 - mov r0, #0 - add r5, r1, #0 - mvn r0, r0 - cmp r5, r0 - beq _021DD00A - mov r0, #4 - mov r1, #0 - bl FUN_0201E6E4 - mov r1, #0xc - mov r0, #0x42 - lsl r0, r0, #2 - ldr r2, [r4, #4] - mul r1, r5 - add r1, r2, r1 - ldr r0, [r4, r0] - ldr r1, [r1, #8] - mov r2, #4 - bl NARC_AllocAndReadWholeMember - str r0, [sp, #0x14] - cmp r0, #0 - bne _021DCFA0 - bl ErrorHandling -_021DCFA0: - ldr r0, [sp, #0x14] - add r1, sp, #0x18 - bl FUN_020B0180 - ldr r3, [sp, #0x18] - mov r0, #0 - str r0, [sp] - add r2, r3, #0 - mov r0, #0x41 - lsl r0, r0, #2 - ldr r0, [r4, r0] - ldr r3, [r3, #8] - ldr r0, [r0, #8] - mov r1, #2 - add r2, #0xc - bl FUN_02017CE8 - mov r0, #0x41 - lsl r0, r0, #2 - ldr r3, [sp, #0x18] - ldr r0, [r4, r0] - add r2, r3, #0 - ldr r0, [r0, #8] - ldr r3, [r3, #8] - mov r1, #2 - add r2, #0xc - bl FUN_02017DFC - mov r0, #0x20 - str r0, [sp] - str r0, [sp, #4] - mov r0, #6 - str r0, [sp, #8] - add r0, #0xfe - ldr r0, [r4, r0] - mov r2, #0 - ldr r0, [r0, #8] - mov r1, #2 - add r3, r2, #0 - bl FUN_020186B4 - mov r0, #0x41 - lsl r0, r0, #2 - ldr r0, [r4, r0] - mov r1, #2 - ldr r0, [r0, #8] - bl FUN_02017CD0 - ldr r0, [sp, #0x14] - bl FreeToHeap - mov r0, #0 - str r0, [sp, #0x14] -_021DD00A: - add sp, #0x24 - pop {r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD010 -MOD05_021DD010: ; 0x021DD010 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #8] - add r4, r1, #0 - cmp r0, #0 - beq _021DD020 - bl ErrorHandling -_021DD020: - cmp r4, #0 - bgt _021DD028 - bl ErrorHandling -_021DD028: - cmp r4, #0x28 - bls _021DD030 - bl ErrorHandling -_021DD030: - add r0, r5, #0 - add r0, #0xc - str r0, [r5, #8] - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DD038 -MOD05_021DD038: ; 0x021DD038 - ldr r3, _021DD044 ; =memset - mov r1, #0 - str r1, [r0, #8] - add r0, #0xc - mov r2, #0x28 - bx r3 - .balign 4, 0 -_021DD044: .word memset - - thumb_func_start MOD05_021DD048 -MOD05_021DD048: ; 0x021DD048 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r7, r1, #0 - ldr r6, [r5] - bl MOD05_021DD6FC - add r4, r0, #0 - bne _021DD05C - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_021DD05C: - add r0, r5, #0 - str r6, [r4] - add r0, #0xc - str r0, [r4, #0x34] - ldr r0, [r5, #0x44] - str r0, [r4, #0x38] - ldr r0, [r5, #0x44] - str r4, [r0, #0x34] - str r4, [r5, #0x44] - ldr r0, [r5, #8] - add r0, #0x10 - bl FUN_0201FE94 - str r0, [r4, #4] - cmp r0, #0 - bne _021DD086 - add r0, r4, #0 - bl MOD05_021DD100 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_021DD086: - add r0, r4, #0 - add r1, r7, #0 - bl MOD05_021DD010 - ldr r0, [r4, #8] - cmp r0, #0 - bne _021DD09E - add r0, r4, #0 - bl MOD05_021DD100 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_021DD09E: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD0A4 -MOD05_021DD0A4: ; 0x021DD0A4 - push {r4, r5, r6, r7, lr} - sub sp, #0x44 - str r0, [sp, #0x2c] - add r7, r1, #0 - add r5, r2, #0 - str r3, [sp, #0x30] - mov r6, #0 - add r4, sp, #0x34 -_021DD0B4: - ldr r0, [r5] - bl FUN_02009530 - add r6, r6, #1 - add r5, r5, #4 - stmia r4!, {r0} - cmp r6, #4 - blt _021DD0B4 - ldr r0, [sp, #0x40] - str r0, [sp] - mov r0, #0 - mvn r0, r0 - str r0, [sp, #4] - str r0, [sp, #8] - ldr r0, [sp, #0x30] - str r0, [sp, #0xc] - ldr r0, [sp, #0x58] - str r0, [sp, #0x10] - ldr r0, [r7, #8] - str r0, [sp, #0x14] - ldr r0, [r7, #0xc] - str r0, [sp, #0x18] - ldr r0, [r7, #0x10] - str r0, [sp, #0x1c] - ldr r0, [r7, #0x14] - str r0, [sp, #0x20] - mov r0, #0 - str r0, [sp, #0x24] - str r0, [sp, #0x28] - ldr r0, [sp, #0x2c] - ldr r1, [sp, #0x34] - ldr r2, [sp, #0x38] - ldr r3, [sp, #0x3c] - bl FUN_02008AA4 - add sp, #0x44 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD100 -MOD05_021DD100: ; 0x021DD100 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4, #0x34] - ldr r0, [r4, #0x38] - str r1, [r0, #0x34] - ldr r1, [r4, #0x38] - ldr r0, [r4, #0x34] - str r1, [r0, #0x38] - ldr r0, [r4, #4] - cmp r0, #0 - beq _021DD11E - bl FUN_0201FFC8 - mov r0, #0 - str r0, [r4, #4] -_021DD11E: - add r0, r4, #0 - bl MOD05_021DD038 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x3c - bl memset - pop {r4, pc} - - thumb_func_start MOD05_021DD130 -MOD05_021DD130: ; 0x021DD130 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x34] - cmp r0, r5 - beq _021DD146 -_021DD13A: - ldr r4, [r0, #0x34] - bl MOD05_021DD100 - add r0, r4, #0 - cmp r4, r5 - bne _021DD13A -_021DD146: - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DD148 -MOD05_021DD148: ; 0x021DD148 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5, #0x34] - add r6, r1, #0 - ldr r4, [r0, #0x34] - cmp r0, r5 - beq _021DD160 -_021DD156: - blx r6 - add r0, r4, #0 - ldr r4, [r4, #0x34] - cmp r0, r5 - bne _021DD156 -_021DD160: - pop {r4, r5, r6, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD164 -MOD05_021DD164: ; 0x021DD164 - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021DD168 -MOD05_021DD168: ; 0x021DD168 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r1, #4] - bl FUN_0202011C - add r2, r0, #0 - ldmia r2!, {r0, r1} - stmia r4!, {r0, r1} - ldr r0, [r2] - str r0, [r4] - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD180 -MOD05_021DD180: ; 0x021DD180 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x20 - str r0, [sp, #4] - str r1, [sp, #8] - mov r0, #1 - mov r1, #3 - add r5, r2, #0 - lsl r0, r0, #0xe - lsl r1, r1, #0xc - bl FX_Div - add r4, r0, #0 - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r0, [r0, #0x20] - bl FUN_0201F008 - add r6, r0, #0 - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r0, [r0, #0x20] - bl FUN_0201F010 - add r1, r0, #0 - add r0, sp, #0xc - str r0, [sp] - add r0, r6, #0 - add r2, r4, #0 - add r3, sp, #0x10 - bl FUN_0201CB7C - mov r1, #1 - ldr r0, [sp, #0x10] - lsl r1, r1, #0x14 - bl FX_Div - str r0, [sp, #0x10] - mov r1, #3 - ldr r0, [sp, #0xc] - lsl r1, r1, #0x12 - bl FX_Div - ldr r3, _021DD2B0 ; =UNK_021CEF70 - str r0, [sp, #0xc] - ldmia r3!, {r0, r1} - add r2, sp, #0x14 - stmia r2!, {r0, r1} - ldr r0, [r3] - ldr r4, _021DD2B4 ; =0x00000F4C - str r0, [r2] - ldr r1, [sp, #0x14] - ldr r0, [r5, r4] - ldr r2, [sp, #0x1c] - sub r0, r1, r0 - add r1, r4, #0 - add r1, #8 - ldr r1, [r5, r1] - add r4, #0xb4 - sub r7, r2, r1 - cmp r0, #0 - bge _021DD21E - ldr r4, _021DD2B8 ; =0xFFFFF000 - asr r1, r0, #0x1f - asr r3, r4, #0xc - add r2, r4, #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 -_021DD21E: - ldr r1, [sp, #0x10] - bl FX_Div - add r6, r0, #0 - cmp r4, #0 - bge _021DD244 - asr r1, r6, #0x1f - asr r3, r4, #0x1f - add r2, r4, #0 - 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 r6, r2, #0xc - orr r6, r0 -_021DD244: - mov r4, #1 - lsl r4, r4, #0xc - cmp r7, #0 - bge _021DD26A - ldr r4, _021DD2B8 ; =0xFFFFF000 - asr r1, r7, #0x1f - add r0, r7, #0 - asr r3, r4, #0xc - add r2, r4, #0 - 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 r7, r2, #0xc - orr r7, r0 -_021DD26A: - ldr r1, [sp, #0xc] - add r0, r7, #0 - bl FX_Div - add r3, r0, #0 - cmp r4, #0 - bge _021DD292 - asr r1, r3, #0x1f - asr r3, r4, #0x1f - add r2, r4, #0 - 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 r3, r2, #0xc - orr r3, r0 -_021DD292: - add r0, r6, r3 - beq _021DD2A4 - ldr r0, _021DD2B4 ; =0x00000F4C - add r2, sp, #0x14 - add r4, r5, r0 - ldmia r2!, {r0, r1} - stmia r4!, {r0, r1} - ldr r0, [r2] - str r0, [r4] -_021DD2A4: - ldr r0, [sp, #4] - str r6, [r0] - ldr r0, [sp, #8] - str r3, [r0] - add sp, #0x20 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021DD2B0: .word UNK_021CEF70 -_021DD2B4: .word 0x00000F4C -_021DD2B8: .word 0xFFFFF000 - - thumb_func_start MOD05_021DD2BC -MOD05_021DD2BC: ; 0x021DD2BC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r5, r0, #0 - add r7, r1, #0 - str r2, [sp] - add r0, sp, #8 - add r1, sp, #4 - add r2, r5, #0 - bl MOD05_021DD180 - ldr r4, [r5, #0x40] - add r5, #0xc - cmp r4, r5 - beq _021DD300 - add r6, sp, #0xc -_021DD2DA: - add r0, r6, #0 - add r1, r4, #0 - bl MOD05_021DD168 - ldr r1, [sp, #0xc] - ldr r0, [sp, #8] - sub r0, r1, r0 - str r0, [sp, #0xc] - ldr r1, [sp, #0x10] - ldr r0, [sp, #4] - sub r0, r1, r0 - str r0, [sp, #0x10] - ldr r0, [r4, #4] - add r1, r6, #0 - bl MOD05_021DC4FC - ldr r4, [r4, #0x34] - cmp r4, r5 - bne _021DD2DA -_021DD300: - cmp r7, #0 - beq _021DD310 - ldr r0, [sp, #8] - asr r0, r0, #0xc - str r0, [r7] - bpl _021DD310 - add r0, r0, #1 - str r0, [r7] -_021DD310: - ldr r0, [sp] - cmp r0, #0 - beq _021DD324 - ldr r0, [sp, #4] - asr r1, r0, #0xc - ldr r0, [sp] - str r1, [r0] - bpl _021DD324 - add r1, r1, #1 - str r1, [r0] -_021DD324: - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021DD328 -MOD05_021DD328: ; 0x021DD328 - str r1, [r0] - strh r2, [r0, #4] - mov r1, #0 - strh r1, [r0, #6] - strh r3, [r0, #8] - strh r1, [r0, #0xa] - ldr r1, [sp] - strh r1, [r0, #0xc] - ldr r1, [sp, #4] - strh r1, [r0, #0xe] - ldr r1, [sp, #8] - strh r1, [r0, #0x10] - ldr r1, [sp, #0xc] - strh r1, [r0, #0x12] - ldr r1, [sp, #0x10] - str r1, [r0, #0x14] - ldr r1, [sp, #0x14] - str r1, [r0, #0x18] - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021DD350 -MOD05_021DD350: ; 0x021DD350 - strh r1, [r0, #0xc] - strh r2, [r0, #0xe] - ldr r1, [sp] - strh r3, [r0, #0x10] - str r1, [r0, #0x14] - bx lr - - thumb_func_start MOD05_021DD35C -MOD05_021DD35C: ; 0x021DD35C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0x10 - ldrsh r0, [r5, r0] - mov r4, #0 - cmp r0, #0 - bne _021DD370 - mov r0, #1 - orr r4, r0 - b _021DD396 -_021DD370: - bgt _021DD376 - mov r2, #1 - b _021DD378 -_021DD376: - add r2, r4, #0 -_021DD378: - mov r0, #0xe - ldrsh r1, [r5, r0] - mov r0, #8 - ldrsh r0, [r5, r0] - cmp r0, r1 - blt _021DD388 - cmp r2, #0 - beq _021DD390 -_021DD388: - cmp r0, r1 - bgt _021DD396 - cmp r2, #1 - bne _021DD396 -_021DD390: - mov r0, #1 - orr r4, r0 - strh r1, [r5, #8] -_021DD396: - ldr r0, [r5, #0x14] - cmp r0, #0 - bne _021DD3A2 - mov r0, #2 - orr r4, r0 - b _021DD3C8 -_021DD3A2: - bgt _021DD3A8 - mov r2, #1 - b _021DD3AA -_021DD3A8: - mov r2, #0 -_021DD3AA: - mov r0, #0xc - ldrsh r1, [r5, r0] - mov r0, #4 - ldrsh r0, [r5, r0] - cmp r0, r1 - blt _021DD3BA - cmp r2, #0 - beq _021DD3C2 -_021DD3BA: - cmp r0, r1 - bgt _021DD3C8 - cmp r2, #1 - bne _021DD3C8 -_021DD3C2: - mov r0, #2 - orr r4, r0 - strh r1, [r5, #4] -_021DD3C8: - mov r0, #6 - ldrsh r1, [r5, r0] - sub r1, r1, #1 - strh r1, [r5, #6] - ldrsh r0, [r5, r0] - cmp r0, #0 - bgt _021DD41C - mov r1, #4 - ldrsh r1, [r5, r1] - ldr r0, [r5] - ldr r2, [r5, #0x18] - blx r2 - mov r0, #8 - ldrsh r1, [r5, r0] - strh r1, [r5, #6] - mov r1, #1 - tst r1, r4 - bne _021DD3F6 - ldrsh r1, [r5, r0] - mov r0, #0x10 - ldrsh r0, [r5, r0] - add r0, r1, r0 - strh r0, [r5, #8] -_021DD3F6: - mov r0, #2 - tst r0, r4 - bne _021DD41C - mov r0, #0xa - ldrsh r1, [r5, r0] - add r1, r1, #1 - strh r1, [r5, #0xa] - ldrsh r1, [r5, r0] - mov r0, #0x12 - ldrsh r0, [r5, r0] - cmp r1, r0 - blt _021DD41C - mov r0, #0 - strh r0, [r5, #0xa] - mov r0, #4 - ldrsh r1, [r5, r0] - ldr r0, [r5, #0x14] - add r0, r1, r0 - strh r0, [r5, #4] -_021DD41C: - add r0, r4, #0 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DD420 -MOD05_021DD420: ; 0x021DD420 - push {r4, lr} - sub sp, #8 - add r4, r1, #0 - ldr r1, [sp, #0x1c] - str r2, [r4] - cmp r1, #0 - beq _021DD470 - cmp r1, #1 - bne _021DD454 - add r1, r3, #0 - add r3, sp, #0 - add r0, r2, #0 - ldrh r3, [r3, #0x14] - ldr r2, [sp, #0x10] - bl MOD05_021DD49C - add r0, r4, #0 - bl MOD05_021DD598 - ldr r1, [sp, #0x18] - add r0, r4, #0 - mov r2, #1 - bl MOD05_021DD5B4 - add sp, #8 - pop {r4, pc} -_021DD454: - cmp r1, #2 - bne _021DD470 - add r1, sp, #0 - ldrh r1, [r1, #0x14] - ldr r4, [sp, #0x18] - str r1, [sp] - mov r1, #0x7f - mul r1, r4 - str r1, [sp, #4] - add r1, r2, #0 - add r2, r3, #0 - ldr r3, [sp, #0x10] - bl MOD05_021DD4C8 -_021DD470: - add sp, #8 - pop {r4, pc} - - thumb_func_start MOD05_021DD474 -MOD05_021DD474: ; 0x021DD474 - push {r4, lr} - mov r4, #1 - cmp r2, #0 - beq _021DD498 - cmp r2, #1 - bne _021DD48A - add r0, r1, #0 - bl MOD05_021DD5D0 - add r4, r0, #0 - b _021DD498 -_021DD48A: - cmp r2, #2 - bne _021DD498 - bl MOD05_021DD54C - cmp r0, #0 - bne _021DD498 - mov r4, #0 -_021DD498: - add r0, r4, #0 - pop {r4, pc} - - thumb_func_start MOD05_021DD49C -MOD05_021DD49C: ; 0x021DD49C - push {r3, r4, r5, lr} - sub sp, #8 - str r1, [sp] - mov r1, #0 - add r4, r3, #0 - str r2, [sp, #4] - mvn r1, r1 - mov r2, #1 - mov r3, #0 - add r5, r0, #0 - bl MOD05_021DBA40 - mov r1, #0 - add r0, r5, #0 - mvn r1, r1 - add r2, r4, #0 - mov r3, #0x1f - bl MOD05_021DBA78 - add sp, #8 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD4C8 -MOD05_021DD4C8: ; 0x021DD4C8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - str r2, [sp] - str r3, [sp, #4] - ldr r6, [sp, #0x2c] - bl MOD05_021DBA34 - str r0, [sp, #8] - add r0, r4, #0 - bl MOD05_021DBA38 - str r0, [sp, #0xc] - add r0, r4, #0 - bl MOD05_021DBA3C - add r7, r0, #0 - ldr r1, [sp, #0xc] - ldr r2, [sp, #4] - add r0, r5, #4 - add r3, r6, #0 - str r4, [r5] - bl MOD05_021DC6EC - add r0, sp, #0x18 - ldrh r4, [r0, #0x10] - add r0, r5, #0 - mov r2, #0x1f - add r1, r7, #0 - and r1, r2 - add r0, #0x18 - and r2, r4 - add r3, r6, #0 - bl MOD05_021DC6EC - add r0, r5, #0 - asr r1, r7, #5 - mov r3, #0x1f - asr r2, r4, #5 - add r0, #0x2c - and r1, r3 - and r2, r3 - add r3, r6, #0 - bl MOD05_021DC6EC - add r0, r5, #0 - asr r1, r7, #0xa - mov r2, #0x1f - asr r3, r4, #0xa - and r1, r2 - and r2, r3 - add r0, #0x40 - add r3, r6, #0 - bl MOD05_021DC6EC - add r5, #0x54 - ldr r1, [sp, #8] - ldr r2, [sp] - add r0, r5, #0 - add r3, r6, #0 - bl MOD05_021DC6EC - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021DD54C -MOD05_021DD54C: ; 0x021DD54C - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, r5, #4 - bl MOD05_021DC6FC - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x18 - bl MOD05_021DC6FC - add r0, r5, #0 - add r0, #0x2c - bl MOD05_021DC6FC - add r0, r5, #0 - add r0, #0x40 - bl MOD05_021DC6FC - add r0, r5, #0 - add r0, #0x54 - bl MOD05_021DC6FC - ldr r3, [r5, #0x40] - ldr r0, [r5] - lsl r6, r3, #0xa - ldr r1, [r5, #0x54] - ldr r2, [r5, #4] - ldr r3, [r5, #0x18] - ldr r5, [r5, #0x2c] - lsl r5, r5, #5 - orr r3, r5 - orr r3, r6 - lsl r3, r3, #0x10 - lsr r3, r3, #0x10 - bl MOD05_021DD49C - add r0, r4, #0 - pop {r4, r5, r6, pc} - - thumb_func_start MOD05_021DD598 -MOD05_021DD598: ; 0x021DD598 - mov r2, #0 - add r3, r0, #0 - add r1, r2, #0 -_021DD59E: - add r0, r3, r2 - add r2, r2, #1 - strb r1, [r0, #4] - cmp r2, #0x20 - blt _021DD59E - ldr r0, [r3] - add r1, r3, #4 - ldr r3, _021DD5B0 ; =MOD05_021DBAA0 - bx r3 - .balign 4, 0 -_021DD5B0: .word MOD05_021DBAA0 - - thumb_func_start MOD05_021DD5B4 -MOD05_021DD5B4: ; 0x021DD5B4 - mov r3, #0x7f - str r3, [r0, #0x24] - mov r3, #0 - str r3, [r0, #0x28] - strh r1, [r0, #0x2c] - cmp r2, #1 - bne _021DD5C8 - mov r1, #1 - strh r1, [r0, #0x2e] - bx lr -_021DD5C8: - sub r1, r3, #1 - strh r1, [r0, #0x2e] - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021DD5D0 -MOD05_021DD5D0: ; 0x021DD5D0 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl MOD05_021DD60C - add r4, r0, #0 - ldr r0, [r5, #0x28] - cmp r0, #0 - bne _021DD5E8 - ldr r0, [r5] - add r1, r5, #4 - bl MOD05_021DBAA0 -_021DD5E8: - add r0, r4, #0 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DD5EC -MOD05_021DD5EC: ; 0x021DD5EC - push {r4, lr} - add r4, r0, #0 - mov r2, #1 - str r2, [r4, #0x24] - mov r1, #0 - str r1, [r4, #0x28] - strh r1, [r4, #0x2c] - strh r2, [r4, #0x2e] - bl MOD05_021DD64C - ldr r0, [r4] - add r1, r4, #4 - bl MOD05_021DBAA0 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD60C -MOD05_021DD60C: ; 0x021DD60C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r1, #0x2e - ldrsh r1, [r5, r1] - mov r4, #0 - cmp r1, #0 - bne _021DD61E - mov r4, #1 - b _021DD648 -_021DD61E: - ldr r1, [r5, #0x24] - cmp r1, #0 - bgt _021DD628 - mov r4, #1 - b _021DD648 -_021DD628: - ldr r1, [r5, #0x28] - add r2, r1, #1 - str r2, [r5, #0x28] - mov r1, #0x2c - ldrsh r1, [r5, r1] - cmp r2, r1 - blt _021DD648 - str r4, [r5, #0x28] - bl MOD05_021DD64C - ldr r0, [r5, #0x24] - sub r0, r0, #1 - str r0, [r5, #0x24] - cmp r0, #0 - bgt _021DD648 - mov r4, #1 -_021DD648: - add r0, r4, #0 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DD64C -MOD05_021DD64C: ; 0x021DD64C - push {r3, r4} - mov r1, #0x2e - ldrsh r1, [r0, r1] - ldr r2, [r0, #0x24] - cmp r1, #0 - bge _021DD65E - mov r1, #0x7f - sub r2, r1, r2 - b _021DD65E -_021DD65E: - asr r1, r2, #1 - lsr r1, r1, #0x1e - add r1, r2, r1 - asr r4, r1, #2 - mov r3, #0x1f - cmp r4, #0x1f - bge _021DD67A -_021DD66C: - sub r1, r3, r4 - lsl r2, r1, #2 - add r1, r0, r3 - sub r3, r3, #1 - strb r2, [r1, #4] - cmp r3, r4 - bgt _021DD66C -_021DD67A: - pop {r3, r4} - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021DD680 -MOD05_021DD680: ; 0x021DD680 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r4, r1, #0 - ldr r1, [sp, #0x28] - str r0, [sp] - str r1, [sp, #0x28] - add r1, r2, #0 - str r2, [sp, #4] - str r3, [sp, #8] - ldr r7, [sp, #0x2c] - blx r4 - ldr r0, [sp] - mov r6, #0 - ldr r5, [r0, #0x40] - str r6, [sp, #0x10] - ldr r0, [r5, #0x34] - str r0, [sp, #0xc] - ldr r0, [sp, #4] - cmp r0, #0 - ble _021DD6F6 - ldr r0, [sp] - add r0, #0xc - str r0, [sp] -_021DD6AE: - ldr r0, [sp] - cmp r5, r0 - beq _021DD6F6 - mov r4, #0 - cmp r6, #0 - ble _021DD6CA -_021DD6BA: - add r0, r5, #0 - blx r7 - ldr r0, [r5, #8] - cmp r0, #0 - beq _021DD6CA - add r4, r4, #1 - cmp r4, r6 - blt _021DD6BA -_021DD6CA: - ldr r5, [sp, #0xc] - ldr r1, [sp, #0x10] - add r0, r5, #0 - ldr r0, [r0, #0x34] - str r0, [sp, #0xc] - ldr r0, [sp, #8] - cmp r1, r0 - blt _021DD6EA - add r0, r1, #0 - ldr r1, [sp, #8] - bl _s32_div_f - cmp r1, #0 - bne _021DD6EA - ldr r0, [sp, #0x28] - add r6, r6, r0 -_021DD6EA: - ldr r0, [sp, #0x10] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #0x10] - cmp r1, r0 - blt _021DD6AE -_021DD6F6: - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DD6FC -MOD05_021DD6FC: ; 0x021DD6FC - mov r2, #0 - add r3, r0, #0 -_021DD700: - ldr r1, [r3, #0x48] - cmp r1, #0 - bne _021DD710 - mov r1, #0x3c - add r0, #0x48 - mul r1, r2 - add r0, r0, r1 - bx lr -_021DD710: - add r2, r2, #1 - add r3, #0x3c - cmp r2, #0x40 - blt _021DD700 - mov r0, #0 - bx lr - - thumb_func_start MOD05_021DD71C -MOD05_021DD71C: ; 0x021DD71C - push {r3, lr} - ldr r0, _021DD76C ; =0x00000F62 - ldrh r2, [r1, r0] - cmp r2, #5 - bhi _021DD76A - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DD732: ; jump table - .short _021DD73E - _021DD732 - 2 ; case 0 - .short _021DD744 - _021DD732 - 2 ; case 1 - .short _021DD74A - _021DD732 - 2 ; case 2 - .short _021DD750 - _021DD732 - 2 ; case 3 - .short _021DD75E - _021DD732 - 2 ; case 4 - .short _021DD764 - _021DD732 - 2 ; case 5 -_021DD73E: - mov r2, #1 - strh r2, [r1, r0] - pop {r3, pc} -_021DD744: - mov r2, #3 - strh r2, [r1, r0] - pop {r3, pc} -_021DD74A: - mov r2, #3 - strh r2, [r1, r0] - pop {r3, pc} -_021DD750: - add r2, r0, #4 - ldrh r2, [r1, r2] - cmp r2, #5 - bne _021DD76A - mov r2, #4 - strh r2, [r1, r0] - pop {r3, pc} -_021DD75E: - mov r2, #5 - strh r2, [r1, r0] - pop {r3, pc} -_021DD764: - ldr r0, [r1, #4] - bl MOD05_021DCB6C -_021DD76A: - pop {r3, pc} - .balign 4, 0 -_021DD76C: .word 0x00000F62 - - thumb_func_start MOD05_021DD770 -MOD05_021DD770: ; 0x021DD770 - push {r4, r5, r6, lr} - sub sp, #0x18 - ldr r0, _021DD998 ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DD832 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DD790: ; jump table - .short _021DD79C - _021DD790 - 2 ; case 0 - .short _021DD7FA - _021DD790 - 2 ; case 1 - .short _021DD83C - _021DD790 - 2 ; case 2 - .short _021DD8A2 - _021DD790 - 2 ; case 3 - .short _021DD900 - _021DD790 - 2 ; case 4 - .short _021DD94E - _021DD790 - 2 ; case 5 -_021DD79C: - mov r0, #0x14 - str r0, [sp] - mov r2, #1 - str r2, [sp, #4] - sub r0, r2, #2 - str r0, [sp, #8] - str r2, [sp, #0xc] - mov r0, #2 - str r0, [sp, #0x10] - ldr r0, _021DD99C ; =MOD05_021DD9BC - mov r3, #8 - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DD9A0 ; =0x0000726F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DD9A4 ; =0x00006B5A - lsl r2, r2, #2 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021DD9A8 ; =0x00000F64 - add r1, r4, #0 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - mov r0, #0 - add r4, #0xb4 - str r0, [r4] - ldr r1, _021DD9AC ; =0x00000639 - add r0, r5, #0 - bl MOD05_021E0FA4 - ldr r0, _021DD9B0 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DD96C -_021DD7FA: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DD81A - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DD96C -_021DD81A: - ldr r2, _021DD9A8 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r4, #0x1c - add r0, #0x4c - add r1, r4, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DD832 - cmp r6, #3 - beq _021DD834 -_021DD832: - b _021DD96C -_021DD834: - ldr r0, _021DD9B0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DD96C -_021DD83C: - mov r2, #0x14 - mov r3, #1 - str r2, [sp] - str r3, [sp, #4] - sub r0, r3, #2 - str r0, [sp, #8] - str r3, [sp, #0xc] - mov r0, #2 - str r0, [sp, #0x10] - ldr r0, _021DD99C ; =MOD05_021DD9BC - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DD9A8 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DD87E - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DD9A0 ; =0x0000726F - ldr r0, [r0, #0x44] - ldr r3, _021DD9A4 ; =0x00006B5A - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r4, #0x1c - add r0, r4, #0 - bl MOD05_021DD5EC -_021DD87E: - mov r0, #1 - str r0, [sp] - ldr r0, _021DD9B4 ; =MOD05_021DDA7C - ldr r1, _021DD99C ; =MOD05_021DD9BC - str r0, [sp, #4] - add r0, r5, #0 - mov r2, #0x14 - mov r3, #0xa - bl MOD05_021DD680 - ldr r1, _021DD9AC ; =0x00000639 - add r0, r5, #0 - bl MOD05_021E0FA4 - ldr r0, _021DD9B0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DD96C -_021DD8A2: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DD8BE - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DD9BC - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DD8BE: - ldr r0, _021DD9B8 ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DD96C - mov r0, #1 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #8 - mov r3, #1 - bl MOD05_021DD350 - ldr r0, _021DD9A8 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DD8EC - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DD8EC: - mov r0, #0 - add r4, #0xb4 - str r0, [r4] - ldr r0, _021DD9B0 ; =0x00000F62 - mov r1, #4 - strh r1, [r5, r0] - add r0, r5, #0 - bl MOD05_021E0FD0 - b _021DD96C -_021DD900: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DD920 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DD96C -_021DD920: - ldr r0, _021DD9A8 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DD932 - add r4, #0x1c - add r0, r4, #0 - bl MOD05_021DD5D0 - b _021DD934 -_021DD932: - mov r0, #1 -_021DD934: - cmp r0, #1 - bne _021DD96C - cmp r6, #3 - bne _021DD96C - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DD96C - ldr r0, _021DD9B0 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DD96C -_021DD94E: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DD966 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DD966: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DD96C: - ldr r0, _021DD9B0 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DD992 - cmp r0, #0 - beq _021DD992 - add r0, r5, #0 - ldr r1, _021DD9B4 ; =MOD05_021DDA7C - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r5, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 -_021DD992: - add sp, #0x18 - pop {r4, r5, r6, pc} - nop -_021DD998: .word 0x00000F58 -_021DD99C: .word MOD05_021DD9BC -_021DD9A0: .word 0x0000726F -_021DD9A4: .word 0x00006B5A -_021DD9A8: .word 0x00000F64 -_021DD9AC: .word 0x00000639 -_021DD9B0: .word 0x00000F62 -_021DD9B4: .word MOD05_021DDA7C -_021DD9B8: .word 0x00000F66 - - thumb_func_start MOD05_021DD9BC -MOD05_021DD9BC: ; 0x021DD9BC - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - str r0, [sp] - add r0, r1, #0 - mov r7, #0 - str r1, [sp, #4] - cmp r0, #0 - ble _021DDA70 -_021DD9CC: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r6, r0, #0 - beq _021DDA70 - ldr r4, [r6, #8] - mov r0, #0 - str r0, [r4] - bl MTRandom - mov r1, #3 - bl _u32_div_f - add r5, r1, #0 - lsl r1, r5, #0x10 - ldr r0, [r6, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - add r2, r5, #1 - mov r0, #0xa - mul r0, r2 - add r0, r1, r0 - str r0, [r4, #8] - cmp r5, #2 - bne _021DDA12 - ldr r0, [r4, #8] - add r0, #0xa - str r0, [r4, #8] -_021DDA12: - add r0, r1, #0 - mov r1, #4 - mvn r1, r1 - bl _s32_div_f - mov r1, #4 - add r2, r5, #1 - mvn r1, r1 - mul r1, r2 - add r0, r0, r1 - str r0, [r4, #0x10] - cmp r5, #2 - bne _021DDA32 - ldr r0, [r4, #0x10] - sub r0, r0, #5 - str r0, [r4, #0x10] -_021DDA32: - mov r0, #0 - str r0, [r4, #0xc] - bl MTRandom - mov r1, #3 - bl _u32_div_f - add r0, r1, #1 - str r0, [r4, #4] - bl MTRandom - ldr r1, _021DDA74 ; =0x0000010E - bl _u32_div_f - mov r0, #0xf - mul r0, r5 - add r0, r0, r1 - lsl r0, r0, #0xc - str r0, [sp, #8] - ldr r0, _021DDA78 ; =0xFFFA0000 - add r1, sp, #8 - str r0, [sp, #0xc] - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, [r6, #4] - bl MOD05_021DC4FC - ldr r0, [sp, #4] - add r7, r7, #1 - cmp r7, r0 - blt _021DD9CC -_021DDA70: - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_021DDA74: .word 0x0000010E -_021DDA78: .word 0xFFFA0000 - - thumb_func_start MOD05_021DDA7C -MOD05_021DDA7C: ; 0x021DDA7C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r6, r0, #0 - ldr r5, [r6, #8] - add r0, sp, #0 - add r1, r6, #0 - bl MOD05_021DD168 - ldr r0, [r5, #0xc] - cmp r0, #0 - beq _021DDA9E - cmp r0, #1 - beq _021DDAF6 - cmp r0, #2 - beq _021DDB08 - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_021DDA9E: - mov r4, #0 - mov r7, #2 -_021DDAA2: - ldr r0, [r5, #0x10] - ldr r1, [sp] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp] - ldr r0, [r5, #8] - ldr r1, [sp, #4] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #4] - ldr r1, [r5] - add r0, r1, #1 - str r0, [r5] - ldr r0, [r5, #4] - cmp r1, r0 - ble _021DDAE4 - bl MTRandom - mov r1, #0xa - bl _u32_div_f - cmp r1, #7 - bhs _021DDAD4 - str r7, [r5, #0xc] - b _021DDAE4 -_021DDAD4: - mov r0, #1 - str r0, [r5, #0xc] - mov r0, #4 - str r0, [r5] - ldr r0, [r6, #4] - mov r1, #3 - bl FUN_02020208 -_021DDAE4: - add r4, r4, #1 - cmp r4, #2 - blt _021DDAA2 - ldr r0, [r6, #4] - add r1, sp, #0 - bl MOD05_021DC4FC - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_021DDAF6: - ldr r1, [r5] - sub r0, r1, #1 - str r0, [r5] - cmp r1, #0 - bgt _021DDB0E - mov r0, #2 - add sp, #0xc - str r0, [r5, #0xc] - pop {r4, r5, r6, r7, pc} -_021DDB08: - add r0, r6, #0 - bl MOD05_021DD100 -_021DDB0E: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DDB14 -MOD05_021DDB14: ; 0x021DDB14 - push {r4, r5, r6, lr} - sub sp, #0x18 - ldr r0, _021DDD44 ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DDBD6 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DDB34: ; jump table - .short _021DDB40 - _021DDB34 - 2 ; case 0 - .short _021DDB9E - _021DDB34 - 2 ; case 1 - .short _021DDBE0 - _021DDB34 - 2 ; case 2 - .short _021DDC4E - _021DDB34 - 2 ; case 3 - .short _021DDCA6 - _021DDB34 - 2 ; case 4 - .short _021DDCFA - _021DDB34 - 2 ; case 5 -_021DDB40: - mov r2, #1 - str r2, [sp] - mov r0, #8 - str r0, [sp, #4] - sub r0, #0xd - str r0, [sp, #8] - str r2, [sp, #0xc] - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, _021DDD48 ; =MOD05_021DDD64 - mov r3, #0x14 - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - ldr r0, _021DDD4C ; =0x0000726F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DDD50 ; =0x00006B5A - add r1, r4, #0 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021DDD54 ; =0x00000F64 - lsl r2, r2, #2 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - mov r0, #0x10 - add r4, #0xb4 - str r0, [r4] - ldr r0, _021DDD58 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DDD18 -_021DDB9E: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DDBBE - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DDD18 -_021DDBBE: - ldr r2, _021DDD54 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r4, #0x1c - add r0, #0x4c - add r1, r4, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DDBD6 - cmp r6, #3 - beq _021DDBD8 -_021DDBD6: - b _021DDD18 -_021DDBD8: - ldr r0, _021DDD58 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DDD18 -_021DDBE0: - mov r2, #1 - mov r3, #8 - str r2, [sp] - add r0, r3, #0 - str r3, [sp, #4] - sub r0, #0xd - str r0, [sp, #8] - str r2, [sp, #0xc] - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, _021DDD48 ; =MOD05_021DDD64 - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - ldr r0, _021DDD54 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DDC32 - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DDD4C ; =0x0000726F - ldr r0, [r0, #0x44] - ldr r3, _021DDD50 ; =0x00006B5A - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r4, #0x1c - add r0, r4, #0 - bl MOD05_021DD5EC -_021DDC32: - mov r0, #0x18 - str r0, [sp] - ldr r0, _021DDD5C ; =MOD05_021DDF44 - ldr r1, _021DDD48 ; =MOD05_021DDD64 - str r0, [sp, #4] - add r0, r5, #0 - mov r2, #0x14 - mov r3, #2 - bl MOD05_021DD680 - ldr r0, _021DDD58 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DDD18 -_021DDC4E: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DDC6A - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DDD64 - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DDC6A: - ldr r0, _021DDD60 ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DDD18 - mov r0, #0 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0x14 - mov r3, #5 - bl MOD05_021DD350 - ldr r0, _021DDD54 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DDC98 - add r0, r4, #0 - add r0, #0x1c - mov r1, #2 - mov r2, #0 - bl MOD05_021DD5B4 -_021DDC98: - mov r0, #0x20 - add r4, #0xb4 - str r0, [r4] - ldr r0, _021DDD58 ; =0x00000F62 - mov r1, #4 - strh r1, [r5, r0] - b _021DDD18 -_021DDCA6: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DDCC6 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DDD18 -_021DDCC6: - ldr r0, _021DDD54 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DDCD8 - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5D0 - b _021DDCDA -_021DDCD8: - mov r0, #1 -_021DDCDA: - cmp r0, #1 - bne _021DDD18 - cmp r6, #3 - bne _021DDD18 - mov r0, #1 - add r4, #0xbc - str r0, [r4] - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DDD18 - ldr r0, _021DDD58 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DDD18 -_021DDCFA: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DDD12 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DDD12: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DDD18: - ldr r0, _021DDD58 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DDD3E - cmp r0, #0 - beq _021DDD3E - add r0, r5, #0 - ldr r1, _021DDD5C ; =MOD05_021DDF44 - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r5, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 -_021DDD3E: - add sp, #0x18 - pop {r4, r5, r6, pc} - nop -_021DDD44: .word 0x00000F58 -_021DDD48: .word MOD05_021DDD64 -_021DDD4C: .word 0x0000726F -_021DDD50: .word 0x00006B5A -_021DDD54: .word 0x00000F64 -_021DDD58: .word 0x00000F62 -_021DDD5C: .word MOD05_021DDF44 -_021DDD60: .word 0x00000F66 - - thumb_func_start MOD05_021DDD64 -MOD05_021DDD64: ; 0x021DDD64 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r7, r1, #0 - ldr r1, _021DDE70 ; =0x00000F58 - str r0, [sp] - ldr r0, [r0, r1] - str r0, [sp, #0x10] - add r0, #0xb8 - ldr r0, [r0] - cmp r0, #1 - bne _021DDD7C - lsl r7, r7, #1 -_021DDD7C: - mov r6, #0 - cmp r7, #0 - ble _021DDE6A - ldr r0, [sp, #0x10] - str r0, [sp, #0xc] - add r0, #0xb8 - str r0, [sp, #0xc] - ldr r0, [sp, #0x10] - str r0, [sp, #8] - add r0, #0xbc - str r0, [sp, #8] - lsr r0, r7, #0x1f - add r0, r7, r0 - asr r0, r0, #1 - str r0, [sp, #4] -_021DDD9A: - ldr r0, [sp] - mov r1, #0x28 - bl MOD05_021DD048 - add r4, r0, #0 - beq _021DDE6A - ldr r5, [r4, #8] - bl MTRandom - mov r1, #3 - and r1, r0 - lsl r1, r1, #0x10 - ldr r0, [r4, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - mov r0, #0xa - str r0, [r5, #0x10] - mov r0, #0 - str r0, [r5, #0x14] - str r0, [r5, #0x18] - str r0, [r5, #0x20] - bl MTRandom - mov r1, #0x3c - str r0, [sp, #0x14] - bl _s32_div_f - add r0, r1, #4 - str r0, [r5, #0x24] - ldr r0, [sp, #0x14] - ldr r1, [sp, #0x14] - lsr r0, r0, #0x1f - lsl r2, r1, #0x1f - sub r2, r2, r0 - mov r1, #0x1f - ror r2, r1 - add r0, r0, r2 - bne _021DDDEC - mov r0, #1 - b _021DDDF0 -_021DDDEC: - add r0, r1, #0 - sub r0, #0x20 -_021DDDF0: - str r0, [r5, #4] - bl MTRandom - mov r1, #1 - and r0, r1 - add r0, r0, #4 - str r0, [r5, #8] - bl MTRandom - mov r1, #1 - and r0, r1 - add r0, r0, #1 - str r0, [r5, #0xc] - ldr r0, [sp, #0xc] - str r0, [r5] - ldr r0, [sp, #8] - str r0, [r5, #0x1c] - bl MTRandom - ldr r1, _021DDE74 ; =0x0000019E - bl _u32_div_f - sub r1, #0x20 - lsl r0, r1, #0xc - str r0, [sp, #0x18] - ldr r0, [sp, #0x10] - add r0, #0xb8 - ldr r0, [r0] - cmp r0, #1 - bne _021DDE48 - ldr r0, [sp, #4] - cmp r6, r0 - blt _021DDE48 - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - mov r0, #0x27 - mvn r0, r0 - sub r0, r0, r1 - lsl r0, r0, #0xc - str r0, [sp, #0x1c] - b _021DDE5C -_021DDE48: - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - mov r0, #7 - mvn r0, r0 - sub r0, r0, r1 - lsl r0, r0, #0xc - str r0, [sp, #0x1c] -_021DDE5C: - ldr r0, [r4, #4] - add r1, sp, #0x18 - bl MOD05_021DC4FC - add r6, r6, #1 - cmp r6, r7 - blt _021DDD9A -_021DDE6A: - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - nop -_021DDE70: .word 0x00000F58 -_021DDE74: .word 0x0000019E - - thumb_func_start MOD05_021DDE78 -MOD05_021DDE78: ; 0x021DDE78 - push {r4, r5, lr} - sub sp, #0xc - add r5, r0, #0 - add r4, r1, #0 - add r0, sp, #0 - add r1, r5, #0 - bl MOD05_021DD168 - ldr r0, [r4, #0x14] - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - ldr r0, [r4, #8] - cmp r1, r0 - blt _021DDECE - ldr r0, [r4, #4] - ldr r1, [sp] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp] - ldr r0, [r4, #0x10] - add r0, r0, #1 - str r0, [r4, #0x10] - ldr r1, [r4, #0x14] - ldr r0, _021DDF3C ; =0xFFFF0000 - and r0, r1 - str r0, [r4, #0x14] - ldr r0, [r4, #0x10] - cmp r0, #0xa - ldr r0, [r4, #8] - bge _021DDEB8 - sub r0, r0, #1 - b _021DDEBA -_021DDEB8: - add r0, r0, #1 -_021DDEBA: - str r0, [r4, #8] - ldr r0, [r4, #0x10] - cmp r0, #0x14 - blt _021DDECE - mov r0, #0 - str r0, [r4, #0x10] - ldr r1, [r4, #4] - sub r0, r0, #1 - mul r0, r1 - str r0, [r4, #4] -_021DDECE: - ldr r0, [r4, #0x14] - asr r1, r0, #0x10 - ldr r0, [r4, #0xc] - cmp r1, r0 - blt _021DDEEA - mov r0, #1 - ldr r1, [sp, #4] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #4] - ldr r0, [r4, #0x14] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [r4, #0x14] -_021DDEEA: - ldr r0, [r5, #4] - add r1, sp, #0 - bl MOD05_021DC4FC - ldr r0, [sp] - mov r1, #0x64 - asr r0, r0, #0xc - str r0, [sp] - ldr r0, [sp, #4] - asr r0, r0, #0xc - str r0, [sp, #4] - ldr r0, [r4, #0x18] - add r0, r0, #1 - bl _s32_div_f - str r1, [r4, #0x18] - ldr r0, [r4, #0x14] - add r1, r0, #1 - mov r0, #1 - lsl r0, r0, #0x10 - add r0, r1, r0 - str r0, [r4, #0x14] - ldr r1, [sp, #4] - ldr r0, _021DDF40 ; =0xFFFFFEE4 - cmp r1, r0 - bge _021DDF24 - sub r0, #0xc - cmp r1, r0 - bgt _021DDF2C -_021DDF24: - cmp r1, #0xd4 - ble _021DDF38 - cmp r1, #0xe8 - bge _021DDF38 -_021DDF2C: - ldr r0, [r4] - mov r1, #1 - str r1, [r0] - add r0, r5, #0 - bl MOD05_021DD100 -_021DDF38: - add sp, #0xc - pop {r4, r5, pc} - .balign 4, 0 -_021DDF3C: .word 0xFFFF0000 -_021DDF40: .word 0xFFFFFEE4 - - thumb_func_start MOD05_021DDF44 -MOD05_021DDF44: ; 0x021DDF44 - push {r3, lr} - ldr r1, [r0, #8] - ldr r3, [r1, #0x20] - ldr r2, [r1, #0x1c] - cmp r3, #0 - beq _021DDF56 - cmp r3, #1 - beq _021DDF62 - b _021DDF70 -_021DDF56: - ldr r2, [r2] - cmp r2, #1 - bne _021DDF70 - add r2, r3, #1 - str r2, [r1, #0x20] - b _021DDF70 -_021DDF62: - ldr r2, [r1, #0x24] - sub r2, r2, #1 - str r2, [r1, #0x24] - bpl _021DDF70 - bl MOD05_021DD100 - pop {r3, pc} -_021DDF70: - bl MOD05_021DDE78 - pop {r3, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DDF78 -MOD05_021DDF78: ; 0x021DDF78 - push {r4, r5, r6, lr} - sub sp, #0x18 - ldr r0, _021DE19C ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DE03C - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DDF98: ; jump table - .short _021DDFA4 - _021DDF98 - 2 ; case 0 - .short _021DE004 - _021DDF98 - 2 ; case 1 - .short _021DE046 - _021DDF98 - 2 ; case 2 - .short _021DE0AE - _021DDF98 - 2 ; case 3 - .short _021DE106 - _021DDF98 - 2 ; case 4 - .short _021DE154 - _021DDF98 - 2 ; case 5 -_021DDFA4: - mov r0, #6 - str r0, [sp] - mov r0, #3 - str r0, [sp, #4] - sub r0, #8 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r2, #1 - ldr r0, _021DE1A0 ; =MOD05_021DE1BC - str r2, [sp, #0x10] - str r0, [sp, #0x14] - add r0, r4, #0 - mov r3, #0x1e - bl MOD05_021DD328 - ldr r0, _021DE1A4 ; =0x00006D6F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DE1A8 ; =0x00006318 - add r1, r4, #0 - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldr r0, _021DE1AC ; =0x00000F64 - lsl r2, r2, #2 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - add r0, r4, #0 - mov r1, #8 - add r0, #0xb4 - str r1, [r0] - mov r0, #0 - add r4, #0xb8 - str r0, [r4] - ldr r0, _021DE1B0 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DE172 -_021DE004: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DE024 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DE172 -_021DE024: - ldr r2, _021DE1AC ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r4, #0x1c - add r0, #0x4c - add r1, r4, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DE03C - cmp r6, #3 - beq _021DE03E -_021DE03C: - b _021DE172 -_021DE03E: - ldr r0, _021DE1B0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DE172 -_021DE046: - mov r2, #6 - mov r3, #3 - str r2, [sp] - add r0, r3, #0 - str r3, [sp, #4] - sub r0, #8 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r0, #1 - str r0, [sp, #0x10] - ldr r0, _021DE1A0 ; =MOD05_021DE1BC - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DE1AC ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE08C - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DE1A4 ; =0x00006D6F - ldr r0, [r0, #0x44] - ldr r3, _021DE1A8 ; =0x00006318 - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5EC -_021DE08C: - mov r0, #0 - add r4, #0xb8 - str r0, [r4] - mov r0, #3 - str r0, [sp] - ldr r0, _021DE1B4 ; =MOD05_021DE2E0 - ldr r1, _021DE1A0 ; =MOD05_021DE1BC - str r0, [sp, #4] - add r0, r5, #0 - mov r2, #0x14 - mov r3, #2 - bl MOD05_021DD680 - ldr r0, _021DE1B0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DE172 -_021DE0AE: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DE0CA - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DE1BC - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DE0CA: - ldr r0, _021DE1B8 ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DE172 - mov r0, #2 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0x1e - mov r3, #5 - bl MOD05_021DD350 - ldr r0, _021DE1AC ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE0F8 - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DE0F8: - mov r0, #0 - add r4, #0xb4 - str r0, [r4] - ldr r0, _021DE1B0 ; =0x00000F62 - mov r1, #4 - strh r1, [r5, r0] - b _021DE172 -_021DE106: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DE126 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DE172 -_021DE126: - ldr r0, _021DE1AC ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE138 - add r4, #0x1c - add r0, r4, #0 - bl MOD05_021DD5D0 - b _021DE13A -_021DE138: - mov r0, #1 -_021DE13A: - cmp r0, #1 - bne _021DE172 - cmp r6, #3 - bne _021DE172 - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DE172 - ldr r0, _021DE1B0 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DE172 -_021DE154: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE16C - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DE16C: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DE172: - ldr r0, _021DE1B0 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DE198 - cmp r0, #0 - beq _021DE198 - add r0, r5, #0 - ldr r1, _021DE1B4 ; =MOD05_021DE2E0 - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r5, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 -_021DE198: - add sp, #0x18 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021DE19C: .word 0x00000F58 -_021DE1A0: .word MOD05_021DE1BC -_021DE1A4: .word 0x00006D6F -_021DE1A8: .word 0x00006318 -_021DE1AC: .word 0x00000F64 -_021DE1B0: .word 0x00000F62 -_021DE1B4: .word MOD05_021DE2E0 -_021DE1B8: .word 0x00000F66 - - thumb_func_start MOD05_021DE1BC -MOD05_021DE1BC: ; 0x021DE1BC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x58 - ldr r3, _021DE2D4 ; =UNK05_021F67D8 - add r2, sp, #0x48 - str r0, [sp] - str r1, [sp, #4] - ldmia r3!, {r0, r1} - str r2, [sp, #0x10] - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldr r3, _021DE2D8 ; =UNK05_021F67C8 - add r2, sp, #0x38 - str r2, [sp, #0x14] - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldr r1, _021DE2DC ; =0x00000F58 - ldr r0, [sp] - ldr r6, [r0, r1] - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [sp, #4] - cmp r0, #0 - ble _021DE2D0 - add r0, r6, #0 - str r0, [sp, #0x18] - add r0, #0xb8 - str r0, [sp, #0x18] - mov r0, #7 - mvn r0, r0 - lsl r0, r0, #0xc - str r0, [sp, #0x1c] -_021DE200: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r4, r0, #0 - beq _021DE2D0 - ldr r0, [sp, #0x18] - ldr r5, [r4, #8] - ldr r0, [r0] - add r1, r0, #1 - ldr r0, [sp, #0x18] - str r1, [r0] - add r0, r6, #0 - add r0, #0xb8 - ldr r1, [r0] - mov r0, #0x32 - lsl r0, r0, #4 - cmp r1, r0 - blt _021DE22E - add r1, r6, #0 - add r1, #0xb8 - mov r0, #0 - str r0, [r1] -_021DE22E: - add r0, r6, #0 - add r0, #0xb8 - ldr r0, [r0] - mov r1, #0xc8 - bl _s32_div_f - lsl r0, r0, #2 - ldr r1, [sp, #0x10] - str r0, [sp, #8] - ldr r0, [r1, r0] - str r0, [r5, #0x14] - mov r0, #0 - str r0, [r5] - bl MTRandom - mov r1, #0x2a - bl _u32_div_f - add r0, r1, #4 - str r0, [r5, #4] - sub r0, r0, #4 - mov r1, #0xf - bl _s32_div_f - add r7, r0, #0 - lsl r1, r7, #0x10 - ldr r0, [r4, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - add r0, r7, #1 - neg r1, r0 - str r1, [r5, #0x10] - ldr r2, [sp, #0x14] - ldr r1, [sp, #8] - ldr r1, [r2, r1] - mul r1, r0 - str r1, [r5, #8] - mov r0, #0 - str r0, [r5, #0xc] - add r0, sp, #0x20 - add r1, r4, #0 - bl MOD05_021DD168 - add r3, sp, #0x20 - ldmia r3!, {r0, r1} - add r2, sp, #0x2c - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - bl MTRandom - mov r1, #0x69 - lsl r1, r1, #2 - bl _u32_div_f - mov r0, #1 - sub r2, r0, r7 - sub r0, #0x15 - mul r0, r2 - add r1, r0, r1 - mov r0, #7 - mvn r0, r0 - str r0, [sp, #0x30] - mov r0, #0 - str r0, [sp, #0x34] - str r1, [sp, #0x2c] - lsl r0, r1, #0xc - str r0, [sp, #0x2c] - ldr r0, [sp, #0x1c] - add r1, sp, #0x2c - str r0, [sp, #0x30] - ldr r0, [r4, #4] - bl MOD05_021DC4FC - ldr r0, [sp, #0xc] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #0xc] - cmp r1, r0 - blt _021DE200 -_021DE2D0: - add sp, #0x58 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021DE2D4: .word UNK05_021F67D8 -_021DE2D8: .word UNK05_021F67C8 -_021DE2DC: .word 0x00000F58 - - thumb_func_start MOD05_021DE2E0 -MOD05_021DE2E0: ; 0x021DE2E0 - push {r3, r4, r5, lr} - sub sp, #0x18 - add r5, r0, #0 - add r0, sp, #0 - add r1, r5, #0 - ldr r4, [r5, #8] - bl MOD05_021DD168 - add r3, sp, #0 - ldmia r3!, {r0, r1} - add r2, sp, #0xc - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - ldr r0, [r4, #0xc] - cmp r0, #0 - beq _021DE30A - cmp r0, #1 - beq _021DE356 - add sp, #0x18 - pop {r3, r4, r5, pc} -_021DE30A: - ldr r0, [r4, #0x10] - ldr r1, [sp, #0xc] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0xc] - ldr r0, [r4, #8] - ldr r1, [sp, #0x10] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0x10] - ldr r1, [r4] - add r0, r1, #1 - str r0, [r4] - ldr r0, [r4, #4] - cmp r1, r0 - ble _021DE32E - mov r0, #1 - str r0, [r4, #0xc] -_021DE32E: - ldr r0, [r4] - ldr r1, [r4, #0x14] - bl _s32_div_f - cmp r1, #0 - bne _021DE34A - ldr r0, [r4, #0x10] - sub r0, r0, #1 - str r0, [r4, #0x10] - ldr r0, [r4, #8] - cmp r0, #1 - ble _021DE34A - sub r0, r0, #1 - str r0, [r4, #8] -_021DE34A: - ldr r0, [r5, #4] - add r1, sp, #0xc - bl MOD05_021DC4FC - add sp, #0x18 - pop {r3, r4, r5, pc} -_021DE356: - add r0, r5, #0 - bl MOD05_021DD100 - add sp, #0x18 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DE360 -MOD05_021DE360: ; 0x021DE360 - push {r4, r5, r6, lr} - sub sp, #0x18 - ldr r0, _021DE5D0 ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DE42E - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DE380: ; jump table - .short _021DE38C - _021DE380 - 2 ; case 0 - .short _021DE3F4 - _021DE380 - 2 ; case 1 - .short _021DE438 - _021DE380 - 2 ; case 2 - .short _021DE4A8 - _021DE380 - 2 ; case 3 - .short _021DE502 - _021DE380 - 2 ; case 4 - .short _021DE552 - _021DE380 - 2 ; case 5 -_021DE38C: - mov r0, #6 - str r0, [sp] - mov r0, #3 - str r0, [sp, #4] - sub r0, #8 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r2, #1 - ldr r0, _021DE5D4 ; =MOD05_021DE1BC - str r2, [sp, #0x10] - str r0, [sp, #0x14] - add r0, r4, #0 - mov r3, #0x1e - bl MOD05_021DD328 - ldr r0, _021DE5D8 ; =0x00006F6F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DE5DC ; =0x00006318 - add r1, r4, #0 - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldr r0, _021DE5E0 ; =0x00000F64 - lsl r2, r2, #2 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - add r0, r4, #0 - mov r1, #8 - add r0, #0xb4 - str r1, [r0] - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - ldr r0, _021DE5E4 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DE570 -_021DE3F4: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DE416 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021DE570 -_021DE416: - ldr r2, _021DE5E0 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r1, r4, #0 - add r0, #0x4c - add r1, #0x1c - bl MOD05_021DD474 - cmp r0, #1 - bne _021DE42E - cmp r6, #3 - beq _021DE430 -_021DE42E: - b _021DE570 -_021DE430: - ldr r0, _021DE5E4 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DE570 -_021DE438: - mov r2, #6 - mov r3, #3 - str r2, [sp] - add r0, r3, #0 - str r3, [sp, #4] - sub r0, #8 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r0, #1 - str r0, [sp, #0x10] - ldr r0, _021DE5D4 ; =MOD05_021DE1BC - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DE5E0 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE47E - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DE5D8 ; =0x00006F6F - ldr r0, [r0, #0x44] - ldr r3, _021DE5DC ; =0x00006318 - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5EC -_021DE47E: - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - mov r0, #3 - str r0, [sp] - ldr r0, _021DE5E8 ; =MOD05_021DE2E0 - ldr r1, _021DE5D4 ; =MOD05_021DE1BC - str r0, [sp, #4] - add r0, r5, #0 - mov r2, #0x14 - mov r3, #2 - bl MOD05_021DD680 - ldr r0, _021DE5E4 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DE570 -_021DE4A8: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DE4C4 - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DE1BC - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DE4C4: - ldr r0, _021DE5EC ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DE570 - mov r0, #2 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0x1e - mov r3, #5 - bl MOD05_021DD350 - ldr r0, _021DE5E0 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE4F2 - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DE4F2: - add r0, r4, #0 - mov r1, #0 - add r0, #0xb4 - str r1, [r0] - ldr r0, _021DE5E4 ; =0x00000F62 - mov r1, #4 - strh r1, [r5, r0] - b _021DE570 -_021DE502: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DE524 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021DE570 -_021DE524: - ldr r0, _021DE5E0 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE536 - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5D0 - b _021DE538 -_021DE536: - mov r0, #1 -_021DE538: - cmp r0, #1 - bne _021DE570 - cmp r6, #3 - bne _021DE570 - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DE570 - ldr r0, _021DE5E4 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DE570 -_021DE552: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DE56A - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DE56A: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DE570: - ldr r0, _021DE5E4 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DE5CA - cmp r0, #0 - beq _021DE5CA - add r0, r5, #0 - ldr r1, _021DE5E8 ; =MOD05_021DE2E0 - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r5, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 - add r0, r4, #0 - add r0, #0xbc - ldr r0, [r0] - add r0, r0, #6 - lsr r2, r0, #0x1f - lsl r1, r0, #0x18 - sub r1, r1, r2 - mov r0, #0x18 - ror r1, r0 - add r0, r4, #0 - add r1, r2, r1 - add r0, #0xbc - str r1, [r0] - add r4, #0xbc - ldr r1, [r4] - ldr r0, _021DE5F0 ; =0x000001FF - add r2, r1, #0 - neg r1, r1 - and r2, r0 - lsl r1, r1, #0x10 - lsl r0, r0, #0x10 - and r0, r1 - add r1, r2, #0 - orr r1, r0 - ldr r0, _021DE5F4 ; =0x04000018 - str r1, [r0] -_021DE5CA: - add sp, #0x18 - pop {r4, r5, r6, pc} - nop -_021DE5D0: .word 0x00000F58 -_021DE5D4: .word MOD05_021DE1BC -_021DE5D8: .word 0x00006F6F -_021DE5DC: .word 0x00006318 -_021DE5E0: .word 0x00000F64 -_021DE5E4: .word 0x00000F62 -_021DE5E8: .word MOD05_021DE2E0 -_021DE5EC: .word 0x00000F66 -_021DE5F0: .word 0x000001FF -_021DE5F4: .word 0x04000018 - - thumb_func_start MOD05_021DE5F8 -MOD05_021DE5F8: ; 0x021DE5F8 - push {r3, r4, r5, lr} - sub sp, #0x10 - ldr r2, _021DE74C ; =0x00000F58 - add r4, r1, #0 - add r0, r2, #0 - add r0, #0xa - ldrh r0, [r4, r0] - ldr r5, [r4, r2] - cmp r0, #5 - bls _021DE60E - b _021DE746 -_021DE60E: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021DE61A: ; jump table - .short _021DE626 - _021DE61A - 2 ; case 0 - .short _021DE65E - _021DE61A - 2 ; case 1 - .short _021DE694 - _021DE61A - 2 ; case 2 - .short _021DE6C2 - _021DE61A - 2 ; case 3 - .short _021DE6EE - _021DE61A - 2 ; case 4 - .short _021DE728 - _021DE61A - 2 ; case 5 -_021DE626: - ldr r0, _021DE750 ; =0x0000716F - add r2, #0xc - str r0, [sp] - ldr r0, _021DE754 ; =0x00006B5A - add r1, r5, #0 - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldrh r0, [r4, r2] - mov r2, #0x41 - lsl r2, r2, #2 - str r0, [sp, #0xc] - ldr r3, [r4] - add r0, r5, #0 - ldr r2, [r3, r2] - add r0, #0x30 - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - mov r0, #0x10 - add r5, #0x98 - str r0, [r5] - ldr r0, _021DE758 ; =0x00000F62 - mov r1, #1 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE65E: - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - cmp r0, #0 - ble _021DE678 - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - add r5, #0x98 - sub r0, r0, #1 - add sp, #0x10 - str r0, [r5] - pop {r3, r4, r5, pc} -_021DE678: - add r2, #0xc - ldrh r2, [r4, r2] - add r0, r5, #0 - add r0, #0x30 - add r1, r5, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DE746 - ldr r0, _021DE758 ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE694: - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE6B8 - mov r0, #0x41 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DE750 ; =0x0000716F - ldr r0, [r0, #0x44] - ldr r3, _021DE754 ; =0x00006B5A - mov r1, #3 - str r0, [r5] - bl MOD05_021DD49C - add r0, r5, #0 - bl MOD05_021DD5EC -_021DE6B8: - ldr r0, _021DE758 ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE6C2: - add r0, r2, #0 - add r0, #0xe - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021DE746 - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE6DE - add r0, r5, #0 - mov r1, #2 - mov r2, #0 - bl MOD05_021DD5B4 -_021DE6DE: - mov r0, #0x10 - add r5, #0x98 - str r0, [r5] - ldr r0, _021DE758 ; =0x00000F62 - mov r1, #4 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE6EE: - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - cmp r0, #0 - ble _021DE708 - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - add r5, #0x98 - sub r0, r0, #1 - add sp, #0x10 - str r0, [r5] - pop {r3, r4, r5, pc} -_021DE708: - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE718 - add r0, r5, #0 - bl MOD05_021DD5D0 - b _021DE71A -_021DE718: - mov r0, #1 -_021DE71A: - cmp r0, #1 - bne _021DE746 - ldr r0, _021DE758 ; =0x00000F62 - mov r1, #5 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE728: - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE740 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r5] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DE740: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021DE746: - add sp, #0x10 - pop {r3, r4, r5, pc} - nop -_021DE74C: .word 0x00000F58 -_021DE750: .word 0x0000716F -_021DE754: .word 0x00006B5A -_021DE758: .word 0x00000F62 - - thumb_func_start MOD05_021DE75C -MOD05_021DE75C: ; 0x021DE75C - push {r3, r4, r5, lr} - sub sp, #0x10 - ldr r2, _021DE8B0 ; =0x00000F58 - add r4, r1, #0 - add r0, r2, #0 - add r0, #0xa - ldrh r0, [r4, r0] - ldr r5, [r4, r2] - cmp r0, #5 - bls _021DE772 - b _021DE8AA -_021DE772: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021DE77E: ; jump table - .short _021DE78A - _021DE77E - 2 ; case 0 - .short _021DE7C2 - _021DE77E - 2 ; case 1 - .short _021DE7F8 - _021DE77E - 2 ; case 2 - .short _021DE826 - _021DE77E - 2 ; case 3 - .short _021DE852 - _021DE77E - 2 ; case 4 - .short _021DE88C - _021DE77E - 2 ; case 5 -_021DE78A: - ldr r0, _021DE8B4 ; =0x0000658F - add r2, #0xc - str r0, [sp] - ldr r0, _021DE8B8 ; =0x00006B5A - add r1, r5, #0 - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldrh r0, [r4, r2] - mov r2, #0x41 - lsl r2, r2, #2 - str r0, [sp, #0xc] - ldr r3, [r4] - add r0, r5, #0 - ldr r2, [r3, r2] - add r0, #0x30 - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - mov r0, #0x10 - add r5, #0x98 - str r0, [r5] - ldr r0, _021DE8BC ; =0x00000F62 - mov r1, #1 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE7C2: - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - cmp r0, #0 - ble _021DE7DC - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - add r5, #0x98 - sub r0, r0, #1 - add sp, #0x10 - str r0, [r5] - pop {r3, r4, r5, pc} -_021DE7DC: - add r2, #0xc - ldrh r2, [r4, r2] - add r0, r5, #0 - add r0, #0x30 - add r1, r5, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DE8AA - ldr r0, _021DE8BC ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE7F8: - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE81C - mov r0, #0x41 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DE8B4 ; =0x0000658F - ldr r0, [r0, #0x44] - ldr r3, _021DE8B8 ; =0x00006B5A - mov r1, #3 - str r0, [r5] - bl MOD05_021DD49C - add r0, r5, #0 - bl MOD05_021DD5EC -_021DE81C: - ldr r0, _021DE8BC ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE826: - add r0, r2, #0 - add r0, #0xe - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021DE8AA - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE842 - add r0, r5, #0 - mov r1, #2 - mov r2, #0 - bl MOD05_021DD5B4 -_021DE842: - mov r0, #0x10 - add r5, #0x98 - str r0, [r5] - ldr r0, _021DE8BC ; =0x00000F62 - mov r1, #4 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE852: - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - cmp r0, #0 - ble _021DE86C - add r0, r5, #0 - add r0, #0x98 - ldr r0, [r0] - add r5, #0x98 - sub r0, r0, #1 - add sp, #0x10 - str r0, [r5] - pop {r3, r4, r5, pc} -_021DE86C: - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE87C - add r0, r5, #0 - bl MOD05_021DD5D0 - b _021DE87E -_021DE87C: - mov r0, #1 -_021DE87E: - cmp r0, #1 - bne _021DE8AA - ldr r0, _021DE8BC ; =0x00000F62 - mov r1, #5 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021DE88C: - add r2, #0xc - ldrh r0, [r4, r2] - cmp r0, #0 - beq _021DE8A4 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r5] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DE8A4: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021DE8AA: - add sp, #0x10 - pop {r3, r4, r5, pc} - nop -_021DE8B0: .word 0x00000F58 -_021DE8B4: .word 0x0000658F -_021DE8B8: .word 0x00006B5A -_021DE8BC: .word 0x00000F62 - - thumb_func_start MOD05_021DE8C0 -MOD05_021DE8C0: ; 0x021DE8C0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - ldr r0, _021DEA58 ; =0x00000F58 - add r4, r1, #0 - add r1, r0, #0 - add r1, #0xa - ldrh r1, [r4, r1] - ldr r5, [r4, r0] - cmp r1, #5 - bls _021DE8D6 - b _021DEA54 -_021DE8D6: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021DE8E2: ; jump table - .short _021DE8EE - _021DE8E2 - 2 ; case 0 - .short _021DE94C - _021DE8E2 - 2 ; case 1 - .short _021DE97A - _021DE8E2 - 2 ; case 2 - .short _021DE9C8 - _021DE8E2 - 2 ; case 3 - .short _021DE9FC - _021DE8E2 - 2 ; case 4 - .short _021DEA36 - _021DE8E2 - 2 ; case 5 -_021DE8EE: - ldr r1, _021DEA5C ; =0x00007A0F - mov r2, #0x41 - str r1, [sp] - ldr r1, _021DEA60 ; =0x00007FFF - add r0, #0xc - str r1, [sp, #4] - mov r1, #2 - str r1, [sp, #8] - ldrh r0, [r4, r0] - add r1, r5, #0 - lsl r2, r2, #2 - str r0, [sp, #0xc] - ldr r3, [r4] - add r0, r5, #0 - ldr r2, [r3, r2] - add r0, #0x44 - ldr r2, [r2, #0x44] - add r1, #0x14 - mov r3, #5 - bl MOD05_021DD420 - add r0, r5, #0 - mov r1, #0 - mov r2, #0x10 - mov r3, #0x1e - bl MOD05_021DC6EC - mov r0, #0 - mov r1, #0x10 - bl MOD05_021DC6D4 - ldr r1, _021DEA64 ; =0x0400000C - mov r0, #3 - ldrh r2, [r1] - bic r2, r0 - mov r0, #3 - orr r0, r2 - strh r0, [r1] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021DEA68 ; =0x00000F62 - mov r1, #1 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021DE94C: - add r0, r5, #0 - add r0, #0x14 - bl MOD05_021DD5D0 - add r6, r0, #0 - add r0, r5, #0 - bl MOD05_021DC6FC - add r7, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021DEA54 - cmp r7, #1 - bne _021DEA54 - ldr r0, _021DEA68 ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021DE97A: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021DE9A0 - mov r0, #0x41 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DEA5C ; =0x00007A0F - ldr r0, [r0, #0x44] - ldr r3, _021DEA60 ; =0x00007FFF - mov r1, #5 - str r0, [r5, #0x14] - bl MOD05_021DD49C - add r5, #0x14 - add r0, r5, #0 - bl MOD05_021DD5EC -_021DE9A0: - mov r0, #0x10 - mov r1, #0 - bl MOD05_021DC6D4 - ldr r1, _021DEA64 ; =0x0400000C - mov r0, #3 - ldrh r2, [r1] - bic r2, r0 - mov r0, #3 - orr r0, r2 - strh r0, [r1] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021DEA68 ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021DE9C8: - add r1, r0, #0 - add r1, #0xe - ldrh r1, [r4, r1] - cmp r1, #5 - bne _021DEA54 - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021DE9E6 - add r0, r5, #0 - add r0, #0x14 - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DE9E6: - add r0, r5, #0 - mov r1, #0x10 - mov r2, #0 - mov r3, #0x1e - bl MOD05_021DC6EC - ldr r0, _021DEA68 ; =0x00000F62 - mov r1, #4 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021DE9FC: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021DEA10 - add r0, r5, #0 - add r0, #0x14 - bl MOD05_021DD5D0 - add r6, r0, #0 - b _021DEA12 -_021DEA10: - mov r6, #1 -_021DEA12: - add r0, r5, #0 - bl MOD05_021DC6FC - add r7, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021DEA54 - cmp r7, #1 - bne _021DEA54 - ldr r0, _021DEA68 ; =0x00000F62 - mov r1, #5 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021DEA36: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021DEA4E - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r5, #0x14] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DEA4E: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021DEA54: - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021DEA58: .word 0x00000F58 -_021DEA5C: .word 0x00007A0F -_021DEA60: .word 0x00007FFF -_021DEA64: .word 0x0400000C -_021DEA68: .word 0x00000F62 - - thumb_func_start MOD05_021DEA6C -MOD05_021DEA6C: ; 0x021DEA6C - push {r4, r5, r6, lr} - sub sp, #0x18 - ldr r0, _021DEC8C ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DEB2E - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DEA8C: ; jump table - .short _021DEA98 - _021DEA8C - 2 ; case 0 - .short _021DEAF6 - _021DEA8C - 2 ; case 1 - .short _021DEB38 - _021DEA8C - 2 ; case 2 - .short _021DEB9C - _021DEA8C - 2 ; case 3 - .short _021DEBF4 - _021DEA8C - 2 ; case 4 - .short _021DEC42 - _021DEA8C - 2 ; case 5 -_021DEA98: - mov r0, #8 - str r0, [sp] - mov r2, #1 - str r2, [sp, #4] - sub r0, r2, #3 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - mov r0, #2 - str r0, [sp, #0x10] - ldr r0, _021DEC90 ; =MOD05_021DECAC - mov r3, #0xf - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DEC94 ; =0x00006EEF - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DEC98 ; =0x0000169A - lsl r2, r2, #2 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021DEC9C ; =0x00000F64 - add r1, r4, #0 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb4 - str r1, [r0] - add r4, #0xb8 - str r1, [r4] - ldr r0, _021DECA0 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DEC60 -_021DEAF6: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DEB16 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DEC60 -_021DEB16: - ldr r2, _021DEC9C ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r4, #0x1c - add r0, #0x4c - add r1, r4, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DEB2E - cmp r6, #3 - beq _021DEB30 -_021DEB2E: - b _021DEC60 -_021DEB30: - ldr r0, _021DECA0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DEC60 -_021DEB38: - mov r2, #8 - mov r3, #1 - str r2, [sp] - str r3, [sp, #4] - sub r0, r3, #3 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - mov r0, #2 - str r0, [sp, #0x10] - ldr r0, _021DEC90 ; =MOD05_021DECAC - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DEC9C ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DEB7C - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DEC94 ; =0x00006EEF - ldr r0, [r0, #0x44] - ldr r3, _021DEC98 ; =0x0000169A - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5EC -_021DEB7C: - mov r0, #0 - add r4, #0xb8 - str r0, [r4] - mov r3, #2 - ldr r0, _021DECA4 ; =MOD05_021DEDB4 - str r3, [sp] - str r0, [sp, #4] - ldr r1, _021DEC90 ; =MOD05_021DECAC - add r0, r5, #0 - mov r2, #0x18 - bl MOD05_021DD680 - ldr r0, _021DECA0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DEC60 -_021DEB9C: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DEBB8 - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DECAC - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DEBB8: - ldr r0, _021DECA8 ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DEC60 - mov r0, #2 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0xf - mov r3, #2 - bl MOD05_021DD350 - ldr r0, _021DEC9C ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DEBE6 - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DEBE6: - mov r0, #0x1f - add r4, #0xb4 - str r0, [r4] - ldr r0, _021DECA0 ; =0x00000F62 - mov r1, #4 - strh r1, [r5, r0] - b _021DEC60 -_021DEBF4: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DEC14 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DEC60 -_021DEC14: - ldr r0, _021DEC9C ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DEC26 - add r4, #0x1c - add r0, r4, #0 - bl MOD05_021DD5D0 - b _021DEC28 -_021DEC26: - mov r0, #1 -_021DEC28: - cmp r0, #1 - bne _021DEC60 - cmp r6, #3 - bne _021DEC60 - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DEC60 - ldr r0, _021DECA0 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DEC60 -_021DEC42: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DEC5A - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DEC5A: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DEC60: - ldr r0, _021DECA0 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DEC86 - cmp r0, #0 - beq _021DEC86 - add r0, r5, #0 - ldr r1, _021DECA4 ; =MOD05_021DEDB4 - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r5, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 -_021DEC86: - add sp, #0x18 - pop {r4, r5, r6, pc} - nop -_021DEC8C: .word 0x00000F58 -_021DEC90: .word MOD05_021DECAC -_021DEC94: .word 0x00006EEF -_021DEC98: .word 0x0000169A -_021DEC9C: .word 0x00000F64 -_021DECA0: .word 0x00000F62 -_021DECA4: .word MOD05_021DEDB4 -_021DECA8: .word 0x00000F66 - - thumb_func_start MOD05_021DECAC -MOD05_021DECAC: ; 0x021DECAC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - str r1, [sp, #4] - ldr r1, _021DEDA0 ; =0x00000F58 - str r0, [sp] - ldr r4, [r0, r1] - mov r1, #5 - add r0, r4, #0 - add r0, #0xb8 - ldr r0, [r0] - lsl r1, r1, #6 - add r0, r0, #1 - bl _s32_div_f - add r0, r4, #0 - add r0, #0xb8 - str r1, [r0] - add r4, #0xb8 - ldr r0, [r4] - mov r1, #0x28 - bl _s32_div_f - mov r1, #0 - str r1, [sp, #8] - ldr r1, [sp, #4] - cmp r1, #0 - ble _021DED9A - lsl r6, r0, #2 -_021DECE4: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r4, r0, #0 - beq _021DED9A - ldr r5, [r4, #8] - mov r0, #0 - str r0, [r5] - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - add r1, #0xf - str r1, [r5, #4] - sub r1, #0xf - add r0, r1, #0 - mov r1, #6 - bl _s32_div_f - mov r1, #3 - sub r7, r1, r0 - ldr r1, _021DEDA4 ; =UNK05_021F687C - add r0, r7, #1 - ldr r1, [r1, r6] - mul r1, r0 - str r1, [r5, #8] - ldr r1, _021DEDA8 ; =UNK05_021F683C - ldr r1, [r1, r6] - mul r1, r0 - str r1, [r5, #0x10] - mov r0, #0 - str r0, [r5, #0xc] - ldr r0, _021DEDA8 ; =UNK05_021F683C - ldr r0, [r0, r6] - str r0, [r5, #0x14] - bl MTRandom - mov r1, #0xfa - lsl r1, r1, #2 - bl _u32_div_f - ldr r0, _021DEDAC ; =0x00000309 - cmp r1, r0 - bne _021DED4E - ldr r1, [r5, #8] - mov r7, #4 - lsr r0, r1, #0x1f - add r0, r1, r0 - asr r0, r0, #1 - add r0, r1, r0 - str r0, [r5, #8] -_021DED4E: - lsl r1, r7, #0x10 - ldr r0, [r4, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - add r0, sp, #0xc - add r1, r4, #0 - bl MOD05_021DD168 - bl MTRandom - mov r1, #0x18 - bl _u32_div_f - ldr r0, _021DEDB0 ; =0x00000106 - add r0, r1, r0 - str r0, [sp, #0xc] - lsl r0, r0, #0xc - str r0, [sp, #0xc] - bl MTRandom - mov r1, #0xc0 - bl _u32_div_f - sub r1, #0x40 - str r1, [sp, #0x10] - lsl r0, r1, #0xc - str r0, [sp, #0x10] - ldr r0, [r4, #4] - add r1, sp, #0xc - bl MOD05_021DC4FC - ldr r0, [sp, #8] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #8] - cmp r1, r0 - blt _021DECE4 -_021DED9A: - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - nop -_021DEDA0: .word 0x00000F58 -_021DEDA4: .word UNK05_021F687C -_021DEDA8: .word UNK05_021F683C -_021DEDAC: .word 0x00000309 -_021DEDB0: .word 0x00000106 - - thumb_func_start MOD05_021DEDB4 -MOD05_021DEDB4: ; 0x021DEDB4 - push {r3, r4, r5, lr} - sub sp, #0x18 - add r5, r0, #0 - add r0, sp, #0 - add r1, r5, #0 - ldr r4, [r5, #8] - bl MOD05_021DD168 - add r3, sp, #0 - ldmia r3!, {r0, r1} - add r2, sp, #0xc - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - ldr r0, [r4, #0xc] - cmp r0, #0 - beq _021DEDDE - cmp r0, #1 - beq _021DEE22 - add sp, #0x18 - pop {r3, r4, r5, pc} -_021DEDDE: - ldr r0, [r4, #0x10] - ldr r1, [sp, #0xc] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0xc] - ldr r0, [r4, #8] - ldr r1, [sp, #0x10] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0x10] - ldr r0, [r4] - mov r1, #5 - bl _s32_div_f - cmp r1, #0 - bne _021DEE06 - ldr r1, [r4, #0x10] - ldr r0, [r4, #0x14] - add r0, r1, r0 - str r0, [r4, #0x10] -_021DEE06: - ldr r1, [r4] - add r0, r1, #1 - str r0, [r4] - ldr r0, [r4, #4] - cmp r1, r0 - ble _021DEE16 - mov r0, #1 - str r0, [r4, #0xc] -_021DEE16: - ldr r0, [r5, #4] - add r1, sp, #0xc - bl MOD05_021DC4FC - add sp, #0x18 - pop {r3, r4, r5, pc} -_021DEE22: - add r0, r5, #0 - bl MOD05_021DD100 - add sp, #0x18 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021DEE2C -MOD05_021DEE2C: ; 0x021DEE2C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x20 - ldr r0, _021DF0F0 ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DEEFE - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DEE4C: ; jump table - .short _021DEE58 - _021DEE4C - 2 ; case 0 - .short _021DEEC4 - _021DEE4C - 2 ; case 1 - .short _021DEF10 - _021DEE4C - 2 ; case 2 - .short _021DEF8A - _021DEE4C - 2 ; case 3 - .short _021DF01E - _021DEE4C - 2 ; case 4 - .short _021DF06C - _021DEE4C - 2 ; case 5 -_021DEE58: - mov r0, #8 - str r0, [sp] - mov r2, #1 - str r2, [sp, #4] - sub r0, r2, #3 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - mov r0, #2 - str r0, [sp, #0x10] - ldr r0, _021DF0F4 ; =MOD05_021DECAC - mov r3, #0xf - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DF0F8 ; =0x00006EEF - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DF0FC ; =0x0000169A - lsl r2, r2, #2 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021DF100 ; =0x00000F64 - add r1, r4, #0 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb4 - str r1, [r0] - add r0, r4, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - add r0, r4, #0 - add r0, #0xc0 - str r1, [r0] - ldr r0, _021DF104 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DF08A -_021DEEC4: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DEEE6 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021DF08A -_021DEEE6: - ldr r2, _021DF100 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r1, r4, #0 - add r0, #0x4c - add r1, #0x1c - bl MOD05_021DD474 - cmp r0, #1 - bne _021DEEFE - cmp r6, #3 - beq _021DEF00 -_021DEEFE: - b _021DF08A -_021DEF00: - ldr r0, _021DF104 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - b _021DF08A -_021DEF10: - mov r2, #8 - mov r3, #1 - str r2, [sp] - str r3, [sp, #4] - sub r0, r3, #3 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - mov r0, #2 - str r0, [sp, #0x10] - ldr r0, _021DF0F4 ; =MOD05_021DECAC - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DF100 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DEF54 - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DF0F8 ; =0x00006EEF - ldr r0, [r0, #0x44] - ldr r3, _021DF0FC ; =0x0000169A - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5EC -_021DEF54: - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - add r0, r4, #0 - add r0, #0xc0 - str r1, [r0] - mov r3, #2 - ldr r0, _021DF108 ; =MOD05_021DEDB4 - str r3, [sp] - str r0, [sp, #4] - ldr r1, _021DF0F4 ; =MOD05_021DECAC - add r0, r5, #0 - mov r2, #0x18 - bl MOD05_021DD680 - ldr r0, _021DF104 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - b _021DF08A -_021DEF8A: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DEFDA - add r0, r4, #0 - add r0, #0xb8 - ldr r0, [r0] - mov r1, #0x28 - bl _s32_div_f - lsl r1, r0, #2 - ldr r0, _021DF10C ; =UNK05_021F681C - ldr r1, [r0, r1] - add r0, r4, #0 - add r0, #0xc0 - str r1, [r0] - add r0, r4, #0 - add r0, #0xc0 - ldr r1, [r0] - mov r0, #5 - mvn r0, r0 - cmp r1, r0 - bgt _021DEFCA - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - lsl r1, r1, #1 - bl MOD05_021DECAC - b _021DEFD4 -_021DEFCA: - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DECAC -_021DEFD4: - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DEFDA: - ldr r0, _021DF110 ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DF08A - mov r0, #2 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0xf - mov r3, #2 - bl MOD05_021DD350 - ldr r0, _021DF100 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF008 - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DF008: - add r0, r4, #0 - mov r1, #0x1f - add r0, #0xb4 - str r1, [r0] - ldr r1, _021DF104 ; =0x00000F62 - mov r0, #4 - strh r0, [r5, r1] - mov r1, #0 - bl FUN_0201E6E4 - b _021DF08A -_021DF01E: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DF040 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021DF08A -_021DF040: - ldr r0, _021DF100 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF052 - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5D0 - add r7, r0, #0 -_021DF052: - cmp r7, #1 - bne _021DF08A - cmp r6, #3 - bne _021DF08A - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DF08A - ldr r0, _021DF104 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DF08A -_021DF06C: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF084 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DF084: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DF08A: - ldr r0, _021DF104 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DF0EC - cmp r0, #0 - beq _021DF0EC - add r0, r5, #0 - ldr r1, _021DF108 ; =MOD05_021DEDB4 - add r0, #0xc - bl MOD05_021DD148 - add r0, r5, #0 - add r1, sp, #0x1c - add r2, sp, #0x18 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 - add r0, r4, #0 - add r0, #0xbc - ldr r0, [r0] - add r0, r0, #6 - lsr r2, r0, #0x1f - lsl r1, r0, #0x18 - sub r1, r1, r2 - mov r0, #0x18 - ror r1, r0 - add r0, r4, #0 - add r1, r2, r1 - add r0, #0xbc - str r1, [r0] - add r4, #0xbc - ldr r3, [r4] - ldr r0, [sp, #0x1c] - lsl r1, r3, #1 - sub r1, r1, r0 - add r2, r1, #0 - ldr r1, [sp, #0x18] - ldr r0, _021DF114 ; =0x000001FF - sub r1, r1, r3 - and r2, r0 - lsl r1, r1, #0x10 - lsl r0, r0, #0x10 - and r0, r1 - add r1, r2, #0 - orr r1, r0 - ldr r0, _021DF118 ; =0x04000018 - str r1, [r0] -_021DF0EC: - add sp, #0x20 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021DF0F0: .word 0x00000F58 -_021DF0F4: .word MOD05_021DECAC -_021DF0F8: .word 0x00006EEF -_021DF0FC: .word 0x0000169A -_021DF100: .word 0x00000F64 -_021DF104: .word 0x00000F62 -_021DF108: .word MOD05_021DEDB4 -_021DF10C: .word UNK05_021F681C -_021DF110: .word 0x00000F66 -_021DF114: .word 0x000001FF -_021DF118: .word 0x04000018 - - thumb_func_start MOD05_021DF11C -MOD05_021DF11C: ; 0x021DF11C - push {r4, r5, r6, lr} - sub sp, #0x18 - ldr r0, _021DF3BC ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DF1EA - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DF13C: ; jump table - .short _021DF148 - _021DF13C - 2 ; case 0 - .short _021DF1B0 - _021DF13C - 2 ; case 1 - .short _021DF1FC - _021DF13C - 2 ; case 2 - .short _021DF270 - _021DF13C - 2 ; case 3 - .short _021DF2F8 - _021DF13C - 2 ; case 4 - .short _021DF348 - _021DF13C - 2 ; case 5 -_021DF148: - mov r0, #0xa - str r0, [sp] - mov r2, #1 - str r2, [sp, #4] - sub r0, r2, #5 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r0, #3 - str r0, [sp, #0x10] - ldr r0, _021DF3C0 ; =MOD05_021DF3E8 - mov r3, #0x1e - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DF3C4 ; =0x00006B6F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DF3C8 ; =0x00006318 - lsl r2, r2, #2 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021DF3CC ; =0x00000F64 - add r1, r4, #0 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - add r0, r4, #0 - mov r1, #0x10 - add r0, #0xb4 - str r1, [r0] - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - ldr r0, _021DF3D0 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DF366 -_021DF1B0: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DF1D2 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021DF366 -_021DF1D2: - ldr r2, _021DF3CC ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r1, r4, #0 - add r0, #0x4c - add r1, #0x1c - bl MOD05_021DD474 - cmp r0, #1 - bne _021DF1EA - cmp r6, #3 - beq _021DF1EC -_021DF1EA: - b _021DF366 -_021DF1EC: - ldr r0, _021DF3D0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - b _021DF366 -_021DF1FC: - mov r2, #0xa - mov r3, #1 - str r2, [sp] - str r3, [sp, #4] - sub r0, r3, #5 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r0, #3 - str r0, [sp, #0x10] - ldr r0, _021DF3C0 ; =MOD05_021DF3E8 - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DF3CC ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF240 - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DF3C4 ; =0x00006B6F - ldr r0, [r0, #0x44] - ldr r3, _021DF3C8 ; =0x00006318 - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5EC -_021DF240: - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - mov r3, #2 - ldr r0, _021DF3D4 ; =MOD05_021DF500 - str r3, [sp] - str r0, [sp, #4] - ldr r1, _021DF3C0 ; =MOD05_021DF3E8 - add r0, r5, #0 - mov r2, #0x14 - bl MOD05_021DD680 - ldr r0, _021DF3D0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - b _021DF366 -_021DF270: - mov r1, #6 - ldrsh r2, [r4, r1] - sub r0, r2, #1 - strh r0, [r4, #6] - cmp r2, #0 - bgt _021DF2B4 - add r0, r4, #0 - add r0, #0xb8 - ldr r2, [r0] - sub r1, #0xe - asr r0, r2, #8 - lsr r0, r0, #0x17 - add r0, r2, r0 - asr r0, r0, #9 - lsl r2, r0, #2 - ldr r0, _021DF3D8 ; =UNK05_021F67F8 - ldr r0, [r0, r2] - cmp r0, r1 - bgt _021DF2A4 - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - lsl r1, r1, #1 - bl MOD05_021DF3E8 - b _021DF2AE -_021DF2A4: - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DF3E8 -_021DF2AE: - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DF2B4: - ldr r0, _021DF3DC ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DF366 - mov r0, #3 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0xc - mov r3, #4 - bl MOD05_021DD350 - ldr r0, _021DF3CC ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF2E2 - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DF2E2: - add r0, r4, #0 - mov r1, #0x14 - add r0, #0xb4 - str r1, [r0] - ldr r1, _021DF3D0 ; =0x00000F62 - mov r0, #4 - strh r0, [r5, r1] - mov r1, #0 - bl FUN_0201E6E4 - b _021DF366 -_021DF2F8: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DF31A - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021DF366 -_021DF31A: - ldr r0, _021DF3CC ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF32C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5D0 - b _021DF32E -_021DF32C: - mov r0, #1 -_021DF32E: - cmp r0, #1 - bne _021DF366 - cmp r6, #3 - bne _021DF366 - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DF366 - ldr r0, _021DF3D0 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DF366 -_021DF348: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF360 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DF360: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DF366: - ldr r0, _021DF3D0 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DF3B8 - cmp r0, #0 - beq _021DF3B8 - add r0, r5, #0 - ldr r1, _021DF3D4 ; =MOD05_021DF500 - add r0, #0xc - bl MOD05_021DD148 - add r0, r5, #0 - bl MOD05_021DD164 - add r0, r4, #0 - add r0, #0xbc - ldr r0, [r0] - add r0, #0xc - lsr r2, r0, #0x1f - lsl r1, r0, #0x18 - sub r1, r1, r2 - mov r0, #0x18 - ror r1, r0 - add r0, r4, #0 - add r1, r2, r1 - add r0, #0xbc - str r1, [r0] - add r4, #0xbc - ldr r3, [r4] - ldr r0, _021DF3E0 ; =0x000001FF - lsl r1, r3, #1 - add r2, r1, #0 - neg r1, r3 - and r2, r0 - lsl r1, r1, #0x10 - lsl r0, r0, #0x10 - and r0, r1 - add r1, r2, #0 - orr r1, r0 - ldr r0, _021DF3E4 ; =0x04000018 - str r1, [r0] -_021DF3B8: - add sp, #0x18 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021DF3BC: .word 0x00000F58 -_021DF3C0: .word MOD05_021DF3E8 -_021DF3C4: .word 0x00006B6F -_021DF3C8: .word 0x00006318 -_021DF3CC: .word 0x00000F64 -_021DF3D0: .word 0x00000F62 -_021DF3D4: .word MOD05_021DF500 -_021DF3D8: .word UNK05_021F67F8 -_021DF3DC: .word 0x00000F66 -_021DF3E0: .word 0x000001FF -_021DF3E4: .word 0x04000018 - - thumb_func_start MOD05_021DF3E8 -MOD05_021DF3E8: ; 0x021DF3E8 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - ldr r2, _021DF4F4 ; =0x00000F58 - str r0, [sp] - ldr r0, [r0, r2] - add r2, r0, #0 - add r2, #0xb8 - ldr r2, [r2] - add r3, r2, #1 - add r2, r0, #0 - add r2, #0xb8 - str r3, [r2] - add r2, r0, #0 - add r2, #0xb8 - ldr r3, [r2] - mov r2, #2 - lsl r2, r2, #0xa - cmp r3, r2 - blt _021DF416 - add r2, r0, #0 - mov r3, #0 - add r2, #0xb8 - str r3, [r2] -_021DF416: - add r0, #0xb8 - ldr r2, [r0] - asr r0, r2, #8 - lsr r0, r0, #0x17 - add r0, r2, r0 - asr r2, r0, #9 - mov r0, #0 - str r0, [sp, #8] - lsl r0, r1, #2 - str r0, [sp, #4] - cmp r0, #0 - ble _021DF4EE - lsl r4, r2, #2 -_021DF430: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r6, r0, #0 - beq _021DF4EE - ldr r5, [r6, #8] - mov r0, #0 - str r0, [r5] - bl MTRandom - mov r1, #6 - bl _u32_div_f - add r1, #0x12 - str r1, [r5, #4] - bl MTRandom - add r7, r0, #0 - mov r1, #3 - and r7, r1 - lsl r1, r7, #0x10 - ldr r0, [r6, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - ldr r1, _021DF4F8 ; =UNK05_021F67F8 - add r0, r7, #1 - ldr r1, [r1, r4] - mul r1, r0 - str r1, [r5, #0x10] - ldr r1, _021DF4FC ; =UNK05_021F67E8 - ldr r1, [r1, r4] - mul r1, r0 - mov r0, #0 - str r1, [r5, #8] - str r0, [r5, #0xc] - cmp r7, #3 - bne _021DF492 - ldr r0, _021DF4F8 ; =UNK05_021F67F8 - ldr r1, [r5, #0x10] - ldr r0, [r0, r4] - add r0, r1, r0 - str r0, [r5, #0x10] - ldr r0, _021DF4FC ; =UNK05_021F67E8 - ldr r1, [r5, #8] - ldr r0, [r0, r4] - add r0, r1, r0 - str r0, [r5, #8] -_021DF492: - ldr r0, _021DF4F8 ; =UNK05_021F67F8 - add r1, r6, #0 - ldr r0, [r0, r4] - str r0, [r5, #0x14] - add r0, sp, #0xc - bl MOD05_021DD168 - add r3, sp, #0xc - ldmia r3!, {r0, r1} - add r2, sp, #0x18 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - bl MTRandom - mov r1, #0x18 - bl _u32_div_f - mov r0, #1 - lsl r0, r0, #8 - add r0, r1, r0 - str r0, [sp, #0x18] - bl MTRandom - mov r1, #0xa8 - bl _u32_div_f - ldr r0, [sp, #0x18] - sub r1, #0x20 - lsl r0, r0, #0xc - str r0, [sp, #0x18] - str r1, [sp, #0x1c] - lsl r0, r1, #0xc - str r0, [sp, #0x1c] - mov r0, #0 - str r0, [sp, #0x20] - ldr r0, [r6, #4] - add r1, sp, #0x18 - bl MOD05_021DC4FC - ldr r0, [sp, #8] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #8] - cmp r1, r0 - blt _021DF430 -_021DF4EE: - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - nop -_021DF4F4: .word 0x00000F58 -_021DF4F8: .word UNK05_021F67F8 -_021DF4FC: .word UNK05_021F67E8 - - thumb_func_start MOD05_021DF500 -MOD05_021DF500: ; 0x021DF500 - push {r3, r4, r5, lr} - sub sp, #0x18 - add r5, r0, #0 - add r0, sp, #0 - add r1, r5, #0 - ldr r4, [r5, #8] - bl MOD05_021DD168 - add r3, sp, #0 - ldmia r3!, {r0, r1} - add r2, sp, #0xc - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - ldr r0, [r4, #0xc] - cmp r0, #0 - beq _021DF52A - cmp r0, #1 - beq _021DF57C - add sp, #0x18 - pop {r3, r4, r5, pc} -_021DF52A: - ldr r0, [r4, #0x10] - ldr r1, [sp, #0xc] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0xc] - ldr r0, [r4, #8] - ldr r1, [sp, #0x10] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0x10] - ldr r1, [r4] - add r0, r1, #1 - str r0, [r4] - ldr r0, [r4, #4] - cmp r1, r0 - ble _021DF54E - mov r0, #1 - str r0, [r4, #0xc] -_021DF54E: - ldr r0, [r4] - lsr r2, r0, #0x1f - lsl r1, r0, #0x1e - sub r1, r1, r2 - mov r0, #0x1e - ror r1, r0 - add r0, r2, r1 - bne _021DF570 - ldr r1, [r4, #0x10] - ldr r0, [r4, #0x14] - add r0, r1, r0 - str r0, [r4, #0x10] - ldr r0, [r4, #8] - cmp r0, #1 - ble _021DF570 - sub r0, r0, #1 - str r0, [r4, #8] -_021DF570: - ldr r0, [r5, #4] - add r1, sp, #0xc - bl MOD05_021DC4FC - add sp, #0x18 - pop {r3, r4, r5, pc} -_021DF57C: - add r0, r5, #0 - bl MOD05_021DD100 - add sp, #0x18 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DF588 -MOD05_021DF588: ; 0x021DF588 - push {r4, r5, r6, lr} - sub sp, #0x18 - ldr r0, _021DF794 ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021DF642 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021DF5A8: ; jump table - .short _021DF5B4 - _021DF5A8 - 2 ; case 0 - .short _021DF60A - _021DF5A8 - 2 ; case 1 - .short _021DF64C - _021DF5A8 - 2 ; case 2 - .short _021DF6AA - _021DF5A8 - 2 ; case 3 - .short _021DF702 - _021DF5A8 - 2 ; case 4 - .short _021DF74C - _021DF5A8 - 2 ; case 5 -_021DF5B4: - mov r0, #0x14 - str r0, [sp] - mov r2, #2 - str r2, [sp, #4] - sub r0, r2, #4 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - ldr r0, _021DF798 ; =MOD05_021DF7B4 - str r2, [sp, #0x10] - str r0, [sp, #0x14] - add r0, r4, #0 - mov r3, #0x10 - bl MOD05_021DD328 - ldr r0, _021DF79C ; =0x0000716F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DF7A0 ; =0x00006B5A - lsl r2, r2, #2 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021DF7A4 ; =0x00000F64 - add r1, r4, #0 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - mov r0, #0 - add r4, #0xb4 - str r0, [r4] - ldr r0, _021DF7A8 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021DF76A -_021DF60A: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DF62A - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DF76A -_021DF62A: - ldr r2, _021DF7A4 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r4, #0x1c - add r0, #0x4c - add r1, r4, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DF642 - cmp r6, #3 - beq _021DF644 -_021DF642: - b _021DF76A -_021DF644: - ldr r0, _021DF7A8 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DF76A -_021DF64C: - mov r2, #0x14 - mov r3, #2 - str r2, [sp] - str r3, [sp, #4] - sub r0, r3, #4 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - ldr r0, _021DF798 ; =MOD05_021DF7B4 - str r3, [sp, #0x10] - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - ldr r0, _021DF7A4 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF68E - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DF79C ; =0x0000716F - ldr r0, [r0, #0x44] - ldr r3, _021DF7A0 ; =0x00006B5A - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r4, #0x1c - add r0, r4, #0 - bl MOD05_021DD5EC -_021DF68E: - mov r0, #1 - str r0, [sp] - ldr r0, _021DF7AC ; =MOD05_021DF8E4 - ldr r1, _021DF798 ; =MOD05_021DF7B4 - str r0, [sp, #4] - add r0, r5, #0 - mov r2, #0x14 - mov r3, #0xa - bl MOD05_021DD680 - ldr r0, _021DF7A8 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - b _021DF76A -_021DF6AA: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DF6C6 - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DF7B4 - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DF6C6: - ldr r0, _021DF7B0 ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021DF76A - mov r0, #9 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0x10 - mov r3, #6 - bl MOD05_021DD350 - ldr r0, _021DF7A4 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF6F4 - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DF6F4: - mov r0, #0x14 - add r4, #0xb4 - str r0, [r4] - ldr r0, _021DF7A8 ; =0x00000F62 - mov r1, #4 - strh r1, [r5, r0] - b _021DF76A -_021DF702: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DF722 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DF76A -_021DF722: - ldr r2, _021DF7A4 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r4, #0x1c - add r0, #0x4c - add r1, r4, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DF76A - cmp r6, #3 - bne _021DF76A - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021DF76A - ldr r0, _021DF7A8 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021DF76A -_021DF74C: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DF764 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DF764: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DF76A: - ldr r0, _021DF7A8 ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021DF790 - cmp r0, #0 - beq _021DF790 - add r0, r5, #0 - ldr r1, _021DF7AC ; =MOD05_021DF8E4 - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r5, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 -_021DF790: - add sp, #0x18 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021DF794: .word 0x00000F58 -_021DF798: .word MOD05_021DF7B4 -_021DF79C: .word 0x0000716F -_021DF7A0: .word 0x00006B5A -_021DF7A4: .word 0x00000F64 -_021DF7A8: .word 0x00000F62 -_021DF7AC: .word MOD05_021DF8E4 -_021DF7B0: .word 0x00000F66 - - thumb_func_start MOD05_021DF7B4 -MOD05_021DF7B4: ; 0x021DF7B4 - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - str r0, [sp] - mov r0, #0 - str r0, [sp, #0xc] - add r0, r1, #0 - str r1, [sp, #4] - cmp r0, #0 - bgt _021DF7C8 - b _021DF8E0 -_021DF7C8: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r4, r0, #0 - bne _021DF7D6 - b _021DF8E0 -_021DF7D6: - ldr r5, [r4, #8] - mov r0, #0 - str r0, [r5] - bl MTRandom - mov r1, #5 - bl _u32_div_f - add r0, r1, #7 - str r0, [r5, #4] - bl MTRandom - mov r1, #0xfa - lsl r1, r1, #2 - bl _u32_div_f - lsr r2, r1, #0x1f - lsl r1, r1, #0x1f - sub r1, r1, r2 - mov r0, #0x1f - ror r1, r0 - add r0, r2, r1 - bne _021DF808 - mov r0, #1 - b _021DF80C -_021DF808: - mov r0, #0 - mvn r0, r0 -_021DF80C: - str r0, [r5, #8] - mov r0, #1 - str r0, [r5, #0xc] - bl MTRandom - mov r1, #6 - bl _u32_div_f - add r0, r1, #3 - str r0, [r5, #0x10] - bl MTRandom - mov r1, #5 - bl _u32_div_f - add r0, r1, #4 - str r0, [r5, #0x14] - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - str r1, [sp, #8] - add r0, sp, #0x10 - add r1, r4, #0 - bl MOD05_021DD168 - bl MTRandom - mov r1, #6 - lsl r1, r1, #6 - bl _u32_div_f - sub r1, #0x40 - str r1, [sp, #0x10] - bl MTRandom - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - ldr r0, [sp, #0x10] - sub r1, #8 - lsl r0, r0, #0xc - str r0, [sp, #0x10] - str r1, [sp, #0x14] - lsl r0, r1, #0xc - str r0, [sp, #0x14] - mov r0, #0 - str r0, [sp, #0x18] - ldr r0, [r4, #4] - add r1, sp, #0x10 - bl MOD05_021DC4FC - ldr r1, [sp, #0x14] - ldr r0, [sp, #0x10] - asr r1, r1, #0xc - asr r0, r0, #0xc - str r1, [sp, #0x14] - mov r1, #3 - str r0, [sp, #0x10] - bl _s32_div_f - mov r1, #0x32 - sub r6, r1, r0 - mov r1, #0xce - sub r7, r1, r0 - bpl _021DF89E - bl MTRandom - neg r1, r7 - bl _u32_div_f - sub r1, r6, r1 - b _021DF8AA -_021DF89E: - bl MTRandom - add r1, r7, #0 - bl _u32_div_f - add r1, r6, r1 -_021DF8AA: - ldr r0, [sp, #0x14] - cmp r6, r0 - bgt _021DF8BC - cmp r1, r0 - blt _021DF8BC - ldr r0, [r5, #4] - lsl r0, r0, #1 - str r0, [r5, #4] - b _021DF8C6 -_021DF8BC: - bl MTRandom - mov r1, #3 - and r0, r1 - str r0, [sp, #8] -_021DF8C6: - ldr r1, [sp, #8] - ldr r0, [r4, #4] - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - bl FUN_02020208 - ldr r0, [sp, #0xc] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #0xc] - cmp r1, r0 - bge _021DF8E0 - b _021DF7C8 -_021DF8E0: - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021DF8E4 -MOD05_021DF8E4: ; 0x021DF8E4 - push {r4, r5, lr} - sub sp, #0xc - add r5, r0, #0 - ldr r4, [r5, #8] - add r0, sp, #0 - add r1, r5, #0 - bl MOD05_021DD168 - ldr r0, [r4] - add r1, r0, #1 - str r1, [r4] - ldr r0, [r4, #4] - cmp r1, r0 - blt _021DF906 - add r0, r5, #0 - bl MOD05_021DD100 -_021DF906: - add sp, #0xc - pop {r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DF90C -MOD05_021DF90C: ; 0x021DF90C - push {r3, r4, r5, lr} - ldr r0, _021DFA98 ; =0x00000F58 - add r5, r1, #0 - ldr r4, [r5, r0] - add r0, #0xa - ldrh r0, [r5, r0] - cmp r0, #5 - bhi _021DF978 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021DF928: ; jump table - .short _021DF934 - _021DF928 - 2 ; case 0 - .short _021DF958 - _021DF928 - 2 ; case 1 - .short _021DF9A2 - _021DF928 - 2 ; case 2 - .short _021DF9E2 - _021DF928 - 2 ; case 3 - .short _021DFA68 - _021DF928 - 2 ; case 4 - .short _021DFA90 - _021DF928 - 2 ; case 5 -_021DF934: - mov r0, #0 - str r0, [r4] - mov r1, #0x10 - str r0, [r4, #4] - bl MOD05_021DC6D4 - mov r1, #2 - ldr r0, _021DFA9C ; =0x04000018 - lsl r1, r1, #0x14 - str r1, [r0] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021DFAA0 ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - pop {r3, r4, r5, pc} -_021DF958: - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - cmp r0, #0xa - blt _021DF978 - mov r0, #0 - str r0, [r4] - ldr r0, [r4, #4] - mov r1, #0x10 - add r0, r0, #1 - str r0, [r4, #4] - bl MOD05_021DC6D4 - ldr r0, [r4, #4] - cmp r0, #0xa - bge _021DF97A -_021DF978: - b _021DFA96 -_021DF97A: - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - add r1, #0xa - str r1, [r4, #8] - bl MTRandom - mov r1, #3 - bl _u32_div_f - add r0, r1, #5 - str r0, [r4, #0xc] - mov r0, #1 - str r0, [r4, #0x10] - ldr r0, _021DFAA0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - pop {r3, r4, r5, pc} -_021DF9A2: - mov r0, #0 - str r0, [r4] - mov r0, #0xa - str r0, [r4, #4] - mov r1, #2 - ldr r0, _021DFA9C ; =0x04000018 - lsl r1, r1, #0x14 - str r1, [r0] - ldr r0, [r4, #4] - mov r1, #0x10 - bl MOD05_021DC6D4 - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - add r1, #0xa - str r1, [r4, #8] - bl MTRandom - mov r1, #3 - bl _u32_div_f - add r0, r1, #5 - str r0, [r4, #0xc] - mov r0, #1 - str r0, [r4, #0x10] - ldr r0, _021DFAA0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - pop {r3, r4, r5, pc} -_021DF9E2: - ldr r0, [r4] - add r1, r0, #1 - str r1, [r4] - ldr r0, [r4, #8] - cmp r1, r0 - blt _021DFA50 - mov r0, #0 - str r0, [r4] - ldr r0, [r4, #0x10] - cmp r0, #1 - ldr r0, [r4, #4] - bne _021DFA26 - sub r1, r0, #1 - str r1, [r4, #4] - ldr r0, [r4, #0xc] - cmp r1, r0 - bgt _021DFA50 - bl MTRandom - mov r1, #0xf - bl _u32_div_f - add r1, #0xa - str r1, [r4, #8] - bl MTRandom - mov r1, #3 - bl _u32_div_f - add r0, r1, #7 - str r0, [r4, #0xc] - mov r0, #0 - str r0, [r4, #0x10] - b _021DFA50 -_021DFA26: - add r1, r0, #1 - str r1, [r4, #4] - ldr r0, [r4, #0xc] - cmp r1, r0 - blt _021DFA50 - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - add r1, #0xa - str r1, [r4, #8] - bl MTRandom - mov r1, #3 - bl _u32_div_f - add r0, r1, #5 - str r0, [r4, #0xc] - mov r0, #1 - str r0, [r4, #0x10] -_021DFA50: - ldr r0, [r4, #4] - mov r1, #0x10 - bl MOD05_021DC6D4 - ldr r0, _021DFAA4 ; =0x00000F66 - ldrh r1, [r5, r0] - cmp r1, #5 - bne _021DFA96 - mov r1, #4 - sub r0, r0, #4 - strh r1, [r5, r0] - pop {r3, r4, r5, pc} -_021DFA68: - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - cmp r0, #0xa - blt _021DFA96 - mov r0, #0 - str r0, [r4] - ldr r0, [r4, #4] - mov r1, #0x10 - sub r0, r0, #1 - str r0, [r4, #4] - bl MOD05_021DC6D4 - ldr r0, [r4, #4] - cmp r0, #0 - bgt _021DFA96 - ldr r0, _021DFAA0 ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - pop {r3, r4, r5, pc} -_021DFA90: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021DFA96: - pop {r3, r4, r5, pc} - .balign 4, 0 -_021DFA98: .word 0x00000F58 -_021DFA9C: .word 0x04000018 -_021DFAA0: .word 0x00000F62 -_021DFAA4: .word 0x00000F66 - - thumb_func_start MOD05_021DFAA8 -MOD05_021DFAA8: ; 0x021DFAA8 - push {r3, r4, r5, lr} - sub sp, #0x18 - add r5, r0, #0 - mov r0, #0x18 - str r0, [sp] - mov r2, #1 - str r2, [sp, #4] - sub r0, r2, #4 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r0, #4 - str r0, [sp, #0x10] - ldr r0, _021DFB1C ; =MOD05_021DFEE0 - add r4, r1, #0 - str r0, [sp, #0x14] - add r0, r4, #0 - add r1, r5, #0 - mov r3, #0xf - bl MOD05_021DD328 - ldr r0, _021DFB20 ; =0x00006F6F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021DFB24 ; =0x00006B5A - add r1, r4, #0 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021DFB28 ; =0x00000F64 - lsl r2, r2, #2 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb4 - str r1, [r0] - add r0, r4, #0 - add r0, #0xb8 - str r1, [r0] - add r4, #0xbc - str r1, [r4] - ldr r1, _021DFB2C ; =0x0000063B - add r0, r5, #0 - bl MOD05_021E0FA4 - add sp, #0x18 - pop {r3, r4, r5, pc} - nop -_021DFB1C: .word MOD05_021DFEE0 -_021DFB20: .word 0x00006F6F -_021DFB24: .word 0x00006B5A -_021DFB28: .word 0x00000F64 -_021DFB2C: .word 0x0000063B - - thumb_func_start MOD05_021DFB30 -MOD05_021DFB30: ; 0x021DFB30 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DFB56 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DFB72 -_021DFB56: - ldr r2, _021DFB78 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r4, #0x1c - add r0, #0x4c - add r1, r4, #0 - bl MOD05_021DD474 - cmp r0, #1 - bne _021DFB72 - cmp r6, #3 - bne _021DFB72 - mov r0, #1 - pop {r4, r5, r6, pc} -_021DFB72: - mov r0, #0 - pop {r4, r5, r6, pc} - nop -_021DFB78: .word 0x00000F64 - - thumb_func_start MOD05_021DFB7C -MOD05_021DFB7C: ; 0x021DFB7C - push {r3, r4, r5, lr} - sub sp, #0x18 - mov r2, #0x18 - str r2, [sp] - mov r3, #1 - add r5, r0, #0 - str r3, [sp, #4] - sub r0, r3, #4 - str r0, [sp, #8] - mov r0, #2 - str r0, [sp, #0xc] - mov r0, #4 - str r0, [sp, #0x10] - ldr r0, _021DFBF8 ; =MOD05_021DFEE0 - add r4, r1, #0 - str r0, [sp, #0x14] - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DD328 - ldr r0, _021DFBFC ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DFBCA - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021DFC00 ; =0x00006F6F - ldr r0, [r0, #0x44] - ldr r3, _021DFC04 ; =0x00006B5A - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5EC -_021DFBCA: - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r4, #0xbc - str r1, [r4] - mov r0, #1 - str r0, [sp] - ldr r0, _021DFC08 ; =MOD05_021E0000 - ldr r1, _021DFBF8 ; =MOD05_021DFEE0 - str r0, [sp, #4] - add r0, r5, #0 - mov r2, #0x14 - mov r3, #5 - bl MOD05_021DD680 - ldr r1, _021DFC0C ; =0x0000063B - add r0, r5, #0 - bl MOD05_021E0FA4 - add sp, #0x18 - pop {r3, r4, r5, pc} - nop -_021DFBF8: .word MOD05_021DFEE0 -_021DFBFC: .word 0x00000F64 -_021DFC00: .word 0x00006F6F -_021DFC04: .word 0x00006B5A -_021DFC08: .word MOD05_021E0000 -_021DFC0C: .word 0x0000063B - - thumb_func_start MOD05_021DFC10 -MOD05_021DFC10: ; 0x021DFC10 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - add r0, #0xbc - ldr r0, [r0] - mov r1, #0x4b - add r0, r0, #1 - lsl r1, r1, #2 - bl _s32_div_f - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021DFC48 - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021DFEE0 - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021DFC48: - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DFC4C -MOD05_021DFC4C: ; 0x021DFC4C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #9 - add r4, r1, #0 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0xf - mov r3, #3 - bl MOD05_021DD350 - ldr r0, _021DFC88 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DFC78 - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021DFC78: - mov r0, #0 - add r4, #0xb4 - str r0, [r4] - add r0, r5, #0 - bl MOD05_021E0FD0 - pop {r3, r4, r5, pc} - nop -_021DFC88: .word 0x00000F64 - - thumb_func_start MOD05_021DFC8C -MOD05_021DFC8C: ; 0x021DFC8C - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021DFCB2 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - add r4, #0xb4 - sub r0, r0, #1 - str r0, [r4] - b _021DFCDA -_021DFCB2: - ldr r0, _021DFCE0 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021DFCC4 - add r4, #0x1c - add r0, r4, #0 - bl MOD05_021DD5D0 - b _021DFCC6 -_021DFCC4: - mov r0, #1 -_021DFCC6: - cmp r0, #1 - bne _021DFCDA - cmp r6, #3 - bne _021DFCDA - ldr r0, [r5, #0x40] - add r5, #0xc - cmp r0, r5 - bne _021DFCDA - mov r0, #1 - pop {r4, r5, r6, pc} -_021DFCDA: - mov r0, #0 - pop {r4, r5, r6, pc} - nop -_021DFCE0: .word 0x00000F64 - - thumb_func_start MOD05_021DFCE4 -MOD05_021DFCE4: ; 0x021DFCE4 - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - ldr r0, _021DFD0C ; =0x00000F64 - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021DFD02 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r1, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021DFD02: - ldr r0, [r4, #4] - bl MOD05_021DCB6C - add sp, #8 - pop {r4, pc} - .balign 4, 0 -_021DFD0C: .word 0x00000F64 - - thumb_func_start MOD05_021DFD10 -MOD05_021DFD10: ; 0x021DFD10 - push {r4, lr} - add r4, r0, #0 - ldr r0, _021DFD3C ; =0x00000F62 - ldrh r0, [r4, r0] - cmp r0, #5 - beq _021DFD3A - cmp r0, #0 - beq _021DFD3A - add r0, r4, #0 - ldr r1, _021DFD40 ; =MOD05_021E0000 - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r4, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r4, #0 - bl MOD05_021DD164 -_021DFD3A: - pop {r4, pc} - .balign 4, 0 -_021DFD3C: .word 0x00000F62 -_021DFD40: .word MOD05_021E0000 - - thumb_func_start MOD05_021DFD44 -MOD05_021DFD44: ; 0x021DFD44 - push {r3, r4, r5, lr} - ldr r0, _021DFE24 ; =0x00000F58 - add r4, r1, #0 - ldr r5, [r4, r0] - add r0, #0xa - ldrh r0, [r4, r0] - cmp r0, #5 - bhi _021DFE18 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021DFD60: ; jump table - .short _021DFD6C - _021DFD60 - 2 ; case 0 - .short _021DFD90 - _021DFD60 - 2 ; case 1 - .short _021DFDA4 - _021DFD60 - 2 ; case 2 - .short _021DFDC8 - _021DFD60 - 2 ; case 3 - .short _021DFDF2 - _021DFD60 - 2 ; case 4 - .short _021DFE06 - _021DFD60 - 2 ; case 5 -_021DFD6C: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFAA8 - ldr r0, [r4] - mov r1, #0 - mov r2, #0x11 - bl MOD05_021DC608 - ldr r0, [r4] - mov r1, #3 - mov r2, #0x11 - bl MOD05_021DC608 - ldr r0, _021DFE28 ; =0x00000F62 - mov r1, #1 - strh r1, [r4, r0] - b _021DFE18 -_021DFD90: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFB30 - cmp r0, #0 - beq _021DFE18 - ldr r0, _021DFE28 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - b _021DFE18 -_021DFDA4: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFB7C - ldr r0, [r4] - mov r1, #0 - mov r2, #0x11 - bl MOD05_021DC608 - ldr r0, [r4] - mov r1, #3 - mov r2, #0x11 - bl MOD05_021DC608 - ldr r0, _021DFE28 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - b _021DFE18 -_021DFDC8: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFC10 - ldr r0, _021DFE2C ; =0x00000F66 - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021DFE18 - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFC4C - ldr r0, [r4] - mov r1, #5 - mov r2, #0x11 - bl MOD05_021DC608 - ldr r0, _021DFE28 ; =0x00000F62 - mov r1, #4 - strh r1, [r4, r0] - b _021DFE18 -_021DFDF2: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFC8C - cmp r0, #0 - beq _021DFE18 - ldr r0, _021DFE28 ; =0x00000F62 - mov r1, #5 - strh r1, [r4, r0] - b _021DFE18 -_021DFE06: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFCE4 - ldr r0, [r4] - mov r1, #8 - mov r2, #0x11 - bl MOD05_021DC608 -_021DFE18: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFD10 - pop {r3, r4, r5, pc} - nop -_021DFE24: .word 0x00000F58 -_021DFE28: .word 0x00000F62 -_021DFE2C: .word 0x00000F66 - - thumb_func_start MOD05_021DFE30 -MOD05_021DFE30: ; 0x021DFE30 - push {r3, r4, r5, lr} - ldr r0, _021DFED4 ; =0x00000F58 - add r4, r1, #0 - ldr r5, [r4, r0] - add r0, #0xa - ldrh r0, [r4, r0] - cmp r0, #5 - bhi _021DFEC8 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021DFE4C: ; jump table - .short _021DFE58 - _021DFE4C - 2 ; case 0 - .short _021DFE68 - _021DFE4C - 2 ; case 1 - .short _021DFE7C - _021DFE4C - 2 ; case 2 - .short _021DFE8C - _021DFE4C - 2 ; case 3 - .short _021DFEAC - _021DFE4C - 2 ; case 4 - .short _021DFEC0 - _021DFE4C - 2 ; case 5 -_021DFE58: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFAA8 - ldr r0, _021DFED8 ; =0x00000F62 - mov r1, #1 - strh r1, [r4, r0] - b _021DFEC8 -_021DFE68: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFB30 - cmp r0, #0 - beq _021DFEC8 - ldr r0, _021DFED8 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - b _021DFEC8 -_021DFE7C: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFB7C - ldr r0, _021DFED8 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - b _021DFEC8 -_021DFE8C: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFC10 - ldr r0, _021DFEDC ; =0x00000F66 - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021DFEC8 - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFC4C - ldr r0, _021DFED8 ; =0x00000F62 - mov r1, #4 - strh r1, [r4, r0] - b _021DFEC8 -_021DFEAC: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFC8C - cmp r0, #0 - beq _021DFEC8 - ldr r0, _021DFED8 ; =0x00000F62 - mov r1, #5 - strh r1, [r4, r0] - b _021DFEC8 -_021DFEC0: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFCE4 -_021DFEC8: - add r0, r4, #0 - add r1, r5, #0 - bl MOD05_021DFD10 - pop {r3, r4, r5, pc} - nop -_021DFED4: .word 0x00000F58 -_021DFED8: .word 0x00000F62 -_021DFEDC: .word 0x00000F66 - - thumb_func_start MOD05_021DFEE0 -MOD05_021DFEE0: ; 0x021DFEE0 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - str r1, [sp, #4] - ldr r1, _021DFFF4 ; =0x00000F58 - str r0, [sp] - ldr r6, [r0, r1] - mov r0, #0 - str r0, [sp, #8] - ldr r0, [sp, #4] - cmp r0, #0 - ble _021DFFEE -_021DFEF6: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r4, r0, #0 - beq _021DFFEE - ldr r5, [r4, #8] - mov r0, #0 - str r0, [r5] - bl MTRandom - mov r1, #3 - bl _u32_div_f - add r7, r1, #0 - lsl r1, r7, #0x10 - ldr r0, [r4, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - mov r0, #0x17 - add r1, r7, #1 - mvn r0, r0 - mul r0, r1 - str r0, [r5, #0x10] - mov r0, #0x18 - mul r0, r1 - str r0, [r5, #8] - add r0, r6, #0 - add r0, #0xbc - ldr r0, [r0] - mov r1, #0x3c - bl _s32_div_f - lsl r2, r0, #2 - ldr r0, _021DFFF8 ; =UNK05_021F6808 - ldr r1, [r5, #0x10] - ldr r0, [r0, r2] - mul r0, r1 - str r0, [r5, #0x10] - add r0, r6, #0 - add r0, #0xbc - ldr r0, [r0] - mov r1, #0x3c - bl _s32_div_f - lsl r2, r0, #2 - ldr r0, _021DFFF8 ; =UNK05_021F6808 - ldr r1, [r5, #8] - ldr r0, [r0, r2] - mul r0, r1 - str r0, [r5, #8] - ldr r0, [r5, #0x10] - mov r1, #0x64 - bl _s32_div_f - str r0, [r5, #0x10] - ldr r0, [r5, #8] - mov r1, #0x64 - bl _s32_div_f - str r0, [r5, #8] - mov r0, #0 - str r0, [r5, #0xc] - bl MTRandom - mov r1, #3 - and r1, r0 - mov r0, #0x64 - mul r0, r1 - str r0, [r5, #4] - add r0, r6, #0 - add r0, #0xbc - ldr r0, [r0] - mov r1, #0x3c - bl _s32_div_f - add r1, r0, #0 - lsl r2, r1, #2 - ldr r1, _021DFFF8 ; =UNK05_021F6808 - ldr r0, [r5, #4] - ldr r1, [r1, r2] - bl _s32_div_f - str r0, [r5, #4] - add r0, sp, #0xc - add r1, r4, #0 - bl MOD05_021DD168 - add r3, sp, #0xc - ldmia r3!, {r0, r1} - add r2, sp, #0x18 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - bl MTRandom - ldr r1, _021DFFFC ; =0x000001FF - and r0, r1 - str r0, [sp, #0x18] - bl MTRandom - mov r1, #0x30 - bl _u32_div_f - mov r0, #0 - str r0, [sp, #0x20] - ldr r0, [sp, #0x18] - sub r1, #0x50 - lsl r0, r0, #0xc - str r0, [sp, #0x18] - str r1, [sp, #0x1c] - lsl r0, r1, #0xc - str r0, [sp, #0x1c] - ldr r0, [r4, #4] - add r1, sp, #0x18 - bl MOD05_021DC4FC - ldr r0, [sp, #8] - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #8] - cmp r1, r0 - blt _021DFEF6 -_021DFFEE: - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - nop -_021DFFF4: .word 0x00000F58 -_021DFFF8: .word UNK05_021F6808 -_021DFFFC: .word 0x000001FF - - thumb_func_start MOD05_021E0000 -MOD05_021E0000: ; 0x021E0000 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r5, r0, #0 - add r0, sp, #0 - add r1, r5, #0 - ldr r4, [r5, #8] - bl MOD05_021DD168 - add r3, sp, #0 - add r2, sp, #0xc - ldmia r3!, {r0, r1} - add r7, r2, #0 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - ldr r0, [r4, #0xc] - cmp r0, #0 - beq _021E0030 - cmp r0, #1 - beq _021E0088 - cmp r0, #2 - beq _021E009A - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} -_021E0030: - mov r6, #0 -_021E0032: - ldr r0, [r4, #0x10] - ldr r1, [sp, #0xc] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0xc] - ldr r0, [r4, #8] - ldr r1, [sp, #0x10] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0x10] - ldr r1, [r4] - add r0, r1, #1 - str r0, [r4] - ldr r0, [r4, #4] - cmp r1, r0 - ble _021E0076 - bl MTRandom - mov r1, #0xa - bl _u32_div_f - cmp r1, #5 - bhs _021E0066 - mov r0, #2 - str r0, [r4, #0xc] - b _021E0076 -_021E0066: - mov r0, #1 - str r0, [r4, #0xc] - mov r0, #4 - str r0, [r4] - ldr r0, [r5, #4] - mov r1, #3 - bl FUN_02020208 -_021E0076: - ldr r0, [r5, #4] - add r1, r7, #0 - bl MOD05_021DC4FC - add r6, r6, #1 - cmp r6, #2 - blt _021E0032 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} -_021E0088: - ldr r1, [r4] - sub r0, r1, #1 - str r0, [r4] - cmp r1, #0 - bgt _021E00A0 - mov r0, #2 - add sp, #0x18 - str r0, [r4, #0xc] - pop {r3, r4, r5, r6, r7, pc} -_021E009A: - add r0, r5, #0 - bl MOD05_021DD100 -_021E00A0: - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - - thumb_func_start MOD05_021E00A4 -MOD05_021E00A4: ; 0x021E00A4 - push {r4, r5, r6, lr} - sub sp, #0x20 - ldr r0, _021E03D8 ; =0x00000F58 - add r5, r1, #0 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r5, r2] - ldr r4, [r5, r0] - cmp r2, #5 - bhi _021E017E - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021E00C4: ; jump table - .short _021E00D0 - _021E00C4 - 2 ; case 0 - .short _021E0144 - _021E00C4 - 2 ; case 1 - .short _021E0190 - _021E00C4 - 2 ; case 2 - .short _021E0212 - _021E00C4 - 2 ; case 3 - .short _021E027A - _021E00C4 - 2 ; case 4 - .short _021E02CA - _021E00C4 - 2 ; case 5 -_021E00D0: - mov r2, #1 - str r2, [sp] - mov r0, #6 - str r0, [sp, #4] - sub r0, r0, #7 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, _021E03DC ; =MOD05_021E0400 - mov r3, #0xc - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - add r0, r4, #0 - add r0, #0xc4 - str r1, [r0] - add r0, r4, #0 - add r0, #0xc8 - str r1, [r0] - ldr r0, _021E03E0 ; =0x00006F2F - mov r2, #0x41 - str r0, [sp] - ldr r0, _021E03E4 ; =0x00003A94 - add r1, r4, #0 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, _021E03E8 ; =0x00000F64 - lsl r2, r2, #2 - ldrh r0, [r5, r0] - add r1, #0x1c - str r0, [sp, #0xc] - ldr r3, [r5] - add r0, r4, #0 - ldr r2, [r3, r2] - add r0, #0x4c - ldr r2, [r2, #0x44] - mov r3, #3 - bl MOD05_021DD420 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb4 - str r1, [r0] - ldr r0, _021E03EC ; =0x00000F62 - mov r1, #1 - strh r1, [r5, r0] - b _021E02E8 -_021E0144: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021E0166 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021E02E8 -_021E0166: - ldr r2, _021E03E8 ; =0x00000F64 - add r0, r4, #0 - ldrh r2, [r5, r2] - add r1, r4, #0 - add r0, #0x4c - add r1, #0x1c - bl MOD05_021DD474 - cmp r0, #1 - bne _021E017E - cmp r6, #3 - beq _021E0180 -_021E017E: - b _021E02E8 -_021E0180: - ldr r0, _021E03EC ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - b _021E02E8 -_021E0190: - mov r2, #1 - mov r3, #6 - str r2, [sp] - str r3, [sp, #4] - sub r0, r3, #7 - str r0, [sp, #8] - mov r0, #4 - str r0, [sp, #0xc] - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, _021E03DC ; =MOD05_021E0400 - str r0, [sp, #0x14] - add r0, r4, #0 - bl MOD05_021DD328 - add r0, r4, #0 - mov r1, #0 - add r0, #0xb8 - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - str r1, [r0] - add r0, r4, #0 - add r0, #0xc4 - str r1, [r0] - add r0, r4, #0 - add r0, #0xc8 - str r1, [r0] - ldr r0, _021E03E8 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021E01EE - mov r0, #0x41 - ldr r1, [r5] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021E03E0 ; =0x00006F2F - ldr r0, [r0, #0x44] - ldr r3, _021E03E4 ; =0x00003A94 - mov r1, #3 - str r0, [r4, #0x1c] - bl MOD05_021DD49C - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5EC -_021E01EE: - mov r0, #0x10 - str r0, [sp] - ldr r0, _021E03F0 ; =MOD05_021E051C - ldr r1, _021E03DC ; =MOD05_021E0400 - str r0, [sp, #4] - add r0, r5, #0 - mov r2, #0x14 - mov r3, #2 - bl MOD05_021DD680 - ldr r0, _021E03EC ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - b _021E02E8 -_021E0212: - mov r0, #6 - ldrsh r1, [r4, r0] - sub r0, r1, #1 - strh r0, [r4, #6] - cmp r1, #0 - bgt _021E022E - mov r1, #4 - ldrsh r1, [r4, r1] - add r0, r5, #0 - bl MOD05_021E0400 - mov r0, #8 - ldrsh r0, [r4, r0] - strh r0, [r4, #6] -_021E022E: - ldr r0, _021E03F4 ; =0x00000F66 - ldrh r0, [r5, r0] - cmp r0, #5 - bne _021E02E8 - mov r0, #0 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0xc - mov r3, #1 - bl MOD05_021DD350 - ldr r0, _021E03E8 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021E025C - add r0, r4, #0 - add r0, #0x1c - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021E025C: - add r0, r4, #0 - mov r1, #9 - add r0, #0xb4 - str r1, [r0] - ldr r1, _021E03EC ; =0x00000F62 - mov r0, #4 - strh r0, [r5, r1] - add r1, r4, #0 - mov r2, #1 - add r1, #0xc8 - str r2, [r1] - mov r1, #0 - bl FUN_0201E6E4 - b _021E02E8 -_021E027A: - add r0, r4, #0 - bl MOD05_021DD35C - add r6, r0, #0 - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - cmp r0, #0 - ble _021E029C - add r0, r4, #0 - add r0, #0xb4 - ldr r0, [r0] - sub r1, r0, #1 - add r0, r4, #0 - add r0, #0xb4 - str r1, [r0] - b _021E02E8 -_021E029C: - ldr r0, _021E03E8 ; =0x00000F64 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021E02AE - add r0, r4, #0 - add r0, #0x1c - bl MOD05_021DD5D0 - b _021E02B0 -_021E02AE: - mov r0, #1 -_021E02B0: - cmp r0, #1 - bne _021E02E8 - cmp r6, #3 - bne _021E02E8 - add r0, r5, #0 - ldr r1, [r5, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021E02E8 - ldr r0, _021E03EC ; =0x00000F62 - mov r1, #5 - strh r1, [r5, r0] - b _021E02E8 -_021E02CA: - add r0, #0xc - ldrh r0, [r5, r0] - cmp r0, #0 - beq _021E02E2 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r4, #0x1c] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021E02E2: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021E02E8: - ldr r0, _021E03EC ; =0x00000F62 - ldrh r0, [r5, r0] - cmp r0, #5 - beq _021E03D4 - cmp r0, #0 - beq _021E03D4 - add r0, r5, #0 - ldr r1, _021E03F0 ; =MOD05_021E051C - add r0, #0xc - bl MOD05_021DD148 - add r0, r5, #0 - add r1, sp, #0x1c - add r2, sp, #0x18 - bl MOD05_021DD2BC - add r0, r5, #0 - bl MOD05_021DD164 - add r0, r4, #0 - add r0, #0xbc - ldr r1, [r0] - asr r0, r1, #0x10 - lsl r0, r0, #0x10 - asr r2, r0, #0x10 - lsl r0, r1, #0x10 - ldr r1, [sp, #0x1c] - asr r0, r0, #0x10 - add r1, r2, r1 - lsl r1, r1, #0x10 - ldr r2, [sp, #0x18] - asr r5, r1, #0x10 - lsl r1, r2, #2 - add r1, r2, r1 - sub r0, r0, r1 - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - cmp r5, #0 - bge _021E0342 - mov r1, #1 - lsl r1, r1, #8 - add r1, r5, r1 - lsl r1, r1, #0x10 - asr r5, r1, #0x10 - b _021E0350 -_021E0342: - mov r1, #1 - lsl r1, r1, #8 - cmp r5, r1 - blt _021E0350 - sub r1, r5, r1 - lsl r1, r1, #0x10 - asr r5, r1, #0x10 -_021E0350: - cmp r0, #0 - bge _021E035E - mov r1, #2 - lsl r1, r1, #0xa - add r0, r0, r1 - lsl r0, r0, #0x10 - asr r0, r0, #0x10 -_021E035E: - add r1, r4, #0 - add r1, #0xc4 - ldr r1, [r1] - add r2, r1, #2 - add r1, r4, #0 - add r1, #0xc4 - str r2, [r1] - add r1, r4, #0 - add r1, #0xc4 - ldr r1, [r1] - cmp r1, #0x3c - ble _021E0390 - add r1, r4, #0 - add r5, #0x20 - mov r2, #0 - add r1, #0xc4 - str r2, [r1] - lsr r3, r5, #0x1f - lsl r2, r5, #0x18 - sub r2, r2, r3 - mov r1, #0x18 - ror r2, r1 - add r1, r3, r2 - lsl r1, r1, #0x10 - asr r5, r1, #0x10 -_021E0390: - add r0, r0, #2 - lsr r2, r0, #0x1f - lsl r1, r0, #0x15 - sub r1, r1, r2 - mov r0, #0x15 - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #0x10 - asr r6, r0, #0x10 - neg r0, r6 - mov r1, #5 - bl _s32_div_f - ldr r2, _021E03F8 ; =0x000001FF - add r1, r5, #0 - lsl r3, r0, #0x10 - lsl r0, r2, #0x10 - and r1, r2 - and r0, r3 - orr r1, r0 - ldr r0, _021E03FC ; =0x04000018 - str r1, [r0] - add r0, r4, #0 - lsl r1, r5, #0x10 - add r0, #0xbc - str r1, [r0] - add r0, r4, #0 - add r0, #0xbc - ldr r1, [r0] - lsl r0, r6, #0x10 - lsr r0, r0, #0x10 - orr r0, r1 - add r4, #0xbc - str r0, [r4] -_021E03D4: - add sp, #0x20 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021E03D8: .word 0x00000F58 -_021E03DC: .word MOD05_021E0400 -_021E03E0: .word 0x00006F2F -_021E03E4: .word 0x00003A94 -_021E03E8: .word 0x00000F64 -_021E03EC: .word 0x00000F62 -_021E03F0: .word MOD05_021E051C -_021E03F4: .word 0x00000F66 -_021E03F8: .word 0x000001FF -_021E03FC: .word 0x04000018 - - thumb_func_start MOD05_021E0400 -MOD05_021E0400: ; 0x021E0400 - push {r4, r5, r6, r7, lr} - sub sp, #0x2c - add r7, r1, #0 - ldr r1, _021E0514 ; =0x00000F58 - str r0, [sp] - ldr r0, [r0, r1] - str r0, [sp, #0x10] - add r0, #0xb8 - ldr r0, [r0] - cmp r0, #1 - bne _021E0418 - lsl r7, r7, #1 -_021E0418: - mov r6, #0 - cmp r7, #0 - ble _021E050E - ldr r0, [sp, #0x10] - str r0, [sp, #0xc] - add r0, #0xb8 - str r0, [sp, #0xc] - ldr r0, [sp, #0x10] - str r0, [sp, #8] - add r0, #0xc8 - str r0, [sp, #8] - lsr r0, r7, #0x1f - add r0, r7, r0 - asr r0, r0, #1 - str r0, [sp, #4] -_021E0436: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r4, r0, #0 - beq _021E050E - ldr r5, [r4, #8] - bl MTRandom - mov r1, #3 - and r1, r0 - lsl r1, r1, #0x10 - ldr r0, [r4, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - mov r0, #0xa - str r0, [r5, #0x10] - mov r0, #0 - str r0, [r5, #0x14] - bl MTRandom - lsr r1, r0, #0x1f - lsl r2, r0, #0x1f - sub r2, r2, r1 - mov r0, #0x1f - ror r2, r0 - add r0, r1, r2 - bne _021E0474 - mov r0, #1 - b _021E0478 -_021E0474: - mov r0, #0 - mvn r0, r0 -_021E0478: - str r0, [r5, #4] - bl MTRandom - mov r0, #1 - str r0, [r5, #0xc] - ldr r0, [sp, #0xc] - str r0, [r5] - ldr r0, [sp, #8] - str r0, [r5, #0x18] - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - add r1, #0xa - str r1, [r5, #0x1c] - add r0, sp, #0x14 - add r1, r4, #0 - bl MOD05_021DD168 - add r3, sp, #0x14 - ldmia r3!, {r0, r1} - add r2, sp, #0x20 - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - bl MTRandom - ldr r1, _021E0518 ; =0x0000019E - bl _u32_div_f - ldr r0, [sp, #0x10] - sub r1, #0x20 - str r1, [sp, #0x20] - add r0, #0xb8 - ldr r0, [r0] - cmp r0, #1 - bne _021E04DE - ldr r0, [sp, #4] - cmp r6, r0 - blt _021E04DE - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - mov r0, #0x27 - mvn r0, r0 - sub r0, r0, r1 - str r0, [sp, #0x24] - b _021E04F0 -_021E04DE: - bl MTRandom - mov r1, #0x14 - bl _u32_div_f - mov r0, #7 - mvn r0, r0 - sub r0, r0, r1 - str r0, [sp, #0x24] -_021E04F0: - ldr r0, [sp, #0x20] - add r1, sp, #0x20 - lsl r0, r0, #0xc - str r0, [sp, #0x20] - ldr r0, [sp, #0x24] - lsl r0, r0, #0xc - str r0, [sp, #0x24] - mov r0, #0 - str r0, [sp, #0x28] - ldr r0, [r4, #4] - bl MOD05_021DC4FC - add r6, r6, #1 - cmp r6, r7 - blt _021E0436 -_021E050E: - add sp, #0x2c - pop {r4, r5, r6, r7, pc} - nop -_021E0514: .word 0x00000F58 -_021E0518: .word 0x0000019E - - thumb_func_start MOD05_021E051C -MOD05_021E051C: ; 0x021E051C - push {r4, r5, r6, lr} - sub sp, #0x18 - add r6, r0, #0 - add r0, sp, #0 - add r1, r6, #0 - ldr r4, [r6, #8] - bl MOD05_021DD168 - add r5, sp, #0 - add r3, sp, #0xc - ldmia r5!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldr r0, [r5] - mov r5, #0 - str r0, [r3] - ldr r1, [r4, #0x14] - ldr r0, [r4, #0xc] - cmp r1, r0 - blt _021E0558 - mov r0, #1 - ldr r1, [sp, #0x10] - lsl r0, r0, #0xc - add r0, r1, r0 - str r0, [sp, #0x10] - str r5, [r4, #0x14] - ldr r0, [r6, #4] - add r1, r2, #0 - bl MOD05_021DC4FC -_021E0558: - ldr r0, [r4, #0x14] - add r0, r0, #1 - str r0, [r4, #0x14] - ldr r0, [sp, #0x10] - asr r0, r0, #0xc - str r0, [sp, #0x10] - ldr r0, [r4, #0x18] - ldr r0, [r0] - cmp r0, #1 - bne _021E0578 - ldr r0, [r4, #0x1c] - sub r0, r0, #1 - str r0, [r4, #0x1c] - cmp r0, #0 - bgt _021E0578 - mov r5, #1 -_021E0578: - ldr r1, [sp, #0x10] - ldr r0, _021E05A4 ; =0xFFFFFEE4 - cmp r1, r0 - bge _021E0586 - sub r0, #0xc - cmp r1, r0 - bgt _021E058E -_021E0586: - cmp r1, #0xd4 - ble _021E0590 - cmp r1, #0xe8 - bge _021E0590 -_021E058E: - mov r5, #1 -_021E0590: - cmp r5, #1 - bne _021E05A0 - ldr r0, [r4] - mov r1, #1 - str r1, [r0] - add r0, r6, #0 - bl MOD05_021DD100 -_021E05A0: - add sp, #0x18 - pop {r4, r5, r6, pc} - .balign 4, 0 -_021E05A4: .word 0xFFFFFEE4 - - thumb_func_start MOD05_021E05A8 -MOD05_021E05A8: ; 0x021E05A8 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _021E06EC ; =0x00000F58 - add r5, r1, #0 - add r1, r0, #0 - add r1, #0xa - ldrh r1, [r5, r1] - ldr r4, [r5, r0] - cmp r1, #5 - bls _021E05BC - b _021E06EA -_021E05BC: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021E05C8: ; jump table - .short _021E05D4 - _021E05C8 - 2 ; case 0 - .short _021E05D4 - _021E05C8 - 2 ; case 1 - .short _021E05D4 - _021E05C8 - 2 ; case 2 - .short _021E05F2 - _021E05C8 - 2 ; case 3 - .short _021E06DC - _021E05C8 - 2 ; case 4 - .short _021E06E4 - _021E05C8 - 2 ; case 5 -_021E05D4: - mov r0, #0 - str r0, [r4] - str r0, [r4, #0x10] - mov r1, #0x1f - str r0, [r4, #4] - bl MOD05_021DC6D4 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E06F0 ; =0x00000F62 - mov r1, #3 - strh r1, [r5, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E05F2: - ldr r0, [r4, #0x10] - cmp r0, #0 - blt _021E05FE - sub r0, r0, #1 - str r0, [r4, #0x10] - b _021E06CC -_021E05FE: - ldr r0, [r4, #4] - cmp r0, #0 - beq _021E060E - cmp r0, #1 - beq _021E0650 - cmp r0, #2 - beq _021E0678 - b _021E06CC -_021E060E: - mov r0, #1 - str r0, [r4, #4] - mov r0, #0 - str r0, [r4, #0x14] - bl MTRandom - mov r1, #0x1e - lsl r1, r1, #4 - bl _u32_div_f - add r1, #0xc8 - str r1, [r4, #0x18] - mov r0, #0 - str r0, [r4, #0x1c] - bl MTRandom - mov r1, #3 - bl _u32_div_f - cmp r1, #0 - beq _021E0644 - mov r0, #0x24 - str r0, [r4, #8] - ldr r0, _021E06F4 ; =0x0000063D - bl FUN_020054C8 - b _021E06CC -_021E0644: - mov r0, #0xc8 - str r0, [r4, #8] - ldr r0, _021E06F8 ; =0x0000063C - bl FUN_020054C8 - b _021E06CC -_021E0650: - ldr r0, [r4, #0x14] - add r0, r0, #1 - str r0, [r4, #0x14] - ldr r1, [r4, #0x1c] - ldr r0, [r4, #0x18] - add r0, r1, r0 - str r0, [r4, #0x1c] - ldr r0, [r4, #0x14] - cmp r0, #2 - blt _021E0668 - mov r0, #2 - str r0, [r4, #4] -_021E0668: - ldr r0, [r4, #0x1c] - mov r1, #0x64 - bl _s32_div_f - mov r1, #0x1f - bl MOD05_021DC6D4 - b _021E06CC -_021E0678: - ldr r1, [r4, #0x1c] - ldr r0, [r4, #8] - sub r0, r1, r0 - str r0, [r4, #0x1c] - cmp r0, #0 - bgt _021E06BE - mov r0, #0 - str r0, [r4, #4] - str r0, [r4, #0x1c] - ldr r0, [r4, #8] - cmp r0, #0xc8 - bne _021E069E - bl MTRandom - mov r1, #0xf - bl _u32_div_f - str r1, [r4, #0x10] - b _021E06BE -_021E069E: - bl MTRandom - add r7, r0, #0 - ldr r1, [r4, #0x18] - mov r0, #0x32 - mul r0, r1 - mov r1, #0x64 - bl _s32_div_f - add r6, r0, #0 - add r0, r7, #0 - mov r1, #0x78 - bl _u32_div_f - add r0, r6, r1 - str r0, [r4, #0x10] -_021E06BE: - ldr r0, [r4, #0x1c] - mov r1, #0x64 - bl _s32_div_f - mov r1, #0x1f - bl MOD05_021DC6D4 -_021E06CC: - ldr r0, _021E06FC ; =0x00000F66 - ldrh r1, [r5, r0] - cmp r1, #5 - bne _021E06EA - mov r1, #4 - sub r0, r0, #4 - strh r1, [r5, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E06DC: - mov r1, #5 - add r0, #0xa - strh r1, [r5, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E06E4: - ldr r0, [r5, #4] - bl MOD05_021DCB6C -_021E06EA: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E06EC: .word 0x00000F58 -_021E06F0: .word 0x00000F62 -_021E06F4: .word 0x0000063D -_021E06F8: .word 0x0000063C -_021E06FC: .word 0x00000F66 - - thumb_func_start MOD05_021E0700 -MOD05_021E0700: ; 0x021E0700 - push {r3, r4, r5, lr} - sub sp, #0x18 - ldr r0, _021E0828 ; =0x00000F58 - add r4, r1, #0 - ldr r5, [r4, r0] - add r0, #0xa - ldrh r0, [r4, r0] - cmp r0, #5 - bhi _021E07FE - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021E071E: ; jump table - .short _021E072A - _021E071E - 2 ; case 0 - .short _021E0752 - _021E071E - 2 ; case 1 - .short _021E0764 - _021E071E - 2 ; case 2 - .short _021E079E - _021E071E - 2 ; case 3 - .short _021E07DC - _021E071E - 2 ; case 4 - .short _021E07F8 - _021E071E - 2 ; case 5 -_021E072A: - mov r0, #4 - str r0, [sp] - mov r0, #0xf - str r0, [sp, #4] - sub r0, #0x11 - str r0, [sp, #8] - mov r0, #5 - str r0, [sp, #0xc] - mov r2, #1 - ldr r0, _021E082C ; =MOD05_021E083C - str r2, [sp, #0x10] - str r0, [sp, #0x14] - add r0, r5, #0 - mov r3, #0x23 - bl MOD05_021DD328 - ldr r0, _021E0830 ; =0x00000F62 - mov r1, #1 - strh r1, [r4, r0] - b _021E07FE -_021E0752: - add r0, r5, #0 - bl MOD05_021DD35C - cmp r0, #3 - bne _021E07FE - ldr r0, _021E0830 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - b _021E07FE -_021E0764: - mov r0, #0xf - str r0, [sp] - str r0, [sp, #4] - sub r0, #0x11 - str r0, [sp, #8] - mov r0, #5 - str r0, [sp, #0xc] - mov r2, #1 - ldr r0, _021E082C ; =MOD05_021E083C - str r2, [sp, #0x10] - str r0, [sp, #0x14] - add r0, r5, #0 - mov r3, #4 - bl MOD05_021DD328 - mov r0, #1 - str r0, [sp] - ldr r0, _021E0834 ; =MOD05_021E093C - ldr r1, _021E082C ; =MOD05_021E083C - str r0, [sp, #4] - add r0, r4, #0 - mov r2, #0x10 - mov r3, #2 - bl MOD05_021DD680 - ldr r0, _021E0830 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - b _021E07FE -_021E079E: - mov r0, #6 - ldrsh r1, [r5, r0] - sub r0, r1, #1 - strh r0, [r5, #6] - cmp r1, #0 - bgt _021E07BA - mov r1, #4 - ldrsh r1, [r5, r1] - add r0, r4, #0 - bl MOD05_021E083C - mov r0, #8 - ldrsh r0, [r5, r0] - strh r0, [r5, #6] -_021E07BA: - ldr r0, _021E0838 ; =0x00000F66 - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021E07FE - mov r0, #2 - mvn r0, r0 - str r0, [sp] - add r0, r5, #0 - mov r1, #0 - mov r2, #0x23 - mov r3, #2 - bl MOD05_021DD350 - ldr r0, _021E0830 ; =0x00000F62 - mov r1, #4 - strh r1, [r4, r0] - b _021E07FE -_021E07DC: - add r0, r5, #0 - bl MOD05_021DD35C - cmp r0, #3 - bne _021E07FE - add r0, r4, #0 - ldr r1, [r4, #0x40] - add r0, #0xc - cmp r1, r0 - bne _021E07FE - ldr r0, _021E0830 ; =0x00000F62 - mov r1, #5 - strh r1, [r4, r0] - b _021E07FE -_021E07F8: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021E07FE: - ldr r0, _021E0830 ; =0x00000F62 - ldrh r0, [r4, r0] - cmp r0, #5 - beq _021E0824 - cmp r0, #0 - beq _021E0824 - add r0, r4, #0 - ldr r1, _021E0834 ; =MOD05_021E093C - add r0, #0xc - bl MOD05_021DD148 - mov r1, #0 - add r0, r4, #0 - add r2, r1, #0 - bl MOD05_021DD2BC - add r0, r4, #0 - bl MOD05_021DD164 -_021E0824: - add sp, #0x18 - pop {r3, r4, r5, pc} - .balign 4, 0 -_021E0828: .word 0x00000F58 -_021E082C: .word MOD05_021E083C -_021E0830: .word 0x00000F62 -_021E0834: .word MOD05_021E093C -_021E0838: .word 0x00000F66 - - thumb_func_start MOD05_021E083C -MOD05_021E083C: ; 0x021E083C - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - str r0, [sp] - add r0, r1, #0 - mov r7, #0 - str r1, [sp, #4] - cmp r0, #0 - ble _021E0932 -_021E084C: - ldr r0, [sp] - mov r1, #0x20 - bl MOD05_021DD048 - add r5, r0, #0 - beq _021E0932 - ldr r4, [r5, #8] - bl MTRandom - mov r1, #0xe - bl _u32_div_f - add r6, r1, #0 - lsl r1, r6, #0x10 - ldr r0, [r5, #4] - lsr r1, r1, #0x10 - bl FUN_02020208 - asr r0, r6, #1 - lsr r0, r0, #0x1e - add r0, r6, r0 - asr r6, r0, #2 - bl MTRandom - mov r1, #0x19 - bl _u32_div_f - add r2, r1, #0 - add r2, #8 - add r1, r6, #1 - add r0, r2, #0 - mul r0, r1 - str r0, [r4] - mov r0, #0x10 - bl _s32_div_f - str r0, [r4, #4] - mov r0, #0 - str r0, [r4, #8] - bl MTRandom - mov r1, #1 - and r0, r1 - str r0, [r4, #0xc] - add r0, r1, #0 - str r0, [r4, #0x10] - add r0, r6, #1 - cmp r0, #4 - bhi _021E0912 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_021E08BA: ; jump table - .short _021E0912 - _021E08BA - 2 ; case 0 - .short _021E08C4 - _021E08BA - 2 ; case 1 - .short _021E08C4 - _021E08BA - 2 ; case 2 - .short _021E08E0 - _021E08BA - 2 ; case 3 - .short _021E08FA - _021E08BA - 2 ; case 4 -_021E08C4: - bl MTRandom - ldr r1, _021E0938 ; =0x000001FF - and r0, r1 - sub r0, #0x80 - str r0, [sp, #8] - bl MTRandom - mov r1, #0xc0 - bl _u32_div_f - add r1, #8 - str r1, [sp, #0xc] - b _021E0912 -_021E08E0: - bl MTRandom - ldr r1, _021E0938 ; =0x000001FF - and r0, r1 - sub r0, #0x80 - str r0, [sp, #8] - bl MTRandom - mov r1, #0x7f - and r0, r1 - add r0, #0x40 - str r0, [sp, #0xc] - b _021E0912 -_021E08FA: - bl MTRandom - ldr r1, _021E0938 ; =0x000001FF - and r0, r1 - sub r0, #0x80 - str r0, [sp, #8] - bl MTRandom - mov r1, #0x1f - and r0, r1 - add r0, #0xa0 - str r0, [sp, #0xc] -_021E0912: - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, [sp, #8] - add r1, sp, #8 - lsl r0, r0, #0xc - str r0, [sp, #8] - ldr r0, [sp, #0xc] - lsl r0, r0, #0xc - str r0, [sp, #0xc] - ldr r0, [r5, #4] - bl MOD05_021DC4FC - ldr r0, [sp, #4] - add r7, r7, #1 - cmp r7, r0 - blt _021E084C -_021E0932: - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - nop -_021E0938: .word 0x000001FF - - thumb_func_start MOD05_021E093C -MOD05_021E093C: ; 0x021E093C - push {r3, r4, r5, lr} - sub sp, #0x18 - add r5, r0, #0 - add r0, sp, #0 - add r1, r5, #0 - ldr r4, [r5, #8] - bl MOD05_021DD168 - add r3, sp, #0 - ldmia r3!, {r0, r1} - add r2, sp, #0xc - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - ldr r1, [r4, #8] - ldr r0, [r4, #4] - add r0, r1, r0 - str r0, [r4, #8] - ldr r0, [r4] - cmp r0, #0 - ble _021E097C - sub r0, r0, #1 - str r0, [r4] - ldr r0, [r4, #8] - mov r1, #0x64 - bl _s32_div_f - ldr r1, [sp, #0x10] - lsl r0, r0, #0xc - sub r0, r1, r0 - str r0, [sp, #0x10] - b _021E098C -_021E097C: - ldr r0, [r4, #8] - mov r1, #0x32 - bl _s32_div_f - ldr r1, [sp, #0x10] - lsl r0, r0, #0xc - sub r0, r1, r0 - str r0, [sp, #0x10] -_021E098C: - ldr r0, [r4, #0x10] - sub r0, r0, #1 - str r0, [r4, #0x10] - cmp r0, #0 - bgt _021E09B8 - mov r0, #1 - str r0, [r4, #0x10] - ldr r1, [r4, #0xc] - cmp r1, #0 - bne _021E09AC - ldr r2, [sp, #0xc] - lsl r1, r0, #0xd - add r1, r2, r1 - str r1, [sp, #0xc] - str r0, [r4, #0xc] - b _021E09B8 -_021E09AC: - ldr r1, [sp, #0xc] - lsl r0, r0, #0xd - sub r0, r1, r0 - str r0, [sp, #0xc] - mov r0, #0 - str r0, [r4, #0xc] -_021E09B8: - ldr r0, [r5, #4] - add r1, sp, #0xc - bl MOD05_021DC4FC - ldr r0, [sp, #0x10] - asr r1, r0, #0xc - mov r0, #0xf - mvn r0, r0 - cmp r1, r0 - bgt _021E09D2 - add r0, r5, #0 - bl MOD05_021DD100 -_021E09D2: - add sp, #0x18 - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E09D8 -MOD05_021E09D8: ; 0x021E09D8 - push {r4, r5, r6, lr} - ldr r0, _021E0ABC ; =0x00000F58 - add r4, r1, #0 - add r1, r0, #0 - add r1, #0xa - ldrh r1, [r4, r1] - ldr r5, [r4, r0] - cmp r1, #5 - bhi _021E0AB8 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021E09F6: ; jump table - .short _021E0A02 - _021E09F6 - 2 ; case 0 - .short _021E0A34 - _021E09F6 - 2 ; case 1 - .short _021E0A52 - _021E09F6 - 2 ; case 2 - .short _021E0A78 - _021E09F6 - 2 ; case 3 - .short _021E0A94 - _021E09F6 - 2 ; case 4 - .short _021E0AB2 - _021E09F6 - 2 ; case 5 -_021E0A02: - add r0, r5, #0 - mov r1, #0 - mov r2, #0x10 - mov r3, #8 - bl MOD05_021DC6EC - mov r0, #0 - mov r1, #0x10 - bl MOD05_021DC6D4 - ldr r1, _021E0AC0 ; =0x0400000C - mov r0, #3 - ldrh r2, [r1] - bic r2, r0 - mov r0, #3 - orr r0, r2 - strh r0, [r1] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0AC4 ; =0x00000F62 - mov r1, #1 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0A34: - add r0, r5, #0 - bl MOD05_021DC6FC - add r6, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021E0AB8 - ldr r0, _021E0AC4 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0A52: - mov r0, #0x10 - mov r1, #0 - bl MOD05_021DC6D4 - ldr r1, _021E0AC0 ; =0x0400000C - mov r0, #3 - ldrh r2, [r1] - bic r2, r0 - mov r0, #3 - orr r0, r2 - strh r0, [r1] - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0AC4 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0A78: - add r0, #0xe - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021E0AB8 - add r0, r5, #0 - mov r1, #0x10 - mov r2, #0 - mov r3, #8 - bl MOD05_021DC6EC - ldr r0, _021E0AC4 ; =0x00000F62 - mov r1, #4 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0A94: - add r0, r5, #0 - bl MOD05_021DC6FC - add r6, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021E0AB8 - ldr r0, _021E0AC4 ; =0x00000F62 - mov r1, #5 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0AB2: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021E0AB8: - pop {r4, r5, r6, pc} - nop -_021E0ABC: .word 0x00000F58 -_021E0AC0: .word 0x0400000C -_021E0AC4: .word 0x00000F62 - - thumb_func_start MOD05_021E0AC8 -MOD05_021E0AC8: ; 0x021E0AC8 - push {r4, r5, r6, lr} - ldr r0, _021E0B90 ; =0x00000F58 - add r4, r1, #0 - add r1, r0, #0 - add r1, #0xa - ldrh r1, [r4, r1] - ldr r5, [r4, r0] - cmp r1, #5 - bhi _021E0B8C - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021E0AE6: ; jump table - .short _021E0AF2 - _021E0AE6 - 2 ; case 0 - .short _021E0B16 - _021E0AE6 - 2 ; case 1 - .short _021E0B34 - _021E0AE6 - 2 ; case 2 - .short _021E0B4C - _021E0AE6 - 2 ; case 3 - .short _021E0B68 - _021E0AE6 - 2 ; case 4 - .short _021E0B86 - _021E0AE6 - 2 ; case 5 -_021E0AF2: - add r0, r5, #0 - mov r1, #0 - mov r2, #4 - mov r3, #8 - bl MOD05_021DC6EC - mov r0, #0 - mov r1, #0x10 - bl MOD05_021DC6D4 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0B94 ; =0x00000F62 - mov r1, #1 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0B16: - add r0, r5, #0 - bl MOD05_021DC6FC - add r6, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #0 - beq _021E0B8C - ldr r0, _021E0B94 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0B34: - mov r0, #4 - mov r1, #0xc - bl MOD05_021DC6D4 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0B94 ; =0x00000F62 - mov r1, #3 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0B4C: - add r0, #0xe - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021E0B8C - add r0, r5, #0 - mov r1, #4 - mov r2, #0 - mov r3, #8 - bl MOD05_021DC6EC - ldr r0, _021E0B94 ; =0x00000F62 - mov r1, #4 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0B68: - add r0, r5, #0 - bl MOD05_021DC6FC - add r6, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #0 - beq _021E0B8C - ldr r0, _021E0B94 ; =0x00000F62 - mov r1, #5 - strh r1, [r4, r0] - pop {r4, r5, r6, pc} -_021E0B86: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021E0B8C: - pop {r4, r5, r6, pc} - nop -_021E0B90: .word 0x00000F58 -_021E0B94: .word 0x00000F62 - - thumb_func_start MOD05_021E0B98 -MOD05_021E0B98: ; 0x021E0B98 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - ldr r0, _021E0D14 ; =0x00000F58 - add r4, r1, #0 - add r1, r0, #0 - add r1, #0xa - ldrh r1, [r4, r1] - ldr r5, [r4, r0] - cmp r1, #5 - bls _021E0BAE - b _021E0D10 -_021E0BAE: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021E0BBA: ; jump table - .short _021E0BC6 - _021E0BBA - 2 ; case 0 - .short _021E0C16 - _021E0BBA - 2 ; case 1 - .short _021E0C44 - _021E0BBA - 2 ; case 2 - .short _021E0C84 - _021E0BBA - 2 ; case 3 - .short _021E0CB8 - _021E0BBA - 2 ; case 4 - .short _021E0CF2 - _021E0BBA - 2 ; case 5 -_021E0BC6: - ldr r1, _021E0D18 ; =0x0000764F - mov r2, #0x41 - str r1, [sp] - mov r1, #0 - str r1, [sp, #4] - mov r1, #1 - str r1, [sp, #8] - add r0, #0xc - ldrh r0, [r4, r0] - add r1, r5, #0 - lsl r2, r2, #2 - str r0, [sp, #0xc] - ldr r3, [r4] - add r0, r5, #0 - ldr r2, [r3, r2] - add r0, #0x44 - ldr r2, [r2, #0x44] - add r1, #0x14 - mov r3, #7 - bl MOD05_021DD420 - add r0, r5, #0 - mov r1, #0 - mov r2, #9 - mov r3, #0x1e - bl MOD05_021DC6EC - mov r0, #0 - mov r1, #0x10 - bl MOD05_021DC6D4 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0D1C ; =0x00000F62 - mov r1, #1 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0C16: - add r0, r5, #0 - add r0, #0x14 - bl MOD05_021DD5D0 - add r6, r0, #0 - add r0, r5, #0 - bl MOD05_021DC6FC - add r7, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021E0D10 - cmp r7, #1 - bne _021E0D10 - ldr r0, _021E0D1C ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0C44: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0C6A - mov r0, #0x41 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021E0D18 ; =0x0000764F - ldr r0, [r0, #0x44] - mov r1, #7 - mov r3, #0 - str r0, [r5, #0x14] - bl MOD05_021DD49C - add r5, #0x14 - add r0, r5, #0 - bl MOD05_021DD5EC -_021E0C6A: - mov r0, #9 - mov r1, #7 - bl MOD05_021DC6D4 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0D1C ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0C84: - add r1, r0, #0 - add r1, #0xe - ldrh r1, [r4, r1] - cmp r1, #5 - bne _021E0D10 - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0CA2 - add r0, r5, #0 - add r0, #0x14 - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021E0CA2: - add r0, r5, #0 - mov r1, #9 - mov r2, #0 - mov r3, #0x1e - bl MOD05_021DC6EC - ldr r0, _021E0D1C ; =0x00000F62 - mov r1, #4 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0CB8: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0CCC - add r0, r5, #0 - add r0, #0x14 - bl MOD05_021DD5D0 - add r6, r0, #0 - b _021E0CCE -_021E0CCC: - mov r6, #1 -_021E0CCE: - add r0, r5, #0 - bl MOD05_021DC6FC - add r7, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021E0D10 - cmp r7, #1 - bne _021E0D10 - ldr r0, _021E0D1C ; =0x00000F62 - mov r1, #5 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0CF2: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0D0A - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r5, #0x14] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021E0D0A: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021E0D10: - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E0D14: .word 0x00000F58 -_021E0D18: .word 0x0000764F -_021E0D1C: .word 0x00000F62 - - thumb_func_start MOD05_021E0D20 -MOD05_021E0D20: ; 0x021E0D20 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - ldr r0, _021E0E9C ; =0x00000F58 - add r4, r1, #0 - add r1, r0, #0 - add r1, #0xa - ldrh r1, [r4, r1] - ldr r5, [r4, r0] - cmp r1, #5 - bls _021E0D36 - b _021E0E98 -_021E0D36: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_021E0D42: ; jump table - .short _021E0D4E - _021E0D42 - 2 ; case 0 - .short _021E0D9E - _021E0D42 - 2 ; case 1 - .short _021E0DCC - _021E0D42 - 2 ; case 2 - .short _021E0E0C - _021E0D42 - 2 ; case 3 - .short _021E0E40 - _021E0D42 - 2 ; case 4 - .short _021E0E7A - _021E0D42 - 2 ; case 5 -_021E0D4E: - ldr r1, _021E0EA0 ; =0x00007555 - mov r2, #0x41 - str r1, [sp] - ldr r1, _021E0EA4 ; =0x00007FFF - add r0, #0xc - str r1, [sp, #4] - mov r1, #1 - str r1, [sp, #8] - ldrh r0, [r4, r0] - add r1, r5, #0 - lsl r2, r2, #2 - str r0, [sp, #0xc] - ldr r3, [r4] - add r0, r5, #0 - ldr r2, [r3, r2] - add r0, #0x44 - ldr r2, [r2, #0x44] - add r1, #0x14 - mov r3, #6 - bl MOD05_021DD420 - add r0, r5, #0 - mov r1, #0 - mov r2, #9 - mov r3, #0x1e - bl MOD05_021DC6EC - mov r0, #0 - mov r1, #0x10 - bl MOD05_021DC6D4 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0EA8 ; =0x00000F62 - mov r1, #1 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0D9E: - add r0, r5, #0 - add r0, #0x14 - bl MOD05_021DD5D0 - add r6, r0, #0 - add r0, r5, #0 - bl MOD05_021DC6FC - add r7, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021E0E98 - cmp r7, #1 - bne _021E0E98 - ldr r0, _021E0EA8 ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0DCC: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0DF2 - mov r0, #0x41 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r0, [r1, r0] - ldr r2, _021E0EA0 ; =0x00007555 - ldr r0, [r0, #0x44] - ldr r3, _021E0EA4 ; =0x00007FFF - mov r1, #6 - str r0, [r5, #0x14] - bl MOD05_021DD49C - add r5, #0x14 - add r0, r5, #0 - bl MOD05_021DD5EC -_021E0DF2: - mov r0, #9 - mov r1, #7 - bl MOD05_021DC6D4 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0EA8 ; =0x00000F62 - mov r1, #3 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0E0C: - add r1, r0, #0 - add r1, #0xe - ldrh r1, [r4, r1] - cmp r1, #5 - bne _021E0E98 - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0E2A - add r0, r5, #0 - add r0, #0x14 - mov r1, #1 - mov r2, #0 - bl MOD05_021DD5B4 -_021E0E2A: - add r0, r5, #0 - mov r1, #9 - mov r2, #0 - mov r3, #0x1e - bl MOD05_021DC6EC - ldr r0, _021E0EA8 ; =0x00000F62 - mov r1, #4 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0E40: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0E54 - add r0, r5, #0 - add r0, #0x14 - bl MOD05_021DD5D0 - add r6, r0, #0 - b _021E0E56 -_021E0E54: - mov r6, #1 -_021E0E56: - add r0, r5, #0 - bl MOD05_021DC6FC - add r7, r0, #0 - ldr r0, [r5] - mov r1, #0x10 - sub r1, r1, r0 - bl MOD05_021DC6D4 - cmp r6, #1 - bne _021E0E98 - cmp r7, #1 - bne _021E0E98 - ldr r0, _021E0EA8 ; =0x00000F62 - mov r1, #5 - add sp, #0x10 - strh r1, [r4, r0] - pop {r3, r4, r5, r6, r7, pc} -_021E0E7A: - add r0, #0xc - ldrh r0, [r4, r0] - cmp r0, #0 - beq _021E0E92 - mov r2, #0 - str r2, [sp] - str r2, [sp, #4] - ldr r0, [r5, #0x14] - mov r1, #1 - add r3, r2, #0 - bl MOD05_021DBA40 -_021E0E92: - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021E0E98: - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E0E9C: .word 0x00000F58 -_021E0EA0: .word 0x00007555 -_021E0EA4: .word 0x00007FFF -_021E0EA8: .word 0x00000F62 - - thumb_func_start MOD05_021E0EAC -MOD05_021E0EAC: ; 0x021E0EAC - push {r3, r4, r5, lr} - sub sp, #8 - add r4, r1, #0 - mov r0, #0x41 - ldr r1, [r4] - lsl r0, r0, #2 - ldr r1, [r1, r0] - ldr r0, _021E0F9C ; =0x00000F58 - add r2, r0, #0 - add r2, #0xa - ldrh r2, [r4, r2] - ldr r5, [r4, r0] - cmp r2, #5 - bhi _021E0F98 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_021E0ED4: ; jump table - .short _021E0EE0 - _021E0ED4 - 2 ; case 0 - .short _021E0F0A - _021E0ED4 - 2 ; case 1 - .short _021E0F2C - _021E0ED4 - 2 ; case 2 - .short _021E0F3E - _021E0ED4 - 2 ; case 3 - .short _021E0F70 - _021E0ED4 - 2 ; case 4 - .short _021E0F8C - _021E0ED4 - 2 ; case 5 -_021E0EE0: - ldr r1, [r1, #4] - add r0, r5, #0 - ldr r1, [r1, #0x1c] - bl MOD05_021E1100 - mov r0, #0x54 - mov r1, #1 - str r0, [sp] - mov r0, #0x1e - lsl r1, r1, #0x14 - str r0, [sp, #4] - add r0, r5, #0 - lsr r2, r1, #3 - mov r3, #0x80 - bl MOD05_021E11CC - ldr r0, _021E0FA0 ; =0x00000F62 - mov r1, #1 - add sp, #8 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021E0F0A: - add r0, r5, #0 - bl MOD05_021E11EC - cmp r0, #1 - bne _021E0F98 - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - add r0, r5, #0 - bl MOD05_021E1290 - ldr r0, _021E0FA0 ; =0x00000F62 - mov r1, #3 - add sp, #8 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021E0F2C: - mov r0, #4 - mov r1, #1 - bl FUN_0201E6E4 - ldr r0, _021E0FA0 ; =0x00000F62 - mov r1, #3 - add sp, #8 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021E0F3E: - add r0, #0xe - ldrh r0, [r4, r0] - cmp r0, #5 - bne _021E0F98 - ldr r1, [r1, #4] - add r0, r5, #0 - ldr r1, [r1, #0x1c] - bl MOD05_021E1100 - mov r0, #0x54 - mov r1, #2 - str r0, [sp] - mov r0, #0x1e - lsl r1, r1, #0x10 - str r0, [sp, #4] - add r0, r5, #0 - lsl r2, r1, #3 - mov r3, #0x80 - bl MOD05_021E11CC - ldr r0, _021E0FA0 ; =0x00000F62 - mov r1, #4 - add sp, #8 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021E0F70: - mov r0, #4 - mov r1, #0 - bl FUN_0201E6E4 - add r0, r5, #0 - bl MOD05_021E11EC - cmp r0, #1 - bne _021E0F98 - ldr r0, _021E0FA0 ; =0x00000F62 - mov r1, #5 - add sp, #8 - strh r1, [r4, r0] - pop {r3, r4, r5, pc} -_021E0F8C: - add r0, r5, #0 - bl MOD05_021E117C - ldr r0, [r4, #4] - bl MOD05_021DCB6C -_021E0F98: - add sp, #8 - pop {r3, r4, r5, pc} - .balign 4, 0 -_021E0F9C: .word 0x00000F58 -_021E0FA0: .word 0x00000F62 - - thumb_func_start MOD05_021E0FA4 -MOD05_021E0FA4: ; 0x021E0FA4 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _021E0FCC ; =0x00000F5C - add r4, r1, #0 - ldr r0, [r5, r0] - cmp r0, #0 - beq _021E0FB6 - bl ErrorHandling -_021E0FB6: - ldr r1, _021E0FCC ; =0x00000F5C - mov r0, #1 - str r0, [r5, r1] - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - add r1, r1, #4 - strh r0, [r5, r1] - bl FUN_020054C8 - pop {r3, r4, r5, pc} - nop -_021E0FCC: .word 0x00000F5C - - thumb_func_start MOD05_021E0FD0 -MOD05_021E0FD0: ; 0x021E0FD0 - push {r4, lr} - add r4, r0, #0 - mov r0, #0xf6 - lsl r0, r0, #4 - ldrh r0, [r4, r0] - mov r1, #0 - bl FUN_020054F0 - ldr r0, _021E0FE8 ; =0x00000F5C - mov r1, #0 - str r1, [r4, r0] - pop {r4, pc} - .balign 4, 0 -_021E0FE8: .word 0x00000F5C - - thumb_func_start MOD05_021E0FEC -MOD05_021E0FEC: ; 0x021E0FEC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r5, r0, #0 - ldr r0, [r5, #0x1c] - bl FUN_02012988 - str r0, [sp, #0xc] - ldr r0, [r5, #0x20] - bl FUN_02012988 - ldr r7, [sp, #0xc] - str r0, [sp, #8] - mov r4, #0 - add r6, r0, #0 -_021E1008: - mov r0, #2 - ldrsh r2, [r5, r0] - cmp r4, r2 - bgt _021E1026 - add r0, sp, #0x14 - str r0, [sp] - add r0, sp, #0x10 - str r0, [sp, #4] - mov r1, #0 - ldrsh r1, [r5, r1] - ldr r0, [r5, #4] - add r3, r4, #0 - bl MOD05_021E1074 - b _021E105C -_021E1026: - lsl r0, r2, #1 - cmp r4, r0 - bgt _021E1048 - sub r0, r0, r4 - lsl r1, r0, #1 - ldr r0, [sp, #0xc] - ldrh r0, [r0, r1] - str r0, [sp, #0x14] - mov r0, #2 - ldrsh r0, [r5, r0] - lsl r0, r0, #1 - sub r0, r0, r4 - lsl r1, r0, #1 - ldr r0, [sp, #8] - ldrh r0, [r0, r1] - str r0, [sp, #0x10] - b _021E105C -_021E1048: - add r0, sp, #0x14 - str r0, [sp] - add r0, sp, #0x10 - str r0, [sp, #4] - mov r1, #0 - ldrsh r1, [r5, r1] - ldr r0, [r5, #4] - add r3, r4, #0 - bl MOD05_021E1074 -_021E105C: - ldr r0, [sp, #0x14] - add r4, r4, #1 - strh r0, [r7] - ldr r0, [sp, #0x10] - add r7, r7, #2 - strh r0, [r6] - add r6, r6, #2 - cmp r4, #0xc0 - blt _021E1008 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E1074 -MOD05_021E1074: ; 0x021E1074 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r1, [sp] - ldr r5, [sp, #0x20] - ldr r4, [sp, #0x24] - sub r1, r3, r2 - bpl _021E1084 - neg r1, r1 -_021E1084: - cmp r1, r0 - blt _021E1092 - mov r0, #0 - str r0, [r5] - add sp, #0xc - str r0, [r4] - pop {r4, r5, r6, r7, pc} -_021E1092: - lsl r1, r1, #0xc - str r1, [sp, #4] - asr r7, r1, #0x1f - asr r1, r0, #0x1f - add r2, r0, #0 - add r3, r1, #0 - bl _ll_mul - str r0, [sp, #8] - ldr r0, [sp, #4] - add r6, r1, #0 - add r1, r7, #0 - add r2, r0, #0 - add r3, r7, #0 - bl _ll_mul - add r2, r0, #0 - add r3, r1, #0 - mov r0, #2 - ldr r1, [sp, #8] - mov r7, #0 - lsl r0, r0, #0xa - add r0, r1, r0 - adc r6, r7 - lsl r1, r6, #0x14 - lsr r0, r0, #0xc - orr r0, r1 - mov r1, #2 - lsl r1, r1, #0xa - add r2, r2, r1 - adc r3, r7 - lsl r1, r3, #0x14 - lsr r2, r2, #0xc - orr r2, r1 - sub r0, r0, r2 - bl FX_Sqrt - asr r2, r0, #0xc - ldr r0, [sp] - sub r0, r0, r2 - str r0, [r5] - bpl _021E10EA - add r0, r7, #0 - str r0, [r5] -_021E10EA: - ldr r1, [r5] - lsl r0, r2, #1 - add r0, r1, r0 - str r0, [r4] - cmp r0, #0xff - ble _021E10FA - mov r0, #0xff - str r0, [r4] -_021E10FA: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E1100 -MOD05_021E1100: ; 0x021E1100 - push {r4, r5, r6, lr} - ldr r2, _021E116C ; =0x0000062C - add r4, r1, #0 - mov r1, #0 - add r5, r0, #0 - bl memset - mov r2, #0x6b - add r1, r5, #0 - lsl r2, r2, #2 - mov r0, #4 - add r1, #0x2c - add r2, r5, r2 - bl FUN_02012944 - mov r1, #0xcb - ldr r2, _021E1170 ; =0x000004AC - lsl r1, r1, #2 - str r0, [r5, #0x1c] - mov r0, #4 - add r1, r5, r1 - add r2, r5, r2 - bl FUN_02012944 - str r0, [r5, #0x20] - mov r0, #0xcb - ldr r1, _021E1170 ; =0x000004AC - mov r3, #0 - add r6, r5, #0 - mov r2, #0xff - lsl r0, r0, #2 -_021E113E: - strh r2, [r6, r0] - strh r2, [r6, r1] - add r3, r3, #1 - add r6, r6, #2 - cmp r3, #0xc0 - blt _021E113E - ldr r0, _021E1174 ; =MOD05_021E12E4 - add r1, r5, #0 - mov r2, #0x78 - str r4, [r5, #0x14] - bl FUN_0200CA98 - mov r2, #1 - ldr r0, _021E1178 ; =MOD05_021E1278 - add r1, r5, #0 - lsl r2, r2, #0xa - bl FUN_0200CA98 - str r0, [r5, #0x24] - mov r0, #0 - str r0, [r5, #0x28] - pop {r4, r5, r6, pc} - nop -_021E116C: .word 0x0000062C -_021E1170: .word 0x000004AC -_021E1174: .word MOD05_021E12E4 -_021E1178: .word MOD05_021E1278 - - thumb_func_start MOD05_021E117C -MOD05_021E117C: ; 0x021E117C - push {r4, lr} - add r4, r0, #0 - mov r0, #1 - lsl r0, r0, #0x1a - mov r1, #0xe - ldr r2, [r0] - lsl r1, r1, #0xc - and r1, r2 - lsr r3, r1, #0xd - ldr r2, [r0] - ldr r1, _021E11C4 ; =0xFFFF1FFF - and r2, r1 - mov r1, #2 - bic r3, r1 - lsl r1, r3, #0xd - orr r1, r2 - str r1, [r0] - ldr r0, [r4, #0x18] - bl MOD05_021F4648 - ldr r0, [r4, #0x24] - bl FUN_0200CAB4 - ldr r0, [r4, #0x1c] - bl FUN_02012974 - ldr r0, [r4, #0x20] - bl FUN_02012974 - ldr r2, _021E11C8 ; =0x0000062C - add r0, r4, #0 - mov r1, #0 - bl memset - pop {r4, pc} - nop -_021E11C4: .word 0xFFFF1FFF -_021E11C8: .word 0x0000062C - - thumb_func_start MOD05_021E11CC -MOD05_021E11CC: ; 0x021E11CC - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r3, #0 - ldr r3, [sp, #0x14] - add r0, r4, #4 - bl MOD05_021DC728 - ldr r0, [sp, #0x10] - strh r5, [r4] - strh r0, [r4, #2] - mov r0, #1 - str r0, [r4, #0x28] - add r0, r4, #0 - bl MOD05_021E0FEC - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021E11EC -MOD05_021E11EC: ; 0x021E11EC - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r1, [r5, #0x28] - cmp r1, #0 - bne _021E11FE - bl MOD05_021E12B8 - mov r0, #1 - pop {r3, r4, r5, pc} -_021E11FE: - add r0, r5, #4 - bl MOD05_021DC738 - add r4, r0, #0 - add r0, r5, #0 - bl MOD05_021E0FEC - cmp r4, #1 - bne _021E1214 - mov r0, #0 - str r0, [r5, #0x28] -_021E1214: - add r0, r4, #0 - pop {r3, r4, r5, pc} - - thumb_func_start MOD05_021E1218 -MOD05_021E1218: ; 0x021E1218 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - ldr r0, _021E1270 ; =0x04000006 - add r5, r1, #0 - ldrh r7, [r0] - mov r6, #0 - add r4, sp, #0 -_021E1226: - ldr r0, [r5, #0x1c] - bl FUN_0201299C - add r6, r6, #1 - add r5, r5, #4 - stmia r4!, {r0} - cmp r6, #2 - blt _021E1226 - cmp r7, #0xc0 - bge _021E126C - add r7, r7, #1 - cmp r7, #0xc0 - blt _021E1242 - sub r7, #0xc0 -_021E1242: - ldr r1, _021E1274 ; =0x04000004 - mov r0, #2 - ldrh r2, [r1] - tst r0, r2 - beq _021E126C - ldr r2, [sp] - lsl r0, r7, #1 - ldrh r2, [r2, r0] - lsl r3, r2, #8 - mov r2, #0xff - lsl r2, r2, #8 - and r3, r2 - ldr r2, [sp, #4] - ldrh r0, [r2, r0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - orr r0, r3 - strh r0, [r1, #0x3e] - mov r0, #0xc0 - add r1, #0x42 - strh r0, [r1] -_021E126C: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_021E1270: .word 0x04000006 -_021E1274: .word 0x04000004 - - thumb_func_start MOD05_021E1278 -MOD05_021E1278: ; 0x021E1278 - push {r3, r4, r5, lr} - add r5, r1, #0 - mov r4, #0 -_021E127E: - ldr r0, [r5, #0x1c] - bl FUN_020129B4 - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #2 - blt _021E127E - pop {r3, r4, r5, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E1290 -MOD05_021E1290: ; 0x021E1290 - ldr r3, _021E129C ; =FUN_0200CA98 - add r1, r0, #0 - ldr r0, _021E12A0 ; =MOD05_021E12A4 - mov r2, #0x80 - bx r3 - nop -_021E129C: .word FUN_0200CA98 -_021E12A0: .word MOD05_021E12A4 - - thumb_func_start MOD05_021E12A4 -MOD05_021E12A4: ; 0x021E12A4 - push {r4, lr} - add r4, r0, #0 - add r0, r1, #0 - bl MOD05_021E117C - add r0, r4, #0 - bl FUN_0200CAB4 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E12B8 -MOD05_021E12B8: ; 0x021E12B8 - push {r3, r4, r5, r6, r7, lr} - mov r7, #6 - add r5, r0, #0 - mov r4, #0 - lsl r7, r7, #6 -_021E12C2: - ldr r0, [r5, #0x1c] - bl FUN_0201299C - add r6, r0, #0 - ldr r0, [r5, #0x1c] - bl FUN_02012988 - add r1, r6, #0 - add r2, r7, #0 - bl memcpy - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #2 - blt _021E12C2 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - - thumb_func_start MOD05_021E12E4 -MOD05_021E12E4: ; 0x021E12E4 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - ldr r1, _021E1364 ; =0x0400004A - add r5, r0, #0 - ldrb r0, [r1] - add r7, sp, #0 - ldr r3, _021E1368 ; =0xFFFFC0FF - strb r0, [r7] - add r0, r1, #0 - sub r0, #0x4a - ldr r2, [r0] - mov r0, #0xe - lsl r0, r0, #0xc - and r0, r2 - lsr r2, r0, #0xd - sub r0, r1, #2 - ldrh r6, [r0] - and r6, r3 - mov r3, #0x3f - lsl r3, r3, #8 - orr r6, r3 - lsr r3, r1, #0xd - orr r3, r6 - strh r3, [r0] - ldrh r1, [r1] - mov r0, #0x3f - bic r1, r0 - mov r0, #0x3e - orr r0, r1 - ldrb r1, [r7] - lsl r1, r1, #0x1a - lsr r1, r1, #0x1f - beq _021E132A - mov r1, #0x20 - orr r0, r1 -_021E132A: - ldr r1, _021E1364 ; =0x0400004A - mov r3, #0xff - strh r0, [r1] - add r0, r1, #0 - sub r0, #8 - strh r3, [r0] - sub r0, r1, #4 - mov r3, #0xc0 - strh r3, [r0] - sub r1, #0x4a - ldr r3, [r1] - ldr r0, _021E136C ; =0xFFFF1FFF - and r0, r3 - mov r3, #2 - orr r2, r3 - lsl r2, r2, #0xd - orr r0, r2 - str r0, [r1] - ldr r0, [r4, #0x14] - ldr r1, _021E1370 ; =MOD05_021E1218 - add r2, r4, #0 - bl MOD05_021F4624 - str r0, [r4, #0x18] - add r0, r5, #0 - bl FUN_0200CAB4 - pop {r3, r4, r5, r6, r7, pc} - nop -_021E1364: .word 0x0400004A -_021E1368: .word 0xFFFFC0FF -_021E136C: .word 0xFFFF1FFF -_021E1370: .word MOD05_021E1218 - thumb_func_start MOD05_021E1374 MOD05_021E1374: ; 0x021E1374 push {r3, r4, r5, r6, r7, lr} @@ -54163,54 +43528,6 @@ _021F6428: .word MOD05_021F57F0 .section .rodata - .global UNK05_021F67C8 -UNK05_021F67C8: ; 0x021F67C8 - .word 0x00000002, 0x00000002, 0x00000002, 0x00000002 - - .global UNK05_021F67D8 -UNK05_021F67D8: ; 0x021F67D8 - .word 0x00000010, 0x00000020, 0x00000010, 0x0000000A - - .global UNK05_021F67E8 -UNK05_021F67E8: ; 0x021F67E8 - .word 0x00000002, 0x00000004, 0x00000002, 0x00000004 - - .global UNK05_021F67F8 -UNK05_021F67F8: ; 0x021F67F8 - .word -4, -6, -8, -10 - - .global UNK05_021F6808 -UNK05_021F6808: ; 0x021F6808 - .word 0x00000064, 0x00000064, 0x000000C8, 0x00000064 - .word 0x0000012C - - .global UNK05_021F681C -UNK05_021F681C: ; 0x021F681C - .word -3, -5, -5, -3 - .word -5, -6, -10, -6 - - .global UNK05_021F683C -UNK05_021F683C: ; 0x021F683C - .word -3, -5, -5, -4 - .word -5, -6, -10, -6 - .word 0x00000002, 0x00000002, 0x00000002, 0x00000004 - .word 0x00000004, 0x00000002, 0x00000002, 0x00000002 - - .global UNK05_021F687C -UNK05_021F687C: ; 0x021F687C - .word 0x00000002, 0x00000002, 0x00000002, 0x000000004 - .word 0x00000004, 0x00000002, 0x00000002, 0x000000002 - - .global UNK05_021F689C -UNK05_021F689C: ; 0x021F689C - .word 0x00000015, 0x00000024, 0x00000026, 0x00000025 - .word 0x00000024, 0x00000026, 0x00000009, 0x00000008 - .word 0x0000000A, 0x0000002A, 0x0000002C, 0x0000002B - .word 0x0000001E, 0x0000001D, 0x0000001F, 0x0000002E - .word 0x0000002D, 0x0000002F, 0x00000033, 0x0000002D - .word 0x0000002F, 0x00000034, 0x00000035, 0x00000036 - .word 0x00000031, 0x00000030, 0x00000032 - .global UNK05_021F6908 UNK05_021F6908: ; 0x021F6908 .word 0x0001004B, 0x000000FE @@ -57140,95 +46457,6 @@ UNK05_021FD1B8: ; 0x021FD1B8 .section .data .balign 4 - .global UNK05_021FD2D4 -UNK05_021FD2D4: ; 0x021FD2D4 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DD71C - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x00, 0x00, 0x00 - .byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E0AC8 - .byte 0x00, 0x00, 0x00, 0x00 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DD770 - .byte 0x05, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DFE30 - .byte 0x05, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DFD44 - .byte 0x03, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF - .byte 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DDB14 - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DDF78 - .byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DF11C - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DE8C0 - .byte 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 - .byte 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E00A4 - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DEE2C - .byte 0x04, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DF588 - .byte 0x07, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E0700 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0x00, 0x00, 0x00 - .byte 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E09D8 - .byte 0xFF, 0xFF, 0xFF, 0xFF - .byte 0x06, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E0D20 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E0B98 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x2C, 0x06, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E0EAC - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00 - .byte 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021E05A8 - .byte 0xFF, 0xFF, 0xFF, 0xFF - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DE5F8 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DE75C - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DF90C - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DE360 - .byte 0x02, 0x00, 0x00, 0x00 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .word MOD05_021DEA6C .global UNK05_021FD610 UNK05_021FD610: ; 0x021FD610 |