.include "asm/macros.inc" .include "global.inc" .section .text .balign 4, 0 arm_func_start MOD13_0221E560 MOD13_0221E560: ; 0x0221E560 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r0, _0221E640 ; =0x02242FE4 mov r1, #0x28 ldr r0, [r0] ldrb r0, [r0, #9] add r0, r0, #1 bl FX_ModS32 ldr r2, _0221E640 ; =0x02242FE4 mov r1, #5 ldr r3, [r2] strb r0, [r3, #9] ldr r0, [r2] ldrb r0, [r0, #9] bl FX_DivS32 ldr r2, _0221E640 ; =0x02242FE4 add r1, r0, #0x47 ldr r2, [r2] mov r0, #0 ldr r2, [r2, #4] bl MOD13_02239E8C ldr r3, _0221E640 ; =0x02242FE4 ldr lr, _0221E644 ; =0x0223EC6C ldr r0, [r3] ldr r2, _0221E648 ; =0x0223EC70 ldr r5, [r0, #4] ldr r1, _0221E64C ; =0xFE00FF00 ldrh r4, [r5, #4] ldr r0, _0221E650 ; =0x000001FF bic r4, r4, #0xc00 orr r4, r4, #0x400 strh r4, [r5, #4] ldr r4, [r3] ldrb r5, [r4, #8] ldr ip, [r4, #4] ldr r4, [ip] ldrb lr, [lr, r5] bic r4, r4, #0xc00 str r4, [ip] ldrh r4, [ip, #4] bic r4, r4, #0xf000 orr r4, r4, lr, lsl #12 strh r4, [ip, #4] ldr r4, [r3] ldrh r3, [r2, #2] ldr r4, [r4, #4] ldrh lr, [r2] ldr ip, [r4] and r2, r3, #0xff and r1, ip, r1 and r3, lr, r0 orr r0, r1, r2 orr r0, r0, r3, lsl #16 str r0, [r4] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0221E640: .word 0x02242FE4 _0221E644: .word 0x0223EC6C _0221E648: .word 0x0223EC70 _0221E64C: .word 0xFE00FF00 _0221E650: .word 0x000001FF arm_func_start MOD13_0221E654 MOD13_0221E654: ; 0x0221E654 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _0221E690 ; =0x02242FE4 mov r0, #1 ldr r1, [r1] ldr r1, [r1] bl MOD13_0223C104 ldr r0, _0221E690 ; =0x02242FE4 ldr r0, [r0] ldr r0, [r0, #4] bl MOD13_0223B974 ldr r0, _0221E690 ; =0x02242FE4 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221E690: .word 0x02242FE4 arm_func_start MOD13_0221E694 MOD13_0221E694: ; 0x0221E694 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #4 mov r4, r0 mov r0, #0xc mov r1, #4 bl MOD13_0223AFE0 ldr r2, _0221E774 ; =0x02242FE4 mov r1, #0x47 str r0, [r2] strb r4, [r0, #8] mov r0, #0 bl MOD13_02239E54 ldr r7, _0221E774 ; =0x02242FE4 ldr r8, _0221E778 ; =0x0223EC6C ldr r1, [r7] ldr r6, _0221E77C ; =0x0223EC70 str r0, [r1, #4] ldr r0, [r7] ldr lr, _0221E780 ; =0x000001FF ldr r3, [r0, #4] ldr r5, _0221E784 ; =0xFE00FF00 ldrh r2, [r3, #4] mov r0, #1 ldr r1, _0221E788 ; =MOD13_0221E560 bic r2, r2, #0xc00 orr r2, r2, #0x400 strh r2, [r3, #4] ldr r3, [r7] mov r2, #0 ldr ip, [r3, #4] mov r3, #0x78 ldr sb, [ip] bic sb, sb, #0xc00 str sb, [ip] ldrb r4, [r8, r4] ldrh r8, [ip, #4] bic r8, r8, #0xf000 orr r4, r8, r4, lsl #12 strh r4, [ip, #4] ldr r4, [r7] ldrh r7, [r6] ldr ip, [r4, #4] ldrh r4, [r6, #2] and r7, r7, lr ldr r6, [ip] and r4, r4, #0xff and r5, r6, r5 orr r4, r5, r4 orr r4, r4, r7, lsl #16 str r4, [ip] bl MOD13_0223C1C4 ldr r1, _0221E774 ; =0x02242FE4 ldr r1, [r1] str r0, [r1] add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0221E774: .word 0x02242FE4 _0221E778: .word 0x0223EC6C _0221E77C: .word 0x0223EC70 _0221E780: .word 0x000001FF _0221E784: .word 0xFE00FF00 _0221E788: .word MOD13_0221E560 arm_func_start MOD13_0221E78C MOD13_0221E78C: ; 0x0221E78C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #4 ldr r4, _0221E888 ; =0x02242FE8 str r0, [sp] ldr r1, [r4] ldrh r0, [r1, #0x14] add r0, r0, #1 strh r0, [r1, #0x14] ldr r1, [r4] ldrh r0, [r1, #0x14] cmp r0, #0x10 addlo sp, sp, #4 ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldrb r1, [r1, #0x17] ldr r0, _0221E88C ; =0x0223EC7C mov sb, #0 ldrb sl, [r0, r1] cmp sl, #0 ble _0221E838 mov r7, sb mov fp, sb mvn r6, #0 mov r5, #1 _0221E7E8: ldr r0, [r4] ldr r2, _0221E890 ; =0x0223EC8C ldrb r3, [r0, #0x17] ldr r0, [r0, sb, lsl #2] mov r1, r7 add r2, r2, r3, lsl #1 ldrb r8, [sb, r2] bl MOD13_02239ADC mov r2, r0 mov r1, r8 mov r0, fp bl MOD13_02239E8C ldr r0, [r4] mov r1, r6 ldr r0, [r0, sb, lsl #2] mov r2, r5 bl MOD13_02239814 add sb, sb, #1 cmp sb, sl blt _0221E7E8 _0221E838: ldr r0, _0221E894 ; =0x0223EC74 ldrh r0, [r0, #2] bl MOD13_0221EBD8 ldr r1, _0221E888 ; =0x02242FE8 mov r0, #0 ldr r2, [r1] mvn r3, #0 strh r0, [r2, #0x14] ldr r2, [r1] strb r3, [r2, #0x16] ldr r2, [r1] ldr r1, [r2, #0x10] cmp r1, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r1, [sp] str r0, [r2, #0x10] bl MOD13_0223C110 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0221E888: .word 0x02242FE8 _0221E88C: .word 0x0223EC7C _0221E890: .word 0x0223EC8C _0221E894: .word 0x0223EC74 arm_func_start MOD13_0221E898 MOD13_0221E898: ; 0x0221E898 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r1, r0 mov r0, #0 bl MOD13_0223C110 ldr r0, _0221E910 ; =0x02242FE8 ldr r0, [r0] ldr r1, [r0, #0x10] cmp r1, #0 beq _0221E8C8 mov r0, #0 bl MOD13_0223C110 _0221E8C8: ldr r4, _0221E910 ; =0x02242FE8 mov r5, #0 _0221E8D0: ldr r0, [r4] ldr r0, [r0, r5, lsl #2] cmp r0, #0 beq _0221E8E4 bl MOD13_02239AE8 _0221E8E4: add r5, r5, #1 cmp r5, #2 blt _0221E8D0 ldr r0, _0221E910 ; =0x02242FE8 ldr r0, [r0] ldr r0, [r0, #8] bl MOD13_02239AE8 ldr r0, _0221E910 ; =0x02242FE8 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0221E910: .word 0x02242FE8 arm_func_start MOD13_0221E914 MOD13_0221E914: ; 0x0221E914 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0221E970 ; =0x02242FE8 mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #8] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r0, [sp, #4] add r0, r0, #4 str r0, [sp, #4] bl MOD13_0221EBD8 ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _0221E974 ; =MOD13_0221E898 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0221E970: .word 0x02242FE8 _0221E974: .word MOD13_0221E898 arm_func_start MOD13_0221E978 MOD13_0221E978: ; 0x0221E978 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 ldr r8, _0221EAE8 ; =0x02242FE8 ldr r1, _0221EAEC ; =0x0223EC7C ldr r3, [r8] ldrb r2, [r3, #0x17] ldrb r0, [r3, #0x18] ldrb r7, [r1, r2] cmp r0, #0 bne _0221EAD0 ldrsb r1, [r3, #0x16] mvn r0, #0 cmp r1, r0 addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} cmp r7, #0 mov r6, #0 ble _0221EAD0 ldr r5, _0221EAF0 ; =0x0223EC84 ldr r4, _0221EAF4 ; =0x0223EC9C ldr sl, _0221EAF8 ; =0x0223EC78 add sb, sp, #0 _0221E9D0: ldr r0, [r8] mov r1, sl ldrb r0, [r0, #0x17] mov r2, sb add r0, r4, r0, lsl #1 ldrb r0, [r6, r0] add r0, r5, r0, lsl #2 bl MOD13_0223AB74 mov r0, sb bl MOD13_0223B2B4 cmp r0, #0 beq _0221EAC4 ldr r0, _0221EAE8 ; =0x02242FE8 ldr r3, [r0] ldr r0, [r3, #0x10] cmp r0, #0 bne _0221EAD0 ldrb r2, [r3, #0x17] ldr r1, _0221EAFC ; =0x0223EC8C ldr r0, [r3, r6, lsl #2] add r1, r1, r2, lsl #1 ldrb r2, [r6, r1] mov r1, #0 add r4, r2, #1 bl MOD13_02239ADC mov r2, r0 mov r1, r4 mov r0, #0 bl MOD13_02239E8C ldr r0, _0221EAE8 ; =0x02242FE8 ldr r1, _0221EAF4 ; =0x0223EC9C ldr r0, [r0] ldr r2, _0221EAF0 ; =0x0223EC84 ldrb r4, [r0, #0x17] ldr r3, _0221EB00 ; =0x0223EC86 ldr r0, [r0, r6, lsl #2] add r1, r1, r4, lsl #1 ldrb r4, [r6, r1] mvn r1, #0 mov r4, r4, lsl #2 ldrh r2, [r2, r4] ldrh r3, [r3, r4] bl MOD13_02239888 ldr r0, _0221EAE8 ; =0x02242FE8 mvn r1, #0 ldr r0, [r0] mov r2, #1 ldr r0, [r0, r6, lsl #2] bl MOD13_02239814 mov r0, #0 ldr r1, _0221EB04 ; =MOD13_0221E78C mov r2, r0 mov r3, #0x6e bl MOD13_0223C1C4 ldr r1, _0221EAE8 ; =0x02242FE8 add sp, sp, #8 ldr r2, [r1] str r0, [r2, #0x10] ldr r0, [r1] strb r6, [r0, #0x16] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _0221EAC4: add r6, r6, #1 cmp r6, r7 blt _0221E9D0 _0221EAD0: ldr r0, _0221EAE8 ; =0x02242FE8 mvn r1, #0 ldr r0, [r0] strb r1, [r0, #0x16] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0221EAE8: .word 0x02242FE8 _0221EAEC: .word 0x0223EC7C _0221EAF0: .word 0x0223EC84 _0221EAF4: .word 0x0223EC9C _0221EAF8: .word 0x0223EC78 _0221EAFC: .word 0x0223EC8C _0221EB00: .word 0x0223EC86 _0221EB04: .word MOD13_0221E78C arm_func_start MOD13_0221EB08 MOD13_0221EB08: ; 0x0221EB08 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _0221EB5C ; =0x02242FE8 mvn r3, #0 ldr r2, [r1] strb r3, [r2, #0x16] ldr r3, [r1] ldrh r2, [r3, #0x14] add r2, r2, #1 strh r2, [r3, #0x14] ldr r3, [r1] ldrh r1, [r3, #0x14] cmp r1, #4 addlo sp, sp, #4 ldmloia sp!, {pc} ldr r1, _0221EB60 ; =MOD13_0221E978 mov r2, #0 strh r2, [r3, #0x14] bl MOD13_0223C130 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221EB5C: .word 0x02242FE8 _0221EB60: .word MOD13_0221E978 arm_func_start MOD13_0221EB64 MOD13_0221EB64: ; 0x0221EB64 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0221EBCC ; =0x02242FE8 mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #8] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r0, [sp, #4] sub r0, r0, #4 str r0, [sp, #4] bl MOD13_0221EBD8 ldr r0, _0221EBD0 ; =0x0223EC74 ldr r1, [sp, #4] ldrh r0, [r0, #2] cmp r1, r0 addgt sp, sp, #8 ldmgtia sp!, {r4, pc} bl MOD13_0221EBD8 ldr r1, _0221EBD4 ; =MOD13_0221EB08 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0221EBCC: .word 0x02242FE8 _0221EBD0: .word 0x0223EC74 _0221EBD4: .word MOD13_0221EB08 arm_func_start MOD13_0221EBD8 MOD13_0221EBD8: ; 0x0221EBD8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r2, _0221EC70 ; =0x02242FE8 ldr r3, _0221EC74 ; =0x0223EC7C ldr r6, [r2] ldr r2, _0221EC78 ; =0x0223EC84 ldrb r4, [r6, #0x17] ldrh r2, [r2, #2] ldr r1, _0221EC7C ; =0x0223EC74 ldrb r8, [r3, r4] mov r3, r0 add r5, r3, r2 ldrh r4, [r1, #2] ldrh r2, [r1] ldr r0, [r6, #8] mvn r1, #0 sub r7, r5, r4 bl MOD13_02239888 mov r6, #0 cmp r8, #0 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr sb, _0221EC70 ; =0x02242FE8 ldr r4, _0221EC80 ; =0x0223EC9C ldr sl, _0221EC78 ; =0x0223EC84 mvn r5, #0 _0221EC38: ldr r0, [sb] mov r1, r5 ldrb r2, [r0, #0x17] ldr r0, [r0, r6, lsl #2] mov r3, r7 add r2, r4, r2, lsl #1 ldrb r2, [r6, r2] mov r2, r2, lsl #2 ldrh r2, [sl, r2] bl MOD13_02239888 add r6, r6, #1 cmp r6, r8 blt _0221EC38 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0221EC70: .word 0x02242FE8 _0221EC74: .word 0x0223EC7C _0221EC78: .word 0x0223EC84 _0221EC7C: .word 0x0223EC74 _0221EC80: .word 0x0223EC9C arm_func_start MOD13_0221EC84 MOD13_0221EC84: ; 0x0221EC84 ldr r0, _0221EC98 ; =0x02242FE8 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x18] bx lr .align 2, 0 _0221EC98: .word 0x02242FE8 arm_func_start MOD13_0221EC9C MOD13_0221EC9C: ; 0x0221EC9C ldr r0, _0221ECB0 ; =0x02242FE8 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x18] bx lr .align 2, 0 _0221ECB0: .word 0x02242FE8 arm_func_start MOD13_0221ECB4 MOD13_0221ECB4: ; 0x0221ECB4 ldr r0, _0221ECDC ; =0x02242FE8 ldr r0, [r0] cmp r0, #0 moveq r0, #1 bxeq lr ldrb r0, [r0, #0x19] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _0221ECDC: .word 0x02242FE8 arm_func_start MOD13_0221ECE0 MOD13_0221ECE0: ; 0x0221ECE0 ldr r1, _0221ECF0 ; =0x02242FE8 ldr r1, [r1] strb r0, [r1, #0x16] bx lr .align 2, 0 _0221ECF0: .word 0x02242FE8 arm_func_start MOD13_0221ECF4 MOD13_0221ECF4: ; 0x0221ECF4 ldr r2, _0221ED10 ; =0x02242FE8 mvn r1, #0 ldr r3, [r2] ldrsb r2, [r3, #0x16] cmp r2, r1 streqb r0, [r3, #0x16] bx lr .align 2, 0 _0221ED10: .word 0x02242FE8 arm_func_start MOD13_0221ED14 MOD13_0221ED14: ; 0x0221ED14 ldr r0, _0221ED24 ; =0x02242FE8 ldr r0, [r0] ldrsb r0, [r0, #0x16] bx lr .align 2, 0 _0221ED24: .word 0x02242FE8 arm_func_start MOD13_0221ED28 MOD13_0221ED28: ; 0x0221ED28 ldr r0, _0221ED4C ; =0x02242FE8 mov r3, #1 ldr r2, [r0] ldr ip, _0221ED50 ; =MOD13_0223C130 strb r3, [r2, #0x19] ldr r0, [r0] ldr r1, _0221ED54 ; =MOD13_0221E914 ldr r0, [r0, #0xc] bx ip .align 2, 0 _0221ED4C: .word 0x02242FE8 _0221ED50: .word MOD13_0223C130 _0221ED54: .word MOD13_0221E914 arm_func_start MOD13_0221ED58 MOD13_0221ED58: ; 0x0221ED58 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r2, _0221EE44 ; =0x0223EC7C mov r4, r0 mov r0, #0x1c mov r1, #4 ldrb r8, [r2, r4] bl MOD13_0223AFE0 ldr sb, _0221EE48 ; =0x02242FE8 mvn r1, #1 str r0, [sb] strb r1, [r0, #0x16] ldr r0, [sb] cmp r8, #0 strb r4, [r0, #0x17] mov r7, #0 ble _0221EDE8 ldr r0, _0221EE4C ; =0x0223EC8C add r6, r0, r4, lsl #1 mov r5, r7 mov r4, #1 mvn sl, #0 _0221EDAC: ldrb r1, [r6] mov r0, r5 mov r2, r4 bl MOD13_02239E0C ldr r2, [sb] mov r1, sl str r0, [r2, r7, lsl #2] ldr r0, [sb] mov r2, r4 ldr r0, [r0, r7, lsl #2] bl MOD13_02239814 add r7, r7, #1 cmp r7, r8 add r6, r6, #1 blt _0221EDAC _0221EDE8: mov r1, #1 mov r2, r1 mov r0, #0 bl MOD13_02239E0C ldr r3, _0221EE48 ; =0x02242FE8 mvn r1, #0 ldr r4, [r3] mov r2, #1 str r0, [r4, #8] ldr r0, [r3] ldr r0, [r0, #8] bl MOD13_02239814 mov r0, #0xc0 bl MOD13_0221EBD8 mov r0, #0 ldr r1, _0221EE50 ; =MOD13_0221EB64 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0221EE48 ; =0x02242FE8 ldr r1, [r1] str r0, [r1, #0xc] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0221EE44: .word 0x0223EC7C _0221EE48: .word 0x02242FE8 _0221EE4C: .word 0x0223EC8C _0221EE50: .word MOD13_0221EB64 arm_func_start MOD13_0221EE54 MOD13_0221EE54: ; 0x0221EE54 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0221EE94 ; =0x02242FEC ldrb r0, [r0] cmp r0, #0 addeq sp, sp, #4 moveq r0, #0 ldmeqia sp!, {pc} mov r0, #1 bl MOD13_0223A65C ldr r0, _0221EE94 ; =0x02242FEC mov r1, #0 strb r1, [r0] mov r0, #1 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221EE94: .word 0x02242FEC arm_func_start MOD13_0221EE98 MOD13_0221EE98: ; 0x0221EE98 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x14 ldr r3, _0221EF58 ; =0x02242FEC mov r7, r0 ldrb r0, [r3] mov r6, r1 mov r5, r2 cmp r0, #0 addne sp, sp, #0x14 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _0221EF5C ; =0x0223F934 ldr r1, _0221EF60 ; =0x020C91C4 bl MOD13_0221F174 ldr r3, _0221EF64 ; =0x01920000 ldr r2, _0221EF68 ; =0x04001010 mov r0, #1 mov r1, #0 str r3, [r2] bl MOD13_0223A7F0 ldr r1, _0221EF6C ; =0x0224307C mov r4, r0 ldr r0, [r1] mov r1, r7 mov r2, r6 mov r3, r5 bl MOD13_0222352C mov r5, r0 bl MOD13_0221EF88 ldr r3, _0221EF70 ; =0x0223ECAC mov r1, #2 ldrh r2, [r3, #6] str r2, [sp] str r1, [sp, #4] str r0, [sp, #8] str r5, [sp, #0xc] mov r0, r4 ldrh r1, [r3] ldrh r2, [r3, #2] ldrh r3, [r3, #4] bl MOD13_0223A4F0 mov r0, r4 bl MOD13_0223A410 mov r0, #1 ldr r1, _0221EF58 ; =0x02242FEC strb r0, [r1] add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0221EF58: .word 0x02242FEC _0221EF5C: .word 0x0223F934 _0221EF60: .word 0x020C91C4 _0221EF64: .word 0x01920000 _0221EF68: .word 0x04001010 _0221EF6C: .word 0x0224307C _0221EF70: .word 0x0223ECAC arm_func_start MOD13_0221EF74 MOD13_0221EF74: ; 0x0221EF74 ldr r0, _0221EF84 ; =0x02242FEC mov r1, #0 strb r1, [r0] bx lr .align 2, 0 _0221EF84: .word 0x02242FEC arm_func_start MOD13_0221EF88 MOD13_0221EF88: ; 0x0221EF88 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02222F34 ldr r1, _0221EFA4 ; =0x0223ECCC ldr r0, [r1, r0, lsl #2] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221EFA4: .word 0x0223ECCC arm_func_start MOD13_0221EFA8 MOD13_0221EFA8: ; 0x0221EFA8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 mov r5, r0 mov r0, #0 mov r6, r1 mov r1, r0 bl MOD13_0223A7F0 ldr r1, _0221F05C ; =0x0224307C mov r4, r0 ldr r0, [r1] mov r1, r6 bl MOD13_02223568 mov r6, r0 bl MOD13_0221EF88 ldr r3, _0221F060 ; =0x0223ECC4 mov r1, #2 ldrh r2, [r3, #6] str r2, [sp] str r1, [sp, #4] str r0, [sp, #8] str r6, [sp, #0xc] ldrh r1, [r3] ldrh r2, [r3, #2] ldrh r3, [r3, #4] mov r0, r4 bl MOD13_0223A4F0 bl MOD13_02222F34 mov r6, r0 bl MOD13_02222F34 ldr r1, _0221F064 ; =0x00000209 mov r3, r0, lsl #2 str r1, [sp] ldr r1, _0221F068 ; =0x0223ECE4 ldr r2, _0221F06C ; =0x0223ECE6 str r5, [sp, #4] mov ip, r6, lsl #2 ldrh r2, [r2, r3] ldrh r1, [r1, ip] mov r0, r4 mov r3, #2 bl MOD13_0223A634 mov r0, r4 bl MOD13_0223A410 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0221F05C: .word 0x0224307C _0221F060: .word 0x0223ECC4 _0221F064: .word 0x00000209 _0221F068: .word 0x0223ECE4 _0221F06C: .word 0x0223ECE6 arm_func_start MOD13_0221F070 MOD13_0221F070: ; 0x0221F070 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r4, r0 mov r0, #0 mov r1, r0 bl MOD13_0223A7F0 ldr r1, _0221F0E4 ; =0x0224307C mov r5, r0 ldr r0, [r1] mov r1, r4 bl MOD13_02223568 mov r4, r0 bl MOD13_0221EF88 ldr r3, _0221F0E8 ; =0x0223ECBC mov r1, #2 ldrh r2, [r3, #6] str r2, [sp] str r1, [sp, #4] str r0, [sp, #8] str r4, [sp, #0xc] mov r0, r5 ldrh r1, [r3] ldrh r2, [r3, #2] ldrh r3, [r3, #4] bl MOD13_0223A4F0 mov r0, r5 bl MOD13_0223A410 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 _0221F0E4: .word 0x0224307C _0221F0E8: .word 0x0223ECBC arm_func_start MOD13_0221F0EC MOD13_0221F0EC: ; 0x0221F0EC stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 add r1, sp, #0 mov r0, #0 bl MOD13_02222F80 ldr r0, [sp] cmp r0, #1 addne sp, sp, #8 ldmneia sp!, {r4, pc} mov r0, r4 bl MOD13_0221ED58 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_start MOD13_0221F124 MOD13_0221F124: ; 0x0221F124 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 add r0, sp, #0 mov r1, #0 bl MOD13_02222F80 ldr r0, [sp] cmp r0, #1 bne _0221F158 mov r0, r4 bl MOD13_02234DC0 add sp, sp, #8 ldmia sp!, {r4, pc} _0221F158: cmp r0, #2 addne sp, sp, #8 ldmneia sp!, {r4, pc} mov r0, r4 bl MOD13_02234820 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_start MOD13_0221F174 MOD13_0221F174: ; 0x0221F174 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r1 bl MOD13_0221F1BC add r1, sp, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, [sp] mov r4, r0 bl DC_FlushRange ldr r2, [sp] mov r0, r4 mov r1, #0 blx r5 mov r0, r4 bl MOD13_0223939C add sp, sp, #4 ldmia sp!, {r4, r5, pc} arm_func_start MOD13_0221F1BC MOD13_0221F1BC: ; 0x0221F1BC stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0221F214 ; =0x02242FF0 mov r1, r4 mov r2, #0x3f bl strncpy ldrb r0, [r4, #5] cmp r0, #0x78 ldreq r0, _0221F214 ; =0x02242FF0 ldmeqia sp!, {r4, pc} bl MOD13_02222F34 ldrb r1, [r4, #5] cmp r1, #0x79 bne _0221F200 cmp r0, #0 ldrne r0, _0221F214 ; =0x02242FF0 ldmneia sp!, {r4, pc} _0221F200: ldr r1, _0221F218 ; =0x0223ECB4 ldrb r1, [r1, r0] ldr r0, _0221F214 ; =0x02242FF0 strb r1, [r0, #5] ldmia sp!, {r4, pc} .align 2, 0 _0221F214: .word 0x02242FF0 _0221F218: .word 0x0223ECB4 arm_func_start MOD13_0221F21C MOD13_0221F21C: ; 0x0221F21C stmdb sp!, {r4, r5, r6, lr} mov r6, #0 ldr r4, _0221F258 ; =0x02243030 mov r5, r6 _0221F22C: ldr r0, [r4] ldr r0, [r0, r6, lsl #2] cmp r0, #0 beq _0221F248 bl MOD13_02239AE8 ldr r0, [r4] str r5, [r0, r6, lsl #2] _0221F248: add r6, r6, #1 cmp r6, #4 blt _0221F22C ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0221F258: .word 0x02243030 arm_func_start MOD13_0221F25C MOD13_0221F25C: ; 0x0221F25C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sl, r0 mov fp, r1 str r2, [sp] str r3, [sp, #4] mov sb, #6 bl MOD13_0221F21C mov r8, #0 ldr r4, _0221F344 ; =0x02243030 mov r7, r8 mov r6, #1 mvn r5, #0 _0221F290: mov r0, r7 mov r1, sb mov r2, r6 bl MOD13_02239E0C ldr r2, [r4] mov r1, r5 str r0, [r2, r8, lsl #2] ldr r0, [r4] mov r2, r6 ldr r0, [r0, r8, lsl #2] bl MOD13_02239814 add r8, r8, #1 cmp r8, #4 add sb, sb, #1 blt _0221F290 ldr r0, _0221F344 ; =0x02243030 ldr r3, [sp] ldr r0, [r0] mov r2, sl ldr r0, [r0] mvn r1, #0 bl MOD13_02239888 ldr r0, _0221F344 ; =0x02243030 ldr r3, [sp] ldr r0, [r0] mov r2, fp ldr r0, [r0, #4] mvn r1, #0 bl MOD13_02239888 ldr r0, _0221F344 ; =0x02243030 ldr r3, [sp, #4] ldr r0, [r0] mov r2, sl ldr r0, [r0, #8] mvn r1, #0 bl MOD13_02239888 ldr r0, _0221F344 ; =0x02243030 ldr r3, [sp, #4] ldr r0, [r0] mov r2, fp ldr r0, [r0, #0xc] mvn r1, #0 bl MOD13_02239888 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0221F344: .word 0x02243030 arm_func_start MOD13_0221F348 MOD13_0221F348: ; 0x0221F348 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #4 mov r4, r0 mov fp, r1 str r2, [sp] mov sl, r3 bl MOD13_0221F21C ldr r0, _0221F3FC ; =0x0223ECFC mov sb, #0 add r8, r0, r4, lsl #1 ldr r4, _0221F400 ; =0x02243030 mov r7, sb mov r6, #1 mvn r5, #0 _0221F380: ldrb r1, [r8] mov r0, r7 mov r2, r6 bl MOD13_02239E0C ldr r2, [r4] mov r1, r5 str r0, [r2, sb, lsl #2] ldr r0, [r4] mov r2, r6 ldr r0, [r0, sb, lsl #2] bl MOD13_02239814 add sb, sb, #1 cmp sb, #2 add r8, r8, #1 blt _0221F380 ldr r0, _0221F400 ; =0x02243030 mov r2, fp ldr r0, [r0] mov r3, sl ldr r0, [r0] mvn r1, #0 bl MOD13_02239888 ldr r0, _0221F400 ; =0x02243030 ldr r2, [sp] ldr r0, [r0] mov r3, sl ldr r0, [r0, #4] mvn r1, #0 bl MOD13_02239888 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0221F3FC: .word 0x0223ECFC _0221F400: .word 0x02243030 arm_func_start MOD13_0221F404 MOD13_0221F404: ; 0x0221F404 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221F21C ldr r0, _0221F420 ; =0x02243030 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221F420: .word 0x02243030 arm_func_start MOD13_0221F424 MOD13_0221F424: ; 0x0221F424 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x10 mov r1, #4 bl MOD13_0223AFE0 ldr r1, _0221F448 ; =0x02243030 str r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221F448: .word 0x02243030 arm_func_start MOD13_0221F44C MOD13_0221F44C: ; 0x0221F44C stmdb sp!, {r4, lr} ldr r1, _0221F488 ; =0x02243034 mov r4, r0 ldr r0, [r1] mov r1, #0xc0 bl DC_FlushRange ldr r0, _0221F488 ; =0x02243034 mov r1, #0 ldr r0, [r0] mov r2, #0xc0 bl GX_LoadBG1Scr mov r1, r4 mov r0, #1 bl MOD13_0223C110 ldmia sp!, {r4, pc} .align 2, 0 _0221F488: .word 0x02243034 arm_func_start MOD13_0221F48C MOD13_0221F48C: ; 0x0221F48C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02234164 ldrb r0, [r0, #0xf4] add r0, r0, #2 bl MOD13_0221F4CC add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0221F4AC MOD13_0221F4AC: ; 0x0221F4AC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02234164 ldrb r0, [r0, #0xf4] add r0, r0, #5 bl MOD13_0221F4CC add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0221F4CC MOD13_0221F4CC: ; 0x0221F4CC stmdb sp!, {r4, lr} ldr r1, _0221F51C ; =0x0223FB18 ldr r0, [r1, r0, lsl #2] bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _0221F520 ; =0x02243034 mov r4, r0 ldr r1, [r1] mov r2, #0xc0 bl MIi_CpuCopyFast mov r0, r4 bl MOD13_0223939C mov r0, #1 ldr r1, _0221F524 ; =MOD13_0221F44C mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 ldmia sp!, {r4, pc} .align 2, 0 _0221F51C: .word 0x0223FB18 _0221F520: .word 0x02243034 _0221F524: .word MOD13_0221F44C arm_func_start MOD13_0221F528 MOD13_0221F528: ; 0x0221F528 ldr ip, _0221F534 ; =MOD13_0223AF90 ldr r0, _0221F538 ; =0x02243034 bx ip .align 2, 0 _0221F534: .word MOD13_0223AF90 _0221F538: .word 0x02243034 arm_func_start MOD13_0221F53C MOD13_0221F53C: ; 0x0221F53C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0xc0 mov r1, #4 bl MOD13_0223B004 ldr r2, _0221F5B0 ; =0x02243034 ldr r1, _0221F5B4 ; =0x020C8E1C str r0, [r2] ldr r0, _0221F5B8 ; =0x0223FB68 bl MOD13_0221F174 bl MOD13_02222F1C cmp r0, #0 beq _0221F580 cmp r0, #1 beq _0221F598 add sp, sp, #4 ldmia sp!, {pc} _0221F580: ldr r0, _0221F5BC ; =0x0223FB18 ldr r1, _0221F5C0 ; =0x020C915C ldr r0, [r0] bl MOD13_0221F174 add sp, sp, #4 ldmia sp!, {pc} _0221F598: ldr r0, _0221F5BC ; =0x0223FB18 ldr r1, _0221F5C0 ; =0x020C915C ldr r0, [r0, #4] bl MOD13_0221F174 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221F5B0: .word 0x02243034 _0221F5B4: .word 0x020C8E1C _0221F5B8: .word 0x0223FB68 _0221F5BC: .word 0x0223FB18 _0221F5C0: .word 0x020C915C arm_func_start MOD13_0221F5C4 MOD13_0221F5C4: ; 0x0221F5C4 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r0, _0221F67C ; =0x04000208 mov r4, #0 ldrh r5, [r0] strh r4, [r0] bl WM_GetAllowedChannel cmp r0, #0x8000 beq _0221F5F0 bl WM_GetLinkLevel mov r4, r0 _0221F5F0: ldr r2, _0221F67C ; =0x04000208 ldr r1, _0221F680 ; =0x02243038 ldrh r0, [r2] ldr r3, _0221F684 ; =0x0223ED08 mov r0, #0 strh r5, [r2] ldr r2, [r1] ldrsb r1, [r2, #8] ldr r2, [r2] add r1, r3, r1, lsl #2 ldrb r1, [r4, r1] bl MOD13_02239E8C ldr r0, _0221F688 ; =0x0223ED04 ldr r2, _0221F680 ; =0x02243038 ldrh r3, [r0, #2] ldr r1, [r2] ldrh ip, [r0] ldr lr, [r1] ldr r0, _0221F68C ; =0x000001FF ldr r4, [lr] ldr r1, _0221F690 ; =0xFE00FF00 and r3, r3, #0xff and r1, r4, r1 and r4, ip, r0 orr r0, r1, r3 orr r0, r0, r4, lsl #16 str r0, [lr] ldr r0, [r2] ldr r1, [r0] ldrh r0, [r1, #4] bic r0, r0, #0xc00 orr r0, r0, #0x800 strh r0, [r1, #4] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0221F67C: .word 0x04000208 _0221F680: .word 0x02243038 _0221F684: .word 0x0223ED08 _0221F688: .word 0x0223ED04 _0221F68C: .word 0x000001FF _0221F690: .word 0xFE00FF00 arm_func_start MOD13_0221F694 MOD13_0221F694: ; 0x0221F694 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0221F6DC ; =0x02243038 ldr r0, [r0] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r1, [r0, #4] mov r0, #0 bl MOD13_0223C104 ldr r0, _0221F6DC ; =0x02243038 ldr r0, [r0] ldr r0, [r0] bl MOD13_0223B974 ldr r0, _0221F6DC ; =0x02243038 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221F6DC: .word 0x02243038 arm_func_start MOD13_0221F6E0 MOD13_0221F6E0: ; 0x0221F6E0 stmdb sp!, {r4, lr} ldr r1, _0221F7A0 ; =0x02243038 mov r4, r0 ldr r0, [r1] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, #0xc mov r1, #4 bl MOD13_0223B004 ldr r1, _0221F7A0 ; =0x02243038 ldr r2, _0221F7A4 ; =0x0223ED08 str r0, [r1] strb r4, [r0, #8] ldrb r1, [r2, r4, lsl #2] mov r0, #0 bl MOD13_02239E54 ldr r3, _0221F7A0 ; =0x02243038 ldr r2, _0221F7A8 ; =0x0223ED04 ldr r4, [r3] ldr r1, _0221F7AC ; =0xFE00FF00 str r0, [r4] ldr r4, [r3] ldrh r0, [r2, #2] ldr r4, [r4] ldrh lr, [r2] ldr ip, [r4] and r2, r0, #0xff and r1, ip, r1 ldr r0, _0221F7B0 ; =0x000001FF orr r1, r1, r2 and r0, lr, r0 orr r0, r1, r0, lsl #16 str r0, [r4] ldr r1, [r3] mov r0, #0 ldr lr, [r1] ldr r1, _0221F7B4 ; =MOD13_0221F5C4 ldrh ip, [lr, #4] mov r2, r0 mov r3, #0x78 bic ip, ip, #0xc00 orr ip, ip, #0x800 strh ip, [lr, #4] bl MOD13_0223C1C4 ldr r1, _0221F7A0 ; =0x02243038 ldr r1, [r1] str r0, [r1, #4] ldmia sp!, {r4, pc} .align 2, 0 _0221F7A0: .word 0x02243038 _0221F7A4: .word 0x0223ED08 _0221F7A8: .word 0x0223ED04 _0221F7AC: .word 0xFE00FF00 _0221F7B0: .word 0x000001FF _0221F7B4: .word MOD13_0221F5C4 arm_func_start MOD13_0221F7B8 MOD13_0221F7B8: ; 0x0221F7B8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r1, r0 mov r0, #0 bl MOD13_0223C110 mov r7, #0 ldr r8, _0221F894 ; =0x0224303C mov r5, r7 _0221F7D4: mov r6, r5 mov r4, r7, lsl #4 _0221F7DC: ldr r0, [r8] add r0, r4, r0 ldr r0, [r0, r6, lsl #2] bl MOD13_0223A978 cmp r7, #0 bne _0221F804 ldr r0, [r8] add r0, r0, r6, lsl #2 ldr r0, [r0, #0x104] bl MOD13_02239AE8 _0221F804: add r6, r6, #1 cmp r6, #4 blt _0221F7DC add r7, r7, #1 cmp r7, #3 blt _0221F7D4 ldr r4, _0221F894 ; =0x0224303C mov r5, #0 _0221F824: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0xfc] bl MOD13_02239AE8 add r5, r5, #1 cmp r5, #2 blt _0221F824 ldr r4, _0221F894 ; =0x0224303C mov r5, #0 _0221F848: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0xec] bl MOD13_0223B974 add r5, r5, #1 cmp r5, #4 blt _0221F848 ldr r4, _0221F894 ; =0x0224303C mov r5, #0 _0221F86C: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x30] bl MOD13_0223B974 add r5, r5, #1 cmp r5, #0x2f blt _0221F86C ldr r0, _0221F894 ; =0x0224303C bl MOD13_0223AF90 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0221F894: .word 0x0224303C arm_func_start MOD13_0221F898 MOD13_0221F898: ; 0x0221F898 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0221F908 ; =0x0224303C ldr r2, _0221F90C ; =0x01FF0000 ldr ip, [r1] mov r4, r0 ldr r3, [ip, #0x30] mov r1, #0 ldr r0, [r3] and r0, r0, r2 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [r3] and r0, r0, #0xff str r0, [sp, #4] add r2, r0, #0xc str r2, [sp, #4] ldrb r0, [ip, #0x11d] bl MOD13_022201DC ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _0221F910 ; =MOD13_0221F7B8 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0221F908: .word 0x0224303C _0221F90C: .word 0x01FF0000 _0221F910: .word MOD13_0221F7B8 arm_func_start MOD13_0221F914 MOD13_0221F914: ; 0x0221F914 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0221F984 ; =0x0224303C ldr r2, _0221F988 ; =0x01FF0000 ldr ip, [r1] mov r4, r0 ldr r3, [ip, #0x60] mov r1, #1 ldr r0, [r3] and r0, r0, r2 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [r3] and r0, r0, #0xff str r0, [sp, #4] add r2, r0, #0xc str r2, [sp, #4] ldrb r0, [ip, #0x11d] bl MOD13_022201DC ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _0221F98C ; =MOD13_0221F898 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0221F984: .word 0x0224303C _0221F988: .word 0x01FF0000 _0221F98C: .word MOD13_0221F898 arm_func_start MOD13_0221F990 MOD13_0221F990: ; 0x0221F990 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0221FA00 ; =0x0224303C ldr r2, _0221FA04 ; =0x01FF0000 ldr ip, [r1] mov r4, r0 ldr r3, [ip, #0x90] mov r1, #2 ldr r0, [r3] and r0, r0, r2 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [r3] and r0, r0, #0xff str r0, [sp, #4] add r2, r0, #0xc str r2, [sp, #4] ldrb r0, [ip, #0x11d] bl MOD13_022201DC ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _0221FA08 ; =MOD13_0221F914 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0221FA00: .word 0x0224303C _0221FA04: .word 0x01FF0000 _0221FA08: .word MOD13_0221F914 arm_func_start MOD13_0221FA0C MOD13_0221FA0C: ; 0x0221FA0C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0221FA7C ; =0x0224303C ldr r2, _0221FA80 ; =0x01FF0000 ldr ip, [r1] mov r4, r0 ldr r3, [ip, #0xc0] mov r1, #3 ldr r0, [r3] and r0, r0, r2 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [r3] and r0, r0, #0xff str r0, [sp, #4] add r2, r0, #0xc str r2, [sp, #4] ldrb r0, [ip, #0x11d] bl MOD13_022201DC ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _0221FA84 ; =MOD13_0221F990 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0221FA7C: .word 0x0224303C _0221FA80: .word 0x01FF0000 _0221FA84: .word MOD13_0221F990 arm_func_start MOD13_0221FA88 MOD13_0221FA88: ; 0x0221FA88 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0221FB08 ; =0x0224303C mov r4, r0 ldr r0, [r1] mov r1, #0 ldr r0, [r0, #0xfc] bl MOD13_02239ADC ldr r3, [r0] ldr r1, _0221FB0C ; =0x01FF0000 ldr r2, _0221FB08 ; =0x0224303C and r1, r3, r1 mov r1, r1, lsr #0x10 str r1, [sp] ldr r1, [r0] ldr r0, [r2] and r1, r1, #0xff str r1, [sp, #4] add r2, r1, #0xc str r2, [sp, #4] ldrb r0, [r0, #0x11d] mov r1, #4 bl MOD13_022201DC ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _0221FB10 ; =MOD13_0221FA0C mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0221FB08: .word 0x0224303C _0221FB0C: .word 0x01FF0000 _0221FB10: .word MOD13_0221FA0C arm_func_start MOD13_0221FB14 MOD13_0221FB14: ; 0x0221FB14 stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _0221FF90 ; =0x0224303C ldr r3, _0221FF94 ; =0x0223EF08 ldr ip, [r2] add r1, ip, #0x100 ldrsb lr, [r1, #0x21] add r1, r3, lr, lsl #2 ldrsb r1, [r0, r1] strb r1, [ip, #0x121] ldr r1, [r2] add r2, r1, #0x100 ldrsb r2, [r2, #0x21] cmp r2, #0x2e bne _0221FB5C cmp r0, #3 streqb lr, [r1, #0x120] beq _0221FF7C _0221FB5C: cmp r2, #0x33 bne _0221FB7C cmp r0, #1 beq _0221FB74 cmp r0, #3 bne _0221FB7C _0221FB74: strb lr, [r1, #0x120] b _0221FF7C _0221FB7C: cmp r2, #0x34 bne _0221FBA0 cmp r0, #1 beq _0221FB94 cmp r0, #3 bne _0221FBA0 _0221FB94: cmp lr, #0x2e strneb lr, [r1, #0x120] b _0221FF7C _0221FBA0: mvn r0, #0 cmp r2, r0 bne _0221FBDC add r0, r1, #0x100 ldrsb r0, [r0, #0x20] cmp r0, #0x23 beq _0221FBC4 cmp r0, #0x32 bne _0221FBD0 _0221FBC4: mov r0, #0x23 strb r0, [r1, #0x121] b _0221FF7C _0221FBD0: mov r0, #0x22 strb r0, [r1, #0x121] b _0221FF7C _0221FBDC: mvn r0, #1 cmp r2, r0 bne _0221FCA4 add r0, r1, #0x100 ldrsb r0, [r0, #0x20] cmp r0, #0x26 bgt _0221FC38 cmp r0, #0x26 bge _0221FC74 cmp r0, #5 bgt _0221FC2C cmp r0, #0 addge pc, pc, r0, lsl #2 b _0221FC98 _0221FC14: ; jump table b _0221FC5C ; case 0 b _0221FC68 ; case 1 b _0221FC98 ; case 2 b _0221FC74 ; case 3 b _0221FC80 ; case 4 b _0221FC8C ; case 5 _0221FC2C: cmp r0, #0x24 beq _0221FC68 b _0221FC98 _0221FC38: cmp r0, #0x28 bgt _0221FC54 cmp r0, #0x28 bge _0221FC8C cmp r0, #0x27 beq _0221FC80 b _0221FC98 _0221FC54: cmp r0, #0x31 bne _0221FC98 _0221FC5C: mov r0, #0x31 strb r0, [r1, #0x121] b _0221FF7C _0221FC68: mov r0, #0x24 strb r0, [r1, #0x121] b _0221FF7C _0221FC74: mov r0, #0x26 strb r0, [r1, #0x121] b _0221FF7C _0221FC80: mov r0, #0x27 strb r0, [r1, #0x121] b _0221FF7C _0221FC8C: mov r0, #0x28 strb r0, [r1, #0x121] b _0221FF7C _0221FC98: mov r0, #0x25 strb r0, [r1, #0x121] b _0221FF7C _0221FCA4: mvn r0, #2 cmp r2, r0 bne _0221FDA8 add r0, r1, #0x100 ldrsb r0, [r0, #0x20] cmp r0, #0x23 bgt _0221FD18 cmp r0, #0x23 bge _0221FD90 cmp r0, #0xb bgt _0221FD0C cmp r0, #0 addge pc, pc, r0, lsl #2 b _0221FD9C _0221FCDC: ; jump table b _0221FD9C ; case 0 b _0221FD9C ; case 1 b _0221FD9C ; case 2 b _0221FD9C ; case 3 b _0221FD9C ; case 4 b _0221FD9C ; case 5 b _0221FD60 ; case 6 b _0221FD6C ; case 7 b _0221FD9C ; case 8 b _0221FD78 ; case 9 b _0221FD84 ; case 10 b _0221FD90 ; case 11 _0221FD0C: cmp r0, #0x22 beq _0221FD90 b _0221FD9C _0221FD18: cmp r0, #0x2a bgt _0221FD34 cmp r0, #0x2a bge _0221FD6C cmp r0, #0x29 beq _0221FD60 b _0221FD9C _0221FD34: cmp r0, #0x32 bgt _0221FD9C cmp r0, #0x2c blt _0221FD9C cmp r0, #0x2c beq _0221FD78 cmp r0, #0x2d beq _0221FD84 cmp r0, #0x32 beq _0221FD90 b _0221FD9C _0221FD60: mov r0, #0x29 strb r0, [r1, #0x121] b _0221FF7C _0221FD6C: mov r0, #0x2a strb r0, [r1, #0x121] b _0221FF7C _0221FD78: mov r0, #0x2c strb r0, [r1, #0x121] b _0221FF7C _0221FD84: mov r0, #0x2d strb r0, [r1, #0x121] b _0221FF7C _0221FD90: mov r0, #0x2e strb r0, [r1, #0x121] b _0221FF7C _0221FD9C: mov r0, #0x2b strb r0, [r1, #0x121] b _0221FF7C _0221FDA8: mvn r0, #3 cmp r2, r0 bne _0221FE70 add r0, r1, #0x100 ldrsb r0, [r0, #0x20] cmp r0, #0x26 bgt _0221FE04 cmp r0, #0x26 bge _0221FE40 cmp r0, #5 bgt _0221FDF8 cmp r0, #0 addge pc, pc, r0, lsl #2 b _0221FE64 _0221FDE0: ; jump table b _0221FE28 ; case 0 b _0221FE34 ; case 1 b _0221FE64 ; case 2 b _0221FE40 ; case 3 b _0221FE4C ; case 4 b _0221FE58 ; case 5 _0221FDF8: cmp r0, #0x24 beq _0221FE34 b _0221FE64 _0221FE04: cmp r0, #0x28 bgt _0221FE20 cmp r0, #0x28 bge _0221FE58 cmp r0, #0x27 beq _0221FE4C b _0221FE64 _0221FE20: cmp r0, #0x31 bne _0221FE64 _0221FE28: mov r0, #0 strb r0, [r1, #0x121] b _0221FF7C _0221FE34: mov r0, #1 strb r0, [r1, #0x121] b _0221FF7C _0221FE40: mov r0, #3 strb r0, [r1, #0x121] b _0221FF7C _0221FE4C: mov r0, #4 strb r0, [r1, #0x121] b _0221FF7C _0221FE58: mov r0, #5 strb r0, [r1, #0x121] b _0221FF7C _0221FE64: mov r0, #2 strb r0, [r1, #0x121] b _0221FF7C _0221FE70: mvn r0, #4 cmp r2, r0 bne _0221FF7C add r0, r1, #0x100 ldrsb r0, [r0, #0x20] cmp r0, #0x23 bgt _0221FEE4 cmp r0, #0x23 bge _0221FF68 cmp r0, #0xb bgt _0221FED8 cmp r0, #0 addge pc, pc, r0, lsl #2 b _0221FF74 _0221FEA8: ; jump table b _0221FF74 ; case 0 b _0221FF74 ; case 1 b _0221FF74 ; case 2 b _0221FF74 ; case 3 b _0221FF74 ; case 4 b _0221FF74 ; case 5 b _0221FF2C ; case 6 b _0221FF38 ; case 7 b _0221FF74 ; case 8 b _0221FF44 ; case 9 b _0221FF50 ; case 10 b _0221FF5C ; case 11 _0221FED8: cmp r0, #0x22 beq _0221FF5C b _0221FF74 _0221FEE4: cmp r0, #0x2a bgt _0221FF00 cmp r0, #0x2a bge _0221FF38 cmp r0, #0x29 beq _0221FF2C b _0221FF74 _0221FF00: cmp r0, #0x32 bgt _0221FF74 cmp r0, #0x2c blt _0221FF74 cmp r0, #0x2c beq _0221FF44 cmp r0, #0x2d beq _0221FF50 cmp r0, #0x32 beq _0221FF68 b _0221FF74 _0221FF2C: mov r0, #6 strb r0, [r1, #0x121] b _0221FF7C _0221FF38: mov r0, #7 strb r0, [r1, #0x121] b _0221FF7C _0221FF44: mov r0, #9 strb r0, [r1, #0x121] b _0221FF7C _0221FF50: mov r0, #0xa strb r0, [r1, #0x121] b _0221FF7C _0221FF5C: mov r0, #0xb strb r0, [r1, #0x121] b _0221FF7C _0221FF68: mov r0, #0x32 strb r0, [r1, #0x121] b _0221FF7C _0221FF74: mov r0, #8 strb r0, [r1, #0x121] _0221FF7C: bl MOD13_0221FF98 mov r0, #8 bl MOD13_0223424C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0221FF90: .word 0x0224303C _0221FF94: .word 0x0223EF08 arm_func_start MOD13_0221FF98 MOD13_0221FF98: ; 0x0221FF98 stmdb sp!, {r4, lr} ldr r0, _02220068 ; =0x0224303C ldr r1, [r0] add r0, r1, #0x100 ldrsb r0, [r0, #0x21] sub r0, r0, #0x2f cmp r0, #5 addls pc, pc, r0, lsl #2 b _0221FFFC _0221FFBC: ; jump table b _0221FFD4 ; case 0 b _0221FFDC ; case 1 b _0221FFE4 ; case 2 b _0221FFEC ; case 3 b _0221FFF4 ; case 4 b _0221FFF4 ; case 5 _0221FFD4: mov r4, #0x42 b _02220000 _0221FFDC: mov r4, #0x41 b _02220000 _0221FFE4: mov r4, #0x43 b _02220000 _0221FFEC: mov r4, #0x41 b _02220000 _0221FFF4: mov r4, #0x45 b _02220000 _0221FFFC: mov r4, #0x40 _02220000: ldr r0, [r1, #0x114] mov r1, #0 bl MOD13_02239ADC mov r2, r0 mov r1, r4 mov r0, #0 bl MOD13_02239E8C ldr r0, _02220068 ; =0x0224303C mvn r1, #0 ldr r0, [r0] mov r2, #2 ldr r0, [r0, #0x114] bl MOD13_02239814 ldr r0, _02220068 ; =0x0224303C ldr r2, _0222006C ; =0x0223EE34 ldr r3, [r0] mvn r1, #0 add r0, r3, #0x100 ldrsb ip, [r0, #0x21] ldr r0, [r3, #0x114] ldr r3, _02220070 ; =0x0223EE36 mov ip, ip, lsl #2 ldrh r2, [r2, ip] ldrh r3, [r3, ip] bl MOD13_02239888 ldmia sp!, {r4, pc} .align 2, 0 _02220068: .word 0x0224303C _0222006C: .word 0x0223EE34 _02220070: .word 0x0223EE36 arm_func_start MOD13_02220074 MOD13_02220074: ; 0x02220074 stmdb sp!, {lr} sub sp, sp, #4 cmp r0, #0 addlt sp, sp, #4 ldmltia sp!, {pc} cmp r0, #0x2f bge _022200CC ldr r2, _02220144 ; =0x0224303C ldr r3, _02220148 ; =0x0223ED10 ldr r2, [r2] add sp, sp, #4 add r0, r2, r0, lsl #2 ldr ip, [r0, #0x30] ldr r0, [ip] bic r0, r0, #0xc00 str r0, [ip] ldrh r2, [ip, #4] ldrb r0, [r3, r1] bic r1, r2, #0xf000 orr r0, r1, r0, lsl #12 strh r0, [ip, #4] ldmia sp!, {pc} _022200CC: sub r3, r0, #0x2f cmp r3, #4 bge _02220114 ldr r0, _02220144 ; =0x0224303C ldr r2, _02220148 ; =0x0223ED10 ldr r0, [r0] add sp, sp, #4 add r0, r0, r3, lsl #2 ldr ip, [r0, #0xec] ldr r0, [ip] bic r0, r0, #0xc00 str r0, [ip] ldrh r3, [ip, #4] ldrb r0, [r2, r1] bic r1, r3, #0xf000 orr r0, r1, r0, lsl #12 strh r0, [ip, #4] ldmia sp!, {pc} _02220114: ldr r2, _02220144 ; =0x0224303C ldr r3, _0222014C ; =0x0223ED14 ldr r2, [r2] sub r0, r0, #0x33 add r0, r2, r0, lsl #2 ldrb r3, [r3, r1] ldr r0, [r0, #0xfc] mvn r1, #0 mov r2, #0 bl MOD13_02239994 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02220144: .word 0x0224303C _02220148: .word 0x0223ED10 _0222014C: .word 0x0223ED14 arm_func_start MOD13_02220150 MOD13_02220150: ; 0x02220150 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #4 ldr r1, _022201D4 ; =0x0224303C mov r6, #0 ldr r1, [r1] mov r8, r0 mov r5, r6 mov r7, r6 mov r4, r6 strb r8, [r1, #0x11d] ldr sb, _022201D8 ; =0x0223ED78 _0222017C: add r0, sb, r4, lsl #2 ldrh r2, [r0, #2] mov r0, r8 mov r1, r7 bl MOD13_022201DC add r7, r7, #1 cmp r7, #4 add r4, r4, #0xc blt _0222017C cmp r8, #2 moveq r6, #1 beq _022201B4 cmp r8, #1 moveq r5, #1 _022201B4: mov r1, r6 mov r0, #0x2f bl MOD13_02220074 mov r1, r5 mov r0, #0x30 bl MOD13_02220074 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _022201D4: .word 0x0224303C _022201D8: .word 0x0223ED78 arm_func_start MOD13_022201DC MOD13_022201DC: ; 0x022201DC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c ldr r4, _02220460 ; =0x0223ED38 ldr lr, _02220464 ; =0x0223ED40 ldrb r5, [r4, #4] ldrb sb, [r4] ldrb r8, [r4, #1] strb r5, [sp, #0xc] mov r5, r1 mov r1, #0xc mul r1, r5, r1 ldrb r7, [r4, #2] ldrb r6, [r4, #3] strb sb, [sp, #8] str r1, [sp, #4] ldrb ip, [lr] ldrb sl, [lr, #1] ldrb r4, [lr, #2] ldrb fp, [lr, #3] ldrb sb, [lr, #4] ldr r3, _02220468 ; =0x0223ED30 strb r8, [sp, #9] strb r7, [sp, #0xa] strb r6, [sp, #0xb] add r1, sp, #8 ldrb lr, [r3] ldrb r8, [r3, #1] ldrb r7, [r3, #2] ldrb r6, [r3, #3] ldrb r3, [r3, #4] ldrb r1, [r1, r5] strb sl, [sp, #0xe] strb r4, [sp, #0xf] strb sb, [sp, #0x11] strb ip, [sp, #0xd] mov r4, r2 ldr sl, [sp, #4] strb fp, [sp, #0x10] strb lr, [sp, #0x12] strb r8, [sp, #0x13] strb r7, [sp, #0x14] strb r6, [sp, #0x15] strb r3, [sp, #0x16] cmp r1, #0 mov sb, #0 ble _0222030C add r1, sp, #8 ldr r2, _0222046C ; =0x0224303C ldr r3, _02220470 ; =0x0223ED78 ldr fp, _02220474 ; =0xFE00FF00 and r8, r4, #0xff add r7, r1, r5 _022202AC: ldr r1, [r2] mov r6, sl, lsl #2 add r1, r1, sl, lsl #2 ldr lr, [r1, #0x30] ldr r1, _02220478 ; =0xC1FFFCFF ldr ip, [lr] add sb, sb, #1 and r1, ip, r1 str r1, [lr] ldr r1, [r2] ldrh ip, [r3, r6] add r1, r1, sl, lsl #2 ldr r6, [r1, #0x30] ldr r1, _0222047C ; =0x000001FF add sl, sl, #1 and r1, ip, r1 ldr ip, [r6] and ip, ip, fp orr ip, ip, r8 orr r1, ip, r1, lsl #16 str r1, [r6] ldrb r1, [r7] cmp sb, r1 blt _022202AC _0222030C: cmp r5, #4 bge _0222034C ldr r1, _0222046C ; =0x0224303C mov r2, #2 ldr r6, [r1] ldr r1, [sp, #4] str r2, [sp] add r0, r6, r0, lsl #4 ldr r3, _02220470 ; =0x0223ED78 mov r1, r1, lsl #2 add r2, r6, r5, lsl #2 ldrh r1, [r3, r1] ldr r3, [r2, #0x104] ldr r0, [r0, r5, lsl #2] mov r2, r4 bl MOD13_0223A440 _0222034C: add r0, r5, #3 mov r1, #4 bl FX_ModS32 add r8, sp, #0xd ldrb r1, [r8, r5] mov r2, #0 cmp r1, #0 ble _022203E0 ldr r3, _02220480 ; =0x0223ED58 mov r1, r0, lsl #2 ldrh r3, [r3, r1] ldr r0, _0222047C ; =0x000001FF and r7, r4, #0xff and r0, r3, r0 mov r6, r0, lsl #0x10 add r3, r8, r5 ldr sl, _0222046C ; =0x0224303C ldr r8, _02220478 ; =0xC1FFFCFF ldr sb, _02220474 ; =0xFE00FF00 _02220398: ldr r0, [sl] add r2, r2, #1 add r0, r1, r0 ldr fp, [r0, #0xec] ldr r0, [fp] and r0, r0, r8 str r0, [fp] ldr r0, [sl] add r0, r1, r0 ldr r0, [r0, #0xec] ldr fp, [r0] and fp, fp, sb orr fp, fp, r7 orr fp, r6, fp str fp, [r0] ldrb r0, [r3] cmp r2, r0 blt _02220398 _022203E0: add r1, sp, #0x12 ldrb r0, [r1, r5] mov r8, #0 cmp r0, #0 addle sp, sp, #0x1c ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add sb, r1, r5 ldr sl, _0222046C ; =0x0224303C ldr r5, _02220484 ; =0x0223ED50 mov r6, r8 mvn r7, #0 _0222040C: ldr r0, [sl] mov r1, r7 add r0, r0, r8, lsl #2 ldr r0, [r0, #0xfc] mov r2, r6 mov r3, r6 bl MOD13_02239A1C ldr r0, [sl] mov r1, r8, lsl #2 add r0, r0, r8, lsl #2 ldrh r2, [r5, r1] ldr r0, [r0, #0xfc] mov r1, r7 mov r3, r4 bl MOD13_02239888 ldrb r0, [sb] add r8, r8, #1 cmp r8, r0 blt _0222040C add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02220460: .word 0x0223ED38 _02220464: .word 0x0223ED40 _02220468: .word 0x0223ED30 _0222046C: .word 0x0224303C _02220470: .word 0x0223ED78 _02220474: .word 0xFE00FF00 _02220478: .word 0xC1FFFCFF _0222047C: .word 0x000001FF _02220480: .word 0x0223ED58 _02220484: .word 0x0223ED50 arm_func_start MOD13_02220488 MOD13_02220488: ; 0x02220488 stmdb sp!, {r4, lr} mov r0, #0x20 bl MOD13_0223B3B0 cmp r0, #0 beq _022204A4 mov r0, #0 bl MOD13_0221FB14 _022204A4: mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _022204BC mov r0, #1 bl MOD13_0221FB14 _022204BC: mov r0, #0x10 bl MOD13_0223B3B0 cmp r0, #0 beq _022204D4 mov r0, #2 bl MOD13_0221FB14 _022204D4: mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 beq _022204EC mov r0, #3 bl MOD13_0221FB14 _022204EC: mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02220604 ldr r2, _022206A4 ; =0x0224303C ldr r0, [r2] add r1, r0, #0x100 ldrsb r4, [r1, #0x21] cmp r4, #0x2f bge _0222055C ldrb r1, [r0, #0x124] cmp r1, #0 bne _0222052C mov r0, #9 bl MOD13_0223424C ldmia sp!, {r4, pc} _0222052C: ldrb r3, [r0, #0x11d] ldr r1, _022206A8 ; =0x0223FB7C ldr r1, [r1, r3, lsl #2] ldrb r1, [r1, r4] strb r1, [r0, #0x11c] ldr r0, [r2] ldrb r0, [r0, #0x11d] cmp r0, #1 ldmneia sp!, {r4, pc} mov r0, #0 bl MOD13_02220150 ldmia sp!, {r4, pc} _0222055C: sub r1, r4, #0x2f cmp r1, #4 bge _022205F4 cmp r1, #3 addls pc, pc, r1, lsl #2 b _022205C4 _02220574: ; jump table b _02220584 ; case 0 b _0222058C ; case 1 b _02220594 ; case 2 b _022205AC ; case 3 _02220584: bl MOD13_02220944 ldmia sp!, {r4, pc} _0222058C: bl MOD13_0222090C ldmia sp!, {r4, pc} _02220594: ldrb r1, [r0, #0x124] cmp r1, #0 bne _022205C4 mov r0, #9 bl MOD13_0223424C ldmia sp!, {r4, pc} _022205AC: ldrb r1, [r0, #0x123] cmp r1, #0 bne _022205C4 mov r0, #9 bl MOD13_0223424C ldmia sp!, {r4, pc} _022205C4: ldrb r0, [r0, #0x11d] cmp r0, #1 bne _022205D8 mov r0, #0 bl MOD13_02220150 _022205D8: ldr r1, _022206AC ; =0x0223ED48 sub r2, r4, #0x2f ldr r0, _022206A4 ; =0x0224303C ldrb r1, [r1, r2] ldr r0, [r0] strb r1, [r0, #0x11c] ldmia sp!, {r4, pc} _022205F4: ldr r1, _022206B0 ; =0x0223ED1C sub r2, r4, #0x33 ldrb r1, [r1, r2] strb r1, [r0, #0x11c] _02220604: mov r0, #2 bl MOD13_0223B3B0 cmp r0, #0 beq _0222065C ldr r0, _022206A4 ; =0x0224303C ldr r1, [r0] ldrb r0, [r1, #0x123] cmp r0, #0 bne _02220650 ldrb r0, [r1, #0x125] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, #9 bl MOD13_0223424C ldr r0, _022206A4 ; =0x0224303C mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x125] ldmia sp!, {r4, pc} _02220650: mov r0, #0x80 strb r0, [r1, #0x11c] b _02220678 _0222065C: mov r0, #2 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _022206A4 ; =0x0224303C movne r1, #0 ldrne r0, [r0] strneb r1, [r0, #0x125] _02220678: mov r0, #0x400 bl MOD13_0223B3D4 cmp r0, #0 beq _0222068C bl MOD13_02220944 _0222068C: mov r0, #0x800 bl MOD13_0223B3D4 cmp r0, #0 ldmeqia sp!, {r4, pc} bl MOD13_0222090C ldmia sp!, {r4, pc} .align 2, 0 _022206A4: .word 0x0224303C _022206A8: .word 0x0223FB7C _022206AC: .word 0x0223ED48 _022206B0: .word 0x0223ED1C arm_func_start MOD13_022206B4 MOD13_022206B4: ; 0x022206B4 stmdb sp!, {r4, lr} ldr r1, _02220704 ; =0x0224303C mov r4, r0 ldr r1, [r1] add r1, r1, #0x100 ldrsb r1, [r1, #0x1f] cmp r4, r1 ldmeqia sp!, {r4, pc} mov r1, #1 bl MOD13_02220074 ldr r0, _02220704 ; =0x0224303C mov r1, #0 ldr r0, [r0] add r0, r0, #0x100 ldrsb r0, [r0, #0x1f] bl MOD13_02220074 ldr r0, _02220704 ; =0x0224303C ldr r0, [r0] strb r4, [r0, #0x11f] ldmia sp!, {r4, pc} .align 2, 0 _02220704: .word 0x0224303C arm_func_start MOD13_02220708 MOD13_02220708: ; 0x02220708 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r0, _022208EC ; =0x0223F75C bl MOD13_0223B320 cmp r0, #0 beq _022208CC ldr r7, _022208F0 ; =0x0223ED78 mov r4, #0 ldr r6, _022208F4 ; =0x0223ED2C add r5, sp, #0 _02220730: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B320 cmp r0, #0 beq _02220774 ldr r0, _022208F8 ; =0x0224303C ldr r0, [r0] add r0, r0, #0x100 ldrsb r0, [r0, #0x1e] cmp r0, r4 bne _022208CC mov r0, r4 bl MOD13_022206B4 b _022208D4 _02220774: add r4, r4, #1 cmp r4, #0x2f add r7, r7, #4 blt _02220730 ldr r7, _022208FC ; =0x0223ED70 ldr r6, _02220900 ; =0x0223ED60 mov r5, #2 add r4, sp, #0 _02220794: mov r0, r6 mov r1, r7 mov r2, r4 bl MOD13_0223AB74 mov r0, r4 bl MOD13_0223B320 cmp r0, #0 beq _02220854 ldr r1, _022208F8 ; =0x0224303C add r0, r5, #0x2f ldr r1, [r1] add r1, r1, #0x100 ldrsb r1, [r1, #0x1e] cmp r1, r0 bne _022208CC bl MOD13_022206B4 cmp r5, #3 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _022208F8 ; =0x0224303C ldr r2, [r0] ldrb r1, [r2, #0x122] add r1, r1, #1 strb r1, [r2, #0x122] ldr r2, [r0] ldrb r1, [r2, #0x122] cmp r1, #0x28 addlo sp, sp, #0xc ldmloia sp!, {r4, r5, r6, r7, pc} ldrb r1, [r2, #0x123] cmp r1, #0 bne _02220834 mov r0, #9 bl MOD13_0223424C ldr r0, _022208F8 ; =0x0224303C mvn r1, #0 ldr r0, [r0] add sp, sp, #0xc strb r1, [r0, #0x11e] ldmia sp!, {r4, r5, r6, r7, pc} _02220834: mov r1, #0x80 strb r1, [r2, #0x11c] ldr r1, [r0] add sp, sp, #0xc ldrb r0, [r1, #0x122] sub r0, r0, #7 strb r0, [r1, #0x122] ldmia sp!, {r4, r5, r6, r7, pc} _02220854: add r5, r5, #1 cmp r5, #4 add r7, r7, #4 add r6, r6, #4 blt _02220794 ldr r7, _02220904 ; =0x0223ED50 mov r6, #0 ldr r5, _02220908 ; =0x0223ED28 add r4, sp, #0 _02220878: mov r0, r7 mov r1, r5 mov r2, r4 bl MOD13_0223AB74 mov r0, r4 bl MOD13_0223B320 cmp r0, #0 beq _022208BC ldr r1, _022208F8 ; =0x0224303C add r0, r6, #0x33 ldr r1, [r1] add r1, r1, #0x100 ldrsb r1, [r1, #0x1e] cmp r1, r0 bne _022208CC bl MOD13_022206B4 b _022208D4 _022208BC: add r6, r6, #1 cmp r6, #2 add r7, r7, #4 blt _02220878 _022208CC: mvn r0, #0 bl MOD13_022206B4 _022208D4: ldr r0, _022208F8 ; =0x0224303C mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x122] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _022208EC: .word 0x0223F75C _022208F0: .word 0x0223ED78 _022208F4: .word 0x0223ED2C _022208F8: .word 0x0224303C _022208FC: .word 0x0223ED70 _02220900: .word 0x0223ED60 _02220904: .word 0x0223ED50 _02220908: .word 0x0223ED28 arm_func_start MOD13_0222090C MOD13_0222090C: ; 0x0222090C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02220940 ; =0x0224303C ldr r0, [r0] ldrb r0, [r0, #0x11d] cmp r0, #1 movne r0, #1 moveq r0, #0 bl MOD13_02220150 mov r0, #1 bl MOD13_0223424C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02220940: .word 0x0224303C arm_func_start MOD13_02220944 MOD13_02220944: ; 0x02220944 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02220978 ; =0x0224303C ldr r0, [r0] ldrb r0, [r0, #0x11d] cmp r0, #2 moveq r0, #0 movne r0, #2 bl MOD13_02220150 mov r0, #1 bl MOD13_0223424C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02220978: .word 0x0224303C arm_func_start MOD13_0222097C MOD13_0222097C: ; 0x0222097C stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r1, _02220C28 ; =0x0224303C ldr r0, _02220C2C ; =0x0223F75C ldr r1, [r1] mov r2, #0 strb r2, [r1, #0x11c] bl MOD13_0223B1DC cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r7, _02220C30 ; =0x0223ED78 mov r4, #0 ldr r6, _02220C34 ; =0x0223ED2C add r5, sp, #0 _022209B8: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B1DC cmp r0, #0 beq _02220A38 ldr r1, _02220C28 ; =0x0224303C ldr r3, [r1] add r0, r3, #0x100 ldrsb r0, [r0, #0x1e] cmp r0, r4 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldrb r2, [r3, #0x11d] ldr r0, _02220C38 ; =0x0223FB7C ldr r0, [r0, r2, lsl #2] ldrb r0, [r0, r4] strb r0, [r3, #0x11c] ldr r0, [r1] ldrb r0, [r0, #0x11d] cmp r0, #1 bne _02220A20 mov r0, #0 bl MOD13_02220150 _02220A20: ldr r0, _02220C28 ; =0x0224303C ldr r0, [r0] strb r4, [r0, #0x121] bl MOD13_0221FF98 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02220A38: add r4, r4, #1 cmp r4, #0x2f add r7, r7, #4 blt _022209B8 ldr r7, _02220C3C ; =0x0223ED70 ldr r6, _02220C40 ; =0x0223ED60 mov r4, #2 add r5, sp, #0 _02220A58: mov r0, r6 mov r1, r7 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B1DC cmp r0, #0 beq _02220AD8 ldr r1, _02220C28 ; =0x0224303C add r2, r4, #0x2f ldr r3, [r1] add r0, r3, #0x100 ldrsb r0, [r0, #0x1e] cmp r0, r2 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _02220C44 ; =0x0223ED48 ldrb r0, [r0, r4] strb r0, [r3, #0x11c] ldr r0, [r1] ldrb r0, [r0, #0x11d] cmp r0, #1 bne _02220ABC mov r0, #0 bl MOD13_02220150 _02220ABC: ldr r0, _02220C28 ; =0x0224303C add r1, r4, #0x2f ldr r0, [r0] strb r1, [r0, #0x121] bl MOD13_0221FF98 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02220AD8: add r4, r4, #1 cmp r4, #4 add r7, r7, #4 add r6, r6, #4 blt _02220A58 ldr r7, _02220C48 ; =0x0223ED50 mov r4, #0 ldr r6, _02220C4C ; =0x0223ED28 add r5, sp, #0 _02220AFC: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B1DC cmp r0, #0 beq _02220B5C ldr r1, _02220C28 ; =0x0224303C add r2, r4, #0x33 ldr r3, [r1] add r0, r3, #0x100 ldrsb r0, [r0, #0x1e] cmp r0, r2 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, _02220C50 ; =0x0223ED1C ldrb r0, [r0, r4] strb r0, [r3, #0x11c] ldr r0, [r1] strb r2, [r0, #0x121] bl MOD13_0221FF98 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02220B5C: add r4, r4, #1 cmp r4, #2 add r7, r7, #4 blt _02220AFC ldr r0, _02220C54 ; =0x0223ED58 ldr r1, _02220C58 ; =0x0223ED68 add r2, sp, #0 bl MOD13_0223AB74 add r0, sp, #0 bl MOD13_0223B1DC cmp r0, #0 beq _02220BC8 ldr r0, _02220C28 ; =0x0224303C ldr r0, [r0] add r0, r0, #0x100 ldrsb r0, [r0, #0x1e] cmp r0, #0x2f addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} bl MOD13_02220944 ldr r0, _02220C28 ; =0x0224303C mov r1, #0x2f ldr r0, [r0] strb r1, [r0, #0x121] bl MOD13_0221FF98 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02220BC8: ldr r0, _02220C5C ; =0x0223ED5C ldr r1, _02220C60 ; =0x0223ED6C add r2, sp, #0 bl MOD13_0223AB74 add r0, sp, #0 bl MOD13_0223B1DC cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, _02220C28 ; =0x0224303C ldr r0, [r0] add r0, r0, #0x100 ldrsb r0, [r0, #0x1e] cmp r0, #0x30 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} bl MOD13_0222090C ldr r0, _02220C28 ; =0x0224303C mov r1, #0x30 ldr r0, [r0] strb r1, [r0, #0x121] bl MOD13_0221FF98 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02220C28: .word 0x0224303C _02220C2C: .word 0x0223F75C _02220C30: .word 0x0223ED78 _02220C34: .word 0x0223ED2C _02220C38: .word 0x0223FB7C _02220C3C: .word 0x0223ED70 _02220C40: .word 0x0223ED60 _02220C44: .word 0x0223ED48 _02220C48: .word 0x0223ED50 _02220C4C: .word 0x0223ED28 _02220C50: .word 0x0223ED1C _02220C54: .word 0x0223ED58 _02220C58: .word 0x0223ED68 _02220C5C: .word 0x0223ED5C _02220C60: .word 0x0223ED6C arm_func_start MOD13_02220C64 MOD13_02220C64: ; 0x02220C64 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r0, _02220E28 ; =0x0223F75C bl MOD13_0223B2B4 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, _02220E2C ; =0x0224303C mvn r1, #0 ldr r0, [r0] ldr r7, _02220E30 ; =0x0223ED78 strb r1, [r0, #0x11e] mov r4, #0 ldr r6, _02220E34 ; =0x0223ED2C add r5, sp, #0 _02220CA0: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B2B4 cmp r0, #0 beq _02220D00 ldr r0, _02220E2C ; =0x0224303C ldr r0, [r0] ldrb r0, [r0, #0x124] cmp r0, #0 bne _02220CE4 mov r0, #9 bl MOD13_0223424C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02220CE4: mov r0, #0 bl MOD13_0223424C ldr r0, _02220E2C ; =0x0224303C add sp, sp, #0xc ldr r0, [r0] strb r4, [r0, #0x11e] ldmia sp!, {r4, r5, r6, r7, pc} _02220D00: add r4, r4, #1 cmp r4, #0x2f add r7, r7, #4 blt _02220CA0 ldr r7, _02220E38 ; =0x0223ED68 ldr r6, _02220E3C ; =0x0223ED58 mov r4, #0 add r5, sp, #0 _02220D20: mov r0, r6 mov r1, r7 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B2B4 cmp r0, #0 beq _02220DAC cmp r4, #3 bne _02220D5C ldr r0, _02220E2C ; =0x0224303C ldr r0, [r0] ldrb r0, [r0, #0x123] cmp r0, #0 beq _02220D78 _02220D5C: cmp r4, #2 bne _02220D88 ldr r0, _02220E2C ; =0x0224303C ldr r0, [r0] ldrb r0, [r0, #0x124] cmp r0, #0 bne _02220D88 _02220D78: mov r0, #9 bl MOD13_0223424C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02220D88: ldr r0, _02220E40 ; =0x0223FB94 ldr r0, [r0, r4, lsl #2] bl MOD13_0223424C ldr r0, _02220E2C ; =0x0224303C add r1, r4, #0x2f ldr r0, [r0] add sp, sp, #0xc strb r1, [r0, #0x11e] ldmia sp!, {r4, r5, r6, r7, pc} _02220DAC: add r4, r4, #1 cmp r4, #4 add r7, r7, #4 add r6, r6, #4 blt _02220D20 ldr r7, _02220E44 ; =0x0223ED50 mov r6, #0 ldr r5, _02220E48 ; =0x0223ED28 add r4, sp, #0 _02220DD0: mov r0, r7 mov r1, r5 mov r2, r4 bl MOD13_0223AB74 mov r0, r4 bl MOD13_0223B2B4 cmp r0, #0 beq _02220E10 mov r0, #0 bl MOD13_0223424C ldr r0, _02220E2C ; =0x0224303C add r1, r6, #0x33 ldr r0, [r0] add sp, sp, #0xc strb r1, [r0, #0x11e] ldmia sp!, {r4, r5, r6, r7, pc} _02220E10: add r6, r6, #1 cmp r6, #2 add r7, r7, #4 blt _02220DD0 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02220E28: .word 0x0223F75C _02220E2C: .word 0x0224303C _02220E30: .word 0x0223ED78 _02220E34: .word 0x0223ED2C _02220E38: .word 0x0223ED68 _02220E3C: .word 0x0223ED58 _02220E40: .word 0x0223FB94 _02220E44: .word 0x0223ED50 _02220E48: .word 0x0223ED28 arm_func_start MOD13_02220E4C MOD13_02220E4C: ; 0x02220E4C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02220C64 bl MOD13_0222097C bl MOD13_02220708 bl MOD13_02220488 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02220EFC ; =0x0224303C mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #0xfc] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r0, _02220F00 ; =0x0223ED50 ldr r2, [sp, #4] ldrh r1, [r0, #2] sub r2, r2, #0xc str r2, [sp, #4] cmp r2, r1 ble _02220ECC ldr r0, _02220EFC ; =0x0224303C mov r1, #4 ldr r0, [r0] ldrb r0, [r0, #0x11d] bl MOD13_022201DC add sp, sp, #8 ldmia sp!, {r4, pc} _02220ECC: ldr r0, _02220EFC ; =0x0224303C mov r2, r1 ldr r0, [r0] mov r1, #4 ldrb r0, [r0, #0x11d] bl MOD13_022201DC bl MOD13_0221FF98 ldr r1, _02220F04 ; =MOD13_02220E4C mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02220EFC: .word 0x0224303C _02220F00: .word 0x0223ED50 _02220F04: .word MOD13_02220E4C arm_func_start MOD13_02220F08 MOD13_02220F08: ; 0x02220F08 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02220FA8 ; =0x0224303C ldr r2, _02220FAC ; =0x0223ED78 ldr lr, [r1] ldr r1, _02220FB0 ; =0x01FF0000 ldr ip, [lr, #0xc0] ldrh r3, [r2, #0x92] ldr r2, [ip] mov r4, r0 and r0, r2, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r2, r0, #0xc str r0, [sp, #4] str r2, [sp, #4] cmp r2, r3 ble _02220F6C ldrb r0, [lr, #0x11d] mov r1, #3 bl MOD13_022201DC add sp, sp, #8 ldmia sp!, {r4, pc} _02220F6C: ldrb r0, [lr, #0x11d] mov r2, r3 mov r1, #3 bl MOD13_022201DC ldr r0, _02220FA8 ; =0x0224303C mov r1, #4 ldr r0, [r0] mov r2, #0xc0 ldrb r0, [r0, #0x11d] bl MOD13_022201DC ldr r1, _02220FB4 ; =0x02220E6C mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02220FA8: .word 0x0224303C _02220FAC: .word 0x0223ED78 _02220FB0: .word 0x01FF0000 _02220FB4: .word 0x02220E6C arm_func_start MOD13_02220FB8 MOD13_02220FB8: ; 0x02220FB8 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02221058 ; =0x0224303C ldr r2, _0222105C ; =0x0223ED78 ldr lr, [r1] ldr r1, _02221060 ; =0x01FF0000 ldr ip, [lr, #0x90] ldrh r3, [r2, #0x62] ldr r2, [ip] mov r4, r0 and r0, r2, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r2, r0, #0xc str r0, [sp, #4] str r2, [sp, #4] cmp r2, r3 ble _0222101C ldrb r0, [lr, #0x11d] mov r1, #2 bl MOD13_022201DC add sp, sp, #8 ldmia sp!, {r4, pc} _0222101C: ldrb r0, [lr, #0x11d] mov r2, r3 mov r1, #2 bl MOD13_022201DC ldr r0, _02221058 ; =0x0224303C mov r1, #3 ldr r0, [r0] mov r2, #0xc0 ldrb r0, [r0, #0x11d] bl MOD13_022201DC ldr r1, _02221064 ; =MOD13_02220F08 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02221058: .word 0x0224303C _0222105C: .word 0x0223ED78 _02221060: .word 0x01FF0000 _02221064: .word MOD13_02220F08 arm_func_start MOD13_02221068 MOD13_02221068: ; 0x02221068 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02221108 ; =0x0224303C ldr r2, _0222110C ; =0x0223ED78 ldr lr, [r1] ldr r1, _02221110 ; =0x01FF0000 ldr ip, [lr, #0x60] ldrh r3, [r2, #0x32] ldr r2, [ip] mov r4, r0 and r0, r2, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r2, r0, #0xc str r0, [sp, #4] str r2, [sp, #4] cmp r2, r3 ble _022210CC ldrb r0, [lr, #0x11d] mov r1, #1 bl MOD13_022201DC add sp, sp, #8 ldmia sp!, {r4, pc} _022210CC: ldrb r0, [lr, #0x11d] mov r2, r3 mov r1, #1 bl MOD13_022201DC ldr r0, _02221108 ; =0x0224303C mov r1, #2 ldr r0, [r0] mov r2, #0xc0 ldrb r0, [r0, #0x11d] bl MOD13_022201DC ldr r1, _02221114 ; =MOD13_02220FB8 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02221108: .word 0x0224303C _0222110C: .word 0x0223ED78 _02221110: .word 0x01FF0000 _02221114: .word MOD13_02220FB8 arm_func_start MOD13_02221118 MOD13_02221118: ; 0x02221118 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _022211B8 ; =0x0224303C ldr r2, _022211BC ; =0x0223ED78 ldr lr, [r1] ldr r1, _022211C0 ; =0x01FF0000 ldr ip, [lr, #0x30] ldrh r3, [r2, #2] ldr r2, [ip] mov r4, r0 and r0, r2, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r2, r0, #0xc str r0, [sp, #4] str r2, [sp, #4] cmp r2, r3 ble _0222117C ldrb r0, [lr, #0x11d] mov r1, #0 bl MOD13_022201DC add sp, sp, #8 ldmia sp!, {r4, pc} _0222117C: ldrb r0, [lr, #0x11d] mov r2, r3 mov r1, #0 bl MOD13_022201DC ldr r0, _022211B8 ; =0x0224303C mov r1, #1 ldr r0, [r0] mov r2, #0xc0 ldrb r0, [r0, #0x11d] bl MOD13_022201DC ldr r1, _022211C4 ; =MOD13_02221068 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022211B8: .word 0x0224303C _022211BC: .word 0x0223ED78 _022211C0: .word 0x01FF0000 _022211C4: .word MOD13_02221068 arm_func_start MOD13_022211C8 MOD13_022211C8: ; 0x022211C8 ldr r0, _022211E0 ; =0x0224303C ldr r0, [r0] cmp r0, #0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _022211E0: .word 0x0224303C arm_func_start MOD13_022211E4 MOD13_022211E4: ; 0x022211E4 ldr r1, _022211F4 ; =0x0224303C ldr r1, [r1] strb r0, [r1, #0x124] bx lr .align 2, 0 _022211F4: .word 0x0224303C arm_func_start MOD13_022211F8 MOD13_022211F8: ; 0x022211F8 ldr r1, _02221208 ; =0x0224303C ldr r1, [r1] strb r0, [r1, #0x123] bx lr .align 2, 0 _02221208: .word 0x0224303C arm_func_start MOD13_0222120C MOD13_0222120C: ; 0x0222120C ldr r0, _0222121C ; =0x0224303C ldr r0, [r0] ldrb r0, [r0, #0x11c] bx lr .align 2, 0 _0222121C: .word 0x0224303C arm_func_start MOD13_02221220 MOD13_02221220: ; 0x02221220 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02221254 ; =0x0224303C ldr r0, [r0] ldr r0, [r0, #0x114] bl MOD13_02239AE8 ldr r0, _02221254 ; =0x0224303C ldr r1, _02221258 ; =MOD13_0221FA88 ldr r0, [r0] ldr r0, [r0, #0x118] bl MOD13_0223C130 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02221254: .word 0x0224303C _02221258: .word MOD13_0221FA88 arm_func_start MOD13_0222125C MOD13_0222125C: ; 0x0222125C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x44 add r2, sp, #0x34 mov r1, #0 strh r1, [r2] strh r1, [r2, #2] strh r1, [r2, #4] strh r1, [r2, #6] ldr r0, _022215EC ; =0x0223ED2C mov r1, #4 ldrh r3, [r0] ldrh r2, [r0, #2] mov r0, #0x128 strh r3, [sp, #0x38] strh r2, [sp, #0x3a] bl MOD13_0223AFE0 ldr r8, _022215F0 ; =0x0224303C mov r6, #0 mov r1, #0xff str r0, [r8] strb r1, [r0, #0x11c] ldr r0, [r8] mov r1, #1 strb r6, [r0, #0x121] ldr r0, [r8] ldr r7, _022215F4 ; =0xC1FFFCFF strb r1, [r0, #0x123] ldr r0, [r8] mov r5, r6 strb r1, [r0, #0x124] mov r4, #0x34 _022212D8: mov r0, r5 mov r1, r4 bl MOD13_02239E54 ldr r1, [r8] add r1, r1, r6, lsl #2 str r0, [r1, #0x30] ldr r0, [r8] add r0, r0, r6, lsl #2 ldr r1, [r0, #0x30] ldr r0, [r1] and r0, r0, r7 orr r0, r0, #0x200 str r0, [r1] ldr r0, [r8] add r0, r0, r6, lsl #2 ldr r1, [r0, #0x30] add r6, r6, #1 ldrh r0, [r1, #4] cmp r6, #0x2f bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] blt _022212D8 ldr r6, _022215F8 ; =0x0223ED20 mov r5, #0 ldr r8, _022215F0 ; =0x0224303C mov r4, r5 ldr r7, _022215F4 ; =0xC1FFFCFF _02221348: ldrb r1, [r6] mov r0, r4 bl MOD13_02239E54 ldr r1, [r8] add r6, r6, #1 add r1, r1, r5, lsl #2 str r0, [r1, #0xec] ldr r0, [r8] add r0, r0, r5, lsl #2 ldr r1, [r0, #0xec] ldr r0, [r1] and r0, r0, r7 orr r0, r0, #0x200 str r0, [r1] ldr r0, [r8] add r0, r0, r5, lsl #2 ldr r1, [r0, #0xec] add r5, r5, #1 ldrh r0, [r1, #4] cmp r5, #4 bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] blt _02221348 ldr sl, _022215FC ; =0x0223ED18 mov sb, #0 ldr r4, _022215F0 ; =0x0224303C mov fp, sb str sb, [sp, #0x1c] mov r8, #1 mvn r7, #0 mov r6, #0x200 mov r5, #3 _022213CC: ldrb r1, [sl] mov r0, fp mov r2, r8 bl MOD13_02239E0C ldr r2, [r4] ldr r3, [sp, #0x1c] add r2, r2, sb, lsl #2 str r0, [r2, #0xfc] ldr r0, [r4] mov r1, r7 add r0, r0, sb, lsl #2 ldr r0, [r0, #0xfc] mov r2, r6 bl MOD13_02239A1C ldr r0, [r4] mov r1, r7 add r0, r0, sb, lsl #2 ldr r0, [r0, #0xfc] mov r2, r5 bl MOD13_02239814 add sb, sb, #1 add sl, sl, #1 cmp sb, #2 blt _022213CC ldr r1, _02221600 ; =0x0223ED24 mov r7, #0 ldrh r0, [r1, #2] ldr fp, _02221604 ; =0x0223FB88 ldr r4, _022215F0 ; =0x0224303C str r0, [sp, #0x10] ldrh r0, [r1] strh r7, [sp, #0x42] str r7, [sp, #0x2c] str r0, [sp, #0x14] mov r0, #1 str r7, [sp, #0x24] str r7, [sp, #0x28] str r7, [sp, #0x20] mov r6, #2 mov r5, #0x480 str r0, [sp, #0x30] _02221470: ldr sb, [sp, #0x20] mov r0, sb str r0, [sp, #0x18] _0222147C: add r0, sp, #0x3c str r0, [sp] ldr r0, [sp, #0x24] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] str r0, [sp, #4] mov r3, r0 bl MOD13_0223A9A4 ldr r1, [r4] ldr sl, [sp, #0x18] add r1, r1, r7, lsl #4 str r0, [r1, sb, lsl #2] ldr r0, [sp, #0x28] strh r0, [sp, #0x34] mov r8, r0 _022214B8: ldr r1, [fp, r7, lsl #2] mov r0, sl, lsl #1 ldrh r2, [r1, r0] ldrh r1, [sp, #0x3a] mov r0, r7, lsl #4 strh r2, [sp, #0x40] str r1, [sp] str r6, [sp, #4] add r2, r0, sb, lsl #2 str r5, [sp, #8] add r0, sp, #0x40 str r0, [sp, #0xc] ldr r0, [r4] ldrh r1, [sp, #0x34] ldr r0, [r0, r2] ldrh r2, [sp, #0x36] ldrh r3, [sp, #0x38] bl MOD13_0223A4F0 ldrh r0, [sp, #0x34] add r8, r8, #1 cmp r8, #0xc add r0, r0, #0x12 add sl, sl, #1 strh r0, [sp, #0x34] blt _022214B8 cmp r7, #0 bne _02221540 ldr r0, [sp, #0x2c] ldr r1, [sp, #0x3c] ldr r2, [sp, #0x30] bl MOD13_02239B74 ldr r1, [r4] add r1, r1, sb, lsl #2 str r0, [r1, #0x104] _02221540: ldr r0, [sp, #0x18] add sb, sb, #1 add r0, r0, #0xc str r0, [sp, #0x18] cmp sb, #4 blt _0222147C add r7, r7, #1 cmp r7, #3 blt _02221470 mov r0, #0 mov r1, #0x40 mov r2, #1 bl MOD13_02239E0C ldr r3, _022215F0 ; =0x0224303C mvn r1, #0 ldr r4, [r3] mov r2, #0x200 str r0, [r4, #0x114] ldr r0, [r3] mov r3, #0 ldr r0, [r0, #0x114] bl MOD13_02239A1C ldr r0, _022215F0 ; =0x0224303C mvn r1, #0 ldr r0, [r0] mov r2, #2 ldr r0, [r0, #0x114] bl MOD13_02239814 mov r0, #0 ldr r1, _02221608 ; =MOD13_02221118 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r3, _022215F0 ; =0x0224303C mov r1, #0 ldr r4, [r3] mov r2, #0xc0 str r0, [r4, #0x118] ldr r0, [r3] ldrb r0, [r0, #0x11d] bl MOD13_022201DC add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _022215EC: .word 0x0223ED2C _022215F0: .word 0x0224303C _022215F4: .word 0xC1FFFCFF _022215F8: .word 0x0223ED20 _022215FC: .word 0x0223ED18 _02221600: .word 0x0223ED24 _02221604: .word 0x0223FB88 _02221608: .word MOD13_02221118 arm_func_start MOD13_0222160C MOD13_0222160C: ; 0x0222160C stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r1, r0 mov r0, #0 bl MOD13_0223C110 mov r5, #0 ldr r4, _022216CC ; =0x02243040 _02221628: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x48] bl MOD13_02239AE8 ldr r0, [r4] ldr r0, [r0, r5, lsl #2] bl MOD13_0223A978 add r5, r5, #1 cmp r5, #4 blt _02221628 ldr r4, _022216CC ; =0x02243040 mov r5, #0 _02221658: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x40] bl MOD13_02239AE8 add r5, r5, #1 cmp r5, #2 blt _02221658 ldr r4, _022216CC ; =0x02243040 mov r5, #0 _0222167C: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x38] bl MOD13_0223B974 add r5, r5, #1 cmp r5, #2 blt _0222167C ldr r4, _022216CC ; =0x02243040 mov r5, #0 _022216A0: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x10] bl MOD13_0223B974 add r5, r5, #1 cmp r5, #0xa blt _022216A0 ldr r0, _022216CC ; =0x02243040 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _022216CC: .word 0x02243040 arm_func_start MOD13_022216D0 MOD13_022216D0: ; 0x022216D0 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0222173C ; =0x02243040 mov r4, r0 ldr r0, [r1] ldr r1, _02221740 ; =0x01FF0000 ldr r3, [r0, #0x10] mov r0, #0 ldr r2, [r3] and r1, r2, r1 mov r1, r1, lsr #0x10 str r1, [sp] ldr r1, [r3] and r1, r1, #0xff str r1, [sp, #4] add r1, r1, #0xc str r1, [sp, #4] bl MOD13_02221B6C ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _02221744 ; =MOD13_0222160C mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0222173C: .word 0x02243040 _02221740: .word 0x01FF0000 _02221744: .word MOD13_0222160C arm_func_start MOD13_02221748 MOD13_02221748: ; 0x02221748 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _022217B4 ; =0x02243040 mov r4, r0 ldr r0, [r1] ldr r1, _022217B8 ; =0x01FF0000 ldr r3, [r0, #0x1c] mov r0, #1 ldr r2, [r3] and r1, r2, r1 mov r1, r1, lsr #0x10 str r1, [sp] ldr r1, [r3] and r1, r1, #0xff str r1, [sp, #4] add r1, r1, #0xc str r1, [sp, #4] bl MOD13_02221B6C ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _022217BC ; =MOD13_022216D0 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022217B4: .word 0x02243040 _022217B8: .word 0x01FF0000 _022217BC: .word MOD13_022216D0 arm_func_start MOD13_022217C0 MOD13_022217C0: ; 0x022217C0 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0222182C ; =0x02243040 mov r4, r0 ldr r0, [r1] ldr r1, _02221830 ; =0x01FF0000 ldr r3, [r0, #0x28] mov r0, #2 ldr r2, [r3] and r1, r2, r1 mov r1, r1, lsr #0x10 str r1, [sp] ldr r1, [r3] and r1, r1, #0xff str r1, [sp, #4] add r1, r1, #0xc str r1, [sp, #4] bl MOD13_02221B6C ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _02221834 ; =MOD13_02221748 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0222182C: .word 0x02243040 _02221830: .word 0x01FF0000 _02221834: .word MOD13_02221748 arm_func_start MOD13_02221838 MOD13_02221838: ; 0x02221838 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _022218A4 ; =0x02243040 mov r4, r0 ldr r0, [r1] ldr r1, _022218A8 ; =0x01FF0000 ldr r3, [r0, #0x34] mov r0, #3 ldr r2, [r3] and r1, r2, r1 mov r1, r1, lsr #0x10 str r1, [sp] ldr r1, [r3] and r1, r1, #0xff str r1, [sp, #4] add r1, r1, #0xc str r1, [sp, #4] bl MOD13_02221B6C ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _022218AC ; =MOD13_022217C0 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022218A4: .word 0x02243040 _022218A8: .word 0x01FF0000 _022218AC: .word MOD13_022217C0 arm_func_start MOD13_022218B0 MOD13_022218B0: ; 0x022218B0 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02221924 ; =0x02243040 mov r4, r0 ldr r0, [r1] mov r1, #0 ldr r0, [r0, #0x40] bl MOD13_02239ADC ldr r2, [r0] ldr r1, _02221928 ; =0x01FF0000 and r1, r2, r1 mov r1, r1, lsr #0x10 str r1, [sp] ldr r1, [r0] mov r0, #4 and r1, r1, #0xff str r1, [sp, #4] add r1, r1, #0xc str r1, [sp, #4] bl MOD13_02221B6C ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r1, _0222192C ; =MOD13_02221838 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02221924: .word 0x02243040 _02221928: .word 0x01FF0000 _0222192C: .word MOD13_02221838 arm_func_start MOD13_02221930 MOD13_02221930: ; 0x02221930 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _022219FC ; =0x02243040 ldr r2, _02221A00 ; =0x0223F0BC ldr r3, [r1] ldrsb ip, [r3, #0x63] add r2, r2, ip, lsl #2 ldrsb r2, [r0, r2] strb r2, [r3, #0x63] ldr r1, [r1] ldrsb r2, [r1, #0x63] cmp r2, #0xd bne _0222197C cmp r0, #1 beq _02221974 cmp r0, #3 bne _0222197C _02221974: strb ip, [r1, #0x64] b _022219E8 _0222197C: mvn r0, #0 cmp r2, r0 bne _022219B4 ldrsb r0, [r1, #0x64] cmp r0, #1 beq _0222199C cmp r0, #0xa bne _022219A8 _0222199C: mov r0, #0xa strb r0, [r1, #0x63] b _022219E8 _022219A8: mov r0, #0xb strb r0, [r1, #0x63] b _022219E8 _022219B4: mvn r0, #1 cmp r2, r0 bne _022219E8 ldrsb r0, [r1, #0x64] cmp r0, #1 beq _022219D4 cmp r0, #0xa bne _022219E0 _022219D4: mov r0, #1 strb r0, [r1, #0x63] b _022219E8 _022219E0: mov r0, #2 strb r0, [r1, #0x63] _022219E8: bl MOD13_02221A04 mov r0, #8 bl MOD13_0223424C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022219FC: .word 0x02243040 _02221A00: .word 0x0223F0BC arm_func_start MOD13_02221A04 MOD13_02221A04: ; 0x02221A04 stmdb sp!, {r4, lr} ldr r0, _02221A84 ; =0x02243040 ldr r1, [r0] ldrsb r0, [r1, #0x63] cmp r0, #0xb movle r4, #0x44 ldr r0, [r1, #0x58] movgt r4, #0x45 mov r1, #0 bl MOD13_02239ADC mov r2, r0 mov r1, r4 mov r0, #0 bl MOD13_02239E8C ldr r0, _02221A84 ; =0x02243040 mvn r1, #0 ldr r0, [r0] mov r2, #2 ldr r0, [r0, #0x58] bl MOD13_02239814 ldr r0, _02221A84 ; =0x02243040 ldr r2, _02221A88 ; =0x0223F084 ldr r0, [r0] ldr r3, _02221A8C ; =0x0223F086 ldrsb ip, [r0, #0x63] ldr r0, [r0, #0x58] mvn r1, #0 mov ip, ip, lsl #2 ldrh r2, [r2, ip] ldrh r3, [r3, ip] bl MOD13_02239888 ldmia sp!, {r4, pc} .align 2, 0 _02221A84: .word 0x02243040 _02221A88: .word 0x0223F084 _02221A8C: .word 0x0223F086 arm_func_start MOD13_02221A90 MOD13_02221A90: ; 0x02221A90 stmdb sp!, {lr} sub sp, sp, #4 cmp r0, #0 addlt sp, sp, #4 ldmltia sp!, {pc} cmp r0, #0xa bge _02221AE8 ldr r2, _02221B60 ; =0x02243040 ldr r3, _02221B64 ; =0x0223EFE8 ldr r2, [r2] add sp, sp, #4 add r0, r2, r0, lsl #2 ldr ip, [r0, #0x10] ldr r0, [ip] bic r0, r0, #0xc00 str r0, [ip] ldrh r2, [ip, #4] ldrb r0, [r3, r1] bic r1, r2, #0xf000 orr r0, r1, r0, lsl #12 strh r0, [ip, #4] ldmia sp!, {pc} _02221AE8: sub r3, r0, #0xa cmp r3, #2 bge _02221B30 ldr r0, _02221B60 ; =0x02243040 ldr r2, _02221B64 ; =0x0223EFE8 ldr r0, [r0] add sp, sp, #4 add r0, r0, r3, lsl #2 ldr ip, [r0, #0x38] ldr r0, [ip] bic r0, r0, #0xc00 str r0, [ip] ldrh r3, [ip, #4] ldrb r0, [r2, r1] bic r1, r3, #0xf000 orr r0, r1, r0, lsl #12 strh r0, [ip, #4] ldmia sp!, {pc} _02221B30: ldr r2, _02221B60 ; =0x02243040 ldr r3, _02221B68 ; =0x0223EFDC ldr r2, [r2] sub r0, r0, #0xc add r0, r2, r0, lsl #2 ldrb r3, [r3, r1] ldr r0, [r0, #0x40] mvn r1, #0 mov r2, #0 bl MOD13_02239994 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02221B60: .word 0x02243040 _02221B64: .word 0x0223EFE8 _02221B68: .word 0x0223EFDC arm_func_start MOD13_02221B6C MOD13_02221B6C: ; 0x02221B6C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c ldr r3, _02221DD8 ; =0x0223F00C ldr sb, _02221DDC ; =0x0223F014 ldrb r5, [r3, #3] ldrb r8, [r3] ldrb r7, [r3, #1] strb r5, [sp, #0xb] mov r5, r0 mov r0, #3 mul r0, r5, r0 ldrb r6, [r3, #2] ldrb ip, [r3, #4] ldr r2, _02221DE0 ; =0x0223F004 strb r8, [sp, #8] strb r7, [sp, #9] strb r6, [sp, #0xa] strb ip, [sp, #0xc] ldrb r4, [sb] ldrb r3, [sb, #1] ldrb fp, [sb, #2] ldrb sl, [sb, #3] ldrb sb, [sb, #4] ldrb lr, [r2] ldrb r8, [r2, #1] ldrb r7, [r2, #2] ldrb r6, [r2, #3] ldrb r2, [r2, #4] strb r4, [sp, #0xd] add ip, sp, #8 str r0, [sp, #4] ldrb r0, [ip, r5] strb r3, [sp, #0xe] strb r2, [sp, #0x16] mov r4, r1 ldr r3, [sp, #4] strb fp, [sp, #0xf] strb sl, [sp, #0x10] strb sb, [sp, #0x11] strb lr, [sp, #0x12] strb r8, [sp, #0x13] strb r7, [sp, #0x14] strb r6, [sp, #0x15] cmp r0, #0 mov r2, #0 ble _02221C98 and r1, r4, #0xff add r0, ip, r5 ldr r6, _02221DE4 ; =0x02243040 ldr r7, _02221DE8 ; =0x0223F05C ldr fp, _02221DEC ; =0xC1FFFCFF ldr ip, _02221DF0 ; =0x000001FF ldr lr, _02221DF4 ; =0xFE00FF00 _02221C40: ldr r8, [r6] mov sb, r3, lsl #2 add r8, r8, r3, lsl #2 ldr r8, [r8, #0x10] add r2, r2, #1 ldr sl, [r8] and sl, sl, fp str sl, [r8] ldrh r8, [r7, sb] ldr sb, [r6] add sb, sb, r3, lsl #2 ldr sb, [sb, #0x10] and r8, r8, ip ldr sl, [sb] add r3, r3, #1 and sl, sl, lr orr sl, sl, r1 orr r8, sl, r8, lsl #16 str r8, [sb] ldrb r8, [r0] cmp r2, r8 blt _02221C40 _02221C98: cmp r5, #4 bge _02221CD4 ldr r0, _02221DE4 ; =0x02243040 mov r2, #2 ldr r3, [r0] ldr r0, [sp, #4] str r2, [sp] ldr r1, _02221DE8 ; =0x0223F05C mov r0, r0, lsl #2 ldrh r1, [r1, r0] add r2, r3, r5, lsl #2 ldr r0, [r3, r5, lsl #2] ldr r3, [r2, #0x48] mov r2, r4 bl MOD13_0223A440 _02221CD4: add r3, sp, #0xd ldrb r1, [r3, r5] mov r0, #0 cmp r1, #0 ble _02221D58 and r2, r4, #0xff add r1, r3, r5 ldr r8, _02221DE4 ; =0x02243040 ldr sb, _02221DF8 ; =0x0223F024 ldr r3, _02221DEC ; =0xC1FFFCFF ldr r6, _02221DF0 ; =0x000001FF ldr r7, _02221DF4 ; =0xFE00FF00 _02221D04: ldr sl, [r8] mov fp, r0, lsl #2 add sl, sl, r0, lsl #2 ldr sl, [sl, #0x38] ldr ip, [sl] and ip, ip, r3 str ip, [sl] ldr ip, [r8] ldrh sl, [sb, fp] add fp, ip, r0, lsl #2 ldr fp, [fp, #0x38] and sl, sl, r6 ldr ip, [fp] add r0, r0, #1 and ip, ip, r7 orr ip, ip, r2 orr sl, ip, sl, lsl #16 str sl, [fp] ldrb sl, [r1] cmp r0, sl blt _02221D04 _02221D58: add r1, sp, #0x12 ldrb r0, [r1, r5] mov r8, #0 cmp r0, #0 addle sp, sp, #0x1c ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add sb, r1, r5 ldr sl, _02221DE4 ; =0x02243040 ldr r5, _02221DFC ; =0x0223F02C mov r6, r8 mvn r7, #0 _02221D84: ldr r0, [sl] mov r1, r7 add r0, r0, r8, lsl #2 ldr r0, [r0, #0x40] mov r2, r6 mov r3, r6 bl MOD13_02239A1C ldr r0, [sl] mov r1, r8, lsl #2 add r0, r0, r8, lsl #2 ldrh r2, [r5, r1] ldr r0, [r0, #0x40] mov r1, r7 mov r3, r4 bl MOD13_02239888 ldrb r0, [sb] add r8, r8, #1 cmp r8, r0 blt _02221D84 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02221DD8: .word 0x0223F00C _02221DDC: .word 0x0223F014 _02221DE0: .word 0x0223F004 _02221DE4: .word 0x02243040 _02221DE8: .word 0x0223F05C _02221DEC: .word 0xC1FFFCFF _02221DF0: .word 0x000001FF _02221DF4: .word 0xFE00FF00 _02221DF8: .word 0x0223F024 _02221DFC: .word 0x0223F02C arm_func_start MOD13_02221E00 MOD13_02221E00: ; 0x02221E00 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x20 bl MOD13_0223B3B0 cmp r0, #0 beq _02221E20 mov r0, #0 bl MOD13_02221930 _02221E20: mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _02221E38 mov r0, #1 bl MOD13_02221930 _02221E38: mov r0, #0x10 bl MOD13_0223B3B0 cmp r0, #0 beq _02221E50 mov r0, #2 bl MOD13_02221930 _02221E50: mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 beq _02221E68 mov r0, #3 bl MOD13_02221930 _02221E68: mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02221F28 ldr r0, _02221FB0 ; =0x02243040 ldr r0, [r0] ldrsb r2, [r0, #0x63] cmp r2, #0xa bge _02221EB8 ldrb r1, [r0, #0x67] cmp r1, #0 ldrne r1, _02221FB4 ; =0x0223F034 addne sp, sp, #4 ldrneb r1, [r1, r2] strneb r1, [r0, #0x60] ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C add sp, sp, #4 ldmia sp!, {pc} _02221EB8: sub r1, r2, #0xa cmp r1, #2 bge _02221F18 cmp r1, #0 bne _02221ED8 ldrb r1, [r0, #0x66] cmp r1, #0 beq _02221EF0 _02221ED8: sub r1, r2, #0xa cmp r1, #1 bne _02221F00 ldrb r1, [r0, #0x68] cmp r1, #0 bne _02221F00 _02221EF0: mov r0, #9 bl MOD13_0223424C add sp, sp, #4 ldmia sp!, {pc} _02221F00: ldr r1, _02221FB8 ; =0x0223EFF0 sub r2, r2, #0xa ldrb r1, [r1, r2] add sp, sp, #4 strb r1, [r0, #0x60] ldmia sp!, {pc} _02221F18: ldr r1, _02221FBC ; =0x0223EFEC sub r2, r2, #0xc ldrb r1, [r1, r2] strb r1, [r0, #0x60] _02221F28: mov r0, #2 bl MOD13_0223B3B0 cmp r0, #0 beq _02221F8C ldr r0, _02221FB0 ; =0x02243040 ldr r1, [r0] ldrb r0, [r1, #0x66] cmp r0, #0 bne _02221F7C ldrb r0, [r1, #0x69] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _02221FB0 ; =0x02243040 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x69] ldmia sp!, {pc} _02221F7C: mov r0, #0x10 strb r0, [r1, #0x60] add sp, sp, #4 ldmia sp!, {pc} _02221F8C: mov r0, #2 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _02221FB0 ; =0x02243040 movne r1, #0 ldrne r0, [r0] strneb r1, [r0, #0x69] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02221FB0: .word 0x02243040 _02221FB4: .word 0x0223F034 _02221FB8: .word 0x0223EFF0 _02221FBC: .word 0x0223EFEC arm_func_start MOD13_02221FC0 MOD13_02221FC0: ; 0x02221FC0 stmdb sp!, {r4, lr} ldr r1, _02222008 ; =0x02243040 mov r4, r0 ldr r1, [r1] ldrsb r1, [r1, #0x62] cmp r4, r1 ldmeqia sp!, {r4, pc} mov r1, #1 bl MOD13_02221A90 ldr r0, _02222008 ; =0x02243040 mov r1, #0 ldr r0, [r0] ldrsb r0, [r0, #0x62] bl MOD13_02221A90 ldr r0, _02222008 ; =0x02243040 ldr r0, [r0] strb r4, [r0, #0x62] ldmia sp!, {r4, pc} .align 2, 0 _02222008: .word 0x02243040 arm_func_start MOD13_0222200C MOD13_0222200C: ; 0x0222200C stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r0, _022221DC ; =0x0223F75C bl MOD13_0223B320 cmp r0, #0 beq _022221BC ldr r6, _022221E0 ; =0x0223F05C mov r7, #0 ldr r5, _022221E4 ; =0x0223EFF4 add r4, sp, #0 _02222034: mov r0, r6 mov r1, r5 mov r2, r4 bl MOD13_0223AB74 mov r0, r4 bl MOD13_0223B320 cmp r0, #0 beq _02222074 ldr r0, _022221E8 ; =0x02243040 ldr r0, [r0] ldrsb r0, [r0, #0x61] cmp r0, r7 bne _022221BC mov r0, r7 bl MOD13_02221FC0 b _022221C4 _02222074: add r7, r7, #1 cmp r7, #0xa add r6, r6, #4 blt _02222034 ldr r7, _022221EC ; =0x0223F024 mov r6, #0 ldr r5, _022221F0 ; =0x0223EFFC add r4, sp, #0 _02222094: mov r0, r7 mov r1, r5 mov r2, r4 bl MOD13_0223AB74 mov r0, r4 bl MOD13_0223B320 cmp r0, #0 beq _0222214C ldr r1, _022221E8 ; =0x02243040 add r0, r6, #0xa ldr r1, [r1] ldrsb r1, [r1, #0x61] cmp r1, r0 bne _022221BC bl MOD13_02221FC0 cmp r6, #0 bne _022221C4 ldr r0, _022221E8 ; =0x02243040 ldr r2, [r0] ldrb r1, [r2, #0x65] add r1, r1, #1 strb r1, [r2, #0x65] ldr r2, [r0] ldrb r1, [r2, #0x65] cmp r1, #0x28 addlo sp, sp, #0xc ldmloia sp!, {r4, r5, r6, r7, pc} ldrb r1, [r2, #0x66] cmp r1, #0 bne _0222212C mov r0, #9 bl MOD13_0223424C ldr r0, _022221E8 ; =0x02243040 mvn r1, #0 ldr r0, [r0] add sp, sp, #0xc strb r1, [r0, #0x61] ldmia sp!, {r4, r5, r6, r7, pc} _0222212C: mov r1, #0x10 strb r1, [r2, #0x60] ldr r1, [r0] add sp, sp, #0xc ldrb r0, [r1, #0x65] sub r0, r0, #7 strb r0, [r1, #0x65] ldmia sp!, {r4, r5, r6, r7, pc} _0222214C: add r6, r6, #1 cmp r6, #2 add r7, r7, #4 blt _02222094 ldr r7, _022221F4 ; =0x0223F02C mov r6, #0 ldr r5, _022221F8 ; =0x0223F000 add r4, sp, #0 _0222216C: mov r0, r7 mov r1, r5 mov r2, r4 bl MOD13_0223AB74 mov r0, r4 bl MOD13_0223B320 cmp r0, #0 beq _022221AC ldr r1, _022221E8 ; =0x02243040 add r0, r6, #0xc ldr r1, [r1] ldrsb r1, [r1, #0x61] cmp r1, r0 bne _022221BC bl MOD13_02221FC0 b _022221C4 _022221AC: add r6, r6, #1 cmp r6, #2 add r7, r7, #4 blt _0222216C _022221BC: mvn r0, #0 bl MOD13_02221FC0 _022221C4: ldr r0, _022221E8 ; =0x02243040 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x65] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _022221DC: .word 0x0223F75C _022221E0: .word 0x0223F05C _022221E4: .word 0x0223EFF4 _022221E8: .word 0x02243040 _022221EC: .word 0x0223F024 _022221F0: .word 0x0223EFFC _022221F4: .word 0x0223F02C _022221F8: .word 0x0223F000 arm_func_start MOD13_022221FC MOD13_022221FC: ; 0x022221FC stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r1, _022223A0 ; =0x02243040 ldr r0, _022223A4 ; =0x0223F75C ldr r1, [r1] mov r2, #0 strb r2, [r1, #0x60] bl MOD13_0223B1DC cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r7, _022223A8 ; =0x0223F05C mov r4, #0 ldr r6, _022223AC ; =0x0223EFF4 add r5, sp, #0 _02222238: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B1DC cmp r0, #0 beq _02222290 ldr r0, _022223A0 ; =0x02243040 ldr r2, [r0] ldrsb r1, [r2, #0x61] cmp r1, r4 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r1, _022223B0 ; =0x0223F034 ldrb r1, [r1, r4] strb r1, [r2, #0x60] ldr r0, [r0] strb r4, [r0, #0x63] bl MOD13_02221A04 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02222290: add r4, r4, #1 cmp r4, #0xa add r7, r7, #4 blt _02222238 ldr r7, _022223B4 ; =0x0223F024 mov r4, #0 ldr r6, _022223B8 ; =0x0223EFFC add r5, sp, #0 _022222B0: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B1DC cmp r0, #0 beq _0222230C ldr r0, _022223A0 ; =0x02243040 add r2, r4, #0xa ldr r3, [r0] ldrsb r1, [r3, #0x61] cmp r1, r2 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r1, _022223BC ; =0x0223EFF0 ldrb r1, [r1, r4] strb r1, [r3, #0x60] ldr r0, [r0] strb r2, [r0, #0x63] bl MOD13_02221A04 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _0222230C: add r4, r4, #1 cmp r4, #2 add r7, r7, #4 blt _022222B0 ldr r7, _022223C0 ; =0x0223F02C mov r4, #0 ldr r6, _022223C4 ; =0x0223F000 add r5, sp, #0 _0222232C: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B1DC cmp r0, #0 beq _02222388 ldr r0, _022223A0 ; =0x02243040 add r2, r4, #0xc ldr r3, [r0] ldrsb r1, [r3, #0x61] cmp r1, r2 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} ldr r1, _022223C8 ; =0x0223EFEC ldrb r1, [r1, r4] strb r1, [r3, #0x60] ldr r0, [r0] strb r2, [r0, #0x63] bl MOD13_02221A04 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _02222388: add r4, r4, #1 cmp r4, #2 add r7, r7, #4 blt _0222232C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _022223A0: .word 0x02243040 _022223A4: .word 0x0223F75C _022223A8: .word 0x0223F05C _022223AC: .word 0x0223EFF4 _022223B0: .word 0x0223F034 _022223B4: .word 0x0223F024 _022223B8: .word 0x0223EFFC _022223BC: .word 0x0223EFF0 _022223C0: .word 0x0223F02C _022223C4: .word 0x0223F000 _022223C8: .word 0x0223EFEC arm_func_start MOD13_022223CC MOD13_022223CC: ; 0x022223CC stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r0, _02222588 ; =0x0223F75C bl MOD13_0223B2B4 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r0, _0222258C ; =0x02243040 mvn r1, #0 ldr r0, [r0] ldr r7, _02222590 ; =0x0223F05C strb r1, [r0, #0x61] mov r4, #0 ldr r6, _02222594 ; =0x0223EFF4 add r5, sp, #0 _02222408: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B2B4 cmp r0, #0 beq _02222468 ldr r0, _0222258C ; =0x02243040 ldr r0, [r0] ldrb r0, [r0, #0x67] cmp r0, #0 bne _0222244C mov r0, #9 bl MOD13_0223424C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _0222244C: mov r0, #0 bl MOD13_0223424C ldr r0, _0222258C ; =0x02243040 add sp, sp, #0xc ldr r0, [r0] strb r4, [r0, #0x61] ldmia sp!, {r4, r5, r6, r7, pc} _02222468: add r4, r4, #1 cmp r4, #0xa add r7, r7, #4 blt _02222408 ldr r7, _02222598 ; =0x0223F024 mov r4, #0 ldr r6, _0222259C ; =0x0223EFFC add r5, sp, #0 _02222488: mov r0, r7 mov r1, r6 mov r2, r5 bl MOD13_0223AB74 mov r0, r5 bl MOD13_0223B2B4 cmp r0, #0 beq _02222510 cmp r4, #0 bne _022224C4 ldr r0, _0222258C ; =0x02243040 ldr r0, [r0] ldrb r0, [r0, #0x66] cmp r0, #0 beq _022224E0 _022224C4: cmp r4, #1 bne _022224F0 ldr r0, _0222258C ; =0x02243040 ldr r0, [r0] ldrb r0, [r0, #0x68] cmp r0, #0 bne _022224F0 _022224E0: mov r0, #9 bl MOD13_0223424C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} _022224F0: mov r0, #0 bl MOD13_0223424C ldr r0, _0222258C ; =0x02243040 add r1, r4, #0xa ldr r0, [r0] add sp, sp, #0xc strb r1, [r0, #0x61] ldmia sp!, {r4, r5, r6, r7, pc} _02222510: add r4, r4, #1 cmp r4, #2 add r7, r7, #4 blt _02222488 ldr r7, _022225A0 ; =0x0223F02C mov r6, #0 ldr r5, _022225A4 ; =0x0223F000 add r4, sp, #0 _02222530: mov r0, r7 mov r1, r5 mov r2, r4 bl MOD13_0223AB74 mov r0, r4 bl MOD13_0223B2B4 cmp r0, #0 beq _02222570 mov r0, #0 bl MOD13_0223424C ldr r0, _0222258C ; =0x02243040 add r1, r6, #0xc ldr r0, [r0] add sp, sp, #0xc strb r1, [r0, #0x61] ldmia sp!, {r4, r5, r6, r7, pc} _02222570: add r6, r6, #1 cmp r6, #2 add r7, r7, #4 blt _02222530 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02222588: .word 0x0223F75C _0222258C: .word 0x02243040 _02222590: .word 0x0223F05C _02222594: .word 0x0223EFF4 _02222598: .word 0x0223F024 _0222259C: .word 0x0223EFFC _022225A0: .word 0x0223F02C _022225A4: .word 0x0223F000 arm_func_start MOD13_022225A8 MOD13_022225A8: ; 0x022225A8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022223CC bl MOD13_022221FC bl MOD13_0222200C bl MOD13_02221E00 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02222640 ; =0x02243040 mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #0x40] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r0, _02222644 ; =0x0223F02C ldr r1, [sp, #4] ldrh r0, [r0, #2] sub r1, r1, #0xc str r1, [sp, #4] cmp r1, r0 ble _0222261C mov r0, #4 bl MOD13_02221B6C add sp, sp, #8 ldmia sp!, {r4, pc} _0222261C: mov r1, r0 mov r0, #4 bl MOD13_02221B6C bl MOD13_02221A04 ldr r1, _02222648 ; =MOD13_022225A8 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02222640: .word 0x02243040 _02222644: .word 0x0223F02C _02222648: .word MOD13_022225A8 arm_func_start MOD13_0222264C MOD13_0222264C: ; 0x0222264C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _022226D8 ; =0x02243040 ldr r2, _022226DC ; =0x0223F05C ldr r3, [r1] ldr r1, _022226E0 ; =0x01FF0000 ldr ip, [r3, #0x34] ldrh r2, [r2, #0x26] ldr r3, [ip] mov r4, r0 and r0, r3, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r1, r0, #0xc str r0, [sp, #4] str r1, [sp, #4] cmp r1, r2 ble _022226AC mov r0, #3 bl MOD13_02221B6C add sp, sp, #8 ldmia sp!, {r4, pc} _022226AC: mov r1, r2 mov r0, #3 bl MOD13_02221B6C mov r0, #4 mov r1, #0xc0 bl MOD13_02221B6C ldr r1, _022226E4 ; =0x022225C8 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022226D8: .word 0x02243040 _022226DC: .word 0x0223F05C _022226E0: .word 0x01FF0000 _022226E4: .word 0x022225C8 arm_func_start MOD13_022226E8 MOD13_022226E8: ; 0x022226E8 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02222774 ; =0x02243040 ldr r2, _02222778 ; =0x0223F05C ldr r3, [r1] ldr r1, _0222277C ; =0x01FF0000 ldr ip, [r3, #0x28] ldrh r2, [r2, #0x1a] ldr r3, [ip] mov r4, r0 and r0, r3, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r1, r0, #0xc str r0, [sp, #4] str r1, [sp, #4] cmp r1, r2 ble _02222748 mov r0, #2 bl MOD13_02221B6C add sp, sp, #8 ldmia sp!, {r4, pc} _02222748: mov r1, r2 mov r0, #2 bl MOD13_02221B6C mov r0, #3 mov r1, #0xc0 bl MOD13_02221B6C ldr r1, _02222780 ; =MOD13_0222264C mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02222774: .word 0x02243040 _02222778: .word 0x0223F05C _0222277C: .word 0x01FF0000 _02222780: .word MOD13_0222264C arm_func_start MOD13_02222784 MOD13_02222784: ; 0x02222784 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02222810 ; =0x02243040 ldr r2, _02222814 ; =0x0223F05C ldr r3, [r1] ldr r1, _02222818 ; =0x01FF0000 ldr ip, [r3, #0x1c] ldrh r2, [r2, #0xe] ldr r3, [ip] mov r4, r0 and r0, r3, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r1, r0, #0xc str r0, [sp, #4] str r1, [sp, #4] cmp r1, r2 ble _022227E4 mov r0, #1 bl MOD13_02221B6C add sp, sp, #8 ldmia sp!, {r4, pc} _022227E4: mov r1, r2 mov r0, #1 bl MOD13_02221B6C mov r0, #2 mov r1, #0xc0 bl MOD13_02221B6C ldr r1, _0222281C ; =MOD13_022226E8 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02222810: .word 0x02243040 _02222814: .word 0x0223F05C _02222818: .word 0x01FF0000 _0222281C: .word MOD13_022226E8 arm_func_start MOD13_02222820 MOD13_02222820: ; 0x02222820 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _022228AC ; =0x02243040 ldr r2, _022228B0 ; =0x0223F05C ldr r3, [r1] ldr r1, _022228B4 ; =0x01FF0000 ldr ip, [r3, #0x10] ldrh r2, [r2, #2] ldr r3, [ip] mov r4, r0 and r0, r3, r1 mov r0, r0, lsr #0x10 str r0, [sp] ldr r0, [ip] and r0, r0, #0xff sub r1, r0, #0xc str r0, [sp, #4] str r1, [sp, #4] cmp r1, r2 ble _02222880 mov r0, #0 bl MOD13_02221B6C add sp, sp, #8 ldmia sp!, {r4, pc} _02222880: mov r1, r2 mov r0, #0 bl MOD13_02221B6C mov r0, #1 mov r1, #0xc0 bl MOD13_02221B6C ldr r1, _022228B8 ; =MOD13_02222784 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022228AC: .word 0x02243040 _022228B0: .word 0x0223F05C _022228B4: .word 0x01FF0000 _022228B8: .word MOD13_02222784 arm_func_start MOD13_022228BC MOD13_022228BC: ; 0x022228BC ldr r0, _022228D4 ; =0x02243040 ldr r0, [r0] cmp r0, #0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _022228D4: .word 0x02243040 arm_func_start MOD13_022228D8 MOD13_022228D8: ; 0x022228D8 ldr r1, _022228E8 ; =0x02243040 ldr r1, [r1] strb r0, [r1, #0x68] bx lr .align 2, 0 _022228E8: .word 0x02243040 arm_func_start MOD13_022228EC MOD13_022228EC: ; 0x022228EC ldr r1, _022228FC ; =0x02243040 ldr r1, [r1] strb r0, [r1, #0x67] bx lr .align 2, 0 _022228FC: .word 0x02243040 arm_func_start MOD13_02222900 MOD13_02222900: ; 0x02222900 ldr r1, _02222910 ; =0x02243040 ldr r1, [r1] strb r0, [r1, #0x66] bx lr .align 2, 0 _02222910: .word 0x02243040 arm_func_start MOD13_02222914 MOD13_02222914: ; 0x02222914 ldr r0, _02222924 ; =0x02243040 ldr r0, [r0] ldrb r0, [r0, #0x60] bx lr .align 2, 0 _02222924: .word 0x02243040 arm_func_start MOD13_02222928 MOD13_02222928: ; 0x02222928 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222295C ; =0x02243040 ldr r0, [r0] ldr r0, [r0, #0x58] bl MOD13_02239AE8 ldr r0, _0222295C ; =0x02243040 ldr r1, _02222960 ; =MOD13_022218B0 ldr r0, [r0] ldr r0, [r0, #0x5c] bl MOD13_0223C130 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222295C: .word 0x02243040 _02222960: .word MOD13_022218B0 arm_func_start MOD13_02222964 MOD13_02222964: ; 0x02222964 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x3c ldr r1, _02222CCC ; =0x0223F01C ldr r0, _02222CD0 ; =0x0223EFF4 ldrh r2, [r1, #4] ldrh r4, [r1, #6] ldrh r6, [r1] ldrh r5, [r1, #2] ldrh r3, [r0] strh r2, [sp, #0x30] ldrh r2, [r0, #2] strh r4, [sp, #0x32] mov r0, #0x6c mov r1, #4 strh r6, [sp, #0x2c] strh r5, [sp, #0x2e] strh r3, [sp, #0x30] strh r2, [sp, #0x32] bl MOD13_0223AFE0 ldr r8, _02222CD4 ; =0x02243040 mov r1, #0x1f str r0, [r8] strb r1, [r0, #0x60] ldr r0, [r8] mov r6, #0 strb r6, [r0, #0x63] ldr r0, [r8] mov r1, #1 strb r1, [r0, #0x66] ldr r0, [r8] strb r1, [r0, #0x67] ldr r0, [r8] strb r1, [r0, #0x68] mov r5, r6 mov r4, #0x36 ldr r7, _02222CD8 ; =0xC1FFFCFF _022229F4: mov r0, r5 mov r1, r4 bl MOD13_02239E54 ldr r1, [r8] add r1, r1, r6, lsl #2 str r0, [r1, #0x10] ldr r0, [r8] add r0, r0, r6, lsl #2 ldr r1, [r0, #0x10] ldr r0, [r1] and r0, r0, r7 orr r0, r0, #0x200 str r0, [r1] ldr r0, [r8] add r0, r0, r6, lsl #2 ldr r1, [r0, #0x10] add r6, r6, #1 ldrh r0, [r1, #4] cmp r6, #0xa bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] blt _022229F4 ldr r6, _02222CDC ; =0x0223EFE0 mov r5, #0 ldr r8, _02222CD4 ; =0x02243040 mov r4, r5 ldr r7, _02222CD8 ; =0xC1FFFCFF _02222A64: ldrb r1, [r6] mov r0, r4 bl MOD13_02239E54 ldr r1, [r8] add r6, r6, #1 add r1, r1, r5, lsl #2 str r0, [r1, #0x38] ldr r0, [r8] add r0, r0, r5, lsl #2 ldr r1, [r0, #0x38] ldr r0, [r1] and r0, r0, r7 orr r0, r0, #0x200 str r0, [r1] ldr r0, [r8] add r0, r0, r5, lsl #2 ldr r1, [r0, #0x38] add r5, r5, #1 ldrh r0, [r1, #4] cmp r5, #2 bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] blt _02222A64 ldr sl, _02222CE0 ; =0x0223EFE4 mov sb, #0 ldr r4, _02222CD4 ; =0x02243040 mov fp, sb str sb, [sp, #0x1c] mov r8, #1 mvn r7, #0 mov r6, #0x200 mov r5, #3 _02222AE8: ldrb r1, [sl] mov r0, fp mov r2, r8 bl MOD13_02239E0C ldr r2, [r4] ldr r3, [sp, #0x1c] add r2, r2, sb, lsl #2 str r0, [r2, #0x40] ldr r0, [r4] mov r1, r7 add r0, r0, sb, lsl #2 ldr r0, [r0, #0x40] mov r2, r6 bl MOD13_02239A1C ldr r0, [r4] mov r1, r7 add r0, r0, sb, lsl #2 ldr r0, [r0, #0x40] mov r2, r5 bl MOD13_02239814 add sb, sb, #1 add sl, sl, #1 cmp sb, #2 blt _02222AE8 ldr r1, _02222CE4 ; =0x0223EFF8 mov r8, #0 ldrh r0, [r1, #2] ldr r7, _02222CE8 ; =0x0223F040 ldr r4, _02222CD4 ; =0x02243040 str r0, [sp, #0x14] ldrh r0, [r1] str r8, [sp, #0x10] strh r8, [sp, #0x3a] str r0, [sp, #0x18] add fp, sp, #0x38 str r8, [sp, #0x28] str r8, [sp, #0x20] str r8, [sp, #0x24] mov r6, #2 mov r5, #0x480 _02222B88: add r0, sp, #0x34 str r0, [sp] ldr r0, [sp, #0x20] ldr r2, [sp, #0x14] mov r1, r0 str r1, [sp, #4] ldr r1, [sp, #0x18] mov r3, r0 bl MOD13_0223A9A4 ldr r1, [r4] ldr sl, [sp, #0x10] str r0, [r1, r8, lsl #2] ldr r0, [sp, #0x24] strh r0, [sp, #0x2c] mov sb, r0 _02222BC4: mov r0, sl, lsl #1 ldrh r1, [r7, r0] ldrh r0, [sp, #0x32] strh r1, [sp, #0x38] str r0, [sp] str r6, [sp, #4] str r5, [sp, #8] str fp, [sp, #0xc] ldr r0, [r4] ldrh r1, [sp, #0x2c] ldr r0, [r0, r8, lsl #2] ldrh r2, [sp, #0x2e] ldrh r3, [sp, #0x30] bl MOD13_0223A4F0 add sb, sb, #1 cmp sb, #3 add sl, sl, #1 ldrh r0, [sp, #0x2c] add r0, r0, #0x20 strh r0, [sp, #0x2c] blt _02222BC4 ldr r0, [sp, #0x28] ldr r1, [sp, #0x34] mov r2, r0 bl MOD13_02239B74 ldr r1, [sp, #0x10] ldr r2, [r4] add r1, r1, #3 str r1, [sp, #0x10] add r1, r2, r8, lsl #2 add r8, r8, #1 str r0, [r1, #0x48] cmp r8, #4 blt _02222B88 mov r0, #0 mov r1, #0x44 mov r2, #1 bl MOD13_02239E0C ldr r3, _02222CD4 ; =0x02243040 mvn r1, #0 ldr r4, [r3] mov r2, #0x200 str r0, [r4, #0x58] ldr r0, [r3] mov r3, #0 ldr r0, [r0, #0x58] bl MOD13_02239A1C ldr r0, _02222CD4 ; =0x02243040 mvn r1, #0 ldr r0, [r0] mov r2, #2 ldr r0, [r0, #0x58] bl MOD13_02239814 mov r0, #0 ldr r1, _02222CEC ; =MOD13_02222820 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r2, _02222CD4 ; =0x02243040 mov r1, #0xc0 ldr r2, [r2] str r0, [r2, #0x5c] mov r0, #0 bl MOD13_02221B6C add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02222CCC: .word 0x0223F01C _02222CD0: .word 0x0223EFF4 _02222CD4: .word 0x02243040 _02222CD8: .word 0xC1FFFCFF _02222CDC: .word 0x0223EFE0 _02222CE0: .word 0x0223EFE4 _02222CE4: .word 0x0223EFF8 _02222CE8: .word 0x0223F040 _02222CEC: .word MOD13_02222820 arm_func_start MOD13_02222CF0 MOD13_02222CF0: ; 0x02222CF0 ldr ip, _02222CF8 ; =MOD13_0223AF48 bx ip .align 2, 0 _02222CF8: .word MOD13_0223AF48 arm_func_start MOD13_02222CFC MOD13_02222CFC: ; 0x02222CFC ldr ip, _02222D08 ; =MOD13_0223B004 mov r1, #0x20 bx ip .align 2, 0 _02222D08: .word MOD13_0223B004 arm_func_start MOD13_02222D0C MOD13_02222D0C: ; 0x02222D0C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02222D74 ; =0x02243048 ldr r0, [r0] bl MOD13_02219798 cmp r0, #0 ldreq r1, _02222D78 ; =0x02243044 moveq r0, #1 streqb r0, [r1] addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _02222D74 ; =0x02243048 ldr r0, [r0] ldrb r0, [r0, #0x116] cmp r0, #1 beq _02222D5C add r0, r0, #0xfd and r0, r0, #0xff cmp r0, #2 bhi _02222D68 _02222D5C: add sp, sp, #4 mov r0, #0 ldmia sp!, {pc} _02222D68: mov r0, #2 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02222D74: .word 0x02243048 _02222D78: .word 0x02243044 arm_func_start MOD13_02222D7C MOD13_02222D7C: ; 0x02222D7C stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_02219C9C cmp r4, #0 beq _02222DC0 ldr r0, _02222DCC ; =0x02243048 ldr r1, [r0] ldrb r0, [r1, #0x116] cmp r0, #0 bne _02222DC0 ldr r0, _02222DD0 ; =0x02243044 ldrb r0, [r0] cmp r0, #1 bne _02222DC0 ldr r0, _02222DD4 ; =0x00000117 add r0, r1, r0 bl MOD13_0223390C _02222DC0: ldr r0, _02222DCC ; =0x02243048 bl MOD13_0223AF90 ldmia sp!, {r4, pc} .align 2, 0 _02222DCC: .word 0x02243048 _02222DD0: .word 0x02243044 _02222DD4: .word 0x00000117 arm_func_start MOD13_02222DD8 MOD13_02222DD8: ; 0x02222DD8 stmdb sp!, {lr} sub sp, sp, #0x104 mov r0, #0x26c mov r1, #4 bl MOD13_0223AFE0 ldr r1, _02222ED4 ; =0x02243048 ldr r3, _02222ED8 ; =0x02243044 str r0, [r1] mov r0, #0 add r1, sp, #0 mov r2, #0x104 strb r0, [r3] bl MIi_CpuClear16 mov r3, #0x50 mov r2, #0xc ldr r0, _02222EDC ; =0x0223F0F4 add r1, sp, #4 strb r3, [sp] strh r2, [sp, #2] bl MI_CpuCopy8 ldr r0, _02222ED4 ; =0x02243048 mov r2, #3 ldr r1, [r0] add ip, sp, #0 strh r2, [r1] ldr lr, [r0] mov r2, #0x41 add r3, lr, #2 _02222E48: ldrh r1, [ip], #2 ldrh r0, [ip], #2 subs r2, r2, #1 strh r1, [r3], #2 strh r0, [r3], #2 bne _02222E48 ldr r1, _02222ED4 ; =0x02243048 add r0, lr, #0x100 mov r3, #1 strh r3, [r0, #6] ldr r0, [r1] mvn r2, #0 add r0, r0, #0x100 strh r2, [r0, #8] ldr r0, [r1] add r0, r0, #0x100 strh r3, [r0, #0xa] ldr r0, [r1] add r0, r0, #0x100 strh r2, [r0, #0xc] ldr r0, [r1] add r0, r0, #0x100 strh r2, [r0, #0xe] ldr r0, [r1] add r0, r0, #0x110 bl OS_GetMacAddress ldr r0, _02222EE0 ; =MOD13_02222CFC ldr r1, _02222EE4 ; =MOD13_02222CF0 bl MOD13_02219D58 cmp r0, #0 addeq sp, sp, #0x104 ldmeqia sp!, {pc} bl OS_Terminate add sp, sp, #0x104 ldmia sp!, {pc} .align 2, 0 _02222ED4: .word 0x02243048 _02222ED8: .word 0x02243044 _02222EDC: .word 0x0223F0F4 _02222EE0: .word MOD13_02222CFC _02222EE4: .word MOD13_02222CF0 arm_func_start MOD13_02222EE8 MOD13_02222EE8: ; 0x02222EE8 ldr r0, _02222EF8 ; =0x02243050 mov r1, #1 strb r1, [r0] bx lr .align 2, 0 _02222EF8: .word 0x02243050 arm_func_start MOD13_02222EFC MOD13_02222EFC: ; 0x02222EFC ldr r1, _02222F18 ; =0x02243058 ldr r1, [r1] mov r1, r1, lsr #4 ands r0, r1, r0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _02222F18: .word 0x02243058 arm_func_start MOD13_02222F1C MOD13_02222F1C: ; 0x02222F1C ldr r0, _02222F30 ; =0x02243058 ldr r0, [r0] mov r0, r0, lsl #0x1c mov r0, r0, lsr #0x1c bx lr .align 2, 0 _02222F30: .word 0x02243058 arm_func_start MOD13_02222F34 MOD13_02222F34: ; 0x02222F34 ldr r0, _02222F40 ; =0x0224304C ldrb r0, [r0] bx lr .align 2, 0 _02222F40: .word 0x0224304C arm_func_start MOD13_02222F44 MOD13_02222F44: ; 0x02222F44 cmp r0, #0 ldrne r2, _02222F68 ; =0x02243060 ldrne r2, [r2, #8] strne r2, [r0] cmp r1, #0 ldrne r0, _02222F68 ; =0x02243060 ldrne r0, [r0, #0xc] strne r0, [r1] bx lr .align 2, 0 _02222F68: .word 0x02243060 arm_func_start MOD13_02222F6C MOD13_02222F6C: ; 0x02222F6C ldr r2, _02222F7C ; =0x02243060 str r0, [r2, #8] str r1, [r2, #0xc] bx lr .align 2, 0 _02222F7C: .word 0x02243060 arm_func_start MOD13_02222F80 MOD13_02222F80: ; 0x02222F80 cmp r0, #0 ldrne r2, _02222FA4 ; =0x02243060 ldrne r2, [r2] strne r2, [r0] cmp r1, #0 ldrne r0, _02222FA4 ; =0x02243060 ldrne r0, [r0, #4] strne r0, [r1] bx lr .align 2, 0 _02222FA4: .word 0x02243060 arm_func_start MOD13_02222FA8 MOD13_02222FA8: ; 0x02222FA8 ldr r2, _02222FB8 ; =0x02243060 str r0, [r2] str r1, [r2, #4] bx lr .align 2, 0 _02222FB8: .word 0x02243060 arm_func_start MOD13_02222FBC MOD13_02222FBC: ; 0x02222FBC ldr r1, _02222FC8 ; =0x0224305C str r0, [r1] bx lr .align 2, 0 _02222FC8: .word 0x0224305C arm_func_start MOD13_02222FCC MOD13_02222FCC: ; 0x02222FCC stmdb sp!, {lr} sub sp, sp, #4 bl GX_DispOff ldr r1, _02223020 ; =0x04001000 ldr r0, [r1] bic r0, r0, #0x10000 str r0, [r1] bl MOD13_0223BDD0 bl MOD13_0223B6C0 bl MOD13_0223B7A0 bl MOD13_02234270 bl MOD13_02239CE8 bl MOD13_0223BA04 bl MOD13_0223AA80 bl MOD13_0223A3AC bl MOD13_022395A0 bl MOD13_0223C2A8 bl MOD13_0223B050 bl MOD13_0223BEA8 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223020: .word 0x04001000 arm_func_start MOD13_02223024 MOD13_02223024: ; 0x02223024 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r0, #0 bl GX_VBlankIntr mov r0, #1 bl GX_SetBankForBG mov r0, #2 bl GX_SetBankForOBJ mov r1, #0 mov r2, r1 mov r0, #1 bl GX_SetGraphicsMode mov r3, #0x4000000 ldr r1, [r3] ldr r0, _022232DC ; =0x0400006C bic r1, r1, #0x1f00 str r1, [r3] ldr r2, [r3] mov r1, #0 bic r2, r2, #0xe000 str r2, [r3] bl GXx_SetMasterBrightness_ mov r3, #0x4000000 ldr r2, [r3] ldr r0, _022232E0 ; =0xFFCFFFEF ldr r1, _022232E4 ; =0x00200010 and r0, r2, r0 orr r0, r0, r1 str r0, [r3] ldr r3, _022232E8 ; =0x04000008 ldr r2, _022232EC ; =0x0400000A ldrh r0, [r3] ldr r1, _022232F0 ; =0x0400000C ldr r5, _022232F4 ; =0x0400000E bic r0, r0, #0x40 strh r0, [r3] ldrh r0, [r2] mov ip, #0 ldr r4, _022232F8 ; =0x04000010 bic r0, r0, #0x40 strh r0, [r2] ldrh r0, [r1] ldr r3, _022232FC ; =0x04000014 ldr r2, _02223300 ; =0x04000018 bic r0, r0, #0x40 strh r0, [r1] ldrh lr, [r5] ldr r1, _02223304 ; =0x0400001C ldr r0, _02223308 ; =0x04000050 bic lr, lr, #0x40 strh lr, [r5] str ip, [r4] str ip, [r3] str ip, [r2] str ip, [r1] mov r1, #0x3f mov r2, #0x10 bl G2x_SetBlendBrightness_ mov r0, #0x80 bl GX_SetBankForSubBG mov r0, #0x100 bl GX_SetBankForSubOBJ mov r0, #0 bl GXS_SetGraphicsMode ldr r1, _0222330C ; =0x04001000 ldr r0, [r1] bic r0, r0, #0x1f00 str r0, [r1] ldr r0, [r1] bic r0, r0, #0xe000 str r0, [r1] ldr r0, _02223310 ; =0x0400106C mov r1, #0 bl GXx_SetMasterBrightness_ ldr r3, _0222330C ; =0x04001000 ldr r0, _022232E0 ; =0xFFCFFFEF ldr r1, [r3] ldr r2, _02223314 ; =0x04001008 and r0, r1, r0 orr r0, r0, #0x10 str r0, [r3] ldrh r0, [r2] ldr r1, _02223318 ; =0x0400100A ldr r3, _0222331C ; =0x0400100C bic r0, r0, #0x40 strh r0, [r2] ldrh r0, [r1] ldr r4, _02223320 ; =0x0400100E ldr r2, _02223324 ; =0x04001010 bic r0, r0, #0x40 strh r0, [r1] ldrh r0, [r3] mov ip, #0 ldr r1, _02223328 ; =0x04001014 bic r0, r0, #0x40 strh r0, [r3] ldrh lr, [r4] ldr r0, _0222332C ; =0x04001018 ldr r3, _02223330 ; =0x0400101C bic lr, lr, #0x40 strh lr, [r4] str ip, [r2] str ip, [r1] str ip, [r0] ldr r0, _02223334 ; =0x04001050 mov r1, #0x3f mov r2, #0x10 str ip, [r3] bl G2x_SetBlendBrightness_ ldr r3, _022232E8 ; =0x04000008 ldr r2, _022232EC ; =0x0400000A ldrh r1, [r3] ldr r0, _02223338 ; =0x00000D08 ldr lr, _022232F0 ; =0x0400000C and r1, r1, #0x43 orr r1, r1, #0xc00 strh r1, [r3] ldrh r1, [r2] mov ip, r5 ldr r3, _02223314 ; =0x04001008 and r1, r1, #0x43 orr r0, r1, r0 strh r0, [r2] ldrh r0, [lr] ldr r2, _02223318 ; =0x0400100A ldr r1, _0222331C ; =0x0400100C and r0, r0, #0x43 orr r0, r0, #0xe10 strh r0, [lr] ldrh r0, [ip] and r0, r0, #0x43 orr r0, r0, #0xf10 strh r0, [ip] ldrh r0, [r3] and r0, r0, #0x43 orr r0, r0, #0xc00 strh r0, [r3] ldrh r0, [r2] and r0, r0, #0x43 orr r0, r0, #0xd00 strh r0, [r2] ldrh r0, [r1] and r0, r0, #0x43 orr r0, r0, #0xe00 strh r0, [r1] mov r3, r4 ldrh r0, [r3] mov r2, #0x4000000 ldr r1, _0222333C ; =0x04000304 and r0, r0, #0x43 orr r0, r0, #0xf00 strh r0, [r3] ldr r0, [r2] bic r0, r0, #0x38000000 str r0, [r2] ldr r0, [r2] bic r0, r0, #0x7000000 str r0, [r2] ldrh r0, [r1] bic r0, r0, #0x8000 strh r0, [r1] bl MOD13_0223AAD0 bl MOD13_0223BA84 bl MOD13_0223BCE4 bl MOD13_02239D38 bl GX_DispOn ldr r2, _0222330C ; =0x04001000 mov r0, #1 ldr r1, [r2] orr r1, r1, #0x10000 str r1, [r2] bl GX_VBlankIntr add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _022232DC: .word 0x0400006C _022232E0: .word 0xFFCFFFEF _022232E4: .word 0x00200010 _022232E8: .word 0x04000008 _022232EC: .word 0x0400000A _022232F0: .word 0x0400000C _022232F4: .word 0x0400000E _022232F8: .word 0x04000010 _022232FC: .word 0x04000014 _02223300: .word 0x04000018 _02223304: .word 0x0400001C _02223308: .word 0x04000050 _0222330C: .word 0x04001000 _02223310: .word 0x0400106C _02223314: .word 0x04001008 _02223318: .word 0x0400100A _0222331C: .word 0x0400100C _02223320: .word 0x0400100E _02223324: .word 0x04001010 _02223328: .word 0x04001014 _0222332C: .word 0x04001018 _02223330: .word 0x0400101C _02223334: .word 0x04001050 _02223338: .word 0x00000D08 _0222333C: .word 0x04000304 arm_func_start MOD13_02223340 MOD13_02223340: ; 0x02223340 stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _02223404 ; =0x04000208 mov r0, #0 ldrh r1, [r2] strh r0, [r2] bl GX_DispOff ldr r1, _02223408 ; =0x04001000 ldr r0, [r1] bic r0, r0, #0x10000 str r0, [r1] bl OS_IsTickAvailable cmp r0, #0 bne _0222337C bl OS_Terminate _0222337C: bl OS_IsAlarmAvailable cmp r0, #0 bne _0222338C bl OS_Terminate _0222338C: mov r0, #0 bl GX_VBlankIntr bl FX_Init mvn r0, #0 bl FS_Init bl TP_Init bl RTC_Init bl GX_DispOff ldr r1, _02223408 ; =0x04001000 ldr r0, [r1] bic r0, r0, #0x10000 str r0, [r1] bl MOD13_0223BFE4 ldr r0, _0222340C ; =0x02243054 ldr r0, [r0] bl MOD13_0223B07C bl MOD13_0223B7E8 bl MOD13_0223C2F4 bl MOD13_0223962C bl MOD13_0223B6F4 bl MOD13_0223A3C0 mov r0, #0x700 mov r1, #0x20 bl MOD13_0223B004 str r0, [sp] bl FUN_02096190 add r0, sp, #0 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223404: .word 0x04000208 _02223408: .word 0x04001000 _0222340C: .word 0x02243054 arm_func_start MOD13_02223410 MOD13_02223410: ; 0x02223410 ldr r3, _0222348C ; =0x0224304C ldr r2, _02223490 ; =0x02243058 strb r0, [r3] str r1, [r2] cmp r0, #0 blt _02223430 cmp r0, #5 ble _02223438 _02223430: mov r0, #0 bx lr _02223438: mov r2, r1, lsl #0x1c mov r2, r2, lsr #0x1c cmp r2, #1 movhi r0, #0 bxhi lr cmp r0, #0 beq _02223464 mov r1, r1, lsr #4 ands r1, r1, #1 movne r0, #0 bxne lr _02223464: cmp r0, #0 bne _02223484 ldr r0, _02223490 ; =0x02243058 ldr r0, [r0] mov r0, r0, lsr #4 ands r0, r0, #1 moveq r0, #0 bxeq lr _02223484: mov r0, #1 bx lr .align 2, 0 _0222348C: .word 0x0224304C _02223490: .word 0x02243058 arm_func_start MOD13_02223494 MOD13_02223494: ; 0x02223494 stmdb sp!, {r4, r5, r6, lr} ldr r3, _0222351C ; =0x02243054 str r0, [r3] mov r0, r1 mov r1, r2 bl MOD13_02223410 cmp r0, #0 mvneq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02223520 ; =0x02243050 mov r1, #0 strb r1, [r0] bl MOD13_02223340 bl MOD13_02223024 bl MOD13_022342A0 ldr r0, _02223524 ; =MOD13_02223E10 bl MOD13_02222FBC ldr r5, _02223528 ; =0x0224305C ldr r4, _02223520 ; =0x02243050 mov r6, #0 _022234E4: bl MOD13_0223B6A8 ldr r0, [r5] blx r0 mov r0, r6 bl MOD13_0223C1E0 bl MOD13_0223B0BC bl MOD13_0223BDE0 bl OS_WaitVBlankIntr ldrb r0, [r4] cmp r0, #0 beq _022234E4 bl MOD13_02222FCC mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0222351C: .word 0x02243054 _02223520: .word 0x02243050 _02223524: .word MOD13_02223E10 _02223528: .word 0x0224305C arm_func_start MOD13_0222352C MOD13_0222352C: ; 0x0222352C stmdb sp!, {lr} sub sp, sp, #4 ldr ip, _02223564 ; =0x0000FFFF ldr lr, [r0] and r1, r1, ip ldr ip, [r0, #4] ldr r0, [lr, r1, lsl #2] cmp r2, #0 add r0, ip, r0 addge r3, r3, #0x30 movge r1, r2, lsl #1 strgeh r3, [r0, r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223564: .word 0x0000FFFF arm_func_start MOD13_02223568 MOD13_02223568: ; 0x02223568 ldr r2, _02223584 ; =0x0000FFFF ldr r3, [r0] and r1, r1, r2 ldr r2, [r0, #4] ldr r0, [r3, r1, lsl #2] add r0, r2, r0 bx lr .align 2, 0 _02223584: .word 0x0000FFFF arm_func_start MOD13_02223588 MOD13_02223588: ; 0x02223588 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #8] bl MOD13_0223939C ldr r0, _022235B0 ; =0x02243070 mov r1, r4 ldr r0, [r0] ldr r0, [r0, #0x60] bl MOD13_02239FD0 ldmia sp!, {r4, pc} .align 2, 0 _022235B0: .word 0x02243070 arm_func_start MOD13_022235B4 MOD13_022235B4: ; 0x022235B4 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r1, _02223614 ; =0x02243070 mov r5, r0 ldr r0, [r1] ldr r0, [r0, #0x60] bl MOD13_02239F78 mov r4, r0 add r1, sp, #0 mov r0, r5 mov r2, #4 bl MOD13_022393D8 str r0, [r4, #8] ldr r1, [r4, #8] mov r0, r4 add r2, r1, #0x20 add r1, r2, #0x10 str r1, [r4] ldr r1, [r2, #4] add r1, r2, r1 add r1, r1, #8 str r1, [r4, #4] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02223614: .word 0x02243070 arm_func_start MOD13_02223618 MOD13_02223618: ; 0x02223618 ldr ip, _02223624 ; =MOD13_0223AF90 ldr r0, _02223628 ; =0x02243070 bx ip .align 2, 0 _02223624: .word MOD13_0223AF90 _02223628: .word 0x02243070 arm_func_start MOD13_0222362C MOD13_0222362C: ; 0x0222362C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x64 mov r1, #4 bl MOD13_0223B004 mov r1, r0 ldr r3, _0222366C ; =0x02243070 mov r0, #8 mov r2, #0xc str r1, [r3] bl MOD13_0223A054 ldr r1, _0222366C ; =0x02243070 ldr r1, [r1] str r0, [r1, #0x60] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222366C: .word 0x02243070 arm_func_start MOD13_02223670 MOD13_02223670: ; 0x02223670 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 bl MOD13_02238BE0 ldr r0, _02223914 ; =0x02243074 ldr r0, [r0] add r0, r0, #0x1e000 ldrb r1, [r0, #0x2a0] cmp r1, #0 beq _022236C4 ldrb r1, [r0, #0x2a1] cmp r1, #0 bne _022236C4 ldr r1, [r0, #0x298] cmp r1, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} mov r0, #0 blx r1 add sp, sp, #8 ldmia sp!, {r4, pc} _022236C4: add r0, sp, #0 add r1, sp, #1 bl MOD13_02238B98 ldrb r0, [sp] cmp r0, #0x1a bgt _0222375C cmp r0, #0x1a bge _02223870 cmp r0, #0x14 bgt _0222374C cmp r0, #0 addge pc, pc, r0, lsl #2 b _0222390C _022236F8: ; jump table b _0222390C ; case 0 b _0222390C ; case 1 b _0222390C ; case 2 b _0222390C ; case 3 b _0222390C ; case 4 b MOD13_02223784 ; case 5 b _0222390C ; case 6 b _0222390C ; case 7 b _0222390C ; case 8 b _0222390C ; case 9 b _0222390C ; case 10 b _0222390C ; case 11 b MOD13_022238B4 ; case 12 b MOD13_022237E8 ; case 13 b _0222390C ; case 14 b _0222390C ; case 15 b _0222390C ; case 16 b _0222390C ; case 17 b _0222390C ; case 18 b _0222390C ; case 19 b _0222382C ; case 20 _0222374C: cmp r0, #0x17 beq _0222382C add sp, sp, #8 ldmia sp!, {r4, pc} _0222375C: cmp r0, #0x1d bgt _02223774 cmp r0, #0x1d beq _02223870 add sp, sp, #8 ldmia sp!, {r4, pc} _02223774: cmp r0, #0x22 beq _022238F8 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_start MOD13_02223784 MOD13_02223784: ; 0x02223784 ldrb r0, [sp, #1] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r1, _02223914 ; =0x02243074 ldr r0, _02223918 ; =0x0001E280 ldr r1, [r1] add r4, r1, r0 bl MOD13_02238B88 mov r1, r4 mov r2, #0x16 bl MIi_CpuCopy16 ldr r0, _02223914 ; =0x02243074 ldr r0, [r0] add r0, r0, #0x1e000 ldr r1, [r0, #0x298] cmp r1, #0 moveq r1, #1 streqb r1, [r0, #0x2a0] addeq sp, sp, #8 ldmeqia sp!, {r4, pc} mov r0, #0 blx r1 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_start MOD13_022237E8 MOD13_022237E8: ; 0x022237E8 ldrb r0, [sp, #1] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _02223914 ; =0x02243074 ldr r0, [r0] add r0, r0, #0x1e000 ldr r1, [r0, #0x298] cmp r1, #0 moveq r1, #1 streqb r1, [r0, #0x2a0] addeq sp, sp, #8 ldmeqia sp!, {r4, pc} mov r0, #1 blx r1 add sp, sp, #8 ldmia sp!, {r4, pc} _0222382C: ldrb r0, [sp, #1] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _02223914 ; =0x02243074 ldr r0, [r0] add r0, r0, #0x1e000 ldr r1, [r0, #0x298] cmp r1, #0 moveq r1, #1 streqb r1, [r0, #0x2a0] addeq sp, sp, #8 ldmeqia sp!, {r4, pc} mov r0, #3 blx r1 add sp, sp, #8 ldmia sp!, {r4, pc} _02223870: ldrb r0, [sp, #1] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _02223914 ; =0x02243074 ldr r0, [r0] add r0, r0, #0x1e000 ldr r1, [r0, #0x298] cmp r1, #0 moveq r1, #1 streqb r1, [r0, #0x2a0] addeq sp, sp, #8 ldmeqia sp!, {r4, pc} mov r0, #4 blx r1 add sp, sp, #8 ldmia sp!, {r4, pc} arm_func_start MOD13_022238B4 MOD13_022238B4: ; 0x022238B4 ldrb r0, [sp, #1] cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} ldr r0, _02223914 ; =0x02243074 ldr r0, [r0] add r0, r0, #0x1e000 ldr r1, [r0, #0x298] cmp r1, #0 moveq r1, #1 streqb r1, [r0, #0x2a0] addeq sp, sp, #8 ldmeqia sp!, {r4, pc} mov r0, #2 blx r1 add sp, sp, #8 ldmia sp!, {r4, pc} _022238F8: mov r1, r4 mov r0, #0 bl MOD13_0223C110 ldr r0, _02223914 ; =0x02243074 bl MOD13_0223AF90 _0222390C: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02223914: .word 0x02243074 _02223918: .word 0x0001E280 arm_func_start MOD13_0222391C MOD13_0222391C: ; 0x0222391C ldr r1, _02223930 ; =0x02243074 ldr r0, _02223934 ; =0x0001E280 ldr r1, [r1] add r0, r1, r0 bx lr .align 2, 0 _02223930: .word 0x02243074 _02223934: .word 0x0001E280 arm_func_start MOD13_02223938 MOD13_02223938: ; 0x02223938 ldr ip, _02223940 ; =MOD13_02238FFC bx ip .align 2, 0 _02223940: .word MOD13_02238FFC arm_func_start MOD13_02223944 MOD13_02223944: ; 0x02223944 ldr r1, _02223958 ; =0x02243074 ldr r1, [r1] add r1, r1, #0x1e000 str r0, [r1, #0x298] bx lr .align 2, 0 _02223958: .word 0x02243074 arm_func_start MOD13_0222395C MOD13_0222395C: ; 0x0222395C ldr r0, _02223974 ; =0x02243074 ldr r0, [r0] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _02223974: .word 0x02243074 arm_func_start MOD13_02223978 MOD13_02223978: ; 0x02223978 stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_02239124 cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _022239B0 ; =0x02243074 mov r1, r4 ldr r0, [r0] mov r3, #1 add r2, r0, #0x1e000 mov r0, #0 strb r3, [r2, #0x2a1] bl MOD13_0223C110 ldmia sp!, {r4, pc} .align 2, 0 _022239B0: .word 0x02243074 arm_func_start MOD13_022239B4 MOD13_022239B4: ; 0x022239B4 ldr ip, _022239CC ; =MOD13_0223C1C4 mov r0, #0 ldr r1, _022239D0 ; =MOD13_02223978 mov r2, r0 mov r3, #0x78 bx ip .align 2, 0 _022239CC: .word MOD13_0223C1C4 _022239D0: .word MOD13_02223978 arm_func_start MOD13_022239D4 MOD13_022239D4: ; 0x022239D4 stmdb sp!, {r4, lr} sub sp, sp, #0x20 mov r4, r0 ldr r0, _02223AB0 ; =0x0001E2A4 mov r1, #0x20 bl MOD13_0223B004 ldr r2, _02223AB4 ; =0x02243074 add r1, r0, #0x1e000 str r0, [r2] str r4, [r1, #0x298] ldr r0, [r2] mov r4, #0 add r0, r0, #0x1e000 strb r4, [r0, #0x2a0] ldr r0, [r2] ldr lr, _02223AB8 ; =0x0223FDA4 add r0, r0, #0x1e000 strb r4, [r0, #0x2a1] add ip, sp, #0 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldmia lr, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, _02223ABC ; =0x0224307C mov r1, r4 ldr r0, [r0] bl MOD13_02223568 ldr r1, _02223ABC ; =0x0224307C str r0, [sp, #4] ldr r0, [r1] mov r1, #1 bl MOD13_02223568 str r0, [sp, #8] bl MOD13_02222F34 add r0, r0, #0x31 strb r0, [sp, #0x18] ldr r0, _02223AB4 ; =0x02243074 add r1, sp, #0 ldr r0, [r0] bl MOD13_0223923C bl MOD13_0223903C cmp r0, #0 bne _02223A84 bl OS_Terminate _02223A84: mov r0, #0 ldr r1, _02223AC0 ; =MOD13_02223670 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02223AB4 ; =0x02243074 ldr r1, [r1] add r1, r1, #0x1e000 str r0, [r1, #0x29c] add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 _02223AB0: .word 0x0001E2A4 _02223AB4: .word 0x02243074 _02223AB8: .word 0x0223FDA4 _02223ABC: .word 0x0224307C _02223AC0: .word MOD13_02223670 arm_func_start MOD13_02223AC4 MOD13_02223AC4: ; 0x02223AC4 ldr ip, _02223ACC ; =MOD13_0223AF48 bx ip .align 2, 0 _02223ACC: .word MOD13_0223AF48 arm_func_start MOD13_02223AD0 MOD13_02223AD0: ; 0x02223AD0 ldr ip, _02223ADC ; =MOD13_0223B004 mov r1, #0x20 bx ip .align 2, 0 _02223ADC: .word MOD13_0223B004 arm_func_start MOD13_02223AE0 MOD13_02223AE0: ; 0x02223AE0 ldr r3, _02223AF4 ; =0x02243078 ldmia r0, {r0, r1, r2} ldr r3, [r3] stmia r3, {r0, r1, r2} bx lr .align 2, 0 _02223AF4: .word 0x02243078 arm_func_start MOD13_02223AF8 MOD13_02223AF8: ; 0x02223AF8 stmdb sp!, {lr} sub sp, sp, #0xec add r0, sp, #0 bl MOD13_0221A794 cmp r0, #1 beq _02223B14 bl OS_Terminate _02223B14: add r0, sp, #0 bl MOD13_02233A24 add sp, sp, #0xec ldmia sp!, {pc} arm_func_start MOD13_02223B24 MOD13_02223B24: ; 0x02223B24 stmdb sp!, {lr} sub sp, sp, #0xec ldr r1, _02223BDC ; =0x02243078 ldr r1, [r1] ldr r1, [r1] cmp r1, #7 addls pc, pc, r1, lsl #2 b _02223BD4 _02223B44: ; jump table b _02223B64 ; case 0 b _02223B64 ; case 1 b _02223B70 ; case 2 b _02223B64 ; case 3 b _02223B7C ; case 4 b _02223B64 ; case 5 b _02223B88 ; case 6 b _02223BD0 ; case 7 _02223B64: add sp, sp, #0xec mov r0, #0 ldmia sp!, {pc} _02223B70: add sp, sp, #0xec mov r0, #1 ldmia sp!, {pc} _02223B7C: add sp, sp, #0xec mov r0, #2 ldmia sp!, {pc} _02223B88: add r0, sp, #0 bl MOD13_0221A794 cmp r0, #1 beq _02223B9C bl OS_Terminate _02223B9C: ldr r0, [sp, #0x20] cmp r0, #0 blt _02223BC4 cmp r0, #3 bgt _02223BC4 ldr r0, [sp, #0x24] cmp r0, #1 addeq sp, sp, #0xec moveq r0, #3 ldmeqia sp!, {pc} _02223BC4: add sp, sp, #0xec mov r0, #5 ldmia sp!, {pc} _02223BD0: mov r0, #4 _02223BD4: add sp, sp, #0xec ldmia sp!, {pc} .align 2, 0 _02223BDC: .word 0x02243078 arm_func_start MOD13_02223BE0 MOD13_02223BE0: ; 0x02223BE0 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221A7EC cmp r0, #1 beq _02223BF8 bl OS_Terminate _02223BF8: ldr r0, _02223C08 ; =0x02243078 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223C08: .word 0x02243078 arm_func_start MOD13_02223C0C MOD13_02223C0C: ; 0x02223C0C stmdb sp!, {lr} sub sp, sp, #0xc mov r0, #0xc mvn r1, #3 bl MOD13_0223AFE0 ldr r1, _02223C68 ; =0x02243078 ldr ip, _02223C6C ; =MOD13_02223AC4 str r0, [r1] ldr r2, _02223C70 ; =MOD13_02223AE0 ldr r3, _02223C74 ; =MOD13_02223AD0 str ip, [sp] mov ip, #0x800 mov r0, #0xf mov r1, #0x40 str ip, [sp, #4] bl MOD13_0221A8A4 cmp r0, #1 beq _02223C58 bl OS_Terminate _02223C58: mov r0, #0xa bl OS_Sleep add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02223C68: .word 0x02243078 _02223C6C: .word MOD13_02223AC4 _02223C70: .word MOD13_02223AE0 _02223C74: .word MOD13_02223AD0 arm_func_start MOD13_02223C78 MOD13_02223C78: ; 0x02223C78 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 mov r1, r0 bl MOD13_0223C0A0 mov r0, #1 mov r1, #0 bl MOD13_0223C0A0 mov r0, #1 bl MOD13_02239F20 mov r0, #0 bl MOD13_02239F20 bl MOD13_0221F528 bl MOD13_0221F404 ldr r0, _02223CF8 ; =0x0224307C ldr r0, [r0] bl MOD13_02223588 bl MOD13_02223618 bl MOD13_02234178 bl MOD13_02222EE8 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223CF8: .word 0x0224307C arm_func_start MOD13_02223CFC MOD13_02223CFC: ; 0x02223CFC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 mov r1, #1 mov r2, #0x3f mov r3, #0x14 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x3f mov r3, #0x14 bl MOD13_0223A2A8 ldr r0, _02223D3C ; =MOD13_02223C78 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223D3C: .word MOD13_02223C78 arm_func_start MOD13_02223D40 MOD13_02223D40: ; 0x02223D40 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02222F1C cmp r0, #0 beq _02223D8C cmp r0, #1 beq _02223DA8 add sp, sp, #4 ldmia sp!, {pc} _02223D8C: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02223DC4 ; =MOD13_022245B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02223DA8: mov r0, #1 mov r1, r0 bl MOD13_02222FA8 ldr r0, _02223DC8 ; =MOD13_02230714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223DC4: .word MOD13_022245B4 _02223DC8: .word MOD13_02230714 arm_func_start MOD13_02223DCC MOD13_02223DCC: ; 0x02223DCC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r2, r0 mov r1, #1 mov r3, #0x14 bl MOD13_0223A2A8 mov r0, #2 mov r2, r0 mov r1, #0 mov r3, #0x14 bl MOD13_0223A2A8 ldr r0, _02223E0C ; =MOD13_02223D40 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223E0C: .word MOD13_02223D40 arm_func_start MOD13_02223E10 MOD13_02223E10: ; 0x02223E10 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0223418C bl MOD13_0222362C bl MOD13_0221F424 bl MOD13_0221F53C bl MOD13_0221EF74 bl MOD13_02222F34 cmp r0, #1 bne _02223E5C mov r0, #2 bl MOD13_02222EFC cmp r0, #0 beq _02223E5C ldr r0, _02223F90 ; =0x0223FE38 bl MOD13_022235B4 ldr r1, _02223F94 ; =0x0224307C str r0, [r1] b _02223E74 _02223E5C: bl MOD13_02222F34 ldr r1, _02223F98 ; =0x0223FE20 ldr r0, [r1, r0, lsl #2] bl MOD13_022235B4 ldr r1, _02223F94 ; =0x0224307C str r0, [r1] _02223E74: ldr r0, _02223F9C ; =0x0223FE48 bl MOD13_0221F1BC mov r1, r0 mov r0, #1 bl MOD13_02239F48 ldr r0, _02223FA0 ; =0x0223FE5C bl MOD13_0221F1BC mov r1, r0 mov r0, #0 bl MOD13_02239F48 ldr r0, _02223FA4 ; =0x0223FE70 ldr r1, _02223FA8 ; =0x020C8DB4 bl MOD13_0221F174 ldr r0, _02223FAC ; =0x0223FE84 ldr r1, _02223FB0 ; =0x020C94E8 bl MOD13_0221F174 ldr r0, _02223FB4 ; =0x0223FE98 ldr r1, _02223FB8 ; =0x020C9294 bl MOD13_0221F174 ldr r0, _02223FBC ; =0x0223FEB0 ldr r1, _02223FC0 ; =0x020C9418 bl MOD13_0221F174 ldr r0, _02223FC4 ; =0x0223FEC8 ldr r1, _02223FC8 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _02223FCC ; =0x0223FEE0 ldr r1, _02223FD0 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _02223FD4 ; =0x0223FEF8 ldr r1, _02223FD8 ; =0x020C92F4 bl MOD13_0221F174 ldr r0, _02223FDC ; =0x0223FF10 ldr r1, _02223FE0 ; =0x020C9480 bl MOD13_0221F174 bl MOD13_02222F1C cmp r0, #0 beq _02223F14 cmp r0, #1 beq _02223F24 b _02223F30 _02223F14: ldr r0, _02223FE4 ; =0x0223FF28 ldr r1, _02223FE8 ; =0x020C90F4 bl MOD13_0221F174 b _02223F30 _02223F24: ldr r0, _02223FEC ; =0x0223FF3C ldr r1, _02223FE8 ; =0x020C90F4 bl MOD13_0221F174 _02223F30: ldr ip, _02223FF0 ; =0x0400100A ldr r3, _02223FF4 ; =0x0400000A ldrh r2, [ip] mov r0, #1 mov r1, #2 bic r2, r2, #3 orr r2, r2, #3 strh r2, [ip] ldrh r2, [r3] bic r2, r2, #3 orr r2, r2, #3 strh r2, [r3] ldrh r2, [r3] bic r2, r2, #3 orr r2, r2, #3 strh r2, [r3] bl MOD13_0223AEF4 mov r0, #0 mov r1, #2 bl MOD13_0223AEF4 ldr r0, _02223FF8 ; =MOD13_02223DCC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02223F90: .word 0x0223FE38 _02223F94: .word 0x0224307C _02223F98: .word 0x0223FE20 _02223F9C: .word 0x0223FE48 _02223FA0: .word 0x0223FE5C _02223FA4: .word 0x0223FE70 _02223FA8: .word 0x020C8DB4 _02223FAC: .word 0x0223FE84 _02223FB0: .word 0x020C94E8 _02223FB4: .word 0x0223FE98 _02223FB8: .word 0x020C9294 _02223FBC: .word 0x0223FEB0 _02223FC0: .word 0x020C9418 _02223FC4: .word 0x0223FEC8 _02223FC8: .word 0x020C8D4C _02223FCC: .word 0x0223FEE0 _02223FD0: .word 0x020C9550 _02223FD4: .word 0x0223FEF8 _02223FD8: .word 0x020C92F4 _02223FDC: .word 0x0223FF10 _02223FE0: .word 0x020C9480 _02223FE4: .word 0x0223FF28 _02223FE8: .word 0x020C90F4 _02223FEC: .word 0x0223FF3C _02223FF0: .word 0x0400100A _02223FF4: .word 0x0400000A _02223FF8: .word MOD13_02223DCC arm_func_start MOD13_02223FFC MOD13_02223FFC: ; 0x02223FFC stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02224040 ; =0x0223F100 ldr r0, _02224044 ; =0x02243080 ldrb r3, [r1] ldrb r2, [r1, #1] ldrb r1, [r0] add ip, sp, #0 ldr r0, _02224048 ; =0x02243084 strb r3, [sp] strb r2, [sp, #1] ldrb r1, [ip, r1] ldr r0, [r0] mov r2, r1 bl MOD13_022327DC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224040: .word 0x0223F100 _02224044: .word 0x02243080 _02224048: .word 0x02243084 arm_func_start MOD13_0222404C MOD13_0222404C: ; 0x0222404C stmdb sp!, {lr} sub sp, sp, #4 cmp r0, #1 addeq sp, sp, #4 ldmeqia sp!, {pc} cmp r0, #3 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r1, _022240BC ; =0x02243080 mov r0, #8 ldrb r2, [r1] eor r2, r2, #1 strb r2, [r1] bl MOD13_0223424C ldr r0, _022240BC ; =0x02243080 ldr ip, _022240C0 ; =0x0223F114 ldrb r0, [r0] ldr r1, _022240C4 ; =0x0223F118 ldr r2, _022240C8 ; =0x0223F116 mov lr, r0, lsl #3 ldr r3, _022240CC ; =0x0223F11A ldrh r0, [ip, lr] ldrh r1, [r1, lr] ldrh r2, [r2, lr] ldrh r3, [r3, lr] bl MOD13_0221F25C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022240BC: .word 0x02243080 _022240C0: .word 0x0223F114 _022240C4: .word 0x0223F118 _022240C8: .word 0x0223F116 _022240CC: .word 0x0223F11A arm_func_start MOD13_022240D0 MOD13_022240D0: ; 0x022240D0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221F21C bl MOD13_0221EE54 ldr r0, _02224184 ; =0x02243084 ldr r0, [r0] bl MOD13_0223939C mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x14 bl MOD13_0223AE98 ldr r0, _02224188 ; =0x02243080 ldrb r0, [r0] cmp r0, #0 beq _0222414C cmp r0, #1 beq _02224168 add sp, sp, #4 ldmia sp!, {pc} _0222414C: mov r0, #1 mov r1, #0 bl MOD13_02222FA8 ldr r0, _0222418C ; =MOD13_02230714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02224168: mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _02224190 ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224184: .word 0x02243084 _02224188: .word 0x02243080 _0222418C: .word MOD13_02230714 _02224190: .word MOD13_022259A8 arm_func_start MOD13_02224194 MOD13_02224194: ; 0x02224194 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _022241E8 ; =MOD13_022240D0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022241E8: .word MOD13_022240D0 arm_func_start MOD13_022241EC MOD13_022241EC: ; 0x022241EC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02224210 ; =MOD13_02224194 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224210: .word MOD13_02224194 arm_func_start MOD13_02224214 MOD13_02224214: ; 0x02224214 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 beq _02224238 cmp r0, #1 beq _02224250 add sp, sp, #4 ldmia sp!, {pc} _02224238: mov r0, #7 bl MOD13_0223424C ldr r0, _0222426C ; =MOD13_02223CFC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02224250: mov r0, #6 bl MOD13_0223424C bl MOD13_02223FFC ldr r0, _02224270 ; =MOD13_022241EC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222426C: .word MOD13_02223CFC _02224270: .word MOD13_022241EC arm_func_start MOD13_02224274 MOD13_02224274: ; 0x02224274 bx lr arm_func_start MOD13_02224278 MOD13_02224278: ; 0x02224278 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r4, _022243B0 ; =0x0223F104 mov r5, #0 _02224288: mov r0, r4 bl MOD13_0223B2B4 cmp r0, #0 beq _022242DC mov r0, #1 bl MOD13_0221ECF4 ldr r0, _022243B4 ; =0x02243080 ldr ip, _022243B8 ; =0x0223F114 strb r5, [r0] ldrb r0, [r0] ldr r1, _022243BC ; =0x0223F118 ldr r2, _022243C0 ; =0x0223F116 mov lr, r0, lsl #3 ldr r3, _022243C4 ; =0x0223F11A ldrh r0, [ip, lr] ldrh r1, [r1, lr] ldrh r2, [r2, lr] ldrh r3, [r3, lr] bl MOD13_0221F25C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _022242DC: add r5, r5, #1 cmp r5, #2 add r4, r4, #8 blo _02224288 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _0222430C mov r0, #1 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222430C: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _0222432C mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222432C: mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _0222434C mov r0, #1 bl MOD13_0222404C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222434C: mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 beq _0222436C mov r0, #3 bl MOD13_0222404C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222436C: mov r0, #0x20 bl MOD13_0223B3B0 cmp r0, #0 beq _0222438C mov r0, #0 bl MOD13_0222404C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222438C: mov r0, #0x10 bl MOD13_0223B3B0 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} mov r0, #2 bl MOD13_0222404C add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _022243B0: .word 0x0223F104 _022243B4: .word 0x02243080 _022243B8: .word 0x0223F114 _022243BC: .word 0x0223F118 _022243C0: .word 0x0223F116 _022243C4: .word 0x0223F11A arm_func_start MOD13_022243C8 MOD13_022243C8: ; 0x022243C8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02224278 bl MOD13_02224274 bl MOD13_02224214 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02224414 ; =MOD13_022243C8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224414: .word MOD13_022243C8 arm_func_start MOD13_02224418 MOD13_02224418: ; 0x02224418 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0221F0EC ldr r0, _02224460 ; =0x022243E4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224460: .word 0x022243E4 arm_func_start MOD13_02224464 MOD13_02224464: ; 0x02224464 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x14 bl MOD13_0223AEF4 ldr r0, _022244BC ; =MOD13_02224418 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022244BC: .word MOD13_02224418 arm_func_start MOD13_022244C0 MOD13_022244C0: ; 0x022244C0 stmdb sp!, {lr} sub sp, sp, #0x1c ldr ip, _02224584 ; =0x0223F124 add r3, sp, #0 mov r2, #0xb _022244D4: ldrb r1, [ip], #1 ldrb r0, [ip], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _022244D4 ldr r0, _02224588 ; =0x0223FF50 ldr r1, _0222458C ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _02224590 ; =0x0223FF68 ldr r1, _02224594 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _02224598 ; =0x0223FF80 ldr r1, _0222459C ; =0x020C908C bl MOD13_0221F174 add r0, sp, #0 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _022245A0 ; =0x02243084 ldr ip, _022245A4 ; =0x04001008 str r0, [r1] ldrh r0, [ip] ldr r3, _022245A8 ; =0x0400100A ldr r2, _022245AC ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] ldr r1, _022245B0 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 _02224584: .word 0x0223F124 _02224588: .word 0x0223FF50 _0222458C: .word 0x020C8D4C _02224590: .word 0x0223FF68 _02224594: .word 0x020C9550 _02224598: .word 0x0223FF80 _0222459C: .word 0x020C908C _022245A0: .word 0x02243084 _022245A4: .word 0x04001008 _022245A8: .word 0x0400100A _022245AC: .word 0x0400000A _022245B0: .word 0x0400000C arm_func_start MOD13_022245B4 MOD13_022245B4: ; 0x022245B4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022244C0 mov r0, #0 bl MOD13_0221F4CC mov r0, #0x2e mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #4 bl MOD13_02234384 ldr r0, _02224620 ; =0x02243080 ldr r3, _02224624 ; =0x0223F114 ldrb r0, [r0] ldr r1, _02224628 ; =0x0223F118 ldr r2, _0222462C ; =0x0223F116 mov ip, r0, lsl #3 ldrh r0, [r3, ip] ldrh r1, [r1, ip] ldrh r2, [r2, ip] ldr r3, _02224630 ; =0x0223F11A ldrh r3, [r3, ip] bl MOD13_0221F25C ldr r0, _02224634 ; =MOD13_02224464 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224620: .word 0x02243080 _02224624: .word 0x0223F114 _02224628: .word 0x0223F118 _0222462C: .word 0x0223F116 _02224630: .word 0x0223F11A _02224634: .word MOD13_02224464 arm_func_start MOD13_02224638 MOD13_02224638: ; 0x02224638 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02224660 ; =MOD13_02224808 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224660: .word MOD13_02224808 arm_func_start MOD13_02224664 MOD13_02224664: ; 0x02224664 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 beq _0222469C cmp r0, #1 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0xe bl MOD13_0223424C ldr r0, _022246B8 ; =0x02243088 mov r1, #1 strb r1, [r0] b _022246A4 _0222469C: mov r0, #7 bl MOD13_0223424C _022246A4: bl MOD13_02235EB0 ldr r0, _022246BC ; =MOD13_02224638 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022246B8: .word 0x02243088 _022246BC: .word MOD13_02224638 arm_func_start MOD13_022246C0 MOD13_022246C0: ; 0x022246C0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222478C ; =0x02243088 ldrb r0, [r0] cmp r0, #0 bne _02224700 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _02224700: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C ldr r0, _0222478C ; =0x02243088 ldrb r0, [r0] cmp r0, #0 bne _02224738 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _02224738: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _0222478C ; =0x02243088 ldrb r0, [r0] cmp r0, #0 bne _02224770 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02224790 ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02224770: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02224794 ; =MOD13_02224D5C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222478C: .word 0x02243088 _02224790: .word MOD13_022259A8 _02224794: .word MOD13_02224D5C arm_func_start MOD13_02224798 MOD13_02224798: ; 0x02224798 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 ldr r0, _02224800 ; =0x02243088 ldrb r0, [r0] cmp r0, #0 bne _022247DC mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _022247DC: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02224804 ; =MOD13_022246C0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224800: .word 0x02243088 _02224804: .word MOD13_022246C0 arm_func_start MOD13_02224808 MOD13_02224808: ; 0x02224808 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222482C ; =MOD13_02224798 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222482C: .word MOD13_02224798 arm_func_start MOD13_02224830 MOD13_02224830: ; 0x02224830 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 beq _02224854 cmp r0, #1 beq _0222486C add sp, sp, #4 ldmia sp!, {pc} _02224854: mov r0, #7 bl MOD13_0223424C ldr r0, _022248A0 ; =MOD13_02224808 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222486C: mov r0, #6 bl MOD13_0223424C mov r1, #0 mov r0, #0x18 mov r2, #1 mvn r3, #0 str r1, [sp] bl MOD13_02235EFC bl MOD13_0221EC84 ldr r0, _022248A4 ; =MOD13_02224664 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022248A0: .word MOD13_02224808 _022248A4: .word MOD13_02224664 arm_func_start MOD13_022248A8 MOD13_022248A8: ; 0x022248A8 bx lr arm_func_start MOD13_022248AC MOD13_022248AC: ; 0x022248AC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _022248CC mov r0, #1 bl MOD13_0221ECF4 _022248CC: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022248AC bl MOD13_022248A8 bl MOD13_02224830 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222493C ; =0x022248F0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222493C: .word 0x022248F0 arm_func_start MOD13_02224940 MOD13_02224940: ; 0x02224940 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #3 bl MOD13_0221F0EC ldr r0, _02224988 ; =0x0222490C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224988: .word 0x0222490C arm_func_start MOD13_0222498C MOD13_0222498C: ; 0x0222498C stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _022249E4 ; =MOD13_02224940 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022249E4: .word MOD13_02224940 arm_func_start MOD13_022249E8 MOD13_022249E8: ; 0x022249E8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02224A68 ; =0x0223FF94 ldr r1, _02224A6C ; =0x020C908C bl MOD13_0221F174 ldr r1, _02224A70 ; =0x04001008 ldr ip, _02224A74 ; =0x0400100A ldrh r0, [r1] ldr r3, _02224A78 ; =0x04000008 ldr r2, _02224A7C ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02224A80 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224A68: .word 0x0223FF94 _02224A6C: .word 0x020C908C _02224A70: .word 0x04001008 _02224A74: .word 0x0400100A _02224A78: .word 0x04000008 _02224A7C: .word 0x0400000A _02224A80: .word 0x0400000C arm_func_start MOD13_02224A84 MOD13_02224A84: ; 0x02224A84 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02224ACC ; =0x02243088 mov r1, #0 strb r1, [r0] bl MOD13_022249E8 mov r0, #0x12 bl MOD13_0221F4CC mov r0, #0x3b mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #0x17 bl MOD13_0221F070 ldr r0, _02224AD0 ; =MOD13_0222498C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224ACC: .word 0x02243088 _02224AD0: .word MOD13_0222498C arm_func_start MOD13_02224AD4 MOD13_02224AD4: ; 0x02224AD4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0x1000000 bl OS_SpinWait bl PM_ForceToPowerOff add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #3 mov r1, #1 mov r2, #0x3f mov r3, #0x40 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x3f mov r3, #0x40 bl MOD13_0223A2A8 ldr r0, _02224B6C ; =MOD13_02224AD4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224B6C: .word MOD13_02224AD4 arm_func_start MOD13_02224B70 MOD13_02224B70: ; 0x02224B70 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02224B94 ; =0x02224B18 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224B94: .word 0x02224B18 arm_func_start MOD13_02224B98 MOD13_02224B98: ; 0x02224B98 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C ldr r0, _02224BC8 ; =MOD13_02224B70 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224BC8: .word MOD13_02224B70 arm_func_start MOD13_02224BCC MOD13_02224BCC: ; 0x02224BCC bx lr arm_func_start MOD13_02224BD0 MOD13_02224BD0: ; 0x02224BD0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02224BD0 bl MOD13_02224BCC bl MOD13_02224B98 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02224C48 ; =0x02224BFC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224C48: .word 0x02224BFC arm_func_start MOD13_02224C4C MOD13_02224C4C: ; 0x02224C4C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #5 bl MOD13_0221F0EC ldr r0, _02224C80 ; =0x02224C18 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224C80: .word 0x02224C18 arm_func_start MOD13_02224C84 MOD13_02224C84: ; 0x02224C84 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02224CBC ; =MOD13_02224C4C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224CBC: .word MOD13_02224C4C arm_func_start MOD13_02224CC0 MOD13_02224CC0: ; 0x02224CC0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02224D40 ; =0x0223FFA8 ldr r1, _02224D44 ; =0x020C908C bl MOD13_0221F174 ldr r1, _02224D48 ; =0x04001008 ldr ip, _02224D4C ; =0x0400100A ldrh r0, [r1] ldr r3, _02224D50 ; =0x04000008 ldr r2, _02224D54 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02224D58 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224D40: .word 0x0223FFA8 _02224D44: .word 0x020C908C _02224D48: .word 0x04001008 _02224D4C: .word 0x0400100A _02224D50: .word 0x04000008 _02224D54: .word 0x0400000A _02224D58: .word 0x0400000C arm_func_start MOD13_02224D5C MOD13_02224D5C: ; 0x02224D5C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02224CC0 mov r0, #0x19 bl MOD13_0221F070 bl MOD13_02233808 ldr r0, _02224D84 ; =MOD13_02224C84 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224D84: .word MOD13_02224C84 arm_func_start MOD13_02224D88 MOD13_02224D88: ; 0x02224D88 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02224E08 ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224E08: .word MOD13_022259A8 arm_func_start MOD13_02224E0C MOD13_02224E0C: ; 0x02224E0C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02224E64 ; =MOD13_02224D88 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224E64: .word MOD13_02224D88 arm_func_start MOD13_02224E68 MOD13_02224E68: ; 0x02224E68 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02224E8C ; =MOD13_02224E0C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224E8C: .word MOD13_02224E0C arm_func_start MOD13_02224E90 MOD13_02224E90: ; 0x02224E90 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #7 bl MOD13_0223424C ldr r0, _02224EC0 ; =MOD13_02224E68 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224EC0: .word MOD13_02224E68 arm_func_start MOD13_02224EC4 MOD13_02224EC4: ; 0x02224EC4 bx lr arm_func_start MOD13_02224EC8 MOD13_02224EC8: ; 0x02224EC8 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02224EC8 bl MOD13_02224EC4 bl MOD13_02224E90 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02224F40 ; =0x02224EF4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224F40: .word 0x02224EF4 arm_func_start MOD13_02224F44 MOD13_02224F44: ; 0x02224F44 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #2 bl MOD13_0221F0EC ldr r0, _02224F8C ; =0x02224F10 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224F8C: .word 0x02224F10 arm_func_start MOD13_02224F90 MOD13_02224F90: ; 0x02224F90 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02224FE8 ; =MOD13_02224F44 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02224FE8: .word MOD13_02224F44 arm_func_start MOD13_02224FEC MOD13_02224FEC: ; 0x02224FEC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x6c mov r0, #0 mov r1, r0 bl MOD13_0223A7F0 mov fp, r0 add r0, sp, #0x14 bl OS_GetMacAddress ldrb r1, [sp, #0x15] ldr r2, _022251B8 ; =0x0223FFBC add r0, sp, #0x40 str r1, [sp] ldrb r3, [sp, #0x16] mov r1, #0x14 str r3, [sp, #4] ldrb r3, [sp, #0x17] str r3, [sp, #8] ldrb r3, [sp, #0x18] str r3, [sp, #0xc] ldrb r3, [sp, #0x19] str r3, [sp, #0x10] ldrb r3, [sp, #0x14] bl swprintf ldr r3, _022251BC ; =0x0223F13C mov r2, #2 ldrh r4, [r3, #6] mov r1, #0x480 add r0, sp, #0x40 str r4, [sp] str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] ldrh r1, [r3] ldrh r2, [r3, #2] ldrh r3, [r3, #4] mov r0, fp bl MOD13_0223A4F0 add r0, sp, #0x1c bl FUN_02095EC8 ldr sb, [sp, #0x1c] ldr sl, [sp, #0x20] mov r3, #0 cmp sl, r3 cmpeq sb, r3 beq _02225160 mov r0, sb mov r1, sl mov r2, #0xa bl _ull_mod mov r1, #0x3e8 umull r4, r1, r0, r1 mov r0, sb mov r1, sl mov r3, #0 mov r2, #0xa str r4, [sp, #0x3c] bl _ll_udiv mov sb, r0 mov sl, r1 mov r8, #0 ldr r7, _022251C0 ; =0x00002710 add r5, sp, #0x30 mov r6, r8 mov r4, r8 _022250EC: mov r0, sb mov r1, sl mov r2, r7 mov r3, r6 bl _ull_mod rsb r1, r8, #2 str r0, [r5, r1, lsl #2] mov r0, sb mov r1, sl mov r2, r7 mov r3, r4 bl _ll_udiv mov sb, r0 mov sl, r1 add r8, r8, #1 cmp r8, #3 blt _022250EC ldr r1, [sp, #0x34] ldr r2, _022251C4 ; =0x0223FFF8 str r1, [sp] ldr r1, [sp, #0x38] add r0, sp, #0x40 str r1, [sp, #4] ldr r3, [sp, #0x3c] mov r1, #0x14 str r3, [sp, #8] ldr r3, [sp, #0x30] bl swprintf b _02225170 _02225160: ldr r2, _022251C8 ; =0x02240020 add r0, sp, #0x40 mov r1, #0x14 bl swprintf _02225170: ldr r0, _022251CC ; =0x0223F144 mov r3, #2 ldrh r4, [r0, #6] mov r2, #0x480 add r1, sp, #0x40 str r4, [sp] str r3, [sp, #4] str r2, [sp, #8] str r1, [sp, #0xc] ldrh r1, [r0] ldrh r2, [r0, #2] ldrh r3, [r0, #4] mov r0, fp bl MOD13_0223A4F0 mov r0, fp bl MOD13_0223A410 add sp, sp, #0x6c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _022251B8: .word 0x0223FFBC _022251BC: .word 0x0223F13C _022251C0: .word 0x00002710 _022251C4: .word 0x0223FFF8 _022251C8: .word 0x02240020 _022251CC: .word 0x0223F144 arm_func_start MOD13_022251D0 MOD13_022251D0: ; 0x022251D0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02225250 ; =0x02240048 ldr r1, _02225254 ; =0x020C908C bl MOD13_0221F174 ldr r1, _02225258 ; =0x04001008 ldr ip, _0222525C ; =0x0400100A ldrh r0, [r1] ldr r3, _02225260 ; =0x04000008 ldr r2, _02225264 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02225268 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225250: .word 0x02240048 _02225254: .word 0x020C908C _02225258: .word 0x04001008 _0222525C: .word 0x0400100A _02225260: .word 0x04000008 _02225264: .word 0x0400000A _02225268: .word 0x0400000C arm_func_start MOD13_0222526C MOD13_0222526C: ; 0x0222526C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022251D0 mov r0, #0x11 bl MOD13_0221F4CC mov r0, #0x3a mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 bl MOD13_02224FEC ldr r0, _022252A4 ; =MOD13_02224F90 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022252A4: .word MOD13_02224F90 arm_func_start MOD13_022252A8 MOD13_022252A8: ; 0x022252A8 ldr r1, _022252CC ; =0x0224308C ldr r0, _022252D0 ; =0x02243094 ldrb r2, [r1] ldr r1, _022252D4 ; =0x0223F14C ldr ip, _022252D8 ; =MOD13_022327DC ldrb r1, [r1, r2] ldr r0, [r0] mov r2, r1 bx ip .align 2, 0 _022252CC: .word 0x0224308C _022252D0: .word 0x02243094 _022252D4: .word 0x0223F14C _022252D8: .word MOD13_022327DC arm_func_start MOD13_022252DC MOD13_022252DC: ; 0x022252DC stmdb sp!, {lr} sub sp, sp, #4 cmp r0, #1 bne _0222530C ldr r0, _02225368 ; =0x0224308C mov r1, #3 ldrb r0, [r0] add r0, r0, #2 bl FX_ModS32 ldr r1, _02225368 ; =0x0224308C strb r0, [r1] b _02225328 _0222530C: ldr r0, _02225368 ; =0x0224308C mov r1, #3 ldrb r0, [r0] add r0, r0, #1 bl FX_ModS32 ldr r1, _02225368 ; =0x0224308C strb r0, [r1] _02225328: mov r0, #8 bl MOD13_0223424C ldr r0, _02225368 ; =0x0224308C ldr ip, _0222536C ; =0x0223F19C ldrb r0, [r0] ldr r1, _02225370 ; =0x0223F1A0 ldr r2, _02225374 ; =0x0223F19E mov lr, r0, lsl #3 ldr r3, _02225378 ; =0x0223F1A2 ldrh r0, [ip, lr] ldrh r1, [r1, lr] ldrh r2, [r2, lr] ldrh r3, [r3, lr] bl MOD13_0221F25C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225368: .word 0x0224308C _0222536C: .word 0x0223F19C _02225370: .word 0x0223F1A0 _02225374: .word 0x0223F19E _02225378: .word 0x0223F1A2 arm_func_start MOD13_0222537C MOD13_0222537C: ; 0x0222537C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _0222549C ; =0x02243098 ldr r0, [r0] bl MOD13_0223B974 bl MOD13_0221F21C bl MOD13_0221EE54 ldr r0, _022254A0 ; =0x02243094 ldr r0, [r0] bl MOD13_0223939C mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x14 bl MOD13_0223AE98 ldr r0, _022254A4 ; =0x02243090 ldrb r0, [r0] cmp r0, #0 bne _02225420 mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _022254A8 ; =MOD13_022245B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02225420: ldr r0, _022254AC ; =0x0224308C ldrb r0, [r0] cmp r0, #0 beq _02225448 cmp r0, #1 beq _02225464 cmp r0, #2 beq _02225480 add sp, sp, #4 ldmia sp!, {pc} _02225448: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022254B0 ; =MOD13_0222526C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02225464: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022254B4 ; =MOD13_02224A84 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02225480: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022254B8 ; =MOD13_02226650 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222549C: .word 0x02243098 _022254A0: .word 0x02243094 _022254A4: .word 0x02243090 _022254A8: .word MOD13_022245B4 _022254AC: .word 0x0224308C _022254B0: .word MOD13_0222526C _022254B4: .word MOD13_02224A84 _022254B8: .word MOD13_02226650 arm_func_start MOD13_022254BC MOD13_022254BC: ; 0x022254BC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02225524 ; =0x02243090 ldrb r0, [r0] cmp r0, #0 beq _022254EC bl MOD13_0221ED28 _022254EC: mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02225528 ; =MOD13_0222537C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225524: .word 0x02243090 _02225528: .word MOD13_0222537C arm_func_start MOD13_0222552C MOD13_0222552C: ; 0x0222552C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02225550 ; =MOD13_022254BC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225550: .word MOD13_022254BC arm_func_start MOD13_02225554 MOD13_02225554: ; 0x02225554 stmdb sp!, {lr} sub sp, sp, #0x14 bl MOD13_0221ED14 cmp r0, #0 beq _02225578 cmp r0, #1 beq _02225584 add sp, sp, #0x14 ldmia sp!, {pc} _02225578: mov r0, #7 bl MOD13_0223424C b _022255E4 _02225584: add r0, sp, #0 bl FUN_02095EC8 ldr r0, _022255F4 ; =0x0224308C ldrb r0, [r0] cmp r0, #0 beq _022255CC ldr r2, [sp] ldr r1, [sp, #4] mov r0, #0 cmp r1, r0 cmpeq r2, r0 bne _022255CC mov r0, #9 bl MOD13_0223424C mvn r0, #0 bl MOD13_0221ECE0 add sp, sp, #0x14 ldmia sp!, {pc} _022255CC: mov r0, #6 bl MOD13_0223424C bl MOD13_022252A8 ldr r0, _022255F8 ; =0x02243090 mov r1, #1 strb r1, [r0] _022255E4: ldr r0, _022255FC ; =MOD13_0222552C bl MOD13_02222FBC add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 _022255F4: .word 0x0224308C _022255F8: .word 0x02243090 _022255FC: .word MOD13_0222552C arm_func_start MOD13_02225600 MOD13_02225600: ; 0x02225600 bx lr arm_func_start MOD13_02225604 MOD13_02225604: ; 0x02225604 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r4, _022256FC ; =0x0223F184 mov r5, #0 _02225614: mov r0, r4 bl MOD13_0223B2B4 cmp r0, #0 beq _02225668 mov r0, #1 bl MOD13_0221ECF4 ldr r0, _02225700 ; =0x0224308C ldr ip, _02225704 ; =0x0223F19C strb r5, [r0] ldrb r0, [r0] ldr r1, _02225708 ; =0x0223F1A0 ldr r2, _0222570C ; =0x0223F19E mov lr, r0, lsl #3 ldr r3, _02225710 ; =0x0223F1A2 ldrh r0, [ip, lr] ldrh r1, [r1, lr] ldrh r2, [r2, lr] ldrh r3, [r3, lr] bl MOD13_0221F25C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02225668: add r5, r5, #1 cmp r5, #3 add r4, r4, #8 blo _02225614 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02225698 mov r0, #1 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02225698: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _022256B8 mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _022256B8: mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _022256D8 mov r0, #1 bl MOD13_022252DC add sp, sp, #4 ldmia sp!, {r4, r5, pc} _022256D8: mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} mov r0, #3 bl MOD13_022252DC add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _022256FC: .word 0x0223F184 _02225700: .word 0x0224308C _02225704: .word 0x0223F19C _02225708: .word 0x0223F1A0 _0222570C: .word 0x0223F19E _02225710: .word 0x0223F1A2 arm_func_start MOD13_02225714 MOD13_02225714: ; 0x02225714 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02225604 bl MOD13_02225600 bl MOD13_02225554 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02225760 ; =MOD13_02225714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225760: .word MOD13_02225714 arm_func_start MOD13_02225764 MOD13_02225764: ; 0x02225764 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0221F0EC ldr r0, _022257AC ; =0x02225730 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022257AC: .word 0x02225730 arm_func_start MOD13_022257B0 MOD13_022257B0: ; 0x022257B0 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x14 bl MOD13_0223AEF4 ldr r0, _02225808 ; =MOD13_02225764 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225808: .word MOD13_02225764 arm_func_start MOD13_0222580C MOD13_0222580C: ; 0x0222580C stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x48 ldr r4, _0222597C ; =0x0223F154 add r3, sp, #0 mov r2, #0xb _02225820: ldrb r1, [r4], #1 ldrb r0, [r4], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _02225820 ldr r4, _02225980 ; =0x0223F16C add r3, sp, #0x16 mov r2, #0xb _02225844: ldrb r1, [r4], #1 ldrb r0, [r4], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _02225844 ldrb r2, [r4] ldr r0, _02225984 ; =0x0224005C ldr r1, _02225988 ; =0x020C8D4C strb r2, [r3] bl MOD13_0221F174 ldr r0, _0222598C ; =0x02240074 ldr r1, _02225990 ; =0x020C908C bl MOD13_0221F174 add r0, sp, #0x16 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _02225994 ; =0x02243094 str r0, [r1] add r0, sp, #0 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 mov r5, r0 add r0, sp, #0x30 bl FUN_02095EC8 ldr r1, [sp, #0x30] ldr r0, [sp, #0x34] mov r6, #0 cmp r0, r6 cmpeq r1, r6 bne _02225900 add r8, r5, #0xc0 add r7, r5, #0x40 mov r4, #0x20 _022258DC: mov r0, r8 mov r1, r7 mov r2, r4 bl MI_CpuCopy8 add r6, r6, #1 cmp r6, #2 add r8, r8, #0x20 add r7, r7, #0x20 blt _022258DC _02225900: mov r0, r5 mov r1, #0x200 bl DC_FlushRange mov r0, r5 mov r1, #0 mov r2, #0x200 bl GX_LoadBGPltt mov r0, r5 bl MOD13_0223939C ldr ip, _02225998 ; =0x04001008 ldr r3, _0222599C ; =0x0400100A ldrh r0, [ip] ldr r2, _022259A0 ; =0x0400000A ldr r1, _022259A4 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0222597C: .word 0x0223F154 _02225980: .word 0x0223F16C _02225984: .word 0x0224005C _02225988: .word 0x020C8D4C _0222598C: .word 0x02240074 _02225990: .word 0x020C908C _02225994: .word 0x02243094 _02225998: .word 0x04001008 _0222599C: .word 0x0400100A _022259A0: .word 0x0400000A _022259A4: .word 0x0400000C arm_func_start MOD13_022259A8 MOD13_022259A8: ; 0x022259A8 stmdb sp!, {r4, lr} ldr r0, _02225A70 ; =0x02243090 mov r1, #0 strb r1, [r0] bl MOD13_0222580C mov r0, #0x10 bl MOD13_0221F4CC mov r0, #3 bl MOD13_02234384 mov r0, #0x39 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #0 mov r1, #0x5b bl MOD13_02239E54 ldr r3, _02225A74 ; =0x02243098 ldr r1, _02225A78 ; =0x0223F150 str r0, [r3] ldrh ip, [r1] ldrh r2, [r1, #2] ldr r1, _02225A7C ; =0x000001FF ldr lr, [r0] and r4, ip, r1 and ip, r2, #0xff ldr r1, _02225A80 ; =0xFE00FF00 ldr r2, _02225A84 ; =0x0224308C and r1, lr, r1 orr r1, r1, ip orr r1, r1, r4, lsl #16 str r1, [r0] ldr lr, [r3] ldr r0, _02225A88 ; =0x0223F19C ldrh r3, [lr, #4] ldr r1, _02225A8C ; =0x0223F1A0 ldr ip, _02225A90 ; =0x0223F19E bic r3, r3, #0xc00 orr r3, r3, #0xc00 strh r3, [lr, #4] ldrb r2, [r2] ldr r3, _02225A94 ; =0x0223F1A2 mov lr, r2, lsl #3 ldrh r0, [r0, lr] ldrh r1, [r1, lr] ldrh r2, [ip, lr] ldrh r3, [r3, lr] bl MOD13_0221F25C ldr r0, _02225A98 ; =MOD13_022257B0 bl MOD13_02222FBC ldmia sp!, {r4, pc} .align 2, 0 _02225A70: .word 0x02243090 _02225A74: .word 0x02243098 _02225A78: .word 0x0223F150 _02225A7C: .word 0x000001FF _02225A80: .word 0xFE00FF00 _02225A84: .word 0x0224308C _02225A88: .word 0x0223F19C _02225A8C: .word 0x0223F1A0 _02225A90: .word 0x0223F19E _02225A94: .word 0x0223F1A2 _02225A98: .word MOD13_022257B0 arm_func_start MOD13_02225A9C MOD13_02225A9C: ; 0x02225A9C stmdb sp!, {lr} sub sp, sp, #4 cmp r0, #2 bne _02225ACC bl MOD13_02233808 ldr r0, _02225B24 ; =0x0224309C mov r1, #1 strb r1, [r0] bl MOD13_022341E8 mov r0, #0x10 bl MOD13_0223424C b _02225B08 _02225ACC: cmp r0, #3 bne _02225AF0 ldr r0, _02225B24 ; =0x0224309C mov r1, #2 strb r1, [r0] bl MOD13_022341E8 mov r0, #0x12 bl MOD13_0223424C b _02225B08 _02225AF0: ldr r0, _02225B24 ; =0x0224309C mov r1, #0 strb r1, [r0] bl MOD13_022341E8 mov r0, #0x12 bl MOD13_0223424C _02225B08: mov r0, #0 bl MOD13_02223944 bl MOD13_022239B4 ldr r0, _02225B28 ; =MOD13_02225BD8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225B24: .word 0x0224309C _02225B28: .word MOD13_02225BD8 arm_func_start MOD13_02225B2C MOD13_02225B2C: ; 0x02225B2C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0222395C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221F694 bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02225BC8 ; =0x0224309C ldrb r0, [r0] cmp r0, #0 bne _02225BA0 ldr r0, _02225BCC ; =MOD13_02226CB0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02225BA0: cmp r0, #2 bne _02225BB8 ldr r0, _02225BD0 ; =MOD13_022268B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02225BB8: ldr r0, _02225BD4 ; =MOD13_02225FE4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225BC8: .word 0x0224309C _02225BCC: .word MOD13_02226CB0 _02225BD0: .word MOD13_022268B4 _02225BD4: .word MOD13_02225FE4 arm_func_start MOD13_02225BD8 MOD13_02225BD8: ; 0x02225BD8 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02225C04 ; =MOD13_02225B2C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225C04: .word MOD13_02225B2C arm_func_start MOD13_02225C08 MOD13_02225C08: ; 0x02225C08 bx lr arm_func_start MOD13_02225C0C MOD13_02225C0C: ; 0x02225C0C bx lr arm_func_start MOD13_02225C10 MOD13_02225C10: ; 0x02225C10 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02225C0C bl MOD13_02225C08 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02225C5C ; =MOD13_02225A9C bl MOD13_02223944 ldr r0, _02225C60 ; =MOD13_02225C10 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225C5C: .word MOD13_02225A9C _02225C60: .word MOD13_02225C10 arm_func_start MOD13_02225C64 MOD13_02225C64: ; 0x02225C64 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02225C9C ; =0x02225C28 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225C9C: .word 0x02225C28 arm_func_start MOD13_02225CA0 MOD13_02225CA0: ; 0x02225CA0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02225D20 ; =0x0224008C ldr r1, _02225D24 ; =0x020C908C bl MOD13_0221F174 ldr r1, _02225D28 ; =0x04001008 ldr ip, _02225D2C ; =0x0400100A ldrh r0, [r1] ldr r3, _02225D30 ; =0x04000008 ldr r2, _02225D34 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02225D38 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225D20: .word 0x0224008C _02225D24: .word 0x020C908C _02225D28: .word 0x04001008 _02225D2C: .word 0x0400100A _02225D30: .word 0x04000008 _02225D34: .word 0x0400000A _02225D38: .word 0x0400000C arm_func_start MOD13_02225D3C MOD13_02225D3C: ; 0x02225D3C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02225CA0 mov r0, #0x1e bl MOD13_0221F070 mov r0, #0 bl MOD13_0221E694 mov r0, #1 bl MOD13_0221F6E0 mov r0, #0xb bl MOD13_0223424C ldr r0, _02225D78 ; =MOD13_02225C64 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225D78: .word MOD13_02225C64 arm_func_start MOD13_02225D7C MOD13_02225D7C: ; 0x02225D7C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0x1000000 bl OS_SpinWait bl PM_ForceToPowerOff add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #3 mov r1, #1 mov r2, #0x3f mov r3, #0x40 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x3f mov r3, #0x40 bl MOD13_0223A2A8 ldr r0, _02225E14 ; =MOD13_02225D7C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225E14: .word MOD13_02225D7C arm_func_start MOD13_02225E18 MOD13_02225E18: ; 0x02225E18 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02225E3C ; =0x02225DC0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225E3C: .word 0x02225DC0 arm_func_start MOD13_02225E40 MOD13_02225E40: ; 0x02225E40 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C ldr r0, _02225E70 ; =MOD13_02225E18 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225E70: .word MOD13_02225E18 arm_func_start MOD13_02225E74 MOD13_02225E74: ; 0x02225E74 bx lr arm_func_start MOD13_02225E78 MOD13_02225E78: ; 0x02225E78 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02225E78 bl MOD13_02225E74 bl MOD13_02225E40 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02225EF0 ; =0x02225EA4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225EF0: .word 0x02225EA4 arm_func_start MOD13_02225EF4 MOD13_02225EF4: ; 0x02225EF4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #5 bl MOD13_0221F0EC ldr r0, _02225F28 ; =0x02225EC0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225F28: .word 0x02225EC0 arm_func_start MOD13_02225F2C MOD13_02225F2C: ; 0x02225F2C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02225F64 ; =MOD13_02225EF4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02225F64: .word MOD13_02225EF4 arm_func_start MOD13_02225F68 MOD13_02225F68: ; 0x02225F68 ldr r1, _02225FD0 ; =0x04001008 ldr ip, _02225FD4 ; =0x0400100A ldrh r0, [r1] ldr r3, _02225FD8 ; =0x04000008 ldr r2, _02225FDC ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02225FE0 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] bx lr .align 2, 0 _02225FD0: .word 0x04001008 _02225FD4: .word 0x0400100A _02225FD8: .word 0x04000008 _02225FDC: .word 0x0400000A _02225FE0: .word 0x0400000C arm_func_start MOD13_02225FE4 MOD13_02225FE4: ; 0x02225FE4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02225F68 mov r0, #0x1f bl MOD13_0221F070 ldr r0, _02226008 ; =MOD13_02225F2C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226008: .word MOD13_02225F2C arm_func_start MOD13_0222600C MOD13_0222600C: ; 0x0222600C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02226068 ; =MOD13_022275A4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226068: .word MOD13_022275A4 arm_func_start MOD13_0222606C MOD13_0222606C: ; 0x0222606C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _022260B0 ; =MOD13_0222600C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022260B0: .word MOD13_0222600C arm_func_start MOD13_022260B4 MOD13_022260B4: ; 0x022260B4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _022260D8 ; =MOD13_0222606C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022260D8: .word MOD13_0222606C arm_func_start MOD13_022260DC MOD13_022260DC: ; 0x022260DC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C ldr r0, _0222610C ; =MOD13_022260B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222610C: .word MOD13_022260B4 arm_func_start MOD13_02226110 MOD13_02226110: ; 0x02226110 bx lr arm_func_start MOD13_02226114 MOD13_02226114: ; 0x02226114 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02226114 bl MOD13_02226110 bl MOD13_022260DC add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222618C ; =0x02226140 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222618C: .word 0x02226140 arm_func_start MOD13_02226190 MOD13_02226190: ; 0x02226190 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #4 bl MOD13_0221F0EC ldr r0, _022261D8 ; =0x0222615C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022261D8: .word 0x0222615C arm_func_start MOD13_022261DC MOD13_022261DC: ; 0x022261DC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02226214 ; =MOD13_02226190 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226214: .word MOD13_02226190 arm_func_start MOD13_02226218 MOD13_02226218: ; 0x02226218 ldr r1, _02226280 ; =0x04001008 ldr ip, _02226284 ; =0x0400100A ldrh r0, [r1] ldr r3, _02226288 ; =0x04000008 ldr r2, _0222628C ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02226290 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] bx lr .align 2, 0 _02226280: .word 0x04001008 _02226284: .word 0x0400100A _02226288: .word 0x04000008 _0222628C: .word 0x0400000A _02226290: .word 0x0400000C arm_func_start MOD13_02226294 MOD13_02226294: ; 0x02226294 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02226218 mov r0, #0x1a bl MOD13_0221F070 ldr r0, _022262B8 ; =MOD13_022261DC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022262B8: .word MOD13_022261DC arm_func_start MOD13_022262BC MOD13_022262BC: ; 0x022262BC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02226388 ; =0x022430A0 ldrb r0, [r0] cmp r0, #0 bne _022262FC mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _022262FC: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C ldr r0, _02226388 ; =0x022430A0 ldrb r0, [r0] cmp r0, #0 bne _02226334 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _02226334: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _02226388 ; =0x022430A0 ldrb r0, [r0] cmp r0, #0 bne _0222636C mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222638C ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222636C: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02226390 ; =MOD13_02226294 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226388: .word 0x022430A0 _0222638C: .word MOD13_022259A8 _02226390: .word MOD13_02226294 arm_func_start MOD13_02226394 MOD13_02226394: ; 0x02226394 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 ldr r0, _022263FC ; =0x022430A0 ldrb r0, [r0] cmp r0, #0 bne _022263D8 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _022263D8: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02226400 ; =MOD13_022262BC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022263FC: .word 0x022430A0 _02226400: .word MOD13_022262BC arm_func_start MOD13_02226404 MOD13_02226404: ; 0x02226404 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02226428 ; =MOD13_02226394 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226428: .word MOD13_02226394 arm_func_start MOD13_0222642C MOD13_0222642C: ; 0x0222642C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 beq _02226450 cmp r0, #1 beq _0222645C add sp, sp, #4 ldmia sp!, {pc} _02226450: mov r0, #7 bl MOD13_0223424C b _02226470 _0222645C: mov r0, #6 bl MOD13_0223424C ldr r0, _02226480 ; =0x022430A0 mov r1, #1 strb r1, [r0] _02226470: ldr r0, _02226484 ; =MOD13_02226404 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226480: .word 0x022430A0 _02226484: .word MOD13_02226404 arm_func_start MOD13_02226488 MOD13_02226488: ; 0x02226488 bx lr arm_func_start MOD13_0222648C MOD13_0222648C: ; 0x0222648C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _022264AC mov r0, #1 bl MOD13_0221ECF4 _022264AC: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222648C bl MOD13_02226488 bl MOD13_0222642C add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222651C ; =0x022264D0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222651C: .word 0x022264D0 arm_func_start MOD13_02226520 MOD13_02226520: ; 0x02226520 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #3 bl MOD13_0221F0EC ldr r0, _02226554 ; =0x022264EC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226554: .word 0x022264EC arm_func_start MOD13_02226558 MOD13_02226558: ; 0x02226558 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _022265B0 ; =MOD13_02226520 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022265B0: .word MOD13_02226520 arm_func_start MOD13_022265B4 MOD13_022265B4: ; 0x022265B4 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02226634 ; =0x022400A0 ldr r1, _02226638 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222663C ; =0x04001008 ldr ip, _02226640 ; =0x0400100A ldrh r0, [r1] ldr r3, _02226644 ; =0x04000008 ldr r2, _02226648 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222664C ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226634: .word 0x022400A0 _02226638: .word 0x020C908C _0222663C: .word 0x04001008 _02226640: .word 0x0400100A _02226644: .word 0x04000008 _02226648: .word 0x0400000A _0222664C: .word 0x0400000C arm_func_start MOD13_02226650 MOD13_02226650: ; 0x02226650 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02226698 ; =0x022430A0 mov r1, #0 strb r1, [r0] bl MOD13_022265B4 mov r0, #0x13 bl MOD13_0221F4CC mov r0, #0x3c mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #0x1b bl MOD13_0221F070 ldr r0, _0222669C ; =MOD13_02226558 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226698: .word 0x022430A0 _0222669C: .word MOD13_02226558 arm_func_start MOD13_022266A0 MOD13_022266A0: ; 0x022266A0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022266D8 ; =0x022430A4 ldrb r1, [r0] add r1, r1, #1 strb r1, [r0] ldrb r0, [r0] cmp r0, #0x78 addlo sp, sp, #4 ldmloia sp!, {pc} ldr r0, _022266DC ; =MOD13_02226754 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022266D8: .word 0x022430A4 _022266DC: .word MOD13_02226754 arm_func_start MOD13_022266E0 MOD13_022266E0: ; 0x022266E0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02226750 ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226750: .word MOD13_022259A8 arm_func_start MOD13_02226754 MOD13_02226754: ; 0x02226754 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02226794 ; =MOD13_022266E0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226794: .word MOD13_022266E0 arm_func_start MOD13_02226798 MOD13_02226798: ; 0x02226798 bx lr arm_func_start MOD13_0222679C MOD13_0222679C: ; 0x0222679C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022266A0 bl MOD13_02226798 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0222395C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _022267F0 ; =MOD13_0222679C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022267F0: .word MOD13_0222679C arm_func_start MOD13_022267F4 MOD13_022267F4: ; 0x022267F4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222682C ; =0x022267B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222682C: .word 0x022267B4 arm_func_start MOD13_02226830 MOD13_02226830: ; 0x02226830 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222689C ; =0x022400B4 ldr r1, _022268A0 ; =0x020C908C bl MOD13_0221F174 ldr ip, _022268A4 ; =0x04001008 ldr r3, _022268A8 ; =0x0400100A ldrh r0, [ip] ldr r2, _022268AC ; =0x0400000A ldr r1, _022268B0 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222689C: .word 0x022400B4 _022268A0: .word 0x020C908C _022268A4: .word 0x04001008 _022268A8: .word 0x0400100A _022268AC: .word 0x0400000A _022268B0: .word 0x0400000C arm_func_start MOD13_022268B4 MOD13_022268B4: ; 0x022268B4 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022268E4 ; =0x022430A4 mov r1, #0 strb r1, [r0] bl MOD13_02226830 mov r0, #0x21 bl MOD13_0221F070 ldr r0, _022268E8 ; =MOD13_022267F4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022268E4: .word 0x022430A4 _022268E8: .word MOD13_022267F4 arm_func_start MOD13_022268EC MOD13_022268EC: ; 0x022268EC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C ldr r0, _022269A8 ; =0x022430AC ldrb r0, [r0] cmp r0, #0 bne _02226954 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _02226954: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _022269A8 ; =0x022430AC ldrb r0, [r0] cmp r0, #0 bne _0222698C mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022269AC ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222698C: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022269B0 ; =MOD13_022275A4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022269A8: .word 0x022430AC _022269AC: .word MOD13_022259A8 _022269B0: .word MOD13_022275A4 arm_func_start MOD13_022269B4 MOD13_022269B4: ; 0x022269B4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 ldr r0, _02226A1C ; =0x022430AC ldrb r0, [r0] cmp r0, #0 bne _022269F8 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _022269F8: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02226A20 ; =MOD13_022268EC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226A1C: .word 0x022430AC _02226A20: .word MOD13_022268EC arm_func_start MOD13_02226A24 MOD13_02226A24: ; 0x02226A24 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02226A48 ; =MOD13_022269B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226A48: .word MOD13_022269B4 arm_func_start MOD13_02226A4C MOD13_02226A4C: ; 0x02226A4C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 beq _02226A84 cmp r0, #1 addne sp, sp, #4 ldmneia sp!, {pc} ldr r1, _02226AA8 ; =0x022430AC mov r2, #1 mov r0, #6 strb r2, [r1] bl MOD13_0223424C b _02226A98 _02226A84: ldr r1, _02226AA8 ; =0x022430AC mov r2, #0 mov r0, #7 strb r2, [r1] bl MOD13_0223424C _02226A98: ldr r0, _02226AAC ; =MOD13_02226A24 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226AA8: .word 0x022430AC _02226AAC: .word MOD13_02226A24 arm_func_start MOD13_02226AB0 MOD13_02226AB0: ; 0x02226AB0 bx lr arm_func_start MOD13_02226AB4 MOD13_02226AB4: ; 0x02226AB4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02226AD4 mov r0, #1 bl MOD13_0221ECF4 _02226AD4: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02226AB4 bl MOD13_02226AB0 bl MOD13_02226A4C add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0222395C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02226B54 ; =0x02226AF8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226B54: .word 0x02226AF8 arm_func_start MOD13_02226B58 MOD13_02226B58: ; 0x02226B58 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #3 bl MOD13_0221F0EC ldr r0, _02226BA0 ; =0x02226B14 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226BA0: .word 0x02226B14 arm_func_start MOD13_02226BA4 MOD13_02226BA4: ; 0x02226BA4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02226C0C ; =0x022430A8 ldrb r0, [r0] cmp r0, #0 beq _02226BFC mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 _02226BFC: ldr r0, _02226C10 ; =MOD13_02226B58 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226C0C: .word 0x022430A8 _02226C10: .word MOD13_02226B58 arm_func_start MOD13_02226C14 MOD13_02226C14: ; 0x02226C14 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02226C94 ; =0x022400C8 ldr r1, _02226C98 ; =0x020C908C bl MOD13_0221F174 ldr r1, _02226C9C ; =0x04001008 ldr ip, _02226CA0 ; =0x0400100A ldrh r0, [r1] ldr r3, _02226CA4 ; =0x04000008 ldr r2, _02226CA8 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02226CAC ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226C94: .word 0x022400C8 _02226C98: .word 0x020C908C _02226C9C: .word 0x04001008 _02226CA0: .word 0x0400100A _02226CA4: .word 0x04000008 _02226CA8: .word 0x0400000A _02226CAC: .word 0x0400000C arm_func_start MOD13_02226CB0 MOD13_02226CB0: ; 0x02226CB0 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02226C14 mov r0, #0x20 bl MOD13_0221F070 mov r0, #0x3c mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 ldr r1, _02226CEC ; =0x022430A8 strb r0, [r1] ldr r0, _02226CF0 ; =MOD13_02226BA4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226CEC: .word 0x022430A8 _02226CF0: .word MOD13_02226BA4 arm_func_start MOD13_02226CF4 MOD13_02226CF4: ; 0x02226CF4 ldr r0, _02226D04 ; =0x022430B0 mov r1, #1 strb r1, [r0] bx lr .align 2, 0 _02226D04: .word 0x022430B0 arm_func_start MOD13_02226D08 MOD13_02226D08: ; 0x02226D08 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02226DDC ; =0x022430B0 ldrb r0, [r0] cmp r0, #0 bne _02226D30 ldr r0, _02226DE0 ; =0x022430B4 ldrb r0, [r0] cmp r0, #0 bne _02226D40 _02226D30: bl MOD13_0222395C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} _02226D40: mov r0, #0 bl MOD13_0223A65C mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _02226DE0 ; =0x022430B4 ldrb r0, [r0] cmp r0, #0 bne _02226D74 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _02226D74: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02226DDC ; =0x022430B0 ldrb r0, [r0] cmp r0, #0 beq _02226DA0 ldr r0, _02226DE4 ; =MOD13_02226CB0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02226DA0: ldr r0, _02226DE0 ; =0x022430B4 ldrb r0, [r0] cmp r0, #0 bne _02226DCC mov r0, #1 mov r1, r0 bl MOD13_0223AE98 ldr r0, _02226DE8 ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02226DCC: ldr r0, _02226DEC ; =MOD13_02225D3C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226DDC: .word 0x022430B0 _02226DE0: .word 0x022430B4 _02226DE4: .word MOD13_02226CB0 _02226DE8: .word MOD13_022259A8 _02226DEC: .word MOD13_02225D3C arm_func_start MOD13_02226DF0 MOD13_02226DF0: ; 0x02226DF0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02226E5C ; =0x022430B0 ldrb r0, [r0] cmp r0, #0 bne _02226E48 ldr r0, _02226E60 ; =0x022430B4 ldrb r0, [r0] cmp r0, #1 bne _02226E48 bl MOD13_02223938 b _02226E4C _02226E48: bl MOD13_022239B4 _02226E4C: ldr r0, _02226E64 ; =MOD13_02226D08 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226E5C: .word 0x022430B0 _02226E60: .word 0x022430B4 _02226E64: .word MOD13_02226D08 arm_func_start MOD13_02226E68 MOD13_02226E68: ; 0x02226E68 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02226EC8 ; =0x022430B4 ldrb r0, [r0] cmp r0, #0 bne _02226EA4 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _02226EA4: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02226ECC ; =MOD13_02226DF0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226EC8: .word 0x022430B4 _02226ECC: .word MOD13_02226DF0 arm_func_start MOD13_02226ED0 MOD13_02226ED0: ; 0x02226ED0 bx lr arm_func_start MOD13_02226ED4 MOD13_02226ED4: ; 0x02226ED4 bx lr arm_func_start MOD13_02226ED8 MOD13_02226ED8: ; 0x02226ED8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02226ED4 bl MOD13_02226ED0 bl MOD13_02235E9C cmp r0, #0 beq _02226F04 cmp r0, #1 beq _02226F1C add sp, sp, #4 ldmia sp!, {pc} _02226F04: ldr r1, _02226F4C ; =0x022430B4 mov r2, #0 mov r0, #7 strb r2, [r1] bl MOD13_0223424C b _02226F30 _02226F1C: ldr r1, _02226F4C ; =0x022430B4 mov r2, #1 mov r0, #0xe strb r2, [r1] bl MOD13_0223424C _02226F30: mov r0, #0 bl MOD13_02223944 bl MOD13_02235EB0 ldr r0, _02226F50 ; =MOD13_02226E68 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226F4C: .word 0x022430B4 _02226F50: .word MOD13_02226E68 arm_func_start MOD13_02226F54 MOD13_02226F54: ; 0x02226F54 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _02226F80 ; =MOD13_02226ED8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226F80: .word MOD13_02226ED8 arm_func_start MOD13_02226F84 MOD13_02226F84: ; 0x02226F84 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r2, #0 mov r0, #0x1d mov r1, #4 mvn r3, #0 str r2, [sp] bl MOD13_02235EFC ldr r0, _02226FC8 ; =MOD13_02226F54 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02226FC8: .word MOD13_02226F54 arm_func_start MOD13_02226FCC MOD13_02226FCC: ; 0x02226FCC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02227004 ; =MOD13_02226F84 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227004: .word MOD13_02226F84 arm_func_start MOD13_02227008 MOD13_02227008: ; 0x02227008 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02227088 ; =0x022400DC ldr r1, _0222708C ; =0x020C908C bl MOD13_0221F174 ldr r1, _02227090 ; =0x04001008 ldr ip, _02227094 ; =0x0400100A ldrh r0, [r1] ldr r3, _02227098 ; =0x04000008 ldr r2, _0222709C ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _022270A0 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227088: .word 0x022400DC _0222708C: .word 0x020C908C _02227090: .word 0x04001008 _02227094: .word 0x0400100A _02227098: .word 0x04000008 _0222709C: .word 0x0400000A _022270A0: .word 0x0400000C arm_func_start MOD13_022270A4 MOD13_022270A4: ; 0x022270A4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x2c bl MOD13_0222391C mov r5, r0 mov r0, #0 mov r1, r0 bl MOD13_0223A7F0 ldr r2, _02227160 ; =0x022430B4 mov r3, #0 ldr r1, _02227164 ; =0x022430B0 mov r4, r0 strb r3, [r2] strb r3, [r1] bl MOD13_02227008 mov r0, #0 add r1, sp, #0x10 mov r2, #0x16 bl MIi_CpuClear16 ldrb r2, [r5, #1] add r0, r5, #2 add r1, sp, #0x10 mov r2, r2, lsl #1 bl MIi_CpuCopy16 ldr r0, _02227168 ; =0x0223F1B4 mov lr, #2 ldrh r2, [r0, #2] ldrh r5, [r0, #6] ldrh r1, [r0] mov ip, #0x480 sub r5, r5, r2 str r5, [sp] str lr, [sp, #4] add r3, sp, #0x10 str ip, [sp, #8] str r3, [sp, #0xc] ldrh r3, [r0, #4] mov r0, r4 sub r3, r3, r1 bl MOD13_0223A4F0 mov r0, r4 bl MOD13_0223A410 ldr r0, _0222716C ; =MOD13_02226CF4 bl MOD13_02223944 ldr r0, _02227170 ; =MOD13_02226FCC bl MOD13_02222FBC add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} .align 2, 0 _02227160: .word 0x022430B4 _02227164: .word 0x022430B0 _02227168: .word 0x0223F1B4 _0222716C: .word MOD13_02226CF4 _02227170: .word MOD13_02226FCC arm_func_start MOD13_02227174 MOD13_02227174: ; 0x02227174 stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_022341E8 cmp r4, #0 bne _022271A0 ldr r1, _022271C8 ; =0x022430B8 mov r2, #1 mov r0, #0x10 strb r2, [r1] bl MOD13_0223424C b _022271B4 _022271A0: ldr r1, _022271C8 ; =0x022430B8 mov r2, #2 mov r0, #0x12 strb r2, [r1] bl MOD13_0223424C _022271B4: mov r0, #0 bl MOD13_02223944 ldr r0, _022271CC ; =MOD13_02227384 bl MOD13_02222FBC ldmia sp!, {r4, pc} .align 2, 0 _022271C8: .word 0x022430B8 _022271CC: .word MOD13_02227384 arm_func_start MOD13_022271D0 MOD13_022271D0: ; 0x022271D0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _022272E4 ; =0x022430B8 ldrb r0, [r0] cmp r0, #0 bne _02227210 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _02227210: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _022272E4 ; =0x022430B8 ldrb r0, [r0] cmp r0, #0 bne _02227240 bl MOD13_0222395C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} _02227240: bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C ldr r0, _022272E4 ; =0x022430B8 ldrb r0, [r0] cmp r0, #0 bne _0222726C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _0222726C: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _022272E4 ; =0x022430B8 ldrb r0, [r0] cmp r0, #0 bne _022272A4 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022272E8 ; =MOD13_022259A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022272A4: cmp r0, #2 bne _022272C8 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022272EC ; =MOD13_02226CB0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022272C8: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022272F0 ; =MOD13_022270A4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022272E4: .word 0x022430B8 _022272E8: .word MOD13_022259A8 _022272EC: .word MOD13_02226CB0 _022272F0: .word MOD13_022270A4 arm_func_start MOD13_022272F4 MOD13_022272F4: ; 0x022272F4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222737C ; =0x022430B8 ldrb r0, [r0] cmp r0, #0 bne _02227330 bl MOD13_0222395C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} _02227330: bl MOD13_0221ED28 ldr r0, _0222737C ; =0x022430B8 ldrb r0, [r0] cmp r0, #0 bne _02227358 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _02227358: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02227380 ; =MOD13_022271D0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222737C: .word 0x022430B8 _02227380: .word MOD13_022271D0 arm_func_start MOD13_02227384 MOD13_02227384: ; 0x02227384 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022273BC ; =0x022430B8 ldrb r0, [r0] cmp r0, #0 bne _022273A0 bl MOD13_022239B4 _022273A0: bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _022273C0 ; =MOD13_022272F4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022273BC: .word 0x022430B8 _022273C0: .word MOD13_022272F4 arm_func_start MOD13_022273C4 MOD13_022273C4: ; 0x022273C4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_022341E8 mov r0, #7 bl MOD13_0223424C ldr r0, _022273F8 ; =MOD13_02227384 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022273F8: .word MOD13_02227384 arm_func_start MOD13_022273FC MOD13_022273FC: ; 0x022273FC bx lr arm_func_start MOD13_02227400 MOD13_02227400: ; 0x02227400 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _02227428 mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} _02227428: bl MOD13_022275F8 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02227400 bl MOD13_022273FC bl MOD13_022273C4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _02227490 ; =0x02227448 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227490: .word 0x02227448 arm_func_start MOD13_02227494 MOD13_02227494: ; 0x02227494 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #1 bl MOD13_0221F0EC ldr r0, _022274C8 ; =0x02227464 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022274C8: .word 0x02227464 arm_func_start MOD13_022274CC MOD13_022274CC: ; 0x022274CC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02227504 ; =MOD13_02227494 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227504: .word MOD13_02227494 arm_func_start MOD13_02227508 MOD13_02227508: ; 0x02227508 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02227588 ; =0x022400F0 ldr r1, _0222758C ; =0x020C908C bl MOD13_0221F174 ldr r1, _02227590 ; =0x04001008 ldr ip, _02227594 ; =0x0400100A ldrh r0, [r1] ldr r3, _02227598 ; =0x04000008 ldr r2, _0222759C ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _022275A0 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227588: .word 0x022400F0 _0222758C: .word 0x020C908C _02227590: .word 0x04001008 _02227594: .word 0x0400100A _02227598: .word 0x04000008 _0222759C: .word 0x0400000A _022275A0: .word 0x0400000C arm_func_start MOD13_022275A4 MOD13_022275A4: ; 0x022275A4 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022275EC ; =MOD13_02227174 bl MOD13_022239D4 ldr r0, _022275F0 ; =0x022430B8 mov r1, #0 strb r1, [r0] bl MOD13_02227508 mov r0, #0x1c bl MOD13_0221F070 mov r0, #0 bl MOD13_0221E694 mov r0, #0xb bl MOD13_0223424C ldr r0, _022275F4 ; =MOD13_022274CC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022275EC: .word MOD13_02227174 _022275F0: .word 0x022430B8 _022275F4: .word MOD13_022274CC arm_func_start MOD13_022275F8 MOD13_022275F8: ; 0x022275F8 ldr r0, _02227614 ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _02227614: .word 0x027FFFA8 arm_func_start MOD13_02227618 MOD13_02227618: ; 0x02227618 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022341E8 mov r0, #7 bl MOD13_0223424C ldr r1, _02227648 ; =0x022430BC mov r2, #0 ldr r0, _0222764C ; =MOD13_02227894 strb r2, [r1] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227648: .word 0x022430BC _0222764C: .word MOD13_02227894 arm_func_start MOD13_02227650 MOD13_02227650: ; 0x02227650 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02227938 bl MOD13_02227934 bl MOD13_022278D8 ldr r1, _0222769C ; =0x022430C0 ldr r0, _022276A0 ; =0x00000438 ldrh r2, [r1] add r2, r2, #1 strh r2, [r1] ldrh r1, [r1] cmp r1, r0 addlo sp, sp, #4 ldmloia sp!, {pc} bl MOD13_022341E8 ldr r0, _022276A4 ; =MOD13_02227894 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222769C: .word 0x022430C0 _022276A0: .word 0x00000438 _022276A4: .word MOD13_02227894 arm_func_start MOD13_022276A8 MOD13_022276A8: ; 0x022276A8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _022276D0 ; =MOD13_02227894 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022276D0: .word MOD13_02227894 arm_func_start MOD13_022276D4 MOD13_022276D4: ; 0x022276D4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _02227708 ; =MOD13_022276A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227708: .word MOD13_022276A8 arm_func_start MOD13_0222770C MOD13_0222770C: ; 0x0222770C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0223B6A8 mov r0, #0 bl MOD13_0223C1E0 bl MOD13_02227938 bl MOD13_022278D8 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02227818 ; =0x022430BC ldrb r0, [r0] cmp r0, #0 bne _02227770 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _02227770: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _02227818 ; =0x022430BC ldrb r0, [r0] cmp r0, #0 movne r0, #1 moveq r0, #0 bl MOD13_02222D7C bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C ldr r0, _02227818 ; =0x022430BC ldrb r0, [r0] cmp r0, #0 bne _022277C4 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _022277C4: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _02227818 ; =0x022430BC ldrb r0, [r0] cmp r0, #0 bne _022277FC mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222781C ; =MOD13_02230EC4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022277FC: mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _02227820 ; =MOD13_02227ED0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227818: .word 0x022430BC _0222781C: .word MOD13_02230EC4 _02227820: .word MOD13_02227ED0 arm_func_start MOD13_02227824 MOD13_02227824: ; 0x02227824 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 ldr r0, _0222788C ; =0x022430BC ldrb r0, [r0] cmp r0, #0 bne _02227868 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _02227868: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02227890 ; =0x02227730 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222788C: .word 0x022430BC _02227890: .word 0x02227730 arm_func_start MOD13_02227894 MOD13_02227894: ; 0x02227894 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 ldr r0, _022278D0 ; =0x022430C4 ldr r1, [r0] cmp r1, #0 beq _022278B8 mov r0, #1 bl MOD13_0223C104 _022278B8: mov r0, #8 bl MOD13_0223A10C ldr r0, _022278D4 ; =MOD13_02227824 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022278D0: .word 0x022430C4 _022278D4: .word MOD13_02227824 arm_func_start MOD13_022278D8 MOD13_022278D8: ; 0x022278D8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222792C ; =0x022430C4 ldr r1, [r0] cmp r1, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #1 bl MOD13_0223C110 ldr r0, _0222792C ; =0x022430C4 mov r1, #0 str r1, [r0] bl MOD13_0221EC84 ldr r0, _02227930 ; =MOD13_02227618 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222792C: .word 0x022430C4 _02227930: .word MOD13_02227618 arm_func_start MOD13_02227934 MOD13_02227934: ; 0x02227934 bx lr arm_func_start MOD13_02227938 MOD13_02227938: ; 0x02227938 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _02227960 mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} _02227960: bl MOD13_02227CA0 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02227938 bl MOD13_02227934 bl MOD13_022278D8 bl MOD13_02222D0C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} cmp r0, #1 beq _022279BC cmp r0, #2 beq _022279FC add sp, sp, #4 ldmia sp!, {pc} _022279BC: ldr r0, _02227A68 ; =0x022430C4 ldr r1, [r0] cmp r1, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r2, _02227A6C ; =0x022430BC mov r0, #1 strb r0, [r2] bl MOD13_0223C104 ldr r1, _02227A68 ; =0x022430C4 mov r2, #0 ldr r0, _02227A70 ; =MOD13_02227650 str r2, [r1] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022279FC: ldr r0, _02227A68 ; =0x022430C4 ldr r0, [r0] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_022341E8 mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0xc mvn r3, #0 str ip, [sp] bl MOD13_02235EFC mov r0, #9 bl MOD13_0223424C bl MOD13_0221EC84 ldr r1, _02227A68 ; =0x022430C4 mov r0, #1 ldr r1, [r1] bl MOD13_0223C104 ldr r1, _02227A68 ; =0x022430C4 mov r2, #0 ldr r0, _02227A74 ; =MOD13_022276D4 str r2, [r1] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227A68: .word 0x022430C4 _02227A6C: .word 0x022430BC _02227A70: .word MOD13_02227650 _02227A74: .word MOD13_022276D4 arm_func_start MOD13_02227A78 MOD13_02227A78: ; 0x02227A78 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r1, _02227AC0 ; =MOD13_0222770C mov r0, #1 mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02227AC4 ; =0x022430C4 str r0, [r1] ldr r0, _02227AC8 ; =0x02227980 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227AC0: .word MOD13_0222770C _02227AC4: .word 0x022430C4 _02227AC8: .word 0x02227980 arm_func_start MOD13_02227ACC MOD13_02227ACC: ; 0x02227ACC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #1 bl MOD13_0221F0EC ldr r0, _02227B14 ; =MOD13_02227A78 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227B14: .word MOD13_02227A78 arm_func_start MOD13_02227B18 MOD13_02227B18: ; 0x02227B18 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02227B70 ; =MOD13_02227ACC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227B70: .word MOD13_02227ACC arm_func_start MOD13_02227B74 MOD13_02227B74: ; 0x02227B74 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02227C0C ; =0x02240104 ldr r1, _02227C10 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _02227C14 ; =0x0224011C ldr r1, _02227C18 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _02227C1C ; =0x02240134 ldr r1, _02227C20 ; =0x020C908C bl MOD13_0221F174 ldr r1, _02227C24 ; =0x04001008 ldr ip, _02227C28 ; =0x0400100A ldrh r0, [r1] ldr r3, _02227C2C ; =0x04000008 ldr r2, _02227C30 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02227C34 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227C0C: .word 0x02240104 _02227C10: .word 0x020C8D4C _02227C14: .word 0x0224011C _02227C18: .word 0x020C9550 _02227C1C: .word 0x02240134 _02227C20: .word 0x020C908C _02227C24: .word 0x04001008 _02227C28: .word 0x0400100A _02227C2C: .word 0x04000008 _02227C30: .word 0x0400000A _02227C34: .word 0x0400000C arm_func_start MOD13_02227C38 MOD13_02227C38: ; 0x02227C38 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02227C98 ; =0x022430C0 mov r1, #0 strh r1, [r0] bl MOD13_02227B74 bl MOD13_0221F4AC mov r0, #0x36 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #2 bl MOD13_0221F124 mov r0, #0x22 bl MOD13_0221F070 mov r0, #0 bl MOD13_0221E694 bl MOD13_02222DD8 mov r0, #0xb bl MOD13_0223424C ldr r0, _02227C9C ; =MOD13_02227B18 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227C98: .word 0x022430C0 _02227C9C: .word MOD13_02227B18 arm_func_start MOD13_02227CA0 MOD13_02227CA0: ; 0x02227CA0 ldr r0, _02227CBC ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _02227CBC: .word 0x027FFFA8 arm_func_start MOD13_02227CC0 MOD13_02227CC0: ; 0x02227CC0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02227CF8 ; =0x022430C8 ldrb r1, [r0] add r1, r1, #1 strb r1, [r0] ldrb r0, [r0] cmp r0, #0x78 addlo sp, sp, #4 ldmloia sp!, {pc} ldr r0, _02227CFC ; =MOD13_02227D80 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227CF8: .word 0x022430C8 _02227CFC: .word MOD13_02227D80 arm_func_start MOD13_02227D00 MOD13_02227D00: ; 0x02227D00 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #0 mov r1, r0 bl MOD13_02222FA8 mov r0, #0 mov r1, #1 bl MOD13_02222F6C ldr r0, _02227D7C ; =MOD13_0223197C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227D7C: .word MOD13_0223197C arm_func_start MOD13_02227D80 MOD13_02227D80: ; 0x02227D80 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02227DC0 ; =MOD13_02227D00 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227DC0: .word MOD13_02227D00 arm_func_start MOD13_02227DC4 MOD13_02227DC4: ; 0x02227DC4 bx lr arm_func_start MOD13_02227DC8 MOD13_02227DC8: ; 0x02227DC8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02227CC0 bl MOD13_02227DC4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02227E0C ; =MOD13_02227DC8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227E0C: .word MOD13_02227DC8 arm_func_start MOD13_02227E10 MOD13_02227E10: ; 0x02227E10 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02227E48 ; =0x02227DE0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227E48: .word 0x02227DE0 arm_func_start MOD13_02227E4C MOD13_02227E4C: ; 0x02227E4C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02227EB8 ; =0x02240148 ldr r1, _02227EBC ; =0x020C908C bl MOD13_0221F174 ldr ip, _02227EC0 ; =0x04001008 ldr r3, _02227EC4 ; =0x0400100A ldrh r0, [ip] ldr r2, _02227EC8 ; =0x0400000A ldr r1, _02227ECC ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227EB8: .word 0x02240148 _02227EBC: .word 0x020C908C _02227EC0: .word 0x04001008 _02227EC4: .word 0x0400100A _02227EC8: .word 0x0400000A _02227ECC: .word 0x0400000C arm_func_start MOD13_02227ED0 MOD13_02227ED0: ; 0x02227ED0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02227F0C ; =0x022430C8 mov r1, #0 strb r1, [r0] bl MOD13_02227E4C bl MOD13_0221F4AC mov r0, #0x23 bl MOD13_0221F070 mov r0, #0x10 bl MOD13_0223424C ldr r0, _02227F10 ; =MOD13_02227E10 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227F0C: .word 0x022430C8 _02227F10: .word MOD13_02227E10 arm_func_start MOD13_02227F14 MOD13_02227F14: ; 0x02227F14 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221EC9C bl MOD13_02232F2C ldr r0, _02227F44 ; =MOD13_02229150 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227F44: .word MOD13_02229150 arm_func_start MOD13_02227F48 MOD13_02227F48: ; 0x02227F48 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _02227F7C ; =MOD13_02227F14 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227F7C: .word MOD13_02227F14 arm_func_start MOD13_02227F80 MOD13_02227F80: ; 0x02227F80 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02227FB4 ; =0x0223F1BC ldr r0, _02227FB8 ; =0x022430D4 ldrb r1, [r1] ldr r0, [r0] strb r1, [sp] ldrb r1, [sp] ldr r0, [r0, #8] mov r2, r1 bl MOD13_022327DC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02227FB4: .word 0x0223F1BC _02227FB8: .word 0x022430D4 arm_func_start MOD13_02227FBC MOD13_02227FBC: ; 0x02227FBC stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _0222804C ; =0x022430D4 ldr r0, _02228050 ; =0x022430D0 ldr r2, [r1] ldrh r1, [r0] ldrh r0, [r2, #0x40] cmp r1, r0 beq _02227FEC ldrb r0, [r2, #0x51] cmp r0, #4 bhi _0222801C _02227FEC: ldrb r0, [r2, #0x59] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _0222804C ; =0x022430D4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x59] ldmia sp!, {pc} _0222801C: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _02228054 ; =MOD13_02228314 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222804C ; =0x022430D4 ldr r1, [r1] str r0, [r1, #0x38] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222804C: .word 0x022430D4 _02228050: .word 0x022430D0 _02228054: .word MOD13_02228314 arm_func_start MOD13_02228058 MOD13_02228058: ; 0x02228058 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022280D8 ; =0x022430D0 ldrh r0, [r0] cmp r0, #0 bne _022280A8 ldr r0, _022280DC ; =0x022430D4 ldr r0, [r0] ldrb r0, [r0, #0x59] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _022280DC ; =0x022430D4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x59] ldmia sp!, {pc} _022280A8: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _022280E0 ; =MOD13_022283B4 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _022280DC ; =0x022430D4 ldr r1, [r1] str r0, [r1, #0x38] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022280D8: .word 0x022430D0 _022280DC: .word 0x022430D4 _022280E0: .word MOD13_022283B4 arm_func_start MOD13_022280E4 MOD13_022280E4: ; 0x022280E4 stmdb sp!, {r4, lr} ldr r1, _02228238 ; =0x022430CC mov r4, #1 ldrb r2, [r1] cmp r2, #4 addls pc, pc, r2, lsl #2 b _022281F0 _02228100: ; jump table b _02228114 ; case 0 b _02228180 ; case 1 b _02228180 ; case 2 b _022281B0 ; case 3 b _022281C8 ; case 4 _02228114: cmp r0, #1 bne _02228160 ldr r0, _0222823C ; =0x022430D0 ldrh r0, [r0] cmp r0, #0 moveq r0, #4 streqb r0, [r1] beq _022281F0 mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _02228240 ; =MOD13_022283B4 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02228244 ; =0x022430D4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {r4, pc} _02228160: ldr r0, _02228244 ; =0x022430D4 ldr r0, [r0] ldrb r0, [r0, #0x51] cmp r0, #1 addhi r0, r2, #1 strhib r0, [r1] movls r4, #0 b _022281F0 _02228180: cmp r0, #1 subeq r0, r2, #1 streqb r0, [r1] beq _022281F0 ldr r0, _02228244 ; =0x022430D4 add r2, r2, #1 ldr r0, [r0] ldrb r0, [r0, #0x51] cmp r0, r2 strgtb r2, [r1] movle r4, #0 b _022281F0 _022281B0: cmp r0, #1 subeq r0, r2, #1 streqb r0, [r1] beq _022281F0 bl MOD13_02227FBC ldmia sp!, {r4, pc} _022281C8: cmp r0, #1 moveq r4, #0 beq _022281F0 ldr r0, _0222823C ; =0x022430D0 mov r2, #0 strh r2, [r0] strb r2, [r1] bl MOD13_02228754 mov r0, #0 bl MOD13_02232F44 _022281F0: cmp r4, #0 bne _02228228 ldr r0, _02228244 ; =0x022430D4 ldr r0, [r0] ldrb r0, [r0, #0x59] cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, #9 bl MOD13_0223424C ldr r0, _02228244 ; =0x022430D4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x59] ldmia sp!, {r4, pc} _02228228: mov r0, #8 bl MOD13_0223424C bl MOD13_02228248 ldmia sp!, {r4, pc} .align 2, 0 _02228238: .word 0x022430CC _0222823C: .word 0x022430D0 _02228240: .word MOD13_022283B4 _02228244: .word 0x022430D4 arm_func_start MOD13_02228248 MOD13_02228248: ; 0x02228248 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222828C ; =0x022430CC ldr r1, _02228290 ; =0x0223F224 ldrb r2, [r0] ldr r3, _02228294 ; =0x0223F226 mov ip, r2, lsl #3 cmp r2, #4 ldr r2, _02228298 ; =0x0223F228 movlo r0, #2 ldrh r1, [r1, ip] ldrh r2, [r2, ip] ldrh r3, [r3, ip] movhs r0, #3 bl MOD13_0221F348 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222828C: .word 0x022430CC _02228290: .word 0x0223F224 _02228294: .word 0x0223F226 _02228298: .word 0x0223F228 arm_func_start MOD13_0222829C MOD13_0222829C: ; 0x0222829C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02228300 ; =0x022430D4 ldr r0, [r0] ldrb r0, [r0, #0x56] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _02228304 ; =0x022430D0 mov r1, #0x1c ldrh r0, [r0] bl FX_ModS32 ldr r1, _02228308 ; =0x01FF0000 sub r2, r0, #0x32 ldr r0, _0222830C ; =0x04000010 and r2, r1, r2, lsl #16 ldr r1, _02228310 ; =0x04000018 str r2, [r0] ldr r0, _02228300 ; =0x022430D4 str r2, [r1] ldr r0, [r0] mov r1, #0 strb r1, [r0, #0x56] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02228300: .word 0x022430D4 _02228304: .word 0x022430D0 _02228308: .word 0x01FF0000 _0222830C: .word 0x04000010 _02228310: .word 0x04000018 arm_func_start MOD13_02228314 MOD13_02228314: ; 0x02228314 stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_02232F14 bl MOD13_0221F21C ldr r0, _022283AC ; =0x022430D0 mov r1, #0x1c ldrh r2, [r0] add r2, r2, #4 strh r2, [r0] ldrh r0, [r0] bl FX_ModS32 cmp r0, #4 blt _02228350 bl MOD13_02228490 ldmia sp!, {r4, pc} _02228350: ldr r1, _022283AC ; =0x022430D0 ldrh r2, [r1] sub r0, r2, r0 strh r0, [r1] bl MOD13_02228754 ldr r1, _022283B0 ; =0x022430D4 ldr r0, _022283AC ; =0x022430D0 ldr r1, [r1] ldrh r2, [r0] ldrb r0, [r1, #0x53] ldrh r1, [r1, #0x40] mul r0, r2, r0 bl FX_DivS32 bl MOD13_02232F44 bl MOD13_02232F2C bl MOD13_02228248 ldr r0, _022283B0 ; =0x022430D4 mov r1, r4 ldr r2, [r0] mov r0, #0 str r0, [r2, #0x38] bl MOD13_0223C110 ldmia sp!, {r4, pc} .align 2, 0 _022283AC: .word 0x022430D0 _022283B0: .word 0x022430D4 arm_func_start MOD13_022283B4 MOD13_022283B4: ; 0x022283B4 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r4, r0 bl MOD13_02232F14 bl MOD13_0221F21C ldr r0, _02228488 ; =0x022430D0 ldrh r1, [r0] cmp r1, #4 subhi r1, r1, #4 strhih r1, [r0] movls r1, #0 strlsh r1, [r0] ldr r0, _02228488 ; =0x022430D0 mov r1, #0x1c ldrh r0, [r0] bl FX_ModS32 mov r5, r0 cmp r5, #0x18 bne _0222840C bl MOD13_02228754 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222840C: cmp r5, #0x18 ble _0222842C ldr r0, _02228488 ; =0x022430D0 rsb r1, r5, #0x1c ldrh r2, [r0] mov r5, #0 add r1, r2, r1 strh r1, [r0] _0222842C: bl MOD13_02228490 cmp r5, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} ldr r1, _0222848C ; =0x022430D4 ldr r0, _02228488 ; =0x022430D0 ldr r1, [r1] ldrh r2, [r0] ldrb r0, [r1, #0x53] ldrh r1, [r1, #0x40] mul r0, r2, r0 bl FX_DivS32 bl MOD13_02232F44 bl MOD13_02232F2C bl MOD13_02228248 ldr r0, _0222848C ; =0x022430D4 mov r1, r4 ldr r2, [r0] mov r0, #0 str r0, [r2, #0x38] bl MOD13_0223C110 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02228488: .word 0x022430D0 _0222848C: .word 0x022430D4 arm_func_start MOD13_02228490 MOD13_02228490: ; 0x02228490 stmdb sp!, {r4, r5, r6, lr} ldr r0, _02228544 ; =0x022430D0 mov r1, #0x1c ldrh r0, [r0] bl FX_ModS32 ldr r1, _02228548 ; =0x022430D4 rsb r2, r0, #0x36 ldr r0, [r1] ldrb r1, [r0, #0x51] mov r0, #0 cmp r1, #5 movgt r1, #5 cmp r1, #0 ble _02228530 ldr ip, _02228548 ; =0x022430D4 ldr r3, _0222854C ; =0xFE00FF00 _022284D0: ldr r5, [ip] sub r4, r2, #2 add r5, r5, r0, lsl #2 ldr r6, [r5, #0x10] add lr, r2, #1 ldr r5, [r6] and r4, r4, #0xff and r5, r5, r3 orr r4, r5, r4 orr r4, r4, #0xb30000 str r4, [r6] ldr r4, [ip] and lr, lr, #0xff add r4, r4, r0, lsl #2 ldr r5, [r4, #0x24] add r0, r0, #1 ldr r4, [r5] cmp r0, r1 and r4, r4, r3 orr r4, r4, lr orr r4, r4, #0xd20000 str r4, [r5] add r2, r2, #0x1c blt _022284D0 _02228530: ldr r0, _02228548 ; =0x022430D4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x56] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02228544: .word 0x022430D0 _02228548: .word 0x022430D4 _0222854C: .word 0xFE00FF00 arm_func_start MOD13_02228550 MOD13_02228550: ; 0x02228550 stmdb sp!, {r4, lr} ldr r3, _022285D8 ; =0x022430D4 ldr lr, [r3] ldrb r2, [lr, #0x51] cmp r0, r2 ldmgeia sp!, {r4, pc} mov r2, #0x2a mul r2, r0, r2 ldr r0, [lr] add r4, lr, r1, lsl #2 add r0, r0, r2 ldrb ip, [r0, #0x28] ldr r4, [r4, #0x10] mov r0, #0x400 add ip, lr, ip, lsl #1 ldrh lr, [r4, #4] rsb r0, r0, #0 ldrh ip, [ip, #0x42] and lr, lr, r0 orr ip, lr, ip strh ip, [r4, #4] ldr lr, [r3] ldr r3, [lr] add ip, lr, r1, lsl #2 add r1, r3, r2 ldrh r1, [r1, #0x26] ldr r3, [ip, #0x24] add r1, lr, r1, lsl #1 ldrh r2, [r3, #4] ldrh r1, [r1, #0x48] and r0, r2, r0 orr r0, r0, r1 strh r0, [r3, #4] ldmia sp!, {r4, pc} .align 2, 0 _022285D8: .word 0x022430D4 arm_func_start MOD13_022285DC MOD13_022285DC: ; 0x022285DC stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x34 mov r7, r0 mov r0, #0x2a ldr r2, _02228750 ; =0x022430D4 mul r4, r7, r0 ldr r0, [r2] mov r6, r1 ldr r0, [r0] mov r1, #0x20 add r0, r0, r4 bl MOD13_0223BDA4 ldr r2, _02228750 ; =0x022430D4 mov r1, #0x1c mul r5, r6, r1 ldr r2, [r2] mov r6, r0 ldrb r1, [r2, #0x51] cmp r7, r1 addge sp, sp, #0x34 ldmgeia sp!, {r4, r5, r6, r7, pc} add r0, sp, #0xc cmp r6, #0x10 mov r1, #0 mov r2, #0x22 addle r5, r5, #6 bl MI_CpuFill8 cmp r6, #0x10 movle ip, r6 movgt ip, #0x10 cmp ip, #0 mov r7, #0 ble _0222868C ldr r0, _02228750 ; =0x022430D4 ldr r3, [r0] add r0, sp, #0xc _0222866C: ldr r2, [r3] mov r1, r7, lsl #1 add r2, r4, r2 ldrb r2, [r7, r2] add r7, r7, #1 cmp r7, ip strh r2, [r0, r1] blt _0222866C _0222868C: mov r1, #0xa add r0, sp, #0xc str r1, [sp] str r0, [sp, #4] mov r2, #1 str r2, [sp, #8] ldr r0, _02228750 ; =0x022430D4 mov r2, r5 ldr r0, [r0] mov r3, #2 ldr r0, [r0, #0xc] bl MOD13_0223A528 cmp r6, #0x10 addle sp, sp, #0x34 ldmleia sp!, {r4, r5, r6, r7, pc} add r0, sp, #0xc mov r1, #0 mov r2, #0x22 bl MI_CpuFill8 sub r6, r6, #0x10 cmp r6, #0 mov r3, #0 ble _02228718 ldr r0, _02228750 ; =0x022430D4 ldr r7, [r0] add r0, sp, #0xc _022286F4: ldr r1, [r7] add r2, r3, #0x10 add r1, r4, r1 ldrb r2, [r2, r1] mov r1, r3, lsl #1 add r3, r3, #1 strh r2, [r0, r1] cmp r3, r6 blt _022286F4 _02228718: mov r1, #0xa add r0, sp, #0xc str r1, [sp] str r0, [sp, #4] mov r2, #1 str r2, [sp, #8] ldr r0, _02228750 ; =0x022430D4 add r2, r5, #0xc ldr r0, [r0] mov r3, #2 ldr r0, [r0, #0xc] bl MOD13_0223A528 add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02228750: .word 0x022430D4 arm_func_start MOD13_02228754 MOD13_02228754: ; 0x02228754 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 ldr r0, _02228800 ; =0x022430D0 mov r1, #0x1c ldrh r0, [r0] bl FX_DivS32 ldr r1, _02228804 ; =0x022430D4 mov r7, r0 ldr r0, [r1] mov r1, #0 ldrb r6, [r0, #0x51] ldr r0, [r0, #0xc] bl MOD13_0223A4D8 cmp r6, #5 movgt r6, #5 mov r5, r7 cmp r6, #0 mov r4, #0 ble _022287BC _022287A0: mov r0, r5 mov r1, r4 bl MOD13_022285DC add r4, r4, #1 cmp r4, r6 add r5, r5, #1 blt _022287A0 _022287BC: cmp r6, #0 mov r4, #0 ble _022287E4 _022287C8: mov r0, r7 mov r1, r4 bl MOD13_02228550 add r4, r4, #1 cmp r4, r6 add r7, r7, #1 blt _022287C8 _022287E4: ldr r0, _02228804 ; =0x022430D4 ldr r0, [r0] ldr r0, [r0, #0xc] bl MOD13_0223A410 bl MOD13_02228490 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02228800: .word 0x022430D0 _02228804: .word 0x022430D4 arm_func_start MOD13_02228808 MOD13_02228808: ; 0x02228808 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} ldr r1, _02228A0C ; =0x022430D4 mov r0, #1 ldr r1, [r1] ldr r1, [r1, #0x3c] bl MOD13_0223C104 mov r5, #0 ldr r4, _02228A0C ; =0x022430D4 _02228864: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x10] cmp r0, #0 beq _0222887C bl MOD13_0223B974 _0222887C: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x24] cmp r0, #0 beq _02228894 bl MOD13_0223B974 _02228894: add r5, r5, #1 cmp r5, #5 blt _02228864 ldr r0, _02228A0C ; =0x022430D4 ldr r0, [r0] ldr r0, [r0, #0xc] bl MOD13_0223A688 bl MOD13_02232F78 bl MOD13_0221F21C bl MOD13_0221EE54 bl MOD13_022328E8 ldr r0, _02228A0C ; =0x022430D4 ldr r0, [r0] ldr r0, [r0, #4] bl MOD13_0223939C ldr r0, _02228A0C ; =0x022430D4 ldr r0, [r0] ldr r0, [r0, #8] bl MOD13_0223939C mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x1d bl MOD13_0223AE98 mov r2, #0 ldr r1, _02228A10 ; =0x04000010 ldr r0, _02228A14 ; =0x04000018 str r2, [r1] str r2, [r0] ldr r0, _02228A0C ; =0x022430D4 ldr r2, [r0] ldrb r0, [r2, #0x54] cmp r0, #0 bne _02228948 bl MOD13_02233570 bl MOD13_02234164 ldrb r0, [r0, #0xf4] bl MOD13_02233C24 mov r0, #2 mov r1, #0 bl MOD13_02222FA8 ldr r0, _02228A18 ; =MOD13_02230EC4 bl MOD13_02222FBC b _022289FC _02228948: ldr r0, _02228A1C ; =0x022430CC ldrb r0, [r0] cmp r0, #4 bne _02228974 bl MOD13_02233570 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02228A20 ; =MOD13_0222F8A0 bl MOD13_02222FBC b _022289FC _02228974: ldrb r1, [r2, #0x52] ldr r2, [r2] mov r0, #0x2a mla r0, r1, r0, r2 bl MOD13_02234104 mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r1, _02228A0C ; =0x022430D4 mov r0, #0x2a ldr r2, [r1] ldrb r1, [r2, #0x52] ldr r2, [r2] mla r0, r1, r0, r2 ldrb r0, [r0, #0x28] cmp r0, #0 beq _022289DC mov r0, #0 mov r1, #1 bl MOD13_02222FA8 mov r0, #1 mov r1, r0 bl MOD13_02222F6C ldr r0, _02228A24 ; =MOD13_0222A190 bl MOD13_02222FBC b _022289FC _022289DC: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 mov r0, #0 mov r1, #1 bl MOD13_02222F6C ldr r0, _02228A28 ; =MOD13_0223197C bl MOD13_02222FBC _022289FC: ldr r0, _02228A0C ; =0x022430D4 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02228A0C: .word 0x022430D4 _02228A10: .word 0x04000010 _02228A14: .word 0x04000018 _02228A18: .word MOD13_02230EC4 _02228A1C: .word 0x022430CC _02228A20: .word MOD13_0222F8A0 _02228A24: .word MOD13_0222A190 _02228A28: .word MOD13_0223197C arm_func_start MOD13_02228A2C MOD13_02228A2C: ; 0x02228A2C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02228AA0 ; =0x022430D4 ldr r0, [r0] ldrb r0, [r0, #0x54] cmp r0, #0 beq _02228A64 bl MOD13_0221ED28 b _02228A68 _02228A64: bl MOD13_0221EC84 _02228A68: mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x1d mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02228AA4 ; =MOD13_02228808 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02228AA0: .word 0x022430D4 _02228AA4: .word MOD13_02228808 arm_func_start MOD13_02228AA8 MOD13_02228AA8: ; 0x02228AA8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02228ACC ; =MOD13_02228A2C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02228ACC: .word MOD13_02228A2C arm_func_start MOD13_02228AD0 MOD13_02228AD0: ; 0x02228AD0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02228BF8 ; =0x022430D4 ldr r1, [r0] ldr r0, [r1, #0x38] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldrb r0, [r1, #0x57] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED14 cmp r0, #0 beq _02228B1C cmp r0, #1 beq _02228B28 add sp, sp, #4 ldmia sp!, {pc} _02228B1C: mov r0, #7 bl MOD13_0223424C b _02228BE8 _02228B28: ldr r0, _02228BFC ; =0x022430CC ldrb r0, [r0] cmp r0, #4 bne _02228B58 ldr r0, _02228BF8 ; =0x022430D4 mov r2, #1 ldr r1, [r0] mov r0, #6 strb r2, [r1, #0x54] bl MOD13_0223424C bl MOD13_02227F80 b _02228BE8 _02228B58: ldr r0, _02228C00 ; =0x022430D0 mov r1, #0x1c ldrh r0, [r0] bl FX_DivS32 ldr r1, _02228BFC ; =0x022430CC ldr r2, _02228BF8 ; =0x022430D4 ldrb lr, [r1] ldr ip, [r2] mov r1, #0x2a ldr r3, [ip] add lr, lr, r0 mla r0, lr, r1, r3 ldrb r0, [r0, #0x28] cmp r0, #2 bne _02228BD0 mov r0, #9 bl MOD13_0223424C bl MOD13_02232F14 bl MOD13_0221EC84 mov r1, #1 mov r0, #0 str r0, [sp] mov r2, r1 mov r0, #0xe mvn r3, #0 bl MOD13_02235EFC ldr r0, _02228C04 ; =MOD13_02227F48 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02228BD0: mov r0, #1 strb r0, [ip, #0x54] ldr r1, [r2] mov r0, #6 strb lr, [r1, #0x52] bl MOD13_0223424C _02228BE8: ldr r0, _02228C08 ; =MOD13_02228AA8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02228BF8: .word 0x022430D4 _02228BFC: .word 0x022430CC _02228C00: .word 0x022430D0 _02228C04: .word MOD13_02227F48 _02228C08: .word MOD13_02228AA8 arm_func_start MOD13_02228C0C MOD13_02228C0C: ; 0x02228C0C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02228EBC ; =0x022430D4 ldr r1, [r0] ldr r0, [r1, #0x38] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldrb r0, [r1, #0x55] cmp r0, #0 subne r0, r0, #1 strneb r0, [r1, #0x55] bl MOD13_02232F50 cmp r0, #7 addls pc, pc, r0, lsl #2 b _02228EB4 _02228C4C: ; jump table b _02228EB4 ; case 0 b _02228C6C ; case 1 b _02228C88 ; case 2 b _02228CE4 ; case 3 b _02228DA4 ; case 4 b _02228EA4 ; case 5 b _02228E1C ; case 6 b _02228EA4 ; case 7 _02228C6C: ldr r0, _02228EBC ; =0x022430D4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x57] bl MOD13_0221EC84 add sp, sp, #4 ldmia sp!, {pc} _02228C88: ldr r0, _02228EBC ; =0x022430D4 ldr r0, [r0] ldrb r0, [r0, #0x55] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221F21C bl MOD13_02232F64 ldr r1, _02228EBC ; =0x022430D4 ldr r1, [r1] ldrh r2, [r1, #0x40] ldrb r1, [r1, #0x53] mul r0, r2, r0 bl FX_DivS32 ldr r1, _02228EC0 ; =0x022430D0 strh r0, [r1] bl MOD13_02228754 ldr r0, _02228EBC ; =0x022430D4 mov r1, #4 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x55] ldmia sp!, {pc} _02228CE4: ldr r0, _02228EBC ; =0x022430D4 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x57] bl MOD13_0221EC9C bl MOD13_02232F64 ldr r1, _02228EBC ; =0x022430D4 ldr r1, [r1] ldrh r2, [r1, #0x40] ldrb r1, [r1, #0x53] mul r0, r2, r0 bl FX_DivS32 ldr r1, _02228EC0 ; =0x022430D0 strh r0, [r1] mov r0, #0x13 bl MOD13_0223424C bl MOD13_02228754 ldr r0, _02228EC0 ; =0x022430D0 mov r1, #0x1c ldrh r0, [r0] bl FX_ModS32 cmp r0, #0 bne _02228D4C bl MOD13_02228248 add sp, sp, #4 ldmia sp!, {pc} _02228D4C: cmp r0, #0xe bge _02228D7C mov r0, #0 ldr r1, _02228EC4 ; =MOD13_022283B4 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02228EBC ; =0x022430D4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _02228D7C: mov r0, #0 ldr r1, _02228EC8 ; =MOD13_02228314 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02228EBC ; =0x022430D4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _02228DA4: ldr r0, _02228EC0 ; =0x022430D0 ldrh r0, [r0] cmp r0, #0 bne _02228DEC ldr r0, _02228EBC ; =0x022430D4 ldr r0, [r0] ldrb r0, [r0, #0x58] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _02228EBC ; =0x022430D4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x58] ldmia sp!, {pc} _02228DEC: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _02228EC4 ; =MOD13_022283B4 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02228EBC ; =0x022430D4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _02228E1C: ldr r0, _02228EBC ; =0x022430D4 ldr r2, [r0] ldrb r0, [r2, #0x51] cmp r0, #4 bls _02228E44 ldr r0, _02228EC0 ; =0x022430D0 ldrh r1, [r2, #0x40] ldrh r0, [r0] cmp r0, r1 bne _02228E74 _02228E44: ldrb r0, [r2, #0x58] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _02228EBC ; =0x022430D4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x58] ldmia sp!, {pc} _02228E74: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _02228EC8 ; =MOD13_02228314 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02228EBC ; =0x022430D4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _02228EA4: ldr r0, _02228EBC ; =0x022430D4 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x58] _02228EB4: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02228EBC: .word 0x022430D4 _02228EC0: .word 0x022430D0 _02228EC4: .word MOD13_022283B4 _02228EC8: .word MOD13_02228314 arm_func_start MOD13_02228ECC MOD13_02228ECC: ; 0x02228ECC stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r0, _02229140 ; =0x022430D4 ldr r1, [r0] ldr r0, [r1, #0x38] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} ldrb r0, [r1, #0x57] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} ldr r0, _02229144 ; =0x0223F75C bl MOD13_0223B2B4 cmp r0, #0 beq _02228F74 ldr r0, _02229140 ; =0x022430D4 mvn r1, #0 ldr r0, [r0] ldr r4, _02229148 ; =0x0223F1FC strb r1, [r0, #0x50] mov r5, #0 _02228F24: mov r0, r4 bl MOD13_0223B2B4 cmp r0, #0 beq _02228F64 cmp r5, #4 ldrlt r0, _02229140 ; =0x022430D4 ldrlt r0, [r0] strltb r5, [r0, #0x50] blt _02228F74 mov r0, #1 bl MOD13_0221ECF4 ldr r0, _0222914C ; =0x022430CC strb r5, [r0] bl MOD13_02228248 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02228F64: add r5, r5, #1 cmp r5, #5 add r4, r4, #8 blo _02228F24 _02228F74: ldr r0, _02229144 ; =0x0223F75C bl MOD13_0223B1DC cmp r0, #0 beq _02228FF4 ldr r5, _02229148 ; =0x0223F1FC mov r4, #0 _02228F8C: mov r0, r5 bl MOD13_0223B1DC cmp r0, #0 beq _02228FE4 ldr r0, _02229140 ; =0x022430D4 ldr r1, [r0] ldrsb r0, [r1, #0x50] cmp r0, r4 bne _02228FF4 ldrb r0, [r1, #0x51] cmp r4, r0 blt _02228FC8 mov r0, #9 bl MOD13_0223424C b _02228FF4 _02228FC8: mov r0, #1 bl MOD13_0221ECF4 ldr r0, _0222914C ; =0x022430CC strb r4, [r0] bl MOD13_02228248 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02228FE4: add r4, r4, #1 cmp r4, #4 add r5, r5, #8 blt _02228F8C _02228FF4: mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02229018 mov r0, #1 bl MOD13_0221ECF4 bl MOD13_02232F14 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02229018: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _02229038 mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02229038: mov r0, #0x200 bl MOD13_0223B3B0 cmp r0, #0 beq _02229054 bl MOD13_02227FBC add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02229054: mov r0, #0x200 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _02229140 ; =0x022430D4 movne r1, #0 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0x59] ldmneia sp!, {r4, r5, pc} mov r0, #0x100 bl MOD13_0223B3B0 cmp r0, #0 beq _02229094 bl MOD13_02228058 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02229094: mov r0, #0x100 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _02229140 ; =0x022430D4 movne r1, #0 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0x59] ldmneia sp!, {r4, r5, pc} mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _022290D8 mov r0, #1 bl MOD13_022280E4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _022290D8: mov r0, #0x40 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _02229140 ; =0x022430D4 movne r1, #0 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0x59] ldmneia sp!, {r4, r5, pc} mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 beq _0222911C mov r0, #3 bl MOD13_022280E4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222911C: mov r0, #0x80 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _02229140 ; =0x022430D4 movne r1, #0 ldrne r0, [r0] strneb r1, [r0, #0x59] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02229140: .word 0x022430D4 _02229144: .word 0x0223F75C _02229148: .word 0x0223F1FC _0222914C: .word 0x022430CC arm_func_start MOD13_02229150 MOD13_02229150: ; 0x02229150 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02228ECC bl MOD13_02228C0C bl MOD13_02228AD0 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222919C ; =MOD13_02229150 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222919C: .word MOD13_02229150 arm_func_start MOD13_022291A0 MOD13_022291A0: ; 0x022291A0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0221F0EC ldr r0, _022291E8 ; =0x0222916C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022291E8: .word 0x0222916C arm_func_start MOD13_022291EC MOD13_022291EC: ; 0x022291EC stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x1d mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x1d bl MOD13_0223AEF4 ldr r0, _02229244 ; =MOD13_022291A0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02229244: .word MOD13_022291A0 arm_func_start MOD13_02229248 MOD13_02229248: ; 0x02229248 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} ldr r0, _022293BC ; =0x022430D4 mov sb, #0 ldr r0, [r0] ldrb r4, [r0, #0x51] cmp r4, #5 movgt r4, #5 cmp r4, #0 ble _022292C4 ldr r1, _022293C0 ; =0x0223F1C0 ldr r0, _022293C4 ; =0x0223F1C4 ldrb r8, [r1] ldrb r7, [r0] ldr sl, _022293BC ; =0x022430D4 mov r6, sb mov r5, sb _02229288: mov r0, r6 mov r1, r8 bl MOD13_02239E54 ldr r2, [sl] mov r1, r7 add r2, r2, sb, lsl #2 str r0, [r2, #0x10] mov r0, r5 bl MOD13_02239E54 ldr r1, [sl] add r1, r1, sb, lsl #2 add sb, sb, #1 str r0, [r1, #0x24] cmp sb, r4 blt _02229288 _022292C4: ldr r7, _022293C0 ; =0x0223F1C0 mov r6, #0 ldr sb, _022293BC ; =0x022430D4 mov r5, r6 ldr r8, _022293C8 ; =0x000003FF _022292D8: ldr r0, [sb] ldrb r1, [r7] ldr r2, [r0, #0x10] mov r0, r5 bl MOD13_02239E8C ldr r0, [sb] add r7, r7, #1 ldr r1, [r0, #0x10] add r0, r0, r6, lsl #1 ldrh r1, [r1, #4] add r6, r6, #1 cmp r6, #3 and r1, r1, r8 strh r1, [r0, #0x42] blo _022292D8 ldr r7, _022293C4 ; =0x0223F1C4 mov r6, #0 ldr sb, _022293BC ; =0x022430D4 mov r5, r6 ldr r8, _022293C8 ; =0x000003FF _02229328: ldr r0, [sb] ldrb r1, [r7] ldr r2, [r0, #0x24] mov r0, r5 bl MOD13_02239E8C ldr r0, [sb] add r7, r7, #1 ldr r1, [r0, #0x24] add r0, r0, r6, lsl #1 ldrh r1, [r1, #4] add r6, r6, #1 cmp r6, #4 and r1, r1, r8 strh r1, [r0, #0x48] blo _02229328 cmp r4, #0 mov r0, #0 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} ldr r1, _022293BC ; =0x022430D4 _02229374: ldr r2, [r1] add r2, r2, r0, lsl #2 ldr r3, [r2, #0x10] ldrh r2, [r3, #4] bic r2, r2, #0xc00 orr r2, r2, #0xc00 strh r2, [r3, #4] ldr r2, [r1] add r2, r2, r0, lsl #2 ldr r3, [r2, #0x24] add r0, r0, #1 ldrh r2, [r3, #4] cmp r0, r4 bic r2, r2, #0xc00 orr r2, r2, #0xc00 strh r2, [r3, #4] blt _02229374 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _022293BC: .word 0x022430D4 _022293C0: .word 0x0223F1C0 _022293C4: .word 0x0223F1C4 _022293C8: .word 0x000003FF arm_func_start MOD13_022293CC MOD13_022293CC: ; 0x022293CC stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r2, _02229470 ; =0x022430D4 mov r1, #0x1c ldr ip, [r2] mov r0, #0 ldrb r3, [ip, #0x51] sub r3, r3, #4 mul r1, r3, r1 strh r1, [ip, #0x40] ldr r2, [r2] ldrb r1, [r2, #0x51] cmp r1, #4 movls r4, r0 strlsb r0, [r2, #0x53] bls _02229428 cmp r1, #8 movls r1, #0x1f strlsb r1, [r2, #0x53] movls r4, #1 movhi r1, #0x37 strhib r1, [r2, #0x53] movhi r4, #2 _02229428: cmp r4, #0 beq _02229450 ldr r1, _02229470 ; =0x022430D4 ldr r0, _02229474 ; =0x022430D0 ldr r1, [r1] ldrh r2, [r0] ldrb r0, [r1, #0x53] ldrh r1, [r1, #0x40] mul r0, r2, r0 bl FX_DivS32 _02229450: str r0, [sp] mov r0, r4 mov r1, #0x55 mov r2, #0xec mov r3, #0x3f bl MOD13_02232FB8 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02229470: .word 0x022430D4 _02229474: .word 0x022430D0 arm_func_start MOD13_02229478 MOD13_02229478: ; 0x02229478 stmdb sp!, {lr} sub sp, sp, #0x34 ldr r3, _022295AC ; =0x0223F1E0 add lr, sp, #0 mov r2, #0xc _0222948C: ldrb r1, [r3], #1 ldrb r0, [r3], #1 subs r2, r2, #1 strb r1, [lr], #1 strb r0, [lr], #1 bne _0222948C ldrb r0, [r3] ldr ip, _022295B0 ; =0x0223F1C8 add r3, sp, #0x19 strb r0, [lr] mov r2, #0xb _022294B8: ldrb r1, [ip], #1 ldrb r0, [ip], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _022294B8 ldr r0, _022295B4 ; =0x0224015C ldr r1, _022295B8 ; =0x020C8FBC bl MOD13_0221F174 add r0, sp, #0 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _022295BC ; =0x022430D4 ldr r2, [r1] str r0, [r2, #4] ldr r0, [r1] ldr r0, [r0, #4] bl MOD13_02232918 bl MOD13_022328D0 add r0, sp, #0x19 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _022295BC ; =0x022430D4 ldr r2, _022295C0 ; =0x04001008 ldr r1, [r1] ldr lr, _022295C4 ; =0x0400100A str r0, [r1, #8] ldrh r0, [r2] ldr ip, _022295C8 ; =0x04000008 ldr r3, _022295CC ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [lr] ldr r2, _022295D0 ; =0x0400000C ldr r1, _022295D4 ; =0x0400000E bic r0, r0, #3 orr r0, r0, #3 strh r0, [lr] ldrh r0, [ip] bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #2 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #2 strh r0, [r1] add sp, sp, #0x34 ldmia sp!, {pc} .align 2, 0 _022295AC: .word 0x0223F1E0 _022295B0: .word 0x0223F1C8 _022295B4: .word 0x0224015C _022295B8: .word 0x020C8FBC _022295BC: .word 0x022430D4 _022295C0: .word 0x04001008 _022295C4: .word 0x0400100A _022295C8: .word 0x04000008 _022295CC: .word 0x0400000A _022295D0: .word 0x0400000C _022295D4: .word 0x0400000E arm_func_start MOD13_022295D8 MOD13_022295D8: ; 0x022295D8 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x5c mov r1, #4 bl MOD13_0223AFE0 ldr r2, _022296AC ; =0x022430D4 mov r1, #0 str r0, [r2] add r0, sp, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 ldreq r0, _022296B0 ; =0x022430D0 moveq r2, #0 streqh r2, [r0] ldr r0, _022296AC ; =0x022430D4 ldreq r1, _022296B4 ; =0x022430CC ldr r0, [r0] streqb r2, [r1] bl MOD13_0223333C ldr r1, _022296AC ; =0x022430D4 ldr r1, [r1] strb r0, [r1, #0x51] bl MOD13_02229478 bl MOD13_0221F4AC mov r0, #0x34 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #2 bl MOD13_0221F124 bl MOD13_022293CC bl MOD13_02229248 mov r0, #0 mov r1, r0 bl MOD13_0223A7F0 ldr r2, _022296AC ; =0x022430D4 ldr r1, _022296B8 ; =MOD13_0222829C ldr r3, [r2] mov r2, #0 str r0, [r3, #0xc] mov r0, #1 mov r3, #0x6e bl MOD13_0223C1C4 ldr r1, _022296AC ; =0x022430D4 ldr r1, [r1] str r0, [r1, #0x3c] bl MOD13_02228754 bl MOD13_02228248 ldr r0, _022296BC ; =MOD13_022291EC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022296AC: .word 0x022430D4 _022296B0: .word 0x022430D0 _022296B4: .word 0x022430CC _022296B8: .word MOD13_0222829C _022296BC: .word MOD13_022291EC arm_func_start MOD13_022296C0 MOD13_022296C0: ; 0x022296C0 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02229704 ; =0x022430D8 ldr r1, _02229708 ; =0xC1FFFCFF ldr r2, [r0] ldr r0, _0222970C ; =MOD13_02229FD0 ldr r3, [r2, #4] ldr r2, [r3] and r1, r2, r1 str r1, [r3] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02229704: .word 0x022430D8 _02229708: .word 0xC1FFFCFF _0222970C: .word MOD13_02229FD0 arm_func_start MOD13_02229710 MOD13_02229710: ; 0x02229710 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _02229744 ; =MOD13_022296C0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02229744: .word MOD13_022296C0 arm_func_start MOD13_02229748 MOD13_02229748: ; 0x02229748 stmdb sp!, {lr} sub sp, sp, #0xc add r0, sp, #0 add r1, sp, #4 bl MOD13_02222F44 ldr r0, [sp, #4] cmp r0, #1 bne _02229778 mov r0, #0x35 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 _02229778: add r0, sp, #0 add r1, sp, #4 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 bne _022297B0 ldr r0, _022298E0 ; =0x022430D8 add sp, sp, #0xc ldr r0, [r0] ldrb r0, [r0, #8] cmp r0, #0 movne r0, #1 moveq r0, #0 ldmia sp!, {pc} _022297B0: ldr r0, [sp, #4] cmp r0, #1 bne _022297D8 ldr r0, _022298E0 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #8] cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {pc} _022297D8: ldr r0, _022298E0 ; =0x022430D8 mov r1, #0x20 ldr r0, [r0] add r0, r0, #8 bl MOD13_0223BDA4 cmp r0, #0x10 bgt _02229838 cmp r0, #0xa blt _02229818 cmp r0, #0xa beq _02229864 cmp r0, #0xd beq _02229858 cmp r0, #0x10 beq _02229858 b _022298D4 _02229818: cmp r0, #0 bgt _0222982C cmp r0, #0 beq _02229858 b _022298D4 _0222982C: cmp r0, #5 beq _02229858 b _022298D4 _02229838: cmp r0, #0x1a bgt _0222984C cmp r0, #0x1a beq _02229864 b _022298D4 _0222984C: cmp r0, #0x20 beq _02229864 b _022298D4 _02229858: add sp, sp, #0xc mov r0, #1 ldmia sp!, {pc} _02229864: cmp r0, #0 mov r3, #0 ble _022298C8 ldr r1, _022298E0 ; =0x022430D8 ldr r1, [r1] _02229878: ldrb r2, [r1, #8] cmp r2, #0x30 blo _0222988C cmp r2, #0x39 bls _022298B8 _0222988C: cmp r2, #0x41 blo _0222989C cmp r2, #0x46 bls _022298B8 _0222989C: cmp r2, #0x61 blo _022298AC cmp r2, #0x66 bls _022298B8 _022298AC: add sp, sp, #0xc mov r0, #0 ldmia sp!, {pc} _022298B8: add r3, r3, #1 cmp r3, r0 add r1, r1, #1 blt _02229878 _022298C8: add sp, sp, #0xc mov r0, #1 ldmia sp!, {pc} _022298D4: mov r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _022298E0: .word 0x022430D8 arm_func_start MOD13_022298E4 MOD13_022298E4: ; 0x022298E4 stmdb sp!, {lr} sub sp, sp, #0xc ldr r0, _02229980 ; =0x0223F260 ldr r1, [r0] ldr r0, [r0, #4] str r1, [sp] str r0, [sp, #4] bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {pc} ldr r0, _02229984 ; =0x022430D8 ldr r1, [r0] ldrb r0, [r1, #0x2a] cmp r0, #0 bne _02229948 ldr r3, [r1, #4] ldr r1, _02229988 ; =0xC1FFFCFF ldr r2, [r3] ldr r0, _0222998C ; =MOD13_02229FD0 and r1, r2, r1 str r1, [r3] bl MOD13_02222FBC add sp, sp, #0xc ldmia sp!, {pc} _02229948: add r0, sp, #8 mov r1, #0 bl MOD13_02222F44 ldr r0, _02229984 ; =0x022430D8 ldr r2, [sp, #8] add r1, sp, #0 ldr r0, [r0] ldr r1, [r1, r2, lsl #2] add r0, r0, #8 blx r1 ldr r0, _02229990 ; =MOD13_02229B88 bl MOD13_02222FBC add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02229980: .word 0x0223F260 _02229984: .word 0x022430D8 _02229988: .word 0xC1FFFCFF _0222998C: .word MOD13_02229FD0 _02229990: .word MOD13_02229B88 arm_func_start MOD13_02229994 MOD13_02229994: ; 0x02229994 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C ldr r1, _022299F4 ; =0x022430D8 ldr r2, [r1] strb r0, [r2, #0x2a] ldr r0, [r1] ldrb r0, [r0, #0x2a] cmp r0, #0 beq _022299CC cmp r0, #1 beq _022299D8 add sp, sp, #4 ldmia sp!, {pc} _022299CC: mov r0, #7 bl MOD13_0223424C b _022299E0 _022299D8: mov r0, #0xe bl MOD13_0223424C _022299E0: bl MOD13_02235EB0 ldr r0, _022299F8 ; =MOD13_022298E4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022299F4: .word 0x022430D8 _022299F8: .word MOD13_022298E4 arm_func_start MOD13_022299FC MOD13_022299FC: ; 0x022299FC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02229A64 ; =0x022430D8 ldr r1, [r0] ldrb r0, [r1, #0x29] ldr lr, [r1, #4] ldr r1, _02229A68 ; =0x0223F268 cmp r0, #0x20 and r3, r0, #0xf mov r2, r0, asr #4 movhs r3, #0xf ldrb ip, [r1, r3] ldr r0, _02229A6C ; =0x0223F250 movhs r2, #1 ldrb r2, [r0, r2] ldr r3, [lr] ldr r1, _02229A70 ; =0xFE00FF00 ldr r0, _02229A74 ; =0x000001FF and r1, r3, r1 and r2, r2, #0xff and r3, ip, r0 orr r0, r1, r2 orr r0, r0, r3, lsl #16 str r0, [lr] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02229A64: .word 0x022430D8 _02229A68: .word 0x0223F268 _02229A6C: .word 0x0223F250 _02229A70: .word 0xFE00FF00 _02229A74: .word 0x000001FF arm_func_start MOD13_02229A78 MOD13_02229A78: ; 0x02229A78 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c add r0, sp, #0x10 mov r1, #0 strh r1, [r0] strh r1, [r0, #2] strh r1, [r0, #4] strh r1, [r0, #6] ldr r2, _02229B74 ; =0x0223F250 ldr r0, _02229B78 ; =0x0223F254 ldrb r4, [r2] ldrh r3, [r0] ldrh r2, [r0, #2] ldr r0, _02229B7C ; =0x022430D8 strh r4, [sp, #0x12] ldr r0, [r0] strh r3, [sp, #0x14] strh r2, [sp, #0x16] ldr r0, [r0] bl MOD13_0223A4D8 mov sb, #0 ldr r0, _02229B74 ; =0x0223F250 ldr r6, _02229B80 ; =0x0000E01D ldrb r8, [r0, #1] ldr fp, _02229B84 ; =0x0223F268 mov sl, sb strh sb, [sp, #0x1a] mov r7, sb mov r5, #2 mov r4, #0x480 _02229AF0: ldr r0, _02229B7C ; =0x022430D8 cmp sb, #0x10 ldr r0, [r0] moveq sl, r7 streqh r8, [sp, #0x12] add r1, r0, sb ldrb r1, [r1, #8] ldrb r2, [fp, sl] cmp r1, #0x20 streqh r6, [sp, #0x18] strneh r1, [sp, #0x18] ldrh r1, [sp, #0x16] strh r2, [sp, #0x10] str r1, [sp] str r5, [sp, #4] str r4, [sp, #8] add r1, sp, #0x18 str r1, [sp, #0xc] ldrh r1, [sp, #0x10] ldrh r2, [sp, #0x12] ldrh r3, [sp, #0x14] ldr r0, [r0] bl MOD13_0223A4F0 add sb, sb, #1 cmp sb, #0x20 add sl, sl, #1 blt _02229AF0 ldr r0, _02229B7C ; =0x022430D8 ldr r0, [r0] ldr r0, [r0] bl MOD13_0223A410 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02229B74: .word 0x0223F250 _02229B78: .word 0x0223F254 _02229B7C: .word 0x022430D8 _02229B80: .word 0x0000E01D _02229B84: .word 0x0223F268 arm_func_start MOD13_02229B88 MOD13_02229B88: ; 0x02229B88 stmdb sp!, {lr} sub sp, sp, #0xc bl MOD13_0221EE54 ldr r0, _02229C74 ; =0x022430D8 ldr r0, [r0] ldr r0, [r0, #4] bl MOD13_0223B974 mov r0, #0 bl MOD13_0223A65C ldr r0, _02229C78 ; =0x02240174 ldr r1, _02229C7C ; =0x020C9480 bl MOD13_0221F174 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 add r0, sp, #0 add r1, sp, #4 bl MOD13_02222F44 ldr r0, [sp, #4] cmp r0, #0 bne _02229C0C mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r1, [sp] mov r0, #0 bl MOD13_02222F6C ldr r0, _02229C80 ; =MOD13_0222DD4C bl MOD13_02222FBC b _02229C64 _02229C0C: ldr r0, _02229C74 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #0x2a] cmp r0, #0 bne _02229C44 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 mov r0, #1 mov r1, #0 bl MOD13_02222F6C ldr r0, _02229C84 ; =MOD13_022295D8 bl MOD13_02222FBC b _02229C64 _02229C44: mov r0, #0 mov r1, r0 bl MOD13_02222FA8 mov r0, #0 mov r1, #1 bl MOD13_02222F6C ldr r0, _02229C88 ; =MOD13_0223197C bl MOD13_02222FBC _02229C64: ldr r0, _02229C74 ; =0x022430D8 bl MOD13_0223AF90 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02229C74: .word 0x022430D8 _02229C78: .word 0x02240174 _02229C7C: .word 0x020C9480 _02229C80: .word MOD13_0222DD4C _02229C84: .word MOD13_022295D8 _02229C88: .word MOD13_0223197C arm_func_start MOD13_02229C8C MOD13_02229C8C: ; 0x02229C8C stmdb sp!, {lr} sub sp, sp, #0x14 ldr r0, _02229D50 ; =0x0223F258 ldr r1, [r0] ldr r0, [r0, #4] str r1, [sp, #4] str r0, [sp, #8] bl MOD13_022211C8 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {pc} ldr r0, _02229D54 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #0x2a] cmp r0, #0 bne _02229CDC ldr r0, _02229D58 ; =MOD13_02229B88 bl MOD13_02222FBC add sp, sp, #0x14 ldmia sp!, {pc} _02229CDC: cmp r0, #2 bne _02229D10 mov ip, #0 mov r0, #6 mov r1, #3 mov r2, #1 mvn r3, #0 str ip, [sp] bl MOD13_02235EFC ldr r0, _02229D5C ; =MOD13_02229710 bl MOD13_02222FBC add sp, sp, #0x14 ldmia sp!, {pc} _02229D10: add r1, sp, #0xc mov r0, #0 bl MOD13_02222F44 mov r0, #0 str r0, [sp] ldr r2, [sp, #0xc] add r0, sp, #4 ldr r0, [r0, r2, lsl #2] mov r1, #2 mov r2, #1 mvn r3, #0 bl MOD13_02235EFC ldr r0, _02229D60 ; =MOD13_02229994 bl MOD13_02222FBC add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 _02229D50: .word 0x0223F258 _02229D54: .word 0x022430D8 _02229D58: .word MOD13_02229B88 _02229D5C: .word MOD13_02229710 _02229D60: .word MOD13_02229994 arm_func_start MOD13_02229D64 MOD13_02229D64: ; 0x02229D64 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02221220 mov r0, #0x15 bl MOD13_0223424C ldr r0, _02229D9C ; =MOD13_02229C8C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02229D9C: .word MOD13_02229C8C arm_func_start MOD13_02229DA0 MOD13_02229DA0: ; 0x02229DA0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #8 bl MOD13_0223A10C ldr r0, _02229DC0 ; =MOD13_02229D64 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02229DC0: .word MOD13_02229D64 arm_func_start MOD13_02229DC4 MOD13_02229DC4: ; 0x02229DC4 bx lr arm_func_start MOD13_02229DC8 MOD13_02229DC8: ; 0x02229DC8 stmdb sp!, {r4, lr} bl MOD13_0222120C mov r4, r0 cmp r4, #0x83 bgt _02229E0C cmp r4, #0x80 blt _02229E00 cmp r4, #0x80 beq _02229E18 cmp r4, #0x82 beq _02229E7C cmp r4, #0x83 beq _02229EA0 b _02229F0C _02229E00: cmp r4, #0 beq _02229F70 b _02229F0C _02229E0C: ldr r0, _02229F7C ; =0x0000E01D cmp r4, r0 b _02229F0C _02229E18: ldr r0, _02229F80 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 beq _02229F70 mov r0, #3 bl MOD13_0223424C ldr r1, _02229F80 ; =0x022430D8 mov r0, #0 ldr r3, [r1] ldrb r2, [r3, #0x29] sub r2, r2, #1 strb r2, [r3, #0x29] ldr r3, [r1] ldrb r2, [r3, #0x29] add r2, r3, r2 strb r0, [r2, #8] ldr r1, [r1] ldrb r1, [r1, #0x29] cmp r1, #0 bne _02229E70 bl MOD13_022211F8 _02229E70: mov r0, #1 bl MOD13_022211E4 b _02229F70 _02229E7C: mov r0, #7 bl MOD13_0223424C ldr r1, _02229F80 ; =0x022430D8 ldr r0, _02229F84 ; =MOD13_02229DA0 ldr r1, [r1] mov r2, #0 strb r2, [r1, #0x2a] bl MOD13_02222FBC ldmia sp!, {r4, pc} _02229EA0: bl MOD13_02229748 cmp r0, #0 beq _02229EC8 mov r0, #6 bl MOD13_0223424C ldr r0, _02229F80 ; =0x022430D8 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x2a] b _02229EE0 _02229EC8: ldr r0, _02229F80 ; =0x022430D8 mov r2, #2 ldr r1, [r0] mov r0, #9 strb r2, [r1, #0x2a] bl MOD13_0223424C _02229EE0: ldr r0, _02229F80 ; =0x022430D8 ldr r1, _02229F88 ; =0xC1FFFCFF ldr r2, [r0] ldr r0, _02229F84 ; =MOD13_02229DA0 ldr r3, [r2, #4] ldr r2, [r3] and r1, r2, r1 orr r1, r1, #0x200 str r1, [r3] bl MOD13_02222FBC ldmia sp!, {r4, pc} _02229F0C: ldr r0, _02229F80 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0x20 beq _02229F70 mov r0, #1 bl MOD13_0223424C ldr r1, _02229F80 ; =0x022430D8 mov r0, #1 ldr r3, [r1] ldrb r2, [r3, #0x29] add r2, r3, r2 strb r4, [r2, #8] ldr r2, [r1] ldrb r1, [r2, #0x29] add r1, r1, #1 strb r1, [r2, #0x29] bl MOD13_022211F8 ldr r0, _02229F80 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0x20 bne _02229F70 mov r0, #0 bl MOD13_022211E4 _02229F70: bl MOD13_02229A78 bl MOD13_022299FC ldmia sp!, {r4, pc} .align 2, 0 _02229F7C: .word 0x0000E01D _02229F80: .word 0x022430D8 _02229F84: .word MOD13_02229DA0 _02229F88: .word 0xC1FFFCFF arm_func_start MOD13_02229F8C MOD13_02229F8C: ; 0x02229F8C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02229DC8 bl MOD13_02229DC4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222120C cmp r0, #0xff addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _02229FCC ; =MOD13_02229F8C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02229FCC: .word MOD13_02229F8C arm_func_start MOD13_02229FD0 MOD13_02229FD0: ; 0x02229FD0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0222125C mov r0, #0x14 bl MOD13_0223424C ldr r0, _0222A054 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 bne _0222A028 mov r0, #0 bl MOD13_022211F8 _0222A028: ldr r0, _0222A054 ; =0x022430D8 ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0x20 bne _0222A044 mov r0, #0 bl MOD13_022211E4 _0222A044: ldr r0, _0222A058 ; =0x02229FA4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A054: .word 0x022430D8 _0222A058: .word 0x02229FA4 arm_func_start MOD13_0222A05C MOD13_0222A05C: ; 0x0222A05C stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222A0B4 ; =MOD13_02229FD0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A0B4: .word MOD13_02229FD0 arm_func_start MOD13_0222A0B8 MOD13_0222A0B8: ; 0x0222A0B8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222A15C ; =0x0224018C ldr r1, _0222A160 ; =0x020C9480 bl MOD13_0221F174 ldr r0, _0222A164 ; =0x022401A0 ldr r1, _0222A168 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _0222A16C ; =0x022401B8 ldr r1, _0222A170 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _0222A174 ; =0x022401D0 ldr r1, _0222A178 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222A17C ; =0x04001008 ldr ip, _0222A180 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222A184 ; =0x04000008 ldr r2, _0222A188 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222A18C ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #2 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A15C: .word 0x0224018C _0222A160: .word 0x020C9480 _0222A164: .word 0x022401A0 _0222A168: .word 0x020C8D4C _0222A16C: .word 0x022401B8 _0222A170: .word 0x020C9550 _0222A174: .word 0x022401D0 _0222A178: .word 0x020C908C _0222A17C: .word 0x04001008 _0222A180: .word 0x0400100A _0222A184: .word 0x04000008 _0222A188: .word 0x0400000A _0222A18C: .word 0x0400000C arm_func_start MOD13_0222A190 MOD13_0222A190: ; 0x0222A190 stmdb sp!, {lr} sub sp, sp, #0xc ldr r1, _0222A2B8 ; =0x0223F24C mov r0, #0x2c ldrb r3, [r1] ldrb r2, [r1, #1] mov r1, #4 strb r3, [sp] strb r2, [sp, #1] bl MOD13_0223AFE0 ldr r2, _0222A2BC ; =0x022430D8 add r1, sp, #8 str r0, [r2] add r0, sp, #4 bl MOD13_02222F44 ldr r0, [sp, #4] cmp r0, #0 bne _0222A208 ldr r0, _0222A2BC ; =0x022430D8 ldr r0, [r0] add r0, r0, #8 bl MOD13_02233E90 ldr r0, _0222A2BC ; =0x022430D8 mov r1, #0x20 ldr r0, [r0] add r0, r0, #8 bl MOD13_0223BDA4 ldr r1, _0222A2BC ; =0x022430D8 ldr r1, [r1] strb r0, [r1, #0x29] _0222A208: bl MOD13_0222A0B8 ldr r0, [sp, #4] add r0, r0, #9 bl MOD13_0221F4CC ldr r0, [sp, #8] cmp r0, #1 bne _0222A238 mov r0, #0x35 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 b _0222A250 _0222A238: ldr r2, [sp, #4] add r0, sp, #0 ldrb r0, [r0, r2] mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 _0222A250: mov r0, #2 bl MOD13_0221F124 mov r0, #0 mov r1, r0 bl MOD13_0223A7F0 ldr r2, _0222A2BC ; =0x022430D8 mov r1, #0x3e ldr r2, [r2] str r0, [r2] mov r0, #0 bl MOD13_02239E54 ldr r1, _0222A2BC ; =0x022430D8 ldr r2, [r1] str r0, [r2, #4] ldr r0, [r1] ldr r1, [r0, #4] ldrh r0, [r1, #4] bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] bl MOD13_022299FC bl MOD13_02229A78 ldr r0, _0222A2C0 ; =MOD13_0222A05C bl MOD13_02222FBC add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _0222A2B8: .word 0x0223F24C _0222A2BC: .word 0x022430D8 _0222A2C0: .word MOD13_0222A05C arm_func_start MOD13_0222A2C4 MOD13_0222A2C4: ; 0x0222A2C4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222A308 ; =0x022430DC ldr r1, _0222A30C ; =0xC1FFFCFF ldr r2, [r0] ldr r0, _0222A310 ; =MOD13_0222AD78 ldr r3, [r2, #4] ldr r2, [r3] and r1, r2, r1 str r1, [r3] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A308: .word 0x022430DC _0222A30C: .word 0xC1FFFCFF _0222A310: .word MOD13_0222AD78 arm_func_start MOD13_0222A314 MOD13_0222A314: ; 0x0222A314 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _0222A348 ; =MOD13_0222A2C4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A348: .word MOD13_0222A2C4 arm_func_start MOD13_0222A34C MOD13_0222A34C: ; 0x0222A34C stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 ldr r1, _0222A4A8 ; =0x0223F278 ldr r0, _0222A4AC ; =0x022430DC ldrb lr, [r1] ldrb ip, [r1, #1] ldrb r4, [r1, #2] ldrb r3, [r1, #3] mov r2, #0 strb lr, [sp] ldr r0, [r0] strb r4, [sp, #2] add r5, sp, #0 mov r1, r2 strb ip, [sp, #1] strb r3, [sp, #3] mov lr, r2 add r4, r0, #8 _0222A394: ldrb r3, [r4, r1] add r8, r4, r1 cmp r3, #0x20 beq _0222A3DC mov r7, lr mov r6, r5 _0222A3AC: ldrb ip, [r8, r7] ldrb r3, [r6] cmp ip, r3 addhi sp, sp, #0x10 movhi r0, #0 ldmhiia sp!, {r4, r5, r6, r7, r8, pc} cmp ip, r3 blo _0222A3DC add r7, r7, #1 cmp r7, #3 add r6, r6, #1 blt _0222A3AC _0222A3DC: add r2, r2, #1 cmp r2, #4 add r1, r1, #3 blt _0222A394 add r1, sp, #8 add r0, r0, #8 bl MOD13_02233608 add r0, sp, #4 mov r1, #0 bl MOD13_02222F44 ldr r0, [sp, #4] cmp r0, #1 bne _0222A48C mov ip, #0 add r6, sp, #8 mov r5, ip mov r3, ip mov r2, #1 _0222A424: mov r4, r3 _0222A428: cmp ip, #0 beq _0222A450 rsb r0, r4, #7 ldrb r1, [r6] mov r0, r2, lsl r0 ands r0, r1, r0 beq _0222A464 add sp, sp, #0x10 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0222A450: rsb r0, r4, #7 ldrb r1, [r6] mov r0, r2, lsl r0 ands r0, r1, r0 moveq ip, r2 _0222A464: add r4, r4, #1 cmp r4, #8 blt _0222A428 add r5, r5, #1 cmp r5, #4 add r6, r6, #1 blt _0222A424 add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0222A48C: add r0, sp, #8 bl FUN_02095AE0 cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0222A4A8: .word 0x0223F278 _0222A4AC: .word 0x022430DC arm_func_start MOD13_0222A4B0 MOD13_0222A4B0: ; 0x0222A4B0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r6, #0 mov r4, r6 ldr r0, _0222A538 ; =0x022430DC mov ip, r6 mov r1, #0x20 mov r2, #0x30 _0222A4D0: ldr r3, [r0] mov r5, ip add r3, r3, #8 add r7, r3, r4 _0222A4E0: ldrb r3, [r7, r5] add lr, r7, r5 cmp r3, #0x30 beq _0222A500 cmp r3, #0x20 beq _0222A500 cmp r3, #0 bne _0222A51C _0222A500: cmp r5, #2 moveq r3, r2 movne r3, r1 add r5, r5, #1 strb r3, [lr] cmp r5, #3 blt _0222A4E0 _0222A51C: add r6, r6, #1 cmp r6, #4 add r4, r4, #3 blt _0222A4D0 bl MOD13_0222A6B8 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0222A538: .word 0x022430DC arm_func_start MOD13_0222A53C MOD13_0222A53C: ; 0x0222A53C stmdb sp!, {lr} sub sp, sp, #0x1c ldr lr, _0222A5DC ; =0x0223F2B0 add ip, sp, #4 ldmia lr!, {r0, r1, r2, r3} stmia ip!, {r0, r1, r2, r3} ldr r0, [lr] str r0, [ip] bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #0x1c ldmneia sp!, {pc} ldr r0, _0222A5E0 ; =0x022430DC ldr r1, [r0] ldrb r0, [r1, #0x15] cmp r0, #0 bne _0222A5A4 ldr r3, [r1, #4] ldr r1, _0222A5E4 ; =0xC1FFFCFF ldr r2, [r3] ldr r0, _0222A5E8 ; =MOD13_0222AD78 and r1, r2, r1 str r1, [r3] bl MOD13_02222FBC add sp, sp, #0x1c ldmia sp!, {pc} _0222A5A4: add r0, sp, #0 mov r1, #0 bl MOD13_02222F44 ldr r0, _0222A5E0 ; =0x022430DC ldr r2, [sp] add r1, sp, #4 ldr r0, [r0] ldr r1, [r1, r2, lsl #2] add r0, r0, #8 blx r1 ldr r0, _0222A5EC ; =MOD13_0222A79C bl MOD13_02222FBC add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 _0222A5DC: .word 0x0223F2B0 _0222A5E0: .word 0x022430DC _0222A5E4: .word 0xC1FFFCFF _0222A5E8: .word MOD13_0222AD78 _0222A5EC: .word MOD13_0222A79C arm_func_start MOD13_0222A5F0 MOD13_0222A5F0: ; 0x0222A5F0 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C ldr r1, _0222A650 ; =0x022430DC ldr r2, [r1] strb r0, [r2, #0x15] ldr r0, [r1] ldrb r0, [r0, #0x15] cmp r0, #0 beq _0222A628 cmp r0, #1 beq _0222A634 add sp, sp, #4 ldmia sp!, {pc} _0222A628: mov r0, #7 bl MOD13_0223424C b _0222A63C _0222A634: mov r0, #0xe bl MOD13_0223424C _0222A63C: bl MOD13_02235EB0 ldr r0, _0222A654 ; =MOD13_0222A53C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A650: .word 0x022430DC _0222A654: .word MOD13_0222A53C arm_func_start MOD13_0222A658 MOD13_0222A658: ; 0x0222A658 ldr r0, _0222A6A8 ; =0x022430DC ldr r2, [r0] mov r0, #3 ldrb r3, [r2, #0x14] ldr ip, [r2, #4] cmp r3, #3 movgt r3, #3 mul r1, r3, r0 ldr r0, _0222A6AC ; =0x0223F290 add r1, r1, #2 ldrb r3, [r0, r1] ldr r0, _0222A6B0 ; =0x000001FF ldr r2, [ip] ldr r1, _0222A6B4 ; =0xFE00FF00 and r3, r3, r0 and r0, r2, r1 orr r0, r0, #0x28 orr r0, r0, r3, lsl #16 str r0, [ip] bx lr .align 2, 0 _0222A6A8: .word 0x022430DC _0222A6AC: .word 0x0223F290 _0222A6B0: .word 0x000001FF _0222A6B4: .word 0xFE00FF00 arm_func_start MOD13_0222A6B8 MOD13_0222A6B8: ; 0x0222A6B8 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x1c ldr r0, _0222A78C ; =0x0223F288 ldr r1, _0222A790 ; =0x0223F27C ldrh r4, [r0, #4] ldrh r3, [r0, #6] ldrh r6, [r0] ldrh r5, [r0, #2] ldr r0, _0222A794 ; =0x022430DC ldrh r2, [r1] strh r4, [sp, #0x14] ldrh r1, [r1, #2] strh r3, [sp, #0x16] ldr r0, [r0] strh r6, [sp, #0x10] strh r5, [sp, #0x12] strh r2, [sp, #0x14] strh r1, [sp, #0x16] ldr r0, [r0] mov r1, #0 bl MOD13_0223A4D8 mov r5, #0 ldr r4, _0222A798 ; =0x0223F290 strh r5, [sp, #0x1a] ldr r6, _0222A794 ; =0x022430DC add r7, sp, #0x18 mov sb, #2 mov r8, #0x480 _0222A728: ldr ip, [r6] ldrh r0, [sp, #0x16] add r1, ip, r5 ldrb r1, [r1, #8] strh r1, [sp, #0x18] ldrb r1, [r4] strh r1, [sp, #0x10] str r0, [sp] str sb, [sp, #4] str r8, [sp, #8] str r7, [sp, #0xc] ldrh r2, [sp, #0x12] ldrh r3, [sp, #0x14] ldr r0, [ip] bl MOD13_0223A4F0 add r5, r5, #1 cmp r5, #0xc add r4, r4, #1 blt _0222A728 ldr r0, _0222A794 ; =0x022430DC ldr r0, [r0] ldr r0, [r0] bl MOD13_0223A410 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0222A78C: .word 0x0223F288 _0222A790: .word 0x0223F27C _0222A794: .word 0x022430DC _0222A798: .word 0x0223F290 arm_func_start MOD13_0222A79C MOD13_0222A79C: ; 0x0222A79C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EE54 ldr r0, _0222A834 ; =0x022430DC ldr r0, [r0] ldr r0, [r0, #4] bl MOD13_0223B974 mov r0, #0 bl MOD13_0223A65C ldr r0, _0222A838 ; =0x022401E4 ldr r1, _0222A83C ; =0x020C9480 bl MOD13_0221F174 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 add r0, sp, #0 mov r1, #0 bl MOD13_02222F44 ldr r0, [sp] mov r1, #1 cmp r0, #3 addge r0, r0, #1 strge r0, [sp] mov r0, #2 bl MOD13_02222FA8 ldr r1, [sp] mov r0, #0 add r1, r1, #3 bl MOD13_02222F6C ldr r0, _0222A840 ; =MOD13_0222DD4C bl MOD13_02222FBC ldr r0, _0222A834 ; =0x022430DC bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A834: .word 0x022430DC _0222A838: .word 0x022401E4 _0222A83C: .word 0x020C9480 _0222A840: .word MOD13_0222DD4C arm_func_start MOD13_0222A844 MOD13_0222A844: ; 0x0222A844 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022228BC cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222A8E0 ; =0x022430DC ldr r0, [r0] ldrb r0, [r0, #0x15] cmp r0, #0 bne _0222A880 ldr r0, _0222A8E4 ; =MOD13_0222A79C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222A880: cmp r0, #2 bne _0222A8B4 mov ip, #0 mov r0, #6 mov r1, #3 mov r2, #1 mvn r3, #0 str ip, [sp] bl MOD13_02235EFC ldr r0, _0222A8E8 ; =MOD13_0222A314 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222A8B4: mov ip, #0 mov r0, #0x47 mov r1, #2 mov r2, #1 mvn r3, #0 str ip, [sp] bl MOD13_02235EFC ldr r0, _0222A8EC ; =MOD13_0222A5F0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A8E0: .word 0x022430DC _0222A8E4: .word MOD13_0222A79C _0222A8E8: .word MOD13_0222A314 _0222A8EC: .word MOD13_0222A5F0 arm_func_start MOD13_0222A8F0 MOD13_0222A8F0: ; 0x0222A8F0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02222928 mov r0, #0x15 bl MOD13_0223424C ldr r0, _0222A928 ; =MOD13_0222A844 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A928: .word MOD13_0222A844 arm_func_start MOD13_0222A92C MOD13_0222A92C: ; 0x0222A92C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222A94C ; =MOD13_0222A8F0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222A94C: .word MOD13_0222A8F0 arm_func_start MOD13_0222A950 MOD13_0222A950: ; 0x0222A950 bx lr arm_func_start MOD13_0222A954 MOD13_0222A954: ; 0x0222A954 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r2, _0222A9EC ; =0x022430DC mov r1, #3 ldr r2, [r2] mov r4, r0 ldrb r0, [r2, #0x14] add r3, r2, #8 mul r2, r0, r1 ldrb r1, [r3, r2] add r0, r3, r2 cmp r1, #0 beq _0222A998 cmp r1, #0x20 addne sp, sp, #8 movne r0, #1 ldmneia sp!, {r4, pc} _0222A998: add r1, sp, #0 mov r2, #3 bl MI_CpuCopy8 mov r3, #0 add r2, sp, #0 strb r3, [sp, #3] mov r0, #0x20 _0222A9B4: ldrb r1, [r2] cmp r1, #0 bne _0222A9D0 add r3, r3, #1 cmp r3, #3 strb r0, [r2], #1 blt _0222A9B4 _0222A9D0: add r0, sp, #0 bl atol cmp r0, r4 movge r0, #1 movlt r0, #0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0222A9EC: .word 0x022430DC arm_func_start MOD13_0222A9F0 MOD13_0222A9F0: ; 0x0222A9F0 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 bl MOD13_02222914 mov r4, r0 cmp r4, #0 bgt _0222AA18 cmp r4, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} b _0222ABF4 _0222AA18: sub r0, r4, #0x10 cmp r0, #3 addls pc, pc, r0, lsl #2 b _0222ABF4 _0222AA28: ; jump table b _0222AA40 ; case 0 b _0222AAF0 ; case 1 b _0222AB48 ; case 2 b _0222AB70 ; case 3 add sp, sp, #4 ; case 4 ldmia sp!, {r4, r5, pc} ; case 5 _0222AA40: ldr r0, _0222AD28 ; =0x022430DC ldr r1, [r0] ldrb r0, [r1, #0x14] cmp r0, #0 bne _0222AA60 ldrb r0, [r1, #0xa] cmp r0, #0 beq _0222AD18 _0222AA60: mov r0, #3 bl MOD13_0223424C ldr r1, _0222AD28 ; =0x022430DC mov r0, #3 ldr r2, [r1] ldrb r1, [r2, #0x14] mul r0, r1, r0 add r0, r0, #2 add r0, r2, r0 ldrb r0, [r0, #8] cmp r0, #0 subeq r0, r1, #1 streqb r0, [r2, #0x14] ldr r0, _0222AD28 ; =0x022430DC mov r2, #3 ldr r0, [r0] mov r1, #0 ldrb r3, [r0, #0x14] add r0, r0, #8 mla r0, r3, r2, r0 bl MI_CpuFill8 ldr r0, _0222AD28 ; =0x022430DC ldr r1, [r0] ldrb r0, [r1, #0x14] cmp r0, #0 bne _0222AADC ldrb r0, [r1, #0xa] cmp r0, #0 bne _0222AADC mov r0, #0 bl MOD13_02222900 _0222AADC: mov r0, #1 bl MOD13_022228EC mov r0, #0 bl MOD13_022228D8 b _0222AD18 _0222AAF0: ldr r0, _0222AD28 ; =0x022430DC ldr r2, [r0] ldrb r1, [r2, #0x14] cmp r1, #3 bhs _0222AD18 mov r0, #3 mul r0, r1, r0 add r0, r0, #2 add r0, r2, r0 ldrb r0, [r0, #8] cmp r0, #0 beq _0222AD18 mov r0, #1 bl MOD13_0223424C ldr r1, _0222AD28 ; =0x022430DC mov r0, #0 ldr r2, [r1] ldrb r1, [r2, #0x14] add r1, r1, #1 strb r1, [r2, #0x14] bl MOD13_022228D8 b _0222AD18 _0222AB48: ldr r0, _0222AD28 ; =0x022430DC mov r2, #0 ldr r1, [r0] mov r0, #7 strb r2, [r1, #0x15] bl MOD13_0223424C ldr r0, _0222AD2C ; =MOD13_0222A92C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222AB70: bl MOD13_0222A34C cmp r0, #0 beq _0222AB98 mov r0, #6 bl MOD13_0223424C ldr r0, _0222AD28 ; =0x022430DC mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x15] b _0222ABB0 _0222AB98: ldr r0, _0222AD28 ; =0x022430DC mov r2, #2 ldr r1, [r0] mov r0, #9 strb r2, [r1, #0x15] bl MOD13_0223424C _0222ABB0: ldr r1, _0222AD28 ; =0x022430DC mov r3, #3 ldr r2, [r1] ldr r0, _0222AD30 ; =0xC1FFFCFF strb r3, [r2, #0x14] ldr r1, [r1] ldr r2, [r1, #4] ldr r1, [r2] and r0, r1, r0 orr r0, r0, #0x200 str r0, [r2] bl MOD13_0222A658 bl MOD13_0222A4B0 ldr r0, _0222AD2C ; =MOD13_0222A92C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222ABF4: ldr r0, _0222AD28 ; =0x022430DC ldr r0, [r0] ldrb r0, [r0, #0x14] cmp r0, #3 bne _0222AC18 mov r0, #0x1a bl MOD13_0222A954 cmp r0, #0 bne _0222AD18 _0222AC18: mov r0, #1 bl MOD13_0223424C ldr r1, _0222AD28 ; =0x022430DC mov r0, #3 ldr r3, [r1] ldrb r2, [r3, #0x14] add r5, r3, #8 mul lr, r2, r0 add r0, lr, #2 ldrb r3, [r5, r0] add ip, r5, r0 cmp r3, #0 streqb r4, [ip] beq _0222ACBC add r2, lr, #1 ldrb r0, [r5, r2] add r2, r5, r2 cmp r0, #0 bne _0222AC98 strb r3, [r2] mov r0, #0x1a strb r4, [ip] bl MOD13_0222A954 cmp r0, #0 beq _0222ACBC ldr r0, _0222AD28 ; =0x022430DC ldr r1, [r0] ldrb r0, [r1, #0x14] cmp r0, #3 addlo r0, r0, #1 strlob r0, [r1, #0x14] b _0222ACBC _0222AC98: strb r0, [r5, lr] ldrb r0, [ip] strb r0, [r2] strb r4, [ip] ldr r1, [r1] ldrb r0, [r1, #0x14] cmp r0, #3 addlo r0, r0, #1 strlob r0, [r1, #0x14] _0222ACBC: mov r0, #1 bl MOD13_02222900 ldr r0, _0222AD28 ; =0x022430DC ldr r0, [r0] ldrb r0, [r0, #0x14] cmp r0, #3 bhs _0222ACE4 mov r0, #1 bl MOD13_022228D8 b _0222ACEC _0222ACE4: mov r0, #0 bl MOD13_022228D8 _0222ACEC: ldr r0, _0222AD28 ; =0x022430DC ldr r0, [r0] ldrb r0, [r0, #0x14] cmp r0, #3 bne _0222AD18 mov r0, #0x1a bl MOD13_0222A954 cmp r0, #0 beq _0222AD18 mov r0, #0 bl MOD13_022228EC _0222AD18: bl MOD13_0222A6B8 bl MOD13_0222A658 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0222AD28: .word 0x022430DC _0222AD2C: .word MOD13_0222A92C _0222AD30: .word 0xC1FFFCFF arm_func_start MOD13_0222AD34 MOD13_0222AD34: ; 0x0222AD34 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222A9F0 bl MOD13_0222A950 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02222914 cmp r0, #0x1f addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, _0222AD74 ; =MOD13_0222AD34 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222AD74: .word MOD13_0222AD34 arm_func_start MOD13_0222AD78 MOD13_0222AD78: ; 0x0222AD78 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02222964 mov r0, #0x14 bl MOD13_0223424C ldr r0, _0222AE0C ; =0x022430DC ldr r0, [r0] ldrb r0, [r0, #0x14] cmp r0, #0 bne _0222ADDC mov r0, #0 bl MOD13_02222900 mov r0, #0 bl MOD13_022228D8 b _0222ADFC _0222ADDC: mov r0, #0x1a bl MOD13_0222A954 cmp r0, #0 beq _0222ADF4 mov r0, #0 bl MOD13_022228EC _0222ADF4: mov r0, #0 bl MOD13_022228D8 _0222ADFC: ldr r0, _0222AE10 ; =0x0222AD4C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222AE0C: .word 0x022430DC _0222AE10: .word 0x0222AD4C arm_func_start MOD13_0222AE14 MOD13_0222AE14: ; 0x0222AE14 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222AE6C ; =MOD13_0222AD78 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222AE6C: .word MOD13_0222AD78 arm_func_start MOD13_0222AE70 MOD13_0222AE70: ; 0x0222AE70 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222AF14 ; =0x022401FC ldr r1, _0222AF18 ; =0x020C9480 bl MOD13_0221F174 ldr r0, _0222AF1C ; =0x02240210 ldr r1, _0222AF20 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _0222AF24 ; =0x02240228 ldr r1, _0222AF28 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _0222AF2C ; =0x02240240 ldr r1, _0222AF30 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222AF34 ; =0x04001008 ldr ip, _0222AF38 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222AF3C ; =0x04000008 ldr r2, _0222AF40 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222AF44 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #2 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222AF14: .word 0x022401FC _0222AF18: .word 0x020C9480 _0222AF1C: .word 0x02240210 _0222AF20: .word 0x020C8D4C _0222AF24: .word 0x02240228 _0222AF28: .word 0x020C9550 _0222AF2C: .word 0x02240240 _0222AF30: .word 0x020C908C _0222AF34: .word 0x04001008 _0222AF38: .word 0x0400100A _0222AF3C: .word 0x04000008 _0222AF40: .word 0x0400000A _0222AF44: .word 0x0400000C arm_func_start MOD13_0222AF48 MOD13_0222AF48: ; 0x0222AF48 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x24 ldr r7, _0222B0A8 ; =0x0223F29C ldr ip, _0222B0AC ; =0x0223F280 ldmia r7!, {r0, r1, r2, r3} add r6, sp, #0xc stmia r6!, {r0, r1, r2, r3} ldrb r5, [ip] ldrb r4, [ip, #1] ldrb lr, [ip, #2] ldrb r3, [ip, #3] ldrb r2, [ip, #4] ldr ip, [r7] mov r0, #0x18 mov r1, #4 str ip, [r6] strb r5, [sp] strb r4, [sp, #1] strb lr, [sp, #2] strb r3, [sp, #3] strb r2, [sp, #4] bl MOD13_0223AFE0 ldr r2, _0222B0B0 ; =0x022430DC mov r1, #0 str r0, [r2] add r0, sp, #8 bl MOD13_02222F44 ldr r0, _0222B0B0 ; =0x022430DC ldr r2, [sp, #8] add r1, sp, #0xc ldr r0, [r0] ldr r1, [r1, r2, lsl #2] add r0, r0, #8 blx r1 ldr r0, _0222B0B0 ; =0x022430DC ldr r1, _0222B0B4 ; =0x02240258 ldr r4, [r0] mov r2, #3 add r0, r4, #8 bl memcmp cmp r0, #0 movne r0, #3 strneb r0, [r4, #0x14] bne _0222B018 add r0, r4, #8 mov r1, #0 mov r2, #0xc bl MI_CpuFill8 ldr r0, _0222B0B0 ; =0x022430DC mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x14] _0222B018: bl MOD13_0222AE70 ldr r0, [sp, #8] add r0, r0, #0xb bl MOD13_0221F4CC ldr r2, [sp, #8] add r0, sp, #0 ldrb r0, [r0, r2] mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #2 bl MOD13_0221F124 mov r0, #0 mov r1, r0 bl MOD13_0223A7F0 ldr r2, _0222B0B0 ; =0x022430DC mov r1, #0x3f ldr r2, [r2] str r0, [r2] mov r0, #0 bl MOD13_02239E54 ldr r1, _0222B0B0 ; =0x022430DC ldr r2, [r1] str r0, [r2, #4] ldr r0, [r1] ldr r1, [r0, #4] ldrh r0, [r1, #4] bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] bl MOD13_0222A658 bl MOD13_0222A6B8 ldr r0, _0222B0B8 ; =MOD13_0222AE14 bl MOD13_02222FBC add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0222B0A8: .word 0x0223F29C _0222B0AC: .word 0x0223F280 _0222B0B0: .word 0x022430DC _0222B0B4: .word 0x02240258 _0222B0B8: .word MOD13_0222AE14 arm_func_start MOD13_0222B0BC MOD13_0222B0BC: ; 0x0222B0BC ldr r1, _0222B0C8 ; =0x022430E0 str r0, [r1] bx lr .align 2, 0 _0222B0C8: .word 0x022430E0 arm_func_start MOD13_0222B0CC MOD13_0222B0CC: ; 0x0222B0CC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 beq _0222B164 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222B194 ; =MOD13_02230714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222B164: mov r0, #2 mov r1, #0 bl MOD13_02222FA8 mov r0, #0 mov r1, r0 bl MOD13_02222F6C mov r0, #0 bl MOD13_0222B7F4 ldr r0, _0222B198 ; =MOD13_0222DD4C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B194: .word MOD13_02230714 _0222B198: .word MOD13_0222DD4C arm_func_start MOD13_0222B19C MOD13_0222B19C: ; 0x0222B19C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222B1F4 ; =MOD13_0222B0CC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B1F4: .word MOD13_0222B0CC arm_func_start MOD13_0222B1F8 MOD13_0222B1F8: ; 0x0222B1F8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222B21C ; =MOD13_0222B19C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B21C: .word MOD13_0222B19C arm_func_start MOD13_0222B220 MOD13_0222B220: ; 0x0222B220 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C ldr r0, _0222B250 ; =MOD13_0222B1F8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B250: .word MOD13_0222B1F8 arm_func_start MOD13_0222B254 MOD13_0222B254: ; 0x0222B254 bx lr arm_func_start MOD13_0222B258 MOD13_0222B258: ; 0x0222B258 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222B258 bl MOD13_0222B254 bl MOD13_0222B220 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222B2D0 ; =0x0222B284 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B2D0: .word 0x0222B284 arm_func_start MOD13_0222B2D4 MOD13_0222B2D4: ; 0x0222B2D4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #4 bl MOD13_0221F0EC ldr r0, _0222B31C ; =0x0222B2A0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B31C: .word 0x0222B2A0 arm_func_start MOD13_0222B320 MOD13_0222B320: ; 0x0222B320 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222B358 ; =MOD13_0222B2D4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B358: .word MOD13_0222B2D4 arm_func_start MOD13_0222B35C MOD13_0222B35C: ; 0x0222B35C stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x28 add r1, sp, #0x10 mov r0, #0 bl MOD13_02222F44 ldr r0, _0222B690 ; =0x022430E0 ldr r1, _0222B694 ; =0xFFFFB17D ldr r0, [r0] cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B698 ; =0xFFFFB17C cmp r0, r1 movge r4, #2 bge _0222B5B8 ldr r1, _0222B69C ; =0xFFFFB17B cmp r0, r1 movge r4, #0x13 bge _0222B5B8 ldr r1, _0222B6A0 ; =0xFFFFB175 cmp r0, r1 movge r4, #2 bge _0222B5B8 ldr r1, _0222B6A4 ; =0xFFFFB174 cmp r0, r1 movge r4, #0x12 bge _0222B5B8 ldr r1, _0222B6A8 ; =0xFFFFB173 cmp r0, r1 movge r4, #2 bge _0222B5B8 ldr r1, _0222B6AC ; =0xFFFFB172 cmp r0, r1 movge r4, #3 bge _0222B5B8 ldr r1, _0222B6B0 ; =0xFFFFADF9 cmp r0, r1 movge r4, #2 bge _0222B5B8 ldr r1, _0222B6B4 ; =0xFFFFA629 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B6B8 ; =0xFFFFA241 cmp r0, r1 movge r4, #0x13 bge _0222B5B8 ldr r1, _0222B6BC ; =0xFFFF3CB1 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B6C0 ; =0xFFFF3CAE cmp r0, r1 movge r4, #7 bge _0222B5B8 ldr r1, _0222B6C4 ; =0xFFFF3CAD cmp r0, r1 movge r4, #5 bge _0222B5B8 ldr r1, _0222B6C8 ; =0xFFFF3C4E cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B6CC ; =0xFFFF3C4D cmp r0, r1 blt _0222B478 ldr r0, [sp, #0x10] cmp r0, #2 moveq r4, #5 movne r4, #7 b _0222B5B8 _0222B478: ldr r1, _0222B6D0 ; =0xFFFF3866 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B6D4 ; =0xFFFF3865 cmp r0, r1 blt _0222B4A8 ldr r0, [sp, #0x10] cmp r0, #2 moveq r4, #5 movne r4, #8 b _0222B5B8 _0222B4A8: ldr r1, _0222B6D8 ; =0xFFFF3862 cmp r0, r1 movge r4, #9 bge _0222B5B8 ldr r1, _0222B6DC ; =0xFFFF3861 cmp r0, r1 movge r4, #5 bge _0222B5B8 ldr r1, _0222B6E0 ; =0xFFFF3801 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B6E4 ; =0xFFFF379D cmp r0, r1 movge r4, #0x14 bge _0222B5B8 ldr r1, _0222B6E8 ; =0xFFFF379A cmp r0, r1 movge r4, #0x15 bge _0222B5B8 ldr r1, _0222B6EC ; =0xFFFF3799 cmp r0, r1 movge r4, #4 bge _0222B5B8 ldr r1, _0222B6F0 ; =0xFFFF34E1 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B6F4 ; =0xFFFF34DE cmp r0, r1 movge r4, #0xa bge _0222B5B8 ldr r1, _0222B6F8 ; =0xFFFF34DD cmp r0, r1 movge r4, #0x16 bge _0222B5B8 ldr r1, _0222B6FC ; =0xFFFF347D cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B700 ; =0xFFFF3479 cmp r0, r1 movge r4, #0xb bge _0222B5B8 ldr r1, _0222B704 ; =0xFFFF3419 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B708 ; =0xFFFF3415 cmp r0, r1 movge r4, #0xb bge _0222B5B8 ldr r1, _0222B70C ; =0xFFFF33B5 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B710 ; =0xFFFF3351 cmp r0, r1 movge r4, #2 bge _0222B5B8 ldr r1, _0222B714 ; =0xFFFF30F9 cmp r0, r1 movge r4, #0 bge _0222B5B8 ldr r1, _0222B718 ; =0xFFFF2FCD cmp r0, r1 movge r4, #2 movlt r4, #0 _0222B5B8: bl MOD13_02222F34 mov r2, r0 ldr r1, _0222B71C ; =0x0223F2C4 mov r0, #0 ldrb r1, [r1, r2] bl MOD13_0223A7F0 ldr r1, _0222B720 ; =0x0224307C mov r5, r0 ldr r0, [r1] mov r1, r4 bl MOD13_02223568 ldr r1, _0222B690 ; =0x022430E0 mov r4, r0 ldr r1, [r1] ldr r2, _0222B724 ; =0x0224025C rsb r3, r1, #0 add r0, sp, #0x14 mov r1, #8 bl swprintf bl MOD13_02222F34 mov r1, r0, lsl #2 ldr r0, _0222B728 ; =0x0223F2D6 ldrh r6, [r0, r1] bl MOD13_02222F34 mov r1, r0, lsl #2 ldr r0, _0222B72C ; =0x0223F2D4 mov ip, #0xa ldrh r1, [r0, r1] add r3, sp, #0x14 mov r0, #0 str ip, [sp] str r3, [sp, #4] str r0, [sp, #8] mov r2, r6 mov r0, r5 mov r3, #2 bl MOD13_0223A528 bl MOD13_0221EF88 ldr r3, _0222B730 ; =0x0223F2CC mov r1, #2 ldrh r2, [r3, #6] str r2, [sp] str r1, [sp, #4] str r0, [sp, #8] str r4, [sp, #0xc] ldrh r1, [r3] ldrh r2, [r3, #2] ldrh r3, [r3, #4] mov r0, r5 bl MOD13_0223A4F0 mov r0, r5 bl MOD13_0223A410 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0222B690: .word 0x022430E0 _0222B694: .word 0xFFFFB17D _0222B698: .word 0xFFFFB17C _0222B69C: .word 0xFFFFB17B _0222B6A0: .word 0xFFFFB175 _0222B6A4: .word 0xFFFFB174 _0222B6A8: .word 0xFFFFB173 _0222B6AC: .word 0xFFFFB172 _0222B6B0: .word 0xFFFFADF9 _0222B6B4: .word 0xFFFFA629 _0222B6B8: .word 0xFFFFA241 _0222B6BC: .word 0xFFFF3CB1 _0222B6C0: .word 0xFFFF3CAE _0222B6C4: .word 0xFFFF3CAD _0222B6C8: .word 0xFFFF3C4E _0222B6CC: .word 0xFFFF3C4D _0222B6D0: .word 0xFFFF3866 _0222B6D4: .word 0xFFFF3865 _0222B6D8: .word 0xFFFF3862 _0222B6DC: .word 0xFFFF3861 _0222B6E0: .word 0xFFFF3801 _0222B6E4: .word 0xFFFF379D _0222B6E8: .word 0xFFFF379A _0222B6EC: .word 0xFFFF3799 _0222B6F0: .word 0xFFFF34E1 _0222B6F4: .word 0xFFFF34DE _0222B6F8: .word 0xFFFF34DD _0222B6FC: .word 0xFFFF347D _0222B700: .word 0xFFFF3479 _0222B704: .word 0xFFFF3419 _0222B708: .word 0xFFFF3415 _0222B70C: .word 0xFFFF33B5 _0222B710: .word 0xFFFF3351 _0222B714: .word 0xFFFF30F9 _0222B718: .word 0xFFFF2FCD _0222B71C: .word 0x0223F2C4 _0222B720: .word 0x0224307C _0222B724: .word 0x0224025C _0222B728: .word 0x0223F2D6 _0222B72C: .word 0x0223F2D4 _0222B730: .word 0x0223F2CC arm_func_start MOD13_0222B734 MOD13_0222B734: ; 0x0222B734 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222B7B4 ; =0x02240264 ldr r1, _0222B7B8 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222B7BC ; =0x04001008 ldr ip, _0222B7C0 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222B7C4 ; =0x04000008 ldr r2, _0222B7C8 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222B7CC ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B7B4: .word 0x02240264 _0222B7B8: .word 0x020C908C _0222B7BC: .word 0x04001008 _0222B7C0: .word 0x0400100A _0222B7C4: .word 0x04000008 _0222B7C8: .word 0x0400000A _0222B7CC: .word 0x0400000C arm_func_start MOD13_0222B7D0 MOD13_0222B7D0: ; 0x0222B7D0 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222B734 bl MOD13_0222B35C ldr r0, _0222B7F0 ; =MOD13_0222B320 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B7F0: .word MOD13_0222B320 arm_func_start MOD13_0222B7F4 MOD13_0222B7F4: ; 0x0222B7F4 ldr r1, _0222B800 ; =0x022430E8 strb r0, [r1] bx lr .align 2, 0 _0222B800: .word 0x022430E8 arm_func_start MOD13_0222B804 MOD13_0222B804: ; 0x0222B804 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222B82C ; =MOD13_0222DA24 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B82C: .word MOD13_0222DA24 arm_func_start MOD13_0222B830 MOD13_0222B830: ; 0x0222B830 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _0222B874 ; =0x022430F4 ldr r0, [r0] ldr r0, [r0, #0xc] bl MOD13_02232780 ldr r0, _0222B878 ; =MOD13_0222B804 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222B874: .word 0x022430F4 _0222B878: .word MOD13_0222B804 arm_func_start MOD13_0222B87C MOD13_0222B87C: ; 0x0222B87C stmdb sp!, {r4, lr} bl MOD13_02234164 mov r4, r0 ldrb r0, [r4, #0x40] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} ldrb r0, [r4, #0xf6] cmp r0, #0 bne _0222B8C8 add r0, r4, #0xc8 bl FUN_02095AE0 cmp r0, #0 bne _0222B8C8 add r0, r4, #0xcc bl FUN_02095AE0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _0222B8C8: ldrb r0, [r4, #0xf5] cmp r0, #0 bne _0222B914 add r0, r4, #0xc0 bl FUN_02095AE0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0xc4 bl FUN_02095AE0 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} add r0, r4, #0xc0 add r1, r4, #0xf0 bl FUN_02095B0C cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} _0222B914: mov r0, #1 ldmia sp!, {r4, pc} arm_func_start MOD13_0222B91C MOD13_0222B91C: ; 0x0222B91C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _0222B9D0 ; =0x0223F2F0 ldr r0, _0222B9D4 ; =0x022430E4 ldrb ip, [r1] ldrb r3, [r1, #1] ldrb r2, [r1, #2] ldrb r1, [r1, #3] strb ip, [sp] ldrb lr, [r0] add r4, sp, #0 strb r3, [sp, #1] strb r2, [sp, #2] strb r1, [sp, #3] mov ip, #0 _0222B958: ldrb r0, [r4] cmp lr, r0 bne _0222B9B8 ldr r0, _0222B9D8 ; =0x022430F4 mov r3, #0x14 ldr r2, [r0] ands r1, ip, #1 add r1, r2, ip strb r3, [r1, #4] beq _0222B99C ldr r1, [r0] sub r0, ip, #1 add r0, r1, r0 mov r1, #0 strb r1, [r0, #4] add sp, sp, #8 ldmia sp!, {r4, pc} _0222B99C: ldr r1, [r0] add r0, ip, #1 add r0, r1, r0 mov r1, #0 strb r1, [r0, #4] add sp, sp, #8 ldmia sp!, {r4, pc} _0222B9B8: add ip, ip, #1 cmp ip, #4 add r4, r4, #1 blt _0222B958 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0222B9D0: .word 0x0223F2F0 _0222B9D4: .word 0x022430E4 _0222B9D8: .word 0x022430F4 arm_func_start MOD13_0222B9DC MOD13_0222B9DC: ; 0x0222B9DC stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r5, _0222BA34 ; =0x022430F4 mov r4, #0 _0222B9EC: ldr r0, [r5] add r1, r0, r4 ldrb r0, [r1, #4] cmp r0, #0 beq _0222BA20 sub r0, r0, #1 strb r0, [r1, #4] ldr r0, [r5] add r0, r0, r4 ldrb r0, [r0, #4] cmp r0, #0 bne _0222BA20 bl MOD13_0222CD8C _0222BA20: add r4, r4, #1 cmp r4, #4 blt _0222B9EC add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0222BA34: .word 0x022430F4 arm_func_start MOD13_0222BA38 MOD13_0222BA38: ; 0x0222BA38 ldr r1, _0222BA64 ; =0x022430E4 ldr r0, _0222BA68 ; =0x022430F4 ldrb r2, [r1] ldr r0, [r0] ldr r1, _0222BA6C ; =0x0223F2EC sub r2, r2, #0xb ldrb r1, [r1, r2] ldr ip, _0222BA70 ; =MOD13_022327DC ldr r0, [r0, #0x10] mov r2, r1 bx ip .align 2, 0 _0222BA64: .word 0x022430E4 _0222BA68: .word 0x022430F4 _0222BA6C: .word 0x0223F2EC _0222BA70: .word MOD13_022327DC arm_func_start MOD13_0222BA74 MOD13_0222BA74: ; 0x0222BA74 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 bl MOD13_02234164 ldr r1, _0222BDA0 ; =0x022430E4 mov r4, #0 ldrb r2, [r1] cmp r2, #8 bne _0222BABC ldrb r0, [r0, #0xf5] cmp r0, #0 bne _0222BABC cmp r5, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} cmp r5, #2 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} _0222BABC: cmp r2, #0 bgt _0222BAD0 cmp r2, #0 beq _0222BAF0 b _0222BC78 _0222BAD0: sub r0, r2, #0xa cmp r0, #3 addls pc, pc, r0, lsl #2 b _0222BC78 _0222BAE0: ; jump table b _0222BB20 ; case 0 b _0222BB5C ; case 1 b _0222BBD4 ; case 2 b _0222BBD4 ; case 3 _0222BAF0: cmp r5, #1 ldreq r0, _0222BDA0 ; =0x022430E4 moveq r1, #0xb streqb r1, [r0] beq _0222BD74 cmp r5, #3 ldreq r0, _0222BDA4 ; =0x022430EC movne r4, #2 ldreqb r1, [r0] addeq r1, r1, #1 streqb r1, [r0] b _0222BD74 _0222BB20: cmp r5, #1 ldreq r0, _0222BDA4 ; =0x022430EC ldreqb r1, [r0] subeq r1, r1, #1 streqb r1, [r0] beq _0222BD74 cmp r5, #3 movne r4, #2 bne _0222BD74 ldr r1, _0222BDA8 ; =0x022430F4 ldr r0, _0222BDA0 ; =0x022430E4 ldr r1, [r1] ldrb r1, [r1, #0x42] strb r1, [r0] b _0222BD74 _0222BB5C: cmp r5, #1 bne _0222BB9C ldr r0, _0222BDA8 ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x47] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} mov r0, #9 bl MOD13_0223424C ldr r0, _0222BDA8 ; =0x022430F4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x47] ldmia sp!, {r4, r5, pc} _0222BB9C: cmp r5, #3 movne r4, #2 bne _0222BD74 ldr r2, _0222BDA0 ; =0x022430E4 mov r3, #0 ldr r1, _0222BDA4 ; =0x022430EC ldr r0, _0222BDAC ; =0x022430F0 strb r3, [r2] strb r3, [r1] strh r3, [r0] bl MOD13_0222CD8C mov r0, #0 bl MOD13_02232F44 b _0222BD74 _0222BBD4: ldr r0, _0222BDA8 ; =0x022430F4 cmp r5, #1 ldr r1, [r0] strb r2, [r1, #0x42] bne _0222BC1C ldr r2, _0222BDA0 ; =0x022430E4 mov ip, #0xa ldr r1, _0222BDA4 ; =0x022430EC mov r5, #3 ldr r0, _0222BDAC ; =0x022430F0 mov r3, #0x91 strb ip, [r2] strb r5, [r1] strh r3, [r0] bl MOD13_0222CD8C mov r0, #0x37 bl MOD13_02232F44 b _0222BD74 _0222BC1C: cmp r5, #3 bne _0222BC58 ldr r0, [r0] ldrb r0, [r0, #0x47] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} mov r0, #9 bl MOD13_0223424C ldr r0, _0222BDA8 ; =0x022430F4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x47] ldmia sp!, {r4, r5, pc} _0222BC58: cmp r2, #0xc ldreq r0, _0222BDA0 ; =0x022430E4 moveq r1, #0xd streqb r1, [r0] ldrne r0, _0222BDA0 ; =0x022430E4 movne r1, #0xc strneb r1, [r0] b _0222BD74 _0222BC78: cmp r5, #1 bne _0222BCC8 ldr r0, _0222BDA4 ; =0x022430EC ldrb r1, [r0] cmp r1, #0 subne r1, r1, #1 strneb r1, [r0] bne _0222BD74 mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _0222BDB0 ; =MOD13_0222C0E8 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222BDA8 ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {r4, r5, pc} _0222BCC8: cmp r5, #3 bne _0222BD18 ldr r0, _0222BDA4 ; =0x022430EC ldrb r1, [r0] cmp r1, #3 addlo r1, r1, #1 strlob r1, [r0] blo _0222BD74 mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _0222BDB4 ; =MOD13_0222C03C mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222BDA8 ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {r4, r5, pc} _0222BD18: cmp r2, #2 ldreq r0, _0222BDA0 ; =0x022430E4 moveq r1, #3 mov r4, #2 streqb r1, [r0] beq _0222BD68 cmp r2, #3 ldreq r0, _0222BDA0 ; =0x022430E4 streqb r4, [r0] beq _0222BD68 cmp r2, #7 ldreq r0, _0222BDA0 ; =0x022430E4 moveq r1, #8 streqb r1, [r0] beq _0222BD68 cmp r2, #8 bne _0222BD74 ldr r0, _0222BDA0 ; =0x022430E4 mov r1, #7 strb r1, [r0] _0222BD68: mov r0, #8 bl MOD13_0223424C bl MOD13_0222BEC0 _0222BD74: cmp r4, #2 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} mov r0, #8 bl MOD13_0223424C cmp r4, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} bl MOD13_0222BDF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0222BDA0: .word 0x022430E4 _0222BDA4: .word 0x022430EC _0222BDA8: .word 0x022430F4 _0222BDAC: .word 0x022430F0 _0222BDB0: .word MOD13_0222C0E8 _0222BDB4: .word MOD13_0222C03C arm_func_start MOD13_0222BDB8 MOD13_0222BDB8: ; 0x0222BDB8 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _0222BDE8 ; =0x022430E4 ldr r2, _0222BDEC ; =0x0223F32C strb r0, [r1] ldrb r0, [r2, r0] bl MOD13_0222C1F4 ldr r1, _0222BDF0 ; =0x022430EC strb r0, [r1] bl MOD13_0222BEC0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222BDE8: .word 0x022430E4 _0222BDEC: .word 0x0223F32C _0222BDF0: .word 0x022430EC arm_func_start MOD13_0222BDF4 MOD13_0222BDF4: ; 0x0222BDF4 stmdb sp!, {r4, lr} ldr r0, _0222BEB0 ; =0x022430E4 ldrb r0, [r0] add r0, r0, #0xf5 and r0, r0, #0xff cmp r0, #2 bhi _0222BE18 bl MOD13_0222BEC0 ldmia sp!, {r4, pc} _0222BE18: bl MOD13_02234164 ldr r1, _0222BEB4 ; =0x022430F0 mov r4, r0 ldrh r0, [r1] mov r1, #0x1d bl FX_DivS32 ldr r1, _0222BEB8 ; =0x022430EC ldrb r1, [r1] add r2, r1, r0 cmp r2, #2 beq _0222BE50 cmp r2, #6 beq _0222BE74 b _0222BE98 _0222BE50: ldrb r0, [r4, #0xf5] cmp r0, #0 ldrne r0, _0222BEB0 ; =0x022430E4 movne r1, #2 strneb r1, [r0] ldreq r0, _0222BEB0 ; =0x022430E4 moveq r1, #3 streqb r1, [r0] b _0222BEA8 _0222BE74: ldrb r0, [r4, #0xf6] cmp r0, #0 ldrne r0, _0222BEB0 ; =0x022430E4 movne r1, #7 strneb r1, [r0] ldreq r0, _0222BEB0 ; =0x022430E4 moveq r1, #8 streqb r1, [r0] b _0222BEA8 _0222BE98: ldr r1, _0222BEBC ; =0x0223F314 ldr r0, _0222BEB0 ; =0x022430E4 ldrb r1, [r1, r2] strb r1, [r0] _0222BEA8: bl MOD13_0222BEC0 ldmia sp!, {r4, pc} .align 2, 0 _0222BEB0: .word 0x022430E4 _0222BEB4: .word 0x022430F0 _0222BEB8: .word 0x022430EC _0222BEBC: .word 0x0223F314 arm_func_start MOD13_0222BEC0 MOD13_0222BEC0: ; 0x0222BEC0 stmdb sp!, {lr} sub sp, sp, #0x1c ldr ip, _0222BF90 ; =0x0223F338 add r3, sp, #8 mov r2, #7 _0222BED4: ldrb r1, [ip], #1 ldrb r0, [ip], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _0222BED4 ldr r0, _0222BF94 ; =0x022430E4 add r1, sp, #8 ldrb r0, [r0] ldrb r2, [r1, r0] cmp r2, #3 blt _0222BF30 mov r3, r2, lsl #3 ldr r1, _0222BF98 ; =0x0223F3CC ldr r2, _0222BF9C ; =0x0223F3D0 ldr r0, _0222BFA0 ; =0x0223F3CE ldrh r1, [r1, r3] ldrh r2, [r2, r3] ldrh r3, [r0, r3] mov r0, #3 bl MOD13_0221F348 add sp, sp, #0x1c ldmia sp!, {pc} _0222BF30: ldr r0, _0222BF98 ; =0x0223F3CC mov r1, r2, lsl #3 add lr, r0, r2, lsl #3 ldrh ip, [r0, r1] ldrh r1, [lr, #2] ldr r0, _0222BFA4 ; =0x022430EC ldrh r3, [lr, #4] strh r1, [sp, #2] ldrh r2, [sp, #2] ldrb r1, [r0] mov r0, #0x1d strh ip, [sp] mla r0, r1, r0, r2 strh r3, [sp, #4] strh r0, [sp, #2] ldrh ip, [lr, #6] ldrh r1, [sp] ldrh r2, [sp, #4] ldrh r3, [sp, #2] mov r0, #1 strh ip, [sp, #6] bl MOD13_0221F348 add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 _0222BF90: .word 0x0223F338 _0222BF94: .word 0x022430E4 _0222BF98: .word 0x0223F3CC _0222BF9C: .word 0x0223F3D0 _0222BFA0: .word 0x0223F3CE _0222BFA4: .word 0x022430EC arm_func_start MOD13_0222BFA8 MOD13_0222BFA8: ; 0x0222BFA8 stmdb sp!, {r4, lr} ldr r0, _0222C024 ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x44] cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, _0222C028 ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_DivS32 ldr r1, _0222C028 ; =0x022430F0 mov r4, r0 ldrh r0, [r1] mov r1, #0x1d bl FX_ModS32 ldr r1, _0222C02C ; =0x01FF0000 sub ip, r0, #0x33 ldr r2, _0222C030 ; =0x04000010 and r3, r1, ip, lsl #16 ldr r0, _0222C034 ; =0x0223F320 str r3, [r2] ldrb r3, [r0, r4] ldr r2, _0222C038 ; =0x04000018 ldr r0, _0222C024 ; =0x022430F4 add r3, ip, r3 and r1, r1, r3, lsl #16 str r1, [r2] ldr r0, [r0] mov r1, #0 strb r1, [r0, #0x44] ldmia sp!, {r4, pc} .align 2, 0 _0222C024: .word 0x022430F4 _0222C028: .word 0x022430F0 _0222C02C: .word 0x01FF0000 _0222C030: .word 0x04000010 _0222C034: .word 0x0223F320 _0222C038: .word 0x04000018 arm_func_start MOD13_0222C03C MOD13_0222C03C: ; 0x0222C03C stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_02232F14 bl MOD13_0221F21C ldr r0, _0222C0DC ; =0x022430F0 mov r1, #0x1d ldrh r2, [r0] add r2, r2, #6 strh r2, [r0] ldrh r0, [r0] bl FX_ModS32 cmp r0, #6 blt _0222C078 bl MOD13_0222C4C8 ldmia sp!, {r4, pc} _0222C078: ldr r1, _0222C0DC ; =0x022430F0 ldrh r2, [r1] sub r0, r2, r0 strh r0, [r1] bl MOD13_0222CD8C ldr r1, _0222C0DC ; =0x022430F0 mov r0, #0x37 ldrh r1, [r1] ldr r2, _0222C0E0 ; =0xE1FC780F mul r3, r1, r0 smull r1, r0, r2, r3 add r0, r3, r0 mov r0, r0, asr #7 mov r1, r3, lsr #0x1f add r0, r1, r0 bl MOD13_02232F44 bl MOD13_02232F2C bl MOD13_0222BDF4 ldr r0, _0222C0E4 ; =0x022430F4 mov r1, r4 ldr r2, [r0] mov r0, #0 str r0, [r2, #0x38] bl MOD13_0223C110 ldmia sp!, {r4, pc} .align 2, 0 _0222C0DC: .word 0x022430F0 _0222C0E0: .word 0xE1FC780F _0222C0E4: .word 0x022430F4 arm_func_start MOD13_0222C0E8 MOD13_0222C0E8: ; 0x0222C0E8 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r4, r0 bl MOD13_02232F14 bl MOD13_0221F21C ldr r0, _0222C1C4 ; =0x022430F0 ldrh r1, [r0] cmp r1, #6 subhi r1, r1, #6 strhih r1, [r0] movls r1, #0 strlsh r1, [r0] ldr r0, _0222C1C4 ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_ModS32 mov r5, r0 cmp r5, #0x17 bne _0222C140 bl MOD13_0222CD8C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0222C140: cmp r5, #0x17 ble _0222C160 ldr r0, _0222C1C4 ; =0x022430F0 rsb r1, r5, #0x1d ldrh r2, [r0] mov r5, #0 add r1, r2, r1 strh r1, [r0] _0222C160: bl MOD13_0222C4C8 cmp r5, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} ldr r1, _0222C1C4 ; =0x022430F0 mov r0, #0x37 ldrh r1, [r1] ldr r2, _0222C1C8 ; =0xE1FC780F mul r3, r1, r0 smull r1, r0, r2, r3 add r0, r3, r0 mov r0, r0, asr #7 mov r1, r3, lsr #0x1f add r0, r1, r0 bl MOD13_02232F44 bl MOD13_02232F2C bl MOD13_0222BDF4 ldr r0, _0222C1CC ; =0x022430F4 mov r1, r4 ldr r2, [r0] mov r0, #0 str r0, [r2, #0x38] bl MOD13_0223C110 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0222C1C4: .word 0x022430F0 _0222C1C8: .word 0xE1FC780F _0222C1CC: .word 0x022430F4 arm_func_start MOD13_0222C1D0 MOD13_0222C1D0: ; 0x0222C1D0 stmdb sp!, {r4, lr} ldr r1, _0222C1F0 ; =0x022430F0 mov r4, r0 ldrh r0, [r1] mov r1, #0x1d bl FX_DivS32 add r0, r0, r4 ldmia sp!, {r4, pc} .align 2, 0 _0222C1F0: .word 0x022430F0 arm_func_start MOD13_0222C1F4 MOD13_0222C1F4: ; 0x0222C1F4 stmdb sp!, {r4, lr} ldr r1, _0222C234 ; =0x022430F0 mov r4, r0 ldrh r0, [r1] mov r1, #0x1d bl FX_DivS32 mov r1, #0 _0222C210: cmp r0, r4 moveq r0, r1 ldmeqia sp!, {r4, pc} add r1, r1, #1 cmp r1, #4 add r0, r0, #1 blt _0222C210 mvn r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _0222C234: .word 0x022430F0 arm_func_start MOD13_0222C238 MOD13_0222C238: ; 0x0222C238 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldr r0, _0222C4AC ; =0x0223F75C bl MOD13_0223B2B4 cmp r0, #0 addeq sp, sp, #8 moveq r0, #0xe ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _0222C4B0 ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_DivS32 ldr r1, _0222C4B4 ; =0x0223F2FC add r4, sp, #0 ldrh ip, [r1] ldrh r3, [r1, #2] ldrh r2, [r1, #4] ldrh r1, [r1, #6] mov r5, r0 strh ip, [sp] strh r3, [sp, #2] strh r2, [sp, #4] strh r1, [sp, #6] mov r6, #0 _0222C298: cmp r5, #2 beq _0222C2C4 cmp r5, #6 beq _0222C2C4 mov r0, r4 bl MOD13_0223B194 cmp r0, #0 ldrne r0, _0222C4B8 ; =0x0223F314 addne sp, sp, #8 ldrneb r0, [r0, r5] ldmneia sp!, {r4, r5, r6, pc} _0222C2C4: ldrh r0, [sp, #2] add r6, r6, #1 cmp r6, #4 add r0, r0, #0x1d strh r0, [sp, #2] add r5, r5, #1 blt _0222C298 ldr r0, _0222C4B0 ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_DivS32 mov r3, #0 _0222C2F4: cmp r0, #2 bne _0222C398 ldr r1, _0222C4BC ; =0x0223F30C mov r0, #0x1d ldrh r2, [r1, #2] mul r4, r3, r0 strh r2, [sp, #2] ldrh r5, [r1] ldrh r3, [r1, #4] ldrh r2, [r1, #6] ldrh r0, [sp, #2] strh r5, [sp] strh r3, [sp, #4] add r1, r0, r4 add r0, sp, #0 strh r2, [sp, #6] strh r1, [sp, #2] bl MOD13_0223B194 cmp r0, #0 addne sp, sp, #8 movne r0, #2 ldmneia sp!, {r4, r5, r6, pc} ldr r1, _0222C4C0 ; =0x0223F304 add r0, sp, #0 ldrh r2, [r1, #2] ldrh ip, [r1] ldrh r5, [r1, #4] strh r2, [sp, #2] ldrh r3, [r1, #6] ldrh r2, [sp, #2] strh ip, [sp] strh r5, [sp, #4] add r1, r2, r4 strh r3, [sp, #6] strh r1, [sp, #2] bl MOD13_0223B194 cmp r0, #0 beq _0222C3A8 add sp, sp, #8 mov r0, #3 ldmia sp!, {r4, r5, r6, pc} _0222C398: add r3, r3, #1 cmp r3, #4 add r0, r0, #1 blt _0222C2F4 _0222C3A8: ldr r0, _0222C4B0 ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_DivS32 mov r3, #0 _0222C3BC: cmp r0, #6 bne _0222C460 ldr r1, _0222C4BC ; =0x0223F30C mov r0, #0x1d ldrh r2, [r1, #2] mul r4, r3, r0 strh r2, [sp, #2] ldrh r5, [r1] ldrh r3, [r1, #4] ldrh r2, [r1, #6] ldrh r0, [sp, #2] strh r5, [sp] strh r3, [sp, #4] add r1, r0, r4 add r0, sp, #0 strh r2, [sp, #6] strh r1, [sp, #2] bl MOD13_0223B194 cmp r0, #0 addne sp, sp, #8 movne r0, #7 ldmneia sp!, {r4, r5, r6, pc} ldr r1, _0222C4C0 ; =0x0223F304 add r0, sp, #0 ldrh r2, [r1, #2] ldrh ip, [r1] ldrh r5, [r1, #4] strh r2, [sp, #2] ldrh r3, [r1, #6] ldrh r2, [sp, #2] strh ip, [sp] strh r5, [sp, #4] add r1, r2, r4 strh r3, [sp, #6] strh r1, [sp, #2] bl MOD13_0223B194 cmp r0, #0 beq _0222C470 add sp, sp, #8 mov r0, #8 ldmia sp!, {r4, r5, r6, pc} _0222C460: add r3, r3, #1 cmp r3, #4 add r0, r0, #1 blt _0222C3BC _0222C470: ldr r5, _0222C4C4 ; =0x0223F3B4 mov r4, #0 _0222C478: mov r0, r5 bl MOD13_0223B2B4 cmp r0, #0 addne sp, sp, #8 addne r0, r4, #0xb ldmneia sp!, {r4, r5, r6, pc} add r4, r4, #1 cmp r4, #3 add r5, r5, #8 blt _0222C478 mov r0, #0xe add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0222C4AC: .word 0x0223F75C _0222C4B0: .word 0x022430F0 _0222C4B4: .word 0x0223F2FC _0222C4B8: .word 0x0223F314 _0222C4BC: .word 0x0223F30C _0222C4C0: .word 0x0223F304 _0222C4C4: .word 0x0223F3B4 arm_func_start MOD13_0222C4C8 MOD13_0222C4C8: ; 0x0222C4C8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 ldr r0, _0222C6EC ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_DivS32 ldr r1, _0222C6EC ; =0x022430F0 mov r4, r0 ldrh r0, [r1] mov r1, #0x1d bl FX_ModS32 ldr r1, _0222C6F0 ; =0x022430F4 rsb ip, r0, #0x34 ldr r1, [r1] ldr r0, [r1, #0x34] cmp r0, #0 beq _0222C54C cmp r4, #0 moveq r0, #0x26 streq r0, [sp] movne r0, #0x100 strne r0, [sp] ldr r5, [r1, #0x34] ldr r1, _0222C6F4 ; =0xFE00FF00 ldr r2, [r5] ldr r3, [sp] ldr r0, _0222C6F8 ; =0x000001FF and r2, r2, r1 and r1, ip, #0xff and r3, r3, r0 orr r0, r2, r1 orr r0, r0, r3, lsl #16 str r0, [r5] _0222C54C: mov r3, ip mov r2, #0 ldr r7, _0222C6F0 ; =0x022430F4 ldr lr, _0222C6FC ; =0x01FF0000 ldr r5, _0222C6F8 ; =0x000001FF ldr r6, _0222C6F4 ; =0xFE00FF00 _0222C564: ldr r0, [r7] and r8, r3, #0xff add r1, r0, r2, lsl #2 ldr r0, [r1, #0x18] add r2, r2, #1 ldr sb, [r0] cmp r2, #5 and sl, sb, lr mov sb, sl, lsr #0x10 str sb, [sp] ldr sb, [r0] and r0, r5, sl, lsr #16 and sb, sb, #0xff str sb, [sp, #4] ldr r1, [r1, #0x18] add r3, r3, #0x1d ldr sb, [r1] and sb, sb, r6 orr r8, sb, r8 orr r0, r8, r0, lsl #16 str r0, [r1] blt _0222C564 cmp r4, #2 bgt _0222C624 ldr r6, [r7] ldr r0, _0222C6FC ; =0x01FF0000 ldr r5, [r6, #0x2c] rsb r2, r4, #2 ldr r3, [r5] mov r1, #0x1d and r0, r3, r0 mov r3, r0, lsr #0x10 str r3, [sp] ldr r5, [r5] mla r3, r2, r1, ip and r1, r5, #0xff str r1, [sp, #4] ldr r6, [r6, #0x2c] ldr r1, _0222C6F8 ; =0x000001FF ldr r5, [r6] ldr r2, _0222C6F4 ; =0xFE00FF00 and r3, r3, #0xff and r2, r5, r2 and r1, r1, r0, lsr #16 orr r0, r2, r3 orr r0, r0, r1, lsl #16 str r0, [r6] b _0222C640 _0222C624: ldr r1, [r7] ldr r0, _0222C6F4 ; =0xFE00FF00 ldr r2, [r1, #0x2c] ldr r1, [r2] and r0, r1, r0 orr r0, r0, #0x1000000 str r0, [r2] _0222C640: cmp r4, #2 blt _0222C6B4 cmp r4, #6 bgt _0222C6B4 ldr r0, _0222C6F0 ; =0x022430F4 ldr r1, _0222C6FC ; =0x01FF0000 ldr r0, [r0] rsb r3, r4, #6 ldr r6, [r0, #0x30] mov r2, #0x1d ldr r4, [r6] mla r2, r3, r2, ip and r5, r4, r1 mov r1, r5, lsr #0x10 str r1, [sp] ldr r3, [r6] ldr r1, _0222C6F4 ; =0xFE00FF00 and r3, r3, #0xff str r3, [sp, #4] ldr r4, [r0, #0x30] ldr r0, _0222C6F8 ; =0x000001FF ldr r3, [r4] and r2, r2, #0xff and r1, r3, r1 and r3, r0, r5, lsr #16 orr r0, r1, r2 orr r0, r0, r3, lsl #16 str r0, [r4] b _0222C6D4 _0222C6B4: ldr r1, _0222C6F0 ; =0x022430F4 ldr r0, _0222C6F4 ; =0xFE00FF00 ldr r1, [r1] ldr r2, [r1, #0x30] ldr r1, [r2] and r0, r1, r0 orr r0, r0, #0x1000000 str r0, [r2] _0222C6D4: ldr r0, _0222C6F0 ; =0x022430F4 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x44] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0222C6EC: .word 0x022430F0 _0222C6F0: .word 0x022430F4 _0222C6F4: .word 0xFE00FF00 _0222C6F8: .word 0x000001FF _0222C6FC: .word 0x01FF0000 arm_func_start MOD13_0222C700 MOD13_0222C700: ; 0x0222C700 stmdb sp!, {r4, lr} sub sp, sp, #0x30 mov ip, r0 ldrb r2, [ip, #1] mov r4, r1 add r0, sp, #0xc str r2, [sp] ldrb r3, [ip, #2] ldr r2, _0222C780 ; =0x02240278 mov r1, #0x10 str r3, [sp, #4] ldrb r3, [ip, #3] str r3, [sp, #8] ldrb r3, [ip] bl swprintf mov r2, #7 mov r0, #0x1d mul r1, r4, r0 str r2, [sp] add r0, sp, #0xc str r0, [sp, #4] mov r2, #1 str r2, [sp, #8] ldr r0, _0222C784 ; =0x022430F4 add r2, r1, #8 ldr r0, [r0] mov r1, #0x5f ldr r0, [r0, #0x14] mov r3, #2 bl MOD13_0223A528 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 _0222C780: .word 0x02240278 _0222C784: .word 0x022430F4 arm_func_start MOD13_0222C788 MOD13_0222C788: ; 0x0222C788 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x30 mov r6, r0 mov r4, r1 add r0, sp, #0xc mov r1, #0 mov r2, #0x22 bl MI_CpuFill8 mov r0, r6 mov r1, #0x20 bl MOD13_0223BDA4 mov r5, r0 cmp r5, #0x10 movle lr, r5 movgt lr, #0x10 cmp lr, #0 mov ip, #0 ble _0222C7FC ldr r2, _0222C8DC ; =0x0000E01D add r1, sp, #0xc _0222C7D8: ldrb r3, [r6, ip] cmp r3, #0x20 moveq r0, ip, lsl #1 streqh r2, [r1, r0] movne r0, ip, lsl #1 add ip, ip, #1 strneh r3, [r1, r0] cmp ip, lr blt _0222C7D8 _0222C7FC: mov r0, #0x1d mul r0, r4, r0 mov r1, #8 add r4, r0, #2 str r1, [sp] add r0, sp, #0xc str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, _0222C8E0 ; =0x022430F4 cmp r5, #0x10 ldr r0, [r0] addle r4, r4, #5 ldr r0, [r0, #0x14] mov r2, r4 mov r1, #0x48 mov r3, #2 bl MOD13_0223A528 cmp r5, #0x10 addle sp, sp, #0x30 ldmleia sp!, {r4, r5, r6, pc} add r0, sp, #0xc mov r1, #0 mov r2, #0x22 bl MI_CpuFill8 sub ip, r5, #0x10 cmp ip, #0 mov r5, #0 ble _0222C8A0 ldr r2, _0222C8DC ; =0x0000E01D add r1, sp, #0xc _0222C878: add r0, r5, #0x10 ldrb r3, [r6, r0] cmp r3, #0x20 moveq r0, r5, lsl #1 streqh r2, [r1, r0] movne r0, r5, lsl #1 add r5, r5, #1 strneh r3, [r1, r0] cmp r5, ip blt _0222C878 _0222C8A0: mov r1, #8 str r1, [sp] add r0, sp, #0xc str r0, [sp, #4] mov r1, #1 str r1, [sp, #8] ldr r0, _0222C8E0 ; =0x022430F4 add r2, r4, #0xc ldr r0, [r0] mov r1, #0x48 ldr r0, [r0, #0x14] mov r3, #2 bl MOD13_0223A528 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0222C8DC: .word 0x0000E01D _0222C8E0: .word 0x022430F4 arm_func_start MOD13_0222C8E4 MOD13_0222C8E4: ; 0x0222C8E4 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x10 ldr r5, _0222C9EC ; =0x0223F2FC ldr r4, _0222C9F0 ; =0x0223F30C ldr r3, _0222C9F4 ; =0x0223F304 ldrh ip, [r4] ldrh r4, [r3] ldr r3, _0222C9F8 ; =0x022430F4 ldrh lr, [r5] ldr r3, [r3] mov r6, r0 add r3, r3, #0x18 sub r0, r6, #1 mov r5, r1 strh lr, [sp] strh ip, [sp, #2] strh ip, [sp, #4] strh r4, [sp, #6] strh r4, [sp, #8] cmp r0, #1 add r4, r3, r2, lsl #2 bhi _0222C960 mov r0, r2 bl MOD13_0222C1D0 cmp r0, #2 ldreq r0, _0222C9F8 ; =0x022430F4 ldreq r0, [r0] addeq r4, r0, #0x2c ldrne r0, _0222C9F8 ; =0x022430F4 ldrne r0, [r0] addne r4, r0, #0x30 _0222C960: ldr r1, _0222C9FC ; =0x0223F348 mov r0, #3 mla r0, r6, r0, r1 ldrb r1, [r5, r0] cmp r1, #0 beq _0222C9CC ldr r2, [r4] mov r0, #0 bl MOD13_02239E8C ldr r5, [r4] add r0, sp, #0 mov r1, r6, lsl #1 ldrh r3, [r0, r1] ldr r0, _0222CA00 ; =0x000001FF ldr r2, [r5] ldr r1, _0222CA04 ; =0xFE00FF00 and r3, r3, r0 and r0, r2, r1 orr r0, r0, r3, lsl #16 str r0, [r5] ldr r1, [r4] add sp, sp, #0x10 ldrh r0, [r1, #4] bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] ldmia sp!, {r4, r5, r6, pc} _0222C9CC: ldr r2, [r4] ldr r0, _0222CA04 ; =0xFE00FF00 ldr r1, [r2] and r0, r1, r0 orr r0, r0, #0x1000000 str r0, [r2] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0222C9EC: .word 0x0223F2FC _0222C9F0: .word 0x0223F30C _0222C9F4: .word 0x0223F304 _0222C9F8: .word 0x022430F4 _0222C9FC: .word 0x0223F348 _0222CA00: .word 0x000001FF _0222CA04: .word 0xFE00FF00 arm_func_start MOD13_0222CA08 MOD13_0222CA08: ; 0x0222CA08 stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_02234164 cmp r4, #0xa mov r1, #1 addls pc, pc, r4, lsl #2 b _0222CA94 _0222CA24: ; jump table b _0222CA60 ; case 0 b _0222CA60 ; case 1 b _0222CA94 ; case 2 b _0222CA94 ; case 3 b _0222CA78 ; case 4 b _0222CA78 ; case 5 b _0222CA78 ; case 6 b _0222CA50 ; case 7 b _0222CA94 ; case 8 b _0222CA88 ; case 9 b _0222CA88 ; case 10 _0222CA50: ldrb r0, [r0, #0xf5] cmp r0, #0 moveq r1, #0 b _0222CA94 _0222CA60: ldrb r0, [r0, #0xe7] add r0, r0, #0xff and r0, r0, #0xff cmp r0, #1 movls r1, #0 b _0222CA94 _0222CA78: ldrb r0, [r0, #0xf5] cmp r0, #0 movne r1, #0 b _0222CA94 _0222CA88: ldrb r0, [r0, #0xf6] cmp r0, #0 movne r1, #0 _0222CA94: mov r0, r1 ldmia sp!, {r4, pc} arm_func_start MOD13_0222CA9C MOD13_0222CA9C: ; 0x0222CA9C stmdb sp!, {r4, r5, r6, lr} mov r4, r0 mov r6, r1 bl MOD13_02234164 cmp r4, #8 addls pc, pc, r4, lsl #2 b _0222CBD0 _0222CAB8: ; jump table b _0222CADC ; case 0 b _0222CADC ; case 1 b _0222CAF8 ; case 2 b _0222CB44 ; case 3 b _0222CB44 ; case 4 b _0222CB44 ; case 5 b _0222CB5C ; case 6 b _0222CBB8 ; case 7 b _0222CBB8 ; case 8 _0222CADC: mov r5, #0 mov r0, r5 mov r4, r5 bl MOD13_0222CA08 cmp r0, #0 moveq r4, #2 b _0222CBD8 _0222CAF8: ldr r2, _0222CBEC ; =0x022430F4 ldrb r0, [r0, #0xf5] ldr r3, [r2] mov r1, #0 ldrb r2, [r3, #4] cmp r0, #0 movne r5, #1 movne r0, #4 moveq r5, #2 moveq r0, #3 cmp r2, #0 mov r4, r1 ldrb r2, [r3, #5] movne r4, #1 cmp r2, #0 movne r1, #1 mov r2, r6 bl MOD13_0222C8E4 b _0222CBD8 _0222CB44: ldrb r0, [r0, #0xf5] mov r5, #0 cmp r0, #0 movne r4, #2 moveq r4, r5 b _0222CBD8 _0222CB5C: ldrb r2, [r0, #0xf6] mov r1, #0 mov r4, r1 cmp r2, #0 movne r5, #1 movne r0, #4 bne _0222CB8C ldrb r0, [r0, #0xf5] mov r5, #2 cmp r0, #0 moveq r4, #2 mov r0, #3 _0222CB8C: ldr r2, _0222CBEC ; =0x022430F4 ldr r3, [r2] ldrb r2, [r3, #6] cmp r2, #0 ldrb r2, [r3, #7] movne r4, #1 cmp r2, #0 movne r1, #1 mov r2, r6 bl MOD13_0222C8E4 b _0222CBD8 _0222CBB8: ldrb r0, [r0, #0xf6] mov r5, #0 cmp r0, #0 movne r4, #2 moveq r4, r5 b _0222CBD8 _0222CBD0: mov r5, #0 mov r4, #2 _0222CBD8: mov r0, r5 mov r1, r4 mov r2, r6 bl MOD13_0222C8E4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0222CBEC: .word 0x022430F4 arm_func_start MOD13_0222CBF0 MOD13_0222CBF0: ; 0x0222CBF0 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x28 mov r6, r0 mov r5, r1 bl MOD13_02234164 cmp r6, #8 addls pc, pc, r6, lsl #2 b _0222CD84 _0222CC10: ; jump table b _0222CC34 ; case 0 b _0222CC48 ; case 1 b _0222CD84 ; case 2 b _0222CCD8 ; case 3 b _0222CCFC ; case 4 b _0222CD20 ; case 5 b _0222CD84 ; case 6 b _0222CD44 ; case 7 b _0222CD68 ; case 8 _0222CC34: mov r1, r5 add r0, r0, #0x40 bl MOD13_0222C788 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} _0222CC48: ldrb r1, [r0, #0xe6] mov r1, r1, lsl #0x1e mov r1, r1, lsr #0x1e cmp r1, #3 addls pc, pc, r1, lsl #2 b _0222CC8C _0222CC60: ; jump table b _0222CC70 ; case 0 b _0222CC78 ; case 1 b _0222CC80 ; case 2 b _0222CC88 ; case 3 _0222CC70: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} _0222CC78: mov r4, #0xa b _0222CC8C _0222CC80: mov r4, #0x1a b _0222CC8C _0222CC88: mov r4, #0x20 _0222CC8C: ldrb r0, [r0, #0xe6] mov r1, #0 mov r2, #0x21 mov r0, r0, lsl #0x18 mov r0, r0, lsr #0x1a cmp r0, #1 addeq r0, r4, r4, lsr #31 moveq r4, r0, asr #1 add r0, sp, #0 bl MI_CpuFill8 add r0, sp, #0 mov r2, r4 mov r1, #0x2a bl Call_FillMemWithValue add r0, sp, #0 mov r1, r5 bl MOD13_0222C788 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} _0222CCD8: ldrb r1, [r0, #0xf5] cmp r1, #0 addne sp, sp, #0x28 ldmneia sp!, {r4, r5, r6, pc} mov r1, r5 add r0, r0, #0xc0 bl MOD13_0222C700 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} _0222CCFC: ldrb r1, [r0, #0xf5] cmp r1, #0 addne sp, sp, #0x28 ldmneia sp!, {r4, r5, r6, pc} mov r1, r5 add r0, r0, #0xf0 bl MOD13_0222C700 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} _0222CD20: ldrb r1, [r0, #0xf5] cmp r1, #0 addne sp, sp, #0x28 ldmneia sp!, {r4, r5, r6, pc} mov r1, r5 add r0, r0, #0xc4 bl MOD13_0222C700 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} _0222CD44: ldrb r1, [r0, #0xf6] cmp r1, #0 addne sp, sp, #0x28 ldmneia sp!, {r4, r5, r6, pc} mov r1, r5 add r0, r0, #0xc8 bl MOD13_0222C700 add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} _0222CD68: ldrb r1, [r0, #0xf6] cmp r1, #0 addne sp, sp, #0x28 ldmneia sp!, {r4, r5, r6, pc} mov r1, r5 add r0, r0, #0xcc bl MOD13_0222C700 _0222CD84: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} arm_func_start MOD13_0222CD8C MOD13_0222CD8C: ; 0x0222CD8C stmdb sp!, {r4, r5, r6, lr} ldr r0, _0222CE44 ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_DivS32 ldr r1, _0222CE48 ; =0x022430F4 mov r4, r0 ldr r0, [r1] mov r1, #0 ldr r0, [r0, #0x14] bl MOD13_0223A4D8 mov r6, r4 mov r5, #0 _0222CDC0: mov r0, r6 mov r1, r5 bl MOD13_0222CBF0 add r5, r5, #1 cmp r5, #5 add r6, r6, #1 blt _0222CDC0 ldr r0, _0222CE48 ; =0x022430F4 ldr r1, _0222CE4C ; =0x0223F358 mov r2, r4, lsl #1 ldr r3, [r0] ldrh r0, [r1, r2] ldr r2, [r3, #8] mov r1, #0 add r0, r2, r0, lsl #1 mov r2, #0x1e mov r3, #0x13 bl MOD13_02232878 mov r5, #0 _0222CE0C: mov r0, r4 mov r1, r5 bl MOD13_0222CA9C add r5, r5, #1 cmp r5, #5 add r4, r4, #1 blt _0222CE0C bl MOD13_022328D0 ldr r0, _0222CE48 ; =0x022430F4 ldr r0, [r0] ldr r0, [r0, #0x14] bl MOD13_0223A410 bl MOD13_0222C4C8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0222CE44: .word 0x022430F0 _0222CE48: .word 0x022430F4 _0222CE4C: .word 0x0223F358 arm_func_start MOD13_0222CE50 MOD13_0222CE50: ; 0x0222CE50 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} ldr r1, _0222D130 ; =0x022430F4 mov r0, #0 ldr r1, [r1] ldr r1, [r1] bl MOD13_0223C104 ldr r1, _0222D130 ; =0x022430F4 mov r0, #1 ldr r1, [r1] ldr r1, [r1, #0x3c] bl MOD13_0223C104 mov r5, #0 ldr r4, _0222D130 ; =0x022430F4 _0222CEB0: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x18] bl MOD13_0223B974 add r5, r5, #1 cmp r5, #7 blt _0222CEB0 ldr r0, _0222D130 ; =0x022430F4 ldr r0, [r0] ldr r0, [r0, #0x34] cmp r0, #0 beq _0222CEE4 bl MOD13_0223B974 _0222CEE4: bl MOD13_02232F78 mov r0, #0 bl MOD13_0223A65C bl MOD13_0221F21C ldr r0, _0222D130 ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x40] cmp r0, #0xc beq _0222CF0C bl MOD13_0221EE54 _0222CF0C: bl MOD13_022328E8 ldr r0, _0222D130 ; =0x022430F4 ldr r0, [r0] ldr r0, [r0, #8] bl MOD13_0223939C mov r5, #0 ldr r4, _0222D130 ; =0x022430F4 _0222CF28: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0xc] bl MOD13_0223939C add r5, r5, #1 cmp r5, #2 blt _0222CF28 ldr r0, _0222D134 ; =0x02240298 ldr r1, _0222D138 ; =0x020C9480 bl MOD13_0221F174 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x1d bl MOD13_0223AE98 ldr r2, _0222D13C ; =0x04000010 mov r1, #0 ldr r0, _0222D140 ; =0x04000018 str r1, [r2] str r1, [r0] ldr r3, _0222D144 ; =0x0400000C ldr r0, _0222D130 ; =0x022430F4 ldrh r2, [r3] and r2, r2, #0x43 orr r2, r2, #0xe10 strh r2, [r3] ldr r0, [r0] ldrb r0, [r0, #0x40] cmp r0, #0xd addls pc, pc, r0, lsl #2 b _0222D120 _0222CFA8: ; jump table b _0222CFE0 ; case 0 b _0222CFE0 ; case 1 b _0222D120 ; case 2 b _0222D120 ; case 3 b _0222CFFC ; case 4 b _0222CFFC ; case 5 b _0222CFFC ; case 6 b _0222D120 ; case 7 b _0222D120 ; case 8 b _0222CFFC ; case 9 b _0222CFFC ; case 10 b _0222D02C ; case 11 b _0222D0C4 ; case 12 b _0222D0D8 ; case 13 _0222CFE0: bl MOD13_02222F6C mov r0, #2 mov r1, #0 bl MOD13_02222FA8 ldr r0, _0222D148 ; =MOD13_0222A190 bl MOD13_02222FBC b _0222D120 _0222CFFC: sub r4, r0, #4 cmp r0, #9 subhs r4, r4, #2 mov r0, #2 mov r1, #0 bl MOD13_02222FA8 mov r0, r4 mov r1, #0 bl MOD13_02222F6C ldr r0, _0222D14C ; =MOD13_0222AF48 bl MOD13_02222FBC b _0222D120 _0222D02C: bl MOD13_02234164 mov r4, r0 add r0, r4, #0xf0 bl FUN_02095BE0 strb r0, [r4, #0xd0] ldrb r0, [r4, #0xf5] cmp r0, #0 beq _0222D084 add r0, r4, #0xc0 mov r1, #0 mov r2, #4 bl MI_CpuFill8 add r0, r4, #0xc4 mov r1, #0 mov r2, #4 bl MI_CpuFill8 add r0, r4, #0xf0 mov r1, #0 mov r2, #4 bl MI_CpuFill8 mov r0, #0 strb r0, [r4, #0xd0] _0222D084: ldrb r0, [r4, #0xf6] cmp r0, #0 beq _0222D0A0 add r0, r4, #0xc8 mov r1, #0 mov r2, #8 bl MI_CpuFill8 _0222D0A0: mov r0, #2 mov r1, #0 bl MOD13_02222FA8 mov r0, #0 mov r1, r0 bl MOD13_02222F6C ldr r0, _0222D150 ; =MOD13_022313C8 bl MOD13_02222FBC b _0222D120 _0222D0C4: mov r0, r1 bl MOD13_02222FA8 ldr r0, _0222D154 ; =MOD13_0222E1B0 bl MOD13_02222FBC b _0222D120 _0222D0D8: ldr r0, _0222D158 ; =0x022430E8 ldrb r0, [r0] cmp r0, #0 bne _0222D100 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222D15C ; =MOD13_02230714 bl MOD13_02222FBC b _0222D120 _0222D100: bl MOD13_02234164 ldrb r0, [r0, #0xf4] bl MOD13_02233C24 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222D160 ; =MOD13_02230EC4 bl MOD13_02222FBC _0222D120: ldr r0, _0222D130 ; =0x022430F4 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0222D130: .word 0x022430F4 _0222D134: .word 0x02240298 _0222D138: .word 0x020C9480 _0222D13C: .word 0x04000010 _0222D140: .word 0x04000018 _0222D144: .word 0x0400000C _0222D148: .word MOD13_0222A190 _0222D14C: .word MOD13_0222AF48 _0222D150: .word MOD13_022313C8 _0222D154: .word MOD13_0222E1B0 _0222D158: .word 0x022430E8 _0222D15C: .word MOD13_02230714 _0222D160: .word MOD13_02230EC4 arm_func_start MOD13_0222D164 MOD13_0222D164: ; 0x0222D164 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x1d mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222D1B8 ; =MOD13_0222CE50 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222D1B8: .word MOD13_0222CE50 arm_func_start MOD13_0222D1BC MOD13_0222D1BC: ; 0x0222D1BC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02232F14 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222D1E0 ; =MOD13_0222D164 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222D1E0: .word MOD13_0222D164 arm_func_start MOD13_0222D1E4 MOD13_0222D1E4: ; 0x0222D1E4 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222D484 ; =0x022430F4 ldr r1, [r0] ldr r0, [r1, #0x38] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldrb r0, [r1, #0x41] cmp r0, #0 subne r0, r0, #1 strneb r0, [r1, #0x41] bl MOD13_02232F50 cmp r0, #7 addls pc, pc, r0, lsl #2 b _0222D47C _0222D224: ; jump table b _0222D47C ; case 0 b _0222D244 ; case 1 b _0222D25C ; case 2 b _0222D2BC ; case 3 b _0222D37C ; case 4 b _0222D46C ; case 5 b _0222D3F4 ; case 6 b _0222D46C ; case 7 _0222D244: ldr r0, _0222D484 ; =0x022430F4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x45] ldmia sp!, {pc} _0222D25C: ldr r0, _0222D484 ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x41] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221F21C bl MOD13_02232F64 mov r1, #0x91 mul r1, r0, r1 ldr r2, _0222D488 ; =0x094F2095 mov r0, r1, lsr #0x1f smull r1, r3, r2, r1 mov r3, r3, asr #1 ldr r1, _0222D48C ; =0x022430F0 add r3, r0, r3 strh r3, [r1] bl MOD13_0222CD8C ldr r0, _0222D484 ; =0x022430F4 mov r1, #4 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x41] ldmia sp!, {pc} _0222D2BC: ldr r0, _0222D484 ; =0x022430F4 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x45] bl MOD13_02232F64 mov r1, #0x91 mul r1, r0, r1 ldr r2, _0222D488 ; =0x094F2095 mov r0, r1, lsr #0x1f smull r1, r3, r2, r1 mov r3, r3, asr #1 ldr r1, _0222D48C ; =0x022430F0 add r3, r0, r3 mov r0, #0x13 strh r3, [r1] bl MOD13_0223424C bl MOD13_0222CD8C ldr r0, _0222D48C ; =0x022430F0 mov r1, #0x1d ldrh r0, [r0] bl FX_ModS32 cmp r0, #0 bne _0222D324 bl MOD13_0222BDF4 add sp, sp, #4 ldmia sp!, {pc} _0222D324: cmp r0, #0x10 bge _0222D354 mov r0, #0 ldr r1, _0222D490 ; =MOD13_0222C0E8 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222D484 ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _0222D354: mov r0, #0 ldr r1, _0222D494 ; =MOD13_0222C03C mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222D484 ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _0222D37C: ldr r0, _0222D48C ; =0x022430F0 ldrh r0, [r0] cmp r0, #0 bne _0222D3C4 ldr r0, _0222D484 ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x46] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _0222D484 ; =0x022430F4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x46] ldmia sp!, {pc} _0222D3C4: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _0222D490 ; =MOD13_0222C0E8 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222D484 ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _0222D3F4: ldr r0, _0222D48C ; =0x022430F0 ldrh r0, [r0] cmp r0, #0x91 bne _0222D43C ldr r0, _0222D484 ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x46] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _0222D484 ; =0x022430F4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x46] ldmia sp!, {pc} _0222D43C: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _0222D494 ; =MOD13_0222C03C mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222D484 ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _0222D46C: ldr r0, _0222D484 ; =0x022430F4 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x46] _0222D47C: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222D484: .word 0x022430F4 _0222D488: .word 0x094F2095 _0222D48C: .word 0x022430F0 _0222D490: .word MOD13_0222C0E8 _0222D494: .word MOD13_0222C03C arm_func_start MOD13_0222D498 MOD13_0222D498: ; 0x0222D498 stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_02234164 ldrb r0, [r0, #0xf6] cmp r0, r4 ldmeqia sp!, {r4, pc} ldr r1, _0222D4CC ; =0x022430F4 mov r0, r4 ldr r1, [r1] strb r4, [r1, #0x43] bl MOD13_0223413C bl MOD13_0222CD8C ldmia sp!, {r4, pc} .align 2, 0 _0222D4CC: .word 0x022430F4 arm_func_start MOD13_0222D4D0 MOD13_0222D4D0: ; 0x0222D4D0 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r4, r0 bl MOD13_02234164 ldrb r1, [r0, #0xf5] cmp r1, r4 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} cmp r4, #0 beq _0222D514 ldr r0, _0222D544 ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x43] cmp r0, #0 movne r5, #1 moveq r5, #0 b _0222D528 _0222D514: ldr r1, _0222D544 ; =0x022430F4 ldrb r2, [r0, #0xf6] ldr r0, [r1] mov r5, #0 strb r2, [r0, #0x43] _0222D528: mov r0, r4 bl MOD13_02234150 mov r0, r5 bl MOD13_0223413C bl MOD13_0222CD8C add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0222D544: .word 0x022430F4 arm_func_start MOD13_0222D548 MOD13_0222D548: ; 0x0222D548 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 bl MOD13_0222CA08 cmp r0, #0 bne _0222D570 mov r0, #9 bl MOD13_0223424C add sp, sp, #8 ldmia sp!, {r4, pc} _0222D570: cmp r4, #8 addls pc, pc, r4, lsl #2 b _0222D5E8 _0222D57C: ; jump table b _0222D5E8 ; case 0 b _0222D5E8 ; case 1 b _0222D5A0 ; case 2 b _0222D5A0 ; case 3 b _0222D5E8 ; case 4 b _0222D5E8 ; case 5 b _0222D5E8 ; case 6 b _0222D5C4 ; case 7 b _0222D5C4 ; case 8 _0222D5A0: mov r0, #6 bl MOD13_0223424C sub r0, r4, #2 eors r0, r0, #1 movne r0, #1 moveq r0, #0 bl MOD13_0222D4D0 add sp, sp, #8 ldmia sp!, {r4, pc} _0222D5C4: mov r0, #6 bl MOD13_0223424C sub r0, r4, #7 eors r0, r0, #1 movne r0, #1 moveq r0, #0 bl MOD13_0222D498 add sp, sp, #8 ldmia sp!, {r4, pc} _0222D5E8: ldr r0, _0222D6B8 ; =0x022430F4 sub r1, r4, #0xb ldr r0, [r0] cmp r1, #1 strb r4, [r0, #0x40] bhi _0222D664 bl MOD13_0222BA38 bl MOD13_0222B87C cmp r0, #0 bne _0222D644 mov r0, #9 bl MOD13_0223424C mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #6 mvn r3, #0 str ip, [sp] bl MOD13_02235EFC ldr r0, _0222D6BC ; =MOD13_0222B830 bl MOD13_02222FBC add sp, sp, #8 ldmia sp!, {r4, pc} _0222D644: cmp r4, #0xb bne _0222D658 mov r0, #6 bl MOD13_0223424C b _0222D6A4 _0222D658: mov r0, #0xe bl MOD13_0223424C b _0222D6A4 _0222D664: cmp r4, #0xd bne _0222D67C bl MOD13_0222BA38 mov r0, #7 bl MOD13_0223424C b _0222D6A4 _0222D67C: mov r0, #6 bl MOD13_0223424C ldr r0, _0222D6C0 ; =0x0223F32C ldrb r0, [r0, r4] bl MOD13_0222C1F4 mov r2, r0 mov r0, #0 mov r1, #1 bl MOD13_0222C8E4 bl MOD13_0222C4C8 _0222D6A4: bl MOD13_02232F14 ldr r0, _0222D6C4 ; =MOD13_0222D1BC bl MOD13_02222FBC add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0222D6B8: .word 0x022430F4 _0222D6BC: .word MOD13_0222B830 _0222D6C0: .word 0x0223F32C _0222D6C4: .word MOD13_0222D1BC arm_func_start MOD13_0222D6C8 MOD13_0222D6C8: ; 0x0222D6C8 stmdb sp!, {r4, lr} bl MOD13_02234164 bl MOD13_0222C238 mov r4, r0 cmp r4, #0xe moveq r0, #0 ldmeqia sp!, {r4, pc} bl MOD13_0222CA08 cmp r0, #0 bne _0222D700 mov r0, #9 bl MOD13_0223424C mov r0, #1 ldmia sp!, {r4, pc} _0222D700: mov r0, r4 bl MOD13_0222BDB8 cmp r4, #8 addls pc, pc, r4, lsl #2 b _0222D73C _0222D714: ; jump table b _0222D73C ; case 0 b _0222D73C ; case 1 b _0222D738 ; case 2 b _0222D738 ; case 3 b _0222D73C ; case 4 b _0222D73C ; case 5 b _0222D73C ; case 6 b _0222D738 ; case 7 b _0222D738 ; case 8 _0222D738: bl MOD13_0222B91C _0222D73C: mov r0, r4 bl MOD13_0222D548 mov r0, #1 ldmia sp!, {r4, pc} arm_func_start MOD13_0222D74C MOD13_0222D74C: ; 0x0222D74C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222DA0C ; =0x022430F4 ldr r1, [r0] ldr r0, [r1, #0x38] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldrb r0, [r1, #0x45] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0222D6C8 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _0222D7B0 ldr r0, _0222DA10 ; =0x022430E4 ldrb r0, [r0] bl MOD13_0222D548 add sp, sp, #4 ldmia sp!, {pc} _0222D7B0: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _0222D7E8 mov r0, #7 bl MOD13_0223424C ldr r1, _0222DA0C ; =0x022430F4 ldr r0, _0222DA14 ; =MOD13_0222D1BC ldr r1, [r1] mov r2, #0xd strb r2, [r1, #0x40] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222D7E8: mov r0, #0x200 bl MOD13_0223B3B0 cmp r0, #0 beq _0222D870 ldr r0, _0222DA18 ; =0x022430F0 ldrh r0, [r0] cmp r0, #0x91 bne _0222D840 ldr r0, _0222DA0C ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x47] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _0222DA0C ; =0x022430F4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x47] ldmia sp!, {pc} _0222D840: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _0222DA1C ; =MOD13_0222C03C mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222DA0C ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _0222D870: mov r0, #0x200 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _0222DA0C ; =0x022430F4 movne r1, #0 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0x47] ldmneia sp!, {pc} mov r0, #0x100 bl MOD13_0223B3B0 cmp r0, #0 beq _0222D91C ldr r0, _0222DA18 ; =0x022430F0 ldrh r0, [r0] cmp r0, #0 bne _0222D8EC ldr r0, _0222DA0C ; =0x022430F4 ldr r0, [r0] ldrb r0, [r0, #0x47] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_0223424C ldr r0, _0222DA0C ; =0x022430F4 mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x47] ldmia sp!, {pc} _0222D8EC: mov r0, #0x13 bl MOD13_0223424C mov r0, #0 ldr r1, _0222DA20 ; =MOD13_0222C0E8 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0222DA0C ; =0x022430F4 add sp, sp, #4 ldr r1, [r1] str r0, [r1, #0x38] ldmia sp!, {pc} _0222D91C: mov r0, #0x100 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _0222DA0C ; =0x022430F4 movne r1, #0 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0x47] ldmneia sp!, {pc} mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _0222D960 mov r0, #1 bl MOD13_0222BA74 add sp, sp, #4 ldmia sp!, {pc} _0222D960: mov r0, #0x40 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _0222DA0C ; =0x022430F4 movne r1, #0 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0x47] ldmneia sp!, {pc} mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 beq _0222D9A4 mov r0, #3 bl MOD13_0222BA74 add sp, sp, #4 ldmia sp!, {pc} _0222D9A4: mov r0, #0x80 bl MOD13_0223B38C cmp r0, #0 ldrne r0, _0222DA0C ; =0x022430F4 movne r1, #0 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0x47] ldmneia sp!, {pc} mov r0, #0x20 bl MOD13_0223B3B0 cmp r0, #0 beq _0222D9E8 mov r0, #0 bl MOD13_0222BA74 add sp, sp, #4 ldmia sp!, {pc} _0222D9E8: mov r0, #0x10 bl MOD13_0223B3B0 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #2 bl MOD13_0222BA74 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222DA0C: .word 0x022430F4 _0222DA10: .word 0x022430E4 _0222DA14: .word MOD13_0222D1BC _0222DA18: .word 0x022430F0 _0222DA1C: .word MOD13_0222C03C _0222DA20: .word MOD13_0222C0E8 arm_func_start MOD13_0222DA24 MOD13_0222DA24: ; 0x0222DA24 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222D74C bl MOD13_0222D1E4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222DA7C ; =MOD13_0222DA24 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222DA7C: .word MOD13_0222DA24 arm_func_start MOD13_0222DA80 MOD13_0222DA80: ; 0x0222DA80 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x1d mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x1d bl MOD13_0223AEF4 ldr r0, _0222DAD8 ; =0x0222DA3C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222DAD8: .word 0x0222DA3C arm_func_start MOD13_0222DADC MOD13_0222DADC: ; 0x0222DADC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02234164 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r2, _0222DB28 ; =0x022430F0 mov r3, #0 ldr r1, _0222DB2C ; =0x022430E4 ldr r0, _0222DB30 ; =0x022430EC strh r3, [r2] strb r3, [r1] strb r3, [r0] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222DB28: .word 0x022430F0 _0222DB2C: .word 0x022430E4 _0222DB30: .word 0x022430EC arm_func_start MOD13_0222DB34 MOD13_0222DB34: ; 0x0222DB34 stmdb sp!, {lr} sub sp, sp, #0x44 ldr r3, _0222DCFC ; =0x0223F39C add ip, sp, #0 mov r2, #0xb _0222DB48: ldrb r1, [r3], #1 ldrb r0, [r3], #1 subs r2, r2, #1 strb r1, [ip], #1 strb r0, [ip], #1 bne _0222DB48 ldrb r0, [r3] ldr r3, _0222DD00 ; =0x0223F36C add lr, sp, #0x17 strb r0, [ip] mov r2, #0xa _0222DB74: ldrb r1, [r3], #1 ldrb r0, [r3], #1 subs r2, r2, #1 strb r1, [lr], #1 strb r0, [lr], #1 bne _0222DB74 ldrb r0, [r3] ldr ip, _0222DD04 ; =0x0223F384 add r3, sp, #0x2c strb r0, [lr] mov r2, #0xb _0222DBA0: ldrb r1, [ip], #1 ldrb r0, [ip], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _0222DBA0 ldr ip, _0222DD08 ; =0x0400000C ldr r2, _0222DD0C ; =0x00000E18 ldrh r3, [ip] ldr r0, _0222DD10 ; =0x022402B0 ldr r1, _0222DD14 ; =0x020C9480 and r3, r3, #0x43 orr r2, r3, r2 strh r2, [ip] bl MOD13_0221F174 ldr r0, _0222DD18 ; =0x022402C4 ldr r1, _0222DD1C ; =0x020C8C7C bl MOD13_0221F174 ldr r0, _0222DD20 ; =0x022402DC ldr r1, _0222DD24 ; =0x020C8D4C bl MOD13_0221F174 ldr r1, _0222DD28 ; =0x020C9550 add r0, sp, #0x17 bl MOD13_0221F174 ldr r0, _0222DD2C ; =0x022402F4 ldr r1, _0222DD30 ; =0x020C8FBC bl MOD13_0221F174 add r0, sp, #0 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _0222DD34 ; =0x022430F4 ldr r2, [r1] str r0, [r2, #8] ldr r0, [r1] ldr r0, [r0, #8] bl MOD13_02232918 bl MOD13_022328D0 add r0, sp, #0x17 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _0222DD34 ; =0x022430F4 ldr r1, [r1] str r0, [r1, #0xc] add r0, sp, #0x2c bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _0222DD34 ; =0x022430F4 ldr r2, _0222DD38 ; =0x04001008 ldr r3, [r1] ldr r1, _0222DD3C ; =0x0400100A str r0, [r3, #0x10] ldrh r0, [r2] ldr ip, _0222DD40 ; =0x04000008 ldr r3, _0222DD44 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] ldr r2, _0222DD08 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222DD48 ; =0x0400000E bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #2 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #2 strh r0, [r1] add sp, sp, #0x44 ldmia sp!, {pc} .align 2, 0 _0222DCFC: .word 0x0223F39C _0222DD00: .word 0x0223F36C _0222DD04: .word 0x0223F384 _0222DD08: .word 0x0400000C _0222DD0C: .word 0x00000E18 _0222DD10: .word 0x022402B0 _0222DD14: .word 0x020C9480 _0222DD18: .word 0x022402C4 _0222DD1C: .word 0x020C8C7C _0222DD20: .word 0x022402DC _0222DD24: .word 0x020C8D4C _0222DD28: .word 0x020C9550 _0222DD2C: .word 0x022402F4 _0222DD30: .word 0x020C8FBC _0222DD34: .word 0x022430F4 _0222DD38: .word 0x04001008 _0222DD3C: .word 0x0400100A _0222DD40: .word 0x04000008 _0222DD44: .word 0x0400000A _0222DD48: .word 0x0400000E arm_func_start MOD13_0222DD4C MOD13_0222DD4C: ; 0x0222DD4C stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 bl MOD13_02234164 mov r5, r0 mov r0, #0x48 mov r1, #4 bl MOD13_0223AFE0 ldr r1, _0222DF38 ; =0x022430F4 mov r2, #0xc str r0, [r1] ldrb r3, [r5, #0xf6] strb r3, [r0, #0x43] ldr r0, [r1] strb r2, [r0, #0x42] bl MOD13_0222DADC bl MOD13_0222DB34 ldr r0, _0222DF3C ; =0x022430E8 ldrb r0, [r0] cmp r0, #0 bne _0222DDBC bl MOD13_02222F34 ldr r1, _0222DF40 ; =0x0223F2F4 ldrb r2, [r5, #0xf4] ldrsb r1, [r1, r0] mov r0, #0x30 add r2, r2, #1 bl MOD13_0221EE98 b _0222DDCC _0222DDBC: mov r0, #0x45 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 _0222DDCC: mov r0, #1 bl MOD13_0221F124 bl MOD13_0221F48C ldr r0, _0222DF44 ; =0x022430F0 mov r1, #0x37 ldrh r3, [r0] ldr r2, _0222DF48 ; =0xE1FC780F mov r0, #2 mul r4, r3, r1 smull r1, r3, r2, r4 add r3, r4, r3 mov r3, r3, asr #7 mov r1, r4, lsr #0x1f add r3, r1, r3 str r3, [sp] mov r1, #0x55 mov r2, #0xf1 mov r3, #0x41 bl MOD13_02232FB8 mov r0, #0 mov r1, #1 bl MOD13_0223A7F0 ldr r6, _0222DF38 ; =0x022430F4 mov r4, #0 ldr r2, [r6] ldr r1, _0222DF4C ; =0x0223F348 str r0, [r2, #0x14] ldrb r8, [r1, #1] mov r7, r4 _0222DE40: mov r0, r7 mov r1, r8 bl MOD13_02239E54 ldr r1, [r6] add r1, r1, r4, lsl #2 add r4, r4, #1 str r0, [r1, #0x18] cmp r4, #7 blt _0222DE40 ldrb r0, [r5, #0xe7] cmp r0, #1 beq _0222DE7C cmp r0, #2 beq _0222DEB0 b _0222DEE0 _0222DE7C: mov r0, #0 mov r1, #0x50 bl MOD13_02239E54 ldr r1, _0222DF38 ; =0x022430F4 ldr r2, [r1] str r0, [r2, #0x34] ldr r0, [r1] ldr r1, [r0, #0x34] ldrh r0, [r1, #4] bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] b _0222DEE0 _0222DEB0: mov r0, #0 mov r1, #0x51 bl MOD13_02239E54 ldr r1, _0222DF38 ; =0x022430F4 ldr r2, [r1] str r0, [r2, #0x34] ldr r0, [r1] ldr r1, [r0, #0x34] ldrh r0, [r1, #4] bic r0, r0, #0xc00 orr r0, r0, #0xc00 strh r0, [r1, #4] _0222DEE0: ldr r1, _0222DF50 ; =MOD13_0222BFA8 mov r0, #1 mov r2, #0 mov r3, #0x6e bl MOD13_0223C1C4 ldr r2, _0222DF38 ; =0x022430F4 ldr r1, _0222DF54 ; =MOD13_0222B9DC ldr r2, [r2] mov r3, #0x78 str r0, [r2, #0x3c] mov r0, #0 mov r2, r0 bl MOD13_0223C1C4 ldr r1, _0222DF38 ; =0x022430F4 ldr r1, [r1] str r0, [r1] bl MOD13_0222CD8C bl MOD13_0222BEC0 ldr r0, _0222DF58 ; =MOD13_0222DA80 bl MOD13_02222FBC add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0222DF38: .word 0x022430F4 _0222DF3C: .word 0x022430E8 _0222DF40: .word 0x0223F2F4 _0222DF44: .word 0x022430F0 _0222DF48: .word 0xE1FC780F _0222DF4C: .word 0x0223F348 _0222DF50: .word MOD13_0222BFA8 _0222DF54: .word MOD13_0222B9DC _0222DF58: .word MOD13_0222DA80 arm_func_start MOD13_0222DF5C MOD13_0222DF5C: ; 0x0222DF5C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x14 bl MOD13_0223AE98 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222DFC4 ; =MOD13_02230714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222DFC4: .word MOD13_02230714 arm_func_start MOD13_0222DFC8 MOD13_0222DFC8: ; 0x0222DFC8 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222E008 ; =MOD13_0222DF5C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E008: .word MOD13_0222DF5C arm_func_start MOD13_0222E00C MOD13_0222E00C: ; 0x0222E00C bx lr arm_func_start MOD13_0222E010 MOD13_0222E010: ; 0x0222E010 bx lr arm_func_start MOD13_0222E014 MOD13_0222E014: ; 0x0222E014 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222E010 bl MOD13_0222E00C bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222E044 ; =MOD13_0222DFC8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E044: .word MOD13_0222DFC8 arm_func_start MOD13_0222E048 MOD13_0222E048: ; 0x0222E048 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov ip, #0 mov r0, #0x44 mov r1, #5 mov r2, #1 mvn r3, #0 str ip, [sp] bl MOD13_02235EFC ldr r0, _0222E0A4 ; =MOD13_0222E014 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E0A4: .word MOD13_0222E014 arm_func_start MOD13_0222E0A8 MOD13_0222E0A8: ; 0x0222E0A8 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x14 bl MOD13_0223AEF4 ldr r0, _0222E100 ; =MOD13_0222E048 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E100: .word MOD13_0222E048 arm_func_start MOD13_0222E104 MOD13_0222E104: ; 0x0222E104 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222E188 ; =0x02240308 ldr r1, _0222E18C ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _0222E190 ; =0x02240320 ldr r1, _0222E194 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _0222E198 ; =0x02240338 ldr r1, _0222E19C ; =0x020C908C bl MOD13_0221F174 ldr ip, _0222E1A0 ; =0x04001008 ldr r3, _0222E1A4 ; =0x0400100A ldrh r0, [ip] ldr r2, _0222E1A8 ; =0x0400000A ldr r1, _0222E1AC ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E188: .word 0x02240308 _0222E18C: .word 0x020C8D4C _0222E190: .word 0x02240320 _0222E194: .word 0x020C9550 _0222E198: .word 0x02240338 _0222E19C: .word 0x020C908C _0222E1A0: .word 0x04001008 _0222E1A4: .word 0x0400100A _0222E1A8: .word 0x0400000A _0222E1AC: .word 0x0400000C arm_func_start MOD13_0222E1B0 MOD13_0222E1B0: ; 0x0222E1B0 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222E104 bl MOD13_0221F4AC bl MOD13_02233B3C ldr r0, _0222E1D4 ; =MOD13_0222E0A8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E1D4: .word MOD13_0222E0A8 arm_func_start MOD13_0222E1D8 MOD13_0222E1D8: ; 0x0222E1D8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222E200 ; =MOD13_0222E430 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E200: .word MOD13_0222E430 arm_func_start MOD13_0222E204 MOD13_0222E204: ; 0x0222E204 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _0222E238 ; =MOD13_0222E1D8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E238: .word MOD13_0222E1D8 arm_func_start MOD13_0222E23C MOD13_0222E23C: ; 0x0222E23C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02223B24 cmp r0, #2 beq _0222E260 cmp r0, #4 beq _0222E27C add sp, sp, #4 ldmia sp!, {pc} _0222E260: ldr r1, _0222E2C4 ; =0x022430F8 mov r2, #1 ldr r0, _0222E2C8 ; =MOD13_0222E430 strb r2, [r1] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222E27C: ldr r0, _0222E2C4 ; =0x022430F8 mov r1, #0 strb r1, [r0] bl MOD13_022341E8 mov r0, #9 bl MOD13_0223424C mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0xd mvn r3, #0 str ip, [sp] bl MOD13_02235EFC bl MOD13_0221EC84 ldr r0, _0222E2CC ; =MOD13_0222E204 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E2C4: .word 0x022430F8 _0222E2C8: .word MOD13_0222E430 _0222E2CC: .word MOD13_0222E204 arm_func_start MOD13_0222E2D0 MOD13_0222E2D0: ; 0x0222E2D0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222E3A4 ; =0x022430F8 ldrb r0, [r0] cmp r0, #0 bne _0222E310 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _0222E310: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C ldr r0, _0222E3A4 ; =0x022430F8 ldrb r0, [r0] cmp r0, #0 bne _0222E34C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _0222E34C: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _0222E3A4 ; =0x022430F8 ldrb r0, [r0] cmp r0, #0 bne _0222E388 bl MOD13_02223BE0 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222E3A8 ; =MOD13_02230EC4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222E388: mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _0222E3AC ; =MOD13_0222EB58 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E3A4: .word 0x022430F8 _0222E3A8: .word MOD13_02230EC4 _0222E3AC: .word MOD13_0222EB58 arm_func_start MOD13_0222E3B0 MOD13_0222E3B0: ; 0x0222E3B0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222E428 ; =0x022430F8 ldrb r0, [r0] cmp r0, #0 bne _0222E3E0 bl MOD13_0221ED28 _0222E3E0: ldr r0, _0222E428 ; =0x022430F8 ldrb r0, [r0] cmp r0, #0 bne _0222E404 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _0222E404: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222E42C ; =MOD13_0222E2D0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E428: .word 0x022430F8 _0222E42C: .word MOD13_0222E2D0 arm_func_start MOD13_0222E430 MOD13_0222E430: ; 0x0222E430 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222E454 ; =MOD13_0222E3B0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E454: .word MOD13_0222E3B0 arm_func_start MOD13_0222E458 MOD13_0222E458: ; 0x0222E458 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_022341E8 mov r0, #7 bl MOD13_0223424C ldr r0, _0222E48C ; =MOD13_0222E430 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E48C: .word MOD13_0222E430 arm_func_start MOD13_0222E490 MOD13_0222E490: ; 0x0222E490 bx lr arm_func_start MOD13_0222E494 MOD13_0222E494: ; 0x0222E494 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _0222E4BC mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} _0222E4BC: bl MOD13_0222E68C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0xa bl OS_Sleep bl MOD13_0222E23C bl MOD13_0222E494 bl MOD13_0222E490 bl MOD13_0222E458 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222E534 ; =0x0222E4DC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E534: .word 0x0222E4DC arm_func_start MOD13_0222E538 MOD13_0222E538: ; 0x0222E538 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #1 bl MOD13_0221F0EC ldr r0, _0222E56C ; =0x0222E504 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E56C: .word 0x0222E504 arm_func_start MOD13_0222E570 MOD13_0222E570: ; 0x0222E570 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222E5A8 ; =MOD13_0222E538 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E5A8: .word MOD13_0222E538 arm_func_start MOD13_0222E5AC MOD13_0222E5AC: ; 0x0222E5AC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222E62C ; =0x0224034C ldr r1, _0222E630 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222E634 ; =0x04001008 ldr ip, _0222E638 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222E63C ; =0x04000008 ldr r2, _0222E640 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222E644 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E62C: .word 0x0224034C _0222E630: .word 0x020C908C _0222E634: .word 0x04001008 _0222E638: .word 0x0400100A _0222E63C: .word 0x04000008 _0222E640: .word 0x0400000A _0222E644: .word 0x0400000C arm_func_start MOD13_0222E648 MOD13_0222E648: ; 0x0222E648 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222E684 ; =0x022430F8 mov r1, #0 strb r1, [r0] bl MOD13_0222E5AC bl MOD13_0221F4AC mov r0, #0x25 bl MOD13_0221F070 mov r0, #1 bl MOD13_0221E694 ldr r0, _0222E688 ; =MOD13_0222E570 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E684: .word 0x022430F8 _0222E688: .word MOD13_0222E570 arm_func_start MOD13_0222E68C MOD13_0222E68C: ; 0x0222E68C ldr r0, _0222E6A8 ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _0222E6A8: .word 0x027FFFA8 arm_func_start MOD13_0222E6AC MOD13_0222E6AC: ; 0x0222E6AC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222E6D4 ; =MOD13_0222E940 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E6D4: .word MOD13_0222E940 arm_func_start MOD13_0222E6D8 MOD13_0222E6D8: ; 0x0222E6D8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _0222E70C ; =MOD13_0222E6AC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E70C: .word MOD13_0222E6AC arm_func_start MOD13_0222E710 MOD13_0222E710: ; 0x0222E710 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02223B24 cmp r0, #3 beq _0222E73C cmp r0, #4 beq _0222E760 cmp r0, #5 beq _0222E7A8 add sp, sp, #4 ldmia sp!, {pc} _0222E73C: ldr r0, _0222E7F0 ; =0x022430FC mov r1, #1 strb r1, [r0] bl MOD13_022341E8 bl MOD13_02223AF8 ldr r0, _0222E7F4 ; =MOD13_0222E940 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222E760: ldr r0, _0222E7F0 ; =0x022430FC mov r1, #0 strb r1, [r0] bl MOD13_022341E8 mov r0, #9 bl MOD13_0223424C mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0xd mvn r3, #0 str ip, [sp] bl MOD13_02235EFC bl MOD13_0221EC84 ldr r0, _0222E7F8 ; =MOD13_0222E6D8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222E7A8: ldr r0, _0222E7F0 ; =0x022430FC mov r1, #0 strb r1, [r0] bl MOD13_022341E8 mov r0, #0x12 bl MOD13_0223424C mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0xe mvn r3, #0 str ip, [sp] bl MOD13_02235EFC bl MOD13_0221EC84 ldr r0, _0222E7F8 ; =MOD13_0222E6D8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E7F0: .word 0x022430FC _0222E7F4: .word MOD13_0222E940 _0222E7F8: .word MOD13_0222E6D8 arm_func_start MOD13_0222E7FC MOD13_0222E7FC: ; 0x0222E7FC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222E8C4 ; =0x022430FC ldrb r0, [r0] cmp r0, #0 bne _0222E83C mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _0222E83C: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C ldr r0, _0222E8C4 ; =0x022430FC ldrb r0, [r0] cmp r0, #0 bne _0222E878 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _0222E878: bl MOD13_02223BE0 ldr r0, _0222E8C4 ; =0x022430FC ldrb r0, [r0] cmp r0, #0 bne _0222E8A8 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222E8C8 ; =MOD13_02230EC4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222E8A8: mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _0222E8CC ; =MOD13_0222EDE4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E8C4: .word 0x022430FC _0222E8C8: .word MOD13_02230EC4 _0222E8CC: .word MOD13_0222EDE4 arm_func_start MOD13_0222E8D0 MOD13_0222E8D0: ; 0x0222E8D0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 ldr r0, _0222E938 ; =0x022430FC ldrb r0, [r0] cmp r0, #0 bne _0222E914 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _0222E914: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222E93C ; =MOD13_0222E7FC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E938: .word 0x022430FC _0222E93C: .word MOD13_0222E7FC arm_func_start MOD13_0222E940 MOD13_0222E940: ; 0x0222E940 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222E964 ; =MOD13_0222E8D0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E964: .word MOD13_0222E8D0 arm_func_start MOD13_0222E968 MOD13_0222E968: ; 0x0222E968 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_022341E8 mov r0, #7 bl MOD13_0223424C ldr r0, _0222E99C ; =MOD13_0222E940 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222E99C: .word MOD13_0222E940 arm_func_start MOD13_0222E9A0 MOD13_0222E9A0: ; 0x0222E9A0 bx lr arm_func_start MOD13_0222E9A4 MOD13_0222E9A4: ; 0x0222E9A4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _0222E9CC mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} _0222E9CC: bl MOD13_0222EB9C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0xa bl OS_Sleep bl MOD13_0222E710 bl MOD13_0222E9A4 bl MOD13_0222E9A0 bl MOD13_0222E968 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222EA44 ; =0x0222E9EC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EA44: .word 0x0222E9EC arm_func_start MOD13_0222EA48 MOD13_0222EA48: ; 0x0222EA48 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #1 bl MOD13_0221F0EC ldr r0, _0222EA7C ; =0x0222EA14 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EA7C: .word 0x0222EA14 arm_func_start MOD13_0222EA80 MOD13_0222EA80: ; 0x0222EA80 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222EAB8 ; =MOD13_0222EA48 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EAB8: .word MOD13_0222EA48 arm_func_start MOD13_0222EABC MOD13_0222EABC: ; 0x0222EABC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222EB3C ; =0x02240360 ldr r1, _0222EB40 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222EB44 ; =0x04001008 ldr ip, _0222EB48 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222EB4C ; =0x04000008 ldr r2, _0222EB50 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222EB54 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EB3C: .word 0x02240360 _0222EB40: .word 0x020C908C _0222EB44: .word 0x04001008 _0222EB48: .word 0x0400100A _0222EB4C: .word 0x04000008 _0222EB50: .word 0x0400000A _0222EB54: .word 0x0400000C arm_func_start MOD13_0222EB58 MOD13_0222EB58: ; 0x0222EB58 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222EB94 ; =0x022430FC mov r1, #0 strb r1, [r0] bl MOD13_0222EABC bl MOD13_0221F4AC mov r0, #0x2a bl MOD13_0221F070 mov r0, #2 bl MOD13_0221E694 ldr r0, _0222EB98 ; =MOD13_0222EA80 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EB94: .word 0x022430FC _0222EB98: .word MOD13_0222EA80 arm_func_start MOD13_0222EB9C MOD13_0222EB9C: ; 0x0222EB9C ldr r0, _0222EBB8 ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _0222EBB8: .word 0x027FFFA8 arm_func_start MOD13_0222EBBC MOD13_0222EBBC: ; 0x0222EBBC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222EBF4 ; =0x02243100 ldrb r1, [r0] add r1, r1, #1 strb r1, [r0] ldrb r0, [r0] cmp r0, #0x78 addlo sp, sp, #4 ldmloia sp!, {pc} ldr r0, _0222EBF8 ; =MOD13_0222EC7C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EBF4: .word 0x02243100 _0222EBF8: .word MOD13_0222EC7C arm_func_start MOD13_0222EBFC MOD13_0222EBFC: ; 0x0222EBFC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #0 mov r1, r0 bl MOD13_02222FA8 mov r0, #0 mov r1, #1 bl MOD13_02222F6C ldr r0, _0222EC78 ; =MOD13_0223197C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EC78: .word MOD13_0223197C arm_func_start MOD13_0222EC7C MOD13_0222EC7C: ; 0x0222EC7C stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222ECBC ; =MOD13_0222EBFC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222ECBC: .word MOD13_0222EBFC arm_func_start MOD13_0222ECC0 MOD13_0222ECC0: ; 0x0222ECC0 bx lr arm_func_start MOD13_0222ECC4 MOD13_0222ECC4: ; 0x0222ECC4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222EBBC bl MOD13_0222ECC0 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222ED08 ; =MOD13_0222ECC4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222ED08: .word MOD13_0222ECC4 arm_func_start MOD13_0222ED0C MOD13_0222ED0C: ; 0x0222ED0C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222ED44 ; =0x0222ECDC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222ED44: .word 0x0222ECDC arm_func_start MOD13_0222ED48 MOD13_0222ED48: ; 0x0222ED48 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222EDC8 ; =0x02240374 ldr r1, _0222EDCC ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222EDD0 ; =0x04001008 ldr ip, _0222EDD4 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222EDD8 ; =0x04000008 ldr r2, _0222EDDC ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222EDE0 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EDC8: .word 0x02240374 _0222EDCC: .word 0x020C908C _0222EDD0: .word 0x04001008 _0222EDD4: .word 0x0400100A _0222EDD8: .word 0x04000008 _0222EDDC: .word 0x0400000A _0222EDE0: .word 0x0400000C arm_func_start MOD13_0222EDE4 MOD13_0222EDE4: ; 0x0222EDE4 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222EE20 ; =0x02243100 mov r1, #0 strb r1, [r0] bl MOD13_0222ED48 bl MOD13_0221F4AC mov r0, #0x26 bl MOD13_0221F070 mov r0, #0x10 bl MOD13_0223424C ldr r0, _0222EE24 ; =MOD13_0222ED0C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EE20: .word 0x02243100 _0222EE24: .word MOD13_0222ED0C arm_func_start MOD13_0222EE28 MOD13_0222EE28: ; 0x0222EE28 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222EE50 ; =MOD13_0222F080 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EE50: .word MOD13_0222F080 arm_func_start MOD13_0222EE54 MOD13_0222EE54: ; 0x0222EE54 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _0222EE88 ; =MOD13_0222EE28 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EE88: .word MOD13_0222EE28 arm_func_start MOD13_0222EE8C MOD13_0222EE8C: ; 0x0222EE8C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02223B24 cmp r0, #1 beq _0222EEB0 cmp r0, #4 beq _0222EECC add sp, sp, #4 ldmia sp!, {pc} _0222EEB0: ldr r1, _0222EF14 ; =0x02243104 mov r2, #1 ldr r0, _0222EF18 ; =MOD13_0222F080 strb r2, [r1] bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222EECC: ldr r0, _0222EF14 ; =0x02243104 mov r1, #0 strb r1, [r0] bl MOD13_022341E8 mov r0, #9 bl MOD13_0223424C mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0xd mvn r3, #0 str ip, [sp] bl MOD13_02235EFC bl MOD13_0221EC84 ldr r0, _0222EF1C ; =MOD13_0222EE54 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EF14: .word 0x02243104 _0222EF18: .word MOD13_0222F080 _0222EF1C: .word MOD13_0222EE54 arm_func_start MOD13_0222EF20 MOD13_0222EF20: ; 0x0222EF20 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222EFF4 ; =0x02243104 ldrb r0, [r0] cmp r0, #0 bne _0222EF60 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _0222EF60: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C ldr r0, _0222EFF4 ; =0x02243104 ldrb r0, [r0] cmp r0, #0 bne _0222EF9C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _0222EF9C: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _0222EFF4 ; =0x02243104 ldrb r0, [r0] cmp r0, #0 bne _0222EFD8 bl MOD13_02223BE0 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222EFF8 ; =MOD13_02230EC4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222EFD8: mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _0222EFFC ; =MOD13_0222E648 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222EFF4: .word 0x02243104 _0222EFF8: .word MOD13_02230EC4 _0222EFFC: .word MOD13_0222E648 arm_func_start MOD13_0222F000 MOD13_0222F000: ; 0x0222F000 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222F078 ; =0x02243104 ldrb r0, [r0] cmp r0, #0 bne _0222F030 bl MOD13_0221ED28 _0222F030: ldr r0, _0222F078 ; =0x02243104 ldrb r0, [r0] cmp r0, #0 bne _0222F054 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _0222F054: mov r0, #3 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222F07C ; =MOD13_0222EF20 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F078: .word 0x02243104 _0222F07C: .word MOD13_0222EF20 arm_func_start MOD13_0222F080 MOD13_0222F080: ; 0x0222F080 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222F0A4 ; =MOD13_0222F000 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F0A4: .word MOD13_0222F000 arm_func_start MOD13_0222F0A8 MOD13_0222F0A8: ; 0x0222F0A8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_022341E8 mov r0, #7 bl MOD13_0223424C ldr r0, _0222F0DC ; =MOD13_0222F080 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F0DC: .word MOD13_0222F080 arm_func_start MOD13_0222F0E0 MOD13_0222F0E0: ; 0x0222F0E0 bx lr arm_func_start MOD13_0222F0E4 MOD13_0222F0E4: ; 0x0222F0E4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _0222F10C mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} _0222F10C: bl MOD13_0222F35C cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0xa bl OS_Sleep bl MOD13_0222EE8C bl MOD13_0222F0E4 bl MOD13_0222F0E0 bl MOD13_0222F0A8 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222F184 ; =0x0222F12C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F184: .word 0x0222F12C arm_func_start MOD13_0222F188 MOD13_0222F188: ; 0x0222F188 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02223C0C mov r0, #1 bl MOD13_0221F0EC ldr r0, _0222F1D4 ; =0x0222F154 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F1D4: .word 0x0222F154 arm_func_start MOD13_0222F1D8 MOD13_0222F1D8: ; 0x0222F1D8 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222F230 ; =MOD13_0222F188 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F230: .word MOD13_0222F188 arm_func_start MOD13_0222F234 MOD13_0222F234: ; 0x0222F234 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222F2CC ; =0x02240388 ldr r1, _0222F2D0 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _0222F2D4 ; =0x022403A0 ldr r1, _0222F2D8 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _0222F2DC ; =0x022403B8 ldr r1, _0222F2E0 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222F2E4 ; =0x04001008 ldr ip, _0222F2E8 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222F2EC ; =0x04000008 ldr r2, _0222F2F0 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222F2F4 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F2CC: .word 0x02240388 _0222F2D0: .word 0x020C8D4C _0222F2D4: .word 0x022403A0 _0222F2D8: .word 0x020C9550 _0222F2DC: .word 0x022403B8 _0222F2E0: .word 0x020C908C _0222F2E4: .word 0x04001008 _0222F2E8: .word 0x0400100A _0222F2EC: .word 0x04000008 _0222F2F0: .word 0x0400000A _0222F2F4: .word 0x0400000C arm_func_start MOD13_0222F2F8 MOD13_0222F2F8: ; 0x0222F2F8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222F354 ; =0x02243104 mov r1, #0 strb r1, [r0] bl MOD13_0222F234 bl MOD13_0221F4AC mov r0, #0x37 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #2 bl MOD13_0221F124 mov r0, #0x24 bl MOD13_0221F070 mov r0, #0 bl MOD13_0221E694 mov r0, #0xb bl MOD13_0223424C ldr r0, _0222F358 ; =MOD13_0222F1D8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F354: .word 0x02243104 _0222F358: .word MOD13_0222F1D8 arm_func_start MOD13_0222F35C MOD13_0222F35C: ; 0x0222F35C ldr r0, _0222F378 ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _0222F378: .word 0x027FFFA8 arm_func_start MOD13_0222F37C MOD13_0222F37C: ; 0x0222F37C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0222F3A4 ; =MOD13_0222F520 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F3A4: .word MOD13_0222F520 arm_func_start MOD13_0222F3A8 MOD13_0222F3A8: ; 0x0222F3A8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _0222F3DC ; =MOD13_0222F37C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F3DC: .word MOD13_0222F37C arm_func_start MOD13_0222F3E0 MOD13_0222F3E0: ; 0x0222F3E0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} _0222F420: bl MOD13_0223339C cmp r0, #0 beq _0222F420 bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _0222F4B8 ; =0x02243108 ldrb r0, [r0] cmp r0, #1 beq _0222F490 bl MOD13_02233570 bl MOD13_02234164 ldrb r0, [r0, #0xf4] bl MOD13_02233C24 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _0222F4BC ; =MOD13_02230EC4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0222F490: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 mov r0, #0 mov r1, r0 bl MOD13_02222F6C ldr r0, _0222F4C0 ; =MOD13_022295D8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F4B8: .word 0x02243108 _0222F4BC: .word MOD13_02230EC4 _0222F4C0: .word MOD13_022295D8 arm_func_start MOD13_0222F4C4 MOD13_0222F4C4: ; 0x0222F4C4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _0222F51C ; =MOD13_0222F3E0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F51C: .word MOD13_0222F3E0 arm_func_start MOD13_0222F520 MOD13_0222F520: ; 0x0222F520 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _0222F544 ; =MOD13_0222F4C4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F544: .word MOD13_0222F4C4 arm_func_start MOD13_0222F548 MOD13_0222F548: ; 0x0222F548 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_022341E8 mov r0, #7 bl MOD13_0223424C ldr r0, _0222F57C ; =MOD13_0222F520 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F57C: .word MOD13_0222F520 arm_func_start MOD13_0222F580 MOD13_0222F580: ; 0x0222F580 bx lr arm_func_start MOD13_0222F584 MOD13_0222F584: ; 0x0222F584 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_022341E8 mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0222F5B4 MOD13_0222F5B4: ; 0x0222F5B4 stmdb sp!, {lr} sub sp, sp, #0xc ldr r0, _0222F6D0 ; =0x0224310C ldrh r1, [r0] add r1, r1, #1 strh r1, [r0] ldrh r0, [r0] cmp r0, #0x12c addlo sp, sp, #0xc ldmloia sp!, {pc} bl MOD13_022341E8 add r0, sp, #4 bl MOD13_0223333C cmp r0, #0 bne _0222F634 ldr r0, _0222F6D4 ; =0x02243108 mov r3, #2 strb r3, [r0] mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0xf mvn r3, #0 str ip, [sp] bl MOD13_02235EFC mov r0, #0x12 bl MOD13_0223424C bl MOD13_0221EC84 ldr r0, _0222F6D8 ; =MOD13_0222F3A8 bl MOD13_02222FBC add sp, sp, #0xc ldmia sp!, {pc} _0222F634: cmp r0, #0 mov r3, #0 ble _0222F660 ldr r2, [sp, #4] _0222F644: ldrb r1, [r2, #0x28] cmp r1, #2 bne _0222F660 add r3, r3, #1 cmp r3, r0 add r2, r2, #0x2a blt _0222F644 _0222F660: cmp r3, r0 bne _0222F6AC ldr r0, _0222F6D4 ; =0x02243108 mov r3, #3 strb r3, [r0] mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0xe mvn r3, #0 str ip, [sp] bl MOD13_02235EFC mov r0, #0x12 bl MOD13_0223424C bl MOD13_0221EC84 ldr r0, _0222F6D8 ; =MOD13_0222F3A8 bl MOD13_02222FBC add sp, sp, #0xc ldmia sp!, {pc} _0222F6AC: ldr r1, _0222F6D4 ; =0x02243108 mov r2, #1 mov r0, #0xf strb r2, [r1] bl MOD13_0223424C ldr r0, _0222F6DC ; =MOD13_0222F520 bl MOD13_02222FBC add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _0222F6D0: .word 0x0224310C _0222F6D4: .word 0x02243108 _0222F6D8: .word MOD13_0222F3A8 _0222F6DC: .word MOD13_0222F520 arm_func_start MOD13_0222F6E0 MOD13_0222F6E0: ; 0x0222F6E0 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0222F584 bl MOD13_0222F580 bl MOD13_0222F548 bl MOD13_0222F5B4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222F730 ; =MOD13_0222F6E0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F730: .word MOD13_0222F6E0 arm_func_start MOD13_0222F734 MOD13_0222F734: ; 0x0222F734 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #1 bl MOD13_0221F0EC ldr r0, _0222F77C ; =0x0222F700 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F77C: .word 0x0222F700 arm_func_start MOD13_0222F780 MOD13_0222F780: ; 0x0222F780 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0222F7D8 ; =MOD13_0222F734 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F7D8: .word MOD13_0222F734 arm_func_start MOD13_0222F7DC MOD13_0222F7DC: ; 0x0222F7DC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222F874 ; =0x022403CC ldr r1, _0222F878 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _0222F87C ; =0x022403E4 ldr r1, _0222F880 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _0222F884 ; =0x022403FC ldr r1, _0222F888 ; =0x020C908C bl MOD13_0221F174 ldr r1, _0222F88C ; =0x04001008 ldr ip, _0222F890 ; =0x0400100A ldrh r0, [r1] ldr r3, _0222F894 ; =0x04000008 ldr r2, _0222F898 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _0222F89C ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F874: .word 0x022403CC _0222F878: .word 0x020C8D4C _0222F87C: .word 0x022403E4 _0222F880: .word 0x020C9550 _0222F884: .word 0x022403FC _0222F888: .word 0x020C908C _0222F88C: .word 0x04001008 _0222F890: .word 0x0400100A _0222F894: .word 0x04000008 _0222F898: .word 0x0400000A _0222F89C: .word 0x0400000C arm_func_start MOD13_0222F8A0 MOD13_0222F8A0: ; 0x0222F8A0 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _0222F90C ; =0x0224310C mov r2, #0 ldr r0, _0222F910 ; =0x02243108 strh r2, [r1] strb r2, [r0] bl MOD13_0222F7DC mov r0, #0x33 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 bl MOD13_0221F4AC mov r0, #2 bl MOD13_0221F124 mov r0, #0x33 bl MOD13_0221F070 mov r0, #0 bl MOD13_0221E694 bl MOD13_022335AC bl MOD13_0223348C mov r0, #0xa bl MOD13_0223424C ldr r0, _0222F914 ; =MOD13_0222F780 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222F90C: .word 0x0224310C _0222F910: .word 0x02243108 _0222F914: .word MOD13_0222F780 arm_func_start MOD13_0222F918 MOD13_0222F918: ; 0x0222F918 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xc ldr r2, _0222F9EC ; =0x0223F400 ldr r1, _0222F9F0 ; =0x0223F404 ldrb r7, [r2] ldrb r6, [r2, #1] ldrb r5, [r2, #2] ldrb r4, [r2, #3] ldrb lr, [r1] ldrb ip, [r1, #1] ldrb r3, [r1, #2] ldrb r2, [r1, #3] ldr r0, _0222F9F4 ; =0x02243110 strb r7, [sp] ldrb r1, [r0] strb r2, [sp, #7] strb r6, [sp, #1] strb r5, [sp, #2] strb r4, [sp, #3] strb lr, [sp, #4] strb ip, [sp, #5] strb r3, [sp, #6] cmp r1, #3 add r2, sp, #0 addhi sp, sp, #0xc ldmhiia sp!, {r4, r5, r6, r7, pc} ldr r0, _0222F9F8 ; =0x02243114 ldrb r1, [r2, r1] ldr r0, [r0] ldr r0, [r0] mov r2, r1 bl MOD13_022327DC ldr r0, _0222F9F4 ; =0x02243110 ldrb r0, [r0] cmp r0, #3 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, pc} bl MOD13_02233D0C ldr r1, _0222F9F4 ; =0x02243110 ldr r2, _0222F9F8 ; =0x02243114 ldrb r3, [r1] ldr r2, [r2] cmp r0, #2 movgt r0, #3 add r1, sp, #4 add r2, r2, r3, lsl #2 ldrb r3, [r1, r0] ldr r0, [r2, #4] mvn r1, #0 mov r2, #0 bl MOD13_02239994 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0222F9EC: .word 0x0223F400 _0222F9F0: .word 0x0223F404 _0222F9F4: .word 0x02243110 _0222F9F8: .word 0x02243114 arm_func_start MOD13_0222F9FC MOD13_0222F9FC: ; 0x0222F9FC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221EC9C ldr r0, _0222FA28 ; =MOD13_022303D8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222FA28: .word MOD13_022303D8 arm_func_start MOD13_0222FA2C MOD13_0222FA2C: ; 0x0222FA2C stmdb sp!, {r4, lr} ldr r0, _0222FB8C ; =0x02243110 ldrb r0, [r0] sub r4, r0, #4 bl MOD13_02235E9C cmp r0, #0 beq _0222FB00 cmp r0, #1 ldmneia sp!, {r4, pc} mov r0, #0xe bl MOD13_0223424C mov r0, r4 bl MOD13_022338B8 ldr r0, _0222FB90 ; =0x02243114 mov r1, #0 ldr r0, [r0] add r0, r0, r4, lsl #2 ldr r0, [r0, #4] bl MOD13_02239ADC ldr r1, _0222FB94 ; =0x0223F3FC mov r2, r0 ldrb r1, [r1, #3] mov r0, #0 bl MOD13_02239E8C ldr r0, _0222FB90 ; =0x02243114 mov ip, r4, lsl #2 ldr r0, [r0] mvn r1, #0 add r0, r0, r4, lsl #2 ldr r0, [r0, #4] ldr r2, _0222FB98 ; =0x0223F428 ldr r3, _0222FB9C ; =0x0223F42A ldrh r2, [r2, ip] ldrh r3, [r3, ip] bl MOD13_02239888 ldr r0, _0222FB90 ; =0x02243114 mvn r1, #0 ldr r0, [r0] mov r2, #3 add r0, r0, r4, lsl #2 ldr r0, [r0, #4] bl MOD13_02239814 ldr r0, _0222FB90 ; =0x02243114 ldr r0, [r0] add r0, r0, r4, lsl #2 ldr r0, [r0, #0x10] bl MOD13_02239AE8 mov r1, #0 ldr r0, _0222FB90 ; =0x02243114 ldr r0, [r0] add r0, r0, r4, lsl #2 str r1, [r0, #0x10] b _0222FB7C _0222FB00: mov r0, #7 bl MOD13_0223424C ldr r0, _0222FB90 ; =0x02243114 mov r1, #0 ldr r0, [r0] add r0, r0, r4, lsl #2 ldr r0, [r0, #0x10] bl MOD13_02239ADC mov r2, r0 mov r0, #0 mov r1, #0x11 bl MOD13_02239E8C ldr r0, _0222FB90 ; =0x02243114 add r1, r4, #3 ldr r0, [r0] mov ip, r1, lsl #2 ldr r2, _0222FB98 ; =0x0223F428 ldr r3, _0222FB9C ; =0x0223F42A add r0, r0, r4, lsl #2 ldrh r2, [r2, ip] ldrh r3, [r3, ip] ldr r0, [r0, #0x10] mvn r1, #0 bl MOD13_02239888 ldr r0, _0222FB90 ; =0x02243114 mvn r1, #0 ldr r0, [r0] mov r2, #3 add r0, r0, r4, lsl #2 ldr r0, [r0, #0x10] bl MOD13_02239814 _0222FB7C: bl MOD13_02235EB0 ldr r0, _0222FBA0 ; =MOD13_0222F9FC bl MOD13_02222FBC ldmia sp!, {r4, pc} .align 2, 0 _0222FB8C: .word 0x02243110 _0222FB90: .word 0x02243114 _0222FB94: .word 0x0223F3FC _0222FB98: .word 0x0223F428 _0222FB9C: .word 0x0223F42A _0222FBA0: .word MOD13_0222F9FC arm_func_start MOD13_0222FBA4 MOD13_0222FBA4: ; 0x0222FBA4 stmdb sp!, {r4, lr} ldr r1, _0222FC2C ; =0x02243110 ldr r0, _0222FC30 ; =0x02243114 ldrb r2, [r1] ldr r0, [r0] mov r1, #0 sub r4, r2, #4 add r0, r0, r4, lsl #2 ldr r0, [r0, #0x10] bl MOD13_02239ADC mov r2, r0 mov r0, #0 mov r1, #0x32 bl MOD13_02239E8C ldr r0, _0222FC30 ; =0x02243114 add r3, r4, #3 ldr r2, [r0] ldr r1, _0222FC34 ; =0x0223F428 mov r3, r3, lsl #2 ldr r0, _0222FC38 ; =0x0223F42A add ip, r2, r4, lsl #2 ldrh r2, [r1, r3] ldrh r3, [r0, r3] ldr r0, [ip, #0x10] mvn r1, #0 bl MOD13_02239888 ldr r0, _0222FC30 ; =0x02243114 mvn r1, #0 ldr r0, [r0] mov r2, #3 add r0, r0, r4, lsl #2 ldr r0, [r0, #0x10] bl MOD13_02239814 ldmia sp!, {r4, pc} .align 2, 0 _0222FC2C: .word 0x02243110 _0222FC30: .word 0x02243114 _0222FC34: .word 0x0223F428 _0222FC38: .word 0x0223F42A arm_func_start MOD13_0222FC3C MOD13_0222FC3C: ; 0x0222FC3C stmdb sp!, {lr} sub sp, sp, #4 ldr r3, _0222FE54 ; =0x02243110 mov r1, #1 ldrb r2, [r3] cmp r2, #6 addls pc, pc, r2, lsl #2 b _0222FE34 _0222FC5C: ; jump table b _0222FC78 ; case 0 b _0222FCBC ; case 1 b _0222FD00 ; case 2 b _0222FD44 ; case 3 b _0222FD70 ; case 4 b _0222FDB4 ; case 5 b _0222FDF4 ; case 6 _0222FC78: ldr r2, _0222FE58 ; =0x02243114 cmp r0, #0 ldr r2, [r2] mov ip, #0 strb ip, [r2, #0x1c] moveq r0, #2 streqb r0, [r3] beq _0222FE34 cmp r0, #2 streqb r1, [r3] beq _0222FE34 cmp r0, #1 moveq r0, #3 streqb r0, [r3] movne r0, #4 strneb r0, [r3] b _0222FE34 _0222FCBC: ldr r2, _0222FE58 ; =0x02243114 cmp r0, #0 ldr r2, [r2] moveq r0, #0 strb r1, [r2, #0x1c] streqb r0, [r3] beq _0222FE34 cmp r0, #2 moveq r0, #2 streqb r0, [r3] beq _0222FE34 cmp r0, #1 moveq r0, #3 streqb r0, [r3] movne r0, #5 strneb r0, [r3] b _0222FE34 _0222FD00: ldr r2, _0222FE58 ; =0x02243114 mov ip, #2 ldr r2, [r2] cmp r0, #0 strb ip, [r2, #0x1c] streqb r1, [r3] beq _0222FE34 cmp r0, #2 moveq r0, #0 streqb r0, [r3] beq _0222FE34 cmp r0, #1 moveq r0, #3 streqb r0, [r3] movne r0, #6 strneb r0, [r3] b _0222FE34 _0222FD44: ldr r2, _0222FE58 ; =0x02243114 cmp r0, #1 ldr r2, [r2] ldrb ip, [r2, #0x1c] add r2, ip, #4 streqb r2, [r3] beq _0222FE34 cmp r0, #3 streqb ip, [r3] movne r1, #0 b _0222FE34 _0222FD70: ldr r2, _0222FE58 ; =0x02243114 cmp r0, #0 ldr r2, [r2] mov ip, #0 strb ip, [r2, #0x1c] moveq r0, #6 streqb r0, [r3] beq _0222FE34 cmp r0, #2 moveq r0, #5 streqb r0, [r3] beq _0222FE34 cmp r0, #1 streqb ip, [r3] movne r0, #3 strneb r0, [r3] b _0222FE34 _0222FDB4: ldr r2, _0222FE58 ; =0x02243114 cmp r0, #0 ldr r2, [r2] moveq r0, #4 strb r1, [r2, #0x1c] streqb r0, [r3] beq _0222FE34 cmp r0, #2 moveq r0, #6 streqb r0, [r3] beq _0222FE34 cmp r0, #1 streqb r1, [r3] movne r0, #3 strneb r0, [r3] b _0222FE34 _0222FDF4: ldr r2, _0222FE58 ; =0x02243114 cmp r0, #0 ldr r2, [r2] mov ip, #2 strb ip, [r2, #0x1c] moveq r0, #5 streqb r0, [r3] beq _0222FE34 cmp r0, #2 moveq r0, #4 streqb r0, [r3] beq _0222FE34 cmp r0, #1 streqb ip, [r3] movne r0, #3 strneb r0, [r3] _0222FE34: cmp r1, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #8 bl MOD13_0223424C bl MOD13_0222FE5C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222FE54: .word 0x02243110 _0222FE58: .word 0x02243114 arm_func_start MOD13_0222FE5C MOD13_0222FE5C: ; 0x0222FE5C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0222FED0 ; =0x02243110 ldrb r2, [r0] cmp r2, #4 bhs _0222FEA4 mov ip, r2, lsl #3 ldr r0, _0222FED4 ; =0x0223F478 ldr r1, _0222FED8 ; =0x0223F47C ldr r2, _0222FEDC ; =0x0223F47A ldr r3, _0222FEE0 ; =0x0223F47E ldrh r0, [r0, ip] ldrh r1, [r1, ip] ldrh r2, [r2, ip] ldrh r3, [r3, ip] bl MOD13_0221F25C add sp, sp, #4 ldmia sp!, {pc} _0222FEA4: ldr r1, _0222FED4 ; =0x0223F478 mov r3, r2, lsl #3 ldr r2, _0222FED8 ; =0x0223F47C ldr r0, _0222FEDC ; =0x0223F47A ldrh r1, [r1, r3] ldrh r2, [r2, r3] ldrh r3, [r0, r3] mov r0, #0 bl MOD13_0221F348 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0222FED0: .word 0x02243110 _0222FED4: .word 0x0223F478 _0222FED8: .word 0x0223F47C _0222FEDC: .word 0x0223F47A _0222FEE0: .word 0x0223F47E arm_func_start MOD13_0222FEE4 MOD13_0222FEE4: ; 0x0222FEE4 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} bl MOD13_022343D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} ldr r4, _02230084 ; =0x02243114 mov r5, #0 _0222FF3C: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #4] cmp r0, #0 beq _0222FF54 bl MOD13_02239AE8 _0222FF54: add r5, r5, #1 cmp r5, #3 blo _0222FF3C ldr r4, _02230084 ; =0x02243114 mov r5, #0 _0222FF68: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x10] cmp r0, #0 beq _0222FF80 bl MOD13_02239AE8 _0222FF80: add r5, r5, #1 cmp r5, #3 blo _0222FF68 bl MOD13_0221F21C bl MOD13_0221EE54 ldr r0, _02230084 ; =0x02243114 ldr r0, [r0] ldr r0, [r0] bl MOD13_0223939C ldr r0, _02230088 ; =0x02240410 ldr r1, _0223008C ; =0x020C9480 bl MOD13_0221F174 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x14 bl MOD13_0223AE98 ldr r0, _02230084 ; =0x02243114 ldr r0, [r0] ldrb r0, [r0, #0x1d] cmp r0, #2 bne _0222FFF4 mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _02230090 ; =MOD13_022245B4 bl MOD13_02222FBC b _02230074 _0222FFF4: ldr r0, _02230094 ; =0x02243110 ldrb r0, [r0] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02230074 _02230008: ; jump table b _02230018 ; case 0 b _02230018 ; case 1 b _02230018 ; case 2 b _02230060 ; case 3 _02230018: mov r0, #2 mov r1, #0 bl MOD13_02222FA8 bl MOD13_02234164 ldrb r0, [r0, #0xe7] cmp r0, #0xff bne _02230040 ldr r0, _02230098 ; =MOD13_02230EC4 bl MOD13_02222FBC b _02230074 _02230040: mov r0, #0 mov r1, r0 bl MOD13_02222F6C mov r0, #0 bl MOD13_0222B7F4 ldr r0, _0223009C ; =MOD13_0222DD4C bl MOD13_02222FBC b _02230074 _02230060: mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022300A0 ; =MOD13_0223201C bl MOD13_02222FBC _02230074: ldr r0, _02230084 ; =0x02243114 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02230084: .word 0x02243114 _02230088: .word 0x02240410 _0223008C: .word 0x020C9480 _02230090: .word MOD13_022245B4 _02230094: .word 0x02243110 _02230098: .word MOD13_02230EC4 _0223009C: .word MOD13_0222DD4C _022300A0: .word MOD13_0223201C arm_func_start MOD13_022300A4 MOD13_022300A4: ; 0x022300A4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02230130 ; =0x02243114 ldr r0, [r0] ldrb r0, [r0, #0x1d] cmp r0, #1 bne _022300F8 ldr r0, _02230134 ; =0x02243110 ldrb r0, [r0] cmp r0, #3 beq _022300F4 bl MOD13_02234164 ldrb r0, [r0, #0xe7] cmp r0, #0xff beq _022300F8 _022300F4: bl MOD13_0221ED28 _022300F8: mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02230138 ; =MOD13_0222FEE4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230130: .word 0x02243114 _02230134: .word 0x02243110 _02230138: .word MOD13_0222FEE4 arm_func_start MOD13_0223013C MOD13_0223013C: ; 0x0223013C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02230178 ; =0x02243114 ldr r0, [r0] ldrb r0, [r0, #0x1d] cmp r0, #2 bne _0223015C bl MOD13_02234908 _0223015C: bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _0223017C ; =MOD13_022300A4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230178: .word 0x02243114 _0223017C: .word MOD13_022300A4 arm_func_start MOD13_02230180 MOD13_02230180: ; 0x02230180 stmdb sp!, {r4, lr} sub sp, sp, #8 bl MOD13_0221ED14 cmp r0, #0 beq _022301A4 cmp r0, #1 beq _022301EC add sp, sp, #8 ldmia sp!, {r4, pc} _022301A4: bl MOD13_02222F1C cmp r0, #0 beq _022301BC cmp r0, #1 beq _022301D8 b _02230294 _022301BC: mov r0, #7 bl MOD13_0223424C ldr r0, _022302A4 ; =0x02243114 mov r1, #2 ldr r0, [r0] strb r1, [r0, #0x1d] b _02230294 _022301D8: bl MOD13_0221EC84 ldr r0, _022302A8 ; =MOD13_02223CFC bl MOD13_02222FBC add sp, sp, #8 ldmia sp!, {r4, pc} _022301EC: ldr r0, _022302A4 ; =0x02243114 mov r2, #1 ldr r1, [r0] ldr r0, _022302AC ; =0x02243110 strb r2, [r1, #0x1d] ldrb r0, [r0] cmp r0, #4 blo _0223027C sub r4, r0, #4 mov r0, r4 bl MOD13_02233D0C cmp r0, #0xff bne _02230238 mov r0, #9 bl MOD13_0223424C mvn r0, #0 bl MOD13_0221ECE0 add sp, sp, #8 ldmia sp!, {r4, pc} _02230238: mov r0, #6 bl MOD13_0223424C bl MOD13_02222F34 add r2, r4, #1 str r2, [sp] ldr r1, _022302B0 ; =0x0223F408 mov r2, #1 ldrsb r3, [r1, r0] mov r0, #0x46 mov r1, #0 bl MOD13_02235EFC bl MOD13_0222FBA4 bl MOD13_0221EC84 ldr r0, _022302B4 ; =MOD13_0222FA2C bl MOD13_02222FBC add sp, sp, #8 ldmia sp!, {r4, pc} _0223027C: cmp r0, #2 bhi _02230288 bl MOD13_02233C24 _02230288: mov r0, #6 bl MOD13_0223424C bl MOD13_0222F918 _02230294: ldr r0, _022302B8 ; =MOD13_0223013C bl MOD13_02222FBC add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022302A4: .word 0x02243114 _022302A8: .word MOD13_02223CFC _022302AC: .word 0x02243110 _022302B0: .word 0x0223F408 _022302B4: .word MOD13_0222FA2C _022302B8: .word MOD13_0223013C arm_func_start MOD13_022302BC MOD13_022302BC: ; 0x022302BC bx lr arm_func_start MOD13_022302C0 MOD13_022302C0: ; 0x022302C0 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r4, _022303D0 ; =0x0223F440 mov r5, #0 _022302D0: mov r0, r4 bl MOD13_0223B2B4 cmp r0, #0 beq _022302FC mov r0, #1 bl MOD13_0221ECF4 ldr r0, _022303D4 ; =0x02243110 strb r5, [r0] bl MOD13_0222FE5C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _022302FC: add r5, r5, #1 cmp r5, #7 add r4, r4, #8 blo _022302D0 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _0223032C mov r0, #1 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0223032C: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _0223034C mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0223034C: mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _0223036C mov r0, #1 bl MOD13_0222FC3C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0223036C: mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 beq _0223038C mov r0, #3 bl MOD13_0222FC3C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _0223038C: mov r0, #0x20 bl MOD13_0223B3B0 cmp r0, #0 beq _022303AC mov r0, #0 bl MOD13_0222FC3C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _022303AC: mov r0, #0x10 bl MOD13_0223B3B0 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} mov r0, #2 bl MOD13_0222FC3C add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _022303D0: .word 0x0223F440 _022303D4: .word 0x02243110 arm_func_start MOD13_022303D8 MOD13_022303D8: ; 0x022303D8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022302C0 bl MOD13_022302BC bl MOD13_02230180 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_02234800 cmp r0, #1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02230434 ; =MOD13_022303D8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230434: .word MOD13_022303D8 arm_func_start MOD13_02230438 MOD13_02230438: ; 0x02230438 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0221F0EC ldr r0, _02230480 ; =0x022303F4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230480: .word 0x022303F4 arm_func_start MOD13_02230484 MOD13_02230484: ; 0x02230484 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x14 bl MOD13_0223AEF4 ldr r0, _022304DC ; =MOD13_02230438 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022304DC: .word MOD13_02230438 arm_func_start MOD13_022304E0 MOD13_022304E0: ; 0x022304E0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sb, #0 ldr r4, _022305F0 ; =0x02243114 ldr r5, _022305F4 ; =0x0223F428 str sb, [sp] str sb, [sp, #4] mov fp, #0x11 mov r7, #1 mvn r6, #0 mov r8, #3 _0223050C: mov r0, sb bl MOD13_02233D0C mov sl, r0 cmp sl, #0xff moveq sl, r8 beq _02230580 ldr r0, [sp] mov r1, fp mov r2, r7 bl MOD13_02239E0C ldr r1, [r4] add r3, sb, #3 add r1, r1, sb, lsl #2 str r0, [r1, #0x10] mov r2, r3, lsl #2 ldr r0, [r4] add r3, r5, r3, lsl #2 add r0, r0, sb, lsl #2 ldrh r2, [r5, r2] ldrh r3, [r3, #2] ldr r0, [r0, #0x10] mov r1, r6 bl MOD13_02239888 ldr r0, [r4] mov r1, r6 add r0, r0, sb, lsl #2 ldr r0, [r0, #0x10] mov r2, r8 bl MOD13_02239814 _02230580: ldr r0, _022305F8 ; =0x0223F3FC mov r2, r7 ldrb r1, [r0, sl] ldr r0, [sp, #4] bl MOD13_02239E0C ldr r1, [r4] mov r2, sb, lsl #2 add r1, r1, sb, lsl #2 str r0, [r1, #4] ldr r0, [r4] add r3, r5, sb, lsl #2 add r0, r0, sb, lsl #2 ldrh r2, [r5, r2] ldrh r3, [r3, #2] ldr r0, [r0, #4] mov r1, r6 bl MOD13_02239888 ldr r0, [r4] mov r1, r6 add r0, r0, sb, lsl #2 ldr r0, [r0, #4] mov r2, r8 bl MOD13_02239814 add sb, sb, #1 cmp sb, #3 blt _0223050C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _022305F0: .word 0x02243114 _022305F4: .word 0x0223F428 _022305F8: .word 0x0223F3FC arm_func_start MOD13_022305FC MOD13_022305FC: ; 0x022305FC stmdb sp!, {lr} sub sp, sp, #0x1c ldr ip, _022306DC ; =0x0223F410 add r3, sp, #0 mov r2, #0xb _02230610: ldrb r1, [ip], #1 ldrb r0, [ip], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _02230610 ldr r0, _022306E0 ; =0x02240428 ldr r1, _022306E4 ; =0x020C9480 bl MOD13_0221F174 ldr r0, _022306E8 ; =0x0224043C ldr r1, _022306EC ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _022306F0 ; =0x02240454 ldr r1, _022306F4 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _022306F8 ; =0x0224046C ldr r1, _022306FC ; =0x020C908C bl MOD13_0221F174 add r0, sp, #0 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r2, _02230700 ; =0x02243114 mov r1, #0x10 ldr r2, [r2] str r0, [r2] mov r0, #1 bl MOD13_0223AEF4 ldr ip, _02230704 ; =0x04001008 ldr r3, _02230708 ; =0x0400100A ldrh r0, [ip] ldr r2, _0223070C ; =0x0400000A ldr r1, _02230710 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 _022306DC: .word 0x0223F410 _022306E0: .word 0x02240428 _022306E4: .word 0x020C9480 _022306E8: .word 0x0224043C _022306EC: .word 0x020C8D4C _022306F0: .word 0x02240454 _022306F4: .word 0x020C9550 _022306F8: .word 0x0224046C _022306FC: .word 0x020C908C _02230700: .word 0x02243114 _02230704: .word 0x04001008 _02230708: .word 0x0400100A _0223070C: .word 0x0400000A _02230710: .word 0x0400000C arm_func_start MOD13_02230714 MOD13_02230714: ; 0x02230714 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x20 mov r1, #4 bl MOD13_0223AFE0 ldr r1, _02230774 ; =0x02243114 mov r2, #0 str r0, [r1] strb r2, [r0, #0x1d] bl MOD13_022305FC mov r0, #1 bl MOD13_0221F4CC mov r0, #0x2f mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #0 bl MOD13_0221F124 bl MOD13_022304E0 bl MOD13_0222FE5C ldr r0, _02230778 ; =MOD13_02230484 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230774: .word 0x02243114 _02230778: .word MOD13_02230484 arm_func_start MOD13_0223077C MOD13_0223077C: ; 0x0223077C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r0, _022307D0 ; =0x0223F4B0 ldr r1, _022307D4 ; =0x0224311C ldrb lr, [r0] ldrb ip, [r0, #1] ldrb r3, [r0, #2] ldrb r2, [r0, #3] ldr r0, _022307D8 ; =0x02243124 ldrsb r1, [r1] add r4, sp, #0 strb lr, [sp] strb ip, [sp, #1] strb r3, [sp, #2] strb r2, [sp, #3] ldrb r1, [r4, r1] ldr r0, [r0] mov r2, r1 bl MOD13_022327DC add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022307D0: .word 0x0223F4B0 _022307D4: .word 0x0224311C _022307D8: .word 0x02243124 arm_func_start MOD13_022307DC MOD13_022307DC: ; 0x022307DC stmdb sp!, {r4, r5, r6, lr} ldr r1, _022308B8 ; =0x0224311C mov r5, r0 mov r0, #1 ldrsb r4, [r1] bl MOD13_02222EFC ldr r2, _022308BC ; =0x0223F4D4 mvn r1, #0 add r0, r2, r0, lsl #4 add r0, r0, r4, lsl #2 ldrsb r2, [r5, r0] cmp r2, r1 ldmeqia sp!, {r4, r5, r6, pc} cmp r2, #0 ldreq r0, _022308C0 ; =0x02243118 streqb r4, [r0] mvn r0, #1 cmp r2, r0 ldreq r1, _022308C0 ; =0x02243118 ldreq r0, _022308B8 ; =0x0224311C ldreqsb r1, [r1] streqb r1, [r0] ldrne r0, _022308B8 ; =0x0224311C strneb r2, [r0] mov r0, #8 bl MOD13_0223424C mov r0, #1 bl MOD13_02222EFC mov r6, r0 mov r0, #1 bl MOD13_02222EFC mov r5, r0 mov r0, #1 bl MOD13_02222EFC mov r4, r0 mov r0, #1 bl MOD13_02222EFC mov r3, r0 ldr r0, _022308B8 ; =0x0224311C ldr r1, _022308C4 ; =0x0223F534 ldrsb lr, [r0] ldr r0, _022308C8 ; =0x0223F536 add ip, r1, r6, lsl #5 ldr r1, _022308CC ; =0x0223F538 add r2, r0, r4, lsl #5 ldr r4, _022308D0 ; =0x0223F53A add r1, r1, r5, lsl #5 mov r5, lr, lsl #3 add r3, r4, r3, lsl #5 ldrh r0, [r5, ip] ldrh r1, [r5, r1] ldrh r2, [r5, r2] ldrh r3, [r5, r3] bl MOD13_0221F25C ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _022308B8: .word 0x0224311C _022308BC: .word 0x0223F4D4 _022308C0: .word 0x02243118 _022308C4: .word 0x0223F534 _022308C8: .word 0x0223F536 _022308CC: .word 0x0223F538 _022308D0: .word 0x0223F53A arm_func_start MOD13_022308D4 MOD13_022308D4: ; 0x022308D4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221F21C bl MOD13_0221EE54 ldr r0, _02230A14 ; =0x02243124 ldr r0, [r0] bl MOD13_0223939C mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x14 bl MOD13_0223AE98 ldr r0, _02230A18 ; =0x02243120 ldrb r0, [r0] cmp r0, #0 bne _0223096C mov r0, #2 mov r1, #0 bl MOD13_02222FA8 ldr r0, _02230A1C ; =MOD13_02230714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0223096C: ldr r0, _02230A20 ; =0x0224311C ldrsb r0, [r0] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02230A0C _02230980: ; jump table b _02230990 ; case 0 b _022309AC ; case 1 b _022309C8 ; case 2 b _022309E4 ; case 3 _02230990: mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02230A24 ; =MOD13_0222F8A0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022309AC: mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02230A28 ; =MOD13_02227C38 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022309C8: mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02230A2C ; =MOD13_0222F2F8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022309E4: mov r0, #2 mov r1, #0 bl MOD13_02222FA8 mov r0, #0 mov r1, r0 bl MOD13_02222F6C mov r0, #1 bl MOD13_0222B7F4 ldr r0, _02230A30 ; =MOD13_0222DD4C bl MOD13_02222FBC _02230A0C: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230A14: .word 0x02243124 _02230A18: .word 0x02243120 _02230A1C: .word MOD13_02230714 _02230A20: .word 0x0224311C _02230A24: .word MOD13_0222F8A0 _02230A28: .word MOD13_02227C38 _02230A2C: .word MOD13_0222F2F8 _02230A30: .word MOD13_0222DD4C arm_func_start MOD13_02230A34 MOD13_02230A34: ; 0x02230A34 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02230A9C ; =0x02243120 ldrb r0, [r0] cmp r0, #0 beq _02230A64 bl MOD13_0221ED28 _02230A64: mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02230AA0 ; =MOD13_022308D4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230A9C: .word 0x02243120 _02230AA0: .word MOD13_022308D4 arm_func_start MOD13_02230AA4 MOD13_02230AA4: ; 0x02230AA4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02230AC8 ; =MOD13_02230A34 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230AC8: .word MOD13_02230A34 arm_func_start MOD13_02230ACC MOD13_02230ACC: ; 0x02230ACC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 beq _02230AF0 cmp r0, #1 beq _02230AFC add sp, sp, #4 ldmia sp!, {pc} _02230AF0: mov r0, #7 bl MOD13_0223424C b _02230B14 _02230AFC: mov r0, #6 bl MOD13_0223424C bl MOD13_0223077C ldr r0, _02230B24 ; =0x02243120 mov r1, #1 strb r1, [r0] _02230B14: ldr r0, _02230B28 ; =MOD13_02230AA4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230B24: .word 0x02243120 _02230B28: .word MOD13_02230AA4 arm_func_start MOD13_02230B2C MOD13_02230B2C: ; 0x02230B2C bx lr arm_func_start MOD13_02230B30 MOD13_02230B30: ; 0x02230B30 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r7, #0 mov r6, r7 ldr r4, _02230CC0 ; =0x0223F4F4 mov r5, #1 _02230B48: mov r0, r5 bl MOD13_02222EFC add r0, r4, r0, lsl #5 add r0, r0, r6 bl MOD13_0223B2B4 cmp r0, #0 beq _02230BEC mov r0, #1 bl MOD13_0221ECF4 ldr r1, _02230CC4 ; =0x0224311C mov r0, #1 strb r7, [r1] bl MOD13_02222EFC mov r6, r0 mov r0, #1 bl MOD13_02222EFC mov r5, r0 mov r0, #1 bl MOD13_02222EFC mov r4, r0 mov r0, #1 bl MOD13_02222EFC mov r3, r0 ldr r0, _02230CC4 ; =0x0224311C ldr r1, _02230CC8 ; =0x0223F534 ldrsb lr, [r0] ldr r0, _02230CCC ; =0x0223F536 add ip, r1, r6, lsl #5 ldr r1, _02230CD0 ; =0x0223F538 add r2, r0, r4, lsl #5 ldr r4, _02230CD4 ; =0x0223F53A add r1, r1, r5, lsl #5 mov r5, lr, lsl #3 add r3, r4, r3, lsl #5 ldrh r0, [r5, ip] ldrh r1, [r5, r1] ldrh r2, [r5, r2] ldrh r3, [r5, r3] bl MOD13_0221F25C add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} _02230BEC: add r7, r7, #1 cmp r7, #4 add r6, r6, #8 blo _02230B48 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02230C1C mov r0, #1 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} _02230C1C: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _02230C3C mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} _02230C3C: mov r0, #0x40 bl MOD13_0223B3B0 cmp r0, #0 beq _02230C5C mov r0, #1 bl MOD13_022307DC add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} _02230C5C: mov r0, #0x80 bl MOD13_0223B3B0 cmp r0, #0 beq _02230C7C mov r0, #3 bl MOD13_022307DC add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} _02230C7C: mov r0, #0x20 bl MOD13_0223B3B0 cmp r0, #0 beq _02230C9C mov r0, #0 bl MOD13_022307DC add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} _02230C9C: mov r0, #0x10 bl MOD13_0223B3B0 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, #2 bl MOD13_022307DC add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02230CC0: .word 0x0223F4F4 _02230CC4: .word 0x0224311C _02230CC8: .word 0x0223F534 _02230CCC: .word 0x0223F536 _02230CD0: .word 0x0223F538 _02230CD4: .word 0x0223F53A arm_func_start MOD13_02230CD8 MOD13_02230CD8: ; 0x02230CD8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02230B30 bl MOD13_02230B2C bl MOD13_02230ACC add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02230D24 ; =MOD13_02230CD8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230D24: .word MOD13_02230CD8 arm_func_start MOD13_02230D28 MOD13_02230D28: ; 0x02230D28 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0221F0EC ldr r0, _02230D70 ; =0x02230CF4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230D70: .word 0x02230CF4 arm_func_start MOD13_02230D74 MOD13_02230D74: ; 0x02230D74 stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x14 bl MOD13_0223AEF4 ldr r0, _02230DCC ; =MOD13_02230D28 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02230DCC: .word MOD13_02230D28 arm_func_start MOD13_02230DD0 MOD13_02230DD0: ; 0x02230DD0 stmdb sp!, {lr} sub sp, sp, #0x1c ldr ip, _02230E94 ; =0x0223F4BC add r3, sp, #0 mov r2, #0xb _02230DE4: ldrb r1, [ip], #1 ldrb r0, [ip], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _02230DE4 ldr r0, _02230E98 ; =0x02240480 ldr r1, _02230E9C ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _02230EA0 ; =0x02240498 ldr r1, _02230EA4 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _02230EA8 ; =0x022404B0 ldr r1, _02230EAC ; =0x020C908C bl MOD13_0221F174 add r0, sp, #0 bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _02230EB0 ; =0x02243124 ldr ip, _02230EB4 ; =0x04001008 str r0, [r1] ldrh r0, [ip] ldr r3, _02230EB8 ; =0x0400100A ldr r2, _02230EBC ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] ldr r1, _02230EC0 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #0x1c ldmia sp!, {pc} .align 2, 0 _02230E94: .word 0x0223F4BC _02230E98: .word 0x02240480 _02230E9C: .word 0x020C8D4C _02230EA0: .word 0x02240498 _02230EA4: .word 0x020C9550 _02230EA8: .word 0x022404B0 _02230EAC: .word 0x020C908C _02230EB0: .word 0x02243124 _02230EB4: .word 0x04001008 _02230EB8: .word 0x0400100A _02230EBC: .word 0x0400000A _02230EC0: .word 0x0400000C arm_func_start MOD13_02230EC4 MOD13_02230EC4: ; 0x02230EC4 stmdb sp!, {r4, r5, r6, lr} bl MOD13_02234164 ldr r1, _02230FD0 ; =0x02243118 ldr r2, _02230FD4 ; =0x02243120 ldrsb r3, [r1] mov r5, #0 mov r4, r0 cmp r3, #0 moveq r0, #1 strb r5, [r2] streqb r0, [r1] bl MOD13_02222F34 cmp r0, #0 beq _02230F24 ldr r0, _02230FD8 ; =0x0224311C ldrsb r1, [r0] cmp r1, #2 moveq r1, #0 streqb r1, [r0] ldr r0, _02230FD0 ; =0x02243118 ldrsb r1, [r0] cmp r1, #2 moveq r1, #1 streqb r1, [r0] _02230F24: bl MOD13_02230DD0 bl MOD13_0221F4AC bl MOD13_02222F34 mov r5, r0 ldrb r1, [r4, #0xf4] mov r0, #0x32 ldr r3, _02230FDC ; =0x0223F4B4 add r2, r1, #1 ldrsb r1, [r3, r5] bl MOD13_0221EE98 mov r0, #1 bl MOD13_0221F124 mov r0, #1 bl MOD13_02222EFC mov r6, r0 mov r0, #1 bl MOD13_02222EFC mov r5, r0 mov r0, #1 bl MOD13_02222EFC mov r4, r0 mov r0, #1 bl MOD13_02222EFC mov r3, r0 ldr r1, _02230FE0 ; =0x0223F534 ldr r0, _02230FD8 ; =0x0224311C add ip, r1, r6, lsl #5 ldrsb lr, [r0] ldr r1, _02230FE4 ; =0x0223F538 ldr r0, _02230FE8 ; =0x0223F536 add r1, r1, r5, lsl #5 add r2, r0, r4, lsl #5 mov r5, lr, lsl #3 ldrh r0, [r5, ip] ldrh r1, [r5, r1] ldrh r2, [r5, r2] ldr r4, _02230FEC ; =0x0223F53A add r3, r4, r3, lsl #5 ldrh r3, [r5, r3] bl MOD13_0221F25C ldr r0, _02230FF0 ; =MOD13_02230D74 bl MOD13_02222FBC ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02230FD0: .word 0x02243118 _02230FD4: .word 0x02243120 _02230FD8: .word 0x0224311C _02230FDC: .word 0x0223F4B4 _02230FE0: .word 0x0223F534 _02230FE4: .word 0x0223F538 _02230FE8: .word 0x0223F536 _02230FEC: .word 0x0223F53A _02230FF0: .word MOD13_02230D74 arm_func_start MOD13_02230FF4 MOD13_02230FF4: ; 0x02230FF4 ldr ip, _02231000 ; =MOD13_0223AF48 mov r0, r1 bx ip .align 2, 0 _02231000: .word MOD13_0223AF48 arm_func_start MOD13_02231004 MOD13_02231004: ; 0x02231004 ldr ip, _02231014 ; =MOD13_0223B004 mov r0, r1 mov r1, #0x20 bx ip .align 2, 0 _02231014: .word MOD13_0223B004 arm_func_start MOD13_02231018 MOD13_02231018: ; 0x02231018 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 bl FUN_021EBB80 movs r4, r0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} bl MOD13_0221F694 bl MOD13_022341E8 cmp r4, #0 ble _0223105C ldr r1, _02231088 ; =0x02243128 mov r2, #1 mov r0, #0x11 strb r2, [r1] bl MOD13_0223424C b _0223106C _0223105C: bl FUN_021EBAE8 bl MOD13_0222B0BC mov r0, #0x12 bl MOD13_0223424C _0223106C: ldr r0, _0223108C ; =MOD13_0223115C bl MOD13_02222FBC mov r1, r5 mov r0, #0 bl MOD13_0223C110 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02231088: .word 0x02243128 _0223108C: .word MOD13_0223115C arm_func_start MOD13_02231090 MOD13_02231090: ; 0x02231090 stmdb sp!, {r4, lr} bl MOD13_022338FC mov r4, r0 bl FUN_021EB9D8 cmp r0, #0 ldmeqia sp!, {r4, pc} bl FUN_02095324 add r1, r4, #0xf0 mov r2, #0xe bl MI_CpuCopy8 bl FUN_02095324 add r1, r4, #0x1f0 mov r2, #0xe bl MI_CpuCopy8 bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _02231120 ; =0x02243128 ldrb r0, [r0] cmp r0, #0 bne _02231108 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02231124 ; =MOD13_0222B7D0 bl MOD13_02222FBC ldmia sp!, {r4, pc} _02231108: mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02231128 ; =MOD13_02231704 bl MOD13_02222FBC ldmia sp!, {r4, pc} .align 2, 0 _02231120: .word 0x02243128 _02231124: .word MOD13_0222B7D0 _02231128: .word MOD13_02231704 arm_func_start MOD13_0223112C MOD13_0223112C: ; 0x0223112C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02231158 ; =MOD13_02231090 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231158: .word MOD13_02231090 arm_func_start MOD13_0223115C MOD13_0223115C: ; 0x0223115C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02231188 ; =MOD13_0223112C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231188: .word MOD13_0223112C arm_func_start MOD13_0223118C MOD13_0223118C: ; 0x0223118C bx lr arm_func_start MOD13_02231190 MOD13_02231190: ; 0x02231190 bx lr arm_func_start MOD13_02231194 MOD13_02231194: ; 0x02231194 bx lr arm_func_start MOD13_02231198 MOD13_02231198: ; 0x02231198 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02231194 bl MOD13_02231190 bl MOD13_0223118C add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _022311F4 ; =MOD13_02231198 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022311F4: .word MOD13_02231198 arm_func_start MOD13_022311F8 MOD13_022311F8: ; 0x022311F8 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 bne _02231258 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 _02231258: ldr r0, _02231268 ; =0x022311B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231268: .word 0x022311B4 arm_func_start MOD13_0223126C MOD13_0223126C: ; 0x0223126C stmdb sp!, {r4, lr} sub sp, sp, #0x10 bl MOD13_02234164 mov r4, r0 ldr r0, _022312FC ; =0x0223F574 add r1, sp, #4 mov r2, #0xc bl MIi_CpuCopy32 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #2 moveq r0, #4 streqb r0, [sp, #0xe] ldrneb r0, [r4, #0xf4] addne r0, r0, #1 strneb r0, [sp, #0xe] add r0, sp, #4 bl FUN_021EBC60 cmp r0, #0 bne _022312C8 bl OS_Terminate _022312C8: ldr r0, [sp] cmp r0, #0 bne _022312E0 ldrb r0, [r4, #0xf4] mov r1, r4 bl FUN_021EB9A4 _022312E0: mov r0, #0 ldr r1, _02231300 ; =MOD13_02231018 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 _022312FC: .word 0x0223F574 _02231300: .word MOD13_02231018 arm_func_start MOD13_02231304 MOD13_02231304: ; 0x02231304 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0223139C ; =0x022404C4 ldr r1, _022313A0 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _022313A4 ; =0x022404DC ldr r1, _022313A8 ; =0x020C9550 bl MOD13_0221F174 ldr r0, _022313AC ; =0x022404F4 ldr r1, _022313B0 ; =0x020C908C bl MOD13_0221F174 ldr r1, _022313B4 ; =0x04001008 ldr ip, _022313B8 ; =0x0400100A ldrh r0, [r1] ldr r3, _022313BC ; =0x04000008 ldr r2, _022313C0 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _022313C4 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223139C: .word 0x022404C4 _022313A0: .word 0x020C8D4C _022313A4: .word 0x022404DC _022313A8: .word 0x020C9550 _022313AC: .word 0x022404F4 _022313B0: .word 0x020C908C _022313B4: .word 0x04001008 _022313B8: .word 0x0400100A _022313BC: .word 0x04000008 _022313C0: .word 0x0400000A _022313C4: .word 0x0400000C arm_func_start MOD13_022313C8 MOD13_022313C8: ; 0x022313C8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02231454 ; =0x02243128 mov r1, #0 strb r1, [r0] bl MOD13_02231304 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 bne _02231408 mov r0, #0x31 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 _02231408: mov r0, #2 bl MOD13_0221F124 ldr r0, [sp] cmp r0, #0 bne _02231420 bl MOD13_0221F4AC _02231420: mov r0, #0x2c bl MOD13_0221F070 mov r0, #0 bl MOD13_0221E694 bl MOD13_0223126C mov r0, #0 bl MOD13_0221F6E0 mov r0, #0xc bl MOD13_0223424C ldr r0, _02231458 ; =MOD13_022311F8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231454: .word 0x02243128 _02231458: .word MOD13_022311F8 arm_func_start MOD13_0223145C MOD13_0223145C: ; 0x0223145C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022314D0 ; =0x0224312C ldrb r1, [r0] add r1, r1, #1 strb r1, [r0] ldrb r0, [r0] cmp r0, #0xb4 addlo sp, sp, #4 ldmloia sp!, {pc} add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 bl MOD13_02222F1C cmp r0, #0 beq _022314C0 cmp r0, #1 bne _022314C0 ldr r0, [sp] cmp r0, #0 beq _022314C0 ldr r0, _022314D4 ; =MOD13_02223CFC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022314C0: ldr r0, _022314D8 ; =MOD13_02231598 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022314D0: .word 0x0224312C _022314D4: .word MOD13_02223CFC _022314D8: .word MOD13_02231598 arm_func_start MOD13_022314DC MOD13_022314DC: ; 0x022314DC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_022343D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 bne _02231580 mov r0, #0 mov r1, r0 bl MOD13_02222F6C ldr r0, _02231590 ; =MOD13_0222DD4C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02231580: ldr r0, _02231594 ; =MOD13_022245B4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231590: .word MOD13_0222DD4C _02231594: .word MOD13_022245B4 arm_func_start MOD13_02231598 MOD13_02231598: ; 0x02231598 stmdb sp!, {lr} sub sp, sp, #4 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 ldr r0, [sp] cmp r0, #0 beq _022315BC bl MOD13_02234908 _022315BC: mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _022315F4 ; =MOD13_022314DC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022315F4: .word MOD13_022314DC arm_func_start MOD13_022315F8 MOD13_022315F8: ; 0x022315F8 bx lr arm_func_start MOD13_022315FC MOD13_022315FC: ; 0x022315FC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0223145C bl MOD13_022315F8 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02231640 ; =MOD13_022315FC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231640: .word MOD13_022315FC arm_func_start MOD13_02231644 MOD13_02231644: ; 0x02231644 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _0223167C ; =0x02231614 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223167C: .word 0x02231614 arm_func_start MOD13_02231680 MOD13_02231680: ; 0x02231680 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022316EC ; =0x02240508 ldr r1, _022316F0 ; =0x020C908C bl MOD13_0221F174 ldr ip, _022316F4 ; =0x04001008 ldr r3, _022316F8 ; =0x0400100A ldrh r0, [ip] ldr r2, _022316FC ; =0x0400000A ldr r1, _02231700 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022316EC: .word 0x02240508 _022316F0: .word 0x020C908C _022316F4: .word 0x04001008 _022316F8: .word 0x0400100A _022316FC: .word 0x0400000A _02231700: .word 0x0400000C arm_func_start MOD13_02231704 MOD13_02231704: ; 0x02231704 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02231734 ; =0x0224312C mov r1, #0 strb r1, [r0] bl MOD13_02231680 mov r0, #0x2d bl MOD13_0221F070 ldr r0, _02231738 ; =MOD13_02231644 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231734: .word 0x0224312C _02231738: .word MOD13_02231644 arm_func_start MOD13_0223173C MOD13_0223173C: ; 0x0223173C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 mov r1, #0x14 bl MOD13_0223AE98 mov r0, #0 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02231780 ; =MOD13_022313C8 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231780: .word MOD13_022313C8 arm_func_start MOD13_02231784 MOD13_02231784: ; 0x02231784 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #3 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _022317C0 ; =MOD13_0223173C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022317C0: .word MOD13_0223173C arm_func_start MOD13_022317C4 MOD13_022317C4: ; 0x022317C4 bx lr arm_func_start MOD13_022317C8 MOD13_022317C8: ; 0x022317C8 bx lr arm_func_start MOD13_022317CC MOD13_022317CC: ; 0x022317CC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022317C8 bl MOD13_022317C4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 mov r0, #6 bl MOD13_0223424C ldr r0, _02231810 ; =MOD13_02231784 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231810: .word MOD13_02231784 arm_func_start MOD13_02231814 MOD13_02231814: ; 0x02231814 stmdb sp!, {lr} sub sp, sp, #0x14 ldr r0, _02231894 ; =0x0223F580 add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #0x14 ldmneia sp!, {pc} add r1, sp, #4 mov r0, #0 bl MOD13_02222F44 mov r0, #0 str r0, [sp] mov r1, #1 ldr r3, [sp, #4] add r0, sp, #8 ldr r0, [r0, r3, lsl #2] mov r2, r1 mvn r3, #0 bl MOD13_02235EFC ldr r0, _02231898 ; =MOD13_022317CC bl MOD13_02222FBC add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 _02231894: .word 0x0223F580 _02231898: .word MOD13_022317CC arm_func_start MOD13_0223189C MOD13_0223189C: ; 0x0223189C stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x14 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x14 bl MOD13_0223AEF4 ldr r0, _022318F4 ; =MOD13_02231814 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022318F4: .word MOD13_02231814 arm_func_start MOD13_022318F8 MOD13_022318F8: ; 0x022318F8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02231964 ; =0x0224051C ldr r1, _02231968 ; =0x020C908C bl MOD13_0221F174 ldr ip, _0223196C ; =0x04001008 ldr r3, _02231970 ; =0x0400100A ldrh r0, [ip] ldr r2, _02231974 ; =0x0400000A ldr r1, _02231978 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231964: .word 0x0224051C _02231968: .word 0x020C908C _0223196C: .word 0x04001008 _02231970: .word 0x0400100A _02231974: .word 0x0400000A _02231978: .word 0x0400000C arm_func_start MOD13_0223197C MOD13_0223197C: ; 0x0223197C stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02233570 add r1, sp, #0 mov r0, #0 bl MOD13_02222F44 bl MOD13_022318F8 mov r0, #0x31 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 ldr r0, [sp] cmp r0, #2 beq _022319B8 bl MOD13_0221F4AC _022319B8: ldr r0, [sp] cmp r0, #1 bne _022319C8 bl MOD13_02233B3C _022319C8: ldr r0, _022319D8 ; =MOD13_0223189C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022319D8: .word MOD13_0223189C arm_func_start MOD13_022319DC MOD13_022319DC: ; 0x022319DC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02231A14 ; =0x02243130 ldrb r1, [r0] add r1, r1, #1 strb r1, [r0] ldrb r0, [r0] cmp r0, #0x78 addlo sp, sp, #4 ldmloia sp!, {pc} ldr r0, _02231A18 ; =MOD13_02231A9C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231A14: .word 0x02243130 _02231A18: .word MOD13_02231A9C arm_func_start MOD13_02231A1C MOD13_02231A1C: ; 0x02231A1C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A65C bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 mov r0, #0 mov r1, r0 bl MOD13_02222FA8 mov r0, #0 mov r1, #2 bl MOD13_02222F6C ldr r0, _02231A98 ; =MOD13_0223197C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231A98: .word MOD13_0223197C arm_func_start MOD13_02231A9C MOD13_02231A9C: ; 0x02231A9C stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02231ADC ; =MOD13_02231A1C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231ADC: .word MOD13_02231A1C arm_func_start MOD13_02231AE0 MOD13_02231AE0: ; 0x02231AE0 bx lr arm_func_start MOD13_02231AE4 MOD13_02231AE4: ; 0x02231AE4 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022319DC bl MOD13_02231AE0 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02231B28 ; =MOD13_02231AE4 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231B28: .word MOD13_02231AE4 arm_func_start MOD13_02231B2C MOD13_02231B2C: ; 0x02231B2C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02231B64 ; =0x02231AFC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231B64: .word 0x02231AFC arm_func_start MOD13_02231B68 MOD13_02231B68: ; 0x02231B68 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02231BE8 ; =0x02240530 ldr r1, _02231BEC ; =0x020C908C bl MOD13_0221F174 ldr r1, _02231BF0 ; =0x04001008 ldr ip, _02231BF4 ; =0x0400100A ldrh r0, [r1] ldr r3, _02231BF8 ; =0x04000008 ldr r2, _02231BFC ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02231C00 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231BE8: .word 0x02240530 _02231BEC: .word 0x020C908C _02231BF0: .word 0x04001008 _02231BF4: .word 0x0400100A _02231BF8: .word 0x04000008 _02231BFC: .word 0x0400000A _02231C00: .word 0x0400000C arm_func_start MOD13_02231C04 MOD13_02231C04: ; 0x02231C04 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02231C44 ; =0x02243130 mov r1, #0 strb r1, [r0] bl MOD13_02231B68 mov r0, #8 bl MOD13_0221F4CC mov r0, #0x29 bl MOD13_0221F070 mov r0, #0x10 bl MOD13_0223424C ldr r0, _02231C48 ; =MOD13_02231B2C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231C44: .word 0x02243130 _02231C48: .word MOD13_02231B2C arm_func_start MOD13_02231C4C MOD13_02231C4C: ; 0x02231C4C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02231D18 ; =0x02243134 ldrb r0, [r0] cmp r0, #0 bne _02231C8C mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _02231C8C: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0223A65C ldr r0, _02231D18 ; =0x02243134 ldrb r0, [r0] cmp r0, #0 bne _02231CC4 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _02231CC4: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _02231D18 ; =0x02243134 ldrb r0, [r0] cmp r0, #0 bne _02231CFC mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02231D1C ; =MOD13_02230714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02231CFC: mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _02231D20 ; =MOD13_0223269C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231D18: .word 0x02243134 _02231D1C: .word MOD13_02230714 _02231D20: .word MOD13_0223269C arm_func_start MOD13_02231D24 MOD13_02231D24: ; 0x02231D24 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 ldr r0, _02231D8C ; =0x02243134 ldrb r0, [r0] cmp r0, #0 bne _02231D68 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _02231D68: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02231D90 ; =MOD13_02231C4C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231D8C: .word 0x02243134 _02231D90: .word MOD13_02231C4C arm_func_start MOD13_02231D94 MOD13_02231D94: ; 0x02231D94 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02231DB8 ; =MOD13_02231D24 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231DB8: .word MOD13_02231D24 arm_func_start MOD13_02231DBC MOD13_02231DBC: ; 0x02231DBC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 cmp r0, #0 beq _02231DE0 cmp r0, #1 beq _02231DEC add sp, sp, #4 ldmia sp!, {pc} _02231DE0: mov r0, #7 bl MOD13_0223424C b _02231E00 _02231DEC: mov r0, #6 bl MOD13_0223424C ldr r0, _02231E10 ; =0x02243134 mov r1, #1 strb r1, [r0] _02231E00: ldr r0, _02231E14 ; =MOD13_02231D94 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231E10: .word 0x02243134 _02231E14: .word MOD13_02231D94 arm_func_start MOD13_02231E18 MOD13_02231E18: ; 0x02231E18 bx lr arm_func_start MOD13_02231E1C MOD13_02231E1C: ; 0x02231E1C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02231E3C mov r0, #1 bl MOD13_0221ECF4 _02231E3C: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02231E1C bl MOD13_02231E18 bl MOD13_02231DBC add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02231EAC ; =0x02231E60 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231EAC: .word 0x02231E60 arm_func_start MOD13_02231EB0 MOD13_02231EB0: ; 0x02231EB0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0221F0EC ldr r0, _02231EF8 ; =0x02231E7C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231EF8: .word 0x02231E7C arm_func_start MOD13_02231EFC MOD13_02231EFC: ; 0x02231EFC stmdb sp!, {lr} sub sp, sp, #4 mov r1, #1 mov r2, r1 mov r0, #2 mov r3, #8 bl MOD13_0223A2A8 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #1 mov r1, r0 bl MOD13_0223AEF4 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _02231F54 ; =MOD13_02231EB0 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231F54: .word MOD13_02231EB0 arm_func_start MOD13_02231F58 MOD13_02231F58: ; 0x02231F58 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02231FF0 ; =0x02240544 ldr r1, _02231FF4 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _02231FF8 ; =0x0224055C ldr r1, _02231FFC ; =0x020C9550 bl MOD13_0221F174 ldr r0, _02232000 ; =0x02240574 ldr r1, _02232004 ; =0x020C908C bl MOD13_0221F174 ldr r1, _02232008 ; =0x04001008 ldr ip, _0223200C ; =0x0400100A ldrh r0, [r1] ldr r3, _02232010 ; =0x04000008 ldr r2, _02232014 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02232018 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02231FF0: .word 0x02240544 _02231FF4: .word 0x020C8D4C _02231FF8: .word 0x0224055C _02231FFC: .word 0x020C9550 _02232000: .word 0x02240574 _02232004: .word 0x020C908C _02232008: .word 0x04001008 _0223200C: .word 0x0400100A _02232010: .word 0x04000008 _02232014: .word 0x0400000A _02232018: .word 0x0400000C arm_func_start MOD13_0223201C MOD13_0223201C: ; 0x0223201C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0223206C ; =0x02243134 mov r1, #0 strb r1, [r0] bl MOD13_02231F58 mov r0, #8 bl MOD13_0221F4CC mov r0, #0x38 mvn r1, #0 mov r2, #0 bl MOD13_0221EE98 mov r0, #1 bl MOD13_0221F124 mov r0, #0x27 bl MOD13_0221F070 ldr r0, _02232070 ; =MOD13_02231EFC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223206C: .word 0x02243134 _02232070: .word MOD13_02231EFC arm_func_start MOD13_02232074 MOD13_02232074: ; 0x02232074 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _022320DC ; =0x02243138 ldrb r0, [r0] cmp r0, #1 bne _022320AC ldr r0, _022320E0 ; =MOD13_02232444 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022320AC: mov r0, #0xb bl MOD13_0223424C bl MOD13_0221EC9C ldr r1, _022320DC ; =0x02243138 mov r2, #0 ldr r0, _022320E4 ; =MOD13_022321B8 strb r2, [r1] bl MOD13_022353A4 ldr r0, _022320E8 ; =0x02232514 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022320DC: .word 0x02243138 _022320E0: .word MOD13_02232444 _022320E4: .word MOD13_022321B8 _022320E8: .word 0x02232514 arm_func_start MOD13_022320EC MOD13_022320EC: ; 0x022320EC stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 beq _02232124 cmp r0, #1 addne sp, sp, #4 ldmneia sp!, {pc} ldr r1, _0223214C ; =0x02243138 mov r2, #3 mov r0, #6 strb r2, [r1] bl MOD13_0223424C b _02232138 _02232124: ldr r1, _0223214C ; =0x02243138 mov r2, #1 mov r0, #7 strb r2, [r1] bl MOD13_0223424C _02232138: bl MOD13_02235EB0 ldr r0, _02232150 ; =MOD13_02232074 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223214C: .word 0x02243138 _02232150: .word MOD13_02232074 arm_func_start MOD13_02232154 MOD13_02232154: ; 0x02232154 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E80 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _0223217C ; =MOD13_02232444 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223217C: .word MOD13_02232444 arm_func_start MOD13_02232180 MOD13_02232180: ; 0x02232180 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02235E9C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #6 bl MOD13_0223424C bl MOD13_02235EB0 ldr r0, _022321B4 ; =MOD13_02232154 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022321B4: .word MOD13_02232154 arm_func_start MOD13_022321B8 MOD13_022321B8: ; 0x022321B8 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _022322AC ; =0x02243138 ldrb r2, [r1] cmp r2, #0 addne sp, sp, #4 ldmneia sp!, {pc} cmp r0, #3 addls pc, pc, r0, lsl #2 b _022322A4 _022321E0: ; jump table b _022321F0 ; case 0 b _02232234 ; case 1 b _02232250 ; case 2 b _02232288 ; case 3 _022321F0: mov r0, #3 strb r0, [r1] bl MOD13_022341E8 mov r0, #0x12 bl MOD13_0223424C mov r1, #1 mov ip, #0 mov r2, r1 mov r0, #0x10 mvn r3, #0 str ip, [sp] bl MOD13_02235EFC bl MOD13_0221EC84 ldr r0, _022322B0 ; =MOD13_02232180 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02232234: mov r0, #1 strb r0, [r1] bl MOD13_022341E8 ldr r0, _022322B4 ; =MOD13_02232444 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02232250: bl MOD13_022341E8 mov r0, #0 bl MOD13_022353A4 mov r1, #0 mov r0, #0x11 mov r2, #1 mvn r3, #0 str r1, [sp] bl MOD13_02235EFC bl MOD13_0221EC84 ldr r0, _022322B8 ; =MOD13_022320EC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _02232288: mov r0, #2 strb r0, [r1] bl MOD13_022341E8 mov r0, #9 bl MOD13_0223424C ldr r0, _022322B4 ; =MOD13_02232444 bl MOD13_02222FBC _022322A4: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022322AC: .word 0x02243138 _022322B0: .word MOD13_02232180 _022322B4: .word MOD13_02232444 _022322B8: .word MOD13_022320EC arm_func_start MOD13_022322BC MOD13_022322BC: ; 0x022322BC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _022323BC ; =0x02243138 ldrb r0, [r0] cmp r0, #2 bne _022322FC mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} _022322FC: bl MOD13_0221ECB4 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_022353BC bl MOD13_0221E654 mov r0, #0 bl MOD13_0223A65C ldr r0, _022323BC ; =0x02243138 ldrb r0, [r0] add r0, r0, #0xfe and r0, r0, #0xff cmp r0, #1 bhi _02232344 bl MOD13_0221EE54 mov r0, #1 mov r1, r0 bl MOD13_0223AE98 _02232344: mov r0, #0 mov r1, #0x15 bl MOD13_0223AE98 ldr r0, _022323BC ; =0x02243138 ldrb r0, [r0] cmp r0, #2 bne _0223237C mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022323C0 ; =MOD13_02230714 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _0223237C: cmp r0, #3 bne _022323A0 mov r0, #2 mov r1, #1 bl MOD13_02222FA8 ldr r0, _022323C4 ; =MOD13_0223201C bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} _022323A0: mov r0, #0 mov r1, r0 bl MOD13_02222FA8 ldr r0, _022323C8 ; =MOD13_02231C04 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022323BC: .word 0x02243138 _022323C0: .word MOD13_02230714 _022323C4: .word MOD13_0223201C _022323C8: .word MOD13_02231C04 arm_func_start MOD13_022323CC MOD13_022323CC: ; 0x022323CC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED28 ldr r0, _0223243C ; =0x02243138 ldrb r0, [r0] add r0, r0, #0xfe and r0, r0, #0xff cmp r0, #1 bhi _02232418 mov r1, #1 mov r2, r1 mov r0, #3 mov r3, #8 bl MOD13_0223A2A8 _02232418: mov r0, #3 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 ldr r0, _02232440 ; =MOD13_022322BC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223243C: .word 0x02243138 _02232440: .word MOD13_022322BC arm_func_start MOD13_02232444 MOD13_02232444: ; 0x02232444 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221EC84 mov r0, #8 bl MOD13_0223A10C ldr r0, _02232468 ; =MOD13_022323CC bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232468: .word MOD13_022323CC arm_func_start MOD13_0223246C MOD13_0223246C: ; 0x0223246C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022324C0 ; =0x02243138 ldrb r0, [r0] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_0221ED14 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _022324C0 ; =0x02243138 mov r1, #2 strb r1, [r0] bl MOD13_022341E8 mov r0, #7 bl MOD13_0223424C ldr r0, _022324C4 ; =MOD13_02232444 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022324C0: .word 0x02243138 _022324C4: .word MOD13_02232444 arm_func_start MOD13_022324C8 MOD13_022324C8: ; 0x022324C8 bx lr arm_func_start MOD13_022324CC MOD13_022324CC: ; 0x022324CC stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _022324F4 mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} _022324F4: bl MOD13_02232730 cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl MOD13_0221ECF4 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022324CC bl MOD13_022324C8 bl MOD13_0223246C add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0221ED14 mvn r1, #1 cmp r0, r1 addeq sp, sp, #4 ldmeqia sp!, {pc} bl MOD13_0221EC9C ldr r0, _02232560 ; =0x02232514 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232560: .word 0x02232514 arm_func_start MOD13_02232564 MOD13_02232564: ; 0x02232564 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0 bl MOD13_0223A388 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #2 bl MOD13_0221F0EC ldr r0, _02232598 ; =0x02232530 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232598: .word 0x02232530 arm_func_start MOD13_0223259C MOD13_0223259C: ; 0x0223259C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #2 mov r1, #0 mov r2, #0x15 mov r3, #8 bl MOD13_0223A2A8 mov r0, #0 mov r1, #0x15 bl MOD13_0223AEF4 ldr r0, _022325D4 ; =MOD13_02232564 bl MOD13_02222FBC add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022325D4: .word MOD13_02232564 arm_func_start MOD13_022325D8 MOD13_022325D8: ; 0x022325D8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02232670 ; =0x02240588 ldr r1, _02232674 ; =0x020C8D4C bl MOD13_0221F174 ldr r0, _02232678 ; =0x022405A0 ldr r1, _0223267C ; =0x020C9550 bl MOD13_0221F174 ldr r0, _02232680 ; =0x022405B8 ldr r1, _02232684 ; =0x020C908C bl MOD13_0221F174 ldr r1, _02232688 ; =0x04001008 ldr ip, _0223268C ; =0x0400100A ldrh r0, [r1] ldr r3, _02232690 ; =0x04000008 ldr r2, _02232694 ; =0x0400000A bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] ldrh r0, [ip] ldr r1, _02232698 ; =0x0400000C bic r0, r0, #3 orr r0, r0, #3 strh r0, [ip] ldrh r0, [r3] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r3] ldrh r0, [r2] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r2] ldrh r0, [r1] bic r0, r0, #3 orr r0, r0, #3 strh r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232670: .word 0x02240588 _02232674: .word 0x020C8D4C _02232678: .word 0x022405A0 _0223267C: .word 0x020C9550 _02232680: .word 0x022405B8 _02232684: .word 0x020C908C _02232688: .word 0x04001008 _0223268C: .word 0x0400100A _02232690: .word 0x04000008 _02232694: .word 0x0400000A _02232698: .word 0x0400000C arm_func_start MOD13_0223269C MOD13_0223269C: ; 0x0223269C stmdb sp!, {lr} sub sp, sp, #0x6c ldr r0, _02232724 ; =0x02243138 mov r1, #0 strb r1, [r0] bl MOD13_022325D8 mov r0, #8 bl MOD13_0221F4CC mov r0, #2 bl MOD13_0221F124 add r0, sp, #0x16 bl OS_GetOwnerInfo add r1, sp, #0 mov r0, #0 mov r2, #0x16 bl MIi_CpuClear16 ldrh r2, [sp, #0x2e] add r0, sp, #0x1a add r1, sp, #0 mov r2, r2, lsl #1 bl MIi_CpuCopy16 add r0, sp, #0 mov r1, #0x28 bl MOD13_0221EFA8 mov r0, #0 bl MOD13_0221E694 ldr r0, _02232728 ; =MOD13_022321B8 bl MOD13_022354F4 mov r0, #0xb bl MOD13_0223424C ldr r0, _0223272C ; =MOD13_0223259C bl MOD13_02222FBC add sp, sp, #0x6c ldmia sp!, {pc} .align 2, 0 _02232724: .word 0x02243138 _02232728: .word MOD13_022321B8 _0223272C: .word MOD13_0223259C arm_func_start MOD13_02232730 MOD13_02232730: ; 0x02232730 ldr r0, _0223274C ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _0223274C: .word 0x027FFFA8 arm_func_start MOD13_02232750 MOD13_02232750: ; 0x02232750 stmdb sp!, {r4, lr} ldr r1, _0223277C ; =0x02243140 mov r4, r0 ldr r0, [r1] mov r1, #0x5000000 mov r2, #0x200 bl MIi_CpuCopy16 mov r1, r4 mov r0, #1 bl MOD13_0223C110 ldmia sp!, {r4, pc} .align 2, 0 _0223277C: .word 0x02243140 arm_func_start MOD13_02232780 MOD13_02232780: ; 0x02232780 ldr r2, _022327A0 ; =0x02243140 ldr ip, _022327A4 ; =MOD13_0223C1C4 str r0, [r2] ldr r1, _022327A8 ; =MOD13_02232750 mov r0, #1 mov r2, #0 mov r3, #0x78 bx ip .align 2, 0 _022327A0: .word 0x02243140 _022327A4: .word MOD13_0223C1C4 _022327A8: .word MOD13_02232750 arm_func_start MOD13_022327AC MOD13_022327AC: ; 0x022327AC stmdb sp!, {r4, lr} ldr r1, _022327D8 ; =0x02243140 mov r4, r0 ldr r0, [r1] ldr r1, [r1, #4] mov r2, #0x20 bl MIi_CpuCopy16 mov r1, r4 mov r0, #1 bl MOD13_0223C110 ldmia sp!, {r4, pc} .align 2, 0 _022327D8: .word 0x02243140 arm_func_start MOD13_022327DC MOD13_022327DC: ; 0x022327DC stmdb sp!, {r4, lr} add r4, r0, r1, lsl #5 mov r0, r2, lsl #5 ldr ip, _02232810 ; =0x02243140 add lr, r0, #0x5000000 ldr r1, _02232814 ; =MOD13_022327AC mov r0, #1 mov r2, #0 mov r3, #0x78 str r4, [ip] str lr, [ip, #4] bl MOD13_0223C1C4 ldmia sp!, {r4, pc} .align 2, 0 _02232810: .word 0x02243140 _02232814: .word MOD13_022327AC arm_func_start MOD13_02232818 MOD13_02232818: ; 0x02232818 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02232874 ; =0x0224313C ldr r1, [r0] ldrb r0, [r1, #0x604] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} add r0, r1, #4 mov r1, #0x600 bl DC_FlushRange ldr r0, _02232874 ; =0x0224313C mov r1, #0 ldr r0, [r0] mov r2, #0x600 add r0, r0, #4 bl GX_LoadBG2Scr ldr r0, _02232874 ; =0x0224313C mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x604] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232874: .word 0x0224313C arm_func_start MOD13_02232878 MOD13_02232878: ; 0x02232878 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr ip, _022328CC ; =0x0224313C mov r7, r3 ldr r3, [ip] mov r8, r0 add r0, r3, #4 add r6, r0, r1, lsl #1 mov r5, #0 cmp r7, #0 ldmleia sp!, {r4, r5, r6, r7, r8, pc} mov r4, r2, lsl #1 _022328A4: mov r0, r8 mov r1, r6 mov r2, r4 bl MIi_CpuCopy16 add r5, r5, #1 cmp r5, r7 add r8, r8, #0x40 add r6, r6, #0x40 blt _022328A4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _022328CC: .word 0x0224313C arm_func_start MOD13_022328D0 MOD13_022328D0: ; 0x022328D0 ldr r0, _022328E4 ; =0x0224313C mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x604] bx lr .align 2, 0 _022328E4: .word 0x0224313C arm_func_start MOD13_022328E8 MOD13_022328E8: ; 0x022328E8 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02232914 ; =0x0224313C mov r0, #1 ldr r1, [r1] ldr r1, [r1] bl MOD13_0223C104 ldr r0, _02232914 ; =0x0224313C bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232914: .word 0x0224313C arm_func_start MOD13_02232918 MOD13_02232918: ; 0x02232918 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, _0223296C ; =0x00000608 mov r1, #4 bl MOD13_0223AFE0 mov ip, r0 ldr r3, _02232970 ; =0x0224313C mov r0, r4 add r1, ip, #4 mov r2, #0x600 str ip, [r3] bl MIi_CpuCopyFast ldr r1, _02232974 ; =MOD13_02232818 mov r0, #1 mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02232970 ; =0x0224313C ldr r1, [r1] str r0, [r1] ldmia sp!, {r4, pc} .align 2, 0 _0223296C: .word 0x00000608 _02232970: .word 0x0224313C _02232974: .word MOD13_02232818 arm_func_start MOD13_02232978 MOD13_02232978: ; 0x02232978 stmdb sp!, {r4, lr} ldr r1, _022329B0 ; =0x02243148 mov r4, r0 ldr r0, [r1] mvn r1, #0 ldrh r3, [r0, #0x12] ldrh r2, [r0, #0x10] ldr r0, [r0] add r3, r4, r3 bl MOD13_02239888 ldr r0, _022329B0 ; =0x02243148 ldr r0, [r0] strb r4, [r0, #0x1a] ldmia sp!, {r4, pc} .align 2, 0 _022329B0: .word 0x02243148 arm_func_start MOD13_022329B4 MOD13_022329B4: ; 0x022329B4 ldr r2, _02232A8C ; =0x02243148 cmp r0, #4 ldr r3, [r2] ldrh r3, [r3, #0x10] strh r3, [r1] ldrh r3, [r1] add r3, r3, #0xc strh r3, [r1, #4] addls pc, pc, r0, lsl #2 bx lr _022329DC: ; jump table bx lr ; case 0 b _022329F0 ; case 1 b _02232A24 ; case 2 b _02232A44 ; case 3 b _02232A68 ; case 4 _022329F0: ldr r3, [r2] ldr r0, _02232A90 ; =0x0223F590 ldrh ip, [r3, #0x12] ldrb r3, [r3, #0x1a] add r3, ip, r3 strh r3, [r1, #2] ldr r2, [r2] ldrh r3, [r1, #2] ldrb r2, [r2, #0x1b] ldrb r0, [r0, r2] add r0, r3, r0 strh r0, [r1, #6] bx lr _02232A24: ldr r0, [r2] ldrh r0, [r0, #0x12] sub r0, r0, #0xd strh r0, [r1, #2] ldr r0, [r2] ldrh r0, [r0, #0x12] strh r0, [r1, #6] bx lr _02232A44: ldr r0, [r2] ldrh r2, [r0, #0x12] ldrb r0, [r0, #0x19] add r0, r2, r0 strh r0, [r1, #2] ldrh r0, [r1, #2] add r0, r0, #0xd strh r0, [r1, #6] bx lr _02232A68: ldr r0, [r2] ldrh r0, [r0, #0x12] strh r0, [r1, #2] ldr r0, [r2] ldrh r2, [r1, #2] ldrb r0, [r0, #0x19] add r0, r2, r0 strh r0, [r1, #6] bx lr .align 2, 0 _02232A8C: .word 0x02243148 _02232A90: .word 0x0223F590 arm_func_start MOD13_02232A94 MOD13_02232A94: ; 0x02232A94 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, #2 add r4, sp, #0 _02232AA4: mov r0, r5 mov r1, r4 bl MOD13_022329B4 mov r0, r4 bl MOD13_0223B320 cmp r0, #0 addne sp, sp, #0xc movne r0, r5 ldmneia sp!, {r4, r5, pc} add r5, r5, #1 cmp r5, #3 ble _02232AA4 mov r0, #0 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_start MOD13_02232AE0 MOD13_02232AE0: ; 0x02232AE0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc add r1, sp, #0 mov r0, #1 bl MOD13_022329B4 add r0, sp, #0 bl MOD13_0223B248 cmp r0, #0 addne sp, sp, #0xc movne r0, #1 ldmneia sp!, {r4, r5, pc} mov r5, #2 add r4, sp, #0 _02232B14: mov r0, r5 mov r1, r4 bl MOD13_022329B4 mov r0, r4 bl MOD13_0223B248 cmp r0, #0 addne sp, sp, #0xc movne r0, r5 ldmneia sp!, {r4, r5, pc} add r5, r5, #1 cmp r5, #3 ble _02232B14 add r1, sp, #0 mov r0, #4 bl MOD13_022329B4 add r0, sp, #0 bl MOD13_0223B2B4 cmp r0, #0 movne r0, #4 moveq r0, #0 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_start MOD13_02232B6C MOD13_02232B6C: ; 0x02232B6C stmdb sp!, {lr} sub sp, sp, #4 add r0, sp, #0 bl MOD13_0223B14C ldr r0, _02232BD8 ; =0x02243148 ldr r2, _02232BDC ; =0x0223F590 ldr ip, [r0] ldrh r1, [sp, #2] ldrb r3, [ip, #0x1b] ldrh r0, [ip, #0x12] ldrb r2, [r2, r3] sub r1, r1, r0 mov r0, r2, lsr #1 subs r0, r1, r0 movmi r0, #0 bmi _02232BBC ldrb r1, [ip, #0x19] sub r1, r1, r2 cmp r0, r1 movge r0, r1 _02232BBC: bl MOD13_02232978 ldr r0, _02232BD8 ; =0x02243148 mov r1, #3 ldr r0, [r0] strb r1, [r0, #0x1d] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232BD8: .word 0x02243148 _02232BDC: .word 0x0223F590 arm_func_start MOD13_02232BE0 MOD13_02232BE0: ; 0x02232BE0 ldr r1, _02232C08 ; =0x02243148 cmp r0, #2 ldr r1, [r1] strb r0, [r1, #0x1c] ldr r0, _02232C08 ; =0x02243148 moveq r1, #4 ldr r0, [r0] movne r1, #6 strb r1, [r0, #0x1d] bx lr .align 2, 0 _02232C08: .word 0x02243148 arm_func_start MOD13_02232C0C MOD13_02232C0C: ; 0x02232C0C stmdb sp!, {r4, lr} ldr r1, _02232C80 ; =0x02243148 ldr r1, [r1] ldrb r1, [r1, #0x1a] subs r4, r1, r0 rsbmi r4, r4, #0 cmp r4, #2 movlt r0, #0 blt _02232C48 cmp r4, #6 movge r0, #0x7f bge _02232C48 rsb r1, r4, #6 mov r0, #0x7f bl FX_DivS32 _02232C48: bl MOD13_0223422C cmp r4, #2 mvnlt r1, #0xff blt _02232C74 cmp r4, #6 movge r1, #0x100 bge _02232C74 rsb r1, r4, #6 mov r0, #0x200 bl FX_DivS32 sub r1, r0, #0x100 _02232C74: ldr r0, _02232C84 ; =0x0000FFFF bl MOD13_02234208 ldmia sp!, {r4, pc} .align 2, 0 _02232C80: .word 0x02243148 _02232C84: .word 0x0000FFFF arm_func_start MOD13_02232C88 MOD13_02232C88: ; 0x02232C88 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r0, _02232D4C ; =0x0223F75C bl MOD13_0223B320 cmp r0, #0 beq _02232D24 add r0, sp, #0 bl MOD13_0223B14C ldr r0, _02232D50 ; =0x02243148 ldrh r1, [sp] ldr r3, [r0] ldrh r0, [r3, #0x10] sub r0, r0, #0x1e cmp r1, r0 blt _02232D24 ldrh r1, [sp, #2] ldrh r0, [r3, #0x16] ldrb r2, [r3, #0x18] sub r0, r1, r0 adds r4, r2, r0 movmi r4, #0 bmi _02232CFC ldrb r1, [r3, #0x1b] ldr r0, _02232D54 ; =0x0223F590 ldrb r2, [r3, #0x19] ldrb r0, [r0, r1] sub r0, r2, r0 cmp r4, r0 movge r4, r0 _02232CFC: mov r0, r4 bl MOD13_02232C0C mov r0, r4 bl MOD13_02232978 ldr r0, _02232D50 ; =0x02243148 mov r1, #2 ldr r0, [r0] add sp, sp, #8 strb r1, [r0, #0x1d] ldmia sp!, {r4, pc} _02232D24: bl MOD13_022341E8 ldr r0, _02232D50 ; =0x02243148 mov r3, #0 ldr r2, [r0] mov r1, #3 strb r3, [r2, #0x1c] ldr r0, [r0] strb r1, [r0, #0x1d] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02232D4C: .word 0x0223F75C _02232D50: .word 0x02243148 _02232D54: .word 0x0223F590 arm_func_start MOD13_02232D58 MOD13_02232D58: ; 0x02232D58 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02232F10 ; =0x02243148 mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x1d] ldr r1, [r0] ldrb r0, [r1, #0x1c] cmp r0, #3 addls pc, pc, r0, lsl #2 b _02232F08 _02232D84: ; jump table b _02232D94 ; case 0 b _02232E5C ; case 1 b _02232E68 ; case 2 b _02232EBC ; case 3 _02232D94: ldrb r0, [r1, #0x1e] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02232AE0 cmp r0, #4 addls pc, pc, r0, lsl #2 b _02232F08 _02232DB4: ; jump table b _02232F08 ; case 0 b _02232DC8 ; case 1 b _02232E30 ; case 2 b _02232E40 ; case 3 b _02232E50 ; case 4 _02232DC8: ldr r0, _02232F10 ; =0x02243148 ldr r0, [r0] ldrb r0, [r0, #0x1b] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0x16 bl MOD13_0223424C mov r0, #0 bl MOD13_0223422C ldr r0, _02232F10 ; =0x02243148 mov r2, #1 ldr r1, [r0] strb r2, [r1, #0x1d] ldr r0, [r0] add r0, r0, #0x14 bl MOD13_0223B14C ldr r0, _02232F10 ; =0x02243148 mov r1, #1 ldr r3, [r0] add sp, sp, #4 ldrb r2, [r3, #0x1a] strb r2, [r3, #0x18] ldr r0, [r0] strb r1, [r0, #0x1c] ldmia sp!, {pc} _02232E30: mov r0, #2 bl MOD13_02232BE0 add sp, sp, #4 ldmia sp!, {pc} _02232E40: mov r0, #3 bl MOD13_02232BE0 add sp, sp, #4 ldmia sp!, {pc} _02232E50: bl MOD13_02232B6C add sp, sp, #4 ldmia sp!, {pc} _02232E5C: bl MOD13_02232C88 add sp, sp, #4 ldmia sp!, {pc} _02232E68: mov r0, #2 bl MOD13_02232A94 cmp r0, #2 beq _02232E9C ldr r0, _02232F10 ; =0x02243148 mov r3, #5 ldr r2, [r0] mov r1, #0 strb r3, [r2, #0x1d] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x1c] ldmia sp!, {pc} _02232E9C: bl MOD13_02232AE0 cmp r0, #2 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #2 bl MOD13_02232BE0 add sp, sp, #4 ldmia sp!, {pc} _02232EBC: mov r0, #3 bl MOD13_02232A94 cmp r0, #3 beq _02232EF0 ldr r0, _02232F10 ; =0x02243148 mov r3, #7 ldr r2, [r0] mov r1, #0 strb r3, [r2, #0x1d] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0x1c] ldmia sp!, {pc} _02232EF0: bl MOD13_02232AE0 cmp r0, #3 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #3 bl MOD13_02232BE0 _02232F08: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232F10: .word 0x02243148 arm_func_start MOD13_02232F14 MOD13_02232F14: ; 0x02232F14 ldr r0, _02232F28 ; =0x02243148 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x1e] bx lr .align 2, 0 _02232F28: .word 0x02243148 arm_func_start MOD13_02232F2C MOD13_02232F2C: ; 0x02232F2C ldr r0, _02232F40 ; =0x02243148 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x1e] bx lr .align 2, 0 _02232F40: .word 0x02243148 arm_func_start MOD13_02232F44 MOD13_02232F44: ; 0x02232F44 ldr ip, _02232F4C ; =MOD13_02232978 bx ip .align 2, 0 _02232F4C: .word MOD13_02232978 arm_func_start MOD13_02232F50 MOD13_02232F50: ; 0x02232F50 ldr r0, _02232F60 ; =0x02243148 ldr r0, [r0] ldrb r0, [r0, #0x1d] bx lr .align 2, 0 _02232F60: .word 0x02243148 arm_func_start MOD13_02232F64 MOD13_02232F64: ; 0x02232F64 ldr r0, _02232F74 ; =0x02243148 ldr r0, [r0] ldrb r0, [r0, #0x1a] bx lr .align 2, 0 _02232F74: .word 0x02243148 arm_func_start MOD13_02232F78 MOD13_02232F78: ; 0x02232F78 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02232FB4 ; =0x02243148 mov r0, #0 ldr r1, [r1] ldr r1, [r1, #0xc] bl MOD13_0223C104 ldr r0, _02232FB4 ; =0x02243148 ldr r0, [r0] ldr r0, [r0] bl MOD13_02239AE8 ldr r0, _02232FB4 ; =0x02243148 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02232FB4: .word 0x02243148 arm_func_start MOD13_02232FB8 MOD13_02232FB8: ; 0x02232FB8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r6, r0 mov r7, r1 mov r0, #0x20 mov r1, #4 mov r5, r2 mov r4, r3 bl MOD13_0223AFE0 ldr r2, _0223308C ; =0x02243148 ldr ip, [sp, #0x18] str r0, [r2] strb r6, [r0, #0x1b] ldr r1, [r2] mov r0, r5 strb r7, [r1, #0x19] ldr r3, [r2] mov r1, r4 strb ip, [r3, #0x1a] ldr r2, [r2] add r2, r2, #0x10 bl MOD13_0223ABC0 ldr r1, _02233090 ; =0x0223F58C mov r0, #0 ldrb r1, [r1, r6] mov r2, #1 bl MOD13_02239E0C mov r2, r5 ldr r5, _0223308C ; =0x02243148 ldr r3, [sp, #0x18] ldr r6, [r5] mvn r1, #0 str r0, [r6] ldr r0, [r5] add r3, r4, r3 ldr r0, [r0] bl MOD13_02239888 mov r0, r5 ldr r0, [r0] mvn r1, #0 ldr r0, [r0] mov r2, #1 bl MOD13_02239814 mov r0, #0 ldr r1, _02233094 ; =MOD13_02232D58 mov r2, r0 mov r3, #0x80 bl MOD13_0223C1C4 mov r1, r5 ldr r1, [r1] str r0, [r1, #0xc] add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0223308C: .word 0x02243148 _02233090: .word 0x0223F58C _02233094: .word MOD13_02232D58 arm_func_start MOD13_02233098 MOD13_02233098: ; 0x02233098 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xac ldr r1, _022332AC ; =0x0224314C str r0, [sp] ldr r2, [r1] mov r1, #0x400 add r0, r2, #0xf00 add r2, r2, #0x1300 str r2, [sp, #4] bl DC_InvalidateRange ldr r0, [sp] ldrh r1, [r0, #0xe] mov r0, #0 str r0, [sp, #8] cmp r1, #0 addle sp, sp, #0xac ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} str r0, [sp, #0xc] str r0, [sp, #0x10] str r0, [sp, #0x20] str r0, [sp, #0x18] mov r0, #0x20 str r0, [sp, #0x14] mov r0, #2 str r0, [sp, #0x24] mov r0, #1 ldr fp, _022332B0 ; =0x0223F598 add r5, sp, #0x28 mov r6, #6 mov r4, #4 str r0, [sp, #0x1c] _02233114: ldr r1, [sp] ldr r0, [sp, #8] add r0, r1, r0, lsl #2 ldr sl, [r0, #0x10] ldrb r0, [sl, #0xc] cmp r0, #0 beq _02233284 ldrh r0, [sl, #0x3c] cmp r0, #0 bne _02233284 ldr sb, [sp, #0xc] ldr r8, [sp, #4] add r7, sl, #4 _02233148: mov r0, r7 add r1, r8, #0x20 mov r2, r6 bl memcmp cmp r0, #0 beq _02233170 add r8, r8, #0x2a add sb, sb, #1 cmp sb, #0x14 blt _02233148 _02233170: cmp sb, #0x14 bne _022331B4 ldr sb, [sp, #0x10] ldr r7, [sp, #4] _02233180: add r0, r7, #0x20 mov r1, fp mov r2, r6 bl memcmp cmp r0, #0 beq _022331A8 add r7, r7, #0x2a add sb, sb, #1 cmp sb, #0x14 blt _02233180 _022331A8: cmp sb, #0x14 addeq sp, sp, #0xac ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _022331B4: ldr r0, [sp, #4] mov r1, #0x2a mla r7, sb, r1, r0 add r0, sl, #4 add r1, r7, #0x20 mov r2, r6 bl MI_CpuCopy8 ldr r2, [sp, #0x14] add r0, sl, #0xc mov r1, r7 bl MI_CpuCopy8 ldr r1, [sp] ldr r0, [sp, #8] add r0, r1, r0, lsl #1 ldrh r0, [r0, #0x50] strh r0, [r7, #0x26] ldrh r0, [sl, #0x2c] ands r0, r0, #0x10 ldreq r0, [sp, #0x18] streqb r0, [r7, #0x28] beq _02233284 ldr r0, [sp, #0x1c] mov r1, sl strb r0, [r7, #0x28] mov r0, r5 bl WM_GetOtherElements ldrb r8, [sp, #0x28] ldr sb, [sp, #0x20] cmp r8, #0 ble _02233284 _0223322C: add r1, r5, sb, lsl #3 ldrb r0, [r1, #4] cmp r0, #0x30 ldreq r0, [sp, #0x24] streqb r0, [r7, #0x28] beq _02233284 cmp r0, #0xdd bne _02233278 ldrb r0, [r1, #5] cmp r0, #4 blo _02233278 ldr r0, [r1, #8] ldr r1, _022332B4 ; =0x0223F594 mov r2, r4 bl memcmp cmp r0, #0 ldreq r0, [sp, #0x24] streqb r0, [r7, #0x28] beq _02233284 _02233278: add sb, sb, #1 cmp sb, r8 blt _0223322C _02233284: ldr r0, [sp, #8] add r0, r0, #1 str r0, [sp, #8] ldr r0, [sp] ldrh r1, [r0, #0xe] ldr r0, [sp, #8] cmp r0, r1 blt _02233114 add sp, sp, #0xac ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _022332AC: .word 0x0224314C _022332B0: .word 0x0223F598 _022332B4: .word 0x0223F594 arm_func_start MOD13_022332B8 MOD13_022332B8: ; 0x022332B8 stmdb sp!, {lr} sub sp, sp, #4 ldrh r1, [r0, #2] cmp r1, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r1, _02233338 ; =0x0224314C ldr r1, [r1] add r1, r1, #0x1000 ldrb r1, [r1, #0xe4c] cmp r1, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldrh r1, [r0] cmp r1, #0x26 addne sp, sp, #4 ldmneia sp!, {pc} ldrh r1, [r0, #8] cmp r1, #4 beq _02233320 cmp r1, #5 bne _0223332C bl MOD13_02233098 bl MOD13_0223344C add sp, sp, #4 ldmia sp!, {pc} _02233320: bl MOD13_0223344C add sp, sp, #4 ldmia sp!, {pc} _0223332C: bl OS_Terminate add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02233338: .word 0x0224314C arm_func_start MOD13_0223333C MOD13_0223333C: ; 0x0223333C stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _02233394 ; =0x0224314C mov r4, #0 ldr r1, [r1] mov r8, r4 add r1, r1, #0x1300 str r1, [r0] ldr r7, [r0] ldr r6, _02233398 ; =0x0223F598 mov r5, #6 _02233364: mov r1, r6 mov r2, r5 add r0, r7, #0x20 bl memcmp cmp r0, #0 add r8, r8, #1 addne r4, r4, #1 cmp r8, #0x14 add r7, r7, #0x2a blt _02233364 mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02233394: .word 0x0224314C _02233398: .word 0x0223F598 arm_func_start MOD13_0223339C MOD13_0223339C: ; 0x0223339C stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _02233440 ; =0x0224314C mov r3, #1 ldr r0, [r2] ldr r1, _02233444 ; =0x0000168C add r0, r0, #0x1000 strb r3, [r0, #0xe4c] ldr r0, [r2] add r0, r0, r1 bl WM_ReadStatus ldr r0, _02233440 ; =0x0224314C ldr r0, [r0] add r0, r0, #0x1600 ldrh r0, [r0, #0x8c] cmp r0, #2 beq _02233424 ldr r0, _02233448 ; =MOD13_022332B8 bl WM_Reset cmp r0, #2 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {pc} _022333F8: ldr r1, _02233440 ; =0x0224314C ldr r0, _02233444 ; =0x0000168C ldr r1, [r1] add r0, r1, r0 bl WM_ReadStatus ldr r0, _02233440 ; =0x0224314C ldr r0, [r0] add r0, r0, #0x1600 ldrh r0, [r0, #0x8c] cmp r0, #2 bne _022333F8 _02233424: ldr r0, _02233448 ; =MOD13_022332B8 bl WM_End cmp r0, #2 movne r0, #0 moveq r0, #1 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02233440: .word 0x0224314C _02233444: .word 0x0000168C _02233448: .word MOD13_022332B8 arm_func_start MOD13_0223344C MOD13_0223344C: ; 0x0223344C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02233480 ; =0x0224314C ldr r1, _02233484 ; =0x00001648 ldr r2, [r0] ldr r0, _02233488 ; =MOD13_022332B8 add r1, r2, r1 bl WM_StartScanEx cmp r0, #2 moveq r0, #1 movne r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02233480: .word 0x0224314C _02233484: .word 0x00001648 _02233488: .word MOD13_022332B8 arm_func_start MOD13_0223348C MOD13_0223348C: ; 0x0223348C stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r1, _0223355C ; =0x0224314C mov r0, #0 ldr r1, [r1] mov r2, #0x348 add r1, r1, #0x1300 bl MIi_CpuClear16 ldr r0, _0223355C ; =0x0224314C ldr r1, _02233560 ; =MOD13_022332B8 ldr r0, [r0] mov r2, #3 bl WM_Initialize cmp r0, #2 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {r4, r5, pc} _022334D0: ldr r1, _0223355C ; =0x0224314C ldr r0, _02233564 ; =0x0000168C ldr r1, [r1] add r0, r1, r0 bl WM_ReadStatus ldr r0, _0223355C ; =0x0224314C ldr r5, [r0] add r0, r5, #0x1600 ldrh r0, [r0, #0x8c] cmp r0, #2 bne _022334D0 ldr r0, _02233568 ; =0x00001648 ldr r4, _0223356C ; =0x0223F5A0 add lr, r5, r0 mov ip, #4 _0223350C: ldmia r4!, {r0, r1, r2, r3} stmia lr!, {r0, r1, r2, r3} subs ip, ip, #1 bne _0223350C ldr r0, [r4] add r1, r5, #0xf00 str r0, [lr] add r0, r5, #0x1000 str r1, [r0, #0x648] bl WM_GetDispersionScanPeriod ldr r1, _0223355C ; =0x0224314C ldr r1, [r1] add r1, r1, #0x1600 strh r0, [r1, #0x50] bl MOD13_0223344C cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223355C: .word 0x0224314C _02233560: .word MOD13_022332B8 _02233564: .word 0x0000168C _02233568: .word 0x00001648 _0223356C: .word 0x0223F5A0 arm_func_start MOD13_02233570 MOD13_02233570: ; 0x02233570 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022335A8 ; =0x0224314C ldr r0, [r0] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} _0223358C: bl WM_GetAllowedChannel cmp r0, #0x8000 bne _0223358C ldr r0, _022335A8 ; =0x0224314C bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022335A8: .word 0x0224314C arm_func_start MOD13_022335AC MOD13_022335AC: ; 0x022335AC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022335E4 ; =0x0224314C ldr r0, [r0] cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _022335E8 ; =0x00001E60 mov r1, #0x20 bl MOD13_0223AFE0 ldr r1, _022335E4 ; =0x0224314C str r0, [r1] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022335E4: .word 0x0224314C _022335E8: .word 0x00001E60 arm_func_start MOD13_022335EC MOD13_022335EC: ; 0x022335EC cmp r0, #0x39 subls r0, r0, #0x30 bxls lr cmp r0, #0x46 subls r0, r0, #0x37 subhi r0, r0, #0x57 bx lr arm_func_start MOD13_02233608 MOD13_02233608: ; 0x02233608 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #4 mov sl, r0 mov sb, r1 add r0, sp, #0 mov r1, #0 mov r2, #4 bl MI_CpuFill8 mov r8, #0 mov r7, r8 add r6, sp, #0 mov fp, r8 mov r4, #0x20 mov r5, #3 _02233640: mov r1, r6 mov r2, r5 add r0, sl, r7 bl MI_CpuCopy8 mov r2, fp mov r1, r6 _02233658: ldrb r0, [r1] cmp r0, #0 bne _02233674 add r2, r2, #1 cmp r2, #3 strb r4, [r1], #1 blt _02233658 _02233674: mov r0, r6 bl atol strb r0, [sb, r8] add r8, r8, #1 cmp r8, #4 add r7, r7, #3 blt _02233640 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_start MOD13_02233698 MOD13_02233698: ; 0x02233698 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #0x14 ldr r1, _02233800 ; =0x02243150 mov r7, r0 ldr r0, [r1] mov r4, #0 add r2, r0, r7, lsl #8 ldrb r6, [r2, #0xe7] mov r3, #1 add r0, sp, #4 mov r1, r4 mov r2, #0x10 mov r5, r3, lsl r7 bl MI_CpuFill8 add r0, sp, #4 mov r2, #1 str r2, [r0, r7, lsl #2] cmp r7, #2 bgt _02233778 ldr r0, _02233800 ; =0x02243150 ldr r0, [r0] ldrb r1, [r0, #0xef] ands r1, r1, r5 movne r4, r2 cmp r6, #0xff bne _0223373C cmp r4, #0 beq _0223373C ldrb r2, [r0, #0xef] mvn r3, r5 ldr r1, _02233800 ; =0x02243150 and r2, r2, r3 strb r2, [r0, #0xef] ldr r2, [r1] mov r0, #1 ldrb r1, [r2, #0x1ef] and r1, r1, r3 strb r1, [r2, #0x1ef] str r0, [sp, #8] str r0, [sp, #4] b _02233778 _0223373C: cmp r6, #0xff beq _02233778 cmp r4, #0 bne _02233778 ldrb r3, [r0, #0xef] ldr r1, _02233800 ; =0x02243150 mov r2, #1 orr r3, r3, r5 strb r3, [r0, #0xef] ldr r1, [r1] ldrb r0, [r1, #0x1ef] orr r0, r0, r5 strb r0, [r1, #0x1ef] str r2, [sp, #8] str r2, [sp, #4] _02233778: mov r7, #0 mov r6, r7 ldr sb, _02233800 ; =0x02243150 add r5, sp, #4 mov r4, #0xfe ldr r8, _02233804 ; =0x000004F8 _02233790: ldr r0, [r5, r7, lsl #2] cmp r0, #0 beq _022337BC ldr r1, [sb] mov r2, r4 add r0, r1, r8 add r1, r1, r6 bl MATH_CalcCRC16 ldr r1, [sb] add r1, r1, r7, lsl #8 strh r0, [r1, #0xfe] _022337BC: add r7, r7, #1 cmp r7, #4 add r6, r6, #0x100 blt _02233790 mov r0, #0x100 mov r1, #0x20 bl MOD13_0223B004 mov r2, r0 ldr r0, _02233800 ; =0x02243150 add r1, sp, #4 ldr r0, [r0] str r2, [sp] bl FUN_02095CDC add r0, sp, #0 bl MOD13_0223AF90 add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02233800: .word 0x02243150 _02233804: .word 0x000004F8 arm_func_start MOD13_02233808 MOD13_02233808: ; 0x02233808 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x18 ldr r1, _022338B4 ; =0x02243150 mov r0, #0 ldr r1, [r1] mov r2, #0x400 bl MIi_CpuClear16 mov r3, #0 ldr r0, _022338B4 ; =0x02243150 mov r2, #0xff _02233830: ldr r1, [r0] add r1, r1, r3, lsl #8 add r3, r3, #1 strb r2, [r1, #0xe7] cmp r3, #3 blt _02233830 add r0, sp, #0 bl FUN_020967A4 add r0, sp, #0 bl FUN_02095330 mov r6, #0 ldr r4, _022338B4 ; =0x02243150 mov r8, r0 mov r7, r6 mov r5, #0xe _0223386C: ldr r1, [r4] mov r0, r8 add r1, r1, r7 mov r2, r5 add r1, r1, #0xf0 bl MI_CpuCopy8 add r6, r6, #1 cmp r6, #2 add r7, r7, #0x100 blt _0223386C mov r4, #0 _02233898: mov r0, r4 bl MOD13_02233698 add r4, r4, #1 cmp r4, #4 blt _02233898 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _022338B4: .word 0x02243150 arm_func_start MOD13_022338B8 MOD13_022338B8: ; 0x022338B8 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r1, _022338F8 ; =0x02243150 mov r5, r0 ldr r0, [r1] mov r1, #0 add r4, r0, r5, lsl #8 mov r0, r4 mov r2, #0xef bl MI_CpuFill8 mov r1, #0xff mov r0, r5 strb r1, [r4, #0xe7] bl MOD13_02233698 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _022338F8: .word 0x02243150 arm_func_start MOD13_022338FC MOD13_022338FC: ; 0x022338FC ldr r0, _02233908 ; =0x02243150 ldr r0, [r0] bx lr .align 2, 0 _02233908: .word 0x02243150 arm_func_start MOD13_0223390C MOD13_0223390C: ; 0x0223390C stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r1, _02233A20 ; =0x02243150 mov r5, r0 ldr r0, [r1] mov r1, #0 add r4, r0, #0x400 mov r0, r4 mov r2, #0xef bl MI_CpuFill8 mov r0, r5 add r1, r4, #0xd1 mov r2, #5 bl MI_CpuCopy8 add r0, r5, #6 add r1, r4, #0xd6 mov r2, #5 bl MI_CpuCopy8 add r0, r5, #0xc add r1, r4, #0xdb mov r2, #5 bl MI_CpuCopy8 add r0, r5, #0x12 add r1, r4, #0xe0 mov r2, #5 bl MI_CpuCopy8 add r0, r5, #0x18 add r1, r4, #0x60 mov r2, #0x20 bl MI_CpuCopy8 add r0, r5, #0x39 add r1, r4, #0x80 mov r2, #0xd bl MI_CpuCopy8 add r0, r5, #0x47 add r1, r4, #0x90 mov r2, #0xd bl MI_CpuCopy8 add r0, r5, #0x55 add r1, r4, #0xa0 mov r2, #0xd bl MI_CpuCopy8 add r0, r5, #0x63 add r1, r4, #0xb0 mov r2, #0xd bl MI_CpuCopy8 add r0, r5, #0x71 add r1, r4, #0x40 mov r2, #0x20 bl MI_CpuCopy8 ldrb r1, [r4, #0xe6] mov r3, #1 add r0, r4, #0xf0 bic r1, r1, #3 orr r1, r1, #2 strb r1, [r4, #0xe6] ldrb ip, [r4, #0xe6] mov r1, #0 mov r2, #4 bic ip, ip, #0xfc strb ip, [r4, #0xe6] strb r3, [r4, #0xe7] bl MI_CpuFill8 mov r0, #1 strb r0, [r4, #0xf5] strb r0, [r4, #0xf6] bl MOD13_02233B3C add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02233A20: .word 0x02243150 arm_func_start MOD13_02233A24 MOD13_02233A24: ; 0x02233A24 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _02233B38 ; =0x02243150 mov r6, r0 ldr r0, [r1] mov r1, #0 add r5, r0, #0x400 mov r0, r5 mov r2, #0xef bl MI_CpuFill8 mov r0, r6 add r1, r5, #0x40 mov r2, #0x20 bl MI_CpuCopy8 ldr r0, [r6, #0x20] cmp r0, #1 beq _02233A78 cmp r0, #2 beq _02233A90 cmp r0, #3 beq _02233AA8 b _02233AC0 _02233A78: ldrb r0, [r5, #0xe6] mov r4, #5 bic r0, r0, #3 orr r0, r0, #1 strb r0, [r5, #0xe6] b _02233AD0 _02233A90: ldrb r0, [r5, #0xe6] mov r4, #0xd bic r0, r0, #3 orr r0, r0, #2 strb r0, [r5, #0xe6] b _02233AD0 _02233AA8: ldrb r0, [r5, #0xe6] mov r4, #0x10 bic r0, r0, #3 orr r0, r0, #3 strb r0, [r5, #0xe6] b _02233AD0 _02233AC0: ldrb r0, [r5, #0xe6] mov r4, #0 bic r0, r0, #3 strb r0, [r5, #0xe6] _02233AD0: ldrb r0, [r5, #0xe6] add r7, r5, #0x80 add r6, r6, #0x28 bic r0, r0, #0xfc strb r0, [r5, #0xe6] mov r8, #0 _02233AE8: mov r0, r6 mov r1, r7 mov r2, r4 bl MI_CpuCopy8 add r8, r8, #1 cmp r8, #4 add r7, r7, #0x10 add r6, r6, #0x20 blt _02233AE8 mov r3, #2 add r0, r5, #0xf0 mov r1, #0 mov r2, #4 strb r3, [r5, #0xe7] bl MI_CpuFill8 mov r0, #1 strb r0, [r5, #0xf5] strb r0, [r5, #0xf6] bl MOD13_02233B3C ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02233B38: .word 0x02243150 arm_func_start MOD13_02233B3C MOD13_02233B3C: ; 0x02233B3C stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r0, _02233C20 ; =0x02243150 mov r2, #0x78 ldr r1, [r0] add r5, r1, #0x400 ldrb r0, [r5, #0xf4] mov ip, r5 add r4, r1, r0, lsl #8 mov r3, r4 _02233B64: ldrb r1, [ip], #1 ldrb r0, [ip], #1 subs r2, r2, #1 strb r1, [r3], #1 strb r0, [r3], #1 bne _02233B64 ldrb r0, [r5, #0xf5] cmp r0, #0 beq _02233BB4 add r0, r4, #0xc0 mov r1, #0 mov r2, #4 bl MI_CpuFill8 add r0, r4, #0xc4 mov r1, #0 mov r2, #4 bl MI_CpuFill8 mov r0, #0 strb r0, [r4, #0xd0] b _02233BE0 _02233BB4: add r0, r5, #0xc0 add r1, r4, #0xc0 mov r2, #4 bl MI_CpuCopy8 add r0, r5, #0xc4 add r1, r4, #0xc4 mov r2, #4 bl MI_CpuCopy8 add r0, r5, #0xf0 bl FUN_02095BE0 strb r0, [r4, #0xd0] _02233BE0: ldrb r0, [r5, #0xf6] cmp r0, #0 beq _02233C00 add r0, r4, #0xc8 mov r1, #0 mov r2, #8 bl MI_CpuFill8 b _02233C10 _02233C00: add r0, r5, #0xc8 add r1, r4, #0xc8 mov r2, #8 bl MI_CpuCopy8 _02233C10: ldrb r0, [r5, #0xf4] bl MOD13_02233698 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02233C20: .word 0x02243150 arm_func_start MOD13_02233C24 MOD13_02233C24: ; 0x02233C24 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r1, _02233D04 ; =0x02243150 mov r3, #0x78 ldr r5, [r1] add r4, r5, r0, lsl #8 mov lr, r4 add ip, r5, #0x400 _02233C44: ldrb r2, [lr], #1 ldrb r1, [lr], #1 subs r3, r3, #1 strb r2, [ip], #1 strb r1, [ip], #1 bne _02233C44 ldr r1, _02233D08 ; =0x0223F5E4 strb r0, [r5, #0x4f4] add r0, r4, #0xc0 mov r2, #4 bl memcmp cmp r0, #0 ldrne r0, _02233D04 ; =0x02243150 movne r1, #0 ldrne r0, [r0] mov r2, #4 strneb r1, [r0, #0x4f5] ldreq r0, _02233D04 ; =0x02243150 moveq r1, #1 ldreq r0, [r0] streqb r1, [r0, #0x4f5] ldr r1, _02233D08 ; =0x0223F5E4 add r0, r4, #0xc8 bl memcmp cmp r0, #0 bne _02233CC4 ldr r1, _02233D08 ; =0x0223F5E4 add r0, r4, #0xcc mov r2, #4 bl memcmp cmp r0, #0 beq _02233CD8 _02233CC4: ldr r0, _02233D04 ; =0x02243150 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x4f6] b _02233CE8 _02233CD8: ldr r0, _02233D04 ; =0x02243150 mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x4f6] _02233CE8: ldr r1, _02233D04 ; =0x02243150 ldrb r0, [r4, #0xd0] ldr r1, [r1] add r1, r1, #0x4f0 bl FUN_02095BB0 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02233D04: .word 0x02243150 _02233D08: .word 0x0223F5E4 arm_func_start MOD13_02233D0C MOD13_02233D0C: ; 0x02233D0C ldr r1, _02233D20 ; =0x02243150 ldr r1, [r1] add r0, r1, r0, lsl #8 ldrb r0, [r0, #0xe7] bx lr .align 2, 0 _02233D20: .word 0x02243150 arm_func_start MOD13_02233D24 MOD13_02233D24: ; 0x02233D24 stmdb sp!, {lr} sub sp, sp, #0xc ldr r1, _02233D64 ; =0x02243150 ldr r2, _02233D68 ; =0x000004CC ldr r3, [r1] ldr r1, _02233D6C ; =0x022405CC add ip, r3, r2 ldrb r2, [ip, #2] str r2, [sp] ldrb r2, [ip, #3] str r2, [sp, #4] ldrb r2, [r3, #0x4cc] ldrb r3, [ip, #1] bl OS_SPrintf add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02233D64: .word 0x02243150 _02233D68: .word 0x000004CC _02233D6C: .word 0x022405CC arm_func_start MOD13_02233D70 MOD13_02233D70: ; 0x02233D70 stmdb sp!, {lr} sub sp, sp, #0xc ldr r1, _02233DB0 ; =0x02243150 ldr r2, _02233DB4 ; =0x000004C8 ldr r3, [r1] ldr r1, _02233DB8 ; =0x022405CC add ip, r3, r2 ldrb r2, [ip, #2] str r2, [sp] ldrb r2, [ip, #3] str r2, [sp, #4] ldrb r2, [r3, #0x4c8] ldrb r3, [ip, #1] bl OS_SPrintf add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02233DB0: .word 0x02243150 _02233DB4: .word 0x000004C8 _02233DB8: .word 0x022405CC arm_func_start MOD13_02233DBC MOD13_02233DBC: ; 0x02233DBC stmdb sp!, {lr} sub sp, sp, #0xc ldr r1, _02233DFC ; =0x02243150 ldr r2, _02233E00 ; =0x000004C4 ldr r3, [r1] ldr r1, _02233E04 ; =0x022405CC add ip, r3, r2 ldrb r2, [ip, #2] str r2, [sp] ldrb r2, [ip, #3] str r2, [sp, #4] ldrb r2, [r3, #0x4c4] ldrb r3, [ip, #1] bl OS_SPrintf add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02233DFC: .word 0x02243150 _02233E00: .word 0x000004C4 _02233E04: .word 0x022405CC arm_func_start MOD13_02233E08 MOD13_02233E08: ; 0x02233E08 stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _02233E44 ; =0x02243150 ldr r1, _02233E48 ; =0x022405CC ldr r3, [r2] add ip, r3, #0x4f0 ldrb r2, [ip, #2] str r2, [sp] ldrb r2, [ip, #3] str r2, [sp, #4] ldrb r2, [r3, #0x4f0] ldrb r3, [ip, #1] bl OS_SPrintf add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02233E44: .word 0x02243150 _02233E48: .word 0x022405CC arm_func_start MOD13_02233E4C MOD13_02233E4C: ; 0x02233E4C stmdb sp!, {lr} sub sp, sp, #0xc ldr r2, _02233E88 ; =0x02243150 ldr r1, _02233E8C ; =0x022405CC ldr r3, [r2] add ip, r3, #0x4c0 ldrb r2, [ip, #2] str r2, [sp] ldrb r2, [ip, #3] str r2, [sp, #4] ldrb r2, [r3, #0x4c0] ldrb r3, [ip, #1] bl OS_SPrintf add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02233E88: .word 0x02243150 _02233E8C: .word 0x022405CC arm_func_start MOD13_02233E90 MOD13_02233E90: ; 0x02233E90 ldr r2, _02233EAC ; =0x02243150 mov r1, r0 ldr r0, [r2] ldr ip, _02233EB0 ; =0x020CE3E0 mov r2, #0x20 add r0, r0, #0x440 bx ip .align 2, 0 _02233EAC: .word 0x02243150 _02233EB0: .word 0x020CE3E0 arm_func_start MOD13_02233EB4 MOD13_02233EB4: ; 0x02233EB4 ldr r2, _02233ECC ; =0x02243150 ldr r1, _02233ED0 ; =0x000004CC ldr r2, [r2] ldr ip, _02233ED4 ; =MOD13_02233608 add r1, r2, r1 bx ip .align 2, 0 _02233ECC: .word 0x02243150 _02233ED0: .word 0x000004CC _02233ED4: .word MOD13_02233608 arm_func_start MOD13_02233ED8 MOD13_02233ED8: ; 0x02233ED8 ldr r2, _02233EF0 ; =0x02243150 ldr r1, _02233EF4 ; =0x000004C8 ldr r2, [r2] ldr ip, _02233EF8 ; =MOD13_02233608 add r1, r2, r1 bx ip .align 2, 0 _02233EF0: .word 0x02243150 _02233EF4: .word 0x000004C8 _02233EF8: .word MOD13_02233608 arm_func_start MOD13_02233EFC MOD13_02233EFC: ; 0x02233EFC ldr r2, _02233F14 ; =0x02243150 ldr r1, _02233F18 ; =0x000004C4 ldr r2, [r2] ldr ip, _02233F1C ; =MOD13_02233608 add r1, r2, r1 bx ip .align 2, 0 _02233F14: .word 0x02243150 _02233F18: .word 0x000004C4 _02233F1C: .word MOD13_02233608 arm_func_start MOD13_02233F20 MOD13_02233F20: ; 0x02233F20 ldr r1, _02233F34 ; =0x02243150 ldr ip, _02233F38 ; =MOD13_02233608 ldr r1, [r1] add r1, r1, #0x4f0 bx ip .align 2, 0 _02233F34: .word 0x02243150 _02233F38: .word MOD13_02233608 arm_func_start MOD13_02233F3C MOD13_02233F3C: ; 0x02233F3C ldr r1, _02233F50 ; =0x02243150 ldr ip, _02233F54 ; =MOD13_02233608 ldr r1, [r1] add r1, r1, #0x4c0 bx ip .align 2, 0 _02233F50: .word 0x02243150 _02233F54: .word MOD13_02233608 arm_func_start MOD13_02233F58 MOD13_02233F58: ; 0x02233F58 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _02234100 ; =0x02243150 mov r6, r0 ldr r0, [r1] mov r1, #0 add r0, r0, #0x480 mov r2, #0x10 bl MI_CpuFill8 mov r0, r6 mov r1, #0x20 bl MOD13_0223BDA4 mov r4, r0 cmp r4, #0xa bgt _02233FA4 cmp r4, #0xa bge _02233FC0 cmp r4, #0 beq _02233FC0 b _0223401C _02233FA4: cmp r4, #0x1a bgt _02233FB8 cmp r4, #0x1a beq _02233FC0 b _0223401C _02233FB8: cmp r4, #0x20 bne _0223401C _02233FC0: ldr r0, _02234100 ; =0x02243150 cmp r4, #0 ldr r2, [r0] mov r5, #0 ldrb r1, [r2, #0x4e6] bic r1, r1, #0xfc strb r1, [r2, #0x4e6] ldr r0, [r0] add r8, r0, #0x480 ble _02234048 _02233FE8: ldrb r0, [r6, r5] bl MOD13_022335EC add r1, r5, #1 mov r7, r0 ldrb r0, [r6, r1] bl MOD13_022335EC add r0, r0, r7, lsl #4 add r5, r5, #2 strb r0, [r8] cmp r5, r4 add r8, r8, #1 blt _02233FE8 b _02234048 _0223401C: ldr r1, _02234100 ; =0x02243150 mov r0, r6 ldr r5, [r1] mov r2, #0x10 ldrb r3, [r5, #0x4e6] bic r3, r3, #0xfc orr r3, r3, #4 strb r3, [r5, #0x4e6] ldr r1, [r1] add r1, r1, #0x480 bl MI_CpuCopy8 _02234048: cmp r4, #5 bgt _02234064 cmp r4, #5 bge _022340AC cmp r4, #0 beq _02234094 b _022340E4 _02234064: cmp r4, #0xd bgt _02234088 cmp r4, #0xa blt _022340E4 cmp r4, #0xa beq _022340AC cmp r4, #0xd beq _022340C8 b _022340E4 _02234088: cmp r4, #0x1a beq _022340C8 b _022340E4 _02234094: ldr r0, _02234100 ; =0x02243150 ldr r1, [r0] ldrb r0, [r1, #0x4e6] bic r0, r0, #3 strb r0, [r1, #0x4e6] ldmia sp!, {r4, r5, r6, r7, r8, pc} _022340AC: ldr r0, _02234100 ; =0x02243150 ldr r1, [r0] ldrb r0, [r1, #0x4e6] bic r0, r0, #3 orr r0, r0, #1 strb r0, [r1, #0x4e6] ldmia sp!, {r4, r5, r6, r7, r8, pc} _022340C8: ldr r0, _02234100 ; =0x02243150 ldr r1, [r0] ldrb r0, [r1, #0x4e6] bic r0, r0, #3 orr r0, r0, #2 strb r0, [r1, #0x4e6] ldmia sp!, {r4, r5, r6, r7, r8, pc} _022340E4: ldr r0, _02234100 ; =0x02243150 ldr r1, [r0] ldrb r0, [r1, #0x4e6] bic r0, r0, #3 orr r0, r0, #3 strb r0, [r1, #0x4e6] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02234100: .word 0x02243150 arm_func_start MOD13_02234104 MOD13_02234104: ; 0x02234104 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02234138 ; =0x02243150 mov r2, #0x20 ldr r1, [r1] add r1, r1, #0x440 bl MI_CpuCopy8 ldr r0, _02234138 ; =0x02243150 mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x4e7] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02234138: .word 0x02243150 arm_func_start MOD13_0223413C MOD13_0223413C: ; 0x0223413C ldr r1, _0223414C ; =0x02243150 ldr r1, [r1] strb r0, [r1, #0x4f6] bx lr .align 2, 0 _0223414C: .word 0x02243150 arm_func_start MOD13_02234150 MOD13_02234150: ; 0x02234150 ldr r1, _02234160 ; =0x02243150 ldr r1, [r1] strb r0, [r1, #0x4f5] bx lr .align 2, 0 _02234160: .word 0x02243150 arm_func_start MOD13_02234164 MOD13_02234164: ; 0x02234164 ldr r0, _02234174 ; =0x02243150 ldr r0, [r0] add r0, r0, #0x400 bx lr .align 2, 0 _02234174: .word 0x02243150 arm_func_start MOD13_02234178 MOD13_02234178: ; 0x02234178 ldr ip, _02234184 ; =MOD13_0223AF90 ldr r0, _02234188 ; =0x02243150 bx ip .align 2, 0 _02234184: .word MOD13_0223AF90 _02234188: .word 0x02243150 arm_func_start MOD13_0223418C MOD13_0223418C: ; 0x0223418C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022341CC ; =0x000006F8 mov r1, #0x20 bl MOD13_0223B004 ldr r1, _022341D0 ; =0x02243150 ldr r2, _022341D4 ; =0x000004F8 str r0, [r1] ldr r1, _022341D8 ; =0x0000A001 add r0, r0, r2 bl MATHi_CRC16InitTableRev ldr r0, _022341D0 ; =0x02243150 ldr r0, [r0] bl FUN_02095D68 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022341CC: .word 0x000006F8 _022341D0: .word 0x02243150 _022341D4: .word 0x000004F8 _022341D8: .word 0x0000A001 arm_func_start MOD13_022341DC MOD13_022341DC: ; 0x022341DC ldr ip, _022341E4 ; =0x020C01A0 bx ip .align 2, 0 _022341E4: .word 0x020C01A0 arm_func_start MOD13_022341E8 MOD13_022341E8: ; 0x022341E8 ldr r0, _02234200 ; =0x02243154 ldr ip, _02234204 ; =0x020C10A4 ldr r0, [r0] mov r1, #0 add r0, r0, #0x90 bx ip .align 2, 0 _02234200: .word 0x02243154 _02234204: .word 0x020C10A4 arm_func_start MOD13_02234208 MOD13_02234208: ; 0x02234208 ldr r2, _02234224 ; =0x02243154 ldr ip, _02234228 ; =0x020C0EA4 ldr r3, [r2] mov r2, r1 mov r1, r0 add r0, r3, #0x90 bx ip .align 2, 0 _02234224: .word 0x02243154 _02234228: .word 0x020C0EA4 arm_func_start MOD13_0223422C MOD13_0223422C: ; 0x0223422C ldr r2, _02234244 ; =0x02243154 mov r1, r0 ldr r0, [r2] ldr ip, _02234248 ; =0x020C0F40 add r0, r0, #0x90 bx ip .align 2, 0 _02234244: .word 0x02243154 _02234248: .word 0x020C0F40 arm_func_start MOD13_0223424C MOD13_0223424C: ; 0x0223424C ldr r1, _02234268 ; =0x02243154 mov r2, r0 ldr r0, [r1] ldr ip, _0223426C ; =0x020C3888 mov r1, #0 add r0, r0, #0x90 bx ip .align 2, 0 _02234268: .word 0x02243154 _0223426C: .word 0x020C3888 arm_func_start MOD13_02234270 MOD13_02234270: ; 0x02234270 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _0223429C ; =0x02243154 mov r0, #0 ldr r1, [r1] ldr r1, [r1, #0x98] bl MOD13_0223C110 ldr r0, _0223429C ; =0x02243154 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223429C: .word 0x02243154 arm_func_start MOD13_022342A0 MOD13_022342A0: ; 0x022342A0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x9c mov r1, #4 bl MOD13_0223B004 ldr r2, _0223432C ; =0x02243154 add r1, sp, #0 str r0, [r2] ldr r0, _02234330 ; =0x022405DC mov r2, #0x20 bl MOD13_022393D8 ldr r1, _0223432C ; =0x02243154 ldr r1, [r1] str r0, [r1, #0x94] bl FUN_020C01D0 ldr r0, _0223432C ; =0x02243154 ldr r0, [r0] ldr r1, [r0, #0x94] bl FUN_020C2444 mov r0, #0 bl FUN_020C39CC ldr r0, _0223432C ; =0x02243154 ldr r0, [r0] add r0, r0, #0x90 bl FUN_020C0F80 mov r0, #0 ldr r1, _02234334 ; =MOD13_022341DC mov r2, r0 mov r3, #0xc8 bl MOD13_0223C1C4 ldr r1, _0223432C ; =0x02243154 ldr r1, [r1] str r0, [r1, #0x98] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223432C: .word 0x02243154 _02234330: .word 0x022405DC _02234334: .word MOD13_022341DC arm_func_start MOD13_02234338 MOD13_02234338: ; 0x02234338 stmdb sp!, {r4, lr} ldr r1, _02234380 ; =0x02243158 mov r4, r0 ldr r0, [r1] mov r1, #0x600 bl DC_FlushRange ldr r0, _02234380 ; =0x02243158 mov r1, #0 ldr r0, [r0] mov r2, #0x600 bl GXS_LoadBG1Scr ldr r0, _02234380 ; =0x02243158 ldr r0, [r0] bl MOD13_0223939C mov r1, r4 mov r0, #1 bl MOD13_0223C110 ldmia sp!, {r4, pc} .align 2, 0 _02234380: .word 0x02243158 arm_func_start MOD13_02234384 MOD13_02234384: ; 0x02234384 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _022343C8 ; =0x02240658 ldr r0, [r1, r0, lsl #2] bl MOD13_0221F1BC mov r1, #0 mov r2, #4 bl MOD13_022393D8 ldr r2, _022343CC ; =0x02243158 ldr r1, _022343D0 ; =MOD13_02234338 str r0, [r2] mov r0, #1 mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022343C8: .word 0x02240658 _022343CC: .word 0x02243158 _022343D0: .word MOD13_02234338 arm_func_start MOD13_022343D4 MOD13_022343D4: ; 0x022343D4 ldr r0, _022343FC ; =0x0224315C ldr r0, [r0] cmp r0, #0 moveq r0, #1 bxeq lr ldrb r0, [r0, #0x18] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _022343FC: .word 0x0224315C arm_func_start MOD13_02234400 MOD13_02234400: ; 0x02234400 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _022344C8 ; =0x0224315C mov r5, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r0, [sp] ldr r6, _022344C8 ; =0x0224315C sub r0, r0, #8 ldr r7, _022344CC ; =0x0223F608 mov r4, #0 str r0, [sp] mvn r8, #0 _02234444: add r0, r7, r4, lsl #2 ldr r1, [r6] ldrh r3, [r0, #2] ldr r0, [r1, r4, lsl #2] ldr r2, [sp] mov r1, r8 bl MOD13_02239888 add r4, r4, #1 cmp r4, #5 blt _02234444 ldr r1, [sp] ldr r0, _022344D0 ; =0x000001D6 cmp r1, r0 addgt sp, sp, #8 ldmgtia sp!, {r4, r5, r6, r7, r8, pc} cmp r1, #0x100 addlt sp, sp, #8 ldmltia sp!, {r4, r5, r6, r7, r8, pc} mov r1, r5 mov r0, #0 bl MOD13_0223C110 mov r5, #0 ldr r4, _022344C8 ; =0x0224315C _022344A0: ldr r0, [r4] ldr r0, [r0, r5, lsl #2] bl MOD13_02239AE8 add r5, r5, #1 cmp r5, #5 blt _022344A0 ldr r0, _022344C8 ; =0x0224315C bl MOD13_0223AF90 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _022344C8: .word 0x0224315C _022344CC: .word 0x0223F608 _022344D0: .word 0x000001D6 arm_func_start MOD13_022344D4 MOD13_022344D4: ; 0x022344D4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _022345A0 ; =0x0224315C mov r5, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #4] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r4, _022345A4 ; =0x0223F608 ldr r1, [sp] ldrh r0, [r4] sub r1, r1, #8 str r1, [sp] cmp r1, r0 ble _02234554 ldr r5, _022345A0 ; =0x0224315C mov r7, #1 mvn r6, #0 _02234524: add r0, r4, r7, lsl #2 ldr r1, [r5] ldrh r3, [r0, #2] ldr r0, [r1, r7, lsl #2] ldr r2, [sp] mov r1, r6 bl MOD13_02239888 add r7, r7, #1 cmp r7, #5 blt _02234524 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02234554: str r0, [sp] mov r8, #1 ldr r6, _022345A0 ; =0x0224315C mvn r7, #0 _02234564: add r0, r4, r8, lsl #2 ldr r1, [r6] ldrh r3, [r0, #2] ldr r0, [r1, r8, lsl #2] ldr r2, [sp] mov r1, r7 bl MOD13_02239888 add r8, r8, #1 cmp r8, #5 blt _02234564 ldr r1, _022345A8 ; =MOD13_02234400 mov r0, r5 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _022345A0: .word 0x0224315C _022345A4: .word 0x0223F608 _022345A8: .word MOD13_02234400 arm_func_start MOD13_022345AC MOD13_022345AC: ; 0x022345AC stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _02234678 ; =0x0224315C mov r5, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #8] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r4, _0223467C ; =0x0223F608 ldr r1, [sp] ldrh r0, [r4, #4] sub r1, r1, #8 str r1, [sp] cmp r1, r0 ble _0223462C ldr r5, _02234678 ; =0x0224315C mov r7, #2 mvn r6, #0 _022345FC: add r0, r4, r7, lsl #2 ldr r1, [r5] ldrh r3, [r0, #2] ldr r0, [r1, r7, lsl #2] ldr r2, [sp] mov r1, r6 bl MOD13_02239888 add r7, r7, #1 cmp r7, #5 blt _022345FC add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0223462C: str r0, [sp] mov r8, #2 ldr r6, _02234678 ; =0x0224315C mvn r7, #0 _0223463C: add r0, r4, r8, lsl #2 ldr r1, [r6] ldrh r3, [r0, #2] ldr r0, [r1, r8, lsl #2] ldr r2, [sp] mov r1, r7 bl MOD13_02239888 add r8, r8, #1 cmp r8, #5 blt _0223463C ldr r1, _02234680 ; =MOD13_022344D4 mov r0, r5 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02234678: .word 0x0224315C _0223467C: .word 0x0223F608 _02234680: .word MOD13_022344D4 arm_func_start MOD13_02234684 MOD13_02234684: ; 0x02234684 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _02234750 ; =0x0224315C mov r5, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #0xc] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r4, _02234754 ; =0x0223F608 ldr r1, [sp] ldrh r0, [r4, #8] sub r1, r1, #8 str r1, [sp] cmp r1, r0 ble _02234704 ldr r5, _02234750 ; =0x0224315C mov r7, #3 mvn r6, #0 _022346D4: add r0, r4, r7, lsl #2 ldr r1, [r5] ldrh r3, [r0, #2] ldr r0, [r1, r7, lsl #2] ldr r2, [sp] mov r1, r6 bl MOD13_02239888 add r7, r7, #1 cmp r7, #5 blt _022346D4 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02234704: str r0, [sp] mov r8, #3 ldr r6, _02234750 ; =0x0224315C mvn r7, #0 _02234714: add r0, r4, r8, lsl #2 ldr r1, [r6] ldrh r3, [r0, #2] ldr r0, [r1, r8, lsl #2] ldr r2, [sp] mov r1, r7 bl MOD13_02239888 add r8, r8, #1 cmp r8, #5 blt _02234714 ldr r1, _02234758 ; =MOD13_022345AC mov r0, r5 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02234750: .word 0x0224315C _02234754: .word 0x0223F608 _02234758: .word MOD13_022345AC arm_func_start MOD13_0223475C MOD13_0223475C: ; 0x0223475C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _022347F4 ; =0x0224315C mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #0x10] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r1, _022347F8 ; =0x0223F608 ldr r0, [sp] ldrh ip, [r1, #0xc] sub r2, r0, #8 str r2, [sp] cmp r2, ip ble _022347C0 ldr r0, _022347F4 ; =0x0224315C ldrh r3, [r1, #0x12] ldr r0, [r0] mvn r1, #0 ldr r0, [r0, #0x10] bl MOD13_02239888 add sp, sp, #8 ldmia sp!, {r4, pc} _022347C0: ldr r0, _022347F4 ; =0x0224315C str ip, [sp] ldr r0, [r0] ldrh r3, [r1, #0x12] ldr r0, [r0, #0x10] mov r2, ip mvn r1, #0 bl MOD13_02239888 ldr r1, _022347FC ; =MOD13_02234684 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _022347F4: .word 0x0224315C _022347F8: .word 0x0223F608 _022347FC: .word MOD13_02234684 arm_func_start MOD13_02234800 MOD13_02234800: ; 0x02234800 ldr r0, _0223481C ; =0x0224315C ldr r0, [r0] ldr r0, [r0, #0x14] cmp r0, #0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _0223481C: .word 0x0224315C arm_func_start MOD13_02234820 MOD13_02234820: ; 0x02234820 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov r1, #5 mul r2, r0, r1 mov sl, #0 str r0, [sp] ldr r1, _022348F8 ; =0x0223F5E8 ldr r0, _022348FC ; =0x0223F5F8 ldr r4, _02234900 ; =0x0224315C add sb, r1, r2 add r8, r0, r2 mov r7, sl mov fp, sl str sl, [sp, #4] mov r6, #1 mvn r5, #0 _02234860: ldr r0, [r4] mov r1, r7 ldr r0, [r0, sl, lsl #2] bl MOD13_02239ADC mov r2, r0 ldrb r1, [sb] mov r0, r6 bl MOD13_02239E8C ldr r0, [r4] mov r1, r5 ldr r0, [r0, sl, lsl #2] mov r2, fp bl MOD13_02239814 ldr r3, _02234904 ; =0x0223F608 ldr r0, [r4] add r3, r3, sl, lsl #2 ldr r1, _02234904 ; =0x0223F608 mov r2, sl, lsl #2 ldrh r2, [r1, r2] ldrh r3, [r3, #2] ldr r0, [r0, sl, lsl #2] mov r1, r5 bl MOD13_02239888 ldr r0, [r4] ldrb r3, [r8] ldr r0, [r0, sl, lsl #2] ldr r2, [sp, #4] mov r1, r5 bl MOD13_02239994 add sl, sl, #2 add sb, sb, #2 add r8, r8, #2 cmp sl, #5 blt _02234860 ldr r0, [sp] bl MOD13_02234384 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _022348F8: .word 0x0223F5E8 _022348FC: .word 0x0223F5F8 _02234900: .word 0x0224315C _02234904: .word 0x0223F608 arm_func_start MOD13_02234908 MOD13_02234908: ; 0x02234908 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02234948 ; =0x0224315C mov r0, #0 ldr ip, [r1] mov lr, #1 ldr r1, _0223494C ; =MOD13_0223475C mov r2, r0 mov r3, #0x78 strb lr, [ip, #0x18] bl MOD13_0223C1C4 ldr r1, _02234948 ; =0x0224315C ldr r1, [r1] str r0, [r1, #0x14] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02234948: .word 0x0224315C _0223494C: .word MOD13_0223475C arm_func_start MOD13_02234950 MOD13_02234950: ; 0x02234950 stmdb sp!, {lr} sub sp, sp, #4 mov r1, r0 mov r0, #0 bl MOD13_0223C110 ldr r0, _0223497C ; =0x0224315C mov r1, #0 ldr r0, [r0] str r1, [r0, #0x14] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223497C: .word 0x0224315C arm_func_start MOD13_02234980 MOD13_02234980: ; 0x02234980 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02234A24 ; =0x0224315C mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #0x10] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r1, _02234A28 ; =0x0223F608 ldr r0, [sp] ldrh ip, [r1, #0x10] add r2, r0, #8 str r2, [sp] cmp r2, ip blt _022349CC cmp r2, #0x100 ble _022349F0 _022349CC: ldr r1, _02234A24 ; =0x0224315C ldr r0, _02234A28 ; =0x0223F608 ldr r1, [r1] ldrh r3, [r0, #0x12] ldr r0, [r1, #0x10] mvn r1, #0 bl MOD13_02239888 add sp, sp, #8 ldmia sp!, {r4, pc} _022349F0: ldr r0, _02234A24 ; =0x0224315C str ip, [sp] ldr r0, [r0] ldrh r3, [r1, #0x12] ldr r0, [r0, #0x10] mov r2, ip mvn r1, #0 bl MOD13_02239888 ldr r1, _02234A2C ; =MOD13_02234950 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02234A24: .word 0x0224315C _02234A28: .word 0x0223F608 _02234A2C: .word MOD13_02234950 arm_func_start MOD13_02234A30 MOD13_02234A30: ; 0x02234A30 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _02234B08 ; =0x0224315C mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #0xc] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r6, _02234B0C ; =0x0223F608 ldr r1, [sp] ldrh r0, [r6, #0xc] add r1, r1, #8 str r1, [sp] cmp r1, r0 blt _02234A7C cmp r1, #0x100 ble _02234ABC _02234A7C: ldr r4, _02234B08 ; =0x0224315C ldr r5, _02234B0C ; =0x0223F608 mov r7, #3 mvn r6, #0 _02234A8C: add r0, r5, r7, lsl #2 ldr r1, [r4] ldrh r3, [r0, #2] ldr r0, [r1, r7, lsl #2] ldr r2, [sp] mov r1, r6 bl MOD13_02239888 add r7, r7, #1 cmp r7, #5 blt _02234A8C add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02234ABC: str r0, [sp] mov r8, #3 ldr r5, _02234B08 ; =0x0224315C mvn r7, #0 _02234ACC: add r0, r6, r8, lsl #2 ldr r1, [r5] ldrh r3, [r0, #2] ldr r0, [r1, r8, lsl #2] ldr r2, [sp] mov r1, r7 bl MOD13_02239888 add r8, r8, #1 cmp r8, #5 blt _02234ACC ldr r1, _02234B10 ; =MOD13_02234980 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02234B08: .word 0x0224315C _02234B0C: .word 0x0223F608 _02234B10: .word MOD13_02234980 arm_func_start MOD13_02234B14 MOD13_02234B14: ; 0x02234B14 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _02234BEC ; =0x0224315C mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #8] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r6, _02234BF0 ; =0x0223F608 ldr r1, [sp] ldrh r0, [r6, #8] add r1, r1, #8 str r1, [sp] cmp r1, r0 blt _02234B60 cmp r1, #0x100 ble _02234BA0 _02234B60: ldr r4, _02234BEC ; =0x0224315C ldr r5, _02234BF0 ; =0x0223F608 mov r7, #2 mvn r6, #0 _02234B70: add r0, r5, r7, lsl #2 ldr r1, [r4] ldrh r3, [r0, #2] ldr r0, [r1, r7, lsl #2] ldr r2, [sp] mov r1, r6 bl MOD13_02239888 add r7, r7, #1 cmp r7, #5 blt _02234B70 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02234BA0: str r0, [sp] mov r8, #2 ldr r5, _02234BEC ; =0x0224315C mvn r7, #0 _02234BB0: add r0, r6, r8, lsl #2 ldr r1, [r5] ldrh r3, [r0, #2] ldr r0, [r1, r8, lsl #2] ldr r2, [sp] mov r1, r7 bl MOD13_02239888 add r8, r8, #1 cmp r8, #5 blt _02234BB0 ldr r1, _02234BF4 ; =MOD13_02234A30 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02234BEC: .word 0x0224315C _02234BF0: .word 0x0223F608 _02234BF4: .word MOD13_02234A30 arm_func_start MOD13_02234BF8 MOD13_02234BF8: ; 0x02234BF8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _02234CD0 ; =0x0224315C mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0, #4] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r6, _02234CD4 ; =0x0223F608 ldr r1, [sp] ldrh r0, [r6, #4] add r1, r1, #8 str r1, [sp] cmp r1, r0 blt _02234C44 cmp r1, #0x100 ble _02234C84 _02234C44: ldr r4, _02234CD0 ; =0x0224315C ldr r5, _02234CD4 ; =0x0223F608 mov r7, #1 mvn r6, #0 _02234C54: add r0, r5, r7, lsl #2 ldr r1, [r4] ldrh r3, [r0, #2] ldr r0, [r1, r7, lsl #2] ldr r2, [sp] mov r1, r6 bl MOD13_02239888 add r7, r7, #1 cmp r7, #5 blt _02234C54 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02234C84: str r0, [sp] mov r8, #1 ldr r5, _02234CD0 ; =0x0224315C mvn r7, #0 _02234C94: add r0, r6, r8, lsl #2 ldr r1, [r5] ldrh r3, [r0, #2] ldr r0, [r1, r8, lsl #2] ldr r2, [sp] mov r1, r7 bl MOD13_02239888 add r8, r8, #1 cmp r8, #5 blt _02234C94 ldr r1, _02234CD8 ; =MOD13_02234B14 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02234CD0: .word 0x0224315C _02234CD4: .word 0x0223F608 _02234CD8: .word MOD13_02234B14 arm_func_start MOD13_02234CDC MOD13_02234CDC: ; 0x02234CDC stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r1, _02234DB4 ; =0x0224315C mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r6, _02234DB8 ; =0x0223F608 ldr r1, [sp] ldrh r0, [r6] add r1, r1, #8 str r1, [sp] cmp r1, r0 blt _02234D28 cmp r1, #0x100 ble _02234D68 _02234D28: ldr r4, _02234DB4 ; =0x0224315C ldr r5, _02234DB8 ; =0x0223F608 mov r7, #0 mvn r6, #0 _02234D38: add r0, r5, r7, lsl #2 ldr r1, [r4] ldrh r3, [r0, #2] ldr r0, [r1, r7, lsl #2] ldr r2, [sp] mov r1, r6 bl MOD13_02239888 add r7, r7, #1 cmp r7, #5 blt _02234D38 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _02234D68: str r0, [sp] mov r8, #0 ldr r5, _02234DB4 ; =0x0224315C mvn r7, #0 _02234D78: add r0, r6, r8, lsl #2 ldr r1, [r5] ldrh r3, [r0, #2] ldr r0, [r1, r8, lsl #2] ldr r2, [sp] mov r1, r7 bl MOD13_02239888 add r8, r8, #1 cmp r8, #5 blt _02234D78 ldr r1, _02234DBC ; =MOD13_02234BF8 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02234DB4: .word 0x0224315C _02234DB8: .word 0x0223F608 _02234DBC: .word MOD13_02234BF8 arm_func_start MOD13_02234DC0 MOD13_02234DC0: ; 0x02234DC0 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc str r0, [sp] mov r0, #0x1c mov r1, #4 bl MOD13_0223AFE0 ldr r1, [sp] mov r2, #5 mul r3, r1, r2 mov sl, #0 ldr r4, _02234EC4 ; =0x0224315C ldr r2, _02234EC8 ; =0x0223F5E8 ldr r1, _02234ECC ; =0x0223F5F8 str r0, [r4] add sb, r2, r3 add r8, r1, r3 mov fp, sl str sl, [sp, #4] mov r7, #1 mvn r6, #0 mvn r5, #0x29 _02234E14: ldrb r1, [sb] mov r0, r7 mov r2, r7 bl MOD13_02239E0C ldr r2, [r4] mov r1, r6 str r0, [r2, sl, lsl #2] ldr r0, [r4] mov r2, fp ldr r0, [r0, sl, lsl #2] bl MOD13_02239814 ldr r3, _02234ED0 ; =0x0223F608 ldr r0, [r4] add r3, r3, sl, lsl #2 ldrh r3, [r3, #2] ldr r0, [r0, sl, lsl #2] mov r1, r6 mov r2, r5 bl MOD13_02239888 ldr r0, [r4] ldrb r3, [r8] ldr r0, [r0, sl, lsl #2] ldr r2, [sp, #4] mov r1, r6 bl MOD13_02239994 add sl, sl, #1 add sb, sb, #1 add r8, r8, #1 cmp sl, #5 blt _02234E14 mov r0, #0 ldr r1, _02234ED4 ; =MOD13_02234CDC mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02234EC4 ; =0x0224315C ldr r1, [r1] str r0, [r1, #0x14] ldr r0, [sp] bl MOD13_02234384 mov r0, #0xd bl MOD13_0223424C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02234EC4: .word 0x0224315C _02234EC8: .word 0x0223F5E8 _02234ECC: .word 0x0223F5F8 _02234ED0: .word 0x0223F608 _02234ED4: .word MOD13_02234CDC arm_func_start MOD13_02234ED8 MOD13_02234ED8: ; 0x02234ED8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #4 str r0, [sp] bl OS_GetTick ldr r2, _02235018 ; =0x02243160 ldr r3, _0223501C ; =0x0017F898 ldr fp, [r2] mov r8, #0 add r2, fp, #0x1000 ldr r4, [r2, #0xb78] ldr r2, [r2, #0xb7c] adds r3, r4, r3 adc r2, r2, #0 cmp r1, r2 cmpeq r0, r3 addlo sp, sp, #4 ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov sb, r8 mov sl, r8 mov r6, fp add r7, fp, #0x1300 mov r4, #1 mov r5, #6 _02234F34: ldr r1, _02235020 ; =0x0223F61C mov r0, r7 mov r2, r5 bl memcmp cmp r0, #0 beq _02234F60 add r0, r6, #0x1000 ldrb r0, [r0, #0x306] cmp r0, #0 movne sb, r4 moveq r8, r4 _02234F60: add sl, sl, #1 cmp sl, #0x10 add r7, r7, #7 add r6, r6, #7 blt _02234F34 cmp sb, #0 beq _02234FA0 cmp r8, #0 beq _02234FA0 add r0, fp, #0x1000 ldr r1, [r0, #0x370] cmp r1, #0 beq _02234FE4 mov r0, #2 blx r1 b _02234FE4 _02234FA0: cmp sb, #0 beq _02234FC4 add r0, fp, #0x1000 ldr r1, [r0, #0x370] cmp r1, #0 beq _02234FE4 mov r0, #1 blx r1 b _02234FE4 _02234FC4: cmp r8, #0 bne _02234FE4 add r0, fp, #0x1000 ldr r1, [r0, #0x370] cmp r1, #0 beq _02234FE4 mov r0, #0 blx r1 _02234FE4: ldr r3, _02235018 ; =0x02243160 mov r0, #0 ldr r2, [r3] ldr r1, [sp] add r2, r2, #0x1000 str r0, [r2, #0xb80] ldr r2, [r3] mov r3, #1 add r2, r2, #0x1000 strb r3, [r2, #0xb86] bl MOD13_0223C110 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02235018: .word 0x02243160 _0223501C: .word 0x0017F898 _02235020: .word 0x0223F61C arm_func_start MOD13_02235024 MOD13_02235024: ; 0x02235024 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r1, _02235154 ; =0x02243160 mov r4, r0 ldr r2, [r1] add r1, r2, #0x1000 ldrb r0, [r1, #0xb85] cmp r0, #0 beq _02235064 ldr r1, [r1, #0x370] cmp r1, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} blx r1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02235064: add r0, r2, #0xf00 mov r1, #0x400 bl DC_InvalidateRange ldrh fp, [r4, #0xe] mov sl, #0 cmp fp, #0 addle sp, sp, #0xc ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} ldr r0, _02235154 ; =0x02243160 ldr r7, [r0] str sl, [sp, #4] mov r5, #6 mov r0, #8 str r0, [sp] _0223509C: add r0, r4, sl, lsl #2 ldr r6, [r0, #0x10] ldr r1, _02235158 ; =0x0223F624 ldr r2, [sp] add r0, r6, #0xc bl memcmp cmp r0, #0 bne _02235140 ldrb r0, [r6, #0x15] ands r0, r0, #1 beq _02235140 ldr sb, [sp, #4] add r8, r7, #0x1300 add r6, r6, #4 _022350D4: mov r0, r6 mov r1, r8 mov r2, r5 bl memcmp cmp r0, #0 bne _02235130 mov r0, #7 mla r0, sb, r0, r7 add r0, r0, #0x1000 ldrb r0, [r0, #0x306] cmp r0, #0 bne _02235140 add r0, r7, #0x1000 ldr r1, [r0, #0x370] cmp r1, #0 moveq r1, #1 streqb r1, [r0, #0xb85] addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #1 blx r1 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _02235130: add sb, sb, #1 cmp sb, #0x10 add r8, r8, #7 blt _022350D4 _02235140: add sl, sl, #1 cmp sl, fp blt _0223509C add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02235154: .word 0x02243160 _02235158: .word 0x0223F624 arm_func_start MOD13_0223515C MOD13_0223515C: ; 0x0223515C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x1c str r0, [sp] ldrh r0, [r0, #0xe] mov fp, #0 cmp r0, #0 addle sp, sp, #0x1c ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #1 str r0, [sp, #0x14] mov r0, #0xc0 str r0, [sp, #4] mov r0, #8 ldr r4, _022352EC ; =0x0223F61C str fp, [sp, #0x18] str fp, [sp, #0xc] str fp, [sp, #0x10] mov r5, #6 str r0, [sp, #8] _022351A8: ldr r0, [sp] ldr r1, [sp, #4] add r0, r0, fp, lsl #2 ldr sl, [r0, #0x10] mov r0, sl bl DC_InvalidateRange ldr r1, _022352F0 ; =0x0223F624 ldr r2, [sp, #8] add r0, sl, #0xc bl memcmp cmp r0, #0 bne _022352D0 ldr r0, _022352F4 ; =0x02243160 ldr sb, [sp, #0xc] ldr r7, [r0] add r6, sl, #4 add r8, r7, #0x1300 _022351EC: mov r0, r6 mov r1, r8 mov r2, r5 bl memcmp cmp r0, #0 bne _0223524C mov r0, #7 mla r0, sb, r0, r7 add r0, r0, #0x1000 ldrb r0, [r0, #0x306] cmp r0, #0 bne _022352D0 ldrb r0, [sl, #0x15] ands r0, r0, #1 beq _022352D0 add r0, r7, #0x1000 ldr r1, [r0, #0x370] cmp r1, #0 addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #1 blx r1 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _0223524C: add r8, r8, #7 add sb, sb, #1 cmp sb, #0x10 blt _022351EC ldr r6, [sp, #0x10] add r8, r7, #0x1300 _02235264: mov r0, r8 mov r1, r4 mov r2, r5 bl memcmp cmp r0, #0 bne _022352C0 mov r0, #7 add r1, r7, #0x1300 mul r7, r6, r0 add r1, r1, r7 add r0, sl, #4 mov r2, r5 bl MI_CpuCopy8 ldrb r0, [sl, #0x15] ands r0, r0, #1 ldr r0, _022352F4 ; =0x02243160 ldrne r1, [sp, #0x14] ldr r0, [r0] ldreq r1, [sp, #0x18] add r0, r0, r7 add r0, r0, #0x1000 strb r1, [r0, #0x306] b _022352D0 _022352C0: add r8, r8, #7 add r6, r6, #1 cmp r6, #0x10 blt _02235264 _022352D0: ldr r0, [sp] add fp, fp, #1 ldrh r0, [r0, #0xe] cmp fp, r0 blt _022351A8 add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _022352EC: .word 0x0223F61C _022352F0: .word 0x0223F624 _022352F4: .word 0x02243160 arm_func_start MOD13_022352F8 MOD13_022352F8: ; 0x022352F8 stmdb sp!, {lr} sub sp, sp, #4 ldrh r1, [r0, #2] cmp r1, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r1, _022353A0 ; =0x02243160 ldr r1, [r1] add r1, r1, #0x1000 ldrb r2, [r1, #0xb84] cmp r2, #0 beq _02235340 ldrh r0, [r0] add sp, sp, #4 cmp r0, #2 moveq r0, #2 streqb r0, [r1, #0xb84] ldmia sp!, {pc} _02235340: ldrh r2, [r0] cmp r2, #0x26 addne sp, sp, #4 ldmneia sp!, {pc} ldrh r2, [r0, #8] cmp r2, #4 beq _02235388 cmp r2, #5 bne _02235394 ldrb r1, [r1, #0xb86] cmp r1, #0 beq _02235378 bl MOD13_02235024 b _0223537C _02235378: bl MOD13_0223515C _0223537C: bl MOD13_022354B4 add sp, sp, #4 ldmia sp!, {pc} _02235388: bl MOD13_022354B4 add sp, sp, #4 ldmia sp!, {pc} _02235394: bl OS_Terminate add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022353A0: .word 0x02243160 arm_func_start MOD13_022353A4 MOD13_022353A4: ; 0x022353A4 ldr r1, _022353B8 ; =0x02243160 ldr r1, [r1] add r1, r1, #0x1000 str r0, [r1, #0x370] bx lr .align 2, 0 _022353B8: .word 0x02243160 arm_func_start MOD13_022353BC MOD13_022353BC: ; 0x022353BC stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _022354A8 ; =0x02243160 mov r3, #1 ldr r0, [r2] ldr r1, _022354AC ; =0x000013B8 add r0, r0, #0x1000 strb r3, [r0, #0xb84] ldr r0, [r2] add r0, r0, r1 bl WM_ReadStatus ldr r0, _022354A8 ; =0x02243160 ldr r0, [r0] add r0, r0, #0x1300 ldrh r0, [r0, #0xb8] cmp r0, #2 beq _02235444 ldr r0, _022354B0 ; =MOD13_022352F8 bl WM_Reset cmp r0, #2 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {pc} _02235418: ldr r1, _022354A8 ; =0x02243160 ldr r0, _022354AC ; =0x000013B8 ldr r1, [r1] add r0, r1, r0 bl WM_ReadStatus ldr r0, _022354A8 ; =0x02243160 ldr r0, [r0] add r0, r0, #0x1300 ldrh r0, [r0, #0xb8] cmp r0, #2 bne _02235418 _02235444: ldr r0, _022354B0 ; =MOD13_022352F8 bl WM_End cmp r0, #2 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {pc} ldr r0, _022354A8 ; =0x02243160 ldr r0, [r0] add r0, r0, #0x1000 ldr r1, [r0, #0xb80] cmp r1, #0 beq _0223547C mov r0, #0 bl MOD13_0223C104 _0223547C: ldr r0, _022354A8 ; =0x02243160 ldr r0, [r0] add r0, r0, #0x1000 _02235488: ldrb r1, [r0, #0xb84] cmp r1, #2 bne _02235488 ldr r0, _022354A8 ; =0x02243160 bl MOD13_0223AF90 mov r0, #1 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022354A8: .word 0x02243160 _022354AC: .word 0x000013B8 _022354B0: .word MOD13_022352F8 arm_func_start MOD13_022354B4 MOD13_022354B4: ; 0x022354B4 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022354E8 ; =0x02243160 ldr r1, _022354EC ; =0x00001374 ldr r2, [r0] ldr r0, _022354F0 ; =MOD13_022352F8 add r1, r2, r1 bl WM_StartScanEx cmp r0, #2 moveq r0, #1 movne r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022354E8: .word 0x02243160 _022354EC: .word 0x00001374 _022354F0: .word MOD13_022352F8 arm_func_start MOD13_022354F4 MOD13_022354F4: ; 0x022354F4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x54 mov r4, r0 ldr r0, _0223565C ; =0x00001BA0 mov r1, #0x20 bl MOD13_0223AFE0 ldr r2, _02235660 ; =0x02243160 add r1, r0, #0x1000 str r0, [r2] str r4, [r1, #0x370] ldr r4, [r2] bl OS_GetTick add r2, r4, #0x1000 str r0, [r2, #0xb78] str r1, [r2, #0xb7c] ldr r1, _02235664 ; =MOD13_022352F8 mov r0, r4 mov r2, #3 bl WM_Initialize cmp r0, #2 bne _02235648 ldr r5, _02235660 ; =0x02243160 ldr r4, _02235668 ; =0x000013B8 _02235550: ldr r0, [r5] add r0, r0, r4 bl WM_ReadStatus ldr ip, [r5] add r0, ip, #0x1300 ldrh r0, [r0, #0xb8] cmp r0, #2 bne _02235550 ldr r0, _0223566C ; =0x00001374 ldr lr, _02235670 ; =0x0223F630 add r5, ip, r0 mov r4, #4 _02235580: ldmia lr!, {r0, r1, r2, r3} stmia r5!, {r0, r1, r2, r3} subs r4, r4, #1 bne _02235580 ldr r0, [lr] add r1, ip, #0xf00 str r0, [r5] add r0, ip, #0x1000 str r1, [r0, #0x374] bl WM_GetDispersionScanPeriod ldr r1, _02235660 ; =0x02243160 ldr r1, [r1] add r1, r1, #0x1300 strh r0, [r1, #0x7c] add r0, sp, #0 bl OS_GetOwnerInfo ldr r0, _02235660 ; =0x02243160 ldr r1, _02235674 ; =0x00001388 ldr r2, [r0] ldr r0, _02235678 ; =0x0223F624 add r1, r2, r1 mov r2, #8 bl MI_CpuCopy8 ldr r2, _02235660 ; =0x02243160 mov r3, #1 ldr r0, [r2] ldr r1, _0223567C ; =0x00001394 add r0, r0, #0x1000 strb r3, [r0, #0x391] ldr r2, [r2] ldrh r3, [sp, #0x18] add r1, r2, r1 add r0, sp, #4 mov r2, r3, lsl #1 bl MI_CpuCopy8 bl MOD13_022354B4 cmp r0, #0 beq _02235648 mov r0, #0 ldr r1, _02235680 ; =MOD13_02234ED8 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02235660 ; =0x02243160 add sp, sp, #0x54 ldr r1, [r1] add r1, r1, #0x1000 str r0, [r1, #0xb80] mov r0, #1 ldmia sp!, {r4, r5, pc} _02235648: ldr r0, _02235660 ; =0x02243160 bl MOD13_0223AF90 mov r0, #0 add sp, sp, #0x54 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223565C: .word 0x00001BA0 _02235660: .word 0x02243160 _02235664: .word MOD13_022352F8 _02235668: .word 0x000013B8 _0223566C: .word 0x00001374 _02235670: .word 0x0223F630 _02235674: .word 0x00001388 _02235678: .word 0x0223F624 _0223567C: .word 0x00001394 _02235680: .word MOD13_02234ED8 arm_func_start MOD13_02235684 MOD13_02235684: ; 0x02235684 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r3, #0x4000000 ldr r2, [r3] ldr r1, _02235730 ; =0x02243164 bic r2, r2, #0xe000 str r2, [r3] ldr r1, [r1] mov r6, r0 ldr r0, [r1] bl MOD13_02239AE8 ldr r0, _02235730 ; =0x02243164 ldr r0, [r0] ldr r0, [r0, #4] bl MOD13_02239AE8 ldr r7, _02235730 ; =0x02243164 ldr r4, _02235734 ; =0x0223F680 ldr r1, [r7] mov r5, #0 ldrb r0, [r1, #0x1c] ldrb r0, [r4, r0] cmp r0, #0 ble _0223570C _022356E0: add r0, r1, r5, lsl #2 ldr r0, [r0, #8] cmp r0, #0 beq _022356F4 bl MOD13_02239AE8 _022356F4: ldr r1, [r7] add r5, r5, #1 ldrb r0, [r1, #0x1c] ldrb r0, [r4, r0] cmp r5, r0 blt _022356E0 _0223570C: ldr r0, [r1, #0x10] bl MOD13_0223A978 mov r1, r6 mov r0, #1 bl MOD13_0223C110 ldr r0, _02235730 ; =0x02243164 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02235730: .word 0x02243164 _02235734: .word 0x0223F680 arm_func_start MOD13_02235738 MOD13_02235738: ; 0x02235738 stmdb sp!, {r4, lr} ldr r1, _02235788 ; =0x02243164 mov r4, r0 ldr r3, [r1] ldr r0, _0223578C ; =0x04000050 ldrsb r2, [r3, #0x1a] add r2, r2, #1 strb r2, [r3, #0x1a] ldr r1, [r1] ldrsb r1, [r1, #0x1a] bl G2x_ChangeBlendBrightness_ ldr r0, _02235788 ; =0x02243164 ldr r0, [r0] ldrsb r0, [r0, #0x1a] cmp r0, #0 ldmltia sp!, {r4, pc} ldr r1, _02235790 ; =MOD13_02235684 mov r0, r4 bl MOD13_0223C130 ldmia sp!, {r4, pc} .align 2, 0 _02235788: .word 0x02243164 _0223578C: .word 0x04000050 _02235790: .word MOD13_02235684 arm_func_start MOD13_02235794 MOD13_02235794: ; 0x02235794 stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02235818 ; =0x02243164 mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r0, [sp, #4] add r0, r0, #0xc str r0, [sp, #4] bl MOD13_022359B8 ldr r0, [sp, #4] cmp r0, #0xc0 addlt sp, sp, #8 ldmltia sp!, {r4, pc} ldr r0, _02235818 ; =0x02243164 ldr r0, [r0] ldrb r0, [r0, #0x1e] cmp r0, #0 beq _02235804 ldr r1, _0223581C ; =MOD13_02235738 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} _02235804: ldr r1, _02235820 ; =MOD13_02235684 mov r0, r4 bl MOD13_0223C130 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02235818: .word 0x02243164 _0223581C: .word MOD13_02235738 _02235820: .word MOD13_02235684 arm_func_start MOD13_02235824 MOD13_02235824: ; 0x02235824 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02235864 ; =0x02243164 ldr r3, [r1] ldrb r2, [r3, #0x1d] add r2, r2, #1 strb r2, [r3, #0x1d] ldr r1, [r1] ldrb r1, [r1, #0x1d] cmp r1, #8 addlo sp, sp, #4 ldmloia sp!, {pc} ldr r1, _02235868 ; =MOD13_02235794 bl MOD13_0223C130 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02235864: .word 0x02243164 _02235868: .word MOD13_02235794 arm_func_start MOD13_0223586C MOD13_0223586C: ; 0x0223586C stmdb sp!, {r4, lr} ldr r1, _02235918 ; =0x02243164 mov r4, r0 ldr r0, [r1] mov r1, #0 add r0, r0, r4, lsl #2 ldr r0, [r0, #8] bl MOD13_02239ADC ldr r1, _02235918 ; =0x02243164 mov r2, r0 ldr r0, [r1] ldr r1, _0223591C ; =0x0223F6B0 ldrb r3, [r0, #0x1c] mov r0, #0 add r1, r1, r3, lsl #1 ldrb r1, [r4, r1] add r1, r1, #1 bl MOD13_02239E8C ldr r0, _02235918 ; =0x02243164 ldr r2, _02235920 ; =0x0223F698 ldr r0, [r0] ldr r1, _02235924 ; =0x0223F718 ldrb lr, [r0, #0x1c] add r0, r0, r4, lsl #2 ldr r0, [r0, #8] add r2, r2, lr, lsl #1 ldrb r3, [r4, r2] add r2, r1, lr, lsl #3 mvn r1, #0 mov ip, r3, lsl #2 ldrh r2, [ip, r2] ldr r3, _02235928 ; =0x0223F71A add r3, r3, lr, lsl #3 ldrh r3, [ip, r3] bl MOD13_02239888 ldr r0, _02235918 ; =0x02243164 mvn r1, #0 ldr r0, [r0] mov r2, #0 add r0, r0, r4, lsl #2 ldr r0, [r0, #8] bl MOD13_02239814 ldmia sp!, {r4, pc} .align 2, 0 _02235918: .word 0x02243164 _0223591C: .word 0x0223F6B0 _02235920: .word 0x0223F698 _02235924: .word 0x0223F718 _02235928: .word 0x0223F71A arm_func_start MOD13_0223592C MOD13_0223592C: ; 0x0223592C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc mov sl, r0 mov sb, r1 bl MOD13_02239AD4 mov r8, r0 cmp r8, #0 mov r7, #0 addle sp, sp, #0xc ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} add fp, sp, #0 mov r6, r7 mov r4, r7 mov r5, #0x200 _02235964: mov r0, sl mov r1, r7 mov r2, fp add r3, sp, #4 bl MOD13_022397DC ldr r0, [sp, #4] cmp r0, sb blt _02235990 cmp r0, #0xc0 movlt r2, r6 blt _02235994 _02235990: mov r2, r5 _02235994: mov r0, sl mov r1, r7 mov r3, r4 bl MOD13_02239A1C add r7, r7, #1 cmp r7, r8 blt _02235964 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} arm_func_start MOD13_022359B8 MOD13_022359B8: ; 0x022359B8 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r1, _02235B4C ; =0x02243164 mov sl, r0 ldr r0, [r1] ldr r1, _02235B50 ; =0x0223F6E8 ldrb r2, [r0, #0x1c] ldr r0, [r0] mov r3, sl mov r2, r2, lsl #2 ldrh r2, [r1, r2] mvn r1, #0 bl MOD13_02239888 ldr r1, _02235B4C ; =0x02243164 ldr r0, _02235B54 ; =0x0223F674 ldr r5, [r1] ldr r2, _02235B50 ; =0x0223F6E8 ldrb r3, [r5, #0x1c] ldrh r1, [r0, #2] ldrh r4, [r0] mov r0, r3, lsl #2 ldrh r2, [r2, r0] ldr r0, [r5, #4] add r3, sl, r1 add r2, r4, r2 mvn r1, #0 bl MOD13_02239888 ldr r0, _02235B4C ; =0x02243164 mov r1, sl ldr r0, [r0] ldr r0, [r0] bl MOD13_0223592C ldr r0, _02235B4C ; =0x02243164 mov r1, sl ldr r0, [r0] ldr r0, [r0, #4] bl MOD13_0223592C ldr r4, _02235B4C ; =0x02243164 ldr r8, _02235B58 ; =0x0223F680 ldr r0, [r4] mov sb, #0 ldrb r0, [r0, #0x1c] ldrb r1, [r8, r0] cmp r1, #0 ble _02235AE8 ldr r7, _02235B5C ; =0x0223F698 ldr r5, _02235B60 ; =0x0223F718 ldr fp, _02235B50 ; =0x0223F6E8 mvn r6, #0 _02235A7C: add r1, r7, r0, lsl #1 ldrb ip, [sb, r1] add r2, r5, r0, lsl #3 add r3, fp, r0, lsl #2 add r0, r2, ip, lsl #2 ldr r1, [r4] mov ip, ip, lsl #2 ldrh r2, [ip, r2] ldrh r0, [r0, #2] add r1, r1, sb, lsl #2 ldrh r3, [r3, #2] add ip, sl, r0 ldr r0, [r1, #8] mov r1, r6 sub r3, ip, r3 bl MOD13_02239888 ldr r0, [r4] mov r1, sl add r0, r0, sb, lsl #2 ldr r0, [r0, #8] bl MOD13_0223592C ldr r0, [r4] add sb, sb, #1 ldrb r0, [r0, #0x1c] ldrb r1, [r8, r0] cmp sb, r1 blt _02235A7C _02235AE8: and r1, sl, #0xff cmp r1, #0xc0 movge r3, #0 movge r1, r3 ldrlt r2, _02235B64 ; =0x0223F702 movlt r3, r0, lsl #2 ldrlth r2, [r2, r3] mov r5, r0, lsl #2 add r4, sp, #4 addlt r3, r1, r2 ldr r2, _02235B50 ; =0x0223F6E8 cmp r3, #0xc0 ldrh r0, [r2, r5] ldr r2, _02235B68 ; =0x0223F700 movgt r3, #0xc0 str r4, [sp] ldrh r2, [r2, r5] add r2, r0, r2 bl MOD13_0223ABA8 mov r0, #0 mov r2, r4 mov r1, r0 bl MOD13_0223AD38 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02235B4C: .word 0x02243164 _02235B50: .word 0x0223F6E8 _02235B54: .word 0x0223F674 _02235B58: .word 0x0223F680 _02235B5C: .word 0x0223F698 _02235B60: .word 0x0223F718 _02235B64: .word 0x0223F702 _02235B68: .word 0x0223F700 arm_func_start MOD13_02235B6C MOD13_02235B6C: ; 0x02235B6C stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _02235BDC ; =0x02243164 mvn ip, #0 ldr r3, [r2] mov r1, r0 strb ip, [r3, #0x1b] ldr r3, [r2] ldrh r0, [r3, #0x18] add r0, r0, #1 strh r0, [r3, #0x18] ldr r0, [r2] ldrh r0, [r0, #0x18] cmp r0, #0x78 addlo sp, sp, #4 ldmloia sp!, {pc} mov r0, #0 bl MOD13_0223C110 ldr r1, _02235BE0 ; =MOD13_02235824 mov r0, #1 mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02235BDC ; =0x02243164 ldr r1, [r1] str r0, [r1, #0x14] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02235BDC: .word 0x02243164 _02235BE0: .word MOD13_02235824 arm_func_start MOD13_02235BE4 MOD13_02235BE4: ; 0x02235BE4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 ldr r5, _02235D20 ; =0x02243164 ldr sl, _02235D24 ; =0x0223F680 ldr r0, [r5] mov r4, #0 ldrb r1, [r0, #0x1c] ldrb r0, [sl, r1] cmp r0, #0 ble _02235C6C ldr sb, _02235D28 ; =0x0223F718 ldr r8, _02235D2C ; =0x0223F698 ldr r7, _02235D30 ; =0x0223F6BC add r6, sp, #0 _02235C1C: add r0, r8, r1, lsl #1 ldrb r0, [r4, r0] add r3, sb, r1, lsl #3 mov r2, r6 add r0, r3, r0, lsl #2 add r1, r7, r1, lsl #2 bl MOD13_0223AB74 mov r0, r6 bl MOD13_0223B2B4 cmp r0, #0 ldrne r0, _02235D20 ; =0x02243164 ldrne r0, [r0] strneb r4, [r0, #0x1b] bne _02235C6C ldr r0, [r5] add r4, r4, #1 ldrb r1, [r0, #0x1c] ldrb r0, [sl, r1] cmp r4, r0 blt _02235C1C _02235C6C: mov r0, #1 bl MOD13_0223B3D4 cmp r0, #0 beq _02235C98 ldr r0, _02235D20 ; =0x02243164 ldr r1, _02235D34 ; =0x0223F6A4 ldr r2, [r0] ldrb r0, [r2, #0x1c] mov r0, r0, lsl #1 ldrsb r0, [r1, r0] strb r0, [r2, #0x1b] _02235C98: mov r0, #2 bl MOD13_0223B3D4 cmp r0, #0 beq _02235CC4 ldr r0, _02235D20 ; =0x02243164 ldr r1, _02235D38 ; =0x0223F6A5 ldr r2, [r0] ldrb r0, [r2, #0x1c] mov r0, r0, lsl #1 ldrsb r0, [r1, r0] strb r0, [r2, #0x1b] _02235CC4: ldr r0, _02235D20 ; =0x02243164 ldr r2, _02235D24 ; =0x0223F680 ldr r4, [r0] mov r0, #0 ldrb r1, [r4, #0x1c] ldrb r1, [r2, r1] cmp r1, #0 ble _02235D10 ldrsb r3, [r4, #0x1b] _02235CE8: cmp r0, r3 bne _02235CFC bl MOD13_0223586C add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} _02235CFC: ldrb r1, [r4, #0x1c] add r0, r0, #1 ldrb r1, [r2, r1] cmp r0, r1 blt _02235CE8 _02235D10: mvn r0, #0 strb r0, [r4, #0x1b] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02235D20: .word 0x02243164 _02235D24: .word 0x0223F680 _02235D28: .word 0x0223F718 _02235D2C: .word 0x0223F698 _02235D30: .word 0x0223F6BC _02235D34: .word 0x0223F6A4 _02235D38: .word 0x0223F6A5 arm_func_start MOD13_02235D3C MOD13_02235D3C: ; 0x02235D3C stmdb sp!, {r4, lr} sub sp, sp, #8 ldr r1, _02235E10 ; =0x02243164 mov r4, r0 ldr r0, [r1] add r2, sp, #0 ldr r0, [r0] add r3, sp, #4 mov r1, #0 bl MOD13_022397DC ldr r0, [sp, #4] ldr r1, _02235E10 ; =0x02243164 sub r0, r0, #0xc ldr r1, [r1] str r0, [sp, #4] ldrb r2, [r1, #0x1c] ldr r1, _02235E14 ; =0x0223F6EA mov r2, r2, lsl #2 ldrh r1, [r1, r2] cmp r0, r1 ble _02235D9C bl MOD13_022359B8 add sp, sp, #8 ldmia sp!, {r4, pc} _02235D9C: mov r0, r1 bl MOD13_022359B8 ldr r0, _02235E10 ; =0x02243164 ldr r0, [r0] ldrb r0, [r0, #0x1c] cmp r0, #5 bne _02235DDC mov r0, #0 ldr r1, _02235E18 ; =MOD13_02235B6C mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02235E10 ; =0x02243164 ldr r1, [r1] str r0, [r1, #0x14] b _02235DFC _02235DDC: mov r0, #0 ldr r1, _02235E1C ; =MOD13_02235BE4 mov r2, r0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02235E10 ; =0x02243164 ldr r1, [r1] str r0, [r1, #0x14] _02235DFC: mov r1, r4 mov r0, #1 bl MOD13_0223C110 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02235E10: .word 0x02243164 _02235E14: .word 0x0223F6EA _02235E18: .word MOD13_02235B6C _02235E1C: .word MOD13_02235BE4 arm_func_start MOD13_02235E20 MOD13_02235E20: ; 0x02235E20 stmdb sp!, {r4, lr} ldr r1, _02235E74 ; =0x02243164 mov r4, r0 ldr r3, [r1] ldr r0, _02235E78 ; =0x04000050 ldrsb r2, [r3, #0x1a] sub r2, r2, #1 strb r2, [r3, #0x1a] ldr r1, [r1] ldrsb r1, [r1, #0x1a] bl G2x_ChangeBlendBrightness_ ldr r1, _02235E74 ; =0x02243164 mvn r0, #0xb ldr r1, [r1] ldrsb r1, [r1, #0x1a] cmp r1, r0 ldmgtia sp!, {r4, pc} ldr r1, _02235E7C ; =MOD13_02235D3C mov r0, r4 bl MOD13_0223C130 ldmia sp!, {r4, pc} .align 2, 0 _02235E74: .word 0x02243164 _02235E78: .word 0x04000050 _02235E7C: .word MOD13_02235D3C arm_func_start MOD13_02235E80 MOD13_02235E80: ; 0x02235E80 ldr r0, _02235E98 ; =0x02243164 ldr r0, [r0] cmp r0, #0 movne r0, #1 moveq r0, #0 bx lr .align 2, 0 _02235E98: .word 0x02243164 arm_func_start MOD13_02235E9C MOD13_02235E9C: ; 0x02235E9C ldr r0, _02235EAC ; =0x02243164 ldr r0, [r0] ldrsb r0, [r0, #0x1b] bx lr .align 2, 0 _02235EAC: .word 0x02243164 arm_func_start MOD13_02235EB0 MOD13_02235EB0: ; 0x02235EB0 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02235EF4 ; =0x02243164 mov r0, #0 ldr r1, [r1] ldr r1, [r1, #0x14] bl MOD13_0223C110 ldr r1, _02235EF8 ; =MOD13_02235824 mov r0, #1 mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _02235EF4 ; =0x02243164 ldr r1, [r1] str r0, [r1, #0x14] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02235EF4: .word 0x02243164 _02235EF8: .word MOD13_02235824 arm_func_start MOD13_02235EFC MOD13_02235EFC: ; 0x02235EFC stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0x2c ldr r5, _02236224 ; =0x0223F688 ldr r4, _02236228 ; =0x0224307C ldrb sl, [r5] ldrb sb, [r5, #1] ldrb r8, [r5, #2] ldrb r7, [r5, #3] ldrb r6, [r5, #4] ldrb r5, [r5, #5] mov fp, r0 str r2, [sp, #0x14] mov r2, r3 str r1, [sp, #0x10] ldr r0, [r4] ldr r3, [sp, #0x50] mov r1, fp strb sl, [sp, #0x20] strb sb, [sp, #0x21] strb r8, [sp, #0x22] strb r7, [sp, #0x23] strb r6, [sp, #0x24] strb r5, [sp, #0x25] bl MOD13_0222352C str r0, [sp, #0x18] mov r0, #0x20 mov r1, #4 bl MOD13_0223AFE0 ldr r2, _0223622C ; =0x02243164 ldr r1, [sp, #0x10] str r0, [r2] strb r1, [r0, #0x1c] ldr r1, [r2] mvn r3, #1 strb r3, [r1, #0x1b] ldr r3, [r2] ldr r2, [sp, #0x14] ldr r0, _02236230 ; =0x04000050 strb r2, [r3, #0x1e] mov r1, #0x1f mov r2, #0 bl G2x_SetBlendBrightness_ mov r0, #0 ldr r3, _02236234 ; =0x0223F678 ldr r1, [sp, #0x10] mov r2, r0 ldrb r1, [r3, r1] bl MOD13_02239E0C ldr r3, _0223622C ; =0x02243164 mvn r1, #0 ldr r4, [r3] mov r2, #0x100 str r0, [r4] ldr r0, [r3] mov r3, #0 ldr r0, [r0] bl MOD13_02239888 ldr r0, _0223622C ; =0x02243164 mvn r1, #0 ldr r0, [r0] mov r2, #0 ldr r0, [r0] bl MOD13_02239814 ldr r2, _02236238 ; =0x0223F680 ldr r0, [sp, #0x10] mov sl, #0 ldrb r0, [r2, r0] cmp r0, #0 ble _0223609C ldr r0, [sp, #0x10] ldr r1, _0223623C ; =0x0223F6B0 ldr r4, _0223622C ; =0x02243164 add r8, r2, r0 add sb, r1, r0, lsl #1 str sl, [sp, #0x1c] mov r5, sl mov fp, sl mvn r7, #0 mov r6, #0x100 _02236038: ldr r0, [sp, #0x1c] ldrb r1, [sb] mov r2, r0 bl MOD13_02239E0C ldr r2, [r4] mov r1, r7 add r2, r2, sl, lsl #2 str r0, [r2, #8] ldr r0, [r4] mov r2, r6 add r0, r0, sl, lsl #2 ldr r0, [r0, #8] mov r3, r5 bl MOD13_02239888 ldr r0, [r4] mov r1, r7 add r0, r0, sl, lsl #2 ldr r0, [r0, #8] mov r2, fp bl MOD13_02239814 ldrb r0, [r8] add sl, sl, #1 add sb, sb, #1 cmp sl, r0 blt _02236038 _0223609C: add r1, sp, #0x28 str r1, [sp] mov r0, #0 mov r1, #0x20 mov r2, #0xc mov r3, #1 str r0, [sp, #4] bl MOD13_0223A9A4 ldr r1, _0223622C ; =0x02243164 ldr r1, [r1] str r0, [r1, #0x10] mov r0, #0 ldr r1, [sp, #0x28] mov r2, r0 bl MOD13_02239B74 ldr r1, _0223622C ; =0x02243164 ldr r1, [r1] str r0, [r1, #4] bl MOD13_0221EF88 ldr r1, [sp, #0x10] mov r3, #2 mov r5, r1, lsl #2 ldr r1, _02236240 ; =0x0223F6D2 ldr r2, _0223622C ; =0x02243164 ldrh r4, [r1, r5] mov r1, #0 str r4, [sp] str r3, [sp, #4] str r0, [sp, #8] ldr r0, [sp, #0x18] ldr r3, _02236244 ; =0x0223F6D0 str r0, [sp, #0xc] ldr r0, [r2] ldrh r3, [r3, r5] ldr r0, [r0, #0x10] mov r2, r1 bl MOD13_0223A4F0 ldr r0, _0223622C ; =0x02243164 mov r2, #0 ldr r3, [r0] mov r1, #0x100 str r2, [sp] ldr r0, [r3, #0x10] ldr r3, [r3, #4] bl MOD13_0223A440 mov r0, #0 mov r1, r0 mov r2, #0x1f mov r3, r0 bl MOD13_0223ABCC ldr r3, _0223622C ; =0x02243164 add r4, sp, #0x20 ldr r3, [r3] mov r0, #0 ldrb r3, [r3, #0x1c] mov r1, #1 mov r2, #0x1f ldrb r3, [r4, r3] bl MOD13_0223ABCC mov r0, #0 mov r1, #3 mov r2, #0x1f mov r3, #1 bl MOD13_0223ABCC ldr r2, _02236248 ; =0x0223F690 mov r0, #0 mov r1, #1 bl MOD13_0223AD38 mov r0, #0xc0 bl MOD13_022359B8 mov r2, #0x4000000 ldr r0, [sp, #0x14] ldr r1, [r2] cmp r0, #0 bic r0, r1, #0xe000 orr r0, r0, #0x6000 str r0, [r2] beq _022361FC ldr r1, _0223624C ; =MOD13_02235E20 mov r0, #1 mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0223622C ; =0x02243164 add sp, sp, #0x2c ldr r1, [r1] str r0, [r1, #0x14] ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} _022361FC: ldr r1, _02236250 ; =MOD13_02235D3C mov r0, #1 mov r2, #0 mov r3, #0x78 bl MOD13_0223C1C4 ldr r1, _0223622C ; =0x02243164 ldr r1, [r1] str r0, [r1, #0x14] add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _02236224: .word 0x0223F688 _02236228: .word 0x0224307C _0223622C: .word 0x02243164 _02236230: .word 0x04000050 _02236234: .word 0x0223F678 _02236238: .word 0x0223F680 _0223623C: .word 0x0223F6B0 _02236240: .word 0x0223F6D2 _02236244: .word 0x0223F6D0 _02236248: .word 0x0223F690 _0223624C: .word MOD13_02235E20 _02236250: .word MOD13_02235D3C arm_func_start MOD13_02236254 MOD13_02236254: ; 0x02236254 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _02236310 ; =0x02243168 mov r5, #1 ldr lr, [r1] ldrh r4, [lr, #2] mov ip, r5 add r1, lr, #0x24 mov r6, #0x1e _02236274: mov r2, ip, lsl r5 ands r2, r4, r2 beq _022362F4 sub r2, r5, #1 mul r3, r2, r6 ldrb r8, [r0] ldrb r7, [r1, r3] add r2, r1, r3 cmp r8, r7 bne _022362F4 ldrb r8, [r0, #1] ldrb r7, [r2, #1] cmp r8, r7 bne _022362F4 ldrb r8, [r0, #2] ldrb r7, [r2, #2] cmp r8, r7 bne _022362F4 ldrb r8, [r0, #3] ldrb r7, [r2, #3] cmp r8, r7 bne _022362F4 ldrb r8, [r0, #4] ldrb r7, [r2, #4] cmp r8, r7 bne _022362F4 ldrb r7, [r0, #5] ldrb r2, [r2, #5] cmp r7, r2 addeq r0, lr, r3 ldreqh r0, [r0, #0x2a] ldmeqia sp!, {r4, r5, r6, r7, r8, pc} _022362F4: add r2, r5, #1 mov r2, r2, lsl #0x10 mov r5, r2, lsr #0x10 cmp r5, #2 blo _02236274 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02236310: .word 0x02243168 arm_func_start MOD13_02236314 MOD13_02236314: ; 0x02236314 ldr r1, _02236344 ; =0x02243168 mov r2, #1 ldr r3, [r1] mov r1, r2, lsl r0 ldrh r2, [r3, #2] ands r1, r2, r1 subne r1, r0, #1 addne r2, r3, #0xe movne r0, #0x1e mlane r0, r1, r0, r2 moveq r0, #0 bx lr .align 2, 0 _02236344: .word 0x02243168 arm_func_start MOD13_02236348 MOD13_02236348: ; 0x02236348 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r4, r0 bl OS_DisableInterrupts ldr r1, _02236410 ; =0x02243168 mov r2, #1 ldr r3, [r1] mov r1, r2, lsl r4 mov r1, r1, lsl #0x10 ldrh r2, [r3, #2] mov r4, r1, lsr #0x10 mov r5, r0 ands r1, r2, r4 bne _02236390 bl OS_RestoreInterrupts add sp, sp, #0x14 mov r0, #0 ldmia sp!, {r4, r5, pc} _02236390: add r1, sp, #0 mov r0, r3 mov r2, #0xe bl MI_CpuCopy8 mov r0, r5 bl OS_RestoreInterrupts ldrh r0, [sp, #4] ands r0, r0, r4 addne sp, sp, #0x14 movne r0, #2 ldmneia sp!, {r4, r5, pc} ldrh r0, [sp, #6] ands r0, r0, r4 addne sp, sp, #0x14 movne r0, #3 ldmneia sp!, {r4, r5, pc} ldrh r0, [sp, #8] ands r0, r0, r4 addne sp, sp, #0x14 movne r0, #4 ldmneia sp!, {r4, r5, pc} ldrh r0, [sp, #0xa] ands r0, r0, r4 addne sp, sp, #0x14 movne r0, #5 ldmneia sp!, {r4, r5, pc} ldrh r0, [sp, #0xc] ands r0, r0, r4 movne r0, #6 moveq r0, #1 add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 _02236410: .word 0x02243168 arm_func_start MOD13_02236414 MOD13_02236414: ; 0x02236414 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r2, _02236468 ; =0x02243168 ldr r1, _0223646C ; =0x0224316C ldr r2, [r2] add r5, r2, #2 add r4, r2, #4 add lr, r2, #6 add ip, r2, #8 add r3, r2, #0xa add r2, r2, #0xc str r5, [r1] str r4, [r1, #4] str lr, [r1, #8] str ip, [r1, #0xc] str r3, [r1, #0x10] str r2, [r1, #0x14] ldr r0, [r1, r0, lsl #2] ldrh r0, [r0] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02236468: .word 0x02243168 _0223646C: .word 0x0224316C arm_func_start MOD13_02236470 MOD13_02236470: ; 0x02236470 ldr r0, _02236480 ; =0x02243168 ldr r0, [r0] ldrh r0, [r0] bx lr .align 2, 0 _02236480: .word 0x02243168 arm_func_start MOD13_02236484 MOD13_02236484: ; 0x02236484 ldr r1, _02236494 ; =0x02243168 ldr r1, [r1] strh r0, [r1] bx lr .align 2, 0 _02236494: .word 0x02243168 arm_func_start MOD13_02236498 MOD13_02236498: ; 0x02236498 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 mov r4, r2 cmp r1, #0xe addls pc, pc, r1, lsl #2 b _022367CC _022364B0: ; jump table b _022367CC ; case 0 ldmia sp!, {r4, r5, r6, pc} ; case 1 b _022364EC ; case 2 b _02236574 ; case 3 ldmia sp!, {r4, r5, r6, pc} ; case 4 ldmia sp!, {r4, r5, r6, pc} ; case 5 ldmia sp!, {r4, r5, r6, pc} ; case 6 b _022366AC ; case 7 ldmia sp!, {r4, r5, r6, pc} ; case 8 b _022366DC ; case 9 b _022365FC ; case 10 ldmia sp!, {r4, r5, r6, pc} ; case 11 b _02236724 ; case 12 b _02236780 ; case 13 b _02236668 ; case 14 _022364EC: bl MOD13_02236470 cmp r0, #2 ldmneia sp!, {r4, r5, r6, pc} ldr r0, _022367D4 ; =0x02243168 ldr r6, [r0] bl OS_DisableInterrupts ldrh r2, [r6, #2] mov r1, #1 orr r1, r2, r1, lsl r5 strh r1, [r6, #2] bl OS_RestoreInterrupts ldr r1, _022367D4 ; =0x02243168 sub r3, r5, #1 mov r0, #0x1e mul r0, r3, r0 ldr r2, [r1] add r3, r2, #0x24 ldrb r2, [r4, #0xa] add ip, r3, r0 strb r2, [r3, r0] ldrb r2, [r4, #0xb] strb r2, [ip, #1] ldrb r2, [r4, #0xc] strb r2, [ip, #2] ldrb r2, [r4, #0xd] strb r2, [ip, #3] ldrb r2, [r4, #0xe] strb r2, [ip, #4] ldrb r2, [r4, #0xf] strb r2, [ip, #5] ldr r1, [r1] add r0, r1, r0 strh r5, [r0, #0x2a] ldmia sp!, {r4, r5, r6, pc} _02236574: bl MOD13_02236348 cmp r0, #6 ldmeqia sp!, {r4, r5, r6, pc} mov r0, #1 mvn r0, r0, lsl r5 mov r4, r0, lsl #0x10 bl OS_DisableInterrupts ldr r1, _022367D4 ; =0x02243168 ldr r3, [r1] ldrh r2, [r3, #2] and r2, r2, r4, lsr #16 strh r2, [r3, #2] ldr r3, [r1] ldrh r2, [r3, #4] and r2, r2, r4, lsr #16 strh r2, [r3, #4] ldr r3, [r1] ldrh r2, [r3, #6] and r2, r2, r4, lsr #16 strh r2, [r3, #6] ldr r3, [r1] ldrh r2, [r3, #8] and r2, r2, r4, lsr #16 strh r2, [r3, #8] ldr r3, [r1] ldrh r2, [r3, #0xa] and r2, r2, r4, lsr #16 strh r2, [r3, #0xa] ldr r2, [r1] ldrh r1, [r2, #0xc] and r1, r1, r4, lsr #16 strh r1, [r2, #0xc] bl OS_RestoreInterrupts ldmia sp!, {r4, r5, r6, pc} _022365FC: bl MOD13_02236470 cmp r0, #2 beq _02236614 mov r0, r5 bl MOD13_02236B38 ldmia sp!, {r4, r5, r6, pc} _02236614: ldr r0, _022367D4 ; =0x02243168 mov r1, #1 ldr r3, [r0] mov r0, r5 ldrh r2, [r3, #4] orr r1, r2, r1, lsl r5 strh r1, [r3, #4] bl MOD13_02236C1C mov r0, r5 bl MOD13_022132CC cmp r0, #0 ldmeqia sp!, {r4, r5, r6, pc} ldr r1, _022367D4 ; =0x02243168 sub r2, r5, #1 ldr r3, [r1] mov r1, #0x1e add r3, r3, #0xe mla r1, r2, r1, r3 mov r2, #0x16 bl MI_CpuCopy8 ldmia sp!, {r4, r5, r6, pc} _02236668: ldr r0, _022367D4 ; =0x02243168 mov r4, #1 ldr r3, [r0] mvn r1, r4, lsl r5 ldrh r2, [r3, #4] and r1, r2, r1 strh r1, [r3, #4] ldr r1, [r0] ldrh r0, [r1, #6] orr r0, r0, r4, lsl r5 strh r0, [r1, #6] bl MOD13_02236470 cmp r0, #3 ldmneia sp!, {r4, r5, r6, pc} mov r0, r5 bl MOD13_02236A54 ldmia sp!, {r4, r5, r6, pc} _022366AC: ldr r0, _022367D4 ; =0x02243168 mov r4, #1 ldr r3, [r0] mvn r1, r4, lsl r5 ldrh r2, [r3, #8] and r1, r2, r1 strh r1, [r3, #8] ldr r1, [r0] ldrh r0, [r1, #0xa] orr r0, r0, r4, lsl r5 strh r0, [r1, #0xa] ldmia sp!, {r4, r5, r6, pc} _022366DC: ldr r0, _022367D4 ; =0x02243168 mov r4, #1 ldr r3, [r0] mvn r1, r4, lsl r5 ldrh r2, [r3, #0xa] and r1, r2, r1 strh r1, [r3, #0xa] ldr r2, [r0] ldrh r1, [r2, #0xc] orr r1, r1, r4, lsl r5 strh r1, [r2, #0xc] ldr r0, [r0] ldrh r1, [r0, #2] ldrh r0, [r0, #0xc] cmp r1, r0 ldmneia sp!, {r4, r5, r6, pc} bl MOD13_02214F18 ldmia sp!, {r4, r5, r6, pc} _02236724: bl MOD13_02236470 cmp r0, #4 bne _0223673C mov r0, #5 bl MOD13_02236484 b _02236744 _0223673C: mov r0, #0 bl MOD13_02236484 _02236744: ldr r0, _022367D4 ; =0x02243168 ldr r0, [r0] add r0, r0, #0x1b000 ldr r1, [r0, #0x144] cmp r1, #0 movne r1, #0 strne r1, [r0, #0x144] ldr r0, _022367D4 ; =0x02243168 ldr r0, [r0] add r0, r0, #0x1b000 ldr r1, [r0, #0x140] cmp r1, #0 movne r1, #0 strne r1, [r0, #0x140] ldmia sp!, {r4, r5, r6, pc} _02236780: ldrh r0, [r4] cmp r0, #8 bgt _022367B8 cmp r0, #8 ldmgeia sp!, {r4, r5, r6, pc} cmp r0, #2 ldmgtia sp!, {r4, r5, r6, pc} cmp r0, #1 ldmltia sp!, {r4, r5, r6, pc} cmp r0, #1 beq _022367C0 cmp r0, #2 beq _022367C0 ldmia sp!, {r4, r5, r6, pc} _022367B8: cmp r0, #9 ldmneia sp!, {r4, r5, r6, pc} _022367C0: mov r0, #7 bl MOD13_02236484 ldmia sp!, {r4, r5, r6, pc} _022367CC: bl OS_Terminate ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _022367D4: .word 0x02243168 arm_func_start MOD13_022367D8 MOD13_022367D8: ; 0x022367D8 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #6 bl MOD13_02236484 bl MOD13_02214F18 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_022367F4 MOD13_022367F4: ; 0x022367F4 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #4 mov r8, #0 mov sb, #1 ldr r4, _022368F8 ; =0x02243168 mov r6, sb mov r5, #3 _02236810: ldr r0, [r4] mov r7, r6, lsl sb ldrh r0, [r0, #0xa] ands r0, r0, r7 beq _022368BC mov r0, sb mov r1, r5 bl MOD13_02213174 cmp r0, #0 orrne r0, r8, r7 movne r0, r0, lsl #0x10 movne r8, r0, lsr #0x10 bne _022368BC mvn r0, r7 mov r7, r0, lsl #0x10 bl OS_DisableInterrupts ldr r2, [r4] ldrh r1, [r2, #2] and r1, r1, r7, lsr #16 strh r1, [r2, #2] ldr r2, [r4] ldrh r1, [r2, #4] and r1, r1, r7, lsr #16 strh r1, [r2, #4] ldr r2, [r4] ldrh r1, [r2, #6] and r1, r1, r7, lsr #16 strh r1, [r2, #6] ldr r2, [r4] ldrh r1, [r2, #8] and r1, r1, r7, lsr #16 strh r1, [r2, #8] ldr r2, [r4] ldrh r1, [r2, #0xa] and r1, r1, r7, lsr #16 strh r1, [r2, #0xa] ldr r2, [r4] ldrh r1, [r2, #0xc] and r1, r1, r7, lsr #16 strh r1, [r2, #0xc] bl OS_RestoreInterrupts mov r0, sb bl MOD13_02214D6C _022368BC: add r0, sb, #1 mov r0, r0, lsl #0x10 mov sb, r0, lsr #0x10 cmp sb, #0x10 blo _02236810 cmp r8, #0 bne _022368E8 mov r0, #7 bl MOD13_02236484 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} _022368E8: mov r0, #4 bl MOD13_02236484 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _022368F8: .word 0x02243168 arm_func_start MOD13_022368FC MOD13_022368FC: ; 0x022368FC stmdb sp!, {r4, r5, r6, lr} ldr r4, _02236964 ; =0x02243168 ldr r0, [r4] ldrh r0, [r0, #2] cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} mov r6, #1 mov r5, r6 _02236920: ldr r1, [r4] mov r0, r5, lsl r6 ldrh r1, [r1, #2] ands r0, r1, r0 beq _02236948 mov r0, r6 bl MOD13_02213270 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} _02236948: add r0, r6, #1 mov r0, r0, lsl #0x10 mov r6, r0, lsr #0x10 cmp r6, #0x10 blo _02236920 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02236964: .word 0x02243168 arm_func_start MOD13_02236968 MOD13_02236968: ; 0x02236968 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02236484 mov r5, #1 ldr r7, _02236A50 ; =0x02243168 mov r4, r5 _02236984: ldr r1, [r7] mov r2, r4, lsl r5 ldrh r0, [r1, #2] ands r0, r0, r2 beq _02236A34 ldrh r0, [r1, #4] ands r0, r0, r2 bne _02236A34 ldrh r0, [r1, #6] ands r0, r0, r2 bne _02236A2C mvn r0, r2 mov r6, r0, lsl #0x10 bl OS_DisableInterrupts ldr r2, [r7] ldrh r1, [r2, #2] and r1, r1, r6, lsr #16 strh r1, [r2, #2] ldr r2, [r7] ldrh r1, [r2, #4] and r1, r1, r6, lsr #16 strh r1, [r2, #4] ldr r2, [r7] ldrh r1, [r2, #6] and r1, r1, r6, lsr #16 strh r1, [r2, #6] ldr r2, [r7] ldrh r1, [r2, #8] and r1, r1, r6, lsr #16 strh r1, [r2, #8] ldr r2, [r7] ldrh r1, [r2, #0xa] and r1, r1, r6, lsr #16 strh r1, [r2, #0xa] ldr r2, [r7] ldrh r1, [r2, #0xc] and r1, r1, r6, lsr #16 strh r1, [r2, #0xc] bl OS_RestoreInterrupts mov r0, r5 bl MOD13_02214D6C b _02236A34 _02236A2C: mov r0, r5 bl MOD13_02236A54 _02236A34: add r0, r5, #1 mov r0, r0, lsl #0x10 mov r5, r0, lsr #0x10 cmp r5, #0x10 blo _02236984 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02236A50: .word 0x02243168 arm_func_start MOD13_02236A54 MOD13_02236A54: ; 0x02236A54 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r1, #2 mov r4, r0 bl MOD13_02213174 cmp r0, #0 bne _02236AF8 mov r0, #1 mvn r0, r0, lsl r4 mov r5, r0, lsl #0x10 bl OS_DisableInterrupts ldr r1, _02236B34 ; =0x02243168 ldr r3, [r1] ldrh r2, [r3, #2] and r2, r2, r5, lsr #16 strh r2, [r3, #2] ldr r3, [r1] ldrh r2, [r3, #4] and r2, r2, r5, lsr #16 strh r2, [r3, #4] ldr r3, [r1] ldrh r2, [r3, #6] and r2, r2, r5, lsr #16 strh r2, [r3, #6] ldr r3, [r1] ldrh r2, [r3, #8] and r2, r2, r5, lsr #16 strh r2, [r3, #8] ldr r3, [r1] ldrh r2, [r3, #0xa] and r2, r2, r5, lsr #16 strh r2, [r3, #0xa] ldr r2, [r1] ldrh r1, [r2, #0xc] and r1, r1, r5, lsr #16 strh r1, [r2, #0xc] bl OS_RestoreInterrupts mov r0, r4 bl MOD13_02214D6C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02236AF8: bl OS_DisableInterrupts ldr r1, _02236B34 ; =0x02243168 mov ip, #1 ldr r5, [r1] mvn r2, ip, lsl r4 ldrh r3, [r5, #6] and r2, r3, r2 strh r2, [r5, #6] ldr r2, [r1] ldrh r1, [r2, #8] orr r1, r1, ip, lsl r4 strh r1, [r2, #8] bl OS_RestoreInterrupts add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02236B34: .word 0x02243168 arm_func_start MOD13_02236B38 MOD13_02236B38: ; 0x02236B38 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r1, #0 mov r4, r0 bl MOD13_02213174 cmp r0, #0 bne _02236BDC mov r0, #1 mvn r0, r0, lsl r4 mov r5, r0, lsl #0x10 bl OS_DisableInterrupts ldr r1, _02236C18 ; =0x02243168 ldr r3, [r1] ldrh r2, [r3, #2] and r2, r2, r5, lsr #16 strh r2, [r3, #2] ldr r3, [r1] ldrh r2, [r3, #4] and r2, r2, r5, lsr #16 strh r2, [r3, #4] ldr r3, [r1] ldrh r2, [r3, #6] and r2, r2, r5, lsr #16 strh r2, [r3, #6] ldr r3, [r1] ldrh r2, [r3, #8] and r2, r2, r5, lsr #16 strh r2, [r3, #8] ldr r3, [r1] ldrh r2, [r3, #0xa] and r2, r2, r5, lsr #16 strh r2, [r3, #0xa] ldr r2, [r1] ldrh r1, [r2, #0xc] and r1, r1, r5, lsr #16 strh r1, [r2, #0xc] bl OS_RestoreInterrupts mov r0, r4 bl MOD13_02214D6C add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02236BDC: bl OS_DisableInterrupts ldr r1, _02236C18 ; =0x02243168 mov r2, #1 ldr r3, [r1] mvn r4, r2, lsl r4 ldrh r2, [r3, #4] and r2, r2, r4 strh r2, [r3, #4] ldr r2, [r1] ldrh r1, [r2, #2] and r1, r1, r4 strh r1, [r2, #2] bl OS_RestoreInterrupts add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02236C18: .word 0x02243168 arm_func_start MOD13_02236C1C MOD13_02236C1C: ; 0x02236C1C stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r1, #1 mov r4, r0 bl MOD13_02213174 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} mov r0, #1 mvn r0, r0, lsl r4 mov r5, r0, lsl #0x10 bl OS_DisableInterrupts ldr r1, _02236CC4 ; =0x02243168 ldr r3, [r1] ldrh r2, [r3, #2] and r2, r2, r5, lsr #16 strh r2, [r3, #2] ldr r3, [r1] ldrh r2, [r3, #4] and r2, r2, r5, lsr #16 strh r2, [r3, #4] ldr r3, [r1] ldrh r2, [r3, #6] and r2, r2, r5, lsr #16 strh r2, [r3, #6] ldr r3, [r1] ldrh r2, [r3, #8] and r2, r2, r5, lsr #16 strh r2, [r3, #8] ldr r3, [r1] ldrh r2, [r3, #0xa] and r2, r2, r5, lsr #16 strh r2, [r3, #0xa] ldr r2, [r1] ldrh r1, [r2, #0xc] and r1, r1, r5, lsr #16 strh r1, [r2, #0xc] bl OS_RestoreInterrupts mov r0, r4 bl MOD13_02214D6C add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02236CC4: .word 0x02243168 arm_func_start MOD13_02236CC8 MOD13_02236CC8: ; 0x02236CC8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 mov r6, r0 ldr r0, [r6] mov r4, #0 cmp r0, #0 moveq r5, r4 beq _02236D10 add r0, sp, #0 bl FS_InitFile ldr r1, [r6] add r0, sp, #0 bl FS_OpenFile cmp r0, #0 addeq sp, sp, #0x48 moveq r0, r4 ldmeqia sp!, {r4, r5, r6, pc} add r5, sp, #0 _02236D10: mov r0, r5 bl MOD13_0221411C cmp r0, #0 beq _02236D7C ldr r1, _02236D98 ; =0x02243168 ldr r0, [r1] add r2, r0, #0x2c add r0, r0, #0x1b000 str r2, [r0, #0x144] ldr r0, [r1] add r0, r0, #0x1b000 ldr r1, [r0, #0x144] cmp r1, #0 beq _02236D7C mov r0, r5 mov r2, #0x10000 bl MOD13_02213CB0 cmp r0, #0 beq _02236D7C ldr r1, _02236D98 ; =0x02243168 mov r0, r6 ldr r1, [r1] add r1, r1, #0x1b000 ldr r1, [r1, #0x144] bl MOD13_02213944 cmp r0, #0 movne r4, #1 _02236D7C: add r0, sp, #0 cmp r5, r0 bne _02236D8C bl FS_CloseFile _02236D8C: mov r0, r4 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02236D98: .word 0x02243168 arm_func_start MOD13_02236D9C MOD13_02236D9C: ; 0x02236D9C stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 mov r4, r1 mov r0, #2 bl MOD13_02236484 mov r0, r4 bl MOD13_02215028 cmp r0, #0 beq _02236DD4 mov r0, #7 bl MOD13_02236484 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02236DD4: mov r0, r5 bl MOD13_02236CC8 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} bl OS_Terminate add sp, sp, #4 ldmia sp!, {r4, r5, pc} arm_func_start MOD13_02236DF4 MOD13_02236DF4: ; 0x02236DF4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x7c mov r5, r0 add r0, sp, #0x28 mov r4, r1 bl OS_GetOwnerInfo ldrb r2, [sp, #4] ldrb r1, [sp, #0x29] ldrh r3, [sp, #0x40] bic r2, r2, #0xf and r1, r1, #0xf orr r2, r2, r1 strb r2, [sp, #4] add r0, sp, #0x2c add r1, sp, #6 mov r2, r3, lsl #1 strb r3, [sp, #5] bl MI_CpuCopy8 ldrb r0, [sp, #4] add ip, sp, #0x1a mov r1, #0 bic r0, r0, #0xf0 strb r0, [sp, #4] strh r1, [ip] strh r1, [ip, #2] strh r1, [ip, #4] strh r1, [ip, #6] strh r1, [ip, #8] strh r1, [ip, #0xa] ldr r0, _02236F04 ; =0x02243168 strh r1, [ip, #0xc] ldr lr, [r0] mov r2, #3 mov r3, lr _02236E7C: ldrh r1, [ip], #2 ldrh r0, [ip], #2 subs r2, r2, #1 strh r1, [r3], #2 strh r0, [r3], #2 bne _02236E7C ldrh r2, [ip] ldr r0, _02236F08 ; =0x00010040 add r1, lr, #0x1b000 strh r2, [r3] add r0, lr, r0 str r0, [r1, #0x140] mov r1, #2 str r1, [sp] ldr r0, _02236F04 ; =0x02243168 add r1, sp, #4 ldr r0, [r0] mov r2, r5 add r0, r0, #0x1b000 ldr r0, [r0, #0x140] mov r3, r4 bl MOD13_02215474 cmp r0, #0 beq _02236EE0 bl OS_Terminate _02236EE0: mov r0, #0x100 mov r1, #1 bl MOD13_02215360 ldr r0, _02236F0C ; =MOD13_02236498 bl MOD13_02213368 mov r0, #1 bl MOD13_02236484 add sp, sp, #0x7c ldmia sp!, {r4, r5, pc} .align 2, 0 _02236F04: .word 0x02243168 _02236F08: .word 0x00010040 _02236F0C: .word MOD13_02236498 arm_func_start MOD13_02236F10 MOD13_02236F10: ; 0x02236F10 stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _02236F54 ; =0x02243168 ldr r1, _02236F58 ; =0x0001B160 str r0, [r2] add r0, r0, r1 bl MOD13_0223831C ldr r1, _02236F54 ; =0x02243168 mov r2, #0 ldr r0, [r1] add r0, r0, #0x1b000 str r2, [r0, #0x140] ldr r0, [r1] add r0, r0, #0x1b000 str r2, [r0, #0x144] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02236F54: .word 0x02243168 _02236F58: .word 0x0001B160 arm_func_start MOD13_02236F5C MOD13_02236F5C: ; 0x02236F5C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02236FB0 ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x40] cmp r0, #1 beq _02236F7C bl OS_Terminate _02236F7C: mov r0, #3 bl MOD13_02238294 ldr r0, _02236FB4 ; =MOD13_0223794C bl WM_End cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} mov r0, #9 bl MOD13_02238294 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02236FB0: .word 0x02243188 _02236FB4: .word MOD13_0223794C arm_func_start MOD13_02236FB8 MOD13_02236FB8: ; 0x02236FB8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022370F8 ; =0x02243188 ldr r0, [r0] ldr r2, [r0, #0x40] cmp r2, #1 bne _02236FFC ldr r0, _022370FC ; =0x02243184 ldr r2, [r0] cmp r2, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r1, _02237100 ; =0x022407D0 mov r0, #0x8000000 blx r2 add sp, sp, #4 ldmia sp!, {pc} _02236FFC: ldr r0, _022370FC ; =0x02243184 ldr r3, [r0] cmp r3, #0 beq _02237018 ldr r1, _02237104 ; =0x022407F4 mov r0, #0x8000000 blx r3 _02237018: ldr r0, _022370F8 ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x40] cmp r0, #6 beq _02237050 cmp r0, #5 beq _02237050 cmp r0, #4 beq _02237050 mov r0, #3 bl MOD13_02238294 bl MOD13_02237108 add sp, sp, #4 ldmia sp!, {pc} _02237050: mov r0, #3 bl MOD13_02238294 ldr r0, _022370F8 ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x44] cmp r0, #5 addls pc, pc, r0, lsl #2 b _022370F0 _02237070: ; jump table b _022370DC ; case 0 b _022370A4 ; case 1 b _022370C0 ; case 2 b _02237088 ; case 3 b _022370DC ; case 4 b _022370A4 ; case 5 _02237088: bl MOD13_02237AE4 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02237108 add sp, sp, #4 ldmia sp!, {pc} _022370A4: bl MOD13_02237AA8 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02237108 add sp, sp, #4 ldmia sp!, {pc} _022370C0: bl MOD13_02237C48 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02237108 add sp, sp, #4 ldmia sp!, {pc} _022370DC: bl MOD13_02237C0C cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02237108 _022370F0: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022370F8: .word 0x02243188 _022370FC: .word 0x02243184 _02237100: .word 0x022407D0 _02237104: .word 0x022407F4 arm_func_start MOD13_02237108 MOD13_02237108: ; 0x02237108 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022379B4 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #0xa bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_02237130 MOD13_02237130: ; 0x02237130 stmdb sp!, {r4, lr} ldr r1, _022371CC ; =0x02243188 ldr r2, _022371D0 ; =0x000013E0 ldr r3, [r1] mov r1, r0 add r0, r3, r2 add r2, r3, #0x1c00 bl WM_StepDataSharing mov r4, r0 cmp r4, #7 bne _02237180 ldr r0, _022371D4 ; =0x02243184 ldr r2, [r0] cmp r2, #0 beq _02237178 ldr r1, _022371D8 ; =0x02240818 mov r0, #0x8000000 blx r2 _02237178: mov r0, #0 ldmia sp!, {r4, pc} _02237180: cmp r4, #5 bne _022371B4 ldr r0, _022371D4 ; =0x02243184 ldr r2, [r0] cmp r2, #0 beq _022371A4 ldr r1, _022371DC ; =0x02240848 mov r0, #0x8000000 blx r2 _022371A4: mov r0, r4 bl MOD13_02238274 mov r0, #0 ldmia sp!, {r4, pc} _022371B4: cmp r4, #0 moveq r0, #1 ldmeqia sp!, {r4, pc} bl MOD13_02238274 mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 _022371CC: .word 0x02243188 _022371D0: .word 0x000013E0 _022371D4: .word 0x02243184 _022371D8: .word 0x02240818 _022371DC: .word 0x02240848 arm_func_start MOD13_022371E0 MOD13_022371E0: ; 0x022371E0 ldr r2, _02237200 ; =0x02243188 ldr r1, _02237204 ; =0x000013E0 ldr r3, [r2] ldr ip, _02237208 ; =0x020DA048 mov r2, r0 add r0, r3, r1 add r1, r3, #0x1c00 bx ip .align 2, 0 _02237200: .word 0x02243188 _02237204: .word 0x000013E0 _02237208: .word 0x020DA048 arm_func_start MOD13_0223720C MOD13_0223720C: ; 0x0223720C ldr r1, _0223721C ; =0x02243188 ldr r1, [r1] str r0, [r1, #0x4c] bx lr .align 2, 0 _0223721C: .word 0x02243188 arm_func_start MOD13_02237220 MOD13_02237220: ; 0x02237220 stmdb sp!, {r4, r5, r6, lr} ldr r3, _02237398 ; =0x02243188 mov r6, r0 ldr r0, [r3] mov r5, r1 ldr r0, [r0, #0x40] mov r4, r2 cmp r0, #1 beq _02237248 bl OS_Terminate _02237248: ldr r2, _02237398 ; =0x02243188 mov r1, #0x180 ldr r0, [r2] mov r3, #0xe0 add r0, r0, #0x1000 str r1, [r0, #0x2a4] ldr r0, [r2] ldr r1, _0223739C ; =0x02243184 add r0, r0, #0x1000 str r3, [r0, #0x2a0] ldr r3, [r1] cmp r3, #0 beq _02237294 ldr r0, [r2] ldr r1, _022373A0 ; =0x0224087C add r0, r0, #0x1000 ldr r2, [r0, #0x2a4] mov r0, #0x8000000 blx r3 _02237294: ldr r0, _0223739C ; =0x02243184 ldr r3, [r0] cmp r3, #0 beq _022372C0 ldr r0, _02237398 ; =0x02243188 ldr r1, _022373A4 ; =0x02240894 ldr r2, [r0] mov r0, #0x8000000 add r2, r2, #0x1000 ldr r2, [r2, #0x2a0] blx r3 _022372C0: ldr r1, _02237398 ; =0x02243188 mov r0, #3 ldr r1, [r1] str r6, [r1, #0x44] bl MOD13_02238294 ldr r0, _02237398 ; =0x02243188 ldr r1, [r0] strh r5, [r1, #0xc] ldr r0, [r0] strh r4, [r0, #0x32] bl WM_GetDispersionBeaconPeriod ldr r1, _02237398 ; =0x02243188 mov r2, #0xd0 ldr r3, [r1] mov r4, #0x44 strh r0, [r3, #0x18] ldr r0, [r1] mov r3, #2 strh r2, [r0, #0x34] ldr r0, [r1] mov r2, #0 strh r4, [r0, #0x36] ldr r0, [r1] mov r4, #1 strh r3, [r0, #0x10] ldr r0, [r1] cmp r6, #2 strh r2, [r0, #0x16] ldr r0, [r1] strh r2, [r0, #0x12] ldr r0, [r1] strh r4, [r0, #0xe] ldr r0, _02237398 ; =0x02243188 movne r4, r2 ldr r0, [r0] cmp r6, #0 strh r4, [r0, #0x14] beq _02237368 cmp r6, #2 beq _02237368 cmp r6, #4 bne _02237370 _02237368: bl MOD13_02238224 ldmia sp!, {r4, r5, r6, pc} _02237370: ldr r0, _0223739C ; =0x02243184 ldr r3, [r0] cmp r3, #0 beq _02237390 ldr r1, _022373A8 ; =0x022408AC mov r2, r6 mov r0, #0x8000000 blx r3 _02237390: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02237398: .word 0x02243188 _0223739C: .word 0x02243184 _022373A0: .word 0x0224087C _022373A4: .word 0x02240894 _022373A8: .word 0x022408AC arm_func_start MOD13_022373AC MOD13_022373AC: ; 0x022373AC stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _022373D4 bl MOD13_02238274 mov r0, #0xa bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _022373D4: ldr r0, _02237408 ; =MOD13_02237464 bl WM_SetIndCallback cmp r0, #0 beq _022373F8 bl MOD13_02238274 mov r0, #0xa bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _022373F8: mov r0, #1 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237408: .word MOD13_02237464 arm_func_start MOD13_0223740C MOD13_0223740C: ; 0x0223740C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02238294 ldr r0, _0223745C ; =0x02243188 ldr r1, _02237460 ; =MOD13_022373AC ldr r0, [r0] mov r2, #2 add r0, r0, #0x80 bl WM_Initialize cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0xa bl MOD13_02238294 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223745C: .word 0x02243188 _02237460: .word MOD13_022373AC arm_func_start MOD13_02237464 MOD13_02237464: ; 0x02237464 stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #8 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_02238294 bl OS_Terminate add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_02237490 MOD13_02237490: ; 0x02237490 stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _0223750C ; =0x02243188 mov r0, #0 ldr r1, [r2] mov r3, #1 add r1, r1, #0x1000 str r0, [r1, #0x2a4] ldr r1, [r2] add r1, r1, #0x1000 str r0, [r1, #0x2a0] ldr r1, [r2] str r0, [r1, #0x48] ldr r1, [r2] strh r0, [r1, #0x50] ldr r1, [r2] strh r3, [r1, #0x52] ldr r1, [r2] str r0, [r1, #0x54] ldr r1, [r2] str r0, [r1] ldr r1, [r2] strh r0, [r1, #4] ldr r1, [r2] str r0, [r1, #0x4c] bl MOD13_0223740C cmp r0, #0 movne r0, #1 moveq r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223750C: .word 0x02243188 arm_func_start MOD13_02237510 MOD13_02237510: ; 0x02237510 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r4, #0 mov r2, r4 mov r5, r4 mov r3, #1 _02237528: mov r1, r3, lsl r5 ands r1, r0, r1 beq _0223754C add r1, r5, #1 add r2, r2, #1 mov r1, r1, lsl #0x10 mov r2, r2, lsl #0x10 mov r4, r1, asr #0x10 mov r2, r2, lsr #0x10 _0223754C: add r1, r5, #1 mov r1, r1, lsl #0x10 mov r5, r1, asr #0x10 cmp r5, #0x10 blt _02237528 cmp r2, #1 addls sp, sp, #4 movls r0, r4 ldmlsia sp!, {r4, r5, pc} ldr lr, _022375FC ; =0x02243188 ldr r3, _02237600 ; =0x00010DCD ldr r5, [lr] ldr ip, _02237604 ; =0x00003039 ldr r4, [r5, #0x58] mov r1, #0 mla r3, r4, r3, ip str r3, [r5, #0x58] ldr r3, [lr] ldr r3, [r3, #0x58] and r3, r3, #0xff mul r3, r2, r3 mov r2, r3, lsl #8 mov r3, r2, lsr #0x10 _022375A8: ands r2, r0, #1 beq _022375D4 cmp r3, #0 addeq r0, r1, #1 moveq r0, r0, lsl #0x10 addeq sp, sp, #4 moveq r0, r0, asr #0x10 ldmeqia sp!, {r4, r5, pc} sub r2, r3, #1 mov r2, r2, lsl #0x10 mov r3, r2, lsr #0x10 _022375D4: add r1, r1, #1 mov r1, r1, lsl #0x10 mov r0, r0, lsl #0xf mov r1, r1, asr #0x10 cmp r1, #0x10 mov r0, r0, lsr #0x10 blt _022375A8 mov r0, #0 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _022375FC: .word 0x02243188 _02237600: .word 0x00010DCD _02237604: .word 0x00003039 arm_func_start MOD13_02237608 MOD13_02237608: ; 0x02237608 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02237684 ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x40] cmp r0, #7 beq _02237628 bl OS_Terminate _02237628: mov r0, #1 bl MOD13_02238294 ldr r0, _02237684 ; =0x02243188 ldr r0, [r0] ldrh r0, [r0, #0x60] bl MOD13_02237510 ldr r2, _02237684 ; =0x02243188 ldr r1, _02237688 ; =0x02243184 ldr r3, [r2] strh r0, [r3, #0x5c] ldr r3, [r1] cmp r3, #0 beq _02237670 ldr r0, [r2] ldr r1, _0223768C ; =0x022408C8 ldrh r2, [r0, #0x5c] mov r0, #0x8000000 blx r3 _02237670: ldr r0, _02237684 ; =0x02243188 ldr r0, [r0] ldrh r0, [r0, #0x5c] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237684: .word 0x02243188 _02237688: .word 0x02243184 _0223768C: .word 0x022408C8 arm_func_start MOD13_02237690 MOD13_02237690: ; 0x02237690 stmdb sp!, {lr} sub sp, sp, #4 mov r3, r1 mov ip, #0x1e mov r1, #3 mov r2, #0x11 str ip, [sp] bl WM_MeasureChannel add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #2] cmp r0, #0 beq _022376DC bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 ldmia sp!, {r4, pc} _022376DC: ldr r0, _02237788 ; =0x02243184 ldr ip, [r0] cmp ip, #0 beq _02237700 ldrh r2, [r4, #8] ldrh r3, [r4, #0xa] ldr r1, _0223778C ; =0x022408E0 mov r0, #0x8000000 blx ip _02237700: ldr r0, _02237790 ; =0x02243188 ldrh r2, [r4, #0xa] ldr r3, [r0] ldrh ip, [r4, #8] ldrh r1, [r3, #0x5e] cmp r1, r2 bls _02237738 strh r2, [r3, #0x5e] sub r1, ip, #1 mov r2, #1 mov r1, r2, lsl r1 ldr r0, [r0] strh r1, [r0, #0x60] b _02237750 _02237738: cmp r1, r2 ldreqh r2, [r3, #0x60] subeq r0, ip, #1 moveq r1, #1 orreq r0, r2, r1, lsl r0 streqh r0, [r3, #0x60] _02237750: add r0, ip, #1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 bl MOD13_02237794 cmp r0, #0x18 bne _02237774 mov r0, #7 bl MOD13_02238294 ldmia sp!, {r4, pc} _02237774: cmp r0, #2 ldmeqia sp!, {r4, pc} mov r0, #9 bl MOD13_02238294 ldmia sp!, {r4, pc} .align 2, 0 _02237788: .word 0x02243184 _0223778C: .word 0x022408E0 _02237790: .word 0x02243188 arm_func_start MOD13_02237794 MOD13_02237794: ; 0x02237794 stmdb sp!, {r4, lr} mov r4, r0 bl WM_GetAllowedChannel cmp r0, #0x8000 bne _022377C0 mov r0, #3 bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 mov r0, #3 ldmia sp!, {r4, pc} _022377C0: cmp r0, #0 bne _022377E0 mov r0, #0x16 bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 mov r0, #0x18 ldmia sp!, {r4, pc} _022377E0: sub r1, r4, #1 mov r2, #1 mov r1, r2, lsl r1 ands r1, r1, r0 bne _0223781C _022377F4: add r1, r4, #1 mov r1, r1, lsl #0x10 mov r4, r1, lsr #0x10 cmp r4, #0x10 movhi r0, #0x18 ldmhiia sp!, {r4, pc} sub r1, r4, #1 mov r1, r2, lsl r1 ands r1, r1, r0 beq _022377F4 _0223781C: ldr r0, _02237834 ; =0x022376B8 mov r1, r4 bl MOD13_02237690 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 ldmia sp!, {r4, pc} .align 2, 0 _02237834: .word 0x022376B8 arm_func_start MOD13_02237838 MOD13_02237838: ; 0x02237838 stmdb sp!, {lr} sub sp, sp, #0xc add r0, sp, #0 bl OS_GetMacAddress ldr r1, _02237900 ; =0x027FFC3C ldrh r0, [sp] ldr r3, [r1] ldrh r1, [sp, #2] add r0, r0, r3 ldr r2, _02237904 ; =0x02243188 add r1, r1, r0 ldrh r3, [sp, #4] ldr r0, [r2] mov ip, #0 add r1, r3, r1 str r1, [r0, #0x58] ldr lr, [r2] ldr r0, _02237908 ; =0x00010DCD ldr r3, [lr, #0x58] ldr r1, _0223790C ; =0x00003039 mla r0, r3, r0, r1 str r0, [lr, #0x58] ldr r0, [r2] mov r3, #0x65 strh ip, [r0, #0x5c] ldr r1, [r2] mov r0, #3 strh r3, [r1, #0x5e] bl MOD13_02238294 mov r0, #1 bl MOD13_02237794 cmp r0, #0x18 bne _022378D8 mov r0, #0x18 bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 add sp, sp, #0xc mov r0, #0 ldmia sp!, {pc} _022378D8: cmp r0, #2 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 mov r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02237900: .word 0x027FFC3C _02237904: .word 0x02243188 _02237908: .word 0x00010DCD _0223790C: .word 0x00003039 arm_func_start MOD13_02237910 MOD13_02237910: ; 0x02237910 ldr r0, _02237920 ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x40] bx lr .align 2, 0 _02237920: .word 0x02243188 arm_func_start MOD13_02237924 MOD13_02237924: ; 0x02237924 ldr r0, _02237934 ; =0x02243188 ldr r0, [r0] ldrh r0, [r0, #0x52] bx lr .align 2, 0 _02237934: .word 0x02243188 arm_func_start MOD13_02237938 MOD13_02237938: ; 0x02237938 ldr r1, _02237948 ; =0x02243188 ldr r1, [r1] str r0, [r1, #8] bx lr .align 2, 0 _02237948: .word 0x02243188 arm_func_start MOD13_0223794C MOD13_0223794C: ; 0x0223794C stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _02237970 mov r0, #0xa bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02237970: mov r0, #0 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} stmdb sp!, {r4, lr} mov r4, r0 ldrh r0, [r4, #2] cmp r0, #0 beq _022379A8 mov r0, #9 bl MOD13_02238294 ldrh r0, [r4, #2] bl MOD13_02238274 ldmia sp!, {r4, pc} _022379A8: mov r0, #1 bl MOD13_02238294 ldmia sp!, {r4, pc} arm_func_start MOD13_022379B4 MOD13_022379B4: ; 0x022379B4 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02238294 ldr r0, _022379EC ; =0x02237980 bl WM_Reset cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022379EC: .word 0x02237980 arm_func_start MOD13_022379F0 MOD13_022379F0: ; 0x022379F0 stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _02237A10 bl MOD13_02238274 add sp, sp, #4 ldmia sp!, {pc} _02237A10: mov r0, #1 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_02237A20 MOD13_02237A20: ; 0x02237A20 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02238294 ldr r0, _02237A60 ; =MOD13_022379F0 mov r1, #0 bl WM_Disconnect cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 bl MOD13_02237108 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237A60: .word MOD13_022379F0 arm_func_start MOD13_02237A64 MOD13_02237A64: ; 0x02237A64 stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _02237A88 bl MOD13_02238274 bl MOD13_02236FB8 add sp, sp, #4 ldmia sp!, {pc} _02237A88: bl MOD13_02237A20 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_02237AA8 MOD13_02237AA8: ; 0x02237AA8 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02238294 ldr r0, _02237AE0 ; =MOD13_02237A64 bl WM_EndMP cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237AE0: .word MOD13_02237A64 arm_func_start MOD13_02237AE4 MOD13_02237AE4: ; 0x02237AE4 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02237B40 ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x40] cmp r0, #6 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {pc} mov r0, #3 bl MOD13_02238294 ldr r0, _02237B40 ; =0x02243188 ldr r0, [r0] add r0, r0, #0x1e00 bl WM_EndKeySharing cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237B40: .word 0x02243188 arm_func_start MOD13_02237B44 MOD13_02237B44: ; 0x02237B44 stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _02237B64 bl MOD13_02238274 add sp, sp, #4 ldmia sp!, {pc} _02237B64: mov r0, #1 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_02237B74 MOD13_02237B74: ; 0x02237B74 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02237BA4 ; =MOD13_02237B44 bl WM_EndParent cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237BA4: .word MOD13_02237B44 arm_func_start MOD13_02237BA8 MOD13_02237BA8: ; 0x02237BA8 stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _02237BCC bl MOD13_02238274 bl MOD13_02237108 add sp, sp, #4 ldmia sp!, {pc} _02237BCC: bl MOD13_02237B74 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02237C04 ; =0x02243184 ldr r2, [r0] cmp r2, #0 beq _02237BF8 ldr r1, _02237C08 ; =0x02240918 mov r0, #0x8000000 blx r2 _02237BF8: bl MOD13_02237108 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237C04: .word 0x02243184 _02237C08: .word 0x02240918 arm_func_start MOD13_02237C0C MOD13_02237C0C: ; 0x02237C0C stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02238294 ldr r0, _02237C44 ; =MOD13_02237BA8 bl WM_EndMP cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237C44: .word MOD13_02237BA8 arm_func_start MOD13_02237C48 MOD13_02237C48: ; 0x02237C48 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02237C80 ; =0x02243188 ldr r0, [r0] add r0, r0, #0x1e00 bl WM_EndKeySharing cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237C80: .word 0x02243188 arm_func_start MOD13_02237C84 MOD13_02237C84: ; 0x02237C84 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #6 bl MOD13_02238294 ldr r0, _02237CC8 ; =0x02243188 mov r1, #0xd ldr r0, [r0] add r0, r0, #0x1e00 bl WM_StartKeySharing cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237CC8: .word 0x02243188 arm_func_start MOD13_02237CCC MOD13_02237CCC: ; 0x02237CCC stmdb sp!, {lr} sub sp, sp, #4 ldrh r1, [r0, #2] cmp r1, #0 beq _02237CF8 mov r0, r1 bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02237CF8: ldrh r2, [r0, #4] sub r0, r2, #0xa cmp r0, #3 addls pc, pc, r0, lsl #2 b _02237DEC _02237D0C: ; jump table b _02237D1C ; case 0 b _02237E0C ; case 1 b _02237DEC ; case 2 b _02237DEC ; case 3 _02237D1C: ldr r0, _02237E14 ; =0x02243188 ldr r1, [r0] ldr r0, [r1, #0x44] cmp r0, #2 bne _02237D88 ldr r0, [r1, #0x40] cmp r0, #4 bne _02237D78 bl MOD13_02237C84 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, _02237E18 ; =0x02243184 ldr r2, [r0] cmp r2, #0 beq _02237D68 ldr r1, _02237E1C ; =0x02240940 mov r0, #0x8000000 blx r2 _02237D68: mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02237D78: cmp r0, #6 bne _02237DDC add sp, sp, #4 ldmia sp!, {pc} _02237D88: cmp r0, #4 bne _02237DDC ldr r0, _02237E20 ; =0x000013E0 mov ip, #1 add r0, r1, r0 mov r1, #0xd mov r2, #7 mov r3, #0x44 str ip, [sp] bl WM_StartDataSharing cmp r0, #0 beq _02237DCC bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02237DCC: mov r0, #5 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02237DDC: mov r0, #4 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02237DEC: ldr r0, _02237E18 ; =0x02243184 ldr r3, [r0] cmp r3, #0 addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r1, _02237E24 ; =0x022408F8 mov r0, #0x8000000 blx r3 _02237E0C: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02237E14: .word 0x02243188 _02237E18: .word 0x02243184 _02237E1C: .word 0x02240940 _02237E20: .word 0x000013E0 _02237E24: .word 0x022408F8 arm_func_start MOD13_02237E28 MOD13_02237E28: ; 0x02237E28 stmdb sp!, {lr} sub sp, sp, #0xc ldr r0, _02237EBC ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x40] sub r0, r0, #4 cmp r0, #2 addls sp, sp, #0xc movls r0, #1 ldmlsia sp!, {pc} mov r0, #4 bl MOD13_02238294 ldr r0, _02237EBC ; =0x02243188 mov ip, #1 ldr lr, [r0] ldr r2, _02237EC0 ; =0x00001060 add r3, lr, #0x1000 ldr r1, [r3, #0x2a0] ldr r0, _02237EC4 ; =MOD13_02237CCC mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 str r1, [sp] str ip, [sp, #4] ldr r3, [r3, #0x2a4] add r1, lr, r2 mov r2, r3, lsl #0x10 mov r2, r2, lsr #0x10 add r3, lr, #0xf80 bl WM_StartMP cmp r0, #2 addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02237EBC: .word 0x02243188 _02237EC0: .word 0x00001060 _02237EC4: .word MOD13_02237CCC arm_func_start MOD13_02237EC8 MOD13_02237EC8: ; 0x02237EC8 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 ldrh r2, [r5, #0x10] mov r1, #1 ldrh r0, [r5, #2] mov r1, r1, lsl r2 mov r1, r1, lsl #0x10 cmp r0, #0 mov r4, r1, lsr #0x10 beq _02237F08 bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02237F08: ldrh ip, [r5, #8] cmp ip, #7 bgt _02237F44 cmp ip, #7 bge _02237F50 cmp ip, #2 bgt _02238034 cmp ip, #0 blt _02238034 cmp ip, #0 beq _02238014 cmp ip, #2 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} b _02238034 _02237F44: cmp ip, #9 beq _02237FD8 b _02238034 _02237F50: ldr r0, _02238060 ; =0x02243184 ldr r3, [r0] cmp r3, #0 beq _02237F6C ldr r1, _02238064 ; =0x02240970 mov r0, #0x8000000 blx r3 _02237F6C: ldr r0, _02238068 ; =0x02243188 ldr r0, [r0] ldr r1, [r0, #0x4c] cmp r1, #0 beq _02237FBC mov r0, r5 blx r1 cmp r0, #0 bne _02237FBC ldrh r1, [r5, #0x10] mov r0, #0 bl WM_Disconnect cmp r0, #2 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02237FBC: ldr r0, _02238068 ; =0x02243188 add sp, sp, #4 ldr r1, [r0] ldrh r0, [r1, #0x52] orr r0, r0, r4 strh r0, [r1, #0x52] ldmia sp!, {r4, r5, pc} _02237FD8: ldr r0, _02238060 ; =0x02243184 ldr r3, [r0] cmp r3, #0 beq _02237FF4 ldr r1, _0223806C ; =0x0224099C mov r0, #0x8000000 blx r3 _02237FF4: ldr r0, _02238068 ; =0x02243188 mvn r1, r4 ldr r2, [r0] add sp, sp, #4 ldrh r0, [r2, #0x52] and r0, r0, r1 strh r0, [r2, #0x52] ldmia sp!, {r4, r5, pc} _02238014: bl MOD13_02237E28 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {r4, r5, pc} mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {r4, r5, pc} _02238034: ldr r0, _02238060 ; =0x02243184 ldr r3, [r0] cmp r3, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} ldr r1, _02238070 ; =0x022408F8 mov r2, ip mov r0, #0x8000000 blx r3 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02238060: .word 0x02243184 _02238064: .word 0x02240970 _02238068: .word 0x02243188 _0223806C: .word 0x0224099C _02238070: .word 0x022408F8 arm_func_start MOD13_02238074 MOD13_02238074: ; 0x02238074 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _022380E0 ; =0x02243188 ldr r0, [r0] ldr r0, [r0, #0x40] sub r0, r0, #4 cmp r0, #2 addls sp, sp, #4 movls r0, #1 ldmlsia sp!, {pc} ldr r0, _022380E4 ; =MOD13_02237EC8 bl WM_StartParent cmp r0, #2 beq _022380BC bl MOD13_02238274 add sp, sp, #4 mov r0, #0 ldmia sp!, {pc} _022380BC: ldr r1, _022380E0 ; =0x02243188 mov r3, #0 ldr r2, [r1] mov r0, #1 strh r3, [r2, #0x50] ldr r1, [r1] strh r0, [r1, #0x52] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022380E0: .word 0x02243188 _022380E4: .word MOD13_02237EC8 arm_func_start MOD13_022380E8 MOD13_022380E8: ; 0x022380E8 stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _02238110 bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02238110: bl MOD13_02238074 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_02238130 MOD13_02238130: ; 0x02238130 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02238294 ldr r0, _02238198 ; =0x02243188 ldr r1, [r0] add r0, r1, #0x1000 ldr r2, [r0, #0x3ac] add r0, r1, #0x13c0 blx r2 ldr r2, _02238198 ; =0x02243188 mov r1, r0 ldr r2, [r2] ldr r0, _0223819C ; =MOD13_022380E8 add r2, r2, #0x13c0 bl WM_SetWEPKeyEx2 cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02238198: .word 0x02243188 _0223819C: .word MOD13_022380E8 arm_func_start MOD13_022381A0 MOD13_022381A0: ; 0x022381A0 stmdb sp!, {lr} sub sp, sp, #4 ldrh r0, [r0, #2] cmp r0, #0 beq _022381C8 bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _022381C8: ldr r0, _02238220 ; =0x02243188 ldr r0, [r0] add r0, r0, #0x1000 ldr r0, [r0, #0x3ac] cmp r0, #0 beq _02238200 bl MOD13_02238130 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} _02238200: bl MOD13_02238074 cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #9 bl MOD13_02238294 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02238220: .word 0x02243188 arm_func_start MOD13_02238224 MOD13_02238224: ; 0x02238224 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #3 bl MOD13_02238294 ldr r1, _0223826C ; =0x02243188 ldr r0, _02238270 ; =MOD13_022381A0 ldr r1, [r1] bl WM_SetParentParameter cmp r0, #2 addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} bl MOD13_02238274 mov r0, #9 bl MOD13_02238294 mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223826C: .word 0x02243188 _02238270: .word MOD13_022381A0 arm_func_start MOD13_02238274 MOD13_02238274: ; 0x02238274 ldr r1, _02238290 ; =0x02243188 ldr r2, [r1] ldr r1, [r2, #0x40] sub r1, r1, #9 cmp r1, #1 strhi r0, [r2, #0x54] bx lr .align 2, 0 _02238290: .word 0x02243188 arm_func_start MOD13_02238294 MOD13_02238294: ; 0x02238294 stmdb sp!, {r4, lr} ldr r1, _02238308 ; =0x02243184 mov r4, r0 ldr ip, [r1] cmp ip, #0 beq _022382CC ldr r0, _0223830C ; =0x02243188 ldr r2, _02238310 ; =0x022407A8 ldr r0, [r0] ldr r1, _02238314 ; =0x022409C8 ldr r3, [r0, #0x40] mov r0, #0x8000000 ldr r2, [r2, r3, lsl #2] blx ip _022382CC: ldr r1, _0223830C ; =0x02243188 ldr r0, _02238308 ; =0x02243184 ldr r2, [r1] str r4, [r2, #0x40] ldr r3, [r0] cmp r3, #0 ldmeqia sp!, {r4, pc} ldr r1, [r1] ldr r0, _02238310 ; =0x022407A8 ldr r2, [r1, #0x40] ldr r1, _02238318 ; =0x022409D0 ldr r2, [r0, r2, lsl #2] mov r0, #0x8000000 blx r3 ldmia sp!, {r4, pc} .align 2, 0 _02238308: .word 0x02243184 _0223830C: .word 0x02243188 _02238310: .word 0x022407A8 _02238314: .word 0x022409C8 _02238318: .word 0x022409D0 arm_func_start MOD13_0223831C MOD13_0223831C: ; 0x0223831C ldr r1, _02238354 ; =0x02243188 mov r2, #0 str r0, [r1] str r2, [r0, #0x40] ldr r0, [r1] add r0, r0, #0x1000 str r2, [r0, #0x3a8] ldr r0, [r1] add r0, r0, #0x1000 str r2, [r0, #0x3ac] ldr r0, [r1] add r0, r0, #0x1000 str r2, [r0, #0x3b0] bx lr .align 2, 0 _02238354: .word 0x02243188 arm_func_start MOD13_02238358 MOD13_02238358: ; 0x02238358 ldr r0, _0223836C ; =0x0224318C ldr r0, [r0] add r0, r0, #0x100 ldrh r0, [r0, #0x44] bx lr .align 2, 0 _0223836C: .word 0x0224318C arm_func_start MOD13_02238370 MOD13_02238370: ; 0x02238370 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov ip, #0 ldr r4, _0223845C ; =0x0224318C mov r5, ip mov r2, ip mov r0, #1 mov r1, #0xbc mov lr, #0x44 _02238394: ldr r3, [r4] add r6, r3, ip, lsl #2 ldr r6, [r6, #0x208] cmp r6, #0 beq _02238448 add r6, r3, #0x100 mla r7, ip, lr, r6 cmp ip, #1 bne _02238448 ldrb r6, [r3, #0xa93] cmp r6, #1 bne _02238418 ldrh r6, [r7] cmp r6, #0x10 addne sp, sp, #4 ldmneia sp!, {r4, r5, r6, r7, pc} ldr r6, [r3, #0xa94] add r6, r6, #1 str r6, [r3, #0xa94] ldr r6, [r4] ldr r3, [r6, #0xa94] ands r3, r3, #1 bne _02238448 add r3, r6, #0x200 ldrh r6, [r3] add r6, r6, #1 strh r6, [r3] ldr r3, [r4] add r3, r3, #0x200 ldrh r6, [r3] cmp r6, #0x24 strhsh r2, [r3] b _02238448 _02238418: add r3, r3, #0x200 strh r1, [r3, #2] ldrh r3, [r7] cmp r3, #0xbd bne _02238448 ldr r3, [r4] strb r0, [r3, #0xa93] ldr r3, [r4] add r3, r3, #0x200 strh r5, [r3] ldr r3, [r4] str r5, [r3, #0xa94] _02238448: add ip, ip, #1 cmp ip, #0x10 blt _02238394 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0223845C: .word 0x0224318C arm_func_start MOD13_02238460 MOD13_02238460: ; 0x02238460 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r3, _022385B8 ; =0x0224318C ldr r5, [r3] ldrb r4, [r5, #0xa93] cmp r4, #1 bne _022384A8 ldr r4, [r5, #0xab0] strh r0, [r4] ldr r4, [r3] mov r0, r2 ldr r4, [r4, #0xab0] mov r2, #0x40 strh r1, [r4, #2] ldr r1, [r3] ldr r1, [r1, #0xab0] add r1, r1, #4 bl MI_CpuCopy8 b _022384D4 _022384A8: ldr r0, [r5, #0x204] mov r1, #0xbc add r0, r0, #1 str r0, [r5, #0x204] ldr r0, [r3] ldr r0, [r0, #0xab0] strh r1, [r0] ldr r0, [r3] ldrb r1, [r0, #0xa92] ldr r0, [r0, #0xab0] strb r1, [r0, #4] _022384D4: bl MOD13_02237910 cmp r0, #5 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _022385B8 ; =0x0224318C ldr r0, [r0] bl MOD13_02237130 cmp r0, #0 bne _0223850C ldr r0, _022385B8 ; =0x0224318C ldr r1, [r0] ldr r0, [r1, #0x204] add r0, r0, #4 str r0, [r1, #0x204] ldmia sp!, {r4, r5, r6, r7, r8, pc} _0223850C: ldr r0, _022385B8 ; =0x0224318C ldr r1, [r0] ldrb r0, [r1, #0xa93] cmp r0, #0 ldreq r0, [r1, #0x204] addeq r0, r0, #1 streq r0, [r1, #0x204] beq _02238550 mov r0, #0 str r0, [r1, #0x204] bl MOD13_02237924 cmp r0, #3 ldrne r0, _022385B8 ; =0x0224318C movne r1, #0x1b ldrne r0, [r0] strneb r1, [r0, #0xa90] ldmneia sp!, {r4, r5, r6, r7, r8, pc} _02238550: mov r7, #0 ldr r8, _022385B8 ; =0x0224318C mov r4, r7 mov r6, #0x44 mov r5, #1 _02238564: mov r0, r7 bl MOD13_022371E0 cmp r0, #0 ldreq r0, [r8] addeq r0, r0, r7, lsl #2 streq r4, [r0, #0x208] beq _022385A0 ldr r1, [r8] mov r2, r6 add r1, r1, #0x100 mla r1, r7, r6, r1 bl MI_CpuCopy8 ldr r0, [r8] add r0, r0, r7, lsl #2 str r5, [r0, #0x208] _022385A0: add r0, r7, #1 mov r0, r0, lsl #0x10 mov r7, r0, lsr #0x10 cmp r7, #2 blo _02238564 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _022385B8: .word 0x0224318C arm_func_start MOD13_022385BC MOD13_022385BC: ; 0x022385BC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02238604 ; =0x0224318C mov r1, #0 ldr r0, [r0] mov r2, #0x100 add r0, r0, #0x100 bl MI_CpuFill8 ldr r0, _02238604 ; =0x0224318C mov r1, #0 ldr r0, [r0] mov r2, #0x100 bl MI_CpuFill8 ldr r0, _02238604 ; =0x0224318C ldr r0, [r0] str r0, [r0, #0xab0] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02238604: .word 0x0224318C arm_func_start MOD13_02238608 MOD13_02238608: ; 0x02238608 stmdb sp!, {r4, lr} add r0, r0, #0xa bl MOD13_02236254 movs r4, r0 moveq r0, #0 ldmeqia sp!, {r4, pc} bl MOD13_02236314 ldr r1, _02238640 ; =0x0224318C sub r2, r4, #1 ldr r1, [r1] add r1, r1, r2, lsl #2 str r0, [r1, #0xaa0] mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 _02238640: .word 0x0224318C arm_func_start MOD13_02238644 MOD13_02238644: ; 0x02238644 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02237910 cmp r0, #1 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {pc} bl MOD13_02236F5C ldr r1, _0223867C ; =0x0224318C mov r0, #1 ldr r1, [r1] strb r0, [r1, #0xa90] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223867C: .word 0x0224318C arm_func_start MOD13_02238680 MOD13_02238680: ; 0x02238680 ldr r0, _02238694 ; =0x0224318C mov r1, #0xc ldr r0, [r0] strb r1, [r0, #0xa90] bx lr .align 2, 0 _02238694: .word 0x0224318C arm_func_start MOD13_02238698 MOD13_02238698: ; 0x02238698 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02237910 cmp r0, #6 addls pc, pc, r0, lsl #2 b _02238878 _022386B0: ; jump table b _02238878 ; case 0 b _022386CC ; case 1 b _02238878 ; case 2 b _02238878 ; case 3 b _022386FC ; case 4 b _022386FC ; case 5 b _022386FC ; case 6 _022386CC: ldr r1, _02238880 ; =0x0224318C mov r0, #4 ldr r1, [r1] add r1, r1, #0x600 ldrh r3, [r1, #0x48] ldrh r2, [r1, #0x4a] add r1, r3, #1 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 bl MOD13_02237220 add sp, sp, #4 ldmia sp!, {pc} _022386FC: ldr r1, _02238880 ; =0x0224318C mov r0, #0 ldr r2, [r1] add r1, r2, #0x200 ldrh r1, [r1] ldr ip, [r2, #0xaa4] mov r3, r1, lsr #0x1f rsb r2, r3, r1, lsl #28 add r2, r3, r2, ror #28 add r2, ip, r2, lsl #6 bl MOD13_02238460 bl MOD13_02238370 ldr r0, _02238880 ; =0x0224318C ldr r1, [r0] ldrb r0, [r1, #0xa90] cmp r0, #0x1b addeq sp, sp, #4 ldmeqia sp!, {pc} ldr r0, [r1, #0x204] cmp r0, #0x1e0 movhi r0, #0x1b strhib r0, [r1, #0xa90] addhi sp, sp, #4 ldmhiia sp!, {pc} bl MOD13_02238358 cmp r0, #0x10 beq _02238774 bl MOD13_02238358 cmp r0, #0x20 bne _02238790 _02238774: bl MOD13_02238358 ldr r0, _02238880 ; =0x0224318C mov r1, #0xa ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238790: bl MOD13_02238358 cmp r0, #0x40 ldreq r0, _02238880 ; =0x0224318C moveq r1, #0xb ldreq r0, [r0] addeq sp, sp, #4 streqb r1, [r0, #0xa90] ldmeqia sp!, {pc} bl MOD13_02238358 cmp r0, #0xff ldreq r0, _02238880 ; =0x0224318C moveq r1, #0x1b ldreq r0, [r0] addeq sp, sp, #4 streqb r1, [r0, #0xa90] ldmeqia sp!, {pc} bl MOD13_02238358 cmp r0, #0x50 ldreq r0, _02238880 ; =0x0224318C moveq r1, #0x15 ldreq r0, [r0] addeq sp, sp, #4 streqb r1, [r0, #0xa90] ldmeqia sp!, {pc} bl MOD13_02238358 cmp r0, #0x60 ldreq r0, _02238880 ; =0x0224318C moveq r1, #0x18 ldreq r0, [r0] addeq sp, sp, #4 streqb r1, [r0, #0xa90] ldmeqia sp!, {pc} bl MOD13_02238358 cmp r0, #0x70 ldreq r0, _02238880 ; =0x0224318C moveq r1, #0x1b ldreq r0, [r0] addeq sp, sp, #4 streqb r1, [r0, #0xa90] ldmeqia sp!, {pc} bl MOD13_02238358 cmp r0, #0 ldreq r0, _02238880 ; =0x0224318C moveq r1, #8 ldreq r0, [r0] addeq sp, sp, #4 streqb r1, [r0, #0xa90] ldmeqia sp!, {pc} bl MOD13_02238358 cmp r0, #0xbd ldreq r0, _02238880 ; =0x0224318C moveq r1, #9 ldreq r0, [r0] streqb r1, [r0, #0xa90] ldrne r0, _02238880 ; =0x0224318C movne r1, #0x1f ldrne r0, [r0] strneb r1, [r0, #0xa90] _02238878: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02238880: .word 0x0224318C arm_func_start MOD13_02238884 MOD13_02238884: ; 0x02238884 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_022385BC ldr r0, _022388B0 ; =MOD13_02238608 bl MOD13_0223720C ldr r0, _022388B4 ; =0x0224318C mov r1, #8 ldr r0, [r0] strb r1, [r0, #0xa90] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _022388B0: .word MOD13_02238608 _022388B4: .word 0x0224318C arm_func_start MOD13_022388B8 MOD13_022388B8: ; 0x022388B8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02236470 cmp r0, #7 addls pc, pc, r0, lsl #2 b _02238A94 _022388D0: ; jump table b _02238A3C ; case 0 b _022388F0 ; case 1 b _02238914 ; case 2 b _022389AC ; case 3 b _02238A94 ; case 4 b _02238A08 ; case 5 b _02238A94 ; case 6 b _02238A20 ; case 7 _022388F0: ldr r1, _02238A9C ; =0x0224318C ldr r0, _02238AA0 ; =0x00000AB4 ldr r2, [r1] add r1, r2, #0x600 ldrh r1, [r1, #0x4a] add r0, r2, r0 bl MOD13_02236D9C add sp, sp, #4 ldmia sp!, {pc} _02238914: mov r0, #2 bl MOD13_02236414 cmp r0, #0 ldrne r0, _02238A9C ; =0x0224318C movne r1, #5 ldrne r0, [r0] addne sp, sp, #4 strneb r1, [r0, #0xa90] ldmneia sp!, {pc} mov r0, #3 bl MOD13_02236414 cmp r0, #0 bne _02238958 mov r0, #4 bl MOD13_02236414 cmp r0, #0 beq _02238970 _02238958: ldr r0, _02238A9C ; =0x0224318C mov r1, #6 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238970: ldr r0, _02238A9C ; =0x0224318C ldr r0, [r0] ldrb r0, [r0, #0xa90] cmp r0, #5 addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #2 bl MOD13_02236414 cmp r0, #0 ldreq r0, _02238A9C ; =0x0224318C moveq r1, #0xd ldreq r0, [r0] add sp, sp, #4 streqb r1, [r0, #0xa90] ldmia sp!, {pc} _022389AC: bl MOD13_022368FC cmp r0, #0 beq _022389C4 bl MOD13_022367F4 add sp, sp, #4 ldmia sp!, {pc} _022389C4: ldr r0, _02238A9C ; =0x0224318C ldr r0, [r0] ldrb r0, [r0, #0xa90] add r0, r0, #0xfa and r0, r0, #0xff cmp r0, #1 addhi sp, sp, #4 ldmhiia sp!, {pc} mov r0, #3 bl MOD13_02236414 cmp r0, #0 ldreq r0, _02238A9C ; =0x0224318C moveq r1, #0x12 ldreq r0, [r0] add sp, sp, #4 streqb r1, [r0, #0xa90] ldmia sp!, {pc} _02238A08: ldr r0, _02238A9C ; =0x0224318C mov r1, #7 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238A20: bl MOD13_022367D8 ldr r0, _02238A9C ; =0x0224318C mov r1, #1 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238A3C: bl MOD13_02237910 cmp r0, #0 beq _02238A6C cmp r0, #1 beq _02238A60 cmp r0, #3 addeq sp, sp, #4 ldmeqia sp!, {pc} b _02238A84 _02238A60: bl MOD13_02236F5C add sp, sp, #4 ldmia sp!, {pc} _02238A6C: ldr r0, _02238A9C ; =0x0224318C mov r1, #0x1f ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238A84: ldr r0, _02238A9C ; =0x0224318C mov r1, #0x1f ldr r0, [r0] strb r1, [r0, #0xa90] _02238A94: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02238A9C: .word 0x0224318C _02238AA0: .word 0x00000AB4 arm_func_start MOD13_02238AA4 MOD13_02238AA4: ; 0x02238AA4 ldr r0, _02238AC0 ; =0x0224318C ldr ip, _02238AC4 ; =MOD13_02236DF4 ldr r2, [r0] add r0, r2, #0x600 ldrh r1, [r0, #0x48] ldr r0, [r2, #0xac8] bx ip .align 2, 0 _02238AC0: .word 0x0224318C _02238AC4: .word MOD13_02236DF4 arm_func_start MOD13_02238AC8 MOD13_02238AC8: ; 0x02238AC8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_02237910 cmp r0, #9 addls pc, pc, r0, lsl #2 b _02238B78 _02238AE0: ; jump table b _02238B48 ; case 0 b _02238B08 ; case 1 b _02238B78 ; case 2 b _02238B7C ; case 3 b _02238B78 ; case 4 b _02238B78 ; case 5 b _02238B78 ; case 6 b _02238B14 ; case 7 b _02238B78 ; case 8 b _02238B6C ; case 9 _02238B08: bl MOD13_02237838 add sp, sp, #4 ldmia sp!, {pc} _02238B14: bl MOD13_02237608 ldr r2, _02238B84 ; =0x0224318C mov ip, #0 ldr r1, [r2] mov r3, #3 add r1, r1, #0x600 strh r0, [r1, #0x4a] ldr r0, [r2] add sp, sp, #4 str ip, [r0, #0xa98] ldr r0, [r2] strb r3, [r0, #0xa90] ldmia sp!, {pc} _02238B48: ldr r0, _02238B84 ; =0x0224318C mov r3, #0 ldr r2, [r0] mov r1, #3 str r3, [r2, #0xa98] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238B6C: bl MOD13_02237108 add sp, sp, #4 ldmia sp!, {pc} _02238B78: bl OS_Terminate _02238B7C: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02238B84: .word 0x0224318C arm_func_start MOD13_02238B88 MOD13_02238B88: ; 0x02238B88 ldr ip, _02238B94 ; =MOD13_022132CC mov r0, #1 bx ip .align 2, 0 _02238B94: .word MOD13_022132CC arm_func_start MOD13_02238B98 MOD13_02238B98: ; 0x02238B98 ldr r2, _02238BDC ; =0x0224318C ldr r3, [r2] ldrb r3, [r3, #0xa90] strb r3, [r0] ldr r0, [r2] ldrb r2, [r0, #0xa90] ldrb r0, [r0, #0xa91] cmp r2, r0 movne r0, #1 strneb r0, [r1] moveq r0, #0 streqb r0, [r1] ldr r0, _02238BDC ; =0x0224318C ldr r1, [r0] ldrb r0, [r1, #0xa90] strb r0, [r1, #0xa91] bx lr .align 2, 0 _02238BDC: .word 0x0224318C arm_func_start MOD13_02238BE0 MOD13_02238BE0: ; 0x02238BE0 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _02238FF0 ; =0x0224318C ldr r0, [r1] ldrb r2, [r0, #0xa90] cmp r2, #0x22 addls pc, pc, r2, lsl #2 b _02238FE8 _02238C00: ; jump table b _02238FE8 ; case 0 b _02238C8C ; case 1 b _02238CD4 ; case 2 b _02238CE0 ; case 3 b _02238CFC ; case 4 b _02238D14 ; case 5 b _02238D14 ; case 6 b _02238D20 ; case 7 b _02238D2C ; case 8 b _02238D2C ; case 9 b _02238D2C ; case 10 b _02238D38 ; case 11 b _02238FE8 ; case 12 b _02238FE8 ; case 13 b _02238FE8 ; case 14 b _02238FE8 ; case 15 b _02238D44 ; case 16 b _02238D60 ; case 17 b _02238D84 ; case 18 b _02238DAC ; case 19 b _02238FE8 ; case 20 b _02238DF0 ; case 21 b _02238E18 ; case 22 b _02238FE8 ; case 23 b _02238E5C ; case 24 b _02238E84 ; case 25 b _02238FE8 ; case 26 b _02238EC8 ; case 27 b _02238EF0 ; case 28 b _02238FE8 ; case 29 b _02238FE4 ; case 30 b _02238FE8 ; case 31 b _02238F78 ; case 32 b _02238FA0 ; case 33 b _02238FE8 ; case 34 _02238C8C: ldrb r2, [r0, #0xaac] cmp r2, #1 bne _02238CAC mov r1, #0 strb r1, [r0, #0xaac] bl MOD13_0223903C add sp, sp, #4 ldmia sp!, {pc} _02238CAC: cmp r2, #2 addne sp, sp, #4 ldmneia sp!, {pc} mov r2, #0 strb r2, [r0, #0xaac] ldr r0, [r1] mov r1, #0x22 strb r1, [r0, #0xa90] add sp, sp, #4 ldmia sp!, {pc} _02238CD4: bl MOD13_02238AC8 add sp, sp, #4 ldmia sp!, {pc} _02238CE0: bl MOD13_02238AA4 ldr r0, _02238FF0 ; =0x0224318C mov r1, #4 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238CFC: ldr r1, [r0, #0xa98] add r1, r1, #1 str r1, [r0, #0xa98] bl MOD13_022388B8 add sp, sp, #4 ldmia sp!, {pc} _02238D14: bl MOD13_022388B8 add sp, sp, #4 ldmia sp!, {pc} _02238D20: bl MOD13_02238884 add sp, sp, #4 ldmia sp!, {pc} _02238D2C: bl MOD13_02238698 add sp, sp, #4 ldmia sp!, {pc} _02238D38: bl MOD13_02238680 add sp, sp, #4 ldmia sp!, {pc} _02238D44: mov r2, #0 str r2, [r0, #0xa9c] ldr r0, [r1] mov r1, #0x11 strb r1, [r0, #0xa90] add sp, sp, #4 ldmia sp!, {pc} _02238D60: ldr r2, [r0, #0xa9c] add r1, r2, #1 cmp r2, #0x1e str r1, [r0, #0xa9c] addls sp, sp, #4 ldmlsia sp!, {pc} bl MOD13_02238644 add sp, sp, #4 ldmia sp!, {pc} _02238D84: bl MOD13_02214F18 ldr r0, _02238FF0 ; =0x0224318C mov r3, #0 ldr r2, [r0] mov r1, #0x16 str r3, [r2, #0xa9c] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238DAC: ldr r2, [r0, #0xa9c] add r1, r2, #1 cmp r2, #0x1e str r1, [r0, #0xa9c] addls sp, sp, #4 ldmlsia sp!, {pc} bl MOD13_02237910 cmp r0, #1 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02236F5C ldr r0, _02238FF0 ; =0x0224318C mov r1, #0x14 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238DF0: bl MOD13_02236FB8 ldr r0, _02238FF0 ; =0x0224318C mov r3, #0 ldr r2, [r0] mov r1, #0x16 str r3, [r2, #0xa9c] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238E18: ldr r2, [r0, #0xa9c] add r1, r2, #1 cmp r2, #0x1e str r1, [r0, #0xa9c] addls sp, sp, #4 ldmlsia sp!, {pc} bl MOD13_02237910 cmp r0, #1 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02236F5C ldr r0, _02238FF0 ; =0x0224318C mov r1, #0x17 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238E5C: bl MOD13_02236FB8 ldr r0, _02238FF0 ; =0x0224318C mov r3, #0 ldr r2, [r0] mov r1, #0x19 str r3, [r2, #0xa9c] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238E84: ldr r2, [r0, #0xa9c] add r1, r2, #1 cmp r2, #0x1e str r1, [r0, #0xa9c] addls sp, sp, #4 ldmlsia sp!, {pc} bl MOD13_02237910 cmp r0, #1 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02236F5C ldr r0, _02238FF0 ; =0x0224318C mov r1, #0x1a ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238EC8: bl MOD13_02236FB8 ldr r0, _02238FF0 ; =0x0224318C mov r3, #0 ldr r2, [r0] mov r1, #0x1c str r3, [r2, #0xa9c] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238EF0: ldr r2, [r0, #0xa9c] add r1, r2, #1 cmp r2, #0x1e str r1, [r0, #0xa9c] addls sp, sp, #4 ldmlsia sp!, {pc} bl MOD13_02237910 cmp r0, #1 bne _02238F30 bl MOD13_02236F5C ldr r0, _02238FF0 ; =0x0224318C mov r1, #0x1d ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238F30: ldr r1, _02238FF0 ; =0x0224318C ldr r0, _02238FF4 ; =0x88888889 ldr r1, [r1] ldr r2, _02238FF8 ; =0x0000001E ldr r3, [r1, #0xa9c] umull r0, r1, r3, r0 mov r1, r1, lsr #4 umull r0, r1, r2, r1 sub r1, r3, r0 cmp r1, #1 addne sp, sp, #4 ldmneia sp!, {pc} cmp r3, #0x37 addls sp, sp, #4 ldmlsia sp!, {pc} bl MOD13_02236FB8 add sp, sp, #4 ldmia sp!, {pc} _02238F78: bl MOD13_02236FB8 ldr r0, _02238FF0 ; =0x0224318C mov r3, #0 ldr r2, [r0] mov r1, #0x21 str r3, [r2, #0xa9c] ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238FA0: ldr r2, [r0, #0xa9c] add r1, r2, #1 cmp r2, #0x1e str r1, [r0, #0xa9c] addls sp, sp, #4 ldmlsia sp!, {pc} bl MOD13_02237910 cmp r0, #1 addne sp, sp, #4 ldmneia sp!, {pc} bl MOD13_02236F5C ldr r0, _02238FF0 ; =0x0224318C mov r1, #0x22 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xa90] ldmia sp!, {pc} _02238FE4: bl MOD13_02236FB8 _02238FE8: add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02238FF0: .word 0x0224318C _02238FF4: .word 0x88888889 _02238FF8: .word 0x0000001E arm_func_start MOD13_02238FFC MOD13_02238FFC: ; 0x02238FFC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02239038 ; =0x0224318C ldr r1, [r0] ldrb r0, [r1, #0xa90] cmp r0, #5 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {pc} mov r0, #6 strb r0, [r1, #0xa90] bl MOD13_02236968 mov r0, #1 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02239038: .word 0x0224318C arm_func_start MOD13_0223903C MOD13_0223903C: ; 0x0223903C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02239098 ; =0x0224318C ldr r0, [r0] ldrb r0, [r0, #0xa90] cmp r0, #1 beq _02239068 cmp r0, #0x1a beq _02239068 cmp r0, #0x1d bne _0223908C _02239068: bl MOD13_0223909C bl MOD13_02237490 ldr r0, _02239098 ; =0x0224318C mov r2, #2 ldr r1, [r0] add sp, sp, #4 strb r2, [r1, #0xa90] mov r0, #1 ldmia sp!, {pc} _0223908C: mov r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02239098: .word 0x0224318C arm_func_start MOD13_0223909C MOD13_0223909C: ; 0x0223909C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02239120 ; =0x0224318C ldr r0, [r0] ldr r0, [r0, #0xac8] bl MOD13_02237938 ldr r0, _02239120 ; =0x0224318C mov r1, #1 ldr r0, [r0] strb r1, [r0, #0xa90] bl WM_GetNextTgid ldr r3, _02239120 ; =0x0224318C mov r2, #0x40 ldr r1, [r3] add r1, r1, #0x600 strh r0, [r1, #0x48] ldr r1, [r3] ldr r0, [r1, #0xaa4] add r1, r1, #0xa50 bl MI_CpuCopy8 ldr r0, _02239120 ; =0x0224318C mov r2, #0 ldr r1, [r0] strb r2, [r1, #0xa93] ldr r1, [r0] str r2, [r1, #0x204] ldr r0, [r0] add r0, r0, #0x600 ldrh r1, [r0, #0x48] add r1, r1, #1 strh r1, [r0, #0x48] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02239120: .word 0x0224318C arm_func_start MOD13_02239124 MOD13_02239124: ; 0x02239124 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02239238 ; =0x0224318C ldr r2, [r0] ldrb r1, [r2, #0xa90] cmp r1, #1 beq _02239160 cmp r1, #0x14 beq _02239160 cmp r1, #0x17 beq _02239160 cmp r1, #0x1a beq _02239160 cmp r1, #0x1d bne _02239184 _02239160: mov r1, #0x22 strb r1, [r2, #0xa90] ldr r0, _02239238 ; =0x0224318C mov r1, #0 ldr r0, [r0] add sp, sp, #4 strb r1, [r0, #0xaac] mov r0, #1 ldmia sp!, {pc} _02239184: cmp r1, #4 beq _022391A4 cmp r1, #5 beq _022391A4 cmp r1, #6 beq _022391A4 cmp r1, #0xd bne _022391EC _022391A4: cmp r1, #4 bne _022391C0 ldr r0, [r2, #0xa98] cmp r0, #6 addlo sp, sp, #4 movlo r0, #0 ldmloia sp!, {pc} _022391C0: bl MOD13_02214F18 ldr r0, _02239238 ; =0x0224318C mov r3, #0x10 ldr r1, [r0] mov r2, #2 strb r3, [r1, #0xa90] ldr r1, [r0] add sp, sp, #4 strb r2, [r1, #0xaac] mov r0, #1 ldmia sp!, {pc} _022391EC: add r0, r1, #0xf7 and r0, r0, #0xff cmp r0, #1 movls r0, #0x20 strlsb r0, [r2, #0xa90] addls sp, sp, #4 movls r0, #1 ldmlsia sp!, {pc} cmp r1, #0xc moveq r0, #0x22 streqb r0, [r2, #0xa90] addeq sp, sp, #4 moveq r0, #1 ldmeqia sp!, {pc} cmp r1, #2 moveq r0, #0 movne r0, #0 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02239238: .word 0x0224318C arm_func_start MOD13_0223923C MOD13_0223923C: ; 0x0223923C stmdb sp!, {r4, lr} ldr r2, _02239328 ; =0x0224318C mov r4, r1 str r0, [r2] add r0, r0, #0xb00 bl MOD13_02236F10 ldr r1, _02239328 ; =0x0224318C mov r3, #0 ldr r0, [r1] mov r2, #1 add r0, r0, #0x600 strh r3, [r0, #0x48] ldr r0, [r1] add r0, r0, #0x600 strh r3, [r0, #0x4a] ldr r0, [r1] strb r2, [r0, #0xa90] ldr r0, [r1] strb r2, [r0, #0xa91] ldr r0, [r1] str r3, [r0, #0xa9c] bl MOD13_022385BC ldr r0, _02239328 ; =0x0224318C ldr r3, [r4] ldr r2, [r0] mov r1, #2 str r3, [r2, #0xab4] ldr r3, [r4, #4] ldr r2, [r0] str r3, [r2, #0xab8] ldr r3, [r4, #8] ldr r2, [r0] str r3, [r2, #0xabc] ldr r3, [r4, #0xc] ldr r2, [r0] str r3, [r2, #0xac0] ldr r3, [r4, #0x10] ldr r2, [r0] str r3, [r2, #0xac4] ldr r3, [r4, #0x14] ldr r2, [r0] str r3, [r2, #0xac8] ldrb r3, [r4, #0x18] ldr r2, [r0] strb r3, [r2, #0xa92] ldr r0, [r0] strb r1, [r0, #0xacc] bl OS_GetTick ldr r1, _02239328 ; =0x0224318C ldr r0, _0223932C ; =0x0000064C ldr r1, [r1] add r0, r1, r0 bl FUN_02095D68 bl OS_GetTick bl MOD13_022338FC ldr r1, _02239328 ; =0x0224318C ldr r1, [r1] str r0, [r1, #0xaa4] ldmia sp!, {r4, pc} .align 2, 0 _02239328: .word 0x0224318C _0223932C: .word 0x0000064C arm_func_start MOD13_02239330 MOD13_02239330: ; 0x02239330 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r6, r1 mov r7, r0 mov r5, r2 bl strlen mov r4, r0 mov r0, r6 bl strlen cmp r4, r5 blt _02239364 cmp r0, r5 bge _02239370 _02239364: add sp, sp, #4 mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _02239370: sub r1, r0, r5 sub r3, r4, r5 mov r2, r5 add r0, r7, r3 add r1, r6, r1 bl memcmp cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} arm_func_start MOD13_0223939C MOD13_0223939C: ; 0x0223939C stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {lr} sub sp, sp, #4 add r0, sp, #8 bl MOD13_0223AF90 ldr r0, _022393D4 ; =0x02243190 ldr r1, [sp, #8] ldr r0, [r0] ldr r0, [r0, #0x84] bl MOD13_02239FD0 add sp, sp, #4 ldmia sp!, {lr} add sp, sp, #0x10 bx lr .align 2, 0 _022393D4: .word 0x02243190 arm_func_start MOD13_022393D8 MOD13_022393D8: ; 0x022393D8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x4c ldr r3, _022394C4 ; =0x02243190 mov r6, r0 ldr r0, [r3] mov r5, r1 ldr r0, [r0, #0x84] mov r4, r2 bl MOD13_02239F78 add r0, sp, #4 bl FS_InitFile add r0, sp, #4 mov r1, r6 bl FS_OpenFile cmp r0, #0 bne _0223941C bl OS_Terminate _0223941C: ldr r1, [sp, #0x2c] ldr r0, [sp, #0x28] mov r2, #2 sub r7, r1, r0 cmp r5, #0 ldr r1, _022394C8 ; =0x022409D4 mov r0, r6 strne r7, [r5] bl MOD13_02239330 cmp r0, #0 mvnne r6, #3 moveq r6, r4 mov r0, r7 mov r1, r6 bl MOD13_0223B004 mov r1, r0 add r0, sp, #4 mov r2, r7 str r1, [sp] bl FS_ReadFile add r0, sp, #4 bl FS_CloseFile cmp r6, #0 ldrgt r0, [sp] addgt sp, sp, #0x4c ldmgtia sp!, {r4, r5, r6, r7, pc} ldr r0, [sp] cmp r5, #0 ldr r0, [r0] mov r1, r4 mov r0, r0, lsr #8 strne r0, [r5] bl MOD13_0223B004 mov r4, r0 ldr r0, [sp] mov r1, r4 bl MI_UncompressLZ8 add r0, sp, #0 bl MOD13_0223AF90 mov r0, r4 add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _022394C4: .word 0x02243190 _022394C8: .word 0x022409D4 arm_func_start MOD13_022394CC MOD13_022394CC: ; 0x022394CC mov r0, #1 bx lr arm_func_start MOD13_022394D4 MOD13_022394D4: ; 0x022394D4 ldr ip, _022394E0 ; =0x020D0B40 mov r1, #0 bx ip .align 2, 0 _022394E0: .word 0x020D0B40 arm_func_start MOD13_022394E4 MOD13_022394E4: ; 0x022394E4 stmdb sp!, {lr} sub sp, sp, #0xc ldr ip, _02239524 ; =MOD13_022394D4 str ip, [sp] str r0, [sp, #4] mov ip, #1 str ip, [sp, #8] ldr r0, [r0, #0x28] mov ip, r1 add r1, r2, r0 mov r2, ip mvn r0, #0 bl CARDi_ReadRom mov r0, #6 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _02239524: .word MOD13_022394D4 arm_func_start MOD13_02239528 MOD13_02239528: ; 0x02239528 stmdb sp!, {lr} sub sp, sp, #4 cmp r1, #1 beq _02239584 cmp r1, #9 beq _0223954C cmp r1, #0xa beq _02239568 b _02239590 _0223954C: ldr r0, _0223959C ; =0x02243190 ldr r0, [r0] ldrh r0, [r0, #0xe4] bl CARD_LockRom add sp, sp, #4 mov r0, #0 ldmia sp!, {pc} _02239568: ldr r0, _0223959C ; =0x02243190 ldr r0, [r0] ldrh r0, [r0, #0xe4] bl CARD_UnlockRom add sp, sp, #4 mov r0, #0 ldmia sp!, {pc} _02239584: add sp, sp, #4 mov r0, #4 ldmia sp!, {pc} _02239590: mov r0, #8 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223959C: .word 0x02243190 arm_func_start MOD13_022395A0 MOD13_022395A0: ; 0x022395A0 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _02239624 ; =0x022409D8 bl FS_ChangeDir ldr r0, _02239628 ; =0x02243190 ldr r0, [r0] add r0, r0, #0x88 bl FS_UnloadArchiveTables ldr r0, _02239628 ; =0x02243190 ldr r0, [r0] add r0, r0, #0x88 bl FS_UnloadArchive ldr r0, _02239628 ; =0x02243190 ldr r0, [r0] add r0, r0, #0x88 bl FS_ReleaseArchiveName ldr r0, _02239628 ; =0x02243190 ldr r0, [r0] ldrh r0, [r0, #0xe4] bl OS_ReleaseLockID ldr r0, _02239628 ; =0x02243190 mov r2, #0 ldr r1, [r0] strh r2, [r1, #0xe4] ldr r0, [r0] bl MOD13_0223AF90 ldr r0, _02239628 ; =0x02243190 mov r2, #0 ldr r1, [r0] str r2, [r1] bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02239624: .word 0x022409D8 _02239628: .word 0x02243190 arm_func_start MOD13_0223962C MOD13_0223962C: ; 0x0223962C stmdb sp!, {r4, lr} sub sp, sp, #0xe8 mov r0, #0xe8 mov r1, #4 bl MOD13_0223AFE0 ldr r1, _022397BC ; =0x02243190 str r0, [r1] add r0, sp, #0x20 bl FS_InitFile ldr r1, _022397C0 ; =0x022409E0 add r0, sp, #0x20 bl FS_OpenFile cmp r0, #0 bne _02239668 bl OS_Terminate _02239668: bl OS_GetLockID ldr r2, _022397BC ; =0x02243190 add r1, sp, #0x10 ldr r3, [r2] mov r2, #8 strh r0, [r3, #0xe4] add r0, sp, #0x20 ldr r4, [sp, #0x44] bl FS_ReadFile add r0, sp, #0x20 add r1, sp, #0x18 mov r2, #8 bl FS_ReadFile add r0, sp, #0x20 bl FS_CloseFile ldr r0, _022397BC ; =0x02243190 ldr r0, [r0] add r0, r0, #0x88 bl FS_InitArchive ldr r0, _022397BC ; =0x02243190 ldr r1, _022397C4 ; =0x0223F740 ldr r0, [r0] mov r2, #3 add r0, r0, #0x88 bl FS_RegisterArchiveName cmp r0, #0 bne _022396D8 bl OS_Terminate _022396D8: ldr r0, _022397BC ; =0x02243190 ldr r1, _022397C8 ; =MOD13_02239528 ldr r0, [r0] ldr r2, _022397CC ; =0x00000602 add r0, r0, #0x88 bl FS_SetArchiveProc ldr r0, [sp, #0x10] ldr r1, _022397D0 ; =MOD13_022394E4 str r0, [sp] ldr r2, [sp, #0x14] ldr r0, _022397D4 ; =MOD13_022394CC str r2, [sp, #4] str r1, [sp, #8] str r0, [sp, #0xc] ldr r0, _022397BC ; =0x02243190 ldr r2, [sp, #0x18] ldr r0, [r0] ldr r3, [sp, #0x1c] mov r1, r4 add r0, r0, #0x88 bl FS_LoadArchive cmp r0, #0 bne _02239738 bl OS_Terminate _02239738: ldr r0, _022397BC ; =0x02243190 mov r1, #0 ldr r0, [r0] mov r2, r1 add r0, r0, #0x88 bl FS_LoadArchiveTables mov r1, #4 mov r4, r0 bl MOD13_0223B004 ldr r1, _022397BC ; =0x02243190 mov r2, r4 ldr r3, [r1] str r0, [r3] ldr r0, [r1] ldr r1, [r0], #0x88 bl FS_LoadArchiveTables ldr r1, _022397BC ; =0x02243190 mov r0, #0x20 ldr r1, [r1] mov r2, #4 add r1, r1, #4 bl MOD13_0223A054 ldr r2, _022397BC ; =0x02243190 ldr r1, _022397D8 ; =0x022409F8 ldr r3, [r2] ldr r2, _022397C4 ; =0x0223F740 str r0, [r3, #0x84] add r0, sp, #0x68 bl OS_SPrintf add r0, sp, #0x68 bl FS_ChangeDir add sp, sp, #0xe8 ldmia sp!, {r4, pc} .align 2, 0 _022397BC: .word 0x02243190 _022397C0: .word 0x022409E0 _022397C4: .word 0x0223F740 _022397C8: .word MOD13_02239528 _022397CC: .word 0x00000602 _022397D0: .word MOD13_022394E4 _022397D4: .word MOD13_022394CC _022397D8: .word 0x022409F8 arm_func_start MOD13_022397DC MOD13_022397DC: ; 0x022397DC stmdb sp!, {lr} sub sp, sp, #4 ldr lr, [r0, #8] ldr r0, _02239810 ; =0x01FF0000 ldr ip, [lr, r1, lsl #3] and r0, ip, r0 mov r0, r0, lsr #0x10 str r0, [r2] ldr r0, [lr, r1, lsl #3] and r0, r0, #0xff str r0, [r3] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _02239810: .word 0x01FF0000 arm_func_start MOD13_02239814 MOD13_02239814: ; 0x02239814 stmdb sp!, {lr} sub sp, sp, #4 cmp r1, #0 ldr lr, [r0, #8] blt _02239844 add r1, lr, r1, lsl #3 ldrh r0, [r1, #4] add sp, sp, #4 bic r0, r0, #0xc00 orr r0, r0, r2, lsl #10 strh r0, [r1, #4] ldmia sp!, {pc} _02239844: ldrb r1, [r0, #0xc] mov ip, #0 cmp r1, #0 addle sp, sp, #4 ldmleia sp!, {pc} mov r3, r2, lsl #0xa _0223985C: add r2, lr, ip, lsl #3 ldrh r1, [r2, #4] add ip, ip, #1 bic r1, r1, #0xc00 orr r1, r1, r3 strh r1, [r2, #4] ldrb r1, [r0, #0xc] cmp ip, r1 blt _0223985C add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_02239888 MOD13_02239888: ; 0x02239888 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 cmp r1, #0 ldr ip, [r0, #8] blt _022398C8 ldr r5, [ip, r1, lsl #3] ldr r4, _02239988 ; =0xFE00FF00 ldr r0, _0223998C ; =0x000001FF and r4, r5, r4 and r3, r3, #0xff and r2, r2, r0 orr r0, r4, r3 orr r0, r0, r2, lsl #16 str r0, [ip, r1, lsl #3] add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} _022398C8: ldr r1, [ip] ldr lr, _02239990 ; =0x01FF0000 ldr r4, _0223998C ; =0x000001FF and r1, r1, lr mov r1, r1, lsr #0x10 str r1, [sp] ldr r1, [ip] ldr r5, _02239988 ; =0xFE00FF00 and r1, r1, #0xff str r1, [sp, #4] ldr r6, [ip] and r1, r3, #0xff and r6, r6, r5 and r7, r2, r4 orr r1, r6, r1 orr r1, r1, r7, lsl #16 str r1, [ip] ldrb r1, [r0, #0xc] ldr r7, [sp] ldr r6, [sp, #4] cmp r1, #1 sub r1, r3, r6 addle sp, sp, #0x10 sub r2, r2, r7 mov r3, #1 ldmleia sp!, {r4, r5, r6, r7, r8, pc} _02239930: ldr r6, [ip, r3, lsl #3] and r7, r6, lr mov r6, r7, lsr #0x10 str r6, [sp, #8] ldr r6, [ip, r3, lsl #3] add r8, r2, r7, lsr #16 and r6, r6, #0xff str r6, [sp, #0xc] ldr r7, [ip, r3, lsl #3] add r6, r6, r1 and r7, r7, r5 and r6, r6, #0xff and r8, r8, r4 orr r6, r7, r6 orr r6, r6, r8, lsl #16 str r6, [ip, r3, lsl #3] ldrb r6, [r0, #0xc] add r3, r3, #1 cmp r3, r6 blt _02239930 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02239988: .word 0xFE00FF00 _0223998C: .word 0x000001FF _02239990: .word 0x01FF0000 arm_func_start MOD13_02239994 MOD13_02239994: ; 0x02239994 stmdb sp!, {r4, lr} cmp r1, #0 ldr ip, [r0, #8] blt _022399CC ldr r0, [ip, r1, lsl #3] add lr, ip, r1, lsl #3 bic r0, r0, #0xc00 orr r0, r0, r2, lsl #10 str r0, [ip, r1, lsl #3] ldrh r0, [lr, #4] bic r0, r0, #0xf000 orr r0, r0, r3, lsl #12 strh r0, [lr, #4] ldmia sp!, {r4, pc} _022399CC: ldrb lr, [r0, #0xc] mov r1, #0 cmp lr, #0 ldmleia sp!, {r4, pc} mov r4, r2, lsl #0xa mov lr, r3, lsl #0xc _022399E4: ldr r2, [ip, r1, lsl #3] add r3, ip, r1, lsl #3 bic r2, r2, #0xc00 orr r2, r2, r4 str r2, [ip, r1, lsl #3] ldrh r2, [r3, #4] add r1, r1, #1 bic r2, r2, #0xf000 orr r2, r2, lr strh r2, [r3, #4] ldrb r2, [r0, #0xc] cmp r1, r2 blt _022399E4 ldmia sp!, {r4, pc} arm_func_start MOD13_02239A1C MOD13_02239A1C: ; 0x02239A1C stmdb sp!, {r4, lr} cmp r1, #0 ldr ip, [r0, #8] blt _02239A70 cmp r2, #0x100 beq _02239A54 cmp r2, #0x300 beq _02239A54 ldr r3, [ip, r1, lsl #3] ldr r0, _02239AD0 ; =0xC1FFFCFF and r0, r3, r0 orr r0, r0, r2 str r0, [ip, r1, lsl #3] ldmia sp!, {r4, pc} _02239A54: ldr lr, [ip, r1, lsl #3] ldr r0, _02239AD0 ; =0xC1FFFCFF and r0, lr, r0 orr r0, r0, r2 orr r0, r0, r3, lsl #25 str r0, [ip, r1, lsl #3] ldmia sp!, {r4, pc} _02239A70: ldrb lr, [r0, #0xc] mov r1, #0 cmp lr, #0 ldmleia sp!, {r4, pc} mov r4, r3, lsl #0x19 ldr r3, _02239AD0 ; =0xC1FFFCFF _02239A88: cmp r2, #0x100 beq _02239AA8 cmp r2, #0x300 ldrne lr, [ip, r1, lsl #3] andne lr, lr, r3 orrne lr, lr, r2 strne lr, [ip, r1, lsl #3] bne _02239ABC _02239AA8: ldr lr, [ip, r1, lsl #3] and lr, lr, r3 orr lr, lr, r2 orr lr, r4, lr str lr, [ip, r1, lsl #3] _02239ABC: ldrb lr, [r0, #0xc] add r1, r1, #1 cmp r1, lr blt _02239A88 ldmia sp!, {r4, pc} .align 2, 0 _02239AD0: .word 0xC1FFFCFF arm_func_start MOD13_02239AD4 MOD13_02239AD4: ; 0x02239AD4 ldrb r0, [r0, #0xc] bx lr arm_func_start MOD13_02239ADC MOD13_02239ADC: ; 0x02239ADC ldr r0, [r0, #8] add r0, r0, r1, lsl #3 bx lr arm_func_start MOD13_02239AE8 MOD13_02239AE8: ; 0x02239AE8 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 ldrb r0, [r5, #0xc] mov r4, #0 mov r2, r4 cmp r0, #0 ldr r3, [r5, #8] ble _02239B34 ldr r0, _02239B6C ; =0xC1FFFCFF _02239B10: ldr r1, [r3] add r2, r2, #1 and r1, r1, r0 orr r1, r1, #0x200 str r1, [r3] ldrb r1, [r5, #0xc] add r3, r3, #8 cmp r2, r1 blt _02239B10 _02239B34: mov r0, r5 bl MOD13_0223B8C4 ldr r0, _02239B70 ; =0x02243194 ldr r1, [r0] add r0, r1, #0x228 cmp r5, r0 movhs r4, #1 mov r0, #0x228 mla r0, r4, r0, r1 ldr r0, [r0, #0x224] mov r1, r5 bl MOD13_02239FD0 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _02239B6C: .word 0xC1FFFCFF _02239B70: .word 0x02243194 arm_func_start MOD13_02239B74 MOD13_02239B74: ; 0x02239B74 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #4 mov sb, r0 mov r0, #0x228 mul r7, sb, r0 ldr r0, _02239CE4 ; =0x02243194 mov r5, r1 ldr r0, [r0] mov r6, r2 add r0, r0, r7 ldr r0, [r0, #0x224] bl MOD13_02239F78 mov r4, r0 mov r0, #1 bl OS_DisableIrqMask mov r8, r0 cmp r6, #0 beq _02239C44 ldr r1, _02239CE4 ; =0x02243194 mov r0, #0x228 ldr r2, [r1] mla r0, sb, r0, r2 add r6, r0, #0x200 add r0, r0, #0x210 cmp r6, r0 beq _02239C24 mov r1, r5, lsl #3 add r0, r2, r7 add r2, r0, #0x210 _02239BE8: ldrb sb, [r6, #0xc] ldr r0, [r6, #4] ldr ip, [r6, #8] ldr r3, [r0, #8] add ip, ip, sb, lsl #3 add sb, ip, r1 cmp sb, r3 bhi _02239C18 mov r1, r4 str ip, [r4, #8] bl MOD13_0223B888 b _02239C24 _02239C18: mov r6, r0 cmp r0, r2 bne _02239BE8 _02239C24: ldr r0, _02239CE4 ; =0x02243194 ldr r0, [r0] add r0, r0, r7 add r0, r0, #0x210 cmp r6, r0 bne _02239CCC bl OS_Terminate b _02239CCC _02239C44: ldr r1, _02239CE4 ; =0x02243194 mov r0, #0x228 ldr r1, [r1] mla r0, sb, r0, r1 add r6, r0, #0x210 add r0, r0, #0x200 cmp r6, r0 beq _02239CB0 mov r0, r5, lsl #3 add r1, r1, r7 add r1, r1, #0x200 _02239C70: ldr ip, [r6] ldr sb, [r6, #8] ldrb r2, [ip, #0xc] ldr r3, [ip, #8] sub sb, sb, r0 add r2, r3, r2, lsl #3 cmp sb, r2 blo _02239CA4 mov r0, r6 mov r1, r4 str sb, [r4, #8] bl MOD13_0223B888 b _02239CB0 _02239CA4: mov r6, ip cmp ip, r1 bne _02239C70 _02239CB0: ldr r0, _02239CE4 ; =0x02243194 ldr r0, [r0] add r0, r0, r7 add r0, r0, #0x200 cmp r6, r0 bne _02239CCC bl OS_Terminate _02239CCC: mov r0, r8 bl OS_EnableIrqMask mov r0, r4 strb r5, [r4, #0xc] add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _02239CE4: .word 0x02243194 arm_func_start MOD13_02239CE8 MOD13_02239CE8: ; 0x02239CE8 stmdb sp!, {r4, r5, r6, lr} mov r6, #0 mov r5, r6 ldr r4, _02239D34 ; =0x02243194 _02239CF8: ldr r0, [r4] add r0, r0, r5 ldr r0, [r0, #0x220] bl MOD13_0223B904 ldr r0, [r4] add r0, r0, r5 ldr r0, [r0, #0x224] bl MOD13_0223A030 add r6, r6, #1 cmp r6, #2 add r5, r5, #0x228 blt _02239CF8 ldr r0, _02239D34 ; =0x02243194 bl MOD13_0223AF90 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02239D34: .word 0x02243194 arm_func_start MOD13_02239D38 MOD13_02239D38: ; 0x02239D38 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r0, #0x450 mov r1, #4 bl MOD13_0223AFE0 ldr sl, _02239E08 ; =0x02243194 mov sb, #0 mov r8, sb str r0, [sl] mov r7, #0x20 mov r6, #0x10 mov r5, #0x40 mov r4, #0x7f _02239D68: ldr r1, [sl] mov r0, r7 mov r2, r6 add r1, r1, r8 bl MOD13_0223A054 ldr r1, [sl] add r1, r1, r8 str r0, [r1, #0x224] bl MOD13_0223B928 ldr r2, [sl] mov r1, r5 add r2, r2, r8 str r0, [r2, #0x220] mov r0, sb bl MOD13_0223B95C ldr r2, [sl] mov r1, r4 add r2, r2, r8 str r0, [r2, #0x208] mov r0, sb bl MOD13_0223B95C add r1, r0, #8 ldr r0, [sl] add r0, r0, r8 str r1, [r0, #0x218] ldr r0, [sl] add r1, r0, r8 ldr r0, [r1, #0x220] add r1, r1, #0x200 bl MOD13_0223B868 ldr r0, [sl] add r1, r0, r8 ldr r0, [r1, #0x220] add r1, r1, #0x210 bl MOD13_0223B878 add r8, r8, #0x228 add sb, sb, #1 cmp sb, #2 blt _02239D68 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02239E08: .word 0x02243194 arm_func_start MOD13_02239E0C MOD13_02239E0C: ; 0x02239E0C stmdb sp!, {r4, r5, r6, lr} ldr r3, _02239E50 ; =0x02243198 mov r6, r0 mov r5, r1 ldr r3, [r3, r6, lsl #2] mov r1, r5, lsl #3 ldrh r1, [r3, r1] bl MOD13_02239B74 mov r1, #0 mov r4, r0 bl MOD13_02239ADC mov r2, r0 mov r0, r6 mov r1, r5 bl MOD13_02239E8C mov r0, r4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02239E50: .word 0x02243198 arm_func_start MOD13_02239E54 MOD13_02239E54: ; 0x02239E54 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 mov r5, r1 add r1, sp, #0 mov r6, r0 bl MOD13_0223B9C0 mov r4, r0 mov r0, r6 mov r1, r5 mov r2, r4 bl MOD13_02239E8C mov r0, r4 add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} arm_func_start MOD13_02239E8C MOD13_02239E8C: ; 0x02239E8C stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} sub sp, sp, #8 ldr r3, _02239F1C ; =0x02243198 mov r5, r2 ldr r6, [r3, r0, lsl #2] mov r2, r1, lsl #3 add r0, r6, r1, lsl #3 ldr r3, [r0, #4] ldrh r4, [r6, r2] add r1, sp, #0 mov r0, #0 mov r2, #8 add sl, r6, r3 bl MIi_CpuClear32 cmp r4, #0 mov sb, #0 addle sp, sp, #8 ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} add r8, sp, #0 mov r7, #6 mov r6, #8 _02239EE0: mov r0, sl mov r1, r8 mov r2, r7 bl MIi_CpuCopy16 mov r0, r8 mov r1, r5 mov r2, r6 bl MIi_CpuCopy32 add sb, sb, #1 cmp sb, r4 add sl, sl, #6 add r5, r5, #8 blt _02239EE0 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _02239F1C: .word 0x02243198 arm_func_start MOD13_02239F20 MOD13_02239F20: ; 0x02239F20 stmdb sp!, {r4, lr} ldr r1, _02239F44 ; =0x02243198 mov r4, r0 ldr r0, [r1, r4, lsl #2] bl MOD13_0223939C ldr r0, _02239F44 ; =0x02243198 mov r1, #0 str r1, [r0, r4, lsl #2] ldmia sp!, {r4, pc} .align 2, 0 _02239F44: .word 0x02243198 arm_func_start MOD13_02239F48 MOD13_02239F48: ; 0x02239F48 stmdb sp!, {r4, lr} sub sp, sp, #8 mov r4, r0 mov r0, r1 add r1, sp, #0 mov r2, #4 bl MOD13_022393D8 ldr r1, _02239F74 ; =0x02243198 str r0, [r1, r4, lsl #2] add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _02239F74: .word 0x02243198 arm_func_start MOD13_02239F78 MOD13_02239F78: ; 0x02239F78 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #1 mov r5, #0 bl OS_DisableIrqMask ldrb r2, [r6, #3] ldrb r1, [r6, #2] mov r4, r0 cmp r1, r2 beq _02239FC0 ldrh r1, [r6] add r0, r2, r1 sub r0, r0, #1 bl FX_ModS32 strb r0, [r6, #3] ldrb r0, [r6, #3] add r0, r6, r0, lsl #2 ldr r5, [r0, #4] _02239FC0: mov r0, r4 bl OS_EnableIrqMask mov r0, r5 ldmia sp!, {r4, r5, r6, pc} arm_func_start MOD13_02239FD0 MOD13_02239FD0: ; 0x02239FD0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 mov r5, r0 mov r0, #1 mov r4, r1 bl OS_DisableIrqMask ldrb r2, [r5, #3] mov r7, r0 ldrh r1, [r5] add r0, r2, #1 bl FX_ModS32 ldrb r1, [r5, #2] mov r6, r0 cmp r6, r1 bne _0223A010 bl OS_Terminate _0223A010: ldrb r1, [r5, #3] mov r0, r7 add r1, r5, r1, lsl #2 str r4, [r1, #4] strb r6, [r5, #3] bl OS_EnableIrqMask add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} arm_func_start MOD13_0223A030 MOD13_0223A030: ; 0x0223A030 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {lr} sub sp, sp, #4 add r0, sp, #8 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {lr} add sp, sp, #0x10 bx lr arm_func_start MOD13_0223A054 MOD13_0223A054: ; 0x0223A054 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl MOD13_0223A094 cmp r6, #0 mov r2, #0 ble _0223A08C _0223A074: add r1, r0, r2, lsl #2 add r2, r2, #1 str r5, [r1, #4] cmp r2, r6 add r5, r5, r4 blt _0223A074 _0223A08C: strb r6, [r0, #3] ldmia sp!, {r4, r5, r6, pc} arm_func_start MOD13_0223A094 MOD13_0223A094: ; 0x0223A094 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #1 mov r0, r0, lsl #2 add r0, r0, #8 mov r1, #4 bl MOD13_0223B004 add r1, r4, #1 strh r1, [r0] mov r1, #0 strb r1, [r0, #2] strb r1, [r0, #3] ldmia sp!, {r4, pc} arm_func_start MOD13_0223A0C8 MOD13_0223A0C8: ; 0x0223A0C8 stmdb sp!, {lr} sub sp, sp, #4 ldrsh r2, [r1, #4] add r2, r2, #1 strh r2, [r1, #4] ldrsh r3, [r1, #4] ldrh r2, [r1, #6] cmp r3, r2 addlt sp, sp, #4 ldmltia sp!, {pc} mov r2, #0 strb r2, [r1, #9] mov r1, r0 mov r0, #1 bl MOD13_0223C110 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0223A10C MOD13_0223A10C: ; 0x0223A10C stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r1, _0223A168 ; =0x022431A0 mov r5, r0 ldr r4, [r1] ldrb r0, [r4, #9] cmp r0, #0 addne sp, sp, #4 movne r0, #0 ldmneia sp!, {r4, r5, pc} ldr r1, _0223A16C ; =MOD13_0223A0C8 mov r2, r4 mov r0, #1 mov r3, #0xc8 bl MOD13_0223C1C4 str r0, [r4] mov r0, #0 strh r0, [r4, #4] strh r5, [r4, #6] mov r0, #1 strb r0, [r4, #9] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223A168: .word 0x022431A0 _0223A16C: .word MOD13_0223A0C8 arm_func_start MOD13_0223A170 MOD13_0223A170: ; 0x0223A170 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r3, _0223A294 ; =0x0223F748 ldr r2, _0223A298 ; =0x0223F744 ldrb r8, [r3] ldrb r7, [r3, #1] ldrb r6, [r3, #2] ldrb lr, [r3, #3] ldrb ip, [r2] ldrb r5, [r2, #1] ldrb r3, [r2, #2] ldrb r2, [r2, #3] strb r5, [sp, #5] mov r4, r1 strb r8, [sp] strb r7, [sp, #1] strb r6, [sp, #2] strb lr, [sp, #3] strb ip, [sp, #4] strb r3, [sp, #6] strb r2, [sp, #7] ldrsh r1, [r4, #4] mov r5, r0 add r0, r1, #1 strh r0, [r4, #4] ldrsh r0, [r4, #4] ldrh r1, [r4, #6] mov r0, r0, lsl #4 bl FX_DivS32 ldrb r3, [r4, #8] add r2, sp, #0 mov r1, r0 ldrb r2, [r2, r3] ands r0, r2, #1 rsbne r1, r1, #0x10 ands r0, r2, #0x10 ldr r0, _0223A29C ; =0x022431A0 rsbne r1, r1, #0 ldr r0, [r0] cmp r4, r0 bne _0223A220 ldr r0, _0223A2A0 ; =0x04001050 bl G2x_ChangeBlendBrightness_ b _0223A228 _0223A220: ldr r0, _0223A2A4 ; =0x04000050 bl G2x_ChangeBlendBrightness_ _0223A228: ldrsh r1, [r4, #4] ldrh r0, [r4, #6] cmp r1, r0 addlt sp, sp, #8 ldmltia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _0223A29C ; =0x022431A0 ldr r0, [r0] cmp r4, r0 bne _0223A264 ldrb r2, [r4, #8] add r1, sp, #4 ldr r0, _0223A2A0 ; =0x04001050 ldrsb r1, [r1, r2] bl G2x_ChangeBlendBrightness_ b _0223A278 _0223A264: ldrb r2, [r4, #8] add r1, sp, #4 ldr r0, _0223A2A4 ; =0x04000050 ldrsb r1, [r1, r2] bl G2x_ChangeBlendBrightness_ _0223A278: mov r2, #0 mov r1, r5 mov r0, #1 strb r2, [r4, #9] bl MOD13_0223C110 add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0223A294: .word 0x0223F748 _0223A298: .word 0x0223F744 _0223A29C: .word 0x022431A0 _0223A2A0: .word 0x04001050 _0223A2A4: .word 0x04000050 arm_func_start MOD13_0223A2A8 MOD13_0223A2A8: ; 0x0223A2A8 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 ldr r4, _0223A374 ; =0x0223F74C mov r5, r0 ldrb r0, [r4, #3] ldrb r6, [r4] ldrb lr, [r4, #1] strb r0, [sp, #3] cmp r1, #1 ldreq r0, _0223A378 ; =0x022431A0 ldrb ip, [r4, #2] strb r6, [sp] ldreq r6, [r0] ldrne r0, _0223A378 ; =0x022431A0 strb lr, [sp, #1] ldrne r0, [r0] strb ip, [sp, #2] addne r6, r0, #0xc ldrb r0, [r6, #9] mov r4, r3 cmp r0, #0 addne sp, sp, #8 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} cmp r1, #1 bne _0223A328 add r0, sp, #0 mov r1, r2 ldrsb r2, [r0, r5] ldr r0, _0223A37C ; =0x04001050 bl G2x_SetBlendBrightness_ b _0223A33C _0223A328: add r0, sp, #0 mov r1, r2 ldrsb r2, [r0, r5] ldr r0, _0223A380 ; =0x04000050 bl G2x_SetBlendBrightness_ _0223A33C: ldr r1, _0223A384 ; =MOD13_0223A170 mov r2, r6 mov r0, #1 mov r3, #0xc8 bl MOD13_0223C1C4 str r0, [r6] mov r0, #0 strh r0, [r6, #4] strb r5, [r6, #8] strh r4, [r6, #6] mov r0, #1 strb r0, [r6, #9] add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0223A374: .word 0x0223F74C _0223A378: .word 0x022431A0 _0223A37C: .word 0x04001050 _0223A380: .word 0x04000050 _0223A384: .word MOD13_0223A170 arm_func_start MOD13_0223A388 MOD13_0223A388: ; 0x0223A388 cmp r0, #1 ldreq r0, _0223A3A8 ; =0x022431A0 ldreq r0, [r0] ldrne r0, _0223A3A8 ; =0x022431A0 ldrne r0, [r0] addne r0, r0, #0xc ldrb r0, [r0, #9] bx lr .align 2, 0 _0223A3A8: .word 0x022431A0 arm_func_start MOD13_0223A3AC MOD13_0223A3AC: ; 0x0223A3AC ldr ip, _0223A3B8 ; =MOD13_0223AF90 ldr r0, _0223A3BC ; =0x022431A0 bx ip .align 2, 0 _0223A3B8: .word MOD13_0223AF90 _0223A3BC: .word 0x022431A0 arm_func_start MOD13_0223A3C0 MOD13_0223A3C0: ; 0x0223A3C0 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x18 mov r1, #4 bl MOD13_0223AFE0 ldr r2, _0223A404 ; =0x022431A0 mov r1, #0x3f str r0, [r2] ldr r0, _0223A408 ; =0x04000050 mov r2, #0x10 bl G2x_SetBlendBrightness_ ldr r0, _0223A40C ; =0x04001050 mov r1, #0x3f mov r2, #0x10 bl G2x_SetBlendBrightness_ add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223A404: .word 0x022431A0 _0223A408: .word 0x04000050 _0223A40C: .word 0x04001050 arm_func_start MOD13_0223A410 MOD13_0223A410: ; 0x0223A410 ldr r2, _0223A438 ; =0x022431A4 ldr r1, _0223A43C ; =0x00000718 ldr r2, [r2] add r1, r2, r1 cmp r0, r1 moveq r0, #1 streqb r0, [r2, #0x794] movne r0, #1 strneb r0, [r2, #0x795] bx lr .align 2, 0 _0223A438: .word 0x022431A4 _0223A43C: .word 0x00000718 arm_func_start MOD13_0223A440 MOD13_0223A440: ; 0x0223A440 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r6, r3 mov r4, r0 mov r8, r1 mov r0, r6 mov r1, #0 mov r7, r2 bl MOD13_02239ADC mov r2, #0 mov r5, r0 mov r0, r6 mvn r1, #0 mov r3, r2 bl MOD13_02239A1C mov r0, r6 mvn r1, #0 mov r2, #0 mov r3, #0xf bl MOD13_02239994 mov r0, r6 mvn r1, #0 ldr r2, [sp, #0x28] bl MOD13_02239814 str r7, [sp] mov r0, r5 mov r3, r8 mov r1, #0 str r1, [sp, #4] ldrh r2, [r4, #0x34] mov r1, #2 str r2, [sp, #8] str r1, [sp, #0xc] ldrb r1, [r4, #0x36] ldrb r2, [r4, #0x37] bl FUN_020B5E50 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_start MOD13_0223A4D8 MOD13_0223A4D8: ; 0x0223A4D8 stmdb sp!, {lr} sub sp, sp, #4 ldr r2, [r0, #0x18] blx r2 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0223A4F0 MOD13_0223A4F0: ; 0x0223A4F0 stmdb sp!, {lr} sub sp, sp, #0x14 ldr lr, [sp, #0x18] ldr ip, [sp, #0x1c] str lr, [sp] ldr lr, [sp, #0x20] str ip, [sp, #4] ldr ip, [sp, #0x24] str lr, [sp, #8] add r0, r0, #0x20 str ip, [sp, #0xc] bl FUN_020B7168 add sp, sp, #0x14 ldmia sp!, {pc} arm_func_start MOD13_0223A528 MOD13_0223A528: ; 0x0223A528 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #0xc ldr r7, [sp, #0x34] mov sb, r1 ldrh r1, [r7] ldr r8, [sp, #0x30] ldr r6, [sp, #0x38] mov sl, r0 mov fp, r2 str r3, [sp, #8] cmp r1, #0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} mov r0, #0xc mul r4, r6, r0 _0223A564: ldr r0, _0223A5E8 ; =0x022431A4 ldr r0, [r0] add r5, r0, r4 mov r0, r5 bl FUN_020B5CE4 mov r1, r0 ldr r0, _0223A5EC ; =0x0000FFFF cmp r1, r0 ldreq r0, [r5] ldreqh r1, [r0, #2] mov r0, r5 bl FUN_020B5C88 ldrh r1, [r5, #8] ldrh r2, [r7] ldr r3, [sp, #8] cmp r1, #0 ldrnesb r1, [r0] ldrneb r0, [r0, #1] addne r0, r1, r0 ldreqsb r0, [r0, #2] sub r1, r8, r0 str r2, [sp] mov r0, sl mov r2, fp add r1, sb, r1, asr #1 str r6, [sp, #4] bl MOD13_0223A5F0 ldrh r1, [r7, #2]! add sb, sb, r8 cmp r1, #0 bne _0223A564 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0223A5E8: .word 0x022431A4 _0223A5EC: .word 0x0000FFFF arm_func_start MOD13_0223A5F0 MOD13_0223A5F0: ; 0x0223A5F0 stmdb sp!, {r4, lr} sub sp, sp, #8 ldrh ip, [sp, #0x10] str r3, [sp] ldr r3, _0223A630 ; =0x022431A4 str ip, [sp, #4] ldr lr, [r3] ldr ip, [sp, #0x14] mov r3, #0xc mov r4, r1 mla r1, ip, r3, lr mov r3, r2 mov r2, r4 bl FUN_020B63CC add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 _0223A630: .word 0x022431A4 arm_func_start MOD13_0223A634 MOD13_0223A634: ; 0x0223A634 stmdb sp!, {lr} sub sp, sp, #0xc ldr lr, [sp, #0x10] ldr ip, [sp, #0x14] str lr, [sp] add r0, r0, #0x20 str ip, [sp, #4] bl FUN_020B7218 add sp, sp, #0xc ldmia sp!, {pc} arm_func_start MOD13_0223A65C MOD13_0223A65C: ; 0x0223A65C ldr r2, _0223A67C ; =0x022431A4 ldr r1, _0223A680 ; =0x00000718 ldr r3, [r2] mov r2, #0x38 add r1, r3, r1 mla r0, r2, r0, r1 ldr ip, _0223A684 ; =MOD13_0223A688 bx ip .align 2, 0 _0223A67C: .word 0x022431A4 _0223A680: .word 0x00000718 _0223A684: .word MOD13_0223A688 arm_func_start MOD13_0223A688 MOD13_0223A688: ; 0x0223A688 stmdb sp!, {r4, lr} mov r4, r0 ldr r1, [r4, #0x34] mov r0, #1 bl MOD13_0223C104 ldr r1, _0223A70C ; =0x022431A4 ldr r0, _0223A710 ; =0x00000718 ldr r1, [r1] add r0, r1, r0 cmp r4, r0 bne _0223A6DC bl G2_GetBG0CharPtr ldr r2, _0223A714 ; =0x0223F754 mov r1, r0 ldrh r3, [r2] ldrh r2, [r2, #2] mov r0, #0 mul r2, r3, r2 mov r2, r2, lsl #5 bl MIi_CpuClear16 b _0223A700 _0223A6DC: bl G2_GetBG0CharPtr ldr r2, _0223A714 ; =0x0223F754 mov r1, r0 ldrh r3, [r2, #4] ldrh r2, [r2, #6] mov r0, #0 mul r2, r3, r2 mov r2, r2, lsl #5 bl MIi_CpuClear16 _0223A700: add r0, r4, #0x30 bl MOD13_0223AF90 ldmia sp!, {r4, pc} .align 2, 0 _0223A70C: .word 0x022431A4 _0223A710: .word 0x00000718 _0223A714: .word 0x0223F754 arm_func_start MOD13_0223A718 MOD13_0223A718: ; 0x0223A718 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r4, r1 ldrb r0, [r4] cmp r0, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} ldr r1, _0223A7E0 ; =0x022431A4 ldr r0, _0223A7E4 ; =0x00000794 ldr r2, [r1] add r0, r2, r0 cmp r4, r0 bne _0223A790 ldr r1, _0223A7E8 ; =0x0223F754 ldr r0, [r2, #0x748] ldrh r2, [r1] ldrh r1, [r1, #2] mul r1, r2, r1 mov r5, r1, lsl #5 mov r1, r5 bl DC_FlushRange ldr r1, _0223A7E0 ; =0x022431A4 ldr r0, _0223A7EC ; =0x0223F750 ldr r2, [r1] ldrh r1, [r0] ldr r0, [r2, #0x748] mov r2, r5 mov r1, r1, lsl #5 bl GX_LoadBG0Char b _0223A7D0 _0223A790: ldr r1, _0223A7E8 ; =0x0223F754 ldr r0, [r2, #0x780] ldrh r2, [r1, #4] ldrh r1, [r1, #6] mul r1, r2, r1 mov r5, r1, lsl #5 mov r1, r5 bl DC_FlushRange ldr r1, _0223A7E0 ; =0x022431A4 ldr r0, _0223A7EC ; =0x0223F750 ldr r2, [r1] ldrh r1, [r0, #2] ldr r0, [r2, #0x780] mov r2, r5 mov r1, r1, lsl #5 bl GXS_LoadBG0Char _0223A7D0: mov r0, #0 strb r0, [r4] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223A7E0: .word 0x022431A4 _0223A7E4: .word 0x00000794 _0223A7E8: .word 0x0223F754 _0223A7EC: .word 0x0223F750 arm_func_start MOD13_0223A7F0 MOD13_0223A7F0: ; 0x0223A7F0 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x10 mov r8, r0 ldr r0, _0223A954 ; =0x022431A4 ldr r3, _0223A958 ; =0x0223F756 mov r4, r8, lsl #2 ldr r2, _0223A95C ; =0x0223F754 ldrh r5, [r3, r4] ldrh r4, [r2, r4] ldr r3, [r0] ldr r0, _0223A960 ; =0x00000718 mul r2, r4, r5 mov r7, r1 add r1, r3, r0 mov r0, #0x38 mla r6, r8, r0, r1 mov r0, r2, lsl #5 mov r1, #0x20 bl MOD13_0223B004 str r0, [r6, #0x30] cmp r8, #1 bne _0223A86C ldr r1, _0223A964 ; =0x04001008 ldrh r0, [r1] bic r0, r0, #0x40 strh r0, [r1] ldrh r0, [r1] and r0, r0, #0x43 orr r0, r0, #0xc00 strh r0, [r1] b _0223A88C _0223A86C: ldr r1, _0223A968 ; =0x04000008 ldrh r0, [r1] bic r0, r0, #0x40 strh r0, [r1] ldrh r0, [r1] and r0, r0, #0x43 orr r0, r0, #0xc00 strh r0, [r1] _0223A88C: mov r0, #4 str r0, [sp] ldr r1, [r6, #0x30] mov r0, r6 mov r2, r4 mov r3, r5 bl FUN_020B6388 ldr r1, _0223A954 ; =0x022431A4 mov r0, #0xc ldr r2, [r1] mov r1, #1 mla r0, r7, r0, r2 str r6, [r6, #0x20] str r0, [r6, #0x24] str r1, [r6, #0x28] str r1, [r6, #0x2c] cmp r8, #1 bne _0223A8DC bl G2S_GetBG0ScrPtr b _0223A8E0 _0223A8DC: bl G2_GetBG0ScrPtr _0223A8E0: mov r3, #0 str r3, [sp] mov r2, #0x20 ldr r1, _0223A96C ; =0x0223F750 str r2, [sp, #4] mov r2, r8, lsl #1 ldrh r7, [r1, r2] mov r1, r4 mov r2, r5 str r7, [sp, #8] mov r4, #0xf str r4, [sp, #0xc] bl FUN_020B6240 mov r0, r6 mov r1, #0 bl MOD13_0223A4D8 ldr r1, _0223A954 ; =0x022431A4 ldr r0, _0223A970 ; =0x00000794 ldr r2, [r1] ldr r1, _0223A974 ; =MOD13_0223A718 add r0, r2, r0 add r2, r0, r8 mov r0, #1 mov r3, #0xc8 bl MOD13_0223C1C4 str r0, [r6, #0x34] mov r0, r6 add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0223A954: .word 0x022431A4 _0223A958: .word 0x0223F756 _0223A95C: .word 0x0223F754 _0223A960: .word 0x00000718 _0223A964: .word 0x04001008 _0223A968: .word 0x04000008 _0223A96C: .word 0x0223F750 _0223A970: .word 0x00000794 _0223A974: .word MOD13_0223A718 arm_func_start MOD13_0223A978 MOD13_0223A978: ; 0x0223A978 stmdb sp!, {r4, lr} mov r4, r0 ldr r0, [r4, #0x30] bl MOD13_0223BB20 ldr r0, _0223A9A0 ; =0x022431A4 mov r1, r4 ldr r0, [r0] ldr r0, [r0, #0x788] bl MOD13_02239FD0 ldmia sp!, {r4, pc} .align 2, 0 _0223A9A0: .word 0x022431A4 arm_func_start MOD13_0223A9A4 MOD13_0223A9A4: ; 0x0223A9A4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r4, _0223AA7C ; =0x022431A4 mov r7, r0 ldr r0, [r4] mov r6, r1 ldr r0, [r0, #0x788] mov r5, r2 mov r8, r3 bl MOD13_02239F78 mov r4, r0 strb r6, [r4, #0x36] mul r1, r6, r5 mov r2, r8 strb r5, [r4, #0x37] mov r0, r7 add r3, sp, #4 bl MOD13_0223BB68 str r0, [r4, #0x30] ldr r1, [sp, #4] mov r0, r6 strh r1, [r4, #0x34] mov r1, r5 bl FUN_020B6180 ldr r1, [sp, #0x20] cmp r7, #1 str r0, [r1] moveq ip, #0x6600000 ldr r7, [sp, #4] mov r1, #4 movne ip, #0x6400000 str r1, [sp] mov r0, r4 mov r2, r6 mov r3, r5 add r1, ip, r7, lsl #7 bl FUN_020B62F8 ldr r2, [r4, #0x18] mov r0, r4 mov r1, #0 blx r2 ldr r0, _0223AA7C ; =0x022431A4 ldr r1, [sp, #0x24] ldr r2, [r0] mov r0, #0xc mla r0, r1, r0, r2 str r4, [r4, #0x20] str r0, [r4, #0x24] mov r1, #1 str r1, [r4, #0x28] mov r0, r4 str r1, [r4, #0x2c] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0223AA7C: .word 0x022431A4 arm_func_start MOD13_0223AA80 MOD13_0223AA80: ; 0x0223AA80 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r4, _0223AACC ; =0x022431A4 mov r5, #0 _0223AA90: ldr r0, [r4] add r0, r0, r5, lsl #2 ldr r0, [r0, #0x78c] bl MOD13_0223939C add r5, r5, #1 cmp r5, #2 blt _0223AA90 ldr r0, _0223AACC ; =0x022431A4 ldr r0, [r0] ldr r0, [r0, #0x788] bl MOD13_0223A030 ldr r0, _0223AACC ; =0x022431A4 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223AACC: .word 0x022431A4 arm_func_start MOD13_0223AAD0 MOD13_0223AAD0: ; 0x0223AAD0 stmdb sp!, {r4, r5, r6, r7, r8, sb, lr} sub sp, sp, #4 ldr r0, _0223AB68 ; =0x00000798 mov r1, #4 bl MOD13_0223B004 mov r4, r0 ldr r3, _0223AB6C ; =0x022431A4 add r1, r4, #0x18 mov r0, #0x20 mov r2, #0x38 str r4, [r3] bl MOD13_0223A054 ldr sb, _0223AB6C ; =0x022431A4 mov r8, #0 ldr r1, [sb] mov r7, r8 str r0, [r1, #0x788] ldr r6, _0223AB70 ; =0x02240A00 mov r5, r8 mov r4, #4 _0223AB20: ldr r0, [r6, r8, lsl #2] mov r1, r5 mov r2, r4 bl MOD13_022393D8 ldr r1, [sb] add r1, r1, r8, lsl #2 str r0, [r1, #0x78c] ldr r2, [sb] add r0, r2, r8, lsl #2 ldr r1, [r0, #0x78c] add r0, r2, r7 bl FUN_020B5D3C add r8, r8, #1 cmp r8, #2 add r7, r7, #0xc blt _0223AB20 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, pc} .align 2, 0 _0223AB68: .word 0x00000798 _0223AB6C: .word 0x022431A4 _0223AB70: .word 0x02240A00 arm_func_start MOD13_0223AB74 MOD13_0223AB74: ; 0x0223AB74 ldrh r3, [r0] strh r3, [r2] ldrh r3, [r0, #2] strh r3, [r2, #2] ldrh ip, [r0] ldrh r3, [r1] add r3, ip, r3 strh r3, [r2, #4] ldrh r3, [r0, #2] ldrh r0, [r1, #2] add r0, r3, r0 strh r0, [r2, #6] bx lr arm_func_start MOD13_0223ABA8 MOD13_0223ABA8: ; 0x0223ABA8 ldr ip, [sp] strh r0, [ip] strh r1, [ip, #2] strh r2, [ip, #4] strh r3, [ip, #6] bx lr arm_func_start MOD13_0223ABC0 MOD13_0223ABC0: ; 0x0223ABC0 strh r0, [r2] strh r1, [r2, #2] bx lr arm_func_start MOD13_0223ABCC MOD13_0223ABCC: ; 0x0223ABCC cmp r1, #3 addls pc, pc, r1, lsl #2 bx lr _0223ABD8: ; jump table b _0223ABE8 ; case 0 b _0223AC38 ; case 1 b _0223AC88 ; case 2 b _0223ACD8 ; case 3 _0223ABE8: cmp r0, #1 bne _0223AC14 ldr r0, _0223AD28 ; =0x04001048 cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f orr r1, r0, r2 ldr r0, _0223AD28 ; =0x04001048 orrne r1, r1, #0x20 strh r1, [r0] bx lr _0223AC14: ldr r0, _0223AD2C ; =0x04000048 cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f orr r1, r0, r2 ldr r0, _0223AD2C ; =0x04000048 orrne r1, r1, #0x20 strh r1, [r0] bx lr _0223AC38: cmp r0, #1 bne _0223AC64 ldr r0, _0223AD28 ; =0x04001048 cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f00 orr r1, r0, r2, lsl #8 ldr r0, _0223AD28 ; =0x04001048 orrne r1, r1, #0x2000 strh r1, [r0] bx lr _0223AC64: ldr r0, _0223AD2C ; =0x04000048 cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f00 orr r1, r0, r2, lsl #8 ldr r0, _0223AD2C ; =0x04000048 orrne r1, r1, #0x2000 strh r1, [r0] bx lr _0223AC88: cmp r0, #1 bne _0223ACB4 ldr r0, _0223AD30 ; =0x0400104A cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f00 orr r1, r0, r2, lsl #8 ldr r0, _0223AD30 ; =0x0400104A orrne r1, r1, #0x2000 strh r1, [r0] bx lr _0223ACB4: ldr r0, _0223AD34 ; =0x0400004A cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f00 orr r1, r0, r2, lsl #8 ldr r0, _0223AD34 ; =0x0400004A orrne r1, r1, #0x2000 strh r1, [r0] bx lr _0223ACD8: cmp r0, #1 bne _0223AD04 ldr r0, _0223AD30 ; =0x0400104A cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f orr r1, r0, r2 ldr r0, _0223AD30 ; =0x0400104A orrne r1, r1, #0x20 strh r1, [r0] bx lr _0223AD04: ldr r0, _0223AD34 ; =0x0400004A cmp r3, #0 ldrh r0, [r0] bic r0, r0, #0x3f orr r1, r0, r2 ldr r0, _0223AD34 ; =0x0400004A orrne r1, r1, #0x20 strh r1, [r0] bx lr .align 2, 0 _0223AD28: .word 0x04001048 _0223AD2C: .word 0x04000048 _0223AD30: .word 0x0400104A _0223AD34: .word 0x0400004A arm_func_start MOD13_0223AD38 MOD13_0223AD38: ; 0x0223AD38 stmdb sp!, {lr} sub sp, sp, #4 cmp r0, #1 bne _0223ADE0 cmp r1, #0 bne _0223AD98 ldrh r0, [r2] ldrh r1, [r2, #4] ldrh r3, [r2, #2] ldrh lr, [r2, #6] mov r2, r0, lsl #8 mov r0, r3, lsl #8 and r2, r2, #0xff00 and r1, r1, #0xff orr ip, r2, r1 ldr r3, _0223AE78 ; =0x04001040 and r2, r0, #0xff00 and r1, lr, #0xff ldr r0, _0223AE7C ; =0x04001044 strh ip, [r3] orr r1, r2, r1 strh r1, [r0] add sp, sp, #4 ldmia sp!, {pc} _0223AD98: ldrh r0, [r2] ldrh r1, [r2, #4] ldrh r3, [r2, #2] ldrh lr, [r2, #6] mov r2, r0, lsl #8 mov r0, r3, lsl #8 and r2, r2, #0xff00 and r1, r1, #0xff orr ip, r2, r1 ldr r3, _0223AE80 ; =0x04001042 and r2, r0, #0xff00 and r1, lr, #0xff ldr r0, _0223AE84 ; =0x04001046 strh ip, [r3] orr r1, r2, r1 strh r1, [r0] add sp, sp, #4 ldmia sp!, {pc} _0223ADE0: cmp r1, #0 bne _0223AE30 ldrh r0, [r2] ldrh r1, [r2, #4] ldrh r3, [r2, #2] ldrh lr, [r2, #6] mov r2, r0, lsl #8 mov r0, r3, lsl #8 and r2, r2, #0xff00 and r1, r1, #0xff orr ip, r2, r1 ldr r3, _0223AE88 ; =0x04000040 and r2, r0, #0xff00 and r1, lr, #0xff ldr r0, _0223AE8C ; =0x04000044 strh ip, [r3] orr r1, r2, r1 strh r1, [r0] add sp, sp, #4 ldmia sp!, {pc} _0223AE30: ldrh r0, [r2] ldrh r3, [r2, #2] ldrh r1, [r2, #4] ldrh lr, [r2, #6] mov r2, r0, lsl #8 mov r0, r3, lsl #8 and r2, r2, #0xff00 and r1, r1, #0xff ldr r3, _0223AE90 ; =0x04000042 orr ip, r2, r1 and r2, r0, #0xff00 and r1, lr, #0xff ldr r0, _0223AE94 ; =0x04000046 strh ip, [r3] orr r1, r2, r1 strh r1, [r0] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223AE78: .word 0x04001040 _0223AE7C: .word 0x04001044 _0223AE80: .word 0x04001042 _0223AE84: .word 0x04001046 _0223AE88: .word 0x04000040 _0223AE8C: .word 0x04000044 _0223AE90: .word 0x04000042 _0223AE94: .word 0x04000046 arm_func_start MOD13_0223AE98 MOD13_0223AE98: ; 0x0223AE98 cmp r0, #1 bne _0223AEC8 ldr r3, _0223AEF0 ; =0x04001000 mvn r0, r1 ldr r2, [r3] ldr r1, [r3] and r2, r2, #0x1f00 bic r1, r1, #0x1f00 and r0, r0, r2, lsr #8 orr r0, r1, r0, lsl #8 str r0, [r3] bx lr _0223AEC8: mov r3, #0x4000000 ldr r0, [r3] ldr r2, [r3] and ip, r0, #0x1f00 mvn r0, r1 bic r1, r2, #0x1f00 and r0, r0, ip, lsr #8 orr r0, r1, r0, lsl #8 str r0, [r3] bx lr .align 2, 0 _0223AEF0: .word 0x04001000 arm_func_start MOD13_0223AEF4 MOD13_0223AEF4: ; 0x0223AEF4 cmp r0, #1 bne _0223AF20 ldr r3, _0223AF44 ; =0x04001000 ldr r2, [r3] ldr r0, [r3] and ip, r2, #0x1f00 bic r2, r0, #0x1f00 orr r0, r1, ip, lsr #8 orr r0, r2, r0, lsl #8 str r0, [r3] bx lr _0223AF20: mov r3, #0x4000000 ldr r2, [r3] ldr r0, [r3] and ip, r2, #0x1f00 bic r2, r0, #0x1f00 orr r0, r1, ip, lsr #8 orr r0, r2, r0, lsl #8 str r0, [r3] bx lr .align 2, 0 _0223AF44: .word 0x04001000 arm_func_start MOD13_0223AF48 MOD13_0223AF48: ; 0x0223AF48 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 mov r0, #1 bl OS_DisableIrqMask cmp r5, #0 mov r4, r0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} ldr r0, _0223AF8C ; =0x022431A8 mov r1, r5 ldr r0, [r0] bl FUN_020ADDF0 mov r0, r4 bl OS_EnableIrqMask add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223AF8C: .word 0x022431A8 arm_func_start MOD13_0223AF90 MOD13_0223AF90: ; 0x0223AF90 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 mov r0, #1 bl OS_DisableIrqMask ldr r1, [r5] mov r4, r0 cmp r1, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, pc} ldr r0, _0223AFDC ; =0x022431A8 ldr r0, [r0] bl FUN_020ADDF0 mov r0, r4 bl OS_EnableIrqMask mov r0, #0 str r0, [r5] add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223AFDC: .word 0x022431A8 arm_func_start MOD13_0223AFE0 MOD13_0223AFE0: ; 0x0223AFE0 stmdb sp!, {r4, lr} mov r4, r0 bl MOD13_0223B004 mov r2, r4 mov r1, #0 mov r4, r0 bl MI_CpuFill8 mov r0, r4 ldmia sp!, {r4, pc} arm_func_start MOD13_0223B004 MOD13_0223B004: ; 0x0223B004 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r0, #1 mov r5, r1 bl OS_DisableIrqMask ldr r1, _0223B04C ; =0x022431A8 mov r4, r0 ldr r0, [r1] mov r1, r6 mov r2, r5 bl tempName_NNS_FndAllocFromExpHeapEx movs r5, r0 bne _0223B03C bl OS_Terminate _0223B03C: mov r0, r4 bl OS_EnableIrqMask mov r0, r5 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0223B04C: .word 0x022431A8 arm_func_start MOD13_0223B050 MOD13_0223B050: ; 0x0223B050 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0223B078 ; =0x022431A8 ldr r0, [r0] bl thunk_FUN_020adc8c ldr r0, _0223B078 ; =0x022431A8 mov r1, #0 str r1, [r0] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223B078: .word 0x022431A8 arm_func_start MOD13_0223B07C MOD13_0223B07C: ; 0x0223B07C stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 mov r2, #0x40000 bl MI_CpuFill8 mov r0, r4 mov r1, #0x40000 mov r2, #0 bl tempName_NNS_FndCreateExpHeapEx ldr r1, _0223B0B8 ; =0x022431A8 cmp r0, #0 str r0, [r1] ldmneia sp!, {r4, pc} bl OS_Terminate ldmia sp!, {r4, pc} .align 2, 0 _0223B0B8: .word 0x022431A8 arm_func_start MOD13_0223B0BC MOD13_0223B0BC: ; 0x0223B0BC stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0223B144 ; =0x022431AC ldrb r0, [r0] cmp r0, #0 beq _0223B10C ldr r0, _0223B148 ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf addne sp, sp, #4 ldmneia sp!, {pc} mov r0, #1 bl PM_SetLCDPower cmp r0, #0 ldrne r0, _0223B144 ; =0x022431AC movne r1, #0 strneb r1, [r0] add sp, sp, #4 ldmia sp!, {pc} _0223B10C: ldr r0, _0223B148 ; =0x027FFFA8 ldrh r0, [r0] and r0, r0, #0x8000 movs r0, r0, asr #0xf addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0 bl PM_SetLCDPower cmp r0, #0 ldrne r0, _0223B144 ; =0x022431AC movne r1, #1 strneb r1, [r0] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223B144: .word 0x022431AC _0223B148: .word 0x027FFFA8 arm_func_start MOD13_0223B14C MOD13_0223B14C: ; 0x0223B14C ldr r1, _0223B190 ; =0x022431B4 ldr r3, [r1] ldrb r1, [r3, #0x38] mov r1, r1, lsl #0x1f movs r1, r1, lsr #0x1f ldrneh r2, [r3, #0x28] ldrneh r1, [r3, #0x2a] strneh r2, [r0] strneh r1, [r0, #2] movne r0, #1 bxne lr ldrh r2, [r3, #0x2c] ldrh r1, [r3, #0x2e] strh r2, [r0] strh r1, [r0, #2] mov r0, #0 bx lr .align 2, 0 _0223B190: .word 0x022431B4 arm_func_start MOD13_0223B194 MOD13_0223B194: ; 0x0223B194 stmdb sp!, {lr} sub sp, sp, #0xc ldrh r1, [r0] strh r1, [sp] ldrh r1, [r0, #2] strh r1, [sp, #2] ldrh r2, [r0] ldrh r1, [r0, #4] add r1, r2, r1 strh r1, [sp, #4] ldrh r2, [r0, #2] ldrh r1, [r0, #6] add r0, sp, #0 add r1, r2, r1 strh r1, [sp, #6] bl MOD13_0223B2B4 add sp, sp, #0xc ldmia sp!, {pc} arm_func_start MOD13_0223B1DC MOD13_0223B1DC: ; 0x0223B1DC ldr r1, _0223B244 ; =0x022431B4 ldr r3, [r1] ldrb r1, [r3, #0x38] mov r1, r1, lsl #0x1c movs r1, r1, lsr #0x1f moveq r0, #0 bxeq lr ldrh r2, [r3, #0x28] ldrh r1, [r0] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r1, [r0, #4] cmp r1, r2 movlo r0, #0 bxlo lr ldrh r2, [r3, #0x2a] ldrh r1, [r0, #2] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r0, [r0, #6] cmp r0, r2 movhs r0, #1 movlo r0, #0 bx lr .align 2, 0 _0223B244: .word 0x022431B4 arm_func_start MOD13_0223B248 MOD13_0223B248: ; 0x0223B248 ldr r1, _0223B2B0 ; =0x022431B4 ldr r3, [r1] ldrb r1, [r3, #0x38] mov r1, r1, lsl #0x1d movs r1, r1, lsr #0x1f moveq r0, #0 bxeq lr ldrh r2, [r3, #0x28] ldrh r1, [r0] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r1, [r0, #4] cmp r1, r2 movlo r0, #0 bxlo lr ldrh r2, [r3, #0x2a] ldrh r1, [r0, #2] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r0, [r0, #6] cmp r0, r2 movhs r0, #1 movlo r0, #0 bx lr .align 2, 0 _0223B2B0: .word 0x022431B4 arm_func_start MOD13_0223B2B4 MOD13_0223B2B4: ; 0x0223B2B4 ldr r1, _0223B31C ; =0x022431B4 ldr r3, [r1] ldrb r1, [r3, #0x38] mov r1, r1, lsl #0x1e movs r1, r1, lsr #0x1f moveq r0, #0 bxeq lr ldrh r2, [r3, #0x28] ldrh r1, [r0] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r1, [r0, #4] cmp r1, r2 movlo r0, #0 bxlo lr ldrh r2, [r3, #0x2a] ldrh r1, [r0, #2] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r0, [r0, #6] cmp r0, r2 movhs r0, #1 movlo r0, #0 bx lr .align 2, 0 _0223B31C: .word 0x022431B4 arm_func_start MOD13_0223B320 MOD13_0223B320: ; 0x0223B320 ldr r1, _0223B388 ; =0x022431B4 ldr r3, [r1] ldrb r1, [r3, #0x38] mov r1, r1, lsl #0x1f movs r1, r1, lsr #0x1f moveq r0, #0 bxeq lr ldrh r2, [r3, #0x28] ldrh r1, [r0] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r1, [r0, #4] cmp r1, r2 movlo r0, #0 bxlo lr ldrh r2, [r3, #0x2a] ldrh r1, [r0, #2] cmp r1, r2 movhi r0, #0 bxhi lr ldrh r0, [r0, #6] cmp r0, r2 movhs r0, #1 movlo r0, #0 bx lr .align 2, 0 _0223B388: .word 0x022431B4 arm_func_start MOD13_0223B38C MOD13_0223B38C: ; 0x0223B38C ldr r1, _0223B3AC ; =0x022431B4 ldr r1, [r1] ldrh r1, [r1, #0x36] and r1, r0, r1 cmp r0, r1 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _0223B3AC: .word 0x022431B4 arm_func_start MOD13_0223B3B0 MOD13_0223B3B0: ; 0x0223B3B0 ldr r1, _0223B3D0 ; =0x022431B4 ldr r1, [r1] ldrh r1, [r1, #0x34] and r1, r0, r1 cmp r0, r1 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _0223B3D0: .word 0x022431B4 arm_func_start MOD13_0223B3D4 MOD13_0223B3D4: ; 0x0223B3D4 ldr r1, _0223B3F4 ; =0x022431B4 ldr r1, [r1] ldrh r1, [r1, #0x32] and r1, r0, r1 cmp r0, r1 moveq r0, #1 movne r0, #0 bx lr .align 2, 0 _0223B3F4: .word 0x022431B4 arm_func_start MOD13_0223B3F8 MOD13_0223B3F8: ; 0x0223B3F8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 ldr r0, _0223B598 ; =0x022431B4 mov r4, #0 ldr r0, [r0] ldrb r0, [r0, #0x38] mov r0, r0, lsl #0x1f movs r0, r0, lsr #0x1f movne r6, #1 moveq r6, #0 bl TP_GetLatestIndexInAuto ldr r7, _0223B598 ; =0x022431B4 mov r5, r4 ldr r3, [r7] mov r8, #5 ldrh r2, [r3, #0x28] ldrh r1, [r3, #0x2a] strh r2, [r3, #0x2c] strh r1, [r3, #0x2e] _0223B444: ldr r1, [r7] add r1, r1, r0, lsl #3 ldrh r2, [r1, #4] cmp r2, #1 bne _0223B48C ldrh r2, [r1, #6] cmp r2, #0 bne _0223B48C add r0, sp, #0 mov r4, #1 bl TP_GetCalibratedPoint ldr r1, _0223B598 ; =0x022431B4 ldrh r0, [sp] ldr r2, [r1] ldrh r1, [sp, #2] add r2, r2, #0x28 bl MOD13_0223ABC0 b _0223B4A4 _0223B48C: mov r1, r8 add r5, r5, #1 add r0, r0, #4 bl FX_ModS32 cmp r5, #4 blt _0223B444 _0223B4A4: ldr r1, _0223B598 ; =0x022431B4 eor r7, r4, r6 ldr r5, [r1] and r0, r4, r7 ldrb r3, [r5, #0x38] and r2, r0, #0xff and r0, r6, r7 bic r3, r3, #2 and r2, r2, #1 orr r2, r3, r2, lsl #1 strb r2, [r5, #0x38] ldr r5, [r1] and r0, r0, #0xff ldrb r3, [r5, #0x38] and r2, r0, #1 cmp r4, #0 bic r3, r3, #8 orr r2, r3, r2, lsl #3 strb r2, [r5, #0x38] ldr r3, [r1] and r0, r4, #1 ldrb r2, [r3, #0x38] addeq sp, sp, #8 bic r2, r2, #1 orr r0, r2, r0 strb r0, [r3, #0x38] ldr r3, [r1] moveq r1, #0 ldrb r2, [r3, #0x38] mov r0, r2, lsl #0x1e mov r0, r0, lsr #0x1f bic r2, r2, #4 and r0, r0, #1 orr r0, r2, r0, lsl #2 strb r0, [r3, #0x38] ldreq r0, _0223B59C ; =0x022431B0 streqb r1, [r0] ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldr r0, _0223B59C ; =0x022431B0 ldrb r2, [r0] add r2, r2, #1 strb r2, [r0] ldrb r2, [r0] cmp r2, #0x28 ldreq r1, [r1] addeq sp, sp, #8 ldreqb r0, [r1, #0x38] orreq r0, r0, #4 streqb r0, [r1, #0x38] ldmeqia sp!, {r4, r5, r6, r7, r8, pc} cmp r2, #0x2f addne sp, sp, #8 ldmneia sp!, {r4, r5, r6, r7, r8, pc} ldr r3, [r1] mov r1, #0x28 ldrb r2, [r3, #0x38] orr r2, r2, #4 strb r2, [r3, #0x38] strb r1, [r0] add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0223B598: .word 0x022431B4 _0223B59C: .word 0x022431B0 arm_func_start MOD13_0223B5A0 MOD13_0223B5A0: ; 0x0223B5A0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 ldr r1, _0223B694 ; =0x04000130 ldr r0, _0223B698 ; =0x027FFFA8 ldrh r2, [r1] ldrh r1, [r0] ldr r4, _0223B69C ; =0x022431B4 ldr r0, _0223B6A0 ; =0x00002FFF ldr r5, [r4] orr r1, r2, r1 eor r1, r1, r0 and r0, r1, r0 mov r0, r0, lsl #0x10 ldrh r1, [r5, #0x30] mov r3, r0, lsr #0x10 ldr ip, _0223B6A4 ; =0x022431B8 eor r1, r1, r0, lsr #16 and r1, r1, r0, lsr #16 strh r1, [r5, #0x32] ldrh r2, [r5, #0x30] ldr r1, [r4] mov lr, #0 eor r0, r2, r0, lsr #16 and r0, r2, r0 strh r0, [r1, #0x36] ldr r0, [r4] strh r3, [r0, #0x30] ldr r1, [r4] ldrh r0, [r1, #0x32] strh r0, [r1, #0x34] mov r0, lr mov r5, #0x28 mov r2, #1 _0223B624: mov r1, r2, lsl lr mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 ands r6, r3, r1 streqb r0, [ip] beq _0223B67C ldrb r6, [ip] add r6, r6, #1 strb r6, [ip] ldrb r6, [ip] cmp r6, #0x28 ldreq r7, [r4] ldreqh r6, [r7, #0x34] orreq r1, r6, r1 streqh r1, [r7, #0x34] beq _0223B67C cmp r6, #0x2f ldreq r7, [r4] ldreqh r6, [r7, #0x34] orreq r1, r6, r1 streqh r1, [r7, #0x34] streqb r5, [ip] _0223B67C: add lr, lr, #1 cmp lr, #0xe add ip, ip, #1 blt _0223B624 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0223B694: .word 0x04000130 _0223B698: .word 0x027FFFA8 _0223B69C: .word 0x022431B4 _0223B6A0: .word 0x00002FFF _0223B6A4: .word 0x022431B8 arm_func_start MOD13_0223B6A8 MOD13_0223B6A8: ; 0x0223B6A8 stmdb sp!, {lr} sub sp, sp, #4 bl MOD13_0223B5A0 bl MOD13_0223B3F8 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0223B6C0 MOD13_0223B6C0: ; 0x0223B6C0 stmdb sp!, {r4, lr} mov r4, #4 _0223B6C8: bl TP_RequestAutoSamplingStopAsync mov r0, r4 bl TP_WaitBusy mov r0, r4 bl TP_CheckError cmp r0, #0 bne _0223B6C8 ldr r0, _0223B6F0 ; =0x022431B4 bl MOD13_0223AF90 ldmia sp!, {r4, pc} .align 2, 0 _0223B6F0: .word 0x022431B4 arm_func_start MOD13_0223B6F4 MOD13_0223B6F4: ; 0x0223B6F4 stmdb sp!, {lr} sub sp, sp, #0xc mov r0, #0x3a mov r1, #4 bl MOD13_0223AFE0 ldr r1, _0223B76C ; =0x022431B4 str r0, [r1] add r0, sp, #0 bl TP_GetUserInfo cmp r0, #0 bne _0223B724 bl OS_Terminate _0223B724: add r0, sp, #0 bl TP_SetCalibrateParam ldr r1, _0223B76C ; =0x022431B4 mov r0, #0 ldr r2, [r1] mov r1, #4 mov r3, #5 bl TP_RequestAutoSamplingStartAsync mov r0, #2 bl TP_WaitBusy mov r0, #2 bl TP_CheckError cmp r0, #0 beq _0223B760 bl OS_Terminate _0223B760: bl MOD13_0223B6A8 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _0223B76C: .word 0x022431B4 arm_func_start MOD13_0223B770 MOD13_0223B770: ; 0x0223B770 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #1 bl MOD13_0223C1E0 ldr r0, _0223B79C ; =0x027E0000 add r0, r0, #0x3000 ldr r1, [r0, #0xff8] orr r1, r1, #1 str r1, [r0, #0xff8] add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223B79C: .word 0x027E0000 arm_func_start MOD13_0223B7A0 MOD13_0223B7A0: ; 0x0223B7A0 stmdb sp!, {lr} sub sp, sp, #4 ldr r2, _0223B7DC ; =0x04000208 mov r1, #0 ldrh r0, [r2] ldr r0, _0223B7E0 ; =0x022431CC strh r1, [r2] ldr r0, [r0] bl OS_SetIrqMask ldr r1, _0223B7E4 ; =0x022431C8 mov r0, #1 ldr r1, [r1] bl OS_SetIrqFunction add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223B7DC: .word 0x04000208 _0223B7E0: .word 0x022431CC _0223B7E4: .word 0x022431C8 arm_func_start MOD13_0223B7E8 MOD13_0223B7E8: ; 0x0223B7E8 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0223B850 ; =0x04000210 ldr r1, _0223B854 ; =0x022431CC ldr r2, [r0] ldr r0, _0223B858 ; =0x00040018 str r2, [r1] bl OS_SetIrqMask mov r0, #1 bl OS_EnableIrqMask mov r0, #1 bl OS_GetIrqFunction ldr r2, _0223B85C ; =0x022431C8 ldr r1, _0223B860 ; =MOD13_0223B770 str r0, [r2] mov r0, #1 bl OS_SetIrqFunction mov r0, #1 bl OS_ResetRequestIrqMask ldr r2, _0223B864 ; =0x04000208 mov r0, #1 ldrh r1, [r2] strh r0, [r2] bl OS_EnableInterrupts add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223B850: .word 0x04000210 _0223B854: .word 0x022431CC _0223B858: .word 0x00040018 _0223B85C: .word 0x022431C8 _0223B860: .word MOD13_0223B770 _0223B864: .word 0x04000208 arm_func_start MOD13_0223B868 MOD13_0223B868: ; 0x0223B868 ldr ip, _0223B874 ; =MOD13_0223B888 ldr r0, [r0, #4] bx ip .align 2, 0 _0223B874: .word MOD13_0223B888 arm_func_start MOD13_0223B878 MOD13_0223B878: ; 0x0223B878 ldr ip, _0223B884 ; =MOD13_0223B888 add r0, r0, #8 bx ip .align 2, 0 _0223B884: .word MOD13_0223B888 arm_func_start MOD13_0223B888 MOD13_0223B888: ; 0x0223B888 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 mov r0, #1 mov r4, r1 bl OS_DisableIrqMask ldr r1, [r5] str r4, [r1, #4] ldr r1, [r5] str r1, [r4] str r5, [r4, #4] str r4, [r5] bl OS_EnableIrqMask add sp, sp, #4 ldmia sp!, {r4, r5, pc} arm_func_start MOD13_0223B8C4 MOD13_0223B8C4: ; 0x0223B8C4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #1 bl OS_DisableIrqMask ldr r3, [r4, #4] ldr r2, [r4] mov r1, #0 str r3, [r2, #4] ldr r3, [r4] ldr r2, [r4, #4] str r3, [r2] str r1, [r4, #4] ldr r1, [r4, #4] str r1, [r4] bl OS_EnableIrqMask ldmia sp!, {r4, pc} arm_func_start MOD13_0223B904 MOD13_0223B904: ; 0x0223B904 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {lr} sub sp, sp, #4 add r0, sp, #8 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {lr} add sp, sp, #0x10 bx lr arm_func_start MOD13_0223B928 MOD13_0223B928: ; 0x0223B928 stmdb sp!, {lr} sub sp, sp, #4 mov r0, #0x10 mov r1, #4 bl MOD13_0223B004 mov r2, #0 str r2, [r0] add r1, r0, #8 str r1, [r0, #4] str r0, [r0, #8] str r2, [r0, #0xc] add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0223B95C MOD13_0223B95C: ; 0x0223B95C ldr r2, _0223B970 ; =0x022431D0 ldr r2, [r2] add r0, r2, r0, lsl #10 add r0, r0, r1, lsl #3 bx lr .align 2, 0 _0223B970: .word 0x022431D0 arm_func_start MOD13_0223B974 MOD13_0223B974: ; 0x0223B974 mov r1, r0 ldr r3, [r1] ldr r0, _0223B9B4 ; =0xC1FFFCFF ldr r2, _0223B9B8 ; =0x022431D0 and r0, r3, r0 orr r0, r0, #0x200 str r0, [r1] ldr r2, [r2] mov r3, #0 add r0, r2, #0x400 cmp r1, r0 movhs r3, #1 add r0, r2, r3, lsl #2 ldr ip, _0223B9BC ; =MOD13_02239FD0 ldr r0, [r0, #0x800] bx ip .align 2, 0 _0223B9B4: .word 0xC1FFFCFF _0223B9B8: .word 0x022431D0 _0223B9BC: .word MOD13_02239FD0 arm_func_start MOD13_0223B9C0 MOD13_0223B9C0: ; 0x0223B9C0 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r2, _0223BA00 ; =0x022431D0 mov r5, r1 ldr r1, [r2] add r0, r1, r0, lsl #2 ldr r0, [r0, #0x800] bl MOD13_02239F78 mov r4, r0 mov r0, r5 mov r1, r4 mov r2, #8 bl MIi_CpuCopy32 mov r0, r4 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223BA00: .word 0x022431D0 arm_func_start MOD13_0223BA04 MOD13_0223BA04: ; 0x0223BA04 stmdb sp!, {lr} sub sp, sp, #4 ldr r1, _0223BA30 ; =0x022431D0 mov r0, #1 ldr r1, [r1] ldr r1, [r1, #0x808] bl MOD13_0223C104 ldr r0, _0223BA30 ; =0x022431D0 bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223BA30: .word 0x022431D0 arm_func_start MOD13_0223BA34 MOD13_0223BA34: ; 0x0223BA34 stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0223BA80 ; =0x022431D0 mov r1, #0x800 ldr r0, [r0] bl DC_FlushRange ldr r0, _0223BA80 ; =0x022431D0 mov r1, #0 ldr r0, [r0] mov r2, #0x400 bl GX_LoadOAM ldr r0, _0223BA80 ; =0x022431D0 mov r1, #0 ldr r0, [r0] mov r2, #0x400 add r0, r0, #0x400 bl GXS_LoadOAM add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223BA80: .word 0x022431D0 arm_func_start MOD13_0223BA84 MOD13_0223BA84: ; 0x0223BA84 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r0, _0223BB14 ; =0x0000080C mov r1, #4 bl MOD13_0223B004 mov r1, r0 ldr r3, _0223BB18 ; =0x022431D0 mov r0, #0x200 mov r2, #0x800 str r1, [r3] bl MIi_CpuClearFast mov r6, #0 mov r5, r6 ldr r7, _0223BB18 ; =0x022431D0 mov r4, #0x40 mov r8, #8 _0223BAC0: ldr r1, [r7] mov r0, r4 mov r2, r8 add r1, r1, r5 bl MOD13_0223A054 ldr r1, [r7] add r5, r5, #0x400 add r1, r1, r6, lsl #2 add r6, r6, #1 str r0, [r1, #0x800] cmp r6, #2 blt _0223BAC0 ldr r1, _0223BB1C ; =MOD13_0223BA34 mov r0, #1 mov r2, #0 mov r3, #0xc8 bl MOD13_0223C1C4 ldr r1, _0223BB18 ; =0x022431D0 ldr r1, [r1] str r0, [r1, #0x808] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0223BB14: .word 0x0000080C _0223BB18: .word 0x022431D0 _0223BB1C: .word MOD13_0223BA34 arm_func_start MOD13_0223BB20 MOD13_0223BB20: ; 0x0223BB20 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r5, r0 mov r4, #0 bl MOD13_0223B8C4 ldr r0, _0223BB64 ; =0x022431D4 ldr r1, [r0] add r0, r1, #0x1a0 cmp r5, r0 movhs r4, #1 mov r0, #0x1a0 mla r0, r4, r0, r1 ldr r0, [r0, #0x19c] mov r1, r5 bl MOD13_02239FD0 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223BB64: .word 0x022431D4 arm_func_start MOD13_0223BB68 MOD13_0223BB68: ; 0x0223BB68 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r6, r0 mov r0, #0x1a0 mul r7, r6, r0 ldr r0, _0223BCE0 ; =0x022431D4 mov r4, r1 ldr r0, [r0] mov sl, r2 add r0, r0, r7 ldr r0, [r0, #0x19c] mov r5, r3 bl MOD13_02239F78 add r1, r4, #3 bic r1, r1, #3 mov r4, r0 mov r8, r1, asr #2 mov r0, #1 strh r8, [r4, #0xa] bl OS_DisableIrqMask mov sb, r0 cmp sl, #0 beq _0223BC44 ldr r1, _0223BCE0 ; =0x022431D4 mov r0, #0x1a0 ldr r1, [r1] mla r0, r6, r0, r1 add r6, r0, #0x180 add r0, r0, #0x18c cmp r6, r0 beq _0223BC24 add r0, r1, r7 add r1, r0, #0x18c _0223BBE8: ldr r0, [r6, #4] ldrh sl, [r6, #8] ldrh r3, [r6, #0xa] ldrh r2, [r0, #8] add sl, sl, r3 add r3, sl, r8 cmp r3, r2 bgt _0223BC18 mov r1, r4 strh sl, [r4, #8] bl MOD13_0223B888 b _0223BC24 _0223BC18: mov r6, r0 cmp r0, r1 bne _0223BBE8 _0223BC24: ldr r0, _0223BCE0 ; =0x022431D4 ldr r0, [r0] add r0, r0, r7 add r0, r0, #0x18c cmp r6, r0 bne _0223BCC8 bl OS_Terminate b _0223BCC8 _0223BC44: ldr r1, _0223BCE0 ; =0x022431D4 mov r0, #0x1a0 ldr r1, [r1] mla r0, r6, r0, r1 add r6, r0, #0x18c add r0, r0, #0x180 cmp r6, r0 beq _0223BCAC add r0, r1, r7 add r0, r0, #0x180 _0223BC6C: ldr sl, [r6] ldrh r3, [r6, #8] ldrh r2, [sl, #8] ldrh r1, [sl, #0xa] sub r3, r3, r8 add r1, r2, r1 cmp r3, r1 blt _0223BCA0 mov r0, r6 mov r1, r4 strh r3, [r4, #8] bl MOD13_0223B888 b _0223BCAC _0223BCA0: mov r6, sl cmp sl, r0 bne _0223BC6C _0223BCAC: ldr r0, _0223BCE0 ; =0x022431D4 ldr r0, [r0] add r0, r0, r7 add r0, r0, #0x180 cmp r6, r0 bne _0223BCC8 bl OS_Terminate _0223BCC8: ldrh r1, [r4, #8] mov r0, sb str r1, [r5] bl OS_EnableIrqMask mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0223BCE0: .word 0x022431D4 arm_func_start MOD13_0223BCE4 MOD13_0223BCE4: ; 0x0223BCE4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr} mov r0, #0x340 mov r1, #4 bl MOD13_0223AFE0 ldr r4, _0223BDA0 ; =0x022431D4 mov sl, #0 mov sb, sl str r0, [r4] mov r8, #0x20 mov r7, #0xc mov r6, #0x300 mov r5, #0x400 _0223BD14: ldr r1, [r4] mov r0, r8 mov r2, r7 add r1, r1, sb bl MOD13_0223A054 ldr r1, [r4] add r1, r1, sb str r0, [r1, #0x19c] bl MOD13_0223B928 ldr r1, [r4] add r1, r1, sb str r0, [r1, #0x198] ldr r0, [r4] add r0, r0, sb add r0, r0, #0x100 strh r6, [r0, #0x88] ldr r0, [r4] add r0, r0, sb add r0, r0, #0x100 strh r5, [r0, #0x94] ldr r0, [r4] add r1, r0, sb ldr r0, [r1, #0x198] add r1, r1, #0x180 bl MOD13_0223B868 ldr r0, [r4] add r1, r0, sb ldr r0, [r1, #0x198] add r1, r1, #0x18c bl MOD13_0223B878 add sl, sl, #1 cmp sl, #2 add sb, sb, #0x1a0 blt _0223BD14 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc} .align 2, 0 _0223BDA0: .word 0x022431D4 arm_func_start MOD13_0223BDA4 MOD13_0223BDA4: ; 0x0223BDA4 cmp r1, #0 mov r3, #0 ble _0223BDC8 _0223BDB0: ldrb r2, [r0, r3] cmp r2, #0 beq _0223BDC8 add r3, r3, #1 cmp r3, r1 blt _0223BDB0 _0223BDC8: mov r0, r3 bx lr arm_func_start MOD13_0223BDD0 MOD13_0223BDD0: ; 0x0223BDD0 ldr ip, _0223BDDC ; =0x020D4CAC mov r0, #1 bx ip .align 2, 0 _0223BDDC: .word 0x020D4CAC arm_func_start MOD13_0223BDE0 MOD13_0223BDE0: ; 0x0223BDE0 stmdb sp!, {lr} sub sp, sp, #4 add r0, sp, #0 bl PM_GetLEDPattern cmp r0, #0 addne sp, sp, #4 ldmneia sp!, {pc} ldr r0, [sp] cmp r0, #0xf addeq sp, sp, #4 ldmeqia sp!, {pc} mov r0, #0xf bl PMi_SendLEDPatternCommand add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0223BE1C MOD13_0223BE1C: ; 0x0223BE1C stmdb sp!, {lr} sub sp, sp, #4 ldr r0, _0223BE98 ; =0x000001F3 bl GX_SetBankForLCDC mov r0, #0 mov r1, #0x6800000 mov r2, #0x40000 bl MIi_CpuClearFast ldr r1, _0223BE9C ; =0x06880000 mov r0, #0 mov r2, #0x24000 bl MIi_CpuClearFast bl GX_DisableBankForLCDC mov r0, #0x200 mov r1, #0x7000000 mov r2, #0x400 bl MIi_CpuClearFast mov r0, #0 mov r1, #0x5000000 mov r2, #0x400 bl MIi_CpuClearFast mov r0, #0x200 ldr r1, _0223BEA0 ; =0x07000400 mov r2, #0x400 bl MIi_CpuClearFast mov r0, #0 ldr r1, _0223BEA4 ; =0x05000400 mov r2, #0x400 bl MIi_CpuClearFast add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223BE98: .word 0x000001F3 _0223BE9C: .word 0x06880000 _0223BEA0: .word 0x07000400 _0223BEA4: .word 0x05000400 arm_func_start MOD13_0223BEA8 MOD13_0223BEA8: ; 0x0223BEA8 stmdb sp!, {lr} sub sp, sp, #4 bl disableBankForX_ bl GX_DisableBankForOBJExtPltt_2 bl GX_DisableBankForSubBGExtPltt bl GX_DisableBankForSubOBJExtPltt_2 bl MOD13_0223BE1C ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0] bl GX_SetBankForBG ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #4] bl GX_SetBankForOBJ ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #8] bl GX_SetBankForBGExtPltt ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0xc] bl GX_SetBankForOBJExtPltt ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x10] bl GX_SetBankForTex ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x14] bl GX_SetBankForTexPltt ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x18] bl GX_SetBankForClearImage ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x1c] bl GX_SetBankForSubBG ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x20] bl GX_SetBankForSubOBJ ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x24] bl GX_SetBankForSubBGExtPltt ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x28] bl GX_SetBankForSubOBJExtPltt ldr r0, _0223BFB8 ; =0x022431D8 ldr r0, [r0, #0x30] bl GX_SetBankForLCDC mov r2, #0 ldr r1, _0223BFBC ; =0x04000050 ldr r0, _0223BFC0 ; =0x04001050 strh r2, [r1] strh r2, [r0] ldr r1, _0223BFC4 ; =0x04000010 ldr r0, _0223BFC8 ; =0x04000014 str r2, [r1] str r2, [r0] ldr r1, _0223BFCC ; =0x04000018 ldr r0, _0223BFD0 ; =0x0400001C str r2, [r1] str r2, [r0] ldr r1, _0223BFD4 ; =0x04001010 ldr r0, _0223BFD8 ; =0x04001014 str r2, [r1] str r2, [r0] ldr r1, _0223BFDC ; =0x04001018 ldr r0, _0223BFE0 ; =0x0400101C str r2, [r1] str r2, [r0] mov r0, #1 bl PM_SetLCDPower add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223BFB8: .word 0x022431D8 _0223BFBC: .word 0x04000050 _0223BFC0: .word 0x04001050 _0223BFC4: .word 0x04000010 _0223BFC8: .word 0x04000014 _0223BFCC: .word 0x04000018 _0223BFD0: .word 0x0400001C _0223BFD4: .word 0x04001010 _0223BFD8: .word 0x04001014 _0223BFDC: .word 0x04001018 _0223BFE0: .word 0x0400101C arm_func_start MOD13_0223BFE4 MOD13_0223BFE4: ; 0x0223BFE4 stmdb sp!, {lr} sub sp, sp, #4 bl disableBankForX_ ldr r1, _0223C09C ; =0x022431D8 str r0, [r1] bl GX_DisableBankForOBJExtPltt_2 ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #4] bl GX_DisableBankForBGExtPltt ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #8] bl GX_DisableBankForOBJExtPltt ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0xc] bl GX_DisableBankForTexPltt_2 ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x10] bl GX_DisableBankForTexPltt ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x14] bl GX_DisableBankForClearImage ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x18] bl GX_DisableBankForSubBGExtPltt ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x1c] bl GX_DisableBankForSubOBJExtPltt_2 ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x20] bl FUN_020C5E04 ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x24] bl GX_DisableBankForSubOBJExtPltt ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x28] bl GX_DisableBankForARM7 ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x2c] bl GX_DisableBankForLCDC ldr r1, _0223C09C ; =0x022431D8 str r0, [r1, #0x30] ldr r0, [r1, #0x2c] bl GX_SetBankForARM7 bl MOD13_0223BE1C add sp, sp, #4 ldmia sp!, {pc} .align 2, 0 _0223C09C: .word 0x022431D8 arm_func_start MOD13_0223C0A0 MOD13_0223C0A0: ; 0x0223C0A0 ldr r2, _0223C0B4 ; =0x0224320C ldr r2, [r2] add r0, r2, r0, lsl #6 strb r1, [r0, #0x38] bx lr .align 2, 0 _0223C0B4: .word 0x0224320C arm_func_start MOD13_0223C0B8 MOD13_0223C0B8: ; 0x0223C0B8 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 mov r4, r1 ldrb r1, [r4, #0x11] mov r5, r0 cmp r1, #0 beq _0223C0DC add r0, r4, #0xc bl MOD13_0223AF90 _0223C0DC: mov r0, r4 bl MOD13_0223B8C4 ldr r0, _0223C100 ; =0x0224320C mov r1, r4 ldr r0, [r0] ldr r0, [r0, r5, lsl #6] bl MOD13_02239FD0 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223C100: .word 0x0224320C arm_func_start MOD13_0223C104 MOD13_0223C104: ; 0x0223C104 ldr ip, _0223C10C ; =MOD13_0223C0B8 bx ip .align 2, 0 _0223C10C: .word MOD13_0223C0B8 arm_func_start MOD13_0223C110 MOD13_0223C110: ; 0x0223C110 ldr r2, _0223C128 ; =0x0224320C ldr ip, _0223C12C ; =MOD13_02239FD0 ldr r2, [r2] add r0, r2, r0, lsl #6 ldr r0, [r0, #4] bx ip .align 2, 0 _0223C128: .word 0x0224320C _0223C12C: .word MOD13_02239FD0 arm_func_start MOD13_0223C130 MOD13_0223C130: ; 0x0223C130 str r1, [r0, #8] bx lr arm_func_start MOD13_0223C138 MOD13_0223C138: ; 0x0223C138 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r4, _0223C1C0 ; =0x0224320C mov r7, r0 ldr r0, [r4] mov r8, r1 ldr r0, [r0, r7, lsl #6] mov r4, r2 mov r6, r3 bl MOD13_02239F78 mov r5, r0 str r8, [r5, #8] str r4, [r5, #0xc] ldrb r1, [sp, #0x18] strb r6, [r5, #0x10] mov r0, #1 strb r1, [r5, #0x11] bl OS_DisableIrqMask ldr r1, _0223C1C0 ; =0x0224320C mov r4, r0 ldr r0, [r1] add r0, r0, r7, lsl #6 ldr r0, [r0, #0x10] _0223C190: ldrb r1, [r0, #0x10] cmp r6, r1 bhs _0223C1A8 mov r1, r5 bl MOD13_0223B888 b _0223C1B0 _0223C1A8: ldr r0, [r0, #4] b _0223C190 _0223C1B0: mov r0, r4 bl OS_EnableIrqMask mov r0, r5 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0223C1C0: .word 0x0224320C arm_func_start MOD13_0223C1C4 MOD13_0223C1C4: ; 0x0223C1C4 stmdb sp!, {lr} sub sp, sp, #4 mov ip, #0 str ip, [sp] bl MOD13_0223C138 add sp, sp, #4 ldmia sp!, {pc} arm_func_start MOD13_0223C1E0 MOD13_0223C1E0: ; 0x0223C1E0 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #4 ldr r7, _0223C2A4 ; =0x0224320C mov r6, r0 ldr r0, [r7] mov r4, r6, lsl #6 add r2, r0, r6, lsl #6 ldrb r1, [r2, #0x38] cmp r1, #0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, r6, r7, pc} ldr r5, [r2, #0x10] add r1, r2, #0x20 cmp r5, r1 beq _0223C244 _0223C21C: ldr r1, [r5, #0xc] ldr r2, [r5, #8] mov r0, r5 blx r2 ldr r0, [r7] ldr r5, [r5, #4] add r1, r0, r4 add r1, r1, #0x20 cmp r5, r1 bne _0223C21C _0223C244: add r1, r0, r6, lsl #6 ldr r1, [r1, #0x34] mov r4, r6, lsl #6 cmp r1, #0 mov r5, #0 addle sp, sp, #4 ldmleia sp!, {r4, r5, r6, r7, pc} ldr r7, _0223C2A4 ; =0x0224320C _0223C264: add r0, r4, r0 ldr r0, [r0, #4] bl MOD13_02239F78 movs r1, r0 addeq sp, sp, #4 ldmeqia sp!, {r4, r5, r6, r7, pc} mov r0, r6 bl MOD13_0223C0B8 ldr r0, [r7] add r5, r5, #1 add r1, r4, r0 ldr r1, [r1, #0x34] cmp r5, r1 blt _0223C264 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0223C2A4: .word 0x0224320C arm_func_start MOD13_0223C2A8 MOD13_0223C2A8: ; 0x0223C2A8 stmdb sp!, {r4, r5, lr} sub sp, sp, #4 ldr r4, _0223C2F0 ; =0x0224320C mov r5, #0 _0223C2B8: ldr r0, [r4] add r0, r0, r5, lsl #6 ldr r0, [r0, #8] bl MOD13_0223B904 ldr r0, [r4] ldr r0, [r0, r5, lsl #6] bl MOD13_0223A030 add r5, r5, #1 cmp r5, #2 blt _0223C2B8 ldr r0, _0223C2F0 ; =0x0224320C bl MOD13_0223AF90 add sp, sp, #4 ldmia sp!, {r4, r5, pc} .align 2, 0 _0223C2F0: .word 0x0224320C arm_func_start MOD13_0223C2F4 MOD13_0223C2F4: ; 0x0223C2F4 stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr} sub sp, sp, #4 mov r0, #0x80 mov r1, #4 bl MOD13_0223B004 ldr r4, _0223C418 ; =0x0224320C mov sl, #0 ldr sb, _0223C41C ; =0x0223F764 mov r8, sl str r0, [r4] str sl, [sp] mov r7, #4 mov fp, #0x14 mov r6, #0xff mov r5, #1 _0223C330: ldr r0, [r4] ldrb r2, [sb] add r1, r0, sl, lsl #6 mov r0, #0x14 str r2, [r1, #0x34] ldrb r2, [sb] mov r1, r7 mul r0, r2, r0 bl MOD13_0223B004 ldr r1, [r4] mov r2, fp add r1, r1, sl, lsl #6 str r0, [r1, #0x3c] ldr r1, [r4] ldrb r0, [sb] add r1, r1, sl, lsl #6 ldr r1, [r1, #0x3c] bl MOD13_0223A054 ldr r1, [r4] str r0, [r1, sl, lsl #6] ldrb r0, [sb] bl MOD13_0223A094 ldr r1, [r4] add r1, r1, sl, lsl #6 str r0, [r1, #4] bl MOD13_0223B928 ldr r1, [r4] add r1, r1, sl, lsl #6 str r0, [r1, #8] ldr r0, [r4] add r1, r0, sl, lsl #6 ldr r0, [sp] strb r0, [r1, #0x1c] ldr r0, [r4] add r0, r0, sl, lsl #6 strb r6, [r0, #0x30] ldr r1, [r4] add r0, r1, sl, lsl #6 add r1, r1, r8 ldr r0, [r0, #8] add r1, r1, #0xc bl MOD13_0223B868 ldr r1, [r4] add r0, r1, sl, lsl #6 add r1, r1, r8 ldr r0, [r0, #8] add r1, r1, #0x20 bl MOD13_0223B878 ldr r0, [r4] add sb, sb, #1 add r0, r0, sl, lsl #6 add sl, sl, #1 strb r5, [r0, #0x38] add r8, r8, #0x40 cmp sl, #2 blt _0223C330 add sp, sp, #4 ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _0223C418: .word 0x0224320C _0223C41C: .word 0x0223F764 .section .rodata ; 0x0223EC6C .incbin "baserom.nds", 0x22600C, 0xafc .section .data ; 0x0223C420 .incbin "baserom.nds", 0x226CD4, 0x110C .section .bss ; 0x02242FE4 .space 0x23C