diff --git a/asm/daycare.s b/asm/daycare.s index 3979c8870..b9ca3dd1f 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -231,54513 +231,3 @@ sub_020293D4: ; 0x020293D4 nop _020293DC: .word SavArray_get thumb_func_end sub_020293D4 - - thumb_func_start sub_020293E0 -sub_020293E0: ; 0x020293E0 - mov r0, #0xd - lsl r0, r0, #6 - bx lr - .balign 4, 0 - thumb_func_end sub_020293E0 - - thumb_func_start sub_020293E8 -sub_020293E8: ; 0x020293E8 - push {r4, lr} - mov r1, #0xd - lsl r1, r1, #6 - bl AllocFromHeap - add r4, r0, #0 - bl sub_02029D98 - add r0, r4, #0 - pop {r4, pc} - thumb_func_end sub_020293E8 - - thumb_func_start sub_020293FC -sub_020293FC: ; 0x020293FC - ldr r3, _02029404 ; =sub_020D4A50 - mov r2, #0xd - lsl r2, r2, #6 - bx r3 - .balign 4, 0 -_02029404: .word sub_020D4A50 - thumb_func_end sub_020293FC - - thumb_func_start sub_02029408 -sub_02029408: ; 0x02029408 - push {r3, lr} - cmp r0, #0 - beq _02029414 - ldr r1, _02029420 ; =0x000001ED - cmp r0, r1 - bls _0202941C -_02029414: - bl GF_AssertFail - mov r0, #1 - pop {r3, pc} -_0202941C: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 -_02029420: .word 0x000001ED - thumb_func_end sub_02029408 - - thumb_func_start sub_02029424 -sub_02029424: ; 0x02029424 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r4, r1, #0 - add r7, r2, #0 - str r3, [sp] - bne _02029462 - cmp r4, #2 - blo _02029438 - bl GF_AssertFail -_02029438: - ldr r0, [sp] - add r2, r5, #0 - sub r0, r0, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - add r3, r1, #0 - mov r0, #7 - and r3, r0 - mov r6, #1 - lsl r6, r3 - add r2, #0xc4 - asr r1, r1, #3 - ldrb r0, [r2, r1] - mvn r6, r6 - and r0, r6 - strb r0, [r2, r1] - add r0, r4, #0 - ldrb r6, [r2, r1] - lsl r0, r3 - orr r0, r6 - strb r0, [r2, r1] -_02029462: - cmp r4, #2 - blo _0202946A - bl GF_AssertFail -_0202946A: - ldr r0, [sp] - add r5, #0x84 - sub r0, r0, #1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - mov r0, #7 - add r2, r3, #0 - and r2, r0 - lsl r0, r7, #6 - add r1, r5, r0 - asr r0, r3, #3 - mov r3, #1 - lsl r3, r2 - ldrb r5, [r1, r0] - mvn r3, r3 - and r3, r5 - strb r3, [r1, r0] - add r3, r4, #0 - ldrb r5, [r1, r0] - lsl r3, r2 - add r2, r5, #0 - orr r2, r3 - strb r2, [r1, r0] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02029424 - - thumb_func_start sub_0202949C -sub_0202949C: ; 0x0202949C - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - add r7, r3, #0 - cmp r4, #2 - bls _020294AE - bl GF_AssertFail -_020294AE: - cmp r4, #2 - bne _020294B4 - mov r4, #0 -_020294B4: - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - add r3, r7, #0 - bl sub_02029424 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202949C - - thumb_func_start sub_020294C4 -sub_020294C4: ; 0x020294C4 - push {r3, lr} - ldr r2, _0202954C ; =0x000001A6 - cmp r1, r2 - bhi _020294F8 - bhs _02029518 - cmp r1, #0xac - bhi _020294D6 - beq _0202953E - b _02029544 -_020294D6: - add r3, r2, #0 - sub r3, #9 - cmp r1, r3 - bhi _02029544 - add r3, r2, #0 - sub r3, #0xa - cmp r1, r3 - blo _02029544 - add r3, r2, #0 - sub r3, #0xa - cmp r1, r3 - beq _02029532 - add r3, r2, #0 - sub r3, #9 - cmp r1, r3 - beq _02029538 - b _02029544 -_020294F8: - add r3, r2, #0 - add r3, #0x41 - cmp r1, r3 - bhi _02029510 - add r3, r2, #0 - add r3, #0x41 - cmp r1, r3 - bhs _0202952C - add r3, r2, #1 - cmp r1, r3 - beq _0202951E - b _02029544 -_02029510: - add r2, #0x46 - cmp r1, r2 - beq _02029524 - b _02029544 -_02029518: - sub r2, #0x9e - add r0, r0, r2 - pop {r3, pc} -_0202951E: - sub r2, #0x9d - add r0, r0, r2 - pop {r3, pc} -_02029524: - mov r1, #0xcf - lsl r1, r1, #2 - add r0, r0, r1 - pop {r3, pc} -_0202952C: - ldr r1, _02029550 ; =0x0000033D - add r0, r0, r1 - pop {r3, pc} -_02029532: - sub r2, #0x9c - add r0, r0, r2 - pop {r3, pc} -_02029538: - sub r2, #0x9b - add r0, r0, r2 - pop {r3, pc} -_0202953E: - ldr r1, _02029554 ; =0x0000033E - add r0, r0, r1 - pop {r3, pc} -_02029544: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - .balign 4, 0 -_0202954C: .word 0x000001A6 -_02029550: .word 0x0000033D -_02029554: .word 0x0000033E - thumb_func_end sub_020294C4 - - thumb_func_start sub_02029558 -sub_02029558: ; 0x02029558 - mov r2, #0 - cmp r1, #0 - beq _02029562 - mov r1, #0x4a - b _02029564 -_02029562: - mov r1, #0x43 -_02029564: - lsl r1, r1, #2 - add r3, r0, r1 - mov r1, #0 -_0202956A: - ldrb r0, [r3, r1] - cmp r0, #0xff - beq _02029578 - add r1, r1, #1 - add r2, r2, #1 - cmp r1, #0x1c - blt _0202956A -_02029578: - add r0, r2, #0 - bx lr - thumb_func_end sub_02029558 - - thumb_func_start sub_0202957C -sub_0202957C: ; 0x0202957C - cmp r2, #0 - beq _02029584 - mov r2, #0x4a - b _02029586 -_02029584: - mov r2, #0x43 -_02029586: - lsl r2, r2, #2 - add r3, r0, r2 - mov r2, #0 -_0202958C: - ldrb r0, [r3, r2] - cmp r1, r0 - bne _02029596 - mov r0, #1 - bx lr -_02029596: - add r2, r2, #1 - cmp r2, #0x1c - blt _0202958C - mov r0, #0 - bx lr - thumb_func_end sub_0202957C - - thumb_func_start sub_020295A0 -sub_020295A0: ; 0x020295A0 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r4, r1, #0 - add r7, r2, #0 - beq _020295AE - mov r0, #0x4a - b _020295B0 -_020295AE: - mov r0, #0x43 -_020295B0: - lsl r0, r0, #2 - lsl r1, r4, #0x18 - add r6, r5, r0 - add r0, r5, #0 - lsr r1, r1, #0x18 - add r2, r7, #0 - bl sub_0202957C - cmp r0, #0 - bne _020295D2 - add r0, r5, #0 - add r1, r7, #0 - bl sub_02029558 - cmp r0, #0x1c - bge _020295D2 - strb r4, [r6, r0] -_020295D2: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_020295A0 - - thumb_func_start sub_020295D4 -sub_020295D4: ; 0x020295D4 - push {r3, r4, r5, lr} - add r4, r1, #0 - ldr r1, _02029638 ; =0x000001A6 - add r5, r0, #0 - cmp r4, r1 - beq _020295F8 - add r0, r1, #1 - cmp r4, r0 - beq _020295F8 - add r0, r1, #0 - add r0, #0x46 - cmp r4, r0 - beq _020295F8 - add r1, #0x41 - cmp r4, r1 - beq _020295F8 - bl GF_AssertFail -_020295F8: - lsl r1, r4, #0x10 - add r0, r5, #0 - lsr r1, r1, #0x10 - bl sub_0202A044 - cmp r0, #0 - bne _0202960A - mov r0, #0 - pop {r3, r4, r5, pc} -_0202960A: - add r0, r5, #0 - add r1, r4, #0 - bl sub_020294C4 - ldrb r1, [r0] - mov r2, #1 - add r0, r1, #0 - tst r0, r2 - bne _0202961E - mov r2, #0 -_0202961E: - mov r0, #2 - tst r0, r1 - beq _02029628 - mov r0, #1 - b _0202962A -_02029628: - mov r0, #0 -_0202962A: - cmp r2, r0 - bne _02029632 - mov r0, #1 - pop {r3, r4, r5, pc} -_02029632: - mov r0, #2 - pop {r3, r4, r5, pc} - nop -_02029638: .word 0x000001A6 - thumb_func_end sub_020295D4 - - thumb_func_start sub_0202963C -sub_0202963C: ; 0x0202963C - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - ldr r1, _020296C4 ; =0x000001A6 - add r7, r0, #0 - add r5, r2, #0 - cmp r6, r1 - beq _02029662 - add r0, r1, #1 - cmp r6, r0 - beq _02029662 - add r0, r1, #0 - add r0, #0x46 - cmp r6, r0 - beq _02029662 - add r1, #0x41 - cmp r6, r1 - beq _02029662 - bl GF_AssertFail -_02029662: - lsl r1, r6, #0x10 - add r0, r7, #0 - lsr r1, r1, #0x10 - bl sub_0202A044 - cmp r0, #0 - bne _02029674 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02029674: - add r0, r7, #0 - add r1, r6, #0 - bl sub_020294C4 - add r4, r0, #0 - add r0, r7, #0 - add r1, r6, #0 - bl sub_020295D4 - mov r6, #0 - cmp r0, #0 - bls _020296C0 - mov r1, #1 -_0202968E: - add r2, r6, #1 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - sub r2, r2, #1 - lsl r2, r2, #0x10 - lsr r3, r2, #0x10 - add r7, r3, #0 - mov r2, #7 - asr r3, r3, #3 - and r7, r2 - add r2, r1, #0 - ldrb r3, [r4, r3] - lsl r2, r7 - tst r2, r3 - beq _020296B0 - add r2, r1, #0 - b _020296B2 -_020296B0: - mov r2, #0 -_020296B2: - cmp r2, r5 - bne _020296BA - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_020296BA: - add r6, r6, #1 - cmp r6, r0 - blo _0202968E -_020296C0: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_020296C4: .word 0x000001A6 - thumb_func_end sub_0202963C - - thumb_func_start sub_020296C8 -sub_020296C8: ; 0x020296C8 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - ldr r1, _0202978C ; =0x000001A6 - add r7, r0, #0 - add r6, r2, #0 - cmp r4, r1 - beq _020296EE - add r0, r1, #1 - cmp r4, r0 - beq _020296EE - add r0, r1, #0 - add r0, #0x46 - cmp r4, r0 - beq _020296EE - add r1, #0x41 - cmp r4, r1 - beq _020296EE - bl GF_AssertFail -_020296EE: - lsl r2, r6, #0x18 - add r0, r7, #0 - add r1, r4, #0 - lsr r2, r2, #0x18 - bl sub_0202963C - cmp r0, #0 - bne _02029788 - add r0, r7, #0 - add r1, r4, #0 - bl sub_020294C4 - add r5, r0, #0 - add r0, r7, #0 - add r1, r4, #0 - bl sub_020295D4 - add r4, r0, #0 - cmp r4, #2 - bge _02029788 - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r7, r0, #0x10 - lsl r0, r6, #0x18 - lsr r0, r0, #0x18 - cmp r0, #2 - blo _02029728 - bl GF_AssertFail -_02029728: - sub r0, r7, #1 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - add r2, r1, #0 - mov r0, #7 - and r2, r0 - asr r1, r1, #3 - mov r3, #1 - lsl r3, r2 - ldrb r0, [r5, r1] - mvn r3, r3 - and r0, r3 - strb r0, [r5, r1] - lsl r0, r6, #0x18 - lsr r6, r0, #0x18 - add r0, r6, #0 - ldrb r3, [r5, r1] - lsl r0, r2 - orr r0, r3 - strb r0, [r5, r1] - cmp r4, #0 - bne _02029788 - add r0, r4, #2 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r6, #2 - blo _02029762 - bl GF_AssertFail -_02029762: - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - mov r0, #7 - add r1, r2, #0 - and r1, r0 - asr r0, r2, #3 - mov r2, #1 - lsl r2, r1 - ldrb r3, [r5, r0] - mvn r2, r2 - and r2, r3 - strb r2, [r5, r0] - add r2, r6, #0 - ldrb r3, [r5, r0] - lsl r2, r1 - add r1, r3, #0 - orr r1, r2 - strb r1, [r5, r0] -_02029788: - pop {r3, r4, r5, r6, r7, pc} - nop -_0202978C: .word 0x000001A6 - thumb_func_end sub_020296C8 - - thumb_func_start sub_02029790 -sub_02029790: ; 0x02029790 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0x67 - add r4, r1, #0 - lsl r0, r0, #2 - cmp r4, r0 - beq _020297AC - add r0, r0, #1 - cmp r4, r0 - beq _020297AC - cmp r4, #0xac - beq _020297AC - bl GF_AssertFail -_020297AC: - lsl r1, r4, #0x10 - add r0, r5, #0 - lsr r1, r1, #0x10 - bl sub_0202A044 - cmp r0, #0 - bne _020297BE - mov r0, #0 - pop {r3, r4, r5, pc} -_020297BE: - add r0, r5, #0 - add r1, r4, #0 - bl sub_020294C4 - mov r1, #0 - mov r3, #3 -_020297CA: - lsl r2, r1, #0x10 - lsr r5, r2, #0x10 - asr r2, r5, #2 - ldrb r4, [r0, r2] - lsl r2, r5, #0x1e - lsr r2, r2, #0x1d - asr r4, r2 - add r2, r4, #0 - and r2, r3 - cmp r2, #3 - beq _020297E6 - add r1, r1, #1 - cmp r1, #3 - blt _020297CA -_020297E6: - add r0, r1, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02029790 - - thumb_func_start sub_020297EC -sub_020297EC: ; 0x020297EC - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r0, #0x67 - add r5, r1, #0 - lsl r0, r0, #2 - add r4, r2, #0 - cmp r5, r0 - beq _0202980A - add r0, r0, #1 - cmp r5, r0 - beq _0202980A - cmp r5, #0xac - beq _0202980A - bl GF_AssertFail -_0202980A: - lsl r1, r5, #0x10 - add r0, r6, #0 - lsr r1, r1, #0x10 - bl sub_0202A044 - cmp r0, #0 - bne _0202981C - mov r0, #0 - pop {r4, r5, r6, pc} -_0202981C: - add r0, r6, #0 - add r1, r5, #0 - bl sub_020294C4 - mov r1, #0 - mov r3, #3 -_02029828: - lsl r2, r1, #0x10 - lsr r6, r2, #0x10 - asr r2, r6, #2 - ldrb r5, [r0, r2] - lsl r2, r6, #0x1e - lsr r2, r2, #0x1d - asr r5, r2 - add r2, r5, #0 - and r2, r3 - cmp r2, r4 - bne _02029842 - mov r0, #1 - pop {r4, r5, r6, pc} -_02029842: - add r1, r1, #1 - cmp r1, #3 - blt _02029828 - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_020297EC - - thumb_func_start sub_0202984C -sub_0202984C: ; 0x0202984C - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - mov r0, #0x67 - add r5, r1, #0 - lsl r0, r0, #2 - add r6, r2, #0 - cmp r5, r0 - beq _0202986A - add r0, r0, #1 - cmp r5, r0 - beq _0202986A - cmp r5, #0xac - beq _0202986A - bl GF_AssertFail -_0202986A: - lsl r2, r6, #0x18 - add r0, r7, #0 - add r1, r5, #0 - lsr r2, r2, #0x18 - bl sub_020297EC - cmp r0, #0 - bne _020298C2 - add r0, r7, #0 - add r1, r5, #0 - bl sub_020294C4 - add r4, r0, #0 - add r0, r7, #0 - add r1, r5, #0 - bl sub_02029790 - add r5, r0, #0 - cmp r5, #3 - bge _020298C2 - lsl r0, r6, #0x18 - lsr r0, r0, #0x18 - cmp r0, #4 - blo _0202989E - bl GF_AssertFail -_0202989E: - lsl r0, r5, #0x10 - lsr r2, r0, #0x10 - lsl r0, r2, #0x1e - lsr r1, r0, #0x1d - asr r0, r2, #2 - mov r2, #3 - lsl r2, r1 - ldrb r3, [r4, r0] - mvn r2, r2 - and r2, r3 - strb r2, [r4, r0] - lsl r2, r6, #0x18 - lsr r2, r2, #0x18 - ldrb r3, [r4, r0] - lsl r2, r1 - add r1, r3, #0 - orr r1, r2 - strb r1, [r4, r0] -_020298C2: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202984C - - thumb_func_start sub_020298C4 -sub_020298C4: ; 0x020298C4 - push {r3, r4} - lsl r2, r2, #2 - add r2, #0x18 - mov r3, #0xf - lsl r3, r2 - ldr r4, [r0, #0x3c] - mvn r3, r3 - lsl r1, r2 - and r3, r4 - orr r1, r3 - str r1, [r0, #0x3c] - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_020298C4 - - thumb_func_start sub_020298E0 -sub_020298E0: ; 0x020298E0 - push {r4, r5, r6, lr} - add r4, r2, #0 - add r5, r0, #0 - add r6, r1, #0 - cmp r4, #4 - blo _020298F0 - bl GF_AssertFail -_020298F0: - cmp r6, #0xf - bls _020298F8 - bl GF_AssertFail -_020298F8: - cmp r4, #2 - bhs _02029908 - add r0, r5, #4 - add r1, r6, #0 - add r2, r4, #0 - bl sub_020298C4 - pop {r4, r5, r6, pc} -_02029908: - sub r2, r4, #2 - add r5, #0x44 - lsl r2, r2, #0x18 - add r0, r5, #0 - add r1, r6, #0 - lsr r2, r2, #0x18 - bl sub_020298C4 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_020298E0 - - thumb_func_start sub_0202991C -sub_0202991C: ; 0x0202991C - cmp r1, #2 - bhs _02029930 - ldr r2, [r0, #0x40] - lsl r0, r1, #2 - add r0, #0x18 - add r1, r2, #0 - lsr r1, r0 - mov r0, #0xf - and r0, r1 - bx lr -_02029930: - add r0, #0x80 - ldr r2, [r0] - sub r0, r1, #2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x16 - add r0, #0x18 - add r1, r2, #0 - lsr r1, r0 - mov r0, #0xf - and r0, r1 - bx lr - .balign 4, 0 - thumb_func_end sub_0202991C - - thumb_func_start sub_02029948 -sub_02029948: ; 0x02029948 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 -_0202994E: - lsl r1, r4, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0202991C - cmp r0, #0xf - beq _02029962 - add r4, r4, #1 - cmp r4, #4 - blt _0202994E -_02029962: - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02029948 - - thumb_func_start sub_02029968 -sub_02029968: ; 0x02029968 - push {r4, r5, r6, lr} - add r6, r0, #0 - add r5, r1, #0 - mov r4, #0 -_02029970: - lsl r1, r4, #0x18 - add r0, r6, #0 - lsr r1, r1, #0x18 - bl sub_0202991C - cmp r5, r0 - bne _02029982 - mov r0, #1 - pop {r4, r5, r6, pc} -_02029982: - add r4, r4, #1 - cmp r4, #4 - blt _02029970 - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_02029968 - - thumb_func_start sub_0202998C -sub_0202998C: ; 0x0202998C - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - add r0, r2, #0 - mov r1, #0x70 - mov r2, #0 - bl sub_0206E540 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r0, _020299C8 ; =0x00000182 - cmp r6, r0 - bne _020299C6 - add r0, r5, #0 - add r1, r4, #0 - bl sub_02029968 - cmp r0, #0 - bne _020299C6 - add r0, r5, #0 - bl sub_02029948 - add r2, r0, #0 - lsl r2, r2, #0x18 - add r0, r5, #0 - add r1, r4, #0 - lsr r2, r2, #0x18 - bl sub_020298E0 -_020299C6: - pop {r4, r5, r6, pc} - .balign 4, 0 -_020299C8: .word 0x00000182 - thumb_func_end sub_0202998C - - thumb_func_start sub_020299CC -sub_020299CC: ; 0x020299CC - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r4, #0 - mov r6, #0xf -_020299D4: - lsl r2, r4, #0x18 - add r0, r5, #0 - add r1, r6, #0 - lsr r2, r2, #0x18 - bl sub_020298E0 - add r4, r4, #1 - cmp r4, #4 - blt _020299D4 - pop {r4, r5, r6, pc} - thumb_func_end sub_020299CC - - thumb_func_start sub_020299E8 -sub_020299E8: ; 0x020299E8 - push {r3, r4, r5, lr} - add r4, r0, #0 - ldr r0, _02029A30 ; =0x000001DF - add r5, r1, #0 - cmp r5, r0 - beq _020299F8 - bl GF_AssertFail -_020299F8: - lsl r1, r5, #0x10 - add r0, r4, #0 - lsr r1, r1, #0x10 - bl sub_0202A044 - cmp r0, #0 - bne _02029A0A - mov r0, #0 - pop {r3, r4, r5, pc} -_02029A0A: - mov r2, #0xce - lsl r2, r2, #2 - mov r0, #0 - ldr r5, [r4, r2] - add r1, r0, #0 - mov r3, #7 -_02029A16: - lsl r2, r1, #1 - add r2, r1, r2 - add r4, r5, #0 - lsr r4, r2 - add r2, r4, #0 - and r2, r3 - cmp r2, #7 - beq _02029A2E - add r1, r1, #1 - add r0, r0, #1 - cmp r1, #6 - blt _02029A16 -_02029A2E: - pop {r3, r4, r5, pc} - .balign 4, 0 -_02029A30: .word 0x000001DF - thumb_func_end sub_020299E8 - - thumb_func_start sub_02029A34 -sub_02029A34: ; 0x02029A34 - push {r4, r5, r6, lr} - add r6, r0, #0 - ldr r0, _02029A8C ; =0x000001DF - add r5, r1, #0 - add r4, r2, #0 - cmp r5, r0 - beq _02029A46 - bl GF_AssertFail -_02029A46: - lsl r1, r5, #0x10 - add r0, r6, #0 - lsr r1, r1, #0x10 - bl sub_0202A044 - cmp r0, #0 - bne _02029A58 - mov r0, #0 - pop {r4, r5, r6, pc} -_02029A58: - add r0, r6, #0 - add r1, r5, #0 - bl sub_020299E8 - mov r1, #0 - cmp r0, #0 - bls _02029A88 - mov r2, #0xce - lsl r2, r2, #2 - ldr r2, [r6, r2] - mov r5, #7 -_02029A6E: - lsl r3, r1, #1 - add r3, r1, r3 - add r6, r2, #0 - lsr r6, r3 - add r3, r6, #0 - and r3, r5 - cmp r3, r4 - bne _02029A82 - mov r0, #1 - pop {r4, r5, r6, pc} -_02029A82: - add r1, r1, #1 - cmp r1, r0 - blo _02029A6E -_02029A88: - mov r0, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_02029A8C: .word 0x000001DF - thumb_func_end sub_02029A34 - - thumb_func_start sub_02029A90 -sub_02029A90: ; 0x02029A90 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, _02029AEC ; =0x000001DF - add r6, r1, #0 - add r4, r2, #0 - cmp r6, r0 - beq _02029AA2 - bl GF_AssertFail -_02029AA2: - lsl r2, r4, #0x18 - add r0, r5, #0 - add r1, r6, #0 - lsr r2, r2, #0x18 - bl sub_02029A34 - cmp r0, #0 - bne _02029AE8 - add r0, r5, #0 - add r1, r6, #0 - bl sub_020299E8 - add r6, r0, #0 - cmp r6, #6 - bge _02029AE8 - cmp r4, #7 - blo _02029AC8 - bl GF_AssertFail -_02029AC8: - lsl r0, r6, #1 - mov r1, #0xce - lsl r1, r1, #2 - add r0, r6, r0 - mov r2, #7 - lsl r2, r0 - ldr r3, [r5, r1] - mvn r2, r2 - and r2, r3 - str r2, [r5, r1] - add r2, r4, #0 - ldr r3, [r5, r1] - lsl r2, r0 - add r0, r3, #0 - orr r0, r2 - str r0, [r5, r1] -_02029AE8: - pop {r4, r5, r6, pc} - nop -_02029AEC: .word 0x000001DF - thumb_func_end sub_02029A90 - - thumb_func_start sub_02029AF0 -sub_02029AF0: ; 0x02029AF0 - push {r4, r5, r6, lr} - add r6, r2, #0 - add r5, r0, #0 - add r4, r1, #0 - add r0, r6, #0 - mov r1, #0x70 - mov r2, #0 - bl sub_0206E540 - add r2, r0, #0 - ldr r0, _02029BDC ; =0x000001A6 - cmp r4, r0 - bgt _02029B48 - bge _02029BB0 - cmp r4, #0xc9 - bgt _02029B18 - bge _02029B78 - cmp r4, #0xac - beq _02029B8E - pop {r4, r5, r6, pc} -_02029B18: - add r1, r0, #0 - sub r1, #0x24 - cmp r4, r1 - bgt _02029B28 - sub r0, #0x24 - cmp r4, r0 - beq _02029BBA - pop {r4, r5, r6, pc} -_02029B28: - add r1, r0, #0 - sub r1, #9 - cmp r4, r1 - bgt _02029BD8 - add r1, r0, #0 - sub r1, #0xa - cmp r4, r1 - blt _02029BD8 - add r1, r0, #0 - sub r1, #0xa - cmp r4, r1 - beq _02029B84 - sub r0, #9 - cmp r4, r0 - beq _02029B84 - pop {r4, r5, r6, pc} -_02029B48: - add r1, r0, #0 - add r1, #0x39 - cmp r4, r1 - bgt _02029B60 - add r1, r0, #0 - add r1, #0x39 - cmp r4, r1 - bge _02029BD0 - add r0, r0, #1 - cmp r4, r0 - beq _02029BB0 - pop {r4, r5, r6, pc} -_02029B60: - add r1, r0, #0 - add r1, #0x41 - cmp r4, r1 - bgt _02029B70 - add r0, #0x41 - cmp r4, r0 - beq _02029BC6 - pop {r4, r5, r6, pc} -_02029B70: - add r0, #0x46 - cmp r4, r0 - beq _02029BC6 - pop {r4, r5, r6, pc} -_02029B78: - add r1, r2, #0 - add r0, r5, #0 - mov r2, #0 - bl sub_020295A0 - pop {r4, r5, r6, pc} -_02029B84: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202984C - pop {r4, r5, r6, pc} -_02029B8E: - cmp r2, #0 - bne _02029BA4 - add r0, r6, #0 - bl sub_0206FF88 - cmp r0, #0 - bne _02029BA0 - mov r2, #0 - b _02029BA6 -_02029BA0: - mov r2, #1 - b _02029BA6 -_02029BA4: - mov r2, #2 -_02029BA6: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202984C - pop {r4, r5, r6, pc} -_02029BB0: - add r0, r5, #0 - add r1, r4, #0 - bl sub_020296C8 - pop {r4, r5, r6, pc} -_02029BBA: - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0202998C - pop {r4, r5, r6, pc} -_02029BC6: - add r0, r5, #0 - add r1, r4, #0 - bl sub_020296C8 - pop {r4, r5, r6, pc} -_02029BD0: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02029A90 -_02029BD8: - pop {r4, r5, r6, pc} - nop -_02029BDC: .word 0x000001A6 - thumb_func_end sub_02029AF0 - - thumb_func_start sub_02029BE0 -sub_02029BE0: ; 0x02029BE0 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r2, #0 - add r4, r1, #0 - bl sub_02091278 - cmp r0, #6 - beq _02029C02 - mov r1, #0x51 - lsl r1, r1, #2 - add r3, r5, r1 - ldrb r2, [r3, r4] - mov r1, #1 - lsl r1, r0 - add r0, r2, #0 - orr r0, r1 - strb r0, [r3, r4] -_02029C02: - pop {r3, r4, r5, pc} - thumb_func_end sub_02029BE0 - - thumb_func_start sub_02029C04 -sub_02029C04: ; 0x02029C04 - push {r4, r5, r6, lr} - add r6, r1, #0 - add r5, r0, #0 - add r0, r6, #0 - mov r1, #0x12 - add r4, r2, #0 - bl sub_0206FBE8 - cmp r0, #0xff - bne _02029C26 - cmp r4, #0 - bne _02029C20 - mov r0, #2 - pop {r4, r5, r6, pc} -_02029C20: - mov r0, #0 - mvn r0, r0 - pop {r4, r5, r6, pc} -_02029C26: - sub r0, r6, #1 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - mov r1, #1 - mov r0, #7 - add r3, r2, #0 - and r3, r0 - add r0, r1, #0 - lsl r0, r3 - asr r3, r2, #3 - add r3, r5, r3 - add r3, #0x84 - ldrb r3, [r3] - tst r0, r3 - bne _02029C46 - mov r1, #0 -_02029C46: - lsl r0, r1, #0x18 - lsr r1, r0, #0x18 - cmp r4, #1 - bne _02029C76 - add r4, r2, #0 - asr r2, r2, #3 - add r2, r5, r2 - mov r0, #7 - add r2, #0xc4 - mov r3, #1 - and r4, r0 - add r0, r3, #0 - ldrb r2, [r2] - lsl r0, r4 - tst r0, r2 - bne _02029C68 - mov r3, #0 -_02029C68: - lsl r0, r3, #0x18 - lsr r0, r0, #0x18 - cmp r0, r1 - bne _02029C78 - mov r0, #0 - mvn r0, r0 - pop {r4, r5, r6, pc} -_02029C76: - add r0, r1, #0 -_02029C78: - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_02029C04 - - thumb_func_start sub_02029C7C -sub_02029C7C: ; 0x02029C7C - push {r4, r5, r6, lr} - add r5, r1, #0 - ldr r1, _02029CD8 ; =0x000001A6 - add r6, r0, #0 - add r4, r2, #0 - cmp r5, r1 - beq _02029CA2 - add r0, r1, #1 - cmp r5, r0 - beq _02029CA2 - add r0, r1, #0 - add r0, #0x46 - cmp r5, r0 - beq _02029CA2 - add r1, #0x41 - cmp r5, r1 - beq _02029CA2 - bl GF_AssertFail -_02029CA2: - cmp r4, #2 - blt _02029CAA - bl GF_AssertFail -_02029CAA: - add r0, r6, #0 - add r1, r5, #0 - bl sub_020294C4 - add r1, r4, #1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - sub r1, r1, #1 - lsl r1, r1, #0x10 - lsr r4, r1, #0x10 - mov r1, #1 - mov r2, #7 - and r2, r4 - add r3, r1, #0 - lsl r3, r2 - asr r2, r4, #3 - ldrb r0, [r0, r2] - tst r0, r3 - bne _02029CD2 - mov r1, #0 -_02029CD2: - add r0, r1, #0 - pop {r4, r5, r6, pc} - nop -_02029CD8: .word 0x000001A6 - thumb_func_end sub_02029C7C - - thumb_func_start sub_02029CDC -sub_02029CDC: ; 0x02029CDC - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _02029D08 ; =0x000001DF - add r4, r2, #0 - cmp r1, r0 - beq _02029CEC - bl GF_AssertFail -_02029CEC: - cmp r4, #6 - blt _02029CF4 - bl GF_AssertFail -_02029CF4: - mov r0, #0xce - lsl r0, r0, #2 - ldr r1, [r5, r0] - lsl r0, r4, #1 - add r0, r4, r0 - lsr r1, r0 - mov r0, #7 - and r0, r1 - pop {r3, r4, r5, pc} - nop -_02029D08: .word 0x000001DF - thumb_func_end sub_02029CDC - - thumb_func_start sub_02029D0C -sub_02029D0C: ; 0x02029D0C - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r0, #0x67 - add r5, r1, #0 - lsl r0, r0, #2 - add r4, r2, #0 - cmp r5, r0 - beq _02029D2A - add r0, r0, #1 - cmp r5, r0 - beq _02029D2A - cmp r5, #0xac - beq _02029D2A - bl GF_AssertFail -_02029D2A: - cmp r4, #3 - blt _02029D32 - bl GF_AssertFail -_02029D32: - add r0, r6, #0 - add r1, r5, #0 - bl sub_020294C4 - lsl r1, r4, #0x10 - lsr r2, r1, #0x10 - asr r1, r2, #2 - ldrb r1, [r0, r1] - lsl r0, r2, #0x1e - lsr r0, r0, #0x1d - asr r1, r0 - mov r0, #3 - and r0, r1 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_02029D0C - - thumb_func_start sub_02029D50 -sub_02029D50: ; 0x02029D50 - push {r4, r5} - mov r3, #0 - ldr r5, _02029D70 ; =0x020F6768 - mov r4, #1 - add r1, r3, #0 -_02029D5A: - ldrh r2, [r5] - cmp r0, r2 - bne _02029D62 - add r4, r1, #0 -_02029D62: - add r3, r3, #1 - add r5, r5, #2 - cmp r3, #9 - blt _02029D5A - add r0, r4, #0 - pop {r4, r5} - bx lr - .balign 4, 0 -_02029D70: .word 0x020F6768 - thumb_func_end sub_02029D50 - - thumb_func_start sub_02029D74 -sub_02029D74: ; 0x02029D74 - push {r4, r5} - mov r3, #0 - ldr r5, _02029D94 ; =0x020F6764 - mov r4, #1 - add r1, r3, #0 -_02029D7E: - ldrh r2, [r5] - cmp r0, r2 - bne _02029D86 - add r4, r1, #0 -_02029D86: - add r3, r3, #1 - add r5, r5, #2 - cmp r3, #2 - blt _02029D7E - add r0, r4, #0 - pop {r4, r5} - bx lr - .balign 4, 0 -_02029D94: .word 0x020F6764 - thumb_func_end sub_02029D74 - - thumb_func_start sub_02029D98 -sub_02029D98: ; 0x02029D98 - push {r4, lr} - mov r2, #0xd - mov r1, #0 - lsl r2, r2, #6 - add r4, r0, #0 - bl memset - ldr r0, _02029E04 ; =0xBEEFCAFE - mov r1, #0 - str r0, [r4] - ldr r0, _02029E08 ; =0x00000337 - mov r2, #0x1c - strb r1, [r4, r0] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r4, r0 - mov r1, #0xff - bl memset - mov r0, #0x4a - lsl r0, r0, #2 - add r0, r4, r0 - mov r1, #0xff - mov r2, #0x1c - bl memset - mov r0, #0xff - add r1, r0, #0 - add r1, #9 - strb r0, [r4, r1] - add r1, r0, #0 - add r1, #0xa - strb r0, [r4, r1] - add r1, r0, #0 - add r1, #0xb - strb r0, [r4, r1] - add r1, r0, #0 - add r1, #0xc - strb r0, [r4, r1] - mov r2, #0 - mov r1, #0xce - mvn r2, r2 - lsl r1, r1, #2 - str r2, [r4, r1] - add r2, r1, #4 - strb r0, [r4, r2] - add r2, r1, #5 - strb r0, [r4, r2] - add r1, r1, #6 - strb r0, [r4, r1] - add r0, r4, #0 - bl sub_020299CC - pop {r4, pc} - .balign 4, 0 -_02029E04: .word 0xBEEFCAFE -_02029E08: .word 0x00000337 - thumb_func_end sub_02029D98 - - thumb_func_start sub_02029E0C -sub_02029E0C: ; 0x02029E0C - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - ldr r1, [r6] - ldr r0, _02029E40 ; =0xBEEFCAFE - cmp r1, r0 - beq _02029E1C - bl GF_AssertFail -_02029E1C: - ldr r7, _02029E44 ; =0x000001ED - mov r5, #0 - mov r4, #1 -_02029E22: - lsl r1, r4, #0x10 - add r0, r6, #0 - lsr r1, r1, #0x10 - bl sub_02029FF8 - cmp r0, #1 - bne _02029E32 - add r5, r5, #1 -_02029E32: - add r4, r4, #1 - cmp r4, r7 - ble _02029E22 - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - pop {r3, r4, r5, r6, r7, pc} - nop -_02029E40: .word 0xBEEFCAFE -_02029E44: .word 0x000001ED - thumb_func_end sub_02029E0C - - thumb_func_start sub_02029E48 -sub_02029E48: ; 0x02029E48 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - ldr r1, [r6] - ldr r0, _02029E7C ; =0xBEEFCAFE - cmp r1, r0 - beq _02029E58 - bl GF_AssertFail -_02029E58: - ldr r7, _02029E80 ; =0x000001ED - mov r5, #0 - mov r4, #1 -_02029E5E: - lsl r1, r4, #0x10 - add r0, r6, #0 - lsr r1, r1, #0x10 - bl sub_0202A044 - cmp r0, #1 - bne _02029E6E - add r5, r5, #1 -_02029E6E: - add r4, r4, #1 - cmp r4, r7 - ble _02029E5E - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - pop {r3, r4, r5, r6, r7, pc} - nop -_02029E7C: .word 0xBEEFCAFE -_02029E80: .word 0x000001ED - thumb_func_end sub_02029E48 - - thumb_func_start sub_02029E84 -sub_02029E84: ; 0x02029E84 - push {r4, lr} - add r4, r0, #0 - bl sub_0202A55C - cmp r0, #0 - beq _02029E98 - add r0, r4, #0 - bl sub_02029E0C - pop {r4, pc} -_02029E98: - add r0, r4, #0 - bl sub_02029EA0 - pop {r4, pc} - thumb_func_end sub_02029E84 - - thumb_func_start sub_02029EA0 -sub_02029EA0: ; 0x02029EA0 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - ldr r1, [r7] - ldr r0, _02029EEC ; =0xBEEFCAFE - cmp r1, r0 - beq _02029EB0 - bl GF_AssertFail -_02029EB0: - bl sub_0207187C - add r6, r0, #0 - mov r5, #0 - mov r4, #1 -_02029EBA: - add r0, r7, #0 - add r1, r4, #0 - bl sub_02029FF8 - cmp r0, #1 - bne _02029ED4 - lsl r0, r4, #1 - ldrh r0, [r6, r0] - cmp r0, #0 - beq _02029ED4 - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_02029ED4: - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - ldr r0, _02029EF0 ; =0x000001ED - cmp r4, r0 - bls _02029EBA - add r0, r6, #0 - bl FreeToHeap - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_02029EEC: .word 0xBEEFCAFE -_02029EF0: .word 0x000001ED - thumb_func_end sub_02029EA0 - - thumb_func_start sub_02029EF4 -sub_02029EF4: ; 0x02029EF4 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - ldr r1, [r7] - ldr r0, _02029F40 ; =0xBEEFCAFE - cmp r1, r0 - beq _02029F04 - bl GF_AssertFail -_02029F04: - bl sub_0207187C - add r6, r0, #0 - mov r5, #0 - mov r4, #1 -_02029F0E: - add r0, r7, #0 - add r1, r4, #0 - bl sub_0202A044 - cmp r0, #1 - bne _02029F28 - lsl r0, r4, #1 - ldrh r0, [r6, r0] - cmp r0, #0 - beq _02029F28 - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_02029F28: - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - ldr r0, _02029F44 ; =0x000001ED - cmp r4, r0 - bls _02029F0E - add r0, r6, #0 - bl FreeToHeap - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_02029F40: .word 0xBEEFCAFE -_02029F44: .word 0x000001ED - thumb_func_end sub_02029EF4 - - thumb_func_start sub_02029F48 -sub_02029F48: ; 0x02029F48 - push {r3, lr} - bl sub_02029F74 - mov r1, #0x79 - lsl r1, r1, #2 - cmp r0, r1 - blo _02029F5A - mov r0, #1 - pop {r3, pc} -_02029F5A: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02029F48 - - thumb_func_start sub_02029F60 -sub_02029F60: ; 0x02029F60 - push {r3, lr} - bl sub_02029FAC - cmp r0, #0xfe - blo _02029F6E - mov r0, #1 - pop {r3, pc} -_02029F6E: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02029F60 - - thumb_func_start sub_02029F74 -sub_02029F74: ; 0x02029F74 - push {r3, r4, r5, r6, r7, lr} - ldr r7, _02029FA8 ; =0x000001ED - add r6, r0, #0 - mov r5, #0 - mov r4, #1 -_02029F7E: - lsl r1, r4, #0x10 - add r0, r6, #0 - lsr r1, r1, #0x10 - bl sub_02029FF8 - cmp r0, #1 - bne _02029F9E - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_02029D50 - cmp r0, #1 - bne _02029F9E - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_02029F9E: - add r4, r4, #1 - cmp r4, r7 - ble _02029F7E - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02029FA8: .word 0x000001ED - thumb_func_end sub_02029F74 - - thumb_func_start sub_02029FAC -sub_02029FAC: ; 0x02029FAC - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - bl sub_0207187C - add r6, r0, #0 - mov r5, #0 - mov r4, #1 -_02029FBA: - add r0, r7, #0 - add r1, r4, #0 - bl sub_02029FF8 - cmp r0, #1 - bne _02029FDE - lsl r0, r4, #1 - ldrh r0, [r6, r0] - cmp r0, #0 - beq _02029FDE - add r0, r4, #0 - bl sub_02029D74 - cmp r0, #1 - bne _02029FDE - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_02029FDE: - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - ldr r0, _02029FF4 ; =0x000001ED - cmp r4, r0 - bls _02029FBA - add r0, r6, #0 - bl FreeToHeap - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02029FF4: .word 0x000001ED - thumb_func_end sub_02029FAC - - thumb_func_start sub_02029FF8 -sub_02029FF8: ; 0x02029FF8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A040 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A00A - bl GF_AssertFail -_0202A00A: - add r0, r4, #0 - bl sub_02029408 - cmp r0, #0 - beq _0202A018 - mov r0, #0 - pop {r3, r4, r5, pc} -_0202A018: - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - mov r0, #1 - mov r1, #7 - and r1, r2 - add r3, r0, #0 - lsl r3, r1 - asr r1, r2, #3 - add r2, r5, r1 - ldrb r1, [r2, #4] - tst r1, r3 - beq _0202A03A - add r2, #0x44 - ldrb r1, [r2] - tst r1, r3 - bne _0202A03C -_0202A03A: - mov r0, #0 -_0202A03C: - pop {r3, r4, r5, pc} - nop -_0202A040: .word 0xBEEFCAFE - thumb_func_end sub_02029FF8 - - thumb_func_start sub_0202A044 -sub_0202A044: ; 0x0202A044 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A084 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A056 - bl GF_AssertFail -_0202A056: - add r0, r4, #0 - bl sub_02029408 - cmp r0, #0 - beq _0202A064 - mov r0, #0 - pop {r3, r4, r5, pc} -_0202A064: - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - mov r0, #1 - mov r1, #7 - and r1, r3 - add r2, r0, #0 - lsl r2, r1 - asr r1, r3, #3 - add r1, r5, r1 - add r1, #0x44 - ldrb r1, [r1] - tst r1, r2 - bne _0202A082 - mov r0, #0 -_0202A082: - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202A084: .word 0xBEEFCAFE - thumb_func_end sub_0202A044 - - thumb_func_start sub_0202A088 -sub_0202A088: ; 0x0202A088 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A0B0 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A09A - bl GF_AssertFail -_0202A09A: - cmp r4, #0 - bne _0202A0A6 - mov r0, #0x41 - lsl r0, r0, #2 - ldr r6, [r5, r0] - b _0202A0AA -_0202A0A6: - bl GF_AssertFail -_0202A0AA: - add r0, r6, #0 - pop {r4, r5, r6, pc} - nop -_0202A0B0: .word 0xBEEFCAFE - thumb_func_end sub_0202A088 - - thumb_func_start sub_0202A0B4 -sub_0202A0B4: ; 0x0202A0B4 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A104 ; =0xBEEFCAFE - add r6, r2, #0 - cmp r1, r0 - beq _0202A0C8 - bl GF_AssertFail -_0202A0C8: - add r0, r4, #0 - bl sub_02029408 - cmp r0, #0 - beq _0202A0D8 - mov r0, #0 - mvn r0, r0 - pop {r4, r5, r6, pc} -_0202A0D8: - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - add r3, r2, #0 - asr r2, r2, #3 - add r2, r5, r2 - mov r0, #7 - add r2, #0x44 - mov r1, #1 - and r3, r0 - ldrb r2, [r2] - lsl r1, r3 - tst r1, r2 - beq _0202A100 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02029C04 - pop {r4, r5, r6, pc} -_0202A100: - sub r0, #8 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202A104: .word 0xBEEFCAFE - thumb_func_end sub_0202A0B4 - - thumb_func_start sub_0202A108 -sub_0202A108: ; 0x0202A108 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A148 ; =0xBEEFCAFE - add r6, r2, #0 - cmp r1, r0 - beq _0202A11C - bl GF_AssertFail -_0202A11C: - add r0, r5, #0 - add r1, r6, #0 - bl sub_02029558 - cmp r0, r4 - bgt _0202A12E - mov r0, #0 - mvn r0, r0 - pop {r4, r5, r6, pc} -_0202A12E: - cmp r6, #0 - beq _0202A13C - mov r0, #0x4a - add r1, r5, r4 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - pop {r4, r5, r6, pc} -_0202A13C: - mov r0, #0x43 - add r1, r5, r4 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - pop {r4, r5, r6, pc} - nop -_0202A148: .word 0xBEEFCAFE - thumb_func_end sub_0202A108 - - thumb_func_start sub_0202A14C -sub_0202A14C: ; 0x0202A14C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A168 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A15E - bl GF_AssertFail -_0202A15E: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02029558 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202A168: .word 0xBEEFCAFE - thumb_func_end sub_0202A14C - - thumb_func_start sub_0202A16C -sub_0202A16C: ; 0x0202A16C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A19C ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A17E - bl GF_AssertFail -_0202A17E: - ldr r1, _0202A1A0 ; =0x000001A6 - add r0, r5, #0 - bl sub_020295D4 - cmp r0, r4 - bgt _0202A190 - mov r0, #0 - mvn r0, r0 - pop {r3, r4, r5, pc} -_0202A190: - ldr r1, _0202A1A0 ; =0x000001A6 - add r0, r5, #0 - add r2, r4, #0 - bl sub_02029C7C - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202A19C: .word 0xBEEFCAFE -_0202A1A0: .word 0x000001A6 - thumb_func_end sub_0202A16C - - thumb_func_start sub_0202A1A4 -sub_0202A1A4: ; 0x0202A1A4 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A1C0 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A1B4 - bl GF_AssertFail -_0202A1B4: - ldr r1, _0202A1C4 ; =0x000001A6 - add r0, r4, #0 - bl sub_020295D4 - pop {r4, pc} - nop -_0202A1C0: .word 0xBEEFCAFE -_0202A1C4: .word 0x000001A6 - thumb_func_end sub_0202A1A4 - - thumb_func_start sub_0202A1C8 -sub_0202A1C8: ; 0x0202A1C8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A1F8 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A1DA - bl GF_AssertFail -_0202A1DA: - ldr r1, _0202A1FC ; =0x000001A7 - add r0, r5, #0 - bl sub_020295D4 - cmp r0, r4 - bgt _0202A1EC - mov r0, #0 - mvn r0, r0 - pop {r3, r4, r5, pc} -_0202A1EC: - ldr r1, _0202A1FC ; =0x000001A7 - add r0, r5, #0 - add r2, r4, #0 - bl sub_02029C7C - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202A1F8: .word 0xBEEFCAFE -_0202A1FC: .word 0x000001A7 - thumb_func_end sub_0202A1C8 - - thumb_func_start sub_0202A200 -sub_0202A200: ; 0x0202A200 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A21C ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A210 - bl GF_AssertFail -_0202A210: - ldr r1, _0202A220 ; =0x000001A7 - add r0, r4, #0 - bl sub_020295D4 - pop {r4, pc} - nop -_0202A21C: .word 0xBEEFCAFE -_0202A220: .word 0x000001A7 - thumb_func_end sub_0202A200 - - thumb_func_start sub_0202A224 -sub_0202A224: ; 0x0202A224 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A258 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A236 - bl GF_AssertFail -_0202A236: - mov r1, #0x67 - add r0, r5, #0 - lsl r1, r1, #2 - bl sub_02029790 - cmp r0, r4 - bgt _0202A24A - mov r0, #0 - mvn r0, r0 - pop {r3, r4, r5, pc} -_0202A24A: - mov r1, #0x67 - add r0, r5, #0 - lsl r1, r1, #2 - add r2, r4, #0 - bl sub_02029D0C - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202A258: .word 0xBEEFCAFE - thumb_func_end sub_0202A224 - - thumb_func_start sub_0202A25C -sub_0202A25C: ; 0x0202A25C - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A278 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A26C - bl GF_AssertFail -_0202A26C: - mov r1, #0x67 - add r0, r4, #0 - lsl r1, r1, #2 - bl sub_02029790 - pop {r4, pc} - .balign 4, 0 -_0202A278: .word 0xBEEFCAFE - thumb_func_end sub_0202A25C - - thumb_func_start sub_0202A27C -sub_0202A27C: ; 0x0202A27C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A2AC ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A28E - bl GF_AssertFail -_0202A28E: - ldr r1, _0202A2B0 ; =0x0000019D - add r0, r5, #0 - bl sub_02029790 - cmp r0, r4 - bgt _0202A2A0 - mov r0, #0 - mvn r0, r0 - pop {r3, r4, r5, pc} -_0202A2A0: - ldr r1, _0202A2B0 ; =0x0000019D - add r0, r5, #0 - add r2, r4, #0 - bl sub_02029D0C - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202A2AC: .word 0xBEEFCAFE -_0202A2B0: .word 0x0000019D - thumb_func_end sub_0202A27C - - thumb_func_start sub_0202A2B4 -sub_0202A2B4: ; 0x0202A2B4 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A2D0 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A2C4 - bl GF_AssertFail -_0202A2C4: - ldr r1, _0202A2D4 ; =0x0000019D - add r0, r4, #0 - bl sub_02029790 - pop {r4, pc} - nop -_0202A2D0: .word 0xBEEFCAFE -_0202A2D4: .word 0x0000019D - thumb_func_end sub_0202A2B4 - - thumb_func_start sub_0202A2D8 -sub_0202A2D8: ; 0x0202A2D8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A308 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A2EA - bl GF_AssertFail -_0202A2EA: - add r0, r5, #0 - mov r1, #0xac - bl sub_02029790 - cmp r0, r4 - bgt _0202A2FC - mov r0, #0 - mvn r0, r0 - pop {r3, r4, r5, pc} -_0202A2FC: - add r0, r5, #0 - mov r1, #0xac - add r2, r4, #0 - bl sub_02029D0C - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202A308: .word 0xBEEFCAFE - thumb_func_end sub_0202A2D8 - - thumb_func_start sub_0202A30C -sub_0202A30C: ; 0x0202A30C - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A328 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A31C - bl GF_AssertFail -_0202A31C: - add r0, r4, #0 - mov r1, #0xac - bl sub_02029790 - pop {r4, pc} - nop -_0202A328: .word 0xBEEFCAFE - thumb_func_end sub_0202A30C - - thumb_func_start sub_0202A32C -sub_0202A32C: ; 0x0202A32C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A34C ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A33E - bl GF_AssertFail -_0202A33E: - lsl r1, r4, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0202991C - pop {r3, r4, r5, pc} - nop -_0202A34C: .word 0xBEEFCAFE - thumb_func_end sub_0202A32C - - thumb_func_start sub_0202A350 -sub_0202A350: ; 0x0202A350 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A368 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A360 - bl GF_AssertFail -_0202A360: - add r0, r4, #0 - bl sub_02029948 - pop {r4, pc} - .balign 4, 0 -_0202A368: .word 0xBEEFCAFE - thumb_func_end sub_0202A350 - - thumb_func_start sub_0202A36C -sub_0202A36C: ; 0x0202A36C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - str r1, [sp] - add r0, r1, #0 - mov r1, #5 - mov r2, #0 - bl sub_0206E540 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - mov r1, #0 - ldr r0, [sp] - add r2, r1, #0 - bl sub_0206E540 - str r0, [sp, #4] - ldr r0, [sp] - bl sub_0206FF88 - add r6, r0, #0 - ldr r1, [r5] - ldr r0, _0202A42C ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A3A2 - bl GF_AssertFail -_0202A3A2: - add r0, r4, #0 - bl sub_02029408 - cmp r0, #0 - bne _0202A426 - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r7, r0, #0x10 - mov r1, #1 - mov r0, #7 - add r2, r7, #0 - and r2, r0 - add r0, r1, #0 - asr r3, r7, #3 - lsl r0, r2 - add r2, r5, r3 - add r2, #0x44 - ldrb r2, [r2] - tst r2, r0 - bne _0202A3E6 - ldr r1, _0202A430 ; =0x00000147 - cmp r4, r1 - bne _0202A3D6 - ldr r0, [sp, #4] - sub r1, #0x43 - str r0, [r5, r1] -_0202A3D6: - lsl r1, r6, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - mov r2, #0 - add r3, r4, #0 - bl sub_0202949C - b _0202A408 -_0202A3E6: - add r2, r5, r3 - add r2, #0x84 - ldrb r2, [r2] - tst r0, r2 - bne _0202A3F2 - mov r1, #0 -_0202A3F2: - lsl r0, r1, #0x18 - lsr r0, r0, #0x18 - cmp r0, r6 - beq _0202A408 - lsl r1, r6, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - mov r2, #1 - add r3, r4, #0 - bl sub_0202949C -_0202A408: - ldr r2, [sp] - add r0, r5, #0 - add r1, r4, #0 - bl sub_02029AF0 - mov r1, #7 - add r5, #0x44 - asr r0, r7, #3 - ldrb r3, [r5, r0] - mov r2, #1 - and r1, r7 - lsl r2, r1 - add r1, r3, #0 - orr r1, r2 - strb r1, [r5, r0] -_0202A426: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202A42C: .word 0xBEEFCAFE -_0202A430: .word 0x00000147 - thumb_func_end sub_0202A36C - - thumb_func_start sub_0202A434 -sub_0202A434: ; 0x0202A434 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r1, #0 - add r5, r0, #0 - add r0, r7, #0 - mov r1, #5 - mov r2, #0 - bl sub_0206E540 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - add r0, r7, #0 - mov r1, #0xc - mov r2, #0 - bl sub_0206E540 - mov r1, #0 - str r0, [sp, #4] - add r0, r7, #0 - add r2, r1, #0 - bl sub_0206E540 - str r0, [sp] - add r0, r7, #0 - bl sub_0206FF88 - add r6, r0, #0 - ldr r1, [r5] - ldr r0, _0202A534 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A476 - bl GF_AssertFail -_0202A476: - add r0, r4, #0 - bl sub_02029408 - cmp r0, #0 - bne _0202A530 - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - mov r2, #1 - mov r0, #7 - and r0, r3 - add r1, r2, #0 - lsl r1, r0 - asr r0, r3, #3 - add r3, r5, r0 - add r3, #0x44 - ldrb r3, [r3] - tst r3, r1 - bne _0202A4B8 - ldr r1, _0202A538 ; =0x00000147 - cmp r4, r1 - bne _0202A4A8 - ldr r0, [sp] - sub r1, #0x43 - str r0, [r5, r1] -_0202A4A8: - lsl r1, r6, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - mov r2, #0 - add r3, r4, #0 - bl sub_0202949C - b _0202A4DA -_0202A4B8: - add r0, r5, r0 - add r0, #0x84 - ldrb r0, [r0] - tst r0, r1 - bne _0202A4C4 - mov r2, #0 -_0202A4C4: - lsl r0, r2, #0x18 - lsr r0, r0, #0x18 - cmp r0, r6 - beq _0202A4DA - lsl r1, r6, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - mov r2, #1 - add r3, r4, #0 - bl sub_0202949C -_0202A4DA: - add r0, r5, #0 - add r1, r4, #0 - add r2, r7, #0 - bl sub_02029AF0 - cmp r4, #0xc9 - bne _0202A4F8 - add r0, r7, #0 - bl sub_02070D98 - add r1, r0, #0 - add r0, r5, #0 - mov r2, #1 - bl sub_020295A0 -_0202A4F8: - ldr r2, [sp, #4] - add r0, r5, #0 - add r1, r4, #0 - bl sub_02029BE0 - ldr r0, [sp, #4] - cmp r0, #2 - beq _0202A50E - add r0, r5, #0 - bl sub_0202A5DC -_0202A50E: - sub r0, r4, #1 - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - add r1, r5, #4 - asr r0, r6, #3 - mov r2, #7 - ldrb r4, [r1, r0] - mov r3, #1 - and r2, r6 - lsl r3, r2 - add r2, r4, #0 - orr r2, r3 - add r5, #0x44 - strb r2, [r1, r0] - ldrb r1, [r5, r0] - orr r1, r3 - strb r1, [r5, r0] -_0202A530: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202A534: .word 0xBEEFCAFE -_0202A538: .word 0x00000147 - thumb_func_end sub_0202A434 - - thumb_func_start sub_0202A53C -sub_0202A53C: ; 0x0202A53C - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A554 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A54C - bl GF_AssertFail -_0202A54C: - ldr r0, _0202A558 ; =0x00000337 - mov r1, #1 - strb r1, [r4, r0] - pop {r4, pc} - .balign 4, 0 -_0202A554: .word 0xBEEFCAFE -_0202A558: .word 0x00000337 - thumb_func_end sub_0202A53C - - thumb_func_start sub_0202A55C -sub_0202A55C: ; 0x0202A55C - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A574 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A56C - bl GF_AssertFail -_0202A56C: - ldr r0, _0202A578 ; =0x00000337 - ldrb r0, [r4, r0] - pop {r4, pc} - nop -_0202A574: .word 0xBEEFCAFE -_0202A578: .word 0x00000337 - thumb_func_end sub_0202A55C - - thumb_func_start sub_0202A57C -sub_0202A57C: ; 0x0202A57C - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A598 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A58C - bl GF_AssertFail -_0202A58C: - mov r0, #0xcd - mov r1, #1 - lsl r0, r0, #2 - strb r1, [r4, r0] - pop {r4, pc} - nop -_0202A598: .word 0xBEEFCAFE - thumb_func_end sub_0202A57C - - thumb_func_start sub_0202A59C -sub_0202A59C: ; 0x0202A59C - push {r4, r5, r6, lr} - add r6, r2, #0 - add r5, r0, #0 - add r4, r1, #0 - cmp r6, #8 - bls _0202A5AC - bl GF_AssertFail -_0202A5AC: - ldr r1, [r5] - ldr r0, _0202A5D8 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A5B8 - bl GF_AssertFail -_0202A5B8: - add r0, r6, #0 - bl sub_02091278 - mov r2, #1 - add r3, r2, #0 - lsl r3, r0 - mov r0, #0x51 - add r1, r5, r4 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - tst r0, r3 - beq _0202A5D4 - add r0, r2, #0 - pop {r4, r5, r6, pc} -_0202A5D4: - mov r0, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202A5D8: .word 0xBEEFCAFE - thumb_func_end sub_0202A59C - - thumb_func_start sub_0202A5DC -sub_0202A5DC: ; 0x0202A5DC - ldr r1, _0202A5E4 ; =0x00000335 - mov r2, #1 - strb r2, [r0, r1] - bx lr - .balign 4, 0 -_0202A5E4: .word 0x00000335 - thumb_func_end sub_0202A5DC - - thumb_func_start sub_0202A5E8 -sub_0202A5E8: ; 0x0202A5E8 - ldr r1, _0202A5F0 ; =0x00000335 - ldrb r0, [r0, r1] - bx lr - nop -_0202A5F0: .word 0x00000335 - thumb_func_end sub_0202A5E8 - - thumb_func_start sub_0202A5F4 -sub_0202A5F4: ; 0x0202A5F4 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A60C ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A604 - bl GF_AssertFail -_0202A604: - ldr r0, _0202A610 ; =0x00000336 - ldrb r0, [r4, r0] - pop {r4, pc} - nop -_0202A60C: .word 0xBEEFCAFE -_0202A610: .word 0x00000336 - thumb_func_end sub_0202A5F4 - - thumb_func_start sub_0202A614 -sub_0202A614: ; 0x0202A614 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4] - ldr r0, _0202A62C ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A624 - bl GF_AssertFail -_0202A624: - ldr r0, _0202A630 ; =0x00000336 - mov r1, #1 - strb r1, [r4, r0] - pop {r4, pc} - .balign 4, 0 -_0202A62C: .word 0xBEEFCAFE -_0202A630: .word 0x00000336 - thumb_func_end sub_0202A614 - - thumb_func_start sub_0202A634 -sub_0202A634: ; 0x0202A634 - ldr r3, _0202A63C ; =SavArray_get - mov r1, #6 - bx r3 - nop -_0202A63C: .word SavArray_get - thumb_func_end sub_0202A634 - - thumb_func_start sub_0202A640 -sub_0202A640: ; 0x0202A640 - push {r4, r5, r6, lr} - add r6, r0, #0 - add r5, r1, #0 - ldr r1, [r6] - ldr r0, _0202A78C ; =0xBEEFCAFE - add r4, r2, #0 - cmp r1, r0 - beq _0202A654 - bl GF_AssertFail -_0202A654: - ldr r1, _0202A790 ; =0x000001A6 - cmp r5, r1 - bgt _0202A698 - bge _0202A6E0 - cmp r5, #0xc9 - bgt _0202A668 - bge _0202A6C8 - cmp r5, #0xac - beq _0202A730 - b _0202A788 -_0202A668: - add r0, r1, #0 - sub r0, #0x24 - cmp r5, r0 - bgt _0202A678 - sub r1, #0x24 - cmp r5, r1 - beq _0202A744 - b _0202A788 -_0202A678: - add r0, r1, #0 - sub r0, #9 - cmp r5, r0 - bgt _0202A696 - add r0, r1, #0 - sub r0, #0xa - cmp r5, r0 - blt _0202A788 - add r0, r1, #0 - sub r0, #0xa - cmp r5, r0 - beq _0202A708 - sub r1, #9 - cmp r5, r1 - beq _0202A71C -_0202A696: - b _0202A788 -_0202A698: - add r0, r1, #0 - add r0, #0x39 - cmp r5, r0 - bgt _0202A6B0 - add r0, r1, #0 - add r0, #0x39 - cmp r5, r0 - bge _0202A770 - add r0, r1, #1 - cmp r5, r0 - beq _0202A6F4 - b _0202A788 -_0202A6B0: - add r0, r1, #0 - add r0, #0x41 - cmp r5, r0 - bgt _0202A6C0 - add r1, #0x41 - cmp r5, r1 - beq _0202A758 - b _0202A788 -_0202A6C0: - add r1, #0x46 - cmp r5, r1 - beq _0202A758 - b _0202A788 -_0202A6C8: - add r0, r6, #0 - mov r1, #0 - bl sub_0202A14C - cmp r4, r0 - bhs _0202A788 - add r0, r6, #0 - add r1, r4, #0 - mov r2, #0 - bl sub_0202A108 - pop {r4, r5, r6, pc} -_0202A6E0: - add r0, r6, #0 - bl sub_0202A1A4 - cmp r4, r0 - bhs _0202A788 - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202A16C - pop {r4, r5, r6, pc} -_0202A6F4: - add r0, r6, #0 - bl sub_0202A200 - cmp r4, r0 - bhs _0202A788 - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202A1C8 - pop {r4, r5, r6, pc} -_0202A708: - add r0, r6, #0 - bl sub_0202A25C - cmp r4, r0 - bhs _0202A788 - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202A224 - pop {r4, r5, r6, pc} -_0202A71C: - add r0, r6, #0 - bl sub_0202A2B4 - cmp r4, r0 - bhs _0202A788 - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202A27C - pop {r4, r5, r6, pc} -_0202A730: - add r0, r6, #0 - bl sub_0202A30C - cmp r4, r0 - bhs _0202A788 - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202A2D8 - pop {r4, r5, r6, pc} -_0202A744: - add r0, r6, #0 - bl sub_0202A350 - cmp r4, r0 - bhs _0202A788 - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202A32C - pop {r4, r5, r6, pc} -_0202A758: - add r0, r6, #0 - add r1, r5, #0 - bl sub_020295D4 - cmp r4, r0 - bge _0202A788 - add r0, r6, #0 - add r1, r5, #0 - add r2, r4, #0 - bl sub_02029C7C - pop {r4, r5, r6, pc} -_0202A770: - add r0, r6, #0 - add r1, #0x39 - bl sub_020299E8 - cmp r4, r0 - bge _0202A788 - ldr r1, _0202A794 ; =0x000001DF - add r0, r6, #0 - add r2, r4, #0 - bl sub_02029CDC - pop {r4, r5, r6, pc} -_0202A788: - mov r0, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202A78C: .word 0xBEEFCAFE -_0202A790: .word 0x000001A6 -_0202A794: .word 0x000001DF - thumb_func_end sub_0202A640 - - thumb_func_start sub_0202A798 -sub_0202A798: ; 0x0202A798 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, _0202A880 ; =0xBEEFCAFE - cmp r1, r0 - beq _0202A7AA - bl GF_AssertFail -_0202A7AA: - ldr r1, _0202A884 ; =0x000001A6 - cmp r4, r1 - bgt _0202A7EE - bge _0202A82C - cmp r4, #0xc9 - bgt _0202A7BE - bge _0202A822 - cmp r4, #0xac - beq _0202A84C - b _0202A87A -_0202A7BE: - add r0, r1, #0 - sub r0, #0x24 - cmp r4, r0 - bgt _0202A7CE - sub r1, #0x24 - cmp r4, r1 - beq _0202A854 - b _0202A87A -_0202A7CE: - add r0, r1, #0 - sub r0, #9 - cmp r4, r0 - bgt _0202A87A - add r0, r1, #0 - sub r0, #0xa - cmp r4, r0 - blt _0202A87A - add r0, r1, #0 - sub r0, #0xa - cmp r4, r0 - beq _0202A83C - sub r1, #9 - cmp r4, r1 - beq _0202A844 - b _0202A87A -_0202A7EE: - add r0, r1, #0 - add r0, #0x39 - cmp r4, r0 - bgt _0202A806 - add r0, r1, #0 - add r0, #0x39 - cmp r4, r0 - bge _0202A870 - add r0, r1, #1 - cmp r4, r0 - beq _0202A834 - b _0202A87A -_0202A806: - add r0, r1, #0 - add r0, #0x41 - cmp r4, r0 - bgt _0202A818 - add r0, r1, #0 - add r0, #0x41 - cmp r4, r0 - beq _0202A866 - b _0202A87A -_0202A818: - add r0, r1, #0 - add r0, #0x46 - cmp r4, r0 - beq _0202A85C - b _0202A87A -_0202A822: - add r0, r5, #0 - mov r1, #0 - bl sub_0202A14C - pop {r3, r4, r5, pc} -_0202A82C: - add r0, r5, #0 - bl sub_0202A1A4 - pop {r3, r4, r5, pc} -_0202A834: - add r0, r5, #0 - bl sub_0202A200 - pop {r3, r4, r5, pc} -_0202A83C: - add r0, r5, #0 - bl sub_0202A25C - pop {r3, r4, r5, pc} -_0202A844: - add r0, r5, #0 - bl sub_0202A2B4 - pop {r3, r4, r5, pc} -_0202A84C: - add r0, r5, #0 - bl sub_0202A30C - pop {r3, r4, r5, pc} -_0202A854: - add r0, r5, #0 - bl sub_0202A350 - pop {r3, r4, r5, pc} -_0202A85C: - add r0, r5, #0 - add r1, #0x46 - bl sub_020295D4 - pop {r3, r4, r5, pc} -_0202A866: - add r0, r5, #0 - add r1, #0x41 - bl sub_020295D4 - pop {r3, r4, r5, pc} -_0202A870: - add r0, r5, #0 - add r1, #0x39 - bl sub_020299E8 - pop {r3, r4, r5, pc} -_0202A87A: - mov r0, #1 - pop {r3, r4, r5, pc} - nop -_0202A880: .word 0xBEEFCAFE -_0202A884: .word 0x000001A6 - thumb_func_end sub_0202A798 - - thumb_func_start sub_0202A888 -sub_0202A888: ; 0x0202A888 - push {r4, lr} - mov r1, #0 - mov r2, #0x30 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r1, #0 - add r0, r1, #0 -_0202A898: - strb r0, [r4, #1] - strb r0, [r4] - add r1, r1, #1 - add r4, #0xc - cmp r1, #4 - blt _0202A898 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202A888 - - thumb_func_start sub_0202A8A8 -sub_0202A8A8: ; 0x0202A8A8 - ldr r3, _0202A8B0 ; =GF_RTC_CopyDateTime - add r1, r0, #0 - add r1, #0x10 - bx r3 - .balign 4, 0 -_0202A8B0: .word GF_RTC_CopyDateTime - thumb_func_end sub_0202A8A8 - - thumb_func_start sub_0202A8B4 -sub_0202A8B4: ; 0x0202A8B4 - mov r0, #0x2e - lsl r0, r0, #4 - bx lr - .balign 4, 0 - thumb_func_end sub_0202A8B4 - - thumb_func_start sub_0202A8BC -sub_0202A8BC: ; 0x0202A8BC - push {r4, lr} - add r4, r0, #0 - mov r2, #0x2e - mov r0, #0 - add r1, r4, #0 - lsl r2, r2, #4 - bl MIi_CpuClearFast - add r0, r4, #0 - bl sub_0202ADEC - mov r0, #2 - lsl r0, r0, #8 - add r0, r4, r0 - bl sub_0202A888 - mov r0, #0x23 - lsl r0, r0, #4 - add r0, r4, r0 - bl sub_0202A8A8 - mov r0, #0x93 - lsl r0, r0, #2 - add r0, r4, r0 - bl sub_0202AE8C - mov r1, #0x27 - lsl r1, r1, #4 - ldr r0, _0202A948 ; =0x0000FFFF - add r1, r4, r1 - mov r2, #8 - bl sub_020D4790 - mov r0, #0xa - lsl r0, r0, #6 - add r0, r4, r0 - mov r1, #0xff - mov r2, #8 - bl MIi_CpuFill8 - mov r0, #0x2a - lsl r0, r0, #4 - add r0, r4, r0 - mov r1, #4 - bl MailMsg_init_withBank - ldr r0, _0202A94C ; =0x000002A2 - mov r1, #0 - strh r1, [r4, r0] - ldr r0, _0202A950 ; =0x0000011F - mov r1, #0x63 - bl GetECWordIndexByPair - mov r1, #0xa9 - lsl r1, r1, #2 - strh r0, [r4, r1] - ldr r2, _0202A948 ; =0x0000FFFF - add r0, r1, #2 - strh r2, [r4, r0] - mov r3, #0 - add r0, r1, #4 - sub r2, r3, #1 - add r1, #0x18 -_0202A93A: - str r2, [r4, r0] - str r2, [r4, r1] - add r3, r3, #1 - add r4, r4, #4 - cmp r3, #5 - blt _0202A93A - pop {r4, pc} - .balign 4, 0 -_0202A948: .word 0x0000FFFF -_0202A94C: .word 0x000002A2 -_0202A950: .word 0x0000011F - thumb_func_end sub_0202A8BC - - thumb_func_start sub_0202A954 -sub_0202A954: ; 0x0202A954 - ldr r3, _0202A95C ; =SavArray_get - mov r1, #9 - bx r3 - nop -_0202A95C: .word SavArray_get - thumb_func_end sub_0202A954 - - thumb_func_start sub_0202A960 -sub_0202A960: ; 0x0202A960 - ldr r3, _0202A968 ; =sub_020272EC - mov r1, #9 - bx r3 - nop -_0202A968: .word sub_020272EC - thumb_func_end sub_0202A960 - - thumb_func_start sub_0202A96C -sub_0202A96C: ; 0x0202A96C - ldr r3, _0202A974 ; =SavArray_get - mov r1, #9 - bx r3 - nop -_0202A974: .word SavArray_get - thumb_func_end sub_0202A96C - - thumb_func_start sub_0202A978 -sub_0202A978: ; 0x0202A978 - push {r3, lr} - mov r1, #9 - bl SavArray_get - mov r1, #2 - lsl r1, r1, #8 - add r0, r0, r1 - pop {r3, pc} - thumb_func_end sub_0202A978 - - thumb_func_start sub_0202A988 -sub_0202A988: ; 0x0202A988 - push {r3, lr} - mov r1, #9 - bl SavArray_get - mov r1, #0x23 - lsl r1, r1, #4 - add r0, r0, r1 - pop {r3, pc} - thumb_func_end sub_0202A988 - - thumb_func_start sub_0202A998 -sub_0202A998: ; 0x0202A998 - push {r3, lr} - mov r1, #9 - bl SavArray_get - mov r1, #0x93 - lsl r1, r1, #2 - add r0, r0, r1 - pop {r3, pc} - thumb_func_end sub_0202A998 - - thumb_func_start GetRivalNamePtr -GetRivalNamePtr: ; 0x0202A9A8 - mov r1, #0x27 - lsl r1, r1, #4 - add r0, r0, r1 - bx lr - thumb_func_end GetRivalNamePtr - - thumb_func_start sub_0202A9B0 -sub_0202A9B0: ; 0x0202A9B0 - add r2, r0, #0 - add r0, r1, #0 - mov r1, #0x27 - lsl r1, r1, #4 - add r1, r2, r1 - ldr r3, _0202A9C0 ; =CopyStringToU16Array - mov r2, #8 - bx r3 - .balign 4, 0 -_0202A9C0: .word CopyStringToU16Array - thumb_func_end sub_0202A9B0 - - thumb_func_start sub_0202A9C4 -sub_0202A9C4: ; 0x0202A9C4 - ldr r2, _0202A9D4 ; =0x0000029B - mov r1, #1 - ldrb r3, [r0, r2] - bic r3, r1 - mov r1, #1 - orr r1, r3 - strb r1, [r0, r2] - bx lr - .balign 4, 0 -_0202A9D4: .word 0x0000029B - thumb_func_end sub_0202A9C4 - - thumb_func_start sub_0202A9D8 -sub_0202A9D8: ; 0x0202A9D8 - ldr r1, _0202A9E4 ; =0x0000029B - ldrb r0, [r0, r1] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - bx lr - nop -_0202A9E4: .word 0x0000029B - thumb_func_end sub_0202A9D8 - - thumb_func_start sub_0202A9E8 -sub_0202A9E8: ; 0x0202A9E8 - push {r4, r5} - mov r4, #0xa6 - lsl r4, r4, #2 - strh r1, [r0, r4] - add r1, r4, #2 - ldrb r1, [r0, r1] - mov r5, #0x7f - lsl r2, r2, #0x18 - bic r1, r5 - lsr r5, r2, #0x18 - mov r2, #0x7f - and r2, r5 - orr r2, r1 - add r1, r4, #2 - strb r2, [r0, r1] - ldrb r1, [r0, r1] - mov r2, #0x80 - bic r1, r2 - lsl r2, r3, #0x18 - lsr r2, r2, #0x18 - lsl r2, r2, #0x1f - lsr r2, r2, #0x18 - orr r2, r1 - add r1, r4, #2 - strb r2, [r0, r1] - pop {r4, r5} - bx lr - .balign 4, 0 - thumb_func_end sub_0202A9E8 - - thumb_func_start sub_0202AA20 -sub_0202AA20: ; 0x0202AA20 - push {r4, r5} - mov r4, #0xa6 - lsl r4, r4, #2 - ldrh r5, [r0, r4] - str r5, [r1] - add r1, r4, #2 - ldrb r1, [r0, r1] - lsl r1, r1, #0x19 - lsr r1, r1, #0x19 - str r1, [r2] - add r1, r4, #2 - ldrb r0, [r0, r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1f - str r0, [r3] - pop {r4, r5} - bx lr - .balign 4, 0 - thumb_func_end sub_0202AA20 - - thumb_func_start sub_0202AA44 -sub_0202AA44: ; 0x0202AA44 - push {r4, r5, r6, r7} - add r4, r2, #0 - cmp r1, #2 - bls _0202AA52 - mov r0, #0 - pop {r4, r5, r6, r7} - bx lr -_0202AA52: - ldr r3, _0202AA94 ; =0x020F677D - lsl r1, r1, #1 - ldrb r3, [r3, r1] - mov r2, #0 - cmp r3, #0 - ble _0202AA8E - ldr r5, _0202AA98 ; =0x020F677C - ldrb r3, [r5, r1] - add r5, r5, r1 - ldrb r1, [r5] - add r3, r0, r3 - ldrb r6, [r5, #1] - add r0, r0, r1 - mov r1, #0xa - lsl r1, r1, #6 - add r5, r1, #0 -_0202AA72: - ldrb r7, [r3, r5] - cmp r7, #0xff - beq _0202AA8E - add r7, r2, r0 - ldrb r7, [r7, r1] - cmp r4, r7 - bne _0202AA86 - mov r0, #1 - pop {r4, r5, r6, r7} - bx lr -_0202AA86: - add r2, r2, #1 - add r3, r3, #1 - cmp r2, r6 - blt _0202AA72 -_0202AA8E: - mov r0, #0 - pop {r4, r5, r6, r7} - bx lr - .balign 4, 0 -_0202AA94: .word 0x020F677D -_0202AA98: .word 0x020F677C - thumb_func_end sub_0202AA44 - - thumb_func_start sub_0202AA9C -sub_0202AA9C: ; 0x0202AA9C - push {r4, r5} - cmp r1, #2 - bhi _0202AAC8 - lsl r4, r1, #1 - ldr r1, _0202AACC ; =0x020F677D - mov r2, #0 - ldrb r1, [r1, r4] - cmp r1, #0 - ble _0202AAC8 - ldr r3, _0202AAD0 ; =0x020F677C - ldrb r1, [r3, r4] - add r4, r3, r4 - mov r3, #0xff - add r5, r0, r1 - mov r0, #0xa - lsl r0, r0, #6 -_0202AABC: - strb r3, [r5, r0] - ldrb r1, [r4, #1] - add r2, r2, #1 - add r5, r5, #1 - cmp r2, r1 - blt _0202AABC -_0202AAC8: - pop {r4, r5} - bx lr - .balign 4, 0 -_0202AACC: .word 0x020F677D -_0202AAD0: .word 0x020F677C - thumb_func_end sub_0202AA9C - - thumb_func_start sub_0202AAD4 -sub_0202AAD4: ; 0x0202AAD4 - push {r4, r5} - mov r2, #0 - cmp r1, #2 - bls _0202AAE2 - add r0, r2, #0 - pop {r4, r5} - bx lr -_0202AAE2: - lsl r4, r1, #1 - ldr r1, _0202AB10 ; =0x020F677C - ldr r3, _0202AB14 ; =0x020F677D - ldrb r1, [r1, r4] - ldrb r3, [r3, r4] - add r3, r1, r3 - sub r5, r3, #1 - cmp r1, r5 - bgt _0202AB08 - mov r3, #0xa - lsl r3, r3, #6 -_0202AAF8: - add r4, r0, r1 - ldrb r4, [r4, r3] - cmp r4, #0xff - beq _0202AB02 - add r2, r2, #1 -_0202AB02: - add r1, r1, #1 - cmp r1, r5 - ble _0202AAF8 -_0202AB08: - lsl r0, r2, #0x18 - lsr r0, r0, #0x18 - pop {r4, r5} - bx lr - .balign 4, 0 -_0202AB10: .word 0x020F677C -_0202AB14: .word 0x020F677D - thumb_func_end sub_0202AAD4 - - thumb_func_start sub_0202AB18 -sub_0202AB18: ; 0x0202AB18 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r1, [sp] - str r3, [sp, #4] - add r4, r0, #0 - ldr r0, [sp] - mov ip, r2 - cmp r0, #2 - bhi _0202ABA2 - lsl r7, r0, #1 - ldr r0, _0202ABA8 ; =0x020F677D - ldrb r6, [r0, r7] - ldr r0, _0202ABAC ; =0x020F677C - ldrb r0, [r0, r7] - str r0, [sp, #8] - add r0, r0, r6 - ldr r3, [sp, #8] - sub r5, r0, #1 - add r0, r3, #0 - cmp r0, r5 - bgt _0202AB60 - mov r0, #0xa - lsl r0, r0, #6 -_0202AB46: - add r2, r4, r3 - ldrb r1, [r2, r0] - cmp r1, #0xff - bne _0202AB5A - mov r1, #0xa - ldr r0, [sp, #4] - lsl r1, r1, #6 - strb r0, [r2, r1] - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_0202AB5A: - add r3, r3, #1 - cmp r3, r5 - ble _0202AB46 -_0202AB60: - add r1, r6, #1 - mov r0, ip - cmp r0, r1 - bne _0202AB80 - ldr r1, [sp] - add r0, r4, #0 - bl sub_0202AA9C - ldr r0, [sp, #8] - mov r1, #0xa - add r2, r4, r0 - ldr r0, [sp, #4] - lsl r1, r1, #6 - strb r0, [r2, r1] - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_0202AB80: - mov r0, #0xa - ldr r2, _0202ABAC ; =0x020F677C - lsl r0, r0, #6 - add r1, r4, r0 - ldr r0, [sp, #8] - ldrb r2, [r2, r7] - add r0, r0, #1 - add r0, r1, r0 - add r1, r1, r2 - sub r2, r6, #1 - bl sub_020D4A50 - mov r1, #0xa - ldr r0, [sp, #4] - add r2, r4, r5 - lsl r1, r1, #6 - strb r0, [r2, r1] -_0202ABA2: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_0202ABA8: .word 0x020F677D -_0202ABAC: .word 0x020F677C - thumb_func_end sub_0202AB18 - - thumb_func_start sub_0202ABB0 -sub_0202ABB0: ; 0x0202ABB0 - mov r3, #0xb6 - lsl r3, r3, #2 - str r1, [r0, r3] - add r1, r3, #4 - strb r2, [r0, r1] - bx lr - thumb_func_end sub_0202ABB0 - - thumb_func_start sub_0202ABBC -sub_0202ABBC: ; 0x0202ABBC - push {r3, r4} - mov r3, #0xb6 - lsl r3, r3, #2 - ldr r4, [r0, r3] - str r4, [r1] - add r1, r3, #4 - ldrb r0, [r0, r1] - strb r0, [r2] - pop {r3, r4} - bx lr - thumb_func_end sub_0202ABBC - - thumb_func_start sub_0202ABD0 -sub_0202ABD0: ; 0x0202ABD0 - mov r2, #0x2a - lsl r2, r2, #4 - ldrh r3, [r0, r2] - strh r3, [r1] - add r3, r2, #2 - ldrh r3, [r0, r3] - strh r3, [r1, #2] - add r3, r2, #4 - ldrh r3, [r0, r3] - add r2, r2, #6 - strh r3, [r1, #4] - ldrh r0, [r0, r2] - strh r0, [r1, #6] - bx lr - thumb_func_end sub_0202ABD0 - - thumb_func_start sub_0202ABEC -sub_0202ABEC: ; 0x0202ABEC - push {r3, r4} - ldrh r3, [r1] - mov r2, #0x2a - lsl r2, r2, #4 - strh r3, [r0, r2] - ldrh r4, [r1, #2] - add r3, r2, #2 - strh r4, [r0, r3] - ldrh r4, [r1, #4] - add r3, r2, #4 - strh r4, [r0, r3] - ldrh r3, [r1, #6] - add r1, r2, #6 - strh r3, [r0, r1] - pop {r3, r4} - bx lr - thumb_func_end sub_0202ABEC - - thumb_func_start sub_0202AC0C -sub_0202AC0C: ; 0x0202AC0C - ldr r2, _0202AC18 ; =0x0000029B - ldrb r0, [r0, r2] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1c - strb r0, [r1] - bx lr - .balign 4, 0 -_0202AC18: .word 0x0000029B - thumb_func_end sub_0202AC0C - - thumb_func_start sub_0202AC1C -sub_0202AC1C: ; 0x0202AC1C - push {r3, r4} - ldr r3, _0202AC34 ; =0x0000029B - lsl r1, r1, #0x1c - ldrb r4, [r0, r3] - mov r2, #0x1e - lsr r1, r1, #0x1b - bic r4, r2 - orr r1, r4 - strb r1, [r0, r3] - pop {r3, r4} - bx lr - nop -_0202AC34: .word 0x0000029B - thumb_func_end sub_0202AC1C - - thumb_func_start sub_0202AC38 -sub_0202AC38: ; 0x0202AC38 - push {r3, r4, r5, r6} - sub r4, r1, #1 - lsl r1, r4, #2 - mov r5, #0xaa - add r1, r0, r1 - lsl r5, r5, #2 - ldr r6, [r1, r5] - add r0, r0, r4 - str r6, [r2] - add r2, r5, #0 - add r2, #0x14 - ldr r1, [r1, r2] - add r5, #0x28 - str r1, [r3] - ldrb r1, [r0, r5] - ldr r0, [sp, #0x10] - strb r1, [r0] - pop {r3, r4, r5, r6} - bx lr - .balign 4, 0 - thumb_func_end sub_0202AC38 - - thumb_func_start sub_0202AC60 -sub_0202AC60: ; 0x0202AC60 - push {r4, r5} - sub r1, r1, #1 - lsl r4, r1, #2 - add r5, r0, r4 - mov r4, #0xaa - lsl r4, r4, #2 - str r2, [r5, r4] - add r2, r4, #0 - add r2, #0x14 - str r3, [r5, r2] - ldr r2, _0202AC84 ; =0xFFFFFFF8 - add r0, r0, r1 - add r2, sp - ldrb r2, [r2, #0x10] - add r4, #0x28 - strb r2, [r0, r4] - pop {r4, r5} - bx lr - .balign 4, 0 -_0202AC84: .word 0xFFFFFFF8 - thumb_func_end sub_0202AC60 - - thumb_func_start sub_0202AC88 -sub_0202AC88: ; 0x0202AC88 - push {r4, lr} - mov r1, #2 - bl AllocFromHeap - add r4, r0, #0 - bl sub_0202ACA8 - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202AC88 - - thumb_func_start sub_0202AC9C -sub_0202AC9C: ; 0x0202AC9C - ldr r3, _0202ACA4 ; =sub_020D4A50 - mov r2, #2 - bx r3 - nop -_0202ACA4: .word sub_020D4A50 - thumb_func_end sub_0202AC9C - - thumb_func_start sub_0202ACA8 -sub_0202ACA8: ; 0x0202ACA8 - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #2 - bl MIi_CpuFill8 - ldrh r1, [r4] - mov r0, #0xf - bic r1, r0 - mov r0, #1 - orr r0, r1 - strh r0, [r4] - ldrh r1, [r4] - mov r0, #0x30 - bic r1, r0 - strh r1, [r4] - ldrh r1, [r4] - mov r0, #0x40 - bic r1, r0 - strh r1, [r4] - ldrh r1, [r4] - mov r0, #0x80 - bic r1, r0 - strh r1, [r4] - ldrh r1, [r4] - ldr r0, _0202ACEC ; =0xFFFFFCFF - and r0, r1 - strh r0, [r4] - ldrh r1, [r4] - ldr r0, _0202ACF0 ; =0xFFFF83FF - and r0, r1 - strh r0, [r4] - pop {r4, pc} - nop -_0202ACEC: .word 0xFFFFFCFF -_0202ACF0: .word 0xFFFF83FF - thumb_func_end sub_0202ACA8 - - thumb_func_start sub_0202ACF4 -sub_0202ACF4: ; 0x0202ACF4 - push {r3, lr} - cmp r0, #0 - beq _0202AD04 - bl Sav2_PlayerData_GetOptionsAddr - bl sub_0202ADAC - add r1, r0, #0 -_0202AD04: - cmp r1, #0 - beq _0202AD14 - cmp r1, #1 - bne _0202AD14 - ldr r0, _0202AD1C ; =gMain - mov r1, #3 - str r1, [r0, #0x34] - pop {r3, pc} -_0202AD14: - ldr r0, _0202AD1C ; =gMain - mov r1, #0 - str r1, [r0, #0x34] - pop {r3, pc} - .balign 4, 0 -_0202AD1C: .word gMain - thumb_func_end sub_0202ACF4 - - thumb_func_start sub_0202AD20 -sub_0202AD20: ; 0x0202AD20 - ldrh r0, [r0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1c - bx lr - thumb_func_end sub_0202AD20 - - thumb_func_start sub_0202AD28 -sub_0202AD28: ; 0x0202AD28 - ldrh r3, [r0] - mov r2, #0xf - lsl r1, r1, #0x10 - bic r3, r2 - lsr r2, r1, #0x10 - mov r1, #0xf - and r1, r2 - orr r1, r3 - strh r1, [r0] - bx lr - thumb_func_end sub_0202AD28 - - thumb_func_start sub_0202AD3C -sub_0202AD3C: ; 0x0202AD3C - push {r3, lr} - bl sub_0202AD20 - cmp r0, #0 - bne _0202AD4A - mov r0, #8 - pop {r3, pc} -_0202AD4A: - cmp r0, #1 - bne _0202AD52 - mov r0, #4 - pop {r3, pc} -_0202AD52: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202AD3C - - thumb_func_start sub_0202AD58 -sub_0202AD58: ; 0x0202AD58 - ldrh r0, [r0] - lsl r0, r0, #0x1a - lsr r0, r0, #0x1e - bx lr - thumb_func_end sub_0202AD58 - - thumb_func_start sub_0202AD60 -sub_0202AD60: ; 0x0202AD60 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - lsl r1, r1, #0x1e - ldrh r3, [r0] - mov r2, #0x30 - lsr r1, r1, #0x1a - bic r3, r2 - orr r1, r3 - strh r1, [r0] - bx lr - thumb_func_end sub_0202AD60 - - thumb_func_start sub_0202AD74 -sub_0202AD74: ; 0x0202AD74 - ldrh r0, [r0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1f - bx lr - thumb_func_end sub_0202AD74 - - thumb_func_start sub_0202AD7C -sub_0202AD7C: ; 0x0202AD7C - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - lsl r1, r1, #0x1f - ldrh r3, [r0] - mov r2, #0x80 - lsr r1, r1, #0x18 - bic r3, r2 - orr r1, r3 - strh r1, [r0] - bx lr - thumb_func_end sub_0202AD7C - - thumb_func_start sub_0202AD90 -sub_0202AD90: ; 0x0202AD90 - ldrh r0, [r0] - lsl r0, r0, #0x19 - lsr r0, r0, #0x1f - bx lr - thumb_func_end sub_0202AD90 - - thumb_func_start sub_0202AD98 -sub_0202AD98: ; 0x0202AD98 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - lsl r1, r1, #0x1f - ldrh r3, [r0] - mov r2, #0x40 - lsr r1, r1, #0x19 - bic r3, r2 - orr r1, r3 - strh r1, [r0] - bx lr - thumb_func_end sub_0202AD98 - - thumb_func_start sub_0202ADAC -sub_0202ADAC: ; 0x0202ADAC - ldrh r0, [r0] - lsl r0, r0, #0x16 - lsr r0, r0, #0x1e - bx lr - thumb_func_end sub_0202ADAC - - thumb_func_start sub_0202ADB4 -sub_0202ADB4: ; 0x0202ADB4 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - lsl r1, r1, #0x1e - ldrh r3, [r0] - ldr r2, _0202ADC8 ; =0xFFFFFCFF - lsr r1, r1, #0x16 - and r2, r3 - orr r1, r2 - strh r1, [r0] - bx lr - .balign 4, 0 -_0202ADC8: .word 0xFFFFFCFF - thumb_func_end sub_0202ADB4 - - thumb_func_start sub_0202ADCC -sub_0202ADCC: ; 0x0202ADCC - ldrh r0, [r0] - lsl r0, r0, #0x11 - lsr r0, r0, #0x1b - bx lr - thumb_func_end sub_0202ADCC - - thumb_func_start sub_0202ADD4 -sub_0202ADD4: ; 0x0202ADD4 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - lsl r1, r1, #0x1b - ldrh r3, [r0] - ldr r2, _0202ADE8 ; =0xFFFF83FF - lsr r1, r1, #0x11 - and r2, r3 - orr r1, r2 - strh r1, [r0] - bx lr - .balign 4, 0 -_0202ADE8: .word 0xFFFF83FF - thumb_func_end sub_0202ADD4 - - thumb_func_start sub_0202ADEC -sub_0202ADEC: ; 0x0202ADEC - push {r4, lr} - mov r2, #2 - mov r1, #0 - lsl r2, r2, #8 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r1, #0 - add r0, r1, #0 -_0202ADFE: - add r1, r1, #1 - strb r0, [r4] - add r4, r4, #4 - cmp r1, #0x80 - blt _0202ADFE - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202ADEC - - thumb_func_start sub_0202AE0C -sub_0202AE0C: ; 0x0202AE0C - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r4, #0 - mov r6, #1 - b _0202AE24 -_0202AE16: - add r0, r5, #0 - bl sub_0202AE30 - strb r6, [r5] - strb r6, [r5, #1] - add r5, r5, #4 - add r4, r4, #1 -_0202AE24: - cmp r4, #0x80 - blt _0202AE16 - cmp r4, #0x1f - blt _0202AE16 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202AE0C - - thumb_func_start sub_0202AE30 -sub_0202AE30: ; 0x0202AE30 - mov r1, #0 - strb r1, [r0] - strb r1, [r0, #1] - bx lr - thumb_func_end sub_0202AE30 - - thumb_func_start sub_0202AE38 -sub_0202AE38: ; 0x0202AE38 - lsl r1, r1, #2 - ldrb r0, [r0, r1] - bx lr - .balign 4, 0 - thumb_func_end sub_0202AE38 - - thumb_func_start sub_0202AE40 -sub_0202AE40: ; 0x0202AE40 - ldr r0, _0202AE48 ; =0x020F6784 - ldrb r0, [r0, r1] - bx lr - nop -_0202AE48: .word 0x020F6784 - thumb_func_end sub_0202AE40 - - thumb_func_start sub_0202AE4C -sub_0202AE4C: ; 0x0202AE4C - push {r3, lr} - ldr r0, _0202AE64 ; =0x020F6784 - ldrb r0, [r0, r1] - cmp r0, #0 - bgt _0202AE5E - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_0202AE5E: - sub r0, r0, #1 - pop {r3, pc} - nop -_0202AE64: .word 0x020F6784 - thumb_func_end sub_0202AE4C - - thumb_func_start sub_0202AE68 -sub_0202AE68: ; 0x0202AE68 - ldr r3, _0202AE70 ; =sub_0202AE30 - lsl r1, r1, #2 - add r0, r0, r1 - bx r3 - .balign 4, 0 -_0202AE70: .word sub_0202AE30 - thumb_func_end sub_0202AE68 - - thumb_func_start sub_0202AE74 -sub_0202AE74: ; 0x0202AE74 - mov r3, #0 - mov r1, #1 -_0202AE78: - ldrb r2, [r0] - cmp r2, #0 - bne _0202AE82 - strb r1, [r0] - strb r1, [r0, #1] -_0202AE82: - add r3, r3, #1 - add r0, r0, #4 - cmp r3, #0x80 - blt _0202AE78 - bx lr - thumb_func_end sub_0202AE74 - - thumb_func_start sub_0202AE8C -sub_0202AE8C: ; 0x0202AE8C - ldr r3, _0202AE94 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #0x24 - bx r3 - .balign 4, 0 -_0202AE94: .word MIi_CpuFill8 - thumb_func_end sub_0202AE8C - - thumb_func_start sub_0202AE98 -sub_0202AE98: ; 0x0202AE98 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0202AE8C - str r4, [r5] - add r0, r5, #4 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202AE98 - - thumb_func_start sub_0202AEA8 -sub_0202AEA8: ; 0x0202AEA8 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - cmp r0, r1 - beq _0202AEB6 - bl GF_AssertFail -_0202AEB6: - add r0, r4, #4 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202AEA8 - - thumb_func_start sub_0202AEBC -sub_0202AEBC: ; 0x0202AEBC - ldr r0, [r0] - bx lr - thumb_func_end sub_0202AEBC - - thumb_func_start sub_0202AEC0 -sub_0202AEC0: ; 0x0202AEC0 - mov r0, #0x22 - lsl r0, r0, #6 - bx lr - .balign 4, 0 - thumb_func_end sub_0202AEC0 - - thumb_func_start sub_0202AEC8 -sub_0202AEC8: ; 0x0202AEC8 - ldr r3, _0202AED0 ; =SavArray_get - mov r1, #8 - bx r3 - nop -_0202AED0: .word SavArray_get - thumb_func_end sub_0202AEC8 - - thumb_func_start sub_0202AED4 -sub_0202AED4: ; 0x0202AED4 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - ldr r6, _0202AEF4 ; =0x0000FFFF - add r5, r0, #0 - add r7, r4, #0 -_0202AEDE: - add r0, r5, #0 - add r1, r7, #0 - mov r2, #0x88 - bl memset - strh r6, [r5] - add r4, r4, #1 - add r5, #0x88 - cmp r4, #0x10 - blt _0202AEDE - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202AEF4: .word 0x0000FFFF - thumb_func_end sub_0202AED4 - - thumb_func_start sub_0202AEF8 -sub_0202AEF8: ; 0x0202AEF8 - mov r2, #0x88 - mul r2, r1 - add r0, r0, r2 - bx lr - thumb_func_end sub_0202AEF8 - - thumb_func_start sub_0202AF00 -sub_0202AF00: ; 0x0202AF00 - add r0, r0, r1 - add r0, #0x68 - ldrb r0, [r0] - bx lr - thumb_func_end sub_0202AF00 - - thumb_func_start sub_0202AF08 -sub_0202AF08: ; 0x0202AF08 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl StringNotEqual - cmp r0, #0 - bne _0202AF22 - ldr r1, [r5, #0x10] - ldr r0, [r4, #0x10] - cmp r1, r0 - bne _0202AF22 - mov r0, #1 - pop {r3, r4, r5, pc} -_0202AF22: - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202AF08 - - thumb_func_start sub_0202AF28 -sub_0202AF28: ; 0x0202AF28 - push {r4, r5, r6, r7, lr} - sub sp, #0x2c - str r1, [sp, #4] - mov r1, #0x22 - str r0, [sp] - add r0, r3, #0 - lsl r1, r1, #6 - str r2, [sp, #8] - bl AllocFromHeap - str r0, [sp, #0x10] - bl sub_0202AED4 - mov r0, #0 - str r0, [sp, #0x14] - ldr r0, [sp, #8] - cmp r0, #0 - ble _0202AF80 - ldr r7, [sp, #4] - add r6, sp, #0x18 -_0202AF50: - mov r0, #0 - mvn r0, r0 - ldr r5, [sp] - str r0, [r6] - mov r4, #0 -_0202AF5A: - add r0, r5, #0 - add r1, r7, #0 - bl sub_0202AF08 - cmp r0, #0 - beq _0202AF68 - str r4, [r6] -_0202AF68: - add r4, r4, #1 - add r5, #0x88 - cmp r4, #0x10 - blt _0202AF5A - ldr r0, [sp, #0x14] - add r6, r6, #4 - add r1, r0, #1 - ldr r0, [sp, #8] - add r7, #0x88 - str r1, [sp, #0x14] - cmp r1, r0 - blt _0202AF50 -_0202AF80: - ldr r0, [sp, #8] - mov r4, #0 - str r4, [sp, #0xc] - cmp r0, #0 - ble _0202AFC6 - ldr r5, [sp, #0x10] - add r6, sp, #0x18 -_0202AF8E: - ldr r3, [sp, #4] - add r7, r5, #0 - mov r2, #0x11 -_0202AF94: - ldmia r3!, {r0, r1} - stmia r7!, {r0, r1} - sub r2, r2, #1 - bne _0202AF94 - ldr r1, [r6] - cmp r1, #0 - blt _0202AFAE - add r2, r1, #0 - mov r0, #0x88 - mul r2, r0 - ldr r1, _0202B018 ; =0x0000FFFF - ldr r0, [sp] - strh r1, [r0, r2] -_0202AFAE: - ldr r0, [sp, #4] - add r5, #0x88 - add r0, #0x88 - str r0, [sp, #4] - ldr r0, [sp, #0xc] - add r4, r4, #1 - add r1, r0, #1 - ldr r0, [sp, #8] - add r6, r6, #4 - str r1, [sp, #0xc] - cmp r1, r0 - blt _0202AF8E -_0202AFC6: - mov r0, #0 - mov ip, r0 - mov r0, #0x88 - add r1, r4, #0 - mul r1, r0 - ldr r0, [sp, #0x10] - ldr r3, [sp] - add r5, r0, r1 -_0202AFD6: - ldrh r1, [r3] - ldr r0, _0202B018 ; =0x0000FFFF - cmp r1, r0 - beq _0202AFF4 - add r6, r3, #0 - add r7, r5, #0 - mov r2, #0x11 -_0202AFE4: - ldmia r6!, {r0, r1} - stmia r7!, {r0, r1} - sub r2, r2, #1 - bne _0202AFE4 - add r4, r4, #1 - add r5, #0x88 - cmp r4, #0x10 - bge _0202B000 -_0202AFF4: - mov r0, ip - add r0, r0, #1 - add r3, #0x88 - mov ip, r0 - cmp r0, #0x10 - blt _0202AFD6 -_0202B000: - mov r2, #0x22 - ldr r0, [sp] - ldr r1, [sp, #0x10] - lsl r2, r2, #6 - bl memcpy - ldr r0, [sp, #0x10] - bl FreeToHeap - add sp, #0x2c - pop {r4, r5, r6, r7, pc} - nop -_0202B018: .word 0x0000FFFF - thumb_func_end sub_0202AF28 - - thumb_func_start sub_0202B01C -sub_0202B01C: ; 0x0202B01C - push {r3, r4, r5, r6} - mov r3, #0 - add r4, r0, #0 -_0202B022: - ldr r2, [r4, #0x10] - cmp r1, r2 - bne _0202B02E - mov r0, #1 - pop {r3, r4, r5, r6} - bx lr -_0202B02E: - add r3, r3, #1 - add r4, #0x88 - cmp r3, #0x10 - blt _0202B022 - mov r6, #0 - add r3, r6, #0 -_0202B03A: - add r4, r3, #0 - add r5, r0, #0 -_0202B03E: - ldr r2, [r5, #0x18] - cmp r1, r2 - bne _0202B04A - add r0, r6, #2 - pop {r3, r4, r5, r6} - bx lr -_0202B04A: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #0x10 - blt _0202B03E - add r6, r6, #1 - add r0, #0x88 - cmp r6, #0x10 - blt _0202B03A - mov r0, #0 - pop {r3, r4, r5, r6} - bx lr - thumb_func_end sub_0202B01C - - thumb_func_start sub_0202B060 -sub_0202B060: ; 0x0202B060 - push {r3, r4, r5, lr} - add r4, r0, #0 - mov r0, #0 - str r0, [r4] - strb r0, [r4, #4] - ldr r0, _0202B0AC ; =0x020F5670 - mov r1, #8 - ldrb r0, [r0] - strb r0, [r4, #5] - ldr r0, _0202B0B0 ; =0x020F566C - ldrb r0, [r0] - strb r0, [r4, #6] - mov r0, #0xff - strb r0, [r4, #7] - add r0, r4, #0 - add r0, #8 - bl StringFillEOS - ldr r0, _0202B0B4 ; =0x0000FFFF - mov r1, #0 - add r2, r4, #0 -_0202B08A: - add r1, r1, #1 - strh r0, [r2, #0x18] - add r2, r2, #2 - cmp r1, #3 - blt _0202B08A - mov r5, #0 - strh r5, [r4, #0x1e] - add r4, #0x20 -_0202B09A: - add r0, r4, #0 - bl MailMsg_init - add r5, r5, #1 - add r4, #8 - cmp r5, #3 - blt _0202B09A - pop {r3, r4, r5, pc} - nop -_0202B0AC: .word 0x020F5670 -_0202B0B0: .word 0x020F566C -_0202B0B4: .word 0x0000FFFF - thumb_func_end sub_0202B060 - - thumb_func_start sub_0202B0B8 -sub_0202B0B8: ; 0x0202B0B8 - ldrb r0, [r0, #7] - cmp r0, #0xb - bhi _0202B0C2 - mov r0, #1 - bx lr -_0202B0C2: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_0202B0B8 - - thumb_func_start sub_0202B0C8 -sub_0202B0C8: ; 0x0202B0C8 - push {r4, lr} - mov r1, #0x38 - bl AllocFromHeapAtEnd - add r4, r0, #0 - bl sub_0202B060 - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202B0C8 - - thumb_func_start sub_0202B0DC -sub_0202B0DC: ; 0x0202B0DC - ldr r3, _0202B0E4 ; =sub_020D4A50 - mov r2, #0x38 - bx r3 - nop -_0202B0E4: .word sub_020D4A50 - thumb_func_end sub_0202B0DC - - thumb_func_start sub_0202B0E8 -sub_0202B0E8: ; 0x0202B0E8 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5] - ldr r0, [r4] - cmp r1, r0 - bne _0202B11E - ldrb r1, [r5, #4] - ldrb r0, [r4, #4] - cmp r1, r0 - bne _0202B11E - ldrb r1, [r5, #5] - ldrb r0, [r4, #5] - cmp r1, r0 - bne _0202B11E - ldrb r1, [r5, #6] - ldrb r0, [r4, #6] - cmp r1, r0 - bne _0202B11E - ldrb r1, [r5, #7] - ldrb r0, [r4, #7] - cmp r1, r0 - bne _0202B11E - ldrh r1, [r5, #0x1e] - ldrh r0, [r4, #0x1e] - cmp r1, r0 - beq _0202B122 -_0202B11E: - mov r0, #0 - pop {r4, r5, r6, pc} -_0202B122: - add r0, r5, #0 - add r1, r4, #0 - add r0, #8 - add r1, #8 - bl StringNotEqual - cmp r0, #0 - beq _0202B136 - mov r0, #0 - pop {r4, r5, r6, pc} -_0202B136: - mov r2, #0 - add r3, r4, #0 - add r6, r5, #0 -_0202B13C: - ldrh r1, [r6, #0x18] - ldrh r0, [r3, #0x18] - cmp r1, r0 - beq _0202B148 - mov r0, #0 - pop {r4, r5, r6, pc} -_0202B148: - add r2, r2, #1 - add r3, r3, #2 - add r6, r6, #2 - cmp r2, #3 - blt _0202B13C - mov r6, #0 - add r4, #0x20 - add r5, #0x20 -_0202B158: - add r0, r5, #0 - add r1, r4, #0 - bl MailMsg_compare - cmp r0, #0 - bne _0202B168 - mov r0, #0 - pop {r4, r5, r6, pc} -_0202B168: - add r6, r6, #1 - add r4, #8 - add r5, #8 - cmp r6, #3 - blt _0202B158 - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202B0E8 - - thumb_func_start sub_0202B178 -sub_0202B178: ; 0x0202B178 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - str r0, [sp] - add r5, r1, #0 - str r2, [sp, #4] - add r4, r3, #0 - bl sub_0202B060 - ldr r0, [sp] - strb r5, [r0, #7] - add r0, r4, #0 - bl sub_02074904 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_02028E9C - add r4, r0, #0 - bl PlayerProfile_GetNamePtr - add r1, r0, #0 - ldr r0, [sp] - add r0, #8 - bl CopyU16StringArray - add r0, r4, #0 - bl PlayerProfile_GetTrainerGender - ldr r1, [sp] - strb r0, [r1, #4] - add r0, r4, #0 - bl sub_02028F84 - ldr r1, [sp] - mov r7, #0 - str r0, [r1] - add r0, r1, #0 - strh r7, [r0, #0x1e] - ldr r0, [sp, #0xc] - bl sub_02074640 - ldr r1, [sp, #4] - cmp r1, r0 - bge _0202B2C4 -_0202B1D0: - ldr r0, [sp, #0xc] - ldr r1, [sp, #4] - bl sub_02074644 - mov r1, #5 - mov r2, #0 - add r5, r0, #0 - bl sub_0206E540 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #8] - add r0, r5, #0 - mov r1, #0x4c - mov r2, #0 - bl sub_0206E540 - str r0, [sp, #0x10] - add r0, r5, #0 - mov r1, #0x70 - mov r2, #0 - bl sub_0206E540 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020741B0 - add r5, r0, #0 - ldr r0, [sp, #8] - ldr r2, [sp, #0x10] - add r1, r4, #0 - bl sub_02074364 - ldr r1, [sp] - mov ip, r0 - lsl r2, r7, #1 - add r1, #0x18 - ldrh r3, [r1, r2] - ldr r0, _0202B2C8 ; =0xFFFFF000 - and r0, r3 - lsl r3, r5, #0x10 - lsr r5, r3, #0x10 - ldr r3, _0202B2C8 ; =0xFFFFF000 - lsr r3, r3, #0x14 - and r3, r5 - orr r0, r3 - strh r0, [r1, r2] - ldrh r3, [r1, r2] - ldr r0, _0202B2CC ; =0xFFFF0FFF - and r0, r3 - mov r3, ip - lsl r3, r3, #0x1c - lsr r3, r3, #0x10 - orr r0, r3 - strh r0, [r1, r2] - ldrh r1, [r1, r2] - ldr r2, _0202B2D0 ; =0x020F67A4 - mov r0, #0 - lsl r1, r1, #0x14 - lsr r3, r1, #0x14 -_0202B248: - lsl r1, r0, #3 - add r1, r2, r1 - ldrh r5, [r1, #2] - cmp r5, r3 - bne _0202B29A - ldrb r5, [r1, #6] - cmp r4, r5 - bne _0202B29A - ldr r4, [sp] - lsl r6, r7, #1 - add r4, #0x18 - ldrh r0, [r4, r6] - ldr r2, _0202B2C8 ; =0xFFFFF000 - ldrh r1, [r1] - and r0, r2 - lsr r2, r2, #0x14 - and r1, r2 - orr r0, r1 - strh r0, [r4, r6] - ldr r0, [sp, #8] - ldr r2, [sp, #0x10] - mov r1, #0 - bl sub_02074364 - lsl r0, r0, #0x1c - ldrh r2, [r4, r6] - ldr r1, _0202B2CC ; =0xFFFF0FFF - lsr r0, r0, #0x10 - and r1, r2 - orr r0, r1 - strh r0, [r4, r6] - ldr r0, [sp] - add r1, r5, #0 - ldrh r2, [r0, #0x1e] - lsl r0, r7, #2 - add r0, r7, r0 - lsl r1, r0 - ldr r0, [sp] - orr r1, r2 - strh r1, [r0, #0x1e] - b _0202B2A4 -_0202B29A: - add r0, r0, #1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #7 - blo _0202B248 -_0202B2A4: - add r0, r7, #1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - cmp r7, #3 - bhs _0202B2C4 - ldr r0, [sp, #4] - add r0, r0, #1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #4] - ldr r0, [sp, #0xc] - bl sub_02074640 - ldr r1, [sp, #4] - cmp r1, r0 - blt _0202B1D0 -_0202B2C4: - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0202B2C8: .word 0xFFFFF000 -_0202B2CC: .word 0xFFFF0FFF -_0202B2D0: .word 0x020F67A4 - thumb_func_end sub_0202B178 - - thumb_func_start sub_0202B2D4 -sub_0202B2D4: ; 0x0202B2D4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - mov r0, #3 - add r6, r1, #0 - add r7, r2, #0 - str r3, [sp] - bl sub_0202B0C8 - add r4, r0, #0 - bl sub_0202B060 - add r1, r4, #0 - ldr r0, [sp] - strb r6, [r4, #7] - add r1, #8 - mov r2, #8 - bl CopyStringToU16Array - strb r7, [r4, #4] - add r0, sp, #0x10 - ldrb r0, [r0, #0x10] - mov r1, #1 - mov r2, #7 - str r0, [r4] - add r0, r4, #0 - add r0, #0x20 - bl MailMsg_SetMsgBankAndNum - add r0, r4, #0 - ldr r2, _0202B3D0 ; =0x00000545 - add r0, #0x20 - mov r1, #0 - bl MailMsg_SetFieldI - add r0, r4, #0 - ldr r2, _0202B3D4 ; =0x0000FFFF - add r0, #0x20 - mov r1, #1 - bl MailMsg_SetFieldI - add r0, r4, #0 - add r0, #0x28 - mov r1, #1 - mov r2, #0xf - bl MailMsg_SetMsgBankAndNum - add r0, r4, #0 - ldr r2, _0202B3D8 ; =0x0000055B - add r0, #0x28 - mov r1, #0 - bl MailMsg_SetFieldI - add r0, r4, #0 - ldr r2, _0202B3D4 ; =0x0000FFFF - add r0, #0x28 - mov r1, #1 - bl MailMsg_SetFieldI - add r0, r4, #0 - add r0, #0x30 - mov r1, #2 - mov r2, #1 - bl MailMsg_SetMsgBankAndNum - add r0, r4, #0 - add r0, #0x30 - mov r1, #0 - mov r2, #0x29 - bl MailMsg_SetFieldI - add r0, r4, #0 - ldr r2, _0202B3D4 ; =0x0000FFFF - add r0, #0x30 - mov r1, #1 - bl MailMsg_SetFieldI - mov r2, #0 - add r0, r5, #0 - mov r1, #5 - strh r2, [r4, #0x1e] - bl sub_0206E540 - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - add r0, r5, #0 - mov r1, #0x4c - mov r2, #0 - bl sub_0206E540 - add r7, r0, #0 - add r0, r5, #0 - mov r1, #0x70 - mov r2, #0 - bl sub_0206E540 - str r0, [sp, #4] - add r0, r5, #0 - bl sub_020741B0 - add r5, r0, #0 - ldr r1, [sp, #4] - add r0, r6, #0 - add r2, r7, #0 - bl sub_02074364 - lsl r3, r5, #0x10 - lsl r0, r0, #0x1c - ldrh r1, [r4, #0x18] - ldr r2, _0202B3DC ; =0xFFFFF000 - lsr r3, r3, #0x10 - and r1, r2 - lsr r2, r2, #0x14 - and r2, r3 - orr r1, r2 - strh r1, [r4, #0x18] - ldrh r2, [r4, #0x18] - ldr r1, _0202B3E0 ; =0xFFFF0FFF - lsr r0, r0, #0x10 - and r1, r2 - orr r0, r1 - strh r0, [r4, #0x18] - add r0, r4, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202B3D0: .word 0x00000545 -_0202B3D4: .word 0x0000FFFF -_0202B3D8: .word 0x0000055B -_0202B3DC: .word 0xFFFFF000 -_0202B3E0: .word 0xFFFF0FFF - thumb_func_end sub_0202B2D4 - - thumb_func_start sub_0202B3E4 -sub_0202B3E4: ; 0x0202B3E4 - ldr r0, [r0] - bx lr - thumb_func_end sub_0202B3E4 - - thumb_func_start sub_0202B3E8 -sub_0202B3E8: ; 0x0202B3E8 - add r0, #8 - bx lr - thumb_func_end sub_0202B3E8 - - thumb_func_start sub_0202B3EC -sub_0202B3EC: ; 0x0202B3EC - ldrb r0, [r0, #4] - bx lr - thumb_func_end sub_0202B3EC - - thumb_func_start sub_0202B3F0 -sub_0202B3F0: ; 0x0202B3F0 - ldrb r0, [r0, #7] - bx lr - thumb_func_end sub_0202B3F0 - - thumb_func_start sub_0202B3F4 -sub_0202B3F4: ; 0x0202B3F4 - cmp r1, #0xc - bhs _0202B3FA - strb r1, [r0, #7] -_0202B3FA: - bx lr - thumb_func_end sub_0202B3F4 - - thumb_func_start sub_0202B3FC -sub_0202B3FC: ; 0x0202B3FC - ldrb r0, [r0, #5] - bx lr - thumb_func_end sub_0202B3FC - - thumb_func_start sub_0202B400 -sub_0202B400: ; 0x0202B400 - ldrb r0, [r0, #6] - bx lr - thumb_func_end sub_0202B400 - - thumb_func_start sub_0202B404 -sub_0202B404: ; 0x0202B404 - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r4, r2, #0 - cmp r1, #3 - bhs _0202B4C0 - lsl r2, r1, #1 - add r0, r0, r2 - ldrh r5, [r0, #0x18] - lsl r6, r1, #2 - add r1, r1, r6 - add r0, sp, #0 - strh r5, [r0] - asr r3, r1 - lsl r5, r5, #0x14 - mov r1, #0x1f - ldr r2, _0202B4C8 ; =0x020F67A4 - mov r0, #0 - lsr r5, r5, #0x14 - and r3, r1 -_0202B42A: - ldrh r1, [r2] - cmp r5, r1 - bne _0202B46C - ldrb r1, [r2, #6] - cmp r1, r3 - bne _0202B46C - add r3, sp, #0 - lsl r1, r0, #3 - ldr r5, _0202B4CC ; =0x020F67A6 - ldrh r0, [r3] - ldr r2, _0202B4D0 ; =0xFFFFF000 - ldrh r5, [r5, r1] - and r0, r2 - lsr r2, r2, #0x14 - and r2, r5 - orr r0, r2 - strh r0, [r3] - ldr r0, _0202B4D4 ; =0x020F67A8 - ldr r2, _0202B4D8 ; =0x020F67AA - ldrh r0, [r0, r1] - ldrb r1, [r2, r1] - mov r2, #0 - bl sub_02074364 - add r2, sp, #0 - lsl r0, r0, #0x1c - ldrh r3, [r2] - ldr r1, _0202B4DC ; =0xFFFF0FFF - lsr r0, r0, #0x10 - and r1, r3 - orr r0, r1 - strh r0, [r2] - b _0202B474 -_0202B46C: - add r0, r0, #1 - add r2, #8 - cmp r0, #7 - blo _0202B42A -_0202B474: - add r1, sp, #0 - ldrh r2, [r1] - lsl r0, r2, #0x14 - lsr r3, r0, #0x14 - ldr r0, _0202B4E0 ; =0x00000222 - cmp r3, r0 - bls _0202B494 - ldr r0, _0202B4D0 ; =0xFFFFF000 - and r2, r0 - mov r0, #7 - orr r0, r2 - strh r0, [r1] - ldrh r2, [r1] - ldr r0, _0202B4DC ; =0xFFFF0FFF - and r0, r2 - strh r0, [r1] -_0202B494: - cmp r4, #0 - beq _0202B4A0 - cmp r4, #1 - beq _0202B4AC - cmp r4, #2 - b _0202B4B8 -_0202B4A0: - add r0, sp, #0 - ldrh r0, [r0] - add sp, #4 - lsl r0, r0, #0x14 - lsr r0, r0, #0x14 - pop {r3, r4, r5, r6, pc} -_0202B4AC: - add r0, sp, #0 - ldrh r0, [r0] - add sp, #4 - lsl r0, r0, #0x10 - lsr r0, r0, #0x1c - pop {r3, r4, r5, r6, pc} -_0202B4B8: - add r0, sp, #0 - add sp, #4 - ldrh r0, [r0] - pop {r3, r4, r5, r6, pc} -_0202B4C0: - mov r0, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - nop -_0202B4C8: .word 0x020F67A4 -_0202B4CC: .word 0x020F67A6 -_0202B4D0: .word 0xFFFFF000 -_0202B4D4: .word 0x020F67A8 -_0202B4D8: .word 0x020F67AA -_0202B4DC: .word 0xFFFF0FFF -_0202B4E0: .word 0x00000222 - thumb_func_end sub_0202B404 - - thumb_func_start sub_0202B4E4 -sub_0202B4E4: ; 0x0202B4E4 - ldrh r0, [r0, #0x1e] - bx lr - thumb_func_end sub_0202B4E4 - - thumb_func_start sub_0202B4E8 -sub_0202B4E8: ; 0x0202B4E8 - cmp r1, #3 - bhs _0202B4F4 - add r0, #0x20 - lsl r1, r1, #3 - add r0, r0, r1 - bx lr -_0202B4F4: - add r0, #0x20 - bx lr - thumb_func_end sub_0202B4E8 - - thumb_func_start sub_0202B4F8 -sub_0202B4F8: ; 0x0202B4F8 - push {r3, lr} - cmp r2, #3 - bhs _0202B508 - add r0, #0x20 - lsl r2, r2, #3 - add r0, r0, r2 - bl MailMsg_copy -_0202B508: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202B4F8 - - thumb_func_start sub_0202B50C -sub_0202B50C: ; 0x0202B50C - ldr r3, _0202B514 ; =SavArray_get - mov r1, #0xd - bx r3 - nop -_0202B514: .word SavArray_get - thumb_func_end sub_0202B50C - - thumb_func_start sub_0202B518 -sub_0202B518: ; 0x0202B518 - mov r0, #0x46 - lsl r0, r0, #4 - bx lr - .balign 4, 0 - thumb_func_end sub_0202B518 - - thumb_func_start sub_0202B520 -sub_0202B520: ; 0x0202B520 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 -_0202B526: - add r0, r5, #0 - bl sub_0202B060 - add r4, r4, #1 - add r5, #0x38 - cmp r4, #0x14 - blt _0202B526 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202B520 - - thumb_func_start sub_0202B538 -sub_0202B538: ; 0x0202B538 - ldr r3, _0202B540 ; =sub_0202B5B4 - mov r1, #0x14 - bx r3 - nop -_0202B540: .word sub_0202B5B4 - thumb_func_end sub_0202B538 - - thumb_func_start sub_0202B544 -sub_0202B544: ; 0x0202B544 - push {r3, lr} - bl sub_0202B604 - cmp r0, #0 - beq _0202B552 - bl sub_0202B060 -_0202B552: - pop {r3, pc} - thumb_func_end sub_0202B544 - - thumb_func_start sub_0202B554 -sub_0202B554: ; 0x0202B554 - push {r4, lr} - add r4, r3, #0 - bl sub_0202B604 - add r1, r0, #0 - beq _0202B566 - add r0, r4, #0 - bl sub_0202B0DC -_0202B566: - pop {r4, pc} - thumb_func_end sub_0202B554 - - thumb_func_start sub_0202B568 -sub_0202B568: ; 0x0202B568 - ldr r3, _0202B570 ; =sub_0202B5DC - mov r1, #0x14 - bx r3 - nop -_0202B570: .word sub_0202B5DC - thumb_func_end sub_0202B568 - - thumb_func_start sub_0202B574 -sub_0202B574: ; 0x0202B574 - push {r3, r4, r5, lr} - add r5, r3, #0 - bl sub_0202B604 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0202B0C8 - add r5, r0, #0 - cmp r4, #0 - beq _0202B592 - add r0, r4, #0 - add r1, r5, #0 - bl sub_0202B0DC -_0202B592: - add r0, r5, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202B574 - - thumb_func_start sub_0202B598 -sub_0202B598: ; 0x0202B598 - push {r4, lr} - add r4, r3, #0 - bl sub_0202B604 - cmp r0, #0 - bne _0202B5AC - add r0, r4, #0 - bl sub_0202B060 - pop {r4, pc} -_0202B5AC: - add r1, r4, #0 - bl sub_0202B0DC - pop {r4, pc} - thumb_func_end sub_0202B598 - - thumb_func_start sub_0202B5B4 -sub_0202B5B4: ; 0x0202B5B4 - push {r4, r5, r6, lr} - add r6, r1, #0 - add r5, r0, #0 - mov r4, #0 - cmp r6, #0 - ble _0202B5D6 -_0202B5C0: - add r0, r5, #0 - bl sub_0202B0B8 - cmp r0, #0 - bne _0202B5CE - add r0, r4, #0 - pop {r4, r5, r6, pc} -_0202B5CE: - add r4, r4, #1 - add r5, #0x38 - cmp r4, r6 - blt _0202B5C0 -_0202B5D6: - mov r0, #0 - mvn r0, r0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202B5B4 - - thumb_func_start sub_0202B5DC -sub_0202B5DC: ; 0x0202B5DC - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r7, r1, #0 - add r5, r0, #0 - add r6, r4, #0 - cmp r7, #0 - ble _0202B5FE -_0202B5EA: - add r0, r5, #0 - bl sub_0202B0B8 - cmp r0, #0 - beq _0202B5F6 - add r4, r4, #1 -_0202B5F6: - add r6, r6, #1 - add r5, #0x38 - cmp r6, r7 - blt _0202B5EA -_0202B5FE: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202B5DC - - thumb_func_start sub_0202B604 -sub_0202B604: ; 0x0202B604 - cmp r2, #0x14 - bge _0202B610 - mov r1, #0x38 - mul r1, r2 - add r0, r0, r1 - bx lr -_0202B610: - mov r0, #0 - bx lr - thumb_func_end sub_0202B604 - - thumb_func_start sub_0202B614 -sub_0202B614: ; 0x0202B614 - ldr r1, _0202B628 ; =0x00001234 - cmp r0, r1 - beq _0202B620 - ldr r1, _0202B62C ; =0x00002345 - cmp r0, r1 - bne _0202B624 -_0202B620: - mov r0, #1 - bx lr -_0202B624: - mov r0, #0 - bx lr - .balign 4, 0 -_0202B628: .word 0x00001234 -_0202B62C: .word 0x00002345 - thumb_func_end sub_0202B614 - - thumb_func_start sub_0202B630 -sub_0202B630: ; 0x0202B630 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r1, #0 - add r6, r2, #0 - add r4, r0, #0 - add r1, sp, #4 - add r2, sp, #0 - add r7, r3, #0 - bl ov41_02249780 - add r0, r4, #0 - bl ov41_02249710 - add r4, r0, #0 - mov r0, #1 - ldr r1, [sp, #4] - lsl r0, r0, #8 - cmp r1, r0 - blt _0202B65A - bl GF_AssertFail -_0202B65A: - mov r0, #1 - ldr r1, [sp] - lsl r0, r0, #8 - cmp r1, r0 - blt _0202B668 - bl GF_AssertFail -_0202B668: - mov r0, #0x7f - mvn r0, r0 - cmp r4, r0 - bgt _0202B674 - bl GF_AssertFail -_0202B674: - ldr r0, [sp, #4] - strb r0, [r5] - ldr r0, [sp] - strb r0, [r6] - strb r4, [r7] - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202B630 - - thumb_func_start sub_0202B684 -sub_0202B684: ; 0x0202B684 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - add r7, r3, #0 - bl sub_0206E540 - add r2, r5, #0 - strh r0, [r5, #8] - add r0, r4, #0 - mov r1, #0x75 - add r2, #0xa - bl sub_0206E540 - mov r1, #0 - add r0, r4, #0 - add r2, r1, #0 - bl sub_0206E540 - str r0, [r5] - add r0, r4, #0 - mov r1, #7 - mov r2, #0 - bl sub_0206E540 - str r0, [r5, #4] - add r0, r4, #0 - mov r1, #0x70 - mov r2, #0 - bl sub_0206E540 - add r1, r5, #0 - add r1, #0x33 - strb r0, [r1] - add r0, r5, #0 - add r0, #0x31 - strb r6, [r0] - add r0, r5, #0 - add r0, #0x32 - strb r7, [r0] - add r1, sp, #8 - mov r0, #0x10 - ldrsb r0, [r1, r0] - add r5, #0x30 - strb r0, [r5] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202B684 - - thumb_func_start sub_0202B6E8 -sub_0202B6E8: ; 0x0202B6E8 - push {r3, r4, r5, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r0, r2, #0 - add r1, sp, #4 - add r2, sp, #4 - add r1, #2 - add r2, #1 - add r3, sp, #4 - bl sub_0202B630 - add r3, sp, #4 - mov r0, #0 - ldrsb r0, [r3, r0] - add r1, r4, #0 - str r0, [sp] - ldrb r2, [r3, #2] - ldrb r3, [r3, #1] - add r0, r5, #0 - bl sub_0202B684 - add sp, #8 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202B6E8 - - thumb_func_start sub_0202B718 -sub_0202B718: ; 0x0202B718 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - add r1, r5, #0 - add r4, r2, #0 - add r1, #0x20 - mov r2, #8 - bl CopyStringToU16Array - add r5, #0x34 - strb r4, [r5] - pop {r3, r4, r5, pc} - thumb_func_end sub_0202B718 - - thumb_func_start sub_0202B730 -sub_0202B730: ; 0x0202B730 - push {r3, r4, r5, lr} - sub sp, #0x10 - add r4, r1, #0 - mov r1, #1 - add r5, r0, #0 - str r1, [sp] - ldr r0, [r5] - mov r2, #0 - str r0, [sp, #4] - str r1, [sp, #8] - ldr r0, [r5, #4] - add r3, r2, #0 - str r0, [sp, #0xc] - ldrh r1, [r5, #8] - add r0, r4, #0 - bl sub_0206DE38 - add r2, r5, #0 - add r0, r4, #0 - mov r1, #0x75 - add r2, #0xa - bl sub_0206EC40 - add r5, #0x33 - add r0, r4, #0 - mov r1, #0x70 - add r2, r5, #0 - bl sub_0206EC40 - add sp, #0x10 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202B730 - - thumb_func_start sub_0202B770 -sub_0202B770: ; 0x0202B770 - strb r1, [r0] - ldr r1, _0202B780 ; =0xFFFFFFF0 - strb r2, [r0, #1] - strb r3, [r0, #2] - add r1, sp - ldrb r1, [r1, #0x10] - strb r1, [r0, #3] - bx lr - .balign 4, 0 -_0202B780: .word 0xFFFFFFF0 - thumb_func_end sub_0202B770 - - thumb_func_start sub_0202B784 -sub_0202B784: ; 0x0202B784 - push {r4, r5, r6, lr} - add r4, r2, #0 - add r5, r0, #0 - add r6, r1, #0 - cmp r4, #0x3d - blo _0202B794 - bl GF_AssertFail -_0202B794: - lsr r2, r4, #0x1f - lsl r1, r4, #0x1d - sub r1, r1, r2 - mov r0, #0x1d - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - lsl r0, r0, #0x1a - lsr r1, r0, #0x18 - lsr r0, r4, #3 - lsl r0, r0, #0x18 - mov r2, #0xf - lsr r0, r0, #0x16 - lsl r2, r1 - ldr r3, [r5, r0] - mvn r2, r2 - and r2, r3 - str r2, [r5, r0] - add r2, r6, #0 - ldr r3, [r5, r0] - lsl r2, r1 - add r1, r3, #0 - orr r1, r2 - str r1, [r5, r0] - pop {r4, r5, r6, pc} - thumb_func_end sub_0202B784 - - thumb_func_start sub_0202B7C8 -sub_0202B7C8: ; 0x0202B7C8 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x3d - blo _0202B7D6 - bl GF_AssertFail -_0202B7D6: - lsr r3, r4, #0x1f - lsl r2, r4, #0x1d - lsr r0, r4, #3 - lsl r0, r0, #0x18 - lsr r0, r0, #0x16 - sub r2, r2, r3 - mov r1, #0x1d - ror r2, r1 - add r1, r3, r2 - lsl r1, r1, #0x18 - ldr r0, [r5, r0] - lsr r1, r1, #0x18 - lsl r1, r1, #0x1a - add r2, r0, #0 - lsr r1, r1, #0x18 - lsr r2, r1 - mov r0, #0xf - and r0, r2 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #9 - bls _0202B804 - mov r0, #9 -_0202B804: - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202B7C8 - - thumb_func_start sub_0202B808 -sub_0202B808: ; 0x0202B808 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - cmp r4, #2 - blo _0202B818 - bl GF_AssertFail -_0202B818: - lsr r2, r6, #0x1f - lsl r1, r6, #0x1b - sub r1, r1, r2 - mov r0, #0x1b - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - lsr r0, r6, #5 - lsl r0, r0, #0x18 - mov r2, #1 - lsr r0, r0, #0x16 - lsl r2, r1 - ldr r3, [r5, r0] - mvn r2, r2 - and r2, r3 - str r2, [r5, r0] - add r2, r4, #0 - ldr r3, [r5, r0] - lsl r2, r1 - add r1, r3, #0 - orr r1, r2 - str r1, [r5, r0] - pop {r4, r5, r6, pc} - thumb_func_end sub_0202B808 - - thumb_func_start sub_0202B848 -sub_0202B848: ; 0x0202B848 - lsr r2, r1, #5 - lsl r2, r2, #0x18 - lsr r2, r2, #0x16 - ldr r3, [r0, r2] - lsr r2, r1, #0x1f - lsl r1, r1, #0x1b - sub r1, r1, r2 - mov r0, #0x1b - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r1, r3, #0 - lsr r1, r0 - mov r0, #1 - and r0, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bx lr - .balign 4, 0 - thumb_func_end sub_0202B848 - - thumb_func_start sub_0202B870 -sub_0202B870: ; 0x0202B870 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - cmp r4, #0x12 - bls _0202B880 - bl GF_AssertFail -_0202B880: - lsr r2, r6, #0x1f - lsl r1, r6, #0x1e - sub r1, r1, r2 - mov r0, #0x1e - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - lsl r0, r0, #0x1b - lsr r1, r0, #0x18 - lsr r0, r6, #2 - lsl r0, r0, #0x18 - mov r2, #0xff - lsr r0, r0, #0x16 - lsl r2, r1 - ldr r3, [r5, r0] - mvn r2, r2 - and r2, r3 - str r2, [r5, r0] - add r2, r4, #0 - ldr r3, [r5, r0] - lsl r2, r1 - add r1, r3, #0 - orr r1, r2 - str r1, [r5, r0] - pop {r4, r5, r6, pc} - thumb_func_end sub_0202B870 - - thumb_func_start sub_0202B8B4 -sub_0202B8B4: ; 0x0202B8B4 - lsr r2, r1, #2 - lsl r2, r2, #0x18 - lsr r2, r2, #0x16 - ldr r0, [r0, r2] - lsr r3, r1, #0x1f - lsl r2, r1, #0x1e - sub r2, r2, r3 - mov r1, #0x1e - ror r2, r1 - add r1, r3, r2 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x1b - lsr r1, r1, #0x18 - lsr r0, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bx lr - thumb_func_end sub_0202B8B4 - - thumb_func_start sub_0202B8D8 -sub_0202B8D8: ; 0x0202B8D8 - push {r4, r5, r6, lr} - mov r5, #0 - add r6, r0, #0 - add r4, r5, #0 -_0202B8E0: - lsl r1, r4, #0x18 - add r0, r6, #0 - lsr r1, r1, #0x18 - bl sub_0202B8B4 - cmp r0, #0x12 - beq _0202B8F0 - add r5, r5, #1 -_0202B8F0: - add r4, r4, #1 - cmp r4, #0x12 - blt _0202B8E0 - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202B8D8 - - thumb_func_start sub_0202B8FC -sub_0202B8FC: ; 0x0202B8FC - cmp r0, #0x3d - bhs _0202B904 - mov r0, #1 - bx lr -_0202B904: - mov r0, #0 - bx lr - thumb_func_end sub_0202B8FC - - thumb_func_start sub_0202B908 -sub_0202B908: ; 0x0202B908 - push {r4, r5, r6, lr} - mov r1, #0 - mov r2, #0x40 - add r5, r0, #0 - bl memset - mov r4, #0 - add r5, #0x28 - mov r6, #0x12 -_0202B91A: - lsl r2, r4, #0x18 - add r0, r5, #0 - add r1, r6, #0 - lsr r2, r2, #0x18 - bl sub_0202B870 - add r4, r4, #1 - cmp r4, #0x12 - blt _0202B91A - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202B908 - - thumb_func_start sub_0202B930 -sub_0202B930: ; 0x0202B930 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - ldr r6, _0202B980 ; =0x00001234 - str r0, [sp] - add r5, r0, #0 - add r7, r4, #0 -_0202B93C: - add r0, r5, #0 - add r1, r7, #0 - mov r2, #0x74 - bl memset - str r6, [r5] - add r4, r4, #1 - add r5, #0x74 - cmp r4, #0xb - blt _0202B93C - ldr r0, [sp] - ldr r1, _0202B984 ; =0x000004FC - ldr r7, _0202B980 ; =0x00001234 - mov r6, #0 - add r4, r0, r1 - add r5, r0, #0 -_0202B95C: - add r0, r4, #0 - mov r1, #0 - mov r2, #0x98 - bl memset - ldr r0, _0202B984 ; =0x000004FC - add r6, r6, #1 - str r7, [r5, r0] - add r4, #0x98 - add r5, #0x98 - cmp r6, #5 - blt _0202B95C - ldr r1, _0202B988 ; =0x000007F4 - ldr r0, [sp] - add r0, r0, r1 - bl sub_0202B908 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202B980: .word 0x00001234 -_0202B984: .word 0x000004FC -_0202B988: .word 0x000007F4 - thumb_func_end sub_0202B930 - - thumb_func_start sub_0202B98C -sub_0202B98C: ; 0x0202B98C - ldr r0, _0202B990 ; =0x00000834 - bx lr - .balign 4, 0 -_0202B990: .word 0x00000834 - thumb_func_end sub_0202B98C - - thumb_func_start sub_0202B994 -sub_0202B994: ; 0x0202B994 - mov r0, #0x74 - bx lr - thumb_func_end sub_0202B994 - - thumb_func_start sub_0202B998 -sub_0202B998: ; 0x0202B998 - push {r4, lr} - mov r1, #0x74 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x74 - add r4, r0, #0 - bl memset - ldr r0, _0202B9B4 ; =0x00001234 - str r0, [r4] - add r0, r4, #0 - pop {r4, pc} - nop -_0202B9B4: .word 0x00001234 - thumb_func_end sub_0202B998 - - thumb_func_start sub_0202B9B8 -sub_0202B9B8: ; 0x0202B9B8 - push {r4, r5, r6, lr} - add r6, r1, #0 - add r5, r0, #0 - cmp r6, #0xb - blt _0202B9C6 - bl GF_AssertFail -_0202B9C6: - mov r0, #0x74 - add r4, r6, #0 - mul r4, r0 - ldr r0, [r5, r4] - bl sub_0202B614 - cmp r0, #0 - bne _0202B9DA - bl GF_AssertFail -_0202B9DA: - add r0, r5, r4 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202B9B8 - - thumb_func_start sub_0202B9E0 -sub_0202B9E0: ; 0x0202B9E0 - ldr r1, _0202B9E8 ; =0x000007F4 - add r0, r0, r1 - bx lr - nop -_0202B9E8: .word 0x000007F4 - thumb_func_end sub_0202B9E0 - - thumb_func_start sub_0202B9EC -sub_0202B9EC: ; 0x0202B9EC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0xb - blt _0202B9FA - bl GF_AssertFail -_0202B9FA: - mov r0, #0x74 - mul r0, r4 - add r0, r5, r0 - bl sub_0202BC10 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202B9EC - - thumb_func_start sub_0202BA08 -sub_0202BA08: ; 0x0202BA08 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #5 - blt _0202BA16 - bl GF_AssertFail -_0202BA16: - ldr r0, _0202BA28 ; =0x000004FC - add r1, r5, r0 - mov r0, #0x98 - mul r0, r4 - add r0, r1, r0 - bl sub_0202BEA4 - pop {r3, r4, r5, pc} - nop -_0202BA28: .word 0x000004FC - thumb_func_end sub_0202BA08 - - thumb_func_start sub_0202BA2C -sub_0202BA2C: ; 0x0202BA2C - push {r3, r4, r5, r6, r7, lr} - add r7, r1, #0 - add r5, r2, #0 - mov r4, #1 - bl sub_0202BA70 - add r6, r0, #0 - add r0, r7, #0 - bl sub_0202B8FC - cmp r0, #0 - beq _0202BA4E - add r0, r6, r5 - cmp r0, #9 - bls _0202BA56 - mov r4, #0 - b _0202BA56 -_0202BA4E: - add r0, r6, r5 - cmp r0, #1 - bls _0202BA56 - mov r4, #0 -_0202BA56: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202BA2C - - thumb_func_start sub_0202BA5C -sub_0202BA5C: ; 0x0202BA5C - push {r3, lr} - bl sub_0202BAB0 - cmp r0, #0x12 - beq _0202BA6A - mov r0, #1 - pop {r3, pc} -_0202BA6A: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202BA5C - - thumb_func_start sub_0202BA70 -sub_0202BA70: ; 0x0202BA70 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r4, r0, #0 - cmp r5, #0x64 - blo _0202BA7E - bl GF_AssertFail -_0202BA7E: - add r0, r5, #0 - bl sub_0202B8FC - cmp r0, #0 - beq _0202BA94 - lsl r1, r5, #0x18 - add r0, r4, #0 - lsr r1, r1, #0x18 - bl sub_0202B7C8 - pop {r3, r4, r5, pc} -_0202BA94: - cmp r5, #0x3d - bhs _0202BA9C - bl GF_AssertFail -_0202BA9C: - sub r5, #0x3d - lsl r0, r5, #0x18 - lsr r1, r0, #0x18 - add r4, #0x20 - lsl r1, r1, #0x18 - add r0, r4, #0 - lsr r1, r1, #0x18 - bl sub_0202B848 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202BA70 - - thumb_func_start sub_0202BAB0 -sub_0202BAB0: ; 0x0202BAB0 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x12 - blo _0202BABE - bl GF_AssertFail -_0202BABE: - add r5, #0x28 - lsl r1, r4, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0202B8B4 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202BAB0 - - thumb_func_start sub_0202BACC -sub_0202BACC: ; 0x0202BACC - push {r4, r5, r6, lr} - mov r5, #0 - add r6, r0, #0 - add r4, r5, #0 -_0202BAD4: - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202BA70 - add r4, r4, #1 - add r5, r5, r0 - cmp r4, #0x64 - blt _0202BAD4 - add r0, r5, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202BACC - - thumb_func_start sub_0202BAE8 -sub_0202BAE8: ; 0x0202BAE8 - push {r4, r5, r6, lr} - mov r5, #0 - add r6, r0, #0 - add r4, r5, #0 -_0202BAF0: - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202BAB0 - cmp r0, #0x12 - beq _0202BAFE - add r5, r5, #1 -_0202BAFE: - add r4, r4, #1 - cmp r4, #0x12 - blt _0202BAF0 - add r0, r5, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202BAE8 - - thumb_func_start sub_0202BB08 -sub_0202BB08: ; 0x0202BB08 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - cmp r4, #0x64 - blo _0202BB18 - bl GF_AssertFail -_0202BB18: - add r0, r4, #0 - bl sub_0202B8FC - cmp r0, #0 - beq _0202BB44 - lsl r1, r4, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0202B7C8 - add r0, r0, r6 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - cmp r1, #9 - bls _0202BB38 - mov r1, #9 -_0202BB38: - lsl r2, r4, #0x18 - add r0, r5, #0 - lsr r2, r2, #0x18 - bl sub_0202B784 - pop {r4, r5, r6, pc} -_0202BB44: - add r0, r5, #0 - lsl r1, r4, #0x18 - add r0, #0x20 - lsr r1, r1, #0x18 - bl sub_0202B848 - add r0, r0, r6 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, #1 - bls _0202BB5C - mov r6, #1 -_0202BB5C: - cmp r4, #0x3d - bhs _0202BB64 - bl GF_AssertFail -_0202BB64: - sub r4, #0x3d - lsl r0, r4, #0x18 - lsr r2, r0, #0x18 - add r5, #0x20 - lsl r2, r2, #0x18 - add r0, r5, #0 - add r1, r6, #0 - lsr r2, r2, #0x18 - bl sub_0202B808 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202BB08 - - thumb_func_start sub_0202BB7C -sub_0202BB7C: ; 0x0202BB7C - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - cmp r4, #0x64 - blo _0202BB8C - bl GF_AssertFail -_0202BB8C: - add r0, r4, #0 - bl sub_0202B8FC - cmp r0, #0 - beq _0202BBBA - lsl r1, r4, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0202B7C8 - cmp r0, r6 - bls _0202BBAC - sub r0, r0, r6 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - b _0202BBAE -_0202BBAC: - mov r1, #0 -_0202BBAE: - lsl r2, r4, #0x18 - add r0, r5, #0 - lsr r2, r2, #0x18 - bl sub_0202B784 - pop {r4, r5, r6, pc} -_0202BBBA: - cmp r4, #0x3d - bhs _0202BBC2 - bl GF_AssertFail -_0202BBC2: - sub r4, #0x3d - lsl r0, r4, #0x18 - lsr r2, r0, #0x18 - add r5, #0x20 - lsl r2, r2, #0x18 - add r0, r5, #0 - mov r1, #0 - lsr r2, r2, #0x18 - bl sub_0202B808 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202BB7C - - thumb_func_start sub_0202BBD8 -sub_0202BBD8: ; 0x0202BBD8 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x12 - blo _0202BBE6 - bl GF_AssertFail -_0202BBE6: - add r0, r5, #0 - lsl r1, r4, #0x18 - add r0, #0x28 - lsr r1, r1, #0x18 - bl sub_0202B8B4 - cmp r0, #0x12 - bne _0202BC0C - add r0, r5, #0 - add r0, #0x28 - bl sub_0202B8D8 - lsl r2, r4, #0x18 - add r5, #0x28 - add r1, r0, #0 - add r0, r5, #0 - lsr r2, r2, #0x18 - bl sub_0202B870 -_0202BC0C: - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202BBD8 - - thumb_func_start sub_0202BC10 -sub_0202BC10: ; 0x0202BC10 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - bl sub_0202B614 - cmp r0, #0 - bne _0202BC22 - bl GF_AssertFail -_0202BC22: - ldr r1, [r4] - ldr r0, _0202BC34 ; =0x00002345 - cmp r1, r0 - bne _0202BC2E - mov r0, #1 - pop {r4, pc} -_0202BC2E: - mov r0, #0 - pop {r4, pc} - nop -_0202BC34: .word 0x00002345 - thumb_func_end sub_0202BC10 - - thumb_func_start sub_0202BC38 -sub_0202BC38: ; 0x0202BC38 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - bl sub_0202B614 - cmp r0, #0 - bne _0202BC4A - bl GF_AssertFail -_0202BC4A: - ldr r0, _0202BC58 ; =0x00002345 - str r0, [r4] - ldr r0, _0202BC5C ; =0x020F5670 - add r4, #0x71 - ldrb r0, [r0] - strb r0, [r4] - pop {r4, pc} - .balign 4, 0 -_0202BC58: .word 0x00002345 -_0202BC5C: .word 0x020F5670 - thumb_func_end sub_0202BC38 - - thumb_func_start sub_0202BC60 -sub_0202BC60: ; 0x0202BC60 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - bl sub_0202B614 - cmp r0, #0 - bne _0202BC72 - bl GF_AssertFail -_0202BC72: - add r0, r4, #0 - mov r1, #0 - mov r2, #0x74 - bl memset - ldr r0, _0202BC84 ; =0x00001234 - str r0, [r4] - pop {r4, pc} - nop -_0202BC84: .word 0x00001234 - thumb_func_end sub_0202BC60 - - thumb_func_start sub_0202BC88 -sub_0202BC88: ; 0x0202BC88 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - add r6, r2, #0 - bl sub_0202B614 - cmp r0, #0 - bne _0202BC9E - bl GF_AssertFail -_0202BC9E: - add r0, r5, #4 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0202B6E8 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202BC88 - - thumb_func_start sub_0202BCAC -sub_0202BCAC: ; 0x0202BCAC - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, #4] - add r6, r2, #0 - bl sub_02015FCC - add r1, sp, #0xc - strh r0, [r1] - lsr r0, r0, #0x10 - strh r0, [r1, #2] - ldrh r0, [r1] - strh r0, [r1, #4] - ldrh r0, [r1, #2] - strh r0, [r1, #6] - ldr r0, [r4, #4] - bl sub_02015FF8 - add r7, r0, #0 - cmp r6, #0xa - blt _0202BCDC - bl GF_AssertFail -_0202BCDC: - add r1, sp, #0xc - mov r0, #4 - ldrsh r1, [r1, r0] - add r0, #0xfc - cmp r1, r0 - blt _0202BCEC - bl GF_AssertFail -_0202BCEC: - add r0, sp, #0xc - mov r1, #6 - ldrsh r0, [r0, r1] - add r1, #0xfa - str r0, [sp, #8] - ldr r0, [sp, #8] - cmp r0, r1 - blt _0202BD00 - bl GF_AssertFail -_0202BD00: - mov r0, #0x7f - mvn r0, r0 - cmp r7, r0 - bgt _0202BD0C - bl GF_AssertFail -_0202BD0C: - mov r0, #1 - lsl r0, r6 - ldr r1, [r5, #0x3c] - str r0, [sp, #4] - tst r0, r1 - beq _0202BD1C - bl GF_AssertFail -_0202BD1C: - ldr r0, [r5] - bl sub_0202B614 - cmp r0, #0 - bne _0202BD2A - bl GF_AssertFail -_0202BD2A: - lsl r0, r7, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - add r1, r5, #0 - add r3, sp, #0xc - mov r2, #4 - ldrsh r2, [r3, r2] - ldr r3, [sp, #8] - add r1, #0x48 - lsl r0, r6, #2 - add r0, r1, r0 - ldr r1, [r4] - lsl r2, r2, #0x18 - lsl r1, r1, #0x18 - lsl r3, r3, #0x18 - lsr r1, r1, #0x18 - lsr r2, r2, #0x18 - lsr r3, r3, #0x18 - bl sub_0202B770 - ldr r1, [r5, #0x3c] - ldr r0, [sp, #4] - orr r0, r1 - str r0, [r5, #0x3c] - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202BCAC - - thumb_func_start sub_0202BD60 -sub_0202BD60: ; 0x0202BD60 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - bl sub_0202B614 - cmp r0, #0 - bne _0202BD74 - bl GF_AssertFail -_0202BD74: - add r5, #0x70 - strb r4, [r5] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202BD60 - - thumb_func_start sub_0202BD7C -sub_0202BD7C: ; 0x0202BD7C - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - bl sub_0202B614 - cmp r0, #0 - bne _0202BD90 - bl GF_AssertFail -_0202BD90: - add r0, r5, #0 - add r0, #0x40 - bl MailMsg_init - add r5, #0x40 - add r0, r5, #0 - mov r1, #0 - add r2, r4, #0 - bl MailMsg_SetFieldI - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202BD7C - - thumb_func_start sub_0202BDA8 -sub_0202BDA8: ; 0x0202BDA8 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - bl sub_0202B614 - cmp r0, #0 - bne _0202BDBC - bl GF_AssertFail -_0202BDBC: - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0x74 - bl memcpy - pop {r3, r4, r5, pc} - thumb_func_end sub_0202BDA8 - - thumb_func_start sub_0202BDC8 -sub_0202BDC8: ; 0x0202BDC8 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - add r6, r2, #0 - bl sub_0202B614 - cmp r0, #0 - bne _0202BDDE - bl GF_AssertFail -_0202BDDE: - add r0, r5, #4 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0202B718 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202BDC8 - - thumb_func_start sub_0202BDEC -sub_0202BDEC: ; 0x0202BDEC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0xa - blt _0202BDFA - bl GF_AssertFail -_0202BDFA: - ldr r0, [r5] - bl sub_0202B614 - cmp r0, #0 - bne _0202BE08 - bl GF_AssertFail -_0202BE08: - mov r0, #1 - ldr r1, [r5, #0x3c] - lsl r0, r4 - and r0, r1 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202BDEC - - thumb_func_start sub_0202BE14 -sub_0202BE14: ; 0x0202BE14 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - bl sub_0202B614 - cmp r0, #0 - bne _0202BE26 - bl GF_AssertFail -_0202BE26: - add r0, r4, #4 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202BE14 - - thumb_func_start sub_0202BE2C -sub_0202BE2C: ; 0x0202BE2C - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0xa - blt _0202BE3A - bl GF_AssertFail -_0202BE3A: - mov r0, #1 - ldr r1, [r5, #0x3c] - lsl r0, r4 - tst r0, r1 - bne _0202BE48 - bl GF_AssertFail -_0202BE48: - ldr r0, [r5] - bl sub_0202B614 - cmp r0, #0 - bne _0202BE56 - bl GF_AssertFail -_0202BE56: - add r5, #0x48 - lsl r0, r4, #2 - add r0, r5, r0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202BE2C - - thumb_func_start sub_0202BE60 -sub_0202BE60: ; 0x0202BE60 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - bl sub_0202B614 - cmp r0, #0 - bne _0202BE74 - bl GF_AssertFail -_0202BE74: - add r0, r5, #4 - add r1, r4, #0 - bl sub_0202BECC - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202BE60 - - thumb_func_start sub_0202BE80 -sub_0202BE80: ; 0x0202BE80 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - bl sub_0202B614 - cmp r0, #0 - bne _0202BE92 - bl GF_AssertFail -_0202BE92: - add r4, #0x70 - ldrb r0, [r4] - pop {r4, pc} - thumb_func_end sub_0202BE80 - - thumb_func_start sub_0202BE98 -sub_0202BE98: ; 0x0202BE98 - ldr r3, _0202BEA0 ; =MailMsg_GetFieldI - add r0, #0x40 - mov r1, #0 - bx r3 - .balign 4, 0 -_0202BEA0: .word MailMsg_GetFieldI - thumb_func_end sub_0202BE98 - - thumb_func_start sub_0202BEA4 -sub_0202BEA4: ; 0x0202BEA4 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - bl sub_0202B614 - cmp r0, #0 - bne _0202BEB6 - bl GF_AssertFail -_0202BEB6: - ldr r1, [r4] - ldr r0, _0202BEC8 ; =0x00002345 - cmp r1, r0 - bne _0202BEC2 - mov r0, #1 - pop {r4, pc} -_0202BEC2: - mov r0, #0 - pop {r4, pc} - nop -_0202BEC8: .word 0x00002345 - thumb_func_end sub_0202BEA4 - - thumb_func_start sub_0202BECC -sub_0202BECC: ; 0x0202BECC - add r2, r0, #0 - ldr r3, _0202BED8 ; =CopyU16ArrayToString - add r2, #0x20 - add r0, r1, #0 - add r1, r2, #0 - bx r3 - .balign 4, 0 -_0202BED8: .word CopyU16ArrayToString - thumb_func_end sub_0202BECC - - thumb_func_start sub_0202BEDC -sub_0202BEDC: ; 0x0202BEDC - mov r1, #0x30 - ldrsb r0, [r0, r1] - bx lr - .balign 4, 0 - thumb_func_end sub_0202BEDC - - thumb_func_start sub_0202BEE4 -sub_0202BEE4: ; 0x0202BEE4 - add r0, #0x31 - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202BEE4 - - thumb_func_start sub_0202BEEC -sub_0202BEEC: ; 0x0202BEEC - add r0, #0x32 - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202BEEC - - thumb_func_start sub_0202BEF4 -sub_0202BEF4: ; 0x0202BEF4 - ldr r3, _0202BEF8 ; =sub_0202B730 - bx r3 - .balign 4, 0 -_0202BEF8: .word sub_0202B730 - thumb_func_end sub_0202BEF4 - - thumb_func_start sub_0202BEFC -sub_0202BEFC: ; 0x0202BEFC - ldrb r0, [r0] - bx lr - thumb_func_end sub_0202BEFC - - thumb_func_start sub_0202BF00 -sub_0202BF00: ; 0x0202BF00 - ldrb r0, [r0, #1] - bx lr - thumb_func_end sub_0202BF00 - - thumb_func_start sub_0202BF04 -sub_0202BF04: ; 0x0202BF04 - ldrb r0, [r0, #2] - bx lr - thumb_func_end sub_0202BF04 - - thumb_func_start sub_0202BF08 -sub_0202BF08: ; 0x0202BF08 - mov r1, #3 - ldrsb r0, [r0, r1] - bx lr - .balign 4, 0 - thumb_func_end sub_0202BF08 - - thumb_func_start sub_0202BF10 -sub_0202BF10: ; 0x0202BF10 - push {r4, r5, r6, r7, lr} - sub sp, #0x1fc - sub sp, #0x1fc - sub sp, #0xc - add r7, r0, #0 - mov r0, #1 - add r4, r1, #0 - str r0, [sp] - add r0, r4, #0 - bl sub_0202BC10 - cmp r0, #1 - bne _0202BF6E - ldr r1, _0202BF7C ; =0xEDB88320 - add r0, sp, #4 - bl sub_020E3960 - add r0, sp, #4 - add r1, r4, #0 - mov r2, #0x74 - bl sub_020E3A58 - add r6, r0, #0 - mov r5, #0 -_0202BF40: - add r0, r7, #0 - add r1, r5, #0 - bl sub_0202B9B8 - add r4, r0, #0 - ldr r1, _0202BF7C ; =0xEDB88320 - add r0, sp, #4 - bl sub_020E3960 - add r0, sp, #4 - add r1, r4, #0 - mov r2, #0x74 - bl sub_020E3A58 - cmp r0, r6 - bne _0202BF66 - mov r0, #0 - str r0, [sp] - b _0202BF72 -_0202BF66: - add r5, r5, #1 - cmp r5, #0xb - blt _0202BF40 - b _0202BF72 -_0202BF6E: - mov r0, #0 - str r0, [sp] -_0202BF72: - ldr r0, [sp] - add sp, #0x1fc - add sp, #0x1fc - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0202BF7C: .word 0xEDB88320 - thumb_func_end sub_0202BF10 - - thumb_func_start sub_0202BF80 -sub_0202BF80: ; 0x0202BF80 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp] - mov r7, #0 - ldr r0, [sp] - str r1, [sp, #4] - add r5, r2, #0 - add r6, r7, #0 - str r3, [sp, #8] - cmp r0, #0 - ble _0202BFBA - add r4, r3, #0 -_0202BF98: - ldr r0, [sp, #4] - cmp r6, r0 - beq _0202BFB0 - ldr r1, [r4] - cmp r1, #0 - beq _0202BFB0 - add r0, r5, #0 - bl sub_0202BF10 - cmp r0, #1 - bne _0202BFB0 - add r7, r7, #1 -_0202BFB0: - ldr r0, [sp] - add r6, r6, #1 - add r4, r4, #4 - cmp r6, r0 - blt _0202BF98 -_0202BFBA: - mov r4, #0xa -_0202BFBC: - add r1, r4, r7 - cmp r1, #0xb - bge _0202BFDA - add r0, r5, #0 - bl sub_0202B9B8 - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202B9B8 - add r1, r0, #0 - add r0, r6, #0 - bl sub_0202BDA8 -_0202BFDA: - sub r4, r4, #1 - cmp r4, #1 - bge _0202BFBC - ldr r0, [sp] - mov r6, #1 - mov r4, #0 - cmp r0, #0 - ble _0202C022 -_0202BFEA: - ldr r0, [sp, #4] - cmp r4, r0 - beq _0202C014 - ldr r0, [sp, #8] - ldr r7, [r0] - cmp r7, #0 - beq _0202C014 - add r0, r5, #0 - add r1, r7, #0 - bl sub_0202BF10 - cmp r0, #1 - bne _0202C014 - add r0, r5, #0 - add r1, r6, #0 - bl sub_0202B9B8 - add r1, r7, #0 - add r6, r6, #1 - bl sub_0202BDA8 -_0202C014: - ldr r0, [sp, #8] - add r4, r4, #1 - add r0, r0, #4 - str r0, [sp, #8] - ldr r0, [sp] - cmp r4, r0 - blt _0202BFEA -_0202C022: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202BF80 - - thumb_func_start sub_0202C028 -sub_0202C028: ; 0x0202C028 - ldr r3, _0202C030 ; =SavArray_get - mov r1, #0xc - bx r3 - nop -_0202C030: .word SavArray_get - thumb_func_end sub_0202C028 - - thumb_func_start sub_0202C034 -sub_0202C034: ; 0x0202C034 - mov r0, #0x23 - lsl r0, r0, #6 - bx lr - .balign 4, 0 - thumb_func_end sub_0202C034 - - thumb_func_start sub_0202C03C -sub_0202C03C: ; 0x0202C03C - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - mov r2, #0x23 - mov r0, #0 - add r1, r7, #0 - lsl r2, r2, #6 - bl MIi_CpuClearFast - mov r0, #0x1d - lsl r0, r0, #4 - add r1, r0, #0 - add r2, r0, #0 - ldr r4, _0202C084 ; =0x0000FFFF - mov r5, #0 - add r6, r7, #0 - mov r3, #2 - sub r1, #0x10 - add r2, #0x1e -_0202C060: - strh r4, [r6, r0] - strh r4, [r6, r1] - strb r3, [r6, r2] - add r5, r5, #1 - add r6, #0x38 - cmp r5, #0x20 - blt _0202C060 - add r0, r7, #0 - bl sub_0203A01C - mov r2, #0x23 - ldr r1, _0202C088 ; =0x021D2230 - add r0, r7, #0 - lsl r2, r2, #6 - bl sub_020D4A50 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202C084: .word 0x0000FFFF -_0202C088: .word 0x021D2230 - thumb_func_end sub_0202C03C - - thumb_func_start sub_0202C08C -sub_0202C08C: ; 0x0202C08C - bx lr - .balign 4, 0 - thumb_func_end sub_0202C08C - - thumb_func_start sub_0202C090 -sub_0202C090: ; 0x0202C090 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r7, r2, #0 - cmp r4, #0x20 - blt _0202C0A0 - bl GF_AssertFail -_0202C0A0: - cmp r7, #0xc - bhi _0202C170 - add r0, r7, r7 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0202C0B0: ; jump table - .short _0202C0CA - _0202C0B0 - 2 ; case 0 - .short _0202C0D8 - _0202C0B0 - 2 ; case 1 - .short _0202C0E6 - _0202C0B0 - 2 ; case 2 - .short _0202C0F2 - _0202C0B0 - 2 ; case 3 - .short _0202C100 - _0202C0B0 - 2 ; case 4 - .short _0202C10C - _0202C0B0 - 2 ; case 5 - .short _0202C11A - _0202C0B0 - 2 ; case 6 - .short _0202C132 - _0202C0B0 - 2 ; case 7 - .short _0202C126 - _0202C0B0 - 2 ; case 8 - .short _0202C13E - _0202C0B0 - 2 ; case 9 - .short _0202C14C - _0202C0B0 - 2 ; case 10 - .short _0202C158 - _0202C0B0 - 2 ; case 11 - .short _0202C166 - _0202C0B0 - 2 ; case 12 -_0202C0CA: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x1e - lsl r0, r0, #4 - ldr r6, [r1, r0] - b _0202C170 -_0202C0D8: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x79 - lsl r0, r0, #2 - ldrh r6, [r1, r0] - b _0202C170 -_0202C0E6: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C174 ; =0x000001E6 - ldrh r6, [r1, r0] - b _0202C170 -_0202C0F2: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x7a - lsl r0, r0, #2 - ldrh r6, [r1, r0] - b _0202C170 -_0202C100: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C178 ; =0x000001EA - ldrh r6, [r1, r0] - b _0202C170 -_0202C10C: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x7b - lsl r0, r0, #2 - ldrb r6, [r1, r0] - b _0202C170 -_0202C11A: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C17C ; =0x000001ED - ldrb r6, [r1, r0] - b _0202C170 -_0202C126: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C180 ; =0x000001EE - ldrb r6, [r1, r0] - b _0202C170 -_0202C132: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C184 ; =0x000001EF - ldrb r6, [r1, r0] - b _0202C170 -_0202C13E: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x1f - lsl r0, r0, #4 - ldrh r6, [r1, r0] - b _0202C170 -_0202C14C: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C188 ; =0x000001F2 - ldrh r6, [r1, r0] - b _0202C170 -_0202C158: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x7d - lsl r0, r0, #2 - ldrh r6, [r1, r0] - b _0202C170 -_0202C166: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C18C ; =0x000001F6 - ldrh r6, [r1, r0] -_0202C170: - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202C174: .word 0x000001E6 -_0202C178: .word 0x000001EA -_0202C17C: .word 0x000001ED -_0202C180: .word 0x000001EE -_0202C184: .word 0x000001EF -_0202C188: .word 0x000001F2 -_0202C18C: .word 0x000001F6 - thumb_func_end sub_0202C090 - - thumb_func_start sub_0202C190 -sub_0202C190: ; 0x0202C190 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r7, r2, #0 - add r6, r3, #0 - cmp r4, #0x20 - blt _0202C1A2 - bl GF_AssertFail -_0202C1A2: - cmp r7, #9 - bhi _0202C228 - add r0, r7, r7 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0202C1B2: ; jump table - .short _0202C1C6 - _0202C1B2 - 2 ; case 0 - .short _0202C1D4 - _0202C1B2 - 2 ; case 1 - .short _0202C1DA - _0202C1B2 - 2 ; case 2 - .short _0202C1E0 - _0202C1B2 - 2 ; case 3 - .short _0202C1E6 - _0202C1B2 - 2 ; case 4 - .short _0202C1F2 - _0202C1B2 - 2 ; case 5 - .short _0202C200 - _0202C1B2 - 2 ; case 6 - .short _0202C218 - _0202C1B2 - 2 ; case 7 - .short _0202C20C - _0202C1B2 - 2 ; case 8 - .short _0202C224 - _0202C1B2 - 2 ; case 9 -_0202C1C6: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x1e - lsl r0, r0, #4 - str r6, [r1, r0] - pop {r3, r4, r5, r6, r7, pc} -_0202C1D4: - bl GF_AssertFail - pop {r3, r4, r5, r6, r7, pc} -_0202C1DA: - bl GF_AssertFail - pop {r3, r4, r5, r6, r7, pc} -_0202C1E0: - bl GF_AssertFail - pop {r3, r4, r5, r6, r7, pc} -_0202C1E6: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C22C ; =0x000001EA - strh r6, [r1, r0] - pop {r3, r4, r5, r6, r7, pc} -_0202C1F2: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x7b - lsl r0, r0, #2 - strb r6, [r1, r0] - pop {r3, r4, r5, r6, r7, pc} -_0202C200: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C230 ; =0x000001ED - strb r6, [r1, r0] - pop {r3, r4, r5, r6, r7, pc} -_0202C20C: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C234 ; =0x000001EE - strb r6, [r1, r0] - pop {r3, r4, r5, r6, r7, pc} -_0202C218: - mov r0, #0x38 - mul r0, r4 - add r1, r5, r0 - ldr r0, _0202C238 ; =0x000001EF - strb r6, [r1, r0] - pop {r3, r4, r5, r6, r7, pc} -_0202C224: - bl GF_AssertFail -_0202C228: - pop {r3, r4, r5, r6, r7, pc} - nop -_0202C22C: .word 0x000001EA -_0202C230: .word 0x000001ED -_0202C234: .word 0x000001EE -_0202C238: .word 0x000001EF - thumb_func_end sub_0202C190 - - thumb_func_start sub_0202C23C -sub_0202C23C: ; 0x0202C23C - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x20 - blt _0202C24A - bl GF_AssertFail -_0202C24A: - mov r0, #0xc - add r5, #0x40 - mul r0, r4 - add r0, r5, r0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202C23C - - thumb_func_start sub_0202C254 -sub_0202C254: ; 0x0202C254 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x20 - blt _0202C262 - bl GF_AssertFail -_0202C262: - mov r0, #0x1d - lsl r0, r0, #4 - add r1, r5, r0 - mov r0, #0x38 - mul r0, r4 - add r0, r1, r0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202C254 - - thumb_func_start sub_0202C270 -sub_0202C270: ; 0x0202C270 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - cmp r4, #0x20 - blt _0202C280 - bl GF_AssertFail -_0202C280: - mov r1, #0x1d - lsl r1, r1, #4 - add r2, r5, r1 - mov r1, #0x38 - mul r1, r4 - add r1, r2, r1 - add r0, r6, #0 - mov r2, #0x10 - bl CopyStringToU16Array - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202C270 - - thumb_func_start sub_0202C298 -sub_0202C298: ; 0x0202C298 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x20 - blt _0202C2A6 - bl GF_AssertFail -_0202C2A6: - mov r0, #7 - lsl r0, r0, #6 - add r1, r5, r0 - mov r0, #0x38 - mul r0, r4 - add r0, r1, r0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202C298 - - thumb_func_start sub_0202C2B4 -sub_0202C2B4: ; 0x0202C2B4 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - cmp r4, #0x20 - blt _0202C2C4 - bl GF_AssertFail -_0202C2C4: - mov r1, #7 - lsl r1, r1, #6 - add r2, r5, r1 - mov r1, #0x38 - mul r1, r4 - add r1, r2, r1 - add r0, r6, #0 - mov r2, #0x10 - bl CopyStringToU16Array - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202C2B4 - - thumb_func_start sub_0202C2DC -sub_0202C2DC: ; 0x0202C2DC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x20 - blt _0202C2EA - bl GF_AssertFail -_0202C2EA: - mov r0, #0xc - add r5, #0x40 - mul r0, r4 - add r0, r5, r0 - bl sub_020A008C - pop {r3, r4, r5, pc} - thumb_func_end sub_0202C2DC - - thumb_func_start sub_0202C2F8 -sub_0202C2F8: ; 0x0202C2F8 - push {r4, r5, r6, lr} - mov r5, #0 - add r6, r0, #0 - add r4, r5, #0 -_0202C300: - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202C2DC - cmp r0, #0 - beq _0202C30E - add r5, r5, #1 -_0202C30E: - add r4, r4, #1 - cmp r4, #0x20 - blt _0202C300 - add r0, r5, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202C2F8 - - thumb_func_start sub_0202C318 -sub_0202C318: ; 0x0202C318 - push {r4, r5, r6, lr} - mov r6, #0 - add r5, r0, #0 - add r4, r6, #0 -_0202C320: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202C2DC - cmp r0, #0 - beq _0202C32E - add r6, r4, #1 -_0202C32E: - add r4, r4, #1 - cmp r4, #0x20 - blt _0202C320 - add r0, r6, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202C318 - - thumb_func_start sub_0202C338 -sub_0202C338: ; 0x0202C338 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp] - add r5, r1, #0 - bmi _0202C3D8 - cmp r5, #0x20 - bge _0202C3D8 - cmp r5, #0x1f - bge _0202C39E - mov r1, #7 - lsl r1, r1, #6 - add r0, r0, r1 - str r0, [sp, #4] - mov r0, #0x38 - add r1, r5, #0 - mul r1, r0 - ldr r0, [sp, #4] - add r6, r0, r1 - ldr r0, [sp] - add r1, r5, #0 - str r0, [sp, #8] - add r0, #0x40 - str r0, [sp, #8] - mov r0, #0xc - mul r1, r0 - ldr r0, [sp, #8] - add r4, r0, r1 -_0202C36E: - add r7, r5, #1 - mov r0, #0x38 - add r1, r7, #0 - mul r1, r0 - ldr r0, [sp, #4] - mov r2, #0x38 - add r0, r0, r1 - add r1, r6, #0 - bl sub_020D4A50 - mov r0, #0xc - add r1, r7, #0 - mul r1, r0 - ldr r0, [sp, #8] - mov r2, #0xc - add r0, r0, r1 - add r1, r4, #0 - bl sub_020D4A50 - add r5, r5, #1 - add r6, #0x38 - add r4, #0xc - cmp r5, #0x1f - blt _0202C36E -_0202C39E: - mov r2, #7 - ldr r1, [sp] - lsl r2, r2, #6 - add r2, r1, r2 - ldr r1, _0202C3DC ; =0x000006C8 - mov r0, #0 - add r1, r2, r1 - mov r2, #0x38 - bl MIi_CpuClearFast - ldr r2, [sp] - mov r1, #0x5d - add r2, #0x40 - lsl r1, r1, #2 - add r1, r2, r1 - mov r0, #0 - mov r2, #0xc - bl MIi_CpuClearFast - ldr r2, _0202C3E0 ; =0x00000898 - ldr r3, _0202C3E4 ; =0x0000FFFF - ldr r0, [sp] - add r1, r2, #0 - strh r3, [r0, r2] - sub r1, #0x10 - strh r3, [r0, r1] - mov r1, #2 - add r2, #0x1e - strb r1, [r0, r2] -_0202C3D8: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0202C3DC: .word 0x000006C8 -_0202C3E0: .word 0x00000898 -_0202C3E4: .word 0x0000FFFF - thumb_func_end sub_0202C338 - - thumb_func_start sub_0202C3E8 -sub_0202C3E8: ; 0x0202C3E8 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r1, #0 - add r6, r2, #0 - str r0, [sp] - cmp r5, #0 - blt _0202C462 - cmp r5, #0x20 - bge _0202C462 - cmp r6, #0 - blt _0202C462 - cmp r6, #0x20 - bge _0202C462 - mov r2, #0x38 - lsl r1, r2, #3 - add r0, r0, r1 - str r0, [sp, #4] - add r4, r6, #0 - add r3, r5, #0 - mul r4, r2 - ldr r1, [sp, #4] - mul r3, r2 - add r0, r0, r4 - add r1, r1, r3 - bl sub_020D4A50 - ldr r7, [sp] - mov r2, #0xc - add r0, r6, #0 - add r1, r5, #0 - mul r0, r2 - add r7, #0x40 - mul r1, r2 - str r0, [sp, #8] - add r0, r7, r0 - add r1, r7, r1 - bl sub_020D4A50 - ldr r1, [sp, #4] - mov r0, #0 - add r1, r1, r4 - mov r2, #0x38 - bl MIi_CpuClearFast - ldr r1, [sp, #8] - mov r0, #0 - add r1, r7, r1 - mov r2, #0xc - bl MIi_CpuClearFast - ldr r0, [sp] - mov r1, #0x1d - add r2, r0, r4 - ldr r3, _0202C468 ; =0x0000FFFF - lsl r1, r1, #4 - strh r3, [r2, r1] - ldr r0, [sp, #4] - add r1, #0x1e - strh r3, [r0, r4] - mov r0, #2 - strb r0, [r2, r1] -_0202C462: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_0202C468: .word 0x0000FFFF - thumb_func_end sub_0202C3E8 - - thumb_func_start sub_0202C46C -sub_0202C46C: ; 0x0202C46C - push {r3, r4, r5, r6, r7, lr} - mov r5, #0 - mvn r5, r5 - add r6, r0, #0 - mov r4, #0 - add r7, r5, #0 -_0202C478: - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202C2DC - cmp r0, #0 - beq _0202C49C - mov r0, #0 - mvn r0, r0 - cmp r5, r0 - beq _0202C4A6 - add r0, r6, #0 - add r1, r5, #0 - add r2, r4, #0 - bl sub_0202C3E8 - add r4, r7, #0 - add r5, r7, #0 - b _0202C4A6 -_0202C49C: - mov r0, #0 - mvn r0, r0 - cmp r5, r0 - bne _0202C4A6 - add r5, r4, #0 -_0202C4A6: - add r4, r4, #1 - cmp r4, #0x20 - blt _0202C478 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202C46C - - thumb_func_start sub_0202C4B0 -sub_0202C4B0: ; 0x0202C4B0 - push {r3, r4, r5, lr} - sub sp, #0x10 - add r5, r0, #0 - add r0, sp, #0 - add r4, r1, #0 - bl GF_RTC_CopyDate - cmp r4, #0 - blt _0202C4E6 - cmp r4, #0x20 - bge _0202C4E6 - mov r0, #0x38 - add r2, r4, #0 - mul r2, r0 - mov r0, #0x7d - ldr r1, [sp] - lsl r0, r0, #4 - add r1, r1, r0 - ldr r0, _0202C4EC ; =0x000001EA - add r3, r5, r2 - strh r1, [r3, r0] - add r1, r0, #2 - ldr r2, [sp, #4] - add r0, r0, #3 - strb r2, [r3, r1] - ldr r1, [sp, #8] - strb r1, [r3, r0] -_0202C4E6: - add sp, #0x10 - pop {r3, r4, r5, pc} - nop -_0202C4EC: .word 0x000001EA - thumb_func_end sub_0202C4B0 - - thumb_func_start sub_0202C4F0 -sub_0202C4F0: ; 0x0202C4F0 - push {r4, r5, r6, lr} - add r4, r0, #0 - cmp r1, #0 - blt _0202C548 - cmp r1, #0x20 - bge _0202C548 - mov r5, #0x79 - mov r0, #0x38 - lsl r5, r5, #2 - mul r0, r1 - add r5, r4, r5 - ldrh r6, [r5, r0] - add r2, r6, r2 - strh r2, [r5, r0] - ldrh r6, [r5, r0] - ldr r2, _0202C54C ; =0x0000270F - cmp r6, r2 - bls _0202C516 - strh r2, [r5, r0] -_0202C516: - ldr r2, _0202C550 ; =0x000001E6 - add r2, r4, r2 - ldrh r5, [r2, r0] - add r3, r5, r3 - strh r3, [r2, r0] - ldrh r5, [r2, r0] - ldr r3, _0202C54C ; =0x0000270F - cmp r5, r3 - bls _0202C52A - strh r3, [r2, r0] -_0202C52A: - mov r2, #0x7a - lsl r2, r2, #2 - add r2, r4, r2 - ldrh r5, [r2, r0] - ldr r3, [sp, #0x10] - add r3, r5, r3 - strh r3, [r2, r0] - ldrh r5, [r2, r0] - ldr r3, _0202C54C ; =0x0000270F - cmp r5, r3 - bls _0202C542 - strh r3, [r2, r0] -_0202C542: - add r0, r4, #0 - bl sub_0202C4B0 -_0202C548: - pop {r4, r5, r6, pc} - nop -_0202C54C: .word 0x0000270F -_0202C550: .word 0x000001E6 - thumb_func_end sub_0202C4F0 - - thumb_func_start sub_0202C554 -sub_0202C554: ; 0x0202C554 - push {r3, r4, r5, lr} - cmp r1, #0 - blt _0202C57A - cmp r1, #0x20 - bge _0202C57A - ldr r3, _0202C57C ; =0x000001F2 - add r4, r0, r3 - mov r3, #0x38 - mul r3, r1 - ldrh r5, [r4, r3] - add r2, r5, r2 - strh r2, [r4, r3] - ldrh r5, [r4, r3] - ldr r2, _0202C580 ; =0x0000270F - cmp r5, r2 - bls _0202C576 - strh r2, [r4, r3] -_0202C576: - bl sub_0202C4B0 -_0202C57A: - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202C57C: .word 0x000001F2 -_0202C580: .word 0x0000270F - thumb_func_end sub_0202C554 - - thumb_func_start sub_0202C584 -sub_0202C584: ; 0x0202C584 - push {r3, r4, r5, lr} - cmp r1, #0 - blt _0202C5AC - cmp r1, #0x20 - bge _0202C5AC - mov r3, #0x7d - lsl r3, r3, #2 - add r4, r0, r3 - mov r3, #0x38 - mul r3, r1 - ldrh r5, [r4, r3] - add r2, r5, r2 - strh r2, [r4, r3] - ldrh r5, [r4, r3] - ldr r2, _0202C5B0 ; =0x0000270F - cmp r5, r2 - bls _0202C5A8 - strh r2, [r4, r3] -_0202C5A8: - bl sub_0202C4B0 -_0202C5AC: - pop {r3, r4, r5, pc} - nop -_0202C5B0: .word 0x0000270F - thumb_func_end sub_0202C584 - - thumb_func_start sub_0202C5B4 -sub_0202C5B4: ; 0x0202C5B4 - push {r3, r4, r5, lr} - cmp r1, #0 - blt _0202C5DA - cmp r1, #0x20 - bge _0202C5DA - ldr r3, _0202C5DC ; =0x000001F6 - add r4, r0, r3 - mov r3, #0x38 - mul r3, r1 - ldrh r5, [r4, r3] - add r2, r5, r2 - strh r2, [r4, r3] - ldrh r5, [r4, r3] - ldr r2, _0202C5E0 ; =0x0000270F - cmp r5, r2 - bls _0202C5D6 - strh r2, [r4, r3] -_0202C5D6: - bl sub_0202C4B0 -_0202C5DA: - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202C5DC: .word 0x000001F6 -_0202C5E0: .word 0x0000270F - thumb_func_end sub_0202C5B4 - - thumb_func_start sub_0202C5E4 -sub_0202C5E4: ; 0x0202C5E4 - push {r4, r5, r6, lr} - add r5, r0, #0 - cmp r2, #0 - blt _0202C6DE - cmp r2, #0x20 - bge _0202C6DE - cmp r1, #0 - blt _0202C6DE - cmp r1, #0x20 - bge _0202C6DE - add r4, r1, #0 - mov r0, #0x38 - mov r3, #0x79 - mul r4, r0 - add r1, r2, #0 - lsl r3, r3, #2 - mul r1, r0 - add r2, r5, r3 - add r6, r5, r4 - ldrh r0, [r2, r1] - ldrh r3, [r6, r3] - add r0, r0, r3 - strh r0, [r2, r1] - ldrh r3, [r2, r1] - ldr r0, _0202C6E0 ; =0x0000270F - cmp r3, r0 - bls _0202C61C - strh r0, [r2, r1] -_0202C61C: - ldr r3, _0202C6E4 ; =0x000001E6 - add r6, r5, r4 - add r2, r5, r3 - ldrh r0, [r2, r1] - ldrh r3, [r6, r3] - add r0, r0, r3 - strh r0, [r2, r1] - ldrh r3, [r2, r1] - ldr r0, _0202C6E0 ; =0x0000270F - cmp r3, r0 - bls _0202C634 - strh r0, [r2, r1] -_0202C634: - mov r3, #0x7a - lsl r3, r3, #2 - add r2, r5, r3 - add r6, r5, r4 - ldrh r0, [r2, r1] - ldrh r3, [r6, r3] - add r0, r0, r3 - strh r0, [r2, r1] - ldrh r3, [r2, r1] - ldr r0, _0202C6E0 ; =0x0000270F - cmp r3, r0 - bls _0202C64E - strh r0, [r2, r1] -_0202C64E: - mov r3, #0x1f - lsl r3, r3, #4 - add r2, r5, r3 - add r6, r5, r4 - ldrh r0, [r2, r1] - ldrh r3, [r6, r3] - add r0, r0, r3 - strh r0, [r2, r1] - ldrh r3, [r2, r1] - ldr r0, _0202C6E0 ; =0x0000270F - cmp r3, r0 - bls _0202C668 - strh r0, [r2, r1] -_0202C668: - ldr r3, _0202C6E8 ; =0x000001F2 - add r6, r5, r4 - add r2, r5, r3 - ldrh r0, [r2, r1] - ldrh r3, [r6, r3] - add r0, r0, r3 - strh r0, [r2, r1] - ldrh r3, [r2, r1] - ldr r0, _0202C6E0 ; =0x0000270F - cmp r3, r0 - bls _0202C680 - strh r0, [r2, r1] -_0202C680: - mov r3, #0x7d - lsl r3, r3, #2 - add r2, r5, r3 - add r6, r5, r4 - ldrh r0, [r2, r1] - ldrh r3, [r6, r3] - add r0, r0, r3 - strh r0, [r2, r1] - ldrh r3, [r2, r1] - ldr r0, _0202C6E0 ; =0x0000270F - cmp r3, r0 - bls _0202C69A - strh r0, [r2, r1] -_0202C69A: - ldr r3, _0202C6EC ; =0x000001F6 - add r6, r5, r4 - add r2, r5, r3 - ldrh r0, [r2, r1] - ldrh r3, [r6, r3] - add r0, r0, r3 - strh r0, [r2, r1] - ldrh r3, [r2, r1] - ldr r0, _0202C6E0 ; =0x0000270F - cmp r3, r0 - bls _0202C6B2 - strh r0, [r2, r1] -_0202C6B2: - mov r0, #7 - lsl r0, r0, #6 - add r6, r5, r0 - add r0, r6, r4 - add r1, r6, r1 - mov r2, #0x10 - bl sub_020D48B4 - mov r0, #0 - add r1, r6, r4 - mov r2, #0x38 - bl MIi_CpuClearFast - mov r0, #0x1d - ldr r1, _0202C6F0 ; =0x0000FFFF - add r2, r5, r4 - lsl r0, r0, #4 - strh r1, [r2, r0] - strh r1, [r6, r4] - mov r1, #2 - add r0, #0x1e - strb r1, [r2, r0] -_0202C6DE: - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202C6E0: .word 0x0000270F -_0202C6E4: .word 0x000001E6 -_0202C6E8: .word 0x000001F2 -_0202C6EC: .word 0x000001F6 -_0202C6F0: .word 0x0000FFFF - thumb_func_end sub_0202C5E4 - - thumb_func_start sub_0202C6F4 -sub_0202C6F4: ; 0x0202C6F4 - ldr r0, _0202C6F8 ; =0x021D2230 - bx lr - .balign 4, 0 -_0202C6F8: .word 0x021D2230 - thumb_func_end sub_0202C6F4 - - thumb_func_start sub_0202C6FC -sub_0202C6FC: ; 0x0202C6FC - push {r3, lr} - mov r1, #0x19 - bl SavArray_get - mov r2, #0x23 - ldr r1, _0202C710 ; =0x021D2230 - lsl r2, r2, #6 - bl sub_020D4A50 - pop {r3, pc} - .balign 4, 0 -_0202C710: .word 0x021D2230 - thumb_func_end sub_0202C6FC - - thumb_func_start sub_0202C714 -sub_0202C714: ; 0x0202C714 - push {r3, lr} - mov r1, #0x19 - bl SavArray_get - add r1, r0, #0 - mov r2, #0x23 - ldr r0, _0202C72C ; =0x021D2230 - lsl r2, r2, #6 - bl sub_020D4A50 - pop {r3, pc} - nop -_0202C72C: .word 0x021D2230 - thumb_func_end sub_0202C714 - - thumb_func_start sub_0202C730 -sub_0202C730: ; 0x0202C730 - mov r0, #0x42 - lsl r0, r0, #2 - bx lr - .balign 4, 0 - thumb_func_end sub_0202C730 - - thumb_func_start sub_0202C738 -sub_0202C738: ; 0x0202C738 - push {r4, r5} - add r5, r2, #0 - mov r3, #0x2c - add r2, r1, #0 - mul r2, r3 - mul r5, r3 - add r4, r0, r2 - add r3, r0, r5 - mov r2, #5 -_0202C74A: - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0202C74A - ldr r0, [r4] - str r0, [r3] - pop {r4, r5} - bx lr - .balign 4, 0 - thumb_func_end sub_0202C738 - - thumb_func_start sub_0202C75C -sub_0202C75C: ; 0x0202C75C - push {r4, lr} - add r4, r0, #0 - mov r2, #0x42 - mov r0, #0 - add r1, r4, #0 - lsl r2, r2, #2 - bl MIi_CpuClearFast - ldr r0, _0202C784 ; =0x0000FFFF - mov r1, #0 - add r2, r4, #0 -_0202C772: - strh r0, [r2] - strh r0, [r2, #0x10] - add r1, r1, #1 - add r2, #0x2c - cmp r1, #6 - blt _0202C772 - ldr r0, _0202C788 ; =0x021D2AF0 - str r4, [r0] - pop {r4, pc} - .balign 4, 0 -_0202C784: .word 0x0000FFFF -_0202C788: .word 0x021D2AF0 - thumb_func_end sub_0202C75C - - thumb_func_start sub_0202C78C -sub_0202C78C: ; 0x0202C78C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r7, #0 -_0202C794: - mov r4, #0 - cmp r6, #0 - bls _0202C7A8 -_0202C79A: - ldr r0, [r5, #0x28] - bl PRandom - add r4, r4, #1 - str r0, [r5, #0x28] - cmp r4, r6 - blo _0202C79A -_0202C7A8: - add r7, r7, #1 - add r5, #0x2c - cmp r7, #6 - blo _0202C794 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202C78C - - thumb_func_start sub_0202C7B4 -sub_0202C7B4: ; 0x0202C7B4 - mov r2, #0x2c - mul r2, r1 - add r0, r0, r2 - ldr r0, [r0, #0x24] - bx lr - .balign 4, 0 - thumb_func_end sub_0202C7B4 - - thumb_func_start sub_0202C7C0 -sub_0202C7C0: ; 0x0202C7C0 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0x2c - add r4, r1, #0 - mul r4, r0 - add r0, r5, r4 - str r2, [r0, #0x24] - add r0, r2, #0 - bl PRandom - add r1, r5, r4 - str r0, [r1, #0x28] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202C7C0 - - thumb_func_start sub_0202C7DC -sub_0202C7DC: ; 0x0202C7DC - ldr r0, [r0, #0x54] - bx lr - thumb_func_end sub_0202C7DC - - thumb_func_start sub_0202C7E0 -sub_0202C7E0: ; 0x0202C7E0 - cmp r2, #0 - bne _0202C7EC - mov r2, #0x2c - mul r2, r1 - add r0, r0, r2 - bx lr -_0202C7EC: - mov r2, #0x2c - mul r2, r1 - add r0, r0, r2 - add r0, #0x10 - bx lr - .balign 4, 0 - thumb_func_end sub_0202C7E0 - - thumb_func_start sub_0202C7F8 -sub_0202C7F8: ; 0x0202C7F8 - push {r4, lr} - add r4, r0, #0 - cmp r2, #0 - bne _0202C810 - mov r2, #0x2c - mul r2, r1 - add r1, r4, r2 - add r0, r3, #0 - mov r2, #8 - bl CopyStringToU16Array - pop {r4, pc} -_0202C810: - mov r2, #0x2c - mul r2, r1 - add r1, r4, r2 - add r0, r3, #0 - add r1, #0x10 - mov r2, #8 - bl CopyStringToU16Array - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202C7F8 - - thumb_func_start sub_0202C824 -sub_0202C824: ; 0x0202C824 - mov r3, #0x2c - mul r3, r1 - add r0, r0, r3 - add r0, #0x20 - strb r2, [r0] - bx lr - thumb_func_end sub_0202C824 - - thumb_func_start sub_0202C830 -sub_0202C830: ; 0x0202C830 - mov r2, #0x2c - mul r2, r1 - add r0, r0, r2 - add r0, #0x20 - ldrb r0, [r0] - bx lr - thumb_func_end sub_0202C830 - - thumb_func_start sub_0202C83C -sub_0202C83C: ; 0x0202C83C - mov r2, #0x2c - mul r2, r1 - add r0, r0, r2 - add r0, #0x21 - ldrb r0, [r0] - bx lr - thumb_func_end sub_0202C83C - - thumb_func_start sub_0202C848 -sub_0202C848: ; 0x0202C848 - mov r3, #0x2c - mul r3, r1 - add r0, r0, r3 - add r0, #0x21 - strb r2, [r0] - bx lr - thumb_func_end sub_0202C848 - - thumb_func_start sub_0202C854 -sub_0202C854: ; 0x0202C854 - ldr r3, _0202C85C ; =SavArray_get - mov r1, #0xe - bx r3 - nop -_0202C85C: .word SavArray_get - thumb_func_end sub_0202C854 - - thumb_func_start sub_0202C860 -sub_0202C860: ; 0x0202C860 - push {r3, lr} - mov r2, #0x2c - mul r2, r1 - add r0, r0, r2 - bl sub_0202C8C4 - cmp r0, #0 - bne _0202C874 - mov r0, #1 - pop {r3, pc} -_0202C874: - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0202C860 - - thumb_func_start sub_0202C878 -sub_0202C878: ; 0x0202C878 - mov r2, #0x2c - add r3, r0, #0 - mul r2, r1 - add r1, r3, r2 - ldr r3, _0202C888 ; =sub_0202C8E4 - add r0, #0x2c - bx r3 - nop -_0202C888: .word sub_0202C8E4 - thumb_func_end sub_0202C878 - - thumb_func_start sub_0202C88C -sub_0202C88C: ; 0x0202C88C - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - ldrh r1, [r6] - add r5, r0, #0 - ldr r0, _0202C8C0 ; =0x0000FFFF - cmp r1, r0 - bne _0202C89E - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202C89E: - mov r4, #0 - mov r7, #8 -_0202C8A2: - add r0, r6, #0 - add r1, r5, #0 - add r2, r7, #0 - bl StringNotEqualN - cmp r0, #0 - bne _0202C8B4 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202C8B4: - add r4, r4, #1 - add r5, #0x2c - cmp r4, #6 - blt _0202C8A2 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202C8C0: .word 0x0000FFFF - thumb_func_end sub_0202C88C - - thumb_func_start sub_0202C8C4 -sub_0202C8C4: ; 0x0202C8C4 - ldrh r2, [r0] - ldr r1, _0202C8E0 ; =0x0000FFFF - cmp r2, r1 - bne _0202C8D0 - mov r0, #1 - bx lr -_0202C8D0: - ldrh r0, [r0, #0x10] - cmp r0, r1 - bne _0202C8DA - mov r0, #1 - bx lr -_0202C8DA: - mov r0, #0 - bx lr - nop -_0202C8E0: .word 0x0000FFFF - thumb_func_end sub_0202C8C4 - - thumb_func_start sub_0202C8E4 -sub_0202C8E4: ; 0x0202C8E4 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - add r0, #0x10 - add r1, #0x10 - mov r2, #8 - bl StringNotEqualN - cmp r0, #0 - beq _0202C8FC - mov r0, #0 - pop {r3, r4, r5, pc} -_0202C8FC: - add r0, r5, #0 - add r1, r4, #0 - mov r2, #8 - bl StringNotEqualN - cmp r0, #0 - beq _0202C90E - mov r0, #0 - pop {r3, r4, r5, pc} -_0202C90E: - add r0, r5, #0 - add r0, #0x20 - ldrb r1, [r0] - add r0, r4, #0 - add r0, #0x20 - ldrb r0, [r0] - cmp r1, r0 - beq _0202C922 - mov r0, #0 - pop {r3, r4, r5, pc} -_0202C922: - add r0, r5, #0 - add r0, #0x21 - ldrb r1, [r0] - add r0, r4, #0 - add r0, #0x21 - ldrb r0, [r0] - cmp r1, r0 - beq _0202C936 - mov r0, #0 - pop {r3, r4, r5, pc} -_0202C936: - ldr r1, [r5, #0x24] - ldr r0, [r4, #0x24] - cmp r1, r0 - bne _0202C942 - mov r0, #1 - pop {r3, r4, r5, pc} -_0202C942: - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202C8E4 - - thumb_func_start sub_0202C948 -sub_0202C948: ; 0x0202C948 - mov r1, #0 - strh r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202C948 - - thumb_func_start sub_0202C950 -sub_0202C950: ; 0x0202C950 - ldrh r0, [r0] - bx lr - thumb_func_end sub_0202C950 - - thumb_func_start sub_0202C954 -sub_0202C954: ; 0x0202C954 - ldrh r3, [r0] - ldr r2, _0202C970 ; =0x0000C350 - cmp r3, r2 - blo _0202C960 - mov r0, #0 - bx lr -_0202C960: - add r1, r3, r1 - strh r1, [r0] - ldrh r1, [r0] - cmp r1, r2 - bls _0202C96C - strh r2, [r0] -_0202C96C: - mov r0, #1 - bx lr - .balign 4, 0 -_0202C970: .word 0x0000C350 - thumb_func_end sub_0202C954 - - thumb_func_start sub_0202C974 -sub_0202C974: ; 0x0202C974 - ldrh r0, [r0] - add r1, r1, r0 - ldr r0, _0202C988 ; =0x0000C350 - cmp r1, r0 - bhi _0202C982 - mov r0, #1 - bx lr -_0202C982: - mov r0, #0 - bx lr - nop -_0202C988: .word 0x0000C350 - thumb_func_end sub_0202C974 - - thumb_func_start sub_0202C98C -sub_0202C98C: ; 0x0202C98C - ldrh r2, [r0] - cmp r2, r1 - bhs _0202C996 - mov r0, #0 - bx lr -_0202C996: - sub r1, r2, r1 - strh r1, [r0] - mov r0, #1 - bx lr - .balign 4, 0 - thumb_func_end sub_0202C98C - - thumb_func_start sub_0202C9A0 -sub_0202C9A0: ; 0x0202C9A0 - mov r0, #0x62 - lsl r0, r0, #4 - bx lr - .balign 4, 0 - thumb_func_end sub_0202C9A0 - - thumb_func_start sub_0202C9A8 -sub_0202C9A8: ; 0x0202C9A8 - push {r4, r5, r6, lr} - mov r2, #0x62 - add r4, r0, #0 - mov r1, #0 - lsl r2, r2, #4 - bl memset - add r0, r4, #0 - bl sub_0202CA10 - add r5, r0, #0 - mov r4, #0 - mov r6, #0x8c -_0202C9C2: - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - add r1, r6, #0 - add r2, r5, #0 - bl sub_0202CA1C - add r4, r4, #1 - cmp r4, #8 - blt _0202C9C2 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202C9A8 - - thumb_func_start sub_0202C9D8 -sub_0202C9D8: ; 0x0202C9D8 - ldr r3, _0202C9E0 ; =SavArray_get - mov r1, #0xf - bx r3 - nop -_0202C9E0: .word SavArray_get - thumb_func_end sub_0202C9D8 - - thumb_func_start sub_0202C9E4 -sub_0202C9E4: ; 0x0202C9E4 - add r0, #0x20 - bx lr - thumb_func_end sub_0202C9E4 - - thumb_func_start sub_0202C9E8 -sub_0202C9E8: ; 0x0202C9E8 - push {r3, r4} - mov r3, #0 - mov r1, #6 - add r4, r3, #0 - add r0, #0x20 - lsl r1, r1, #6 -_0202C9F4: - ldr r2, [r0] - add r4, r4, #1 - add r3, r3, r2 - add r0, r0, #4 - cmp r4, r1 - blt _0202C9F4 - cmp r3, #0 - beq _0202CA0A - mov r0, #1 - pop {r3, r4} - bx lr -_0202CA0A: - mov r0, #0 - pop {r3, r4} - bx lr - thumb_func_end sub_0202C9E8 - - thumb_func_start sub_0202CA10 -sub_0202CA10: ; 0x0202CA10 - bx lr - .balign 4, 0 - thumb_func_end sub_0202CA10 - - thumb_func_start sub_0202CA14 -sub_0202CA14: ; 0x0202CA14 - lsl r0, r0, #2 - ldr r0, [r1, r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202CA14 - - thumb_func_start sub_0202CA1C -sub_0202CA1C: ; 0x0202CA1C - lsl r0, r0, #2 - str r1, [r2, r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202CA1C - - thumb_func_start sub_0202CA24 -sub_0202CA24: ; 0x0202CA24 - ldr r0, _0202CA28 ; =0x00000FF8 - bx lr - .balign 4, 0 -_0202CA28: .word 0x00000FF8 - thumb_func_end sub_0202CA24 - - thumb_func_start sub_0202CA2C -sub_0202CA2C: ; 0x0202CA2C - push {r3, lr} - ldr r2, _0202CA40 ; =0x00000FF8 - add r1, r0, #0 - mov r0, #0 - bl sub_020D47EC - mov r0, #0x1a - bl sub_0202893C - pop {r3, pc} - .balign 4, 0 -_0202CA40: .word 0x00000FF8 - thumb_func_end sub_0202CA2C - - thumb_func_start sub_0202CA44 -sub_0202CA44: ; 0x0202CA44 - push {r4, lr} - add r4, r0, #0 - mov r0, #0x1a - bl sub_02028900 - add r0, r4, #0 - mov r1, #0x1a - bl SavArray_get - pop {r4, pc} - thumb_func_end sub_0202CA44 - - thumb_func_start sub_0202CA58 -sub_0202CA58: ; 0x0202CA58 - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r0, #1 - add r5, r1, #0 - lsl r0, r0, #8 - add r4, r2, #0 - cmp r5, r0 - blt _0202CA6C - bl GF_AssertFail -_0202CA6C: - cmp r4, #0x40 - blt _0202CA74 - bl GF_AssertFail -_0202CA74: - strb r5, [r6, #5] - add r0, r6, #0 - add r1, r5, #0 - add r2, r4, #0 - mov r3, #3 - strb r4, [r6, #6] - bl sub_0202CAE4 - mov r0, #0x1a - bl sub_0202893C - pop {r4, r5, r6, pc} - thumb_func_end sub_0202CA58 - - thumb_func_start sub_0202CA8C -sub_0202CA8C: ; 0x0202CA8C - ldrb r0, [r0, #5] - bx lr - thumb_func_end sub_0202CA8C - - thumb_func_start sub_0202CA90 -sub_0202CA90: ; 0x0202CA90 - ldrb r0, [r0, #6] - bx lr - thumb_func_end sub_0202CA90 - - thumb_func_start sub_0202CA94 -sub_0202CA94: ; 0x0202CA94 - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r0, #1 - add r5, r1, #0 - lsl r0, r0, #8 - add r4, r2, #0 - cmp r5, r0 - blt _0202CAA8 - bl GF_AssertFail -_0202CAA8: - cmp r4, #0x40 - blt _0202CAB0 - bl GF_AssertFail -_0202CAB0: - cmp r5, #0 - bne _0202CAB8 - mov r0, #0 - pop {r4, r5, r6, pc} -_0202CAB8: - asr r0, r4, #1 - lsr r0, r0, #0x1e - add r0, r4, r0 - asr r1, r0, #2 - sub r0, r5, #1 - lsl r0, r0, #4 - add r0, r1, r0 - add r0, r6, r0 - ldrb r3, [r0, #7] - lsr r2, r4, #0x1f - lsl r1, r4, #0x1e - sub r1, r1, r2 - mov r0, #0x1e - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #1 - add r1, r3, #0 - asr r1, r0 - mov r0, #3 - and r0, r1 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202CA94 - - thumb_func_start sub_0202CAE4 -sub_0202CAE4: ; 0x0202CAE4 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r5, r1, #0 - add r4, r2, #0 - str r3, [sp] - cmp r3, #4 - blt _0202CAF6 - bl GF_AssertFail -_0202CAF6: - mov r0, #1 - lsl r0, r0, #8 - cmp r5, r0 - blt _0202CB02 - bl GF_AssertFail -_0202CB02: - cmp r4, #0x40 - blt _0202CB0A - bl GF_AssertFail -_0202CB0A: - cmp r5, #0 - beq _0202CB58 - asr r0, r4, #1 - lsr r0, r0, #0x1e - add r0, r4, r0 - asr r2, r0, #2 - sub r0, r5, #1 - lsl r0, r0, #4 - add r0, r2, r0 - lsr r2, r4, #0x1f - lsl r4, r4, #0x1e - sub r4, r4, r2 - mov r3, #0x1e - ror r4, r3 - add r2, r2, r4 - lsl r6, r2, #1 - mov r2, #3 - add r3, r2, #0 - add r1, r7, #7 - ldrb r4, [r1, r0] - lsl r3, r6 - mov r2, #0xff - eor r2, r3 - and r2, r4 - ldr r3, [sp] - strb r2, [r1, r0] - ldrb r2, [r1, r0] - lsl r3, r6 - orr r2, r3 - strb r2, [r1, r0] - cmp r5, #0x67 - beq _0202CB52 - add r0, r7, #0 - mov r1, #1 - bl sub_0202CB60 -_0202CB52: - mov r0, #0x1a - bl sub_0202893C -_0202CB58: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202CAE4 - - thumb_func_start sub_0202CB5C -sub_0202CB5C: ; 0x0202CB5C - ldrb r0, [r0, #4] - bx lr - thumb_func_end sub_0202CB5C - - thumb_func_start sub_0202CB60 -sub_0202CB60: ; 0x0202CB60 - ldr r3, _0202CB68 ; =sub_0202893C - strb r1, [r0, #4] - mov r0, #0x1a - bx r3 - .balign 4, 0 -_0202CB68: .word sub_0202893C - thumb_func_end sub_0202CB60 - - thumb_func_start sub_0202CB6C -sub_0202CB6C: ; 0x0202CB6C - push {r3, r4, r5, r6, r7, lr} - str r0, [sp] - mov r0, #3 - mov r7, #0 - mov r4, #2 - mov r6, #0xff - add r3, r0, #0 -_0202CB7A: - ldr r1, [sp] - add r1, r1, r7 - ldrb r2, [r1, #7] - mov ip, r1 - mov r1, #0 -_0202CB84: - add r5, r2, #0 - asr r5, r1 - and r5, r3 - cmp r5, #1 - bne _0202CBA4 - add r5, r0, #0 - lsl r5, r1 - eor r5, r6 - and r2, r5 - lsl r2, r2, #0x18 - lsr r5, r2, #0x18 - add r2, r4, #0 - lsl r2, r1 - orr r2, r5 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 -_0202CBA4: - add r1, r1, #2 - cmp r1, #8 - blt _0202CB84 - mov r1, ip - strb r2, [r1, #7] - mov r1, #0xff - add r7, r7, #1 - lsl r1, r1, #4 - cmp r7, r1 - blt _0202CB7A - mov r0, #0x1a - bl sub_0202893C - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202CB6C - - thumb_func_start sub_0202CBC0 -sub_0202CBC0: ; 0x0202CBC0 - mov r0, #0x17 - lsl r0, r0, #4 - bx lr - .balign 4, 0 - thumb_func_end sub_0202CBC0 - - thumb_func_start sub_0202CBC8 -sub_0202CBC8: ; 0x0202CBC8 - push {r4, lr} - add r4, r0, #0 - bl sub_0202CBC0 - add r2, r0, #0 - add r0, r4, #0 - mov r1, #0 - bl MIi_CpuFill8 - pop {r4, pc} - thumb_func_end sub_0202CBC8 - - thumb_func_start sub_0202CBDC -sub_0202CBDC: ; 0x0202CBDC - ldr r3, _0202CBE4 ; =sub_020D4A50 - mov r2, #0x18 - bx r3 - nop -_0202CBE4: .word sub_020D4A50 - thumb_func_end sub_0202CBDC - - thumb_func_start sub_0202CBE8 -sub_0202CBE8: ; 0x0202CBE8 - ldr r3, _0202CBF0 ; =SavArray_get - mov r1, #0x11 - bx r3 - nop -_0202CBF0: .word SavArray_get - thumb_func_end sub_0202CBE8 - - thumb_func_start sub_0202CBF4 -sub_0202CBF4: ; 0x0202CBF4 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0xc - blt _0202CC02 - bl GF_AssertFail -_0202CC02: - mov r0, #0x18 - mul r0, r4 - add r0, r5, r0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202CBF4 - - thumb_func_start sub_0202CC0C -sub_0202CC0C: ; 0x0202CC0C - push {r4, r5, r6, lr} - add r6, r2, #0 - add r5, r0, #0 - add r4, r1, #0 - cmp r6, #0xc - blt _0202CC1C - bl GF_AssertFail -_0202CC1C: - add r0, r5, #0 - add r1, r6, #0 - bl sub_0202CBF4 - add r1, r0, #0 - add r0, r4, #0 - bl sub_0202CBDC - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202CC0C - - thumb_func_start sub_0202CC30 -sub_0202CC30: ; 0x0202CC30 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #8 - blt _0202CC3E - bl GF_AssertFail -_0202CC3E: - lsl r0, r4, #1 - add r0, r4, r0 - add r0, r5, r0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202CC30 - - thumb_func_start sub_0202CC48 -sub_0202CC48: ; 0x0202CC48 - ldrb r0, [r0] - bx lr - thumb_func_end sub_0202CC48 - - thumb_func_start sub_0202CC4C -sub_0202CC4C: ; 0x0202CC4C - ldrb r0, [r0, #1] - bx lr - thumb_func_end sub_0202CC4C - - thumb_func_start sub_0202CC50 -sub_0202CC50: ; 0x0202CC50 - ldrb r0, [r0, #2] - bx lr - thumb_func_end sub_0202CC50 - - thumb_func_start sub_0202CC54 -sub_0202CC54: ; 0x0202CC54 - mov r1, #0x12 - lsl r1, r1, #4 - add r0, r0, r1 - bx lr - thumb_func_end sub_0202CC54 - - thumb_func_start sub_0202CC5C -sub_0202CC5C: ; 0x0202CC5C - ldrb r0, [r0, r1] - bx lr - thumb_func_end sub_0202CC5C - - thumb_func_start sub_0202CC60 -sub_0202CC60: ; 0x0202CC60 - mov r3, #0 - add r2, r1, #1 -_0202CC64: - ldrb r1, [r0] - cmp r2, r1 - bne _0202CC6E - mov r0, #1 - bx lr -_0202CC6E: - add r3, r3, #1 - add r0, r0, #3 - cmp r3, #8 - blt _0202CC64 - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_0202CC60 - - thumb_func_start sub_0202CC7C -sub_0202CC7C: ; 0x0202CC7C - push {r4, r5, r6, r7} - mov r6, #0 - add r4, r6, #0 - add r2, r1, #1 - add r3, r6, #0 -_0202CC86: - add r5, r3, #0 - add r7, r0, #0 -_0202CC8A: - ldrb r1, [r7] - cmp r2, r1 - bne _0202CC92 - add r6, r6, #1 -_0202CC92: - add r5, r5, #1 - add r7, r7, #3 - cmp r5, #8 - blt _0202CC8A - add r4, r4, #1 - add r0, #0x18 - cmp r4, #0xc - blt _0202CC86 - add r0, r6, #0 - pop {r4, r5, r6, r7} - bx lr - thumb_func_end sub_0202CC7C - - thumb_func_start sub_0202CCA8 -sub_0202CCA8: ; 0x0202CCA8 - strb r2, [r0, r1] - bx lr - thumb_func_end sub_0202CCA8 - - thumb_func_start sub_0202CCAC -sub_0202CCAC: ; 0x0202CCAC - push {r4, r5, r6, lr} - add r5, r1, #0 - sub r1, r5, #1 - add r6, r0, #0 - add r4, r2, #0 - bl sub_0202CC7C - mov r1, #0x12 - lsl r1, r1, #4 - add r2, r6, r1 - sub r1, r5, #1 - ldrb r3, [r2, r1] - add r0, r0, r3 - cmp r4, #0 - bge _0202CCD6 - add r0, r4, r3 - bmi _0202CCD2 - strb r0, [r2, r1] - b _0202CCE6 -_0202CCD2: - mov r0, #0 - pop {r4, r5, r6, pc} -_0202CCD6: - add r0, r0, r4 - cmp r0, #0x63 - bgt _0202CCE2 - add r0, r3, r4 - strb r0, [r2, r1] - b _0202CCE6 -_0202CCE2: - mov r0, #0 - pop {r4, r5, r6, pc} -_0202CCE6: - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202CCAC - - thumb_func_start sub_0202CCEC -sub_0202CCEC: ; 0x0202CCEC - push {r4, r5, r6, lr} - add r5, r1, #0 - sub r1, r5, #1 - add r6, r0, #0 - add r4, r2, #0 - bl sub_0202CC7C - cmp r4, #0 - bge _0202CD14 - mov r0, #0x12 - lsl r0, r0, #4 - add r2, r6, r0 - sub r1, r5, #1 - ldrb r0, [r2, r1] - add r0, r4, r0 - bmi _0202CD10 - strb r0, [r2, r1] - b _0202CD38 -_0202CD10: - mov r0, #0 - pop {r4, r5, r6, pc} -_0202CD14: - add r0, r0, r4 - cmp r0, #0x63 - bgt _0202CD34 - mov r0, #0x12 - lsl r0, r0, #4 - add r2, r6, r0 - sub r1, r5, #1 - ldrb r0, [r2, r1] - add r0, r0, r4 - strb r0, [r2, r1] - ldrb r0, [r2, r1] - cmp r0, #0x63 - blo _0202CD38 - mov r0, #0x63 - strb r0, [r2, r1] - b _0202CD38 -_0202CD34: - mov r0, #0 - pop {r4, r5, r6, pc} -_0202CD38: - mov r0, #1 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202CCEC - - thumb_func_start sub_0202CD3C -sub_0202CD3C: ; 0x0202CD3C - push {r4, r5, r6, lr} - add r5, r1, #0 - sub r1, r5, #1 - add r6, r0, #0 - add r4, r2, #0 - bl sub_0202CC7C - sub r1, r5, #1 - add r2, r6, r1 - mov r1, #0x12 - lsl r1, r1, #4 - ldrb r1, [r2, r1] - add r0, r0, r1 - cmp r4, #0 - bge _0202CD66 - add r0, r4, r1 - bmi _0202CD62 - mov r0, #1 - pop {r4, r5, r6, pc} -_0202CD62: - mov r0, #0 - pop {r4, r5, r6, pc} -_0202CD66: - add r0, r0, r4 - cmp r0, #0x63 - bgt _0202CD70 - mov r0, #1 - pop {r4, r5, r6, pc} -_0202CD70: - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202CD3C - - thumb_func_start sub_0202CD74 -sub_0202CD74: ; 0x0202CD74 - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r5, #0 - mov r4, #1 -_0202CD7C: - add r0, r6, #0 - add r1, r4, #0 - bl sub_0202CD94 - cmp r0, #0 - beq _0202CD8A - add r5, r5, #1 -_0202CD8A: - add r4, r4, #1 - cmp r4, #0x51 - blt _0202CD7C - add r0, r5, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0202CD74 - - thumb_func_start sub_0202CD94 -sub_0202CD94: ; 0x0202CD94 - push {r3, r4, r5, lr} - add r5, r1, #0 - sub r1, r5, #1 - add r4, r0, #0 - bl sub_0202CC7C - sub r1, r5, #1 - add r2, r4, r1 - mov r1, #0x12 - lsl r1, r1, #4 - ldrb r1, [r2, r1] - add r0, r0, r1 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202CD94 - - thumb_func_start sub_0202CDB0 -sub_0202CDB0: ; 0x0202CDB0 - mov r1, #0 - strh r1, [r0] - strb r1, [r0, #2] - strb r1, [r0, #3] - bx lr - .balign 4, 0 - thumb_func_end sub_0202CDB0 - - thumb_func_start sub_0202CDBC -sub_0202CDBC: ; 0x0202CDBC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldrh r6, [r5] - ldr r0, _0202CE20 ; =0x000003E7 - cmp r6, r0 - bne _0202CDD4 - ldrb r0, [r5, #2] - cmp r0, #0x3b - bne _0202CDD4 - ldrb r0, [r5, #3] - cmp r0, #0x3b - beq _0202CE1C -_0202CDD4: - ldrb r0, [r5, #3] - ldrb r4, [r5, #2] - add r7, r0, r1 - cmp r7, #0x3b - bls _0202CE16 - add r0, r7, #0 - mov r1, #0x3c - bl _u32_div_f - add r4, r4, r0 - add r0, r7, #0 - mov r1, #0x3c - bl _u32_div_f - add r7, r1, #0 - cmp r4, #0x3b - bls _0202CE16 - add r0, r4, #0 - mov r1, #0x3c - bl _u32_div_f - add r6, r6, r0 - add r0, r4, #0 - mov r1, #0x3c - bl _u32_div_f - ldr r0, _0202CE20 ; =0x000003E7 - add r4, r1, #0 - cmp r6, r0 - blo _0202CE16 - mov r4, #0x3b - add r6, r0, #0 - add r7, r4, #0 -_0202CE16: - strh r6, [r5] - strb r4, [r5, #2] - strb r7, [r5, #3] -_0202CE1C: - pop {r3, r4, r5, r6, r7, pc} - nop -_0202CE20: .word 0x000003E7 - thumb_func_end sub_0202CDBC - - thumb_func_start sub_0202CE24 -sub_0202CE24: ; 0x0202CE24 - ldrh r0, [r0] - bx lr - thumb_func_end sub_0202CE24 - - thumb_func_start sub_0202CE28 -sub_0202CE28: ; 0x0202CE28 - ldrb r0, [r0, #2] - bx lr - thumb_func_end sub_0202CE28 - - thumb_func_start sub_0202CE2C -sub_0202CE2C: ; 0x0202CE2C - ldrb r0, [r0, #3] - bx lr - thumb_func_end sub_0202CE2C - - thumb_func_start sub_0202CE30 -sub_0202CE30: ; 0x0202CE30 - mov r0, #0xfb - lsl r0, r0, #2 - bx lr - .balign 4, 0 - thumb_func_end sub_0202CE30 - - thumb_func_start sub_0202CE38 -sub_0202CE38: ; 0x0202CE38 - push {r4, lr} - add r4, r0, #0 - mov r2, #0xfb - mov r0, #0 - add r1, r4, #0 - lsl r2, r2, #2 - bl sub_020D47EC - mov r0, #0 - str r0, [r4] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202CE38 - - thumb_func_start sub_0202CE50 -sub_0202CE50: ; 0x0202CE50 - push {r4, lr} - mov r1, #0xfb - lsl r1, r1, #2 - bl AllocFromHeap - add r4, r0, #0 - bl sub_0202CE38 - add r0, r4, #0 - pop {r4, pc} - thumb_func_end sub_0202CE50 - - thumb_func_start Sav2_Chatot_get -Sav2_Chatot_get: ; 0x0202CE64 - ldr r3, _0202CE6C ; =SavArray_get - mov r1, #0x12 - bx r3 - nop -_0202CE6C: .word SavArray_get - thumb_func_end Sav2_Chatot_get - - thumb_func_start sub_0202CE70 -sub_0202CE70: ; 0x0202CE70 - ldr r0, [r0] - bx lr - thumb_func_end sub_0202CE70 - - thumb_func_start sub_0202CE74 -sub_0202CE74: ; 0x0202CE74 - mov r1, #0 - str r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202CE74 - - thumb_func_start sub_0202CE7C -sub_0202CE7C: ; 0x0202CE7C - add r0, r0, #4 - bx lr - thumb_func_end sub_0202CE7C - - thumb_func_start sub_0202CE80 -sub_0202CE80: ; 0x0202CE80 - push {r4, r5, r6, r7} - mov r5, #0 - mov r2, #0xfa - add r4, r5, #0 - mov r6, #0xf - lsl r2, r2, #2 -_0202CE8C: - ldrsb r7, [r1, r4] - add r3, r0, r5 - and r7, r6 - lsl r7, r7, #0x18 - lsr r7, r7, #0x18 - sub r7, #8 - lsl r7, r7, #0x18 - asr r7, r7, #0x14 - strb r7, [r0, r5] - ldrsb r7, [r1, r4] - add r4, r4, #1 - add r5, r5, #2 - lsl r7, r7, #0x14 - lsr r7, r7, #0x18 - sub r7, #8 - lsl r7, r7, #0x18 - asr r7, r7, #0x14 - strb r7, [r3, #1] - cmp r4, r2 - blt _0202CE8C - pop {r4, r5, r6, r7} - bx lr - thumb_func_end sub_0202CE80 - - thumb_func_start sub_0202CEB8 -sub_0202CEB8: ; 0x0202CEB8 - push {r4, r5, r6, r7} - add r3, r0, #0 - add r2, r1, #0 - mov r0, #1 - mov r1, #0 - str r0, [r3] - add r0, r1, #0 -_0202CEC6: - ldrsb r4, [r2, r0] - add r6, r3, r1 - add r7, r2, r0 - asr r5, r4, #3 - lsr r5, r5, #0x1c - add r5, r4, r5 - lsl r4, r5, #0x14 - asr r4, r4, #0x18 - add r4, #8 - strb r4, [r6, #4] - mov r4, #4 - ldrsb r5, [r6, r4] - mov r4, #1 - ldrsb r4, [r7, r4] - add r0, r0, #2 - add r1, r1, #1 - asr r7, r4, #3 - lsr r7, r7, #0x1c - add r7, r4, r7 - lsl r4, r7, #0x14 - asr r4, r4, #0x18 - add r4, #8 - lsl r4, r4, #0x18 - lsr r4, r4, #0x14 - orr r4, r5 - strb r4, [r6, #4] - mov r4, #0x7d - lsl r4, r4, #4 - cmp r0, r4 - blt _0202CEC6 - pop {r4, r5, r6, r7} - bx lr - .balign 4, 0 - thumb_func_end sub_0202CEB8 - - thumb_func_start sub_0202CF08 -sub_0202CF08: ; 0x0202CF08 - add r2, r0, #0 - add r0, r1, #0 - add r1, r2, #0 - mov r2, #0xfb - ldr r3, _0202CF18 ; =sub_020D48B4 - lsl r2, r2, #2 - bx r3 - nop -_0202CF18: .word sub_020D48B4 - thumb_func_end sub_0202CF08 - - thumb_func_start sub_0202CF1C -sub_0202CF1C: ; 0x0202CF1C - mov r0, #7 - lsl r0, r0, #6 - bx lr - .balign 4, 0 - thumb_func_end sub_0202CF1C - - thumb_func_start sub_0202CF24 -sub_0202CF24: ; 0x0202CF24 - push {r4, lr} - add r4, r0, #0 - mov r2, #7 - mov r0, #0 - add r1, r4, #0 - lsl r2, r2, #6 - bl sub_020D47EC - ldr r1, _0202CF4C ; =0x027FFC3C - ldr r0, [r1] - ldr r1, [r1] - lsl r0, r0, #8 - orr r1, r0 - ldr r0, _0202CF50 ; =0x000001BE - strh r1, [r4, r0] - add r0, r4, #0 - mov r1, #2 - bl sub_0202CF60 - pop {r4, pc} - .balign 4, 0 -_0202CF4C: .word 0x027FFC3C -_0202CF50: .word 0x000001BE - thumb_func_end sub_0202CF24 - - thumb_func_start sub_0202CF54 -sub_0202CF54: ; 0x0202CF54 - ldr r3, _0202CF5C ; =SavArray_get - mov r1, #0x10 - bx r3 - nop -_0202CF5C: .word SavArray_get - thumb_func_end sub_0202CF54 - - thumb_func_start sub_0202CF60 -sub_0202CF60: ; 0x0202CF60 - push {r4, lr} - add r4, r0, #0 - cmp r1, #1 - ble _0202CF8E - mov r1, #0x6d - add r0, #8 - lsl r1, r1, #2 - bl sub_0201FF28 - mov r3, #0x6f - lsl r3, r3, #2 - strh r0, [r4, r3] - add r1, r3, #0 - ldrh r2, [r4, r3] - add r3, r3, #2 - ldrh r3, [r4, r3] - add r0, r4, #0 - add r0, #8 - lsl r3, r3, #0x10 - sub r1, #8 - add r2, r2, r3 - bl sub_0201FF44 -_0202CF8E: - pop {r4, pc} - thumb_func_end sub_0202CF60 - - thumb_func_start sub_0202CF90 -sub_0202CF90: ; 0x0202CF90 - push {r4, lr} - add r4, r0, #0 - cmp r1, #1 - ble _0202CFB2 - mov r1, #0x6d - lsl r1, r1, #2 - add r2, r1, #0 - add r2, #8 - ldrh r3, [r4, r2] - add r2, r1, #0 - add r2, #0xa - ldrh r2, [r4, r2] - add r0, #8 - lsl r2, r2, #0x10 - add r2, r3, r2 - bl sub_0201FF70 -_0202CFB2: - pop {r4, pc} - thumb_func_end sub_0202CF90 - - thumb_func_start sub_0202CFB4 -sub_0202CFB4: ; 0x0202CFB4 - push {r3, lr} - cmp r1, #0x48 - bge _0202CFC0 - lsl r1, r1, #2 - ldr r0, [r0, r1] - pop {r3, pc} -_0202CFC0: - cmp r1, #0x95 - bge _0202CFD2 - sub r1, #0x48 - lsl r1, r1, #1 - add r1, r0, r1 - mov r0, #0x12 - lsl r0, r0, #4 - ldrh r0, [r1, r0] - pop {r3, pc} -_0202CFD2: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202CFB4 - - thumb_func_start sub_0202CFDC -sub_0202CFDC: ; 0x0202CFDC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x48 - bge _0202CFEC - lsl r0, r4, #2 - str r2, [r5, r0] - b _0202D004 -_0202CFEC: - cmp r4, #0x95 - bge _0202D000 - add r0, r4, #0 - sub r0, #0x48 - lsl r0, r0, #1 - add r1, r5, r0 - mov r0, #0x12 - lsl r0, r0, #4 - strh r2, [r1, r0] - b _0202D004 -_0202D000: - bl GF_AssertFail -_0202D004: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CFB4 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202CFDC - - thumb_func_start sub_0202D010 -sub_0202D010: ; 0x0202D010 - push {r3, lr} - cmp r0, #0x48 - bge _0202D026 - ldr r1, _0202D044 ; =0x0210F864 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _0202D022 - ldr r0, _0202D048 ; =0x3B9AC9FF - pop {r3, pc} -_0202D022: - ldr r0, _0202D04C ; =0x000F423F - pop {r3, pc} -_0202D026: - cmp r0, #0x95 - bge _0202D03A - ldr r1, _0202D044 ; =0x0210F864 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _0202D036 - ldr r0, _0202D050 ; =0x0000FFFF - pop {r3, pc} -_0202D036: - ldr r0, _0202D054 ; =0x0000270F - pop {r3, pc} -_0202D03A: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - nop -_0202D044: .word 0x0210F864 -_0202D048: .word 0x3B9AC9FF -_0202D04C: .word 0x000F423F -_0202D050: .word 0x0000FFFF -_0202D054: .word 0x0000270F - thumb_func_end sub_0202D010 - - thumb_func_start sub_0202D058 -sub_0202D058: ; 0x0202D058 - lsl r1, r0, #1 - ldr r0, _0202D060 ; =0x020F67DC - ldrh r0, [r0, r1] - bx lr - .balign 4, 0 -_0202D060: .word 0x020F67DC - thumb_func_end sub_0202D058 - - thumb_func_start sub_0202D064 -sub_0202D064: ; 0x0202D064 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - add r6, r2, #0 - bl sub_0202D010 - add r7, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CF90 - cmp r6, r7 - bhs _0202D08C - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0202CFDC - b _0202D096 -_0202D08C: - add r0, r5, #0 - add r1, r4, #0 - add r2, r7, #0 - bl sub_0202CFDC -_0202D096: - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CF60 - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202D064 - - thumb_func_start sub_0202D0A4 -sub_0202D0A4: ; 0x0202D0A4 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r6, r0, #0 - add r0, r5, #0 - add r7, r2, #0 - bl sub_0202D010 - add r4, r0, #0 - add r0, r6, #0 - add r1, r5, #0 - bl sub_0202CF90 - add r0, r6, #0 - add r1, r5, #0 - bl sub_0202CFB4 - str r0, [sp] - cmp r7, r4 - bls _0202D0CC - add r7, r4, #0 -_0202D0CC: - ldr r0, [sp] - cmp r0, r7 - bhs _0202D0E0 - add r0, r6, #0 - add r1, r5, #0 - add r2, r7, #0 - bl sub_0202CFDC - str r0, [sp] - b _0202D0F0 -_0202D0E0: - cmp r0, r4 - bls _0202D0F0 - add r0, r6, #0 - add r1, r5, #0 - add r2, r4, #0 - bl sub_0202CFDC - str r0, [sp] -_0202D0F0: - add r0, r6, #0 - add r1, r5, #0 - bl sub_0202CF60 - ldr r0, [sp] - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202D0A4 - - thumb_func_start sub_0202D0FC -sub_0202D0FC: ; 0x0202D0FC - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0202D010 - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CF90 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CFB4 - add r2, r0, #1 - cmp r2, r6 - bhs _0202D12A - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CFDC - b _0202D134 -_0202D12A: - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0202CFDC -_0202D134: - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CF60 - add r0, r6, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202D0FC - - thumb_func_start sub_0202D144 -sub_0202D144: ; 0x0202D144 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - add r7, r2, #0 - bl sub_0202D010 - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CF90 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CFB4 - add r2, r0, r7 - cmp r2, r6 - bhs _0202D174 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CFDC - b _0202D17E -_0202D174: - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0202CFDC -_0202D17E: - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202CF60 - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202D144 - - thumb_func_start sub_0202D18C -sub_0202D18C: ; 0x0202D18C - push {r3, r4, r5, r6, r7, lr} - add r7, r1, #0 - add r5, r0, #0 - add r0, r7, #0 - bl sub_0202D010 - add r4, r0, #0 - add r0, r5, #0 - add r1, r7, #0 - bl sub_0202CF90 - add r0, r5, #0 - add r1, r7, #0 - bl sub_0202CFB4 - add r6, r0, #0 - add r0, r5, #0 - add r1, r7, #0 - bl sub_0202CF60 - cmp r6, r4 - bhi _0202D1BA - add r4, r6, #0 -_0202D1BA: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202D18C - - thumb_func_start sub_0202D1C0 -sub_0202D1C0: ; 0x0202D1C0 - push {r4, r5, r6, lr} - add r6, r1, #0 - add r5, r0, #0 - cmp r6, #0x28 - blt _0202D1CE - bl GF_AssertFail -_0202D1CE: - add r0, r5, #0 - mov r1, #2 - bl sub_0202D18C - add r4, r0, #0 - add r0, r6, #0 - bl sub_0202D058 - ldr r2, _0202D204 ; =0x05F5E0FF - add r0, r4, r0 - cmp r0, r2 - bls _0202D1F0 - add r0, r5, #0 - mov r1, #2 - bl sub_0202D064 - pop {r4, r5, r6, pc} -_0202D1F0: - add r0, r6, #0 - bl sub_0202D058 - add r2, r0, #0 - add r0, r5, #0 - mov r1, #2 - bl sub_0202D144 - pop {r4, r5, r6, pc} - nop -_0202D204: .word 0x05F5E0FF - thumb_func_end sub_0202D1C0 - - thumb_func_start sub_0202D208 -sub_0202D208: ; 0x0202D208 - ldr r3, _0202D210 ; =sub_0202D18C - mov r1, #2 - bx r3 - nop -_0202D210: .word sub_0202D18C - thumb_func_end sub_0202D208 - - thumb_func_start sub_0202D214 -sub_0202D214: ; 0x0202D214 - push {r4, lr} - add r4, r0, #0 - add r0, r1, #0 - add r1, r2, #0 - bl sub_02029FF8 - cmp r0, #0 - bne _0202D22C - add r0, r4, #0 - mov r1, #0x15 - bl sub_0202D1C0 -_0202D22C: - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202D214 - - thumb_func_start sub_0202D230 -sub_0202D230: ; 0x0202D230 - mov r0, #0xe4 - bx lr - thumb_func_end sub_0202D230 - - thumb_func_start sub_0202D234 -sub_0202D234: ; 0x0202D234 - ldr r3, _0202D23C ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #0x3c - bx r3 - .balign 4, 0 -_0202D23C: .word MIi_CpuFill8 - thumb_func_end sub_0202D234 - - thumb_func_start sub_0202D240 -sub_0202D240: ; 0x0202D240 - push {r4, lr} - mov r2, #0x5a - mov r1, #0 - lsl r2, r2, #2 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r0, #1 - strb r0, [r4, #3] - pop {r4, pc} - thumb_func_end sub_0202D240 - - thumb_func_start sub_0202D254 -sub_0202D254: ; 0x0202D254 - push {r4, r5, r6, lr} - ldr r4, _0202D270 ; =0x020F682C - add r5, r0, #0 - mov r6, #0 -_0202D25C: - add r0, r5, #0 - add r1, r4, #0 - bl MailMsg_init_fromTemplate - add r6, r6, #1 - add r4, #8 - add r5, #8 - cmp r6, #4 - blt _0202D25C - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202D270: .word 0x020F682C - thumb_func_end sub_0202D254 - - thumb_func_start sub_0202D274 -sub_0202D274: ; 0x0202D274 - ldr r3, _0202D27C ; =MIi_CpuFill8 - mov r1, #0 - ldr r2, _0202D280 ; =0x00000B3C - bx r3 - .balign 4, 0 -_0202D27C: .word MIi_CpuFill8 -_0202D280: .word 0x00000B3C - thumb_func_end sub_0202D274 - - thumb_func_start sub_0202D284 -sub_0202D284: ; 0x0202D284 - push {r3, lr} - cmp r1, #0xa - bhi _0202D302 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0202D296: ; jump table - .short _0202D2AC - _0202D296 - 2 ; case 0 - .short _0202D2B4 - _0202D296 - 2 ; case 1 - .short _0202D2B8 - _0202D296 - 2 ; case 2 - .short _0202D2BC - _0202D296 - 2 ; case 3 - .short _0202D2C0 - _0202D296 - 2 ; case 4 - .short _0202D2C4 - _0202D296 - 2 ; case 5 - .short _0202D2D2 - _0202D296 - 2 ; case 6 - .short _0202D2E0 - _0202D296 - 2 ; case 7 - .short _0202D2E8 - _0202D296 - 2 ; case 8 - .short _0202D2F6 - _0202D296 - 2 ; case 9 - .short _0202D2FE - _0202D296 - 2 ; case 10 -_0202D2AC: - ldrb r0, [r0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1d - pop {r3, pc} -_0202D2B4: - ldrb r0, [r0, #2] - pop {r3, pc} -_0202D2B8: - ldrb r0, [r0, #3] - pop {r3, pc} -_0202D2BC: - ldrh r0, [r0, #4] - pop {r3, pc} -_0202D2C0: - ldrh r0, [r0, #6] - pop {r3, pc} -_0202D2C4: - add r1, r2, #0 - add r0, #8 - mov r2, #4 - bl sub_020D4A50 - mov r0, #0 - pop {r3, pc} -_0202D2D2: - add r1, r2, #0 - add r0, #0x2c - mov r2, #0x10 - bl sub_020D4A50 - mov r0, #0 - pop {r3, pc} -_0202D2E0: - ldrb r0, [r0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - pop {r3, pc} -_0202D2E8: - add r1, r2, #0 - add r0, #0xc - mov r2, #0x1c - bl sub_020D4A50 - mov r0, #0 - pop {r3, pc} -_0202D2F6: - ldrb r0, [r0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1d - pop {r3, pc} -_0202D2FE: - ldr r0, [r0, #0x28] - pop {r3, pc} -_0202D302: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202D284 - - thumb_func_start sub_0202D308 -sub_0202D308: ; 0x0202D308 - push {r4, lr} - add r3, r0, #0 - cmp r1, #0xa - bhi _0202D3AE - add r0, r1, r1 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0202D31C: ; jump table - .short _0202D332 - _0202D31C - 2 ; case 0 - .short _0202D344 - _0202D31C - 2 ; case 1 - .short _0202D34A - _0202D31C - 2 ; case 2 - .short _0202D350 - _0202D31C - 2 ; case 3 - .short _0202D356 - _0202D31C - 2 ; case 4 - .short _0202D35C - _0202D31C - 2 ; case 5 - .short _0202D36A - _0202D31C - 2 ; case 6 - .short _0202D378 - _0202D31C - 2 ; case 7 - .short _0202D38A - _0202D31C - 2 ; case 8 - .short _0202D39E - _0202D31C - 2 ; case 9 - .short _0202D398 - _0202D31C - 2 ; case 10 -_0202D332: - ldrb r1, [r3] - mov r0, #0x1c - bic r1, r0 - ldrb r0, [r2] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1b - orr r0, r1 - strb r0, [r3] - pop {r4, pc} -_0202D344: - ldrb r0, [r2] - strb r0, [r3, #2] - pop {r4, pc} -_0202D34A: - ldrb r0, [r2] - strb r0, [r3, #3] - pop {r4, pc} -_0202D350: - ldrh r0, [r2] - strh r0, [r3, #4] - pop {r4, pc} -_0202D356: - ldrh r0, [r2] - strh r0, [r3, #6] - pop {r4, pc} -_0202D35C: - add r3, #8 - add r0, r2, #0 - add r1, r3, #0 - mov r2, #4 - bl sub_020D4A50 - pop {r4, pc} -_0202D36A: - add r3, #0x2c - add r0, r2, #0 - add r1, r3, #0 - mov r2, #0x10 - bl sub_020D4A50 - pop {r4, pc} -_0202D378: - ldrb r4, [r3] - ldrb r1, [r2] - mov r0, #1 - bic r4, r0 - mov r0, #1 - and r0, r1 - orr r0, r4 - strb r0, [r3] - pop {r4, pc} -_0202D38A: - add r3, #0xc - add r0, r2, #0 - add r1, r3, #0 - mov r2, #0x1c - bl sub_020D4A50 - pop {r4, pc} -_0202D398: - ldr r0, [r2] - str r0, [r3, #0x28] - pop {r4, pc} -_0202D39E: - ldrb r1, [r3] - mov r0, #0xe0 - bic r1, r0 - ldrb r0, [r2] - lsl r0, r0, #0x1d - lsr r0, r0, #0x18 - orr r0, r1 - strb r0, [r3] -_0202D3AE: - pop {r4, pc} - thumb_func_end sub_0202D308 - - thumb_func_start sub_0202D3B0 -sub_0202D3B0: ; 0x0202D3B0 - push {r3, r4} - ldrb r4, [r0, #3] - add r1, r4, r1 - cmp r1, #0xff - bge _0202D3BC - strb r1, [r0, #3] -_0202D3BC: - ldrh r1, [r0, #4] - add r2, r1, r2 - ldr r1, _0202D3D8 ; =0x0000FFFF - cmp r2, r1 - bge _0202D3C8 - strh r2, [r0, #4] -_0202D3C8: - ldrh r1, [r0, #6] - add r2, r1, r3 - ldr r1, _0202D3D8 ; =0x0000FFFF - cmp r2, r1 - bge _0202D3D4 - strh r2, [r0, #6] -_0202D3D4: - pop {r3, r4} - bx lr - .balign 4, 0 -_0202D3D8: .word 0x0000FFFF - thumb_func_end sub_0202D3B0 - - thumb_func_start sub_0202D3DC -sub_0202D3DC: ; 0x0202D3DC - ldrb r0, [r0] - lsl r0, r0, #0x1e - lsr r0, r0, #0x1f - bx lr - thumb_func_end sub_0202D3DC - - thumb_func_start sub_0202D3E4 -sub_0202D3E4: ; 0x0202D3E4 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x1f - ldrb r3, [r0] - mov r2, #2 - lsr r1, r1, #0x1e - bic r3, r2 - orr r1, r3 - strb r1, [r0] - bx lr - thumb_func_end sub_0202D3E4 - - thumb_func_start sub_0202D3F8 -sub_0202D3F8: ; 0x0202D3F8 - cmp r2, #6 - bhi _0202D446 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_0202D408: ; jump table - .short _0202D446 - _0202D408 - 2 ; case 0 - .short _0202D416 - _0202D408 - 2 ; case 1 - .short _0202D446 - _0202D408 - 2 ; case 2 - .short _0202D446 - _0202D408 - 2 ; case 3 - .short _0202D446 - _0202D408 - 2 ; case 4 - .short _0202D424 - _0202D408 - 2 ; case 5 - .short _0202D436 - _0202D408 - 2 ; case 6 -_0202D416: - ldr r2, _0202D44C ; =0x0000270F - cmp r1, r2 - bls _0202D420 - strh r2, [r0] - b _0202D446 -_0202D420: - strh r1, [r0] - b _0202D446 -_0202D424: - ldrh r2, [r0] - add r2, r2, r1 - ldr r1, _0202D44C ; =0x0000270F - cmp r2, r1 - ble _0202D432 - strh r1, [r0] - b _0202D446 -_0202D432: - strh r2, [r0] - b _0202D446 -_0202D436: - ldrh r2, [r0] - cmp r2, r1 - bhs _0202D442 - mov r1, #0 - strh r1, [r0] - b _0202D446 -_0202D442: - sub r1, r2, r1 - strh r1, [r0] -_0202D446: - ldrh r0, [r0] - bx lr - nop -_0202D44C: .word 0x0000270F - thumb_func_end sub_0202D3F8 - - thumb_func_start sub_0202D450 -sub_0202D450: ; 0x0202D450 - cmp r1, #2 - beq _0202D45A - cmp r1, #3 - beq _0202D468 - b _0202D484 -_0202D45A: - mov r1, #0 - strb r1, [r0, #2] - ldrh r2, [r0, #8] - mov r1, #0x10 - bic r2, r1 - strh r2, [r0, #8] - b _0202D484 -_0202D468: - ldrh r1, [r0, #8] - lsl r1, r1, #0x1b - lsr r1, r1, #0x1f - beq _0202D478 - ldrb r1, [r0, #2] - add r1, r1, #1 - strb r1, [r0, #2] - b _0202D484 -_0202D478: - mov r1, #1 - strb r1, [r0, #2] - ldrh r2, [r0, #8] - mov r1, #0x10 - orr r1, r2 - strh r1, [r0, #8] -_0202D484: - ldrb r0, [r0, #2] - bx lr - thumb_func_end sub_0202D450 - - thumb_func_start sub_0202D488 -sub_0202D488: ; 0x0202D488 - cmp r1, #2 - beq _0202D496 - cmp r1, #3 - beq _0202D49C - cmp r1, #4 - beq _0202D4A8 - b _0202D4B2 -_0202D496: - mov r1, #1 - strb r1, [r0, #3] - b _0202D4B2 -_0202D49C: - ldrb r1, [r0, #3] - cmp r1, #0xa - bhs _0202D4B2 - add r1, r1, #1 - strb r1, [r0, #3] - b _0202D4B2 -_0202D4A8: - ldrb r1, [r0, #3] - cmp r1, #1 - bls _0202D4B2 - sub r1, r1, #1 - strb r1, [r0, #3] -_0202D4B2: - ldrb r0, [r0, #3] - bx lr - .balign 4, 0 - thumb_func_end sub_0202D488 - - thumb_func_start sub_0202D4B8 -sub_0202D4B8: ; 0x0202D4B8 - push {r3, lr} - add r3, r0, #0 - cmp r1, #0 - bne _0202D4CE - add r3, #0xc0 - add r0, r2, #0 - add r1, r3, #0 - mov r2, #0xa8 - bl sub_020D4A50 - pop {r3, pc} -_0202D4CE: - add r3, #0x18 - add r0, r2, #0 - add r1, r3, #0 - mov r2, #0xa8 - bl sub_020D4A50 - pop {r3, pc} - thumb_func_end sub_0202D4B8 - - thumb_func_start sub_0202D4DC -sub_0202D4DC: ; 0x0202D4DC - push {r3, lr} - cmp r1, #0 - bne _0202D4EE - add r1, r2, #0 - add r0, #0xc0 - mov r2, #0xa8 - bl sub_020D4A50 - pop {r3, pc} -_0202D4EE: - add r1, r2, #0 - add r0, #0x18 - mov r2, #0xa8 - bl sub_020D4A50 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202D4DC - - thumb_func_start sub_0202D4FC -sub_0202D4FC: ; 0x0202D4FC - push {r4, r5, r6, lr} - add r6, r0, #0 - ldrb r0, [r1, #2] - mov r2, #0xfa - lsl r2, r2, #2 - sub r0, r0, #1 - add r3, r0, #0 - mul r3, r2 - lsl r0, r3, #0x10 - lsr r4, r0, #0x10 - ldrh r3, [r1, #4] - mov r0, #0xa - ldrb r5, [r1, #3] - mul r0, r3 - mov r3, #0x14 - mul r3, r5 - lsl r0, r0, #0x10 - lsl r3, r3, #0x10 - lsr r0, r0, #0x10 - lsr r3, r3, #0x10 - add r3, r0, r3 - add r0, r2, #0 - sub r0, #0x32 - cmp r3, r0 - ble _0202D532 - mov r5, #0 - b _0202D53A -_0202D532: - sub r2, #0x32 - sub r0, r2, r3 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_0202D53A: - ldrh r1, [r1, #6] - ldr r0, _0202D560 ; =0x000003CA - cmp r1, r0 - bls _0202D546 - mov r1, #0 - b _0202D554 -_0202D546: - add r0, #0x1e - sub r0, r0, r1 - mov r1, #0x1e - bl _s32_div_f - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 -_0202D554: - add r0, r4, r5 - add r0, r1, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - strh r0, [r6, #0x16] - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202D560: .word 0x000003CA - thumb_func_end sub_0202D4FC - - thumb_func_start sub_0202D564 -sub_0202D564: ; 0x0202D564 - ldrh r0, [r0, #0x16] - bx lr - thumb_func_end sub_0202D564 - - thumb_func_start sub_0202D568 -sub_0202D568: ; 0x0202D568 - push {r3, lr} - ldrh r0, [r0, #0x16] - mov r1, #0xfa - lsl r1, r1, #2 - bl _s32_div_f - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202D568 - - thumb_func_start sub_0202D57C -sub_0202D57C: ; 0x0202D57C - push {r4, r5} - cmp r1, #5 - bne _0202D588 - mov r0, #0 - pop {r4, r5} - bx lr -_0202D588: - cmp r1, #6 - bne _0202D58E - mov r1, #5 -_0202D58E: - cmp r2, #2 - beq _0202D598 - cmp r2, #3 - beq _0202D5A2 - b _0202D5B4 -_0202D598: - lsl r2, r1, #1 - mov r3, #0 - add r2, r0, r2 - strh r3, [r2, #0xa] - b _0202D5B4 -_0202D5A2: - add r5, r0, #0 - add r5, #0xa - lsl r4, r1, #1 - ldrh r3, [r5, r4] - ldr r2, _0202D5C0 ; =0x0000FFFE - cmp r3, r2 - bhs _0202D5B4 - add r2, r3, #1 - strh r2, [r5, r4] -_0202D5B4: - lsl r1, r1, #1 - add r0, r0, r1 - ldrh r0, [r0, #0xa] - pop {r4, r5} - bx lr - nop -_0202D5C0: .word 0x0000FFFE - thumb_func_end sub_0202D57C - - thumb_func_start sub_0202D5C4 -sub_0202D5C4: ; 0x0202D5C4 - cmp r1, #5 - bne _0202D5CC - mov r0, #0 - bx lr -_0202D5CC: - cmp r1, #6 - bne _0202D5D2 - mov r1, #5 -_0202D5D2: - add r0, #0xa - lsl r1, r1, #1 - strh r2, [r0, r1] - ldrh r0, [r0, r1] - bx lr - thumb_func_end sub_0202D5C4 - - thumb_func_start sub_0202D5DC -sub_0202D5DC: ; 0x0202D5DC - push {r4, lr} - mov r3, #1 - cmp r1, #0x10 - blo _0202D5EC - bl GF_AssertFail - mov r0, #0 - pop {r4, pc} -_0202D5EC: - mov r4, #0 - cmp r1, #0 - bls _0202D600 -_0202D5F2: - add r4, r4, #1 - lsl r4, r4, #0x10 - lsl r3, r3, #0x11 - lsr r4, r4, #0x10 - lsr r3, r3, #0x10 - cmp r4, r1 - blo _0202D5F2 -_0202D600: - cmp r2, #0 - beq _0202D624 - cmp r2, #1 - beq _0202D61C - cmp r2, #2 - bne _0202D630 - ldr r1, _0202D634 ; =0x0000FFFF - eor r1, r3 - lsl r1, r1, #0x10 - lsr r2, r1, #0x10 - ldrh r1, [r0, #8] - and r1, r2 - strh r1, [r0, #8] - b _0202D630 -_0202D61C: - ldrh r1, [r0, #8] - orr r1, r3 - strh r1, [r0, #8] - b _0202D630 -_0202D624: - ldrh r0, [r0, #8] - add r2, r0, #0 - asr r2, r1 - mov r0, #1 - and r0, r2 - pop {r4, pc} -_0202D630: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 -_0202D634: .word 0x0000FFFF - thumb_func_end sub_0202D5DC - - thumb_func_start sub_0202D638 -sub_0202D638: ; 0x0202D638 - str r1, [r0, #4] - bx lr - thumb_func_end sub_0202D638 - - thumb_func_start sub_0202D63C -sub_0202D63C: ; 0x0202D63C - ldr r0, [r0, #4] - bx lr - thumb_func_end sub_0202D63C - - thumb_func_start sub_0202D640 -sub_0202D640: ; 0x0202D640 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r4, r2, #0 - bl sub_0203107C - ldr r1, _0202D65C ; =0x00000ABC - add r1, r0, r1 - lsl r0, r5, #3 - add r0, r1, r0 - add r1, r4, #0 - bl MailMsg_copy - pop {r3, r4, r5, pc} - nop -_0202D65C: .word 0x00000ABC - thumb_func_end sub_0202D640 - - thumb_func_start sub_0202D660 -sub_0202D660: ; 0x0202D660 - push {r4, lr} - add r4, r1, #0 - bl sub_0203107C - ldr r1, _0202D674 ; =0x00000ABC - add r1, r0, r1 - lsl r0, r4, #3 - add r0, r1, r0 - pop {r4, pc} - nop -_0202D674: .word 0x00000ABC - thumb_func_end sub_0202D660 - - thumb_func_start sub_0202D678 -sub_0202D678: ; 0x0202D678 - push {r3, r4, r5, r6} - add r4, r3, #0 - mov r3, #1 - cmp r2, #0 - beq _0202D6D8 - cmp r2, #0xc8 - bhi _0202D6D8 - cmp r1, #0 - beq _0202D6D8 - cmp r1, #0xa - bhi _0202D6D8 - sub r5, r2, #1 - sub r2, r1, #1 - mov r1, #0xc8 - mul r1, r2 - add r1, r5, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - lsr r6, r1, #0x1f - lsl r5, r1, #0x1d - sub r5, r5, r6 - mov r2, #0x1d - ror r5, r2 - add r2, r6, r5 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - lsl r3, r2 - lsl r2, r3, #0x18 - lsl r1, r1, #0x15 - lsr r5, r2, #0x18 - add r3, r0, #4 - lsr r2, r1, #0x18 - ldrb r1, [r3, r2] - orr r1, r5 - strb r1, [r3, r2] - ldr r3, [r4] - ldr r1, [r4, #8] - lsl r5, r3, #0x18 - ldr r3, [r4, #4] - lsl r1, r1, #0x18 - lsl r3, r3, #0x18 - lsr r3, r3, #8 - ldr r2, [r4, #0xc] - lsr r1, r1, #0x10 - orr r3, r5 - orr r1, r3 - orr r1, r2 - str r1, [r0] -_0202D6D8: - pop {r3, r4, r5, r6} - bx lr - thumb_func_end sub_0202D678 - - thumb_func_start sub_0202D6DC -sub_0202D6DC: ; 0x0202D6DC - push {r4, lr} - add r4, r0, #0 - add r0, r4, #4 - mov r1, #0 - mov r2, #0xfa - bl MIi_CpuFill8 - add r0, r4, #0 - mov r1, #0 - mov r2, #4 - bl MIi_CpuFill8 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202D6DC - - thumb_func_start sub_0202D6F8 -sub_0202D6F8: ; 0x0202D6F8 - ldr r3, [r0] - ldr r2, [r1] - cmp r3, r2 - bls _0202D704 - mov r0, #1 - bx lr -_0202D704: - ldr r3, [r0, #4] - ldr r2, [r1, #4] - cmp r3, r2 - bls _0202D710 - mov r0, #1 - bx lr -_0202D710: - ldr r2, [r0, #8] - ldr r0, [r1, #8] - cmp r2, r0 - bls _0202D71C - mov r0, #1 - bx lr -_0202D71C: - mov r0, #0 - bx lr - thumb_func_end sub_0202D6F8 - - thumb_func_start sub_0202D720 -sub_0202D720: ; 0x0202D720 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r6, r2, #0 - add r5, r0, #0 - add r4, r1, #0 - mov r7, #1 - cmp r6, #0xc8 - bhi _0202D734 - cmp r4, #0xa - bls _0202D73A -_0202D734: - add sp, #0x10 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202D73A: - ldr r0, [r5] - lsr r1, r0, #0x18 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - str r1, [sp] - lsr r1, r0, #0x10 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - str r1, [sp, #4] - lsr r1, r0, #8 - lsl r1, r1, #0x18 - lsl r0, r0, #0x18 - lsr r1, r1, #0x18 - lsr r0, r0, #0x18 - str r1, [sp, #8] - str r0, [sp, #0xc] - add r0, r3, #0 - add r1, sp, #0 - bl sub_0202D6F8 - cmp r0, #0 - beq _0202D772 - add r0, r5, #0 - bl sub_0202D6DC - add sp, #0x10 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202D772: - sub r1, r4, #1 - mov r0, #0xc8 - mul r0, r1 - sub r2, r6, #1 - add r0, r2, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - lsr r3, r0, #0x1f - lsl r2, r0, #0x1d - lsl r0, r0, #0x15 - lsr r0, r0, #0x18 - add r0, r5, r0 - sub r2, r2, r3 - mov r1, #0x1d - ror r2, r1 - add r1, r3, r2 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - add r2, r7, #0 - lsl r2, r1 - lsl r1, r2, #0x18 - ldrb r0, [r0, #4] - lsr r1, r1, #0x18 - tst r0, r1 - beq _0202D7AA - add sp, #0x10 - add r0, r7, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202D7AA: - mov r0, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202D720 - - thumb_func_start sub_0202D7B0 -sub_0202D7B0: ; 0x0202D7B0 - add r0, #0xfe - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202D7B0 - - thumb_func_start sub_0202D7B8 -sub_0202D7B8: ; 0x0202D7B8 - add r0, #0xff - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202D7B8 - - thumb_func_start sub_0202D7C0 -sub_0202D7C0: ; 0x0202D7C0 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, r1, #0 - mov r1, #0x41 - add r4, r2, #0 - lsl r1, r1, #2 - ldr r2, _0202D7E8 ; =0x0000063C - add r1, r5, r1 - add r6, r3, #0 - bl sub_020D4A50 - ldr r0, _0202D7EC ; =0x00000101 - strb r4, [r5, r0] - sub r0, r0, #1 - strb r6, [r5, r0] - mov r0, #1 - add r5, #0xfe - strb r0, [r5] - pop {r4, r5, r6, pc} - nop -_0202D7E8: .word 0x0000063C -_0202D7EC: .word 0x00000101 - thumb_func_end sub_0202D7C0 - - thumb_func_start sub_0202D7F0 -sub_0202D7F0: ; 0x0202D7F0 - ldr r2, _0202D800 ; =0x00000101 - ldrb r3, [r0, r2] - sub r2, r2, #1 - strb r3, [r1] - ldrb r0, [r0, r2] - strb r0, [r1, #1] - bx lr - nop -_0202D800: .word 0x00000101 - thumb_func_end sub_0202D7F0 - - thumb_func_start sub_0202D804 -sub_0202D804: ; 0x0202D804 - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - mov r1, #0x41 - lsl r1, r1, #2 - add r5, r0, r1 - mov r0, #0xe4 - add r4, r2, #0 - mul r4, r0 - ldr r0, _0202D8A0 ; =0x00002710 - add r7, r6, #0 - str r0, [r6] - add r0, r5, r4 - add r0, #0xc9 - ldrb r0, [r0] - add r7, #0x30 - strh r0, [r6, #4] - add r0, r5, r4 - add r0, #0xc8 - ldrb r0, [r0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _0202D85A - mov r0, #0 - mov r1, #0x1b - mov r2, #0x1c - mov r3, #0xb - bl NewMsgDataFromNarc - add r1, r5, r4 - add r1, #0xc8 - ldrb r1, [r1] - add r2, r6, #0 - str r0, [sp] - lsl r1, r1, #0x1e - lsr r1, r1, #0x1f - add r1, #0x21 - add r2, #8 - bl ReadMsgDataIntoU16Array - ldr r0, [sp] - bl DestroyMsgData - b _0202D868 -_0202D85A: - add r0, r5, r4 - add r1, r6, #0 - add r0, #0xa8 - add r1, #8 - mov r2, #0x10 - bl sub_020D4A50 -_0202D868: - add r0, r5, r4 - add r1, r6, #0 - add r0, #0xca - add r1, #0x18 - mov r2, #8 - bl sub_020D4A50 - add r0, r5, r4 - add r1, r6, #0 - add r0, #0xd2 - add r1, #0x20 - mov r2, #8 - bl sub_020D4A50 - add r0, r5, r4 - add r6, #0x28 - add r0, #0xda - add r1, r6, #0 - mov r2, #8 - bl sub_020D4A50 - add r0, r5, r4 - add r1, r7, #0 - mov r2, #0xa8 - bl sub_020D4A50 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202D8A0: .word 0x00002710 - thumb_func_end sub_0202D804 - - thumb_func_start sub_0202D8A4 -sub_0202D8A4: ; 0x0202D8A4 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, r1, #0 - mov r1, #0x1d - add r4, r2, #0 - lsl r1, r1, #6 - mov r2, #0xff - add r1, r5, r1 - lsl r2, r2, #2 - add r6, r3, #0 - bl sub_020D4A50 - ldr r0, _0202D8CC ; =0x00000103 - strb r4, [r5, r0] - sub r0, r0, #1 - strb r6, [r5, r0] - mov r0, #1 - add r5, #0xff - strb r0, [r5] - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202D8CC: .word 0x00000103 - thumb_func_end sub_0202D8A4 - - thumb_func_start sub_0202D8D0 -sub_0202D8D0: ; 0x0202D8D0 - ldr r2, _0202D8E0 ; =0x00000103 - ldrb r3, [r0, r2] - sub r2, r2, #1 - strb r3, [r1] - ldrb r0, [r0, r2] - strb r0, [r1, #1] - bx lr - nop -_0202D8E0: .word 0x00000103 - thumb_func_end sub_0202D8D0 - - thumb_func_start sub_0202D8E4 -sub_0202D8E4: ; 0x0202D8E4 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - mov r1, #0xff - lsl r1, r1, #2 - bl AllocFromHeap - add r4, r0, #0 - mov r0, #0x1d - lsl r0, r0, #6 - mov r2, #0xff - add r0, r5, r0 - add r1, r4, #0 - lsl r2, r2, #2 - bl sub_020D4A50 - add r0, r4, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202D8E4 - - thumb_func_start sub_0202D908 -sub_0202D908: ; 0x0202D908 - push {r3, lr} - bl sub_0203107C - mov r1, #0x8e - lsl r1, r1, #4 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202D908 - - thumb_func_start sub_0202D918 -sub_0202D918: ; 0x0202D918 - push {r3, lr} - bl sub_0203107C - ldr r1, _0202D924 ; =0x00000954 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 -_0202D924: .word 0x00000954 - thumb_func_end sub_0202D918 - - thumb_func_start sub_0202D928 -sub_0202D928: ; 0x0202D928 - push {r3, lr} - bl sub_0203107C - ldr r1, _0202D934 ; =0x00000ADC - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 -_0202D934: .word 0x00000ADC - thumb_func_end sub_0202D928 - - thumb_func_start sub_0202D938 -sub_0202D938: ; 0x0202D938 - mov r0, #0xe - bx lr - thumb_func_end sub_0202D938 - - thumb_func_start sub_0202D93C -sub_0202D93C: ; 0x0202D93C - mov r1, #0 - strb r1, [r0] - strb r1, [r0, #1] - strb r1, [r0, #2] - strb r1, [r0, #3] - strb r1, [r0, #4] - strb r1, [r0, #5] - strb r1, [r0, #6] - strb r1, [r0, #7] - strb r1, [r0, #8] - strb r1, [r0, #9] - strb r1, [r0, #0xa] - strb r1, [r0, #0xb] - strb r1, [r0, #0xc] - strb r1, [r0, #0xd] - bx lr - thumb_func_end sub_0202D93C - - thumb_func_start sub_0202D95C -sub_0202D95C: ; 0x0202D95C - ldr r3, _0202D964 ; =SavArray_get - mov r1, #0x14 - bx r3 - nop -_0202D964: .word SavArray_get - thumb_func_end sub_0202D95C - - thumb_func_start sub_0202D968 -sub_0202D968: ; 0x0202D968 - mov r0, #0x68 - bx lr - thumb_func_end sub_0202D968 - - thumb_func_start sub_0202D96C -sub_0202D96C: ; 0x0202D96C - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x68 - bl memset - bl MTRandom - str r0, [r4] - bl MTRandom - str r0, [r4, #4] - add r0, r4, #0 - mov r1, #0 - add r0, #0x64 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x65 - strb r1, [r0] - add r0, r4, #0 - add r0, #0x66 - strb r1, [r0] - add r4, #0x67 - strb r1, [r4] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202D96C - - thumb_func_start sub_0202D9A0 -sub_0202D9A0: ; 0x0202D9A0 - str r1, [r0] - str r1, [r0, #4] - bx lr - .balign 4, 0 - thumb_func_end sub_0202D9A0 - - thumb_func_start sub_0202D9A8 -sub_0202D9A8: ; 0x0202D9A8 - push {r3, lr} - cmp r1, #1 - beq _0202D9B4 - cmp r1, #2 - beq _0202D9B8 - b _0202D9BC -_0202D9B4: - ldr r0, [r0] - pop {r3, pc} -_0202D9B8: - ldr r0, [r0, #4] - pop {r3, pc} -_0202D9BC: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0202D9A8 - - thumb_func_start sub_0202D9C4 -sub_0202D9C4: ; 0x0202D9C4 - ldr r3, _0202D9CC ; =SavArray_get - mov r1, #0x15 - bx r3 - nop -_0202D9CC: .word SavArray_get - thumb_func_end sub_0202D9C4 - - thumb_func_start sub_0202D9D0 -sub_0202D9D0: ; 0x0202D9D0 - push {r3, lr} - bl sub_0202D9C4 - mov r1, #1 - add r0, #0x64 - strb r1, [r0] - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202D9D0 - - thumb_func_start sub_0202D9E0 -sub_0202D9E0: ; 0x0202D9E0 - add r0, #0x64 - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202D9E0 - - thumb_func_start sub_0202D9E8 -sub_0202D9E8: ; 0x0202D9E8 - ldr r2, [r0, #8] - cmp r2, r1 - beq _0202D9F2 - str r2, [r0, #0xc] - str r1, [r0, #8] -_0202D9F2: - bx lr - thumb_func_end sub_0202D9E8 - - thumb_func_start sub_0202D9F4 -sub_0202D9F4: ; 0x0202D9F4 - ldr r0, [r0, #0xc] - bx lr - thumb_func_end sub_0202D9F4 - - thumb_func_start sub_0202D9F8 -sub_0202D9F8: ; 0x0202D9F8 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #4 - blo _0202DA06 - bl GF_AssertFail -_0202DA06: - add r0, r5, r4 - add r0, #0x60 - ldrb r0, [r0] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202D9F8 - - thumb_func_start sub_0202DA10 -sub_0202DA10: ; 0x0202DA10 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - cmp r4, #4 - blo _0202DA20 - bl GF_AssertFail -_0202DA20: - add r0, r5, r4 - add r0, #0x60 - strb r6, [r0] - pop {r4, r5, r6, pc} - thumb_func_end sub_0202DA10 - - thumb_func_start sub_0202DA28 -sub_0202DA28: ; 0x0202DA28 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #4 - blo _0202DA36 - bl GF_AssertFail -_0202DA36: - mov r0, #0x14 - mul r0, r4 - add r0, r5, r0 - add r0, #0x22 - ldrb r0, [r0] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202DA28 - - thumb_func_start sub_0202DA44 -sub_0202DA44: ; 0x0202DA44 - ldr r2, [r0] - mov r1, #0x14 - mov r0, #0 -_0202DA4A: - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _0202DA4A - bx lr - thumb_func_end sub_0202DA44 - - thumb_func_start sub_0202DA54 -sub_0202DA54: ; 0x0202DA54 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #4 - blo _0202DA62 - bl GF_AssertFail -_0202DA62: - mov r0, #0x14 - add r5, #0x10 - mul r0, r4 - add r0, r5, r0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DA54 - - thumb_func_start sub_0202DA6C -sub_0202DA6C: ; 0x0202DA6C - push {r3, lr} - cmp r1, #8 - bhi _0202DAB0 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0202DA7E: ; jump table - .short _0202DAB0 - _0202DA7E - 2 ; case 0 - .short _0202DA90 - _0202DA7E - 2 ; case 1 - .short _0202DA94 - _0202DA7E - 2 ; case 2 - .short _0202DA98 - _0202DA7E - 2 ; case 3 - .short _0202DA9C - _0202DA7E - 2 ; case 4 - .short _0202DAA0 - _0202DA7E - 2 ; case 5 - .short _0202DAA4 - _0202DA7E - 2 ; case 6 - .short _0202DAA8 - _0202DA7E - 2 ; case 7 - .short _0202DAAC - _0202DA7E - 2 ; case 8 -_0202DA90: - ldr r0, [r0] - pop {r3, pc} -_0202DA94: - ldr r0, [r0, #4] - pop {r3, pc} -_0202DA98: - ldr r0, [r0, #8] - pop {r3, pc} -_0202DA9C: - ldrh r0, [r0, #0xc] - pop {r3, pc} -_0202DAA0: - ldrh r0, [r0, #0xe] - pop {r3, pc} -_0202DAA4: - ldrb r0, [r0, #0x10] - pop {r3, pc} -_0202DAA8: - ldrb r0, [r0, #0x11] - pop {r3, pc} -_0202DAAC: - ldrb r0, [r0, #0x12] - pop {r3, pc} -_0202DAB0: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0202DA6C - - thumb_func_start sub_0202DAB8 -sub_0202DAB8: ; 0x0202DAB8 - push {r3, lr} - cmp r1, #8 - bhi _0202DAFC - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0202DACA: ; jump table - .short _0202DAFC - _0202DACA - 2 ; case 0 - .short _0202DADC - _0202DACA - 2 ; case 1 - .short _0202DAE0 - _0202DACA - 2 ; case 2 - .short _0202DAE4 - _0202DACA - 2 ; case 3 - .short _0202DAE8 - _0202DACA - 2 ; case 4 - .short _0202DAEC - _0202DACA - 2 ; case 5 - .short _0202DAF0 - _0202DACA - 2 ; case 6 - .short _0202DAF4 - _0202DACA - 2 ; case 7 - .short _0202DAF8 - _0202DACA - 2 ; case 8 -_0202DADC: - str r2, [r0] - pop {r3, pc} -_0202DAE0: - str r2, [r0, #4] - pop {r3, pc} -_0202DAE4: - str r2, [r0, #8] - pop {r3, pc} -_0202DAE8: - strh r2, [r0, #0xc] - pop {r3, pc} -_0202DAEC: - strh r2, [r0, #0xe] - pop {r3, pc} -_0202DAF0: - strb r2, [r0, #0x10] - pop {r3, pc} -_0202DAF4: - strb r2, [r0, #0x11] - pop {r3, pc} -_0202DAF8: - strb r2, [r0, #0x12] - pop {r3, pc} -_0202DAFC: - bl GF_AssertFail - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202DAB8 - - thumb_func_start sub_0202DB04 -sub_0202DB04: ; 0x0202DB04 - add r0, #0x65 - bx lr - thumb_func_end sub_0202DB04 - - thumb_func_start sub_0202DB08 -sub_0202DB08: ; 0x0202DB08 - add r0, #0x65 - ldrb r0, [r0] - cmp r0, #0 - bne _0202DB14 - mov r0, #1 - bx lr -_0202DB14: - mov r0, #0 - bx lr - thumb_func_end sub_0202DB08 - - thumb_func_start sub_0202DB18 -sub_0202DB18: ; 0x0202DB18 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #2 - bls _0202DB26 - bl GF_AssertFail -_0202DB26: - add r5, #0x67 - strb r4, [r5] - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DB18 - - thumb_func_start sub_0202DB2C -sub_0202DB2C: ; 0x0202DB2C - add r0, #0x67 - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DB2C - - thumb_func_start sub_0202DB34 -sub_0202DB34: ; 0x0202DB34 - ldr r3, _0202DB3C ; =SavArray_get - mov r1, #0x16 - bx r3 - nop -_0202DB3C: .word SavArray_get - thumb_func_end sub_0202DB34 - - thumb_func_start sub_0202DB40 -sub_0202DB40: ; 0x0202DB40 - mov r0, #0xf8 - bx lr - thumb_func_end sub_0202DB40 - - thumb_func_start sub_0202DB44 -sub_0202DB44: ; 0x0202DB44 - ldr r3, _0202DB50 ; =MIi_CpuClearFast - add r1, r0, #0 - mov r0, #0 - mov r2, #0xf8 - bx r3 - nop -_0202DB50: .word MIi_CpuClearFast - thumb_func_end sub_0202DB44 - - thumb_func_start sub_0202DB54 -sub_0202DB54: ; 0x0202DB54 - add r0, #0xec - ldrh r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DB54 - - thumb_func_start sub_0202DB5C -sub_0202DB5C: ; 0x0202DB5C - add r0, #0xec - strh r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DB5C - - thumb_func_start sub_0202DB64 -sub_0202DB64: ; 0x0202DB64 - ldr r3, _0202DB6C ; =sub_020D48B4 - mov r2, #0xec - bx r3 - nop -_0202DB6C: .word sub_020D48B4 - thumb_func_end sub_0202DB64 - - thumb_func_start sub_0202DB70 -sub_0202DB70: ; 0x0202DB70 - ldr r3, _0202DB7C ; =sub_020D48B4 - add r2, r0, #0 - add r0, r1, #0 - add r1, r2, #0 - mov r2, #0xec - bx r3 - .balign 4, 0 -_0202DB7C: .word sub_020D48B4 - thumb_func_end sub_0202DB70 - - thumb_func_start sub_0202DB80 -sub_0202DB80: ; 0x0202DB80 - add r0, #0xf0 - ldr r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DB80 - - thumb_func_start sub_0202DB88 -sub_0202DB88: ; 0x0202DB88 - add r0, #0xf0 - str r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DB88 - - thumb_func_start sub_0202DB90 -sub_0202DB90: ; 0x0202DB90 - add r0, #0xf4 - ldr r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DB90 - - thumb_func_start sub_0202DB98 -sub_0202DB98: ; 0x0202DB98 - add r0, #0xf4 - str r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DB98 - - thumb_func_start sub_0202DBA0 -sub_0202DBA0: ; 0x0202DBA0 - add r0, #0xee - ldrh r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202DBA0 - - thumb_func_start sub_0202DBA8 -sub_0202DBA8: ; 0x0202DBA8 - mov r0, #0x5a - lsl r0, r0, #6 - bx lr - .balign 4, 0 - thumb_func_end sub_0202DBA8 - - thumb_func_start sub_0202DBB0 -sub_0202DBB0: ; 0x0202DBB0 - ldr r3, _0202DBB8 ; =sub_0202893C - mov r0, #0x1b - bx r3 - nop -_0202DBB8: .word sub_0202893C - thumb_func_end sub_0202DBB0 - - thumb_func_start sub_0202DBBC -sub_0202DBBC: ; 0x0202DBBC - cmp r0, #0 - beq _0202DBC8 - cmp r0, #0x10 - bhs _0202DBC8 - mov r0, #1 - bx lr -_0202DBC8: - mov r0, #0 - bx lr - thumb_func_end sub_0202DBBC - - thumb_func_start sub_0202DBCC -sub_0202DBCC: ; 0x0202DBCC - push {r3, r4, r5, lr} - cmp r1, #0 - blt _0202DBF0 - cmp r1, #8 - bge _0202DBF0 - mov r2, #1 - lsl r2, r2, #8 - add r4, r0, r2 - lsl r0, r1, #6 - add r0, r1, r0 - lsl r5, r0, #2 - ldrh r0, [r4, r5] - bl sub_0202DBBC - cmp r0, #0 - beq _0202DBF0 - add r0, r4, r5 - pop {r3, r4, r5, pc} -_0202DBF0: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DBCC - - thumb_func_start sub_0202DBF4 -sub_0202DBF4: ; 0x0202DBF4 - push {r3, r4, r5, lr} - cmp r1, #0 - blt _0202DC1A - cmp r1, #3 - bge _0202DC1A - mov r2, #0x92 - lsl r2, r2, #4 - add r4, r0, r2 - mov r0, #0xd6 - lsl r0, r0, #2 - add r5, r1, #0 - mul r5, r0 - ldrh r0, [r4, r5] - bl sub_0202DBBC - cmp r0, #0 - beq _0202DC24 - add r0, r4, r5 - pop {r3, r4, r5, pc} -_0202DC1A: - cmp r1, #4 - bne _0202DC24 - ldr r1, _0202DC28 ; =0x00001328 - add r0, r0, r1 - pop {r3, r4, r5, pc} -_0202DC24: - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202DC28: .word 0x00001328 - thumb_func_end sub_0202DBF4 - - thumb_func_start sub_0202DC2C -sub_0202DC2C: ; 0x0202DC2C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r1, [sp, #4] - mov r1, #0 - str r0, [sp] - str r2, [sp, #8] - str r1, [sp, #0xc] - bl sub_0202DE14 - cmp r0, #0 - bne _0202DC48 - add sp, #0x10 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202DC48: - mov r7, #0x41 - lsl r7, r7, #2 - ldr r5, [sp] - mov r4, #0 - sub r6, r7, #4 -_0202DC52: - ldrh r0, [r5, r6] - bl sub_0202DBBC - cmp r0, #0 - bne _0202DC94 - lsl r0, r4, #6 - mov r2, #1 - add r0, r4, r0 - lsl r4, r0, #2 - ldr r1, [sp] - lsl r2, r2, #8 - add r1, r1, r2 - ldr r0, [sp, #4] - add r1, r1, r4 - add r2, r2, #4 - bl sub_020D4A50 - ldr r1, _0202DCA8 ; =0x00000102 - ldr r0, [sp] - mov r2, #3 - add r1, r0, r1 - ldrh r0, [r1, r4] - bic r0, r2 - ldr r2, [sp, #8] - lsl r2, r2, #0x10 - lsr r3, r2, #0x10 - mov r2, #3 - and r2, r3 - orr r0, r2 - strh r0, [r1, r4] - mov r0, #1 - str r0, [sp, #0xc] - b _0202DC9C -_0202DC94: - add r4, r4, #1 - add r5, r5, r7 - cmp r4, #8 - blt _0202DC52 -_0202DC9C: - mov r0, #0x1b - bl sub_0202893C - ldr r0, [sp, #0xc] - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202DCA8: .word 0x00000102 - thumb_func_end sub_0202DC2C - - thumb_func_start sub_0202DCAC -sub_0202DCAC: ; 0x0202DCAC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r1, [sp, #4] - mov r1, #0 - str r0, [sp] - str r1, [sp, #8] - bl sub_0202DE3C - cmp r0, #0 - bne _0202DCC6 - add sp, #0xc - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0202DCC6: - ldr r1, _0202DD44 ; =0x00000152 - ldr r0, [sp, #4] - ldrb r0, [r0, r1] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - cmp r0, #1 - bne _0202DCE4 - ldr r0, [sp] - bl sub_0202DE14 - cmp r0, #0 - bne _0202DCE4 - add sp, #0xc - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0202DCE4: - mov r7, #0xd6 - mov r6, #0x92 - ldr r5, [sp] - mov r4, #0 - lsl r7, r7, #2 - lsl r6, r6, #4 -_0202DCF0: - ldrh r0, [r5, r6] - bl sub_0202DBBC - cmp r0, #0 - bne _0202DD30 - mov r2, #0x92 - ldr r1, [sp] - lsl r2, r2, #4 - add r3, r1, r2 - mov r2, #0xd6 - lsl r2, r2, #2 - add r1, r4, #0 - mul r1, r2 - ldr r0, [sp, #4] - add r1, r3, r1 - bl sub_020D4A50 - ldr r1, _0202DD44 ; =0x00000152 - ldr r0, [sp, #4] - ldrb r0, [r0, r1] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - cmp r0, #1 - bne _0202DD2A - ldr r0, [sp] - ldr r1, [sp, #4] - add r2, r4, #0 - bl sub_0202DC2C -_0202DD2A: - mov r0, #1 - str r0, [sp, #8] - b _0202DD38 -_0202DD30: - add r4, r4, #1 - add r5, r5, r7 - cmp r4, #3 - blt _0202DCF0 -_0202DD38: - mov r0, #0x1b - bl sub_0202893C - ldr r0, [sp, #8] - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0202DD44: .word 0x00000152 - thumb_func_end sub_0202DCAC - - thumb_func_start sub_0202DD48 -sub_0202DD48: ; 0x0202DD48 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _0202DD78 ; =0x00001328 - add r4, r1, #0 - ldrh r0, [r5, r0] - bl sub_0202DBBC - cmp r0, #1 - bne _0202DD5E - mov r0, #0 - pop {r3, r4, r5, pc} -_0202DD5E: - ldr r1, _0202DD78 ; =0x00001328 - mov r2, #0xd6 - add r0, r4, #0 - add r1, r5, r1 - lsl r2, r2, #2 - bl sub_020D4A50 - mov r0, #0x1b - bl sub_0202893C - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_0202DD78: .word 0x00001328 - thumb_func_end sub_0202DD48 - - thumb_func_start sub_0202DD7C -sub_0202DD7C: ; 0x0202DD7C - push {r3, r4, r5, lr} - add r5, r1, #0 - add r4, r0, #0 - cmp r5, #8 - blt _0202DD8A - bl GF_AssertFail -_0202DD8A: - lsl r0, r5, #6 - add r0, r5, r0 - lsl r0, r0, #2 - mov r1, #1 - mov r3, #0 - add r2, r4, r0 - lsl r1, r1, #8 - strh r3, [r2, r1] - add r1, r1, #2 - add r3, r4, r1 - ldrh r2, [r3, r0] - mov r1, #3 - bic r2, r1 - strh r2, [r3, r0] - mov r0, #0x1b - bl sub_0202893C - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DD7C - - thumb_func_start sub_0202DDB0 -sub_0202DDB0: ; 0x0202DDB0 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #3 - blt _0202DDBE - bl GF_AssertFail -_0202DDBE: - mov r0, #0xd6 - lsl r0, r0, #2 - mul r0, r4 - add r2, r5, r0 - mov r0, #0x92 - mov r1, #0 - lsl r0, r0, #4 - strh r1, [r2, r0] - mov r1, #0xa7 - lsl r1, r1, #4 - ldrh r1, [r2, r1] - add r0, r5, #0 - bl sub_0202DFDC - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202DF38 - mov r0, #0x1b - bl sub_0202893C - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DDB0 - - thumb_func_start sub_0202DDEC -sub_0202DDEC: ; 0x0202DDEC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #3 - blt _0202DDFA - bl GF_AssertFail -_0202DDFA: - mov r0, #0xd6 - lsl r0, r0, #2 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x92 - mov r2, #0 - lsl r0, r0, #4 - strh r2, [r1, r0] - mov r0, #0x1b - bl sub_0202893C - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DDEC - - thumb_func_start sub_0202DE14 -sub_0202DE14: ; 0x0202DE14 - push {r3, r4, r5, r6, r7, lr} - mov r7, #0x41 - lsl r7, r7, #2 - add r5, r0, #0 - mov r4, #0 - sub r6, r7, #4 -_0202DE20: - ldrh r0, [r5, r6] - bl sub_0202DBBC - cmp r0, #0 - bne _0202DE2E - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202DE2E: - add r4, r4, #1 - add r5, r5, r7 - cmp r4, #8 - blt _0202DE20 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202DE14 - - thumb_func_start sub_0202DE3C -sub_0202DE3C: ; 0x0202DE3C - push {r3, r4, r5, r6, r7, lr} - mov r7, #0xd6 - mov r6, #0x92 - add r5, r0, #0 - mov r4, #0 - lsl r7, r7, #2 - lsl r6, r6, #4 -_0202DE4A: - ldrh r0, [r5, r6] - bl sub_0202DBBC - cmp r0, #0 - bne _0202DE58 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202DE58: - add r4, r4, #1 - add r5, r5, r7 - cmp r4, #3 - blt _0202DE4A - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202DE3C - - thumb_func_start sub_0202DE64 -sub_0202DE64: ; 0x0202DE64 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #8 - blt _0202DE72 - bl GF_AssertFail -_0202DE72: - lsl r0, r4, #6 - add r0, r4, r0 - lsl r0, r0, #2 - add r1, r5, r0 - mov r0, #1 - lsl r0, r0, #8 - ldrh r0, [r1, r0] - bl sub_0202DBBC - cmp r0, #0 - beq _0202DE8C - mov r0, #1 - pop {r3, r4, r5, pc} -_0202DE8C: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DE64 - - thumb_func_start sub_0202DE90 -sub_0202DE90: ; 0x0202DE90 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #3 - blt _0202DE9E - bl GF_AssertFail -_0202DE9E: - mov r0, #0xd6 - lsl r0, r0, #2 - mul r0, r4 - add r1, r5, r0 - mov r0, #0x92 - lsl r0, r0, #4 - ldrh r0, [r1, r0] - bl sub_0202DBBC - cmp r0, #0 - beq _0202DEB8 - mov r0, #1 - pop {r3, r4, r5, pc} -_0202DEB8: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DE90 - - thumb_func_start sub_0202DEBC -sub_0202DEBC: ; 0x0202DEBC - push {r3, lr} - ldr r1, _0202DED4 ; =0x00001328 - ldrh r0, [r0, r1] - bl sub_0202DBBC - cmp r0, #0 - beq _0202DECE - mov r0, #1 - pop {r3, pc} -_0202DECE: - mov r0, #0 - pop {r3, pc} - nop -_0202DED4: .word 0x00001328 - thumb_func_end sub_0202DEBC - - thumb_func_start sub_0202DED8 -sub_0202DED8: ; 0x0202DED8 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 -_0202DEDE: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202DE90 - cmp r0, #1 - bne _0202DEEE - mov r0, #1 - pop {r3, r4, r5, pc} -_0202DEEE: - add r4, r4, #1 - cmp r4, #3 - blt _0202DEDE - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DED8 - - thumb_func_start sub_0202DEF8 -sub_0202DEF8: ; 0x0202DEF8 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, _0202DF34 ; =0x00000102 - add r7, r1, #0 - mov r6, #0 - add r4, r5, r0 -_0202DF04: - mov r0, #1 - lsl r0, r0, #8 - ldrh r0, [r5, r0] - bl sub_0202DBBC - cmp r0, #0 - beq _0202DF20 - ldrh r0, [r4] - lsl r0, r0, #0x1e - lsr r0, r0, #0x1e - cmp r7, r0 - bne _0202DF20 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202DF20: - mov r0, #0x41 - lsl r0, r0, #2 - add r6, r6, #1 - add r5, r5, r0 - add r4, r4, r0 - cmp r6, #8 - blt _0202DF04 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202DF34: .word 0x00000102 - thumb_func_end sub_0202DEF8 - - thumb_func_start sub_0202DF38 -sub_0202DF38: ; 0x0202DF38 - push {r3, r4, r5, r6, r7, lr} - add r7, r1, #0 - ldr r1, _0202DF78 ; =0x00000102 - str r0, [sp] - mov r6, #0 - add r4, r0, #0 - add r5, r0, r1 -_0202DF46: - mov r0, #1 - lsl r0, r0, #8 - ldrh r0, [r4, r0] - bl sub_0202DBBC - cmp r0, #0 - beq _0202DF68 - ldrh r0, [r5] - lsl r0, r0, #0x1e - lsr r0, r0, #0x1e - cmp r7, r0 - bne _0202DF68 - ldr r0, [sp] - add r1, r6, #0 - bl sub_0202DD7C - pop {r3, r4, r5, r6, r7, pc} -_0202DF68: - mov r0, #0x41 - lsl r0, r0, #2 - add r6, r6, #1 - add r4, r4, r0 - add r5, r5, r0 - cmp r6, #8 - blt _0202DF46 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202DF78: .word 0x00000102 - thumb_func_end sub_0202DF38 - - thumb_func_start sub_0202DF7C -sub_0202DF7C: ; 0x0202DF7C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #2 - add r4, r1, #0 - lsl r0, r0, #0xa - cmp r4, r0 - blt _0202DF8E - bl GF_AssertFail -_0202DF8E: - mov r0, #1 - mov r1, #7 - add r2, r4, #0 - and r2, r1 - add r1, r0, #0 - lsl r1, r2 - asr r2, r4, #2 - lsr r2, r2, #0x1d - add r2, r4, r2 - asr r2, r2, #3 - ldrb r2, [r5, r2] - tst r1, r2 - bne _0202DFAA - mov r0, #0 -_0202DFAA: - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DF7C - - thumb_func_start sub_0202DFAC -sub_0202DFAC: ; 0x0202DFAC - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #2 - add r4, r1, #0 - lsl r0, r0, #0xa - cmp r4, r0 - blt _0202DFBE - bl GF_AssertFail -_0202DFBE: - asr r0, r4, #2 - lsr r0, r0, #0x1d - add r0, r4, r0 - asr r1, r0, #3 - mov r2, #7 - ldrb r0, [r5, r1] - mov r3, #1 - and r2, r4 - lsl r3, r2 - orr r0, r3 - strb r0, [r5, r1] - mov r0, #0x1b - bl sub_0202893C - pop {r3, r4, r5, pc} - thumb_func_end sub_0202DFAC - - thumb_func_start sub_0202DFDC -sub_0202DFDC: ; 0x0202DFDC - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - mov r1, #1 - mov r0, #7 - and r0, r4 - add r2, r1, #0 - lsl r2, r0 - mvn r0, r2 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - lsl r0, r1, #0xb - cmp r4, r0 - blt _0202DFFC - bl GF_AssertFail -_0202DFFC: - asr r0, r4, #2 - lsr r0, r0, #0x1d - add r0, r4, r0 - asr r1, r0, #3 - ldrb r0, [r5, r1] - and r0, r6 - strb r0, [r5, r1] - mov r0, #0x1b - bl sub_0202893C - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202DFDC - - thumb_func_start sub_0202E014 -sub_0202E014: ; 0x0202E014 - ldr r3, _0202E01C ; =sub_0202DF7C - ldr r1, _0202E020 ; =0x000007FF - bx r3 - nop -_0202E01C: .word sub_0202DF7C -_0202E020: .word 0x000007FF - thumb_func_end sub_0202E014 - - thumb_func_start sub_0202E024 -sub_0202E024: ; 0x0202E024 - ldr r3, _0202E02C ; =sub_0202DFAC - ldr r1, _0202E030 ; =0x000007FF - bx r3 - nop -_0202E02C: .word sub_0202DFAC -_0202E030: .word 0x000007FF - thumb_func_end sub_0202E024 - - thumb_func_start sub_0202E034 -sub_0202E034: ; 0x0202E034 - push {r3, lr} - ldr r1, _0202E050 ; =0x021D2AF4 - ldr r1, [r1] - cmp r1, #0 - bne _0202E046 - bl sub_020270E4 - ldr r1, _0202E050 ; =0x021D2AF4 - str r0, [r1] -_0202E046: - mov r0, #0x1b - bl sub_0202893C - pop {r3, pc} - nop -_0202E050: .word 0x021D2AF4 - thumb_func_end sub_0202E034 - - thumb_func_start sub_0202E054 -sub_0202E054: ; 0x0202E054 - ldr r0, _0202E064 ; =0x021D2AF4 - ldr r1, [r0] - cmp r1, #0 - beq _0202E060 - mov r1, #0 - str r1, [r0] -_0202E060: - bx lr - nop -_0202E064: .word 0x021D2AF4 - thumb_func_end sub_0202E054 - - thumb_func_start sub_0202E068 -sub_0202E068: ; 0x0202E068 - push {r3, r4, r5, lr} - ldr r4, _0202E08C ; =0x021D2AF4 - mov r5, #0 -_0202E06E: - ldr r0, [r4] - add r1, r5, #0 - bl sub_0202DE64 - cmp r0, #1 - bne _0202E07E - add r0, r5, #0 - pop {r3, r4, r5, pc} -_0202E07E: - add r5, r5, #1 - cmp r5, #8 - blt _0202E06E - mov r0, #0 - mvn r0, r0 - pop {r3, r4, r5, pc} - nop -_0202E08C: .word 0x021D2AF4 - thumb_func_end sub_0202E068 - - thumb_func_start sub_0202E090 -sub_0202E090: ; 0x0202E090 - push {r3, lr} - add r1, r0, #0 - ldr r0, _0202E0A8 ; =0x021D2AF4 - ldr r0, [r0] - bl sub_0202DBCC - cmp r0, #0 - beq _0202E0A4 - ldrh r0, [r0] - pop {r3, pc} -_0202E0A4: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 -_0202E0A8: .word 0x021D2AF4 - thumb_func_end sub_0202E090 - - thumb_func_start sub_0202E0AC -sub_0202E0AC: ; 0x0202E0AC - push {r3, lr} - add r1, r0, #0 - ldr r0, _0202E0C4 ; =0x021D2AF4 - ldr r0, [r0] - bl sub_0202DBCC - cmp r0, #0 - beq _0202E0C0 - add r0, r0, #4 - pop {r3, pc} -_0202E0C0: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 -_0202E0C4: .word 0x021D2AF4 - thumb_func_end sub_0202E0AC - - thumb_func_start sub_0202E0C8 -sub_0202E0C8: ; 0x0202E0C8 - add r1, r0, #0 - ldr r0, _0202E0D4 ; =0x021D2AF4 - ldr r3, _0202E0D8 ; =sub_0202DD7C - ldr r0, [r0] - bx r3 - nop -_0202E0D4: .word 0x021D2AF4 -_0202E0D8: .word sub_0202DD7C - thumb_func_end sub_0202E0C8 - - thumb_func_start sub_0202E0DC -sub_0202E0DC: ; 0x0202E0DC - ldr r0, _0202E0E0 ; =0x00002AB0 - bx lr - .balign 4, 0 -_0202E0E0: .word 0x00002AB0 - thumb_func_end sub_0202E0DC - - thumb_func_start sub_0202E0E4 -sub_0202E0E4: ; 0x0202E0E4 - ldr r3, _0202E0F0 ; =sub_020D47EC - add r1, r0, #0 - mov r0, #0 - ldr r2, _0202E0F4 ; =0x00002AB0 - bx r3 - nop -_0202E0F0: .word sub_020D47EC -_0202E0F4: .word 0x00002AB0 - thumb_func_end sub_0202E0E4 - - thumb_func_start sub_0202E0F8 -sub_0202E0F8: ; 0x0202E0F8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - str r0, [sp] - str r1, [sp, #4] - str r2, [sp, #8] - cmp r0, #0 - bne _0202E10A - bl GF_AssertFail -_0202E10A: - ldr r1, _0202E288 ; =0x00002AA8 - ldr r0, [sp] - ldr r0, [r0, r1] - cmp r0, #0x1e - blo _0202E118 - bl GF_AssertFail -_0202E118: - ldr r1, _0202E28C ; =0x00002AAC - ldr r0, [sp] - ldr r2, [r0, r1] - ldr r0, _0202E290 ; =0x0000270F - cmp r2, r0 - blo _0202E126 - b _0202E284 -_0202E126: - ldr r0, [sp] - sub r1, r1, #4 - ldr r1, [r0, r1] - mov r0, #0x5b - lsl r0, r0, #2 - add r2, r1, #0 - mul r2, r0 - ldr r0, [sp] - add r0, r0, r2 - str r0, [sp, #0x14] - ldr r0, [sp, #4] - bl sub_02074640 - str r0, [sp, #0x10] - mov r0, #0xb - mov r1, #0 - bl String_ctor - mov r2, #0x5a - add r6, r0, #0 - ldr r1, [sp, #0x14] - mov r0, #0 - lsl r2, r2, #2 - bl sub_020D4790 - ldr r0, [sp, #0x10] - mov r7, #0 - cmp r0, #0 - ble _0202E236 - ldr r5, [sp, #0x14] -_0202E162: - ldr r0, [sp, #4] - add r1, r7, #0 - bl sub_02074644 - add r4, r0, #0 - bl sub_0206DD40 - str r0, [sp, #0xc] - add r0, r4, #0 - mov r1, #0x4c - mov r2, #0 - bl sub_0206E540 - cmp r0, #0 - bne _0202E226 - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - bl sub_0206E540 - strh r0, [r5] - add r0, r4, #0 - mov r1, #0xa1 - mov r2, #0 - bl sub_0206E540 - strb r0, [r5, #2] - add r0, r4, #0 - mov r1, #0x70 - mov r2, #0 - bl sub_0206E540 - mov r1, #0 - strb r0, [r5, #3] - add r0, r4, #0 - add r2, r1, #0 - bl sub_0206E540 - str r0, [r5, #4] - add r0, r4, #0 - mov r1, #7 - mov r2, #0 - bl sub_0206E540 - str r0, [r5, #8] - add r0, r4, #0 - mov r1, #0x36 - mov r2, #0 - bl sub_0206E540 - strh r0, [r5, #0x32] - add r0, r4, #0 - mov r1, #0x37 - mov r2, #0 - bl sub_0206E540 - strh r0, [r5, #0x34] - add r0, r4, #0 - mov r1, #0x38 - mov r2, #0 - bl sub_0206E540 - strh r0, [r5, #0x36] - add r0, r4, #0 - mov r1, #0x39 - mov r2, #0 - bl sub_0206E540 - strh r0, [r5, #0x38] - cmp r6, #0 - beq _0202E21E - add r0, r4, #0 - mov r1, #0x77 - add r2, r6, #0 - bl sub_0206E540 - add r1, r5, #0 - add r0, r6, #0 - add r1, #0xc - mov r2, #0xb - bl CopyStringToU16Array - add r0, r4, #0 - mov r1, #0x91 - add r2, r6, #0 - bl sub_0206E540 - add r1, r5, #0 - add r0, r6, #0 - add r1, #0x22 - mov r2, #8 - bl CopyStringToU16Array - b _0202E224 -_0202E21E: - ldr r0, _0202E294 ; =0x0000FFFF - strh r0, [r5, #0xc] - strh r0, [r5, #0x22] -_0202E224: - add r5, #0x3c -_0202E226: - ldr r1, [sp, #0xc] - add r0, r4, #0 - bl sub_0206DD8C - ldr r0, [sp, #0x10] - add r7, r7, #1 - cmp r7, r0 - blt _0202E162 -_0202E236: - ldr r0, [sp, #8] - mov r1, #0x5a - ldr r2, [r0] - ldr r0, [sp, #0x14] - lsl r1, r1, #2 - strh r2, [r0, r1] - ldr r0, [sp, #8] - add r2, r1, #2 - ldr r3, [r0, #4] - ldr r0, [sp, #0x14] - add r1, r1, #3 - strb r3, [r0, r2] - ldr r0, [sp, #8] - ldr r2, [r0, #8] - ldr r0, [sp, #0x14] - strb r2, [r0, r1] - ldr r1, _0202E288 ; =0x00002AA8 - ldr r0, [sp] - ldr r0, [r0, r1] - add r2, r0, #1 - ldr r0, [sp] - str r2, [r0, r1] - ldr r0, [r0, r1] - cmp r0, #0x1e - blo _0202E26E - ldr r0, [sp] - mov r2, #0 - str r2, [r0, r1] -_0202E26E: - ldr r1, _0202E28C ; =0x00002AAC - ldr r0, [sp] - ldr r0, [r0, r1] - add r2, r0, #1 - ldr r0, [sp] - cmp r6, #0 - str r2, [r0, r1] - beq _0202E284 - add r0, r6, #0 - bl String_dtor -_0202E284: - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202E288: .word 0x00002AA8 -_0202E28C: .word 0x00002AAC -_0202E290: .word 0x0000270F -_0202E294: .word 0x0000FFFF - thumb_func_end sub_0202E0F8 - - thumb_func_start sub_0202E298 -sub_0202E298: ; 0x0202E298 - push {r4, lr} - add r4, r0, #0 - bne _0202E2A2 - bl GF_AssertFail -_0202E2A2: - ldr r0, _0202E2BC ; =0x00002AA8 - ldr r0, [r4, r0] - cmp r0, #0x1e - blo _0202E2AE - bl GF_AssertFail -_0202E2AE: - ldr r0, _0202E2C0 ; =0x00002AAC - ldr r0, [r4, r0] - cmp r0, #0x1e - blo _0202E2B8 - mov r0, #0x1e -_0202E2B8: - pop {r4, pc} - nop -_0202E2BC: .word 0x00002AA8 -_0202E2C0: .word 0x00002AAC - thumb_func_end sub_0202E298 - - thumb_func_start sub_0202E2C4 -sub_0202E2C4: ; 0x0202E2C4 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - cmp r5, #0 - bne _0202E2D2 - bl GF_AssertFail -_0202E2D2: - ldr r0, _0202E2F0 ; =0x00002AA8 - ldr r0, [r5, r0] - cmp r0, #0x1e - blo _0202E2DE - bl GF_AssertFail -_0202E2DE: - cmp r4, #0x1e - blt _0202E2E6 - bl GF_AssertFail -_0202E2E6: - ldr r0, _0202E2F4 ; =0x00002AAC - ldr r0, [r5, r0] - sub r0, r0, r4 - pop {r3, r4, r5, pc} - nop -_0202E2F0: .word 0x00002AA8 -_0202E2F4: .word 0x00002AAC - thumb_func_end sub_0202E2C4 - - thumb_func_start sub_0202E2F8 -sub_0202E2F8: ; 0x0202E2F8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - cmp r5, #0 - bne _0202E306 - bl GF_AssertFail -_0202E306: - ldr r0, _0202E340 ; =0x00002AA8 - ldr r0, [r5, r0] - cmp r0, #0x1e - blo _0202E312 - bl GF_AssertFail -_0202E312: - cmp r4, #0x1e - blt _0202E31A - bl GF_AssertFail -_0202E31A: - ldr r0, _0202E340 ; =0x00002AA8 - ldr r0, [r5, r0] - sub r0, r0, #1 - sub r2, r0, r4 - bpl _0202E326 - add r2, #0x1e -_0202E326: - mov r1, #0x5b - lsl r1, r1, #2 - mul r1, r2 - mov r0, #0 - add r2, r5, r1 -_0202E330: - ldrh r1, [r2] - cmp r1, #0 - beq _0202E33E - add r0, r0, #1 - add r2, #0x3c - cmp r0, #6 - blo _0202E330 -_0202E33E: - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202E340: .word 0x00002AA8 - thumb_func_end sub_0202E2F8 - - thumb_func_start sub_0202E344 -sub_0202E344: ; 0x0202E344 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - add r4, r3, #0 - cmp r5, #0 - bne _0202E356 - bl GF_AssertFail -_0202E356: - ldr r0, _0202E3C0 ; =0x00002AA8 - ldr r0, [r5, r0] - cmp r0, #0x1e - blo _0202E362 - bl GF_AssertFail -_0202E362: - cmp r6, #0x1e - blt _0202E36A - bl GF_AssertFail -_0202E36A: - ldr r0, _0202E3C0 ; =0x00002AA8 - ldr r0, [r5, r0] - sub r0, r0, #1 - sub r1, r0, r6 - bpl _0202E376 - add r1, #0x1e -_0202E376: - mov r0, #0x5b - lsl r0, r0, #2 - mul r0, r1 - add r1, r5, r0 - mov r0, #0x3c - mul r0, r7 - add r5, r1, r0 - ldrh r0, [r1, r0] - add r1, r5, #0 - add r1, #0xc - strh r0, [r4, #0x10] - ldrb r0, [r5, #2] - strb r0, [r4, #0x12] - ldr r0, [r5, #4] - str r0, [r4, #8] - ldr r0, [r5, #8] - str r0, [r4, #0xc] - ldrb r0, [r5, #3] - strb r0, [r4, #0x13] - ldr r0, [r4] - bl CopyU16ArrayToString - add r1, r5, #0 - ldr r0, [r4, #4] - add r1, #0x22 - bl CopyU16ArrayToString - mov r1, #0 -_0202E3AE: - ldrh r0, [r5, #0x32] - add r1, r1, #1 - add r5, r5, #2 - strh r0, [r4, #0x14] - add r4, r4, #2 - cmp r1, #4 - blt _0202E3AE - pop {r3, r4, r5, r6, r7, pc} - nop -_0202E3C0: .word 0x00002AA8 - thumb_func_end sub_0202E344 - - thumb_func_start sub_0202E3C4 -sub_0202E3C4: ; 0x0202E3C4 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - add r4, r2, #0 - cmp r5, #0 - bne _0202E3D4 - bl GF_AssertFail -_0202E3D4: - ldr r0, _0202E418 ; =0x00002AA8 - ldr r0, [r5, r0] - cmp r0, #0x1e - blo _0202E3E0 - bl GF_AssertFail -_0202E3E0: - cmp r6, #0x1e - blt _0202E3E8 - bl GF_AssertFail -_0202E3E8: - ldr r0, _0202E418 ; =0x00002AA8 - ldr r0, [r5, r0] - sub r0, r0, #1 - sub r2, r0, r6 - bpl _0202E3F4 - add r2, #0x1e -_0202E3F4: - mov r0, #0x5b - lsl r0, r0, #2 - add r1, r2, #0 - mul r1, r0 - add r2, r5, r1 - sub r1, r0, #4 - ldrh r1, [r2, r1] - str r1, [r4] - sub r1, r0, #2 - ldrb r1, [r2, r1] - sub r0, r0, #1 - str r1, [r4, #4] - ldrb r0, [r2, r0] - str r0, [r4, #8] - mov r0, #0 - str r0, [r4, #0xc] - pop {r4, r5, r6, pc} - nop -_0202E418: .word 0x00002AA8 - thumb_func_end sub_0202E3C4 - - thumb_func_start sub_0202E41C -sub_0202E41C: ; 0x0202E41C - ldr r0, _0202E420 ; =0x00000BC8 - bx lr - .balign 4, 0 -_0202E420: .word 0x00000BC8 - thumb_func_end sub_0202E41C - - thumb_func_start sub_0202E424 -sub_0202E424: ; 0x0202E424 - push {r3, lr} - ldr r2, _0202E438 ; =0x00000BC8 - add r1, r0, #0 - mov r0, #0 - bl MIi_CpuClearFast - mov r0, #0x17 - bl sub_0202893C - pop {r3, pc} - .balign 4, 0 -_0202E438: .word 0x00000BC8 - thumb_func_end sub_0202E424 - - thumb_func_start sub_0202E43C -sub_0202E43C: ; 0x0202E43C - push {r4, lr} - add r4, r0, #0 - add r1, r4, #0 - mov r0, #0 - add r1, #0xc - mov r2, #0xc0 - bl MIi_CpuClearFast - add r1, r4, #0 - mov r0, #0 - add r1, #0xcc - mov r2, #0xc0 - bl MIi_CpuClearFast - mov r1, #0x63 - lsl r1, r1, #2 - mov r0, #0 - add r1, r4, r1 - mov r2, #0xc0 - bl MIi_CpuClearFast - add r0, r4, #0 - bl sub_0202E474 - mov r0, #0x17 - bl sub_0202893C - pop {r4, pc} - thumb_func_end sub_0202E43C - - thumb_func_start sub_0202E474 -sub_0202E474: ; 0x0202E474 - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - bl sub_0202E48C - add r0, r4, #0 - bl sub_0202E498 - mov r0, #0x17 - bl sub_0202893C - pop {r4, pc} - thumb_func_end sub_0202E474 - - thumb_func_start sub_0202E48C -sub_0202E48C: ; 0x0202E48C - ldr r3, _0202E494 ; =sub_0202893C - strb r1, [r0, #8] - mov r0, #0x17 - bx r3 - .balign 4, 0 -_0202E494: .word sub_0202893C - thumb_func_end sub_0202E48C - - thumb_func_start sub_0202E498 -sub_0202E498: ; 0x0202E498 - mov r2, #0 - add r1, r2, #0 -_0202E49C: - strb r1, [r0, r2] - add r2, r2, #1 - cmp r2, #4 - blt _0202E49C - ldr r3, _0202E4AC ; =sub_0202893C - mov r0, #0x17 - bx r3 - nop -_0202E4AC: .word sub_0202893C - thumb_func_end sub_0202E498 - - thumb_func_start sub_0202E4B0 -sub_0202E4B0: ; 0x0202E4B0 - lsl r1, r0, #1 - ldr r0, _0202E4B8 ; =0x020F684C - ldrb r0, [r0, r1] - bx lr - .balign 4, 0 -_0202E4B8: .word 0x020F684C - thumb_func_end sub_0202E4B0 - - thumb_func_start sub_0202E4BC -sub_0202E4BC: ; 0x0202E4BC - lsl r1, r0, #1 - ldr r0, _0202E4C4 ; =0x020F684D - ldrb r0, [r0, r1] - bx lr - .balign 4, 0 -_0202E4C4: .word 0x020F684D - thumb_func_end sub_0202E4BC - - thumb_func_start sub_0202E4C8 -sub_0202E4C8: ; 0x0202E4C8 - push {r3, lr} - mov r1, #0 - str r1, [r0] - str r1, [r0, #4] - add r0, #8 - mov r1, #8 - bl StringFillEOS - mov r0, #0x18 - bl sub_0202893C - pop {r3, pc} - thumb_func_end sub_0202E4C8 - - thumb_func_start sub_0202E4E0 -sub_0202E4E0: ; 0x0202E4E0 - push {r3, lr} - add r0, #8 - bl StringLength - cmp r0, #0 - beq _0202E4F0 - mov r0, #1 - pop {r3, pc} -_0202E4F0: - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0202E4E0 - - thumb_func_start sub_0202E4F4 -sub_0202E4F4: ; 0x0202E4F4 - mov r0, #0xea - lsl r0, r0, #4 - bx lr - .balign 4, 0 - thumb_func_end sub_0202E4F4 - - thumb_func_start sub_0202E4FC -sub_0202E4FC: ; 0x0202E4FC - push {r3, r4, r5, r6, r7, lr} - mov r2, #0xea - mov r1, #0 - lsl r2, r2, #4 - add r6, r0, #0 - bl MIi_CpuFill8 - mov r7, #0 -_0202E50C: - mov r4, #0 - add r5, r6, #0 -_0202E510: - add r0, r5, #0 - bl sub_0202E4C8 - add r4, r4, #1 - add r5, #0x18 - cmp r4, #6 - blt _0202E510 - add r7, r7, #1 - add r6, #0x90 - cmp r7, #0x1a - blt _0202E50C - mov r0, #0x18 - bl sub_0202893C - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202E4FC - - thumb_func_start sub_0202E530 -sub_0202E530: ; 0x0202E530 - push {r4, lr} - add r4, r0, #0 - mov r0, #0x18 - bl sub_02028900 - add r0, r4, #0 - mov r1, #0x18 - bl SavArray_get - pop {r4, pc} - thumb_func_end sub_0202E530 - - thumb_func_start sub_0202E544 -sub_0202E544: ; 0x0202E544 - push {r4, r5, r6, lr} - cmp r2, #6 - blo _0202E552 - blo _0202E58A - bl GF_AssertFail - pop {r4, r5, r6, pc} -_0202E552: - mov r3, #0x90 - mul r3, r1 - add r3, r0, r3 - cmp r2, #5 - bge _0202E57C - mov r0, #0x18 - mul r0, r2 - add r6, r3, r0 -_0202E562: - add r5, r6, #0 - add r5, #0x18 - add r4, r6, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - add r2, r2, #1 - add r6, #0x18 - stmia r4!, {r0, r1} - cmp r2, #5 - blt _0202E562 -_0202E57C: - add r3, #0x78 - add r0, r3, #0 - bl sub_0202E4C8 - mov r0, #0x18 - bl sub_0202893C -_0202E58A: - pop {r4, r5, r6, pc} - thumb_func_end sub_0202E544 - - thumb_func_start sub_0202E58C -sub_0202E58C: ; 0x0202E58C - mov r0, #0x4e - lsl r0, r0, #2 - bx lr - .balign 4, 0 - thumb_func_end sub_0202E58C - - thumb_func_start sub_0202E594 -sub_0202E594: ; 0x0202E594 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r0, #0 - add r6, r1, #0 - bl sub_0202CF54 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203107C - str r0, [sp, #4] - add r0, r6, #0 - mov r1, #0x34 - bl AllocFromHeapAtEnd - ldr r7, _0202E668 ; =0x020F6854 - str r0, [sp] - mov r6, #0 - add r5, r0, #0 -_0202E5BA: - cmp r6, #5 - beq _0202E5C8 - cmp r6, #0xa - beq _0202E5EC - cmp r6, #0xb - beq _0202E606 - b _0202E630 -_0202E5C8: - add r0, r4, #0 - mov r1, #0x10 - bl sub_0202D18C - str r0, [sp, #8] - cmp r0, #0 - beq _0202E5E6 - add r0, r4, #0 - mov r1, #0x1e - bl sub_0202D18C - ldr r1, [sp, #8] - bl _u32_div_f - str r0, [sp, #8] -_0202E5E6: - ldr r0, [sp, #8] - str r0, [r5] - b _0202E650 -_0202E5EC: - add r0, r4, #0 - mov r1, #0x5d - bl sub_0202D18C - str r0, [sp, #0xc] - add r0, r4, #0 - mov r1, #0x5e - bl sub_0202D18C - ldr r1, [sp, #0xc] - add r0, r1, r0 - str r0, [r5] - b _0202E650 -_0202E606: - add r0, r4, #0 - mov r1, #0x5b - bl sub_0202D18C - str r0, [sp, #0x10] - add r0, r4, #0 - mov r1, #0x5c - bl sub_0202D18C - ldr r1, [sp, #0x10] - add r1, r1, r0 - beq _0202E62C - ldr r0, [sp] - ldr r2, [r0, #0x28] - mov r0, #0x64 - mul r0, r2 - bl _u32_div_f - add r1, r0, #0 -_0202E62C: - str r1, [r5] - b _0202E650 -_0202E630: - cmp r6, #0 - blt _0202E646 - cmp r6, #4 - bgt _0202E646 - ldr r0, [sp, #4] - ldr r1, [r7] - mov r2, #0xff - bl sub_020310BC - str r0, [r5] - b _0202E650 -_0202E646: - ldr r1, [r7] - add r0, r4, #0 - bl sub_0202D18C - str r0, [r5] -_0202E650: - add r6, r6, #1 - add r5, r5, #4 - add r7, r7, #4 - cmp r6, #0xd - blt _0202E5BA - mov r0, #0x18 - bl sub_0202893C - ldr r0, [sp] - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - nop -_0202E668: .word 0x020F6854 - thumb_func_end sub_0202E594 - - thumb_func_start sub_0202E66C -sub_0202E66C: ; 0x0202E66C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r0, #0 - add r4, r1, #0 - bl sub_02028E9C - mov r1, #0x4e - add r6, r0, #0 - add r0, r4, #0 - lsl r1, r1, #2 - bl AllocFromHeapAtEnd - mov r2, #0x4e - mov r1, #0 - lsl r2, r2, #2 - str r0, [sp, #4] - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0202C854 - mov r1, #1 - bl sub_0202C7B4 - str r0, [sp, #8] - add r0, r6, #0 - add r1, r4, #0 - bl sub_02028F68 - add r7, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202E594 - ldr r4, [sp, #4] - str r0, [sp] - mov r6, #0 - add r5, r0, #0 -_0202E6B8: - ldr r0, [sp, #8] - add r1, r4, #0 - str r0, [r4] - add r0, r7, #0 - add r1, #8 - mov r2, #8 - bl CopyStringToU16Array - ldr r0, [r5] - add r6, r6, #1 - str r0, [r4, #4] - add r4, #0x18 - add r5, r5, #4 - cmp r6, #0xd - blt _0202E6B8 - ldr r0, [sp] - bl FreeToHeap - add r0, r7, #0 - bl String_dtor - mov r0, #0x18 - bl sub_0202893C - ldr r0, [sp, #4] - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202E66C - - thumb_func_start sub_0202E6F0 -sub_0202E6F0: ; 0x0202E6F0 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 -_0202E6F6: - add r0, r5, #0 - bl sub_0202E4C8 - add r4, r4, #1 - add r5, #0x18 - cmp r4, #6 - blt _0202E6F6 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202E6F0 - - thumb_func_start sub_0202E708 -sub_0202E708: ; 0x0202E708 - push {r3, lr} - ldr r3, [r0] - ldr r2, [r1] - cmp r3, r2 - beq _0202E716 - mov r0, #0 - pop {r3, pc} -_0202E716: - add r0, #8 - add r1, #8 - bl StringNotEqual - cmp r0, #0 - bne _0202E726 - mov r0, #1 - pop {r3, pc} -_0202E726: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202E708 - - thumb_func_start sub_0202E72C -sub_0202E72C: ; 0x0202E72C - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - ldr r0, [r6, #4] - add r7, r1, #0 - mov r4, #0 - cmp r0, #0 - ble _0202E756 - add r5, r6, #0 -_0202E73C: - ldr r0, [r5, #0xc] - add r1, r7, #0 - bl sub_0202E708 - cmp r0, #0 - beq _0202E74C - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202E74C: - ldr r0, [r6, #4] - add r4, r4, #1 - add r5, r5, #4 - cmp r4, r0 - blt _0202E73C -_0202E756: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202E72C - - thumb_func_start sub_0202E75C -sub_0202E75C: ; 0x0202E75C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r6, r1, #0 - add r5, r0, #0 - str r2, [sp] - add r0, r6, #0 - mov r1, #0 - mov r2, #0xe0 - add r4, r3, #0 - bl MIi_CpuFill8 - add r0, sp, #0x10 - ldrb r0, [r0, #0x10] - cmp r0, #0 - bne _0202E7EC - mov r2, #0x90 - add r0, r4, #0 - mul r0, r2 - add r1, r6, #0 - add r0, r5, r0 - add r1, #0x50 - str r0, [sp, #8] - bl sub_020D4A50 - add r1, sp, #0x10 - ldrb r3, [r1, #0x18] - mov r0, #0 - cmp r3, #0 - ble _0202E7B6 - mov r2, #0x18 - ldr r1, [sp, #0x24] - mul r2, r4 -_0202E79C: - ldr r5, [r6, #4] - add r0, r0, #1 - add r4, r5, #0 - add r4, r4, #1 - str r4, [r6, #4] - ldr r4, [r1] - lsl r5, r5, #2 - add r4, r4, r2 - add r5, r6, r5 - str r4, [r5, #0xc] - add r1, r1, #4 - cmp r0, r3 - blt _0202E79C -_0202E7B6: - add r4, r6, #0 - add r4, #0x50 - mov r7, #0 - add r5, r4, #0 -_0202E7BE: - add r0, r4, #0 - bl sub_0202E4E0 - cmp r0, #0 - beq _0202E7E0 - add r0, r6, #0 - add r1, r5, #0 - bl sub_0202E72C - cmp r0, #0 - bne _0202E7E0 - ldr r1, [r6] - add r0, r1, #1 - str r0, [r6] - lsl r0, r1, #2 - add r0, r6, r0 - str r4, [r0, #0x38] -_0202E7E0: - add r7, r7, #1 - add r4, #0x18 - add r5, #0x18 - cmp r7, #6 - blt _0202E7BE - b _0202E880 -_0202E7EC: - add r0, r4, #0 - add r0, #0xd - mov r2, #0x90 - add r1, r0, #0 - mul r1, r2 - add r0, r5, r1 - add r1, r6, #0 - add r1, #0x50 - str r0, [sp, #8] - bl sub_020D4A50 - add r0, sp, #0x10 - ldrb r2, [r0, #0x18] - mov r3, #0 - cmp r2, #0 - ble _0202E83A - mov r1, #0x18 - ldr r0, [sp, #0x24] - mul r1, r4 -_0202E812: - ldr r4, [r0] - ldr r5, [r1, r4] - cmp r5, #0 - beq _0202E832 - ldr r4, [sp] - cmp r4, r5 - bne _0202E832 - ldr r5, [r6, #4] - add r4, r5, #0 - add r4, r4, #1 - str r4, [r6, #4] - ldr r4, [r0] - lsl r5, r5, #2 - add r4, r4, r1 - add r5, r6, r5 - str r4, [r5, #0xc] -_0202E832: - add r3, r3, #1 - add r0, r0, #4 - cmp r3, r2 - blt _0202E812 -_0202E83A: - add r4, r6, #0 - mov r0, #0 - add r4, #0x50 - str r0, [sp, #4] - add r5, r6, #0 - add r7, r4, #0 -_0202E846: - add r0, r4, #0 - bl sub_0202E4E0 - cmp r0, #0 - beq _0202E870 - ldr r1, [r5, #0x50] - ldr r0, [sp] - cmp r0, r1 - bne _0202E870 - add r0, r6, #0 - add r1, r7, #0 - bl sub_0202E72C - cmp r0, #0 - bne _0202E870 - ldr r1, [r6] - add r0, r1, #1 - str r0, [r6] - lsl r0, r1, #2 - add r0, r6, r0 - str r4, [r0, #0x38] -_0202E870: - ldr r0, [sp, #4] - add r4, #0x18 - add r0, r0, #1 - add r5, #0x18 - add r7, #0x18 - str r0, [sp, #4] - cmp r0, #6 - blt _0202E846 -_0202E880: - ldr r1, [r6, #4] - ldr r0, [r6] - mov r2, #0 - add r0, r1, r0 - str r0, [r6, #8] - ldr r0, [r6] - cmp r0, #0 - ble _0202E8A8 - add r1, r6, #0 -_0202E892: - ldr r3, [r6, #4] - ldr r0, [r1, #0x38] - add r3, r2, r3 - lsl r3, r3, #2 - add r3, r6, r3 - str r0, [r3, #0xc] - ldr r0, [r6] - add r2, r2, #1 - add r1, r1, #4 - cmp r2, r0 - blt _0202E892 -_0202E8A8: - mov r0, #0 - mov ip, r0 - ldr r0, [r6, #8] - sub r5, r0, #1 - cmp r5, #0 - ble _0202E8EC - add r3, r6, #0 -_0202E8B6: - mov r0, ip - cmp r5, r0 - ble _0202E8DA - lsl r0, r5, #2 - add r4, r6, r0 -_0202E8C0: - ldr r2, [r4, #0xc] - ldr r7, [r3, #0xc] - ldr r0, [r2, #4] - ldr r1, [r7, #4] - cmp r1, r0 - bhs _0202E8D0 - str r2, [r3, #0xc] - str r7, [r4, #0xc] -_0202E8D0: - sub r5, r5, #1 - mov r0, ip - sub r4, r4, #4 - cmp r5, r0 - bgt _0202E8C0 -_0202E8DA: - mov r0, ip - add r0, r0, #1 - mov ip, r0 - ldr r0, [r6, #8] - add r3, r3, #4 - sub r5, r0, #1 - mov r0, ip - cmp r0, r5 - blt _0202E8B6 -_0202E8EC: - ldr r0, [sp, #8] - bl sub_0202E6F0 - mov r3, #0 - add r2, r6, #0 - b _0202E912 -_0202E8F8: - ldr r5, [r2, #0xc] - ldr r4, [sp, #8] - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r0, [sp, #8] - add r2, r2, #4 - add r0, #0x18 - str r0, [sp, #8] - add r3, r3, #1 -_0202E912: - cmp r3, #6 - bge _0202E91C - ldr r0, [r6, #8] - cmp r3, r0 - blt _0202E8F8 -_0202E91C: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0202E75C - - thumb_func_start sub_0202E920 -sub_0202E920: ; 0x0202E920 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r7, r0, #0 - add r5, r1, #0 - ldr r0, [sp, #0x2c] - mov r1, #0xe0 - str r2, [sp, #0x10] - add r4, r3, #0 - bl AllocFromHeapAtEnd - add r6, r0, #0 - mov r0, #0 - str r0, [sp] - str r4, [sp, #4] - add r0, sp, #0x18 - ldrb r0, [r0, #0x10] - add r1, r6, #0 - add r2, r5, #0 - str r0, [sp, #8] - ldr r0, [sp, #0x2c] - str r0, [sp, #0xc] - ldr r3, [sp, #0x10] - add r0, r7, #0 - bl sub_0202E75C - cmp r5, #0 - beq _0202E972 - mov r0, #1 - str r0, [sp] - str r4, [sp, #4] - add r0, sp, #0x18 - ldrb r0, [r0, #0x10] - add r1, r6, #0 - add r2, r5, #0 - str r0, [sp, #8] - ldr r0, [sp, #0x2c] - str r0, [sp, #0xc] - ldr r3, [sp, #0x10] - add r0, r7, #0 - bl sub_0202E75C -_0202E972: - add r0, r6, #0 - bl FreeToHeap - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0202E920 - - thumb_func_start sub_0202E97C -sub_0202E97C: ; 0x0202E97C - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r6, r1, #0 - ldr r1, [sp, #0x38] - add r4, r0, #0 - add r5, r2, #0 - add r7, r3, #0 - str r1, [sp, #0x38] - bl sub_0202E530 - str r0, [sp, #8] - add r0, r4, #0 - bl sub_0202C854 - mov r1, #1 - bl sub_0202C7B4 - mov r4, #0 - add r3, r4, #0 - str r0, [sp, #0xc] - cmp r5, #0 - bls _0202E9CC -_0202E9A8: - cmp r3, r6 - beq _0202E9C2 - lsl r0, r3, #2 - ldr r2, [r7, r0] - cmp r2, #0 - beq _0202E9C2 - add r1, r4, #1 - add r0, r4, #0 - lsl r1, r1, #0x18 - lsr r4, r1, #0x18 - lsl r1, r0, #2 - add r0, sp, #0x10 - str r2, [r0, r1] -_0202E9C2: - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - cmp r3, r5 - blo _0202E9A8 -_0202E9CC: - cmp r4, #0 - beq _0202E9F6 - mov r5, #0 - add r6, sp, #0x10 -_0202E9D4: - ldr r0, [sp, #0x38] - str r4, [sp] - str r0, [sp, #4] - ldr r0, [sp, #8] - ldr r1, [sp, #0xc] - add r2, r5, #0 - add r3, r6, #0 - bl sub_0202E920 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0xd - blo _0202E9D4 - mov r0, #0x18 - bl sub_0202893C -_0202E9F6: - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202E97C - - thumb_func_start sub_0202E9FC -sub_0202E9FC: ; 0x0202E9FC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r2, [sp] - add r4, r0, #0 - add r5, r1, #0 - bl sub_02028E9C - str r0, [sp, #4] - ldr r0, [sp] - mov r1, #0x4c - bl AllocFromHeap - mov r1, #0 - mov r2, #0x4c - add r7, r0, #0 - bl MIi_CpuFill8 - add r0, r4, #0 - bl sub_0202C854 - mov r1, #1 - bl sub_0202C7B4 - str r0, [sp, #0xc] - ldr r1, [sp] - add r0, r4, #0 - bl sub_0202E594 - str r0, [sp, #8] - add r0, r5, #0 - bl sub_0202E4B0 - str r0, [r7] - add r0, r5, #0 - bl sub_0202E4BC - ldr r1, [r7] - mov r6, #0 - cmp r1, #0 - ble _0202EA72 - lsl r1, r0, #2 - ldr r0, [sp, #8] - add r4, r7, #0 - add r5, r0, r1 -_0202EA54: - ldr r0, [sp, #0xc] - ldr r1, [sp] - str r0, [r4, #4] - ldr r0, [r5] - str r0, [r4, #8] - ldr r0, [sp, #4] - bl sub_02028F68 - str r0, [r4, #0xc] - ldr r0, [r7] - add r6, r6, #1 - add r4, #0xc - add r5, r5, #4 - cmp r6, r0 - blt _0202EA54 -_0202EA72: - ldr r0, [sp, #8] - bl FreeToHeap - add r0, r7, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202E9FC - - thumb_func_start sub_0202EA80 -sub_0202EA80: ; 0x0202EA80 - push {r3, r4, r5, r6, r7, lr} - add r7, r2, #0 - add r5, r0, #0 - str r1, [sp] - add r0, r7, #0 - mov r1, #0x4c - bl AllocFromHeap - mov r1, #0 - mov r2, #0x4c - add r4, r0, #0 - bl MIi_CpuFill8 - ldr r0, [sp] - mov r1, #0x90 - mul r1, r0 - mov r6, #0 - add r5, r5, r1 -_0202EAA4: - add r0, r5, #0 - bl sub_0202E4E0 - cmp r0, #0 - beq _0202EAF0 - ldr r2, [r4] - mov r1, #0xc - mul r1, r2 - ldr r0, [r5] - add r1, r4, r1 - str r0, [r1, #4] - ldr r2, [r4] - mov r1, #0xc - mul r1, r2 - ldr r0, [r5, #4] - add r1, r4, r1 - str r0, [r1, #8] - mov r0, #8 - add r1, r7, #0 - bl String_ctor - ldr r2, [r4] - mov r1, #0xc - mul r1, r2 - add r1, r4, r1 - str r0, [r1, #0xc] - ldr r1, [r4] - mov r0, #0xc - mul r0, r1 - add r0, r4, r0 - add r1, r5, #0 - ldr r0, [r0, #0xc] - add r1, #8 - bl CopyU16ArrayToString - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] -_0202EAF0: - add r6, r6, #1 - add r5, #0x18 - cmp r6, #6 - blt _0202EAA4 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202EA80 - - thumb_func_start sub_0202EAFC -sub_0202EAFC: ; 0x0202EAFC - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r4, #0 - add r5, r6, #0 -_0202EB04: - ldr r0, [r5, #0xc] - cmp r0, #0 - beq _0202EB0E - bl String_dtor -_0202EB0E: - add r4, r4, #1 - add r5, #0xc - cmp r4, #6 - blt _0202EB04 - add r0, r6, #0 - mov r1, #0 - mov r2, #0x4c - bl MIi_CpuFill8 - add r0, r6, #0 - bl FreeToHeap - mov r0, #0x18 - bl sub_0202893C - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202EAFC - - thumb_func_start sub_0202EB30 -sub_0202EB30: ; 0x0202EB30 - ldr r0, _0202EB34 ; =0x00000688 - bx lr - .balign 4, 0 -_0202EB34: .word 0x00000688 - thumb_func_end sub_0202EB30 - - thumb_func_start sub_0202EB38 -sub_0202EB38: ; 0x0202EB38 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r2, _0202EB70 ; =0x00000688 - mov r0, #0 - add r1, r5, #0 - bl MIi_CpuClearFast - mov r4, #0 - mov r6, #0xac - add r7, r4, #0 -_0202EB4C: - add r0, r5, #0 - bl ZeroMonData - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_0206E540 - cmp r0, #0 - beq _0202EB64 - bl GF_AssertFail -_0202EB64: - add r4, r4, #1 - add r5, #0xec - cmp r4, #6 - blt _0202EB4C - pop {r3, r4, r5, r6, r7, pc} - nop -_0202EB70: .word 0x00000688 - thumb_func_end sub_0202EB38 - - thumb_func_start sub_0202EB74 -sub_0202EB74: ; 0x0202EB74 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r2, _0202EBAC ; =0x00000588 - mov r0, #0 - add r1, r5, #0 - bl MIi_CpuClearFast - mov r4, #0 - mov r6, #0xac - add r7, r4, #0 -_0202EB88: - add r0, r5, #0 - bl ZeroMonData - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_0206E540 - cmp r0, #0 - beq _0202EBA0 - bl GF_AssertFail -_0202EBA0: - add r4, r4, #1 - add r5, #0xec - cmp r4, #6 - blt _0202EB88 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202EBAC: .word 0x00000588 - thumb_func_end sub_0202EB74 - - thumb_func_start sub_0202EBB0 -sub_0202EBB0: ; 0x0202EBB0 - push {r4, r5, r6, r7} - add r2, r0, #0 - ldr r3, _0202EC08 ; =0x00000588 - mov r0, #0 - add r5, r2, #0 -_0202EBBA: - ldr r4, [r5, r3] - cmp r1, r4 - beq _0202EC04 - add r0, r0, #1 - add r5, r5, #4 - cmp r0, #0x14 - blt _0202EBBA - ldr r1, _0202EC08 ; =0x00000588 - mov r0, #0 - add r4, r2, #0 -_0202EBCE: - ldr r3, [r4, r1] - cmp r3, #0 - beq _0202EC04 - add r0, r0, #1 - add r4, r4, #4 - cmp r0, #0x14 - blt _0202EBCE - mov r3, #0 - ldr r4, _0202EC0C ; =0x7FFFFFFF - add r5, r3, #0 -_0202EBE2: - ldr r0, _0202EC10 ; =0x000005D8 - ldr r1, [r2, r0] - add r0, r0, #4 - ldr r0, [r2, r0] - sub r6, r1, r4 - mov ip, r0 - mov r6, ip - sbc r6, r3 - bge _0202EBFA - add r4, r1, #0 - add r3, r0, #0 - add r7, r5, #0 -_0202EBFA: - add r5, r5, #1 - add r2, #8 - cmp r5, #0x14 - blt _0202EBE2 - add r0, r7, #0 -_0202EC04: - pop {r4, r5, r6, r7} - bx lr - .balign 4, 0 -_0202EC08: .word 0x00000588 -_0202EC0C: .word 0x7FFFFFFF -_0202EC10: .word 0x000005D8 - thumb_func_end sub_0202EBB0 - - thumb_func_start sub_0202EC14 -sub_0202EC14: ; 0x0202EC14 - add r3, r0, #0 - add r0, r1, #0 - mov r1, #0xec - mul r1, r2 - add r1, r3, r1 - ldr r3, _0202EC24 ; =sub_02071780 - bx r3 - nop -_0202EC24: .word sub_02071780 - thumb_func_end sub_0202EC14 - - thumb_func_start sub_0202EC28 -sub_0202EC28: ; 0x0202EC28 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0202EBB0 - add r6, r0, #0 - lsl r0, r6, #2 - add r1, r5, r0 - ldr r0, _0202EC64 ; =0x00000588 - str r4, [r1, r0] - bl GF_RTC_DateTimeToSec - lsl r2, r6, #3 - add r3, r5, r2 - ldr r2, _0202EC68 ; =0x000005D8 - str r0, [r3, r2] - add r0, r2, #4 - str r1, [r3, r0] - bl OS_GetOwnerRtcOffset - ldr r2, _0202EC6C ; =0x00000678 - str r0, [r5, r2] - add r0, r2, #4 - add r2, #8 - str r1, [r5, r0] - add r0, r5, r2 - bl OS_GetMacAddress - pop {r4, r5, r6, pc} - nop -_0202EC64: .word 0x00000588 -_0202EC68: .word 0x000005D8 -_0202EC6C: .word 0x00000678 - thumb_func_end sub_0202EC28 - - thumb_func_start sub_0202EC70 -sub_0202EC70: ; 0x0202EC70 - push {r4, r5, r6, lr} - add r5, r1, #0 - add r6, r0, #0 - add r4, r2, #0 - cmp r5, #6 - blt _0202EC80 - bl GF_AssertFail -_0202EC80: - mov r0, #0xec - mul r0, r5 - add r3, r6, r0 - mov r2, #0x1d -_0202EC88: - ldmia r3!, {r0, r1} - stmia r4!, {r0, r1} - sub r2, r2, #1 - bne _0202EC88 - ldr r0, [r3] - str r0, [r4] - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202EC70 - - thumb_func_start sub_0202EC98 -sub_0202EC98: ; 0x0202EC98 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r5, r0, #0 - add r6, r4, #0 - mov r7, #0xac -_0202ECA2: - add r0, r5, #0 - add r1, r7, #0 - mov r2, #0 - bl sub_0206E540 - cmp r0, #0 - beq _0202ECB2 - add r4, r4, #1 -_0202ECB2: - add r6, r6, #1 - add r5, #0xec - cmp r6, #6 - blt _0202ECA2 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202EC98 - - thumb_func_start sub_0202ECC0 -sub_0202ECC0: ; 0x0202ECC0 - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - add r5, r0, #0 - add r0, r6, #0 - mov r1, #0x4c - mov r2, #0 - bl sub_0206E540 - cmp r0, #0 - bne _0202ED12 - add r0, r6, #0 - mov r1, #5 - mov r2, #0 - bl sub_0206E540 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - add r0, r5, #0 - bl sub_0202A634 - add r7, r0, #0 - add r0, r5, #0 - bl sub_0202CF54 - add r1, r7, #0 - add r2, r4, #0 - bl sub_0202D214 - add r0, r7, #0 - add r1, r6, #0 - bl sub_0202A434 - ldr r0, _0202ED14 ; =0x00000181 - cmp r4, r0 - bne _0202ED12 - add r0, r5, #0 - bl sub_020325EC - mov r1, #0x15 - bl sub_02032744 -_0202ED12: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0202ED14: .word 0x00000181 - thumb_func_end sub_0202ECC0 - - thumb_func_start sub_0202ED18 -sub_0202ED18: ; 0x0202ED18 - mov r0, #8 - bx lr - thumb_func_end sub_0202ED18 - - thumb_func_start sub_0202ED1C -sub_0202ED1C: ; 0x0202ED1C - mov r1, #0 - strb r1, [r0] - strb r1, [r0, #1] - strb r1, [r0, #2] - strb r1, [r0, #3] - strb r1, [r0, #4] - strb r1, [r0, #5] - strb r1, [r0, #6] - strb r1, [r0, #7] - str r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0202ED1C - - thumb_func_start sub_0202ED34 -sub_0202ED34: ; 0x0202ED34 - ldr r3, _0202ED3C ; =SavArray_get - mov r1, #0x21 - bx r3 - nop -_0202ED3C: .word SavArray_get - thumb_func_end sub_0202ED34 - - thumb_func_start sub_0202ED40 -sub_0202ED40: ; 0x0202ED40 - str r0, [r1] - bx lr - thumb_func_end sub_0202ED40 - - thumb_func_start sub_0202ED44 -sub_0202ED44: ; 0x0202ED44 - ldr r0, [r0] - bx lr - thumb_func_end sub_0202ED44 - - thumb_func_start sub_0202ED48 -sub_0202ED48: ; 0x0202ED48 - ldr r3, [r1, #4] - mov r2, #3 - bic r3, r2 - mov r2, #3 - and r0, r2 - orr r0, r3 - str r0, [r1, #4] - bx lr - thumb_func_end sub_0202ED48 - - thumb_func_start sub_0202ED58 -sub_0202ED58: ; 0x0202ED58 - ldr r3, [r0, #4] - mov r2, #4 - lsl r1, r1, #0x1f - bic r3, r2 - lsr r1, r1, #0x1d - orr r1, r3 - str r1, [r0, #4] - bx lr - thumb_func_end sub_0202ED58 - - thumb_func_start sub_0202ED68 -sub_0202ED68: ; 0x0202ED68 - ldr r0, [r0, #4] - lsl r0, r0, #0x1d - asr r0, r0, #0x1f - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bx lr - thumb_func_end sub_0202ED68 - - thumb_func_start sub_0202ED74 -sub_0202ED74: ; 0x0202ED74 - ldr r0, _0202ED78 ; =0x00000658 - bx lr - .balign 4, 0 -_0202ED78: .word 0x00000658 - thumb_func_end sub_0202ED74 - - thumb_func_start sub_0202ED7C -sub_0202ED7C: ; 0x0202ED7C - ldr r3, _0202ED84 ; =SavArray_get - mov r1, #0x22 - bx r3 - nop -_0202ED84: .word SavArray_get - thumb_func_end sub_0202ED7C - - thumb_func_start sub_0202ED88 -sub_0202ED88: ; 0x0202ED88 - push {r3, lr} - mov r1, #0x22 - bl SavArray_get - bl sub_0202EFB8 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202ED88 - - thumb_func_start sub_0202ED98 -sub_0202ED98: ; 0x0202ED98 - push {r4, lr} - ldr r2, _0202EDD8 ; =0x00000658 - mov r1, #0 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r0, #3 - strb r0, [r4] - ldr r1, [r4, #4] - ldr r0, _0202EDDC ; =0xFE03FFFF - and r0, r1 - str r0, [r4, #4] - mov r0, #0 - strb r0, [r4, #1] - mov r0, #0x80 - strb r0, [r4, #3] - ldrb r0, [r4, #3] - strb r0, [r4, #2] - ldr r1, [r4, #4] - ldr r0, _0202EDE0 ; =0xF9FFFFFF - and r1, r0 - ldr r0, _0202EDE4 ; =0xE7FFFFFF - and r0, r1 - str r0, [r4, #4] - add r0, r4, #0 - bl sub_0202EF9C - ldr r0, _0202EDE8 ; =0x000004B8 - add r0, r4, r0 - bl sub_0202EFE8 - pop {r4, pc} - .balign 4, 0 -_0202EDD8: .word 0x00000658 -_0202EDDC: .word 0xFE03FFFF -_0202EDE0: .word 0xF9FFFFFF -_0202EDE4: .word 0xE7FFFFFF -_0202EDE8: .word 0x000004B8 - thumb_func_end sub_0202ED98 - - thumb_func_start sub_0202EDEC -sub_0202EDEC: ; 0x0202EDEC - ldr r3, _0202EDF0 ; =sub_0202ED98 - bx r3 - .balign 4, 0 -_0202EDF0: .word sub_0202ED98 - thumb_func_end sub_0202EDEC - - thumb_func_start sub_0202EDF4 -sub_0202EDF4: ; 0x0202EDF4 - add r0, #8 - bx lr - thumb_func_end sub_0202EDF4 - - thumb_func_start sub_0202EDF8 -sub_0202EDF8: ; 0x0202EDF8 - ldrb r0, [r0] - bx lr - thumb_func_end sub_0202EDF8 - - thumb_func_start sub_0202EDFC -sub_0202EDFC: ; 0x0202EDFC - strb r1, [r0] - bx lr - thumb_func_end sub_0202EDFC - - thumb_func_start sub_0202EE00 -sub_0202EE00: ; 0x0202EE00 - cmp r1, #0 - beq _0202EE0E - cmp r1, #1 - beq _0202EE18 - cmp r1, #2 - beq _0202EE30 - bx lr -_0202EE0E: - ldr r2, [r0, #4] - ldr r1, _0202EE48 ; =0xF9FFFFFF - and r1, r2 - str r1, [r0, #4] - bx lr -_0202EE18: - ldr r2, [r0, #4] - ldr r1, _0202EE48 ; =0xF9FFFFFF - and r1, r2 - lsl r2, r2, #5 - lsr r3, r2, #0x1e - mov r2, #1 - orr r2, r3 - lsl r2, r2, #0x1e - lsr r2, r2, #5 - orr r1, r2 - str r1, [r0, #4] - bx lr -_0202EE30: - ldr r2, [r0, #4] - ldr r1, _0202EE48 ; =0xF9FFFFFF - and r1, r2 - lsl r2, r2, #5 - lsr r3, r2, #0x1e - mov r2, #2 - orr r2, r3 - lsl r2, r2, #0x1e - lsr r2, r2, #5 - orr r1, r2 - str r1, [r0, #4] - bx lr - .balign 4, 0 -_0202EE48: .word 0xF9FFFFFF - thumb_func_end sub_0202EE00 - - thumb_func_start sub_0202EE4C -sub_0202EE4C: ; 0x0202EE4C - ldr r0, [r0, #4] - lsl r0, r0, #5 - lsr r0, r0, #0x1e - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bx lr - thumb_func_end sub_0202EE4C - - thumb_func_start sub_0202EE58 -sub_0202EE58: ; 0x0202EE58 - cmp r1, #3 - bhs _0202EE6A - ldr r3, [r0, #4] - ldr r2, _0202EE6C ; =0xE7FFFFFF - lsl r1, r1, #0x1e - and r2, r3 - lsr r1, r1, #3 - orr r1, r2 - str r1, [r0, #4] -_0202EE6A: - bx lr - .balign 4, 0 -_0202EE6C: .word 0xE7FFFFFF - thumb_func_end sub_0202EE58 - - thumb_func_start sub_0202EE70 -sub_0202EE70: ; 0x0202EE70 - ldr r0, [r0, #4] - lsl r0, r0, #3 - lsr r0, r0, #0x1e - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bx lr - thumb_func_end sub_0202EE70 - - thumb_func_start sub_0202EE7C -sub_0202EE7C: ; 0x0202EE7C - ldr r0, [r0, #4] - lsl r0, r0, #7 - lsr r0, r0, #0x19 - bx lr - thumb_func_end sub_0202EE7C - - thumb_func_start sub_0202EE84 -sub_0202EE84: ; 0x0202EE84 - ldr r3, [r0, #4] - ldr r2, _0202EE94 ; =0xFE03FFFF - lsl r1, r1, #0x19 - and r2, r3 - lsr r1, r1, #7 - orr r1, r2 - str r1, [r0, #4] - bx lr - .balign 4, 0 -_0202EE94: .word 0xFE03FFFF - thumb_func_end sub_0202EE84 - - thumb_func_start sub_0202EE98 -sub_0202EE98: ; 0x0202EE98 - ldr r0, [r0, #4] - lsl r0, r0, #0x17 - lsr r0, r0, #0x17 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - thumb_func_end sub_0202EE98 - - thumb_func_start sub_0202EEA4 -sub_0202EEA4: ; 0x0202EEA4 - ldrb r0, [r0, #1] - bx lr - thumb_func_end sub_0202EEA4 - - thumb_func_start sub_0202EEA8 -sub_0202EEA8: ; 0x0202EEA8 - strb r1, [r0, #1] - bx lr - thumb_func_end sub_0202EEA8 - - thumb_func_start sub_0202EEAC -sub_0202EEAC: ; 0x0202EEAC - strb r1, [r0, #2] - strb r2, [r0, #3] - bx lr - .balign 4, 0 - thumb_func_end sub_0202EEAC - - thumb_func_start sub_0202EEB4 -sub_0202EEB4: ; 0x0202EEB4 - ldrb r3, [r0, #2] - strh r3, [r1] - ldrb r0, [r0, #3] - strh r0, [r2] - bx lr - .balign 4, 0 - thumb_func_end sub_0202EEB4 - - thumb_func_start sub_0202EEC0 -sub_0202EEC0: ; 0x0202EEC0 - ldr r2, _0202EEE0 ; =0x0000060C - mov r3, #0 -_0202EEC4: - add r1, r0, r3 - ldrb r1, [r1, r2] - cmp r1, #0xff - bne _0202EED0 - add r0, r3, #0 - bx lr -_0202EED0: - add r1, r3, #1 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - cmp r3, #0x4b - blo _0202EEC4 - mov r0, #0x4b - bx lr - nop -_0202EEE0: .word 0x0000060C - thumb_func_end sub_0202EEC0 - - thumb_func_start sub_0202EEE4 -sub_0202EEE4: ; 0x0202EEE4 - push {r3, r4} - ldr r3, _0202EF14 ; =0x0000060C - mov r4, #0 -_0202EEEA: - add r2, r0, r4 - ldrb r2, [r2, r3] - cmp r1, r2 - bne _0202EEF8 - add r0, r4, #0 - pop {r3, r4} - bx lr -_0202EEF8: - cmp r2, #0xff - bne _0202EF02 - mov r0, #0xff - pop {r3, r4} - bx lr -_0202EF02: - add r2, r4, #1 - lsl r2, r2, #0x18 - lsr r4, r2, #0x18 - cmp r4, #0x4b - blo _0202EEEA - mov r0, #0xff - pop {r3, r4} - bx lr - nop -_0202EF14: .word 0x0000060C - thumb_func_end sub_0202EEE4 - - thumb_func_start sub_0202EF18 -sub_0202EF18: ; 0x0202EF18 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x4b - blo _0202EF28 - bl GF_AssertFail - pop {r3, r4, r5, pc} -_0202EF28: - bl sub_0202EEE4 - cmp r0, #0xff - bne _0202EF3C - add r0, r5, #0 - bl sub_0202EEC0 - add r1, r5, r0 - ldr r0, _0202EF40 ; =0x0000060C - strb r4, [r1, r0] -_0202EF3C: - pop {r3, r4, r5, pc} - nop -_0202EF40: .word 0x0000060C - thumb_func_end sub_0202EF18 - - thumb_func_start sub_0202EF44 -sub_0202EF44: ; 0x0202EF44 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - bl sub_0202EEC0 - add r4, r0, #0 - add r0, r6, #0 - add r1, r4, #0 - bl AllocFromHeap - add r6, r0, #0 - ldr r0, _0202EF6C ; =0x0000060C - add r1, r6, #0 - add r0, r5, r0 - add r2, r4, #0 - bl sub_020D4A50 - add r0, r6, #0 - pop {r4, r5, r6, pc} - nop -_0202EF6C: .word 0x0000060C - thumb_func_end sub_0202EF44 - - thumb_func_start sub_0202EF70 -sub_0202EF70: ; 0x0202EF70 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, _0202EF98 ; =0x0000060C - add r6, r1, #0 - add r4, r2, #0 - add r0, r5, r0 - mov r1, #0xff - mov r2, #0x4b - bl MIi_CpuFill8 - cmp r4, #0x4b - blo _0202EF8A - mov r4, #0x4b -_0202EF8A: - ldr r1, _0202EF98 ; =0x0000060C - add r0, r6, #0 - add r1, r5, r1 - add r2, r4, #0 - bl sub_020D4A50 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202EF98: .word 0x0000060C - thumb_func_end sub_0202EF70 - - thumb_func_start sub_0202EF9C -sub_0202EF9C: ; 0x0202EF9C - push {r4, lr} - add r4, r0, #0 - ldr r0, _0202EFB4 ; =0x0000060C - mov r1, #0xff - add r0, r4, r0 - mov r2, #0x4b - bl MIi_CpuFill8 - ldr r0, _0202EFB4 ; =0x0000060C - mov r1, #0 - strb r1, [r4, r0] - pop {r4, pc} - .balign 4, 0 -_0202EFB4: .word 0x0000060C - thumb_func_end sub_0202EF9C - - thumb_func_start sub_0202EFB8 -sub_0202EFB8: ; 0x0202EFB8 - ldr r1, _0202EFC0 ; =0x000004B8 - add r0, r0, r1 - bx lr - nop -_0202EFC0: .word 0x000004B8 - thumb_func_end sub_0202EFB8 - - thumb_func_start sub_0202EFC4 -sub_0202EFC4: ; 0x0202EFC4 - ldrh r2, [r0] - mov r1, #1 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #2 - bic r2, r1 - strh r2, [r0] - ldrh r2, [r0] - mov r1, #0xfc - bic r2, r1 - mov r1, #4 - orr r1, r2 - strh r1, [r0] - mov r1, #0 - strh r1, [r0, #2] - bx lr - .balign 4, 0 - thumb_func_end sub_0202EFC4 - - thumb_func_start sub_0202EFE8 -sub_0202EFE8: ; 0x0202EFE8 - push {r4, r5, r6, lr} - mov r2, #0x55 - mov r1, #0 - lsl r2, r2, #2 - add r6, r0, #0 - bl MIi_CpuFill8 - mov r4, #0 - add r5, r6, #0 -_0202EFFA: - add r0, r5, #0 - bl sub_0202EFC4 - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #0x4b - blt _0202EFFA - ldr r1, _0202F018 ; =0x00000146 - mov r0, #0x7f - ldrb r2, [r6, r1] - bic r2, r0 - mov r0, #7 - orr r0, r2 - strb r0, [r6, r1] - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202F018: .word 0x00000146 - thumb_func_end sub_0202EFE8 - - thumb_func_start sub_0202F01C -sub_0202F01C: ; 0x0202F01C - push {r4, r5, r6, lr} - cmp r1, #0xd - blo _0202F028 - bl GF_AssertFail - pop {r4, r5, r6, pc} -_0202F028: - ldr r2, _0202F04C ; =0x0000014E - lsr r6, r1, #0x1f - lsl r5, r1, #0x1d - add r4, r0, r2 - lsl r0, r1, #0x15 - lsr r3, r0, #0x18 - sub r5, r5, r6 - mov r1, #0x1d - ror r5, r1 - add r1, r6, r5 - lsl r1, r1, #0x18 - ldrb r2, [r4, r3] - mov r0, #1 - lsr r1, r1, #0x18 - lsl r0, r1 - orr r0, r2 - strb r0, [r4, r3] - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202F04C: .word 0x0000014E - thumb_func_end sub_0202F01C - - thumb_func_start sub_0202F050 -sub_0202F050: ; 0x0202F050 - push {r3, r4, r5, lr} - cmp r1, #0xd - blo _0202F05C - bl GF_AssertFail - pop {r3, r4, r5, pc} -_0202F05C: - lsr r4, r1, #0x1f - lsl r3, r1, #0x1d - sub r3, r3, r4 - mov r2, #0x1d - ror r3, r2 - mov r5, #1 - add r2, r4, r3 - add r3, r5, #0 - lsl r3, r2 - lsl r2, r3, #0x18 - ldr r3, _0202F088 ; =0x0000014E - lsr r2, r2, #0x18 - add r4, r0, r3 - lsl r0, r1, #0x15 - lsr r3, r0, #0x18 - ldrb r0, [r4, r3] - add r1, r2, #0 - tst r1, r0 - beq _0202F086 - eor r0, r2 - strb r0, [r4, r3] -_0202F086: - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202F088: .word 0x0000014E - thumb_func_end sub_0202F050 - - thumb_func_start sub_0202F08C -sub_0202F08C: ; 0x0202F08C - push {r3, lr} - cmp r1, #0xd - blo _0202F09A - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_0202F09A: - lsl r2, r1, #0x15 - lsr r2, r2, #0x18 - add r2, r0, r2 - ldr r0, _0202F0C0 ; =0x0000014E - ldrb r3, [r2, r0] - lsr r2, r1, #0x1f - lsl r1, r1, #0x1d - sub r1, r1, r2 - mov r0, #0x1d - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - add r1, r3, #0 - asr r1, r0 - mov r0, #1 - and r0, r1 - pop {r3, pc} - nop -_0202F0C0: .word 0x0000014E - thumb_func_end sub_0202F08C - - thumb_func_start sub_0202F0C4 -sub_0202F0C4: ; 0x0202F0C4 - push {r4, lr} - cmp r1, #0x4b - blo _0202F0D0 - bl GF_AssertFail - pop {r4, pc} -_0202F0D0: - lsl r3, r1, #2 - ldrh r1, [r0, r3] - mov r4, #1 - lsl r2, r2, #0x10 - bic r1, r4 - lsr r4, r2, #0x10 - mov r2, #1 - and r2, r4 - orr r1, r2 - strh r1, [r0, r3] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202F0C4 - - thumb_func_start sub_0202F0E8 -sub_0202F0E8: ; 0x0202F0E8 - push {r3, lr} - cmp r1, #0x4b - blo _0202F0F6 - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_0202F0F6: - lsl r1, r1, #2 - ldrh r0, [r0, r1] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - pop {r3, pc} - thumb_func_end sub_0202F0E8 - - thumb_func_start sub_0202F100 -sub_0202F100: ; 0x0202F100 - push {r3, lr} - cmp r1, #0x4b - blo _0202F10C - bl GF_AssertFail - pop {r3, pc} -_0202F10C: - lsl r1, r1, #2 - add r3, r0, r1 - strh r2, [r3, #2] - cmp r2, #0 - ldrh r1, [r3] - bne _0202F120 - mov r0, #2 - bic r1, r0 - strh r1, [r3] - pop {r3, pc} -_0202F120: - mov r0, #2 - orr r0, r1 - strh r0, [r3] - pop {r3, pc} - thumb_func_end sub_0202F100 - - thumb_func_start sub_0202F128 -sub_0202F128: ; 0x0202F128 - push {r3, lr} - cmp r1, #0x4b - blo _0202F136 - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_0202F136: - lsl r2, r1, #2 - ldrh r1, [r0, r2] - lsl r1, r1, #0x1e - lsr r1, r1, #0x1f - beq _0202F146 - add r0, r0, r2 - ldrh r0, [r0, #2] - pop {r3, pc} -_0202F146: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202F128 - - thumb_func_start sub_0202F14C -sub_0202F14C: ; 0x0202F14C - cmp r1, #1 - beq _0202F15A - cmp r1, #2 - beq _0202F162 - cmp r1, #3 - beq _0202F178 - b _0202F18C -_0202F15A: - mov r1, #5 - lsl r1, r1, #6 - str r2, [r0, r1] - b _0202F18C -_0202F162: - mov r1, #5 - lsl r1, r1, #6 - ldr r3, [r0, r1] - add r2, r3, r2 - str r2, [r0, r1] - ldr r3, [r0, r1] - ldr r2, _0202F194 ; =0x000F423F - cmp r3, r2 - bls _0202F18C - str r2, [r0, r1] - b _0202F18C -_0202F178: - mov r1, #5 - lsl r1, r1, #6 - ldr r3, [r0, r1] - cmp r3, r2 - bhs _0202F188 - mov r2, #0 - str r2, [r0, r1] - b _0202F18C -_0202F188: - sub r2, r3, r2 - str r2, [r0, r1] -_0202F18C: - mov r1, #5 - lsl r1, r1, #6 - ldr r0, [r0, r1] - bx lr - .balign 4, 0 -_0202F194: .word 0x000F423F - thumb_func_end sub_0202F14C - - thumb_func_start sub_0202F198 -sub_0202F198: ; 0x0202F198 - push {r3, r4} - cmp r1, #9 - bhs _0202F1AE - mov r2, #0x51 - lsl r2, r2, #2 - ldrh r4, [r0, r2] - mov r3, #1 - lsl r3, r1 - add r1, r4, #0 - orr r1, r3 - strh r1, [r0, r2] -_0202F1AE: - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_0202F198 - - thumb_func_start sub_0202F1B4 -sub_0202F1B4: ; 0x0202F1B4 - mov r2, #0x51 - lsl r2, r2, #2 - ldrh r0, [r0, r2] - add r2, r0, #0 - asr r2, r1 - mov r0, #1 - and r0, r2 - bx lr - thumb_func_end sub_0202F1B4 - - thumb_func_start sub_0202F1C4 -sub_0202F1C4: ; 0x0202F1C4 - push {r3, r4, r5, r6} - ldr r3, _0202F1F0 ; =0x0000012E - mov r5, #0 - add r6, r0, #0 -_0202F1CC: - ldrh r4, [r6, r3] - cmp r4, #0 - bne _0202F1E4 - lsl r3, r5, #2 - add r3, r0, r3 - mov r0, #0x4b - lsl r0, r0, #2 - strh r1, [r3, r0] - add r0, r0, #2 - strh r2, [r3, r0] - pop {r3, r4, r5, r6} - bx lr -_0202F1E4: - add r5, r5, #1 - add r6, r6, #4 - cmp r5, #5 - blt _0202F1CC - pop {r3, r4, r5, r6} - bx lr - .balign 4, 0 -_0202F1F0: .word 0x0000012E - thumb_func_end sub_0202F1C4 - - thumb_func_start sub_0202F1F4 -sub_0202F1F4: ; 0x0202F1F4 - push {r4, r5, r6, r7} - mov r3, #0x13 - lsl r3, r3, #4 - mov r1, #0 - add r2, r0, #0 - sub r4, r3, #4 - add r5, r3, #2 - sub r6, r3, #2 -_0202F204: - ldrh r7, [r2, r3] - add r1, r1, #1 - strh r7, [r2, r4] - ldrh r7, [r2, r5] - strh r7, [r2, r6] - add r2, r2, #4 - cmp r1, #4 - blt _0202F204 - mov r1, #0x4f - mov r2, #0 - lsl r1, r1, #2 - strh r2, [r0, r1] - add r1, r1, #2 - strh r2, [r0, r1] - pop {r4, r5, r6, r7} - bx lr - thumb_func_end sub_0202F1F4 - - thumb_func_start sub_0202F224 -sub_0202F224: ; 0x0202F224 - cmp r1, #5 - blo _0202F22E - mov r0, #0 - strh r0, [r2] - bx lr -_0202F22E: - lsl r1, r1, #2 - add r3, r0, r1 - mov r0, #0x4b - lsl r0, r0, #2 - ldrh r1, [r3, r0] - add r0, r0, #2 - strh r1, [r2] - ldrh r0, [r3, r0] - bx lr - thumb_func_end sub_0202F224 - - thumb_func_start sub_0202F240 -sub_0202F240: ; 0x0202F240 - ldr r1, _0202F250 ; =0x0000013E - ldrh r0, [r0, r1] - cmp r0, #0 - beq _0202F24C - mov r0, #1 - bx lr -_0202F24C: - mov r0, #0 - bx lr - .balign 4, 0 -_0202F250: .word 0x0000013E - thumb_func_end sub_0202F240 - - thumb_func_start sub_0202F254 -sub_0202F254: ; 0x0202F254 - push {r3, r4} - ldr r4, _0202F270 ; =0x00000146 - lsl r1, r1, #0x18 - ldrb r2, [r0, r4] - lsr r1, r1, #0x18 - mov r3, #0x80 - lsl r1, r1, #0x1f - bic r2, r3 - lsr r1, r1, #0x18 - orr r1, r2 - strb r1, [r0, r4] - pop {r3, r4} - bx lr - nop -_0202F270: .word 0x00000146 - thumb_func_end sub_0202F254 - - thumb_func_start sub_0202F274 -sub_0202F274: ; 0x0202F274 - ldr r1, _0202F280 ; =0x00000146 - ldrb r0, [r0, r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1f - bx lr - nop -_0202F280: .word 0x00000146 - thumb_func_end sub_0202F274 - - thumb_func_start sub_0202F284 -sub_0202F284: ; 0x0202F284 - ldr r1, _0202F290 ; =0x00000146 - ldrb r0, [r0, r1] - lsl r0, r0, #0x19 - lsr r0, r0, #0x19 - bx lr - nop -_0202F290: .word 0x00000146 - thumb_func_end sub_0202F284 - - thumb_func_start sub_0202F294 -sub_0202F294: ; 0x0202F294 - push {r3, r4, r5, lr} - ldr r2, _0202F2FC ; =0x00000146 - add r5, r0, #0 - ldrb r3, [r5, r2] - add r4, r1, #0 - mov r1, #0x80 - bic r3, r1 - strb r3, [r5, r2] - mov r1, #0x10 - mov r2, #0 - bl sub_0202F100 - add r0, r5, #0 - mov r1, #0x10 - mov r2, #0 - bl sub_0202F0C4 - cmp r4, #0 - ble _0202F2DA - ldr r2, _0202F2FC ; =0x00000146 - ldrb r0, [r5, r2] - lsl r1, r0, #0x19 - lsr r3, r1, #0x19 - cmp r3, r4 - blt _0202F2DA - mov r1, #0x7f - bic r0, r1 - sub r1, r3, r4 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - mov r1, #0x7f - and r1, r3 - orr r0, r1 - strb r0, [r5, r2] - pop {r3, r4, r5, pc} -_0202F2DA: - bl LCRandom - mov r1, #6 - bl _s32_div_f - ldr r3, _0202F2FC ; =0x00000146 - add r1, r1, #1 - ldrb r0, [r5, r3] - mov r2, #0x7f - lsl r1, r1, #0x18 - bic r0, r2 - lsr r2, r1, #0x18 - mov r1, #0x7f - and r1, r2 - orr r0, r1 - strb r0, [r5, r3] - pop {r3, r4, r5, pc} - .balign 4, 0 -_0202F2FC: .word 0x00000146 - thumb_func_end sub_0202F294 - - thumb_func_start sub_0202F300 -sub_0202F300: ; 0x0202F300 - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r0, #0x52 - lsl r0, r0, #2 - add r6, r1, #0 - add r4, r2, #0 - add r0, r5, r0 - mov r1, #0 - mov r2, #6 - bl MIi_CpuFill8 - cmp r6, #0 - bne _0202F322 - ldr r0, _0202F33C ; =0x00000147 - mov r1, #0 - strb r1, [r5, r0] - pop {r4, r5, r6, pc} -_0202F322: - cmp r4, #6 - blo _0202F328 - mov r4, #6 -_0202F328: - mov r1, #0x52 - lsl r1, r1, #2 - add r0, r6, #0 - add r1, r5, r1 - add r2, r4, #0 - bl sub_020D4A50 - ldr r0, _0202F33C ; =0x00000147 - strb r4, [r5, r0] - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202F33C: .word 0x00000147 - thumb_func_end sub_0202F300 - - thumb_func_start sub_0202F340 -sub_0202F340: ; 0x0202F340 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r1, _0202F36C ; =0x00000147 - add r0, r2, #0 - ldrb r1, [r5, r1] - bl AllocFromHeap - mov r2, #0x52 - add r6, r0, #0 - lsl r2, r2, #2 - add r0, r5, r2 - sub r2, r2, #1 - ldrb r2, [r5, r2] - add r1, r6, #0 - bl sub_020D4A50 - ldr r0, _0202F36C ; =0x00000147 - ldrb r0, [r5, r0] - strb r0, [r4] - add r0, r6, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202F36C: .word 0x00000147 - thumb_func_end sub_0202F340 - - thumb_func_start sub_0202F370 -sub_0202F370: ; 0x0202F370 - ldrh r1, [r0] - cmp r1, #0 - beq _0202F37E - mov r0, #0x87 - lsl r0, r0, #2 - cmp r1, r0 - blo _0202F382 -_0202F37E: - mov r0, #0 - bx lr -_0202F382: - mov r0, #1 - bx lr - .balign 4, 0 - thumb_func_end sub_0202F370 - - thumb_func_start sub_0202F388 -sub_0202F388: ; 0x0202F388 - push {r3, r4} - mov r1, #0 - strh r1, [r0] - ldrh r3, [r0, #2] - mov r2, #0xf - bic r3, r2 - mov r2, #0xf - orr r2, r3 - strh r2, [r0, #2] - ldrh r3, [r0, #2] - mov r2, #0xf0 - bic r3, r2 - mov r2, #0xf0 - orr r3, r2 - strh r3, [r0, #2] - ldrh r4, [r0, #2] - ldr r3, _0202F3D0 ; =0xFFFFF0FF - and r4, r3 - lsl r3, r2, #4 - orr r3, r4 - strh r3, [r0, #2] - ldrh r4, [r0, #2] - ldr r3, _0202F3D4 ; =0xFFFF0FFF - lsl r2, r2, #8 - and r3, r4 - orr r2, r3 - strh r2, [r0, #2] - ldr r2, _0202F3D8 ; =0x0000FFFF -_0202F3C0: - add r1, r1, #1 - strh r2, [r0, #4] - add r0, r0, #2 - cmp r1, #4 - blt _0202F3C0 - pop {r3, r4} - bx lr - nop -_0202F3D0: .word 0xFFFFF0FF -_0202F3D4: .word 0xFFFF0FFF -_0202F3D8: .word 0x0000FFFF - thumb_func_end sub_0202F388 - - thumb_func_start sub_0202F3DC -sub_0202F3DC: ; 0x0202F3DC - push {r4, r5} - mov r4, #0 - ldr r1, _0202F3FC ; =0x0000FFFF - str r4, [r0] - add r5, r0, #0 - mov r3, #0xf -_0202F3E8: - add r2, r0, r4 - strb r3, [r2, #4] - strh r1, [r5, #8] - add r4, r4, #1 - add r5, r5, #2 - cmp r4, #4 - blt _0202F3E8 - pop {r4, r5} - bx lr - nop -_0202F3FC: .word 0x0000FFFF - thumb_func_end sub_0202F3DC - - thumb_func_start sub_0202F400 -sub_0202F400: ; 0x0202F400 - push {r3, r4} - ldr r1, _0202F430 ; =0x0000FFFF - mov r3, #0 - add r4, r0, #0 -_0202F408: - add r2, r0, r3 - ldrb r2, [r2, #4] - cmp r2, #0xf - bne _0202F416 - ldrh r2, [r4, #8] - cmp r2, r1 - beq _0202F41C -_0202F416: - mov r0, #1 - pop {r3, r4} - bx lr -_0202F41C: - add r3, r3, #1 - add r4, r4, #2 - cmp r3, #4 - blt _0202F408 - mov r1, #0 - str r1, [r0] - add r0, r1, #0 - pop {r3, r4} - bx lr - nop -_0202F430: .word 0x0000FFFF - thumb_func_end sub_0202F400 - - thumb_func_start sub_0202F434 -sub_0202F434: ; 0x0202F434 - push {r3, r4} - ldr r2, [r0] - strh r2, [r1] - ldrh r3, [r1, #2] - ldrb r4, [r0, #4] - mov r2, #0xf - bic r3, r2 - mov r2, #0xf - and r4, r2 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - and r4, r2 - orr r3, r4 - strh r3, [r1, #2] - ldrh r3, [r1, #2] - mov r4, #0xf0 - bic r3, r4 - ldrb r4, [r0, #5] - and r4, r2 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - lsl r4, r4, #0x1c - lsr r4, r4, #0x18 - orr r3, r4 - strh r3, [r1, #2] - ldrh r4, [r1, #2] - ldr r3, _0202F4A8 ; =0xFFFFF0FF - and r3, r4 - ldrb r4, [r0, #6] - and r4, r2 - lsl r4, r4, #0x10 - lsr r4, r4, #0x10 - lsl r4, r4, #0x1c - lsr r4, r4, #0x14 - orr r3, r4 - strh r3, [r1, #2] - ldrh r4, [r1, #2] - ldr r3, _0202F4AC ; =0xFFFF0FFF - and r3, r4 - ldrb r4, [r0, #7] - and r2, r4 - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - lsl r2, r2, #0x1c - lsr r2, r2, #0x10 - orr r2, r3 - strh r2, [r1, #2] - mov r3, #0 -_0202F494: - ldrh r2, [r0, #8] - add r3, r3, #1 - add r0, r0, #2 - strh r2, [r1, #4] - add r1, r1, #2 - cmp r3, #4 - blt _0202F494 - pop {r3, r4} - bx lr - nop -_0202F4A8: .word 0xFFFFF0FF -_0202F4AC: .word 0xFFFF0FFF - thumb_func_end sub_0202F434 - - thumb_func_start sub_0202F4B0 -sub_0202F4B0: ; 0x0202F4B0 - ldrh r2, [r0] - mov r3, #0 - str r2, [r1] - ldrh r2, [r0, #2] - lsl r2, r2, #0x1c - lsr r2, r2, #0x1c - strb r2, [r1, #4] - ldrh r2, [r0, #2] - lsl r2, r2, #0x18 - lsr r2, r2, #0x1c - strb r2, [r1, #5] - ldrh r2, [r0, #2] - lsl r2, r2, #0x14 - lsr r2, r2, #0x1c - strb r2, [r1, #6] - ldrh r2, [r0, #2] - lsl r2, r2, #0x10 - lsr r2, r2, #0x1c - strb r2, [r1, #7] -_0202F4D6: - ldrh r2, [r0, #4] - add r3, r3, #1 - add r0, r0, #2 - strh r2, [r1, #8] - add r1, r1, #2 - cmp r3, #4 - blt _0202F4D6 - bx lr - .balign 4, 0 - thumb_func_end sub_0202F4B0 - - thumb_func_start sub_0202F4E8 -sub_0202F4E8: ; 0x0202F4E8 - push {r3, lr} - cmp r1, #0x64 - blo _0202F4F2 - mov r0, #0 - pop {r3, pc} -_0202F4F2: - mov r2, #0xc - mul r2, r1 - add r0, r0, r2 - bl sub_0202F370 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202F4E8 - - thumb_func_start sub_0202F500 -sub_0202F500: ; 0x0202F500 - push {r3, lr} - cmp r1, #0x64 - bhs _0202F510 - mov r2, #0xc - mul r2, r1 - add r0, r0, r2 - bl sub_0202F388 -_0202F510: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0202F500 - - thumb_func_start sub_0202F514 -sub_0202F514: ; 0x0202F514 - push {r3, r4, r5, lr} - add r4, r0, #0 - cmp r2, #0x64 - blo _0202F526 - add r0, r1, #0 - bl sub_0202F3DC - mov r0, #0 - pop {r3, r4, r5, pc} -_0202F526: - mov r0, #0xc - add r5, r2, #0 - mul r5, r0 - add r0, r4, r5 - bl sub_0202F4B0 - add r0, r4, r5 - bl sub_0202F370 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202F514 - - thumb_func_start sub_0202F53C -sub_0202F53C: ; 0x0202F53C - push {r4, r5, r6, lr} - add r4, r2, #0 - add r5, r0, #0 - add r6, r1, #0 - cmp r4, #0x64 - blo _0202F54C - mov r0, #0 - pop {r4, r5, r6, pc} -_0202F54C: - cmp r3, #0 - bne _0202F562 - mov r0, #0xc - mul r0, r4 - add r0, r5, r0 - bl sub_0202F370 - cmp r0, #1 - bne _0202F562 - mov r0, #0 - pop {r4, r5, r6, pc} -_0202F562: - mov r1, #0xc - mul r1, r4 - add r0, r6, #0 - add r1, r5, r1 - bl sub_0202F434 - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0202F53C - - thumb_func_start sub_0202F574 -sub_0202F574: ; 0x0202F574 - ldr r0, _0202F578 ; =0x000005FC - bx lr - .balign 4, 0 -_0202F578: .word 0x000005FC - thumb_func_end sub_0202F574 - - thumb_func_start sub_0202F57C -sub_0202F57C: ; 0x0202F57C - ldr r3, _0202F584 ; =SavArray_get - mov r1, #0x23 - bx r3 - nop -_0202F584: .word SavArray_get - thumb_func_end sub_0202F57C - - thumb_func_start sub_0202F588 -sub_0202F588: ; 0x0202F588 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - mov r6, #0xba - str r0, [sp] - add r5, r0, #0 - add r7, r4, #0 - lsl r6, r6, #2 -_0202F596: - mov r2, #0xba - add r0, r5, #0 - add r1, r7, #0 - lsl r2, r2, #2 - bl MIi_CpuFill8 - add r4, r4, #1 - add r5, r5, r6 - cmp r4, #2 - blt _0202F596 - mov r1, #0x5d - ldr r0, [sp] - lsl r1, r1, #4 - add r0, r0, r1 - bl sub_0202FA08 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202F588 - - thumb_func_start sub_0202F5B8 -sub_0202F5B8: ; 0x0202F5B8 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r0, r1, #0 - mov r1, #0xa - mov r6, #0 - bl _u32_div_f - mov r0, #6 - ldr r2, _0202F5F4 ; =0x020F6888 - mul r0, r1 - add r4, r2, r0 - add r5, r7, #0 -_0202F5D0: - ldrb r1, [r4] - add r0, r5, #0 - bl sub_0202F9E8 - add r6, r6, #1 - add r4, r4, #1 - add r5, #0x7a - cmp r6, #6 - blt _0202F5D0 - mov r0, #0xb7 - lsl r0, r0, #2 - add r0, r7, r0 - mov r1, #0 - mov r2, #0xc - bl MIi_CpuFill8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202F5F4: .word 0x020F6888 - thumb_func_end sub_0202F5B8 - - thumb_func_start sub_0202F5F8 -sub_0202F5F8: ; 0x0202F5F8 - push {r4, lr} - add r4, r0, #0 - cmp r1, #2 - blt _0202F606 - bl GF_AssertFail - mov r1, #0 -_0202F606: - ldr r3, _0202F61C ; =0x000005F9 - lsl r1, r1, #0x18 - ldrb r0, [r4, r3] - lsr r1, r1, #0x18 - mov r2, #0xc0 - lsl r1, r1, #0x1e - bic r0, r2 - lsr r1, r1, #0x18 - orr r0, r1 - strb r0, [r4, r3] - pop {r4, pc} - .balign 4, 0 -_0202F61C: .word 0x000005F9 - thumb_func_end sub_0202F5F8 - - thumb_func_start sub_0202F620 -sub_0202F620: ; 0x0202F620 - ldr r1, _0202F62C ; =0x000005F9 - ldrb r0, [r0, r1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1e - bx lr - nop -_0202F62C: .word 0x000005F9 - thumb_func_end sub_0202F620 - - thumb_func_start sub_0202F630 -sub_0202F630: ; 0x0202F630 - push {r4, lr} - add r4, r0, #0 - cmp r1, #3 - bne _0202F640 - ldr r0, _0202F654 ; =0x000005F9 - ldrb r0, [r4, r0] - lsl r0, r0, #0x18 - lsr r1, r0, #0x1e -_0202F640: - cmp r1, #2 - blt _0202F64A - bl GF_AssertFail - mov r1, #0 -_0202F64A: - mov r0, #0xba - lsl r0, r0, #2 - mul r0, r1 - add r0, r4, r0 - pop {r4, pc} - .balign 4, 0 -_0202F654: .word 0x000005F9 - thumb_func_end sub_0202F630 - - thumb_func_start sub_0202F658 -sub_0202F658: ; 0x0202F658 - push {r4, lr} - add r4, r2, #0 - cmp r1, #2 - blt _0202F66C - bl GF_AssertFail - add r0, r4, #0 - bl sub_0202F9CC - pop {r4, pc} -_0202F66C: - mov r2, #0xba - add r3, r1, #0 - lsl r2, r2, #2 - mul r3, r2 - add r0, r0, r3 - add r1, r4, #0 - bl sub_020D4A50 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202F658 - - thumb_func_start sub_0202F680 -sub_0202F680: ; 0x0202F680 - push {r4, lr} - add r4, r0, #0 - cmp r1, #2 - blt _0202F68E - bl GF_AssertFail - pop {r4, pc} -_0202F68E: - add r0, r2, #0 - mov r2, #0xba - lsl r2, r2, #2 - add r3, r1, #0 - mul r3, r2 - add r1, r4, r3 - bl sub_020D4A50 - pop {r4, pc} - thumb_func_end sub_0202F680 - - thumb_func_start sub_0202F6A0 -sub_0202F6A0: ; 0x0202F6A0 - ldr r2, _0202F6A8 ; =0x000005F8 - strb r1, [r0, r2] - bx lr - nop -_0202F6A8: .word 0x000005F8 - thumb_func_end sub_0202F6A0 - - thumb_func_start sub_0202F6AC -sub_0202F6AC: ; 0x0202F6AC - ldr r1, _0202F6B4 ; =0x000005F8 - ldrb r0, [r0, r1] - bx lr - nop -_0202F6B4: .word 0x000005F8 - thumb_func_end sub_0202F6AC - - thumb_func_start sub_0202F6B8 -sub_0202F6B8: ; 0x0202F6B8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r7, r1, #0 - str r0, [sp] - cmp r7, #0 - ble _0202F71C - mov r4, #0 - add r0, sp, #8 - add r1, r4, #0 - mov r2, #6 - bl MIi_CpuFill8 - add r0, r4, #0 - ldr r5, [sp] - str r0, [sp, #4] -_0202F6D6: - ldrb r6, [r5] - lsl r2, r4, #0x18 - add r1, sp, #8 - add r0, r6, #0 - lsr r2, r2, #0x18 - bl sub_0202FA3C - cmp r0, #0 - bne _0202F710 - ldr r0, [sp] - mov r1, #0xb7 - add r0, r0, r6 - lsl r1, r1, #2 - ldrb r1, [r0, r1] - add r1, r7, r1 - cmp r1, #0xff - bge _0202F702 - mov r1, #0xb7 - lsl r1, r1, #2 - ldrb r1, [r0, r1] - add r2, r1, r7 - b _0202F704 -_0202F702: - mov r2, #0xff -_0202F704: - mov r1, #0xb7 - lsl r1, r1, #2 - strb r2, [r0, r1] - add r0, sp, #8 - strb r6, [r0, r4] - add r4, r4, #1 -_0202F710: - ldr r0, [sp, #4] - add r5, #0x7a - add r0, r0, #1 - str r0, [sp, #4] - cmp r0, #6 - blt _0202F6D6 -_0202F71C: - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202F6B8 - - thumb_func_start sub_0202F720 -sub_0202F720: ; 0x0202F720 - ldr r1, _0202F72C ; =0x000005F9 - ldrb r0, [r0, r1] - lsl r0, r0, #0x1a - lsr r0, r0, #0x1a - bx lr - nop -_0202F72C: .word 0x000005F9 - thumb_func_end sub_0202F720 - - thumb_func_start sub_0202F730 -sub_0202F730: ; 0x0202F730 - push {r4, lr} - ldr r2, _0202F750 ; =0x000005F9 - add r4, r0, #0 - ldrb r2, [r4, r2] - lsl r2, r2, #0x1a - lsr r2, r2, #0x1a - add r1, r2, r1 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl sub_0202F754 - ldr r0, _0202F750 ; =0x000005F9 - ldrb r0, [r4, r0] - lsl r0, r0, #0x1a - lsr r0, r0, #0x1a - pop {r4, pc} - .balign 4, 0 -_0202F750: .word 0x000005F9 - thumb_func_end sub_0202F730 - - thumb_func_start sub_0202F754 -sub_0202F754: ; 0x0202F754 - push {r3, r4} - cmp r1, #4 - bls _0202F76C - ldr r2, _0202F780 ; =0x000005F9 - mov r1, #0x3f - ldrb r3, [r0, r2] - bic r3, r1 - mov r1, #4 - orr r1, r3 - strb r1, [r0, r2] - pop {r3, r4} - bx lr -_0202F76C: - ldr r3, _0202F780 ; =0x000005F9 - mov r2, #0x3f - ldrb r4, [r0, r3] - bic r4, r2 - mov r2, #0x3f - and r1, r2 - orr r1, r4 - strb r1, [r0, r3] - pop {r3, r4} - bx lr - .balign 4, 0 -_0202F780: .word 0x000005F9 - thumb_func_end sub_0202F754 - - thumb_func_start sub_0202F784 -sub_0202F784: ; 0x0202F784 - ldrh r2, [r1] - ldrb r3, [r1, #2] - mov r1, #0x3c - mul r1, r2 - add r2, r3, r1 - ldr r1, _0202F794 ; =0x000005FA - strh r2, [r0, r1] - bx lr - .balign 4, 0 -_0202F794: .word 0x000005FA - thumb_func_end sub_0202F784 - - thumb_func_start sub_0202F798 -sub_0202F798: ; 0x0202F798 - push {r4, r5} - ldrb r5, [r1, #2] - ldrh r1, [r1] - mov r4, #0x3c - add r3, r1, #0 - mul r3, r4 - add r1, r5, r3 - ldr r3, _0202F7D0 ; =0x000005FA - lsl r1, r1, #0x10 - ldrh r0, [r0, r3] - lsr r1, r1, #0x10 - sub r3, r1, r0 - add r0, r2, #0 - mul r0, r4 - cmp r3, r0 - blt _0202F7BE - mov r0, #1 - pop {r4, r5} - bx lr -_0202F7BE: - ldr r0, _0202F7D4 ; =0x0000EA5F - cmp r1, r0 - blo _0202F7CA - mov r0, #2 - pop {r4, r5} - bx lr -_0202F7CA: - mov r0, #0 - pop {r4, r5} - bx lr - .balign 4, 0 -_0202F7D0: .word 0x000005FA -_0202F7D4: .word 0x0000EA5F - thumb_func_end sub_0202F798 - - thumb_func_start sub_0202F7D8 -sub_0202F7D8: ; 0x0202F7D8 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - mov r0, #0x5d - lsl r0, r0, #4 - add r5, r1, #0 - add r4, r6, r0 - add r0, r5, #0 - add r7, r2, #0 - bl sub_02028F84 - str r0, [r4, #0x14] - add r0, r5, #0 - bl PlayerProfile_GetTrainerGender - strb r0, [r4, #0x11] - add r0, r5, #0 - bl sub_02029088 - strb r0, [r4, #0x12] - add r0, r5, #0 - bl sub_0202907C - strb r0, [r4, #0x13] - mov r0, #0x10 - add r1, r7, #0 - bl String_ctor - add r7, r0, #0 - add r0, r5, #0 - add r1, r7, #0 - bl sub_02028F58 - add r1, r4, #0 - add r0, r7, #0 - add r1, #0x18 - mov r2, #0x10 - bl CopyStringToU16Array - add r0, r7, #0 - bl String_dtor - mov r0, #1 - strb r0, [r4, #0x10] - bl GF_RTC_DateTimeToSec - mov r2, #0x5d - lsl r2, r2, #4 - str r0, [r6, r2] - str r1, [r4, #4] - bl OS_GetOwnerRtcOffset - str r0, [r4, #8] - str r1, [r4, #0xc] - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202F7D8 - - thumb_func_start sub_0202F844 -sub_0202F844: ; 0x0202F844 - push {r3, r4, r5, lr} - add r4, r1, #0 - mov r1, #0x5d - lsl r1, r1, #4 - add r5, r0, r1 - ldr r1, [r5, #0x14] - add r0, r4, #0 - bl sub_02028F80 - ldrb r1, [r5, #0x11] - add r0, r4, #0 - bl sub_02028F90 - ldrb r1, [r5, #0x12] - add r0, r4, #0 - bl sub_0202908C - ldrb r1, [r5, #0x13] - add r0, r4, #0 - bl sub_02029080 - add r5, #0x18 - add r0, r4, #0 - add r1, r5, #0 - bl sub_02028F24 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202F844 - - thumb_func_start sub_0202F87C -sub_0202F87C: ; 0x0202F87C - ldr r1, _0202F884 ; =0x000005E1 - ldrb r0, [r0, r1] - bx lr - nop -_0202F884: .word 0x000005E1 - thumb_func_end sub_0202F87C - - thumb_func_start sub_0202F888 -sub_0202F888: ; 0x0202F888 - mov r1, #0x5e - lsl r1, r1, #4 - ldrb r0, [r0, r1] - bx lr - thumb_func_end sub_0202F888 - - thumb_func_start sub_0202F890 -sub_0202F890: ; 0x0202F890 - push {r4, lr} - mov r1, #0x5d - lsl r1, r1, #4 - add r4, r0, r1 - ldrb r0, [r4, #0x10] - cmp r0, #0 - beq _0202F8CE - bl GF_RTC_DateTimeToSec - ldr r3, [r4] - ldr r2, [r4, #4] - sub r3, r0, r3 - sbc r1, r2 - mov r2, #0 - ldr r0, _0202F8D0 ; =0x00015180 - sub r0, r0, r3 - sbc r2, r1 - bge _0202F8BA - mov r0, #0 - strb r0, [r4, #0x10] - pop {r4, pc} -_0202F8BA: - bl OS_GetOwnerRtcOffset - ldr r3, [r4, #8] - ldr r2, [r4, #0xc] - eor r0, r3 - eor r1, r2 - orr r0, r1 - beq _0202F8CE - mov r0, #0 - strb r0, [r4, #0x10] -_0202F8CE: - pop {r4, pc} - .balign 4, 0 -_0202F8D0: .word 0x00015180 - thumb_func_end sub_0202F890 - - thumb_func_start sub_0202F8D4 -sub_0202F8D4: ; 0x0202F8D4 - push {r4, r5, r6} - sub sp, #0x7c - mov r4, #0x7a - add r3, r1, #0 - mul r3, r4 - add r1, r0, r3 - add r6, r1, #0 - add r5, sp, #0 -_0202F8E4: - ldrb r3, [r6] - add r6, r6, #1 - strb r3, [r5] - add r5, r5, #1 - sub r4, r4, #1 - bne _0202F8E4 - mov r3, #0x7a - add r4, r2, #0 - mul r4, r3 - add r4, r0, r4 - add r2, r4, #0 -_0202F8FA: - ldrb r0, [r2] - add r2, r2, #1 - strb r0, [r1] - add r1, r1, #1 - sub r3, r3, #1 - bne _0202F8FA - add r2, sp, #0 - mov r1, #0x7a -_0202F90A: - ldrb r0, [r2] - add r2, r2, #1 - strb r0, [r4] - add r4, r4, #1 - sub r1, r1, #1 - bne _0202F90A - add sp, #0x7c - pop {r4, r5, r6} - bx lr - thumb_func_end sub_0202F8D4 - - thumb_func_start sub_0202F91C -sub_0202F91C: ; 0x0202F91C - mov r3, #0x7a - mul r3, r1 - add r0, r0, r3 - lsl r1, r2, #0x18 - ldr r3, _0202F92C ; =sub_0202F9E8 - lsr r1, r1, #0x18 - bx r3 - nop -_0202F92C: .word sub_0202F9E8 - thumb_func_end sub_0202F91C - - thumb_func_start sub_0202F930 -sub_0202F930: ; 0x0202F930 - push {r3, lr} - cmp r1, #6 - blt _0202F93C - bl GF_AssertFail - pop {r3, pc} -_0202F93C: - mov r3, #0x7a - mul r3, r1 - add r3, r0, r3 - ldrb r1, [r3, #1] - cmp r1, #0x1e - blo _0202F94E - bl GF_AssertFail - pop {r3, pc} -_0202F94E: - add r0, r1, #1 - strb r0, [r3, #1] - lsl r0, r1, #2 - add r1, r3, r0 - ldrb r0, [r2] - strb r0, [r1, #2] - ldrb r0, [r2, #1] - strb r0, [r1, #3] - ldrb r0, [r2, #2] - strb r0, [r1, #4] - ldrb r0, [r2, #3] - strb r0, [r1, #5] - pop {r3, pc} - thumb_func_end sub_0202F930 - - thumb_func_start sub_0202F968 -sub_0202F968: ; 0x0202F968 - push {r4, lr} - cmp r1, #6 - blt _0202F974 - bl GF_AssertFail - pop {r4, pc} -_0202F974: - mov r3, #0x7a - mul r3, r1 - add r0, r0, r3 - ldrb r1, [r0, #1] - cmp r2, r1 - blo _0202F986 - bl GF_AssertFail - pop {r4, pc} -_0202F986: - sub r1, r1, #1 - strb r1, [r0, #1] - ldrb r4, [r0, #1] - cmp r2, r4 - bne _0202F99C - add r1, r0, #2 - lsl r0, r2, #2 - add r0, r1, r0 - bl sub_0202F9FC - pop {r4, pc} -_0202F99C: - cmp r2, r4 - bge _0202F9BE - lsl r1, r2, #2 - add r3, r0, r1 -_0202F9A4: - ldrb r1, [r3, #6] - add r2, r2, #1 - strb r1, [r3, #2] - ldrb r1, [r3, #7] - strb r1, [r3, #3] - ldrb r1, [r3, #8] - strb r1, [r3, #4] - ldrb r1, [r3, #9] - strb r1, [r3, #5] - ldrb r4, [r0, #1] - add r3, r3, #4 - cmp r2, r4 - blt _0202F9A4 -_0202F9BE: - add r1, r0, #2 - lsl r0, r4, #2 - add r0, r1, r0 - bl sub_0202F9FC - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202F968 - - thumb_func_start sub_0202F9CC -sub_0202F9CC: ; 0x0202F9CC - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 -_0202F9D2: - lsl r1, r4, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0202F9E8 - add r4, r4, #1 - add r5, #0x7a - cmp r4, #6 - blt _0202F9D2 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202F9CC - - thumb_func_start sub_0202F9E8 -sub_0202F9E8: ; 0x0202F9E8 - push {r3, r4, r5, lr} - add r4, r1, #0 - mov r1, #0 - mov r2, #0x7a - add r5, r0, #0 - bl MIi_CpuFill8 - strb r4, [r5] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0202F9E8 - - thumb_func_start sub_0202F9FC -sub_0202F9FC: ; 0x0202F9FC - ldr r3, _0202FA04 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #4 - bx r3 - .balign 4, 0 -_0202FA04: .word MIi_CpuFill8 - thumb_func_end sub_0202F9FC - - thumb_func_start sub_0202FA08 -sub_0202FA08: ; 0x0202FA08 - push {r4, lr} - mov r1, #0 - mov r2, #0x28 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r0, #0 - str r0, [r4, #0x14] - strb r0, [r4, #0x11] - ldr r0, _0202FA34 ; =0x020F5670 - mov r1, #8 - ldrb r0, [r0] - strb r0, [r4, #0x12] - ldr r0, _0202FA38 ; =0x020F566C - ldrb r0, [r0] - strb r0, [r4, #0x13] - add r4, #0x18 - add r0, r4, #0 - bl StringFillEOS - pop {r4, pc} - nop -_0202FA34: .word 0x020F5670 -_0202FA38: .word 0x020F566C - thumb_func_end sub_0202FA08 - - thumb_func_start sub_0202FA3C -sub_0202FA3C: ; 0x0202FA3C - push {r3, r4} - mov r4, #0 - cmp r2, #0 - ble _0202FA56 -_0202FA44: - ldrb r3, [r1, r4] - cmp r0, r3 - bne _0202FA50 - mov r0, #1 - pop {r3, r4} - bx lr -_0202FA50: - add r4, r4, #1 - cmp r4, r2 - blt _0202FA44 -_0202FA56: - mov r0, #0 - pop {r3, r4} - bx lr - thumb_func_end sub_0202FA3C - - thumb_func_start sub_0202FA5C -sub_0202FA5C: ; 0x0202FA5C - ldr r0, _0202FA60 ; =0x00001294 - bx lr - .balign 4, 0 -_0202FA60: .word 0x00001294 - thumb_func_end sub_0202FA5C - - thumb_func_start sub_0202FA64 -sub_0202FA64: ; 0x0202FA64 - ldr r3, _0202FA6C ; =SavArray_get - mov r1, #0x24 - bx r3 - nop -_0202FA6C: .word SavArray_get - thumb_func_end sub_0202FA64 - - thumb_func_start sub_0202FA70 -sub_0202FA70: ; 0x0202FA70 - push {r3, r4, r5, lr} - mov r4, #0 - str r4, [r0] - add r5, r0, #4 -_0202FA78: - add r0, r5, #0 - bl sub_0202FB98 - add r4, r4, #1 - add r5, #0x84 - cmp r4, #0x24 - blt _0202FA78 - pop {r3, r4, r5, pc} - thumb_func_end sub_0202FA70 - - thumb_func_start sub_0202FA88 -sub_0202FA88: ; 0x0202FA88 - push {r4, r5, r6, lr} - mov r5, #0 - add r4, r0, #4 - mov r6, #0x84 -_0202FA90: - add r0, r5, #0 - mul r0, r6 - add r0, r4, r0 - bl sub_0202FBBC - cmp r0, #0 - bne _0202FAA2 - add r0, r5, #0 - pop {r4, r5, r6, pc} -_0202FAA2: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x24 - blo _0202FA90 - mov r0, #0xff - pop {r4, r5, r6, pc} - thumb_func_end sub_0202FA88 - - thumb_func_start sub_0202FAB0 -sub_0202FAB0: ; 0x0202FAB0 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - add r5, r4, #0 - add r6, r0, #4 - mov r7, #0x84 -_0202FABA: - add r0, r4, #0 - mul r0, r7 - add r0, r6, r0 - bl sub_0202FBBC - cmp r0, #0 - beq _0202FACE - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 -_0202FACE: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x24 - blo _0202FABA - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202FAB0 - - thumb_func_start sub_0202FADC -sub_0202FADC: ; 0x0202FADC - push {r3, lr} - cmp r1, #0x24 - bhs _0202FAEE - add r2, r0, #4 - mov r0, #0x84 - mul r0, r1 - add r0, r2, r0 - bl sub_0202FB98 -_0202FAEE: - pop {r3, pc} - thumb_func_end sub_0202FADC - - thumb_func_start sub_0202FAF0 -sub_0202FAF0: ; 0x0202FAF0 - push {r4, lr} - add r3, r0, #0 - cmp r2, #0x24 - blo _0202FAFC - mov r0, #0 - pop {r4, pc} -_0202FAFC: - add r0, r1, #0 - add r4, r3, #4 - mov r3, #0x84 - add r1, r2, #0 - mul r1, r3 - add r1, r4, r1 - add r2, r3, #0 - bl sub_020D4A50 - mov r0, #1 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202FAF0 - - thumb_func_start sub_0202FB14 -sub_0202FB14: ; 0x0202FB14 - push {r4, lr} - cmp r2, #0x24 - blo _0202FB24 - add r0, r1, #0 - bl sub_0202FB98 - mov r0, #0 - pop {r4, pc} -_0202FB24: - add r4, r0, #4 - mov r3, #0x84 - add r0, r2, #0 - mul r0, r3 - add r0, r4, r0 - add r2, r3, #0 - bl sub_020D4A50 - mov r0, #1 - pop {r4, pc} - thumb_func_end sub_0202FB14 - - thumb_func_start sub_0202FB38 -sub_0202FB38: ; 0x0202FB38 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r6, r1, #0 - bl sub_0202FAB0 - add r5, r0, #0 - mov r1, #0x84 - mul r5, r1 - add r0, r6, #0 - add r1, r5, #0 - bl AllocFromHeap - mov r1, #0 - add r2, r5, #0 - str r0, [sp] - bl MIi_CpuFill8 - mov r7, #0 - add r5, r7, #0 - add r4, r4, #4 -_0202FB60: - mov r0, #0x84 - add r6, r5, #0 - mul r6, r0 - add r0, r4, r6 - bl sub_0202FBBC - cmp r0, #0 - beq _0202FB88 - add r1, r7, #0 - mov r2, #0x84 - add r0, r7, #1 - mul r2, r1 - ldr r1, [sp] - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - add r1, r1, r2 - add r0, r4, r6 - mov r2, #0x84 - bl sub_020D4A50 -_0202FB88: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x24 - blo _0202FB60 - ldr r0, [sp] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0202FB38 - - thumb_func_start sub_0202FB98 -sub_0202FB98: ; 0x0202FB98 - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x84 - bl MIi_CpuFill8 - add r0, r4, #0 - add r0, #8 - mov r1, #8 - bl StringFillEOS - add r4, #0x18 - add r0, r4, #0 - mov r1, #0xc - bl StringFillEOS - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0202FB98 - - thumb_func_start sub_0202FBBC -sub_0202FBBC: ; 0x0202FBBC - ldrb r0, [r0, #7] - cmp r0, #0 - beq _0202FBC6 - mov r0, #1 - bx lr -_0202FBC6: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_0202FBBC - - thumb_func_start sub_0202FBCC -sub_0202FBCC: ; 0x0202FBCC - ldr r0, _0202FBD0 ; =0x00001D50 - bx lr - .balign 4, 0 -_0202FBD0: .word 0x00001D50 - thumb_func_end sub_0202FBCC - - thumb_func_start sub_0202FBD4 -sub_0202FBD4: ; 0x0202FBD4 - push {r4, lr} - add r4, r0, #0 - ldr r2, _0202FBEC ; =0x00001D50 - mov r0, #0 - add r1, r4, #0 - bl sub_020D47EC - mov r0, #0 - mvn r0, r0 - str r0, [r4] - pop {r4, pc} - nop -_0202FBEC: .word 0x00001D50 - thumb_func_end sub_0202FBD4 - - thumb_func_start sub_0202FBF0 -sub_0202FBF0: ; 0x0202FBF0 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, _0202FC20 ; =0x021D2AF8 - add r4, r1, #0 - ldr r0, [r0] - add r6, r2, #0 - cmp r0, #0 - beq _0202FC0A - bl FreeToHeap - ldr r0, _0202FC20 ; =0x021D2AF8 - mov r1, #0 - str r1, [r0] -_0202FC0A: - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - mov r3, #0 - bl sub_0202711C - ldr r1, _0202FC20 ; =0x021D2AF8 - str r0, [r1] - bl sub_0202FBD4 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0202FC20: .word 0x021D2AF8 - thumb_func_end sub_0202FBF0 - - thumb_func_start sub_0202FC24 -sub_0202FC24: ; 0x0202FC24 - push {r3, lr} - ldr r0, _0202FC44 ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - bne _0202FC32 - bl GF_AssertFail -_0202FC32: - ldr r0, _0202FC44 ; =0x021D2AF8 - ldr r0, [r0] - bl FreeToHeap - ldr r0, _0202FC44 ; =0x021D2AF8 - mov r1, #0 - str r1, [r0] - pop {r3, pc} - nop -_0202FC44: .word 0x021D2AF8 - thumb_func_end sub_0202FC24 - - thumb_func_start sub_0202FC48 -sub_0202FC48: ; 0x0202FC48 - ldr r0, _0202FC58 ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - beq _0202FC54 - mov r0, #1 - bx lr -_0202FC54: - mov r0, #0 - bx lr - .balign 4, 0 -_0202FC58: .word 0x021D2AF8 - thumb_func_end sub_0202FC48 - - thumb_func_start sub_0202FC5C -sub_0202FC5C: ; 0x0202FC5C - push {r3, lr} - ldr r0, _0202FC70 ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - bne _0202FC6A - bl GF_AssertFail -_0202FC6A: - ldr r0, _0202FC70 ; =0x021D2AF8 - ldr r0, [r0] - pop {r3, pc} - .balign 4, 0 -_0202FC70: .word 0x021D2AF8 - thumb_func_end sub_0202FC5C - - thumb_func_start sub_0202FC74 -sub_0202FC74: ; 0x0202FC74 - push {r3, lr} - ldr r0, _0202FC8C ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - bne _0202FC82 - bl GF_AssertFail -_0202FC82: - ldr r0, _0202FC8C ; =0x021D2AF8 - ldr r0, [r0] - add r0, r0, #4 - pop {r3, pc} - nop -_0202FC8C: .word 0x021D2AF8 - thumb_func_end sub_0202FC74 - - thumb_func_start sub_0202FC90 -sub_0202FC90: ; 0x0202FC90 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, _0202FD1C ; =0x021D2AF8 - add r7, r1, #0 - ldr r0, [r0] - add r4, r2, #0 - add r6, r3, #0 - cmp r0, #0 - beq _0202FCAC - bl FreeToHeap - ldr r0, _0202FD1C ; =0x021D2AF8 - mov r1, #0 - str r1, [r0] -_0202FCAC: - ldr r3, [sp, #0x18] - add r0, r5, #0 - add r1, r7, #0 - add r2, r4, #0 - bl sub_0202711C - ldr r1, _0202FD1C ; =0x021D2AF8 - str r0, [r1] - ldr r1, [r4] - cmp r1, #1 - beq _0202FCCA - mov r0, #3 - str r0, [r4] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202FCCA: - ldr r1, _0202FD20 ; =0x00001C64 - add r0, #0xe8 - ldrh r2, [r0, r1] - ldr r3, _0202FD24 ; =0x0000FFFF - eor r3, r2 - lsl r3, r3, #0x10 - add r2, r2, r3 - bl sub_02030258 - ldr r1, _0202FD1C ; =0x021D2AF8 - add r0, r5, #0 - ldr r1, [r1] - bl sub_02030154 - cmp r0, #1 - bne _0202FCF2 - mov r0, #0 - str r0, [r4] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202FCF2: - ldr r1, _0202FD1C ; =0x021D2AF8 - add r0, r5, #0 - ldr r1, [r1] - bl sub_0203018C - cmp r0, #0 - bne _0202FD08 - mov r0, #2 - str r0, [r4] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0202FD08: - cmp r6, #0 - beq _0202FD14 - add r0, r6, #0 - add r1, r5, #0 - bl sub_020304F0 -_0202FD14: - mov r0, #1 - str r0, [r4] - pop {r3, r4, r5, r6, r7, pc} - nop -_0202FD1C: .word 0x021D2AF8 -_0202FD20: .word 0x00001C64 -_0202FD24: .word 0x0000FFFF - thumb_func_end sub_0202FC90 - - thumb_func_start sub_0202FD28 -sub_0202FD28: ; 0x0202FD28 - push {r4, r5, r6, lr} - add r5, r2, #0 - add r6, r0, #0 - bl sub_0202711C - ldr r1, [r5] - add r4, r0, #0 - cmp r1, #1 - beq _0202FD46 - mov r1, #3 - str r1, [r5] - bl FreeToHeap - mov r0, #0 - pop {r4, r5, r6, pc} -_0202FD46: - ldr r1, _0202FD9C ; =0x00001C64 - add r0, #0xe8 - ldrh r2, [r0, r1] - ldr r3, _0202FDA0 ; =0x0000FFFF - eor r3, r2 - lsl r3, r3, #0x10 - add r2, r2, r3 - bl sub_02030258 - add r0, r6, #0 - add r1, r4, #0 - bl sub_02030154 - cmp r0, #1 - bne _0202FD72 - mov r0, #0 - str r0, [r5] - add r0, r4, #0 - bl FreeToHeap - mov r0, #0 - pop {r4, r5, r6, pc} -_0202FD72: - add r0, r6, #0 - add r1, r4, #0 - bl sub_0203018C - cmp r0, #0 - bne _0202FD8C - mov r0, #2 - str r0, [r5] - add r0, r4, #0 - bl FreeToHeap - mov r0, #0 - pop {r4, r5, r6, pc} -_0202FD8C: - mov r0, #1 - str r0, [r5] - add r0, r4, #0 - bl FreeToHeap - mov r0, #1 - pop {r4, r5, r6, pc} - nop -_0202FD9C: .word 0x00001C64 -_0202FDA0: .word 0x0000FFFF - thumb_func_end sub_0202FD28 - - thumb_func_start sub_0202FDA4 -sub_0202FDA4: ; 0x0202FDA4 - push {r3, r4, r5, r6, r7, lr} - add r4, r3, #0 - add r6, r1, #0 - ldrh r1, [r4] - add r5, r0, #0 - add r7, r2, #0 - cmp r1, #0 - beq _0202FDBA - cmp r1, #1 - beq _0202FDF2 - b _0202FE10 -_0202FDBA: - mov r0, #8 - bl sub_0201A728 - mov r0, #0xb - bl sub_0201A748 - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02027134 - add r6, r0, #0 - cmp r6, #2 - bne _0202FDE8 - add r0, r5, #0 - mov r1, #2 - bl sub_02027550 - ldrh r0, [r4] - add r0, r0, #1 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202FDE8: - mov r0, #8 - bl sub_0201A738 - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202FDF2: - bl sub_02027564 - add r5, r0, #0 - sub r0, r5, #2 - cmp r0, #1 - bhi _0202FE0C - mov r0, #0 - strh r0, [r4] - bl sub_0201A774 - mov r0, #8 - bl sub_0201A738 -_0202FE0C: - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} -_0202FE10: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0202FDA4 - - thumb_func_start sub_0202FE14 -sub_0202FE14: ; 0x0202FE14 - push {r3, r4, r5, r6, r7, lr} - ldr r6, [sp, #0x18] - mov ip, r1 - add r1, r2, #0 - ldrh r2, [r6] - add r7, r0, #0 - cmp r2, #0 - beq _0202FE2A - cmp r2, #1 - beq _0202FE90 - b _0202FE9E -_0202FE2A: - ldr r2, _0202FEA4 ; =0x021D2AF8 - ldr r4, [r2] - cmp r4, #0 - bne _0202FE36 - mov r0, #3 - pop {r3, r4, r5, r6, r7, pc} -_0202FE36: - add r5, r4, #0 - add r4, #0xe8 - add r5, #0x84 - str r1, [sp] - add r1, r5, #0 - add r2, r4, #0 - mov r3, ip - bl sub_0202FF08 - add r0, r5, #0 - ldr r1, _0202FEA8 ; =0x0000E281 - add r0, #0x48 - strh r1, [r0] - add r0, r7, #0 - add r1, r5, #0 - mov r2, #0x58 - bl sub_020275C4 - add r5, #0x60 - strh r0, [r5] - ldr r0, _0202FEA8 ; =0x0000E281 - ldr r2, _0202FEAC ; =0x00001C62 - add r1, r4, #0 - strh r0, [r4, r2] - add r0, r7, #0 - add r2, r2, #2 - bl sub_020275C4 - ldr r1, _0202FEB0 ; =0x00001C64 - ldr r3, _0202FEB4 ; =0x0000FFFF - strh r0, [r4, r1] - ldrh r2, [r4, r1] - add r0, r4, #0 - eor r3, r2 - lsl r3, r3, #0x10 - add r2, r2, r3 - bl sub_02030250 - ldr r0, [sp, #0x1c] - mov r1, #0 - strh r1, [r0] - ldrh r0, [r6] - add r0, r0, #1 - strh r0, [r6] - b _0202FE9E -_0202FE90: - ldr r1, _0202FEA4 ; =0x021D2AF8 - add r2, r3, #0 - ldr r1, [r1] - ldr r3, [sp, #0x1c] - bl sub_0202FDA4 - pop {r3, r4, r5, r6, r7, pc} -_0202FE9E: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0202FEA4: .word 0x021D2AF8 -_0202FEA8: .word 0x0000E281 -_0202FEAC: .word 0x00001C62 -_0202FEB0: .word 0x00001C64 -_0202FEB4: .word 0x0000FFFF - thumb_func_end sub_0202FE14 - - thumb_func_start sub_0202FEB8 -sub_0202FEB8: ; 0x0202FEB8 - cmp r0, #0x1a - bgt _0202FEE6 - bge _0202FEF2 - add r3, r0, #0 - sub r3, #0xe - cmp r3, #9 - bhi _0202FEFC - add r3, r3, r3 - add r3, pc - ldrh r3, [r3, #6] - lsl r3, r3, #0x10 - asr r3, r3, #0x10 - add pc, r3 -_0202FED2: ; jump table - .short _0202FEF2 - _0202FED2 - 2 ; case 0 - .short _0202FEFC - _0202FED2 - 2 ; case 1 - .short _0202FEFC - _0202FED2 - 2 ; case 2 - .short _0202FEF2 - _0202FED2 - 2 ; case 3 - .short _0202FEFC - _0202FED2 - 2 ; case 4 - .short _0202FEFC - _0202FED2 - 2 ; case 5 - .short _0202FEF2 - _0202FED2 - 2 ; case 6 - .short _0202FEFC - _0202FED2 - 2 ; case 7 - .short _0202FEFC - _0202FED2 - 2 ; case 8 - .short _0202FEF2 - _0202FED2 - 2 ; case 9 -_0202FEE6: - cmp r0, #0x1d - bgt _0202FEEE - beq _0202FEF2 - b _0202FEFC -_0202FEEE: - cmp r0, #0x20 - bne _0202FEFC -_0202FEF2: - mov r0, #4 - str r0, [r1] - mov r0, #3 - str r0, [r2] - bx lr -_0202FEFC: - mov r0, #2 - str r0, [r1] - mov r0, #6 - str r0, [r2] - bx lr - .balign 4, 0 - thumb_func_end sub_0202FEB8 - - thumb_func_start sub_0202FF08 -sub_0202FF08: ; 0x0202FF08 - push {r4, r5, r6, r7, lr} - sub sp, #0x2c - str r3, [sp, #8] - add r7, r1, #0 - str r2, [sp, #4] - ldr r3, _02030148 ; =0x020F68C8 - str r0, [sp] - add r2, sp, #0x1c - mov r1, #8 -_0202FF1A: - ldrb r0, [r3] - add r3, r3, #1 - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _0202FF1A - ldr r1, _0203014C ; =0x020F68C4 - add r0, sp, #0x18 - ldrb r2, [r1] - strb r2, [r0] - ldrb r2, [r1, #1] - strb r2, [r0, #1] - ldrb r2, [r1, #2] - ldrb r1, [r1, #3] - strb r2, [r0, #2] - strb r1, [r0, #3] - add r0, r7, #0 - mov r1, #0 - mov r2, #0x64 - bl MIi_CpuFill8 - ldr r0, [sp, #8] - add r1, sp, #0x28 - add r2, sp, #0x24 - bl sub_0202FEB8 - ldr r0, [sp, #4] - mov r2, #0 - ldr r3, [r0] - mov r0, #4 - tst r0, r3 - beq _0202FF74 - mov r1, #0x80 - add r0, r3, #0 - tst r0, r1 - beq _0202FF6C - ldr r0, [sp, #4] - add r1, #0xc4 - ldrh r0, [r0, r1] - lsl r4, r0, #1 - b _0202FF76 -_0202FF6C: - ldr r0, [sp, #4] - add r1, #0xc4 - ldrh r4, [r0, r1] - b _0202FF76 -_0202FF74: - add r4, r2, #0 -_0202FF76: - ldr r5, [sp, #0x28] - mov r0, #0 - mov ip, r0 - cmp r5, #0 - ble _0203004E - add r0, sp, #0x18 - str r0, [sp, #0x14] - ldr r0, [sp, #4] - lsl r1, r4, #2 - add r0, r0, r1 - str r0, [sp, #0x10] - mov r0, #1 - and r0, r4 - add r3, r7, #0 - str r0, [sp, #0xc] -_0202FF94: - ldr r0, [sp, #4] - mov r1, #8 - ldr r0, [r0] - add r6, r0, #0 - and r6, r1 - beq _0202FFD6 - mov r4, #0x80 - add r1, r0, #0 - tst r1, r4 - bne _0202FFD6 - mov r6, #0 - cmp r5, #0 - ble _0202FFF6 - ldr r1, [sp, #0x10] - add r4, #0xb4 - ldr r1, [r1, r4] - ldr r0, [sp, #4] - lsl r1, r1, #0x1f - lsr r4, r1, #0x1d - add r1, sp, #0x1c - add r4, r1, r4 - mov r1, ip - ldrb r1, [r1, r4] -_0202FFC2: - mov r4, #0x4d - lsl r4, r4, #2 - ldr r4, [r0, r4] - cmp r4, r1 - beq _0202FFF6 - add r6, r6, #1 - add r0, r0, #4 - cmp r6, r5 - blt _0202FFC2 - b _0202FFF6 -_0202FFD6: - cmp r6, #0 - beq _0202FFE6 - mov r1, #0x80 - tst r0, r1 - beq _0202FFE6 - ldr r0, [sp, #0x14] - ldrb r6, [r0] - b _0202FFF6 -_0202FFE6: - ldr r0, [sp, #0xc] - mov r6, ip - cmp r0, #0 - beq _0202FFF6 - mov r0, ip - mov r1, #1 - add r6, r0, #0 - eor r6, r1 -_0202FFF6: - ldr r0, [sp, #0x24] - mov r5, #0 - cmp r0, #0 - ble _0203003C - ldr r1, _02030150 ; =0x00001154 - ldr r0, [sp, #4] - add r1, r0, r1 - mov r0, #0xa9 - lsl r0, r0, #2 - mul r0, r6 - add r4, r1, r0 -_0203000C: - ldr r0, [r4, #0x2c] - lsl r0, r0, #1 - lsr r0, r0, #0x1f - bne _0203002E - ldrh r0, [r4, #4] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - bne _0203002E - ldrh r0, [r4, #6] - strh r0, [r3] - add r0, r4, #0 - add r0, #0x30 - ldrb r0, [r0] - lsl r0, r0, #0x18 - lsr r1, r0, #0x1b - add r0, r7, r2 - strb r1, [r0, #0x18] -_0203002E: - ldr r0, [sp, #0x24] - add r5, r5, #1 - add r3, r3, #2 - add r2, r2, #1 - add r4, #0x70 - cmp r5, r0 - blt _0203000C -_0203003C: - ldr r0, [sp, #0x14] - ldr r5, [sp, #0x28] - add r0, r0, #1 - str r0, [sp, #0x14] - mov r0, ip - add r0, r0, #1 - mov ip, r0 - cmp r0, r5 - blt _0202FF94 -_0203004E: - ldr r0, [sp, #8] - cmp r0, #0xd - bhi _02030124 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02030060: ; jump table - .short _02030124 - _02030060 - 2 ; case 0 - .short _0203007C - _02030060 - 2 ; case 1 - .short _02030098 - _02030060 - 2 ; case 2 - .short _020300B4 - _02030060 - 2 ; case 3 - .short _020300D0 - _02030060 - 2 ; case 4 - .short _020300EC - _02030060 - 2 ; case 5 - .short _02030108 - _02030060 - 2 ; case 6 - .short _02030124 - _02030060 - 2 ; case 7 - .short _0203007C - _02030060 - 2 ; case 8 - .short _02030098 - _02030060 - 2 ; case 9 - .short _020300B4 - _02030060 - 2 ; case 10 - .short _020300D0 - _02030060 - 2 ; case 11 - .short _020300EC - _02030060 - 2 ; case 12 - .short _02030108 - _02030060 - 2 ; case 13 -_0203007C: - ldr r0, [sp] - mov r1, #0 - bl sub_020291E8 - add r3, r7, #0 - add r3, #0x28 - mov r2, #0x10 -_0203008A: - ldrh r1, [r0] - add r0, r0, #2 - strh r1, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _0203008A - b _0203013A -_02030098: - ldr r0, [sp] - mov r1, #1 - bl sub_020291E8 - add r3, r7, #0 - add r3, #0x28 - mov r2, #0x10 -_020300A6: - ldrh r1, [r0] - add r0, r0, #2 - strh r1, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _020300A6 - b _0203013A -_020300B4: - ldr r0, [sp] - mov r1, #2 - bl sub_020291E8 - add r3, r7, #0 - add r3, #0x28 - mov r2, #0x10 -_020300C2: - ldrh r1, [r0] - add r0, r0, #2 - strh r1, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _020300C2 - b _0203013A -_020300D0: - ldr r0, [sp] - mov r1, #3 - bl sub_020291E8 - add r3, r7, #0 - add r3, #0x28 - mov r2, #0x10 -_020300DE: - ldrh r1, [r0] - add r0, r0, #2 - strh r1, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _020300DE - b _0203013A -_020300EC: - ldr r0, [sp] - mov r1, #4 - bl sub_020291E8 - add r3, r7, #0 - add r3, #0x28 - mov r2, #0x10 -_020300FA: - ldrh r1, [r0] - add r0, r0, #2 - strh r1, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _020300FA - b _0203013A -_02030108: - ldr r0, [sp] - mov r1, #5 - bl sub_020291E8 - add r3, r7, #0 - add r3, #0x28 - mov r2, #0x10 -_02030116: - ldrh r1, [r0] - add r0, r0, #2 - strh r1, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _02030116 - b _0203013A -_02030124: - bl sub_0202925C - add r3, r7, #0 - add r3, #0x28 - mov r2, #0x10 -_0203012E: - ldrh r1, [r0] - add r0, r0, #2 - strh r1, [r3] - add r3, r3, #2 - sub r2, r2, #1 - bne _0203012E -_0203013A: - ldr r0, [sp, #0x40] - strh r0, [r7, #0x24] - ldr r0, [sp, #8] - add r7, #0x26 - strb r0, [r7] - add sp, #0x2c - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_02030148: .word 0x020F68C8 -_0203014C: .word 0x020F68C4 -_02030150: .word 0x00001154 - thumb_func_end sub_0202FF08 - - thumb_func_start sub_02030154 -sub_02030154: ; 0x02030154 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r1, #0 - add r4, #0xe8 - add r5, #0x84 - bl sub_020274E8 - cmp r0, #0 - bne _0203016A - mov r0, #1 - pop {r3, r4, r5, pc} -_0203016A: - ldr r0, _02030184 ; =0x00001C62 - ldrh r1, [r4, r0] - ldr r0, _02030188 ; =0x0000E281 - cmp r1, r0 - bne _0203017C - add r5, #0x48 - ldrh r1, [r5] - cmp r1, r0 - beq _02030180 -_0203017C: - mov r0, #1 - pop {r3, r4, r5, pc} -_02030180: - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_02030184: .word 0x00001C62 -_02030188: .word 0x0000E281 - thumb_func_end sub_02030154 - - thumb_func_start sub_0203018C -sub_0203018C: ; 0x0203018C - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r1, #0 - ldr r1, _0203023C ; =0x00001C62 - add r4, #0xe8 - ldrh r1, [r4, r1] - ldr r2, _02030240 ; =0x0000E281 - add r6, r0, #0 - add r5, #0x84 - cmp r1, r2 - bne _020301AC - add r1, r5, #0 - add r1, #0x48 - ldrh r1, [r1] - cmp r1, r2 - beq _020301B0 -_020301AC: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_020301B0: - add r1, r5, #0 - mov r2, #0x58 - bl sub_020275C4 - add r5, #0x60 - ldrh r1, [r5] - cmp r0, r1 - beq _020301C4 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_020301C4: - ldr r2, _02030244 ; =0x00001C64 - add r0, r6, #0 - add r1, r4, #0 - bl sub_020275C4 - ldr r1, _02030244 ; =0x00001C64 - ldrh r1, [r4, r1] - cmp r0, r1 - beq _020301DA - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_020301DA: - mov r0, #0 - mov ip, r0 - ldr r0, _02030248 ; =0x00001154 - add r0, r4, r0 - str r0, [sp] - ldr r0, _0203024C ; =0x000001D3 - add r7, r0, #0 - add r6, r0, #0 - add r7, #0x45 - add r6, #0x1c -_020301EE: - ldr r4, [sp] - mov r2, #0 -_020301F2: - ldrh r1, [r4, #6] - cmp r1, r6 - bls _020301FC - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_020301FC: - ldrh r1, [r4, #8] - cmp r1, r7 - bls _02030206 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02030206: - mov r3, #0 - add r5, r4, #0 -_0203020A: - ldrh r1, [r5, #0x1c] - cmp r1, r0 - bls _02030214 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02030214: - add r3, r3, #1 - add r5, r5, #2 - cmp r3, #4 - blt _0203020A - add r2, r2, #1 - add r4, #0x70 - cmp r2, #6 - blt _020301F2 - mov r1, #0xa9 - ldr r2, [sp] - lsl r1, r1, #2 - add r1, r2, r1 - str r1, [sp] - mov r1, ip - add r1, r1, #1 - mov ip, r1 - cmp r1, #4 - blt _020301EE - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203023C: .word 0x00001C62 -_02030240: .word 0x0000E281 -_02030244: .word 0x00001C64 -_02030248: .word 0x00001154 -_0203024C: .word 0x000001D3 - thumb_func_end sub_0203018C - - thumb_func_start sub_02030250 -sub_02030250: ; 0x02030250 - ldr r3, _02030254 ; =sub_0201FF44 - bx r3 - .balign 4, 0 -_02030254: .word sub_0201FF44 - thumb_func_end sub_02030250 - - thumb_func_start sub_02030258 -sub_02030258: ; 0x02030258 - ldr r3, _0203025C ; =sub_0201FF70 - bx r3 - .balign 4, 0 -_0203025C: .word sub_0201FF70 - thumb_func_end sub_02030258 - - thumb_func_start sub_02030260 -sub_02030260: ; 0x02030260 - ldr r3, _02030278 ; =0x021D2AF8 - ldr r3, [r3] - cmp r3, #0 - beq _02030274 - lsl r0, r0, #0xa - add r0, r3, r0 - add r1, r0, r1 - mov r0, #0x8e - lsl r0, r0, #2 - strb r2, [r1, r0] -_02030274: - bx lr - nop -_02030278: .word 0x021D2AF8 - thumb_func_end sub_02030260 - - thumb_func_start sub_0203027C -sub_0203027C: ; 0x0203027C - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _020302A0 ; =0x021D2AF8 - add r4, r1, #0 - ldr r0, [r0] - cmp r0, #0 - bne _0203028E - bl GF_AssertFail -_0203028E: - ldr r0, _020302A0 ; =0x021D2AF8 - ldr r1, [r0] - lsl r0, r5, #0xa - add r0, r1, r0 - add r1, r0, r4 - mov r0, #0x8e - lsl r0, r0, #2 - ldrb r0, [r1, r0] - pop {r3, r4, r5, pc} - .balign 4, 0 -_020302A0: .word 0x021D2AF8 - thumb_func_end sub_0203027C - - thumb_func_start sub_020302A4 -sub_020302A4: ; 0x020302A4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r0, [sp] - ldr r0, _0203048C ; =0x021D2AF8 - ldr r1, [r0] - cmp r1, #0 - bne _020302B4 - b _02030488 -_020302B4: - ldr r0, [sp] - add r7, r1, #0 - ldr r0, [r0] - add r1, #0xe8 - str r0, [r1] - ldr r0, [sp] - add r7, #0xe8 - ldr r0, [r0, #0x14] - ldr r1, [sp] - str r0, [r7, #4] - mov r0, #0x53 - lsl r0, r0, #2 - ldr r2, [r1, r0] - add r1, r7, #0 - add r1, #0xe8 - str r2, [r1] - ldr r1, [sp] - add r2, r0, #4 - ldr r2, [r1, r2] - add r1, r7, #0 - add r1, #0xec - str r2, [r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #8 - ldr r2, [r1, r2] - add r1, r7, #0 - add r1, #0xf0 - str r2, [r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0xc - ldr r2, [r1, r2] - add r1, r7, #0 - add r1, #0xf4 - str r2, [r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x10 - ldr r2, [r1, r2] - add r1, r7, #0 - add r1, #0xf8 - str r2, [r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x14 - ldr r2, [r1, r2] - add r1, r7, #0 - add r1, #0xfc - str r2, [r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x18 - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x4c - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x1c - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x48 - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x24 - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x44 - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x28 - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x40 - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x2c - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x3c - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x40 - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x28 - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x44 - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x24 - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x48 - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x20 - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x50 - ldr r2, [r1, r2] - add r1, r0, #0 - sub r1, #0x1c - str r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x64 - ldrh r2, [r1, r2] - add r1, r0, #0 - sub r1, #8 - strh r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x67 - ldrb r2, [r1, r2] - sub r1, r0, #6 - ldr r4, [sp] - strh r2, [r7, r1] - add r2, r0, #0 - ldr r1, [sp] - add r2, #0x68 - ldr r1, [r1, r2] - sub r0, r0, #4 - str r1, [r7, r0] - add r0, r4, #0 - mov r3, #0 - add r5, r7, #0 - str r0, [sp, #8] - str r7, [sp, #4] -_020303C8: - ldr r0, [r4, #0x18] - ldr r2, [sp, #8] - ldr r6, [sp, #4] - str r0, [r5, #8] - mov r0, #6 - add r2, #0x28 - add r6, #0x18 - mov ip, r0 -_020303D8: - ldmia r2!, {r0, r1} - stmia r6!, {r0, r1} - mov r0, ip - sub r0, r0, #1 - mov ip, r0 - bne _020303D8 - ldr r0, [r2] - mov r1, #0x5f - lsl r1, r1, #2 - str r0, [r6] - ldr r0, [r4, r1] - cmp r0, #0 - bne _020303FA - mov r0, #5 - sub r1, #0x68 - lsl r0, r0, #6 - b _020303FC -_020303FA: - sub r1, #0x68 -_020303FC: - str r0, [r5, r1] - mov r0, #0x1a - lsl r0, r0, #4 - ldr r2, [r4, r0] - add r1, r0, #0 - sub r1, #0x6c - str r2, [r5, r1] - ldr r1, [sp] - add r4, r4, #4 - add r2, r1, r3 - add r1, r0, #0 - add r1, #0x1c - ldrb r2, [r2, r1] - add r1, r7, r3 - sub r0, #0x54 - strb r2, [r1, r0] - ldr r0, [sp, #8] - add r3, r3, #1 - add r0, #0x34 - str r0, [sp, #8] - ldr r0, [sp, #4] - add r5, r5, #4 - add r0, #0x34 - str r0, [sp, #4] - cmp r3, #4 - blt _020303C8 - ldr r0, _02030490 ; =0x00001150 - ldr r4, [sp] - add r0, r7, r0 - str r0, [sp, #0xc] - ldr r0, _02030494 ; =0x00001BE0 - mov r5, #0 - add r6, r7, r0 -_0203043E: - ldr r0, [r4, #4] - ldr r1, [sp, #0xc] - bl sub_020306DC - add r0, r4, #0 - add r0, #0xf8 - ldr r0, [r0] - add r1, r6, #0 - bl sub_02028EE4 - mov r0, #0x46 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl sub_02006EFC - mov r1, #0x53 - add r2, r7, r5 - lsl r1, r1, #2 - strb r0, [r2, r1] - mov r0, #0xa9 - ldr r1, [sp, #0xc] - lsl r0, r0, #2 - add r0, r1, r0 - add r5, r5, #1 - str r0, [sp, #0xc] - add r4, r4, #4 - add r6, #0x20 - cmp r5, #4 - blt _0203043E - mov r1, #0x13 - ldr r0, [sp] - lsl r1, r1, #4 - ldr r0, [r0, r1] - ldr r1, _02030498 ; =0x00001C60 - add r1, r7, r1 - bl sub_0202AC9C -_02030488: - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203048C: .word 0x021D2AF8 -_02030490: .word 0x00001150 -_02030494: .word 0x00001BE0 -_02030498: .word 0x00001C60 - thumb_func_end sub_020302A4 - - thumb_func_start sub_0203049C -sub_0203049C: ; 0x0203049C - ldr r2, _020304B0 ; =0x021D2AF8 - ldr r2, [r2] - cmp r2, #0 - beq _020304AE - lsl r0, r0, #2 - add r2, r2, r0 - mov r0, #0x7f - lsl r0, r0, #2 - str r1, [r2, r0] -_020304AE: - bx lr - .balign 4, 0 -_020304B0: .word 0x021D2AF8 - thumb_func_end sub_0203049C - - thumb_func_start sub_020304B4 -sub_020304B4: ; 0x020304B4 - push {r3, r4} - ldr r0, _020304EC ; =0x021D2AF8 - ldr r4, [r0] - cmp r4, #0 - bne _020304C4 - mov r0, #1 - pop {r3, r4} - bx lr -_020304C4: - mov r0, #0x45 - lsl r0, r0, #2 - add r1, r0, #0 - mov r3, #0 - add r4, #0xe8 - add r1, #0x2c -_020304D0: - ldr r2, [r4, r0] - cmp r2, r1 - bls _020304DC - mov r0, #0 - pop {r3, r4} - bx lr -_020304DC: - add r3, r3, #1 - add r4, r4, #4 - cmp r3, #4 - blt _020304D0 - mov r0, #1 - pop {r3, r4} - bx lr - nop -_020304EC: .word 0x021D2AF8 - thumb_func_end sub_020304B4 - - thumb_func_start sub_020304F0 -sub_020304F0: ; 0x020304F0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r6, r0, #0 - ldr r0, _020306C8 ; =0x021D2AF8 - str r1, [sp] - ldr r1, [r0] - add r0, r1, #0 - str r0, [sp, #0x14] - add r0, #0xe8 - add r1, #0xe8 - str r0, [sp, #0x14] - ldr r0, [r1] - str r0, [r6] - ldr r0, [sp, #0x14] - add r0, #0xe8 - ldr r1, [r0] - mov r0, #0x53 - lsl r0, r0, #2 - str r1, [r6, r0] - ldr r1, [sp, #0x14] - add r1, #0xec - ldr r2, [r1] - add r1, r0, #4 - str r2, [r6, r1] - ldr r1, [sp, #0x14] - add r1, #0xf0 - ldr r2, [r1] - add r1, r0, #0 - add r1, #8 - str r2, [r6, r1] - ldr r1, [sp, #0x14] - add r1, #0xf4 - ldr r2, [r1] - add r1, r0, #0 - add r1, #0xc - str r2, [r6, r1] - ldr r1, [sp, #0x14] - add r1, #0xf8 - ldr r2, [r1] - add r1, r0, #0 - add r1, #0x10 - str r2, [r6, r1] - ldr r1, [sp, #0x14] - add r1, #0xfc - ldr r2, [r1] - add r1, r0, #0 - add r1, #0x14 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x4c - ldr r2, [r1, r2] - add r1, r0, #0 - add r1, #0x18 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x48 - ldr r2, [r1, r2] - add r1, r0, #0 - add r1, #0x1c - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x44 - ldr r2, [r1, r2] - add r1, r0, #0 - add r1, #0x24 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x40 - ldr r2, [r1, r2] - add r1, r0, #0 - add r1, #0x28 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x28 - ldr r2, [r1, r2] - mov r1, #0x10 - orr r2, r1 - add r1, r0, #0 - add r1, #0x40 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x24 - ldr r2, [r1, r2] - add r1, r0, #0 - add r1, #0x44 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x20 - ldr r2, [r1, r2] - add r1, r0, #0 - add r1, #0x48 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #0x1c - ldr r2, [r1, r2] - add r1, r0, #0 - add r1, #0x50 - str r2, [r6, r1] - add r2, r0, #0 - ldr r1, [sp, #0x14] - sub r2, #8 - ldrh r2, [r1, r2] - add r1, r0, #0 - add r1, #0x64 - strh r2, [r6, r1] - mov r1, #0 - str r1, [r6, #0x14] - add r0, #0x2c - str r1, [r6, r0] - ldr r0, [sp] - bl sub_0202A634 - mov r1, #0x11 - lsl r1, r1, #4 - ldr r1, [r6, r1] - bl sub_020293FC - ldr r5, [sp, #0x14] - ldr r1, _020306CC ; =0x00001150 - add r0, r5, #0 - str r0, [sp, #0x10] - add r0, r0, r1 - str r0, [sp, #8] - ldr r1, _020306D0 ; =0x00001BE0 - add r0, r5, #0 - add r0, r0, r1 - mov r7, #0 - add r4, r6, #0 - str r6, [sp, #0xc] - str r0, [sp, #4] -_02030604: - ldr r0, [r5, #8] - ldr r3, [sp, #0x10] - ldr r2, [sp, #0xc] - str r0, [r4, #0x18] - mov r0, #6 - add r3, #0x18 - add r2, #0x28 - mov ip, r0 -_02030614: - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - mov r0, ip - sub r0, r0, #1 - mov ip, r0 - bne _02030614 - ldr r0, [r3] - mov r1, #0x45 - lsl r1, r1, #2 - str r0, [r2] - add r0, r1, #0 - ldr r2, [r5, r1] - add r0, #0x68 - str r2, [r4, r0] - add r0, r1, #0 - add r0, #0x20 - ldr r0, [r5, r0] - add r1, #0x8c - str r0, [r4, r1] - ldr r0, [sp, #8] - ldr r1, [r4, #4] - bl sub_02030724 - add r1, r4, #0 - add r1, #0xf8 - ldr r0, [sp, #4] - ldr r1, [r1] - bl sub_02028EE4 - ldr r0, [sp, #0x14] - add r5, r5, #4 - add r1, r0, r7 - mov r0, #0x53 - lsl r0, r0, #2 - ldrb r2, [r1, r0] - add r1, r6, r7 - add r0, #0x70 - strb r2, [r1, r0] - ldr r0, [sp, #0x10] - mov r1, #0xa9 - add r0, #0x34 - str r0, [sp, #0x10] - ldr r0, [sp, #0xc] - lsl r1, r1, #2 - add r0, #0x34 - str r0, [sp, #0xc] - ldr r0, [sp, #8] - add r7, r7, #1 - add r0, r0, r1 - str r0, [sp, #8] - ldr r0, [sp, #4] - add r4, r4, #4 - add r0, #0x20 - str r0, [sp, #4] - cmp r7, #4 - blt _02030604 - ldr r0, [sp] - bl Sav2_PlayerData_GetOptionsAddr - mov r1, #0x13 - lsl r1, r1, #4 - ldr r1, [r6, r1] - bl sub_0202AC9C - mov r5, #0x13 - lsl r5, r5, #4 - ldr r1, [r6, r5] - ldr r4, _020306D4 ; =0x00001C60 - ldr r2, [sp, #0x14] - ldrh r0, [r1] - ldrh r2, [r2, r4] - ldr r3, _020306D8 ; =0xFFFF83FF - lsl r2, r2, #0x11 - lsr r2, r2, #0x1b - lsl r2, r2, #0x1b - and r0, r3 - lsr r2, r2, #0x11 - orr r0, r2 - strh r0, [r1] - ldr r2, [r6, r5] - ldrh r0, [r2] - lsl r1, r0, #0x11 - lsr r1, r1, #0x1b - cmp r1, #0x14 - blo _020306C2 - and r0, r3 - strh r0, [r2] -_020306C2: - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - nop -_020306C8: .word 0x021D2AF8 -_020306CC: .word 0x00001150 -_020306D0: .word 0x00001BE0 -_020306D4: .word 0x00001C60 -_020306D8: .word 0xFFFF83FF - thumb_func_end sub_020304F0 - - thumb_func_start sub_020306DC -sub_020306DC: ; 0x020306DC - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - mov r2, #0xa9 - add r7, r0, #0 - add r0, r6, #0 - mov r1, #0 - lsl r2, r2, #2 - bl MIi_CpuFill8 - add r0, r7, #0 - bl sub_0207463C - strh r0, [r6] - add r0, r7, #0 - bl sub_02074640 - strh r0, [r6, #2] - ldrh r0, [r6, #2] - mov r4, #0 - cmp r0, #0 - ble _02030720 - add r5, r6, #4 -_02030708: - add r0, r7, #0 - add r1, r4, #0 - bl sub_02074644 - add r1, r5, #0 - bl sub_02072A98 - ldrh r0, [r6, #2] - add r4, r4, #1 - add r5, #0x70 - cmp r4, r0 - blt _02030708 -_02030720: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_020306DC - - thumb_func_start sub_02030724 -sub_02030724: ; 0x02030724 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r0, #0 - str r1, [sp] - mov r1, #0 - add r0, sp, #4 - strb r1, [r0] - mov r0, #0xb - bl AllocMonZeroed - add r4, r0, #0 - ldrh r1, [r7] - ldr r0, [sp] - bl sub_020744DC - ldrh r0, [r7, #2] - mov r6, #0 - cmp r0, #0 - ble _02030770 - add r5, r7, #4 -_0203074C: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02072D64 - add r0, r4, #0 - mov r1, #0xa2 - add r2, sp, #4 - bl sub_0206EC40 - ldr r0, [sp] - add r1, r4, #0 - bl sub_02074524 - ldrh r0, [r7, #2] - add r6, r6, #1 - add r5, #0x70 - cmp r6, r0 - blt _0203074C -_02030770: - add r0, r4, #0 - bl FreeToHeap - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02030724 - - thumb_func_start sub_0203077C -sub_0203077C: ; 0x0203077C - push {r4, lr} - add r4, r0, #0 - ldr r0, _020307A8 ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - bne _0203078C - bl GF_AssertFail -_0203078C: - add r0, r4, #0 - mov r1, #0x64 - bl AllocFromHeap - add r4, r0, #0 - ldr r0, _020307A8 ; =0x021D2AF8 - add r1, r4, #0 - ldr r0, [r0] - mov r2, #0x64 - add r0, #0x84 - bl MIi_CpuCopy32 - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 -_020307A8: .word 0x021D2AF8 - thumb_func_end sub_0203077C - - thumb_func_start sub_020307AC -sub_020307AC: ; 0x020307AC - push {r4, lr} - add r4, r0, #0 - ldr r0, _020307D8 ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - bne _020307BC - bl GF_AssertFail -_020307BC: - add r0, r4, #0 - mov r1, #0x80 - bl AllocFromHeap - add r4, r0, #0 - ldr r0, _020307D8 ; =0x021D2AF8 - add r1, r4, #0 - ldr r0, [r0] - mov r2, #0x80 - add r0, r0, #4 - bl MIi_CpuCopy32 - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 -_020307D8: .word 0x021D2AF8 - thumb_func_end sub_020307AC - - thumb_func_start sub_020307DC -sub_020307DC: ; 0x020307DC - push {r3, lr} - ldr r0, _020307F4 ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - bne _020307EA - bl GF_AssertFail -_020307EA: - ldr r0, _020307F4 ; =0x021D2AF8 - ldr r0, [r0] - add r0, r0, #4 - pop {r3, pc} - nop -_020307F4: .word 0x021D2AF8 - thumb_func_end sub_020307DC - - thumb_func_start sub_020307F8 -sub_020307F8: ; 0x020307F8 - push {r3, lr} - ldr r0, _02030810 ; =0x021D2AF8 - ldr r0, [r0] - cmp r0, #0 - bne _02030806 - bl GF_AssertFail -_02030806: - ldr r0, _02030810 ; =0x021D2AF8 - ldr r0, [r0] - add r0, #0x84 - pop {r3, pc} - nop -_02030810: .word 0x021D2AF8 - thumb_func_end sub_020307F8 - - thumb_func_start sub_02030814 -sub_02030814: ; 0x02030814 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, _0203087C ; =0x021D2AF8 - add r6, r1, #0 - ldr r0, [r0] - add r7, r2, #0 - add r4, r3, #0 - cmp r0, #0 - bne _0203082A - bl GF_AssertFail -_0203082A: - ldr r1, _0203087C ; =0x021D2AF8 - add r0, r6, #0 - ldr r1, [r1] - mov r2, #0x64 - add r1, #0x84 - bl sub_020D4A50 - ldr r1, _0203087C ; =0x021D2AF8 - ldr r2, _02030880 ; =0x00001C68 - ldr r1, [r1] - add r0, r7, #0 - add r1, #0xe8 - bl sub_020D4A50 - ldr r1, _0203087C ; =0x021D2AF8 - add r0, r5, #0 - ldr r1, [r1] - mov r2, #0x80 - add r1, r1, #4 - bl sub_020D4A50 - ldr r0, _0203087C ; =0x021D2AF8 - ldr r1, _02030884 ; =0x00001D4C - ldr r0, [r0] - ldr r2, _02030888 ; =0x0000FFFF - ldrh r3, [r0, r1] - add r0, #0xe8 - sub r1, #0xe8 - eor r2, r3 - lsl r2, r2, #0x10 - add r2, r3, r2 - bl sub_02030258 - cmp r4, #0 - beq _02030878 - ldr r1, [sp, #0x18] - add r0, r4, #0 - bl sub_020304F0 -_02030878: - pop {r3, r4, r5, r6, r7, pc} - nop -_0203087C: .word 0x021D2AF8 -_02030880: .word 0x00001C68 -_02030884: .word 0x00001D4C -_02030888: .word 0x0000FFFF - thumb_func_end sub_02030814 - - thumb_func_start sub_0203088C -sub_0203088C: ; 0x0203088C - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r2, #0 - cmp r1, #5 - bhi _0203090C - add r0, r1, r1 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020308A2: ; jump table - .short _020308AE - _020308A2 - 2 ; case 0 - .short _020308CA - _020308A2 - 2 ; case 1 - .short _020308DA - _020308A2 - 2 ; case 2 - .short _020308EC - _020308A2 - 2 ; case 3 - .short _020308FE - _020308A2 - 2 ; case 4 - .short _02030904 - _020308A2 - 2 ; case 5 -_020308AE: - cmp r5, #0xc - blt _020308B6 - bl GF_AssertFail -_020308B6: - lsl r0, r5, #1 - ldrh r0, [r4, r0] - ldr r1, _02030918 ; =0x000001ED - cmp r0, r1 - bls _020308C6 - mov r0, #0 - add r1, r0, #0 - pop {r3, r4, r5, pc} -_020308C6: - mov r1, #0 - pop {r3, r4, r5, pc} -_020308CA: - cmp r5, #0xc - blt _020308D2 - bl GF_AssertFail -_020308D2: - add r0, r4, r5 - ldrb r0, [r0, #0x18] - mov r1, #0 - pop {r3, r4, r5, pc} -_020308DA: - ldrh r1, [r4, #0x24] - ldr r0, _0203091C ; =0x0000270F - cmp r1, r0 - bls _020308E6 - mov r1, #0 - pop {r3, r4, r5, pc} -_020308E6: - add r0, r1, #0 - mov r1, #0 - pop {r3, r4, r5, pc} -_020308EC: - add r4, #0x26 - ldrb r0, [r4] - cmp r0, #0x21 - blo _020308FA - mov r0, #0 - add r1, r0, #0 - pop {r3, r4, r5, pc} -_020308FA: - mov r1, #0 - pop {r3, r4, r5, pc} -_020308FE: - ldr r0, [r4, #0x58] - ldr r1, [r4, #0x5c] - pop {r3, r4, r5, pc} -_02030904: - add r4, #0x27 - ldrb r0, [r4] - mov r1, #0 - pop {r3, r4, r5, pc} -_0203090C: - bl GF_AssertFail - mov r0, #0 - add r1, r0, #0 - pop {r3, r4, r5, pc} - nop -_02030918: .word 0x000001ED -_0203091C: .word 0x0000270F - thumb_func_end sub_0203088C - - thumb_func_start sub_02030920 -sub_02030920: ; 0x02030920 - push {r4, lr} - mov r1, #0x64 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x64 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02030920 - - thumb_func_start sub_02030938 -sub_02030938: ; 0x02030938 - ldr r3, _0203093C ; =FreeToHeap - bx r3 - .balign 4, 0 -_0203093C: .word FreeToHeap - thumb_func_end sub_02030938 - - thumb_func_start sub_02030940 -sub_02030940: ; 0x02030940 - ldr r3, _02030948 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #0x58 - bx r3 - .balign 4, 0 -_02030948: .word MIi_CpuFill8 - thumb_func_end sub_02030940 - - thumb_func_start sub_0203094C -sub_0203094C: ; 0x0203094C - push {r3, lr} - bl sub_0203107C - mov r1, #0x8e - lsl r1, r1, #4 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203094C - - thumb_func_start sub_0203095C -sub_0203095C: ; 0x0203095C - ldrb r0, [r0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1f - bx lr - thumb_func_end sub_0203095C - - thumb_func_start sub_02030964 -sub_02030964: ; 0x02030964 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x1f - ldrb r3, [r0] - mov r2, #0x10 - lsr r1, r1, #0x1b - bic r3, r2 - orr r1, r3 - strb r1, [r0] - bx lr - thumb_func_end sub_02030964 - - thumb_func_start sub_02030978 -sub_02030978: ; 0x02030978 - push {r3, r4} - cmp r1, #9 - bhi _02030A1E - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203098A: ; jump table - .short _0203099E - _0203098A - 2 ; case 0 - .short _020309B2 - _0203098A - 2 ; case 1 - .short _020309C6 - _0203098A - 2 ; case 2 - .short _020309CE - _0203098A - 2 ; case 3 - .short _020309DA - _0203098A - 2 ; case 4 - .short _020309E6 - _0203098A - 2 ; case 5 - .short _020309F2 - _0203098A - 2 ; case 6 - .short _020309FE - _0203098A - 2 ; case 7 - .short _02030A0A - _0203098A - 2 ; case 8 - .short _02030A16 - _0203098A - 2 ; case 9 -_0203099E: - ldrb r4, [r0] - ldrb r2, [r3] - mov r1, #1 - bic r4, r1 - mov r1, #1 - and r1, r2 - orr r1, r4 - strb r1, [r0] - pop {r3, r4} - bx lr -_020309B2: - ldrb r2, [r0] - mov r1, #0xe - bic r2, r1 - ldrb r1, [r3] - lsl r1, r1, #0x1d - lsr r1, r1, #0x1c - orr r1, r2 - strb r1, [r0] - pop {r3, r4} - bx lr -_020309C6: - ldrb r1, [r3] - strb r1, [r0, #1] - pop {r3, r4} - bx lr -_020309CE: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #4] - pop {r3, r4} - bx lr -_020309DA: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #0x20] - pop {r3, r4} - bx lr -_020309E6: - ldrb r1, [r3] - add r0, r0, r2 - add r0, #0x28 - strb r1, [r0] - pop {r3, r4} - bx lr -_020309F2: - lsl r1, r2, #2 - ldr r3, [r3] - add r0, r0, r1 - str r3, [r0, #0x2c] - pop {r3, r4} - bx lr -_020309FE: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #0x3c] - pop {r3, r4} - bx lr -_02030A0A: - ldrb r1, [r3] - add r0, r0, r2 - add r0, #0x44 - strb r1, [r0] - pop {r3, r4} - bx lr -_02030A16: - lsl r1, r2, #2 - ldr r3, [r3] - add r0, r0, r1 - str r3, [r0, #0x48] -_02030A1E: - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_02030978 - - thumb_func_start sub_02030A24 -sub_02030A24: ; 0x02030A24 - cmp r1, #9 - bhi _02030A94 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02030A34: ; jump table - .short _02030A50 - _02030A34 - 2 ; case 0 - .short _02030A48 - _02030A34 - 2 ; case 1 - .short _02030A58 - _02030A34 - 2 ; case 2 - .short _02030A5C - _02030A34 - 2 ; case 3 - .short _02030A64 - _02030A34 - 2 ; case 4 - .short _02030A6C - _02030A34 - 2 ; case 5 - .short _02030A74 - _02030A34 - 2 ; case 6 - .short _02030A7C - _02030A34 - 2 ; case 7 - .short _02030A84 - _02030A34 - 2 ; case 8 - .short _02030A8C - _02030A34 - 2 ; case 9 -_02030A48: - ldrb r0, [r0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1d - bx lr -_02030A50: - ldrb r0, [r0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - bx lr -_02030A58: - ldrb r0, [r0, #1] - bx lr -_02030A5C: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #4] - bx lr -_02030A64: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #0x20] - bx lr -_02030A6C: - add r0, r0, r2 - add r0, #0x28 - ldrb r0, [r0] - bx lr -_02030A74: - lsl r1, r2, #2 - add r0, r0, r1 - ldr r0, [r0, #0x2c] - bx lr -_02030A7C: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #0x3c] - bx lr -_02030A84: - add r0, r0, r2 - add r0, #0x44 - ldrb r0, [r0] - bx lr -_02030A8C: - lsl r1, r2, #2 - add r0, r0, r1 - ldr r0, [r0, #0x48] - bx lr -_02030A94: - mov r0, #0 - bx lr - thumb_func_end sub_02030A24 - - thumb_func_start sub_02030A98 -sub_02030A98: ; 0x02030A98 - ldr r3, _02030AA0 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #4 - bx r3 - .balign 4, 0 -_02030AA0: .word MIi_CpuFill8 - thumb_func_end sub_02030A98 - - thumb_func_start sub_02030AA4 -sub_02030AA4: ; 0x02030AA4 - push {r3, r4} - cmp r1, #0xa - bne _02030ACE - ldrb r1, [r3] - cmp r1, #1 - blo _02030ABE - mov r1, #1 - ldrb r3, [r0] - lsl r1, r2 - orr r1, r3 - strb r1, [r0] - pop {r3, r4} - bx lr -_02030ABE: - mov r1, #1 - add r3, r1, #0 - ldrb r4, [r0] - lsl r3, r2 - mov r1, #0xff - eor r1, r3 - and r1, r4 - strb r1, [r0] -_02030ACE: - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_02030AA4 - - thumb_func_start sub_02030AD4 -sub_02030AD4: ; 0x02030AD4 - cmp r1, #0xa - bne _02030AE4 - ldrb r0, [r0] - add r1, r0, #0 - asr r1, r2 - mov r0, #1 - and r0, r1 - bx lr -_02030AE4: - mov r0, #0 - bx lr - thumb_func_end sub_02030AD4 - - thumb_func_start sub_02030AE8 -sub_02030AE8: ; 0x02030AE8 - push {r3, lr} - bl sub_0203107C - ldr r1, _02030AF4 ; =0x00001618 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 -_02030AF4: .word 0x00001618 - thumb_func_end sub_02030AE8 - - thumb_func_start sub_02030AF8 -sub_02030AF8: ; 0x02030AF8 - ldr r3, _02030B00 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #0x54 - bx r3 - .balign 4, 0 -_02030B00: .word MIi_CpuFill8 - thumb_func_end sub_02030AF8 - - thumb_func_start sub_02030B04 -sub_02030B04: ; 0x02030B04 - push {r3, lr} - bl sub_0203107C - mov r1, #0x8e - lsl r1, r1, #4 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02030B04 - - thumb_func_start sub_02030B14 -sub_02030B14: ; 0x02030B14 - ldrb r0, [r0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - bx lr - thumb_func_end sub_02030B14 - - thumb_func_start sub_02030B1C -sub_02030B1C: ; 0x02030B1C - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x1f - ldrb r3, [r0] - mov r2, #8 - lsr r1, r1, #0x1c - bic r3, r2 - orr r1, r3 - strb r1, [r0] - bx lr - thumb_func_end sub_02030B1C - - thumb_func_start sub_02030B30 -sub_02030B30: ; 0x02030B30 - push {r4, lr} - ldr r3, [sp, #8] - cmp r1, #4 - bhi _02030B82 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02030B44: ; jump table - .short _02030B4E - _02030B44 - 2 ; case 0 - .short _02030B60 - _02030B44 - 2 ; case 1 - .short _02030B66 - _02030B44 - 2 ; case 2 - .short _02030B70 - _02030B44 - 2 ; case 3 - .short _02030B78 - _02030B44 - 2 ; case 4 -_02030B4E: - ldrb r4, [r0] - ldrb r2, [r3] - mov r1, #7 - bic r4, r1 - mov r1, #7 - and r1, r2 - orr r1, r4 - strb r1, [r0] - pop {r4, pc} -_02030B60: - ldrb r1, [r3] - strb r1, [r0, #1] - pop {r4, pc} -_02030B66: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #4] - pop {r4, pc} -_02030B70: - ldrb r1, [r3] - add r0, r0, r2 - strb r1, [r0, #2] - pop {r4, pc} -_02030B78: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #0x2c] - pop {r4, pc} -_02030B82: - bl GF_AssertFail - pop {r4, pc} - thumb_func_end sub_02030B30 - - thumb_func_start sub_02030B88 -sub_02030B88: ; 0x02030B88 - push {r3, lr} - cmp r1, #4 - bhi _02030BC6 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02030B9A: ; jump table - .short _02030BA4 - _02030B9A - 2 ; case 0 - .short _02030BAC - _02030B9A - 2 ; case 1 - .short _02030BB0 - _02030B9A - 2 ; case 2 - .short _02030BB8 - _02030B9A - 2 ; case 3 - .short _02030BBE - _02030B9A - 2 ; case 4 -_02030BA4: - ldrb r0, [r0] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1d - pop {r3, pc} -_02030BAC: - ldrb r0, [r0, #1] - pop {r3, pc} -_02030BB0: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #4] - pop {r3, pc} -_02030BB8: - add r0, r0, r2 - ldrb r0, [r0, #2] - pop {r3, pc} -_02030BBE: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #0x2c] - pop {r3, pc} -_02030BC6: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02030B88 - - thumb_func_start sub_02030BD0 -sub_02030BD0: ; 0x02030BD0 - lsl r2, r0, #0x17 - lsr r2, r2, #0x18 - ldrb r3, [r1, r2] - lsr r2, r0, #0x1f - lsl r1, r0, #0x1f - sub r1, r1, r2 - mov r0, #0x1f - ror r1, r0 - add r0, r2, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x16 - add r1, r3, #0 - asr r1, r0 - mov r0, #0xf - and r0, r1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bx lr - thumb_func_end sub_02030BD0 - - thumb_func_start sub_02030BF4 -sub_02030BF4: ; 0x02030BF4 - push {r3, r4, r5, r6} - lsr r5, r0, #0x1f - lsl r4, r0, #0x1f - lsl r3, r0, #0x17 - sub r4, r4, r5 - mov r0, #0x1f - ror r4, r0 - add r0, r5, r4 - lsl r0, r0, #0x18 - lsr r3, r3, #0x18 - lsr r0, r0, #0x18 - bne _02030C14 - add r4, r1, r3 - ldrb r6, [r1, r3] - mov r5, #0xf0 - b _02030C1A -_02030C14: - ldrb r6, [r1, r3] - add r4, r1, r3 - mov r5, #0xf -_02030C1A: - and r5, r6 - strb r5, [r1, r3] - lsl r0, r0, #2 - add r1, r2, #0 - lsl r1, r0 - lsl r0, r1, #0x18 - ldrb r3, [r4] - lsr r0, r0, #0x18 - orr r0, r3 - strb r0, [r4] - pop {r3, r4, r5, r6} - bx lr - .balign 4, 0 - thumb_func_end sub_02030BF4 - - thumb_func_start sub_02030C34 -sub_02030C34: ; 0x02030C34 - push {r4, r5, r6, lr} - mov r4, #0 - add r5, r0, #0 - add r6, r4, #0 -_02030C3C: - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - add r1, r5, #0 - add r2, r6, #0 - bl sub_02030BF4 - add r4, r4, #1 - cmp r4, #0x12 - blt _02030C3C - pop {r4, r5, r6, pc} - thumb_func_end sub_02030C34 - - thumb_func_start sub_02030C50 -sub_02030C50: ; 0x02030C50 - ldr r3, _02030C58 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #4 - bx r3 - .balign 4, 0 -_02030C58: .word MIi_CpuFill8 - thumb_func_end sub_02030C50 - - thumb_func_start sub_02030C5C -sub_02030C5C: ; 0x02030C5C - push {r3, lr} - bl sub_0203107C - ldr r1, _02030C68 ; =0x0000161C - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 -_02030C68: .word 0x0000161C - thumb_func_end sub_02030C5C - - thumb_func_start sub_02030C6C -sub_02030C6C: ; 0x02030C6C - push {r4, lr} - ldr r3, [sp, #8] - cmp r1, #5 - bne _02030C98 - ldrb r1, [r3] - cmp r1, #1 - blo _02030C86 - mov r1, #1 - ldrb r3, [r0] - lsl r1, r2 - orr r1, r3 - strb r1, [r0] - pop {r4, pc} -_02030C86: - mov r1, #1 - add r3, r1, #0 - ldrb r4, [r0] - lsl r3, r2 - mov r1, #0xff - eor r1, r3 - and r1, r4 - strb r1, [r0] - pop {r4, pc} -_02030C98: - bl GF_AssertFail - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02030C6C - - thumb_func_start sub_02030CA0 -sub_02030CA0: ; 0x02030CA0 - push {r3, lr} - cmp r1, #5 - bne _02030CB2 - ldrb r0, [r0] - add r1, r0, #0 - asr r1, r2 - mov r0, #1 - and r0, r1 - pop {r3, pc} -_02030CB2: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02030CA0 - - thumb_func_start sub_02030CBC -sub_02030CBC: ; 0x02030CBC - ldr r3, _02030CC4 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #0x74 - bx r3 - .balign 4, 0 -_02030CC4: .word MIi_CpuFill8 - thumb_func_end sub_02030CBC - - thumb_func_start sub_02030CC8 -sub_02030CC8: ; 0x02030CC8 - push {r3, lr} - bl sub_0203107C - mov r1, #0x8e - lsl r1, r1, #4 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02030CC8 - - thumb_func_start sub_02030CD8 -sub_02030CD8: ; 0x02030CD8 - ldrb r0, [r0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - bx lr - thumb_func_end sub_02030CD8 - - thumb_func_start sub_02030CE0 -sub_02030CE0: ; 0x02030CE0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x1f - ldrb r3, [r0] - mov r2, #8 - lsr r1, r1, #0x1c - bic r3, r2 - orr r1, r3 - strb r1, [r0] - bx lr - thumb_func_end sub_02030CE0 - - thumb_func_start sub_02030CF4 -sub_02030CF4: ; 0x02030CF4 - push {r4, lr} - ldr r4, [sp, #8] - cmp r1, #8 - bhi _02030D7E - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02030D08: ; jump table - .short _02030D1A - _02030D08 - 2 ; case 0 - .short _02030D2C - _02030D08 - 2 ; case 1 - .short _02030D32 - _02030D08 - 2 ; case 2 - .short _02030D3C - _02030D08 - 2 ; case 3 - .short _02030D4A - _02030D08 - 2 ; case 4 - .short _02030D54 - _02030D08 - 2 ; case 5 - .short _02030D60 - _02030D08 - 2 ; case 6 - .short _02030D6A - _02030D08 - 2 ; case 7 - .short _02030D72 - _02030D08 - 2 ; case 8 -_02030D1A: - ldrb r3, [r0] - ldrb r2, [r4] - mov r1, #7 - bic r3, r1 - mov r1, #7 - and r1, r2 - orr r1, r3 - strb r1, [r0] - pop {r4, pc} -_02030D2C: - ldrb r1, [r4] - strb r1, [r0, #1] - pop {r4, pc} -_02030D32: - ldrh r3, [r4] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #0x22] - pop {r4, pc} -_02030D3C: - lsl r1, r2, #2 - add r0, r0, r1 - add r0, r0, r3 - ldrb r4, [r4] - add r0, #0x2a - strb r4, [r0] - pop {r4, pc} -_02030D4A: - lsl r1, r2, #2 - ldr r3, [r4] - add r0, r0, r1 - str r3, [r0, #0x3c] - pop {r4, pc} -_02030D54: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r3, [r4] - add r0, #0x4c - strh r3, [r0] - pop {r4, pc} -_02030D60: - ldrh r3, [r4] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #6] - pop {r4, pc} -_02030D6A: - ldrb r1, [r4] - add r0, r0, r2 - strb r1, [r0, #3] - pop {r4, pc} -_02030D72: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r3, [r4] - add r0, #0x54 - strh r3, [r0] - pop {r4, pc} -_02030D7E: - bl GF_AssertFail - pop {r4, pc} - thumb_func_end sub_02030CF4 - - thumb_func_start sub_02030D84 -sub_02030D84: ; 0x02030D84 - push {r3, lr} - cmp r1, #8 - bhi _02030DF2 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02030D96: ; jump table - .short _02030DA8 - _02030D96 - 2 ; case 0 - .short _02030DB0 - _02030D96 - 2 ; case 1 - .short _02030DB4 - _02030D96 - 2 ; case 2 - .short _02030DBC - _02030D96 - 2 ; case 3 - .short _02030DC8 - _02030D96 - 2 ; case 4 - .short _02030DD0 - _02030D96 - 2 ; case 5 - .short _02030DDA - _02030D96 - 2 ; case 6 - .short _02030DE2 - _02030D96 - 2 ; case 7 - .short _02030DE8 - _02030D96 - 2 ; case 8 -_02030DA8: - ldrb r0, [r0] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1d - pop {r3, pc} -_02030DB0: - ldrb r0, [r0, #1] - pop {r3, pc} -_02030DB4: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #0x22] - pop {r3, pc} -_02030DBC: - lsl r1, r2, #2 - add r0, r0, r1 - add r0, r0, r3 - add r0, #0x2a - ldrb r0, [r0] - pop {r3, pc} -_02030DC8: - lsl r1, r2, #2 - add r0, r0, r1 - ldr r0, [r0, #0x3c] - pop {r3, pc} -_02030DD0: - lsl r1, r2, #1 - add r0, r0, r1 - add r0, #0x4c - ldrh r0, [r0] - pop {r3, pc} -_02030DDA: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #6] - pop {r3, pc} -_02030DE2: - add r0, r0, r2 - ldrb r0, [r0, #3] - pop {r3, pc} -_02030DE8: - lsl r1, r2, #1 - add r0, r0, r1 - add r0, #0x54 - ldrh r0, [r0] - pop {r3, pc} -_02030DF2: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02030D84 - - thumb_func_start sub_02030DFC -sub_02030DFC: ; 0x02030DFC - ldr r3, _02030E04 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #4 - bx r3 - .balign 4, 0 -_02030E04: .word MIi_CpuFill8 - thumb_func_end sub_02030DFC - - thumb_func_start sub_02030E08 -sub_02030E08: ; 0x02030E08 - push {r3, lr} - bl sub_0203107C - ldr r1, _02030E14 ; =0x00001620 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 -_02030E14: .word 0x00001620 - thumb_func_end sub_02030E08 - - thumb_func_start sub_02030E18 -sub_02030E18: ; 0x02030E18 - push {r4, lr} - ldr r3, [sp, #8] - cmp r1, #9 - beq _02030E26 - cmp r1, #0xa - beq _02030E4A - b _02030E50 -_02030E26: - ldrb r1, [r3] - cmp r1, #1 - blo _02030E38 - mov r1, #1 - ldrb r3, [r0] - lsl r1, r2 - orr r1, r3 - strb r1, [r0] - pop {r4, pc} -_02030E38: - mov r1, #1 - add r3, r1, #0 - ldrb r4, [r0] - lsl r3, r2 - mov r1, #0xff - eor r1, r3 - and r1, r4 - strb r1, [r0] - pop {r4, pc} -_02030E4A: - mov r1, #1 - strb r1, [r0, #1] - pop {r4, pc} -_02030E50: - bl GF_AssertFail - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02030E18 - - thumb_func_start sub_02030E58 -sub_02030E58: ; 0x02030E58 - push {r3, lr} - cmp r1, #9 - beq _02030E64 - cmp r1, #0xa - beq _02030E70 - b _02030E74 -_02030E64: - ldrb r0, [r0] - add r1, r0, #0 - asr r1, r2 - mov r0, #1 - and r0, r1 - pop {r3, pc} -_02030E70: - ldrb r0, [r0, #1] - pop {r3, pc} -_02030E74: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_02030E58 - - thumb_func_start sub_02030E7C -sub_02030E7C: ; 0x02030E7C - ldr r3, _02030E84 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #0x48 - bx r3 - .balign 4, 0 -_02030E84: .word MIi_CpuFill8 - thumb_func_end sub_02030E7C - - thumb_func_start sub_02030E88 -sub_02030E88: ; 0x02030E88 - push {r3, lr} - bl sub_0203107C - mov r1, #0x8e - lsl r1, r1, #4 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02030E88 - - thumb_func_start sub_02030E98 -sub_02030E98: ; 0x02030E98 - ldrb r0, [r0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - bx lr - thumb_func_end sub_02030E98 - - thumb_func_start sub_02030EA0 -sub_02030EA0: ; 0x02030EA0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x1f - ldrb r3, [r0] - mov r2, #8 - lsr r1, r1, #0x1c - bic r3, r2 - orr r1, r3 - strb r1, [r0] - bx lr - thumb_func_end sub_02030EA0 - - thumb_func_start sub_02030EB4 -sub_02030EB4: ; 0x02030EB4 - push {r4, lr} - ldr r3, [sp, #8] - cmp r1, #7 - bhi _02030F2E - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02030EC8: ; jump table - .short _02030ED8 - _02030EC8 - 2 ; case 0 - .short _02030EEA - _02030EC8 - 2 ; case 1 - .short _02030EFC - _02030EC8 - 2 ; case 2 - .short _02030F02 - _02030EC8 - 2 ; case 3 - .short _02030F08 - _02030EC8 - 2 ; case 4 - .short _02030F12 - _02030EC8 - 2 ; case 5 - .short _02030F1C - _02030EC8 - 2 ; case 6 - .short _02030F24 - _02030EC8 - 2 ; case 7 -_02030ED8: - ldrb r4, [r0] - ldrb r2, [r3] - mov r1, #7 - bic r4, r1 - mov r1, #7 - and r1, r2 - orr r1, r4 - strb r1, [r0] - pop {r4, pc} -_02030EEA: - ldrb r2, [r0] - mov r1, #0x10 - bic r2, r1 - ldrb r1, [r3] - lsl r1, r1, #0x1f - lsr r1, r1, #0x1b - orr r1, r2 - strb r1, [r0] - pop {r4, pc} -_02030EFC: - ldrb r1, [r3] - strb r1, [r0, #1] - pop {r4, pc} -_02030F02: - ldrb r1, [r3] - strb r1, [r0, #2] - pop {r4, pc} -_02030F08: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #6] - pop {r4, pc} -_02030F12: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #0xe] - pop {r4, pc} -_02030F1C: - ldrb r1, [r3] - add r0, r0, r2 - strb r1, [r0, #3] - pop {r4, pc} -_02030F24: - ldrh r3, [r3] - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #0x2a] - pop {r4, pc} -_02030F2E: - bl GF_AssertFail - pop {r4, pc} - thumb_func_end sub_02030EB4 - - thumb_func_start sub_02030F34 -sub_02030F34: ; 0x02030F34 - push {r3, lr} - cmp r1, #7 - bhi _02030F8C - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02030F46: ; jump table - .short _02030F56 - _02030F46 - 2 ; case 0 - .short _02030F5E - _02030F46 - 2 ; case 1 - .short _02030F66 - _02030F46 - 2 ; case 2 - .short _02030F6A - _02030F46 - 2 ; case 3 - .short _02030F6E - _02030F46 - 2 ; case 4 - .short _02030F76 - _02030F46 - 2 ; case 5 - .short _02030F7E - _02030F46 - 2 ; case 6 - .short _02030F84 - _02030F46 - 2 ; case 7 -_02030F56: - ldrb r0, [r0] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1d - pop {r3, pc} -_02030F5E: - ldrb r0, [r0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1f - pop {r3, pc} -_02030F66: - ldrb r0, [r0, #1] - pop {r3, pc} -_02030F6A: - ldrb r0, [r0, #2] - pop {r3, pc} -_02030F6E: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #6] - pop {r3, pc} -_02030F76: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #0xe] - pop {r3, pc} -_02030F7E: - add r0, r0, r2 - ldrb r0, [r0, #3] - pop {r3, pc} -_02030F84: - lsl r1, r2, #1 - add r0, r0, r1 - ldrh r0, [r0, #0x2a] - pop {r3, pc} -_02030F8C: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_02030F34 - - thumb_func_start sub_02030F94 -sub_02030F94: ; 0x02030F94 - ldr r3, _02030F9C ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #4 - bx r3 - .balign 4, 0 -_02030F9C: .word MIi_CpuFill8 - thumb_func_end sub_02030F94 - - thumb_func_start sub_02030FA0 -sub_02030FA0: ; 0x02030FA0 - push {r3, lr} - bl sub_0203107C - ldr r1, _02030FAC ; =0x00001624 - add r0, r0, r1 - pop {r3, pc} - .balign 4, 0 -_02030FAC: .word 0x00001624 - thumb_func_end sub_02030FA0 - - thumb_func_start sub_02030FB0 -sub_02030FB0: ; 0x02030FB0 - push {r4, lr} - ldr r3, [sp, #8] - cmp r1, #8 - bne _02030FDC - ldrb r1, [r3] - cmp r1, #1 - blo _02030FCA - mov r1, #1 - ldrb r3, [r0] - lsl r1, r2 - orr r1, r3 - strb r1, [r0] - pop {r4, pc} -_02030FCA: - mov r1, #1 - add r3, r1, #0 - ldrb r4, [r0] - lsl r3, r2 - mov r1, #0xff - eor r1, r3 - and r1, r4 - strb r1, [r0] - pop {r4, pc} -_02030FDC: - bl GF_AssertFail - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02030FB0 - - thumb_func_start sub_02030FE4 -sub_02030FE4: ; 0x02030FE4 - push {r3, lr} - cmp r1, #8 - bne _02030FF6 - ldrb r0, [r0] - add r1, r0, #0 - asr r1, r2 - mov r0, #1 - and r0, r1 - pop {r3, pc} -_02030FF6: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02030FE4 - - thumb_func_start sub_02031000 -sub_02031000: ; 0x02031000 - ldr r0, _02031004 ; =0x00001628 - bx lr - .balign 4, 0 -_02031004: .word 0x00001628 - thumb_func_end sub_02031000 - - thumb_func_start sub_02031008 -sub_02031008: ; 0x02031008 - push {r4, lr} - ldr r2, _02031058 ; =0x00001628 - mov r1, #0 - add r4, r0, #0 - bl MIi_CpuFill8 - ldr r0, _0203105C ; =0x00000954 - add r0, r4, r0 - bl sub_0202D240 - ldr r0, _02031060 ; =0x00000ABC - add r0, r4, r0 - bl sub_0202D254 - ldr r0, _02031064 ; =0x00000ADC - add r0, r4, r0 - bl sub_0202D274 - ldr r0, _02031068 ; =0x00001618 - add r0, r4, r0 - bl sub_02030A98 - ldr r0, _0203106C ; =0x0000161C - add r0, r4, r0 - bl sub_02030C50 - ldr r0, _02031070 ; =0x00001620 - add r0, r4, r0 - bl sub_02030DFC - ldr r0, _02031074 ; =0x00001624 - add r0, r4, r0 - bl sub_02030F94 - ldr r1, _02031078 ; =0x021D2AFC - ldr r2, _02031058 ; =0x00001628 - add r0, r4, #0 - bl sub_020D4A50 - pop {r4, pc} - .balign 4, 0 -_02031058: .word 0x00001628 -_0203105C: .word 0x00000954 -_02031060: .word 0x00000ABC -_02031064: .word 0x00000ADC -_02031068: .word 0x00001618 -_0203106C: .word 0x0000161C -_02031070: .word 0x00001620 -_02031074: .word 0x00001624 -_02031078: .word 0x021D2AFC - thumb_func_end sub_02031008 - - thumb_func_start sub_0203107C -sub_0203107C: ; 0x0203107C - ldr r0, _02031080 ; =0x021D2AFC - bx lr - .balign 4, 0 -_02031080: .word 0x021D2AFC - thumb_func_end sub_0203107C - - thumb_func_start sub_02031084 -sub_02031084: ; 0x02031084 - push {r3, lr} - mov r1, #0x13 - bl SavArray_get - add r1, r0, #0 - ldr r0, _02031098 ; =0x021D2AFC - ldr r2, _0203109C ; =0x00001628 - bl sub_020D4A50 - pop {r3, pc} - .balign 4, 0 -_02031098: .word 0x021D2AFC -_0203109C: .word 0x00001628 - thumb_func_end sub_02031084 - - thumb_func_start sub_020310A0 -sub_020310A0: ; 0x020310A0 - push {r3, lr} - mov r1, #0x13 - bl SavArray_get - ldr r1, _020310B4 ; =0x021D2AFC - ldr r2, _020310B8 ; =0x00001628 - bl sub_020D4A50 - pop {r3, pc} - nop -_020310B4: .word 0x021D2AFC -_020310B8: .word 0x00001628 - thumb_func_end sub_020310A0 - - thumb_func_start sub_020310BC -sub_020310BC: ; 0x020310BC - push {r3, lr} - cmp r1, #0x70 - bge _020310E6 - cmp r1, #0x64 - blt _020310E0 - cmp r2, #0x10 - blt _020310CE - add r1, r1, #1 - sub r2, #0x10 -_020310CE: - lsl r1, r1, #1 - ldrh r0, [r0, r1] - add r1, r0, #0 - asr r1, r2 - mov r0, #1 - and r0, r1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - pop {r3, pc} -_020310E0: - lsl r1, r1, #1 - ldrh r0, [r0, r1] - pop {r3, pc} -_020310E6: - mov r3, #0 - mvn r3, r3 - cmp r2, r3 - bne _020310F6 - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_020310F6: - lsl r2, r2, #6 - sub r1, #0x70 - add r2, r0, r2 - lsl r0, r1, #1 - add r0, r2, r0 - add r0, #0xe0 - ldrh r0, [r0] - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_020310BC - - thumb_func_start sub_02031108 -sub_02031108: ; 0x02031108 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - ldr r0, _02031180 ; =0x0000270F - add r7, r3, #0 - add r5, r1, #0 - add r4, r2, #0 - cmp r7, r0 - bls _0203111A - add r7, r0, #0 -_0203111A: - cmp r5, #0x70 - bge _02031166 - cmp r5, #0x64 - blt _02031158 - cmp r4, #0xff - bne _0203112A - bl GF_AssertFail -_0203112A: - cmp r4, #0x10 - blt _02031132 - add r5, r5, #1 - sub r4, #0x10 -_02031132: - cmp r7, #0 - bne _0203114A - mov r2, #1 - add r3, r2, #0 - lsl r1, r5, #1 - ldrh r0, [r6, r1] - lsl r3, r4 - ldr r2, _02031184 ; =0x0000FFFF - eor r2, r3 - and r0, r2 - strh r0, [r6, r1] - b _0203117C -_0203114A: - lsl r2, r5, #1 - mov r0, #1 - ldrh r1, [r6, r2] - lsl r0, r4 - orr r0, r1 - strh r0, [r6, r2] - b _0203117C -_02031158: - cmp r4, #0xff - beq _02031160 - bl GF_AssertFail -_02031160: - lsl r0, r5, #1 - strh r7, [r6, r0] - b _0203117C -_02031166: - cmp r4, #0xff - bne _0203116E - bl GF_AssertFail -_0203116E: - lsl r0, r4, #6 - sub r5, #0x70 - add r1, r6, r0 - lsl r0, r5, #1 - add r0, r1, r0 - add r0, #0xe0 - strh r7, [r0] -_0203117C: - add r0, r7, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02031180: .word 0x0000270F -_02031184: .word 0x0000FFFF - thumb_func_end sub_02031108 - - thumb_func_start sub_02031188 -sub_02031188: ; 0x02031188 - push {r4, lr} - mov r2, #2 - add r4, r0, #0 - add r0, #0xe0 - mov r1, #0 - lsl r2, r2, #0xa - bl MIi_CpuFill8 - mov r1, #0x64 - add r4, #0xc8 - mov r0, #0 -_0203119E: - add r1, r1, #1 - strh r0, [r4] - add r4, r4, #2 - cmp r1, #0x6f - ble _0203119E - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02031188 - - thumb_func_start sub_020311AC -sub_020311AC: ; 0x020311AC - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r6, r0, #0 - cmp r5, #0xff - bne _020311BA - bl GF_AssertFail -_020311BA: - cmp r5, #0x1f - bge _02031200 - add r0, r6, #0 - str r0, [sp] - add r0, #0xe0 - lsl r1, r5, #6 - str r0, [sp] - add r7, r0, r1 -_020311CA: - add r0, r5, #1 - lsl r1, r0, #6 - ldr r0, [sp] - mov r2, #0x40 - add r0, r0, r1 - add r1, r7, #0 - bl sub_020D4A50 - mov r4, #0x64 -_020311DC: - add r0, r6, #0 - add r1, r4, #0 - add r2, r5, #1 - bl sub_020310BC - add r3, r0, #0 - add r0, r6, #0 - add r1, r4, #0 - add r2, r5, #0 - bl sub_02031108 - add r4, r4, #2 - cmp r4, #0x6f - blt _020311DC - add r5, r5, #1 - add r7, #0x40 - cmp r5, #0x1f - blt _020311CA -_02031200: - mov r0, #0x1f - add r6, #0xe0 - lsl r0, r0, #6 - add r0, r6, r0 - mov r1, #0 - mov r2, #0x40 - bl MIi_CpuFill8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_020311AC - - thumb_func_start sub_02031214 -sub_02031214: ; 0x02031214 - ldr r3, _02031224 ; =MIi_CpuFill8 - add r0, #0xe0 - lsl r1, r1, #6 - add r0, r0, r1 - mov r1, #0 - mov r2, #0x40 - bx r3 - nop -_02031224: .word MIi_CpuFill8 - thumb_func_end sub_02031214 - - thumb_func_start sub_02031228 -sub_02031228: ; 0x02031228 - push {r3, r4, r5, r6, r7, lr} - add r4, r3, #0 - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - bl sub_020310BC - add r0, r0, r4 - lsl r0, r0, #0x10 - lsr r3, r0, #0x10 - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02031108 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02031228 - - thumb_func_start sub_02031248 -sub_02031248: ; 0x02031248 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - add r4, r3, #0 - bl sub_020310BC - sub r3, r0, r4 - bpl _0203125C - mov r3, #0 -_0203125C: - lsl r3, r3, #0x10 - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - lsr r3, r3, #0x10 - bl sub_02031108 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02031248 - - thumb_func_start sub_0203126C -sub_0203126C: ; 0x0203126C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - add r4, r3, #0 - bl sub_020310BC - cmp r0, r4 - bhs _0203128C - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - add r3, r4, #0 - bl sub_02031108 - pop {r3, r4, r5, r6, r7, pc} -_0203128C: - ldr r3, _020312A0 ; =0x0000270F - cmp r0, r3 - bls _0203129C - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02031108 -_0203129C: - pop {r3, r4, r5, r6, r7, pc} - nop -_020312A0: .word 0x0000270F - thumb_func_end sub_0203126C - - thumb_func_start sub_020312A4 -sub_020312A4: ; 0x020312A4 - mov r0, #0xba - lsl r0, r0, #4 - bx lr - .balign 4, 0 - thumb_func_end sub_020312A4 - - thumb_func_start sub_020312AC -sub_020312AC: ; 0x020312AC - push {r4, lr} - mov r2, #0xba - mov r1, #0 - lsl r2, r2, #4 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r0, #0 - mvn r0, r0 - str r0, [r4] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_020312AC - - thumb_func_start sub_020312C4 -sub_020312C4: ; 0x020312C4 - ldr r3, _020312C8 ; =sub_02027144 - bx r3 - .balign 4, 0 -_020312C8: .word sub_02027144 - thumb_func_end sub_020312C4 - - thumb_func_start sub_020312CC -sub_020312CC: ; 0x020312CC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02027158 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020273F0 - orr r0, r4 - pop {r3, r4, r5, pc} - thumb_func_end sub_020312CC - - thumb_func_start sub_020312E0 -sub_020312E0: ; 0x020312E0 - push {r4, r5, r6, lr} - add r5, r1, #0 - add r4, r2, #0 - add r6, r3, #0 - bl sub_020274E8 - cmp r0, #0 - bne _020312F4 - mov r0, #0 - pop {r4, r5, r6, pc} -_020312F4: - cmp r4, #0 - beq _02031302 - cmp r4, #1 - beq _0203130A - cmp r4, #2 - beq _02031314 - b _02031320 -_02031302: - lsl r0, r6, #1 - add r0, r5, r0 - ldrh r0, [r0, #4] - pop {r4, r5, r6, pc} -_0203130A: - lsl r0, r6, #1 - add r1, r5, r0 - ldr r0, _02031328 ; =0x000003E2 - ldrh r0, [r1, r0] - pop {r4, r5, r6, pc} -_02031314: - lsl r0, r6, #1 - add r1, r5, r0 - mov r0, #0x1f - lsl r0, r0, #6 - ldrh r0, [r1, r0] - pop {r4, r5, r6, pc} -_02031320: - bl GF_AssertFail - mov r0, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_02031328: .word 0x000003E2 - thumb_func_end sub_020312E0 - - thumb_func_start sub_0203132C -sub_0203132C: ; 0x0203132C - push {r4, lr} - ldr r4, _02031370 ; =0x0000270F - cmp r3, r4 - bls _02031336 - add r3, r4, #0 -_02031336: - cmp r1, #0 - beq _02031344 - cmp r1, #1 - beq _0203134C - cmp r1, #2 - beq _02031356 - b _02031362 -_02031344: - lsl r1, r2, #1 - add r0, r0, r1 - strh r3, [r0, #4] - b _0203136A -_0203134C: - lsl r1, r2, #1 - add r1, r0, r1 - ldr r0, _02031374 ; =0x000003E2 - strh r3, [r1, r0] - b _0203136A -_02031356: - lsl r1, r2, #1 - add r1, r0, r1 - mov r0, #0x1f - lsl r0, r0, #6 - strh r3, [r1, r0] - b _0203136A -_02031362: - bl GF_AssertFail - mov r0, #0 - pop {r4, pc} -_0203136A: - add r0, r3, #0 - pop {r4, pc} - nop -_02031370: .word 0x0000270F -_02031374: .word 0x000003E2 - thumb_func_end sub_0203132C - - thumb_func_start sub_02031378 -sub_02031378: ; 0x02031378 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r5, r1, #0 - add r4, r2, #0 - add r6, r3, #0 - bl sub_020274E8 - cmp r0, #0 - bne _0203138E - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0203138E: - add r0, r7, #0 - add r1, r5, #0 - add r2, r4, #0 - add r3, r6, #0 - bl sub_020312E0 - add r1, sp, #8 - ldrh r3, [r1, #0x10] - cmp r0, r3 - bhs _020313AE - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0203132C - pop {r3, r4, r5, r6, r7, pc} -_020313AE: - ldr r3, _020313C0 ; =0x0000270F - cmp r0, r3 - bls _020313BE - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0203132C -_020313BE: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_020313C0: .word 0x0000270F - thumb_func_end sub_02031378 - - thumb_func_start sub_020313C4 -sub_020313C4: ; 0x020313C4 - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - add r5, r0, #0 - mov r0, #0 - add r6, r1, #0 - str r2, [sp, #4] - str r3, [sp, #8] - ldr r4, [sp, #0x38] - ldr r7, [sp, #0x3c] - str r0, [sp, #0xc] - cmp r6, #0x22 - blt _020313E0 - cmp r6, #0x3c - ble _020313E4 -_020313E0: - bl GF_AssertFail -_020313E4: - ldr r1, [sp, #4] - mov r0, #0 - sub r1, #0x24 - cmp r1, #0x18 - bhi _020313FC - mov r3, #1 - add r2, r3, #0 - lsl r2, r1 - ldr r1, _020314A0 ; =0x01001001 - tst r1, r2 - beq _020313FC - add r0, r3, #0 -_020313FC: - cmp r0, #0 - bne _02031404 - bl GF_AssertFail -_02031404: - mov r0, #1 - str r0, [r4] - mov r0, #2 - str r0, [r7] - ldr r0, [sp, #8] - cmp r0, #0xff - beq _02031418 - add sp, #0x1c - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_02031418: - add r0, r5, #0 - bl sub_020274E8 - cmp r0, #0 - bne _02031428 - add sp, #0x1c - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_02031428: - add r0, r5, #0 - bl sub_0203107C - ldr r2, [sp, #8] - str r0, [sp, #0x18] - add r1, r6, #0 - bl sub_020310BC - str r0, [sp, #0x14] - ldr r0, [sp, #0x18] - ldr r1, [sp, #4] - ldr r2, [sp, #8] - bl sub_020310BC - str r0, [sp, #0x10] - ldr r1, [sp, #0x34] - add r0, r5, #0 - add r2, r4, #0 - bl sub_020312C4 - add r6, r0, #0 - ldr r0, [r4] - cmp r0, #1 - beq _0203145C - mov r4, #0 - b _0203146A -_0203145C: - ldr r2, [sp, #0x30] - ldr r3, [sp, #0x10] - add r0, r5, #0 - add r1, r6, #0 - bl sub_020312E0 - add r4, r0, #0 -_0203146A: - ldr r0, [sp, #0x14] - ldr r2, [sp, #0x30] - str r0, [sp] - ldr r3, [sp, #0x10] - add r0, r5, #0 - add r1, r6, #0 - bl sub_02031378 - ldr r0, [sp, #0x14] - cmp r0, r4 - beq _0203148E - add r0, r5, #0 - add r1, r6, #0 - bl sub_020312CC - str r0, [r7] - mov r0, #1 - str r0, [sp, #0xc] -_0203148E: - cmp r6, #0 - beq _02031498 - add r0, r6, #0 - bl FreeToHeap -_02031498: - ldr r0, [sp, #0xc] - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - nop -_020314A0: .word 0x01001001 - thumb_func_end sub_020313C4 - - thumb_func_start sub_020314A4 -sub_020314A4: ; 0x020314A4 - push {r4, lr} - mov r1, #0x80 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x80 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_020314A4 - - thumb_func_start sub_020314BC -sub_020314BC: ; 0x020314BC - ldr r3, _020314C0 ; =FreeToHeap - bx r3 - .balign 4, 0 -_020314C0: .word FreeToHeap - thumb_func_end sub_020314BC - - thumb_func_start sub_020314C4 -sub_020314C4: ; 0x020314C4 - push {r4, r5, r6, r7, lr} - sub sp, #0x64 - add r6, r1, #0 - add r5, r0, #0 - add r0, r6, #0 - bl sub_02028E9C - add r4, r0, #0 - add r0, r6, #0 - bl sub_0202CA44 - str r0, [sp] - add r0, r6, #0 - bl Sav2_SysInfo_get - add r0, r6, #0 - bl sub_0202A960 - add r7, r0, #0 - add r0, sp, #0x10 - bl OS_GetOwnerInfo - add r0, r7, #0 - add r1, sp, #0xc - add r2, sp, #8 - add r3, sp, #4 - bl sub_0202AA20 - add r0, r5, #0 - mov r1, #0 - mov r2, #0x80 - bl MIi_CpuFill8 - add r0, r4, #0 - bl PlayerProfile_GetNamePtr - add r1, r0, #0 - add r0, r5, #0 - bl CopyU16StringArray - add r0, r4, #0 - bl sub_02028F84 - str r0, [r5, #0x10] - add r0, r4, #0 - bl PlayerProfile_GetTrainerGender - strb r0, [r5, #0x14] - ldr r0, [sp, #0xc] - mov r1, #0xfe - strh r0, [r5, #0x1c] - ldrb r0, [r5, #0x1b] - bic r0, r1 - ldr r1, [sp, #8] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - lsl r1, r1, #0x19 - lsr r1, r1, #0x18 - orr r0, r1 - strb r0, [r5, #0x1b] - ldrb r0, [r5, #0x1b] - mov r1, #1 - bic r0, r1 - ldr r1, [sp, #4] - lsl r1, r1, #0x18 - lsr r2, r1, #0x18 - mov r1, #1 - and r1, r2 - orr r0, r1 - strb r0, [r5, #0x1b] - ldr r0, [sp] - bl sub_0202CA8C - strb r0, [r5, #0x17] - ldr r0, [sp] - bl sub_0202CA90 - strb r0, [r5, #0x18] - ldr r0, _020315B4 ; =0x0000FFFF - mov r1, #0 - add r2, r5, #0 -_02031566: - add r1, r1, #1 - strh r0, [r2, #0x20] - add r2, r2, #2 - cmp r1, #0x28 - blt _02031566 - add r1, r5, #0 - add r0, r7, #0 - add r1, #0x20 - bl sub_0202ABD0 - add r0, sp, #4 - ldrb r0, [r0, #0xe] - strb r0, [r5, #0x15] - add r0, r4, #0 - bl PlayerProfile_GetTrainerGender - add r7, r0, #0 - add r0, r4, #0 - bl sub_0202903C - add r1, r0, #0 - add r0, r7, #0 - mov r2, #0 - bl sub_0205B46C - strb r0, [r5, #0x16] - mov r0, #GAME_VERSION - strb r0, [r5, #0x19] - mov r0, #2 - strb r0, [r5, #0x1a] - add r0, r6, #0 - add r1, r5, #0 - mov r2, #0x7c - bl sub_020275C4 - add r5, #0x7c - strh r0, [r5] - add sp, #0x64 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_020315B4: .word 0x0000FFFF - thumb_func_end sub_020314C4 - - thumb_func_start sub_020315B8 -sub_020315B8: ; 0x020315B8 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0xf - bl String_ctor - add r1, r5, #0 - mov r2, #0xf - add r4, r0, #0 - bl CopyU16ArrayToStringN - add r0, r4, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_020315B8 - - thumb_func_start sub_020315D0 -sub_020315D0: ; 0x020315D0 - ldrb r0, [r0, #0x14] - cmp r0, #0 - beq _020315DC - cmp r0, #1 - beq _020315DC - mov r0, #0 -_020315DC: - bx lr - .balign 4, 0 - thumb_func_end sub_020315D0 - - thumb_func_start sub_020315E0 -sub_020315E0: ; 0x020315E0 - ldrh r0, [r0, #0x1c] - ldr r1, _020315EC ; =0x000001EF - cmp r0, r1 - blo _020315EA - mov r0, #0 -_020315EA: - bx lr - .balign 4, 0 -_020315EC: .word 0x000001EF - thumb_func_end sub_020315E0 - - thumb_func_start sub_020315F0 -sub_020315F0: ; 0x020315F0 - push {r3, lr} - add r2, r0, #0 - ldrh r0, [r2, #0x1c] - ldr r1, _0203160C ; =0x000001EF - cmp r0, r1 - blo _02031600 - mov r0, #0 - pop {r3, pc} -_02031600: - ldrb r1, [r2, #0x1b] - lsl r1, r1, #0x18 - lsr r1, r1, #0x19 - bl sub_02070438 - pop {r3, pc} - .balign 4, 0 -_0203160C: .word 0x000001EF - thumb_func_end sub_020315F0 - - thumb_func_start sub_02031610 -sub_02031610: ; 0x02031610 - ldrb r0, [r0, #0x1b] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - cmp r0, #1 - bls _0203161C - mov r0, #1 -_0203161C: - bx lr - .balign 4, 0 - thumb_func_end sub_02031610 - - thumb_func_start sub_02031620 -sub_02031620: ; 0x02031620 - ldrb r0, [r0, #0x17] - cmp r0, #0xea - blo _02031628 - mov r0, #0 -_02031628: - bx lr - .balign 4, 0 - thumb_func_end sub_02031620 - - thumb_func_start sub_0203162C -sub_0203162C: ; 0x0203162C - push {r4, lr} - ldrb r1, [r0, #0x17] - cmp r1, #0xea - blo _02031638 - mov r0, #0 - pop {r4, pc} -_02031638: - ldrb r4, [r0, #0x18] - add r0, r1, #0 - bl sub_02091688 - cmp r0, r4 - bhs _02031646 - mov r4, #0 -_02031646: - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203162C - - thumb_func_start sub_0203164C -sub_0203164C: ; 0x0203164C - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - ldrb r0, [r5, #0x1e] - add r4, r1, #0 - mov r6, #0 - cmp r0, #0 - bne _020316CE - ldrh r0, [r5, #0x20] - strh r0, [r4] - ldrh r0, [r5, #0x22] - strh r0, [r4, #2] - ldrh r0, [r5, #0x24] - strh r0, [r4, #4] - ldrh r0, [r5, #0x26] - strh r0, [r4, #6] - ldrh r0, [r4] - cmp r0, #5 - blo _02031676 - add r6, r6, #1 - b _020316AA -_02031676: - ldrh r0, [r4, #2] - cmp r0, #0x13 - bls _02031680 - add r6, r6, #1 - b _020316AA -_02031680: - ldrh r0, [r4, #4] - ldr r1, _020316E8 ; =0x0000FFFF - cmp r0, r1 - beq _02031694 - add r1, sp, #4 - add r2, sp, #0 - bl GetCategoryAndMsgNoByECWordIdx - cmp r0, #0 - beq _020316A8 -_02031694: - ldrh r0, [r4, #6] - ldr r1, _020316E8 ; =0x0000FFFF - cmp r0, r1 - beq _020316AA - add r1, sp, #4 - add r2, sp, #0 - bl GetCategoryAndMsgNoByECWordIdx - cmp r0, #0 - bne _020316AA -_020316A8: - add r6, r6, #1 -_020316AA: - cmp r6, #0 - ble _020316C8 - add r0, r4, #0 - mov r1, #4 - bl MailMsg_init_withBank - mov r0, #0 - strh r0, [r4, #2] - ldr r0, _020316EC ; =0x0000011F - mov r1, #0x63 - bl GetECWordIndexByPair - strh r0, [r4, #4] - ldr r0, _020316E8 ; =0x0000FFFF - strh r0, [r4, #6] -_020316C8: - add sp, #8 - mov r0, #0 - pop {r4, r5, r6, pc} -_020316CE: - mov r0, #0x28 - add r1, r2, #0 - bl String_ctor - add r5, #0x20 - add r1, r5, #0 - mov r2, #0x28 - add r4, r0, #0 - bl CopyU16ArrayToStringN - add r0, r4, #0 - add sp, #8 - pop {r4, r5, r6, pc} - .balign 4, 0 -_020316E8: .word 0x0000FFFF -_020316EC: .word 0x0000011F - thumb_func_end sub_0203164C - - thumb_func_start sub_020316F0 -sub_020316F0: ; 0x020316F0 - ldrb r0, [r0, #0x15] - cmp r0, #1 - blo _020316FA - cmp r0, #0xc - bls _020316FC -_020316FA: - mov r0, #1 -_020316FC: - bx lr - .balign 4, 0 - thumb_func_end sub_020316F0 - - thumb_func_start sub_02031700 -sub_02031700: ; 0x02031700 - ldrb r0, [r0, #0x16] - cmp r0, #0xf - bls _02031708 - mov r0, #0 -_02031708: - bx lr - .balign 4, 0 - thumb_func_end sub_02031700 - - thumb_func_start sub_0203170C -sub_0203170C: ; 0x0203170C - mov r0, #0x40 - bx lr - thumb_func_end sub_0203170C - - thumb_func_start sub_02031710 -sub_02031710: ; 0x02031710 - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x40 - bl MIi_CpuFill8 - add r0, r4, #0 - mov r1, #0 - mov r2, #0x33 - bl memset - mov r0, #1 - str r0, [r4, #0x34] - mov r0, #0x1f - bl sub_0202893C - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02031710 - - thumb_func_start sub_02031734 -sub_02031734: ; 0x02031734 - push {r3, lr} - mov r1, #0x1f - bl SavArray_get - bl sub_02031710 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02031734 - - thumb_func_start sub_02031744 -sub_02031744: ; 0x02031744 - push {r3, lr} - mov r1, #0x1f - bl SavArray_get - mov r1, #0 - ldrsb r0, [r0, r1] - cmp r0, #0 - beq _02031756 - mov r1, #1 -_02031756: - add r0, r1, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02031744 - - thumb_func_start sub_0203175C -sub_0203175C: ; 0x0203175C - push {r4, lr} - add r4, r1, #0 - mov r1, #0x1f - bl SavArray_get - add r1, r4, #0 - bl strcpy - mov r0, #0x1f - bl sub_0202893C - pop {r4, pc} - thumb_func_end sub_0203175C - - thumb_func_start sub_02031774 -sub_02031774: ; 0x02031774 - ldr r3, _0203177C ; =SavArray_get - mov r1, #0x1f - bx r3 - nop -_0203177C: .word SavArray_get - thumb_func_end sub_02031774 - - thumb_func_start sub_02031780 -sub_02031780: ; 0x02031780 - push {r3, r4, r5, lr} - add r5, r1, #0 - mov r1, #0x1f - add r4, r2, #0 - bl SavArray_get - cmp r5, #3 - bhi _020317B2 - add r1, r5, r5 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203179C: ; jump table - .short _020317A4 - _0203179C - 2 ; case 0 - .short _020317A8 - _0203179C - 2 ; case 1 - .short _020317AC - _0203179C - 2 ; case 2 - .short _020317B0 - _0203179C - 2 ; case 3 -_020317A4: - str r4, [r0, #0x34] - b _020317B2 -_020317A8: - strh r4, [r0, #0x38] - b _020317B2 -_020317AC: - strh r4, [r0, #0x3a] - b _020317B2 -_020317B0: - str r4, [r0, #0x3c] -_020317B2: - mov r0, #0x1f - bl sub_0202893C - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02031780 - - thumb_func_start sub_020317BC -sub_020317BC: ; 0x020317BC - push {r4, lr} - add r4, r1, #0 - mov r1, #0x1f - bl SavArray_get - cmp r4, #3 - bhi _020317EE - add r1, r4, r4 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_020317D6: ; jump table - .short _020317DE - _020317D6 - 2 ; case 0 - .short _020317E2 - _020317D6 - 2 ; case 1 - .short _020317E6 - _020317D6 - 2 ; case 2 - .short _020317EA - _020317D6 - 2 ; case 3 -_020317DE: - ldr r0, [r0, #0x34] - pop {r4, pc} -_020317E2: - ldrh r0, [r0, #0x38] - pop {r4, pc} -_020317E6: - ldrh r0, [r0, #0x3a] - pop {r4, pc} -_020317EA: - ldr r0, [r0, #0x3c] - pop {r4, pc} -_020317EE: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_020317BC - - thumb_func_start sub_020317F4 -sub_020317F4: ; 0x020317F4 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0202CA44 - add r6, r0, #0 - add r0, r5, #0 - bl sub_02028E9C - add r7, r0, #0 - add r0, r5, #0 - bl sub_02031774 - str r0, [sp] - add r0, r4, #0 - mov r1, #0 - mov r2, #0x64 - bl MIi_CpuFill8 - mov r0, #GAME_VERSION - strb r0, [r4] - mov r0, #2 - strb r0, [r4, #1] - add r0, r6, #0 - bl sub_0202CA8C - strb r0, [r4, #2] - add r0, r6, #0 - bl sub_0202CA90 - strb r0, [r4, #3] - add r0, r7, #0 - bl sub_02028F84 - str r0, [r4, #4] - add r0, r7, #0 - bl PlayerProfile_GetNamePtr - add r1, r0, #0 - add r0, r4, #0 - add r0, #8 - bl CopyU16StringArray - mov r0, #0 - str r0, [r4, #0x18] - add r0, r4, #0 - ldr r1, [sp] - add r0, #0x24 - bl strcpy - add r0, r5, #0 - mov r1, #0 - bl sub_020317BC - str r0, [r4, #0x5c] - mov r0, #0x1f - bl sub_0202893C - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_020317F4 - - thumb_func_start sub_0203186C -sub_0203186C: ; 0x0203186C - push {r3, r4, r5, lr} - add r5, r1, #0 - bl sub_020317F4 - bl LCRandom - mov r1, #0xfa - lsl r1, r1, #2 - bl _s32_div_f - add r0, r5, #0 - add r4, r1, #0 - add r0, #0x60 - strh r4, [r0] - ldr r0, _02031898 ; =0x0000FFFF - add r5, #0x62 - strh r0, [r5] - mov r0, #0x1f - bl sub_0202893C - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_02031898: .word 0x0000FFFF - thumb_func_end sub_0203186C - - thumb_func_start sub_0203189C -sub_0203189C: ; 0x0203189C - push {r4, r5, r6, lr} - add r5, r1, #0 - add r6, r0, #0 - mov r1, #0x1f - bl SavArray_get - add r4, r0, #0 - add r0, r6, #0 - add r1, r5, #0 - bl sub_020317F4 - add r0, r5, #0 - ldrh r1, [r4, #0x38] - add r0, #0x60 - add r5, #0x62 - strh r1, [r0] - ldrh r0, [r4, #0x3a] - strh r0, [r5] - mov r0, #0x1f - bl sub_0202893C - pop {r4, r5, r6, pc} - thumb_func_end sub_0203189C - - thumb_func_start sub_020318C8 -sub_020318C8: ; 0x020318C8 - mov r0, #8 - bx lr - thumb_func_end sub_020318C8 - - thumb_func_start sub_020318CC -sub_020318CC: ; 0x020318CC - push {r4, lr} - add r4, r0, #0 - bl sub_020318C8 - add r2, r0, #0 - mov r0, #0 - add r1, r4, #0 - bl sub_020D47EC - mov r0, #0 - mvn r0, r0 - str r0, [r4] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_020318CC - - thumb_func_start sub_020318E8 -sub_020318E8: ; 0x020318E8 - ldr r3, _020318F0 ; =SavArray_get - mov r1, #0x20 - bx r3 - nop -_020318F0: .word SavArray_get - thumb_func_end sub_020318E8 - - thumb_func_start sub_020318F4 -sub_020318F4: ; 0x020318F4 - ldr r0, [r0] - bx lr - thumb_func_end sub_020318F4 - - thumb_func_start sub_020318F8 -sub_020318F8: ; 0x020318F8 - ldr r0, [r0, #4] - bx lr - thumb_func_end sub_020318F8 - - thumb_func_start sub_020318FC -sub_020318FC: ; 0x020318FC - str r1, [r0] - bx lr - thumb_func_end sub_020318FC - - thumb_func_start sub_02031900 -sub_02031900: ; 0x02031900 - str r1, [r0, #4] - bx lr - thumb_func_end sub_02031900 - - thumb_func_start sub_02031904 -sub_02031904: ; 0x02031904 - mov r0, #0x2e - lsl r0, r0, #6 - bx lr - .balign 4, 0 - thumb_func_end sub_02031904 - - thumb_func_start sub_0203190C -sub_0203190C: ; 0x0203190C - push {r3, r4, r5, r6, r7, lr} - mov r2, #0x2e - mov r1, #0 - lsl r2, r2, #6 - str r0, [sp] - bl MIi_CpuFill8 - mov r0, #0 - mov r7, #0xb3 - ldr r1, _02031960 ; =0x0000FFFF - ldr r6, _02031964 ; =0x00000484 - mov ip, r0 - lsl r7, r7, #2 -_02031926: - mov r0, ip - mov r2, #0x2c - mul r2, r0 - ldr r0, [sp] - mov r3, #0 - add r4, r0, r2 - mov r0, ip - mov r2, #0xa4 - mul r2, r0 - ldr r0, [sp] - add r5, r0, r2 -_0203193C: - lsl r2, r3, #3 - add r0, r4, r2 - strh r1, [r0, r7] - add r0, r5, r2 - strh r1, [r0, r6] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - cmp r3, #5 - blo _0203193C - mov r0, ip - add r0, r0, #1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov ip, r0 - cmp r0, #0xa - blo _02031926 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02031960: .word 0x0000FFFF -_02031964: .word 0x00000484 - thumb_func_end sub_0203190C - - thumb_func_start sub_02031968 -sub_02031968: ; 0x02031968 - ldr r3, _02031970 ; =SavArray_get - mov r1, #0x25 - bx r3 - nop -_02031970: .word SavArray_get - thumb_func_end sub_02031968 - - thumb_func_start sub_02031974 -sub_02031974: ; 0x02031974 - bx lr - .balign 4, 0 - thumb_func_end sub_02031974 - - thumb_func_start sub_02031978 -sub_02031978: ; 0x02031978 - add r0, #0xdc - bx lr - thumb_func_end sub_02031978 - - thumb_func_start sub_0203197C -sub_0203197C: ; 0x0203197C - mov r1, #0xb3 - lsl r1, r1, #2 - add r0, r0, r1 - bx lr - thumb_func_end sub_0203197C - - thumb_func_start sub_02031984 -sub_02031984: ; 0x02031984 - ldr r1, _0203198C ; =0x00000484 - add r0, r0, r1 - bx lr - nop -_0203198C: .word 0x00000484 - thumb_func_end sub_02031984 - - thumb_func_start sub_02031990 -sub_02031990: ; 0x02031990 - ldr r1, _02031998 ; =0x00000AEC - add r0, r0, r1 - bx lr - nop -_02031998: .word 0x00000AEC - thumb_func_end sub_02031990 - - thumb_func_start sub_0203199C -sub_0203199C: ; 0x0203199C - mov r1, #0xb - lsl r1, r1, #8 - add r0, r0, r1 - bx lr - thumb_func_end sub_0203199C - - thumb_func_start sub_020319A4 -sub_020319A4: ; 0x020319A4 - bx lr - .balign 4, 0 - thumb_func_end sub_020319A4 - - thumb_func_start sub_020319A8 -sub_020319A8: ; 0x020319A8 - push {r3, lr} - cmp r1, #0 - blt _020319B2 - cmp r1, #4 - ble _020319BA -_020319B2: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_020319BA: - sub r2, r2, #1 - bpl _020319C6 - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_020319C6: - add r0, r0, r2 - add r0, #0xdc - ldrb r0, [r0] - add r2, r0, #0 - asr r2, r1 - mov r0, #1 - add r1, r2, #0 - tst r1, r0 - bne _020319DA - mov r0, #0 -_020319DA: - pop {r3, pc} - thumb_func_end sub_020319A8 - - thumb_func_start sub_020319DC -sub_020319DC: ; 0x020319DC - mov r1, #0xb3 - lsl r1, r1, #2 - add r0, r0, r1 - bx lr - thumb_func_end sub_020319DC - - thumb_func_start sub_020319E4 -sub_020319E4: ; 0x020319E4 - ldr r1, _020319EC ; =0x00000484 - add r0, r0, r1 - bx lr - nop -_020319EC: .word 0x00000484 - thumb_func_end sub_020319E4 - - thumb_func_start sub_020319F0 -sub_020319F0: ; 0x020319F0 - mov r1, #0xb - lsl r1, r1, #8 - add r0, r0, r1 - bx lr - thumb_func_end sub_020319F0 - - thumb_func_start sub_020319F8 -sub_020319F8: ; 0x020319F8 - push {r4, r5, r6, lr} - add r4, r1, #0 - sub r1, r2, #1 - bpl _02031A06 - bl GF_AssertFail - pop {r4, r5, r6, pc} -_02031A06: - add r2, r0, r1 - mov r0, #1 - mov r3, #0 - add r2, #0xdc - add r6, r0, #0 -_02031A10: - add r1, r4, #0 - asr r1, r3 - and r1, r6 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - beq _02031A2A - add r5, r0, #0 - lsl r5, r3 - lsl r5, r5, #0x18 - ldrb r1, [r2] - lsr r5, r5, #0x18 - orr r1, r5 - strb r1, [r2] -_02031A2A: - add r1, r3, #1 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - cmp r3, #5 - blo _02031A10 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_020319F8 - - thumb_func_start sub_02031A38 -sub_02031A38: ; 0x02031A38 - ldr r2, _02031A4C ; =0x00000B74 - ldr r3, [r0, r2] - add r1, r3, r1 - str r1, [r0, r2] - ldr r3, [r0, r2] - ldr r1, _02031A50 ; =0x0001869F - cmp r3, r1 - ble _02031A4A - str r1, [r0, r2] -_02031A4A: - bx lr - .balign 4, 0 -_02031A4C: .word 0x00000B74 -_02031A50: .word 0x0001869F - thumb_func_end sub_02031A38 - - thumb_func_start sub_02031A54 -sub_02031A54: ; 0x02031A54 - ldr r2, _02031A68 ; =0x00000B74 - ldr r3, [r0, r2] - sub r1, r3, r1 - str r1, [r0, r2] - ldr r1, [r0, r2] - cmp r1, #0 - bge _02031A66 - mov r1, #0 - str r1, [r0, r2] -_02031A66: - bx lr - .balign 4, 0 -_02031A68: .word 0x00000B74 - thumb_func_end sub_02031A54 - - thumb_func_start sub_02031A6C -sub_02031A6C: ; 0x02031A6C - ldr r1, _02031A74 ; =0x00000B74 - ldr r0, [r0, r1] - bx lr - nop -_02031A74: .word 0x00000B74 - thumb_func_end sub_02031A6C - - thumb_func_start sub_02031A78 -sub_02031A78: ; 0x02031A78 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x1b - blt _02031A86 - bl GF_AssertFail -_02031A86: - ldr r0, _02031A94 ; =0x00000B78 - ldr r0, [r5, r0] - add r1, r0, #0 - lsr r1, r4 - mov r0, #1 - and r0, r1 - pop {r3, r4, r5, pc} - .balign 4, 0 -_02031A94: .word 0x00000B78 - thumb_func_end sub_02031A78 - - thumb_func_start sub_02031A98 -sub_02031A98: ; 0x02031A98 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x1b - blt _02031AA6 - bl GF_AssertFail -_02031AA6: - ldr r0, _02031AB4 ; =0x00000B78 - mov r1, #1 - ldr r2, [r5, r0] - lsl r1, r4 - orr r1, r2 - str r1, [r5, r0] - pop {r3, r4, r5, pc} - .balign 4, 0 -_02031AB4: .word 0x00000B78 - thumb_func_end sub_02031A98 - - thumb_func_start sub_02031AB8 -sub_02031AB8: ; 0x02031AB8 - ldr r2, _02031AC8 ; =0x00000B7C - ldrh r0, [r0, r2] - add r2, r0, #0 - asr r2, r1 - mov r0, #1 - and r0, r2 - bx lr - nop -_02031AC8: .word 0x00000B7C - thumb_func_end sub_02031AB8 - - thumb_func_start sub_02031ACC -sub_02031ACC: ; 0x02031ACC - push {r3, r4} - ldr r2, _02031AE0 ; =0x00000B7C - mov r3, #1 - ldrh r4, [r0, r2] - lsl r3, r1 - add r1, r4, #0 - orr r1, r3 - strh r1, [r0, r2] - pop {r3, r4} - bx lr - .balign 4, 0 -_02031AE0: .word 0x00000B7C - thumb_func_end sub_02031ACC - - thumb_func_start sub_02031AE4 -sub_02031AE4: ; 0x02031AE4 - ldr r1, _02031AEC ; =0x00000B7C - mov r2, #0 - strh r2, [r0, r1] - bx lr - .balign 4, 0 -_02031AEC: .word 0x00000B7C - thumb_func_end sub_02031AE4 - - thumb_func_start sub_02031AF0 -sub_02031AF0: ; 0x02031AF0 - mov r0, #0x28 - bx lr - thumb_func_end sub_02031AF0 - - thumb_func_start sub_02031AF4 -sub_02031AF4: ; 0x02031AF4 - ldr r3, _02031AFC ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #0x28 - bx r3 - .balign 4, 0 -_02031AFC: .word MIi_CpuFill8 - thumb_func_end sub_02031AF4 - - thumb_func_start sub_02031B00 -sub_02031B00: ; 0x02031B00 - ldr r3, _02031B08 ; =SavArray_get - mov r1, #0x1d - bx r3 - nop -_02031B08: .word SavArray_get - thumb_func_end sub_02031B00 - - thumb_func_start sub_02031B0C -sub_02031B0C: ; 0x02031B0C - mov r0, #0x80 - bx lr - thumb_func_end sub_02031B0C - - thumb_func_start sub_02031B10 -sub_02031B10: ; 0x02031B10 - mov r0, #0x20 - bx lr - thumb_func_end sub_02031B10 - - thumb_func_start sub_02031B14 -sub_02031B14: ; 0x02031B14 - ldr r3, _02031B1C ; =SavArray_get - mov r1, #0x26 - bx r3 - nop -_02031B1C: .word SavArray_get - thumb_func_end sub_02031B14 - - thumb_func_start sub_02031B20 -sub_02031B20: ; 0x02031B20 - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x80 - bl MIi_CpuFill8 - add r0, r4, #0 - add r0, #0xc - bl sub_02031B5C - add r0, r4, #0 - bl sub_02031B3C - pop {r4, pc} - thumb_func_end sub_02031B20 - - thumb_func_start sub_02031B3C -sub_02031B3C: ; 0x02031B3C - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 - add r5, #0x20 -_02031B44: - add r0, r5, #0 - bl sub_020325CC - add r4, r4, #1 - add r5, #0x20 - cmp r4, #3 - blt _02031B44 - pop {r3, r4, r5, pc} - thumb_func_end sub_02031B3C - - thumb_func_start sub_02031B54 -sub_02031B54: ; 0x02031B54 - ldr r3, _02031B58 ; =sub_02031B20 - bx r3 - .balign 4, 0 -_02031B58: .word sub_02031B20 - thumb_func_end sub_02031B54 - - thumb_func_start sub_02031B5C -sub_02031B5C: ; 0x02031B5C - ldr r3, _02031B64 ; =MIi_CpuFill8 - mov r1, #0 - mov r2, #8 - bx r3 - .balign 4, 0 -_02031B64: .word MIi_CpuFill8 - thumb_func_end sub_02031B5C - - thumb_func_start sub_02031B68 -sub_02031B68: ; 0x02031B68 - push {r3, lr} - cmp r1, #7 - blt _02031B76 - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_02031B76: - ldrb r3, [r0, r1] - add r2, r2, r3 - cmp r2, #0x63 - ble _02031B82 - mov r2, #0x63 - b _02031B82 -_02031B82: - strb r2, [r0, r1] - ldrb r0, [r0, r1] - pop {r3, pc} - thumb_func_end sub_02031B68 - - thumb_func_start sub_02031B88 -sub_02031B88: ; 0x02031B88 - push {r3, lr} - cmp r1, #7 - blt _02031B96 - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_02031B96: - ldrb r3, [r0, r1] - cmp r3, r2 - blo _02031BA0 - sub r2, r3, r2 - strb r2, [r0, r1] -_02031BA0: - ldrb r0, [r0, r1] - pop {r3, pc} - thumb_func_end sub_02031B88 - - thumb_func_start sub_02031BA4 -sub_02031BA4: ; 0x02031BA4 - push {r3, lr} - cmp r1, #7 - blt _02031BB2 - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} -_02031BB2: - ldrb r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02031BA4 - - thumb_func_start sub_02031BB8 -sub_02031BB8: ; 0x02031BB8 - push {r3, lr} - ldrb r3, [r0, r1] - cmp r3, r2 - bhs _02031BC6 - bl GF_AssertFail - pop {r3, pc} -_02031BC6: - strb r1, [r0, #8] - strb r2, [r0, #7] - bl sub_02031B88 - pop {r3, pc} - thumb_func_end sub_02031BB8 - - thumb_func_start sub_02031BD0 -sub_02031BD0: ; 0x02031BD0 - ldrb r0, [r0, #7] - bx lr - thumb_func_end sub_02031BD0 - - thumb_func_start sub_02031BD4 -sub_02031BD4: ; 0x02031BD4 - ldrb r0, [r0, #8] - cmp r0, #7 - blo _02031BDE - mov r0, #4 - bx lr -_02031BDE: - lsl r1, r0, #1 - ldr r0, _02031BE8 ; =0x020F68D0 - ldrh r0, [r0, r1] - bx lr - nop -_02031BE8: .word 0x020F68D0 - thumb_func_end sub_02031BD4 - - thumb_func_start sub_02031BEC -sub_02031BEC: ; 0x02031BEC - ldr r3, [r0, #0x1c] - ldr r2, _02031BFC ; =0x3FFFFFFF - lsl r1, r1, #0x1e - and r2, r3 - orr r1, r2 - str r1, [r0, #0x1c] - bx lr - nop -_02031BFC: .word 0x3FFFFFFF - thumb_func_end sub_02031BEC - - thumb_func_start sub_02031C00 -sub_02031C00: ; 0x02031C00 - ldr r0, [r0, #0x1c] - lsr r0, r0, #0x1e - bx lr - .balign 4, 0 - thumb_func_end sub_02031C00 - - thumb_func_start sub_02031C08 -sub_02031C08: ; 0x02031C08 - push {r3, r4} - ldrh r4, [r0, #0xa] - mov r3, #0 - add r2, r3, #0 - mov r1, #7 -_02031C12: - add r0, r4, #0 - tst r0, r1 - beq _02031C1E - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 -_02031C1E: - lsl r0, r4, #0xd - add r2, r2, #1 - lsr r4, r0, #0x10 - cmp r2, #5 - blt _02031C12 - add r0, r3, #0 - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_02031C08 - - thumb_func_start sub_02031C30 -sub_02031C30: ; 0x02031C30 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - ldrh r6, [r5, #0xa] - cmp r4, #7 - blt _02031C44 - bl GF_AssertFail - mov r0, #0 - pop {r4, r5, r6, pc} -_02031C44: - mov r3, #0 - mov r1, #7 -_02031C48: - add r0, r6, #0 - tst r0, r1 - beq _02031C54 - lsl r0, r6, #0xd - lsr r6, r0, #0x10 - b _02031C96 -_02031C54: - add r6, r4, #1 - mov r0, #7 - and r0, r6 - lsl r6, r3, #1 - add r3, r3, r6 - lsl r0, r3 - lsl r0, r0, #0x10 - ldrh r1, [r5, #0xa] - lsr r0, r0, #0x10 - orr r0, r1 - strh r0, [r5, #0xa] - mov r0, #2 - ldrh r1, [r5, #0xa] - lsl r0, r0, #0xe - orr r0, r1 - strh r0, [r5, #0xa] - str r2, [r5, #0x14] - ldrb r0, [r5, #9] - cmp r0, #0 - bne _02031C7E - str r2, [r5, #0x18] -_02031C7E: - mov r0, #3 - ldr r1, [r5, #0x1c] - lsl r0, r0, #0x1e - and r0, r1 - str r0, [r5, #0x1c] - add r0, r5, #0 - add r1, r4, #0 - mov r2, #1 - bl sub_02031B88 - mov r0, #1 - pop {r4, r5, r6, pc} -_02031C96: - add r3, r3, #1 - cmp r3, #5 - blt _02031C48 - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_02031C30 - - thumb_func_start sub_02031CA0 -sub_02031CA0: ; 0x02031CA0 - push {r4, lr} - add r4, r0, #0 - bl sub_02031C08 - cmp r0, #0 - bne _02031CB0 - mov r0, #0 - pop {r4, pc} -_02031CB0: - ldr r0, [r4, #0x1c] - lsl r0, r0, #2 - lsr r0, r0, #2 - cmp r0, #0x32 - bhs _02031CBE - mov r0, #1 - pop {r4, pc} -_02031CBE: - cmp r0, #0x50 - bhs _02031CC6 - mov r0, #2 - pop {r4, pc} -_02031CC6: - mov r0, #3 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02031CA0 - - thumb_func_start sub_02031CCC -sub_02031CCC: ; 0x02031CCC - mov r2, #0xa - mul r2, r1 - ldrb r1, [r0, #9] - cmp r1, #0 - beq _02031CE6 - ldrb r1, [r0, #0xe] - add r1, r1, r2 - cmp r1, #0xff - ble _02031CE4 - mov r1, #0xff - strb r1, [r0, #0xe] - bx lr -_02031CE4: - strb r1, [r0, #0xe] -_02031CE6: - bx lr - thumb_func_end sub_02031CCC - - thumb_func_start sub_02031CE8 -sub_02031CE8: ; 0x02031CE8 - ldrb r0, [r0, #9] - bx lr - thumb_func_end sub_02031CE8 - - thumb_func_start sub_02031CEC -sub_02031CEC: ; 0x02031CEC - push {r3, r4, r5, lr} - add r5, r2, #0 - cmp r1, #9 - blt _02031CF6 - mov r1, #0 -_02031CF6: - cmp r1, #4 - bgt _02031D12 - ldr r0, _02031D68 ; =0x020F6902 - lsl r2, r1, #3 - add r1, r0, r2 - ldrh r0, [r0, r2] - strh r0, [r5] - ldrh r0, [r1, #2] - strh r0, [r5, #2] - ldrh r0, [r1, #4] - strh r0, [r5, #4] - ldrh r0, [r1, #6] - strh r0, [r5, #6] - b _02031D64 -_02031D12: - cmp r1, #7 - bgt _02031D44 - sub r1, r1, #5 - add r0, #0x38 - lsl r1, r1, #5 - add r4, r0, r1 - add r0, r4, #0 - bl sub_02031D80 - cmp r0, #0 - bne _02031D32 - add r0, r5, #0 - bl sub_02031B5C - mov r0, #0 - pop {r3, r4, r5, pc} -_02031D32: - ldrh r0, [r4] - strh r0, [r5] - ldrh r0, [r4, #2] - strh r0, [r5, #2] - ldrh r0, [r4, #4] - strh r0, [r5, #4] - ldrh r0, [r4, #6] - strh r0, [r5, #6] - b _02031D64 -_02031D44: - ldrb r1, [r0, #9] - cmp r1, #0 - bne _02031D54 - add r0, r5, #0 - bl sub_02031B5C - mov r0, #0 - pop {r3, r4, r5, pc} -_02031D54: - ldrh r1, [r0, #0xc] - strh r1, [r5] - ldrh r1, [r0, #0xe] - strh r1, [r5, #2] - ldrh r1, [r0, #0x10] - strh r1, [r5, #4] - ldrh r0, [r0, #0x12] - strh r0, [r5, #6] -_02031D64: - mov r0, #1 - pop {r3, r4, r5, pc} - .balign 4, 0 -_02031D68: .word 0x020F6902 - thumb_func_end sub_02031CEC - - thumb_func_start sub_02031D6C -sub_02031D6C: ; 0x02031D6C - push {r3, lr} - bl sub_02031D80 - cmp r0, #0 - beq _02031D7A - mov r0, #1 - pop {r3, pc} -_02031D7A: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02031D6C - - thumb_func_start sub_02031D80 -sub_02031D80: ; 0x02031D80 - mov r3, #0 - add r2, r3, #0 -_02031D84: - add r1, r0, r2 - ldrb r1, [r1, #3] - add r2, r2, #1 - add r1, r3, r1 - lsl r1, r1, #0x10 - lsr r3, r1, #0x10 - cmp r2, #5 - blt _02031D84 - cmp r3, #0x64 - bls _02031D9A - mov r3, #0x64 -_02031D9A: - lsl r0, r3, #0x18 - lsr r0, r0, #0x18 - bx lr - thumb_func_end sub_02031D80 - - thumb_func_start sub_02031DA0 -sub_02031DA0: ; 0x02031DA0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r6, r1, #0 - add r4, r0, #0 - add r0, r6, #0 - mov r1, #0 - mov r2, #0xe - bl MIi_CpuFill8 - add r0, sp, #4 - add r0, #2 - mov r1, #0 - mov r2, #0xa - bl MIi_CpuFill8 - mov r0, #0 - add r1, sp, #4 - str r0, [sp] - add r1, #2 -_02031DC6: - add r2, r4, r0 - ldrb r2, [r2, #3] - strb r0, [r1] - strb r2, [r1, #1] - cmp r2, #0 - beq _02031DDC - ldr r2, [sp] - add r2, r2, #1 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - str r2, [sp] -_02031DDC: - add r0, r0, #1 - add r1, r1, #2 - cmp r0, #5 - blt _02031DC6 - ldr r0, [sp] - cmp r0, #0 - beq _02031E3C - add r0, sp, #4 - add r0, #2 - mov r7, #0 - mov ip, r0 -_02031DF2: - add r5, r7, #1 - cmp r5, #5 - bge _02031E34 - lsl r2, r5, #1 - mov r1, ip - add r1, r1, r2 - add r2, sp, #4 -_02031E00: - ldrb r4, [r1, #1] - ldrb r3, [r0, #1] - cmp r3, r4 - bhi _02031E2C - cmp r3, r4 - bne _02031E14 - ldrb r4, [r0] - ldrb r3, [r1] - cmp r4, r3 - blo _02031E2C -_02031E14: - ldrb r3, [r0] - strb r3, [r2] - ldrb r3, [r0, #1] - strb r3, [r2, #1] - ldrb r3, [r1] - strb r3, [r0] - ldrb r3, [r1, #1] - strb r3, [r0, #1] - ldrb r3, [r2] - strb r3, [r1] - ldrb r3, [r2, #1] - strb r3, [r1, #1] -_02031E2C: - add r5, r5, #1 - add r1, r1, #2 - cmp r5, #5 - blt _02031E00 -_02031E34: - add r7, r7, #1 - add r0, r0, #2 - cmp r7, #5 - blt _02031DF2 -_02031E3C: - add r0, sp, #4 - ldrb r5, [r0, #0xb] - add r3, sp, #4 - add r0, r6, #0 - mov r4, #0 - add r3, #2 - add r0, #0xb -_02031E4A: - ldrb r2, [r3] - add r1, r6, r4 - strb r2, [r1, #6] - ldrb r1, [r3, #1] - cmp r5, r1 - bne _02031E5C - ldrb r1, [r0] - add r1, r1, #1 - strb r1, [r0] -_02031E5C: - add r4, r4, #1 - add r3, r3, #2 - cmp r4, #5 - blt _02031E4A - ldr r0, [sp] - strb r0, [r6, #0xc] - ldr r0, [sp] - cmp r0, #5 - bls _02031E70 - b _02031FDC -_02031E70: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02031E7C: ; jump table - .short _02031E88 - _02031E7C - 2 ; case 0 - .short _02031E98 - _02031E7C - 2 ; case 1 - .short _02031EB2 - _02031E7C - 2 ; case 2 - .short _02031ED6 - _02031E7C - 2 ; case 3 - .short _02031EFA - _02031E7C - 2 ; case 4 - .short _02031EFA - _02031E7C - 2 ; case 5 -_02031E88: - ldrh r1, [r6] - mov r0, #0xf - add sp, #0x10 - bic r1, r0 - mov r0, #6 - orr r0, r1 - strh r0, [r6] - pop {r3, r4, r5, r6, r7, pc} -_02031E98: - add r1, sp, #4 - add r0, r6, #0 - add r1, #2 - mov r2, #0 - bl sub_02032588 - ldrh r1, [r6, #2] - mov r0, #0xf - bic r1, r0 - mov r0, #6 - orr r0, r1 - strh r0, [r6, #2] - b _02031FDC -_02031EB2: - add r1, sp, #4 - add r0, r6, #0 - add r1, #2 - mov r2, #0 - bl sub_02032588 - add r0, r6, #2 - add r1, sp, #8 - mov r2, #1 - bl sub_02032588 - ldrh r1, [r6, #4] - mov r0, #0xf - bic r1, r0 - mov r0, #6 - orr r0, r1 - strh r0, [r6, #4] - b _02031FDC -_02031ED6: - add r1, sp, #4 - add r0, r6, #0 - add r1, #2 - mov r2, #0 - bl sub_02032588 - add r0, r6, #2 - add r1, sp, #8 - mov r2, #1 - bl sub_02032588 - add r1, sp, #8 - add r0, r6, #4 - add r1, #2 - mov r2, #2 - bl sub_02032588 - b _02031FDC -_02031EFA: - add r0, sp, #4 - ldrb r2, [r0, #3] - ldrb r1, [r0, #9] - sub r1, r2, r1 - cmp r1, #0xc - bgt _02031F88 - ldrh r3, [r6] - mov r2, #0xf - mov r1, #5 - bic r3, r2 - orr r1, r3 - strh r1, [r6] - ldrb r3, [r0, #3] - ldrh r1, [r6] - ldr r4, _02031FE4 ; =0xFFFF00FF - lsl r3, r3, #0x18 - and r1, r4 - lsr r3, r3, #0x10 - orr r1, r3 - strh r1, [r6] - ldrh r1, [r6, #2] - mov r3, #6 - bic r1, r2 - orr r1, r3 - strh r1, [r6, #2] - ldrb r5, [r0, #5] - ldrh r1, [r6, #2] - lsl r5, r5, #0x18 - and r1, r4 - lsr r5, r5, #0x10 - orr r1, r5 - strh r1, [r6, #2] - ldrh r1, [r6, #4] - bic r1, r2 - orr r1, r3 - strh r1, [r6, #4] - ldrh r1, [r6, #4] - add r2, r1, #0 - ldrb r1, [r0, #7] - and r2, r4 - lsl r1, r1, #0x18 - lsr r1, r1, #0x10 - orr r1, r2 - strh r1, [r6, #4] - mov r1, #1 - strb r1, [r6, #0xc] - ldrb r0, [r0, #3] - cmp r0, #0x14 - bls _02031F6A - ldrh r1, [r6] - mov r0, #0xf0 - bic r1, r0 - mov r0, #0x30 - orr r0, r1 - strh r0, [r6] - b _02031FDC -_02031F6A: - cmp r0, #7 - ldrh r1, [r6] - bls _02031F7C - mov r0, #0xf0 - bic r1, r0 - mov r0, #0x20 - orr r0, r1 - strh r0, [r6] - b _02031FDC -_02031F7C: - mov r0, #0xf0 - bic r1, r0 - mov r0, #0x10 - orr r0, r1 - strh r0, [r6] - b _02031FDC -_02031F88: - add r1, sp, #4 - add r0, r6, #0 - add r1, #2 - mov r2, #0 - bl sub_02032588 - add r0, r6, #2 - add r1, sp, #8 - mov r2, #1 - bl sub_02032588 - ldr r0, [sp] - cmp r0, #4 - bne _02031FB2 - add r1, sp, #0xc - add r0, r6, #4 - add r1, #2 - mov r2, #2 - bl sub_02032588 - b _02031FDC -_02031FB2: - ldrh r1, [r6, #4] - mov r0, #0xf - bic r1, r0 - mov r0, #5 - orr r0, r1 - strh r0, [r6, #4] - ldrh r1, [r6, #4] - mov r0, #0xf0 - bic r1, r0 - mov r0, #0x10 - orr r0, r1 - strh r0, [r6, #4] - ldrh r1, [r6, #4] - ldr r0, _02031FE4 ; =0xFFFF00FF - and r1, r0 - add r0, sp, #4 - ldrb r0, [r0, #7] - lsl r0, r0, #0x18 - lsr r0, r0, #0x10 - orr r0, r1 - strh r0, [r6, #4] -_02031FDC: - ldr r0, [sp] - strb r0, [r6, #0xc] - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02031FE4: .word 0xFFFF00FF - thumb_func_end sub_02031DA0 - - thumb_func_start sub_02031FE8 -sub_02031FE8: ; 0x02031FE8 - push {r3, lr} - sub sp, #0x10 - add r1, sp, #0 - bl sub_02031DA0 - add r0, sp, #0 - ldrh r0, [r0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1c - cmp r0, #5 - blo _02032000 - mov r0, #5 -_02032000: - add sp, #0x10 - pop {r3, pc} - thumb_func_end sub_02031FE8 - - thumb_func_start sub_02032004 -sub_02032004: ; 0x02032004 - push {r3, lr} - sub sp, #0x10 - add r1, sp, #0 - bl sub_02031DA0 - add r0, sp, #0 - ldrb r1, [r0, #0xc] - cmp r1, #0 - bne _0203201C - add sp, #0x10 - mov r0, #0 - pop {r3, pc} -_0203201C: - ldrb r0, [r0, #6] - add r0, r0, #1 - add sp, #0x10 - pop {r3, pc} - thumb_func_end sub_02032004 - - thumb_func_start sub_02032024 -sub_02032024: ; 0x02032024 - push {r4, lr} - add r4, r0, #0 - ldrb r0, [r4, #9] - cmp r0, #0 - bne _02032032 - mov r0, #0 - pop {r4, pc} -_02032032: - sub r0, r0, #1 - strb r0, [r4, #9] - ldrb r0, [r4, #9] - cmp r0, #0 - bne _02032054 - add r0, r4, #0 - add r0, #0xc - bl sub_02031B5C - mov r0, #0 - str r0, [r4, #0x18] - str r0, [r4, #0x14] - mov r0, #3 - ldr r1, [r4, #0x1c] - lsl r0, r0, #0x1e - and r0, r1 - str r0, [r4, #0x1c] -_02032054: - ldrb r0, [r4, #9] - pop {r4, pc} - thumb_func_end sub_02032024 - - thumb_func_start sub_02032058 -sub_02032058: ; 0x02032058 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldrh r0, [r5, #0xa] - add r4, r1, #0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x1f - bne _0203206C - ldrb r0, [r5, #9] - cmp r0, #0 - beq _020320D8 -_0203206C: - ldr r0, [r5, #0x18] - sub r6, r4, r0 - cmp r6, #0x64 - blo _02032094 - add r0, r6, #0 - mov r1, #0x64 - bl _u32_div_f - add r1, r0, #0 - lsl r1, r1, #0x18 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_02032340 - add r0, r6, #0 - mov r1, #0x64 - bl _u32_div_f - sub r0, r4, r1 - str r0, [r5, #0x18] -_02032094: - ldrh r0, [r5, #0xa] - lsl r0, r0, #0x10 - lsr r0, r0, #0x1f - beq _020320D8 - ldr r1, [r5, #0x1c] - mov r0, #3 - lsl r0, r0, #0x1e - add r2, r1, #0 - and r2, r0 - ldr r0, [r5, #0x14] - sub r1, r4, r0 - ldr r0, _020320DC ; =0x3FFFFFFF - and r0, r1 - orr r0, r2 - str r0, [r5, #0x1c] - lsl r0, r0, #2 - lsr r0, r0, #2 - cmp r0, #0x64 - blo _020320D8 - ldrb r0, [r5, #9] - cmp r0, #0 - beq _020320CA - add r0, r5, #0 - mov r1, #3 - bl sub_02031BEC - b _020320D2 -_020320CA: - add r0, r5, #0 - mov r1, #2 - bl sub_02031BEC -_020320D2: - add r0, r5, #0 - bl sub_02032354 -_020320D8: - pop {r4, r5, r6, pc} - nop -_020320DC: .word 0x3FFFFFFF - thumb_func_end sub_02032058 - - thumb_func_start sub_020320E0 -sub_020320E0: ; 0x020320E0 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r5, r1, #0 - add r0, r3, #0 - mov r1, #0x20 - add r6, r2, #0 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x20 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_02028F84 - str r0, [r4] - add r0, r5, #0 - bl PlayerProfile_GetTrainerGender - strb r0, [r4, #4] - add r0, r5, #0 - bl sub_02029088 - strb r0, [r4, #5] - add r0, r5, #0 - bl sub_0202907C - strb r0, [r4, #6] - add r0, r4, #0 - add r0, #8 - mov r1, #8 - bl StringFillEOS - add r0, r5, #0 - bl PlayerProfile_GetNamePtr - add r1, r0, #0 - add r0, r4, #0 - add r0, #8 - mov r2, #7 - bl CopyU16StringArrayN - add r2, r4, #0 - add r0, r7, #0 - mov r1, #8 - add r2, #0x18 - bl sub_02031CEC - ldr r0, _02032154 ; =0x0000FFFF - cmp r6, r0 - bls _0203214C - strh r0, [r4, #0x18] - b _0203214E -_0203214C: - strh r6, [r4, #0x18] -_0203214E: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_02032154: .word 0x0000FFFF - thumb_func_end sub_020320E0 - - thumb_func_start sub_02032158 -sub_02032158: ; 0x02032158 - push {r3, lr} - ldr r3, [r0] - ldr r2, [r1] - cmp r3, r2 - beq _02032166 - mov r0, #0 - pop {r3, pc} -_02032166: - ldrb r3, [r0, #4] - ldrb r2, [r1, #4] - cmp r3, r2 - beq _02032172 - mov r0, #0 - pop {r3, pc} -_02032172: - ldrb r3, [r0, #6] - ldrb r2, [r1, #6] - cmp r3, r2 - beq _0203217E - mov r0, #0 - pop {r3, pc} -_0203217E: - ldrb r3, [r0, #5] - ldrb r2, [r1, #5] - cmp r3, r2 - beq _0203218A - mov r0, #0 - pop {r3, pc} -_0203218A: - add r0, #8 - add r1, #8 - bl StringNotEqual - cmp r0, #0 - bne _0203219A - mov r0, #1 - pop {r3, pc} -_0203219A: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02032158 - - thumb_func_start sub_020321A0 -sub_020321A0: ; 0x020321A0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - mov r4, #0 - add r5, r0, #0 - str r0, [sp] - add r7, r1, #0 - str r2, [sp, #4] - str r3, [sp, #8] - str r4, [sp, #0x10] - add r5, #0x38 -_020321B4: - add r0, r5, #0 - bl sub_02031D6C - cmp r0, #0 - beq _020321CC - ldr r0, [sp, #0x10] - add r4, r4, #1 - add r0, r0, #1 - add r5, #0x20 - str r0, [sp, #0x10] - cmp r4, #3 - blt _020321B4 -_020321CC: - mov r0, #0 - str r0, [sp, #0xc] - ldr r0, [sp, #4] - cmp r0, #0 - ble _020322A6 -_020321D6: - ldr r1, [sp, #0xc] - ldr r0, [sp, #8] - cmp r1, r0 - beq _02032298 - add r0, r7, #0 - add r0, #0x18 - bl sub_02031D6C - cmp r0, #0 - beq _02032298 - mov r4, #0 - str r4, [sp, #0x14] - ldr r5, [sp] - ldr r6, [sp, #0x14] - add r5, #0x20 -_020321F4: - add r0, r7, #0 - add r1, r5, #0 - bl sub_02032158 - cmp r0, #0 - beq _0203220A - lsl r0, r6, #0x18 - lsr r4, r0, #0x18 - mov r0, #1 - str r0, [sp, #0x14] - b _02032212 -_0203220A: - add r6, r6, #1 - add r5, #0x20 - cmp r6, #3 - blt _020321F4 -_02032212: - ldr r0, [sp, #0x10] - cmp r0, #3 - blt _02032222 - mov r0, #2 - mov ip, r0 - mov r0, #1 - str r0, [sp, #0x14] - b _02032242 -_02032222: - ldr r0, [sp, #0x14] - cmp r0, #0 - beq _02032234 - ldr r0, [sp, #0x10] - sub r0, r0, #1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov ip, r0 - b _02032242 -_02032234: - ldr r0, [sp, #0x10] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov ip, r0 - ldr r0, [sp, #0x10] - add r0, r0, #1 - str r0, [sp, #0x10] -_02032242: - ldr r0, [sp, #0x14] - cmp r0, #0 - beq _0203227C - mov r0, ip - cmp r4, r0 - bhs _0203227C - ldr r0, [sp, #0x10] - sub r6, r0, #1 - cmp r4, r6 - bge _0203227C - ldr r0, [sp] - lsl r1, r4, #5 - add r5, r0, r1 -_0203225C: - add r3, r5, #0 - add r2, r5, #0 - add r3, #0x40 - add r2, #0x20 - add r5, r2, #0 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - add r4, r4, #1 - stmia r2!, {r0, r1} - cmp r4, r6 - blt _0203225C -_0203227C: - mov r0, ip - lsl r1, r0, #5 - ldr r0, [sp] - add r3, r7, #0 - add r2, r0, r1 - add r2, #0x20 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} -_02032298: - ldr r0, [sp, #0xc] - add r7, #0x20 - add r1, r0, #1 - ldr r0, [sp, #4] - str r1, [sp, #0xc] - cmp r1, r0 - blt _020321D6 -_020322A6: - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_020321A0 - - thumb_func_start sub_020322AC -sub_020322AC: ; 0x020322AC - push {r3, r4, r5, r6, r7, lr} - add r7, r2, #0 - add r4, r0, #0 - add r5, r1, #0 - mov r0, #9 - add r1, r7, #0 - bl String_ctor - add r6, r0, #0 - cmp r5, #5 - bge _020322E2 - mov r0, #1 - mov r1, #0x1b - mov r2, #0x15 - add r3, r7, #0 - bl NewMsgDataFromNarc - add r5, #0xe - add r4, r0, #0 - add r1, r5, #0 - add r2, r6, #0 - bl ReadMsgDataIntoString - add r0, r4, #0 - bl DestroyMsgData - b _02032304 -_020322E2: - cmp r5, #8 - bge _02032304 - sub r0, r5, #5 - lsl r0, r0, #0x18 - lsr r5, r0, #0x13 - add r0, r4, #0 - add r0, #0x38 - add r0, r0, r5 - bl sub_02031D6C - cmp r0, #0 - beq _02032304 - add r4, #0x28 - add r0, r6, #0 - add r1, r4, r5 - bl CopyU16ArrayToString -_02032304: - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_020322AC - - thumb_func_start sub_02032308 -sub_02032308: ; 0x02032308 - push {r3, r4, r5, lr} - sub sp, #8 - add r4, r2, #0 - add r2, sp, #0 - bl sub_02031CEC - mov r0, #1 - mov r1, #0x1b - mov r2, #0x15 - add r3, r4, #0 - bl NewMsgDataFromNarc - add r5, r0, #0 - add r0, sp, #0 - bl sub_02032004 - add r1, r0, #0 - add r0, r5, #0 - add r1, #0x13 - bl NewString_ReadMsgData - add r4, r0, #0 - add r0, r5, #0 - bl DestroyMsgData - add r0, r4, #0 - add sp, #8 - pop {r3, r4, r5, pc} - thumb_func_end sub_02032308 - - thumb_func_start sub_02032340 -sub_02032340: ; 0x02032340 - ldrb r2, [r0, #0xe] - add r1, r2, r1 - cmp r1, #0xff - ble _0203234E - mov r1, #0xff - strb r1, [r0, #0xe] - bx lr -_0203234E: - strb r1, [r0, #0xe] - bx lr - .balign 4, 0 - thumb_func_end sub_02032340 - - thumb_func_start sub_02032354 -sub_02032354: ; 0x02032354 - push {r4, r5, r6, r7, lr} - sub sp, #0x3c - str r0, [sp] - ldrh r0, [r0, #0xa] - add r1, sp, #0x34 - add r1, #1 - str r0, [sp, #0x14] - ldr r0, [sp] - add r0, #0xc - bl sub_020324F4 - mov r0, #0 - str r0, [sp, #0x28] -_0203236E: - mov r0, #0 - str r0, [sp, #0x10] - ldr r0, [sp, #0x14] - mov r1, #7 - and r0, r1 - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 - bne _02032380 - b _020324CA -_02032380: - ldr r0, [sp, #0x10] - str r0, [sp, #0x24] - ldr r0, [sp, #0x10] - str r0, [sp, #0x18] - ldr r0, [sp, #0x10] - str r0, [sp, #0x1c] - sub r0, r1, #1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0x20] - ldr r0, [sp, #0x10] - add r1, sp, #0x30 -_02032398: - strb r0, [r1] - add r0, r0, #1 - add r1, r1, #1 - cmp r0, #5 - blt _02032398 - mov r0, #0 - add r2, sp, #0x30 - add r7, sp, #0x34 - str r0, [sp, #4] - add r7, #1 - mov ip, r2 -_020323AE: - ldr r0, [sp, #4] - add r1, r0, #1 - cmp r1, #5 - bge _020323DE - mov r0, ip - add r3, r0, r1 -_020323BA: - mov r0, #0 - mov r5, #0 - ldrsb r4, [r3, r0] - ldrsb r5, [r2, r5] - ldrsb r0, [r7, r4] - ldrsb r6, [r7, r5] - cmp r6, r0 - bgt _020323D6 - cmp r6, r0 - bne _020323D2 - cmp r5, r4 - blt _020323D6 -_020323D2: - strb r4, [r2] - strb r5, [r3] -_020323D6: - add r1, r1, #1 - add r3, r3, #1 - cmp r1, #5 - blt _020323BA -_020323DE: - ldr r0, [sp, #4] - add r2, r2, #1 - add r0, r0, #1 - str r0, [sp, #4] - cmp r0, #2 - blt _020323AE - ldr r0, [sp, #0x20] - ldr r2, _020324F0 ; =0x020F68DE - lsl r1, r0, #2 - add r0, r0, r1 - add r1, r2, r0 - add r2, sp, #0x34 - mov r4, #0 - add r3, sp, #0x30 - ldrsb r0, [r3, r4] - add r2, #1 - str r0, [sp, #8] - add r0, r2, r0 - str r0, [sp, #0xc] - mov r0, #1 - ldrsb r7, [r3, r0] - add r0, r2, r7 - str r0, [sp, #0x2c] -_0203240C: - mov r0, #0 - ldrsb r5, [r1, r0] - ldrsb r3, [r2, r0] - add r0, r3, r5 - lsl r0, r0, #0x18 - asr r0, r0, #0x18 - cmp r5, #0 - ble _0203243E - ldr r6, [sp, #0xc] - mov r5, #0 - ldrsb r5, [r6, r5] - cmp r5, #0 - beq _0203243E - ldr r5, [sp, #8] - cmp r5, r4 - beq _0203243E - ldr r5, [sp, #0x2c] - mov r6, #0 - ldrsb r5, [r5, r6] - cmp r5, #0 - beq _0203243E - cmp r7, r4 - beq _0203243E - mov r5, #1 - str r5, [sp, #0x10] -_0203243E: - cmp r0, #0x3f - blt _02032446 - mov r0, #0x3f - b _0203244C -_02032446: - cmp r0, #0 - bge _0203244C - mov r0, #0 -_0203244C: - ldr r5, [sp, #0x20] - cmp r5, #6 - beq _02032456 - cmp r0, r3 - bgt _02032468 -_02032456: - ldr r3, [sp, #0x1c] - cmp r0, r3 - ble _02032468 - lsl r3, r0, #0x18 - lsr r3, r3, #0x18 - str r3, [sp, #0x1c] - lsl r3, r4, #0x18 - lsr r3, r3, #0x18 - str r3, [sp, #0x18] -_02032468: - strb r0, [r2] - ldr r3, [sp, #0x24] - add r4, r4, #1 - add r0, r3, r0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0x24] - add r1, r1, #1 - add r2, r2, #1 - cmp r4, #5 - blt _0203240C - ldr r0, [sp, #0x14] - lsl r0, r0, #0xd - lsr r0, r0, #0x10 - str r0, [sp, #0x14] - ldr r0, [sp, #0x10] - cmp r0, #0 - beq _0203249E - ldr r0, [sp] - ldrb r1, [r0, #0xe] - cmp r1, #0xa - bhs _0203249A - mov r1, #0 - strb r1, [r0, #0xe] - b _0203249E -_0203249A: - sub r1, #0xa - strb r1, [r0, #0xe] -_0203249E: - ldr r0, [sp, #0x20] - cmp r0, #5 - beq _020324BE - ldr r0, [sp, #0x24] - cmp r0, #0x64 - bls _020324BE - add r2, sp, #0x34 - ldr r0, [sp, #0x18] - add r2, #1 - ldrsb r1, [r2, r0] - ldr r0, [sp, #0x24] - sub r0, #0x64 - str r0, [sp, #0x24] - sub r1, r1, r0 - ldr r0, [sp, #0x18] - strb r1, [r2, r0] -_020324BE: - ldr r0, [sp, #0x28] - add r0, r0, #1 - str r0, [sp, #0x28] - cmp r0, #5 - bge _020324CA - b _0203236E -_020324CA: - mov r4, #0 - add r3, sp, #0x34 - add r3, #1 - add r1, r4, #0 -_020324D2: - ldrsb r2, [r3, r1] - ldr r0, [sp] - add r3, r3, #1 - add r0, r0, r4 - add r4, r4, #1 - strb r2, [r0, #0xf] - cmp r4, #5 - blt _020324D2 - ldr r0, [sp] - mov r1, #3 - strb r1, [r0, #9] - mov r1, #0 - strh r1, [r0, #0xa] - add sp, #0x3c - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_020324F0: .word 0x020F68DE - thumb_func_end sub_02032354 - - thumb_func_start sub_020324F4 -sub_020324F4: ; 0x020324F4 - mov r3, #0 -_020324F6: - add r2, r0, r3 - ldrb r2, [r2, #3] - strb r2, [r1, r3] - add r3, r3, #1 - cmp r3, #5 - blt _020324F6 - bx lr - thumb_func_end sub_020324F4 - - thumb_func_start sub_02032504 -sub_02032504: ; 0x02032504 - cmp r1, #0 - bne _0203250C - mov r0, #0 - bx lr -_0203250C: - cmp r0, #0 - beq _0203251A - cmp r0, #1 - beq _0203254A - cmp r0, #2 - beq _0203256A - b _02032582 -_0203251A: - cmp r1, #0x3e - bls _02032522 - mov r0, #6 - bx lr -_02032522: - cmp r1, #0x32 - bls _0203252A - mov r0, #5 - bx lr -_0203252A: - cmp r1, #0x28 - bls _02032532 - mov r0, #4 - bx lr -_02032532: - cmp r1, #0x1e - bls _0203253A - mov r0, #3 - bx lr -_0203253A: - cmp r1, #0x14 - bls _02032542 - mov r0, #2 - bx lr -_02032542: - cmp r1, #0 - beq _02032582 - mov r0, #1 - bx lr -_0203254A: - cmp r1, #0x28 - bls _02032552 - mov r0, #4 - bx lr -_02032552: - cmp r1, #0x1e - bls _0203255A - mov r0, #3 - bx lr -_0203255A: - cmp r1, #0x14 - bls _02032562 - mov r0, #2 - bx lr -_02032562: - cmp r1, #0 - beq _02032582 - mov r0, #1 - bx lr -_0203256A: - cmp r1, #0x14 - bls _02032572 - mov r0, #3 - bx lr -_02032572: - cmp r1, #0xa - bls _0203257A - mov r0, #2 - bx lr -_0203257A: - cmp r1, #0 - beq _02032582 - mov r0, #1 - bx lr -_02032582: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_02032504 - - thumb_func_start sub_02032588 -sub_02032588: ; 0x02032588 - push {r3, r4, r5, lr} - add r4, r0, #0 - ldrh r0, [r4] - ldrb r5, [r1] - mov r3, #0xf - bic r0, r3 - mov r3, #0xf - and r3, r5 - orr r0, r3 - strh r0, [r4] - ldrh r3, [r4] - ldr r0, _020325C8 ; =0xFFFF00FF - and r3, r0 - ldrb r0, [r1, #1] - lsl r0, r0, #0x18 - lsr r0, r0, #0x10 - orr r0, r3 - strh r0, [r4] - lsl r0, r2, #0x18 - ldrb r1, [r1, #1] - lsr r0, r0, #0x18 - bl sub_02032504 - lsl r0, r0, #0x1c - ldrh r2, [r4] - mov r1, #0xf0 - lsr r0, r0, #0x18 - bic r2, r1 - orr r0, r2 - strh r0, [r4] - pop {r3, r4, r5, pc} - nop -_020325C8: .word 0xFFFF00FF - thumb_func_end sub_02032588 - - thumb_func_start sub_020325CC -sub_020325CC: ; 0x020325CC - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x20 - bl MIi_CpuFill8 - add r0, r4, #0 - add r0, #0x18 - bl sub_02031B5C - add r4, #8 - add r0, r4, #0 - mov r1, #8 - bl StringFillEOS - pop {r4, pc} - thumb_func_end sub_020325CC - - thumb_func_start sub_020325EC -sub_020325EC: ; 0x020325EC - ldr r3, _020325F4 ; =SavArray_get - mov r1, #0x27 - bx r3 - nop -_020325F4: .word SavArray_get - thumb_func_end sub_020325EC - - thumb_func_start sub_020325F8 -sub_020325F8: ; 0x020325F8 - mov r0, #0x4d - lsl r0, r0, #2 - bx lr - .balign 4, 0 - thumb_func_end sub_020325F8 - - thumb_func_start sub_02032600 -sub_02032600: ; 0x02032600 - push {r4, lr} - add r4, r0, #0 - mov r2, #0x4d - mov r0, #0 - add r1, r4, #0 - lsl r2, r2, #2 - bl MIi_CpuClearFast - add r0, r4, #0 - mov r1, #0 - bl sub_02032744 - add r0, r4, #0 - mov r1, #1 - bl sub_02032744 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02032600 - - thumb_func_start sub_02032624 -sub_02032624: ; 0x02032624 - push {r3, r4, r5, lr} - mov r1, #0x13 - add r5, r0, #0 - lsl r1, r1, #4 - ldr r4, [r5, r1] - bl sub_02032600 - mov r0, #0x13 - lsl r0, r0, #4 - str r4, [r5, r0] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02032624 - - thumb_func_start sub_0203263C -sub_0203263C: ; 0x0203263C - mov r1, #0x49 - lsl r1, r1, #2 - ldrh r0, [r0, r1] - bx lr - thumb_func_end sub_0203263C - - thumb_func_start sub_02032644 -sub_02032644: ; 0x02032644 - mov r1, #0x49 - lsl r1, r1, #2 - ldrh r2, [r0, r1] - add r2, r2, #1 - strh r2, [r0, r1] - bx lr - thumb_func_end sub_02032644 - - thumb_func_start sub_02032650 -sub_02032650: ; 0x02032650 - mov r3, #0x4a - lsl r3, r3, #2 - str r1, [r0, r3] - add r1, r3, #4 - ldr r1, [r0, r1] - add r2, r1, r2 - add r1, r3, #4 - str r2, [r0, r1] - ldr r1, [r0, r1] - ldr r2, _02032670 ; =0x0098967F - cmp r1, r2 - blo _0203266C - add r1, r3, #4 - str r2, [r0, r1] -_0203266C: - bx lr - nop -_02032670: .word 0x0098967F - thumb_func_end sub_02032650 - - thumb_func_start sub_02032674 -sub_02032674: ; 0x02032674 - push {r3, r4} - mov r3, #0x4a - lsl r3, r3, #2 - ldr r4, [r0, r3] - str r4, [r1] - add r1, r3, #4 - ldr r0, [r0, r1] - str r0, [r2] - pop {r3, r4} - bx lr - thumb_func_end sub_02032674 - - thumb_func_start sub_02032688 -sub_02032688: ; 0x02032688 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - cmp r5, #0 - bne _02032698 - bl GF_AssertFail -_02032698: - ldrh r0, [r5] - strh r0, [r4] - ldrh r0, [r5, #2] - strh r0, [r6] - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_02032688 - - thumb_func_start sub_020326A4 -sub_020326A4: ; 0x020326A4 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - cmp r5, #0 - bne _020326B4 - bl GF_AssertFail -_020326B4: - strh r4, [r5] - strh r6, [r5, #2] - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_020326A4 - - thumb_func_start sub_020326BC -sub_020326BC: ; 0x020326BC - ldr r3, _020326C8 ; =sub_020D48B4 - add r2, r0, #0 - add r0, r1, #0 - add r1, r2, #4 - mov r2, #0x88 - bx r3 - .balign 4, 0 -_020326C8: .word sub_020D48B4 - thumb_func_end sub_020326BC - - thumb_func_start sub_020326CC -sub_020326CC: ; 0x020326CC - ldr r3, _020326D8 ; =MIi_CpuClearFast - add r1, r0, #0 - mov r0, #0 - add r1, r1, #4 - mov r2, #0x88 - bx r3 - .balign 4, 0 -_020326D8: .word MIi_CpuClearFast - thumb_func_end sub_020326CC - - thumb_func_start sub_020326DC -sub_020326DC: ; 0x020326DC - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_020326FC - cmp r0, #0 - beq _020326F8 - add r0, r5, #4 - add r1, r4, #0 - mov r2, #0x88 - bl sub_020D48B4 - mov r0, #1 - pop {r3, r4, r5, pc} -_020326F8: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_020326DC - - thumb_func_start sub_020326FC -sub_020326FC: ; 0x020326FC - mov r2, #0 -_020326FE: - add r1, r0, r2 - ldrb r1, [r1, #4] - cmp r1, #0 - bne _0203270C - add r2, r2, #1 - cmp r2, #0x88 - blt _020326FE -_0203270C: - cmp r2, #0x88 - bne _02032714 - mov r0, #0 - bx lr -_02032714: - mov r0, #1 - bx lr - thumb_func_end sub_020326FC - - thumb_func_start sub_02032718 -sub_02032718: ; 0x02032718 - add r0, #0xf8 - ldrh r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_02032718 - - thumb_func_start sub_02032720 -sub_02032720: ; 0x02032720 - add r0, #0xf8 - strh r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_02032720 - - thumb_func_start sub_02032728 -sub_02032728: ; 0x02032728 - add r0, #0xfc - bx lr - thumb_func_end sub_02032728 - - thumb_func_start sub_0203272C -sub_0203272C: ; 0x0203272C - cmp r1, #0x20 - blt _02032734 - mov r0, #0 - bx lr -_02032734: - mov r2, #0x13 - lsl r2, r2, #4 - ldr r0, [r0, r2] - add r2, r0, #0 - lsr r2, r1 - mov r0, #1 - and r0, r2 - bx lr - thumb_func_end sub_0203272C - - thumb_func_start sub_02032744 -sub_02032744: ; 0x02032744 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x20 - blt _02032752 - bl GF_AssertFail -_02032752: - mov r0, #0x13 - lsl r0, r0, #4 - mov r1, #1 - ldr r2, [r5, r0] - lsl r1, r4 - orr r1, r2 - str r1, [r5, r0] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02032744 - - thumb_func_start sub_02032764 -sub_02032764: ; 0x02032764 - add r0, #0xfa - ldrh r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_02032764 - - thumb_func_start sub_0203276C -sub_0203276C: ; 0x0203276C - mov r1, #1 - add r0, #0xfa - strh r1, [r0] - bx lr - thumb_func_end sub_0203276C - - thumb_func_start sub_02032774 -sub_02032774: ; 0x02032774 - mov r0, #0xf - lsl r0, r0, #8 - bx lr - .balign 4, 0 - thumb_func_end sub_02032774 - - thumb_func_start sub_0203277C -sub_0203277C: ; 0x0203277C - ldr r3, _02032784 ; =SavArray_get - mov r1, #0x28 - bx r3 - nop -_02032784: .word SavArray_get - thumb_func_end sub_0203277C - - thumb_func_start sub_02032788 -sub_02032788: ; 0x02032788 - push {r4, r5, r6, lr} - mov r2, #0xf - mov r1, #0 - lsl r2, r2, #8 - add r5, r0, #0 - bl MIi_CpuFill8 - mov r6, #6 - mov r4, #0 - lsl r6, r6, #6 -_0203279C: - add r0, r5, #0 - bl sub_020327DC - add r4, r4, #1 - add r5, r5, r6 - cmp r4, #0xa - blt _0203279C - pop {r4, r5, r6, pc} - thumb_func_end sub_02032788 - - thumb_func_start sub_020327AC -sub_020327AC: ; 0x020327AC - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x38 - bl MIi_CpuFill8 - add r4, #0x24 - add r0, r4, #0 - mov r1, #0xa - bl StringFillEOS - pop {r4, pc} - thumb_func_end sub_020327AC - - thumb_func_start sub_020327C4 -sub_020327C4: ; 0x020327C4 - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x30 - bl MIi_CpuFill8 - add r4, #8 - add r0, r4, #0 - mov r1, #8 - bl StringFillEOS - pop {r4, pc} - thumb_func_end sub_020327C4 - - thumb_func_start sub_020327DC -sub_020327DC: ; 0x020327DC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_020327C4 - mov r4, #0 - add r5, #0x30 -_020327E8: - add r0, r5, #0 - bl sub_020327AC - add r4, r4, #1 - add r5, #0x38 - cmp r4, #6 - blt _020327E8 - pop {r3, r4, r5, pc} - thumb_func_end sub_020327DC - - thumb_func_start sub_020327F8 -sub_020327F8: ; 0x020327F8 - ldrh r0, [r0, #0x30] - lsl r0, r0, #0x15 - lsr r0, r0, #0x15 - beq _02032804 - mov r0, #1 - bx lr -_02032804: - mov r0, #0 - bx lr - thumb_func_end sub_020327F8 - - thumb_func_start sub_02032808 -sub_02032808: ; 0x02032808 - push {r3, lr} - ldr r3, [r0] - ldr r2, [r1] - cmp r3, r2 - bne _0203282A - ldrb r3, [r0, #6] - ldrb r2, [r1, #6] - cmp r3, r2 - bne _0203282A - ldrb r3, [r0, #5] - ldrb r2, [r1, #5] - cmp r3, r2 - bne _0203282A - ldrb r3, [r0, #7] - ldrb r2, [r1, #7] - cmp r3, r2 - beq _0203282E -_0203282A: - mov r0, #0 - pop {r3, pc} -_0203282E: - add r0, #8 - add r1, #8 - bl StringNotEqual - cmp r0, #0 - bne _0203283E - mov r0, #1 - pop {r3, pc} -_0203283E: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02032808 - - thumb_func_start sub_02032844 -sub_02032844: ; 0x02032844 - ldr r1, _02032850 ; =0x021D4124 - ldr r2, [r1, #4] - ldr r1, _02032854 ; =0x00001310 - str r0, [r2, r1] - bx lr - nop -_02032850: .word 0x021D4124 -_02032854: .word 0x00001310 - thumb_func_end sub_02032844 - - thumb_func_start sub_02032858 -sub_02032858: ; 0x02032858 - ldr r1, _0203286C ; =0x021D4124 - ldr r3, [r1, #4] - ldr r1, _02032870 ; =0x00001310 - ldr r2, [r3, r1] - sub r2, #9 - cmp r2, #1 - bls _0203286A - add r1, #0x20 - str r0, [r3, r1] -_0203286A: - bx lr - .balign 4, 0 -_0203286C: .word 0x021D4124 -_02032870: .word 0x00001310 - thumb_func_end sub_02032858 - - thumb_func_start sub_02032874 -sub_02032874: ; 0x02032874 - push {r3, lr} - mov r0, #3 - bl sub_02032844 - ldr r1, _0203289C ; =0x021D4124 - ldr r0, _020328A0 ; =sub_020328A4 - ldr r1, [r1, #4] - bl sub_020DF4F8 - cmp r0, #2 - beq _02032898 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - mov r0, #0 - pop {r3, pc} -_02032898: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 -_0203289C: .word 0x021D4124 -_020328A0: .word sub_020328A4 - thumb_func_end sub_02032874 - - thumb_func_start sub_020328A4 -sub_020328A4: ; 0x020328A4 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _020328B8 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r3, pc} -_020328B8: - bl sub_020328C8 - cmp r0, #0 - bne _020328C6 - mov r0, #9 - bl sub_02032844 -_020328C6: - pop {r3, pc} - thumb_func_end sub_020328A4 - - thumb_func_start sub_020328C8 -sub_020328C8: ; 0x020328C8 - push {r4, lr} - ldr r0, _02032924 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032928 ; =0x00001310 - ldr r0, [r1, r0] - sub r0, r0, #4 - cmp r0, #2 - bhi _020328DC - mov r0, #1 - pop {r4, pc} -_020328DC: - bl sub_020DEB24 - add r4, r0, #0 - mov r0, #0x66 - lsl r0, r0, #2 - add r0, r4, r0 - mov r1, #4 - bl sub_020D285C - mov r0, #0x66 - mov r1, #0 - lsl r0, r0, #2 - str r1, [r4, r0] - add r0, r4, r0 - mov r1, #4 - bl DC_FlushRange - ldr r0, _0203292C ; =sub_02032934 - bl sub_020DF680 - cmp r0, #2 - beq _02032910 - bl sub_02032858 - mov r0, #0 - pop {r4, pc} -_02032910: - ldr r2, _02032924 ; =0x021D4124 - ldr r1, _02032930 ; =0x0000132C - ldr r0, [r2, #4] - mov r3, #0 - strh r3, [r0, r1] - ldr r2, [r2, #4] - mov r0, #1 - add r1, r1, #2 - strh r0, [r2, r1] - pop {r4, pc} - .balign 4, 0 -_02032924: .word 0x021D4124 -_02032928: .word 0x00001310 -_0203292C: .word sub_02032934 -_02032930: .word 0x0000132C - thumb_func_end sub_020328C8 - - thumb_func_start sub_02032934 -sub_02032934: ; 0x02032934 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldrh r0, [r5, #0x10] - mov r1, #1 - lsl r1, r0 - lsl r0, r1, #0x10 - lsr r4, r0, #0x10 - ldrh r0, [r5, #2] - cmp r0, #0 - beq _02032954 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r4, r5, r6, pc} -_02032954: - ldrh r0, [r5, #8] - cmp r0, #7 - bgt _0203296C - bge _02032986 - cmp r0, #2 - bgt _02032A24 - cmp r0, #0 - blt _02032A24 - beq _02032A16 - cmp r0, #2 - beq _02032978 - pop {r4, r5, r6, pc} -_0203296C: - cmp r0, #9 - bgt _02032974 - beq _020329F8 - pop {r4, r5, r6, pc} -_02032974: - cmp r0, #0x1a - pop {r4, r5, r6, pc} -_02032978: - ldr r0, _02032A28 ; =0x021D4124 - ldr r2, [r0, #4] - ldr r0, _02032A2C ; =0x00001345 - ldrb r1, [r2, r0] - add r1, r1, #1 - strb r1, [r2, r0] - pop {r4, r5, r6, pc} -_02032986: - ldr r0, _02032A28 ; =0x021D4124 - ldr r2, [r0, #4] - ldr r0, _02032A30 ; =0x00001343 - ldrb r1, [r2, r0] - cmp r1, #1 - beq _020329C4 - sub r0, r0, #1 - ldrb r0, [r2, r0] - cmp r0, #1 - beq _020329C4 - bl sub_02033264 - ldr r1, _02032A28 ; =0x021D4124 - ldr r2, [r1, #4] - ldr r1, _02032A34 ; =0x00001334 - ldrb r1, [r2, r1] - cmp r0, r1 - bge _020329C4 - bl sub_0203993C - ldrb r1, [r5, #0x14] - cmp r1, r0 - bne _020329C4 - add r1, r5, #0 - ldr r0, _02032A38 ; =0x0210F8FC - add r1, #0x15 - mov r2, #3 - bl memcmp - cmp r0, #0 - beq _020329DC -_020329C4: - ldrh r1, [r5, #0x10] - mov r0, #0 - bl sub_020DFA18 - cmp r0, #2 - beq _02032A24 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r4, r5, r6, pc} -_020329DC: - ldr r1, _02032A28 ; =0x021D4124 - ldr r0, _02032A3C ; =0x0000132E - ldr r3, [r1, #4] - ldrh r2, [r3, r0] - orr r2, r4 - strh r2, [r3, r0] - ldr r1, [r1, #4] - sub r0, r0, #6 - ldr r1, [r1, r0] - cmp r1, #0 - beq _02032A24 - ldrh r0, [r5, #0x10] - blx r1 - pop {r4, r5, r6, pc} -_020329F8: - ldr r2, _02032A28 ; =0x021D4124 - ldr r1, _02032A3C ; =0x0000132E - ldr r0, [r2, #4] - mvn r3, r4 - ldrh r6, [r0, r1] - and r3, r6 - strh r3, [r0, r1] - ldr r0, [r2, #4] - sub r1, #0xa - ldr r1, [r0, r1] - cmp r1, #0 - beq _02032A24 - ldrh r0, [r5, #0x10] - blx r1 - pop {r4, r5, r6, pc} -_02032A16: - bl sub_02032A40 - cmp r0, #0 - bne _02032A24 - mov r0, #9 - bl sub_02032844 -_02032A24: - pop {r4, r5, r6, pc} - nop -_02032A28: .word 0x021D4124 -_02032A2C: .word 0x00001345 -_02032A30: .word 0x00001343 -_02032A34: .word 0x00001334 -_02032A38: .word 0x0210F8FC -_02032A3C: .word 0x0000132E - thumb_func_end sub_02032934 - - thumb_func_start sub_02032A40 -sub_02032A40: ; 0x02032A40 - push {r4, lr} - sub sp, #8 - ldr r0, _02032A9C ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032AA0 ; =0x00001310 - ldr r0, [r1, r0] - sub r0, r0, #4 - cmp r0, #2 - bhi _02032A58 - add sp, #8 - mov r0, #1 - pop {r4, pc} -_02032A58: - mov r0, #4 - bl sub_02032844 - ldr r0, _02032A9C ; =0x021D4124 - ldr r2, _02032AA4 ; =0x00001304 - ldr r4, [r0, #4] - ldr r3, _02032AA8 ; =0x00001020 - ldr r0, [r4, r2] - add r2, r2, #4 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r2, [r4, r2] - add r1, r4, r3 - lsl r2, r2, #0x10 - sub r3, #0xe0 - ldr r0, _02032AAC ; =sub_02032AB0 - lsr r2, r2, #0x10 - add r3, r4, r3 - bl sub_020DFD14 - cmp r0, #2 - beq _02032A94 - bl sub_02032858 - add sp, #8 - mov r0, #0 - pop {r4, pc} -_02032A94: - mov r0, #1 - add sp, #8 - pop {r4, pc} - nop -_02032A9C: .word 0x021D4124 -_02032AA0: .word 0x00001310 -_02032AA4: .word 0x00001304 -_02032AA8: .word 0x00001020 -_02032AAC: .word sub_02032AB0 - thumb_func_end sub_02032A40 - - thumb_func_start sub_02032AB0 -sub_02032AB0: ; 0x02032AB0 - push {r3, lr} - ldrh r1, [r0, #2] - cmp r1, #0 - beq _02032AC6 - add r0, r1, #0 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r3, pc} -_02032AC6: - ldrh r0, [r0, #4] - sub r0, #0xa - cmp r0, #3 - bhi _02032B00 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02032ADA: ; jump table - .short _02032AE2 - _02032ADA - 2 ; case 0 - .short _02032B00 - _02032ADA - 2 ; case 1 - .short _02032B00 - _02032ADA - 2 ; case 2 - .short _02032B00 - _02032ADA - 2 ; case 3 -_02032AE2: - ldr r0, _02032B04 ; =0x021D4124 - ldr r2, [r0, #4] - ldr r0, _02032B08 ; =0x00001314 - ldr r1, [r2, r0] - cmp r1, #2 - bne _02032AFA - sub r0, r0, #4 - ldr r0, [r2, r0] - cmp r0, #4 - beq _02032AFA - cmp r0, #6 - beq _02032B00 -_02032AFA: - mov r0, #4 - bl sub_02032844 -_02032B00: - pop {r3, pc} - nop -_02032B04: .word 0x021D4124 -_02032B08: .word 0x00001314 - thumb_func_end sub_02032AB0 - - thumb_func_start sub_02032B0C -sub_02032B0C: ; 0x02032B0C - push {r3, lr} - mov r0, #3 - bl sub_02032844 - ldr r0, _02032B2C ; =sub_02032B30 - bl sub_020DFEAC - cmp r0, #2 - beq _02032B26 - bl sub_02032858 - mov r0, #0 - pop {r3, pc} -_02032B26: - mov r0, #1 - pop {r3, pc} - nop -_02032B2C: .word sub_02032B30 - thumb_func_end sub_02032B0C - - thumb_func_start sub_02032B30 -sub_02032B30: ; 0x02032B30 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _02032B42 - bl sub_02032858 - bl sub_02033830 - pop {r3, pc} -_02032B42: - bl sub_02032B50 - cmp r0, #0 - bne _02032B4E - bl sub_02033830 -_02032B4E: - pop {r3, pc} - thumb_func_end sub_02032B30 - - thumb_func_start sub_02032B50 -sub_02032B50: ; 0x02032B50 - push {r3, lr} - ldr r0, _02032B68 ; =sub_02032B6C - bl sub_020DF690 - cmp r0, #2 - beq _02032B64 - bl sub_02032858 - mov r0, #0 - pop {r3, pc} -_02032B64: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 -_02032B68: .word sub_02032B6C - thumb_func_end sub_02032B50 - - thumb_func_start sub_02032B6C -sub_02032B6C: ; 0x02032B6C - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _02032B7A - bl sub_02032858 - pop {r3, pc} -_02032B7A: - mov r0, #1 - bl sub_02032844 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02032B6C - - thumb_func_start sub_02032B84 -sub_02032B84: ; 0x02032B84 - push {r3, r4, r5, r6, r7, lr} - add r7, r2, #0 - ldr r2, _02032C10 ; =0x021D4124 - add r5, r0, #0 - add r4, r1, #0 - mov r3, #2 - ldr r0, [r2, #4] - ldr r1, _02032C14 ; =0x00001308 - lsl r3, r3, #8 - str r3, [r0, r1] - ldr r2, [r2, #4] - mov r0, #0x40 - sub r1, r1, #4 - str r0, [r2, r1] - mov r0, #2 - bl sub_02032844 - ldr r2, _02032C10 ; =0x021D4124 - ldr r1, _02032C18 ; =0x00001256 - ldr r3, [r2, #4] - mov r0, #1 - strh r0, [r3, r1] - add r0, r1, #0 - ldrh r6, [r4, #4] - ldr r3, [r2, #4] - add r0, #0x96 - strh r6, [r3, r0] - add r0, r1, #0 - ldrh r6, [r4, #2] - ldr r3, [r2, #4] - add r0, #0x94 - strh r6, [r3, r0] - add r0, r1, #0 - ldrh r4, [r4] - ldr r3, [r2, #4] - add r0, #0x92 - strh r4, [r3, r0] - add r0, r1, #0 - ldr r3, [r2, #4] - add r0, #0xbe - str r5, [r3, r0] - add r3, r1, #0 - ldr r4, [r2, #4] - mov r0, #0 - add r3, #0xaa - str r0, [r4, r3] - add r3, r1, #0 - ldr r4, [r2, #4] - add r3, #0xb6 - strh r7, [r4, r3] - add r3, r1, #0 - ldr r4, [r2, #4] - add r3, #0x8e - strh r0, [r4, r3] - ldr r2, [r2, #4] - add r1, #0xb8 - mov r0, #1 - strh r0, [r2, r1] - bl sub_02032C84 - cmp r0, #0 - bne _02032C0A - mov r0, #9 - bl sub_02032844 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02032C0A: - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - nop -_02032C10: .word 0x021D4124 -_02032C14: .word 0x00001308 -_02032C18: .word 0x00001256 - thumb_func_end sub_02032B84 - - thumb_func_start sub_02032C1C -sub_02032C1C: ; 0x02032C1C - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r0, #2 - add r4, r1, #0 - add r6, r2, #0 - bl sub_02032844 - ldr r1, _02032C80 ; =0x021D4124 - mov r0, #0x13 - ldr r2, [r1, #4] - lsl r0, r0, #8 - str r5, [r2, r0] - add r2, r0, #0 - ldr r3, [r1, #4] - add r2, #0xc - strh r6, [r3, r2] - add r3, r0, #0 - ldr r5, [r1, #4] - mov r2, #0 - sub r3, #0x1c - strh r2, [r5, r3] - add r3, r0, #0 - ldr r5, [r1, #4] - add r3, #0xe - strh r2, [r5, r3] - add r2, r0, #0 - ldrh r5, [r4, #4] - ldr r3, [r1, #4] - sub r2, #0x14 - strh r5, [r3, r2] - add r2, r0, #0 - ldrh r5, [r4, #2] - ldr r3, [r1, #4] - sub r2, #0x16 - strh r5, [r3, r2] - ldrh r2, [r4] - ldr r1, [r1, #4] - sub r0, #0x18 - strh r2, [r1, r0] - bl sub_02032C84 - cmp r0, #0 - bne _02032C7C - mov r0, #9 - bl sub_02032844 - mov r0, #0 - pop {r4, r5, r6, pc} -_02032C7C: - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 -_02032C80: .word 0x021D4124 - thumb_func_end sub_02032C1C - - thumb_func_start sub_02032C84 -sub_02032C84: ; 0x02032C84 - push {r3, r4, r5, r6, r7, lr} - bl sub_020DEF24 - add r5, r0, #0 - mov r0, #2 - lsl r0, r0, #0xe - cmp r5, r0 - bne _02032CA4 - mov r0, #3 - bl sub_02032858 - mov r0, #1 - bl sub_02039AD8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02032CA4: - cmp r5, #0 - bne _02032CB8 - mov r0, #0x16 - bl sub_02032858 - mov r0, #1 - bl sub_02039AD8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02032CB8: - ldr r1, _02032D38 ; =0x021D4124 - ldr r0, _02032D3C ; =0x0000130C - ldr r3, [r1, #4] - ldrh r2, [r3, r0] - cmp r2, #0 - bne _02032CF8 - add r7, r0, #0 - mov r3, #1 - add r2, r3, #0 - sub r7, #0x28 - sub r0, #0x28 -_02032CCE: - ldr r4, [r1, #4] - ldr r6, _02032D40 ; =0x000012E4 - ldrh r6, [r4, r6] - add r6, r6, #1 - strh r6, [r4, r7] - ldr r4, [r1, #4] - ldrh r6, [r4, r0] - cmp r6, #0x10 - bls _02032CE4 - ldr r6, _02032D40 ; =0x000012E4 - strh r3, [r4, r6] -_02032CE4: - ldr r6, [r1, #4] - ldr r4, _02032D40 ; =0x000012E4 - ldrh r4, [r6, r4] - add r6, r2, #0 - sub r4, r4, #1 - lsl r6, r4 - add r4, r5, #0 - tst r4, r6 - bne _02032CFC - b _02032CCE -_02032CF8: - sub r0, #0x28 - strh r2, [r3, r0] -_02032CFC: - bl sub_020DF064 - mov r1, #3 - bl _s32_div_f - ldr r2, _02032D38 ; =0x021D4124 - ldr r1, _02032D44 ; =0x000012E6 - ldr r3, [r2, #4] - strh r0, [r3, r1] - add r0, r1, #0 - ldr r3, [r2, #4] - sub r0, #0xc6 - add r4, r3, r0 - sub r0, r1, #6 - str r4, [r3, r0] - ldr r2, [r2, #4] - sub r1, r1, #6 - ldr r0, _02032D48 ; =sub_02032D4C - add r1, r2, r1 - bl sub_020DF6D0 - cmp r0, #2 - beq _02032D32 - bl sub_02032858 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02032D32: - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - nop -_02032D38: .word 0x021D4124 -_02032D3C: .word 0x0000130C -_02032D40: .word 0x000012E4 -_02032D44: .word 0x000012E6 -_02032D48: .word sub_02032D4C - thumb_func_end sub_02032C84 - - thumb_func_start sub_02032D4C -sub_02032D4C: ; 0x02032D4C - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #2] - cmp r0, #0 - beq _02032D62 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032D62: - ldr r0, _02032E14 ; =0x021D4124 - ldr r2, [r0, #4] - ldr r0, _02032E18 ; =0x00001310 - ldr r1, [r2, r0] - cmp r1, #2 - beq _02032D84 - mov r1, #0 - sub r0, r0, #2 - strh r1, [r2, r0] - bl sub_02032E48 - cmp r0, #0 - bne _02032E10 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032D84: - ldrh r1, [r4, #8] - cmp r1, #3 - beq _02032E10 - cmp r1, #4 - beq _02032E02 - cmp r1, #5 - bne _02032E02 - sub r0, #0xf0 - add r0, r2, r0 - mov r1, #0xc0 - bl sub_020D285C - ldr r0, _02032E14 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032E1C ; =0x00001320 - ldr r2, [r1, r0] - cmp r2, #0 - beq _02032DB8 - ldrh r0, [r4, #0x36] - cmp r0, #8 - blo _02032DB8 - add r1, r4, #0 - add r1, #0x48 - ldrb r1, [r1, #4] - ldr r0, [r4, #0x3c] - blx r2 -_02032DB8: - ldrh r0, [r4, #0x36] - cmp r0, #8 - blo _02032E02 - ldr r0, _02032E14 ; =0x021D4124 - ldr r2, [r4, #0x3c] - ldr r0, [r0, #4] - ldr r1, [r0, #8] - cmp r2, r1 - bne _02032E02 - add r4, #0x43 - ldrb r2, [r4] - mov r1, #3 - and r1, r2 - cmp r1, #1 - bne _02032E02 - mov r1, #0x13 - lsl r1, r1, #8 - ldr r2, [r0, r1] - cmp r2, #0 - beq _02032DE6 - sub r1, #0xe0 - add r0, r0, r1 - blx r2 -_02032DE6: - ldr r0, _02032E14 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032E20 ; =0x0000130E - ldrh r0, [r1, r0] - cmp r0, #0 - beq _02032E02 - bl sub_02032E48 - cmp r0, #0 - bne _02032E10 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032E02: - bl sub_02032C84 - cmp r0, #0 - bne _02032E10 - mov r0, #9 - bl sub_02032844 -_02032E10: - pop {r4, pc} - nop -_02032E14: .word 0x021D4124 -_02032E18: .word 0x00001310 -_02032E1C: .word 0x00001320 -_02032E20: .word 0x0000130E - thumb_func_end sub_02032D4C - - thumb_func_start sub_02032E24 -sub_02032E24: ; 0x02032E24 - push {r3, lr} - ldr r0, _02032E40 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032E44 ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #2 - beq _02032E36 - mov r0, #0 - pop {r3, pc} -_02032E36: - mov r0, #3 - bl sub_02032844 - mov r0, #1 - pop {r3, pc} - .balign 4, 0 -_02032E40: .word 0x021D4124 -_02032E44: .word 0x00001310 - thumb_func_end sub_02032E24 - - thumb_func_start sub_02032E48 -sub_02032E48: ; 0x02032E48 - push {r3, lr} - ldr r0, _02032E60 ; =sub_02032E64 - bl sub_020DF90C - cmp r0, #2 - beq _02032E5C - bl sub_02032858 - mov r0, #0 - pop {r3, pc} -_02032E5C: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 -_02032E60: .word sub_02032E64 - thumb_func_end sub_02032E48 - - thumb_func_start sub_02032E64 -sub_02032E64: ; 0x02032E64 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _02032E72 - bl sub_02032858 - pop {r3, pc} -_02032E72: - mov r0, #1 - bl sub_02032844 - ldr r0, _02032E94 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032E98 ; =0x0000130E - ldrh r0, [r1, r0] - cmp r0, #0 - beq _02032E92 - bl sub_02032E9C - cmp r0, #0 - bne _02032E92 - mov r0, #9 - bl sub_02032844 -_02032E92: - pop {r3, pc} - .balign 4, 0 -_02032E94: .word 0x021D4124 -_02032E98: .word 0x0000130E - thumb_func_end sub_02032E64 - - thumb_func_start sub_02032E9C -sub_02032E9C: ; 0x02032E9C - push {lr} - sub sp, #0x24 - ldr r0, _02032EF8 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032EFC ; =0x00001310 - ldr r0, [r1, r0] - sub r0, r0, #4 - cmp r0, #2 - bhi _02032EB4 - add sp, #0x24 - mov r0, #1 - pop {pc} -_02032EB4: - mov r0, #3 - bl sub_02032844 - add r1, sp, #4 - ldr r0, _02032F00 ; =0x0210F8FC - add r1, #1 - mov r2, #3 - bl sub_020D4A50 - bl sub_0203993C - add r1, sp, #4 - strb r0, [r1] - mov r0, #0 - str r0, [sp] - ldr r1, _02032EF8 ; =0x021D4124 - ldr r0, _02032F04 ; =sub_02032F0C - ldr r2, [r1, #4] - ldr r1, _02032F08 ; =0x00001220 - mov r3, #1 - add r1, r2, r1 - add r2, sp, #4 - bl sub_020DF94C - cmp r0, #2 - beq _02032EF2 - bl sub_02032858 - add sp, #0x24 - mov r0, #0 - pop {pc} -_02032EF2: - mov r0, #1 - add sp, #0x24 - pop {pc} - .balign 4, 0 -_02032EF8: .word 0x021D4124 -_02032EFC: .word 0x00001310 -_02032F00: .word 0x0210F8FC -_02032F04: .word sub_02032F0C -_02032F08: .word 0x00001220 - thumb_func_end sub_02032E9C - - thumb_func_start sub_02032F0C -sub_02032F0C: ; 0x02032F0C - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #2] - cmp r0, #0 - beq _02032F58 - bl sub_02032858 - ldrh r0, [r4, #2] - cmp r0, #0xc - bne _02032F28 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032F28: - cmp r0, #0xb - bne _02032F34 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032F34: - cmp r0, #1 - bne _02032F50 - bl sub_02039918 - cmp r0, #0 - beq _02032F48 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032F48: - mov r0, #8 - bl sub_02032844 - pop {r4, pc} -_02032F50: - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032F58: - ldrh r0, [r4, #8] - cmp r0, #8 - beq _02032FBE - cmp r0, #7 - bne _02032F9E - ldr r0, _02032FC0 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02032FC4 ; =0x00001335 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _02032F7C - mov r0, #0x14 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032F7C: - mov r0, #4 - bl sub_02032844 - bl sub_02032FCC - cmp r0, #0 - bne _02032F92 - mov r0, #3 - bl sub_02032844 - pop {r4, pc} -_02032F92: - ldr r0, _02032FC0 ; =0x021D4124 - ldrh r2, [r4, #0xa] - ldr r1, [r0, #4] - ldr r0, _02032FC8 ; =0x0000132C - strh r2, [r1, r0] - pop {r4, pc} -_02032F9E: - cmp r0, #6 - beq _02032FBE - cmp r0, #9 - bne _02032FB4 - mov r0, #0x14 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r4, pc} -_02032FB4: - cmp r0, #0x1a - beq _02032FBE - mov r0, #9 - bl sub_02032844 -_02032FBE: - pop {r4, pc} - .balign 4, 0 -_02032FC0: .word 0x021D4124 -_02032FC4: .word 0x00001335 -_02032FC8: .word 0x0000132C - thumb_func_end sub_02032F0C - - thumb_func_start sub_02032FCC -sub_02032FCC: ; 0x02032FCC - push {r4, lr} - sub sp, #8 - ldr r0, _0203300C ; =0x021D4124 - ldr r2, _02033010 ; =0x00001304 - ldr r4, [r0, #4] - ldr r3, _02033014 ; =0x00001020 - ldr r0, [r4, r2] - add r1, r4, r3 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - add r2, r2, #4 - ldr r2, [r4, r2] - sub r3, #0xe0 - lsl r2, r2, #0x10 - ldr r0, _02033018 ; =sub_0203301C - lsr r2, r2, #0x10 - add r3, r4, r3 - bl sub_020DFD14 - cmp r0, #2 - beq _02033006 - bl sub_02032858 - add sp, #8 - mov r0, #0 - pop {r4, pc} -_02033006: - mov r0, #1 - add sp, #8 - pop {r4, pc} - .balign 4, 0 -_0203300C: .word 0x021D4124 -_02033010: .word 0x00001304 -_02033014: .word 0x00001020 -_02033018: .word sub_0203301C - thumb_func_end sub_02032FCC - - thumb_func_start sub_0203301C -sub_0203301C: ; 0x0203301C - push {r3, lr} - ldrh r1, [r0, #2] - cmp r1, #0 - beq _0203303E - cmp r1, #0xf - beq _02033074 - cmp r1, #9 - beq _02033074 - cmp r1, #0xd - beq _02033074 - add r0, r1, #0 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - pop {r3, pc} -_0203303E: - ldrh r0, [r0, #4] - sub r0, #0xa - cmp r0, #3 - bhi _02033074 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02033052: ; jump table - .short _0203305A - _02033052 - 2 ; case 0 - .short _02033074 - _02033052 - 2 ; case 1 - .short _02033074 - _02033052 - 2 ; case 2 - .short _02033074 - _02033052 - 2 ; case 3 -_0203305A: - ldr r0, _02033078 ; =0x021D4124 - ldr r2, [r0, #4] - ldr r0, _0203307C ; =0x00001314 - ldr r1, [r2, r0] - cmp r1, #3 - bne _0203306E - sub r0, r0, #4 - ldr r0, [r2, r0] - cmp r0, #6 - beq _02033074 -_0203306E: - mov r0, #4 - bl sub_02032844 -_02033074: - pop {r3, pc} - nop -_02033078: .word 0x021D4124 -_0203307C: .word 0x00001314 - thumb_func_end sub_0203301C - - thumb_func_start sub_02033080 -sub_02033080: ; 0x02033080 - push {r3, lr} - mov r0, #3 - bl sub_02032844 - ldr r0, _020330A0 ; =sub_020330A4 - bl sub_020DFEAC - cmp r0, #2 - beq _0203309A - bl sub_02032858 - mov r0, #0 - pop {r3, pc} -_0203309A: - mov r0, #1 - pop {r3, pc} - nop -_020330A0: .word sub_020330A4 - thumb_func_end sub_02033080 - - thumb_func_start sub_020330A4 -sub_020330A4: ; 0x020330A4 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _020330B6 - bl sub_02032858 - bl sub_02033858 - pop {r3, pc} -_020330B6: - bl sub_020330C8 - cmp r0, #0 - bne _020330C4 - mov r0, #9 - bl sub_02032844 -_020330C4: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_020330A4 - - thumb_func_start sub_020330C8 -sub_020330C8: ; 0x020330C8 - push {r3, lr} - mov r0, #3 - bl sub_02032844 - ldr r0, _020330EC ; =sub_020330F0 - mov r1, #0 - bl sub_020DFA18 - cmp r0, #2 - beq _020330E8 - bl sub_02032858 - bl sub_02033830 - mov r0, #0 - pop {r3, pc} -_020330E8: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 -_020330EC: .word sub_020330F0 - thumb_func_end sub_020330C8 - - thumb_func_start sub_020330F0 -sub_020330F0: ; 0x020330F0 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _020330FE - bl sub_02032858 - pop {r3, pc} -_020330FE: - mov r0, #1 - bl sub_02032844 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_020330F0 - - thumb_func_start sub_02033108 -sub_02033108: ; 0x02033108 - push {r3, lr} - mov r0, #3 - bl sub_02032844 - ldr r0, _02033128 ; =sub_0203312C - bl sub_020DF480 - cmp r0, #2 - beq _02033122 - bl sub_02032858 - mov r0, #0 - pop {r3, pc} -_02033122: - mov r0, #1 - pop {r3, pc} - nop -_02033128: .word sub_0203312C - thumb_func_end sub_02033108 - - thumb_func_start sub_0203312C -sub_0203312C: ; 0x0203312C - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r4, #2] - cmp r0, #0 - beq _02033144 - mov r0, #9 - bl sub_02032844 - ldrh r0, [r4, #2] - bl sub_02032858 - pop {r4, pc} -_02033144: - mov r0, #1 - bl sub_02032844 - pop {r4, pc} - thumb_func_end sub_0203312C - - thumb_func_start sub_0203314C -sub_0203314C: ; 0x0203314C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r0, #0 - ldr r0, _02033194 ; =0x021D4124 - add r6, r1, #0 - add r4, r2, #0 - ldr r1, [r0, #4] - mov r0, #0x3d - lsl r0, r0, #6 - ldr r2, _02033198 ; =0x00001304 - add r0, r1, r0 - ldr r1, [r1, r2] - add r7, r3, #0 - bl DC_FlushRange - ldr r0, _0203319C ; =0x0000FFFF - add r1, r7, #0 - str r0, [sp] - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #4] - mov r0, #2 - str r0, [sp, #8] - ldr r0, _020331A0 ; =sub_020331A4 - add r2, r5, #0 - add r3, r6, #0 - bl sub_020DFD7C - cmp r0, #2 - bne _0203318E - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0203318E: - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_02033194: .word 0x021D4124 -_02033198: .word 0x00001304 -_0203319C: .word 0x0000FFFF -_020331A0: .word sub_020331A4 - thumb_func_end sub_0203314C - - thumb_func_start sub_020331A4 -sub_020331A4: ; 0x020331A4 - push {r3, lr} - ldrh r1, [r0, #2] - cmp r1, #0 - beq _020331B8 - cmp r1, #0xf - beq _020331B8 - add r0, r1, #0 - bl sub_02032858 - pop {r3, pc} -_020331B8: - ldr r2, [r0, #0x20] - cmp r2, #0 - beq _020331CA - cmp r1, #0 - bne _020331C6 - mov r0, #1 - b _020331C8 -_020331C6: - mov r0, #0 -_020331C8: - blx r2 -_020331CA: - pop {r3, pc} - thumb_func_end sub_020331A4 - - thumb_func_start sub_020331CC -sub_020331CC: ; 0x020331CC - push {r3, lr} - add r2, r0, #0 - ldrh r0, [r2, #2] - cmp r0, #0 - beq _020331DC - bl sub_02032858 - pop {r3, pc} -_020331DC: - ldr r0, _0203320C ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033210 ; =0x00001318 - ldr r3, [r1, r0] - cmp r3, #0 - beq _02033208 - ldrh r0, [r2, #4] - cmp r0, #0x19 - beq _02033208 - cmp r0, #0x15 - bne _020331FC - ldrh r0, [r2, #0x12] - ldr r1, [r2, #0xc] - ldrh r2, [r2, #0x10] - blx r3 - pop {r3, pc} -_020331FC: - cmp r0, #9 - bne _02033208 - ldrh r0, [r2, #0x12] - mov r1, #0 - add r2, r1, #0 - blx r3 -_02033208: - pop {r3, pc} - nop -_0203320C: .word 0x021D4124 -_02033210: .word 0x00001318 - thumb_func_end sub_020331CC - - thumb_func_start sub_02033214 -sub_02033214: ; 0x02033214 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _02033224 - mov r0, #0xa - bl sub_02032844 - pop {r3, pc} -_02033224: - mov r0, #0 - add r1, r0, #0 - bl sub_0209E248 - mov r0, #0 - bl sub_02032844 - pop {r3, pc} - thumb_func_end sub_02033214 - - thumb_func_start sub_02033234 -sub_02033234: ; 0x02033234 - ldr r1, _0203323C ; =0x021D4124 - ldr r1, [r1, #4] - str r0, [r1, #8] - bx lr - .balign 4, 0 -_0203323C: .word 0x021D4124 - thumb_func_end sub_02033234 - - thumb_func_start sub_02033240 -sub_02033240: ; 0x02033240 - ldr r2, _0203324C ; =0x021D4124 - ldr r3, [r2, #4] - str r0, [r3] - ldr r0, [r2, #4] - strh r1, [r0, #4] - bx lr - .balign 4, 0 -_0203324C: .word 0x021D4124 - thumb_func_end sub_02033240 - - thumb_func_start sub_02033250 -sub_02033250: ; 0x02033250 - ldr r0, _0203325C ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033260 ; =0x0000132E - ldrh r0, [r1, r0] - bx lr - nop -_0203325C: .word 0x021D4124 -_02033260: .word 0x0000132E - thumb_func_end sub_02033250 - - thumb_func_start sub_02033264 -sub_02033264: ; 0x02033264 - push {r3, r4} - ldr r0, _02033290 ; =0x021D4124 - mov r2, #0 - ldr r1, [r0, #4] - ldr r0, _02033294 ; =0x0000132E - add r3, r2, #0 - ldrh r4, [r1, r0] - mov r1, #1 -_02033274: - add r0, r4, #0 - tst r0, r1 - beq _0203327C - add r2, r2, #1 -_0203327C: - lsl r0, r4, #0xf - add r3, r3, #1 - lsr r4, r0, #0x10 - cmp r3, #0x10 - blt _02033274 - lsl r0, r2, #0x10 - lsr r0, r0, #0x10 - pop {r3, r4} - bx lr - nop -_02033290: .word 0x021D4124 -_02033294: .word 0x0000132E - thumb_func_end sub_02033264 - - thumb_func_start sub_02033298 -sub_02033298: ; 0x02033298 - ldr r0, _020332A4 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _020332A8 ; =0x00001310 - ldr r0, [r1, r0] - bx lr - nop -_020332A4: .word 0x021D4124 -_020332A8: .word 0x00001310 - thumb_func_end sub_02033298 - - thumb_func_start sub_020332AC -sub_020332AC: ; 0x020332AC - ldr r0, _020332B8 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _020332BC ; =0x00001330 - ldr r0, [r1, r0] - bx lr - nop -_020332B8: .word 0x021D4124 -_020332BC: .word 0x00001330 - thumb_func_end sub_020332AC - - thumb_func_start sub_020332C0 -sub_020332C0: ; 0x020332C0 - push {r3, r4, r5, lr} - sub sp, #8 - add r0, sp, #0 - bl OS_GetMacAddress - ldr r0, _02033348 ; =0x027FFC3C - ldr r3, [r0] - add r0, sp, #0 - ldrh r2, [r0, #4] - ldrh r1, [r0, #2] - ldrh r0, [r0] - add r0, r0, r3 - add r0, r1, r0 - add r1, r2, r0 - ldr r3, _0203334C ; =0x021D4124 - ldr r2, _02033350 ; =0x00001338 - ldr r0, [r3, #4] - str r1, [r0, r2] - ldr r0, [r3, #4] - ldr r1, _02033354 ; =0x00010DCD - ldr r4, [r0, r2] - add r5, r4, #0 - mul r5, r1 - ldr r1, _02033358 ; =0x00003039 - mov r4, #0 - add r1, r5, r1 - str r1, [r0, r2] - ldr r1, [r3, #4] - add r0, r2, #4 - strh r4, [r1, r0] - ldr r1, [r3, #4] - mov r4, #0x65 - add r0, r2, #6 - strh r4, [r1, r0] - mov r0, #3 - bl sub_02032844 - mov r0, #1 - bl sub_0203335C - cmp r0, #0x18 - bne _0203332C - mov r0, #0x18 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - mov r0, #1 - bl sub_02039AD8 - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, pc} -_0203332C: - cmp r0, #2 - beq _02033340 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, pc} -_02033340: - mov r0, #1 - add sp, #8 - pop {r3, r4, r5, pc} - nop -_02033348: .word 0x027FFC3C -_0203334C: .word 0x021D4124 -_02033350: .word 0x00001338 -_02033354: .word 0x00010DCD -_02033358: .word 0x00003039 - thumb_func_end sub_020332C0 - - thumb_func_start sub_0203335C -sub_0203335C: ; 0x0203335C - push {r4, lr} - add r4, r0, #0 - bl sub_020DEF24 - mov r1, #2 - lsl r1, r1, #0xe - cmp r0, r1 - bne _02033382 - mov r0, #3 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - mov r0, #1 - bl sub_02039AD8 - mov r0, #3 - pop {r4, pc} -_02033382: - cmp r0, #0 - bne _0203339C - mov r0, #0x16 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - mov r0, #1 - bl sub_02039AD8 - mov r0, #0x18 - pop {r4, pc} -_0203339C: - mov r2, #1 - sub r1, r4, #1 - lsl r2, r1 - add r1, r2, #0 - tst r1, r0 - bne _020333C4 - mov r2, #1 -_020333AA: - add r1, r4, #1 - lsl r1, r1, #0x10 - lsr r4, r1, #0x10 - cmp r4, #0x10 - bls _020333B8 - mov r0, #0x18 - pop {r4, pc} -_020333B8: - sub r1, r4, #1 - add r3, r2, #0 - lsl r3, r1 - add r1, r3, #0 - tst r1, r0 - beq _020333AA -_020333C4: - ldr r0, _020333D4 ; =sub_020333D8 - add r1, r4, #0 - bl sub_02033454 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - pop {r4, pc} - nop -_020333D4: .word sub_020333D8 - thumb_func_end sub_0203335C - - thumb_func_start sub_020333D8 -sub_020333D8: ; 0x020333D8 - push {r3, r4, r5, lr} - ldrh r1, [r0, #2] - cmp r1, #0 - beq _020333F4 - add r0, r1, #0 - bl sub_02032858 - mov r0, #9 - bl sub_02032844 - mov r0, #1 - bl sub_02039AD8 - pop {r3, r4, r5, pc} -_020333F4: - ldr r2, _0203344C ; =0x021D4124 - ldrh r1, [r0, #8] - ldrh r5, [r0, #0xa] - ldr r0, [r2, #4] - ldr r3, _02033450 ; =0x0000133E - ldrh r4, [r0, r3] - cmp r4, r5 - bls _02033414 - strh r5, [r0, r3] - mov r4, #1 - sub r0, r1, #1 - lsl r4, r0 - ldr r2, [r2, #4] - add r0, r3, #2 - strh r4, [r2, r0] - b _02033428 -_02033414: - cmp r4, r5 - bne _02033428 - add r2, r3, #2 - ldrh r5, [r0, r2] - mov r4, #1 - sub r2, r1, #1 - lsl r4, r2 - orr r4, r5 - add r2, r3, #2 - strh r4, [r0, r2] -_02033428: - add r0, r1, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203335C - cmp r0, #0x18 - bne _0203343E - mov r0, #7 - bl sub_02032844 - pop {r3, r4, r5, pc} -_0203343E: - cmp r0, #2 - beq _02033448 - mov r0, #9 - bl sub_02032844 -_02033448: - pop {r3, r4, r5, pc} - nop -_0203344C: .word 0x021D4124 -_02033450: .word 0x0000133E - thumb_func_end sub_020333D8 - - thumb_func_start sub_02033454 -sub_02033454: ; 0x02033454 - push {r3, lr} - add r3, r1, #0 - mov r1, #0x1e - str r1, [sp] - mov r1, #3 - mov r2, #0x11 - bl sub_020E0EF4 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02033454 - - thumb_func_start sub_02033468 -sub_02033468: ; 0x02033468 - push {r3, lr} - mov r0, #1 - bl sub_02032844 - ldr r0, _0203348C ; =0x021D4124 - ldr r1, [r0, #4] - mov r0, #0x4d - lsl r0, r0, #6 - ldrh r0, [r1, r0] - bl sub_02033494 - ldr r2, _0203348C ; =0x021D4124 - ldr r1, _02033490 ; =0x0000133C - ldr r3, [r2, #4] - strh r0, [r3, r1] - ldr r0, [r2, #4] - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203348C: .word 0x021D4124 -_02033490: .word 0x0000133C - thumb_func_end sub_02033468 - - thumb_func_start sub_02033494 -sub_02033494: ; 0x02033494 - push {r4, r5, r6, r7} - add r4, r0, #0 - mov r0, #0 - add r3, r0, #0 - add r2, r0, #0 - mov r1, #1 -_020334A0: - add r5, r1, #0 - lsl r5, r2 - tst r5, r4 - beq _020334B4 - add r0, r2, #1 - add r3, r3, #1 - lsl r0, r0, #0x10 - lsl r3, r3, #0x10 - asr r0, r0, #0x10 - lsr r3, r3, #0x10 -_020334B4: - add r2, r2, #1 - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - cmp r2, #0x10 - blt _020334A0 - cmp r3, #1 - bls _02033512 - ldr r5, _02033518 ; =0x021D4124 - ldr r2, _0203351C ; =0x00001338 - ldr r0, [r5, #4] - ldr r1, _02033520 ; =0x00010DCD - ldr r6, [r0, r2] - add r7, r6, #0 - mul r7, r1 - ldr r1, _02033524 ; =0x00003039 - add r1, r7, r1 - str r1, [r0, r2] - ldr r0, [r5, #4] - mov r1, #1 - ldr r0, [r0, r2] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mul r0, r3 - lsl r0, r0, #8 - lsr r2, r0, #0x10 - mov r3, #0 -_020334E8: - add r0, r4, #0 - tst r0, r1 - beq _02033502 - cmp r2, #0 - bne _020334FC - add r0, r3, #1 - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - pop {r4, r5, r6, r7} - bx lr -_020334FC: - sub r0, r2, #1 - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 -_02033502: - lsl r0, r4, #0xf - lsr r4, r0, #0x10 - add r0, r3, #1 - lsl r0, r0, #0x10 - asr r3, r0, #0x10 - cmp r3, #0x10 - blt _020334E8 - mov r0, #0 -_02033512: - pop {r4, r5, r6, r7} - bx lr - nop -_02033518: .word 0x021D4124 -_0203351C: .word 0x00001338 -_02033520: .word 0x00010DCD -_02033524: .word 0x00003039 - thumb_func_end sub_02033494 - - thumb_func_start sub_02033528 -sub_02033528: ; 0x02033528 - push {r4, r5, r6, lr} - lsl r2, r0, #0x1b - lsr r3, r2, #0x1b - beq _02033536 - mov r2, #0x20 - sub r2, r2, r3 - add r0, r0, r2 -_02033536: - ldr r3, _020335AC ; =0x021D4124 - ldr r2, _020335B0 ; =0x00001308 - str r0, [r3, #4] - mov r4, #0 - str r4, [r0, r2] - ldr r5, [r3, #4] - sub r0, r2, #4 - str r4, [r5, r0] - add r0, r2, #0 - ldr r5, [r3, #4] - add r0, #0x10 - str r4, [r5, r0] - add r0, r2, #0 - ldr r5, [r3, #4] - add r0, #0x24 - strh r4, [r5, r0] - add r0, r2, #0 - ldr r5, [r3, #4] - mov r6, #1 - add r0, #0x26 - strh r6, [r5, r0] - add r0, r2, #0 - ldr r5, [r3, #4] - add r0, #0x28 - str r4, [r5, r0] - add r0, r2, #0 - ldr r5, [r3, #4] - add r0, #8 - str r4, [r5, r0] - ldr r0, [r3, #4] - mov r6, #8 - str r4, [r0] - ldr r0, [r3, #4] - strh r4, [r0, #4] - add r0, r2, #0 - ldr r5, [r3, #4] - add r0, #0x14 - str r4, [r5, r0] - add r0, r2, #0 - ldr r5, [r3, #4] - add r0, #0x2c - strb r6, [r5, r0] - add r0, r2, #0 - ldr r5, [r3, #4] - add r0, #0x2d - strb r4, [r5, r0] - ldr r0, [r3, #4] - add r2, #0x3a - strb r4, [r0, r2] - add r0, r1, #0 - bl sub_020335D4 - cmp r0, #0 - bne _020335A6 - add r0, r4, #0 - pop {r4, r5, r6, pc} -_020335A6: - mov r0, #1 - pop {r4, r5, r6, pc} - nop -_020335AC: .word 0x021D4124 -_020335B0: .word 0x00001308 - thumb_func_end sub_02033528 - - thumb_func_start sub_020335B4 -sub_020335B4: ; 0x020335B4 - mov r0, #0x4e - lsl r0, r0, #6 - bx lr - .balign 4, 0 - thumb_func_end sub_020335B4 - - thumb_func_start sub_020335BC -sub_020335BC: ; 0x020335BC - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #8 - bne _020335D0 - mov r0, #9 - bl sub_02032844 - mov r0, #0x19 - bl sub_02032858 -_020335D0: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_020335BC - - thumb_func_start sub_020335D4 -sub_020335D4: ; 0x020335D4 - push {r4, lr} - add r4, r0, #0 - mov r0, #3 - bl sub_02032844 - cmp r4, #1 - bne _020335F2 - ldr r0, _02033618 ; =0x021D4124 - ldr r1, _0203361C ; =sub_02033620 - ldr r0, [r0, #4] - mov r2, #2 - add r0, #0x40 - bl sub_020DF3F8 - b _02033602 -_020335F2: - ldr r0, _02033618 ; =0x021D4124 - ldr r1, _0203361C ; =sub_02033620 - ldr r0, [r0, #4] - mov r2, #2 - add r0, #0x40 - mov r3, #0 - bl sub_020DF408 -_02033602: - cmp r0, #2 - beq _02033614 - bl sub_02032858 - mov r0, #0xa - bl sub_02032844 - mov r0, #0 - pop {r4, pc} -_02033614: - mov r0, #1 - pop {r4, pc} - .balign 4, 0 -_02033618: .word 0x021D4124 -_0203361C: .word sub_02033620 - thumb_func_end sub_020335D4 - - thumb_func_start sub_02033620 -sub_02033620: ; 0x02033620 - push {r3, lr} - ldrh r0, [r0, #2] - cmp r0, #0 - beq _0203363A - bl sub_02032858 - mov r0, #0xa - bl sub_02032844 - mov r0, #5 - bl sub_02039AD8 - pop {r3, pc} -_0203363A: - ldr r0, _02033660 ; =sub_020335BC - bl sub_020DEBA8 - cmp r0, #0 - beq _02033656 - bl sub_02032858 - mov r0, #0xa - bl sub_02032844 - mov r0, #5 - bl sub_02039AD8 - pop {r3, pc} -_02033656: - mov r0, #1 - bl sub_02032844 - pop {r3, pc} - nop -_02033660: .word sub_020335BC - thumb_func_end sub_02033620 - - thumb_func_start sub_02033664 -sub_02033664: ; 0x02033664 - bx lr - .balign 4, 0 - thumb_func_end sub_02033664 - - thumb_func_start sub_02033668 -sub_02033668: ; 0x02033668 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - add r4, r3, #0 - bl sub_0203993C - bl sub_020340C4 - cmp r0, #0 - beq _0203368C - ldr r0, _0203372C ; =sub_02033664 - mov r2, #0x64 - ldr r1, _02033730 ; =0x0000FFFF - mov r3, #5 - str r2, [sp] - bl sub_020E0E94 -_0203368C: - ldr r1, _02033734 ; =0x021D4124 - mov r0, #7 - ldr r2, [r1, #4] - ldr r1, _02033738 ; =0x00001308 - lsl r0, r0, #6 - str r0, [r2, r1] - ldr r0, _02033734 ; =0x021D4124 - mov r3, #0xe0 - ldr r2, [r0, #4] - sub r0, r1, #4 - str r3, [r2, r0] - ldr r0, _02033734 ; =0x021D4124 - add r1, #0xc - ldr r0, [r0, #4] - str r5, [r0, r1] - mov r0, #3 - bl sub_02032844 - ldr r1, _02033734 ; =0x021D4124 - cmp r5, #0 - ldr r0, [r1, #4] - strh r6, [r0, #0xc] - ldr r0, [r1, #4] - strh r7, [r0, #0x32] - add r0, sp, #8 - ldrh r2, [r0, #0x10] - ldr r0, [r1, #4] - strh r2, [r0, #0x18] - beq _020336CC - cmp r5, #4 - beq _020336E6 - b _020336F2 -_020336CC: - ldr r0, [r1, #4] - mov r2, #0xc0 - strh r2, [r0, #0x34] - cmp r4, #5 - blo _020336DE - ldr r0, [r1, #4] - mov r2, #0xc - strh r2, [r0, #0x36] - b _020336F2 -_020336DE: - ldr r0, [r1, #4] - mov r2, #0x26 - strh r2, [r0, #0x36] - b _020336F2 -_020336E6: - ldr r0, [r1, #4] - mov r2, #0x64 - strh r2, [r0, #0x34] - ldr r0, [r1, #4] - mov r2, #0xc - strh r2, [r0, #0x36] -_020336F2: - ldr r1, _02033734 ; =0x021D4124 - ldr r0, [r1, #4] - strh r4, [r0, #0x10] - ldr r2, [r1, #4] - mov r0, #0 - strh r0, [r2, #0x16] - ldr r2, [r1, #4] - cmp r5, #2 - strh r0, [r2, #0x12] - ldr r2, [sp, #0x1c] - ldr r1, [r1, #4] - strh r2, [r1, #0xe] - bne _0203370E - mov r0, #1 -_0203370E: - ldr r1, _02033734 ; =0x021D4124 - cmp r5, #0 - ldr r1, [r1, #4] - strh r0, [r1, #0x14] - beq _02033720 - cmp r5, #2 - beq _02033720 - cmp r5, #4 - bne _02033726 -_02033720: - bl sub_02032874 - pop {r3, r4, r5, r6, r7, pc} -_02033726: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203372C: .word sub_02033664 -_02033730: .word 0x0000FFFF -_02033734: .word 0x021D4124 -_02033738: .word 0x00001308 - thumb_func_end sub_02033668 - - thumb_func_start sub_0203373C -sub_0203373C: ; 0x0203373C - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r0, #0 - add r4, r1, #0 - bl sub_0203993C - bl sub_020340C4 - cmp r0, #0 - beq _0203375E - ldr r0, _020337BC ; =sub_02033664 - mov r2, #0x64 - ldr r1, _020337C0 ; =0x0000FFFF - mov r3, #5 - str r2, [sp] - bl sub_020E0E94 -_0203375E: - ldr r2, _020337C4 ; =0x021D4124 - mov r3, #2 - ldr r0, [r2, #4] - ldr r1, _020337C8 ; =0x00001308 - lsl r3, r3, #8 - str r3, [r0, r1] - sub r0, r1, #4 - ldr r3, [r2, #4] - mov r6, #0x40 - str r6, [r3, r0] - ldr r0, [r2, #4] - add r1, #0xc - str r5, [r0, r1] - mov r0, #3 - bl sub_02032844 - cmp r5, #1 - beq _0203378A - cmp r5, #3 - beq _0203378A - cmp r5, #5 - bne _020337B4 -_0203378A: - ldr r1, _020337C4 ; =0x021D4124 - add r0, r4, #0 - ldr r2, [r1, #4] - ldr r1, _020337CC ; =0x00001220 - add r1, r2, r1 - mov r2, #0xc0 - bl sub_020D4A50 - ldr r0, _020337C4 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _020337CC ; =0x00001220 - add r0, r1, r0 - mov r1, #0xc0 - bl DC_FlushRange - bl sub_020D28B8 - bl sub_02032E9C - add sp, #4 - pop {r3, r4, r5, r6, pc} -_020337B4: - mov r0, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - nop -_020337BC: .word sub_02033664 -_020337C0: .word 0x0000FFFF -_020337C4: .word 0x021D4124 -_020337C8: .word 0x00001308 -_020337CC: .word 0x00001220 - thumb_func_end sub_0203373C - - thumb_func_start sub_020337D0 -sub_020337D0: ; 0x020337D0 - push {r3, lr} - ldr r2, _020337F4 ; =0x021D4124 - ldr r3, [r2, #4] - ldr r2, _020337F8 ; =0x00001318 - str r0, [r3, r2] - lsl r0, r1, #0x10 - ldr r1, _020337FC ; =sub_020331CC - lsr r0, r0, #0x10 - mov r2, #0 - bl sub_020DEBEC - cmp r0, #0 - beq _020337F2 - mov r0, #9 - bl sub_02032844 -_020337F0: - b _020337F0 -_020337F2: - pop {r3, pc} - .balign 4, 0 -_020337F4: .word 0x021D4124 -_020337F8: .word 0x00001318 -_020337FC: .word sub_020331CC - thumb_func_end sub_020337D0 - - thumb_func_start sub_02033800 -sub_02033800: ; 0x02033800 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - add r7, r3, #0 - bl sub_020338F4 - cmp r0, #0 - bne _02033820 - bl sub_02033250 - mov r1, #0xfe - tst r0, r1 - bne _02033820 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02033820: - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - add r3, r7, #0 - bl sub_0203314C - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02033800 - - thumb_func_start sub_02033830 -sub_02033830: ; 0x02033830 - push {r3, lr} - ldr r0, _02033850 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033854 ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #2 - bne _02033840 -_0203383E: - b _0203383E -_02033840: - bl sub_02033108 - cmp r0, #0 - bne _0203384E - mov r0, #0xa - bl sub_02032844 -_0203384E: - pop {r3, pc} - .balign 4, 0 -_02033850: .word 0x021D4124 -_02033854: .word 0x00001310 - thumb_func_end sub_02033830 - - thumb_func_start sub_02033858 -sub_02033858: ; 0x02033858 - push {r3, lr} - ldr r0, _020338C4 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _020338C8 ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #1 - beq _020338C2 - cmp r0, #6 - beq _0203387E - cmp r0, #5 - beq _0203387E - cmp r0, #4 - beq _0203387E - mov r0, #3 - bl sub_02032844 - bl sub_02033830 - pop {r3, pc} -_0203387E: - mov r0, #3 - bl sub_02032844 - ldr r0, _020338C4 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _020338CC ; =0x00001314 - ldr r0, [r1, r0] - cmp r0, #5 - bhi _020338C2 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203389C: ; jump table - .short _020338B6 - _0203389C - 2 ; case 0 - .short _020338A8 - _0203389C - 2 ; case 1 - .short _020338C2 - _0203389C - 2 ; case 2 - .short _020338C2 - _0203389C - 2 ; case 3 - .short _020338B6 - _0203389C - 2 ; case 4 - .short _020338A8 - _0203389C - 2 ; case 5 -_020338A8: - bl sub_02033080 - cmp r0, #0 - bne _020338C2 - bl sub_02033830 - pop {r3, pc} -_020338B6: - bl sub_02032B0C - cmp r0, #0 - bne _020338C2 - bl sub_02033830 -_020338C2: - pop {r3, pc} - .balign 4, 0 -_020338C4: .word 0x021D4124 -_020338C8: .word 0x00001310 -_020338CC: .word 0x00001314 - thumb_func_end sub_02033858 - - thumb_func_start sub_020338D0 -sub_020338D0: ; 0x020338D0 - push {r3, lr} - mov r0, #3 - bl sub_02032844 - ldr r0, _020338F0 ; =sub_02033214 - bl sub_020DF4B8 - cmp r0, #2 - beq _020338EC - mov r0, #9 - bl sub_02032844 - mov r0, #0 - pop {r3, pc} -_020338EC: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 -_020338F0: .word sub_02033214 - thumb_func_end sub_020338D0 - - thumb_func_start sub_020338F4 -sub_020338F4: ; 0x020338F4 - ldr r0, _02033900 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033904 ; =0x0000132C - ldrh r0, [r1, r0] - bx lr - nop -_02033900: .word 0x021D4124 -_02033904: .word 0x0000132C - thumb_func_end sub_020338F4 - - thumb_func_start sub_02033908 -sub_02033908: ; 0x02033908 - ldr r1, _02033918 ; =0x021D4124 - ldr r2, [r1, #4] - cmp r2, #0 - beq _02033914 - ldr r1, _0203391C ; =0x00001334 - strb r0, [r2, r1] -_02033914: - bx lr - nop -_02033918: .word 0x021D4124 -_0203391C: .word 0x00001334 - thumb_func_end sub_02033908 - - thumb_func_start sub_02033920 -sub_02033920: ; 0x02033920 - ldr r0, _02033934 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033938 ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #1 - bne _02033930 - mov r0, #1 - bx lr -_02033930: - mov r0, #0 - bx lr - .balign 4, 0 -_02033934: .word 0x021D4124 -_02033938: .word 0x00001310 - thumb_func_end sub_02033920 - - thumb_func_start sub_0203393C -sub_0203393C: ; 0x0203393C - ldr r0, _02033950 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033954 ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #3 - bne _0203394C - mov r0, #1 - bx lr -_0203394C: - mov r0, #0 - bx lr - .balign 4, 0 -_02033950: .word 0x021D4124 -_02033954: .word 0x00001310 - thumb_func_end sub_0203393C - - thumb_func_start sub_02033958 -sub_02033958: ; 0x02033958 - ldr r0, _0203396C ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033970 ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #9 - bne _02033968 - mov r0, #1 - bx lr -_02033968: - mov r0, #0 - bx lr - .balign 4, 0 -_0203396C: .word 0x021D4124 -_02033970: .word 0x00001310 - thumb_func_end sub_02033958 - - thumb_func_start sub_02033974 -sub_02033974: ; 0x02033974 - ldr r0, _02033988 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _0203398C ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #0xa - bne _02033984 - mov r0, #1 - bx lr -_02033984: - mov r0, #0 - bx lr - .balign 4, 0 -_02033988: .word 0x021D4124 -_0203398C: .word 0x00001310 - thumb_func_end sub_02033974 - - thumb_func_start sub_02033990 -sub_02033990: ; 0x02033990 - ldr r0, _020339AC ; =0x021D4124 - ldr r1, [r0, #4] - cmp r1, #0 - beq _020339A8 - ldr r0, _020339B0 ; =0x00001310 - ldr r0, [r1, r0] - cmp r0, #2 - bne _020339A4 - mov r0, #1 - bx lr -_020339A4: - mov r0, #0 - bx lr -_020339A8: - mov r0, #0 - bx lr - .balign 4, 0 -_020339AC: .word 0x021D4124 -_020339B0: .word 0x00001310 - thumb_func_end sub_02033990 - - thumb_func_start sub_020339B4 -sub_020339B4: ; 0x020339B4 - push {r4, r5, r6, lr} - sub sp, #8 - add r6, r0, #0 - ldr r0, _020339E8 ; =0x021D4124 - add r5, r1, #0 - ldr r1, [r0, #4] - ldr r0, _020339EC ; =0x00001310 - add r4, r2, #0 - ldr r0, [r1, r0] - cmp r0, #4 - bne _020339E2 - lsl r0, r3, #0x10 - lsr r0, r0, #0x10 - str r0, [sp] - mov r0, #1 - lsl r2, r5, #0x10 - str r0, [sp, #4] - mov r0, #0 - add r1, r6, #0 - lsr r2, r2, #0x10 - add r3, r4, #0 - bl sub_020E0D8C -_020339E2: - add sp, #8 - pop {r4, r5, r6, pc} - nop -_020339E8: .word 0x021D4124 -_020339EC: .word 0x00001310 - thumb_func_end sub_020339B4 - - thumb_func_start sub_020339F0 -sub_020339F0: ; 0x020339F0 - ldrh r0, [r0, #2] - cmp r0, #0 - bne _02033A00 - ldr r0, _02033A04 ; =0x021D4124 - mov r2, #1 - ldr r1, [r0, #4] - ldr r0, _02033A08 ; =0x00001344 - strb r2, [r1, r0] -_02033A00: - bx lr - nop -_02033A04: .word 0x021D4124 -_02033A08: .word 0x00001344 - thumb_func_end sub_020339F0 - - thumb_func_start sub_02033A0C -sub_02033A0C: ; 0x02033A0C - push {r4, lr} - ldr r2, _02033A38 ; =0x021D4124 - add r1, r0, #0 - ldr r3, [r2, #4] - ldr r0, _02033A3C ; =0x00001344 - mov r4, #0 - strb r4, [r3, r0] - ldr r2, [r2, #4] - sub r0, #0x34 - ldr r0, [r2, r0] - cmp r0, #4 - bne _02033A32 - ldr r0, _02033A40 ; =sub_020339F0 - bl sub_020E0F6C - cmp r0, #2 - bne _02033A32 - mov r0, #1 - pop {r4, pc} -_02033A32: - mov r0, #0 - pop {r4, pc} - nop -_02033A38: .word 0x021D4124 -_02033A3C: .word 0x00001344 -_02033A40: .word sub_020339F0 - thumb_func_end sub_02033A0C - - thumb_func_start sub_02033A44 -sub_02033A44: ; 0x02033A44 - ldr r0, _02033A60 ; =0x021D4124 - ldr r1, [r0, #4] - cmp r1, #0 - beq _02033A5C - ldr r0, _02033A64 ; =0x00001345 - ldrb r0, [r1, r0] - cmp r0, #6 - blo _02033A58 - mov r0, #1 - bx lr -_02033A58: - mov r0, #0 - bx lr -_02033A5C: - mov r0, #0 - bx lr - .balign 4, 0 -_02033A60: .word 0x021D4124 -_02033A64: .word 0x00001345 - thumb_func_end sub_02033A44 - - thumb_func_start sub_02033A68 -sub_02033A68: ; 0x02033A68 - ldr r0, _02033A74 ; =0x021D4124 - mov r2, #0 - ldr r1, [r0, #4] - ldr r0, _02033A78 ; =0x00001345 - strb r2, [r1, r0] - bx lr - .balign 4, 0 -_02033A74: .word 0x021D4124 -_02033A78: .word 0x00001345 - thumb_func_end sub_02033A68 - - thumb_func_start sub_02033A7C -sub_02033A7C: ; 0x02033A7C - ldr r1, _02033A88 ; =0x021D4124 - ldr r2, [r1, #4] - ldr r1, _02033A8C ; =0x00001320 - str r0, [r2, r1] - bx lr - nop -_02033A88: .word 0x021D4124 -_02033A8C: .word 0x00001320 - thumb_func_end sub_02033A7C - - thumb_func_start sub_02033A90 -sub_02033A90: ; 0x02033A90 - ldr r1, _02033A9C ; =0x021D4124 - ldr r2, [r1, #4] - ldr r1, _02033AA0 ; =0x00001328 - str r0, [r2, r1] - bx lr - nop -_02033A9C: .word 0x021D4124 -_02033AA0: .word 0x00001328 - thumb_func_end sub_02033A90 - - thumb_func_start sub_02033AA4 -sub_02033AA4: ; 0x02033AA4 - ldr r1, _02033AB0 ; =0x021D4124 - ldr r2, [r1, #4] - ldr r1, _02033AB4 ; =0x00001342 - strb r0, [r2, r1] - bx lr - nop -_02033AB0: .word 0x021D4124 -_02033AB4: .word 0x00001342 - thumb_func_end sub_02033AA4 - - thumb_func_start sub_02033AB8 -sub_02033AB8: ; 0x02033AB8 - ldr r0, _02033AC4 ; =0x021D4124 - ldr r1, [r0, #4] - ldr r0, _02033AC8 ; =0x00001342 - ldrb r0, [r1, r0] - bx lr - nop -_02033AC4: .word 0x021D4124 -_02033AC8: .word 0x00001342 - thumb_func_end sub_02033AB8 - - thumb_func_start sub_02033ACC -sub_02033ACC: ; 0x02033ACC - ldr r1, _02033AD8 ; =0x021D4124 - ldr r2, [r1, #4] - ldr r1, _02033ADC ; =0x00001343 - strb r0, [r2, r1] - bx lr - nop -_02033AD8: .word 0x021D4124 -_02033ADC: .word 0x00001343 - thumb_func_end sub_02033ACC - - thumb_func_start sub_02033AE0 -sub_02033AE0: ; 0x02033AE0 - str r1, [r0] - strh r2, [r0, #0xa] - mov r1, #0 - strh r1, [r0, #4] - strh r1, [r0, #6] - strh r1, [r0, #8] - bx lr - .balign 4, 0 - thumb_func_end sub_02033AE0 - - thumb_func_start sub_02033AF0 -sub_02033AF0: ; 0x02033AF0 - push {r3, r4, r5, r6, r7, lr} - str r2, [sp] - add r5, r0, #0 - add r7, r1, #0 - bl sub_02033BF4 - ldr r1, [sp] - cmp r0, r1 - bgt _02033B08 - bl sub_02037974 - pop {r3, r4, r5, r6, r7, pc} -_02033B08: - mov r0, #8 - ldrsh r4, [r5, r0] - ldrsh r1, [r5, r0] - ldr r0, [sp] - mov r6, #0 - add r0, r1, r0 - cmp r4, r0 - bge _02033B3E -_02033B18: - cmp r7, #0 - bne _02033B20 - bl GF_AssertFail -_02033B20: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02033C14 - ldrb r2, [r7, r6] - ldr r1, [r5] - add r4, r4, #1 - strb r2, [r1, r0] - mov r0, #8 - ldrsh r1, [r5, r0] - ldr r0, [sp] - add r6, r6, #1 - add r0, r1, r0 - cmp r4, r0 - blt _02033B18 -_02033B3E: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02033C14 - strh r0, [r5, #8] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02033AF0 - - thumb_func_start sub_02033B4C -sub_02033B4C: ; 0x02033B4C - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02033B78 - mov r1, #4 - add r4, r0, #0 - ldrsh r1, [r5, r1] - add r0, r5, #0 - add r1, r1, r4 - bl sub_02033C14 - strh r0, [r5, #4] - add r0, r4, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_02033B4C - - thumb_func_start sub_02033B68 -sub_02033B68: ; 0x02033B68 - push {r3, lr} - add r1, sp, #0 - mov r2, #1 - bl sub_02033B4C - add r0, sp, #0 - ldrb r0, [r0] - pop {r3, pc} - thumb_func_end sub_02033B68 - - thumb_func_start sub_02033B78 -sub_02033B78: ; 0x02033B78 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - mov r0, #4 - ldrsh r4, [r5, r0] - add r7, r2, #0 - str r1, [sp] - add r0, r4, r7 - mov r6, #0 - cmp r4, r0 - bge _02033BBE -_02033B8C: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02033C14 - mov r1, #6 - ldrsh r1, [r5, r1] - cmp r1, r0 - bne _02033BA0 - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} -_02033BA0: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02033C14 - ldr r1, [r5] - add r4, r4, #1 - ldrb r1, [r1, r0] - ldr r0, [sp] - strb r1, [r0, r6] - mov r0, #4 - ldrsh r0, [r5, r0] - add r6, r6, #1 - add r0, r0, r7 - cmp r4, r0 - blt _02033B8C -_02033BBE: - add r0, r6, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02033B78 - - thumb_func_start sub_02033BC4 -sub_02033BC4: ; 0x02033BC4 - mov r1, #4 - mov r3, #6 - ldrsh r1, [r0, r1] - ldrsh r2, [r0, r3] - cmp r1, r2 - ble _02033BDC - mov r2, #0xa - ldrsh r2, [r0, r2] - ldrsh r0, [r0, r3] - add r0, r2, r0 - sub r0, r0, r1 - bx lr -_02033BDC: - ldrsh r0, [r0, r3] - sub r0, r0, r1 - bx lr - .balign 4, 0 - thumb_func_end sub_02033BC4 - - thumb_func_start sub_02033BE4 -sub_02033BE4: ; 0x02033BE4 - push {r4, lr} - add r4, r0, #0 - bl sub_02033BC4 - mov r1, #0xa - ldrsh r1, [r4, r1] - sub r0, r1, r0 - pop {r4, pc} - thumb_func_end sub_02033BE4 - - thumb_func_start sub_02033BF4 -sub_02033BF4: ; 0x02033BF4 - mov r1, #4 - mov r2, #8 - ldrsh r3, [r0, r1] - ldrsh r1, [r0, r2] - cmp r3, r1 - ble _02033C06 - ldrsh r0, [r0, r2] - sub r0, r3, r0 - bx lr -_02033C06: - mov r1, #0xa - ldrsh r1, [r0, r1] - ldrsh r0, [r0, r2] - sub r0, r0, r3 - sub r0, r1, r0 - bx lr - .balign 4, 0 - thumb_func_end sub_02033BF4 - - thumb_func_start sub_02033C14 -sub_02033C14: ; 0x02033C14 - push {r3, lr} - add r2, r0, #0 - add r0, r1, #0 - mov r1, #0xa - ldrsh r1, [r2, r1] - bl _s32_div_f - add r0, r1, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02033C14 - - thumb_func_start sub_02033C28 -sub_02033C28: ; 0x02033C28 - mov r1, #8 - ldrsh r1, [r0, r1] - strh r1, [r0, #6] - bx lr - thumb_func_end sub_02033C28 - - thumb_func_start sub_02033C30 -sub_02033C30: ; 0x02033C30 - ldr r3, [r0, #0x1c] - mov r2, #0 - ldr r1, [r0, #0x18] - cmp r3, #0 - ble _02033C4C -_02033C3A: - ldrb r0, [r1, #0xe] - cmp r0, #0 - bne _02033C44 - add r0, r1, #0 - bx lr -_02033C44: - add r2, r2, #1 - add r1, #0x10 - cmp r2, r3 - blt _02033C3A -_02033C4C: - mov r0, #0 - bx lr - thumb_func_end sub_02033C30 - - thumb_func_start sub_02033C50 -sub_02033C50: ; 0x02033C50 - ldr r3, [r0, #0x1c] - mov r2, #0 - ldr r1, [r0, #0x18] - cmp r3, #0 - ble _02033C6C -_02033C5A: - ldrb r0, [r1, #0xe] - cmp r0, #0 - beq _02033C64 - mov r0, #0 - bx lr -_02033C64: - add r2, r2, #1 - add r1, #0x10 - cmp r2, r3 - blt _02033C5A -_02033C6C: - mov r0, #1 - bx lr - thumb_func_end sub_02033C50 - - thumb_func_start sub_02033C70 -sub_02033C70: ; 0x02033C70 - ldr r1, [r0] - cmp r1, #0 - beq _02033C8E - ldr r1, [r1, #8] - cmp r1, #0 - beq _02033C84 - str r1, [r0] - mov r0, #0 - str r0, [r1, #4] - b _02033C8A -_02033C84: - mov r1, #0 - str r1, [r0] - str r1, [r0, #4] -_02033C8A: - mov r0, #1 - bx lr -_02033C8E: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_02033C70 - - thumb_func_start sub_02033C94 -sub_02033C94: ; 0x02033C94 - ldr r2, [r0] - strb r1, [r2] - ldr r1, [r0] - add r1, r1, #1 - str r1, [r0] - ldr r1, [r0, #4] - sub r1, r1, #1 - str r1, [r0, #4] - bne _02033CAA - mov r0, #1 - bx lr -_02033CAA: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_02033C94 - - thumb_func_start sub_02033CB0 -sub_02033CB0: ; 0x02033CB0 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldrb r0, [r5, #0xe] - add r4, r1, #0 - bl sub_020341DC - add r6, r0, #0 - ldr r0, _02033D24 ; =0x0000FFFF - cmp r6, r0 - ldr r0, [r4, #4] - bne _02033CD6 - cmp r0, #3 - bge _02033CE6 - ldrb r1, [r5, #0xf] - mov r0, #1 - bic r1, r0 - strb r1, [r5, #0xf] - mov r0, #1 - pop {r4, r5, r6, pc} -_02033CD6: - cmp r0, #1 - bge _02033CE6 - ldrb r1, [r5, #0xf] - mov r0, #1 - bic r1, r0 - strb r1, [r5, #0xf] - mov r0, #1 - pop {r4, r5, r6, pc} -_02033CE6: - ldrb r1, [r5, #0xe] - add r0, r4, #0 - bl sub_02033C94 - ldr r0, _02033D24 ; =0x0000FFFF - cmp r6, r0 - bne _02033D10 - ldrh r1, [r5, #0xc] - add r0, r4, #0 - asr r1, r1, #8 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl sub_02033C94 - ldrh r1, [r5, #0xc] - add r0, r4, #0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl sub_02033C94 - b _02033D12 -_02033D10: - strh r6, [r5, #0xc] -_02033D12: - ldrb r1, [r5, #0xf] - mov r0, #1 - bic r1, r0 - mov r0, #1 - orr r0, r1 - strb r0, [r5, #0xf] - mov r0, #0 - pop {r4, r5, r6, pc} - nop -_02033D24: .word 0x0000FFFF - thumb_func_end sub_02033CB0 - - thumb_func_start sub_02033D28 -sub_02033D28: ; 0x02033D28 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldrb r0, [r5, #0xe] - add r4, r1, #0 - add r6, r2, #0 - add r7, r3, #0 - bl sub_020341DC - ldr r1, _02033DEC ; =0x0000FFFF - cmp r0, r1 - bne _02033D42 - mov r2, #3 - b _02033D44 -_02033D42: - mov r2, #1 -_02033D44: - ldrh r0, [r5, #0xc] - ldr r1, [r4, #4] - add r0, r0, r2 - cmp r1, r0 - bge _02033D56 - cmp r7, #0 - bne _02033D56 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02033D56: - ldrb r0, [r5, #0xf] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - cmp r0, #1 - beq _02033D70 - add r0, r5, #0 - add r1, r4, #0 - bl sub_02033CB0 - cmp r0, #0 - beq _02033D70 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02033D70: - ldrh r3, [r5, #0xc] - ldr r2, [r4, #4] - cmp r2, r3 - ldrb r0, [r5, #0xf] - bge _02033DBA - lsl r0, r0, #0x1e - lsr r0, r0, #0x1f - beq _02033D8A - ldr r1, [r4] - add r0, r6, #0 - bl sub_02033B4C - b _02033DA0 -_02033D8A: - mov r3, #0 - cmp r2, #0 - ble _02033DA0 -_02033D90: - ldr r0, [r5] - ldrb r1, [r0, r3] - ldr r0, [r4] - strb r1, [r0, r3] - ldr r0, [r4, #4] - add r3, r3, #1 - cmp r3, r0 - blt _02033D90 -_02033DA0: - ldr r1, [r5] - ldr r0, [r4, #4] - add r0, r1, r0 - str r0, [r5] - ldrh r1, [r5, #0xc] - ldr r0, [r4, #4] - sub r0, r1, r0 - strh r0, [r5, #0xc] - mov r0, #0 - mvn r0, r0 - str r0, [r4, #4] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02033DBA: - lsl r0, r0, #0x1e - lsr r0, r0, #0x1f - beq _02033DCC - ldr r1, [r4] - add r0, r6, #0 - add r2, r3, #0 - bl sub_02033B4C - b _02033DD6 -_02033DCC: - ldr r0, [r5] - ldr r1, [r4] - add r2, r3, #0 - bl sub_020D4A50 -_02033DD6: - ldrh r0, [r5, #0xc] - ldr r1, [r4] - add r0, r1, r0 - str r0, [r4] - ldrh r0, [r5, #0xc] - ldr r1, [r4, #4] - sub r0, r1, r0 - str r0, [r4, #4] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - nop -_02033DEC: .word 0x0000FFFF - thumb_func_end sub_02033D28 - - thumb_func_start sub_02033DF0 -sub_02033DF0: ; 0x02033DF0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - str r1, [sp] - str r2, [sp, #4] - add r7, r3, #0 - bl sub_02033C30 - add r4, r0, #0 - bne _02033E0A - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02033E0A: - ldr r0, _02033E7C ; =0x0000FFFE - cmp r7, r0 - blt _02033E14 - bl GF_AssertFail -_02033E14: - ldr r0, [sp] - bl sub_020341DC - add r6, r0, #0 - ldr r0, _02033E80 ; =0x0000FFFF - cmp r6, r0 - bne _02033E24 - add r6, r7, #0 -_02033E24: - ldr r0, [sp, #0x24] - cmp r0, #0 - beq _02033E56 - ldr r0, [r5, #0x14] - bl sub_02033BE4 - add r1, r6, #3 - cmp r1, r0 - blt _02033E3C - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02033E3C: - ldr r0, [r5, #0x14] - ldr r1, [sp, #4] - ldr r3, _02033E84 ; =0x00000109 - add r2, r6, #0 - bl sub_02033AF0 - ldr r0, [r5, #0x14] - bl sub_02033C28 - ldrb r1, [r4, #0xf] - mov r0, #2 - orr r0, r1 - strb r0, [r4, #0xf] -_02033E56: - ldr r0, [sp] - strh r6, [r4, #0xc] - strb r0, [r4, #0xe] - ldr r0, [sp, #4] - str r0, [r4] - ldr r0, [r5, #4] - cmp r0, #0 - bne _02033E6C - str r4, [r5, #4] - str r4, [r5] - b _02033E74 -_02033E6C: - str r4, [r0, #8] - ldr r0, [r5, #4] - str r0, [r4, #4] - str r4, [r5, #4] -_02033E74: - mov r0, #1 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_02033E7C: .word 0x0000FFFE -_02033E80: .word 0x0000FFFF -_02033E84: .word 0x00000109 - thumb_func_end sub_02033DF0 - - thumb_func_start sub_02033E88 -sub_02033E88: ; 0x02033E88 - ldr r1, [r0, #0x10] - cmp r1, #0 - beq _02033E92 - add r0, r1, #0 - bx lr -_02033E92: - ldr r1, [r0] - cmp r1, #0 - beq _02033E9C - add r0, r1, #0 - bx lr -_02033E9C: - ldr r0, [r0, #8] - cmp r0, #0 - bne _02033EA4 - mov r0, #0 -_02033EA4: - bx lr - .balign 4, 0 - thumb_func_end sub_02033E88 - - thumb_func_start sub_02033EA8 -sub_02033EA8: ; 0x02033EA8 - push {r4, lr} - add r4, r0, #0 - ldr r1, [r4, #0x10] - cmp r1, #0 - beq _02033EB8 - mov r0, #0 - str r0, [r4, #0x10] - pop {r4, pc} -_02033EB8: - bl sub_02033C70 - cmp r0, #0 - bne _02033EC8 - add r4, #8 - add r0, r4, #0 - bl sub_02033C70 -_02033EC8: - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02033EA8 - - thumb_func_start sub_02033ECC -sub_02033ECC: ; 0x02033ECC - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, #4] - mov r7, #1 - str r2, [sp] - cmp r0, #0 - ble _02033F22 -_02033EDC: - add r0, r5, #0 - bl sub_02033E88 - add r6, r0, #0 - beq _02033F22 - add r0, r5, #0 - bl sub_02033EA8 - ldr r2, [r5, #0x14] - add r0, r6, #0 - add r1, r4, #0 - add r3, r7, #0 - bl sub_02033D28 - cmp r0, #0 - bne _02033F00 - str r6, [r5, #0x10] - b _02033F22 -_02033F00: - mov r0, #0 - ldr r1, [r4, #4] - mvn r0, r0 - cmp r1, r0 - bne _02033F10 - str r6, [r5, #0x10] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02033F10: - add r0, r6, #0 - mov r1, #0 - mov r2, #0x10 - bl MIi_CpuFill8 - ldr r0, [r4, #4] - ldr r7, [sp] - cmp r0, #0 - bgt _02033EDC -_02033F22: - ldr r0, [r4, #4] - mov r2, #0 - cmp r0, #0 - ble _02033F3E - mov r1, #0xee -_02033F2C: - ldr r0, [r4] - add r2, r2, #1 - strb r1, [r0] - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - ldr r0, [r4, #4] - cmp r2, r0 - blt _02033F2C -_02033F3E: - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02033ECC - - thumb_func_start sub_02033F44 -sub_02033F44: ; 0x02033F44 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r6, r2, #0 - mov r1, #0 - mov r2, #0x20 - add r5, r0, #0 - bl MIi_CpuFill8 - lsl r7, r4, #4 - mov r0, #0xf - add r1, r7, #0 - bl AllocFromHeap - mov r1, #0 - add r2, r7, #0 - str r0, [r5, #0x18] - bl MIi_CpuFill8 - str r4, [r5, #0x1c] - str r6, [r5, #0x14] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02033F44 - - thumb_func_start sub_02033F70 -sub_02033F70: ; 0x02033F70 - push {r4, lr} - add r4, r0, #0 - ldr r2, [r4, #0x1c] - ldr r0, [r4, #0x18] - mov r1, #0 - lsl r2, r2, #4 - bl MIi_CpuFill8 - mov r0, #0 - str r0, [r4] - str r0, [r4, #4] - str r0, [r4, #8] - str r0, [r4, #0xc] - str r0, [r4, #0x10] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02033F70 - - thumb_func_start sub_02033F90 -sub_02033F90: ; 0x02033F90 - ldr r3, _02033F98 ; =FreeToHeap - ldr r0, [r0, #0x18] - bx r3 - nop -_02033F98: .word FreeToHeap - thumb_func_end sub_02033F90 - - thumb_func_start sub_02033F9C -sub_02033F9C: ; 0x02033F9C - push {r3, r4} - ldr r4, [r0, #0x1c] - mov r2, #0 - ldr r3, [r0, #0x18] - cmp r4, #0 - ble _02033FBC -_02033FA8: - ldrb r0, [r3, #0xe] - cmp r0, r1 - bne _02033FB4 - mov r0, #1 - pop {r3, r4} - bx lr -_02033FB4: - add r2, r2, #1 - add r3, #0x10 - cmp r2, r4 - blt _02033FA8 -_02033FBC: - mov r0, #0 - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_02033F9C - - thumb_func_start sub_02033FC4 -sub_02033FC4: ; 0x02033FC4 - push {r3, r4, lr} - sub sp, #0x2c - ldr r3, _02033FEC ; =0x020F692C - add r4, r0, #0 - add r2, sp, #0 - mov r1, #0x29 -_02033FD0: - ldrb r0, [r3] - add r3, r3, #1 - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _02033FD0 - cmp r4, #0x29 - blo _02033FE4 - bl GF_AssertFail -_02033FE4: - add r0, sp, #0 - ldrb r0, [r0, r4] - add sp, #0x2c - pop {r3, r4, pc} - .balign 4, 0 -_02033FEC: .word 0x020F692C - thumb_func_end sub_02033FC4 - - thumb_func_start sub_02033FF0 -sub_02033FF0: ; 0x02033FF0 - push {r3, r4, lr} - sub sp, #0x2c - ldr r3, _02034018 ; =0x020F6955 - add r4, r0, #0 - add r2, sp, #0 - mov r1, #0x29 -_02033FFC: - ldrb r0, [r3] - add r3, r3, #1 - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _02033FFC - cmp r4, #0x29 - blo _02034010 - bl GF_AssertFail -_02034010: - add r0, sp, #0 - ldrb r0, [r0, r4] - add sp, #0x2c - pop {r3, r4, pc} - .balign 4, 0 -_02034018: .word 0x020F6955 - thumb_func_end sub_02033FF0 - - thumb_func_start sub_0203401C -sub_0203401C: ; 0x0203401C - cmp r0, #0x12 - bgt _02034036 - bge _0203403A - cmp r0, #0xd - bgt _0203403E - cmp r0, #7 - blt _0203403E - beq _0203403A - cmp r0, #9 - beq _0203403A - cmp r0, #0xd - beq _0203403A - b _0203403E -_02034036: - cmp r0, #0x1a - bne _0203403E -_0203403A: - mov r0, #1 - bx lr -_0203403E: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_0203401C - - thumb_func_start sub_02034044 -sub_02034044: ; 0x02034044 - sub r0, #0x13 - cmp r0, #0x11 - bhi _0203407E - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02034056: ; jump table - .short _0203407A - _02034056 - 2 ; case 0 - .short _0203407A - _02034056 - 2 ; case 1 - .short _0203407A - _02034056 - 2 ; case 2 - .short _0203407A - _02034056 - 2 ; case 3 - .short _0203407A - _02034056 - 2 ; case 4 - .short _0203407A - _02034056 - 2 ; case 5 - .short _0203407A - _02034056 - 2 ; case 6 - .short _0203407E - _02034056 - 2 ; case 7 - .short _0203407E - _02034056 - 2 ; case 8 - .short _0203407E - _02034056 - 2 ; case 9 - .short _0203407A - _02034056 - 2 ; case 10 - .short _0203407E - _02034056 - 2 ; case 11 - .short _0203407E - _02034056 - 2 ; case 12 - .short _0203407E - _02034056 - 2 ; case 13 - .short _0203407A - _02034056 - 2 ; case 14 - .short _0203407A - _02034056 - 2 ; case 15 - .short _0203407A - _02034056 - 2 ; case 16 - .short _0203407A - _02034056 - 2 ; case 17 -_0203407A: - mov r0, #1 - bx lr -_0203407E: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_02034044 - - thumb_func_start sub_02034084 -sub_02034084: ; 0x02034084 - cmp r0, #0x1d - beq _02034090 - cmp r0, #0x21 - beq _02034090 - cmp r0, #0x23 - bne _02034094 -_02034090: - mov r0, #1 - bx lr -_02034094: - mov r0, #0 - bx lr - thumb_func_end sub_02034084 - - thumb_func_start sub_02034098 -sub_02034098: ; 0x02034098 - cmp r0, #0x17 - bgt _020340B8 - add r1, r0, #0 - sub r1, #0x13 - bmi _020340C0 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_020340AE: ; jump table - .short _020340BC - _020340AE - 2 ; case 0 - .short _020340BC - _020340AE - 2 ; case 1 - .short _020340BC - _020340AE - 2 ; case 2 - .short _020340BC - _020340AE - 2 ; case 3 - .short _020340BC - _020340AE - 2 ; case 4 -_020340B8: - cmp r0, #0x22 - bne _020340C0 -_020340BC: - mov r0, #1 - bx lr -_020340C0: - mov r0, #0 - bx lr - thumb_func_end sub_02034098 - - thumb_func_start sub_020340C4 -sub_020340C4: ; 0x020340C4 - cmp r0, #0x26 - bgt _020340F6 - bge _02034102 - cmp r0, #8 - bgt _020340F0 - cmp r0, #0 - blt _02034106 - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_020340DE: ; jump table - .short _02034106 - _020340DE - 2 ; case 0 - .short _02034102 - _020340DE - 2 ; case 1 - .short _02034102 - _020340DE - 2 ; case 2 - .short _02034102 - _020340DE - 2 ; case 3 - .short _02034102 - _020340DE - 2 ; case 4 - .short _02034102 - _020340DE - 2 ; case 5 - .short _02034106 - _020340DE - 2 ; case 6 - .short _02034106 - _020340DE - 2 ; case 7 - .short _02034102 - _020340DE - 2 ; case 8 -_020340F0: - cmp r0, #0x25 - beq _02034102 - b _02034106 -_020340F6: - cmp r0, #0x27 - bgt _020340FE - beq _02034102 - b _02034106 -_020340FE: - cmp r0, #0x28 - bne _02034106 -_02034102: - mov r0, #1 - bx lr -_02034106: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_020340C4 - - thumb_func_start sub_0203410C -sub_0203410C: ; 0x0203410C - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, _02034150 ; =0x021D412C - add r4, r1, #0 - ldr r0, [r0] - add r6, r2, #0 - cmp r0, #0 - bne _02034128 - mov r0, #0xf - mov r1, #0x18 - bl AllocFromHeap - ldr r1, _02034150 ; =0x021D412C - str r0, [r1] -_02034128: - ldr r0, _02034150 ; =0x021D412C - mov r3, #0 - ldr r1, [r0] - add r2, r3, #0 - str r5, [r1] - ldr r1, [r0] - str r4, [r1, #4] - ldr r1, [r0] - str r6, [r1, #8] -_0203413A: - ldr r1, [r0] - add r1, r1, r3 - add r3, r3, #1 - strb r2, [r1, #0xc] - cmp r3, #8 - blt _0203413A - ldr r0, _02034150 ; =0x021D412C - ldr r0, [r0] - strb r2, [r0, #0x14] - pop {r4, r5, r6, pc} - nop -_02034150: .word 0x021D412C - thumb_func_end sub_0203410C - - thumb_func_start sub_02034154 -sub_02034154: ; 0x02034154 - push {r3, lr} - ldr r0, _0203416C ; =0x021D412C - ldr r0, [r0] - cmp r0, #0 - beq _02034168 - bl FreeToHeap - ldr r0, _0203416C ; =0x021D412C - mov r1, #0 - str r1, [r0] -_02034168: - pop {r3, pc} - nop -_0203416C: .word 0x021D412C - thumb_func_end sub_02034154 - - thumb_func_start sub_02034170 -sub_02034170: ; 0x02034170 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - add r7, r3, #0 - cmp r4, #0x16 - bge _02034188 - mov r0, #0xc - mul r1, r0 - ldr r0, _020341D4 ; =0x020F6980 - ldr r4, [r0, r1] - b _020341B0 -_02034188: - ldr r0, _020341D8 ; =0x021D412C - ldr r0, [r0] - cmp r0, #0 - bne _02034194 - bl GF_AssertFail -_02034194: - ldr r0, _020341D8 ; =0x021D412C - ldr r1, [r0] - ldr r0, [r1, #4] - add r0, #0x16 - cmp r4, r0 - ble _020341A6 - bl sub_02037974 - pop {r3, r4, r5, r6, r7, pc} -_020341A6: - ldr r1, [r1] - sub r4, #0x16 - mov r0, #0xc - mul r0, r4 - ldr r4, [r1, r0] -_020341B0: - cmp r4, #0 - beq _020341D2 - ldr r0, _020341D8 ; =0x021D412C - ldr r3, [r0] - cmp r3, #0 - beq _020341C8 - ldr r3, [r3, #8] - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - blx r4 - pop {r3, r4, r5, r6, r7, pc} -_020341C8: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - mov r3, #0 - blx r4 -_020341D2: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_020341D4: .word 0x020F6980 -_020341D8: .word 0x021D412C - thumb_func_end sub_02034170 - - thumb_func_start sub_020341DC -sub_020341DC: ; 0x020341DC - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 - cmp r5, #0x16 - bge _020341F2 - mov r0, #0xc - add r1, r5, #0 - mul r1, r0 - ldr r0, _0203423C ; =0x020F6984 - ldr r0, [r0, r1] - b _0203422E -_020341F2: - ldr r0, _02034240 ; =0x021D412C - ldr r0, [r0] - cmp r0, #0 - bne _020341FE - bl GF_AssertFail -_020341FE: - ldr r0, _02034240 ; =0x021D412C - ldr r1, [r0] - cmp r1, #0 - bne _0203420E - bl sub_02037974 - mov r0, #0 - pop {r3, r4, r5, pc} -_0203420E: - ldr r0, [r1, #4] - add r0, #0x16 - cmp r5, r0 - ble _02034222 - bl GF_AssertFail - bl sub_02037974 - mov r0, #0 - pop {r3, r4, r5, pc} -_02034222: - ldr r1, [r1] - sub r5, #0x16 - mov r0, #0xc - mul r0, r5 - add r0, r1, r0 - ldr r0, [r0, #4] -_0203422E: - cmp r0, #0 - beq _02034236 - blx r0 - add r4, r0, #0 -_02034236: - add r0, r4, #0 - pop {r3, r4, r5, pc} - nop -_0203423C: .word 0x020F6984 -_02034240: .word 0x021D412C - thumb_func_end sub_020341DC - - thumb_func_start sub_02034244 -sub_02034244: ; 0x02034244 - cmp r0, #0x16 - bge _0203425C - mov r1, #0xc - mul r1, r0 - ldr r0, _02034278 ; =0x020F6988 - ldr r0, [r0, r1] - cmp r0, #0 - beq _02034258 - mov r0, #1 - bx lr -_02034258: - mov r0, #0 - bx lr -_0203425C: - ldr r1, _0203427C ; =0x021D412C - sub r0, #0x16 - ldr r1, [r1] - ldr r2, [r1] - mov r1, #0xc - mul r1, r0 - add r0, r2, r1 - ldr r0, [r0, #8] - cmp r0, #0 - beq _02034274 - mov r0, #1 - bx lr -_02034274: - mov r0, #0 - bx lr - .balign 4, 0 -_02034278: .word 0x020F6988 -_0203427C: .word 0x021D412C - thumb_func_end sub_02034244 - - thumb_func_start sub_02034280 -sub_02034280: ; 0x02034280 - push {r3, r4, r5, lr} - add r3, r0, #0 - cmp r3, #0x16 - bge _02034298 - mov r4, #0xc - mul r4, r3 - ldr r3, _020342B0 ; =0x020F6988 - add r0, r1, #0 - ldr r3, [r3, r4] - mov r1, #0 - blx r3 - pop {r3, r4, r5, pc} -_02034298: - ldr r0, _020342B4 ; =0x021D412C - sub r3, #0x16 - ldr r4, [r0] - add r0, r1, #0 - ldr r1, [r4, #8] - ldr r5, [r4] - mov r4, #0xc - mul r4, r3 - add r3, r5, r4 - ldr r3, [r3, #8] - blx r3 - pop {r3, r4, r5, pc} - .balign 4, 0 -_020342B0: .word 0x020F6988 -_020342B4: .word 0x021D412C - thumb_func_end sub_02034280 - - thumb_func_start sub_020342B8 -sub_020342B8: ; 0x020342B8 - ldr r0, _020342BC ; =0x0000FFFF - bx lr - .balign 4, 0 -_020342BC: .word 0x0000FFFF - thumb_func_end sub_020342B8 - - thumb_func_start sub_020342C0 -sub_020342C0: ; 0x020342C0 - mov r0, #0 - bx lr - thumb_func_end sub_020342C0 - - thumb_func_start sub_020342C4 -sub_020342C4: ; 0x020342C4 - mov r0, #1 - bx lr - thumb_func_end sub_020342C4 - - thumb_func_start sub_020342C8 -sub_020342C8: ; 0x020342C8 - mov r0, #2 - bx lr - thumb_func_end sub_020342C8 - - thumb_func_start sub_020342CC -sub_020342CC: ; 0x020342CC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203769C - cmp r0, #0 - bne _0203430A - ldr r4, _0203430C ; =0x021D412C - mov r1, #1 - ldr r0, [r4] - add r0, r0, r5 - strb r1, [r0, #0xc] - mov r5, #0 -_020342E4: - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _020342FA - ldr r0, [r4] - add r0, r0, r5 - ldrb r0, [r0, #0xc] - cmp r0, #0 - beq _0203430A -_020342FA: - add r5, r5, #1 - cmp r5, #8 - blt _020342E4 - mov r1, #0 - mov r0, #0xe - add r2, r1, #0 - bl sub_02037108 -_0203430A: - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203430C: .word 0x021D412C - thumb_func_end sub_020342CC - - thumb_func_start sub_02034310 -sub_02034310: ; 0x02034310 - ldr r0, _02034330 ; =0x021D412C - mov r3, #0 - ldr r1, [r0] - str r3, [r1] - ldr r1, [r0] - str r3, [r1, #4] - ldr r1, [r0] - str r3, [r1, #8] - ldr r0, [r0] - mov r1, #1 - strb r1, [r0, #0x14] - ldr r3, _02034334 ; =sub_020376E0 - mov r0, #0xf - add r1, r2, #0 - bx r3 - nop -_02034330: .word 0x021D412C -_02034334: .word sub_020376E0 - thumb_func_end sub_02034310 - - thumb_func_start sub_02034338 -sub_02034338: ; 0x02034338 - push {r4, lr} - add r4, r0, #0 - bl sub_0203769C - cmp r0, #0 - bne _0203434E - ldr r0, _02034350 ; =0x021D412C - mov r1, #0 - ldr r0, [r0] - add r0, r0, r4 - strb r1, [r0, #0xc] -_0203434E: - pop {r4, pc} - .balign 4, 0 -_02034350: .word 0x021D412C - thumb_func_end sub_02034338 - - thumb_func_start sub_02034354 -sub_02034354: ; 0x02034354 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp] - str r1, [sp, #4] - bl sub_02028E9C - str r0, [sp, #8] - ldr r0, _020343E0 ; =0x021D4130 - ldr r0, [r0] - cmp r0, #0 - bne _020343DA - mov r1, #0xea - mov r0, #0xf - lsl r1, r1, #2 - bl AllocFromHeap - ldr r1, _020343E0 ; =0x021D4130 - mov r2, #0xea - str r0, [r1] - mov r1, #0 - lsl r2, r2, #2 - bl MIi_CpuFill8 - mov r6, #0 - ldr r7, _020343E0 ; =0x021D4130 - add r4, r6, #0 - add r5, r6, #0 -_0203438A: - ldr r1, [r7] - add r0, r1, #0 - add r0, #0x2c - add r2, r0, r4 - mov r0, #0xd3 - add r1, r1, r5 - lsl r0, r0, #2 - str r2, [r1, r0] - add r0, r6, #0 - bl sub_020346E8 - add r6, r6, #1 - add r4, #0x68 - add r5, r5, #4 - cmp r6, #8 - blt _0203438A - ldr r2, _020343E0 ; =0x021D4130 - mov r1, #0xe9 - ldr r3, [r2] - mov r0, #0 - lsl r1, r1, #2 - strb r0, [r3, r1] - ldr r4, [r2] - add r3, r1, #1 - strb r0, [r4, r3] - add r3, r1, #2 - ldr r4, [r2] - sub r1, #0x58 - strb r0, [r4, r3] - ldr r3, [r2] - ldr r0, [sp] - str r0, [r3, #8] - ldr r3, [r2] - ldr r0, [sp, #4] - str r0, [r3, #4] - ldr r2, [r2] - ldr r0, [sp, #8] - ldr r1, [r2, r1] - bl sub_02028EE4 -_020343DA: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_020343E0: .word 0x021D4130 - thumb_func_end sub_02034354 - - thumb_func_start sub_020343E4 -sub_020343E4: ; 0x020343E4 - push {r3, r4, r5, lr} - ldr r1, _0203441C ; =0x021D4130 - ldr r0, [r1] - cmp r0, #0 - beq _02034418 - mov r4, #0 - mov r0, #0xd3 - add r5, r4, #0 - add r3, r4, #0 - lsl r0, r0, #2 -_020343F8: - ldr r2, [r1] - add r4, r4, #1 - add r2, r2, r5 - add r5, r5, #4 - str r3, [r2, r0] - cmp r4, #8 - blt _020343F8 - ldr r0, _0203441C ; =0x021D4130 - ldr r0, [r0] - cmp r0, #0 - beq _02034412 - bl FreeToHeap -_02034412: - ldr r0, _0203441C ; =0x021D4130 - mov r1, #0 - str r1, [r0] -_02034418: - pop {r3, r4, r5, pc} - nop -_0203441C: .word 0x021D4130 - thumb_func_end sub_020343E4 - - thumb_func_start sub_02034420 -sub_02034420: ; 0x02034420 - ldr r0, _02034430 ; =0x021D4130 - ldr r0, [r0] - cmp r0, #0 - beq _0203442C - mov r0, #1 - bx lr -_0203442C: - mov r0, #0 - bx lr - .balign 4, 0 -_02034430: .word 0x021D4130 - thumb_func_end sub_02034420 - - thumb_func_start sub_02034434 -sub_02034434: ; 0x02034434 - push {r3, r4, r5, r6, r7, lr} - bl sub_0203769C - add r4, r0, #0 - ldr r0, _0203451C ; =0x021D4130 - ldr r0, [r0] - ldr r0, [r0, #8] - bl sub_0202C854 - str r0, [sp] - ldr r0, _0203451C ; =0x021D4130 - ldr r0, [r0] - ldr r0, [r0, #8] - bl sub_0202C6F4 - add r7, r0, #0 - ldr r0, _0203451C ; =0x021D4130 - ldr r0, [r0] - ldr r0, [r0, #8] - bl sub_0202CA44 - add r6, r0, #0 - ldr r0, _0203451C ; =0x021D4130 - ldr r1, [r0] - ldr r0, [r1] - cmp r0, #0 - bne _02034470 - ldr r0, [r1, #8] - bl sub_02028E9C -_02034470: - ldr r1, _0203451C ; =0x021D4130 - ldr r2, [r1] - lsl r1, r4, #2 - add r2, r2, r1 - mov r1, #0xd3 - lsl r1, r1, #2 - ldr r1, [r2, r1] - bl sub_02028EE4 - mov r0, #0x68 - add r5, r4, #0 - mul r5, r0 - ldr r0, _0203451C ; =0x021D4130 - ldr r0, [r0] - add r0, #0x68 - add r0, r0, r5 - bl OS_GetMacAddress - ldr r0, [sp] - mov r1, #1 - mov r2, #0 - bl sub_0202C7E0 - ldr r1, _0203451C ; =0x021D4130 - mov r2, #0x10 - ldr r1, [r1] - add r1, #0x58 - add r1, r1, r5 - bl sub_020D4A50 - add r0, r6, #0 - bl sub_0202CA8C - ldr r1, _0203451C ; =0x021D4130 - ldr r1, [r1] - add r1, r1, r5 - add r1, #0x6f - strb r0, [r1] - add r0, r6, #0 - bl sub_0202CA90 - ldr r2, _0203451C ; =0x021D4130 - ldr r1, [r2] - add r1, r1, r5 - add r1, #0x70 - strb r0, [r1] - ldr r0, [r2] - mov r1, #0 - add r0, r0, r5 - add r0, #0x71 - strb r1, [r0] - add r0, r7, #0 - bl sub_0202C08C - ldr r1, _0203451C ; =0x021D4130 - ldr r1, [r1] - add r1, #0x4c - add r1, r1, r5 - bl sub_020A037C - ldr r0, _0203451C ; =0x021D4130 - mov r1, #0 - ldr r0, [r0] - mov r2, #0x20 - add r0, #0xc - add r0, r0, r5 - bl MIi_CpuFill8 - ldr r0, _0203451C ; =0x021D4130 - ldr r1, [r0] - ldr r0, [r1, #4] - cmp r0, #0 - beq _0203450A - add r1, #0xc - add r1, r1, r5 - bl sub_020290BC -_0203450A: - ldr r1, _0203451C ; =0x021D4130 - mov r0, #3 - ldr r1, [r1] - mov r2, #0x68 - add r1, #0xc - add r1, r1, r5 - bl sub_02037030 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203451C: .word 0x021D4130 - thumb_func_end sub_02034434 - - thumb_func_start sub_02034520 -sub_02034520: ; 0x02034520 - mov r0, #0x68 - bx lr - thumb_func_end sub_02034520 - - thumb_func_start sub_02034524 -sub_02034524: ; 0x02034524 - ldr r0, _02034538 ; =0x021D4130 - ldr r2, [r0] - cmp r2, #0 - beq _02034534 - mov r0, #0xe9 - mov r1, #1 - lsl r0, r0, #2 - strb r1, [r2, r0] -_02034534: - bx lr - nop -_02034538: .word 0x021D4130 - thumb_func_end sub_02034524 - - thumb_func_start sub_0203453C -sub_0203453C: ; 0x0203453C - push {r3, r4, r5, lr} - ldr r1, _020345C8 ; =0x021D4130 - add r4, r2, #0 - ldr r1, [r1] - cmp r1, #0 - beq _020345C4 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _020345C4 - ldr r1, _020345C8 ; =0x021D4130 - mov r2, #0x68 - ldr r5, [r1] - add r1, r4, #0 - add r1, #0x62 - ldrb r1, [r1] - add r5, #0xc - add r0, r4, #0 - add r3, r1, #0 - mul r3, r2 - add r1, r5, r3 - bl sub_020D4A50 - add r4, #0x62 - ldr r1, _020345C8 ; =0x021D4130 - ldrb r3, [r4] - ldr r2, [r1] - ldr r0, _020345CC ; =0x000003A6 - strb r3, [r2, r0] - ldr r2, [r1] - ldrb r1, [r2, r0] - sub r0, #0x5a - lsl r1, r1, #2 - add r1, r2, r1 - ldr r0, [r1, r0] - bl sub_02028F0C - cmp r0, #1 - beq _020345C4 - ldr r2, _020345C8 ; =0x021D4130 - mov r0, #0xe7 - lsl r0, r0, #2 - ldr r3, [r2] - add r1, r0, #0 - add r1, #0xa - add r4, r3, r0 - ldrb r3, [r3, r1] - ldrb r1, [r4, r3] - cmp r1, #2 - bhs _020345C4 - mov r1, #1 - strb r1, [r4, r3] - ldr r1, [r2] - add r0, #0xa - ldrb r4, [r1, r0] - bl sub_0203769C - cmp r4, r0 - bne _020345C4 - ldr r0, _020345C8 ; =0x021D4130 - mov r2, #3 - ldr r0, [r0] - add r1, r0, r4 - mov r0, #0xe7 - lsl r0, r0, #2 - strb r2, [r1, r0] -_020345C4: - pop {r3, r4, r5, pc} - nop -_020345C8: .word 0x021D4130 -_020345CC: .word 0x000003A6 - thumb_func_end sub_0203453C - - thumb_func_start sub_020345D0 -sub_020345D0: ; 0x020345D0 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _02034630 ; =0x021D4130 - ldr r1, [r0] - cmp r1, #0 - beq _0203462C - mov r3, #0x68 - add r4, r5, #0 - add r0, r2, #0 - mul r4, r3 - add r1, #0xc - add r1, r1, r4 - add r2, r3, #0 - bl sub_020D4A50 - ldr r0, _02034630 ; =0x021D4130 - add r1, r5, #0 - ldr r0, [r0] - add r0, #0x68 - add r0, r0, r4 - bl sub_020357C4 - ldr r0, _02034630 ; =0x021D4130 - mov r2, #1 - ldr r0, [r0] - add r1, r0, r5 - mov r0, #0xe7 - lsl r0, r0, #2 - strb r2, [r1, r0] - bl sub_0203769C - cmp r5, r0 - bne _02034622 - ldr r0, _02034630 ; =0x021D4130 - mov r2, #3 - ldr r0, [r0] - add r1, r0, r5 - mov r0, #0xe7 - lsl r0, r0, #2 - strb r2, [r1, r0] - pop {r3, r4, r5, pc} -_02034622: - ldr r0, _02034630 ; =0x021D4130 - mov r2, #1 - ldr r1, [r0] - ldr r0, _02034634 ; =0x000003A5 - strb r2, [r1, r0] -_0203462C: - pop {r3, r4, r5, pc} - nop -_02034630: .word 0x021D4130 -_02034634: .word 0x000003A5 - thumb_func_end sub_020345D0 - - thumb_func_start sub_02034638 -sub_02034638: ; 0x02034638 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _020346CC ; =0x021D4130 - ldr r1, [r0] - ldr r0, _020346D0 ; =0x000003A5 - ldrb r0, [r1, r0] - cmp r0, #0 - bne _0203464A - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0203464A: - bl sub_0203769C - cmp r0, #0 - beq _02034656 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02034656: - mov r0, #5 - bl sub_02037824 - cmp r0, #0 - bne _020346C8 - mov r4, #0 - add r5, r4, #0 - add r7, r4, #0 -_02034666: - ldr r0, _020346CC ; =0x021D4130 - ldr r2, [r0] - mov r0, #0xe7 - add r1, r2, r4 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _020346A6 - add r0, r2, r5 - add r0, #0x6e - strb r4, [r0] - ldr r0, _020346CC ; =0x021D4130 - ldr r6, [r0] - bl sub_02028ECC - add r2, r0, #0 - mov r0, #0xd3 - add r1, r6, r7 - lsl r0, r0, #2 - ldr r0, [r1, r0] - add r6, #0x2c - add r1, r6, r5 - bl sub_020D4A50 - ldr r1, _020346CC ; =0x021D4130 - mov r0, #4 - ldr r1, [r1] - mov r2, #0x68 - add r1, #0xc - add r1, r1, r5 - bl sub_0203753C -_020346A6: - add r4, r4, #1 - add r5, #0x68 - add r7, r7, #4 - cmp r4, #8 - blt _02034666 - mov r1, #0 - mov r0, #5 - add r2, r1, #0 - bl sub_0203753C - ldr r0, _020346CC ; =0x021D4130 - mov r2, #0 - ldr r1, [r0] - ldr r0, _020346D0 ; =0x000003A5 - strb r2, [r1, r0] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_020346C8: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_020346CC: .word 0x021D4130 -_020346D0: .word 0x000003A5 - thumb_func_end sub_02034638 - - thumb_func_start sub_020346D4 -sub_020346D4: ; 0x020346D4 - ldr r0, _020346E0 ; =0x021D4130 - ldr r1, [r0] - ldr r0, _020346E4 ; =0x000003A5 - ldrb r0, [r1, r0] - bx lr - nop -_020346E0: .word 0x021D4130 -_020346E4: .word 0x000003A5 - thumb_func_end sub_020346D4 - - thumb_func_start sub_020346E8 -sub_020346E8: ; 0x020346E8 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02034710 ; =0x021D4130 - ldr r1, [r0] - lsl r0, r4, #2 - add r1, r1, r0 - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r0, [r1, r0] - bl sub_02028EF0 - ldr r0, _02034710 ; =0x021D4130 - mov r2, #0 - ldr r0, [r0] - add r1, r0, r4 - mov r0, #0xe7 - lsl r0, r0, #2 - strb r2, [r1, r0] - pop {r4, pc} - nop -_02034710: .word 0x021D4130 - thumb_func_end sub_020346E8 - - thumb_func_start sub_02034714 -sub_02034714: ; 0x02034714 - ldr r1, _0203472C ; =0x021D4130 - ldr r1, [r1] - add r1, r1, r0 - mov r0, #0xe7 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - cmp r0, #1 - bne _02034728 - mov r0, #1 - bx lr -_02034728: - mov r0, #0 - bx lr - .balign 4, 0 -_0203472C: .word 0x021D4130 - thumb_func_end sub_02034714 - - thumb_func_start sub_02034730 -sub_02034730: ; 0x02034730 - ldr r1, _0203474C ; =0x021D4130 - mov r2, #1 - ldr r1, [r1] - add r1, r1, r0 - mov r0, #0xe7 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - cmp r0, #2 - beq _02034748 - cmp r0, #1 - beq _02034748 - mov r2, #0 -_02034748: - add r0, r2, #0 - bx lr - .balign 4, 0 -_0203474C: .word 0x021D4130 - thumb_func_end sub_02034730 - - thumb_func_start sub_02034750 -sub_02034750: ; 0x02034750 - ldr r1, _02034768 ; =0x021D4130 - ldr r1, [r1] - add r1, r1, r0 - mov r0, #0xe7 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - cmp r0, #2 - bne _02034764 - mov r0, #1 - bx lr -_02034764: - mov r0, #0 - bx lr - .balign 4, 0 -_02034768: .word 0x021D4130 - thumb_func_end sub_02034750 - - thumb_func_start sub_0203476C -sub_0203476C: ; 0x0203476C - ldr r1, _0203477C ; =0x021D4130 - mov r2, #2 - ldr r1, [r1] - add r1, r1, r0 - mov r0, #0xe7 - lsl r0, r0, #2 - strb r2, [r1, r0] - bx lr - .balign 4, 0 -_0203477C: .word 0x021D4130 - thumb_func_end sub_0203476C - - thumb_func_start sub_02034780 -sub_02034780: ; 0x02034780 - ldr r1, _0203479C ; =0x021D4130 - mov r0, #0 - ldr r3, [r1] - mov r1, #0xe7 - lsl r1, r1, #2 -_0203478A: - ldrb r2, [r3, r1] - cmp r2, #1 - beq _0203479A - add r0, r0, #1 - add r3, r3, #1 - cmp r0, #8 - blt _0203478A - mov r0, #0xff -_0203479A: - bx lr - .balign 4, 0 -_0203479C: .word 0x021D4130 - thumb_func_end sub_02034780 - - thumb_func_start sub_020347A0 -sub_020347A0: ; 0x020347A0 - push {r3, r4} - ldr r1, _020347C8 ; =0x021D4130 - mov r0, #0 - ldr r4, [r1] - mov r1, #0xe7 - add r3, r0, #0 - lsl r1, r1, #2 -_020347AE: - ldrb r2, [r4, r1] - cmp r2, #2 - beq _020347B8 - cmp r2, #3 - bne _020347BA -_020347B8: - add r0, r0, #1 -_020347BA: - add r3, r3, #1 - add r4, r4, #1 - cmp r3, #8 - blt _020347AE - pop {r3, r4} - bx lr - nop -_020347C8: .word 0x021D4130 - thumb_func_end sub_020347A0 - - thumb_func_start sub_020347CC -sub_020347CC: ; 0x020347CC - push {r3, r4, r5, r6, r7, lr} - ldr r0, _02034814 ; =0x021D4130 - mov r5, #0 - ldr r0, [r0] - cmp r0, #0 - beq _02034810 - bl sub_02037454 - cmp r0, #0 - bne _020347E4 - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} -_020347E4: - mov r7, #0xe7 - ldr r6, _02034814 ; =0x021D4130 - add r4, r5, #0 - lsl r7, r7, #2 -_020347EC: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - bne _0203480A - ldr r0, [r6] - add r0, r0, r4 - ldrb r0, [r0, r7] - cmp r0, #0 - beq _0203480A - add r0, r4, #0 - bl sub_020346E8 - mov r5, #1 -_0203480A: - add r4, r4, #1 - cmp r4, #8 - blt _020347EC -_02034810: - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02034814: .word 0x021D4130 - thumb_func_end sub_020347CC - - thumb_func_start sub_02034818 -sub_02034818: ; 0x02034818 - ldr r1, _02034848 ; =0x021D4130 - ldr r3, [r1] - cmp r3, #0 - bne _02034824 - mov r0, #0 - bx lr -_02034824: - mov r1, #0xe7 - add r2, r3, r0 - lsl r1, r1, #2 - ldrb r1, [r2, r1] - cmp r1, #1 - beq _02034838 - cmp r1, #2 - beq _02034838 - cmp r1, #3 - bne _02034844 -_02034838: - lsl r0, r0, #2 - add r1, r3, r0 - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r0, [r1, r0] - bx lr -_02034844: - mov r0, #0 - bx lr - .balign 4, 0 -_02034848: .word 0x021D4130 - thumb_func_end sub_02034818 - - thumb_func_start sub_0203484C -sub_0203484C: ; 0x0203484C - ldr r1, _0203486C ; =0x021D4130 - ldr r3, [r1] - mov r1, #0xe7 - add r2, r3, r0 - lsl r1, r1, #2 - ldrb r1, [r2, r1] - cmp r1, #0 - beq _02034866 - mov r1, #0x68 - add r3, #0x4c - mul r1, r0 - add r0, r3, r1 - bx lr -_02034866: - mov r0, #0 - bx lr - nop -_0203486C: .word 0x021D4130 - thumb_func_end sub_0203484C - - thumb_func_start sub_02034870 -sub_02034870: ; 0x02034870 - add r1, r0, #0 - ldr r0, _0203487C ; =0x021D4130 - ldr r3, _02034880 ; =sub_0203A378 - ldr r0, [r0] - ldr r0, [r0, #8] - bx r3 - .balign 4, 0 -_0203487C: .word 0x021D4130 -_02034880: .word sub_0203A378 - thumb_func_end sub_02034870 - - thumb_func_start sub_02034884 -sub_02034884: ; 0x02034884 - ldr r1, _020348A4 ; =0x021D4130 - ldr r3, [r1] - mov r1, #0xe7 - add r2, r3, r0 - lsl r1, r1, #2 - ldrb r1, [r2, r1] - cmp r1, #0 - beq _0203489E - mov r1, #0x68 - add r3, #0x58 - mul r1, r0 - add r0, r3, r1 - bx lr -_0203489E: - mov r0, #0 - bx lr - nop -_020348A4: .word 0x021D4130 - thumb_func_end sub_02034884 - - thumb_func_start sub_020348A8 -sub_020348A8: ; 0x020348A8 - ldr r1, _020348C8 ; =0x021D4130 - ldr r3, [r1] - mov r1, #0xe7 - add r2, r3, r0 - lsl r1, r1, #2 - ldrb r1, [r2, r1] - cmp r1, #0 - beq _020348C4 - mov r1, #0x68 - mul r1, r0 - add r0, r3, r1 - add r0, #0x6f - ldrb r0, [r0] - bx lr -_020348C4: - mov r0, #0 - bx lr - .balign 4, 0 -_020348C8: .word 0x021D4130 - thumb_func_end sub_020348A8 - - thumb_func_start sub_020348CC -sub_020348CC: ; 0x020348CC - ldr r1, _020348EC ; =0x021D4130 - ldr r3, [r1] - mov r1, #0xe7 - add r2, r3, r0 - lsl r1, r1, #2 - ldrb r1, [r2, r1] - cmp r1, #0 - beq _020348E8 - mov r1, #0x68 - mul r1, r0 - add r0, r3, r1 - add r0, #0x70 - ldrb r0, [r0] - bx lr -_020348E8: - mov r0, #0 - bx lr - .balign 4, 0 -_020348EC: .word 0x021D4130 - thumb_func_end sub_020348CC - - thumb_func_start sub_020348F0 -sub_020348F0: ; 0x020348F0 - push {r4, r5, r6, lr} - mov r4, #0 - add r5, r4, #0 - add r6, r4, #0 -_020348F8: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _0203494C - ldr r0, _02034958 ; =0x021D4130 - ldr r0, [r0] - add r1, r0, r4 - mov r0, #0xe7 - lsl r0, r0, #2 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _0203494C - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _0203494C - ldr r0, _02034958 ; =0x021D4130 - ldr r1, _0203495C ; =0x0000039D - ldr r0, [r0] - add r2, r0, r4 - ldrb r1, [r2, r1] - cmp r1, #0 - beq _0203494C - add r1, r6, #0 - add r2, r0, r5 -_02034934: - add r3, r2, #0 - add r3, #0x74 - ldrb r0, [r2, #0xc] - ldrb r3, [r3] - cmp r0, r3 - beq _02034944 - mov r0, #0 - pop {r4, r5, r6, pc} -_02034944: - add r1, r1, #1 - add r2, r2, #1 - cmp r1, #0x20 - blt _02034934 -_0203494C: - add r4, r4, #1 - add r5, #0x68 - cmp r4, #7 - blt _020348F8 - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 -_02034958: .word 0x021D4130 -_0203495C: .word 0x0000039D - thumb_func_end sub_020348F0 - - thumb_func_start sub_02034960 -sub_02034960: ; 0x02034960 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - ldr r0, _02034A18 ; =0x021D4130 - add r6, r1, #0 - ldr r0, [r0] - cmp r0, #0 - beq _02034A14 - cmp r7, #2 - beq _02034980 - bl sub_0203769C - bl sub_020378AC - mov r1, #1 - and r0, r1 - str r0, [sp] -_02034980: - mov r4, #0 - bl sub_02037454 - cmp r0, #0 - ble _02034A14 - add r5, r4, #0 -_0203498C: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _02034A08 - ldr r0, _02034A18 ; =0x021D4130 - mov r1, #0xe7 - ldr r0, [r0] - lsl r1, r1, #2 - add r2, r0, r4 - ldrb r1, [r2, r1] - cmp r1, #0 - beq _02034A08 - cmp r7, #0 - bne _020349D2 - add r0, r4, #0 - bl sub_020378AC - mov r1, #1 - and r1, r0 - ldr r0, [sp] - cmp r0, r1 - beq _02034A08 - ldr r0, _02034A18 ; =0x021D4130 - mov r1, #0xdb - ldr r0, [r0] - lsl r1, r1, #2 - add r0, r0, r5 - ldrh r1, [r0, r1] - add r2, r1, r6 - mov r1, #0xdb - lsl r1, r1, #2 - strh r2, [r0, r1] - b _02034A08 -_020349D2: - cmp r7, #1 - bne _020349F8 - add r0, r4, #0 - bl sub_020378AC - mov r1, #1 - and r1, r0 - ldr r0, [sp] - cmp r0, r1 - beq _02034A08 - ldr r0, _02034A18 ; =0x021D4130 - ldr r1, _02034A1C ; =0x0000036E - ldr r0, [r0] - add r0, r0, r5 - ldrh r1, [r0, r1] - add r2, r1, r6 - ldr r1, _02034A1C ; =0x0000036E - strh r2, [r0, r1] - b _02034A08 -_020349F8: - mov r1, #0x37 - add r0, r0, r5 - lsl r1, r1, #4 - ldrh r1, [r0, r1] - add r2, r1, r6 - mov r1, #0x37 - lsl r1, r1, #4 - strh r2, [r0, r1] -_02034A08: - add r5, r5, #6 - add r4, r4, #1 - bl sub_02037454 - cmp r4, r0 - blt _0203498C -_02034A14: - pop {r3, r4, r5, r6, r7, pc} - nop -_02034A18: .word 0x021D4130 -_02034A1C: .word 0x0000036E - thumb_func_end sub_02034960 - - thumb_func_start sub_02034A20 -sub_02034A20: ; 0x02034A20 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r7, r0, #0 - bl sub_0202C6F4 - str r0, [sp, #4] - mov r4, #0 - bl sub_02037454 - cmp r0, #0 - ble _02034A88 - add r5, r4, #0 -_02034A38: - add r0, r4, #0 - bl sub_0203484C - add r1, r0, #0 - beq _02034A7C - add r0, r7, #0 - add r2, sp, #8 - bl sub_0203A084 - cmp r0, #0 - beq _02034A52 - cmp r0, #1 - bne _02034A7C -_02034A52: - ldr r0, [sp, #8] - cmp r0, #0 - bge _02034A5C - bl GF_AssertFail -_02034A5C: - ldr r0, _02034AB8 ; =0x021D4130 - mov r2, #0xdb - ldr r0, [r0] - ldr r3, _02034ABC ; =0x0000036E - add r6, r0, r5 - mov r0, #0x37 - lsl r0, r0, #4 - ldrh r0, [r6, r0] - lsl r2, r2, #2 - str r0, [sp] - ldrh r2, [r6, r2] - ldrh r3, [r6, r3] - ldr r0, [sp, #4] - ldr r1, [sp, #8] - bl sub_0202C4F0 -_02034A7C: - add r5, r5, #6 - add r4, r4, #1 - bl sub_02037454 - cmp r4, r0 - blt _02034A38 -_02034A88: - mov r3, #0xdb - mov r2, #0 - lsl r3, r3, #2 - ldr r6, _02034AB8 ; =0x021D4130 - add r1, r2, #0 - add r0, r2, #0 - add r4, r3, #2 - add r5, r3, #4 -_02034A98: - ldr r7, [r6] - add r2, r2, #1 - add r7, r7, r1 - strh r0, [r7, r3] - ldr r7, [r6] - add r7, r7, r1 - strh r0, [r7, r4] - ldr r7, [r6] - add r7, r7, r1 - add r1, r1, #6 - strh r0, [r7, r5] - cmp r2, #8 - blt _02034A98 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_02034AB8: .word 0x021D4130 -_02034ABC: .word 0x0000036E - thumb_func_end sub_02034A20 - - thumb_func_start sub_02034AC0 -sub_02034AC0: ; 0x02034AC0 - push {r4, lr} - add r4, r0, #0 - cmp r1, #1 - bne _02034AD2 - mov r0, #0 - mov r1, #1 - bl sub_02034960 - b _02034AE2 -_02034AD2: - mov r0, #0 - mvn r0, r0 - cmp r1, r0 - bne _02034AE2 - mov r0, #1 - add r1, r0, #0 - bl sub_02034960 -_02034AE2: - add r0, r4, #0 - bl sub_02034A20 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02034AC0 - - thumb_func_start sub_02034AEC -sub_02034AEC: ; 0x02034AEC - push {r4, lr} - add r4, r0, #0 - mov r0, #2 - bl sub_02034960 - add r0, r4, #0 - bl sub_02034A20 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02034AEC - - thumb_func_start sub_02034B00 -sub_02034B00: ; 0x02034B00 - ldr r1, _02034B08 ; =0x021D4130 - ldr r1, [r1] - str r0, [r1] - bx lr - .balign 4, 0 -_02034B08: .word 0x021D4130 - thumb_func_end sub_02034B00 - - thumb_func_start sub_02034B0C -sub_02034B0C: ; 0x02034B0C - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - ldr r0, _02034BCC ; =0x021D4134 - add r7, r1, #0 - ldr r0, [r0, #8] - cmp r0, #0 - bne _02034BCA - ldr r1, _02034BD0 ; =0x00000D98 - mov r0, #0xf - bl AllocFromHeap - ldr r1, _02034BCC ; =0x021D4134 - ldr r2, _02034BD0 ; =0x00000D98 - str r0, [r1, #8] - mov r1, #0 - bl MIi_CpuFill8 - bl sub_020335B4 - add r1, r0, #0 - mov r0, #0xf - bl AllocFromHeap - ldr r1, _02034BCC ; =0x021D4134 - ldr r2, [r1, #8] - ldr r1, _02034BD4 ; =0x00000D64 - str r0, [r2, r1] - bl sub_020335B4 - add r2, r0, #0 - ldr r0, _02034BCC ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02034BD4 ; =0x00000D64 - ldr r0, [r1, r0] - mov r1, #0 - bl MIi_CpuFill8 - bl sub_020290B4 - add r1, r0, #0 - mov r0, #0xf - bl AllocFromHeap - ldr r1, _02034BCC ; =0x021D4134 - ldr r2, [r1, #8] - ldr r1, _02034BD8 ; =0x00000D7C - str r0, [r2, r1] - bl sub_020290B4 - add r2, r0, #0 - ldr r0, _02034BCC ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02034BD8 ; =0x00000D7C - ldr r0, [r1, r0] - mov r1, #0 - bl MIi_CpuFill8 - mov r0, #0xf - mov r1, #0x90 - bl AllocFromHeap - ldr r2, _02034BCC ; =0x021D4134 - ldr r1, _02034BDC ; =0x00000D84 - ldr r3, [r2, #8] - str r0, [r3, r1] - ldr r6, [r2, #8] - mov r0, #0x1f - ldr r5, [r6, r1] - add r3, r5, #0 - and r3, r0 - mov r0, #0x20 - sub r0, r0, r3 - add r3, r0, r5 - add r0, r1, #4 - str r3, [r6, r0] - ldr r5, _02034BE0 ; =0x00000333 - ldr r3, [r2, #8] - sub r0, r1, #4 - str r5, [r3, r0] - add r0, r1, #0 - ldr r3, [r2, #8] - sub r0, #0xc - str r4, [r3, r0] - ldr r0, [r2, #8] - sub r1, #0x1c - add r0, r0, r1 - bl MailMsg_init - add r0, r7, #0 - bl sub_02034DF0 - bl sub_020DF250 - ldr r1, _02034BCC ; =0x021D4134 - strh r0, [r1] -_02034BCA: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02034BCC: .word 0x021D4134 -_02034BD0: .word 0x00000D98 -_02034BD4: .word 0x00000D64 -_02034BD8: .word 0x00000D7C -_02034BDC: .word 0x00000D84 -_02034BE0: .word 0x00000333 - thumb_func_end sub_02034B0C - - thumb_func_start sub_02034BE4 -sub_02034BE4: ; 0x02034BE4 - ldr r0, _02034BF4 ; =0x021D4134 - ldr r0, [r0, #8] - cmp r0, #0 - beq _02034BF0 - mov r0, #1 - bx lr -_02034BF0: - mov r0, #0 - bx lr - .balign 4, 0 -_02034BF4: .word 0x021D4134 - thumb_func_end sub_02034BE4 - - thumb_func_start sub_02034BF8 -sub_02034BF8: ; 0x02034BF8 - push {r4, r5} - mov r5, #0 - cmp r2, #0 - ble _02034C18 -_02034C00: - ldrb r4, [r0] - ldrb r3, [r1] - cmp r4, r3 - beq _02034C0E - mov r0, #0 - pop {r4, r5} - bx lr -_02034C0E: - add r5, r5, #1 - add r0, r0, #1 - add r1, r1, #1 - cmp r5, r2 - blt _02034C00 -_02034C18: - mov r0, #1 - pop {r4, r5} - bx lr - .balign 4, 0 - thumb_func_end sub_02034BF8 - - thumb_func_start sub_02034C20 -sub_02034C20: ; 0x02034C20 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - bl sub_0203993C - add r5, r0, #0 - bl sub_02039954 - add r4, r6, #0 - add r7, r0, #0 - add r4, #0x50 - cmp r5, #0xe - beq _02034C62 - ldrb r0, [r4, #4] - bl sub_0203401C - cmp r0, #0 - beq _02034C4C - add r0, r5, #0 - bl sub_0203401C - cmp r0, #0 - bne _02034C62 -_02034C4C: - add r0, r4, #0 - add r0, #0x54 - ldrb r0, [r0] - cmp r0, #0 - beq _02034C5C - ldrb r0, [r4, #4] - cmp r0, #0xa - beq _02034C88 -_02034C5C: - ldrb r0, [r4, #4] - cmp r0, r5 - bne _02034C88 -_02034C62: - cmp r5, #0xe - beq _02034C6C - ldrb r0, [r4, #5] - cmp r0, r7 - bne _02034C88 -_02034C6C: - ldr r1, _02034C8C ; =0x021D4134 - add r0, r6, #0 - ldr r1, [r1, #8] - mov r2, #0xc0 - add r1, #0x54 - bl sub_020D4A50 - ldr r0, _02034C8C ; =0x021D4134 - ldr r1, _02034C90 ; =0x00000D95 - ldr r3, [r0, #8] - mov r0, #0x40 - ldrb r2, [r3, r1] - orr r0, r2 - strb r0, [r3, r1] -_02034C88: - pop {r3, r4, r5, r6, r7, pc} - nop -_02034C8C: .word 0x021D4134 -_02034C90: .word 0x00000D95 - thumb_func_end sub_02034C20 - - thumb_func_start sub_02034C94 -sub_02034C94: ; 0x02034C94 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _02034D50 ; =0x021D4134 - ldr r1, _02034D54 ; =0x00000D95 - ldr r3, [r0, #8] - ldrb r2, [r3, r1] - add r7, r3, #0 - add r7, #0x54 - lsl r0, r2, #0x19 - lsr r0, r0, #0x1f - beq _02034D4E - mov r0, #0x40 - mov r6, #0 - bic r2, r0 - strb r2, [r3, r1] - add r4, r6, #0 - add r5, r6, #0 -_02034CB4: - ldr r0, _02034D50 ; =0x021D4134 - ldr r1, _02034D58 ; =0x00000D44 - ldr r0, [r0, #8] - add r2, r0, r4 - ldrh r1, [r2, r1] - cmp r1, #0 - beq _02034CFC - mov r1, #0x46 - lsl r1, r1, #2 - add r0, r0, r1 - add r0, r0, r5 - add r1, r7, #4 - mov r2, #6 - bl sub_02034BF8 - cmp r0, #0 - beq _02034CFC - ldr r2, _02034D50 ; =0x021D4134 - mov r1, #0x4b - ldr r3, [r2, #8] - lsl r0, r6, #1 - add r3, r3, r0 - ldr r0, _02034D58 ; =0x00000D44 - lsl r1, r1, #2 - strh r1, [r3, r0] - ldr r2, [r2, #8] - sub r1, #0x18 - add r3, r2, r1 - mov r2, #0xc0 - add r1, r6, #0 - mul r1, r2 - add r0, r7, #0 - add r1, r3, r1 - bl sub_020D4A50 - pop {r3, r4, r5, r6, r7, pc} -_02034CFC: - add r6, r6, #1 - add r4, r4, #2 - add r5, #0xc0 - cmp r6, #0x10 - blt _02034CB4 - ldr r0, _02034D50 ; =0x021D4134 - ldr r1, _02034D58 ; =0x00000D44 - ldr r0, [r0, #8] - mov r3, #0 - add r4, r0, #0 -_02034D10: - ldrh r2, [r4, r1] - cmp r2, #0 - beq _02034D1E - add r3, r3, #1 - add r4, r4, #2 - cmp r3, #0x10 - blt _02034D10 -_02034D1E: - cmp r3, #0x10 - bge _02034D4E - lsl r2, r3, #1 - mov r1, #0x4b - add r2, r0, r2 - ldr r0, _02034D58 ; =0x00000D44 - lsl r1, r1, #2 - strh r1, [r2, r0] - ldr r2, _02034D50 ; =0x021D4134 - sub r1, #0x18 - ldr r2, [r2, #8] - add r0, r7, #0 - add r4, r2, r1 - mov r2, #0xc0 - add r1, r3, #0 - mul r1, r2 - add r1, r4, r1 - bl sub_020D4A50 - ldr r0, _02034D50 ; =0x021D4134 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02034D5C ; =0x00000D74 - strb r2, [r1, r0] -_02034D4E: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02034D50: .word 0x021D4134 -_02034D54: .word 0x00000D95 -_02034D58: .word 0x00000D44 -_02034D5C: .word 0x00000D74 - thumb_func_end sub_02034C94 - - thumb_func_start sub_02034D60 -sub_02034D60: ; 0x02034D60 - push {r3, lr} - cmp r1, #0 - beq _02034D6A - bl sub_020D3F48 -_02034D6A: - ldr r0, _02034D74 ; =0x021D4134 - mov r1, #2 - str r1, [r0, #4] - pop {r3, pc} - nop -_02034D74: .word 0x021D4134 - thumb_func_end sub_02034D60 - - thumb_func_start sub_02034D78 -sub_02034D78: ; 0x02034D78 - ldr r0, _02034D84 ; =0x021D4134 - mov r1, #0 - str r1, [r0, #4] - ldr r3, _02034D88 ; =sub_0201A4CC - mov r0, #4 - bx r3 - .balign 4, 0 -_02034D84: .word 0x021D4134 -_02034D88: .word sub_0201A4CC - thumb_func_end sub_02034D78 - - thumb_func_start sub_02034D8C -sub_02034D8C: ; 0x02034D8C - push {r3, lr} - mov r0, #4 - bl sub_0201A4BC - ldr r0, _02034DB0 ; =0x021D4134 - mov r1, #1 - str r1, [r0, #4] - ldr r1, _02034DB4 ; =sub_02034D60 - mov r0, #8 - mov r2, #0 - bl sub_0209E00C - cmp r0, #1 - beq _02034DAC - bl sub_020D3F48 -_02034DAC: - pop {r3, pc} - nop -_02034DB0: .word 0x021D4134 -_02034DB4: .word sub_02034D60 - thumb_func_end sub_02034D8C - - thumb_func_start sub_02034DB8 -sub_02034DB8: ; 0x02034DB8 - ldr r0, _02034DC8 ; =0x021D4134 - ldr r0, [r0, #4] - cmp r0, #2 - bne _02034DC4 - mov r0, #1 - bx lr -_02034DC4: - mov r0, #0 - bx lr - .balign 4, 0 -_02034DC8: .word 0x021D4134 - thumb_func_end sub_02034DB8 - - thumb_func_start sub_02034DCC -sub_02034DCC: ; 0x02034DCC - ldr r0, _02034DDC ; =0x021D4134 - ldr r0, [r0, #4] - cmp r0, #0 - beq _02034DD8 - mov r0, #1 - bx lr -_02034DD8: - mov r0, #0 - bx lr - .balign 4, 0 -_02034DDC: .word 0x021D4134 - thumb_func_end sub_02034DCC - - thumb_func_start sub_02034DE0 -sub_02034DE0: ; 0x02034DE0 - ldr r3, _02034DE8 ; =sub_0209E248 - ldr r0, _02034DEC ; =sub_02034D78 - mov r1, #0 - bx r3 - .balign 4, 0 -_02034DE8: .word sub_0209E248 -_02034DEC: .word sub_02034D78 - thumb_func_end sub_02034DE0 - - thumb_func_start sub_02034DF0 -sub_02034DF0: ; 0x02034DF0 - push {r4, lr} - ldr r2, _02034E28 ; =0x021D4134 - add r1, r0, #0 - mov r0, #0xd7 - ldr r3, [r2, #8] - mov r4, #0 - lsl r0, r0, #4 - str r4, [r3, r0] - ldr r2, [r2, #8] - sub r0, #0xc - ldr r3, [r2, r0] - mov r0, #0x1f - add r2, r3, #0 - and r2, r0 - mov r0, #0x20 - sub r0, r0, r2 - add r0, r3, r0 - bl sub_02033528 - ldr r0, _02034E28 ; =0x021D4134 - ldr r1, [r0, #8] - mov r0, #0x36 - lsl r0, r0, #6 - ldr r0, [r1, r0] - bl sub_02033234 - pop {r4, pc} - nop -_02034E28: .word 0x021D4134 - thumb_func_end sub_02034DF0 - - thumb_func_start sub_02034E2C -sub_02034E2C: ; 0x02034E2C - push {r3, r4, r5, lr} - mov r4, #0 - ldr r2, _02034E5C ; =0x021D4134 - ldr r0, _02034E60 ; =0x00000D44 - add r5, r4, #0 - add r1, r4, #0 -_02034E38: - ldr r3, [r2, #8] - add r4, r4, #1 - add r3, r3, r5 - add r5, r5, #2 - strh r1, [r3, r0] - cmp r4, #0x10 - blt _02034E38 - ldr r0, _02034E5C ; =0x021D4134 - ldr r2, [r0, #8] - mov r0, #0x45 - lsl r0, r0, #2 - add r0, r2, r0 - mov r2, #3 - lsl r2, r2, #0xa - bl MIi_CpuFill8 - pop {r3, r4, r5, pc} - nop -_02034E5C: .word 0x021D4134 -_02034E60: .word 0x00000D44 - thumb_func_end sub_02034E2C - - thumb_func_start sub_02034E64 -sub_02034E64: ; 0x02034E64 - push {r3, r4} - ldr r1, _02034E84 ; =0x021D4134 - lsl r0, r0, #0x18 - ldr r2, [r1, #8] - ldr r4, _02034E88 ; =0x00000D95 - lsr r0, r0, #0x18 - ldrb r1, [r2, r4] - mov r3, #8 - lsl r0, r0, #0x1f - bic r1, r3 - lsr r0, r0, #0x1c - orr r0, r1 - strb r0, [r2, r4] - pop {r3, r4} - bx lr - nop -_02034E84: .word 0x021D4134 -_02034E88: .word 0x00000D95 - thumb_func_end sub_02034E64 - - thumb_func_start sub_02034E8C -sub_02034E8C: ; 0x02034E8C - push {r4, r5} - ldr r1, _02034EE8 ; =0x021D4134 - ldr r0, _02034EEC ; =0x00000D74 - ldr r3, [r1, #8] - mov r2, #0 - strb r2, [r3, r0] - add r3, r0, #0 - ldr r5, [r1, #8] - add r3, #0x21 - ldrb r4, [r5, r3] - mov r3, #1 - bic r4, r3 - add r3, r0, #0 - add r3, #0x21 - strb r4, [r5, r3] - add r3, r0, #0 - ldr r5, [r1, #8] - add r3, #0x21 - ldrb r4, [r5, r3] - mov r3, #4 - bic r4, r3 - add r3, r0, #0 - add r3, #0x21 - strb r4, [r5, r3] - add r3, r0, #0 - ldr r4, [r1, #8] - add r3, #0x1e - strb r2, [r4, r3] - add r3, r0, #0 - ldr r5, [r1, #8] - add r3, #0x21 - ldrb r4, [r5, r3] - mov r3, #0x10 - bic r4, r3 - add r3, r0, #0 - add r3, #0x21 - strb r4, [r5, r3] - add r3, r0, #0 - ldr r4, [r1, #8] - add r3, #0x20 - strb r2, [r4, r3] - ldr r1, [r1, #8] - add r0, #0x1f - strb r2, [r1, r0] - pop {r4, r5} - bx lr - .balign 4, 0 -_02034EE8: .word 0x021D4134 -_02034EEC: .word 0x00000D74 - thumb_func_end sub_02034E8C - - thumb_func_start sub_02034EF0 -sub_02034EF0: ; 0x02034EF0 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r4, r2, #0 - bl sub_02034E8C - add r0, r5, #0 - bl sub_02034E64 - bl sub_02033A68 - ldr r0, _02034F54 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02034F58 ; =0x00000D93 - ldrb r0, [r1, r0] - cmp r0, #0 - bne _02034F22 - ldr r0, _02034F5C ; =sub_02036904 - mov r1, #0xe - bl sub_020337D0 - ldr r0, _02034F54 ; =0x021D4134 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02034F58 ; =0x00000D93 - strb r2, [r1, r0] -_02034F22: - ldr r0, _02034F54 ; =0x021D4134 - ldr r3, _02034F60 ; =0x00000D95 - ldr r1, [r0, #8] - mov r2, #0x20 - ldrb r0, [r1, r3] - bic r0, r2 - lsl r2, r4, #0x18 - lsr r2, r2, #0x18 - lsl r2, r2, #0x1f - lsr r2, r2, #0x1a - orr r0, r2 - strb r0, [r1, r3] - bl sub_02033298 - cmp r0, #1 - bne _02034F4E - bl sub_020332C0 - cmp r0, #0 - beq _02034F4E - mov r0, #1 - pop {r3, r4, r5, pc} -_02034F4E: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_02034F54: .word 0x021D4134 -_02034F58: .word 0x00000D93 -_02034F5C: .word sub_02036904 -_02034F60: .word 0x00000D95 - thumb_func_end sub_02034EF0 - - thumb_func_start sub_02034F64 -sub_02034F64: ; 0x02034F64 - push {r4, lr} - sub sp, #8 - add r4, r1, #0 - bl sub_02034E8C - cmp r4, #0 - beq _02034F76 - bl sub_02034E2C -_02034F76: - ldr r0, _02034FD4 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02034FD8 ; =0x00000D93 - ldrb r0, [r1, r0] - cmp r0, #0 - bne _02034F94 - ldr r0, _02034FDC ; =sub_020367A8 - mov r1, #0xe - bl sub_020337D0 - ldr r0, _02034FD4 ; =0x021D4134 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02034FD8 ; =0x00000D93 - strb r2, [r1, r0] -_02034F94: - bl sub_02033298 - cmp r0, #1 - bne _02034FCC - ldr r2, _02034FE0 ; =0x020F6A88 - add r0, sp, #0 - ldrb r3, [r2] - add r1, sp, #0 - strb r3, [r0] - ldrb r3, [r2, #1] - strb r3, [r0, #1] - ldrb r3, [r2, #2] - strb r3, [r0, #2] - ldrb r3, [r2, #3] - strb r3, [r0, #3] - ldrb r3, [r2, #4] - ldrb r2, [r2, #5] - strb r3, [r0, #4] - strb r2, [r0, #5] - ldr r0, _02034FE4 ; =sub_02034C20 - mov r2, #0 - bl sub_02032C1C - cmp r0, #0 - beq _02034FCC - add sp, #8 - mov r0, #1 - pop {r4, pc} -_02034FCC: - mov r0, #0 - add sp, #8 - pop {r4, pc} - nop -_02034FD4: .word 0x021D4134 -_02034FD8: .word 0x00000D93 -_02034FDC: .word sub_020367A8 -_02034FE0: .word 0x020F6A88 -_02034FE4: .word sub_02034C20 - thumb_func_end sub_02034F64 - - thumb_func_start sub_02034FE8 -sub_02034FE8: ; 0x02034FE8 - push {r3, lr} - ldr r0, _02035074 ; =0x021D4134 - ldr r1, [r0, #8] - cmp r1, #0 - bne _02034FF6 - mov r0, #1 - pop {r3, pc} -_02034FF6: - ldr r0, _02035078 ; =0x00000D94 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _02035008 - cmp r0, #1 - beq _02035038 - cmp r0, #2 - beq _02035050 - b _0203506E -_02035008: - bl sub_02033990 - cmp r0, #0 - beq _02035020 - bl sub_02032E24 - ldr r0, _02035074 ; =0x021D4134 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02035078 ; =0x00000D94 - strb r2, [r1, r0] - b _0203506E -_02035020: - bl sub_0203393C - cmp r0, #0 - bne _0203506E - bl sub_02033858 - ldr r0, _02035074 ; =0x021D4134 - mov r2, #2 - ldr r1, [r0, #8] - ldr r0, _02035078 ; =0x00000D94 - strb r2, [r1, r0] - b _0203506E -_02035038: - bl sub_0203393C - cmp r0, #0 - bne _0203506E - bl sub_02033858 - ldr r0, _02035074 ; =0x021D4134 - mov r2, #2 - ldr r1, [r0, #8] - ldr r0, _02035078 ; =0x00000D94 - strb r2, [r1, r0] - b _0203506E -_02035050: - bl sub_02033920 - cmp r0, #0 - beq _0203505C - mov r0, #1 - pop {r3, pc} -_0203505C: - bl sub_02033958 - cmp r0, #0 - beq _0203506E - ldr r0, _02035074 ; =0x021D4134 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02035078 ; =0x00000D94 - strb r2, [r1, r0] -_0203506E: - mov r0, #0 - pop {r3, pc} - nop -_02035074: .word 0x021D4134 -_02035078: .word 0x00000D94 - thumb_func_end sub_02034FE8 - - thumb_func_start sub_0203507C -sub_0203507C: ; 0x0203507C - push {r3, lr} - ldr r0, _020350A0 ; =0x021D4134 - ldr r2, [r0, #8] - cmp r2, #0 - beq _0203509A - ldr r0, _020350A4 ; =0x00000D92 - ldrb r1, [r2, r0] - cmp r1, #0 - bne _0203509A - mov r1, #1 - strb r1, [r2, r0] - bl sub_02033858 - mov r0, #1 - pop {r3, pc} -_0203509A: - mov r0, #0 - pop {r3, pc} - nop -_020350A0: .word 0x021D4134 -_020350A4: .word 0x00000D92 - thumb_func_end sub_0203507C - - thumb_func_start sub_020350A8 -sub_020350A8: ; 0x020350A8 - push {r3, lr} - ldr r1, _020350CC ; =0x021D4134 - ldr r2, [r1, #8] - cmp r2, #0 - beq _020350C8 - cmp r0, #0 - ldr r0, _020350D0 ; =0x00000D92 - beq _020350BE - mov r1, #2 - strb r1, [r2, r0] - pop {r3, pc} -_020350BE: - mov r1, #0 - strb r1, [r2, r0] - mov r0, #1 - bl sub_02034DF0 -_020350C8: - pop {r3, pc} - nop -_020350CC: .word 0x021D4134 -_020350D0: .word 0x00000D92 - thumb_func_end sub_020350A8 - - thumb_func_start sub_020350D4 -sub_020350D4: ; 0x020350D4 - push {r3, lr} - ldr r0, _0203510C ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035110 ; =0x00000D7C - ldr r0, [r1, r0] - bl FreeToHeap - ldr r0, _0203510C ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035114 ; =0x00000D64 - ldr r0, [r1, r0] - bl FreeToHeap - ldr r0, _0203510C ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035118 ; =0x00000D84 - ldr r0, [r1, r0] - bl FreeToHeap - ldr r0, _0203510C ; =0x021D4134 - ldr r0, [r0, #8] - bl FreeToHeap - ldr r0, _0203510C ; =0x021D4134 - mov r1, #0 - str r1, [r0, #8] - pop {r3, pc} - nop -_0203510C: .word 0x021D4134 -_02035110: .word 0x00000D7C -_02035114: .word 0x00000D64 -_02035118: .word 0x00000D84 - thumb_func_end sub_020350D4 - - thumb_func_start sub_0203511C -sub_0203511C: ; 0x0203511C - push {r4, lr} - bl sub_02037474 - cmp r0, #0 - bne _0203512A - mov r0, #0 - pop {r4, pc} -_0203512A: - ldr r1, _02035148 ; =0x021D4134 - mov r0, #0 - ldr r4, [r1, #8] - ldr r1, _0203514C ; =0x00000D44 - add r3, r0, #0 -_02035134: - ldrh r2, [r4, r1] - cmp r2, #0 - beq _0203513C - add r0, r0, #1 -_0203513C: - add r3, r3, #1 - add r4, r4, #2 - cmp r3, #0x10 - blt _02035134 - pop {r4, pc} - nop -_02035148: .word 0x021D4134 -_0203514C: .word 0x00000D44 - thumb_func_end sub_0203511C - - thumb_func_start sub_02035150 -sub_02035150: ; 0x02035150 - push {r3, r4, r5, lr} - ldr r1, _0203517C ; =0x021D4134 - mov r4, #0 - ldr r5, [r1, #8] - ldr r1, _02035180 ; =0x00000D44 - add r3, r4, #0 -_0203515C: - ldrh r2, [r5, r1] - cmp r2, #0 - beq _0203516C - cmp r4, r0 - bne _0203516A - add r0, r3, #0 - pop {r3, r4, r5, pc} -_0203516A: - add r4, r4, #1 -_0203516C: - add r3, r3, #1 - add r5, r5, #2 - cmp r3, #0x10 - blt _0203515C - bl GF_AssertFail - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203517C: .word 0x021D4134 -_02035180: .word 0x00000D44 - thumb_func_end sub_02035150 - - thumb_func_start sub_02035184 -sub_02035184: ; 0x02035184 - ldr r0, _02035190 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035194 ; =0x00000D74 - ldrb r0, [r1, r0] - bx lr - nop -_02035190: .word 0x021D4134 -_02035194: .word 0x00000D74 - thumb_func_end sub_02035184 - - thumb_func_start sub_02035198 -sub_02035198: ; 0x02035198 - ldr r0, _020351A4 ; =0x021D4134 - mov r2, #0 - ldr r1, [r0, #8] - ldr r0, _020351A8 ; =0x00000D74 - strb r2, [r1, r0] - bx lr - .balign 4, 0 -_020351A4: .word 0x021D4134 -_020351A8: .word 0x00000D74 - thumb_func_end sub_02035198 - - thumb_func_start sub_020351AC -sub_020351AC: ; 0x020351AC - ldr r1, _020351D4 ; =0x021D4134 - ldr r3, [r1, #8] - lsl r1, r0, #1 - add r2, r3, r1 - ldr r1, _020351D8 ; =0x00000D44 - ldrh r1, [r2, r1] - cmp r1, #0 - beq _020351D0 - mov r1, #0xc0 - add r2, r0, #0 - mul r2, r1 - add r0, r3, r2 - add r1, #0xaa - ldrb r0, [r0, r1] - cmp r0, #0 - bne _020351D2 - mov r0, #1 - bx lr -_020351D0: - mov r0, #0 -_020351D2: - bx lr - .balign 4, 0 -_020351D4: .word 0x021D4134 -_020351D8: .word 0x00000D44 - thumb_func_end sub_020351AC - - thumb_func_start sub_020351DC -sub_020351DC: ; 0x020351DC - push {r4, r5, r6, lr} - add r4, r1, #0 - ldr r1, _02035210 ; =0x021D4134 - mov r5, #0 - ldr r6, [r1, #8] - ldr r1, _02035214 ; =0x00000D44 - add r3, r5, #0 -_020351EA: - ldrh r2, [r6, r1] - cmp r2, #0 - beq _02035204 - cmp r0, r5 - bne _02035202 - add r0, r3, #0 - bl sub_02035798 - add r1, r4, #0 - bl sub_02028EE4 - pop {r4, r5, r6, pc} -_02035202: - add r5, r5, #1 -_02035204: - add r3, r3, #1 - add r6, r6, #2 - cmp r3, #0x10 - blt _020351EA - pop {r4, r5, r6, pc} - nop -_02035210: .word 0x021D4134 -_02035214: .word 0x00000D44 - thumb_func_end sub_020351DC - - thumb_func_start sub_02035218 -sub_02035218: ; 0x02035218 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02033298 - cmp r0, #2 - bne _0203522C - bl sub_02032E24 - mov r0, #0 - pop {r3, r4, r5, pc} -_0203522C: - bl sub_02033298 - cmp r0, #1 - bne _02035282 - bl sub_0203993C - ldr r2, _02035288 ; =0x021D4134 - mov r1, #0xc0 - add r4, r5, #0 - mul r4, r1 - ldr r3, [r2, #8] - add r1, #0x8a - add r2, r3, r4 - ldrh r2, [r2, r1] - mov r1, #0xd9 - lsl r1, r1, #4 - strb r2, [r3, r1] - bl sub_0203401C - cmp r0, #0 - beq _0203526C - ldr r1, _02035288 ; =0x021D4134 - mov r0, #1 - ldr r2, [r1, #8] - mov r1, #0x46 - lsl r1, r1, #2 - add r1, r2, r1 - add r1, r1, r4 - mov r2, #0 - bl sub_02032B84 - b _0203527E -_0203526C: - ldr r1, _02035288 ; =0x021D4134 - mov r0, #1 - ldr r2, [r1, #8] - mov r1, #0x45 - lsl r1, r1, #2 - add r1, r2, r1 - add r1, r1, r4 - bl sub_0203373C -_0203527E: - mov r0, #1 - pop {r3, r4, r5, pc} -_02035282: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_02035288: .word 0x021D4134 - thumb_func_end sub_02035218 - - thumb_func_start sub_0203528C -sub_0203528C: ; 0x0203528C - push {r3, r4, r5, r6, r7, lr} - bl sub_02034C94 - mov r4, #0 - ldr r1, _020352CC ; =0x021D4134 - ldr r0, _020352D0 ; =0x00000D44 - add r5, r4, #0 - mov r2, #1 -_0203529C: - ldr r3, [r1, #8] - add r3, r3, r5 - ldrh r6, [r3, r0] - cmp r6, #0 - beq _020352C0 - beq _020352C0 - ldr r6, _020352D0 ; =0x00000D44 - ldrh r6, [r3, r6] - sub r7, r6, #1 - ldr r6, _020352D0 ; =0x00000D44 - strh r7, [r3, r6] - ldr r3, [r1, #8] - add r7, r3, r5 - ldrh r6, [r7, r6] - cmp r6, #0 - bne _020352C0 - ldr r6, _020352D4 ; =0x00000D74 - strb r2, [r3, r6] -_020352C0: - add r4, r4, #1 - add r5, r5, #2 - cmp r4, #0x10 - blt _0203529C - pop {r3, r4, r5, r6, r7, pc} - nop -_020352CC: .word 0x021D4134 -_020352D0: .word 0x00000D44 -_020352D4: .word 0x00000D74 - thumb_func_end sub_0203528C - - thumb_func_start sub_020352D8 -sub_020352D8: ; 0x020352D8 - push {r3, r4, r5, lr} - bl sub_0203993C - add r5, r0, #0 - bl sub_02035784 - add r4, r0, #0 - cmp r5, #0xf - beq _02035360 - ldr r0, _020353A8 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _020353AC ; =0x00000D88 - ldr r5, [r1, r0] - bl sub_020290B4 - cmp r0, #0x20 - ble _020352FE - bl GF_AssertFail -_020352FE: - bl sub_02028ECC - cmp r0, #0x20 - beq _0203530A - bl GF_AssertFail -_0203530A: - bl sub_02028ECC - add r1, r5, #0 - add r2, r0, #0 - add r0, r4, #0 - add r1, #0x10 - bl sub_020D4A50 - bl sub_020290B4 - add r2, r0, #0 - ldr r0, _020353A8 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _020353B0 ; =0x00000D7C - ldr r0, [r1, r0] - add r1, r5, #0 - add r1, #0x30 - bl sub_020D4A50 - add r0, r4, #0 - bl sub_02028F84 - str r0, [r5] - bl sub_0203993C - strb r0, [r5, #4] - bl sub_02039954 - strb r0, [r5, #5] - ldr r0, _020353A8 ; =0x021D4134 - mov r2, #8 - ldr r1, [r0, #8] - ldr r0, _020353B4 ; =0x00000D68 - add r0, r1, r0 - add r1, r5, #0 - add r1, #8 - bl sub_020D4A50 - bl sub_02033AB8 - add r5, #0x54 - strb r0, [r5] - b _02035388 -_02035360: - ldr r1, _020353A8 ; =0x021D4134 - ldr r2, [r1, #8] - ldr r1, _020353AC ; =0x00000D88 - ldr r4, [r2, r1] - bl sub_02028F84 - str r0, [r4] - bl sub_0203993C - strb r0, [r4, #4] - bl sub_02039954 - strb r0, [r4, #5] - ldr r0, _020353A8 ; =0x021D4134 - add r4, #8 - ldr r0, [r0, #8] - add r1, r4, #0 - mov r2, #0x54 - bl sub_020D4A50 -_02035388: - ldr r0, _020353A8 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _020353AC ; =0x00000D88 - ldr r0, [r1, r0] - mov r1, #0x5c - bl DC_FlushRange - ldr r0, _020353A8 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _020353AC ; =0x00000D88 - ldr r0, [r1, r0] - mov r1, #0x5c - bl sub_02033240 - pop {r3, r4, r5, pc} - nop -_020353A8: .word 0x021D4134 -_020353AC: .word 0x00000D88 -_020353B0: .word 0x00000D7C -_020353B4: .word 0x00000D68 - thumb_func_end sub_020352D8 - - thumb_func_start sub_020353B8 -sub_020353B8: ; 0x020353B8 - push {r4, lr} - ldr r0, _02035404 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035408 ; =0x00000D88 - ldr r4, [r1, r0] - bl sub_02035610 - ldrb r1, [r4, #6] - cmp r1, r0 - beq _02035402 - bl sub_02035610 - strb r0, [r4, #6] - ldr r0, _02035404 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035408 ; =0x00000D88 - ldr r0, [r1, r0] - mov r1, #0x5c - bl DC_FlushRange - ldr r0, _02035404 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035408 ; =0x00000D88 - ldr r0, [r1, r0] - mov r1, #0x5c - bl sub_02033240 - ldr r3, _02035404 ; =0x021D4134 - ldr r2, _02035408 ; =0x00000D88 - ldr r4, [r3, #8] - ldrh r3, [r3] - ldr r0, [r4, r2] - sub r2, #8 - ldr r2, [r4, r2] - mov r1, #0x5c - bl sub_020339B4 -_02035402: - pop {r4, pc} - .balign 4, 0 -_02035404: .word 0x021D4134 -_02035408: .word 0x00000D88 - thumb_func_end sub_020353B8 - - thumb_func_start sub_0203540C -sub_0203540C: ; 0x0203540C - push {r4, r5, r6, lr} - sub sp, #8 - add r4, r0, #0 - bl sub_02033298 - add r5, r0, #0 - bl sub_020347CC - add r6, r0, #0 - bl sub_020353B8 - bl sub_020338F4 - cmp r0, #0 - bne _0203544A - bl sub_0203567C - cmp r0, #0 - bne _0203544A - ldr r0, _020355AC ; =0x021D4134 - ldr r3, _020355B0 ; =0x00000D95 - ldr r1, [r0, #8] - ldrb r0, [r1, r3] - lsl r2, r0, #0x1d - lsr r2, r2, #0x1f - beq _0203544A - mov r2, #1 - bic r0, r2 - mov r2, #1 - orr r0, r2 - strb r0, [r1, r3] -_0203544A: - ldr r0, _020355AC ; =0x021D4134 - ldr r3, _020355B4 ; =0x00000D8E - ldr r2, [r0, #8] - ldr r0, _020355B8 ; =0x0000FFFF - ldrh r1, [r2, r3] - cmp r1, r0 - bne _0203545A - strh r4, [r2, r3] -_0203545A: - ldr r0, _020355AC ; =0x021D4134 - ldr r3, _020355B0 ; =0x00000D95 - ldr r1, [r0, #8] - ldrb r0, [r1, r3] - lsl r2, r0, #0x1e - lsr r2, r2, #0x1f - beq _02035490 - sub r2, r3, #7 - ldrh r2, [r1, r2] - cmp r2, r4 - bls _0203547A - mov r2, #1 - bic r0, r2 - mov r2, #1 - orr r0, r2 - strb r0, [r1, r3] -_0203547A: - cmp r6, #0 - beq _02035490 - ldr r0, _020355AC ; =0x021D4134 - ldr r2, _020355B0 ; =0x00000D95 - ldr r0, [r0, #8] - mov r1, #1 - ldrb r3, [r0, r2] - bic r3, r1 - mov r1, #1 - orr r1, r3 - strb r1, [r0, r2] -_02035490: - bl sub_020332AC - cmp r0, #0x19 - bne _0203549E - mov r0, #0 - bl sub_020399DC -_0203549E: - cmp r5, #9 - bls _020354A4 - b _020355A6 -_020354A4: - add r0, r5, r5 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020354B0: ; jump table - .short _020354C4 - _020354B0 - 2 ; case 0 - .short _020354E4 - _020354B0 - 2 ; case 1 - .short _020355A6 - _020354B0 - 2 ; case 2 - .short _020355A6 - _020354B0 - 2 ; case 3 - .short _020355A6 - _020354B0 - 2 ; case 4 - .short _020355A6 - _020354B0 - 2 ; case 5 - .short _020355A6 - _020354B0 - 2 ; case 6 - .short _02035528 - _020354B0 - 2 ; case 7 - .short _0203550E - _020354B0 - 2 ; case 8 - .short _0203550E - _020354B0 - 2 ; case 9 -_020354C4: - ldr r0, _020355AC ; =0x021D4134 - ldr r2, [r0, #8] - ldr r0, _020355BC ; =0x00000D92 - ldrb r1, [r2, r0] - cmp r1, #1 - bne _020354D8 - bl sub_020350D4 - add sp, #8 - pop {r4, r5, r6, pc} -_020354D8: - cmp r1, #2 - bne _020355A6 - mov r1, #3 - strb r1, [r2, r0] - add sp, #8 - pop {r4, r5, r6, pc} -_020354E4: - ldr r0, _020355AC ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _020355BC ; =0x00000D92 - ldrb r0, [r1, r0] - cmp r0, #1 - bne _020354F8 - bl sub_020338D0 - cmp r0, #0 - bne _020355A6 -_020354F8: - ldr r0, _020355AC ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _020355BC ; =0x00000D92 - ldrb r0, [r1, r0] - cmp r0, #2 - bne _020355A6 - bl sub_020338D0 - add sp, #8 - cmp r0, #0 - pop {r4, r5, r6, pc} -_0203550E: - ldr r0, _020355AC ; =0x021D4134 - ldr r3, [r0, #8] - cmp r3, #0 - beq _020355A6 - ldr r1, _020355B0 ; =0x00000D95 - mov r0, #1 - ldrb r2, [r3, r1] - add sp, #8 - bic r2, r0 - mov r0, #1 - orr r0, r2 - strb r0, [r3, r1] - pop {r4, r5, r6, pc} -_02035528: - bl sub_02033468 - ldr r3, _020355AC ; =0x021D4134 - ldr r2, _020355C0 ; =0x00000D91 - ldr r4, [r3, #8] - ldrb r1, [r4, r2] - cmp r1, #0 - bne _02035544 - sub r1, r2, #5 - strh r0, [r4, r1] - ldr r0, [r3, #8] - mov r1, #5 - strb r1, [r0, r2] - b _02035548 -_02035544: - sub r0, r1, #1 - strb r0, [r4, r2] -_02035548: - ldr r0, _020355AC ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _020355C4 ; =0x00000D8C - ldrh r5, [r1, r0] - add r0, #9 - ldrb r0, [r1, r0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1f - beq _02035562 - bl sub_020DF250 - ldr r1, _020355AC ; =0x021D4134 - strh r0, [r1] -_02035562: - bl sub_020352D8 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r4, r0, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02035724 - str r0, [sp] - ldr r1, _020355AC ; =0x021D4134 - ldr r0, _020355B0 ; =0x00000D95 - ldr r2, [r1, #8] - add r3, r4, #0 - ldrb r0, [r2, r0] - add r2, r5, #0 - lsl r0, r0, #0x1a - lsr r0, r0, #0x1f - str r0, [sp, #4] - ldrh r1, [r1] - mov r0, #0 - bl sub_02033668 - ldr r0, _020355AC ; =0x021D4134 - ldr r1, [r0, #8] - mov r0, #0xd9 - lsl r0, r0, #4 - strb r5, [r1, r0] -_020355A6: - add sp, #8 - pop {r4, r5, r6, pc} - nop -_020355AC: .word 0x021D4134 -_020355B0: .word 0x00000D95 -_020355B4: .word 0x00000D8E -_020355B8: .word 0x0000FFFF -_020355BC: .word 0x00000D92 -_020355C0: .word 0x00000D91 -_020355C4: .word 0x00000D8C - thumb_func_end sub_0203540C - - thumb_func_start sub_020355C8 -sub_020355C8: ; 0x020355C8 - push {r3, lr} - ldr r1, _020355D8 ; =0x021D4134 - ldr r1, [r1, #8] - cmp r1, #0 - beq _020355D6 - bl sub_0203540C -_020355D6: - pop {r3, pc} - .balign 4, 0 -_020355D8: .word 0x021D4134 - thumb_func_end sub_020355C8 - - thumb_func_start sub_020355DC -sub_020355DC: ; 0x020355DC - push {r4, lr} - add r4, r0, #0 - ldr r0, _0203560C ; =0x021D4134 - ldr r0, [r0, #8] - cmp r0, #0 - bne _020355EC - mov r0, #0 - pop {r4, pc} -_020355EC: - bl sub_02033298 - cmp r0, #4 - beq _020355F8 - mov r0, #0 - pop {r4, pc} -_020355F8: - bl sub_02033250 - mov r2, #1 - add r1, r2, #0 - lsl r1, r4 - tst r0, r1 - bne _02035608 - mov r2, #0 -_02035608: - add r0, r2, #0 - pop {r4, pc} - .balign 4, 0 -_0203560C: .word 0x021D4134 - thumb_func_end sub_020355DC - - thumb_func_start sub_02035610 -sub_02035610: ; 0x02035610 - push {r3, r4, r5, lr} - mov r4, #0 - add r5, r4, #0 -_02035616: - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl sub_020355DC - cmp r0, #0 - beq _02035624 - add r4, r4, #1 -_02035624: - add r5, r5, #1 - cmp r5, #8 - blt _02035616 - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02035610 - - thumb_func_start sub_02035630 -sub_02035630: ; 0x02035630 - ldr r0, _02035648 ; =0x021D4134 - ldr r1, [r0, #8] - cmp r1, #0 - beq _02035644 - ldr r0, _0203564C ; =0x00000D92 - ldrb r0, [r1, r0] - cmp r0, #3 - bne _02035644 - mov r0, #1 - bx lr -_02035644: - mov r0, #0 - bx lr - .balign 4, 0 -_02035648: .word 0x021D4134 -_0203564C: .word 0x00000D92 - thumb_func_end sub_02035630 - - thumb_func_start sub_02035650 -sub_02035650: ; 0x02035650 - ldr r0, _02035660 ; =0x021D4134 - ldr r0, [r0, #8] - cmp r0, #0 - beq _0203565C - mov r0, #1 - bx lr -_0203565C: - mov r0, #0 - bx lr - .balign 4, 0 -_02035660: .word 0x021D4134 - thumb_func_end sub_02035650 - - thumb_func_start sub_02035664 -sub_02035664: ; 0x02035664 - push {r3, lr} - ldr r0, _02035678 ; =0x021D4134 - ldr r0, [r0, #8] - cmp r0, #0 - beq _02035674 - bl sub_02033920 - pop {r3, pc} -_02035674: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 -_02035678: .word 0x021D4134 - thumb_func_end sub_02035664 - - thumb_func_start sub_0203567C -sub_0203567C: ; 0x0203567C - push {r3, lr} - ldr r0, _02035694 ; =0x021D4134 - ldr r0, [r0, #8] - cmp r0, #0 - beq _02035690 - bl sub_02033250 - ldr r1, _02035698 ; =0x0000FFFE - and r0, r1 - pop {r3, pc} -_02035690: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 -_02035694: .word 0x021D4134 -_02035698: .word 0x0000FFFE - thumb_func_end sub_0203567C - - thumb_func_start sub_0203569C -sub_0203569C: ; 0x0203569C - ldr r0, _020356B8 ; =0x021D4134 - ldr r1, [r0, #8] - cmp r1, #0 - beq _020356B2 - ldr r0, _020356BC ; =0x00000D95 - ldrb r0, [r1, r0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - beq _020356B2 - mov r0, #1 - bx lr -_020356B2: - mov r0, #0 - bx lr - nop -_020356B8: .word 0x021D4134 -_020356BC: .word 0x00000D95 - thumb_func_end sub_0203569C - - thumb_func_start sub_020356C0 -sub_020356C0: ; 0x020356C0 - push {r3, r4} - ldr r1, _020356E4 ; =0x021D4134 - ldr r2, [r1, #8] - cmp r2, #0 - beq _020356DE - ldr r4, _020356E8 ; =0x00000D95 - lsl r0, r0, #0x18 - ldrb r1, [r2, r4] - lsr r0, r0, #0x18 - mov r3, #4 - lsl r0, r0, #0x1f - bic r1, r3 - lsr r0, r0, #0x1d - orr r0, r1 - strb r0, [r2, r4] -_020356DE: - pop {r3, r4} - bx lr - nop -_020356E4: .word 0x021D4134 -_020356E8: .word 0x00000D95 - thumb_func_end sub_020356C0 - - thumb_func_start sub_020356EC -sub_020356EC: ; 0x020356EC - push {r4, r5} - ldr r5, _02035718 ; =0x021D4134 - ldr r2, [r5, #8] - cmp r2, #0 - beq _02035712 - ldr r4, _0203571C ; =0x00000D95 - lsl r0, r0, #0x18 - ldrb r1, [r2, r4] - lsr r0, r0, #0x18 - mov r3, #2 - lsl r0, r0, #0x1f - bic r1, r3 - lsr r0, r0, #0x1e - orr r0, r1 - strb r0, [r2, r4] - ldr r2, _02035720 ; =0x0000FFFF - ldr r1, [r5, #8] - sub r0, r4, #7 - strh r2, [r1, r0] -_02035712: - pop {r4, r5} - bx lr - nop -_02035718: .word 0x021D4134 -_0203571C: .word 0x00000D95 -_02035720: .word 0x0000FFFF - thumb_func_end sub_020356EC - - thumb_func_start sub_02035724 -sub_02035724: ; 0x02035724 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_020DEFD4 - add r4, r0, #0 - cmp r5, #0x29 - blo _02035736 - bl GF_AssertFail -_02035736: - cmp r5, #0xa - bne _02035740 - lsl r0, r4, #0xe - lsr r0, r0, #0x10 - pop {r3, r4, r5, pc} -_02035740: - cmp r5, #9 - beq _02035748 - cmp r5, #0xd - bne _0203574E -_02035748: - lsl r0, r4, #0xe - lsr r0, r0, #0x10 - pop {r3, r4, r5, pc} -_0203574E: - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02035724 - - thumb_func_start sub_02035754 -sub_02035754: ; 0x02035754 - ldr r1, _0203577C ; =0x021D4134 - ldr r3, [r1, #8] - cmp r3, #0 - beq _02035776 - lsl r1, r0, #1 - add r2, r3, r1 - ldr r1, _02035780 ; =0x00000D44 - ldrh r1, [r2, r1] - cmp r1, #0 - beq _02035776 - mov r1, #0x45 - lsl r1, r1, #2 - add r2, r3, r1 - mov r1, #0xc0 - mul r1, r0 - add r0, r2, r1 - bx lr -_02035776: - mov r0, #0 - bx lr - nop -_0203577C: .word 0x021D4134 -_02035780: .word 0x00000D44 - thumb_func_end sub_02035754 - - thumb_func_start sub_02035784 -sub_02035784: ; 0x02035784 - ldr r0, _02035790 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035794 ; =0x00000D78 - ldr r0, [r1, r0] - bx lr - nop -_02035790: .word 0x021D4134 -_02035794: .word 0x00000D78 - thumb_func_end sub_02035784 - - thumb_func_start sub_02035798 -sub_02035798: ; 0x02035798 - ldr r1, _020357BC ; =0x021D4134 - ldr r3, [r1, #8] - lsl r1, r0, #1 - add r2, r3, r1 - ldr r1, _020357C0 ; =0x00000D44 - ldrh r1, [r2, r1] - cmp r1, #0 - bne _020357AC - mov r0, #0 - bx lr -_020357AC: - mov r1, #0x59 - lsl r1, r1, #2 - add r2, r3, r1 - mov r1, #0xc0 - mul r1, r0 - add r0, r2, r1 - add r0, #0x10 - bx lr - .balign 4, 0 -_020357BC: .word 0x021D4134 -_020357C0: .word 0x00000D44 - thumb_func_end sub_02035798 - - thumb_func_start sub_020357C4 -sub_020357C4: ; 0x020357C4 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _020357F4 ; =0x021D4134 - add r4, r1, #0 - ldr r0, [r0, #8] - cmp r0, #0 - beq _020357F0 - cmp r4, #8 - blt _020357DA - bl GF_AssertFail -_020357DA: - ldr r1, _020357F4 ; =0x021D4134 - add r0, r5, #0 - ldr r2, [r1, #8] - ldr r1, _020357F8 ; =0x00000D14 - add r3, r2, r1 - mov r2, #6 - add r1, r4, #0 - mul r1, r2 - add r1, r3, r1 - bl sub_020D4A50 -_020357F0: - pop {r3, r4, r5, pc} - nop -_020357F4: .word 0x021D4134 -_020357F8: .word 0x00000D14 - thumb_func_end sub_020357C4 - - thumb_func_start sub_020357FC -sub_020357FC: ; 0x020357FC - ldr r0, _02035814 ; =0x021D4134 - ldr r1, [r0, #8] - cmp r1, #0 - beq _0203580E - ldr r0, _02035818 ; =0x00000D95 - ldrb r0, [r1, r0] - lsl r0, r0, #0x1b - lsr r0, r0, #0x1f - bx lr -_0203580E: - mov r0, #0 - bx lr - nop -_02035814: .word 0x021D4134 -_02035818: .word 0x00000D95 - thumb_func_end sub_020357FC - - thumb_func_start sub_0203581C -sub_0203581C: ; 0x0203581C - ldr r0, _02035830 ; =0x021D4134 - ldr r3, [r0, #8] - cmp r3, #0 - beq _0203582E - ldr r1, _02035834 ; =0x00000D95 - mov r0, #0x10 - ldrb r2, [r3, r1] - orr r0, r2 - strb r0, [r3, r1] -_0203582E: - bx lr - .balign 4, 0 -_02035830: .word 0x021D4134 -_02035834: .word 0x00000D95 - thumb_func_end sub_0203581C - - thumb_func_start sub_02035838 -sub_02035838: ; 0x02035838 - ldr r1, _02035848 ; =0x021D4134 - ldr r3, _0203584C ; =sub_020D4A50 - ldr r2, [r1, #8] - ldr r1, _02035850 ; =0x00000D68 - add r1, r2, r1 - mov r2, #8 - bx r3 - nop -_02035848: .word 0x021D4134 -_0203584C: .word sub_020D4A50 -_02035850: .word 0x00000D68 - thumb_func_end sub_02035838 - - thumb_func_start sub_02035854 -sub_02035854: ; 0x02035854 - push {r4, lr} - add r4, r0, #0 - bl sub_020290B4 - ldr r1, _02035870 ; =0x021D4134 - add r2, r0, #0 - ldr r3, [r1, #8] - ldr r1, _02035874 ; =0x00000D7C - add r0, r4, #0 - ldr r1, [r3, r1] - bl sub_020D4A50 - pop {r4, pc} - nop -_02035870: .word 0x021D4134 -_02035874: .word 0x00000D7C - thumb_func_end sub_02035854 - - thumb_func_start sub_02035878 -sub_02035878: ; 0x02035878 - ldr r0, _02035884 ; =0x021D4134 - ldr r1, [r0, #8] - ldr r0, _02035888 ; =0x00000D7C - ldr r0, [r1, r0] - bx lr - nop -_02035884: .word 0x021D4134 -_02035888: .word 0x00000D7C - thumb_func_end sub_02035878 - - thumb_func_start sub_0203588C -sub_0203588C: ; 0x0203588C - push {r4, lr} - bl sub_020352D8 - ldr r3, _020358A8 ; =0x021D4134 - ldr r2, _020358AC ; =0x00000D88 - ldr r4, [r3, #8] - ldrh r3, [r3] - ldr r0, [r4, r2] - sub r2, #8 - ldr r2, [r4, r2] - mov r1, #0x5c - bl sub_020339B4 - pop {r4, pc} - .balign 4, 0 -_020358A8: .word 0x021D4134 -_020358AC: .word 0x00000D88 - thumb_func_end sub_0203588C - - thumb_func_start sub_020358B0 -sub_020358B0: ; 0x020358B0 - ldr r3, _020358B4 ; =sub_02033A44 - bx r3 - .balign 4, 0 -_020358B4: .word sub_02033A44 - thumb_func_end sub_020358B0 - - thumb_func_start sub_020358B8 -sub_020358B8: ; 0x020358B8 - push {r3, lr} - ldr r1, _020358CC ; =0x021D4134 - mov r2, #0x54 - ldr r1, [r1, #8] - bl sub_020D4A50 - bl sub_0203588C - pop {r3, pc} - nop -_020358CC: .word 0x021D4134 - thumb_func_end sub_020358B8 - - thumb_func_start sub_020358D0 -sub_020358D0: ; 0x020358D0 - ldr r1, _020358F8 ; =0x021D4134 - ldr r3, [r1, #8] - cmp r3, #0 - beq _020358F4 - lsl r1, r0, #1 - add r2, r3, r1 - ldr r1, _020358FC ; =0x00000D44 - ldrh r1, [r2, r1] - cmp r1, #0 - beq _020358F4 - mov r1, #0x59 - lsl r1, r1, #2 - add r2, r3, r1 - mov r1, #0xc0 - mul r1, r0 - add r0, r2, r1 - add r0, #8 - bx lr -_020358F4: - mov r0, #0 - bx lr - .balign 4, 0 -_020358F8: .word 0x021D4134 -_020358FC: .word 0x00000D44 - thumb_func_end sub_020358D0 - - thumb_func_start sub_02035900 -sub_02035900: ; 0x02035900 - push {r4, r5, r6, lr} - add r5, r1, #0 - mov r4, #0 - ldr r1, _02035AB8 ; =0x021D4140 - cmp r0, #0 - strb r4, [r1, #1] - bne _02035910 - b _02035A58 -_02035910: - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r6, r0, #1 - ldr r0, _02035AB8 ; =0x021D4140 - ldr r0, [r0, #8] - cmp r0, #0 - beq _0203592A - mov r0, #1 - pop {r4, r5, r6, pc} -_0203592A: - mov r0, #0xf - bl sub_020379A0 - mov r1, #0x6e - mov r0, #0xf - lsl r1, r1, #4 - bl AllocFromHeap - ldr r2, _02035AB8 ; =0x021D4140 - mov r1, #0x1f - add r3, r0, #0 - and r3, r1 - mov r1, #0x20 - sub r1, r1, r3 - str r0, [r2, #4] - add r0, r1, r0 - str r0, [r2, #8] - mov r2, #0x1b - add r1, r4, #0 - lsl r2, r2, #6 - bl MIi_CpuFill8 - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _02035972 - ldr r0, _02035AB8 ; =0x021D4140 - lsl r2, r5, #1 - ldr r1, [r0, #8] - mov r0, #0x69 - add r2, #0x40 - lsl r0, r0, #4 - str r2, [r1, r0] - b _0203597E -_02035972: - ldr r0, _02035AB8 ; =0x021D4140 - add r5, #0x40 - ldr r1, [r0, #8] - mov r0, #0x69 - lsl r0, r0, #4 - str r5, [r1, r0] -_0203597E: - ldr r2, _02035AB8 ; =0x021D4140 - mov r1, #0x69 - ldr r0, [r2, #8] - lsl r1, r1, #4 - ldr r3, [r0, r1] - add r5, r3, #0 - mul r5, r6 - sub r3, r1, #4 - str r5, [r0, r3] - add r0, r1, #0 - ldr r3, [r2, #8] - mov r5, #0 - add r0, #0x1d - strb r5, [r3, r0] - add r0, r1, #0 - ldr r3, [r2, #8] - mov r5, #0x2a - add r0, #0x1e - strb r5, [r3, r0] - ldr r2, [r2, #8] - mov r0, #0xf - ldr r1, [r2, r1] - lsl r1, r1, #1 - bl AllocFromHeap - ldr r2, _02035AB8 ; =0x021D4140 - mov r1, #0x49 - ldr r3, [r2, #8] - lsl r1, r1, #4 - str r0, [r3, r1] - mov r1, #0x69 - ldr r2, [r2, #8] - lsl r1, r1, #4 - ldr r1, [r2, r1] - mov r0, #0xf - bl AllocFromHeap - ldr r2, _02035AB8 ; =0x021D4140 - ldr r1, _02035ABC ; =0x00000494 - ldr r3, [r2, #8] - str r0, [r3, r1] - ldr r2, [r2, #8] - ldr r1, _02035AC0 ; =0x0000068C - mov r0, #0xf - ldr r1, [r2, r1] - bl AllocFromHeap - ldr r2, _02035AB8 ; =0x021D4140 - ldr r1, _02035AC4 ; =0x0000048C - ldr r3, [r2, #8] - str r0, [r3, r1] - ldr r2, [r2, #8] - ldr r1, _02035AC0 ; =0x0000068C - mov r0, #0xf - ldr r1, [r2, r1] - bl AllocFromHeap - ldr r1, _02035AB8 ; =0x021D4140 - ldr r2, [r1, #8] - ldr r1, _02035AC8 ; =0x00000488 - str r0, [r2, r1] - bl sub_0203993C - cmp r0, #0xa - bne _02035A2C - ldr r0, _02035AB8 ; =0x021D4140 - mov r2, #0x16 - ldr r3, [r0, #8] - lsl r2, r2, #6 - add r0, r3, r2 - sub r2, #0xe8 - mov r1, #0x64 - add r2, r3, r2 - bl sub_02033F44 - ldr r0, _02035AB8 ; =0x021D4140 - mov r2, #0x5a - mov r1, #0x32 - ldr r3, [r0, #8] - lsl r2, r2, #4 - add r0, r3, r2 - sub r2, #0x90 - lsl r1, r1, #4 - add r2, r3, r2 - bl sub_02033F44 - b _02035A64 -_02035A2C: - ldr r0, _02035AB8 ; =0x021D4140 - mov r2, #0x16 - ldr r3, [r0, #8] - lsl r2, r2, #6 - add r0, r3, r2 - sub r2, #0xe8 - mov r1, #0x14 - add r2, r3, r2 - bl sub_02033F44 - ldr r0, _02035AB8 ; =0x021D4140 - mov r2, #0x5a - add r1, r5, #0 - ldr r3, [r0, #8] - lsl r2, r2, #4 - add r0, r3, r2 - sub r2, #0x90 - add r1, #0xee - add r2, r3, r2 - bl sub_02033F44 - b _02035A64 -_02035A58: - ldr r0, [r1, #8] - mov r4, #1 - cmp r0, #0 - bne _02035A64 - bl GF_AssertFail -_02035A64: - ldr r2, _02035AB8 ; =0x021D4140 - ldr r1, _02035ACC ; =0x00000694 - ldr r3, [r2, #8] - mov r0, #0 - strh r0, [r3, r1] - mov r5, #0xff - add r1, #0x12 -_02035A72: - ldr r3, [r2, #8] - add r3, r3, r0 - add r0, r0, #1 - strb r5, [r3, r1] - cmp r0, #4 - blt _02035A72 - cmp r4, #0 - bne _02035A86 - bl sub_02035DA4 -_02035A86: - ldr r0, _02035AB8 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02035AD0 ; =0x0000062C - add r0, r1, r0 - bl sub_0203778C - cmp r4, #0 - bne _02035AA8 - mov r1, #0 - ldr r0, _02035AD4 ; =sub_020360EC - add r2, r1, #0 - bl sub_0200E33C - ldr r1, _02035AB8 ; =0x021D4140 - ldr r2, [r1, #8] - ldr r1, _02035AD8 ; =0x0000057C - str r0, [r2, r1] -_02035AA8: - ldr r0, _02035AB8 ; =0x021D4140 - mov r2, #0 - ldr r1, [r0, #8] - ldr r0, _02035ADC ; =0x000006B6 - strb r2, [r1, r0] - mov r0, #1 - pop {r4, r5, r6, pc} - nop -_02035AB8: .word 0x021D4140 -_02035ABC: .word 0x00000494 -_02035AC0: .word 0x0000068C -_02035AC4: .word 0x0000048C -_02035AC8: .word 0x00000488 -_02035ACC: .word 0x00000694 -_02035AD0: .word 0x0000062C -_02035AD4: .word sub_020360EC -_02035AD8: .word 0x0000057C -_02035ADC: .word 0x000006B6 - thumb_func_end sub_02035900 - - thumb_func_start sub_02035AE0 -sub_02035AE0: ; 0x02035AE0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - mov r2, #0x66 - ldr r3, _02035D5C ; =0x021D4140 - add r7, r0, #1 - ldr r0, [r3, #8] - mov r1, #0 - lsl r2, r2, #4 - strb r1, [r0, r2] - add r0, r2, #1 - ldr r4, [r3, #8] - add r2, #0x2c - strb r1, [r4, r0] - ldr r3, [r3, #8] - ldr r0, _02035D60 ; =0x0000048C - ldr r2, [r3, r2] - ldr r0, [r3, r0] - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #0x60 - ldr r1, [r0, #8] - ldr r0, _02035D64 ; =0x0000051C - add r0, r1, r0 - mov r1, #0 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02035D68 ; =0x0000068C - ldr r0, [r1, r0] - add r1, r7, #0 - bl _s32_div_f - add r4, r0, #0 - mov r0, #0 - str r0, [sp, #4] - cmp r7, #0 - ble _02035B62 - add r6, r0, #0 - add r5, r0, #0 -_02035B3E: - ldr r0, _02035D5C ; =0x021D4140 - ldr r2, _02035D60 ; =0x0000048C - ldr r1, [r0, #8] - ldr r0, _02035D64 ; =0x0000051C - add r0, r1, r0 - ldr r1, [r1, r2] - add r0, r0, r5 - add r1, r1, r6 - add r2, r4, #0 - bl sub_02033AE0 - ldr r0, [sp, #4] - add r6, r6, r4 - add r0, r0, #1 - add r5, #0xc - str r0, [sp, #4] - cmp r0, r7 - blt _02035B3E -_02035B62: - ldr r0, _02035D5C ; =0x021D4140 - ldr r2, _02035D68 ; =0x0000068C - ldr r3, [r0, #8] - ldr r0, _02035D6C ; =0x00000488 - ldr r2, [r3, r2] - ldr r0, [r3, r0] - mov r1, #0 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #0x60 - ldr r1, [r0, #8] - mov r0, #0x4b - lsl r0, r0, #4 - add r0, r1, r0 - mov r1, #0 - bl MIi_CpuFill8 - mov r0, #0 - str r0, [sp] - cmp r7, #0 - ble _02035BB8 - add r6, r0, #0 - add r5, r0, #0 -_02035B92: - ldr r0, _02035D5C ; =0x021D4140 - ldr r2, _02035D6C ; =0x00000488 - ldr r1, [r0, #8] - mov r0, #0x4b - lsl r0, r0, #4 - add r0, r1, r0 - ldr r1, [r1, r2] - add r0, r0, r5 - add r1, r1, r6 - add r2, r4, #0 - bl sub_02033AE0 - ldr r0, [sp] - add r6, r6, r4 - add r0, r0, #1 - add r5, #0xc - str r0, [sp] - cmp r0, r7 - blt _02035B92 -_02035BB8: - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #6 - ldr r1, [r0, #8] - mov r0, #0xc2 - lsl r0, r0, #2 - add r0, r1, r0 - mov r1, #0 - lsl r2, r2, #6 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r1, #0xc2 - ldr r2, [r0, #8] - mov r0, #0x51 - lsl r0, r0, #4 - lsl r1, r1, #2 - add r0, r2, r0 - add r1, r2, r1 - mov r2, #6 - lsl r2, r2, #6 - bl sub_02033AE0 - ldr r0, _02035D5C ; =0x021D4140 - mov r1, #0xee - ldr r0, [r0, #8] - add r2, r1, #0 - add r0, #0x80 - add r2, #0x92 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #5 - lsl r0, r0, #6 - add r0, r1, r0 - mov r1, #0xee - add r2, r1, #0 - add r2, #0x92 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #2 - ldr r0, [r0, #8] - lsl r2, r2, #8 - add r0, r0, r2 - mov r1, #0 - sub r2, #0xf8 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #2 - ldr r1, [r0, #8] - ldr r0, _02035D70 ; =0x00000498 - lsl r2, r2, #8 - add r0, r1, r0 - add r1, r1, r2 - sub r2, #0xf8 - bl sub_02033AE0 - ldr r0, _02035D5C ; =0x021D4140 - mov r1, #0xee - ldr r0, [r0, #8] - mov r2, #0x26 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r1, #0xee - ldr r0, [r0, #8] - mov r2, #0x26 - add r0, #0x40 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #0xff - ldr r1, [r0, #8] - strb r2, [r1] - ldr r1, [r0, #8] - add r1, #0x40 - strb r2, [r1] - ldr r3, [r0, #8] - mov r2, #0x69 - mov r0, #0x49 - lsl r2, r2, #4 - lsl r0, r0, #4 - ldr r2, [r3, r2] - ldr r0, [r3, r0] - mov r1, #0 - lsl r2, r2, #1 - bl MIi_CpuFill8 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #0x69 - ldr r3, [r0, #8] - ldr r1, _02035D74 ; =0x000004A4 - lsl r2, r2, #4 - add r0, r3, r1 - sub r1, #0x14 - ldr r2, [r3, r2] - ldr r1, [r3, r1] - lsl r2, r2, #1 - bl sub_02033AE0 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #0 - ldr r3, [r0, #8] - ldr r1, _02035D78 ; =0x000006B4 - mov ip, r2 - strb r2, [r3, r1] - ldr r3, [r0, #8] - add r1, r1, #1 - strb r2, [r3, r1] - add r1, r2, #0 - add r7, r2, #0 - add r6, r2, #0 -_02035C9C: - ldr r3, [r0, #8] - add r4, r3, r2 - ldr r3, _02035D7C ; =0x00000696 - strb r6, [r4, r3] - ldr r3, [r0, #8] - ldr r4, _02035D80 ; =0x0000069E - add r5, r3, r2 - mov r3, #1 - strb r3, [r5, r4] - ldr r4, [r0, #8] - mov r3, ip - add r4, r4, r3 - ldr r3, _02035D84 ; =0x00000644 - add r2, r2, #1 - strh r6, [r4, r3] - ldr r3, [r0, #8] - mov r4, #0xee - add r5, r3, r1 - ldr r3, _02035D88 ; =0x000005CA - strb r4, [r5, r3] - ldr r3, [r0, #8] - ldr r4, _02035D8C ; =0x0000FFFF - add r5, r3, r1 - ldr r3, _02035D90 ; =0x000005C8 - strh r4, [r5, r3] - ldr r3, [r0, #8] - add r4, r3, r1 - ldr r3, _02035D94 ; =0x000005C4 - str r6, [r4, r3] - ldr r3, [r0, #8] - add r4, r3, r1 - mov r3, #0x17 - lsl r3, r3, #6 - str r6, [r4, r3] - ldr r3, [r0, #8] - add r1, #0xc - add r4, r3, r7 - ldr r3, _02035D98 ; =0x0000066C - add r7, r7, #4 - str r6, [r4, r3] - mov r3, ip - add r3, r3, #2 - mov ip, r3 - cmp r2, #8 - blt _02035C9C - ldr r1, _02035D5C ; =0x021D4140 - ldr r0, _02035D9C ; =0x00000668 - ldr r2, [r1, #8] - add r3, r0, #0 - str r6, [r2, r0] - ldr r4, [r1, #8] - sub r3, #0x3e - mov r2, #0xee - strb r2, [r4, r3] - add r3, r0, #0 - ldr r4, [r1, #8] - ldr r2, _02035D8C ; =0x0000FFFF - sub r3, #0x40 - strh r2, [r4, r3] - add r2, r0, #0 - ldr r3, [r1, #8] - sub r2, #0x44 - str r6, [r3, r2] - add r2, r0, #0 - ldr r3, [r1, #8] - sub r2, #0x48 - str r6, [r3, r2] - add r3, r0, #0 - ldr r4, [r1, #8] - add r3, #0x4a - mov r2, #1 - strb r2, [r4, r3] - add r3, r0, #0 - ldr r4, [r1, #8] - add r3, #0x4b - strb r2, [r4, r3] - strb r6, [r1] - ldr r1, [r1, #8] - sub r0, #0xe8 - add r0, r1, r0 - bl sub_02033F70 - ldr r0, _02035D5C ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r1, r0 - bl sub_02033F70 - ldr r0, _02035D5C ; =0x021D4140 - mov r2, #0 - ldr r1, [r0, #8] - ldr r0, _02035DA0 ; =0x000006B7 - strb r2, [r1, r0] - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02035D5C: .word 0x021D4140 -_02035D60: .word 0x0000048C -_02035D64: .word 0x0000051C -_02035D68: .word 0x0000068C -_02035D6C: .word 0x00000488 -_02035D70: .word 0x00000498 -_02035D74: .word 0x000004A4 -_02035D78: .word 0x000006B4 -_02035D7C: .word 0x00000696 -_02035D80: .word 0x0000069E -_02035D84: .word 0x00000644 -_02035D88: .word 0x000005CA -_02035D8C: .word 0x0000FFFF -_02035D90: .word 0x000005C8 -_02035D94: .word 0x000005C4 -_02035D98: .word 0x0000066C -_02035D9C: .word 0x00000668 -_02035DA0: .word 0x000006B7 - thumb_func_end sub_02035AE0 - - thumb_func_start sub_02035DA4 -sub_02035DA4: ; 0x02035DA4 - push {r4, lr} - ldr r2, _02035DCC ; =0x021D4140 - ldr r1, _02035DD0 ; =0x000006AF - ldr r0, [r2, #8] - mov r4, #0 - strb r4, [r0, r1] - ldr r3, [r2, #8] - add r0, r1, #1 - strb r4, [r3, r0] - ldr r0, [r2, #8] - mov r3, #1 - sub r1, #0x4b - str r3, [r0, r1] - bl sub_02035AE0 - ldr r0, _02035DD4 ; =0x0210F900 - mov r1, #4 - strb r1, [r0] - strb r1, [r0, #1] - pop {r4, pc} - .balign 4, 0 -_02035DCC: .word 0x021D4140 -_02035DD0: .word 0x000006AF -_02035DD4: .word 0x0210F900 - thumb_func_end sub_02035DA4 - - thumb_func_start sub_02035DD8 -sub_02035DD8: ; 0x02035DD8 - ldr r3, _02035DDC ; =sub_02035AE0 - bx r3 - .balign 4, 0 -_02035DDC: .word sub_02035AE0 - thumb_func_end sub_02035DD8 - - thumb_func_start sub_02035DE0 -sub_02035DE0: ; 0x02035DE0 - push {r3, r4, r5, r6, r7, lr} - ldr r4, _02035E84 ; =0x021D4140 - add r5, r0, #0 - ldr r0, [r4, #8] - ldr r3, _02035E88 ; =0x00000696 - mov r1, #0 - add r0, r0, r5 - strb r1, [r0, r3] - ldr r2, [r4, #8] - mov r0, #1 - add r6, r2, r5 - add r2, r3, #0 - add r2, #8 - strb r0, [r6, r2] - ldr r2, [r4, #8] - lsl r0, r5, #2 - add r0, r2, r0 - sub r3, #0x2a - str r1, [r0, r3] - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r1, r0, #0 - add r0, r4, #0 - ldr r6, [r0, #8] - ldr r0, _02035E8C ; =0x0000068C - add r1, r1, #1 - ldr r0, [r6, r0] - bl _s32_div_f - add r7, r5, #0 - mov r1, #0x4b - str r0, [sp] - mul r7, r0 - mov r0, #0xc - add r4, r5, #0 - lsl r1, r1, #4 - mul r4, r0 - add r0, r6, r1 - sub r1, #0x28 - ldr r1, [r6, r1] - ldr r2, [sp] - add r0, r0, r4 - add r1, r1, r7 - bl sub_02033AE0 - ldr r0, _02035E84 ; =0x021D4140 - ldr r1, _02035E90 ; =0x0000051C - ldr r2, [r0, #8] - add r0, r2, r1 - sub r1, #0x90 - ldr r1, [r2, r1] - ldr r2, [sp] - add r0, r0, r4 - add r1, r1, r7 - bl sub_02033AE0 - ldr r3, _02035E84 ; =0x021D4140 - ldr r2, _02035E94 ; =0x000005CA - ldr r0, [r3, #8] - mov r1, #0xee - add r0, r0, r4 - strb r1, [r0, r2] - ldr r0, [r3, #8] - ldr r5, _02035E98 ; =0x0000FFFF - add r1, r0, r4 - sub r0, r2, #2 - strh r5, [r1, r0] - ldr r1, [r3, #8] - mov r0, #0 - add r5, r1, r4 - sub r1, r2, #6 - str r0, [r5, r1] - ldr r1, [r3, #8] - sub r2, #0xa - add r1, r1, r4 - str r0, [r1, r2] - pop {r3, r4, r5, r6, r7, pc} - nop -_02035E84: .word 0x021D4140 -_02035E88: .word 0x00000696 -_02035E8C: .word 0x0000068C -_02035E90: .word 0x0000051C -_02035E94: .word 0x000005CA -_02035E98: .word 0x0000FFFF - thumb_func_end sub_02035DE0 - - thumb_func_start sub_02035E9C -sub_02035E9C: ; 0x02035E9C - push {r4, r5, r6, lr} - ldr r4, _02035EC8 ; =0x021D4140 - ldr r6, _02035ECC ; =0x0000069E - mov r5, #1 -_02035EA4: - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - bne _02035EC0 - ldr r0, [r4, #8] - add r0, r0, r5 - ldrb r0, [r0, r6] - cmp r0, #0 - bne _02035EC0 - add r0, r5, #0 - bl sub_02035DE0 -_02035EC0: - add r5, r5, #1 - cmp r5, #8 - blt _02035EA4 - pop {r4, r5, r6, pc} - .balign 4, 0 -_02035EC8: .word 0x021D4140 -_02035ECC: .word 0x0000069E - thumb_func_end sub_02035E9C - - thumb_func_start sub_02035ED0 -sub_02035ED0: ; 0x02035ED0 - ldr r3, _02035ED4 ; =sub_02035DE0 - bx r3 - .balign 4, 0 -_02035ED4: .word sub_02035DE0 - thumb_func_end sub_02035ED0 - - thumb_func_start sub_02035ED8 -sub_02035ED8: ; 0x02035ED8 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - str r3, [sp] - mov r4, #1 - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - bne _02035F02 - ldr r2, [sp] - add r0, r5, #0 - add r1, r6, #0 - bl sub_02034EF0 - add r4, r0, #0 - ldr r0, _02035F10 ; =sub_02035ED0 - bl sub_02033A90 -_02035F02: - add r0, r5, #0 - add r1, r7, #0 - bl sub_02035900 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_02035F10: .word sub_02035ED0 - thumb_func_end sub_02035ED8 - - thumb_func_start sub_02035F14 -sub_02035F14: ; 0x02035F14 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - mov r4, #1 - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - bne _02035F34 - add r0, r5, #0 - add r1, r6, #0 - bl sub_02034F64 - add r4, r0, #0 -_02035F34: - add r0, r5, #0 - add r1, r7, #0 - bl sub_02035900 - ldr r0, _02035F48 ; =0x0210F900 - mov r1, #4 - strb r1, [r0, #1] - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_02035F48: .word 0x0210F900 - thumb_func_end sub_02035F14 - - thumb_func_start sub_02035F4C -sub_02035F4C: ; 0x02035F4C - push {r4, lr} - mov r4, #0 - bl sub_0203769C - cmp r0, #0 - bne _02035F62 - ldr r0, _02035F9C ; =0x0210F900 - ldrb r0, [r0] - cmp r0, #4 - beq _02035F6A - pop {r4, pc} -_02035F62: - ldr r0, _02035F9C ; =0x0210F900 - ldrb r0, [r0, #1] - cmp r0, #4 - bne _02035F98 -_02035F6A: - ldr r0, _02035FA0 ; =0x021D4140 - ldr r2, [r0, #8] - ldr r0, _02035FA4 ; =0x000006AD - ldrb r1, [r2, r0] - cmp r1, #2 - bne _02035F7C - mov r1, #0 - strb r1, [r2, r0] - mov r4, #1 -_02035F7C: - ldr r0, _02035FA0 ; =0x021D4140 - ldr r2, [r0, #8] - ldr r0, _02035FA4 ; =0x000006AD - ldrb r1, [r2, r0] - cmp r1, #3 - bne _02035F8C - mov r4, #1 - strb r4, [r2, r0] -_02035F8C: - cmp r4, #0 - beq _02035F94 - bl sub_02035DD8 -_02035F94: - bl sub_02037594 -_02035F98: - pop {r4, pc} - nop -_02035F9C: .word 0x0210F900 -_02035FA0: .word 0x021D4140 -_02035FA4: .word 0x000006AD - thumb_func_end sub_02035F4C - - thumb_func_start sub_02035FA8 -sub_02035FA8: ; 0x02035FA8 - ldr r1, _02035FD0 ; =0x021D4140 - ldr r3, [r1, #8] - ldr r1, _02035FD4 ; =0x000006AD - ldrb r2, [r3, r1] - cmp r2, #0 - bne _02035FBE - cmp r0, #1 - bne _02035FBE - mov r0, #3 - strb r0, [r3, r1] - bx lr -_02035FBE: - cmp r2, #1 - bne _02035FCC - cmp r0, #0 - bne _02035FCC - ldr r0, _02035FD4 ; =0x000006AD - mov r1, #2 - strb r1, [r3, r0] -_02035FCC: - bx lr - nop -_02035FD0: .word 0x021D4140 -_02035FD4: .word 0x000006AD - thumb_func_end sub_02035FA8 - - thumb_func_start sub_02035FD8 -sub_02035FD8: ; 0x02035FD8 - ldr r3, _02035FE0 ; =sub_02035FA8 - mov r0, #1 - bx r3 - nop -_02035FE0: .word sub_02035FA8 - thumb_func_end sub_02035FD8 - - thumb_func_start sub_02035FE4 -sub_02035FE4: ; 0x02035FE4 - ldr r3, _02035FEC ; =sub_02035FA8 - mov r0, #0 - bx r3 - nop -_02035FEC: .word sub_02035FA8 - thumb_func_end sub_02035FE4 - - thumb_func_start sub_02035FF0 -sub_02035FF0: ; 0x02035FF0 - ldr r0, _02036008 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _0203600C ; =0x000006AD - ldrb r0, [r1, r0] - cmp r0, #2 - bne _02036000 - mov r0, #1 - bx lr -_02036000: - cmp r0, #3 - bne _02036006 - mov r0, #0 -_02036006: - bx lr - .balign 4, 0 -_02036008: .word 0x021D4140 -_0203600C: .word 0x000006AD - thumb_func_end sub_02035FF0 - - thumb_func_start sub_02036010 -sub_02036010: ; 0x02036010 - push {r3, lr} - bl sub_02035FF0 - cmp r0, #1 - bne _0203601E - mov r0, #1 - pop {r3, pc} -_0203601E: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02036010 - - thumb_func_start sub_02036024 -sub_02036024: ; 0x02036024 - push {r4, lr} - ldr r0, _020360D0 ; =0x021D4140 - mov r4, #0 - ldr r0, [r0, #8] - cmp r0, #0 - beq _0203604E - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _02036044 - bl ov00_021E6CB8 - mov r4, #1 - b _0203604E -_02036044: - bl sub_0203507C - cmp r0, #0 - beq _0203604E - mov r4, #1 -_0203604E: - cmp r4, #0 - beq _020360CE - bl sub_020379F8 - bl sub_020343E4 - ldr r0, _020360D0 ; =0x021D4140 - mov r1, #0 - strb r1, [r0, #1] - ldr r1, [r0, #8] - ldr r0, _020360D4 ; =0x0000057C - ldr r0, [r1, r0] - bl sub_0200E390 - ldr r1, _020360D0 ; =0x021D4140 - ldr r0, _020360D4 ; =0x0000057C - ldr r2, [r1, #8] - mov r3, #0 - str r3, [r2, r0] - ldr r1, [r1, #8] - sub r0, #0xec - ldr r0, [r1, r0] - bl FreeToHeap - ldr r0, _020360D0 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _020360D8 ; =0x00000494 - ldr r0, [r1, r0] - bl FreeToHeap - ldr r0, _020360D0 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _020360DC ; =0x0000048C - ldr r0, [r1, r0] - bl FreeToHeap - ldr r0, _020360D0 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _020360E0 ; =0x00000488 - ldr r0, [r1, r0] - bl FreeToHeap - ldr r0, _020360D0 ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r1, r0 - bl sub_02033F90 - ldr r0, _020360D0 ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #0x16 - lsl r0, r0, #6 - add r0, r1, r0 - bl sub_02033F90 - ldr r0, _020360D0 ; =0x021D4140 - ldr r0, [r0, #4] - bl FreeToHeap - ldr r0, _020360D0 ; =0x021D4140 - mov r1, #0 - str r1, [r0, #8] - str r1, [r0, #4] -_020360CE: - pop {r4, pc} - .balign 4, 0 -_020360D0: .word 0x021D4140 -_020360D4: .word 0x0000057C -_020360D8: .word 0x00000494 -_020360DC: .word 0x0000048C -_020360E0: .word 0x00000488 - thumb_func_end sub_02036024 - - thumb_func_start sub_020360E4 -sub_020360E4: ; 0x020360E4 - ldr r3, _020360E8 ; =sub_02035218 - bx r3 - .balign 4, 0 -_020360E8: .word sub_02035218 - thumb_func_end sub_020360E4 - - thumb_func_start sub_020360EC -sub_020360EC: ; 0x020360EC - push {r3, lr} - ldr r0, _02036118 ; =0x021D4140 - ldrb r0, [r0, #1] - cmp r0, #0 - beq _02036116 - bl sub_02036AD8 - bl sub_0203769C - cmp r0, #0 - bne _02036110 - mov r0, #0 - bl sub_020373B4 - cmp r0, #0 - beq _02036110 - bl sub_02036508 -_02036110: - ldr r0, _02036118 ; =0x021D4140 - mov r1, #0 - strb r1, [r0, #1] -_02036116: - pop {r3, pc} - .balign 4, 0 -_02036118: .word 0x021D4140 - thumb_func_end sub_020360EC - - thumb_func_start sub_0203611C -sub_0203611C: ; 0x0203611C - push {r3, lr} - bl sub_020357FC - cmp r0, #0 - beq _02036140 - bl sub_0203769C - cmp r0, #0 - bne _0203613C - bl sub_0203567C - cmp r0, #0 - bne _02036140 - bl sub_02036024 - pop {r3, pc} -_0203613C: - bl sub_02036024 -_02036140: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203611C - - thumb_func_start sub_02036144 -sub_02036144: ; 0x02036144 - push {r4, lr} - bl sub_0203817C - ldr r3, _02036214 ; =0x021D4140 - ldr r0, [r3, #8] - cmp r0, #0 - beq _020361FE - ldr r2, _02036218 ; =0x000006B9 - ldrb r1, [r0, r2] - cmp r1, #0 - bne _020361E0 - add r1, r2, #3 - ldrb r1, [r0, r1] - add r4, r1, #1 - add r1, r2, #3 - strb r4, [r0, r1] - mov r0, #0 - strb r0, [r3, #1] - bl sub_02035F4C - ldr r0, _02036214 ; =0x021D4140 - ldr r1, _0203621C ; =gMain - ldr r0, [r0, #8] - ldr r2, _02036220 ; =0x0000065C - ldr r3, [r1, #0x44] - ldr r1, _02036224 ; =0x00007FFF - ldrh r4, [r0, r2] - and r1, r3 - orr r1, r4 - strh r1, [r0, r2] - bl sub_02036BE4 - bl sub_02036298 - ldr r0, _02036214 ; =0x021D4140 - ldr r1, _02036220 ; =0x0000065C - ldr r3, [r0, #8] - mov r0, #2 - ldrh r2, [r3, r1] - lsl r0, r0, #0xe - and r0, r2 - strh r0, [r3, r1] - bl sub_02035FF0 - cmp r0, #0 - bne _020361A4 - bl sub_020372E4 -_020361A4: - bl sub_0203769C - cmp r0, #0 - bne _020361C6 - mov r0, #0 - bl sub_020373B4 - cmp r0, #0 - beq _020361C6 - bl sub_0203993C - bl sub_02034084 - cmp r0, #0 - bne _020361C6 - bl sub_0203667C -_020361C6: - bl sub_0203769C - cmp r0, #0 - beq _020361D6 - bl sub_02035FF0 - cmp r0, #1 - bne _020361DA -_020361D6: - bl sub_02037334 -_020361DA: - ldr r0, _02036214 ; =0x021D4140 - mov r1, #1 - strb r1, [r0, #1] -_020361E0: - ldr r0, _02036214 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02036228 ; =0x00000694 - ldrh r0, [r1, r0] - bl sub_020355C8 - bl sub_0203769C - cmp r0, #0 - bne _020361F8 - bl sub_02035E9C -_020361F8: - bl sub_0203611C - b _02036204 -_020361FE: - mov r0, #0 - bl sub_020355C8 -_02036204: - mov r0, #0 - bl sub_02039A00 - bl sub_02037ADC - mov r0, #1 - pop {r4, pc} - nop -_02036214: .word 0x021D4140 -_02036218: .word 0x000006B9 -_0203621C: .word gMain -_02036220: .word 0x0000065C -_02036224: .word 0x00007FFF -_02036228: .word 0x00000694 - thumb_func_end sub_02036144 - - thumb_func_start sub_0203622C -sub_0203622C: ; 0x0203622C - push {r4, lr} - ldr r0, _02036248 ; =0x021D4140 - mov r1, #0 - ldrb r4, [r0, #1] - strb r1, [r0, #1] - ldr r0, [r0, #8] - cmp r0, #0 - beq _02036240 - bl sub_02035DA4 -_02036240: - ldr r0, _02036248 ; =0x021D4140 - strb r4, [r0, #1] - pop {r4, pc} - nop -_02036248: .word 0x021D4140 - thumb_func_end sub_0203622C - - thumb_func_start sub_0203624C -sub_0203624C: ; 0x0203624C - push {r4, lr} - ldr r0, _0203626C ; =0x021D4140 - mov r1, #0 - ldrb r4, [r0, #1] - strb r1, [r0, #1] - ldr r2, [r0, #8] - cmp r2, #0 - beq _02036266 - ldr r0, _02036270 ; =0x000006AD - mov r1, #1 - strb r1, [r2, r0] - bl sub_02035DA4 -_02036266: - ldr r0, _0203626C ; =0x021D4140 - strb r4, [r0, #1] - pop {r4, pc} - .balign 4, 0 -_0203626C: .word 0x021D4140 -_02036270: .word 0x000006AD - thumb_func_end sub_0203624C - - thumb_func_start sub_02036274 -sub_02036274: ; 0x02036274 - push {r4, lr} - ldr r0, _02036294 ; =0x021D4140 - mov r1, #0 - ldrb r4, [r0, #1] - strb r1, [r0, #1] - ldr r0, [r0, #8] - cmp r0, #0 - beq _0203628C - bl sub_02035DA4 - bl sub_02034E2C -_0203628C: - ldr r0, _02036294 ; =0x021D4140 - strb r4, [r0, #1] - pop {r4, pc} - nop -_02036294: .word 0x021D4140 - thumb_func_end sub_02036274 - - thumb_func_start sub_02036298 -sub_02036298: ; 0x02036298 - push {r3, r4, r5, r6, r7, lr} - bl sub_0203993C - bl sub_02034084 - cmp r0, #0 - beq _0203634C - ldr r0, _02036420 ; =0x021D4140 - ldr r1, _02036424 ; =0x000006B6 - ldr r0, [r0, #8] - ldrb r2, [r0, r1] - cmp r2, #0 - beq _02036308 - sub r1, #0x52 - ldr r1, [r0, r1] - cmp r1, #0 - beq _020362DA - bl sub_02036630 - cmp r0, #0 - beq _020362F8 - ldr r0, _02036428 ; =0x0210F900 - ldrb r0, [r0, #1] - cmp r0, #4 - bne _020362F0 - ldr r0, _02036420 ; =0x021D4140 - ldr r0, [r0, #8] - bl sub_02036E60 - ldr r0, _02036428 ; =0x0210F900 - mov r1, #2 - strb r1, [r0, #1] - b _020362F0 -_020362DA: - ldr r1, _02036428 ; =0x0210F900 - ldrb r1, [r1, #1] - cmp r1, #4 - bne _020362F0 - bl sub_02036E60 - cmp r0, #0 - beq _020362F8 - ldr r0, _02036428 ; =0x0210F900 - mov r1, #2 - strb r1, [r0, #1] -_020362F0: - bl sub_02036FA8 - cmp r0, #0 - beq _020362FA -_020362F8: - b _0203641C -_020362FA: - ldr r0, _02036420 ; =0x021D4140 - mov r1, #0x26 - ldr r0, [r0, #8] - bl ov00_021E60E8 - cmp r0, #0 - bne _0203630A -_02036308: - b _0203641C -_0203630A: - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r6, r0, #1 - mov r4, #0 - cmp r6, #0 - ble _02036344 - ldr r7, _02036420 ; =0x021D4140 - add r5, r4, #0 -_02036322: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _0203633C - ldr r0, [r7, #8] - ldr r1, _0203642C ; =0x0000066C - add r0, r0, r5 - ldr r1, [r0, r1] - add r2, r1, #1 - ldr r1, _0203642C ; =0x0000066C - str r2, [r0, r1] -_0203633C: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, r6 - blt _02036322 -_02036344: - ldr r0, _02036428 ; =0x0210F900 - mov r1, #4 - strb r1, [r0, #1] - pop {r3, r4, r5, r6, r7, pc} -_0203634C: - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _020363CA - ldr r0, _02036420 ; =0x021D4140 - ldr r2, _02036424 ; =0x000006B6 - ldr r0, [r0, #8] - ldrb r1, [r0, r2] - cmp r1, #0 - beq _0203641C - add r1, r2, #0 - sub r1, #0x52 - ldr r1, [r0, r1] - cmp r1, #0 - beq _0203638A - sub r2, #0x4e - ldr r1, [r0, r2] - cmp r1, #3 - bgt _0203641C - ldr r1, _02036428 ; =0x0210F900 - ldrb r1, [r1, #1] - cmp r1, #4 - bne _020363A0 - bl sub_02036E60 - ldr r0, _02036428 ; =0x0210F900 - mov r1, #2 - strb r1, [r0, #1] - b _020363A0 -_0203638A: - ldr r1, _02036428 ; =0x0210F900 - ldrb r1, [r1, #1] - cmp r1, #4 - bne _020363A0 - bl sub_02036E60 - cmp r0, #0 - beq _0203641C - ldr r0, _02036428 ; =0x0210F900 - mov r1, #2 - strb r1, [r0, #1] -_020363A0: - bl sub_02036FA8 - cmp r0, #0 - bne _0203641C - ldr r0, _02036420 ; =0x021D4140 - mov r1, #0x26 - ldr r0, [r0, #8] - bl ov00_021E5F84 - cmp r0, #0 - beq _0203641C - ldr r0, _02036428 ; =0x0210F900 - mov r1, #4 - strb r1, [r0, #1] - ldr r0, _02036420 ; =0x021D4140 - ldr r2, [r0, #8] - ldr r0, _02036430 ; =0x00000668 - ldr r1, [r2, r0] - add r1, r1, #1 - str r1, [r2, r0] - pop {r3, r4, r5, r6, r7, pc} -_020363CA: - bl sub_02033298 - cmp r0, #4 - bne _0203641C - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - beq _0203641C - ldr r0, _02036428 ; =0x0210F900 - ldrb r0, [r0, #1] - cmp r0, #4 - bne _02036418 - ldr r0, _02036420 ; =0x021D4140 - ldr r2, [r0, #8] - ldr r0, _02036430 ; =0x00000668 - ldr r1, [r2, r0] - cmp r1, #3 - bgt _02036418 - add r0, #0x47 - ldrb r0, [r2, r0] - lsl r0, r0, #6 - add r0, r2, r0 - bl sub_02036E60 - ldr r0, _02036420 ; =0x021D4140 - ldr r2, [r0, #8] - ldr r0, _02036434 ; =0x000006AF - ldrb r1, [r2, r0] - mov r0, #1 - sub r0, r0, r1 - lsl r0, r0, #6 - add r0, r2, r0 - bl sub_02036E60 - ldr r0, _02036428 ; =0x0210F900 - mov r1, #0 - strb r1, [r0, #1] -_02036418: - bl sub_02036AD8 -_0203641C: - pop {r3, r4, r5, r6, r7, pc} - nop -_02036420: .word 0x021D4140 -_02036424: .word 0x000006B6 -_02036428: .word 0x0210F900 -_0203642C: .word 0x0000066C -_02036430: .word 0x00000668 -_02036434: .word 0x000006AF - thumb_func_end sub_02036298 - - thumb_func_start sub_02036438 -sub_02036438: ; 0x02036438 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r0, [sp] - mov r7, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203772C - str r0, [sp, #0xc] - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r0, r0, #1 - str r0, [sp, #8] - add r0, r7, #0 - str r0, [sp, #4] - ldr r0, [sp, #8] - cmp r0, #0 - ble _020364F0 - ldr r0, [sp] - ldr r6, [sp, #4] - mov r1, #0xc0 - add r5, r0, #0 - add r4, r6, #0 - mul r5, r1 -_02036474: - ldr r0, _02036504 ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #0x4b - lsl r0, r0, #4 - add r0, r1, r0 - add r0, r0, r6 - bl sub_02033C28 - ldr r0, [sp, #4] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _020364A2 - ldr r0, _02036504 ; =0x021D4140 - ldr r0, [r0, #8] - add r0, r5, r0 - add r1, r4, r0 - add r1, #0x80 - mov r0, #0xe - strb r0, [r1] - b _020364B4 -_020364A2: - ldr r0, _02036504 ; =0x021D4140 - add r7, r7, #1 - ldr r0, [r0, #8] - add r0, r5, r0 - add r1, r4, r0 - add r1, #0x80 - mov r0, #0xff - strb r0, [r1] - b _020364DE -_020364B4: - ldr r0, _02036504 ; =0x021D4140 - ldr r2, [sp, #0xc] - ldr r1, [r0, #8] - mov r0, #0x4b - lsl r0, r0, #4 - add r0, r1, r0 - add r1, #0x80 - add r1, r1, r5 - add r0, r0, r6 - add r1, r1, r4 - bl sub_02033B4C - ldr r0, _02036504 ; =0x021D4140 - ldr r0, [r0, #8] - add r0, r5, r0 - add r0, r4, r0 - add r0, #0x80 - ldrb r0, [r0] - cmp r0, #0xe - bne _020364DE - add r7, r7, #1 -_020364DE: - ldr r0, [sp, #0xc] - add r6, #0xc - add r4, r4, r0 - ldr r0, [sp, #4] - add r1, r0, #1 - ldr r0, [sp, #8] - str r1, [sp, #4] - cmp r1, r0 - blt _02036474 -_020364F0: - ldr r0, [sp, #8] - cmp r7, r0 - bne _020364FC - add sp, #0x10 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_020364FC: - mov r0, #1 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - nop -_02036504: .word 0x021D4140 - thumb_func_end sub_02036438 - - thumb_func_start sub_02036508 -sub_02036508: ; 0x02036508 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _02036620 ; =0x021D4140 - ldr r0, [r0, #8] - cmp r0, #0 - bne _02036514 - b _0203661C -_02036514: - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - bne _0203661C - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203772C - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r6, r0, #1 - ldr r0, _02036624 ; =0x0210F900 - ldrb r1, [r0] - cmp r1, #2 - beq _02036548 - ldrb r0, [r0] - cmp r0, #0 - bne _0203661C -_02036548: - ldr r0, _02036624 ; =0x0210F900 - ldrb r1, [r0] - add r1, r1, #1 - strb r1, [r0] - bl sub_02035FF0 - cmp r0, #1 - bne _02036572 - ldr r0, _02036620 ; =0x021D4140 - ldrb r1, [r0] - cmp r1, #0 - bne _02036572 - ldr r1, [r0, #8] - mov r0, #0x6b - lsl r0, r0, #4 - ldrb r0, [r1, r0] - bl sub_02036438 - ldr r0, _02036620 ; =0x021D4140 - mov r1, #1 - strb r1, [r0] -_02036572: - bl sub_02033298 - cmp r0, #4 - bne _020365A4 - ldr r0, _02036620 ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #0x6b - lsl r0, r0, #4 - ldrb r0, [r1, r0] - add r3, r1, #0 - mov r1, #0xc0 - add r2, r0, #0 - add r3, #0x80 - mul r2, r1 - add r0, r3, r2 - ldr r3, _02036628 ; =sub_02036ABC - mov r2, #0xe - bl sub_02033800 - cmp r0, #0 - bne _020365A4 - ldr r0, _02036624 ; =0x0210F900 - ldrb r1, [r0] - sub r1, r1, #1 - strb r1, [r0] -_020365A4: - ldr r0, _02036624 ; =0x0210F900 - ldrb r1, [r0] - cmp r1, #1 - beq _020365B2 - ldrb r0, [r0] - cmp r0, #3 - bne _0203660C -_020365B2: - ldr r7, _02036620 ; =0x021D4140 - mov r4, #0 - strb r4, [r7] - cmp r6, #0 - ble _020365E0 - add r5, r4, #0 -_020365BE: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _020365D8 - ldr r0, [r7, #8] - ldr r1, _0203662C ; =0x0000066C - add r0, r0, r5 - ldr r1, [r0, r1] - add r2, r1, #1 - ldr r1, _0203662C ; =0x0000066C - str r2, [r0, r1] -_020365D8: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, r6 - blt _020365BE -_020365E0: - ldr r0, _02036620 ; =0x021D4140 - mov r1, #0x6b - ldr r2, [r0, #8] - lsl r1, r1, #4 - ldrb r1, [r2, r1] - add r4, r2, #0 - mov r2, #0xc0 - add r3, r1, #0 - add r4, #0x80 - mul r3, r2 - mov r0, #0 - add r1, r4, r3 - bl sub_020367B0 - ldr r0, _02036620 ; =0x021D4140 - mov r1, #0x6b - ldr r3, [r0, #8] - lsl r1, r1, #4 - ldrb r2, [r3, r1] - mov r0, #1 - sub r0, r0, r2 - strb r0, [r3, r1] -_0203660C: - bl sub_02033298 - cmp r0, #4 - beq _0203661C - ldr r0, _02036624 ; =0x0210F900 - ldrb r1, [r0] - add r1, r1, #1 - strb r1, [r0] -_0203661C: - pop {r3, r4, r5, r6, r7, pc} - nop -_02036620: .word 0x021D4140 -_02036624: .word 0x0210F900 -_02036628: .word sub_02036ABC -_0203662C: .word 0x0000066C - thumb_func_end sub_02036508 - - thumb_func_start sub_02036630 -sub_02036630: ; 0x02036630 - push {r3, r4, r5, r6, r7, lr} - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r6, r0, #1 - mov r4, #1 - cmp r6, #1 - ble _0203666E - ldr r7, _02036674 ; =0x021D4140 - mov r5, #4 -_0203664A: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _02036666 - ldr r0, [r7, #8] - add r1, r0, r5 - ldr r0, _02036678 ; =0x0000066C - ldr r0, [r1, r0] - cmp r0, #3 - ble _02036666 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02036666: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, r6 - blt _0203664A -_0203666E: - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - nop -_02036674: .word 0x021D4140 -_02036678: .word 0x0000066C - thumb_func_end sub_02036630 - - thumb_func_start sub_0203667C -sub_0203667C: ; 0x0203667C - push {r3, r4, r5, r6, r7, lr} - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r6, r0, #1 - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _02036738 - mov r0, #0 - bl sub_020373B4 - cmp r0, #0 - beq _02036796 - ldr r0, _02036798 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _0203679C ; =0x00000664 - ldr r0, [r1, r0] - cmp r0, #0 - beq _020366D4 - bl sub_02036630 - cmp r0, #0 - beq _02036796 - ldr r0, _020367A0 ; =0x0210F900 - ldrb r0, [r0] - cmp r0, #4 - bne _020366F4 - bl sub_02035FF0 - cmp r0, #1 - bne _020366CC - mov r0, #0 - bl sub_02036438 -_020366CC: - ldr r0, _020367A0 ; =0x0210F900 - mov r1, #2 - strb r1, [r0] - b _020366F4 -_020366D4: - ldr r0, _020367A0 ; =0x0210F900 - ldrb r0, [r0] - cmp r0, #4 - bne _020366EE - bl sub_02035FF0 - cmp r0, #1 - bne _020366EE - mov r0, #0 - bl sub_02036438 - cmp r0, #0 - beq _02036796 -_020366EE: - ldr r0, _020367A0 ; =0x0210F900 - mov r1, #2 - strb r1, [r0] -_020366F4: - ldr r0, _02036798 ; =0x021D4140 - mov r1, #0xc0 - ldr r0, [r0, #8] - add r0, #0x80 - bl ov00_021E602C - cmp r0, #0 - beq _02036796 - ldr r0, _020367A0 ; =0x0210F900 - mov r1, #4 - mov r4, #0 - strb r1, [r0] - cmp r6, #0 - ble _02036796 - ldr r7, _02036798 ; =0x021D4140 - add r5, r4, #0 -_02036714: - lsl r0, r4, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _0203672E - ldr r0, [r7, #8] - ldr r1, _020367A4 ; =0x0000066C - add r0, r0, r5 - ldr r1, [r0, r1] - add r2, r1, #1 - ldr r1, _020367A4 ; =0x0000066C - str r2, [r0, r1] -_0203672E: - add r4, r4, #1 - add r5, r5, #4 - cmp r4, r6 - blt _02036714 - pop {r3, r4, r5, r6, r7, pc} -_02036738: - bl sub_02033298 - cmp r0, #4 - bne _02036796 - ldr r0, _020367A0 ; =0x0210F900 - ldrb r0, [r0] - cmp r0, #4 - bne _02036796 - bl sub_02036630 - cmp r0, #0 - beq _02036796 - bl sub_02035FF0 - cmp r0, #0 - bne _0203678C - ldr r0, _02036798 ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #0x6b - add r2, r1, #0 - lsl r0, r0, #4 - ldrb r1, [r1, r0] - mov r0, #0xc0 - add r2, #0x80 - mul r0, r1 - add r0, r2, r0 - bl sub_02036F30 - ldr r0, _02036798 ; =0x021D4140 - ldr r1, [r0, #8] - mov r0, #0x6b - add r2, r1, #0 - lsl r0, r0, #4 - ldrb r1, [r1, r0] - mov r0, #1 - add r2, #0x80 - sub r1, r0, r1 - mov r0, #0xc0 - mul r0, r1 - add r0, r2, r0 - bl sub_02036F30 -_0203678C: - ldr r0, _020367A0 ; =0x0210F900 - mov r1, #0 - strb r1, [r0] - bl sub_02036508 -_02036796: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02036798: .word 0x021D4140 -_0203679C: .word 0x00000664 -_020367A0: .word 0x0210F900 -_020367A4: .word 0x0000066C - thumb_func_end sub_0203667C - - thumb_func_start sub_020367A8 -sub_020367A8: ; 0x020367A8 - ldr r3, _020367AC ; =sub_020367B0 - bx r3 - .balign 4, 0 -_020367AC: .word sub_020367B0 - thumb_func_end sub_020367A8 - - thumb_func_start sub_020367B0 -sub_020367B0: ; 0x020367B0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - ldr r0, _020368E4 ; =0x021D4140 - add r5, r1, #0 - ldr r2, [r0, #8] - ldr r0, _020368E8 ; =0x00000668 - ldr r1, [r2, r0] - sub r1, r1, #1 - str r1, [r2, r0] - cmp r5, #0 - beq _020367D4 - ldrb r0, [r5] - cmp r0, #0xb - bne _020367DA - bl sub_02035FF0 - cmp r0, #1 - bne _020367D6 -_020367D4: - b _020368E0 -_020367D6: - add r5, r5, #1 - b _020367E2 -_020367DA: - bl sub_02035FF0 - cmp r0, #0 - beq _020368E0 -_020367E2: - ldr r0, _020368E4 ; =0x021D4140 - ldr r1, _020368EC ; =0x000006B2 - ldr r0, [r0, #8] - ldrb r1, [r0, r1] - cmp r1, #0 - beq _020367F6 - ldrb r2, [r5] - mov r1, #1 - tst r1, r2 - bne _020368E0 -_020367F6: - ldr r1, _020368EC ; =0x000006B2 - mov r2, #0 - strb r2, [r0, r1] - bl sub_02035FF0 - cmp r0, #1 - bne _020368B4 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203772C - add r6, r0, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r0, r0, #1 - mov r4, #0 - str r0, [sp, #4] - cmp r0, #0 - ble _020368E0 - sub r0, r6, #1 - add r7, r4, #0 - str r0, [sp] -_0203682E: - ldrb r0, [r5] - cmp r0, #0xff - bne _02036846 - ldr r0, _020368E4 ; =0x021D4140 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _020368F0 ; =0x00000694 - lsl r2, r4 - ldrh r0, [r1, r0] - mvn r2, r2 - and r2, r0 - b _02036854 -_02036846: - ldr r0, _020368E4 ; =0x021D4140 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _020368F0 ; =0x00000694 - lsl r2, r4 - ldrh r0, [r1, r0] - orr r2, r0 -_02036854: - ldr r0, _020368F0 ; =0x00000694 - strh r2, [r1, r0] - ldrb r2, [r5] - cmp r2, #0xff - bne _02036862 - add r5, r5, r6 - b _020368A6 -_02036862: - cmp r2, #0xe - bne _0203686A - add r5, r5, r6 - b _020368A6 -_0203686A: - ldr r0, _020368E4 ; =0x021D4140 - ldr r3, [r0, #8] - ldr r0, _020368F4 ; =0x0000069E - add r1, r3, r4 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _02036882 - mov r0, #1 - tst r0, r2 - beq _02036882 - add r5, r5, r6 - b _020368A6 -_02036882: - ldr r0, _020368F8 ; =0x0000051C - add r5, r5, #1 - add r0, r3, r0 - ldr r3, _020368FC ; =0x0000054C - ldr r2, [sp] - add r0, r0, r7 - add r1, r5, #0 - add r3, r4, r3 - bl sub_02033AF0 - ldr r0, [sp] - mov r1, #0 - add r5, r5, r0 - ldr r0, _020368E4 ; =0x021D4140 - ldr r0, [r0, #8] - add r2, r0, r4 - ldr r0, _020368F4 ; =0x0000069E - strb r1, [r2, r0] -_020368A6: - ldr r0, [sp, #4] - add r4, r4, #1 - add r7, #0xc - cmp r4, r0 - blt _0203682E - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_020368B4: - ldr r1, _020368E4 ; =0x021D4140 - ldrb r3, [r5, #1] - ldr r2, [r1, #8] - ldr r0, _020368F0 ; =0x00000694 - strh r3, [r2, r0] - ldr r3, [r1, #8] - ldrh r2, [r3, r0] - lsl r2, r2, #8 - strh r2, [r3, r0] - ldr r4, [r1, #8] - ldrb r2, [r5, #2] - ldrh r3, [r4, r0] - add r2, r3, r2 - strh r2, [r4, r0] - ldr r0, [r1, #8] - ldr r3, _02036900 ; =0x000004A4 - ldrb r2, [r5, #3] - add r0, r0, r3 - add r1, r5, #4 - add r3, #0xbc - bl sub_02033AF0 -_020368E0: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_020368E4: .word 0x021D4140 -_020368E8: .word 0x00000668 -_020368EC: .word 0x000006B2 -_020368F0: .word 0x00000694 -_020368F4: .word 0x0000069E -_020368F8: .word 0x0000051C -_020368FC: .word 0x0000054C -_02036900: .word 0x000004A4 - thumb_func_end sub_020367B0 - - thumb_func_start sub_02036904 -sub_02036904: ; 0x02036904 - ldr r3, _02036908 ; =sub_0203690C - bx r3 - .balign 4, 0 -_02036908: .word sub_0203690C - thumb_func_end sub_02036904 - - thumb_func_start sub_0203690C -sub_0203690C: ; 0x0203690C - push {r4, r5, r6, lr} - ldr r3, _020369BC ; =0x021D4140 - add r5, r0, #0 - ldr r0, [r3, #8] - ldr r2, _020369C0 ; =0x0000066C - add r4, r1, #0 - add r1, r0, r2 - lsl r0, r5, #2 - ldr r6, [r1, r0] - sub r6, r6, #1 - str r6, [r1, r0] - cmp r4, #0 - beq _020369BA - ldr r0, [r3, #8] - add r2, #0x32 - add r0, r0, r2 - ldrb r1, [r0, r5] - cmp r1, #0 - beq _0203693A - ldrb r2, [r4] - mov r1, #1 - tst r1, r2 - bne _020369BA -_0203693A: - mov r1, #0 - strb r1, [r0, r5] - bl sub_02035FF0 - cmp r0, #1 - bne _02036992 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203772C - add r6, r0, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - ldrb r1, [r4] - mov r0, #2 - tst r0, r1 - bne _02036982 - ldr r0, _020369BC ; =0x021D4140 - mov r3, #0x4b - ldr r0, [r0, #8] - lsl r3, r3, #4 - add r1, r0, r3 - mov r0, #0xc - mul r0, r5 - add r0, r1, r0 - add r1, r4, #0 - add r2, r6, #0 - add r3, #0xf5 - bl sub_02033AF0 -_02036982: - ldr r0, _020369BC ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _020369C4 ; =0x00000696 - add r1, r1, r0 - ldrb r0, [r1, r5] - add r0, r0, #1 - strb r0, [r1, r5] - pop {r4, r5, r6, pc} -_02036992: - add r0, r4, #0 - add r1, r5, #0 - bl sub_02036D14 - ldrb r1, [r4] - mov r0, #2 - tst r0, r1 - bne _020369BA - ldr r0, _020369BC ; =0x021D4140 - ldr r3, _020369C8 ; =0x0000051C - ldr r0, [r0, #8] - mov r2, #0xb - add r1, r0, r3 - mov r0, #0xc - mul r0, r5 - add r0, r1, r0 - add r1, r4, #1 - add r3, #0x92 - bl sub_02033AF0 -_020369BA: - pop {r4, r5, r6, pc} - .balign 4, 0 -_020369BC: .word 0x021D4140 -_020369C0: .word 0x0000066C -_020369C4: .word 0x00000696 -_020369C8: .word 0x0000051C - thumb_func_end sub_0203690C - - thumb_func_start sub_020369CC -sub_020369CC: ; 0x020369CC - push {r4, r5, r6, lr} - ldr r3, _02036A8C ; =0x021D4140 - add r5, r0, #0 - ldr r0, [r3, #8] - ldr r2, _02036A90 ; =0x0000066C - add r4, r1, #0 - add r1, r0, r2 - lsl r0, r5, #2 - ldr r6, [r1, r0] - sub r6, r6, #1 - str r6, [r1, r0] - cmp r4, #0 - beq _02036A88 - ldr r0, [r3, #8] - add r2, #0x32 - add r0, r0, r2 - ldrb r1, [r0, r5] - cmp r1, #0 - beq _020369FA - ldrb r2, [r4] - mov r1, #1 - tst r1, r2 - bne _02036A88 -_020369FA: - mov r1, #0 - strb r1, [r0, r5] - bl sub_02035FF0 - cmp r0, #1 - bne _02036A88 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203772C - add r6, r0, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - ldrb r0, [r4] - ldr r2, _02036A94 ; =0x00000694 - cmp r0, #0xff - bne _02036A38 - ldr r0, _02036A8C ; =0x021D4140 - mov r3, #1 - ldr r1, [r0, #8] - lsl r3, r5 - ldrh r0, [r1, r2] - mvn r3, r3 - and r0, r3 - b _02036A44 -_02036A38: - ldr r0, _02036A8C ; =0x021D4140 - mov r3, #1 - ldr r1, [r0, #8] - lsl r3, r5 - ldrh r0, [r1, r2] - orr r0, r3 -_02036A44: - strh r0, [r1, r2] - ldrb r0, [r4] - cmp r0, #0xff - beq _02036A88 - cmp r0, #2 - beq _02036A88 - cmp r0, #0xe - beq _02036A88 - ldr r1, _02036A8C ; =0x021D4140 - ldr r2, _02036A98 ; =0x0000069E - ldr r1, [r1, #8] - add r3, r1, r5 - ldrb r2, [r3, r2] - cmp r2, #0 - beq _02036A68 - mov r2, #1 - tst r0, r2 - bne _02036A88 -_02036A68: - ldr r3, _02036A9C ; =0x0000051C - mov r0, #0xc - add r1, r1, r3 - mul r0, r5 - add r0, r1, r0 - add r1, r4, #1 - sub r2, r6, #1 - add r3, #0xcb - bl sub_02033AF0 - ldr r0, _02036A8C ; =0x021D4140 - mov r2, #0 - ldr r0, [r0, #8] - add r1, r0, r5 - ldr r0, _02036A98 ; =0x0000069E - strb r2, [r1, r0] -_02036A88: - pop {r4, r5, r6, pc} - nop -_02036A8C: .word 0x021D4140 -_02036A90: .word 0x0000066C -_02036A94: .word 0x00000694 -_02036A98: .word 0x0000069E -_02036A9C: .word 0x0000051C - thumb_func_end sub_020369CC - - thumb_func_start sub_02036AA0 -sub_02036AA0: ; 0x02036AA0 - push {r3, lr} - cmp r0, #0 - beq _02036AB0 - ldr r0, _02036AB8 ; =0x0210F900 - ldrb r1, [r0, #1] - add r1, r1, #1 - strb r1, [r0, #1] - pop {r3, pc} -_02036AB0: - bl GF_AssertFail - pop {r3, pc} - nop -_02036AB8: .word 0x0210F900 - thumb_func_end sub_02036AA0 - - thumb_func_start sub_02036ABC -sub_02036ABC: ; 0x02036ABC - push {r3, lr} - cmp r0, #0 - beq _02036ACC - ldr r0, _02036AD4 ; =0x0210F900 - ldrb r1, [r0] - add r1, r1, #1 - strb r1, [r0] - pop {r3, pc} -_02036ACC: - bl GF_AssertFail - pop {r3, pc} - nop -_02036AD4: .word 0x0210F900 - thumb_func_end sub_02036ABC - - thumb_func_start sub_02036AD8 -sub_02036AD8: ; 0x02036AD8 - push {r4, lr} - ldr r0, _02036BD0 ; =0x021D4140 - ldr r0, [r0, #8] - cmp r0, #0 - beq _02036BCE - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - bne _02036BCE - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203772C - add r4, r0, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - bl sub_02033298 - cmp r0, #4 - bne _02036BCE - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - bne _02036B22 - bl sub_0203769C - pop {r4, pc} -_02036B22: - ldr r0, _02036BD4 ; =0x0210F900 - ldrb r1, [r0, #1] - cmp r1, #2 - beq _02036B30 - ldrb r0, [r0, #1] - cmp r0, #0 - bne _02036BCE -_02036B30: - bl sub_0203769C - cmp r0, #0 - beq _02036B84 - ldr r0, _02036BD4 ; =0x0210F900 - ldr r3, _02036BD8 ; =sub_02036AA0 - ldrb r1, [r0, #1] - mov r2, #0xe - add r1, r1, #1 - strb r1, [r0, #1] - ldr r0, _02036BD0 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02036BDC ; =0x000006AF - ldrb r0, [r1, r0] - lsl r0, r0, #6 - add r0, r1, r0 - lsl r1, r4, #0x10 - lsr r1, r1, #0x10 - bl sub_02033800 - cmp r0, #0 - bne _02036B66 - ldr r0, _02036BD4 ; =0x0210F900 - ldrb r1, [r0, #1] - sub r1, r1, #1 - strb r1, [r0, #1] - pop {r4, pc} -_02036B66: - ldr r2, _02036BD0 ; =0x021D4140 - ldr r1, _02036BDC ; =0x000006AF - ldr r4, [r2, #8] - mov r0, #1 - ldrb r3, [r4, r1] - sub r0, r0, r3 - strb r0, [r4, r1] - add r0, r1, #0 - ldr r2, [r2, #8] - sub r0, #0x47 - ldr r0, [r2, r0] - sub r1, #0x47 - add r0, r0, #1 - str r0, [r2, r1] - pop {r4, pc} -_02036B84: - bl sub_02033250 - ldr r1, _02036BE0 ; =0x0000FFFE - tst r0, r1 - beq _02036BCE - ldr r0, _02036BD4 ; =0x0210F900 - ldrb r1, [r0, #1] - add r1, r1, #1 - strb r1, [r0, #1] - mov r0, #1 - bl sub_02036AA0 - ldr r0, _02036BD0 ; =0x021D4140 - ldr r1, _02036BDC ; =0x000006AF - ldr r2, [r0, #8] - mov r0, #0 - ldrb r1, [r2, r1] - lsl r1, r1, #6 - add r1, r2, r1 - lsl r2, r4, #0x10 - lsr r2, r2, #0x10 - bl sub_0203690C - ldr r2, _02036BD0 ; =0x021D4140 - ldr r1, _02036BDC ; =0x000006AF - ldr r4, [r2, #8] - mov r0, #1 - ldrb r3, [r4, r1] - sub r0, r0, r3 - strb r0, [r4, r1] - add r0, r1, #0 - ldr r2, [r2, #8] - sub r0, #0x47 - ldr r0, [r2, r0] - sub r1, #0x47 - add r0, r0, #1 - str r0, [r2, r1] -_02036BCE: - pop {r4, pc} - .balign 4, 0 -_02036BD0: .word 0x021D4140 -_02036BD4: .word 0x0210F900 -_02036BD8: .word sub_02036AA0 -_02036BDC: .word 0x000006AF -_02036BE0: .word 0x0000FFFE - thumb_func_end sub_02036AD8 - - thumb_func_start sub_02036BE4 -sub_02036BE4: ; 0x02036BE4 - push {r3, r4, r5, r6, r7, lr} - ldr r7, _02036D08 ; =0x021D4140 - mov r2, #0x66 - ldr r5, [r7, #8] - lsl r2, r2, #4 - ldrb r0, [r5, r2] - mov r6, #0 - add r4, r6, #0 - cmp r0, #0 - beq _02036C02 - sub r1, r2, #4 - ldrh r1, [r5, r1] - mov r3, #0xf0 - tst r3, r1 - bne _02036C04 -_02036C02: - b _02036D06 -_02036C04: - cmp r0, #2 - bne _02036C42 - mov r0, #0x20 - tst r0, r1 - beq _02036C16 - mov r0, #0x10 - orr r0, r6 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_02036C16: - mov r0, #0x10 - tst r0, r1 - beq _02036C24 - mov r0, #0x20 - orr r0, r4 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_02036C24: - mov r0, #0x40 - tst r0, r1 - beq _02036C32 - mov r0, #0x80 - orr r0, r4 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_02036C32: - mov r0, #0x80 - tst r0, r1 - beq _02036CF0 - mov r0, #0x40 - orr r0, r4 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - b _02036CF0 -_02036C42: - add r0, r2, #2 - ldrh r0, [r5, r0] - cmp r0, #0 - beq _02036C64 - add r4, r0, #0 - add r0, r2, #1 - ldrsb r0, [r5, r0] - sub r1, r0, #1 - add r0, r2, #1 - strb r1, [r5, r0] - ldr r1, [r7, #8] - ldrsb r0, [r1, r0] - cmp r0, #0 - bge _02036CF0 - add r0, r2, #2 - strh r6, [r1, r0] - b _02036CF0 -_02036C64: - add r0, r2, #0 - sub r0, #0x34 - add r6, r5, r0 - sub r2, #0x34 - ldr r0, [r6, #8] - ldr r1, [r6, #0xc] - ldr r2, [r5, r2] - ldr r3, [r6, #4] - bl _ll_mul - add r3, r0, #0 - add r2, r1, #0 - ldr r0, [r6, #0x10] - ldr r1, [r6, #0x14] - add r0, r0, r3 - adc r1, r2 - ldr r2, _02036D0C ; =0x0000062C - str r0, [r5, r2] - mov r2, #0 - str r1, [r6, #4] - lsr r0, r1, #0x1e - lsl r1, r2, #2 - orr r1, r0 - cmp r1, #3 - bhi _02036CB8 - add r0, r1, r1 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02036CA2: ; jump table - .short _02036CAA - _02036CA2 - 2 ; case 0 - .short _02036CAE - _02036CA2 - 2 ; case 1 - .short _02036CB2 - _02036CA2 - 2 ; case 2 - .short _02036CB6 - _02036CA2 - 2 ; case 3 -_02036CAA: - mov r4, #0x20 - b _02036CB8 -_02036CAE: - mov r4, #0x10 - b _02036CB8 -_02036CB2: - mov r4, #0x40 - b _02036CB8 -_02036CB6: - mov r4, #0x80 -_02036CB8: - ldr r0, _02036D08 ; =0x021D4140 - ldr r5, [r0, #8] - ldr r0, _02036D0C ; =0x0000062C - add r6, r5, r0 - ldr r0, [r6, #8] - ldr r1, [r6, #0xc] - ldr r2, [r6] - ldr r3, [r6, #4] - bl _ll_mul - ldr r3, [r6, #0x10] - ldr r2, [r6, #0x14] - add r0, r3, r0 - adc r2, r1 - ldr r1, _02036D0C ; =0x0000062C - mov r3, #0 - str r0, [r5, r1] - str r2, [r6, #4] - lsr r0, r2, #0x1c - lsl r2, r3, #4 - orr r2, r0 - add r0, r1, #0 - add r0, #0x35 - strb r2, [r5, r0] - ldr r0, _02036D08 ; =0x021D4140 - add r1, #0x36 - ldr r0, [r0, #8] - strh r4, [r0, r1] -_02036CF0: - ldr r2, _02036D08 ; =0x021D4140 - ldr r1, _02036D10 ; =0x0000065C - ldr r5, [r2, #8] - mov r0, #0xf0 - ldrh r3, [r5, r1] - bic r3, r0 - strh r3, [r5, r1] - ldr r2, [r2, #8] - ldrh r0, [r2, r1] - add r0, r0, r4 - strh r0, [r2, r1] -_02036D06: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02036D08: .word 0x021D4140 -_02036D0C: .word 0x0000062C -_02036D10: .word 0x0000065C - thumb_func_end sub_02036BE4 - - thumb_func_start sub_02036D14 -sub_02036D14: ; 0x02036D14 - push {r4, r5, r6, r7} - ldr r4, _02036D94 ; =0x021D4140 - lsl r6, r1, #1 - ldr r2, [r4, #8] - mov r5, #0 - add r3, r2, r6 - ldr r2, _02036D98 ; =0x00000644 - strh r5, [r3, r2] - ldrb r5, [r0] - mov r3, #0x10 - add r7, r5, #0 - and r7, r3 - cmp r7, #0x10 - bne _02036D8C - mov r7, #0xc - and r5, r7 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - bne _02036D48 - ldr r3, [r4, #8] - add r4, r3, r2 - ldrh r3, [r4, r6] - mov r2, #0x40 - orr r2, r3 - strh r2, [r4, r6] - b _02036D7A -_02036D48: - cmp r5, #4 - bne _02036D5A - ldr r3, [r4, #8] - add r4, r3, r2 - ldrh r3, [r4, r6] - mov r2, #0x80 - orr r2, r3 - strh r2, [r4, r6] - b _02036D7A -_02036D5A: - cmp r5, #8 - bne _02036D6C - ldr r3, [r4, #8] - add r4, r3, r2 - ldrh r3, [r4, r6] - mov r2, #0x20 - orr r2, r3 - strh r2, [r4, r6] - b _02036D7A -_02036D6C: - cmp r5, #0xc - bne _02036D7A - ldr r4, [r4, #8] - add r4, r4, r2 - ldrh r2, [r4, r6] - orr r2, r3 - strh r2, [r4, r6] -_02036D7A: - ldrb r0, [r0] - asr r2, r0, #5 - mov r0, #7 - and r2, r0 - ldr r0, _02036D94 ; =0x021D4140 - ldr r0, [r0, #8] - add r1, r0, r1 - ldr r0, _02036D9C ; =0x00000654 - strb r2, [r1, r0] -_02036D8C: - mov r0, #1 - pop {r4, r5, r6, r7} - bx lr - nop -_02036D94: .word 0x021D4140 -_02036D98: .word 0x00000644 -_02036D9C: .word 0x00000654 - thumb_func_end sub_02036D14 - - thumb_func_start sub_02036DA0 -sub_02036DA0: ; 0x02036DA0 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02036E4C ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02036E50 ; =0x0000065E - ldrb r0, [r1, r0] - cmp r0, #0 - beq _02036DB4 - mov r0, #0 - pop {r4, pc} -_02036DB4: - bl sub_0203751C - cmp r0, #0 - bne _02036DC0 - mov r0, #0 - pop {r4, pc} -_02036DC0: - ldr r0, _02036E4C ; =0x021D4140 - ldr r2, [r0, #8] - ldr r0, _02036E54 ; =0x000006B1 - ldrb r1, [r2, r0] - cmp r1, #0 - beq _02036DD0 - sub r1, r1, #1 - strb r1, [r2, r0] -_02036DD0: - ldr r1, _02036E4C ; =0x021D4140 - ldr r0, _02036E58 ; =0x0000065C - ldr r2, [r1, #8] - mov r3, #0x40 - ldrh r2, [r2, r0] - tst r3, r2 - beq _02036DF0 - ldrb r3, [r4] - mov r2, #0x10 - add r0, #0x55 - orr r2, r3 - strb r2, [r4] - ldr r1, [r1, #8] - mov r2, #8 - strb r2, [r1, r0] - b _02036E36 -_02036DF0: - mov r3, #0x80 - tst r3, r2 - beq _02036E08 - ldrb r3, [r4] - mov r2, #0x14 - add r0, #0x55 - orr r2, r3 - strb r2, [r4] - ldr r1, [r1, #8] - mov r2, #8 - strb r2, [r1, r0] - b _02036E36 -_02036E08: - mov r3, #0x20 - tst r3, r2 - beq _02036E20 - ldrb r3, [r4] - mov r2, #0x18 - add r0, #0x55 - orr r2, r3 - strb r2, [r4] - ldr r1, [r1, #8] - mov r2, #8 - strb r2, [r1, r0] - b _02036E36 -_02036E20: - mov r3, #0x10 - tst r2, r3 - beq _02036E36 - ldrb r3, [r4] - mov r2, #0x1c - add r0, #0x55 - orr r2, r3 - strb r2, [r4] - ldr r1, [r1, #8] - mov r2, #8 - strb r2, [r1, r0] -_02036E36: - ldr r0, _02036E4C ; =0x021D4140 - ldrb r2, [r4] - ldr r1, [r0, #8] - ldr r0, _02036E5C ; =0x0000065F - ldrb r0, [r1, r0] - lsl r0, r0, #5 - orr r0, r2 - strb r0, [r4] - mov r0, #0 - pop {r4, pc} - nop -_02036E4C: .word 0x021D4140 -_02036E50: .word 0x0000065E -_02036E54: .word 0x000006B1 -_02036E58: .word 0x0000065C -_02036E5C: .word 0x0000065F - thumb_func_end sub_02036DA0 - - thumb_func_start sub_02036E60 -sub_02036E60: ; 0x02036E60 - push {r3, r4, r5, lr} - sub sp, #8 - add r4, r0, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_0203772C - add r5, r0, #0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - ldr r0, _02036F24 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02036F28 ; =0x000006B4 - ldrb r0, [r1, r0] - cmp r0, #0 - bne _02036E90 - mov r0, #0 - b _02036E92 -_02036E90: - mov r0, #1 -_02036E92: - strb r0, [r4] - bl sub_02035FF0 - cmp r0, #0 - bne _02036EA2 - add r0, r4, #0 - bl sub_02036DA0 -_02036EA2: - ldr r1, _02036F24 ; =0x021D4140 - ldr r0, _02036F28 ; =0x000006B4 - ldr r2, [r1, #8] - mov r3, #0 - strb r3, [r2, r0] - mov r0, #0x16 - ldr r1, [r1, #8] - lsl r0, r0, #6 - add r0, r1, r0 - bl sub_02033C50 - cmp r0, #0 - beq _02036ED0 - ldrb r1, [r4] - mov r0, #2 - orr r0, r1 - strb r0, [r4] - ldrb r0, [r4] - cmp r0, #2 - bne _02036F1C - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, pc} -_02036ED0: - sub r0, r5, #1 - str r0, [sp, #4] - add r0, r4, #1 - str r0, [sp] - ldr r0, _02036F24 ; =0x021D4140 - mov r2, #1 - ldr r1, [r0, #8] - mov r0, #0x16 - lsl r0, r0, #6 - add r0, r1, r0 - add r1, sp, #0 - bl sub_02033ECC - cmp r0, #0 - bne _02036EF8 - ldr r0, _02036F24 ; =0x021D4140 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02036F28 ; =0x000006B4 - strb r2, [r1, r0] -_02036EF8: - bl sub_02035FF0 - cmp r0, #1 - bne _02036F1C - ldr r2, _02036F24 ; =0x021D4140 - ldr r1, _02036F2C ; =0x000006AA - ldr r3, [r2, #8] - ldrb r0, [r3, r1] - add r0, r0, #1 - strb r0, [r3, r1] - ldr r2, [r2, #8] - ldrb r0, [r4] - ldrb r1, [r2, r1] - lsl r2, r1, #4 - mov r1, #0xf0 - and r1, r2 - orr r0, r1 - strb r0, [r4] -_02036F1C: - mov r0, #1 - add sp, #8 - pop {r3, r4, r5, pc} - nop -_02036F24: .word 0x021D4140 -_02036F28: .word 0x000006B4 -_02036F2C: .word 0x000006AA - thumb_func_end sub_02036E60 - - thumb_func_start sub_02036F30 -sub_02036F30: ; 0x02036F30 - push {r4, lr} - sub sp, #8 - add r4, r0, #0 - mov r0, #0xb - strb r0, [r4] - ldr r0, _02036FA0 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02036FA4 ; =0x000006B5 - ldrb r0, [r1, r0] - cmp r0, #0 - bne _02036F4A - mov r0, #0 - b _02036F4C -_02036F4A: - mov r0, #1 -_02036F4C: - strb r0, [r4, #1] - bl sub_02033250 - asr r1, r0, #8 - strb r1, [r4, #2] - strb r0, [r4, #3] - mov r0, #0xbb - str r0, [sp, #4] - add r0, r4, #5 - str r0, [sp] - ldr r0, _02036FA0 ; =0x021D4140 - mov r2, #0 - ldr r1, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r1, r0 - add r1, sp, #0 - bl sub_02033ECC - cmp r0, #0 - beq _02036F8C - ldr r0, _02036FA0 ; =0x021D4140 - mov r2, #0 - ldr r1, [r0, #8] - ldr r0, _02036FA4 ; =0x000006B5 - strb r2, [r1, r0] - ldr r1, [sp, #4] - mov r0, #0xbb - sub r0, r0, r1 - add sp, #8 - strb r0, [r4, #4] - pop {r4, pc} -_02036F8C: - ldr r0, _02036FA0 ; =0x021D4140 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02036FA4 ; =0x000006B5 - strb r2, [r1, r0] - mov r0, #0xbb - strb r0, [r4, #4] - add sp, #8 - pop {r4, pc} - nop -_02036FA0: .word 0x021D4140 -_02036FA4: .word 0x000006B5 - thumb_func_end sub_02036F30 - - thumb_func_start sub_02036FA8 -sub_02036FA8: ; 0x02036FA8 - push {r3, lr} - ldr r0, _02036FD0 ; =0x021D4140 - ldr r2, [r0, #8] - ldr r0, _02036FD4 ; =0x000006BB - ldrb r1, [r2, r0] - cmp r1, #0 - bne _02036FBA - mov r0, #0 - pop {r3, pc} -_02036FBA: - add r0, r0, #1 - ldrb r0, [r2, r0] - bl _s32_div_f - cmp r1, #0 - bne _02036FCA - mov r0, #1 - pop {r3, pc} -_02036FCA: - mov r0, #0 - pop {r3, pc} - nop -_02036FD0: .word 0x021D4140 -_02036FD4: .word 0x000006BB - thumb_func_end sub_02036FA8 - - thumb_func_start sub_02036FD8 -sub_02036FD8: ; 0x02036FD8 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - bne _02036FF4 - add sp, #8 - mov r0, #0 - pop {r4, r5, r6, pc} -_02036FF4: - mov r0, #1 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _0203702C ; =0x021D4140 - add r2, r4, #0 - ldr r1, [r0, #8] - mov r0, #0x16 - lsl r0, r0, #6 - add r0, r1, r0 - add r1, r5, #0 - add r3, r6, #0 - bl sub_02033DF0 - cmp r0, #0 - beq _0203701A - add sp, #8 - mov r0, #1 - pop {r4, r5, r6, pc} -_0203701A: - bl sub_0203993C - cmp r0, #0xa - bne _02037026 - bl sub_02037974 -_02037026: - mov r0, #0 - add sp, #8 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203702C: .word 0x021D4140 - thumb_func_end sub_02036FD8 - - thumb_func_start sub_02037030 -sub_02037030: ; 0x02037030 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - bne _0203704C - add sp, #8 - mov r0, #0 - pop {r4, r5, r6, pc} -_0203704C: - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - ldr r0, _02037084 ; =0x021D4140 - add r2, r4, #0 - ldr r1, [r0, #8] - mov r0, #0x16 - lsl r0, r0, #6 - add r0, r1, r0 - add r1, r5, #0 - add r3, r6, #0 - bl sub_02033DF0 - cmp r0, #0 - beq _02037070 - add sp, #8 - mov r0, #1 - pop {r4, r5, r6, pc} -_02037070: - bl sub_0203993C - cmp r0, #0xa - bne _0203707C - bl sub_02037974 -_0203707C: - mov r0, #0 - add sp, #8 - pop {r4, r5, r6, pc} - nop -_02037084: .word 0x021D4140 - thumb_func_end sub_02037030 - - thumb_func_start sub_02037088 -sub_02037088: ; 0x02037088 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0203769C - cmp r0, #0 - beq _020370A4 - bl GF_AssertFail - add sp, #8 - mov r0, #0 - pop {r4, r5, r6, pc} -_020370A4: - mov r0, #0 - bl sub_020373B4 - cmp r0, #0 - bne _020370B4 - add sp, #8 - mov r0, #0 - pop {r4, r5, r6, pc} -_020370B4: - bl sub_02035FF0 - cmp r0, #1 - bne _020370CA - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02036FD8 - add sp, #8 - pop {r4, r5, r6, pc} -_020370CA: - mov r0, #1 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _02037104 ; =0x021D4140 - add r2, r4, #0 - ldr r1, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r1, r0 - add r1, r5, #0 - add r3, r6, #0 - bl sub_02033DF0 - cmp r0, #0 - beq _020370F0 - add sp, #8 - mov r0, #1 - pop {r4, r5, r6, pc} -_020370F0: - bl sub_0203993C - cmp r0, #0xa - bne _020370FC - bl sub_02037974 -_020370FC: - mov r0, #0 - add sp, #8 - pop {r4, r5, r6, pc} - nop -_02037104: .word 0x021D4140 - thumb_func_end sub_02037088 - - thumb_func_start sub_02037108 -sub_02037108: ; 0x02037108 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0203769C - cmp r0, #0 - beq _02037124 - bl sub_02037974 - add sp, #8 - mov r0, #0 - pop {r4, r5, r6, pc} -_02037124: - mov r0, #0 - bl sub_020373B4 - cmp r0, #0 - bne _02037134 - add sp, #8 - mov r0, #0 - pop {r4, r5, r6, pc} -_02037134: - bl sub_02035FF0 - cmp r0, #1 - bne _0203714A - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02037030 - add sp, #8 - pop {r4, r5, r6, pc} -_0203714A: - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - ldr r0, _02037180 ; =0x021D4140 - add r2, r4, #0 - ldr r1, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r1, r0 - add r1, r5, #0 - add r3, r6, #0 - bl sub_02033DF0 - cmp r0, #0 - beq _0203716E - add sp, #8 - mov r0, #1 - pop {r4, r5, r6, pc} -_0203716E: - bl sub_0203993C - cmp r0, #0xa - bne _0203717A - bl sub_02037974 -_0203717A: - mov r0, #0 - add sp, #8 - pop {r4, r5, r6, pc} - .balign 4, 0 -_02037180: .word 0x021D4140 - thumb_func_end sub_02037108 - - thumb_func_start sub_02037184 -sub_02037184: ; 0x02037184 - ldr r3, _0203718C ; =sub_02037108 - mov r2, #0 - bx r3 - nop -_0203718C: .word sub_02037108 - thumb_func_end sub_02037184 - - thumb_func_start sub_02037190 -sub_02037190: ; 0x02037190 - ldr r0, _0203719C ; =0x021D4140 - ldr r3, _020371A0 ; =sub_02033BE4 - ldr r1, [r0, #8] - ldr r0, _020371A4 ; =0x00000498 - add r0, r1, r0 - bx r3 - .balign 4, 0 -_0203719C: .word 0x021D4140 -_020371A0: .word sub_02033BE4 -_020371A4: .word 0x00000498 - thumb_func_end sub_02037190 - - thumb_func_start sub_020371A8 -sub_020371A8: ; 0x020371A8 - push {r4, lr} - ldr r4, [sp, #8] - bl sub_02034170 - mov r0, #0xee - strb r0, [r4, #0xa] - ldr r0, _020371C0 ; =0x0000FFFF - strh r0, [r4, #8] - mov r0, #0 - str r0, [r4, #4] - str r0, [r4] - pop {r4, pc} - .balign 4, 0 -_020371C0: .word 0x0000FFFF - thumb_func_end sub_020371A8 - - thumb_func_start sub_020371C4 -sub_020371C4: ; 0x020371C4 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r0, #0 - str r1, [sp, #4] - str r2, [sp, #8] - add r4, r3, #0 - bl sub_02033BC4 - cmp r0, #0 - beq _020372D4 -_020371D8: - ldrb r7, [r4, #0xa] - cmp r7, #0xee - bne _020371EA - add r0, r5, #0 - bl sub_02033B68 - add r7, r0, #0 - cmp r7, #0xee - beq _020372CA -_020371EA: - mov r0, #4 - ldrsh r0, [r5, r0] - strb r7, [r4, #0xa] - ldrh r6, [r4, #8] - str r0, [sp, #0x10] - ldr r0, _020372D8 ; =0x0000FFFF - cmp r6, r0 - bne _0203723E - add r0, r7, #0 - bl sub_020341DC - add r6, r0, #0 - ldr r0, _020372DC ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _020372E0 ; =0x000006B8 - ldrb r0, [r1, r0] - cmp r0, #0 - bne _020372D4 - ldr r0, _020372D8 ; =0x0000FFFF - cmp r6, r0 - bne _0203723C - add r0, r5, #0 - bl sub_02033BC4 - cmp r0, #1 - bge _02037226 - ldr r0, [sp, #0x10] - add sp, #0x14 - strh r0, [r5, #4] - pop {r4, r5, r6, r7, pc} -_02037226: - add r0, r5, #0 - bl sub_02033B68 - lsl r6, r0, #8 - add r0, r5, #0 - bl sub_02033B68 - add r6, r6, r0 - mov r0, #4 - ldrsh r0, [r5, r0] - str r0, [sp, #0x10] -_0203723C: - strh r6, [r4, #8] -_0203723E: - add r0, r7, #0 - bl sub_02034244 - cmp r0, #0 - beq _0203729A - ldr r0, [r4, #4] - cmp r0, #0 - bne _0203725A - ldrh r2, [r4, #8] - ldr r1, [sp, #4] - add r0, r7, #0 - bl sub_02034280 - str r0, [r4, #4] -_0203725A: - ldr r2, [r4] - ldr r1, [sp, #8] - add r0, r5, #0 - sub r2, r6, r2 - bl sub_02033B4C - ldr r2, [r4, #4] - str r0, [sp, #0xc] - cmp r2, #0 - beq _0203727A - ldr r1, [r4] - ldr r0, [sp, #8] - add r1, r2, r1 - ldr r2, [sp, #0xc] - bl sub_020D4A50 -_0203727A: - ldr r1, [r4] - ldr r0, [sp, #0xc] - add r0, r1, r0 - str r0, [r4] - cmp r0, r6 - blt _020372CA - str r4, [sp] - ldr r0, [sp, #4] - ldr r3, [r4, #4] - add r1, r7, #0 - add r2, r6, #0 - bl sub_020371A8 - cmp r7, #0x11 - beq _020372D4 - b _020372CA -_0203729A: - add r0, r5, #0 - bl sub_02033BC4 - cmp r0, r6 - blt _020372C2 - ldr r1, [sp, #8] - add r0, r5, #0 - add r2, r6, #0 - bl sub_02033B4C - ldr r0, [sp, #4] - ldr r3, [sp, #8] - add r1, r7, #0 - add r2, r6, #0 - str r4, [sp] - bl sub_020371A8 - cmp r7, #0x11 - beq _020372D4 - b _020372CA -_020372C2: - ldr r0, [sp, #0x10] - add sp, #0x14 - strh r0, [r5, #4] - pop {r4, r5, r6, r7, pc} -_020372CA: - add r0, r5, #0 - bl sub_02033BC4 - cmp r0, #0 - bne _020371D8 -_020372D4: - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_020372D8: .word 0x0000FFFF -_020372DC: .word 0x021D4140 -_020372E0: .word 0x000006B8 - thumb_func_end sub_020371C4 - - thumb_func_start sub_020372E4 -sub_020372E4: ; 0x020372E4 - push {r4, lr} - ldr r0, _02037328 ; =0x021D4140 - ldr r1, [r0, #8] - cmp r1, #0 - beq _02037326 - ldr r0, _0203732C ; =0x000006BA - ldrb r0, [r1, r0] - cmp r0, #0 - bne _02037326 - ldr r0, _02037330 ; =0x000004A4 - add r0, r1, r0 - bl sub_02033C28 - ldr r0, _02037328 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02037330 ; =0x000004A4 - add r0, r1, r0 - bl sub_02033BC4 - cmp r0, #0 - ble _02037326 - ldr r0, _02037328 ; =0x021D4140 - mov r3, #0x62 - ldr r4, [r0, #8] - ldr r2, _02037330 ; =0x000004A4 - lsl r3, r3, #4 - add r0, r4, r2 - sub r2, #0x10 - ldr r2, [r4, r2] - mov r1, #0 - add r3, r4, r3 - bl sub_020371C4 -_02037326: - pop {r4, pc} - .balign 4, 0 -_02037328: .word 0x021D4140 -_0203732C: .word 0x000006BA -_02037330: .word 0x000004A4 - thumb_func_end sub_020372E4 - - thumb_func_start sub_02037334 -sub_02037334: ; 0x02037334 - push {r3, r4, r5, r6, r7, lr} - ldr r0, _020373A4 ; =0x021D4140 - ldr r1, [r0, #8] - cmp r1, #0 - beq _020373A0 - ldr r0, _020373A8 ; =0x000006BA - ldrb r0, [r1, r0] - cmp r0, #0 - bne _020373A0 - bl sub_0203993C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r0, r0, #1 - mov r4, #0 - str r0, [sp] - cmp r0, #0 - ble _020373A0 - ldr r7, _020373A4 ; =0x021D4140 - add r5, r4, #0 -_02037360: - ldr r1, [r7, #8] - ldr r0, _020373AC ; =0x0000051C - add r0, r1, r0 - add r0, r0, r5 - bl sub_02033C28 - ldr r1, [r7, #8] - ldr r0, _020373AC ; =0x0000051C - add r0, r1, r0 - add r0, r0, r5 - bl sub_02033BC4 - cmp r0, #0 - ble _02037396 - mov r3, #0x17 - ldr r6, [r7, #8] - ldr r0, _020373AC ; =0x0000051C - ldr r2, _020373B0 ; =0x00000494 - lsl r3, r3, #6 - add r0, r6, r0 - add r3, r6, r3 - ldr r2, [r6, r2] - add r0, r0, r5 - add r1, r4, #0 - add r3, r3, r5 - bl sub_020371C4 -_02037396: - ldr r0, [sp] - add r4, r4, #1 - add r5, #0xc - cmp r4, r0 - blt _02037360 -_020373A0: - pop {r3, r4, r5, r6, r7, pc} - nop -_020373A4: .word 0x021D4140 -_020373A8: .word 0x000006BA -_020373AC: .word 0x0000051C -_020373B0: .word 0x00000494 - thumb_func_end sub_02037334 - - thumb_func_start sub_020373B4 -sub_020373B4: ; 0x020373B4 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02037448 ; =0x021D4140 - ldr r0, [r0, #8] - cmp r0, #0 - bne _020373C4 - mov r0, #0 - pop {r4, pc} -_020373C4: - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _020373F2 - ldr r0, _02037448 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _0203744C ; =0x000006B6 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _020373EE - bl ov00_021EE4FC - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - mov r0, #1 - add r1, r0, #0 - lsl r1, r4 - tst r1, r2 - bne _02037444 -_020373EE: - mov r0, #0 - pop {r4, pc} -_020373F2: - bl sub_02037474 - cmp r0, #0 - bne _020373FE - mov r0, #0 - pop {r4, pc} -_020373FE: - bl sub_02033298 - cmp r0, #4 - beq _0203740A - mov r0, #0 - pop {r4, pc} -_0203740A: - bl sub_0203769C - cmp r4, r0 - bne _02037416 - mov r0, #1 - pop {r4, pc} -_02037416: - bl sub_0203769C - cmp r0, #0 - bne _02037430 - bl sub_02033250 - mov r1, #1 - add r2, r1, #0 - lsl r2, r4 - tst r0, r2 - beq _02037442 - add r0, r1, #0 - pop {r4, pc} -_02037430: - ldr r0, _02037448 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02037450 ; =0x00000694 - ldrh r2, [r1, r0] - mov r0, #1 - add r1, r0, #0 - lsl r1, r4 - tst r1, r2 - bne _02037444 -_02037442: - mov r0, #0 -_02037444: - pop {r4, pc} - nop -_02037448: .word 0x021D4140 -_0203744C: .word 0x000006B6 -_02037450: .word 0x00000694 - thumb_func_end sub_020373B4 - - thumb_func_start sub_02037454 -sub_02037454: ; 0x02037454 - push {r3, r4, r5, lr} - mov r4, #0 - add r5, r4, #0 -_0203745A: - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _02037468 - add r4, r4, #1 -_02037468: - add r5, r5, #1 - cmp r5, #8 - blt _0203745A - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02037454 - - thumb_func_start sub_02037474 -sub_02037474: ; 0x02037474 - push {r3, lr} - ldr r0, _02037494 ; =0x021D4140 - ldr r0, [r0, #8] - cmp r0, #0 - beq _0203748E - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _0203748E - mov r0, #1 - pop {r3, pc} -_0203748E: - bl sub_02035650 - pop {r3, pc} - .balign 4, 0 -_02037494: .word 0x021D4140 - thumb_func_end sub_02037474 - - thumb_func_start sub_02037498 -sub_02037498: ; 0x02037498 - ldr r1, _020374A4 ; =0x021D4140 - ldr r2, [r1, #8] - ldr r1, _020374A8 ; =0x0000065F - strb r0, [r2, r1] - bx lr - nop -_020374A4: .word 0x021D4140 -_020374A8: .word 0x0000065F - thumb_func_end sub_02037498 - - thumb_func_start sub_020374AC -sub_020374AC: ; 0x020374AC - ldr r1, _020374B8 ; =0x021D4140 - ldr r1, [r1, #8] - add r1, r1, r0 - ldr r0, _020374BC ; =0x00000654 - ldrb r0, [r1, r0] - bx lr - .balign 4, 0 -_020374B8: .word 0x021D4140 -_020374BC: .word 0x00000654 - thumb_func_end sub_020374AC - - thumb_func_start sub_020374C0 -sub_020374C0: ; 0x020374C0 - ldr r1, _020374DC ; =0x021D4140 - ldr r2, [r1, #8] - cmp r2, #0 - bne _020374CC - mov r0, #0 - bx lr -_020374CC: - ldr r1, _020374E0 ; =0x00000644 - add r3, r2, r1 - lsl r2, r0, #1 - ldrh r0, [r3, r2] - mov r1, #0 - strh r1, [r3, r2] - bx lr - nop -_020374DC: .word 0x021D4140 -_020374E0: .word 0x00000644 - thumb_func_end sub_020374C0 - - thumb_func_start sub_020374E4 -sub_020374E4: ; 0x020374E4 - ldr r0, _020374FC ; =0x021D4140 - ldr r3, [r0, #8] - cmp r3, #0 - beq _020374F8 - ldr r1, _02037500 ; =0x0000065C - mov r0, #2 - ldrh r2, [r3, r1] - lsl r0, r0, #0xe - orr r0, r2 - strh r0, [r3, r1] -_020374F8: - bx lr - nop -_020374FC: .word 0x021D4140 -_02037500: .word 0x0000065C - thumb_func_end sub_020374E4 - - thumb_func_start sub_02037504 -sub_02037504: ; 0x02037504 - ldr r0, _02037514 ; =0x021D4140 - ldr r2, [r0, #8] - cmp r2, #0 - beq _02037512 - ldr r0, _02037518 ; =0x0000065C - mov r1, #0 - strh r1, [r2, r0] -_02037512: - bx lr - .balign 4, 0 -_02037514: .word 0x021D4140 -_02037518: .word 0x0000065C - thumb_func_end sub_02037504 - - thumb_func_start sub_0203751C -sub_0203751C: ; 0x0203751C - ldr r0, _02037534 ; =0x021D4140 - ldr r1, [r0, #8] - cmp r1, #0 - beq _02037530 - ldr r0, _02037538 ; =0x0000065C - ldrh r1, [r1, r0] - mov r0, #2 - lsl r0, r0, #0xe - and r0, r1 - bx lr -_02037530: - mov r0, #1 - bx lr - .balign 4, 0 -_02037534: .word 0x021D4140 -_02037538: .word 0x0000065C - thumb_func_end sub_0203751C - - thumb_func_start sub_0203753C -sub_0203753C: ; 0x0203753C - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_02035FF0 - cmp r0, #1 - bne _0203756E - mov r0, #1 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _02037590 ; =0x021D4140 - add r2, r4, #0 - ldr r1, [r0, #8] - mov r0, #0x16 - lsl r0, r0, #6 - add r0, r1, r0 - add r1, r5, #0 - add r3, r6, #0 - bl sub_02033DF0 - add sp, #8 - pop {r4, r5, r6, pc} -_0203756E: - mov r0, #1 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - ldr r0, _02037590 ; =0x021D4140 - add r2, r4, #0 - ldr r1, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r1, r0 - add r1, r5, #0 - add r3, r6, #0 - bl sub_02033DF0 - add sp, #8 - pop {r4, r5, r6, pc} - nop -_02037590: .word 0x021D4140 - thumb_func_end sub_0203753C - - thumb_func_start sub_02037594 -sub_02037594: ; 0x02037594 - push {r3, lr} - ldr r0, _0203760C ; =0x021D4140 - ldr r2, [r0, #8] - cmp r2, #0 - beq _02037608 - ldr r1, _02037610 ; =0x000006AB - ldrb r0, [r2, r1] - cmp r0, #1 - beq _020375AC - cmp r0, #3 - beq _020375E4 - pop {r3, pc} -_020375AC: - bl sub_02035FF0 - cmp r0, #1 - bne _020375C4 - ldr r1, _0203760C ; =0x021D4140 - mov r0, #0xb - ldr r2, [r1, #8] - ldr r1, _02037614 ; =0x000006AC - add r1, r2, r1 - bl sub_020376E0 - b _020375D4 -_020375C4: - ldr r1, _0203760C ; =0x021D4140 - mov r0, #0xb - ldr r2, [r1, #8] - ldr r1, _02037614 ; =0x000006AC - add r1, r2, r1 - mov r2, #1 - bl sub_02037108 -_020375D4: - cmp r0, #0 - beq _02037608 - ldr r0, _0203760C ; =0x021D4140 - mov r2, #2 - ldr r1, [r0, #8] - ldr r0, _02037610 ; =0x000006AB - strb r2, [r1, r0] - pop {r3, pc} -_020375E4: - add r1, r1, #1 - mov r0, #0xc - add r1, r2, r1 - bl sub_020376E0 - cmp r0, #0 - beq _02037608 - ldr r0, _0203760C ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02037614 ; =0x000006AC - ldrb r0, [r1, r0] - bl sub_02035FA8 - ldr r0, _0203760C ; =0x021D4140 - mov r2, #0 - ldr r1, [r0, #8] - ldr r0, _02037610 ; =0x000006AB - strb r2, [r1, r0] -_02037608: - pop {r3, pc} - nop -_0203760C: .word 0x021D4140 -_02037610: .word 0x000006AB -_02037614: .word 0x000006AC - thumb_func_end sub_02037594 - - thumb_func_start sub_02037618 -sub_02037618: ; 0x02037618 - push {r4, lr} - add r4, r2, #0 - bl sub_0203769C - cmp r0, #0 - bne _02037636 - ldr r1, _02037638 ; =0x021D4140 - ldr r0, _0203763C ; =0x000006AB - ldr r2, [r1, #8] - mov r3, #1 - strb r3, [r2, r0] - ldrb r2, [r4] - ldr r1, [r1, #8] - add r0, r0, #1 - strb r2, [r1, r0] -_02037636: - pop {r4, pc} - .balign 4, 0 -_02037638: .word 0x021D4140 -_0203763C: .word 0x000006AB - thumb_func_end sub_02037618 - - thumb_func_start sub_02037640 -sub_02037640: ; 0x02037640 - push {r4, lr} - add r4, r2, #0 - bl sub_0203769C - cmp r0, #0 - beq _0203765E - ldr r1, _02037660 ; =0x021D4140 - ldrb r3, [r4] - ldr r2, [r1, #8] - ldr r0, _02037664 ; =0x000006AC - strb r3, [r2, r0] - ldr r1, [r1, #8] - mov r2, #3 - sub r0, r0, #1 - strb r2, [r1, r0] -_0203765E: - pop {r4, pc} - .balign 4, 0 -_02037660: .word 0x021D4140 -_02037664: .word 0x000006AC - thumb_func_end sub_02037640 - - thumb_func_start sub_02037668 -sub_02037668: ; 0x02037668 - push {r4, lr} - add r4, r2, #0 - bl sub_0203769C - cmp r0, #0 - bne _02037690 - ldr r0, _02037694 ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02037698 ; =0x000006AB - ldrb r0, [r1, r0] - cmp r0, #2 - bne _02037690 - ldrb r0, [r4] - bl sub_02035FA8 - ldr r0, _02037694 ; =0x021D4140 - mov r2, #0 - ldr r1, [r0, #8] - ldr r0, _02037698 ; =0x000006AB - strb r2, [r1, r0] -_02037690: - pop {r4, pc} - nop -_02037694: .word 0x021D4140 -_02037698: .word 0x000006AB - thumb_func_end sub_02037668 - - thumb_func_start sub_0203769C -sub_0203769C: ; 0x0203769C - push {r3, lr} - ldr r0, _020376D0 ; =0x021D4140 - ldr r0, [r0, #8] - cmp r0, #0 - beq _020376CA - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _020376C4 - bl ov00_021E6964 - mov r1, #0 - mvn r1, r1 - cmp r0, r1 - beq _020376CA - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - pop {r3, pc} -_020376C4: - bl sub_020338F4 - pop {r3, pc} -_020376CA: - mov r0, #0 - pop {r3, pc} - nop -_020376D0: .word 0x021D4140 - thumb_func_end sub_0203769C - - thumb_func_start sub_020376D4 -sub_020376D4: ; 0x020376D4 - ldr r3, _020376DC ; =sub_02036FD8 - mov r2, #0 - bx r3 - nop -_020376DC: .word sub_02036FD8 - thumb_func_end sub_020376D4 - - thumb_func_start sub_020376E0 -sub_020376E0: ; 0x020376E0 - ldr r3, _020376E8 ; =sub_02037030 - mov r2, #0 - bx r3 - nop -_020376E8: .word sub_02037030 - thumb_func_end sub_020376E0 - - thumb_func_start sub_020376EC -sub_020376EC: ; 0x020376EC - ldr r3, _020376F4 ; =sub_02037030 - mov r1, #0 - add r2, r1, #0 - bx r3 - .balign 4, 0 -_020376F4: .word sub_02037030 - thumb_func_end sub_020376EC - - thumb_func_start sub_020376F8 -sub_020376F8: ; 0x020376F8 - ldr r3, _020376FC ; =sub_0203567C - bx r3 - .balign 4, 0 -_020376FC: .word sub_0203567C - thumb_func_end sub_020376F8 - - thumb_func_start sub_02037700 -sub_02037700: ; 0x02037700 - push {r3, lr} - ldr r0, _02037724 ; =0x021D4140 - ldr r1, [r0, #8] - cmp r1, #0 - beq _0203771E - ldr r0, _02037728 ; =0x000006B8 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _0203771E - mov r0, #1 - add r1, r0, #0 - bl sub_020398D4 - mov r0, #1 - pop {r3, pc} -_0203771E: - bl sub_0203569C - pop {r3, pc} - .balign 4, 0 -_02037724: .word 0x021D4140 -_02037728: .word 0x000006B8 - thumb_func_end sub_02037700 - - thumb_func_start sub_0203772C -sub_0203772C: ; 0x0203772C - push {r3, lr} - bl sub_02033FC4 - cmp r0, #5 - blo _0203773A - mov r0, #0xc - pop {r3, pc} -_0203773A: - bl sub_02035FF0 - cmp r0, #0 - bne _02037746 - mov r0, #0xc - pop {r3, pc} -_02037746: - mov r0, #0x26 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203772C - - thumb_func_start sub_0203774C -sub_0203774C: ; 0x0203774C - push {r3, lr} - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FC4 - add r0, r0, #1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203774C - - thumb_func_start sub_0203775C -sub_0203775C: ; 0x0203775C - push {r3, lr} - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl sub_02033FF0 - add r0, r0, #1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203775C - - thumb_func_start sub_0203776C -sub_0203776C: ; 0x0203776C - push {r3, lr} - bl sub_020357FC - cmp r0, #0 - bne _02037786 - bl sub_0203769C - cmp r0, #0 - bne _02037786 - mov r0, #2 - add r1, sp, #0 - bl sub_02037184 -_02037786: - bl sub_0203581C - pop {r3, pc} - thumb_func_end sub_0203776C - - thumb_func_start sub_0203778C -sub_0203778C: ; 0x0203778C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x20 - add r4, r0, #0 - add r0, sp, #0x10 - add r1, sp, #4 - bl GF_RTC_CopyDateTime - ldr r0, _02037810 ; =gMain - ldr r6, [sp, #0x10] - mov r5, #0 - lsr r7, r6, #0x1c - lsl r5, r5, #4 - ldr r1, [sp, #0xc] - ldr r0, [r0, #0x2c] - lsl r6, r6, #4 - add r3, r1, r0 - ldr r0, [sp, #0x18] - orr r5, r7 - str r0, [sp] - ldr r0, [sp, #0x14] - ldr r1, [sp, #4] - add r6, r0, r6 - ldr r0, _02037814 ; =0x00000000 - ldr r2, [sp, #8] - adc r0, r5 - lsr r5, r6, #0x1b - lsl r0, r0, #5 - orr r0, r5 - ldr r5, [sp] - lsl r6, r6, #5 - add r6, r5, r6 - ldr r5, _02037814 ; =0x00000000 - adc r5, r0 - lsr r0, r6, #0x1b - lsl r5, r5, #5 - orr r5, r0 - lsl r0, r6, #5 - add r6, r1, r0 - ldr r1, _02037814 ; =0x00000000 - adc r1, r5 - lsr r0, r6, #0x1a - lsl r1, r1, #6 - orr r1, r0 - lsl r0, r6, #6 - add r5, r2, r0 - ldr r2, _02037814 ; =0x00000000 - adc r2, r1 - lsr r0, r5, #0x1a - lsl r1, r2, #6 - orr r1, r0 - lsl r0, r5, #6 - add r2, r3, r0 - ldr r0, _02037814 ; =0x00000000 - str r2, [r4] - adc r0, r1 - str r0, [r4, #4] - ldr r1, _02037818 ; =0x6C078965 - ldr r0, _0203781C ; =0x5D588B65 - str r1, [r4, #8] - str r0, [r4, #0xc] - ldr r0, _02037820 ; =0x00269EC3 - str r0, [r4, #0x10] - mov r0, #0 - str r0, [r4, #0x14] - add sp, #0x20 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02037810: .word gMain -_02037814: .word 0x00000000 -_02037818: .word 0x6C078965 -_0203781C: .word 0x5D588B65 -_02037820: .word 0x00269EC3 - thumb_func_end sub_0203778C - - thumb_func_start sub_02037824 -sub_02037824: ; 0x02037824 - add r1, r0, #0 - ldr r0, _02037834 ; =0x021D4140 - ldr r3, _02037838 ; =sub_02033F9C - ldr r2, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r2, r0 - bx r3 - .balign 4, 0 -_02037834: .word 0x021D4140 -_02037838: .word sub_02033F9C - thumb_func_end sub_02037824 - - thumb_func_start sub_0203783C -sub_0203783C: ; 0x0203783C - ldr r0, _0203784C ; =0x021D4140 - ldr r3, _02037850 ; =sub_02033C50 - ldr r1, [r0, #8] - mov r0, #0x5a - lsl r0, r0, #4 - add r0, r1, r0 - bx r3 - nop -_0203784C: .word 0x021D4140 -_02037850: .word sub_02033C50 - thumb_func_end sub_0203783C - - thumb_func_start sub_02037854 -sub_02037854: ; 0x02037854 - ldr r0, _02037864 ; =0x021D4140 - ldr r3, _02037868 ; =sub_02033C50 - ldr r1, [r0, #8] - mov r0, #0x16 - lsl r0, r0, #6 - add r0, r1, r0 - bx r3 - nop -_02037864: .word 0x021D4140 -_02037868: .word sub_02033C50 - thumb_func_end sub_02037854 - - thumb_func_start sub_0203786C -sub_0203786C: ; 0x0203786C - ldr r1, _02037878 ; =0x021D4140 - ldr r2, [r1, #8] - ldr r1, _0203787C ; =0x000006B6 - strb r0, [r2, r1] - bx lr - nop -_02037878: .word 0x021D4140 -_0203787C: .word 0x000006B6 - thumb_func_end sub_0203786C - - thumb_func_start sub_02037880 -sub_02037880: ; 0x02037880 - ldr r0, _0203788C ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02037890 ; =0x000006B6 - ldrb r0, [r1, r0] - bx lr - nop -_0203788C: .word 0x021D4140 -_02037890: .word 0x000006B6 - thumb_func_end sub_02037880 - - thumb_func_start sub_02037894 -sub_02037894: ; 0x02037894 - ldr r2, _020378A4 ; =0x021D4140 - ldr r2, [r2, #8] - cmp r2, #0 - beq _020378A2 - add r2, r2, r1 - ldr r1, _020378A8 ; =0x000006A6 - strb r0, [r2, r1] -_020378A2: - bx lr - .balign 4, 0 -_020378A4: .word 0x021D4140 -_020378A8: .word 0x000006A6 - thumb_func_end sub_02037894 - - thumb_func_start sub_020378AC -sub_020378AC: ; 0x020378AC - ldr r1, _020378C4 ; =0x021D4140 - ldr r1, [r1, #8] - cmp r1, #0 - beq _020378C0 - add r2, r1, r0 - ldr r1, _020378C8 ; =0x000006A6 - ldrb r1, [r2, r1] - cmp r1, #0xff - beq _020378C0 - add r0, r1, #0 -_020378C0: - bx lr - nop -_020378C4: .word 0x021D4140 -_020378C8: .word 0x000006A6 - thumb_func_end sub_020378AC - - thumb_func_start sub_020378CC -sub_020378CC: ; 0x020378CC - push {r3, lr} - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _020378E0 - bl ov00_021E7080 - pop {r3, pc} -_020378E0: - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_020378CC - - thumb_func_start sub_020378E4 -sub_020378E4: ; 0x020378E4 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _02037922 - ldr r2, _02037924 ; =0x021D4140 - ldr r1, _02037928 ; =0x00000664 - ldr r3, [r2, #8] - ldr r0, [r3, r1] - cmp r0, r4 - beq _02037922 - str r4, [r3, r1] - cmp r4, #0 - beq _02037922 - ldr r3, [r2, #8] - mov r0, #0 - add r1, r1, #4 - str r0, [r3, r1] - ldr r1, _0203792C ; =0x0000066C - add r5, r0, #0 - add r4, r0, #0 -_02037914: - ldr r3, [r2, #8] - add r0, r0, #1 - add r3, r3, r5 - add r5, r5, #4 - str r4, [r3, r1] - cmp r0, #8 - blt _02037914 -_02037922: - pop {r3, r4, r5, pc} - .balign 4, 0 -_02037924: .word 0x021D4140 -_02037928: .word 0x00000664 -_0203792C: .word 0x0000066C - thumb_func_end sub_020378E4 - - thumb_func_start sub_02037930 -sub_02037930: ; 0x02037930 - push {r4, lr} - add r4, r0, #0 - bl sub_020378E4 - bl sub_0203993C - bl sub_02034044 - cmp r0, #0 - beq _02037956 - cmp r4, #0 - beq _02037950 - mov r0, #0 - bl ov00_021E70CC - pop {r4, pc} -_02037950: - mov r0, #1 - bl ov00_021E70CC -_02037956: - pop {r4, pc} - thumb_func_end sub_02037930 - - thumb_func_start sub_02037958 -sub_02037958: ; 0x02037958 - ldr r0, _0203796C ; =0x021D4140 - ldr r1, [r0, #8] - ldr r0, _02037970 ; =0x000006B1 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _02037968 - mov r0, #1 - bx lr -_02037968: - mov r0, #0 - bx lr - .balign 4, 0 -_0203796C: .word 0x021D4140 -_02037970: .word 0x000006B1 - thumb_func_end sub_02037958 - - thumb_func_start sub_02037974 -sub_02037974: ; 0x02037974 - ldr r0, _02037980 ; =0x021D4140 - mov r2, #1 - ldr r1, [r0, #8] - ldr r0, _02037984 ; =0x000006B8 - strb r2, [r1, r0] - bx lr - .balign 4, 0 -_02037980: .word 0x021D4140 -_02037984: .word 0x000006B8 - thumb_func_end sub_02037974 - - thumb_func_start sub_02037988 -sub_02037988: ; 0x02037988 - ldr r0, _02037998 ; =0x021D4140 - ldr r2, [r0, #8] - cmp r2, #0 - beq _02037996 - ldr r0, _0203799C ; =0x000006B9 - mov r1, #1 - strb r1, [r2, r0] -_02037996: - bx lr - .balign 4, 0 -_02037998: .word 0x021D4140 -_0203799C: .word 0x000006B9 - thumb_func_end sub_02037988 - - thumb_func_start sub_020379A0 -sub_020379A0: ; 0x020379A0 - push {r4, lr} - ldr r1, _020379F0 ; =0x021D414C - ldr r1, [r1] - cmp r1, #0 - bne _020379C0 - mov r1, #0x99 - lsl r1, r1, #2 - bl AllocFromHeap - ldr r1, _020379F0 ; =0x021D414C - mov r2, #0x99 - str r0, [r1] - mov r1, #0 - lsl r2, r2, #2 - bl MIi_CpuFill8 -_020379C0: - ldr r1, _020379F0 ; =0x021D414C - mov r3, #0 - mov r0, #0xff -_020379C6: - ldr r2, [r1] - add r2, r2, r3 - add r3, r3, #1 - strb r0, [r2, #0x10] - cmp r3, #8 - blt _020379C6 - ldr r3, _020379F0 ; =0x021D414C - ldr r1, _020379F4 ; =0x00000261 - ldr r2, [r3] - strb r0, [r2, r1] - ldr r4, [r3] - add r2, r1, #1 - strb r0, [r4, r2] - ldr r2, [r3] - mov r4, #0 - add r0, r1, #2 - strb r4, [r2, r0] - ldr r2, [r3] - sub r0, r1, #1 - strb r4, [r2, r0] - pop {r4, pc} - .balign 4, 0 -_020379F0: .word 0x021D414C -_020379F4: .word 0x00000261 - thumb_func_end sub_020379A0 - - thumb_func_start sub_020379F8 -sub_020379F8: ; 0x020379F8 - push {r3, lr} - ldr r0, _02037A0C ; =0x021D414C - ldr r0, [r0] - bl FreeToHeap - ldr r0, _02037A0C ; =0x021D414C - mov r1, #0 - str r1, [r0] - pop {r3, pc} - nop -_02037A0C: .word 0x021D414C - thumb_func_end sub_020379F8 - - thumb_func_start sub_02037A10 -sub_02037A10: ; 0x02037A10 - ldr r0, _02037A20 ; =0x021D414C - ldr r0, [r0] - cmp r0, #0 - beq _02037A1C - mov r0, #1 - bx lr -_02037A1C: - mov r0, #0 - bx lr - .balign 4, 0 -_02037A20: .word 0x021D414C - thumb_func_end sub_02037A10 - - thumb_func_start sub_02037A24 -sub_02037A24: ; 0x02037A24 - push {r3, r4, r5, r6, lr} - sub sp, #4 - ldrb r1, [r2] - add r5, r0, #0 - add r0, sp, #0 - strb r1, [r0] - bl sub_0203769C - cmp r0, #0 - bne _02037A8E - add r0, sp, #0 - strb r5, [r0, #1] - ldrb r1, [r0] - strb r1, [r0, #2] - add r1, sp, #0 - mov r0, #0x12 - add r1, #1 - bl sub_02037184 - ldr r6, _02037A94 ; =0x021D414C - add r4, sp, #0 - ldr r0, [r6] - ldrb r1, [r4] - add r0, r0, r5 - mov r5, #0 - strb r1, [r0, #0x10] -_02037A58: - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl sub_020373B4 - cmp r0, #0 - beq _02037A70 - ldr r0, [r6] - ldrb r1, [r4] - add r0, r0, r5 - ldrb r0, [r0, #0x10] - cmp r1, r0 - bne _02037A8E -_02037A70: - add r5, r5, #1 - cmp r5, #8 - blt _02037A58 - mov r0, #0x11 - add r1, sp, #0 - bl sub_02037184 - cmp r0, #0 - bne _02037A8E - ldr r0, _02037A94 ; =0x021D414C - mov r2, #1 - ldr r1, [r0] - mov r0, #0x26 - lsl r0, r0, #4 - strb r2, [r1, r0] -_02037A8E: - add sp, #4 - pop {r3, r4, r5, r6, pc} - nop -_02037A94: .word 0x021D414C - thumb_func_end sub_02037A24 - - thumb_func_start sub_02037A98 -sub_02037A98: ; 0x02037A98 - ldr r0, _02037AA8 ; =0x021D414C - ldrb r3, [r2, #1] - ldr r1, [r0] - ldrb r0, [r2] - add r0, r1, r0 - strb r3, [r0, #0x10] - bx lr - nop -_02037AA8: .word 0x021D414C - thumb_func_end sub_02037A98 - - thumb_func_start sub_02037AAC -sub_02037AAC: ; 0x02037AAC - ldr r0, _02037AB8 ; =0x021D414C - ldrb r2, [r2] - ldr r1, [r0] - ldr r0, _02037ABC ; =0x00000261 - strb r2, [r1, r0] - bx lr - .balign 4, 0 -_02037AB8: .word 0x021D414C -_02037ABC: .word 0x00000261 - thumb_func_end sub_02037AAC - - thumb_func_start sub_02037AC0 -sub_02037AC0: ; 0x02037AC0 - ldr r2, _02037AD4 ; =0x021D414C - ldr r1, _02037AD8 ; =0x00000262 - ldr r3, [r2] - strb r0, [r3, r1] - ldr r2, [r2] - mov r3, #1 - add r0, r1, #1 - strb r3, [r2, r0] - bx lr - nop -_02037AD4: .word 0x021D414C -_02037AD8: .word 0x00000262 - thumb_func_end sub_02037AC0 - - thumb_func_start sub_02037ADC -sub_02037ADC: ; 0x02037ADC - push {r3, lr} - ldr r0, _02037B30 ; =0x021D414C - ldr r2, [r0] - cmp r2, #0 - beq _02037B2C - ldr r1, _02037B34 ; =0x00000263 - ldrb r0, [r2, r1] - cmp r0, #0 - beq _02037B06 - sub r1, r1, #1 - mov r0, #0x10 - add r1, r2, r1 - bl sub_020376E0 - cmp r0, #0 - beq _02037B06 - ldr r0, _02037B30 ; =0x021D414C - mov r2, #0 - ldr r1, [r0] - ldr r0, _02037B34 ; =0x00000263 - strb r2, [r1, r0] -_02037B06: - ldr r0, _02037B30 ; =0x021D414C - ldr r1, [r0] - mov r0, #0x26 - lsl r0, r0, #4 - ldrb r0, [r1, r0] - cmp r0, #0 - beq _02037B2C - mov r0, #0x11 - add r1, #0x10 - bl sub_02037184 - cmp r0, #0 - beq _02037B2C - ldr r0, _02037B30 ; =0x021D414C - mov r2, #0 - ldr r1, [r0] - mov r0, #0x26 - lsl r0, r0, #4 - strb r2, [r1, r0] -_02037B2C: - pop {r3, pc} - nop -_02037B30: .word 0x021D414C -_02037B34: .word 0x00000263 - thumb_func_end sub_02037ADC - - thumb_func_start sub_02037B38 -sub_02037B38: ; 0x02037B38 - ldr r1, _02037B54 ; =0x021D414C - ldr r2, [r1] - cmp r2, #0 - bne _02037B44 - mov r0, #1 - bx lr -_02037B44: - ldr r1, _02037B58 ; =0x00000261 - ldrb r1, [r2, r1] - cmp r1, r0 - bne _02037B50 - mov r0, #1 - bx lr -_02037B50: - mov r0, #0 - bx lr - .balign 4, 0 -_02037B54: .word 0x021D414C -_02037B58: .word 0x00000261 - thumb_func_end sub_02037B38 - - thumb_func_start sub_02037B5C -sub_02037B5C: ; 0x02037B5C - ldr r1, _02037B68 ; =0x021D414C - ldr r1, [r1] - add r0, r1, r0 - ldrb r0, [r0, #0x10] - bx lr - nop -_02037B68: .word 0x021D414C - thumb_func_end sub_02037B5C - - thumb_func_start sub_02037B6C -sub_02037B6C: ; 0x02037B6C - push {r3, r4} - lsl r4, r0, #1 - ldr r0, _02037B84 ; =0x021D414C - ldrb r3, [r2] - ldr r1, [r0] - strb r3, [r1, r4] - ldr r0, [r0] - ldrb r1, [r2, #1] - add r0, r0, r4 - strb r1, [r0, #1] - pop {r3, r4} - bx lr - .balign 4, 0 -_02037B84: .word 0x021D414C - thumb_func_end sub_02037B6C - - thumb_func_start sub_02037B88 -sub_02037B88: ; 0x02037B88 - mov r0, #2 - bx lr - thumb_func_end sub_02037B88 - - thumb_func_start sub_02037B8C -sub_02037B8C: ; 0x02037B8C - push {r3, lr} - add r2, sp, #0 - strb r0, [r2] - strb r1, [r2, #1] - mov r0, #0x13 - add r1, sp, #0 - bl sub_020376E0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02037B8C - - thumb_func_start sub_02037BA0 -sub_02037BA0: ; 0x02037BA0 - ldr r2, _02037BC4 ; =0x021D414C - ldr r3, [r2] - cmp r3, #0 - bne _02037BAE - mov r0, #0 - mvn r0, r0 - bx lr -_02037BAE: - lsl r2, r0, #1 - ldrb r0, [r3, r2] - cmp r1, r0 - bne _02037BBC - add r0, r3, r2 - ldrb r0, [r0, #1] - bx lr -_02037BBC: - mov r0, #0 - mvn r0, r0 - bx lr - nop -_02037BC4: .word 0x021D414C - thumb_func_end sub_02037BA0 - - thumb_func_start sub_02037BC8 -sub_02037BC8: ; 0x02037BC8 - push {r3, r4, r5, r6, r7, lr} - mov r4, #0 - ldr r6, _02037BE8 ; =0x021D414C - add r5, r4, #0 - add r7, r4, #0 -_02037BD2: - ldr r0, [r6] - add r1, r7, #0 - add r0, r0, r5 - mov r2, #2 - bl MIi_CpuFill8 - add r4, r4, #1 - add r5, r5, #2 - cmp r4, #8 - blt _02037BD2 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02037BE8: .word 0x021D414C - thumb_func_end sub_02037BC8 - - thumb_func_start sub_02037BEC -sub_02037BEC: ; 0x02037BEC - push {r3, r4} - mov r4, #0 - mov r0, #0x96 - ldr r1, _02037C08 ; =0x021D414C - add r3, r4, #0 - lsl r0, r0, #2 -_02037BF8: - ldr r2, [r1] - add r2, r2, r4 - add r4, r4, #1 - strb r3, [r2, r0] - cmp r4, #8 - blt _02037BF8 - pop {r3, r4} - bx lr - .balign 4, 0 -_02037C08: .word 0x021D414C - thumb_func_end sub_02037BEC - - thumb_func_start sub_02037C0C -sub_02037C0C: ; 0x02037C0C - push {r4, lr} - ldr r2, _02037C40 ; =0x021D414C - ldr r3, [r2] - cmp r3, #0 - beq _02037C3A - add r4, r0, #0 - mov r2, #0x48 - mul r4, r2 - add r3, #0x18 - add r0, r1, #0 - add r1, r3, r4 - mov r2, #0x46 - bl sub_020D4A50 - ldr r1, _02037C40 ; =0x021D414C - mov r0, #0x14 - ldr r1, [r1] - add r1, #0x18 - add r1, r1, r4 - bl sub_020376E0 - mov r0, #1 - pop {r4, pc} -_02037C3A: - mov r0, #0 - pop {r4, pc} - nop -_02037C40: .word 0x021D414C - thumb_func_end sub_02037C0C - - thumb_func_start sub_02037C44 -sub_02037C44: ; 0x02037C44 - ldr r1, _02037C64 ; =0x021D414C - ldr r3, [r1] - mov r1, #0x96 - add r2, r3, r0 - lsl r1, r1, #2 - ldrb r1, [r2, r1] - cmp r1, #0 - beq _02037C5E - mov r1, #0x48 - add r3, #0x18 - mul r1, r0 - add r0, r3, r1 - bx lr -_02037C5E: - mov r0, #0 - bx lr - nop -_02037C64: .word 0x021D414C - thumb_func_end sub_02037C44 - - thumb_func_start sub_02037C68 -sub_02037C68: ; 0x02037C68 - push {r3, r4, r5, lr} - ldr r3, _02037C90 ; =0x021D414C - add r1, r0, #0 - ldr r0, [r3] - mov r5, #1 - add r4, r0, r1 - mov r0, #0x96 - lsl r0, r0, #2 - strb r5, [r4, r0] - ldr r3, [r3] - add r0, r2, #0 - mov r2, #0x48 - add r3, #0x18 - mul r2, r1 - add r1, r3, r2 - mov r2, #0x46 - bl sub_020D4A50 - pop {r3, r4, r5, pc} - nop -_02037C90: .word 0x021D414C - thumb_func_end sub_02037C68 - - thumb_func_start sub_02037C94 -sub_02037C94: ; 0x02037C94 - mov r0, #0x46 - bx lr - thumb_func_end sub_02037C94 - - thumb_func_start sub_02037C98 -sub_02037C98: ; 0x02037C98 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _02037D28 ; =0x021D4150 - add r4, r1, #0 - ldr r0, [r0] - cmp r0, #0 - bne _02037D24 - cmp r5, #0 - bne _02037CAE - bl GF_AssertFail -_02037CAE: - bl sub_02034D8C - mov r0, #0xf - mov r1, #0x68 - bl AllocFromHeap - ldr r1, _02037D28 ; =0x021D4150 - mov r2, #0x68 - str r0, [r1] - mov r1, #0 - bl MIi_CpuFill8 - ldr r0, _02037D28 ; =0x021D4150 - mov r2, #0x32 - ldr r1, [r0] - str r2, [r1, #0x44] - ldr r1, [r0] - mov r2, #1 - add r1, #0x52 - strb r2, [r1] - ldr r0, [r0] - str r5, [r0, #0x28] - add r0, r5, #0 - bl sub_02028E9C - ldr r1, _02037D28 ; =0x021D4150 - ldr r2, [r1] - str r0, [r2, #0x2c] - ldr r0, [r1] - mov r2, #2 - add r0, #0x4a - strb r2, [r0] - ldr r0, [r1] - mov r2, #0 - add r0, #0x4c - strb r2, [r0] - ldr r0, [r1] - add r0, #0x57 - strb r2, [r0] - ldr r0, [r1] - add r0, #0x4e - strb r4, [r0] - ldr r0, [r1] - add r0, #0xc - bl sub_0203778C - mov r0, #0 - add r1, r0, #0 - add r2, r0, #0 - bl sub_0203410C - cmp r4, #9 - beq _02037D24 - cmp r4, #0x11 - beq _02037D24 - cmp r4, #0xf - beq _02037D24 - bl sub_0203A880 -_02037D24: - pop {r3, r4, r5, pc} - nop -_02037D28: .word 0x021D4150 - thumb_func_end sub_02037C98 - - thumb_func_start sub_02037D2C -sub_02037D2C: ; 0x02037D2C - push {r3, lr} - ldr r0, _02037D74 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _02037D72 - bl sub_02034154 - ldr r0, _02037D74 ; =0x021D4150 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, #0 - beq _02037D48 - bl FreeToHeap -_02037D48: - bl sub_02039998 - cmp r0, #0 - beq _02037D56 - mov r0, #0x30 - bl sub_0201A9C4 -_02037D56: - bl sub_0203A914 - bl sub_02034DE0 - ldr r0, _02037D74 ; =0x021D4150 - ldr r0, [r0] - bl FreeToHeap - mov r0, #0xf - bl sub_0201A9C4 - ldr r0, _02037D74 ; =0x021D4150 - mov r1, #0 - str r1, [r0] -_02037D72: - pop {r3, pc} - .balign 4, 0 -_02037D74: .word 0x021D4150 - thumb_func_end sub_02037D2C - - thumb_func_start sub_02037D78 -sub_02037D78: ; 0x02037D78 - ldr r0, _02037D88 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _02037D84 - mov r0, #1 - bx lr -_02037D84: - mov r0, #0 - bx lr - .balign 4, 0 -_02037D88: .word 0x021D4150 - thumb_func_end sub_02037D78 - - thumb_func_start sub_02037D8C -sub_02037D8C: ; 0x02037D8C - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - add r7, r1, #0 - add r5, r2, #0 - add r4, r3, #0 - bl sub_02037474 - cmp r0, #0 - bne _02037DC4 - ldr r2, _02037DC8 ; =0x00007080 - mov r0, #3 - mov r1, #0xf - bl sub_0201A91C - add r0, r6, #0 - add r1, r7, #0 - bl sub_02037C98 - ldr r0, _02037DCC ; =0x021D4150 - ldr r1, [r0] - add r1, #0x4f - strb r5, [r1] - ldr r0, [r0] - mov r1, #0 - str r4, [r0, #0x30] - ldr r0, _02037DD0 ; =sub_02038218 - bl sub_020381C0 -_02037DC4: - pop {r3, r4, r5, r6, r7, pc} - nop -_02037DC8: .word 0x00007080 -_02037DCC: .word 0x021D4150 -_02037DD0: .word sub_02038218 - thumb_func_end sub_02037D8C - - thumb_func_start sub_02037DD4 -sub_02037DD4: ; 0x02037DD4 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - add r7, r1, #0 - add r5, r2, #0 - add r4, r3, #0 - bl sub_02037474 - cmp r0, #0 - bne _02037E0C - ldr r2, _02037E10 ; =0x00007080 - mov r0, #3 - mov r1, #0xf - bl sub_0201A91C - add r0, r6, #0 - add r1, r7, #0 - bl sub_02037C98 - ldr r0, _02037E14 ; =0x021D4150 - ldr r1, [r0] - add r1, #0x4f - strb r5, [r1] - ldr r0, [r0] - mov r1, #0 - str r4, [r0, #0x30] - ldr r0, _02037E18 ; =sub_02038294 - bl sub_020381C0 -_02037E0C: - pop {r3, r4, r5, r6, r7, pc} - nop -_02037E10: .word 0x00007080 -_02037E14: .word 0x021D4150 -_02037E18: .word sub_02038294 - thumb_func_end sub_02037DD4 - - thumb_func_start sub_02037E1C -sub_02037E1C: ; 0x02037E1C - ldr r1, _02037E2C ; =0x021D4150 - ldr r3, _02037E30 ; =sub_020381C0 - ldr r1, [r1] - add r1, #0x4d - strb r0, [r1] - ldr r0, _02037E34 ; =sub_020382E4 - mov r1, #0 - bx r3 - .balign 4, 0 -_02037E2C: .word 0x021D4150 -_02037E30: .word sub_020381C0 -_02037E34: .word sub_020382E4 - thumb_func_end sub_02037E1C - - thumb_func_start sub_02037E38 -sub_02037E38: ; 0x02037E38 - push {r3, lr} - bl sub_02036274 - ldr r0, _02037E48 ; =sub_020383B0 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02037E48: .word sub_020383B0 - thumb_func_end sub_02037E38 - - thumb_func_start sub_02037E4C -sub_02037E4C: ; 0x02037E4C - push {r3, lr} - ldr r0, _02037E94 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x40] - cmp r0, #0 - ble _02037E5E - sub r0, r0, #1 - str r0, [r1, #0x40] - b _02037E64 -_02037E5E: - bne _02037E64 - bl sub_020399EC -_02037E64: - ldr r0, _02037E94 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _02037E72 - sub r0, r0, #1 - str r0, [r1, #0x44] -_02037E72: - bl sub_02034FE8 - cmp r0, #0 - beq _02037E90 - ldr r0, _02037E94 ; =0x021D4150 - ldr r0, [r0] - ldr r0, [r0, #0x44] - cmp r0, #0 - bne _02037E90 - bl sub_02036024 - ldr r0, _02037E98 ; =sub_02038408 - mov r1, #0 - bl sub_020381C0 -_02037E90: - pop {r3, pc} - nop -_02037E94: .word 0x021D4150 -_02037E98: .word sub_02038408 - thumb_func_end sub_02037E4C - - thumb_func_start sub_02037E9C -sub_02037E9C: ; 0x02037E9C - push {r3, lr} - ldr r0, _02037EB4 ; =0x021D4150 - ldr r1, [r0] - cmp r1, #0 - beq _02037EB2 - ldr r0, _02037EB8 ; =0x00000708 - str r0, [r1, #0x40] - ldr r0, _02037EBC ; =sub_02037E4C - mov r1, #5 - bl sub_020381C0 -_02037EB2: - pop {r3, pc} - .balign 4, 0 -_02037EB4: .word 0x021D4150 -_02037EB8: .word 0x00000708 -_02037EBC: .word sub_02037E4C - thumb_func_end sub_02037E9C - - thumb_func_start sub_02037EC0 -sub_02037EC0: ; 0x02037EC0 - ldr r3, _02037EC4 ; =sub_02033A0C - bx r3 - .balign 4, 0 -_02037EC4: .word sub_02033A0C - thumb_func_end sub_02037EC0 - - thumb_func_start sub_02037EC8 -sub_02037EC8: ; 0x02037EC8 - push {r4} - sub sp, #0xc - ldr r4, _02037F10 ; =0x020F6A90 - add r3, sp, #0 - ldmia r4!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldr r0, [r4] - str r0, [r3] - ldr r0, _02037F14 ; =0x021D4150 - ldr r0, [r0] - ldr r1, [r0, #0x24] - cmp r0, #0 - bne _02037EEC - add sp, #0xc - mov r0, #0 - pop {r4} - bx lr -_02037EEC: - ldr r0, [sp] - cmp r0, #0 - beq _02037F08 -_02037EF2: - ldr r0, [r2] - cmp r1, r0 - bne _02037F00 - add sp, #0xc - mov r0, #1 - pop {r4} - bx lr -_02037F00: - add r2, r2, #4 - ldr r0, [r2] - cmp r0, #0 - bne _02037EF2 -_02037F08: - mov r0, #0 - add sp, #0xc - pop {r4} - bx lr - .balign 4, 0 -_02037F10: .word 0x020F6A90 -_02037F14: .word 0x021D4150 - thumb_func_end sub_02037EC8 - - thumb_func_start sub_02037F18 -sub_02037F18: ; 0x02037F18 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02037F58 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _02037F56 - ldr r2, _02037F5C ; =0x00007080 - mov r0, #3 - mov r1, #0xf - bl sub_0201A91C - cmp r0, #0 - bne _02037F36 - bl sub_020399EC -_02037F36: - add r0, r4, #0 - mov r1, #9 - bl sub_02037C98 - ldr r0, _02037F58 ; =0x021D4150 - mov r2, #9 - ldr r1, [r0] - add r1, #0x4e - strb r2, [r1] - ldr r0, [r0] - mov r1, #0 - add r0, #0x4f - strb r1, [r0] - ldr r0, _02037F60 ; =sub_020384B4 - bl sub_020381C0 -_02037F56: - pop {r4, pc} - .balign 4, 0 -_02037F58: .word 0x021D4150 -_02037F5C: .word 0x00007080 -_02037F60: .word sub_020384B4 - thumb_func_end sub_02037F18 - - thumb_func_start sub_02037F64 -sub_02037F64: ; 0x02037F64 - push {r3, lr} - ldr r1, _02037F8C ; =0x021D4150 - ldr r2, [r1] - add r2, #0x4d - strb r0, [r2] - ldr r0, [r1] - mov r2, #3 - add r0, #0x48 - strh r2, [r0] - mov r0, #1 - bl sub_02033AA4 - bl sub_0203A880 - ldr r0, _02037F90 ; =sub_02038668 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - nop -_02037F8C: .word 0x021D4150 -_02037F90: .word sub_02038668 - thumb_func_end sub_02037F64 - - thumb_func_start sub_02037F94 -sub_02037F94: ; 0x02037F94 - ldr r0, _02037FC0 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _02037FA2 - mov r0, #0 - mvn r0, r0 - bx lr -_02037FA2: - ldr r1, [r0, #0x24] - ldr r0, _02037FC4 ; =sub_020387E8 - cmp r1, r0 - bne _02037FAE - mov r0, #1 - bx lr -_02037FAE: - ldr r0, _02037FC8 ; =sub_02038800 - cmp r1, r0 - bne _02037FB8 - mov r0, #1 - b _02037FBA -_02037FB8: - mov r0, #0 -_02037FBA: - neg r0, r0 - bx lr - nop -_02037FC0: .word 0x021D4150 -_02037FC4: .word sub_020387E8 -_02037FC8: .word sub_02038800 - thumb_func_end sub_02037F94 - - thumb_func_start sub_02037FCC -sub_02037FCC: ; 0x02037FCC - ldr r0, _02037FE8 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _02037FD8 - mov r0, #0 - bx lr -_02037FD8: - ldr r1, [r0, #0x24] - ldr r0, _02037FEC ; =sub_02038854 - cmp r1, r0 - bne _02037FE4 - mov r0, #1 - bx lr -_02037FE4: - mov r0, #0 - bx lr - .balign 4, 0 -_02037FE8: .word 0x021D4150 -_02037FEC: .word sub_02038854 - thumb_func_end sub_02037FCC - - thumb_func_start sub_02037FF0 -sub_02037FF0: ; 0x02037FF0 - push {r3, lr} - mov r0, #0 - bl sub_02033AA4 - ldr r0, _02038064 ; =0x021D4150 - ldr r1, [r0] - add r0, r1, #0 - add r0, #0x53 - ldrb r0, [r0] - cmp r0, #1 - bne _02038018 - add r0, r1, #0 - add r0, #0x54 - ldrb r0, [r0] - cmp r0, #1 - bne _02038018 - add r1, #0x4e - ldrb r0, [r1] - cmp r0, #9 - bne _02038020 -_02038018: - mov r0, #0 - add r1, r0, #0 - bl sub_020398D4 -_02038020: - bl sub_0203A914 - ldr r0, _02038064 ; =0x021D4150 - mov r2, #9 - ldr r1, [r0] - add r1, #0x4e - strb r2, [r1] - ldr r1, [r0] - mov r2, #0 - add r1, #0x57 - strb r2, [r1] - ldr r0, [r0] - add r0, #0x4a - ldrb r0, [r0] - bl sub_02033908 - bl sub_0203769C - cmp r0, #0 - bne _02038058 - mov r0, #1 - bl sub_02033ACC - ldr r0, _02038068 ; =sub_02038418 - mov r1, #0xf - bl sub_020381C0 - pop {r3, pc} -_02038058: - ldr r0, _0203806C ; =sub_02038460 - mov r1, #5 - bl sub_020381C0 - pop {r3, pc} - nop -_02038064: .word 0x021D4150 -_02038068: .word sub_02038418 -_0203806C: .word sub_02038460 - thumb_func_end sub_02037FF0 - - thumb_func_start sub_02038070 -sub_02038070: ; 0x02038070 - ldr r0, _0203808C ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _0203807C - mov r0, #1 - bx lr -_0203807C: - ldr r1, [r0, #0x24] - ldr r0, _02038090 ; =sub_02038538 - cmp r1, r0 - beq _02038088 - mov r0, #1 - bx lr -_02038088: - mov r0, #0 - bx lr - .balign 4, 0 -_0203808C: .word 0x021D4150 -_02038090: .word sub_02038538 - thumb_func_end sub_02038070 - - thumb_func_start sub_02038094 -sub_02038094: ; 0x02038094 - push {r3, lr} - ldr r0, _020380A8 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _020380A6 - ldr r0, _020380AC ; =sub_0203847C - mov r1, #5 - bl sub_020381C0 -_020380A6: - pop {r3, pc} - .balign 4, 0 -_020380A8: .word 0x021D4150 -_020380AC: .word sub_0203847C - thumb_func_end sub_02038094 - - thumb_func_start sub_020380B0 -sub_020380B0: ; 0x020380B0 - push {r3, lr} - ldr r0, _020380C8 ; =0x021D4150 - ldr r1, [r0] - cmp r1, #0 - beq _020380C4 - mov r0, #1 - add r1, #0x57 - strb r0, [r1] - bl sub_02033AA4 -_020380C4: - pop {r3, pc} - nop -_020380C8: .word 0x021D4150 - thumb_func_end sub_020380B0 - - thumb_func_start sub_020380CC -sub_020380CC: ; 0x020380CC - push {r3, lr} - ldr r0, _020380EC ; =0x021D4150 - ldr r1, [r0] - cmp r1, #0 - beq _020380E8 - mov r0, #1 - add r1, #0x57 - strb r0, [r1] - bl sub_02033AA4 - ldr r0, _020380F0 ; =sub_020388A8 - mov r1, #0 - bl sub_020381C0 -_020380E8: - pop {r3, pc} - nop -_020380EC: .word 0x021D4150 -_020380F0: .word sub_020388A8 - thumb_func_end sub_020380CC - - thumb_func_start sub_020380F4 -sub_020380F4: ; 0x020380F4 - ldr r0, _02038100 ; =0x021D4150 - mov r1, #0x12 - ldr r0, [r0] - add r0, #0x4e - strb r1, [r0] - bx lr - .balign 4, 0 -_02038100: .word 0x021D4150 - thumb_func_end sub_020380F4 - - thumb_func_start sub_02038104 -sub_02038104: ; 0x02038104 - ldr r0, _02038110 ; =0x021D4150 - mov r1, #9 - ldr r0, [r0] - add r0, #0x4e - strb r1, [r0] - bx lr - .balign 4, 0 -_02038110: .word 0x021D4150 - thumb_func_end sub_02038104 - - thumb_func_start sub_02038114 -sub_02038114: ; 0x02038114 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_02037474 - cmp r0, #0 - bne _0203813C - ldr r2, _02038140 ; =0x00007080 - mov r0, #3 - mov r1, #0xf - bl sub_0201A91C - add r0, r5, #0 - add r1, r4, #0 - bl sub_02037C98 - ldr r0, _02038144 ; =sub_02038E00 - mov r1, #0 - bl sub_020381C0 -_0203813C: - pop {r3, r4, r5, pc} - nop -_02038140: .word 0x00007080 -_02038144: .word sub_02038E00 - thumb_func_end sub_02038114 - - thumb_func_start sub_02038148 -sub_02038148: ; 0x02038148 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_02037474 - cmp r0, #0 - bne _02038170 - ldr r2, _02038174 ; =0x00007080 - mov r0, #3 - mov r1, #0xf - bl sub_0201A91C - add r0, r5, #0 - add r1, r4, #0 - bl sub_02037C98 - ldr r0, _02038178 ; =sub_02038E48 - mov r1, #0 - bl sub_020381C0 -_02038170: - pop {r3, r4, r5, pc} - nop -_02038174: .word 0x00007080 -_02038178: .word sub_02038E48 - thumb_func_end sub_02038148 - - thumb_func_start sub_0203817C -sub_0203817C: ; 0x0203817C - push {r3, lr} - ldr r0, _020381BC ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _0203818E - ldr r0, [r0, #0x24] - cmp r0, #0 - beq _0203818E - blx r0 -_0203818E: - bl sub_02039998 - cmp r0, #0 - beq _020381A4 - bl ov00_021EC9D4 - mov r1, #3 - sub r0, r1, r0 - bl sub_0203A930 - pop {r3, pc} -_020381A4: - bl sub_02035650 - cmp r0, #0 - beq _020381B8 - bl sub_020DEF44 - mov r1, #3 - sub r0, r1, r0 - bl sub_0203A930 -_020381B8: - pop {r3, pc} - nop -_020381BC: .word 0x021D4150 - thumb_func_end sub_0203817C - - thumb_func_start sub_020381C0 -sub_020381C0: ; 0x020381C0 - ldr r2, _020381CC ; =0x021D4150 - ldr r3, [r2] - str r0, [r3, #0x24] - ldr r0, [r2] - str r1, [r0, #0x44] - bx lr - .balign 4, 0 -_020381CC: .word 0x021D4150 - thumb_func_end sub_020381C0 - - thumb_func_start sub_020381D0 -sub_020381D0: ; 0x020381D0 - push {r3, lr} - bl sub_02039998 - cmp r0, #0 - bne _020381EC - bl sub_02035664 - cmp r0, #0 - beq _020381F4 - bl sub_020374E4 - mov r0, #1 - bl sub_020350A8 -_020381EC: - ldr r0, _020381F8 ; =sub_02038404 - mov r1, #0 - bl sub_020381C0 -_020381F4: - pop {r3, pc} - nop -_020381F8: .word sub_02038404 - thumb_func_end sub_020381D0 - - thumb_func_start sub_020381FC -sub_020381FC: ; 0x020381FC - push {r3, lr} - bl sub_02034FE8 - cmp r0, #0 - beq _02038212 - bl sub_0203622C - ldr r0, _02038214 ; =sub_020381D0 - mov r1, #0 - bl sub_020381C0 -_02038212: - pop {r3, pc} - .balign 4, 0 -_02038214: .word sub_020381D0 - thumb_func_end sub_020381FC - - thumb_func_start sub_02038218 -sub_02038218: ; 0x02038218 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _02038256 - ldr r0, _02038258 ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - ldr r0, [r0, #0x2c] - bl sub_02034B0C - ldr r0, _02038258 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x28] - ldr r1, [r1, #0x30] - bl sub_02034354 - mov r0, #1 - add r1, r0, #0 - lsl r2, r0, #9 - add r3, r0, #0 - bl sub_02035ED8 - cmp r0, #0 - beq _02038256 - bl sub_02035FD8 - ldr r0, _0203825C ; =sub_02038260 - mov r1, #0 - bl sub_020381C0 -_02038256: - pop {r3, pc} - .balign 4, 0 -_02038258: .word 0x021D4150 -_0203825C: .word sub_02038260 - thumb_func_end sub_02038218 - - thumb_func_start sub_02038260 -sub_02038260: ; 0x02038260 - push {r3, lr} - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - beq _02038276 - ldr r0, _02038278 ; =sub_0203827C - mov r1, #0 - bl sub_020381C0 -_02038276: - pop {r3, pc} - .balign 4, 0 -_02038278: .word sub_0203827C - thumb_func_end sub_02038260 - - thumb_func_start sub_0203827C -sub_0203827C: ; 0x0203827C - push {r3, lr} - bl sub_02037474 - cmp r0, #0 - bne _0203828E - ldr r0, _02038290 ; =sub_02038408 - mov r1, #0 - bl sub_020381C0 -_0203828E: - pop {r3, pc} - .balign 4, 0 -_02038290: .word sub_02038408 - thumb_func_end sub_0203827C - - thumb_func_start sub_02038294 -sub_02038294: ; 0x02038294 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _020382D0 - ldr r0, _020382D4 ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - ldr r0, [r0, #0x2c] - bl sub_02034B0C - ldr r0, _020382D4 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x28] - ldr r1, [r1, #0x30] - bl sub_02034354 - mov r0, #1 - add r1, r0, #0 - lsl r2, r0, #9 - bl sub_02035F14 - cmp r0, #0 - beq _020382D0 - bl sub_02035FD8 - ldr r0, _020382D8 ; =sub_020382DC - mov r1, #0 - bl sub_020381C0 -_020382D0: - pop {r3, pc} - nop -_020382D4: .word 0x021D4150 -_020382D8: .word sub_020382DC - thumb_func_end sub_02038294 - - thumb_func_start sub_020382DC -sub_020382DC: ; 0x020382DC - ldr r3, _020382E0 ; =sub_0203528C - bx r3 - .balign 4, 0 -_020382E0: .word sub_0203528C - thumb_func_end sub_020382DC - - thumb_func_start sub_020382E4 -sub_020382E4: ; 0x020382E4 - push {r3, lr} - bl sub_0203528C - ldr r0, _02038304 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4d - ldrb r0, [r0] - bl sub_020360E4 - cmp r0, #0 - beq _02038302 - ldr r0, _02038308 ; =sub_0203830C - mov r1, #0xa - bl sub_020381C0 -_02038302: - pop {r3, pc} - .balign 4, 0 -_02038304: .word 0x021D4150 -_02038308: .word sub_0203830C - thumb_func_end sub_020382E4 - - thumb_func_start sub_0203830C -sub_0203830C: ; 0x0203830C - push {r3, lr} - bl sub_02037700 - cmp r0, #0 - beq _0203831E - ldr r0, _0203833C ; =sub_02038344 - mov r1, #0 - bl sub_020381C0 -_0203831E: - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - beq _0203833A - bl sub_0203769C - cmp r0, #0 - beq _0203833A - ldr r0, _02038340 ; =sub_02038398 - mov r1, #0 - bl sub_020381C0 -_0203833A: - pop {r3, pc} - .balign 4, 0 -_0203833C: .word sub_02038344 -_02038340: .word sub_02038398 - thumb_func_end sub_0203830C - - thumb_func_start sub_02038344 -sub_02038344: ; 0x02038344 - push {r3, lr} - bl sub_02034FE8 - ldr r0, _02038354 ; =sub_02038358 - mov r1, #2 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02038354: .word sub_02038358 - thumb_func_end sub_02038344 - - thumb_func_start sub_02038358 -sub_02038358: ; 0x02038358 - push {r3, lr} - ldr r0, _02038390 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _0203836A - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_0203836A: - bl sub_02035664 - cmp r0, #0 - beq _0203838C - mov r1, #1 - mov r0, #0 - lsl r2, r1, #9 - bl sub_02035F14 - cmp r0, #0 - beq _0203838C - bl sub_02035FD8 - ldr r0, _02038394 ; =sub_020382E4 - mov r1, #0xa - bl sub_020381C0 -_0203838C: - pop {r3, pc} - nop -_02038390: .word 0x021D4150 -_02038394: .word sub_020382E4 - thumb_func_end sub_02038358 - - thumb_func_start sub_02038398 -sub_02038398: ; 0x02038398 - push {r3, lr} - bl sub_02037474 - cmp r0, #0 - bne _020383AA - ldr r0, _020383AC ; =sub_02038408 - mov r1, #0 - bl sub_020381C0 -_020383AA: - pop {r3, pc} - .balign 4, 0 -_020383AC: .word sub_02038408 - thumb_func_end sub_02038398 - - thumb_func_start sub_020383B0 -sub_020383B0: ; 0x020383B0 - push {r3, lr} - bl sub_02034FE8 - ldr r0, _020383C0 ; =sub_020383C4 - mov r1, #2 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_020383C0: .word sub_020383C4 - thumb_func_end sub_020383B0 - - thumb_func_start sub_020383C4 -sub_020383C4: ; 0x020383C4 - push {r3, lr} - ldr r0, _020383FC ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _020383D6 - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_020383D6: - bl sub_02035664 - cmp r0, #0 - beq _020383F8 - mov r1, #1 - mov r0, #0 - lsl r2, r1, #9 - bl sub_02035F14 - cmp r0, #0 - beq _020383F8 - bl sub_02035FD8 - ldr r0, _02038400 ; =sub_020382DC - mov r1, #0xa - bl sub_020381C0 -_020383F8: - pop {r3, pc} - nop -_020383FC: .word 0x021D4150 -_02038400: .word sub_020382DC - thumb_func_end sub_020383C4 - - thumb_func_start sub_02038404 -sub_02038404: ; 0x02038404 - bx lr - .balign 4, 0 - thumb_func_end sub_02038404 - - thumb_func_start sub_02038408 -sub_02038408: ; 0x02038408 - push {r3, lr} - bl sub_02037474 - cmp r0, #0 - bne _02038416 - bl sub_02037D2C -_02038416: - pop {r3, pc} - thumb_func_end sub_02038408 - - thumb_func_start sub_02038418 -sub_02038418: ; 0x02038418 - push {r3, lr} - bl sub_02037454 - cmp r0, #1 - bgt _02038434 - mov r0, #0 - bl sub_02033ACC - bl sub_0203624C - ldr r0, _02038458 ; =sub_02038538 - mov r1, #0 - bl sub_020381C0 -_02038434: - ldr r0, _0203845C ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _02038444 - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_02038444: - mov r0, #0 - bl sub_02033ACC - bl sub_0203624C - ldr r0, _02038458 ; =sub_02038538 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02038458: .word sub_02038538 -_0203845C: .word 0x021D4150 - thumb_func_end sub_02038418 - - thumb_func_start sub_02038460 -sub_02038460: ; 0x02038460 - push {r3, lr} - bl sub_02034FE8 - cmp r0, #0 - beq _02038476 - bl sub_0203622C - ldr r0, _02038478 ; =sub_02038538 - mov r1, #0 - bl sub_020381C0 -_02038476: - pop {r3, pc} - .balign 4, 0 -_02038478: .word sub_02038538 - thumb_func_end sub_02038460 - - thumb_func_start sub_0203847C -sub_0203847C: ; 0x0203847C - push {r3, lr} - ldr r0, _020384AC ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _0203848C - sub r0, r0, #1 - str r0, [r1, #0x44] -_0203848C: - bl sub_02034FE8 - cmp r0, #0 - beq _020384AA - ldr r0, _020384AC ; =0x021D4150 - ldr r0, [r0] - ldr r0, [r0, #0x44] - cmp r0, #0 - bne _020384AA - bl sub_02036024 - ldr r0, _020384B0 ; =sub_02038408 - mov r1, #0 - bl sub_020381C0 -_020384AA: - pop {r3, pc} - .balign 4, 0 -_020384AC: .word 0x021D4150 -_020384B0: .word sub_02038408 - thumb_func_end sub_0203847C - - thumb_func_start sub_020384B4 -sub_020384B4: ; 0x020384B4 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _020384FC - ldr r0, _02038500 ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - ldr r0, [r0, #0x2c] - bl sub_02034B0C - ldr r0, _02038500 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4a - ldrb r0, [r0] - bl sub_02033908 - ldr r0, _02038500 ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - ldr r0, [r0, #0x28] - bl sub_02034354 - mov r0, #1 - add r1, r0, #0 - lsl r2, r0, #9 - bl sub_02035F14 - cmp r0, #0 - beq _020384FC - bl sub_02035FD8 - ldr r0, _02038504 ; =sub_02038508 - mov r1, #0x40 - bl sub_020381C0 -_020384FC: - pop {r3, pc} - nop -_02038500: .word 0x021D4150 -_02038504: .word sub_02038508 - thumb_func_end sub_020384B4 - - thumb_func_start sub_02038508 -sub_02038508: ; 0x02038508 - push {r3, lr} - bl sub_0203528C - ldr r0, _02038530 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _0203851E - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_0203851E: - bl sub_02034FE8 - cmp r0, #0 - beq _0203852E - ldr r0, _02038534 ; =sub_02038550 - mov r1, #0 - bl sub_020381C0 -_0203852E: - pop {r3, pc} - .balign 4, 0 -_02038530: .word 0x021D4150 -_02038534: .word sub_02038550 - thumb_func_end sub_02038508 - - thumb_func_start sub_02038538 -sub_02038538: ; 0x02038538 - push {r3, lr} - bl sub_02034FE8 - cmp r0, #0 - beq _0203854A - ldr r0, _0203854C ; =sub_02038550 - mov r1, #0 - bl sub_020381C0 -_0203854A: - pop {r3, pc} - .balign 4, 0 -_0203854C: .word sub_02038550 - thumb_func_end sub_02038538 - - thumb_func_start sub_02038550 -sub_02038550: ; 0x02038550 - push {r3, r4, r5, lr} - bl sub_02035664 - cmp r0, #0 - beq _020385A8 - ldr r1, _020385AC ; =0x021D4150 - mov r2, #2 - ldr r1, [r1] - mov r0, #0 - add r1, #0x52 - ldrb r1, [r1] - lsl r2, r2, #8 - mov r3, #1 - bl sub_02035ED8 - cmp r0, #0 - beq _020385A8 - ldr r0, _020385AC ; =0x021D4150 - ldr r4, [r0] - add r5, r4, #0 - add r5, #0xc - ldr r0, [r5, #8] - ldr r1, [r5, #0xc] - ldr r2, [r4, #0xc] - ldr r3, [r5, #4] - bl _ll_mul - ldr r2, [r5, #0x10] - ldr r3, [r5, #0x14] - add r0, r2, r0 - adc r3, r1 - str r0, [r4, #0xc] - str r3, [r5, #4] - bl sub_02035FD8 - ldr r0, _020385AC ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - add r0, #0x52 - strb r1, [r0] - ldr r0, _020385B0 ; =sub_020385B8 - ldr r1, _020385B4 ; =0x00002710 - bl sub_020381C0 -_020385A8: - pop {r3, r4, r5, pc} - nop -_020385AC: .word 0x021D4150 -_020385B0: .word sub_020385B8 -_020385B4: .word 0x00002710 - thumb_func_end sub_02038550 - - thumb_func_start sub_020385B8 -sub_020385B8: ; 0x020385B8 - push {r3, lr} - bl sub_020358B0 - cmp r0, #0 - bne _020385F2 - bl sub_020376F8 - cmp r0, #0 - beq _020385E2 - ldr r0, _02038604 ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - add r0, #0x52 - strb r1, [r0] - bl sub_0203A880 - ldr r0, _02038608 ; =sub_02038854 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_020385E2: - ldr r0, _02038604 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _020385F2 - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_020385F2: - bl sub_02034FE8 - cmp r0, #0 - beq _02038602 - ldr r0, _0203860C ; =sub_02038610 - mov r1, #0 - bl sub_020381C0 -_02038602: - pop {r3, pc} - .balign 4, 0 -_02038604: .word 0x021D4150 -_02038608: .word sub_02038854 -_0203860C: .word sub_02038610 - thumb_func_end sub_020385B8 - - thumb_func_start sub_02038610 -sub_02038610: ; 0x02038610 - push {r3, r4, r5, lr} - bl sub_02035664 - cmp r0, #0 - beq _0203865C - mov r0, #0 - mov r2, #2 - add r1, r0, #0 - lsl r2, r2, #8 - bl sub_02035F14 - cmp r0, #0 - beq _0203865C - bl sub_02035FD8 - ldr r0, _02038660 ; =0x021D4150 - ldr r4, [r0] - add r5, r4, #0 - add r5, #0xc - ldr r0, [r5, #8] - ldr r1, [r5, #0xc] - ldr r2, [r4, #0xc] - ldr r3, [r5, #4] - bl _ll_mul - ldr r2, [r5, #0x10] - ldr r3, [r5, #0x14] - add r0, r2, r0 - adc r3, r1 - str r0, [r4, #0xc] - mov r1, #0 - ldr r0, _02038664 ; =sub_02038508 - lsr r2, r3, #0x1b - lsl r1, r1, #5 - orr r1, r2 - str r3, [r5, #4] - bl sub_020381C0 -_0203865C: - pop {r3, r4, r5, pc} - nop -_02038660: .word 0x021D4150 -_02038664: .word sub_02038508 - thumb_func_end sub_02038610 - - thumb_func_start sub_02038668 -sub_02038668: ; 0x02038668 - push {r3, lr} - bl sub_02034FE8 - cmp r0, #0 - beq _0203867A - ldr r0, _0203867C ; =sub_02038680 - mov r1, #0 - bl sub_020381C0 -_0203867A: - pop {r3, pc} - .balign 4, 0 -_0203867C: .word sub_02038680 - thumb_func_end sub_02038668 - - thumb_func_start sub_02038680 -sub_02038680: ; 0x02038680 - push {r3, lr} - bl sub_02035664 - cmp r0, #0 - beq _020386A6 - mov r0, #0 - mov r2, #2 - add r1, r0, #0 - lsl r2, r2, #8 - bl sub_02035F14 - cmp r0, #0 - beq _020386A6 - bl sub_02035FD8 - ldr r0, _020386A8 ; =sub_020386AC - mov r1, #0x64 - bl sub_020381C0 -_020386A6: - pop {r3, pc} - .balign 4, 0 -_020386A8: .word sub_020386AC - thumb_func_end sub_02038680 - - thumb_func_start sub_020386AC -sub_020386AC: ; 0x020386AC - push {r3, lr} - ldr r0, _02038704 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4d - ldrb r0, [r0] - bl sub_020351AC - cmp r0, #0 - beq _020386D8 - ldr r0, _02038704 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4d - ldrb r0, [r0] - bl sub_020360E4 - cmp r0, #0 - beq _020386D8 - ldr r0, _02038708 ; =sub_02038710 - mov r1, #0x64 - bl sub_020381C0 - pop {r3, pc} -_020386D8: - bl sub_02037700 - cmp r0, #0 - beq _020386EA - ldr r0, _0203870C ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_020386EA: - ldr r0, _02038704 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _020386FA - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_020386FA: - ldr r0, _0203870C ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02038704: .word 0x021D4150 -_02038708: .word sub_02038710 -_0203870C: .word sub_02038804 - thumb_func_end sub_020386AC - - thumb_func_start sub_02038710 -sub_02038710: ; 0x02038710 - push {r3, lr} - bl sub_02037700 - cmp r0, #0 - beq _02038724 - ldr r0, _02038760 ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038724: - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - beq _02038744 - ldr r0, _02038764 ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - add r0, #0x4c - strb r1, [r0] - ldr r0, _02038768 ; =sub_0203876C - mov r1, #0x78 - bl sub_020381C0 - pop {r3, pc} -_02038744: - ldr r0, _02038764 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _02038754 - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_02038754: - ldr r0, _02038760 ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - nop -_02038760: .word sub_02038804 -_02038764: .word 0x021D4150 -_02038768: .word sub_0203876C - thumb_func_end sub_02038710 - - thumb_func_start sub_0203876C -sub_0203876C: ; 0x0203876C - push {r3, lr} - bl sub_02037700 - cmp r0, #0 - beq _02038780 - ldr r0, _020387D4 ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038780: - ldr r0, _020387D8 ; =0x021D4150 - ldr r1, [r0] - add r0, r1, #0 - add r0, #0x4c - ldrb r0, [r0] - cmp r0, #2 - bne _02038798 - ldr r0, _020387DC ; =sub_02038800 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038798: - cmp r0, #1 - bne _020387AA - bl sub_02034434 - ldr r0, _020387E0 ; =sub_020387E8 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_020387AA: - ldr r0, [r1, #0x44] - cmp r0, #0x6e - ble _020387B8 - ldr r1, _020387E4 ; =0x0210F90C - mov r0, #6 - bl sub_020376E0 -_020387B8: - ldr r0, _020387D8 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - beq _020387C8 - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_020387C8: - ldr r0, _020387D4 ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - nop -_020387D4: .word sub_02038804 -_020387D8: .word 0x021D4150 -_020387DC: .word sub_02038800 -_020387E0: .word sub_020387E8 -_020387E4: .word 0x0210F90C - thumb_func_end sub_0203876C - - thumb_func_start sub_020387E8 -sub_020387E8: ; 0x020387E8 - push {r3, lr} - bl sub_02037700 - cmp r0, #0 - beq _020387FA - ldr r0, _020387FC ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 -_020387FA: - pop {r3, pc} - .balign 4, 0 -_020387FC: .word sub_02038804 - thumb_func_end sub_020387E8 - - thumb_func_start sub_02038800 -sub_02038800: ; 0x02038800 - bx lr - .balign 4, 0 - thumb_func_end sub_02038800 - - thumb_func_start sub_02038804 -sub_02038804: ; 0x02038804 - push {r3, lr} - ldr r0, _02038848 ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - add r0, #0x4c - strb r1, [r0] - bl sub_02034FE8 - cmp r0, #0 - beq _02038844 - ldr r0, _02038848 ; =0x021D4150 - ldr r1, [r0] - add r0, r1, #0 - add r0, #0x48 - ldrh r0, [r0] - cmp r0, #0 - beq _0203883C - add r0, r1, #0 - add r0, #0x48 - ldrh r0, [r0] - add r1, #0x48 - sub r0, r0, #1 - strh r0, [r1] - ldr r0, _0203884C ; =sub_02038680 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_0203883C: - ldr r0, _02038850 ; =sub_02038800 - mov r1, #0 - bl sub_020381C0 -_02038844: - pop {r3, pc} - nop -_02038848: .word 0x021D4150 -_0203884C: .word sub_02038680 -_02038850: .word sub_02038800 - thumb_func_end sub_02038804 - - thumb_func_start sub_02038854 -sub_02038854: ; 0x02038854 - push {r3, lr} - bl sub_020376F8 - cmp r0, #0 - bne _02038878 - bl sub_02039918 - cmp r0, #0 - bne _02038884 - bl sub_02034FE8 - cmp r0, #0 - beq _02038884 - ldr r0, _020388A0 ; =sub_02038610 - mov r1, #0 - bl sub_020381C0 - b _02038884 -_02038878: - bl sub_0203769C - cmp r0, #0 - bne _02038884 - bl sub_02034638 -_02038884: - bl sub_02037700 - cmp r0, #0 - beq _0203889C - bl sub_02039918 - cmp r0, #0 - bne _0203889C - ldr r0, _020388A4 ; =sub_02038804 - mov r1, #0 - bl sub_020381C0 -_0203889C: - pop {r3, pc} - nop -_020388A0: .word sub_02038610 -_020388A4: .word sub_02038804 - thumb_func_end sub_02038854 - - thumb_func_start sub_020388A8 -sub_020388A8: ; 0x020388A8 - push {r3, lr} - bl sub_02035664 - cmp r0, #0 - beq _020388D6 - ldr r1, _020388D8 ; =0x021D4150 - mov r0, #0 - ldr r1, [r1] - mov r2, #2 - add r1, #0x52 - ldrb r1, [r1] - lsl r2, r2, #8 - add r3, r0, #0 - bl sub_02035ED8 - cmp r0, #0 - beq _020388D6 - bl sub_02035FD8 - ldr r0, _020388DC ; =sub_02038404 - mov r1, #0 - bl sub_020381C0 -_020388D6: - pop {r3, pc} - .balign 4, 0 -_020388D8: .word 0x021D4150 -_020388DC: .word sub_02038404 - thumb_func_end sub_020388A8 - - thumb_func_start sub_020388E0 -sub_020388E0: ; 0x020388E0 - push {r3, lr} - ldr r0, _02038914 ; =0x021D4150 - mov r1, #0xd - ldr r0, [r0] - add r0, #0x4e - strb r1, [r0] - bl sub_0203769C - cmp r0, #0 - add r0, sp, #0 - bne _02038906 - mov r1, #0 - strb r1, [r0, #1] - add r1, sp, #0 - mov r0, #0xa - add r1, #1 - bl sub_020376E0 - pop {r3, pc} -_02038906: - mov r1, #0 - strb r1, [r0] - mov r0, #0xa - add r1, sp, #0 - bl sub_020376E0 - pop {r3, pc} - .balign 4, 0 -_02038914: .word 0x021D4150 - thumb_func_end sub_020388E0 - - thumb_func_start sub_02038918 -sub_02038918: ; 0x02038918 - ldr r1, _02038930 ; =0x021D4150 - ldr r3, _02038934 ; =sub_020381C0 - ldr r2, [r1] - add r2, #0x4d - strb r0, [r2] - ldr r0, [r1] - mov r2, #3 - add r0, #0x48 - strh r2, [r0] - ldr r0, _02038938 ; =sub_020389BC - mov r1, #0 - bx r3 - .balign 4, 0 -_02038930: .word 0x021D4150 -_02038934: .word sub_020381C0 -_02038938: .word sub_020389BC - thumb_func_end sub_02038918 - - thumb_func_start sub_0203893C -sub_0203893C: ; 0x0203893C - ldr r0, _02038948 ; =0x021D4150 - mov r1, #7 - ldr r0, [r0] - add r0, #0x4e - strb r1, [r0] - bx lr - .balign 4, 0 -_02038948: .word 0x021D4150 - thumb_func_end sub_0203893C - - thumb_func_start sub_0203894C -sub_0203894C: ; 0x0203894C - push {r3, lr} - ldr r1, _02038974 ; =0x021D4150 - ldr r2, [r1] - add r2, #0x4d - strb r0, [r2] - ldr r0, [r1] - mov r2, #7 - add r0, #0x4e - strb r2, [r0] - ldr r0, [r1] - mov r2, #3 - add r0, #0x48 - strh r2, [r0] - bl sub_0203A880 - ldr r0, _02038978 ; =sub_02038668 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02038974: .word 0x021D4150 -_02038978: .word sub_02038668 - thumb_func_end sub_0203894C - - thumb_func_start sub_0203897C -sub_0203897C: ; 0x0203897C - ldr r0, _02038988 ; =0x021D4150 - mov r1, #0x1a - ldr r0, [r0] - add r0, #0x4e - strb r1, [r0] - bx lr - .balign 4, 0 -_02038988: .word 0x021D4150 - thumb_func_end sub_0203897C - - thumb_func_start sub_0203898C -sub_0203898C: ; 0x0203898C - push {r3, lr} - ldr r1, _020389B4 ; =0x021D4150 - ldr r2, [r1] - add r2, #0x4d - strb r0, [r2] - ldr r0, [r1] - mov r2, #0x1a - add r0, #0x4e - strb r2, [r0] - ldr r0, [r1] - mov r2, #3 - add r0, #0x48 - strh r2, [r0] - bl sub_0203A880 - ldr r0, _020389B8 ; =sub_02038668 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_020389B4: .word 0x021D4150 -_020389B8: .word sub_02038668 - thumb_func_end sub_0203898C - - thumb_func_start sub_020389BC -sub_020389BC: ; 0x020389BC - push {r3, lr} - bl sub_02034FE8 - cmp r0, #0 - beq _020389CE - ldr r0, _020389D0 ; =sub_020389D4 - mov r1, #0 - bl sub_020381C0 -_020389CE: - pop {r3, pc} - .balign 4, 0 -_020389D0: .word sub_020389D4 - thumb_func_end sub_020389BC - - thumb_func_start sub_020389D4 -sub_020389D4: ; 0x020389D4 - push {r3, lr} - bl sub_02035664 - cmp r0, #0 - beq _02038A04 - ldr r0, _02038A08 ; =0x021D4150 - mov r2, #2 - ldr r0, [r0] - mov r1, #0xd - add r0, #0x4e - strb r1, [r0] - mov r0, #0 - add r1, r0, #0 - lsl r2, r2, #8 - bl sub_02035F14 - cmp r0, #0 - beq _02038A04 - bl sub_02035FE4 - ldr r0, _02038A0C ; =sub_02038A10 - mov r1, #0x64 - bl sub_020381C0 -_02038A04: - pop {r3, pc} - nop -_02038A08: .word 0x021D4150 -_02038A0C: .word sub_02038A10 - thumb_func_end sub_020389D4 - - thumb_func_start sub_02038A10 -sub_02038A10: ; 0x02038A10 - push {r3, lr} - ldr r0, _02038A84 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4d - ldrb r0, [r0] - bl sub_020351AC - cmp r0, #0 - beq _02038A3C - ldr r0, _02038A84 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4d - ldrb r0, [r0] - bl sub_020360E4 - cmp r0, #0 - beq _02038A3C - ldr r0, _02038A88 ; =sub_02038A94 - mov r1, #0x64 - bl sub_020381C0 - pop {r3, pc} -_02038A3C: - bl sub_02037700 - cmp r0, #0 - bne _02038A4E - ldr r0, _02038A84 ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0 - bne _02038A7C -_02038A4E: - ldr r1, _02038A84 ; =0x021D4150 - ldr r2, [r1] - add r0, r2, #0 - add r0, #0x48 - ldrh r0, [r0] - add r2, #0x48 - sub r0, r0, #1 - strh r0, [r2] - ldr r0, [r1] - add r0, #0x48 - ldrh r0, [r0] - cmp r0, #0 - bne _02038A72 - ldr r0, _02038A8C ; =sub_02038800 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038A72: - ldr r0, _02038A90 ; =sub_020389BC - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038A7C: - beq _02038A82 - sub r0, r0, #1 - str r0, [r1, #0x44] -_02038A82: - pop {r3, pc} - .balign 4, 0 -_02038A84: .word 0x021D4150 -_02038A88: .word sub_02038A94 -_02038A8C: .word sub_02038800 -_02038A90: .word sub_020389BC - thumb_func_end sub_02038A10 - - thumb_func_start sub_02038A94 -sub_02038A94: ; 0x02038A94 - push {r3, lr} - ldr r0, _02038B2C ; =0x021D4150 - ldr r1, [r0] - ldr r0, [r1, #0x44] - cmp r0, #0x5a - ble _02038AA6 - sub r0, r0, #1 - str r0, [r1, #0x44] - pop {r3, pc} -_02038AA6: - bl sub_02037700 - cmp r0, #0 - beq _02038ADC - ldr r1, _02038B2C ; =0x021D4150 - ldr r2, [r1] - add r0, r2, #0 - add r0, #0x48 - ldrh r0, [r0] - add r2, #0x48 - sub r0, r0, #1 - strh r0, [r2] - ldr r0, [r1] - add r0, #0x48 - ldrh r0, [r0] - cmp r0, #0 - bne _02038AD2 - ldr r0, _02038B30 ; =sub_02038800 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038AD2: - ldr r0, _02038B34 ; =sub_020389BC - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038ADC: - bl sub_0203769C - bl sub_020373B4 - cmp r0, #0 - beq _02038AF2 - ldr r0, _02038B38 ; =sub_020387E8 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038AF2: - ldr r1, _02038B2C ; =0x021D4150 - ldr r2, [r1] - ldr r0, [r2, #0x44] - cmp r0, #0 - beq _02038B02 - sub r0, r0, #1 - str r0, [r2, #0x44] - pop {r3, pc} -_02038B02: - add r0, r2, #0 - add r0, #0x48 - ldrh r0, [r0] - add r2, #0x48 - sub r0, r0, #1 - strh r0, [r2] - ldr r0, [r1] - add r0, #0x48 - ldrh r0, [r0] - cmp r0, #0 - bne _02038B22 - ldr r0, _02038B30 ; =sub_02038800 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038B22: - ldr r0, _02038B34 ; =sub_020389BC - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02038B2C: .word 0x021D4150 -_02038B30: .word sub_02038800 -_02038B34: .word sub_020389BC -_02038B38: .word sub_020387E8 - thumb_func_end sub_02038A94 - - thumb_func_start sub_02038B3C -sub_02038B3C: ; 0x02038B3C - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r2, #0 - bl sub_0203769C - cmp r0, #0 - bne _02038B8A - ldr r6, _02038B8C ; =0x0210F90C - mov r3, #1 - mov r2, #0 -_02038B50: - ldrb r1, [r6] - ldrb r0, [r4, r2] - cmp r1, r0 - beq _02038B5C - mov r3, #0 - b _02038B64 -_02038B5C: - add r2, r2, #1 - add r6, r6, #1 - cmp r2, #6 - blo _02038B50 -_02038B64: - cmp r3, #0 - beq _02038B80 - ldr r0, _02038B90 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x57 - ldrb r0, [r0] - cmp r0, #0 - bne _02038B80 - ldr r1, _02038B94 ; =0x0210F904 - mov r0, #7 - strb r5, [r1] - bl sub_02037184 - pop {r4, r5, r6, pc} -_02038B80: - ldr r1, _02038B98 ; =0x0210F914 - mov r0, #7 - strb r5, [r1] - bl sub_02037184 -_02038B8A: - pop {r4, r5, r6, pc} - .balign 4, 0 -_02038B8C: .word 0x0210F90C -_02038B90: .word 0x021D4150 -_02038B94: .word 0x0210F904 -_02038B98: .word 0x0210F914 - thumb_func_end sub_02038B3C - - thumb_func_start sub_02038B9C -sub_02038B9C: ; 0x02038B9C - push {r3, r4, r5, lr} - mov r4, #1 - ldr r5, _02038C0C ; =0x0210F905 - add r3, r4, #0 -_02038BA4: - ldrb r1, [r5] - ldrb r0, [r2, r3] - cmp r1, r0 - beq _02038BB0 - mov r4, #0 - b _02038BB8 -_02038BB0: - add r3, r3, #1 - add r5, r5, #1 - cmp r3, #6 - blo _02038BA4 -_02038BB8: - cmp r4, #0 - beq _02038BD2 - ldrb r4, [r2] - bl sub_0203769C - cmp r4, r0 - bne _02038C08 - ldr r0, _02038C10 ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - add r0, #0x4c - strb r1, [r0] - pop {r3, r4, r5, pc} -_02038BD2: - mov r4, #1 - ldr r3, _02038C14 ; =0x0210F915 - add r5, r4, #0 -_02038BD8: - ldrb r1, [r3] - ldrb r0, [r2, r5] - cmp r1, r0 - beq _02038BE4 - mov r4, #0 - b _02038BEC -_02038BE4: - add r5, r5, #1 - add r3, r3, #1 - cmp r5, #6 - blo _02038BD8 -_02038BEC: - cmp r4, #0 - beq _02038C08 - ldrb r4, [r2] - bl sub_0203769C - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r4, r0 - bne _02038C08 - ldr r0, _02038C10 ; =0x021D4150 - mov r1, #2 - ldr r0, [r0] - add r0, #0x4c - strb r1, [r0] -_02038C08: - pop {r3, r4, r5, pc} - nop -_02038C0C: .word 0x0210F905 -_02038C10: .word 0x021D4150 -_02038C14: .word 0x0210F915 - thumb_func_end sub_02038B9C - - thumb_func_start sub_02038C18 -sub_02038C18: ; 0x02038C18 - mov r0, #6 - bx lr - thumb_func_end sub_02038C18 - - thumb_func_start sub_02038C1C -sub_02038C1C: ; 0x02038C1C - push {r3, lr} - ldr r1, _02038C30 ; =0x021D4150 - ldr r1, [r1] - cmp r1, #0 - beq _02038C2E - add r1, #0x4a - strb r0, [r1] - bl sub_02033908 -_02038C2E: - pop {r3, pc} - .balign 4, 0 -_02038C30: .word 0x021D4150 - thumb_func_end sub_02038C1C - - thumb_func_start sub_02038C34 -sub_02038C34: ; 0x02038C34 - ldr r3, _02038C38 ; =sub_0203528C - bx r3 - .balign 4, 0 -_02038C38: .word sub_0203528C - thumb_func_end sub_02038C34 - - thumb_func_start sub_02038C3C -sub_02038C3C: ; 0x02038C3C - ldr r2, _02038CB4 ; =0x00400131 - cmp r0, r2 - bhi _02038C4C - bhs _02038C8A - ldr r2, _02038CB8 ; =0x00000333 - cmp r0, r2 - beq _02038C5E - bx lr -_02038C4C: - ldr r1, _02038CBC ; =0x00400286 - cmp r0, r1 - bhi _02038C56 - beq _02038C9E - bx lr -_02038C56: - add r1, #0x92 - cmp r0, r1 - beq _02038C76 - bx lr -_02038C5E: - cmp r1, #0xf - bne _02038CB0 - ldr r0, _02038CC0 ; =0x021D4150 - ldr r2, [r0] - add r0, r2, #0 - add r0, #0x58 - ldrb r1, [r0] - mov r0, #1 - add r2, #0x58 - orr r0, r1 - strb r0, [r2] - bx lr -_02038C76: - ldr r0, _02038CC0 ; =0x021D4150 - ldr r2, [r0] - add r0, r2, #0 - add r0, #0x58 - ldrb r1, [r0] - mov r0, #1 - add r2, #0x58 - orr r0, r1 - strb r0, [r2] - bx lr -_02038C8A: - ldr r0, _02038CC0 ; =0x021D4150 - ldr r2, [r0] - add r0, r2, #0 - add r0, #0x58 - ldrb r1, [r0] - mov r0, #2 - add r2, #0x58 - orr r0, r1 - strb r0, [r2] - bx lr -_02038C9E: - ldr r0, _02038CC0 ; =0x021D4150 - ldr r2, [r0] - add r0, r2, #0 - add r0, #0x58 - ldrb r1, [r0] - mov r0, #4 - add r2, #0x58 - orr r0, r1 - strb r0, [r2] -_02038CB0: - bx lr - nop -_02038CB4: .word 0x00400131 -_02038CB8: .word 0x00000333 -_02038CBC: .word 0x00400286 -_02038CC0: .word 0x021D4150 - thumb_func_end sub_02038C3C - - thumb_func_start sub_02038CC4 -sub_02038CC4: ; 0x02038CC4 - push {r3, lr} - mov r0, #1 - add r1, r0, #0 - mov r2, #0x20 - bl sub_02035F14 - cmp r0, #0 - beq _02038CE0 - bl sub_02035FD8 - ldr r0, _02038CE4 ; =sub_02038C34 - mov r1, #0 - bl sub_020381C0 -_02038CE0: - pop {r3, pc} - nop -_02038CE4: .word sub_02038C34 - thumb_func_end sub_02038CC4 - - thumb_func_start sub_02038CE8 -sub_02038CE8: ; 0x02038CE8 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _02038D18 - ldr r0, _02038D1C ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - ldr r0, [r0, #0x2c] - bl sub_02034B0C - ldr r0, _02038D1C ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - ldr r0, [r0, #0x28] - bl sub_02034354 - ldr r0, _02038D20 ; =sub_02038C3C - bl sub_02033A7C - ldr r0, _02038D24 ; =sub_02038CC4 - mov r1, #0 - bl sub_020381C0 -_02038D18: - pop {r3, pc} - nop -_02038D1C: .word 0x021D4150 -_02038D20: .word sub_02038C3C -_02038D24: .word sub_02038CC4 - thumb_func_end sub_02038CE8 - - thumb_func_start sub_02038D28 -sub_02038D28: ; 0x02038D28 - push {r4, lr} - add r4, r0, #0 - bl sub_02037474 - cmp r0, #0 - bne _02038D58 - mov r2, #7 - mov r0, #3 - mov r1, #0xf - lsl r2, r2, #0xc - bl sub_0201A91C - add r0, r4, #0 - mov r1, #0x11 - bl sub_02037C98 - ldr r0, _02038D5C ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - add r0, #0x4f - strb r1, [r0] - ldr r0, _02038D60 ; =sub_02038CE8 - bl sub_020381C0 -_02038D58: - pop {r4, pc} - nop -_02038D5C: .word 0x021D4150 -_02038D60: .word sub_02038CE8 - thumb_func_end sub_02038D28 - - thumb_func_start sub_02038D64 -sub_02038D64: ; 0x02038D64 - push {r3, lr} - ldr r0, _02038D78 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _02038D76 - ldr r0, _02038D7C ; =sub_0203847C - mov r1, #5 - bl sub_020381C0 -_02038D76: - pop {r3, pc} - .balign 4, 0 -_02038D78: .word 0x021D4150 -_02038D7C: .word sub_0203847C - thumb_func_end sub_02038D64 - - thumb_func_start sub_02038D80 -sub_02038D80: ; 0x02038D80 - ldr r0, _02038D8C ; =0x021D4150 - ldr r0, [r0] - add r0, #0x58 - ldrb r0, [r0] - bx lr - nop -_02038D8C: .word 0x021D4150 - thumb_func_end sub_02038D80 - - thumb_func_start sub_02038D90 -sub_02038D90: ; 0x02038D90 - push {r3, lr} - bl sub_02037988 - ldr r0, _02038DF0 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _02038DA2 - mov r0, #1 - pop {r3, pc} -_02038DA2: - add r0, #0x4e - ldrb r0, [r0] - cmp r0, #0x18 - beq _02038DB2 - cmp r0, #0x19 - beq _02038DB2 - cmp r0, #0x24 - bne _02038DBA -_02038DB2: - bl ov00_021E6CB8 - mov r0, #1 - pop {r3, pc} -_02038DBA: - bl sub_02039998 - cmp r0, #0 - beq _02038DE2 - ldr r0, _02038DF0 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4e - ldrb r0, [r0] - cmp r0, #0x21 - bne _02038DD8 - ldr r0, _02038DF4 ; =sub_02039D78 - mov r1, #0 - bl sub_020381C0 - b _02038DEA -_02038DD8: - ldr r0, _02038DF8 ; =sub_020392F4 - mov r1, #0 - bl sub_020381C0 - b _02038DEA -_02038DE2: - ldr r0, _02038DFC ; =sub_020381FC - mov r1, #0 - bl sub_020381C0 -_02038DEA: - mov r0, #0 - pop {r3, pc} - nop -_02038DF0: .word 0x021D4150 -_02038DF4: .word sub_02039D78 -_02038DF8: .word sub_020392F4 -_02038DFC: .word sub_020381FC - thumb_func_end sub_02038D90 - - thumb_func_start sub_02038E00 -sub_02038E00: ; 0x02038E00 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _02038E3E - ldr r0, _02038E40 ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - ldr r0, [r0, #0x2c] - bl sub_02034B0C - ldr r0, _02038E40 ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - ldr r0, [r0, #0x28] - bl sub_02034354 - mov r0, #1 - add r1, r0, #0 - lsl r2, r0, #9 - add r3, r0, #0 - bl sub_02035ED8 - cmp r0, #0 - beq _02038E3E - bl sub_02035FD8 - ldr r0, _02038E44 ; =sub_02038260 - mov r1, #0 - bl sub_020381C0 -_02038E3E: - pop {r3, pc} - .balign 4, 0 -_02038E40: .word 0x021D4150 -_02038E44: .word sub_02038260 - thumb_func_end sub_02038E00 - - thumb_func_start sub_02038E48 -sub_02038E48: ; 0x02038E48 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _02038E84 - ldr r0, _02038E88 ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - ldr r0, [r0, #0x2c] - bl sub_02034B0C - ldr r0, _02038E88 ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - ldr r0, [r0, #0x28] - bl sub_02034354 - mov r0, #1 - add r1, r0, #0 - lsl r2, r0, #9 - bl sub_02035F14 - cmp r0, #0 - beq _02038E84 - bl sub_02035FD8 - ldr r0, _02038E8C ; =sub_020382DC - mov r1, #0 - bl sub_020381C0 -_02038E84: - pop {r3, pc} - nop -_02038E88: .word 0x021D4150 -_02038E8C: .word sub_020382DC - thumb_func_end sub_02038E48 - - thumb_func_start sub_02038E90 -sub_02038E90: ; 0x02038E90 - bx lr - .balign 4, 0 - thumb_func_end sub_02038E90 - - thumb_func_start sub_02038E94 -sub_02038E94: ; 0x02038E94 - push {r3, lr} - mov r0, #0 - bl ov00_021E5E54 - cmp r0, #0 - bge _02038EA8 - ldr r0, _02038EAC ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_02038EA8: - pop {r3, pc} - nop -_02038EAC: .word sub_02038E90 - thumb_func_end sub_02038E94 - - thumb_func_start sub_02038EB0 -sub_02038EB0: ; 0x02038EB0 - bx lr - .balign 4, 0 - thumb_func_end sub_02038EB0 - - thumb_func_start sub_02038EB4 -sub_02038EB4: ; 0x02038EB4 - bx lr - .balign 4, 0 - thumb_func_end sub_02038EB4 - - thumb_func_start sub_02038EB8 -sub_02038EB8: ; 0x02038EB8 - push {r3, lr} - mov r0, #1 - bl sub_0203786C - mov r0, #0 - bl ov00_021E5E54 - cmp r0, #0xa - blt _02038ED8 - cmp r0, #0x14 - bge _02038ED8 - ldr r0, _02038F60 ; =sub_02038EB4 - mov r1, #0 - bl sub_020381C0 - b _02038F3A -_02038ED8: - cmp r0, #0 - bge _02038EE6 - ldr r0, _02038F64 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - b _02038F3A -_02038EE6: - cmp r0, #0x17 - bne _02038EF4 - ldr r0, _02038F68 ; =sub_02038E94 - mov r1, #0 - bl sub_020381C0 - b _02038F3A -_02038EF4: - cmp r0, #0x18 - bne _02038F18 - ldr r0, _02038F6C ; =0x021D4150 - ldr r0, [r0] - add r0, #0x53 - ldrb r0, [r0] - cmp r0, #0 - beq _02038F0E - ldr r0, _02038F64 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - b _02038F3A -_02038F0E: - ldr r0, _02038F70 ; =sub_02038EB0 - mov r1, #0 - bl sub_020381C0 - b _02038F3A -_02038F18: - cmp r0, #0x15 - bne _02038F3A - ldr r0, _02038F6C ; =0x021D4150 - ldr r0, [r0] - add r0, #0x53 - ldrb r0, [r0] - cmp r0, #0 - beq _02038F32 - ldr r0, _02038F64 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - b _02038F3A -_02038F32: - ldr r0, _02038F70 ; =sub_02038EB0 - mov r1, #0 - bl sub_020381C0 -_02038F3A: - ldr r0, _02038F6C ; =0x021D4150 - ldr r0, [r0] - add r0, #0x53 - ldrb r0, [r0] - cmp r0, #0 - beq _02038F5E - bl sub_02037454 - ldr r1, _02038F6C ; =0x021D4150 - ldr r1, [r1] - add r1, #0x4b - ldrb r1, [r1] - cmp r1, r0 - beq _02038F5E - ldr r0, _02038F64 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_02038F5E: - pop {r3, pc} - .balign 4, 0 -_02038F60: .word sub_02038EB4 -_02038F64: .word sub_02038E90 -_02038F68: .word sub_02038E94 -_02038F6C: .word 0x021D4150 -_02038F70: .word sub_02038EB0 - thumb_func_end sub_02038EB8 - - thumb_func_start sub_02038F74 -sub_02038F74: ; 0x02038F74 - push {r3, r4} - ldr r3, _02038F98 ; =0x021D4150 - ldr r4, [r3] - cmp r4, #0 - beq _02038F94 - add r3, r0, #0 - sub r3, #0x19 - cmp r3, #1 - bls _02038F88 - neg r0, r0 -_02038F88: - str r0, [r4, #0x34] - ldr r0, _02038F98 ; =0x021D4150 - ldr r3, [r0] - str r1, [r3, #0x38] - ldr r0, [r0] - str r2, [r0, #0x3c] -_02038F94: - pop {r3, r4} - bx lr - .balign 4, 0 -_02038F98: .word 0x021D4150 - thumb_func_end sub_02038F74 - - thumb_func_start sub_02038F9C -sub_02038F9C: ; 0x02038F9C - push {r3, lr} - mov r0, #0 - bl ov00_021E5E54 - cmp r0, #0xa - blt _02038FB6 - cmp r0, #0x14 - bge _02038FB6 - ldr r0, _02038FFC ; =sub_02038EB4 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038FB6: - cmp r0, #0 - bge _02038FC4 - ldr r0, _02039000 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038FC4: - cmp r0, #0x14 - bne _02038FD2 - ldr r0, _02039004 ; =sub_02038EB8 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038FD2: - cmp r0, #0x15 - bne _02038FE0 - ldr r0, _02039008 ; =sub_02038EB0 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038FE0: - cmp r0, #0x16 - bne _02038FEE - ldr r0, _02038FFC ; =sub_02038EB4 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02038FEE: - cmp r0, #0x18 - bne _02038FFA - ldr r0, _02039008 ; =sub_02038EB0 - mov r1, #0 - bl sub_020381C0 -_02038FFA: - pop {r3, pc} - .balign 4, 0 -_02038FFC: .word sub_02038EB4 -_02039000: .word sub_02038E90 -_02039004: .word sub_02038EB8 -_02039008: .word sub_02038EB0 - thumb_func_end sub_02038F9C - - thumb_func_start sub_0203900C -sub_0203900C: ; 0x0203900C - push {r3, lr} - mov r0, #1 - bl ov00_021E5E54 - cmp r0, #0 - bge _02039022 - ldr r0, _02039074 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039022: - ldr r0, _02039078 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4e - ldrb r0, [r0] - bl sub_02033FC4 - add r2, r0, #0 - ldr r0, _02039078 ; =0x021D4150 - ldr r1, [r0] - mov r0, #0x51 - ldrsb r0, [r1, r0] - add r1, r2, #1 - mov r2, #0 - bl ov00_021E6D7C - add r0, r0, #3 - cmp r0, #3 - bhi _02039070 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02039052: ; jump table - .short _02039068 - _02039052 - 2 ; case 0 - .short _02039070 - _02039052 - 2 ; case 1 - .short _02039070 - _02039052 - 2 ; case 2 - .short _0203905A - _02039052 - 2 ; case 3 -_0203905A: - bl sub_0203622C - ldr r0, _0203907C ; =sub_02038F9C - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039068: - ldr r0, _02039074 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_02039070: - pop {r3, pc} - nop -_02039074: .word sub_02038E90 -_02039078: .word 0x021D4150 -_0203907C: .word sub_02038F9C - thumb_func_end sub_0203900C - - thumb_func_start sub_02039080 -sub_02039080: ; 0x02039080 - push {r4, lr} - add r4, r0, #0 - ldr r0, _020390B0 ; =0x021D4150 - ldr r0, [r0] - ldr r1, [r0, #0x24] - ldr r0, _020390B4 ; =sub_02038F9C - cmp r1, r0 - beq _02039094 - mov r0, #0 - pop {r4, pc} -_02039094: - ldr r0, _020390B8 ; =sub_02036904 - ldr r1, _020390BC ; =sub_020367A8 - bl ov00_021E5C84 - ldr r0, _020390B0 ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - add r0, #0x51 - strb r4, [r0] - ldr r0, _020390C0 ; =sub_0203900C - bl sub_020381C0 - mov r0, #1 - pop {r4, pc} - .balign 4, 0 -_020390B0: .word 0x021D4150 -_020390B4: .word sub_02038F9C -_020390B8: .word sub_02036904 -_020390BC: .word sub_020367A8 -_020390C0: .word sub_0203900C - thumb_func_end sub_02039080 - - thumb_func_start sub_020390C4 -sub_020390C4: ; 0x020390C4 - ldr r0, _02039120 ; =0x021D4150 - ldr r1, _02039124 ; =sub_02038F9C - ldr r0, [r0] - ldr r0, [r0, #0x24] - cmp r0, r1 - bne _020390D4 - mov r0, #0 - bx lr -_020390D4: - ldr r1, _02039128 ; =sub_02038EB8 - cmp r0, r1 - bne _020390DE - mov r0, #1 - bx lr -_020390DE: - ldr r1, _0203912C ; =sub_02038E94 - cmp r0, r1 - bne _020390E8 - mov r0, #3 - bx lr -_020390E8: - ldr r1, _02039130 ; =sub_02038EB0 - cmp r0, r1 - bne _020390F2 - mov r0, #4 - bx lr -_020390F2: - ldr r1, _02039134 ; =sub_02038EB4 - cmp r0, r1 - bne _020390FC - mov r0, #5 - bx lr -_020390FC: - ldr r1, _02039138 ; =sub_02039DE4 - cmp r0, r1 - bne _02039106 - mov r0, #0 - bx lr -_02039106: - ldr r1, _0203913C ; =sub_02039DC4 - cmp r0, r1 - bne _02039110 - mov r0, #1 - bx lr -_02039110: - ldr r1, _02039140 ; =sub_02039E7C - cmp r0, r1 - bne _0203911A - mov r0, #3 - bx lr -_0203911A: - mov r0, #2 - bx lr - nop -_02039120: .word 0x021D4150 -_02039124: .word sub_02038F9C -_02039128: .word sub_02038EB8 -_0203912C: .word sub_02038E94 -_02039130: .word sub_02038EB0 -_02039134: .word sub_02038EB4 -_02039138: .word sub_02039DE4 -_0203913C: .word sub_02039DC4 -_02039140: .word sub_02039E7C - thumb_func_end sub_020390C4 - - thumb_func_start sub_02039144 -sub_02039144: ; 0x02039144 - push {r3, lr} - ldr r0, _020391BC ; =sub_02036904 - ldr r1, _020391C0 ; =sub_020367A8 - bl ov00_021E5C84 - mov r0, #0 - mvn r0, r0 - mov r1, #4 - mov r2, #1 - bl ov00_021E6D7C - add r0, r0, #4 - cmp r0, #4 - bhi _0203919A - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203916C: ; jump table - .short _02039198 - _0203916C - 2 ; case 0 - .short _0203918E - _0203916C - 2 ; case 1 - .short _0203919A - _0203916C - 2 ; case 2 - .short _0203919A - _0203916C - 2 ; case 3 - .short _02039176 - _0203916C - 2 ; case 4 -_02039176: - ldr r0, _020391C4 ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - add r0, #0x5c - strb r1, [r0] - bl sub_0203622C - ldr r0, _020391C8 ; =sub_02038F9C - mov r1, #0 - bl sub_020381C0 - b _0203919A -_0203918E: - ldr r0, _020391CC ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - b _0203919A -_02039198: - pop {r3, pc} -_0203919A: - bl ov00_021E6690 - cmp r0, #0 - bge _020391AC - ldr r0, _020391CC ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_020391AC: - cmp r0, #0x1a - bne _020391B8 - ldr r0, _020391CC ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_020391B8: - pop {r3, pc} - nop -_020391BC: .word sub_02036904 -_020391C0: .word sub_020367A8 -_020391C4: .word 0x021D4150 -_020391C8: .word sub_02038F9C -_020391CC: .word sub_02038E90 - thumb_func_end sub_02039144 - - thumb_func_start sub_020391D0 -sub_020391D0: ; 0x020391D0 - push {r3, lr} - mov r0, #0 - bl sub_0203786C - ldr r0, _02039214 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x50 - ldrb r0, [r0] - bl ov00_021E6BE4 - cmp r0, #0 - beq _020391FE - bl ov00_021E6C68 - cmp r0, #0 - beq _020391FE - bl sub_020343E4 - ldr r0, _02039218 ; =sub_02039144 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_020391FE: - mov r0, #0 - bl ov00_021E5E54 - cmp r0, #0 - bge _02039210 - ldr r0, _0203921C ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_02039210: - pop {r3, pc} - nop -_02039214: .word 0x021D4150 -_02039218: .word sub_02039144 -_0203921C: .word sub_02038E90 - thumb_func_end sub_020391D0 - - thumb_func_start sub_02039220 -sub_02039220: ; 0x02039220 - push {r3, lr} - bl sub_0203769C - cmp r0, #0 - bne _0203923C - ldr r0, _0203925C ; =0x021D4150 - mov r1, #0 - ldr r0, [r0] - add r0, #0x50 - strb r1, [r0] - ldr r0, _02039260 ; =sub_020391D0 - bl sub_020381C0 - b _0203924E -_0203923C: - ldr r0, _0203925C ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - add r0, #0x50 - strb r1, [r0] - ldr r0, _02039260 ; =sub_020391D0 - mov r1, #0 - bl sub_020381C0 -_0203924E: - ldr r0, _0203925C ; =0x021D4150 - mov r1, #1 - ldr r0, [r0] - add r0, #0x5c - strb r1, [r0] - pop {r3, pc} - nop -_0203925C: .word 0x021D4150 -_02039260: .word sub_020391D0 - thumb_func_end sub_02039220 - - thumb_func_start sub_02039264 -sub_02039264: ; 0x02039264 - ldr r0, _02039270 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x5c - ldrb r0, [r0] - bx lr - nop -_02039270: .word 0x021D4150 - thumb_func_end sub_02039264 - - thumb_func_start sub_02039274 -sub_02039274: ; 0x02039274 - ldr r0, _02039294 ; =0x021D4150 - ldr r0, [r0] - ldr r1, [r0, #0x24] - ldr r0, _02039298 ; =sub_02039144 - cmp r1, r0 - bne _02039284 - mov r0, #1 - bx lr -_02039284: - ldr r0, _0203929C ; =sub_02039C60 - cmp r1, r0 - bne _0203928E - mov r0, #1 - bx lr -_0203928E: - mov r0, #0 - bx lr - nop -_02039294: .word 0x021D4150 -_02039298: .word sub_02039144 -_0203929C: .word sub_02039C60 - thumb_func_end sub_02039274 - - thumb_func_start sub_020392A0 -sub_020392A0: ; 0x020392A0 - ldr r0, _020392C8 ; =0x021D4150 - ldr r0, [r0] - ldr r1, [r0, #0x24] - ldr r0, _020392CC ; =sub_02038F9C - cmp r1, r0 - bne _020392B0 - mov r0, #1 - bx lr -_020392B0: - ldr r0, _020392D0 ; =sub_02039144 - cmp r1, r0 - bne _020392BA - mov r0, #1 - bx lr -_020392BA: - ldr r0, _020392D4 ; =sub_02039C60 - cmp r1, r0 - bne _020392C4 - mov r0, #1 - bx lr -_020392C4: - mov r0, #0 - bx lr - .balign 4, 0 -_020392C8: .word 0x021D4150 -_020392CC: .word sub_02038F9C -_020392D0: .word sub_02039144 -_020392D4: .word sub_02039C60 - thumb_func_end sub_020392A0 - - thumb_func_start sub_020392D8 -sub_020392D8: ; 0x020392D8 - push {r3, lr} - ldr r0, _020392F0 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _020392E6 - bl GF_AssertFail -_020392E6: - ldr r0, _020392F0 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x34 - pop {r3, pc} - nop -_020392F0: .word 0x021D4150 - thumb_func_end sub_020392D8 - - thumb_func_start sub_020392F4 -sub_020392F4: ; 0x020392F4 - push {r3, lr} - mov r0, #0 - bl sub_0203786C - mov r0, #0 - bl ov00_021E6BE4 - cmp r0, #0 - beq _02039312 - bl ov00_021E6C68 - ldr r0, _02039328 ; =sub_0203847C - mov r1, #0 - bl sub_020381C0 -_02039312: - mov r0, #0 - bl ov00_021E5E54 - cmp r0, #0 - bge _02039324 - ldr r0, _0203932C ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_02039324: - pop {r3, pc} - nop -_02039328: .word sub_0203847C -_0203932C: .word sub_02038E90 - thumb_func_end sub_020392F4 - - thumb_func_start sub_02039330 -sub_02039330: ; 0x02039330 - push {r3, lr} - ldr r0, _02039350 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _0203934C - mov r0, #1 - bl sub_0201A738 - bl sub_020343E4 - ldr r0, _02039354 ; =sub_0203847C - mov r1, #5 - bl sub_020381C0 -_0203934C: - pop {r3, pc} - nop -_02039350: .word 0x021D4150 -_02039354: .word sub_0203847C - thumb_func_end sub_02039330 - - thumb_func_start sub_02039358 -sub_02039358: ; 0x02039358 - push {r3, lr} - ldr r0, _02039370 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _0203936E - mov r1, #0 - add r0, #0x50 - strb r1, [r0] - ldr r0, _02039374 ; =sub_020391D0 - bl sub_020381C0 -_0203936E: - pop {r3, pc} - .balign 4, 0 -_02039370: .word 0x021D4150 -_02039374: .word sub_020391D0 - thumb_func_end sub_02039358 - - thumb_func_start sub_02039378 -sub_02039378: ; 0x02039378 - push {r3, lr} - ldr r0, _020393AC ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _020393AA - mov r0, #0 - mov r1, #1 - bl sub_020398D4 - bl sub_0203769C - cmp r0, #0 - bne _02039398 - mov r1, #0 - ldr r0, _020393AC ; =0x021D4150 - b _0203939C -_02039398: - ldr r0, _020393AC ; =0x021D4150 - mov r1, #1 -_0203939C: - ldr r0, [r0] - add r0, #0x50 - strb r1, [r0] - ldr r0, _020393B0 ; =sub_020391D0 - mov r1, #0 - bl sub_020381C0 -_020393AA: - pop {r3, pc} - .balign 4, 0 -_020393AC: .word 0x021D4150 -_020393B0: .word sub_020391D0 - thumb_func_end sub_02039378 - - thumb_func_start sub_020393B4 -sub_020393B4: ; 0x020393B4 - push {r3, lr} - bl sub_0203769C - add r1, sp, #0 - strb r0, [r1] - mov r0, #0x15 - add r1, sp, #0 - bl sub_020376E0 - pop {r3, pc} - thumb_func_end sub_020393B4 - - thumb_func_start sub_020393C8 -sub_020393C8: ; 0x020393C8 - ldr r0, _02039408 ; =0x021D4150 - ldr r2, [r0] - cmp r2, #0 - beq _02039402 - ldr r1, [r2, #0x24] - ldr r0, _0203940C ; =sub_02038E90 - cmp r1, r0 - bne _020393DC - mov r0, #1 - bx lr -_020393DC: - ldr r0, _02039410 ; =sub_02038E94 - cmp r1, r0 - bne _020393F0 - add r0, r2, #0 - add r0, #0x53 - ldrb r0, [r0] - cmp r0, #0 - beq _020393F0 - mov r0, #1 - bx lr -_020393F0: - ldr r0, _02039414 ; =sub_02039E7C - cmp r1, r0 - bne _02039402 - add r2, #0x53 - ldrb r0, [r2] - cmp r0, #0 - beq _02039402 - mov r0, #1 - bx lr -_02039402: - mov r0, #0 - bx lr - nop -_02039408: .word 0x021D4150 -_0203940C: .word sub_02038E90 -_02039410: .word sub_02038E94 -_02039414: .word sub_02039E7C - thumb_func_end sub_020393C8 - - thumb_func_start sub_02039418 -sub_02039418: ; 0x02039418 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02039468 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _02039466 - mov r1, #0xf - add r2, r1, #0 - mov r0, #3 - add r2, #0xf1 - bl sub_0201A91C - mov r0, #0xf - mov r1, #0x68 - bl AllocFromHeap - ldr r1, _02039468 ; =0x021D4150 - mov r2, #0x68 - str r0, [r1] - mov r1, #0 - bl MIi_CpuFill8 - ldr r0, _02039468 ; =0x021D4150 - mov r2, #0x18 - ldr r1, [r0] - add r1, #0x4e - strb r2, [r1] - ldr r2, [r0] - mov r1, #1 - add r2, #0x55 - strb r1, [r2] - ldr r0, [r0] - str r4, [r0, #0x28] - mov r0, #0 - bl sub_020398D4 - mov r0, #1 - bl sub_0201A728 -_02039466: - pop {r4, pc} - .balign 4, 0 -_02039468: .word 0x021D4150 - thumb_func_end sub_02039418 - - thumb_func_start sub_0203946C -sub_0203946C: ; 0x0203946C - push {r3, lr} - ldr r0, _0203949C ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _02039498 - mov r0, #1 - bl sub_0201A738 - mov r0, #0 - add r1, r0, #0 - bl sub_020398D4 - ldr r0, _0203949C ; =0x021D4150 - ldr r0, [r0] - bl FreeToHeap - ldr r0, _0203949C ; =0x021D4150 - mov r1, #0 - str r1, [r0] - mov r0, #0xf - bl sub_0201A9C4 -_02039498: - pop {r3, pc} - nop -_0203949C: .word 0x021D4150 - thumb_func_end sub_0203946C - - thumb_func_start sub_020394A0 -sub_020394A0: ; 0x020394A0 - push {r4, lr} - add r4, r0, #0 - ldr r0, _020394F0 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _020394EE - mov r1, #0xf - add r2, r1, #0 - mov r0, #3 - add r2, #0xf1 - bl sub_0201A91C - mov r0, #0xf - mov r1, #0x68 - bl AllocFromHeap - ldr r1, _020394F0 ; =0x021D4150 - mov r2, #0x68 - str r0, [r1] - mov r1, #0 - bl MIi_CpuFill8 - ldr r0, _020394F0 ; =0x021D4150 - mov r2, #0x19 - ldr r1, [r0] - add r1, #0x4e - strb r2, [r1] - ldr r2, [r0] - mov r1, #1 - add r2, #0x55 - strb r1, [r2] - ldr r0, [r0] - str r4, [r0, #0x28] - mov r0, #0 - bl sub_020398D4 - mov r0, #1 - bl sub_0201A728 -_020394EE: - pop {r4, pc} - .balign 4, 0 -_020394F0: .word 0x021D4150 - thumb_func_end sub_020394A0 - - thumb_func_start sub_020394F4 -sub_020394F4: ; 0x020394F4 - push {r3, lr} - ldr r0, _02039524 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _02039520 - mov r0, #1 - bl sub_0201A738 - mov r0, #0 - add r1, r0, #0 - bl sub_020398D4 - ldr r0, _02039524 ; =0x021D4150 - ldr r0, [r0] - bl FreeToHeap - ldr r0, _02039524 ; =0x021D4150 - mov r1, #0 - str r1, [r0] - mov r0, #0xf - bl sub_0201A9C4 -_02039520: - pop {r3, pc} - nop -_02039524: .word 0x021D4150 - thumb_func_end sub_020394F4 - - thumb_func_start sub_02039528 -sub_02039528: ; 0x02039528 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02039578 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _02039576 - mov r1, #0xf - add r2, r1, #0 - mov r0, #3 - add r2, #0xf1 - bl sub_0201A91C - mov r0, #0xf - mov r1, #0x68 - bl AllocFromHeap - ldr r1, _02039578 ; =0x021D4150 - mov r2, #0x68 - str r0, [r1] - mov r1, #0 - bl MIi_CpuFill8 - ldr r0, _02039578 ; =0x021D4150 - mov r2, #0x24 - ldr r1, [r0] - add r1, #0x4e - strb r2, [r1] - ldr r2, [r0] - mov r1, #1 - add r2, #0x55 - strb r1, [r2] - ldr r0, [r0] - str r4, [r0, #0x28] - mov r0, #0 - bl sub_020398D4 - mov r0, #1 - bl sub_0201A728 -_02039576: - pop {r4, pc} - .balign 4, 0 -_02039578: .word 0x021D4150 - thumb_func_end sub_02039528 - - thumb_func_start sub_0203957C -sub_0203957C: ; 0x0203957C - push {r3, lr} - ldr r0, _020395AC ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _020395A8 - mov r0, #1 - bl sub_0201A738 - mov r0, #0 - add r1, r0, #0 - bl sub_020398D4 - ldr r0, _020395AC ; =0x021D4150 - ldr r0, [r0] - bl FreeToHeap - ldr r0, _020395AC ; =0x021D4150 - mov r1, #0 - str r1, [r0] - mov r0, #0xf - bl sub_0201A9C4 -_020395A8: - pop {r3, pc} - nop -_020395AC: .word 0x021D4150 - thumb_func_end sub_0203957C - - thumb_func_start sub_020395B0 -sub_020395B0: ; 0x020395B0 - push {r3, lr} - sub sp, #8 - ldr r0, _02039608 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _020395C2 - add sp, #8 - mov r0, #0 - pop {r3, pc} -_020395C2: - add r0, #0x4e - ldrb r0, [r0] - cmp r0, #0x18 - beq _020395CE - cmp r0, #0x24 - bne _020395E4 -_020395CE: - add r0, sp, #4 - add r1, sp, #0 - bl ov00_021EC11C - cmp r0, #0 - beq _02039600 - bl ov00_021EC210 - add sp, #8 - mov r0, #1 - pop {r3, pc} -_020395E4: - cmp r0, #0x19 - bne _02039600 - add r0, sp, #4 - add r1, sp, #0 - bl ov00_021EC11C - cmp r0, #0 - beq _02039600 - ldr r0, [sp] - cmp r0, #7 - bne _02039600 - add sp, #8 - mov r0, #1 - pop {r3, pc} -_02039600: - mov r0, #0 - add sp, #8 - pop {r3, pc} - nop -_02039608: .word 0x021D4150 - thumb_func_end sub_020395B0 - - thumb_func_start sub_0203960C -sub_0203960C: ; 0x0203960C - push {r3, lr} - bl ov00_021E5B6C - ldr r1, _02039680 ; =0x021D4150 - ldr r3, [r1] - ldr r2, [r3, #0x44] - sub r2, r2, #1 - str r2, [r3, #0x44] - cmp r0, #0x1b - bne _02039660 - ldr r1, [r1] - add r0, r1, #0 - add r0, #0x4e - ldrb r0, [r0] - cmp r0, #0x21 - bne _02039656 - ldr r0, [r1, #0x60] - bl ov45_0222E804 - cmp r0, #1 - bne _0203964C - ldr r1, _02039680 ; =0x021D4150 - mov r2, #1 - ldr r0, [r1] - add r0, #0x64 - strb r2, [r0] - ldr r1, [r1] - ldr r0, _02039684 ; =sub_02039C14 - ldr r1, [r1, #0x44] - bl sub_020381C0 - pop {r3, pc} -_0203964C: - ldr r0, _02039688 ; =sub_02039DC0 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039656: - ldr r0, _0203968C ; =sub_02039144 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039660: - cmp r0, #0 - beq _0203966C - ldr r0, _02039690 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_0203966C: - ldr r0, _02039680 ; =0x021D4150 - ldr r0, [r0] - ldr r0, [r0, #0x44] - cmp r0, #0 - bgt _0203967E - ldr r0, _02039690 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_0203967E: - pop {r3, pc} - .balign 4, 0 -_02039680: .word 0x021D4150 -_02039684: .word sub_02039C14 -_02039688: .word sub_02039DC0 -_0203968C: .word sub_02039144 -_02039690: .word sub_02038E90 - thumb_func_end sub_0203960C - - thumb_func_start sub_02039694 -sub_02039694: ; 0x02039694 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _020396EE - mov r2, #0xd5 - mov r0, #3 - mov r1, #0x30 - lsl r2, r2, #0xa - bl sub_0201A91C - mov r0, #1 - add r1, r0, #0 - lsl r2, r0, #9 - add r3, r0, #0 - bl sub_02035ED8 - cmp r0, #0 - beq _020396EE - ldr r0, _020396F0 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4e - ldrb r0, [r0] - bl sub_02033FC4 - add r3, r0, #0 - ldr r0, _020396F0 ; =0x021D4150 - mov r2, #0xb1 - ldr r0, [r0] - mov r1, #0x30 - ldr r0, [r0, #0x28] - lsl r2, r2, #0xa - add r3, r3, #1 - bl ov00_021E5900 - ldr r0, _020396F4 ; =sub_020399DC - bl ov00_021E6CA4 - bl sub_02035FD8 - mov r1, #0xe1 - ldr r0, _020396F8 ; =sub_0203960C - lsl r1, r1, #4 - bl sub_020381C0 -_020396EE: - pop {r3, pc} - .balign 4, 0 -_020396F0: .word 0x021D4150 -_020396F4: .word sub_020399DC -_020396F8: .word sub_0203960C - thumb_func_end sub_02039694 - - thumb_func_start sub_020396FC -sub_020396FC: ; 0x020396FC - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_02028E9C - bl sub_02037474 - cmp r0, #0 - beq _02039712 - mov r0, #0 - pop {r3, r4, r5, pc} -_02039712: - mov r0, #1 - bl sub_0201A728 - ldr r2, _02039760 ; =0x00007080 - mov r0, #3 - mov r1, #0xf - bl sub_0201A91C - add r0, r5, #0 - mov r1, #0x17 - bl sub_02037C98 - mov r0, #0xf - add r1, r4, #0 - bl AllocFromHeap - ldr r1, _02039764 ; =0x021D4150 - ldr r2, [r1] - str r0, [r2] - ldr r0, [r1] - mov r1, #0 - ldr r0, [r0] - add r2, r4, #0 - bl MIi_CpuFill8 - ldr r0, _02039764 ; =0x021D4150 - mov r1, #0 - ldr r2, [r0] - add r2, #0x4f - strb r1, [r2] - ldr r0, [r0] - str r5, [r0, #0x28] - ldr r0, _02039768 ; =sub_02039694 - bl sub_020381C0 - ldr r0, _02039764 ; =0x021D4150 - ldr r0, [r0] - ldr r0, [r0] - pop {r3, r4, r5, pc} - .balign 4, 0 -_02039760: .word 0x00007080 -_02039764: .word 0x021D4150 -_02039768: .word sub_02039694 - thumb_func_end sub_020396FC - - thumb_func_start sub_0203976C -sub_0203976C: ; 0x0203976C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_02028E9C - bl sub_02037474 - cmp r0, #0 - bne _020397B8 - mov r0, #1 - bl sub_0201A728 - ldr r2, _020397BC ; =0x00007080 - mov r0, #3 - mov r1, #0xf - bl sub_0201A91C - add r0, r5, #0 - mov r1, #0x21 - bl sub_02037C98 - ldr r0, _020397C0 ; =0x021D4150 - mov r1, #0 - ldr r2, [r0] - str r1, [r2] - ldr r2, [r0] - str r4, [r2, #0x60] - ldr r2, [r0] - add r2, #0x64 - strb r1, [r2] - ldr r2, [r0] - add r2, #0x4f - strb r1, [r2] - ldr r0, [r0] - str r5, [r0, #0x28] - ldr r0, _020397C4 ; =sub_02039BA0 - bl sub_020381C0 -_020397B8: - pop {r3, r4, r5, pc} - nop -_020397BC: .word 0x00007080 -_020397C0: .word 0x021D4150 -_020397C4: .word sub_02039BA0 - thumb_func_end sub_0203976C - - thumb_func_start sub_020397C8 -sub_020397C8: ; 0x020397C8 - push {r3, lr} - ldr r0, _020397DC ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _020397DA - ldr r0, _020397E0 ; =sub_02039D78 - mov r1, #0 - bl sub_020381C0 -_020397DA: - pop {r3, pc} - .balign 4, 0 -_020397DC: .word 0x021D4150 -_020397E0: .word sub_02039D78 - thumb_func_end sub_020397C8 - - thumb_func_start sub_020397E4 -sub_020397E4: ; 0x020397E4 - ldr r0, _020397F8 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _020397F0 - mov r0, #0 - bx lr -_020397F0: - add r0, #0x64 - ldrb r0, [r0] - bx lr - nop -_020397F8: .word 0x021D4150 - thumb_func_end sub_020397E4 - - thumb_func_start sub_020397FC -sub_020397FC: ; 0x020397FC - ldr r0, _02039814 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _02039810 - ldr r1, [r0, #0x24] - ldr r0, _02039818 ; =sub_02039DC0 - cmp r1, r0 - bne _02039810 - mov r0, #1 - bx lr -_02039810: - mov r0, #0 - bx lr - .balign 4, 0 -_02039814: .word 0x021D4150 -_02039818: .word sub_02039DC0 - thumb_func_end sub_020397FC - - thumb_func_start sub_0203981C -sub_0203981C: ; 0x0203981C - push {r4, lr} - add r4, r0, #0 - ldr r0, _02039864 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - bne _0203982C - bl GF_AssertFail -_0203982C: - bl sub_020392A0 - cmp r0, #1 - beq _02039838 - bl GF_AssertFail -_02039838: - add r0, r4, #0 - bl ov45_0222F274 - cmp r0, #0 - bne _02039854 - add r0, r4, #0 - mov r1, #4 - bl ov45_0222F028 - ldr r0, _02039868 ; =sub_02039DE4 - mov r1, #0 - bl sub_020381C0 - pop {r4, pc} -_02039854: - add r0, r4, #0 - bl ov45_0222F350 - ldr r0, _02039868 ; =sub_02039DE4 - mov r1, #0 - bl sub_020381C0 - pop {r4, pc} - .balign 4, 0 -_02039864: .word 0x021D4150 -_02039868: .word sub_02039DE4 - thumb_func_end sub_0203981C - - thumb_func_start sub_0203986C -sub_0203986C: ; 0x0203986C - push {r3, lr} - bl ov45_0222F464 - cmp r0, #1 - bne _0203987A - bl ov45_0222F154 -_0203987A: - bl ov45_0222F70C - ldr r0, _02039888 ; =sub_02039E30 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02039888: .word sub_02039E30 - thumb_func_end sub_0203986C - - thumb_func_start sub_0203988C -sub_0203988C: ; 0x0203988C - ldr r0, _020398B8 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _020398B4 - ldr r1, [r0, #0x24] - ldr r0, _020398BC ; =sub_02039DC4 - cmp r1, r0 - bne _020398A0 - mov r0, #2 - bx lr -_020398A0: - ldr r0, _020398C0 ; =sub_02039DE4 - cmp r1, r0 - bne _020398AA - mov r0, #1 - bx lr -_020398AA: - ldr r0, _020398C4 ; =sub_02039E30 - cmp r1, r0 - bne _020398B4 - mov r0, #3 - bx lr -_020398B4: - mov r0, #0 - bx lr - .balign 4, 0 -_020398B8: .word 0x021D4150 -_020398BC: .word sub_02039DC4 -_020398C0: .word sub_02039DE4 -_020398C4: .word sub_02039E30 - thumb_func_end sub_0203988C - - thumb_func_start sub_020398C8 -sub_020398C8: ; 0x020398C8 - ldr r0, _020398D0 ; =0x021D4150 - ldr r0, [r0] - ldr r0, [r0] - bx lr - .balign 4, 0 -_020398D0: .word 0x021D4150 - thumb_func_end sub_020398C8 - - thumb_func_start sub_020398D4 -sub_020398D4: ; 0x020398D4 - push {r4, lr} - add r4, r0, #0 - ldr r0, _02039914 ; =0x021D4150 - ldr r2, [r0] - cmp r2, #0 - beq _02039904 - add r2, #0x53 - strb r4, [r2] - ldr r2, [r0] - add r2, #0x54 - strb r1, [r2] - cmp r4, #0 - beq _020398FC - bl sub_02037454 - ldr r1, _02039914 ; =0x021D4150 - ldr r1, [r1] - add r1, #0x4b - strb r0, [r1] - b _02039904 -_020398FC: - ldr r0, [r0] - mov r1, #0 - add r0, #0x4b - strb r1, [r0] -_02039904: - add r0, r4, #0 - bl sub_020356C0 - add r0, r4, #0 - bl sub_020356EC - pop {r4, pc} - nop -_02039914: .word 0x021D4150 - thumb_func_end sub_020398D4 - - thumb_func_start sub_02039918 -sub_02039918: ; 0x02039918 - ldr r0, _02039938 ; =0x021D4150 - ldr r1, [r0] - cmp r1, #0 - beq _02039934 - add r0, r1, #0 - add r0, #0x5d - ldrb r0, [r0] - cmp r0, #0 - beq _0203992E - mov r0, #1 - bx lr -_0203992E: - add r1, #0x54 - ldrb r0, [r1] - bx lr -_02039934: - mov r0, #0 - bx lr - .balign 4, 0 -_02039938: .word 0x021D4150 - thumb_func_end sub_02039918 - - thumb_func_start sub_0203993C -sub_0203993C: ; 0x0203993C - ldr r0, _02039950 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _0203994A - add r0, #0x4e - ldrb r0, [r0] - bx lr -_0203994A: - mov r0, #1 - bx lr - nop -_02039950: .word 0x021D4150 - thumb_func_end sub_0203993C - - thumb_func_start sub_02039954 -sub_02039954: ; 0x02039954 - ldr r0, _02039968 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _02039962 - add r0, #0x4f - ldrb r0, [r0] - bx lr -_02039962: - mov r0, #0 - bx lr - nop -_02039968: .word 0x021D4150 - thumb_func_end sub_02039954 - - thumb_func_start sub_0203996C -sub_0203996C: ; 0x0203996C - ldr r1, _02039978 ; =0x021D4150 - ldr r3, _0203997C ; =sub_020D4A50 - ldr r1, [r1] - mov r2, #6 - add r1, r1, #4 - bx r3 - .balign 4, 0 -_02039978: .word 0x021D4150 -_0203997C: .word sub_020D4A50 - thumb_func_end sub_0203996C - - thumb_func_start sub_02039980 -sub_02039980: ; 0x02039980 - add r1, r0, #0 - ldr r0, _02039990 ; =0x021D4150 - ldr r3, _02039994 ; =sub_020D4A50 - ldr r0, [r0] - mov r2, #6 - add r0, r0, #4 - bx r3 - nop -_02039990: .word 0x021D4150 -_02039994: .word sub_020D4A50 - thumb_func_end sub_02039980 - - thumb_func_start sub_02039998 -sub_02039998: ; 0x02039998 - push {r3, lr} - bl sub_0203993C - bl sub_02034044 - pop {r3, pc} - thumb_func_end sub_02039998 - - thumb_func_start sub_020399A4 -sub_020399A4: ; 0x020399A4 - ldr r1, _020399B4 ; =0x021D4150 - ldr r1, [r1] - cmp r1, #0 - beq _020399B0 - add r1, #0x56 - strb r0, [r1] -_020399B0: - bx lr - nop -_020399B4: .word 0x021D4150 - thumb_func_end sub_020399A4 - - thumb_func_start sub_020399B8 -sub_020399B8: ; 0x020399B8 - push {r3, lr} - bl sub_0201A79C - cmp r0, #0 - beq _020399C6 - mov r0, #0 - pop {r3, pc} -_020399C6: - ldr r0, _020399D8 ; =0x021D4150 - ldr r0, [r0] - cmp r0, #0 - beq _020399D4 - add r0, #0x56 - ldrb r0, [r0] - pop {r3, pc} -_020399D4: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 -_020399D8: .word 0x021D4150 - thumb_func_end sub_020399B8 - - thumb_func_start sub_020399DC -sub_020399DC: ; 0x020399DC - push {r3, lr} - add r2, r0, #0 - mov r0, #0 - mov r1, #1 - bl sub_0203AA44 -_020399E8: - b _020399E8 - .balign 4, 0 - thumb_func_end sub_020399DC - - thumb_func_start sub_020399EC -sub_020399EC: ; 0x020399EC - push {r3, lr} - mov r0, #0 - mov r1, #4 - add r2, r0, #0 - bl sub_0203AA44 -_020399F8: - b _020399F8 - .balign 4, 0 - thumb_func_end sub_020399EC - - thumb_func_start sub_020399FC -sub_020399FC: ; 0x020399FC - bx lr - .balign 4, 0 - thumb_func_end sub_020399FC - - thumb_func_start sub_02039A00 -sub_02039A00: ; 0x02039A00 - push {r3, lr} - bl sub_02039918 - cmp r0, #0 - beq _02039A98 - bl sub_02037700 - cmp r0, #0 - bne _02039A36 - bl sub_020393C8 - cmp r0, #0 - bne _02039A36 - bl sub_020395B0 - cmp r0, #0 - bne _02039A36 - ldr r0, _02039A9C ; =0x021D4150 - ldr r0, [r0] - add r0, #0x5d - ldrb r0, [r0] - cmp r0, #0 - bne _02039A36 - bl sub_020397FC - cmp r0, #0 - beq _02039A98 -_02039A36: - bl sub_0201A79C - cmp r0, #0 - bne _02039A98 - bl sub_020399B8 - cmp r0, #0 - bne _02039A98 - bl sub_02005FA0 - ldr r0, _02039A9C ; =0x021D4150 - ldr r0, [r0] - ldr r0, [r0, #0x28] - bl sub_020275A4 - ldr r1, _02039AA0 ; =gMain + 0x60 - mov r0, #1 - strb r0, [r1, #8] - ldr r1, _02039A9C ; =0x021D4150 - ldr r2, [r1] - add r1, r2, #0 - add r1, #0x5d - ldrb r1, [r1] - cmp r1, #3 - bne _02039A70 - mov r0, #3 - bl sub_020399A4 - pop {r3, pc} -_02039A70: - cmp r1, #5 - bne _02039A7C - mov r0, #5 - bl sub_020399A4 - pop {r3, pc} -_02039A7C: - add r2, #0x4e - ldrb r1, [r2] - cmp r1, #0x19 - beq _02039A8C - cmp r1, #0xf - beq _02039A8C - cmp r1, #0x24 - bne _02039A94 -_02039A8C: - mov r0, #2 - bl sub_020399A4 - pop {r3, pc} -_02039A94: - bl sub_020399A4 -_02039A98: - pop {r3, pc} - nop -_02039A9C: .word 0x021D4150 -_02039AA0: .word gMain + 0x60 - thumb_func_end sub_02039A00 - - thumb_func_start sub_02039AA4 -sub_02039AA4: ; 0x02039AA4 - push {r3, lr} - bl sub_02035630 - cmp r0, #0 - bne _02039AB6 - bl sub_02037D78 - cmp r0, #0 - bne _02039ABA -_02039AB6: - mov r0, #1 - pop {r3, pc} -_02039ABA: - bl sub_02034BE4 - cmp r0, #0 - bne _02039AC6 - mov r0, #1 - pop {r3, pc} -_02039AC6: - bl sub_02033974 - cmp r0, #0 - beq _02039AD2 - mov r0, #1 - pop {r3, pc} -_02039AD2: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02039AA4 - - thumb_func_start sub_02039AD8 -sub_02039AD8: ; 0x02039AD8 - push {r3, lr} - ldr r1, _02039AF4 ; =0x021D4150 - ldr r1, [r1] - cmp r1, #0 - beq _02039AEE - add r1, #0x5d - strb r0, [r1] - bl sub_02037988 - mov r0, #1 - pop {r3, pc} -_02039AEE: - mov r0, #0 - pop {r3, pc} - nop -_02039AF4: .word 0x021D4150 - thumb_func_end sub_02039AD8 - - thumb_func_start sub_02039AF8 -sub_02039AF8: ; 0x02039AF8 - ldr r0, _02039B0C ; =0x021D4150 - mov r1, #0x1d - ldr r0, [r0] - ldr r3, _02039B10 ; =ov00_021E5C84 - add r0, #0x4e - strb r1, [r0] - ldr r0, _02039B14 ; =sub_020369CC - add r1, r0, #0 - bx r3 - nop -_02039B0C: .word 0x021D4150 -_02039B10: .word ov00_021E5C84 -_02039B14: .word sub_020369CC - thumb_func_end sub_02039AF8 - - thumb_func_start sub_02039B18 -sub_02039B18: ; 0x02039B18 - ldr r0, _02039B2C ; =0x021D4150 - mov r1, #0x23 - ldr r0, [r0] - ldr r3, _02039B30 ; =ov00_021E5C84 - add r0, #0x4e - strb r1, [r0] - ldr r0, _02039B34 ; =sub_020369CC - add r1, r0, #0 - bx r3 - nop -_02039B2C: .word 0x021D4150 -_02039B30: .word ov00_021E5C84 -_02039B34: .word sub_020369CC - thumb_func_end sub_02039B18 - - thumb_func_start sub_02039B38 -sub_02039B38: ; 0x02039B38 - ldr r0, _02039B4C ; =0x021D4150 - mov r1, #0x21 - ldr r0, [r0] - ldr r3, _02039B50 ; =ov00_021E5C84 - add r0, #0x4e - strb r1, [r0] - ldr r0, _02039B54 ; =sub_020369CC - add r1, r0, #0 - bx r3 - nop -_02039B4C: .word 0x021D4150 -_02039B50: .word ov00_021E5C84 -_02039B54: .word sub_020369CC - thumb_func_end sub_02039B38 - - thumb_func_start sub_02039B58 -sub_02039B58: ; 0x02039B58 - ldr r0, _02039B6C ; =0x021D4150 - ldr r3, _02039B70 ; =ov00_021E5C84 - ldr r0, [r0] - mov r1, #0x17 - add r0, #0x4e - strb r1, [r0] - ldr r0, _02039B74 ; =sub_02036904 - ldr r1, _02039B78 ; =sub_020367A8 - bx r3 - nop -_02039B6C: .word 0x021D4150 -_02039B70: .word ov00_021E5C84 -_02039B74: .word sub_02036904 -_02039B78: .word sub_020367A8 - thumb_func_end sub_02039B58 - - thumb_func_start sub_02039B7C -sub_02039B7C: ; 0x02039B7C - ldr r0, _02039B90 ; =0x021D4150 - ldr r3, _02039B94 ; =ov00_021E5C84 - ldr r0, [r0] - mov r1, #0x13 - add r0, #0x4e - strb r1, [r0] - ldr r0, _02039B98 ; =sub_02036904 - ldr r1, _02039B9C ; =sub_020367A8 - bx r3 - nop -_02039B90: .word 0x021D4150 -_02039B94: .word ov00_021E5C84 -_02039B98: .word sub_02036904 -_02039B9C: .word sub_020367A8 - thumb_func_end sub_02039B7C - - thumb_func_start sub_02039BA0 -sub_02039BA0: ; 0x02039BA0 - push {r3, lr} - bl sub_02034DB8 - cmp r0, #0 - beq _02039C04 - mov r1, #0x30 - mov r0, #3 - lsl r2, r1, #0xd - bl sub_0201A91C - mov r0, #1 - add r1, r0, #0 - lsl r2, r0, #9 - add r3, r0, #0 - bl sub_02035ED8 - cmp r0, #0 - beq _02039C04 - ldr r0, _02039C08 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x4e - ldrb r0, [r0] - bl sub_02033FC4 - add r3, r0, #0 - ldr r0, _02039C08 ; =0x021D4150 - mov r2, #0x16 - ldr r0, [r0] - mov r1, #0x30 - ldr r0, [r0, #0x28] - lsl r2, r2, #0xe - add r3, r3, #1 - bl ov00_021E5900 - ldr r0, _02039C0C ; =sub_020399DC - bl ov00_021E6CA4 - bl sub_02035FD8 - mov r0, #0 - bl ov00_021E70B8 - mov r0, #0 - bl sub_020378E4 - mov r1, #0xe1 - ldr r0, _02039C10 ; =sub_0203960C - lsl r1, r1, #4 - bl sub_020381C0 -_02039C04: - pop {r3, pc} - nop -_02039C08: .word 0x021D4150 -_02039C0C: .word sub_020399DC -_02039C10: .word sub_0203960C - thumb_func_end sub_02039BA0 - - thumb_func_start sub_02039C14 -sub_02039C14: ; 0x02039C14 - push {r3, lr} - ldr r0, _02039C54 ; =0x021D4150 - ldr r2, [r0] - ldr r1, [r2, #0x44] - sub r1, r1, #1 - str r1, [r2, #0x44] - ldr r0, [r0] - ldr r0, [r0, #0x44] - cmp r0, #0 - bgt _02039C32 - ldr r0, _02039C58 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039C32: - mov r0, #1 - bl sub_0203786C - bl sub_02039D3C - cmp r0, #0 - beq _02039C50 - bl ov45_0222E8F4 - cmp r0, #0 - beq _02039C50 - ldr r0, _02039C5C ; =sub_02039C60 - mov r1, #0 - bl sub_020381C0 -_02039C50: - pop {r3, pc} - nop -_02039C54: .word 0x021D4150 -_02039C58: .word sub_02038E90 -_02039C5C: .word sub_02039C60 - thumb_func_end sub_02039C14 - - thumb_func_start sub_02039C60 -sub_02039C60: ; 0x02039C60 - push {r3, lr} - bl sub_02039D3C - cmp r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02039C60 - - thumb_func_start sub_02039C6C -sub_02039C6C: ; 0x02039C6C - push {r4, lr} - mov r4, #1 - cmp r0, #0xa - blt _02039C84 - cmp r0, #0x14 - bge _02039C84 - ldr r0, _02039CF4 ; =sub_02038EB4 - mov r1, #0 - bl sub_020381C0 - mov r4, #0 - b _02039CC8 -_02039C84: - cmp r0, #0 - bge _02039C94 - ldr r0, _02039CF8 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - mov r4, #0 - b _02039CC8 -_02039C94: - cmp r0, #0x17 - bne _02039CA4 - ldr r0, _02039CFC ; =sub_02039E7C - mov r1, #0 - bl sub_020381C0 - mov r4, #0 - b _02039CC8 -_02039CA4: - cmp r0, #0x18 - bne _02039CC8 - ldr r0, _02039D00 ; =0x021D4150 - mov r4, #0 - ldr r0, [r0] - add r0, #0x53 - ldrb r0, [r0] - cmp r0, #0 - beq _02039CC0 - ldr r0, _02039CF8 ; =sub_02038E90 - add r1, r4, #0 - bl sub_020381C0 - b _02039CC8 -_02039CC0: - ldr r0, _02039D04 ; =sub_02038EB0 - add r1, r4, #0 - bl sub_020381C0 -_02039CC8: - ldr r0, _02039D00 ; =0x021D4150 - ldr r0, [r0] - add r0, #0x53 - ldrb r0, [r0] - cmp r0, #0 - beq _02039CEE - bl sub_02037454 - ldr r1, _02039D00 ; =0x021D4150 - ldr r1, [r1] - add r1, #0x4b - ldrb r1, [r1] - cmp r1, r0 - beq _02039CEE - ldr r0, _02039CF8 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - mov r4, #0 -_02039CEE: - add r0, r4, #0 - pop {r4, pc} - nop -_02039CF4: .word sub_02038EB4 -_02039CF8: .word sub_02038E90 -_02039CFC: .word sub_02039E7C -_02039D00: .word 0x021D4150 -_02039D04: .word sub_02038EB0 - thumb_func_end sub_02039C6C - - thumb_func_start sub_02039D08 -sub_02039D08: ; 0x02039D08 - push {r4, lr} - mov r4, #1 - bl ov45_0222E6C8 - cmp r0, #4 - bhi _02039D34 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02039D20: ; jump table - .short _02039D34 - _02039D20 - 2 ; case 0 - .short _02039D34 - _02039D20 - 2 ; case 1 - .short _02039D34 - _02039D20 - 2 ; case 2 - .short _02039D34 - _02039D20 - 2 ; case 3 - .short _02039D2A - _02039D20 - 2 ; case 4 -_02039D2A: - ldr r0, _02039D38 ; =sub_02039DC0 - mov r1, #0 - bl sub_020381C0 - mov r4, #0 -_02039D34: - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 -_02039D38: .word sub_02039DC0 - thumb_func_end sub_02039D08 - - thumb_func_start sub_02039D3C -sub_02039D3C: ; 0x02039D3C - push {r3, lr} - mov r0, #0 - bl ov00_021E5E54 - bl sub_02039C6C - cmp r0, #0 - beq _02039D50 - bl sub_02039D08 -_02039D50: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02039D3C - - thumb_func_start sub_02039D54 -sub_02039D54: ; 0x02039D54 - push {r4, lr} - add r4, r0, #0 - mov r0, #0 - bl ov00_021E5E54 - cmp r0, #0x14 - blt _02039D66 - str r0, [r4] - b _02039D72 -_02039D66: - mov r1, #0 - str r1, [r4] - bl sub_02039C6C - cmp r0, #0 - beq _02039D76 -_02039D72: - bl sub_02039D08 -_02039D76: - pop {r4, pc} - thumb_func_end sub_02039D54 - - thumb_func_start sub_02039D78 -sub_02039D78: ; 0x02039D78 - push {r3, lr} - bl ov45_0222E91C - ldr r0, _02039D88 ; =sub_02039D8C - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} - .balign 4, 0 -_02039D88: .word sub_02039D8C - thumb_func_end sub_02039D78 - - thumb_func_start sub_02039D8C -sub_02039D8C: ; 0x02039D8C - push {r3, lr} - mov r0, #0 - bl ov00_021E5E54 - bl sub_02039D08 - bl ov45_0222E944 - cmp r0, #0 - beq _02039DB8 - mov r0, #1 - bl sub_0201A738 - bl sub_020343E4 - ldr r0, _02039DBC ; =sub_0203847C - mov r1, #5 - bl sub_020381C0 - mov r0, #0 - bl sub_0203786C -_02039DB8: - pop {r3, pc} - nop -_02039DBC: .word sub_0203847C - thumb_func_end sub_02039D8C - - thumb_func_start sub_02039DC0 -sub_02039DC0: ; 0x02039DC0 - bx lr - .balign 4, 0 - thumb_func_end sub_02039DC0 - - thumb_func_start sub_02039DC4 -sub_02039DC4: ; 0x02039DC4 - push {r3, lr} - bl sub_02039D3C - bl ov45_0222F254 - cmp r0, #1 - bne _02039DDE - bl ov45_0222F70C - ldr r0, _02039DE0 ; =sub_02039E30 - mov r1, #0 - bl sub_020381C0 -_02039DDE: - pop {r3, pc} - .balign 4, 0 -_02039DE0: .word sub_02039E30 - thumb_func_end sub_02039DC4 - - thumb_func_start sub_02039DE4 -sub_02039DE4: ; 0x02039DE4 - push {r3, lr} - bl ov45_0222F254 - cmp r0, #1 - bne _02039DFC - bl ov45_0222F70C - ldr r0, _02039E24 ; =sub_02039E30 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039DFC: - add r0, sp, #0 - bl sub_02039D54 - ldr r0, [sp] - cmp r0, #0 - beq _02039E22 - cmp r0, #0x14 - bne _02039E16 - ldr r0, _02039E28 ; =sub_02039DC4 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039E16: - bl ov45_0222F70C - ldr r0, _02039E2C ; =sub_02039C60 - mov r1, #0 - bl sub_020381C0 -_02039E22: - pop {r3, pc} - .balign 4, 0 -_02039E24: .word sub_02039E30 -_02039E28: .word sub_02039DC4 -_02039E2C: .word sub_02039C60 - thumb_func_end sub_02039DE4 - - thumb_func_start sub_02039E30 -sub_02039E30: ; 0x02039E30 - push {r3, lr} - mov r0, #1 - bl ov00_021E5E54 - cmp r0, #0 - bge _02039E46 - ldr r0, _02039E74 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 - pop {r3, pc} -_02039E46: - bl sub_02039D08 - cmp r0, #0 - beq _02039E72 - mov r0, #0 - bl ov00_021E6BE4 - cmp r0, #0 - beq _02039E72 - bl ov00_021E6C68 - cmp r0, #0 - beq _02039E72 - bl sub_0203622C - mov r0, #0 - bl sub_020378E4 - ldr r0, _02039E78 ; =sub_02039C60 - mov r1, #0 - bl sub_020381C0 -_02039E72: - pop {r3, pc} - .balign 4, 0 -_02039E74: .word sub_02038E90 -_02039E78: .word sub_02039C60 - thumb_func_end sub_02039E30 - - thumb_func_start sub_02039E7C -sub_02039E7C: ; 0x02039E7C - push {r3, lr} - mov r0, #0 - bl ov00_021E5E54 - cmp r0, #0 - bge _02039E90 - ldr r0, _02039E98 ; =sub_02038E90 - mov r1, #0 - bl sub_020381C0 -_02039E90: - bl sub_02039D08 - pop {r3, pc} - nop -_02039E98: .word sub_02038E90 - thumb_func_end sub_02039E7C - - thumb_func_start sub_02039E9C -sub_02039E9C: ; 0x02039E9C - ldr r0, _02039EA8 ; =0x021D4150 - mov r1, #0x22 - ldr r0, [r0] - add r0, #0x4e - strb r1, [r0] - bx lr - .balign 4, 0 -_02039EA8: .word 0x021D4150 - thumb_func_end sub_02039E9C - - thumb_func_start sub_02039EAC -sub_02039EAC: ; 0x02039EAC - mov r1, #0 - str r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_02039EAC - - thumb_func_start sub_02039EB4 -sub_02039EB4: ; 0x02039EB4 - push {r4, r5, r6, lr} - add r4, r2, #0 - add r6, r1, #0 - ldr r1, [r4] - add r5, r0, #0 - cmp r1, #6 - bhi _02039F64 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02039ECE: ; jump table - .short _02039EDC - _02039ECE - 2 ; case 0 - .short _02039EE8 - _02039ECE - 2 ; case 1 - .short _02039F00 - _02039ECE - 2 ; case 2 - .short _02039F28 - _02039ECE - 2 ; case 3 - .short _02039F38 - _02039ECE - 2 ; case 4 - .short _02039F5A - _02039ECE - 2 ; case 5 - .short _02039F60 - _02039ECE - 2 ; case 6 -_02039EDC: - mov r0, #0x6f - bl sub_02037AC0 - mov r0, #1 - str r0, [r4] - b _02039F64 -_02039EE8: - mov r0, #0x6f - bl sub_02037B38 - cmp r0, #0 - beq _02039F64 - add r0, r5, #0 - add r1, r6, #0 - bl sub_02027550 - mov r0, #2 - str r0, [r4] - b _02039F64 -_02039F00: - bl sub_02027564 - add r5, r0, #0 - cmp r5, #2 - bne _02039F0E - bl GF_AssertFail -_02039F0E: - cmp r5, #1 - bne _02039F1E - mov r0, #3 - str r0, [r4] - mov r0, #0x70 - bl sub_02037AC0 - b _02039F64 -_02039F1E: - cmp r5, #3 - bne _02039F64 - mov r0, #7 - str r0, [r4] - b _02039F64 -_02039F28: - mov r0, #0x70 - bl sub_02037B38 - cmp r0, #0 - beq _02039F64 - mov r0, #4 - str r0, [r4] - b _02039F64 -_02039F38: - bl sub_02027564 - add r5, r0, #0 - cmp r5, #1 - bne _02039F46 - bl GF_AssertFail -_02039F46: - cmp r5, #2 - bne _02039F50 - mov r0, #5 - str r0, [r4] - b _02039F64 -_02039F50: - cmp r5, #3 - bne _02039F64 - mov r0, #7 - str r0, [r4] - b _02039F64 -_02039F5A: - mov r0, #6 - str r0, [r4] - b _02039F64 -_02039F60: - mov r0, #1 - pop {r4, r5, r6, pc} -_02039F64: - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_02039EB4 - - thumb_func_start sub_02039F68 -sub_02039F68: ; 0x02039F68 - push {r3, r4, r5, r6, r7, lr} - str r0, [sp] - bl sub_02037454 - add r7, r0, #0 - mov r0, #0 - bl sub_02034818 - cmp r0, #0 - beq _02039FB6 - mov r5, #0 - cmp r7, #0 - ble _02039FB6 -_02039F82: - bl sub_0203769C - cmp r5, r0 - beq _02039FB0 - add r0, r5, #0 - bl sub_020348A8 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020348CC - add r6, r0, #0 - add r0, r5, #0 - bl sub_02034818 - bl sub_02029088 - add r3, r0, #0 - ldr r0, [sp] - add r1, r4, #0 - add r2, r6, #0 - bl sub_02039FB8 -_02039FB0: - add r5, r5, #1 - cmp r5, r7 - blt _02039F82 -_02039FB6: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02039F68 - - thumb_func_start sub_02039FB8 -sub_02039FB8: ; 0x02039FB8 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0202CA94 - cmp r0, #0 - bne _02039FD4 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - mov r3, #1 - bl sub_0202CAE4 -_02039FD4: - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_02039FB8 - - thumb_func_start sub_02039FD8 -sub_02039FD8: ; 0x02039FD8 - push {r3, r4, r5, lr} - mov r1, #0x72 - lsl r1, r1, #4 - bl AllocFromHeap - add r4, r0, #0 - add r0, #0x1f - mov r1, #0x1f - bic r0, r1 - bl sub_0209FAE4 - add r5, r0, #0 - add r0, r4, #0 - bl FreeToHeap - add r0, r5, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02039FD8 - - thumb_func_start sub_02039FFC -sub_02039FFC: ; 0x02039FFC - push {r4, lr} - add r4, r0, #0 - bl LoadDwcOverlay - bl LoadOVY38 - add r0, r4, #0 - bl sub_02039FD8 - add r4, r0, #0 - bl UnloadDwcOverlay - bl UnloadOVY38 - add r0, r4, #0 - pop {r4, pc} - thumb_func_end sub_02039FFC - - thumb_func_start sub_0203A01C -sub_0203A01C: ; 0x0203A01C - push {r4, lr} - bl sub_0202C08C - add r4, r0, #0 - bl sub_020A00BC - cmp r0, #0 - bne _0203A03A - ldr r1, _0203A03C ; =0x4144414A - add r0, r4, #0 - bl sub_020A00B0 - add r0, r4, #0 - bl sub_020A0214 -_0203A03A: - pop {r4, pc} - .balign 4, 0 -_0203A03C: .word 0x4144414A - thumb_func_end sub_0203A01C - - thumb_func_start sub_0203A040 -sub_0203A040: ; 0x0203A040 - push {r3, r4, lr} - sub sp, #0xc - bl sub_0202C08C - add r4, r0, #0 - add r1, sp, #0 - bl sub_020A037C - add r0, r4, #0 - add r1, sp, #0 - bl sub_020A028C - add sp, #0xc - pop {r3, r4, pc} - thumb_func_end sub_0203A040 - - thumb_func_start sub_0203A05C -sub_0203A05C: ; 0x0203A05C - push {r4, lr} - bl sub_0202C6F4 - bl sub_0202C08C - add r4, r0, #0 - bl sub_020A0100 - cmp r0, #0 - beq _0203A07E - add r0, r4, #0 - bl sub_020A0130 - cmp r0, #0 - beq _0203A07E - mov r0, #1 - pop {r4, pc} -_0203A07E: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203A05C - - thumb_func_start sub_0203A084 -sub_0203A084: ; 0x0203A084 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - add r5, r1, #0 - str r2, [sp] - bl sub_0202C6F4 - bl sub_0202C08C - add r6, r0, #0 - add r0, r4, #0 - bl sub_0202C6F4 - mov r1, #0 - bl sub_0202C23C - add r4, r0, #0 - mov r1, #0 - ldr r0, [sp] - mvn r1, r1 - str r1, [r0] - add r0, r5, #0 - bl sub_020A008C - cmp r0, #0 - bne _0203A0BE - add sp, #8 - mov r0, #3 - pop {r3, r4, r5, r6, r7, pc} -_0203A0BE: - mov r7, #0 -_0203A0C0: - add r0, r5, #0 - add r1, r4, #0 - bl sub_020A041C - cmp r0, #0 - beq _0203A0D6 - ldr r0, [sp] - add sp, #8 - str r7, [r0] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0203A0D6: - add r0, r6, #0 - add r1, r5, #0 - bl sub_020A028C - cmp r0, #0 - ble _0203A104 - add r0, r6, #0 - add r1, r5, #0 - bl sub_020A028C - str r0, [sp, #4] - add r0, r6, #0 - add r1, r4, #0 - bl sub_020A028C - ldr r1, [sp, #4] - cmp r1, r0 - bne _0203A104 - ldr r0, [sp] - add sp, #8 - str r7, [r0] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0203A104: - ldr r0, [sp] - ldr r0, [r0] - cmp r0, #0 - bge _0203A11A - add r0, r4, #0 - bl sub_020A008C - cmp r0, #0 - bne _0203A11A - ldr r0, [sp] - str r7, [r0] -_0203A11A: - add r7, r7, #1 - add r4, #0xc - cmp r7, #0x20 - blt _0203A0C0 - mov r0, #2 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203A084 - - thumb_func_start sub_0203A128 -sub_0203A128: ; 0x0203A128 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r4, r0, #0 - str r1, [sp] - str r2, [sp, #4] - add r6, r3, #0 - bl sub_0202C6F4 - bl sub_0202C08C - add r7, r0, #0 - add r0, r4, #0 - bl sub_0202C6F4 - mov r1, #0 - bl sub_0202C23C - add r5, r0, #0 - ldr r1, [sp] - ldr r2, [sp, #4] - add r0, r7, #0 - bl sub_0209FD0C - cmp r0, #0 - bne _0203A160 - add sp, #0x18 - mov r0, #3 - pop {r3, r4, r5, r6, r7, pc} -_0203A160: - ldr r1, [sp] - ldr r2, [sp, #4] - add r0, sp, #0xc - bl sub_020A0340 - add r0, r7, #0 - add r1, sp, #0xc - bl sub_020A028C - cmp r0, #0 - bgt _0203A17C - add sp, #0x18 - mov r0, #3 - pop {r3, r4, r5, r6, r7, pc} -_0203A17C: - mov r0, #0 - mvn r0, r0 - str r0, [r6] - mov r4, #0 -_0203A184: - add r0, r7, #0 - add r1, sp, #0xc - bl sub_020A028C - str r0, [sp, #8] - add r0, r7, #0 - add r1, r5, #0 - bl sub_020A028C - ldr r1, [sp, #8] - cmp r1, r0 - bne _0203A1A4 - add sp, #0x18 - str r4, [r6] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0203A1A4: - ldr r0, [r6] - cmp r0, #0 - bge _0203A1B6 - add r0, r5, #0 - bl sub_020A008C - cmp r0, #0 - bne _0203A1B6 - str r4, [r6] -_0203A1B6: - add r4, r4, #1 - add r5, #0xc - cmp r4, #0x20 - blt _0203A184 - mov r0, #2 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203A128 - - thumb_func_start sub_0203A1C4 -sub_0203A1C4: ; 0x0203A1C4 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r6, r1, #0 - mov r1, #0 - add r5, r0, #0 - str r2, [sp, #4] - str r1, [sp, #0xc] - bl sub_0202C6F4 - mov r1, #0 - bl sub_0202C23C - str r0, [sp, #8] - mov r4, #0 - bl sub_02037454 - cmp r0, #0 - ble _0203A278 -_0203A1E8: - bl sub_0203769C - cmp r4, r0 - beq _0203A26C - add r0, r4, #0 - bl sub_0203484C - add r7, r0, #0 - beq _0203A26C - add r0, r5, #0 - add r1, r7, #0 - add r2, sp, #0x10 - bl sub_0203A084 - str r0, [r6] - cmp r0, #3 - bne _0203A20E - bl GF_AssertFail -_0203A20E: - ldr r0, [r6] - cmp r0, #0 - bne _0203A22C - mov r0, #2 - str r0, [sp] - ldr r2, [sp, #0x10] - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203A280 - add r0, r5, #0 - bl sub_02034A20 - b _0203A26C -_0203A22C: - cmp r0, #1 - bne _0203A264 - bl sub_02039998 - cmp r0, #0 - bne _0203A26C - mov r0, #1 - str r0, [sp] - ldr r2, [sp, #0x10] - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203A280 - ldr r2, [sp, #0x10] - mov r1, #0xc - add r3, r2, #0 - mul r3, r1 - ldr r1, [sp, #8] - add r0, r7, #0 - add r1, r1, r3 - mov r2, #0xc - bl sub_020D4A50 - add r0, r5, #0 - bl sub_02034A20 - b _0203A26C -_0203A264: - cmp r0, #2 - bne _0203A26C - mov r0, #1 - str r0, [sp, #0xc] -_0203A26C: - add r6, r6, #4 - add r4, r4, #1 - bl sub_02037454 - cmp r4, r0 - blt _0203A1E8 -_0203A278: - ldr r0, [sp, #0xc] - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203A1C4 - - thumb_func_start sub_0203A280 -sub_0203A280: ; 0x0203A280 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r2, #0 - str r0, [sp] - add r7, r1, #0 - str r3, [sp, #4] - bl sub_0202C6F4 - add r1, r5, #0 - add r4, r0, #0 - bl sub_0202C23C - str r0, [sp, #8] - add r0, r7, #0 - bl sub_02034818 - add r6, r0, #0 - ldr r0, [sp, #0x28] - cmp r0, #2 - beq _0203A2B6 - add r0, r7, #0 - bl sub_0203484C - ldr r1, [sp, #8] - mov r2, #0xc - bl sub_020D4A50 -_0203A2B6: - ldr r0, [sp, #0x28] - cmp r0, #0 - bne _0203A2FC - ldr r1, [sp, #4] - add r0, r6, #0 - bl sub_02028F68 - str r0, [sp, #0xc] - ldr r2, [sp, #0xc] - add r0, r4, #0 - add r1, r5, #0 - bl sub_0202C270 - ldr r0, [sp, #0xc] - bl String_dtor - add r0, r6, #0 - bl PlayerProfile_GetTrainerGender - add r3, r0, #0 - add r0, r4, #0 - add r1, r5, #0 - mov r2, #8 - bl sub_0202C190 - add r0, r6, #0 - bl sub_02028F84 - add r3, r0, #0 - add r0, r4, #0 - add r1, r5, #0 - mov r2, #0 - bl sub_0202C190 - b _0203A334 -_0203A2FC: - sub r0, r0, #1 - cmp r0, #1 - bhi _0203A334 - add r0, r4, #0 - add r1, r5, #0 - mov r2, #8 - bl sub_0202C090 - cmp r0, #2 - bne _0203A334 - add r0, r6, #0 - bl PlayerProfile_GetTrainerGender - add r3, r0, #0 - add r0, r4, #0 - add r1, r5, #0 - mov r2, #8 - bl sub_0202C190 - add r0, r6, #0 - bl sub_02028F84 - add r3, r0, #0 - add r0, r4, #0 - add r1, r5, #0 - mov r2, #0 - bl sub_0202C190 -_0203A334: - ldr r1, [sp, #4] - mov r0, #0x78 - bl String_ctor - str r0, [sp, #0x10] - add r0, r7, #0 - bl sub_02034884 - add r1, r0, #0 - ldr r0, [sp, #0x10] - bl CopyU16ArrayToString - ldr r2, [sp, #0x10] - add r0, r4, #0 - add r1, r5, #0 - bl sub_0202C2B4 - ldr r0, [sp, #0x10] - bl String_dtor - add r0, r6, #0 - bl sub_0202903C - add r3, r0, #0 - add r0, r4, #0 - add r1, r5, #0 - mov r2, #7 - bl sub_0202C190 - ldr r0, [sp] - bl sub_02034A20 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0203A280 - - thumb_func_start sub_0203A378 -sub_0203A378: ; 0x0203A378 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, r1, #0 - bl sub_0203484C - add r6, r0, #0 - add r0, r4, #0 - bl sub_0202C6F4 - add r5, r0, #0 - mov r4, #0 -_0203A38E: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0202C23C - add r1, r0, #0 - add r0, r6, #0 - bl sub_020A041C - cmp r0, #0 - beq _0203A3A6 - add r0, r4, #0 - pop {r4, r5, r6, pc} -_0203A3A6: - add r4, r4, #1 - cmp r4, #0x20 - blt _0203A38E - mov r0, #0x20 - pop {r4, r5, r6, pc} - thumb_func_end sub_0203A378 - - thumb_func_start sub_0203A3B0 -sub_0203A3B0: ; 0x0203A3B0 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r2, #0 - add r6, r3, #0 - ldr r0, [sp, #0x18] - ldr r1, [sp, #0x10] - ldr r2, [sp, #0x1c] - add r3, r4, #0 - bl sub_0203A4D4 - ldr r0, [sp, #0x18] - ldr r1, [sp, #0x10] - add r2, r4, #0 - bl sub_0203A59C - add r0, r4, #0 - mov r1, #0x24 - bl AllocFromHeapAtEnd - add r4, r0, #0 - ldr r0, _0203A428 ; =sub_0203A42C - add r1, r4, #0 - mov r2, #5 - bl sub_0200E374 - str r0, [r4, #0x18] - ldr r2, [sp, #0x1c] - strh r5, [r4, #0xc] - asr r1, r2, #4 - lsr r1, r1, #0x1b - add r1, r2, r1 - asr r2, r1, #5 - add r1, r4, #0 - strh r6, [r4, #0xe] - mov r0, #0 - str r0, [r4] - add r1, #0x20 - strb r2, [r1] - add r1, r4, #0 - ldr r2, [sp, #0x18] - add r1, #0x21 - strb r2, [r1] - add r1, r4, #0 - add r1, #0x22 - strb r0, [r1] - mov r1, #3 - str r1, [r4, #4] - ldr r1, [sp, #0x14] - str r1, [r4, #0x14] - ldr r1, [sp, #0x10] - str r0, [r4, #8] - strb r1, [r4, #0x10] - strb r0, [r4, #0x12] - strb r0, [r4, #0x11] - mov r0, #7 - lsl r0, r0, #0x18 - str r0, [r4, #0x1c] - add r0, r4, #0 - pop {r4, r5, r6, pc} - nop -_0203A428: .word sub_0203A42C - thumb_func_end sub_0203A3B0 - - thumb_func_start sub_0203A42C -sub_0203A42C: ; 0x0203A42C - ldr r3, _0203A434 ; =sub_0203A700 - add r0, r1, #0 - bx r3 - nop -_0203A434: .word sub_0203A700 - thumb_func_end sub_0203A42C - - thumb_func_start sub_0203A438 -sub_0203A438: ; 0x0203A438 - cmp r1, #4 - bge _0203A442 - str r1, [r0, #4] - mov r1, #0 - str r1, [r0, #8] -_0203A442: - bx lr - thumb_func_end sub_0203A438 - - thumb_func_start sub_0203A444 -sub_0203A444: ; 0x0203A444 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x18] - bl sub_0200E390 - mov r0, #7 - ldr r2, _0203A470 ; =0x40000200 - lsl r0, r0, #0x18 - str r2, [r0] - mov r1, #0 - strh r1, [r0, #4] - ldrb r0, [r4, #0x12] - cmp r0, #0 - beq _0203A466 - ldr r0, _0203A474 ; =0x07000400 - str r2, [r0] - strh r1, [r0, #4] -_0203A466: - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - nop -_0203A470: .word 0x40000200 -_0203A474: .word 0x07000400 - thumb_func_end sub_0203A444 - - thumb_func_start sub_0203A478 -sub_0203A478: ; 0x0203A478 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - mov r2, #7 - ldrb r1, [r5, #0x10] - mov r0, #2 - lsl r2, r2, #6 - add r3, r6, #0 - bl sub_0203A4D4 - ldrb r1, [r5, #0x10] - mov r0, #2 - add r2, r6, #0 - bl sub_0203A59C - cmp r4, #0 - beq _0203A4A0 - mov r0, #1 - b _0203A4A2 -_0203A4A0: - mov r0, #2 -_0203A4A2: - strb r0, [r5, #0x11] - mov r0, #1 - strb r0, [r5, #0x12] - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203A478 - - thumb_func_start sub_0203A4AC -sub_0203A4AC: ; 0x0203A4AC - push {r3, lr} - mov r1, #0x96 - lsl r1, r1, #2 - bl AllocFromHeapAtEnd - str r0, [sp] - ldr r0, _0203A4D0 ; =0x0210F930 - add r1, sp, #0 - bl sub_0201A3F8 - mov r1, #0x96 - ldr r0, [sp] - lsl r1, r1, #2 - bl DC_FlushRange - ldr r0, [sp] - pop {r3, pc} - nop -_0203A4D0: .word 0x0210F930 - thumb_func_end sub_0203A4AC - - thumb_func_start sub_0203A4D4 -sub_0203A4D4: ; 0x0203A4D4 - push {r3, r4, r5, lr} - sub sp, #8 - mov r1, #0x96 - add r5, r0, #0 - add r0, r3, #0 - lsl r1, r1, #2 - add r4, r2, #0 - bl AllocFromHeapAtEnd - str r0, [sp, #4] - cmp r0, #0 - beq _0203A52A - ldr r0, _0203A530 ; =0x0210F930 - add r1, sp, #4 - bl sub_0201A3F8 - mov r1, #0x96 - ldr r0, [sp, #4] - lsl r1, r1, #2 - bl DC_FlushRange - ldr r0, [sp, #4] - add r1, sp, #0 - bl NNS_G2dGetUnpackedPaletteData - cmp r5, #1 - bne _0203A518 - ldr r0, [sp] - add r1, r4, #0 - ldr r0, [r0, #0xc] - mov r2, #0x20 - bl GX_LoadOBJPltt - b _0203A524 -_0203A518: - ldr r0, [sp] - add r1, r4, #0 - ldr r0, [r0, #0xc] - mov r2, #0x20 - bl GXS_LoadOBJPltt -_0203A524: - ldr r0, [sp, #4] - bl FreeToHeap -_0203A52A: - add sp, #8 - pop {r3, r4, r5, pc} - nop -_0203A530: .word 0x0210F930 - thumb_func_end sub_0203A4D4 - - thumb_func_start sub_0203A534 -sub_0203A534: ; 0x0203A534 - push {r0, r1, r2, r3} - push {r3, lr} - cmp r0, #0 - ldr r0, _0203A58C ; =0x00300010 - beq _0203A550 - cmp r1, r0 - bne _0203A546 - bl GF_AssertFail -_0203A546: - ldr r0, _0203A590 ; =0x0210F940 - add r1, sp, #0x14 - bl sub_0201A3F8 - b _0203A578 -_0203A550: - cmp r1, r0 - add r1, sp, #0x14 - beq _0203A568 - ldr r0, _0203A594 ; =0x0210F954 - bl sub_0201A3F8 - mov r1, #0x96 - ldr r0, [sp, #0x14] - lsl r1, r1, #2 - bl DC_FlushRange - b _0203A578 -_0203A568: - ldr r0, _0203A598 ; =0x0210F964 - bl sub_0201A3F8 - mov r1, #0x13 - ldr r0, [sp, #0x14] - lsl r1, r1, #6 - bl DC_FlushRange -_0203A578: - ldr r0, [sp, #0x14] - add r1, sp, #0 - bl NNS_G2dGetUnpackedBGCharacterData - ldr r0, [sp] - pop {r3} - pop {r3} - add sp, #0x10 - bx r3 - nop -_0203A58C: .word 0x00300010 -_0203A590: .word 0x0210F940 -_0203A594: .word 0x0210F954 -_0203A598: .word 0x0210F964 - thumb_func_end sub_0203A534 - - thumb_func_start sub_0203A59C -sub_0203A59C: ; 0x0203A59C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r0, #0 - add r5, r2, #0 - str r1, [sp] - cmp r7, #1 - bne _0203A5BC - mov r0, #1 - lsl r0, r0, #0x1a - ldr r1, [r0] - ldr r0, _0203A6E8 ; =0x00300010 - add r4, r1, #0 - and r4, r0 - bl sub_020CEBEC - b _0203A5CA -_0203A5BC: - ldr r0, _0203A6EC ; =0x04001000 - ldr r1, [r0] - ldr r0, _0203A6E8 ; =0x00300010 - add r4, r1, #0 - and r4, r0 - bl sub_020CEC1C -_0203A5CA: - add r6, r0, #0 - ldr r0, _0203A6E8 ; =0x00300010 - cmp r4, r0 - bne _0203A5E0 - mov r1, #0x13 - add r0, r5, #0 - lsl r1, r1, #6 - bl AllocFromHeapAtEnd - str r0, [sp, #4] - b _0203A5EC -_0203A5E0: - mov r1, #0x96 - add r0, r5, #0 - lsl r1, r1, #2 - bl AllocFromHeapAtEnd - str r0, [sp, #4] -_0203A5EC: - ldr r0, [sp, #4] - cmp r0, #0 - beq _0203A6E2 - ldr r0, [sp] - ldr r3, [sp, #4] - add r1, r4, #0 - add r2, r5, #0 - bl sub_0203A534 - add r5, r0, #0 - ldr r0, _0203A6F0 ; =0x00100010 - cmp r4, r0 - bgt _0203A60E - bge _0203A634 - cmp r4, #0x10 - beq _0203A620 - b _0203A66E -_0203A60E: - ldr r0, _0203A6F4 ; =0x00200010 - cmp r4, r0 - bgt _0203A618 - beq _0203A64E - b _0203A66E -_0203A618: - ldr r0, _0203A6E8 ; =0x00300010 - cmp r4, r0 - beq _0203A668 - b _0203A66E -_0203A620: - cmp r6, #0x40 - beq _0203A628 - cmp r6, #0x20 - bne _0203A62E -_0203A628: - mov r6, #0x3e - lsl r6, r6, #8 - b _0203A672 -_0203A62E: - mov r6, #0x7e - lsl r6, r6, #8 - b _0203A672 -_0203A634: - cmp r6, #0x40 - beq _0203A642 - cmp r6, #0x20 - beq _0203A642 - lsr r0, r0, #0xc - cmp r6, r0 - bne _0203A648 -_0203A642: - mov r6, #0x3e - lsl r6, r6, #8 - b _0203A672 -_0203A648: - mov r6, #0xfe - lsl r6, r6, #8 - b _0203A672 -_0203A64E: - cmp r6, #0x30 - beq _0203A656 - cmp r6, #0x50 - bne _0203A65A -_0203A656: - ldr r6, _0203A6F8 ; =0x00013E00 - b _0203A672 -_0203A65A: - cmp r6, #0x10 - bne _0203A664 - mov r6, #0xfe - lsl r6, r6, #8 - b _0203A672 -_0203A664: - ldr r6, _0203A6FC ; =0x0001FE00 - b _0203A672 -_0203A668: - mov r6, #0xff - lsl r6, r6, #0xa - b _0203A672 -_0203A66E: - mov r6, #0xfe - lsl r6, r6, #8 -_0203A672: - cmp r7, #1 - ldr r0, _0203A6E8 ; =0x00300010 - bne _0203A6AA - cmp r4, r0 - ldr r0, [r5, #0x14] - beq _0203A694 - mov r1, #2 - lsl r1, r1, #8 - bl DC_FlushRange - mov r2, #2 - ldr r0, [r5, #0x14] - add r1, r6, #0 - lsl r2, r2, #8 - bl sub_020CFE74 - b _0203A6DC -_0203A694: - mov r1, #1 - lsl r1, r1, #0xa - bl DC_FlushRange - mov r2, #1 - ldr r0, [r5, #0x14] - add r1, r6, #0 - lsl r2, r2, #0xa - bl sub_020CFE74 - b _0203A6DC -_0203A6AA: - cmp r4, r0 - ldr r0, [r5, #0x14] - beq _0203A6C6 - mov r1, #2 - lsl r1, r1, #8 - bl DC_FlushRange - mov r2, #2 - ldr r0, [r5, #0x14] - add r1, r6, #0 - lsl r2, r2, #8 - bl sub_020CFECC - b _0203A6DC -_0203A6C6: - mov r1, #1 - lsl r1, r1, #0xa - bl DC_FlushRange - mov r1, #0xf - mov r2, #1 - ldr r0, [r5, #0x14] - lsl r1, r1, #0xa - lsl r2, r2, #0xa - bl sub_020CFECC -_0203A6DC: - ldr r0, [sp, #4] - bl FreeToHeap -_0203A6E2: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203A6E8: .word 0x00300010 -_0203A6EC: .word 0x04001000 -_0203A6F0: .word 0x00100010 -_0203A6F4: .word 0x00200010 -_0203A6F8: .word 0x00013E00 -_0203A6FC: .word 0x0001FE00 - thumb_func_end sub_0203A59C - - thumb_func_start sub_0203A700 -sub_0203A700: ; 0x0203A700 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldrb r0, [r5, #0x11] - cmp r0, #1 - beq _0203A710 - cmp r0, #2 - beq _0203A726 - b _0203A73C -_0203A710: - ldr r0, _0203A850 ; =0x04000304 - ldrh r1, [r0] - lsr r0, r0, #0xb - and r0, r1 - asr r0, r0, #0xf - cmp r0, #1 - bne _0203A722 - mov r7, #1 - b _0203A742 -_0203A722: - mov r7, #2 - b _0203A742 -_0203A726: - ldr r0, _0203A850 ; =0x04000304 - ldrh r1, [r0] - lsr r0, r0, #0xb - and r0, r1 - asr r0, r0, #0xf - cmp r0, #1 - bne _0203A738 - mov r7, #2 - b _0203A742 -_0203A738: - mov r7, #1 - b _0203A742 -_0203A73C: - add r0, r5, #0 - add r0, #0x21 - ldrb r7, [r0] -_0203A742: - ldr r4, [r5, #4] - cmp r7, #1 - bne _0203A75A - mov r0, #1 - lsl r0, r0, #0x1a - ldr r1, [r0] - ldr r0, _0203A854 ; =0x00300010 - add r6, r1, #0 - and r6, r0 - bl sub_020CEBEC - b _0203A768 -_0203A75A: - ldr r0, _0203A858 ; =0x04001000 - ldr r1, [r0] - ldr r0, _0203A854 ; =0x00300010 - add r6, r1, #0 - and r6, r0 - bl sub_020CEC1C -_0203A768: - ldr r1, _0203A85C ; =0x00100010 - cmp r6, r1 - bgt _0203A776 - bge _0203A7A4 - cmp r6, #0x10 - beq _0203A788 - b _0203A7F4 -_0203A776: - ldr r1, _0203A860 ; =0x00200010 - cmp r6, r1 - bgt _0203A780 - beq _0203A7BC - b _0203A7F4 -_0203A780: - ldr r1, _0203A854 ; =0x00300010 - cmp r6, r1 - beq _0203A7E0 - b _0203A7F4 -_0203A788: - cmp r0, #0x40 - beq _0203A790 - cmp r0, #0x20 - bne _0203A79A -_0203A790: - mov r0, #0x1f - lsl r1, r4, #2 - lsl r0, r0, #4 - add r3, r1, r0 - b _0203A7FC -_0203A79A: - mov r0, #0x3f - lsl r1, r4, #2 - lsl r0, r0, #4 - add r3, r1, r0 - b _0203A7FC -_0203A7A4: - cmp r0, #0x40 - beq _0203A7B2 - cmp r0, #0x20 - beq _0203A7B2 - lsr r1, r1, #0xc - cmp r0, r1 - bne _0203A7F4 -_0203A7B2: - mov r0, #0x7e - lsl r1, r4, #1 - lsl r0, r0, #2 - add r3, r1, r0 - b _0203A7FC -_0203A7BC: - cmp r0, #0x30 - beq _0203A7C4 - cmp r0, #0x50 - bne _0203A7CC -_0203A7C4: - mov r0, #0x9f - lsl r0, r0, #2 - add r3, r4, r0 - b _0203A7FC -_0203A7CC: - cmp r0, #0x10 - bne _0203A7D8 - mov r0, #0x7f - lsl r0, r0, #2 - add r3, r4, r0 - b _0203A7FC -_0203A7D8: - mov r0, #0xff - lsl r0, r0, #2 - add r3, r4, r0 - b _0203A7FC -_0203A7E0: - cmp r0, #3 - bne _0203A7EC - mov r0, #0xff - lsl r0, r0, #2 - add r3, r4, r0 - b _0203A7FC -_0203A7EC: - mov r0, #0x7f - lsl r0, r0, #2 - add r3, r4, r0 - b _0203A7FC -_0203A7F4: - mov r0, #0xfe - lsl r1, r4, #1 - lsl r0, r0, #2 - add r3, r1, r0 -_0203A7FC: - cmp r7, #1 - bne _0203A806 - mov r4, #7 - lsl r4, r4, #0x18 - b _0203A808 -_0203A806: - ldr r4, _0203A864 ; =0x07000400 -_0203A808: - add r0, r5, #0 - add r0, #0x20 - ldrb r2, [r0] - add r0, r5, #0 - add r0, #0x22 - ldrb r1, [r0] - ldrh r6, [r5, #0xe] - ldrh r0, [r5, #0xc] - lsl r1, r1, #0xa - lsl r6, r6, #0x18 - lsr r6, r6, #0x18 - orr r6, r1 - mov r1, #1 - lsl r0, r0, #0x17 - lsl r1, r1, #0x1e - lsr r0, r0, #7 - orr r1, r6 - orr r0, r1 - str r0, [r4] - lsl r0, r2, #0xc - orr r0, r3 - strh r0, [r4, #4] - ldr r0, [r5, #0x1c] - cmp r4, r0 - beq _0203A84E - add r1, r5, #0 - add r1, #0x22 - ldrb r1, [r1] - lsl r2, r1, #0xa - ldr r1, _0203A868 ; =0x40000200 - orr r1, r2 - str r1, [r0] - mov r1, #0 - strh r1, [r0, #4] - str r4, [r5, #0x1c] -_0203A84E: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203A850: .word 0x04000304 -_0203A854: .word 0x00300010 -_0203A858: .word 0x04001000 -_0203A85C: .word 0x00100010 -_0203A860: .word 0x00200010 -_0203A864: .word 0x07000400 -_0203A868: .word 0x40000200 - thumb_func_end sub_0203A700 - - thumb_func_start sub_0203A86C -sub_0203A86C: ; 0x0203A86C - push {r3, lr} - ldr r0, _0203A87C ; =0x021D4154 - ldr r0, [r0] - cmp r0, #0 - beq _0203A87A - bl sub_0203A700 -_0203A87A: - pop {r3, pc} - .balign 4, 0 -_0203A87C: .word 0x021D4154 - thumb_func_end sub_0203A86C - - thumb_func_start sub_0203A880 -sub_0203A880: ; 0x0203A880 - push {r3, r4, lr} - sub sp, #4 - mov r4, #0 - bl sub_02039998 - cmp r0, #0 - beq _0203A890 - mov r4, #1 -_0203A890: - mov r0, #7 - lsl r0, r0, #6 - str r0, [sp] - mov r0, #0xf0 - mov r1, #0 - add r2, r4, #0 - mov r3, #1 - bl sub_0203A8CC - add sp, #4 - pop {r3, r4, pc} - .balign 4, 0 - thumb_func_end sub_0203A880 - - thumb_func_start sub_0203A8A8 -sub_0203A8A8: ; 0x0203A8A8 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 - bl sub_02039998 - cmp r0, #0 - beq _0203A8B8 - mov r4, #1 -_0203A8B8: - mov r0, #0x1e - lsl r0, r0, #4 - str r0, [sp] - mov r0, #0xf0 - mov r1, #0 - add r2, r4, #0 - add r3, r5, #0 - bl sub_0203A8CC - pop {r3, r4, r5, pc} - thumb_func_end sub_0203A8A8 - - thumb_func_start sub_0203A8CC -sub_0203A8CC: ; 0x0203A8CC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r6, r0, #0 - add r7, r1, #0 - add r5, r2, #0 - add r4, r3, #0 - bl sub_02034DCC - cmp r0, #0 - beq _0203A908 - ldr r0, _0203A90C ; =0x021D4154 - ldr r0, [r0] - cmp r0, #0 - beq _0203A8EC - bl sub_0203A914 -_0203A8EC: - ldr r0, _0203A910 ; =0x0210F91C - str r5, [sp] - str r0, [sp, #4] - ldr r0, [sp, #0x28] - str r4, [sp, #8] - str r0, [sp, #0xc] - mov r0, #0 - mov r1, #0x59 - add r2, r6, #0 - add r3, r7, #0 - bl sub_0203A3B0 - ldr r1, _0203A90C ; =0x021D4154 - str r0, [r1] -_0203A908: - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203A90C: .word 0x021D4154 -_0203A910: .word 0x0210F91C - thumb_func_end sub_0203A8CC - - thumb_func_start sub_0203A914 -sub_0203A914: ; 0x0203A914 - push {r3, lr} - ldr r0, _0203A92C ; =0x021D4154 - ldr r0, [r0] - cmp r0, #0 - beq _0203A928 - bl sub_0203A444 - ldr r0, _0203A92C ; =0x021D4154 - mov r1, #0 - str r1, [r0] -_0203A928: - pop {r3, pc} - nop -_0203A92C: .word 0x021D4154 - thumb_func_end sub_0203A914 - - thumb_func_start sub_0203A930 -sub_0203A930: ; 0x0203A930 - push {r3, lr} - add r1, r0, #0 - ldr r0, _0203A944 ; =0x021D4154 - ldr r0, [r0] - cmp r0, #0 - beq _0203A940 - bl sub_0203A438 -_0203A940: - pop {r3, pc} - nop -_0203A944: .word 0x021D4154 - thumb_func_end sub_0203A930 - - thumb_func_start sub_0203A948 -sub_0203A948: ; 0x0203A948 - push {r3, lr} - add r3, r0, #0 - ldr r0, _0203A960 ; =0x021D4154 - add r2, r1, #0 - ldr r0, [r0] - cmp r0, #0 - beq _0203A95C - add r1, r3, #0 - bl sub_0203A478 -_0203A95C: - pop {r3, pc} - nop -_0203A960: .word 0x021D4154 - thumb_func_end sub_0203A948 - - thumb_func_start sub_0203A964 -sub_0203A964: ; 0x0203A964 - push {r3, lr} - bl sub_02037474 - cmp r0, #0 - beq _0203A984 - bl sub_02037454 - cmp r0, #1 - bgt _0203A97E - bl sub_02039998 - cmp r0, #0 - beq _0203A990 -_0203A97E: - bl sub_0203A880 - pop {r3, pc} -_0203A984: - bl sub_02039998 - cmp r0, #0 - beq _0203A990 - bl sub_0203A880 -_0203A990: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203A964 - - thumb_func_start sub_0203A994 -sub_0203A994: ; 0x0203A994 - push {r4, lr} - add r4, r0, #0 - bl sub_02037474 - cmp r0, #0 - beq _0203A9B8 - bl sub_02037454 - cmp r0, #1 - bgt _0203A9B0 - bl sub_02039998 - cmp r0, #0 - beq _0203A9C6 -_0203A9B0: - add r0, r4, #0 - bl sub_0203A8A8 - pop {r4, pc} -_0203A9B8: - bl sub_02039998 - cmp r0, #0 - beq _0203A9C6 - add r0, r4, #0 - bl sub_0203A8A8 -_0203A9C6: - pop {r4, pc} - thumb_func_end sub_0203A994 - - thumb_func_start sub_0203A9C8 -sub_0203A9C8: ; 0x0203A9C8 - ldr r0, _0203A9D8 ; =0x021D4154 - ldr r1, [r0] - cmp r1, #0 - beq _0203A9D6 - mov r0, #1 - add r1, #0x22 - strb r0, [r1] -_0203A9D6: - bx lr - .balign 4, 0 -_0203A9D8: .word 0x021D4154 - thumb_func_end sub_0203A9C8 - - thumb_func_start sub_0203A9DC -sub_0203A9DC: ; 0x0203A9DC - ldr r3, _0203A9F0 ; =OSi_IntrTable - ldr r1, _0203A9F4 ; =0x00003FF8 - mov r0, #1 - ldr r2, [r3, r1] - orr r0, r2 - str r0, [r3, r1] - ldr r3, _0203A9F8 ; =sub_020D422C - mov r0, #3 - bx r3 - nop -_0203A9F0: .word OSi_IntrTable -_0203A9F4: .word 0x00003FF8 -_0203A9F8: .word sub_020D422C - thumb_func_end sub_0203A9DC - - thumb_func_start sub_0203A9FC -sub_0203A9FC: ; 0x0203A9FC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_020393C8 - cmp r0, #0 - beq _0203AA10 - bl sub_02037D78 - cmp r0, #0 - bne _0203AA14 -_0203AA10: - mov r0, #0 - pop {r3, r4, r5, pc} -_0203AA14: - bl sub_020392D8 - add r4, r0, #0 - ldr r0, [r4] - ldr r1, [r4, #4] - bl ov00_021E6A70 - ldr r1, [r4] - cmp r0, #0xb - str r1, [r5] - beq _0203AA36 - cmp r0, #0xe - bge _0203AA36 - ldr r0, [r4] - sub r0, #0x19 - cmp r0, #1 - bhi _0203AA40 -_0203AA36: - ldr r0, [r4, #4] - cmp r0, #2 - beq _0203AA40 - mov r0, #0 - pop {r3, r4, r5, pc} -_0203AA40: - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203A9FC - - thumb_func_start sub_0203AA44 -sub_0203AA44: ; 0x0203AA44 - push {r0, r1, r2, r3} - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r4, r0, #0 - cmp r1, #6 - bhi _0203AA6A - add r0, r1, r1 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203AA5C: ; jump table - .short _0203AA6A - _0203AA5C - 2 ; case 0 - .short _0203AA6E - _0203AA5C - 2 ; case 1 - .short _0203AA72 - _0203AA5C - 2 ; case 2 - .short _0203AA76 - _0203AA5C - 2 ; case 3 - .short _0203AA7A - _0203AA5C - 2 ; case 4 - .short _0203AA7E - _0203AA5C - 2 ; case 5 - .short _0203AA90 - _0203AA5C - 2 ; case 6 -_0203AA6A: - mov r5, #1 - b _0203AAA0 -_0203AA6E: - mov r5, #2 - b _0203AAA0 -_0203AA72: - mov r5, #3 - b _0203AAA0 -_0203AA76: - mov r5, #4 - b _0203AAA0 -_0203AA7A: - mov r5, #5 - b _0203AAA0 -_0203AA7E: - add r0, sp, #0x40 - bl sub_0203A9FC - cmp r0, #0 - bne _0203AA8C - mov r5, #6 - b _0203AAA0 -_0203AA8C: - mov r5, #8 - b _0203AAA0 -_0203AA90: - add r0, sp, #0x40 - bl sub_0203A9FC - cmp r0, #0 - bne _0203AA9E - mov r5, #7 - b _0203AAA0 -_0203AA9E: - mov r5, #9 -_0203AAA0: - mov r0, #0 - add r1, r0, #0 - bl sub_0200FBF4 - mov r0, #1 - mov r1, #0 - bl sub_0200FBF4 - mov r0, #1 - bl sub_020D1204 - ldr r1, _0203AC54 ; =sub_0203A9DC - mov r0, #1 - bl sub_020D1004 - mov r0, #1 - bl sub_020D11D4 - mov r0, #0 - add r1, r0, #0 - bl sub_0201A0FC - mov r0, #0 - add r1, r0, #0 - bl sub_0201A120 - bl sub_02022C54 - bl sub_02022CBC - mov r2, #1 - lsl r2, r2, #0x1a - ldr r1, [r2] - ldr r0, _0203AC58 ; =0xFFFFE0FF - and r1, r0 - str r1, [r2] - ldr r2, _0203AC5C ; =0x04001000 - ldr r1, [r2] - and r0, r1 - str r0, [r2] - mov r0, #4 - mov r1, #8 - bl sub_0201A71C - ldr r0, _0203AC60 ; =gMain + 0x60 - mov r1, #0 - strb r1, [r0, #9] - bl sub_02022D3C - ldr r3, _0203AC64 ; =0x04000050 - mov r1, #0 - strh r1, [r3] - ldr r0, _0203AC68 ; =0x04001050 - sub r3, #0x50 - strh r1, [r0] - ldr r2, [r3] - ldr r1, _0203AC6C ; =0xFFFF1FFF - sub r0, #0x50 - and r2, r1 - str r2, [r3] - ldr r2, [r0] - and r1, r2 - str r1, [r0] - ldr r0, _0203AC70 ; =0x020F6B04 - bl GX_SetBanks - add r0, r4, #0 - bl sub_0201AC88 - add r6, r0, #0 - ldr r0, _0203AC74 ; =0x020F6AD8 - bl sub_0201ACB0 - mov r1, #0 - ldr r2, _0203AC78 ; =0x020F6AE8 - add r0, r6, #0 - add r3, r1, #0 - bl sub_0201B1E4 - add r0, r6, #0 - mov r1, #0 - bl sub_0201CAE0 - mov r1, #0 - str r1, [sp] - ldr r2, _0203AC7C ; =0x000001F7 - add r0, r6, #0 - mov r3, #2 - str r4, [sp, #4] - bl sub_0200E3DC - mov r0, #0 - mov r1, #0x20 - add r2, r4, #0 - bl sub_02003030 - mov r0, #0 - mov r1, #0x20 - add r2, r0, #0 - add r3, r4, #0 - bl sub_0201C1C4 - ldr r1, _0203AC80 ; =0x00006C21 - mov r0, #0 - bl sub_0201C2D8 - ldr r1, _0203AC80 ; =0x00006C21 - mov r0, #4 - bl sub_0201C2D8 - mov r0, #1 - mov r1, #0x1b - mov r2, #0x29 - add r3, r4, #0 - bl NewMsgDataFromNarc - str r0, [sp, #0xc] - mov r0, #6 - lsl r0, r0, #6 - add r1, r4, #0 - bl String_ctor - add r7, r0, #0 - mov r0, #6 - lsl r0, r0, #6 - add r1, r4, #0 - bl String_ctor - str r0, [sp, #0x10] - bl sub_02020080 - add r0, r4, #0 - bl ScrStrBufs_new - add r4, r0, #0 - ldr r2, _0203AC84 ; =0x020F6AD0 - add r0, r6, #0 - add r1, sp, #0x14 - bl AddWindow - mov r0, #0xd0 - str r0, [sp] - mov r0, #0x90 - mov r2, #0 - str r0, [sp, #4] - add r0, sp, #0x14 - mov r1, #0xf - add r3, r2, #0 - bl FillWindowPixelRect - ldr r2, _0203AC7C ; =0x000001F7 - add r0, sp, #0x14 - mov r1, #0 - mov r3, #2 - bl sub_0200E580 - mov r0, #2 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r2, [sp, #0x40] - add r0, r4, #0 - mov r1, #0 - mov r3, #5 - bl BufferIntegerAsString - ldr r0, [sp, #0xc] - ldr r2, [sp, #0x10] - add r1, r5, #0 - bl ReadMsgDataIntoString - ldr r2, [sp, #0x10] - add r0, r4, #0 - add r1, r7, #0 - bl StringExpandPlaceholders - mov r1, #0 - str r1, [sp] - str r1, [sp, #4] - add r0, sp, #0x14 - add r2, r7, #0 - add r3, r1, #0 - str r1, [sp, #8] - bl AddTextPrinterParameterized - add r0, r7, #0 - bl String_dtor - bl sub_02022D24 - mov r0, #0 - bl sub_0200FBE8 - mov r0, #1 - bl sub_0200FBE8 - mov r0, #0 - mov r1, #0x3f - mov r2, #3 - bl sub_0200B4F0 - add r0, sp, #0x14 - bl RemoveWindow - ldr r0, [sp, #0xc] - bl DestroyMsgData - add r0, r4, #0 - bl ScrStrBufs_delete - add r0, r6, #0 - bl FreeToHeap - add sp, #0x24 - pop {r4, r5, r6, r7} - pop {r3} - add sp, #0x10 - bx r3 - .balign 4, 0 -_0203AC54: .word sub_0203A9DC -_0203AC58: .word 0xFFFFE0FF -_0203AC5C: .word 0x04001000 -_0203AC60: .word gMain + 0x60 -_0203AC64: .word 0x04000050 -_0203AC68: .word 0x04001050 -_0203AC6C: .word 0xFFFF1FFF -_0203AC70: .word 0x020F6B04 -_0203AC74: .word 0x020F6AD8 -_0203AC78: .word 0x020F6AE8 -_0203AC7C: .word 0x000001F7 -_0203AC80: .word 0x00006C21 -_0203AC84: .word 0x020F6AD0 - thumb_func_end sub_0203AA44 - - thumb_func_start sub_0203AC88 -sub_0203AC88: ; 0x0203AC88 - ldr r0, _0203AC8C ; =0x020F6B2C - bx lr - .balign 4, 0 -_0203AC8C: .word 0x020F6B2C - thumb_func_end sub_0203AC88 - - thumb_func_start sub_0203AC90 -sub_0203AC90: ; 0x0203AC90 - mov r0, #3 - bx lr - thumb_func_end sub_0203AC90 - - thumb_func_start ShowWFCUserInfoWarning -ShowWFCUserInfoWarning: ; 0x0203AC94 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r4, r0, #0 - mov r0, #0 - add r1, r0, #0 - bl sub_0200FBF4 - mov r0, #1 - mov r1, #0 - bl sub_0200FBF4 - mov r0, #0 - add r1, r0, #0 - bl sub_0201A0FC - mov r0, #0 - add r1, r0, #0 - bl sub_0201A120 - bl sub_02022C54 - bl sub_02022CBC - mov r2, #1 - lsl r2, r2, #0x1a - ldr r1, [r2] - ldr r0, _0203AE70 ; =0xFFFFE0FF - and r1, r0 - str r1, [r2] - ldr r2, _0203AE74 ; =0x04001000 - ldr r1, [r2] - and r0, r1 - str r0, [r2] - mov r0, #4 - mov r1, #8 - bl sub_0201A71C - ldr r0, _0203AE78 ; =gMain + 0x60 - mov r1, #0 - strb r1, [r0, #9] - bl sub_02022D3C - ldr r3, _0203AE7C ; =0x04000050 - mov r0, #0 - strh r0, [r3] - ldr r2, _0203AE80 ; =0x04001050 - sub r3, #0x50 - strh r0, [r2] - ldr r1, [r3] - ldr r0, _0203AE84 ; =0xFFFF1FFF - sub r2, #0x50 - and r1, r0 - str r1, [r3] - ldr r1, [r2] - and r0, r1 - str r0, [r2] - ldr r0, _0203AE88 ; =0x020F6B84 - bl GX_SetBanks - add r0, r4, #0 - bl sub_0201AC88 - str r0, [sp, #0x10] - ldr r0, _0203AE8C ; =0x020F6B58 - bl sub_0201ACB0 - mov r1, #0 - ldr r0, [sp, #0x10] - ldr r2, _0203AE90 ; =0x020F6B68 - add r3, r1, #0 - bl sub_0201B1E4 - ldr r0, [sp, #0x10] - mov r1, #0 - bl sub_0201CAE0 - mov r1, #0 - str r1, [sp] - ldr r0, [sp, #0x10] - ldr r2, _0203AE94 ; =0x000001F7 - mov r3, #2 - str r4, [sp, #4] - bl sub_0200E3DC - mov r0, #0 - mov r1, #0x20 - add r2, r4, #0 - bl sub_02003030 - mov r0, #0 - mov r1, #0x20 - add r2, r0, #0 - add r3, r4, #0 - bl sub_0201C1C4 - ldr r1, _0203AE98 ; =0x00006C21 - mov r0, #0 - bl sub_0201C2D8 - ldr r1, _0203AE98 ; =0x00006C21 - mov r0, #4 - bl sub_0201C2D8 - mov r2, #0x32 - mov r0, #1 - mov r1, #0x1b - lsl r2, r2, #4 - add r3, r4, #0 - bl NewMsgDataFromNarc - str r0, [sp, #0xc] - mov r0, #6 - lsl r0, r0, #6 - add r1, r4, #0 - bl String_ctor - add r4, r0, #0 - bl sub_02020080 - ldr r0, [sp, #0x10] - ldr r2, _0203AE9C ; =0x020F6B50 - add r1, sp, #0x14 - bl AddWindow - mov r0, #0xd0 - str r0, [sp] - mov r0, #0x90 - mov r2, #0 - str r0, [sp, #4] - add r0, sp, #0x14 - mov r1, #0xf - add r3, r2, #0 - bl FillWindowPixelRect - ldr r2, _0203AE94 ; =0x000001F7 - add r0, sp, #0x14 - mov r1, #0 - mov r3, #2 - bl sub_0200E580 - ldr r0, [sp, #0xc] - mov r1, #0x10 - add r2, r4, #0 - bl ReadMsgDataIntoString - mov r1, #0 - str r1, [sp] - str r1, [sp, #4] - add r0, sp, #0x14 - add r2, r4, #0 - add r3, r1, #0 - str r1, [sp, #8] - bl AddTextPrinterParameterized - add r0, r4, #0 - bl String_dtor - bl sub_02022D24 - mov r0, #0 - bl sub_0200FBE8 - mov r0, #1 - bl sub_0200FBE8 - mov r0, #0 - mov r1, #0x3f - mov r2, #3 - bl sub_0200B4F0 - ldr r4, _0203AEA0 ; =0x04000130 - ldr r6, _0203AEA4 ; =0x027FFFA8 - mov r7, #1 -_0203ADEE: - ldrh r1, [r4] - ldrh r0, [r6] - orr r1, r0 - ldr r0, _0203AEA8 ; =0x00002FFF - eor r1, r0 - and r0, r1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - bl HandleDSLidAction - add r0, r5, #0 - tst r0, r7 - bne _0203AE12 - mov r0, #1 - add r1, r0, #0 - bl OS_WaitIrq - b _0203ADEE -_0203AE12: - add r0, sp, #0x14 - bl RemoveWindow - ldr r0, [sp, #0xc] - bl DestroyMsgData - mov r0, #0 - add r1, r0, #0 - bl sub_0201BC28 - mov r0, #1 - mov r1, #0 - bl sub_0201BC28 - mov r0, #2 - mov r1, #0 - bl sub_0201BC28 - mov r0, #3 - mov r1, #0 - bl sub_0201BC28 - mov r0, #4 - mov r1, #0 - bl sub_0201BC28 - mov r0, #5 - mov r1, #0 - bl sub_0201BC28 - mov r0, #6 - mov r1, #0 - bl sub_0201BC28 - mov r0, #7 - mov r1, #0 - bl sub_0201BC28 - ldr r0, [sp, #0x10] - mov r1, #0 - bl sub_0201BB4C - ldr r0, [sp, #0x10] - bl FreeToHeap - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0203AE70: .word 0xFFFFE0FF -_0203AE74: .word 0x04001000 -_0203AE78: .word gMain + 0x60 -_0203AE7C: .word 0x04000050 -_0203AE80: .word 0x04001050 -_0203AE84: .word 0xFFFF1FFF -_0203AE88: .word 0x020F6B84 -_0203AE8C: .word 0x020F6B58 -_0203AE90: .word 0x020F6B68 -_0203AE94: .word 0x000001F7 -_0203AE98: .word 0x00006C21 -_0203AE9C: .word 0x020F6B50 -_0203AEA0: .word 0x04000130 -_0203AEA4: .word 0x027FFFA8 -_0203AEA8: .word 0x00002FFF - thumb_func_end ShowWFCUserInfoWarning - - thumb_func_start sub_0203AEAC -sub_0203AEAC: ; 0x0203AEAC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - str r2, [sp] - mov r2, #0 - strb r2, [r4, #1] - mov r7, #0x19 - mov r6, #0x96 - ldr r0, _0203AF94 ; =0x0000031F - mov ip, r1 - strb r2, [r4] - add r3, r4, #0 - add r5, r2, #0 - lsl r7, r7, #6 - lsl r6, r6, #4 -_0203AECA: - add r1, r4, r2 - strh r5, [r3, #2] - strb r5, [r1, r7] - strh r5, [r3, r6] - add r2, r2, #1 - add r3, r3, #2 - cmp r2, r0 - blt _0203AECA - ldr r0, _0203AF98 ; =0x00000F9E - mov r2, #0 -_0203AEDE: - add r1, r4, r5 - add r5, r5, #1 - strb r2, [r1, r0] - cmp r5, #0x10 - blt _0203AEDE - mov r0, #0x29 - mov r1, ip - mov r2, #0xb - bl AllocAtEndAndReadWholeNarcMemberByIdPair - add r6, r0, #0 - ldrb r0, [r6] - add r5, r6, #5 - strb r0, [r4, #1] - ldrb r0, [r6, #1] - strb r0, [r4] - ldrb r0, [r6, #2] - str r0, [sp, #8] - ldrb r0, [r6, #3] - str r0, [sp, #4] - ldrb r7, [r6, #4] - cmp r7, #0x10 - bls _0203AF10 - bl GF_AssertFail -_0203AF10: - ldr r1, _0203AF98 ; =0x00000F9E - add r0, r5, #0 - add r1, r4, r1 - add r2, r7, #0 - bl sub_020D4A50 - ldr r0, [sp, #8] - add r5, r5, r7 - cmp r0, #0 - beq _0203AF40 - ldrb r3, [r4, #1] - ldrb r2, [r4] - add r0, r5, #0 - add r1, r4, #2 - mul r2, r3 - lsl r2, r2, #1 - bl sub_020D4A50 - ldrb r1, [r4, #1] - ldrb r0, [r4] - mul r0, r1 - lsl r0, r0, #1 - add r5, r5, r0 - b _0203AF54 -_0203AF40: - ldrb r3, [r4, #1] - ldrb r2, [r4] - ldr r0, [sp] - add r1, r4, #2 - lsl r0, r0, #0x10 - mul r2, r3 - lsr r0, r0, #0x10 - lsl r2, r2, #1 - bl sub_020D4790 -_0203AF54: - ldr r0, [sp, #4] - cmp r0, #0 - beq _0203AF74 - ldrb r3, [r4, #1] - ldrb r2, [r4] - mov r1, #0x19 - lsl r1, r1, #6 - add r0, r5, #0 - add r1, r4, r1 - mul r2, r3 - bl sub_020D4A50 - ldrb r1, [r4, #1] - ldrb r0, [r4] - mul r0, r1 - add r5, r5, r0 -_0203AF74: - ldrb r3, [r4, #1] - ldrb r2, [r4] - mov r1, #0x96 - lsl r1, r1, #4 - mul r2, r3 - add r0, r5, #0 - add r1, r4, r1 - lsl r2, r2, #1 - bl sub_020D4A50 - add r0, r6, #0 - bl FreeToHeap - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_0203AF94: .word 0x0000031F -_0203AF98: .word 0x00000F9E - thumb_func_end sub_0203AEAC - - thumb_func_start sub_0203AF9C -sub_0203AF9C: ; 0x0203AF9C - push {r3, lr} - ldr r1, _0203AFB0 ; =0x00000FB2 - mov r0, #0xb - bl AllocFromHeap - mov r1, #0 - strb r1, [r0] - strb r1, [r0, #1] - strb r1, [r0, #2] - pop {r3, pc} - .balign 4, 0 -_0203AFB0: .word 0x00000FB2 - thumb_func_end sub_0203AF9C - - thumb_func_start sub_0203AFB4 -sub_0203AFB4: ; 0x0203AFB4 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0203B2AC - add r6, r0, #0 - add r0, r4, #4 - add r1, r6, #0 - add r2, r5, #0 - bl sub_0203AEAC - strb r6, [r4, #2] - ldrb r0, [r4, #4] - strb r0, [r4, #1] - ldrb r0, [r4, #5] - strb r0, [r4] - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203AFB4 - - thumb_func_start sub_0203AFD8 -sub_0203AFD8: ; 0x0203AFD8 - ldr r3, _0203AFDC ; =FreeToHeap - bx r3 - .balign 4, 0 -_0203AFDC: .word FreeToHeap - thumb_func_end sub_0203AFD8 - - thumb_func_start sub_0203AFE0 -sub_0203AFE0: ; 0x0203AFE0 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - ldrb r1, [r4] - ldrb r0, [r4, #1] - mul r0, r1 - cmp r5, r0 - blt _0203AFF4 - bl GF_AssertFail -_0203AFF4: - lsl r0, r5, #1 - add r1, r4, r0 - ldr r0, _0203B000 ; =0x00000964 - ldrh r0, [r1, r0] - pop {r3, r4, r5, pc} - nop -_0203B000: .word 0x00000964 - thumb_func_end sub_0203AFE0 - - thumb_func_start sub_0203B004 -sub_0203B004: ; 0x0203B004 - push {r4, lr} - add r4, r0, #0 - bne _0203B00E - bl GF_AssertFail -_0203B00E: - ldrb r0, [r4] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B004 - - thumb_func_start sub_0203B014 -sub_0203B014: ; 0x0203B014 - push {r4, lr} - add r4, r0, #0 - bne _0203B01E - bl GF_AssertFail -_0203B01E: - ldrb r0, [r4, #1] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B014 - - thumb_func_start sub_0203B024 -sub_0203B024: ; 0x0203B024 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - ldrb r0, [r7, #1] - add r5, r1, #0 - add r4, r2, #0 - ldrb r6, [r7] - str r0, [sp] - cmp r5, #0 - blt _0203B03A - cmp r5, r6 - blt _0203B03E -_0203B03A: - bl GF_AssertFail -_0203B03E: - cmp r4, #0 - blt _0203B048 - ldr r0, [sp] - cmp r4, r0 - blt _0203B04C -_0203B048: - bl GF_AssertFail -_0203B04C: - add r0, r4, #0 - mul r0, r6 - add r0, r5, r0 - lsl r0, r0, #1 - add r0, r7, r0 - ldrh r0, [r0, #6] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203B024 - - thumb_func_start sub_0203B05C -sub_0203B05C: ; 0x0203B05C - ldrb r0, [r0, #2] - bx lr - thumb_func_end sub_0203B05C - - thumb_func_start sub_0203B060 -sub_0203B060: ; 0x0203B060 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [sp, #0x10] - add r4, r2, #0 - add r6, r3, #0 - cmp r4, r0 - blt _0203B072 - bl GF_AssertFail -_0203B072: - ldr r0, [sp, #0x10] - mul r0, r6 - add r4, r4, r0 - ldr r0, _0203B08C ; =0x0000031F - cmp r4, r0 - blt _0203B082 - bl GF_AssertFail -_0203B082: - ldr r0, _0203B090 ; =0x00000644 - add r1, r5, r4 - ldrb r0, [r1, r0] - pop {r4, r5, r6, pc} - nop -_0203B08C: .word 0x0000031F -_0203B090: .word 0x00000644 - thumb_func_end sub_0203B060 - - thumb_func_start sub_0203B094 -sub_0203B094: ; 0x0203B094 - push {r3, r4, r5, lr} - ldr r1, _0203B0C4 ; =0x0000063E - add r4, r0, #0 - bl AllocFromHeap - add r5, r0, #0 - mov r0, #0x29 - mov r1, #0 - add r2, r4, #0 - bl AllocAtEndAndReadWholeNarcMemberByIdPair - add r4, r0, #0 - ldrb r1, [r4, #4] - add r0, r4, #5 - ldr r2, _0203B0C4 ; =0x0000063E - add r0, r0, r1 - add r1, r5, #0 - bl sub_020D4A50 - add r0, r4, #0 - bl FreeToHeap - add r0, r5, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203B0C4: .word 0x0000063E - thumb_func_end sub_0203B094 - - thumb_func_start sub_0203B0C8 -sub_0203B0C8: ; 0x0203B0C8 - push {r4, lr} - add r4, r0, #0 - bne _0203B0D2 - bl GF_AssertFail -_0203B0D2: - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B0C8 - - thumb_func_start sub_0203B0DC -sub_0203B0DC: ; 0x0203B0DC - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bne _0203B0E8 - bl GF_AssertFail -_0203B0E8: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203AFE0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203B0DC - - thumb_func_start sub_0203B0F4 -sub_0203B0F4: ; 0x0203B0F4 - ldr r1, _0203B110 ; =0x00000964 - ldrb r2, [r0] - add r3, r0, r1 - ldrb r0, [r0, #2] - cmp r0, #0 - bne _0203B10C - lsl r0, r2, #2 - add r0, r2, r0 - add r0, #0x10 - mov r1, #0x56 - lsl r0, r0, #1 - strh r1, [r3, r0] -_0203B10C: - bx lr - nop -_0203B110: .word 0x00000964 - thumb_func_end sub_0203B0F4 - - thumb_func_start sub_0203B114 -sub_0203B114: ; 0x0203B114 - push {r3, r4, r5, lr} - sub sp, #0x10 - add r5, r1, #0 - bl sub_020503D0 - add r4, r0, #0 - add r0, sp, #0 - bl GF_RTC_CopyDate - add r0, r4, #0 - mov r1, #0xca - bl sub_020503DC - cmp r0, #0 - bne _0203B140 - add r0, r4, #0 - mov r1, #1 - bl sub_02066C4C - add sp, #0x10 - mov r0, #0 - pop {r3, r4, r5, pc} -_0203B140: - cmp r5, #0x58 - beq _0203B148 - cmp r5, #0x2d - bne _0203B14E -_0203B148: - ldr r0, [sp, #0xc] - cmp r0, #3 - beq _0203B15C -_0203B14E: - add r0, r4, #0 - mov r1, #1 - bl sub_02066C4C - add sp, #0x10 - mov r0, #0 - pop {r3, r4, r5, pc} -_0203B15C: - add r0, r4, #0 - mov r1, #1 - bl sub_02066C1C - mov r0, #1 - add sp, #0x10 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203B114 - - thumb_func_start sub_0203B16C -sub_0203B16C: ; 0x0203B16C - ldr r2, _0203B1F8 ; =0x00000964 - add r3, r0, r2 - ldrb r2, [r0] - ldrb r0, [r0, #2] - cmp r0, #0 - bne _0203B1F6 - cmp r1, #0 - beq _0203B1BA - add r0, r2, #0 - add r0, #0xf - mov r1, #0x5f - lsl r0, r0, #1 - strh r1, [r3, r0] - add r0, r2, #0 - add r0, #0x10 - mov r1, #0x60 - lsl r0, r0, #1 - strh r1, [r3, r0] - add r0, r2, #0 - add r0, #0x11 - mov r1, #0x61 - lsl r0, r0, #1 - strh r1, [r3, r0] - lsl r0, r2, #1 - add r1, r0, #0 - add r1, #0xf - mov r2, #0x62 - lsl r1, r1, #1 - strh r2, [r3, r1] - add r1, r0, #0 - add r1, #0x10 - add r0, #0x11 - mov r2, #0x63 - lsl r1, r1, #1 - strh r2, [r3, r1] - mov r1, #0x64 - lsl r0, r0, #1 - strh r1, [r3, r0] - bx lr -_0203B1BA: - add r0, r2, #0 - add r0, #0xf - mov r1, #0x59 - lsl r0, r0, #1 - strh r1, [r3, r0] - add r0, r2, #0 - add r0, #0x10 - mov r1, #0x5a - lsl r0, r0, #1 - strh r1, [r3, r0] - add r0, r2, #0 - add r0, #0x11 - mov r1, #0x5b - lsl r0, r0, #1 - strh r1, [r3, r0] - lsl r0, r2, #1 - add r1, r0, #0 - add r1, #0xf - mov r2, #0x5c - lsl r1, r1, #1 - strh r2, [r3, r1] - add r1, r0, #0 - add r1, #0x10 - add r0, #0x11 - mov r2, #0x5d - lsl r1, r1, #1 - strh r2, [r3, r1] - mov r1, #0x5e - lsl r0, r0, #1 - strh r1, [r3, r0] -_0203B1F6: - bx lr - .balign 4, 0 -_0203B1F8: .word 0x00000964 - thumb_func_end sub_0203B16C - - thumb_func_start sub_0203B1FC -sub_0203B1FC: ; 0x0203B1FC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - ldr r2, _0203B264 ; =0x00000964 - add r2, r0, r2 - str r2, [sp, #8] - ldrb r2, [r0] - ldrb r0, [r0, #2] - str r2, [sp, #4] - cmp r0, #0xd4 - bne _0203B260 - add r0, r1, #0 - bl sub_0202F57C - mov r1, #3 - bl sub_0202F630 - mov r7, #0 - str r0, [sp] - ldr r0, [sp, #4] - add r6, r7, #0 - lsl r0, r0, #1 - mov ip, r0 - mov r0, #0xa3 - add r2, r7, #0 - lsl r0, r0, #2 -_0203B22E: - mov r3, #0x7a - add r4, r6, #0 - mul r4, r3 - ldr r3, [sp] - lsl r5, r2, #1 - add r3, r3, r4 - ldr r4, [sp, #8] - mov r1, #0 - add r5, r4, r5 - mov r4, ip - add r4, r5, r4 -_0203B244: - ldrb r5, [r3] - add r1, r1, #1 - add r3, #0x7a - add r5, r5, r0 - strh r5, [r4, #2] - add r4, r4, #2 - cmp r1, #3 - blt _0203B244 - ldr r1, [sp, #4] - add r7, r7, #1 - add r6, r6, #3 - add r2, r2, r1 - cmp r7, #2 - blt _0203B22E -_0203B260: - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0203B264: .word 0x00000964 - thumb_func_end sub_0203B1FC - - thumb_func_start sub_0203B268 -sub_0203B268: ; 0x0203B268 - push {r3, lr} - mov r1, #0x87 - lsl r1, r1, #2 - cmp r0, r1 - blo _0203B278 - bl GF_AssertFail - mov r0, #1 -_0203B278: - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203B268 - - thumb_func_start sub_0203B27C -sub_0203B27C: ; 0x0203B27C - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B28C ; =0x020F6BE1 - ldrb r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B28C: .word 0x020F6BE1 - thumb_func_end sub_0203B27C - - thumb_func_start sub_0203B290 -sub_0203B290: ; 0x0203B290 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B2A8 ; =0x020F6BE0 - add r0, r0, r1 - ldrh r0, [r0, #2] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1c - pop {r3, pc} - nop -_0203B2A8: .word 0x020F6BE0 - thumb_func_end sub_0203B290 - - thumb_func_start sub_0203B2AC -sub_0203B2AC: ; 0x0203B2AC - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B2BC ; =0x020F6BE4 - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B2BC: .word 0x020F6BE4 - thumb_func_end sub_0203B2AC - - thumb_func_start sub_0203B2C0 -sub_0203B2C0: ; 0x0203B2C0 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B2D0 ; =0x020F6BEA - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B2D0: .word 0x020F6BEA - thumb_func_end sub_0203B2C0 - - thumb_func_start sub_0203B2D4 -sub_0203B2D4: ; 0x0203B2D4 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B2E4 ; =0x020F6BE6 - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B2E4: .word 0x020F6BE6 - thumb_func_end sub_0203B2D4 - - thumb_func_start sub_0203B2E8 -sub_0203B2E8: ; 0x0203B2E8 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B2F8 ; =0x020F6BE8 - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B2F8: .word 0x020F6BE8 - thumb_func_end sub_0203B2E8 - - thumb_func_start sub_0203B2FC -sub_0203B2FC: ; 0x0203B2FC - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B30C ; =0x020F6BEC - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B30C: .word 0x020F6BEC - thumb_func_end sub_0203B2FC - - thumb_func_start sub_0203B310 -sub_0203B310: ; 0x0203B310 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B320 ; =0x020F6BEE - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B320: .word 0x020F6BEE - thumb_func_end sub_0203B310 - - thumb_func_start sub_0203B324 -sub_0203B324: ; 0x0203B324 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B340 ; =0x020F6BE0 - ldrb r0, [r0, r1] - cmp r0, #0xff - beq _0203B33A - mov r0, #1 - pop {r3, pc} -_0203B33A: - mov r0, #0 - pop {r3, pc} - nop -_0203B340: .word 0x020F6BE0 - thumb_func_end sub_0203B324 - - thumb_func_start sub_0203B344 -sub_0203B344: ; 0x0203B344 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B354 ; =0x020F6BE0 - ldrb r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B354: .word 0x020F6BE0 - thumb_func_end sub_0203B344 - - thumb_func_start sub_0203B358 -sub_0203B358: ; 0x0203B358 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B368 ; =0x020F6BF0 - ldrh r0, [r0, r1] - pop {r3, pc} - .balign 4, 0 -_0203B368: .word 0x020F6BF0 - thumb_func_end sub_0203B358 - - thumb_func_start sub_0203B36C -sub_0203B36C: ; 0x0203B36C - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B384 ; =0x020F6BE0 - add r0, r0, r1 - ldrh r0, [r0, #0x12] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, pc} - nop -_0203B384: .word 0x020F6BE0 - thumb_func_end sub_0203B36C - - thumb_func_start sub_0203B388 -sub_0203B388: ; 0x0203B388 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B3A4 ; =0x020F6BE0 - add r0, r0, r1 - ldrh r0, [r0, #0x12] - lsl r0, r0, #0x14 - lsr r0, r0, #0x1c - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, pc} - nop -_0203B3A4: .word 0x020F6BE0 - thumb_func_end sub_0203B388 - - thumb_func_start sub_0203B3A8 -sub_0203B3A8: ; 0x0203B3A8 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B3C4 ; =0x020F6BE0 - add r0, r0, r1 - ldrh r0, [r0, #0x12] - lsl r0, r0, #0x10 - lsr r0, r0, #0x1c - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, pc} - nop -_0203B3C4: .word 0x020F6BE0 - thumb_func_end sub_0203B3A8 - - thumb_func_start sub_0203B3C8 -sub_0203B3C8: ; 0x0203B3C8 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B3E0 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - pop {r3, pc} - nop -_0203B3E0: .word 0x020F6BE0 - thumb_func_end sub_0203B3C8 - - thumb_func_start sub_0203B3E4 -sub_0203B3E4: ; 0x0203B3E4 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B3FC ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #0x18 - lsr r0, r0, #0x19 - pop {r3, pc} - nop -_0203B3FC: .word 0x020F6BE0 - thumb_func_end sub_0203B3E4 - - thumb_func_start sub_0203B400 -sub_0203B400: ; 0x0203B400 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B418 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #0xe - lsr r0, r0, #0x1a - pop {r3, pc} - nop -_0203B418: .word 0x020F6BE0 - thumb_func_end sub_0203B400 - - thumb_func_start sub_0203B41C -sub_0203B41C: ; 0x0203B41C - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B434 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #7 - lsr r0, r0, #0x1b - pop {r3, pc} - nop -_0203B434: .word 0x020F6BE0 - thumb_func_end sub_0203B41C - - thumb_func_start sub_0203B438 -sub_0203B438: ; 0x0203B438 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B450 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #4 - lsr r0, r0, #0x1f - pop {r3, pc} - nop -_0203B450: .word 0x020F6BE0 - thumb_func_end sub_0203B438 - - thumb_func_start sub_0203B454 -sub_0203B454: ; 0x0203B454 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B46C ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #3 - lsr r0, r0, #0x1f - pop {r3, pc} - nop -_0203B46C: .word 0x020F6BE0 - thumb_func_end sub_0203B454 - - thumb_func_start sub_0203B470 -sub_0203B470: ; 0x0203B470 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B488 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #6 - lsr r0, r0, #0x1f - pop {r3, pc} - nop -_0203B488: .word 0x020F6BE0 - thumb_func_end sub_0203B470 - - thumb_func_start sub_0203B48C -sub_0203B48C: ; 0x0203B48C - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B4A4 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #2 - lsr r0, r0, #0x1f - pop {r3, pc} - nop -_0203B4A4: .word 0x020F6BE0 - thumb_func_end sub_0203B48C - - thumb_func_start sub_0203B4A8 -sub_0203B4A8: ; 0x0203B4A8 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B4C0 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #1 - lsr r0, r0, #0x1f - pop {r3, pc} - nop -_0203B4C0: .word 0x020F6BE0 - thumb_func_end sub_0203B4A8 - - thumb_func_start sub_0203B4C4 -sub_0203B4C4: ; 0x0203B4C4 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B4D8 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsr r0, r0, #0x1f - pop {r3, pc} - .balign 4, 0 -_0203B4D8: .word 0x020F6BE0 - thumb_func_end sub_0203B4C4 - - thumb_func_start sub_0203B4DC -sub_0203B4DC: ; 0x0203B4DC - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B4F4 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #0x14 - lsr r0, r0, #0x1c - pop {r3, pc} - nop -_0203B4F4: .word 0x020F6BE0 - thumb_func_end sub_0203B4DC - - thumb_func_start sub_0203B4F8 -sub_0203B4F8: ; 0x0203B4F8 - push {r3, lr} - bl sub_0203B268 - mov r1, #0x18 - mul r1, r0 - ldr r0, _0203B514 ; =0x020F6BE0 - add r0, r0, r1 - ldr r0, [r0, #0x14] - lsl r0, r0, #0xc - lsr r0, r0, #0x1e - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, pc} - nop -_0203B514: .word 0x020F6BE0 - thumb_func_end sub_0203B4F8 - - thumb_func_start sub_0203B518 -sub_0203B518: ; 0x0203B518 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r4, r2, #0 - bl sub_0203B268 - mov r1, #0x18 - ldr r2, _0203B53C ; =0x020F6BE0 - mul r1, r0 - add r1, r2, r1 - ldrh r0, [r1, #2] - lsl r0, r0, #0x16 - lsr r0, r0, #0x1a - strh r0, [r5] - ldrh r0, [r1, #2] - lsl r0, r0, #0x10 - lsr r0, r0, #0x1a - strh r0, [r4] - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203B53C: .word 0x020F6BE0 - thumb_func_end sub_0203B518 - - thumb_func_start sub_0203B540 -sub_0203B540: ; 0x0203B540 - push {r4, lr} - add r4, r0, #0 - bl sub_0203B454 - cmp r0, #0 - bne _0203B550 - mov r0, #0 - pop {r4, pc} -_0203B550: - add r0, r4, #0 - bl sub_0203B4DC - cmp r0, #1 - beq _0203B55E - mov r0, #1 - pop {r4, pc} -_0203B55E: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B540 - - thumb_func_start sub_0203B564 -sub_0203B564: ; 0x0203B564 - push {r3, lr} - bl sub_0203B2AC - cmp r0, #0 - bne _0203B572 - mov r0, #1 - pop {r3, pc} -_0203B572: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203B564 - - thumb_func_start sub_0203B578 -sub_0203B578: ; 0x0203B578 - push {r3, lr} - bl sub_0203B4DC - cmp r0, #3 - bne _0203B586 - mov r0, #1 - pop {r3, pc} -_0203B586: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203B578 - - thumb_func_start sub_0203B58C -sub_0203B58C: ; 0x0203B58C - push {r4, lr} - add r4, r0, #0 - bl sub_0203B4DC - cmp r0, #4 - beq _0203B5A2 - add r0, r4, #0 - bl sub_0203B4DC - cmp r0, #5 - bne _0203B5A6 -_0203B5A2: - mov r0, #1 - pop {r4, pc} -_0203B5A6: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B58C - - thumb_func_start sub_0203B5AC -sub_0203B5AC: ; 0x0203B5AC - push {r4, lr} - add r4, r0, #0 - bl sub_0203B4DC - cmp r0, #1 - beq _0203B5C2 - add r0, r4, #0 - bl sub_0203B4DC - cmp r0, #2 - bne _0203B5C6 -_0203B5C2: - mov r0, #1 - pop {r4, pc} -_0203B5C6: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B5AC - - thumb_func_start sub_0203B5CC -sub_0203B5CC: ; 0x0203B5CC - cmp r0, #2 - bne _0203B5D4 - mov r0, #1 - bx lr -_0203B5D4: - mov r0, #0 - bx lr - thumb_func_end sub_0203B5CC - - thumb_func_start sub_0203B5D8 -sub_0203B5D8: ; 0x0203B5D8 - mov r0, #0 - bx lr - thumb_func_end sub_0203B5D8 - - thumb_func_start sub_0203B5DC -sub_0203B5DC: ; 0x0203B5DC - ldr r3, _0203B5F8 ; =0x020F6BAC - mov r2, #0 -_0203B5E0: - ldrh r1, [r3] - cmp r0, r1 - bne _0203B5EA - mov r0, #1 - bx lr -_0203B5EA: - add r2, r2, #1 - add r3, r3, #2 - cmp r2, #0x19 - blt _0203B5E0 - mov r0, #0 - bx lr - nop -_0203B5F8: .word 0x020F6BAC - thumb_func_end sub_0203B5DC - - thumb_func_start sub_0203B5FC -sub_0203B5FC: ; 0x0203B5FC - mov r1, #0x4b - lsl r1, r1, #2 - cmp r0, r1 - bne _0203B608 - mov r0, #1 - bx lr -_0203B608: - mov r0, #0 - bx lr - thumb_func_end sub_0203B5FC - - thumb_func_start sub_0203B60C -sub_0203B60C: ; 0x0203B60C - mov r0, #0 - bx lr - thumb_func_end sub_0203B60C - - thumb_func_start sub_0203B610 -sub_0203B610: ; 0x0203B610 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x14] - add r4, r1, #0 - cmp r0, #0 - beq _0203B620 - bl GF_AssertFail -_0203B620: - ldr r1, _0203B62C ; =0x000009E4 - add r0, r4, #0 - bl AllocFromHeap - str r0, [r5, #0x14] - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203B62C: .word 0x000009E4 - thumb_func_end sub_0203B610 - - thumb_func_start sub_0203B630 -sub_0203B630: ; 0x0203B630 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x14] - cmp r0, #0 - bne _0203B63E - bl GF_AssertFail -_0203B63E: - ldr r0, [r4, #0x14] - bl FreeToHeap - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B630 - - thumb_func_start sub_0203B648 -sub_0203B648: ; 0x0203B648 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x14] - add r4, r1, #0 - cmp r0, #0 - bne _0203B658 - bl GF_AssertFail -_0203B658: - ldr r0, [r5, #0x14] - add r1, r4, #0 - bl sub_0203B680 - ldr r0, [r5, #0x14] - bl sub_0203B828 - mov r0, #0x92 - ldr r1, [r5, #0x14] - lsl r0, r0, #4 - add r0, r1, r0 - add r1, r4, #0 - bl sub_0203B88C - ldr r0, [r5, #0x14] - add r1, r4, #0 - bl sub_0203B8C4 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203B648 - - thumb_func_start sub_0203B680 -sub_0203B680: ; 0x0203B680 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - bl sub_0203B358 - add r4, r0, #0 - mov r0, #0x20 - add r1, r4, #0 - bl GetNarcMemberSizeByIdPair - mov r1, #2 - lsl r1, r1, #0xa - cmp r0, r1 - blo _0203B6A0 - bl GF_AssertFail -_0203B6A0: - add r5, #0x20 - add r0, r5, #0 - mov r1, #0x20 - add r2, r4, #0 - bl ReadWholeNarcMemberByIdPair - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203B680 - - thumb_func_start sub_0203B6B0 -sub_0203B6B0: ; 0x0203B6B0 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x14] - ldr r4, [r0, #4] - cmp r0, #0 - bne _0203B6C0 - bl GF_AssertFail -_0203B6C0: - cmp r4, #0 - beq _0203B6D4 - ldr r1, [r5, #0x20] - ldr r3, [r5, #0x14] - ldr r0, [r5, #0x3c] - ldr r1, [r1] - ldr r3, [r3, #0x14] - add r2, r4, #0 - bl sub_0205E9AC -_0203B6D4: - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203B6B0 - - thumb_func_start sub_0203B6D8 -sub_0203B6D8: ; 0x0203B6D8 - ldr r0, [r0, #0x14] - ldr r0, [r0, #0x10] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B6D8 - - thumb_func_start sub_0203B6E0 -sub_0203B6E0: ; 0x0203B6E0 - ldr r0, [r0, #0x14] - ldr r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B6E0 - - thumb_func_start sub_0203B6E8 -sub_0203B6E8: ; 0x0203B6E8 - ldr r2, [r0, #0x14] - ldr r0, [r2, #8] - cmp r1, r0 - blo _0203B6F4 - mov r0, #0 - bx lr -_0203B6F4: - mov r0, #0xc - ldr r2, [r2, #0x18] - mul r0, r1 - add r0, r2, r0 - bx lr - .balign 4, 0 - thumb_func_end sub_0203B6E8 - - thumb_func_start sub_0203B700 -sub_0203B700: ; 0x0203B700 - push {r4, r5, r6, r7} - ldr r5, [r0, #0x14] - mov r3, #0 - ldr r0, [r5, #8] - cmp r0, #0 - bls _0203B732 - ldr r6, [r5, #0x18] - add r4, r3, #0 - add r0, r6, #0 -_0203B712: - ldrh r7, [r0] - cmp r1, r7 - bne _0203B726 - add r7, r6, r4 - ldrh r7, [r7, #2] - cmp r2, r7 - bne _0203B726 - add r0, r3, #0 - pop {r4, r5, r6, r7} - bx lr -_0203B726: - ldr r7, [r5, #8] - add r3, r3, #1 - add r0, #0xc - add r4, #0xc - cmp r3, r7 - blo _0203B712 -_0203B732: - mov r0, #0 - mvn r0, r0 - pop {r4, r5, r6, r7} - bx lr - .balign 4, 0 - thumb_func_end sub_0203B700 - - thumb_func_start sub_0203B73C -sub_0203B73C: ; 0x0203B73C - ldr r0, [r0, #0x14] - ldr r0, [r0, #0xc] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B73C - - thumb_func_start sub_0203B744 -sub_0203B744: ; 0x0203B744 - ldr r0, [r0, #0x14] - ldr r0, [r0, #0x1c] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B744 - - thumb_func_start sub_0203B74C -sub_0203B74C: ; 0x0203B74C - ldr r0, [r0, #0x14] - ldr r0, [r0, #4] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B74C - - thumb_func_start sub_0203B754 -sub_0203B754: ; 0x0203B754 - ldr r0, [r0, #0x14] - ldr r0, [r0, #0x14] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B754 - - thumb_func_start sub_0203B75C -sub_0203B75C: ; 0x0203B75C - push {r3, r4, r5, r6, r7, lr} - ldr r0, [r0, #0x14] - add r4, r1, #0 - ldr r5, [r0, #4] - add r7, r2, #0 - add r1, r3, #0 - mov r2, #0 - ldr r3, [r0, #0x14] - cmp r5, #0 - bls _0203B78C - add r6, r3, #0 -_0203B772: - ldrh r0, [r6] - cmp r4, r0 - bne _0203B784 - lsl r0, r2, #5 - add r0, r3, r0 - strh r7, [r0, #0x18] - strh r1, [r0, #0x1a] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0203B784: - add r2, r2, #1 - add r6, #0x20 - cmp r2, r5 - blo _0203B772 -_0203B78C: - bl GF_AssertFail - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203B75C - - thumb_func_start sub_0203B794 -sub_0203B794: ; 0x0203B794 - push {r4, r5, r6, lr} - ldr r0, [r0, #0x14] - mov r3, #0 - ldr r5, [r0, #4] - ldr r4, [r0, #0x14] - cmp r5, #0 - bls _0203B7BC - add r6, r4, #0 -_0203B7A4: - ldrh r0, [r6] - cmp r1, r0 - bne _0203B7B4 - lsl r0, r3, #5 - add r0, r4, r0 - strh r2, [r0, #0xc] - mov r0, #1 - pop {r4, r5, r6, pc} -_0203B7B4: - add r3, r3, #1 - add r6, #0x20 - cmp r3, r5 - blo _0203B7A4 -_0203B7BC: - bl GF_AssertFail - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0203B794 - - thumb_func_start sub_0203B7C4 -sub_0203B7C4: ; 0x0203B7C4 - push {r4, r5, r6, lr} - ldr r0, [r0, #0x14] - mov r3, #0 - ldr r5, [r0, #4] - ldr r4, [r0, #0x14] - cmp r5, #0 - bls _0203B7EC - add r6, r4, #0 -_0203B7D4: - ldrh r0, [r6] - cmp r1, r0 - bne _0203B7E4 - lsl r0, r3, #5 - add r0, r4, r0 - strh r2, [r0, #4] - mov r0, #1 - pop {r4, r5, r6, pc} -_0203B7E4: - add r3, r3, #1 - add r6, #0x20 - cmp r3, r5 - blo _0203B7D4 -_0203B7EC: - bl GF_AssertFail - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0203B7C4 - - thumb_func_start sub_0203B7F4 -sub_0203B7F4: ; 0x0203B7F4 - push {r3, r4} - ldr r0, [r0, #0x14] - ldr r4, [r0, #0x18] - mov r0, #0xc - mul r0, r1 - strh r2, [r4, r0] - add r0, r4, r0 - strh r3, [r0, #2] - mov r0, #1 - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_0203B7F4 - - thumb_func_start sub_0203B80C -sub_0203B80C: ; 0x0203B80C - push {r4, r5, r6, lr} - add r5, r1, #0 - add r4, r2, #0 - add r6, r3, #0 - bl sub_0203B6D8 - mov r1, #0x14 - mul r1, r5 - add r0, r0, r1 - str r4, [r0, #4] - str r6, [r0, #8] - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203B80C - - thumb_func_start sub_0203B828 -sub_0203B828: ; 0x0203B828 - add r1, r0, #0 - ldr r2, [r0, #0x20] - add r1, #0x20 - add r1, r1, #4 - str r2, [r0] - cmp r2, #0 - beq _0203B83A - str r1, [r0, #0x10] - b _0203B83E -_0203B83A: - mov r2, #0 - str r2, [r0, #0x10] -_0203B83E: - ldr r3, [r0] - mov r2, #0x14 - mul r2, r3 - add r3, r1, r2 - ldr r2, [r1, r2] - add r1, r3, #4 - str r2, [r0, #4] - cmp r2, #0 - beq _0203B854 - str r1, [r0, #0x14] - b _0203B858 -_0203B854: - mov r2, #0 - str r2, [r0, #0x14] -_0203B858: - ldr r2, [r0, #4] - lsl r2, r2, #5 - add r3, r1, r2 - ldr r2, [r1, r2] - add r1, r3, #4 - str r2, [r0, #8] - cmp r2, #0 - beq _0203B86C - str r1, [r0, #0x18] - b _0203B870 -_0203B86C: - mov r2, #0 - str r2, [r0, #0x18] -_0203B870: - ldr r3, [r0, #8] - mov r2, #0xc - mul r2, r3 - add r3, r1, r2 - ldr r1, [r1, r2] - str r1, [r0, #0xc] - cmp r1, #0 - beq _0203B886 - add r1, r3, #4 - str r1, [r0, #0x1c] - bx lr -_0203B886: - mov r1, #0 - str r1, [r0, #0x1c] - bx lr - thumb_func_end sub_0203B828 - - thumb_func_start sub_0203B88C -sub_0203B88C: ; 0x0203B88C - push {r3, r4, r5, lr} - add r4, r1, #0 - mov r1, #0 - mov r2, #0xc4 - add r5, r0, #0 - bl memset - add r0, r4, #0 - bl sub_0203B324 - cmp r0, #0 - beq _0203B8B4 - add r0, r4, #0 - bl sub_0203B344 - add r2, r0, #0 - add r0, r5, #0 -#ifdef HEARTGOLD - mov r1, #0x25 -#else - mov r1, #0x88 -#endif - bl ReadWholeNarcMemberByIdPair -_0203B8B4: - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203B88C - - thumb_func_start sub_0203B8B8 -sub_0203B8B8: ; 0x0203B8B8 - ldr r1, [r0, #0x14] - mov r0, #0x92 - lsl r0, r0, #4 - add r0, r1, r0 - bx lr - .balign 4, 0 - thumb_func_end sub_0203B8B8 - - thumb_func_start sub_0203B8C4 -sub_0203B8C4: ; 0x0203B8C4 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - bl sub_0203B2E8 - mov r1, #0x82 - lsl r1, r1, #4 - mov r2, #1 - add r4, r0, #0 - mov r0, #0 - add r1, r5, r1 - lsl r2, r2, #8 - bl MIi_CpuClearFast - mov r0, #0xc - add r1, r4, #0 - bl GetNarcMemberSizeByIdPair - mov r1, #1 - lsl r1, r1, #8 - cmp r0, r1 - blo _0203B8F4 - bl GF_AssertFail -_0203B8F4: - mov r0, #0x82 - lsl r0, r0, #4 - add r0, r5, r0 - mov r1, #0xc - add r2, r4, #0 - bl ReadWholeNarcMemberByIdPair - pop {r3, r4, r5, pc} - thumb_func_end sub_0203B8C4 - - thumb_func_start sub_0203B904 -sub_0203B904: ; 0x0203B904 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x14] - cmp r0, #0 - bne _0203B912 - bl GF_AssertFail -_0203B912: - mov r0, #0x82 - ldr r1, [r4, #0x14] - lsl r0, r0, #4 - add r0, r1, r0 - pop {r4, pc} - thumb_func_end sub_0203B904 - - thumb_func_start sub_0203B91C -sub_0203B91C: ; 0x0203B91C - mov r0, #0x80 - bx lr - thumb_func_end sub_0203B91C - - thumb_func_start sub_0203B920 -sub_0203B920: ; 0x0203B920 - mov r0, #5 - lsl r0, r0, #0xa - bx lr - .balign 4, 0 - thumb_func_end sub_0203B920 - - thumb_func_start sub_0203B928 -sub_0203B928: ; 0x0203B928 - ldr r3, _0203B934 ; =sub_020D47EC - mov r2, #5 - add r1, r0, #0 - mov r0, #0 - lsl r2, r2, #0xa - bx r3 - .balign 4, 0 -_0203B934: .word sub_020D47EC - thumb_func_end sub_0203B928 - - thumb_func_start sub_0203B938 -sub_0203B938: ; 0x0203B938 - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - mov r2, #0x80 - bl memset - add r0, r4, #0 - add r0, #0x6c - bl sub_0205C7BC - bl sub_0203BA70 - add r4, #0x68 - strh r0, [r4] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203B938 - - thumb_func_start sub_0203B958 -sub_0203B958: ; 0x0203B958 - bx lr - .balign 4, 0 - thumb_func_end sub_0203B958 - - thumb_func_start sub_0203B95C -sub_0203B95C: ; 0x0203B95C - add r0, #0x14 - bx lr - thumb_func_end sub_0203B95C - - thumb_func_start sub_0203B960 -sub_0203B960: ; 0x0203B960 - add r0, #0x28 - bx lr - thumb_func_end sub_0203B960 - - thumb_func_start sub_0203B964 -sub_0203B964: ; 0x0203B964 - add r0, #0x50 - bx lr - thumb_func_end sub_0203B964 - - thumb_func_start sub_0203B968 -sub_0203B968: ; 0x0203B968 - add r0, #0x3c - bx lr - thumb_func_end sub_0203B968 - - thumb_func_start sub_0203B96C -sub_0203B96C: ; 0x0203B96C - add r3, r1, #0 - add r2, r0, #0 - ldmia r3!, {r0, r1} - add r2, #0x3c - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldr r0, [r3] - str r0, [r2] - bx lr - thumb_func_end sub_0203B96C - - thumb_func_start sub_0203B980 -sub_0203B980: ; 0x0203B980 - add r0, #0x64 - bx lr - thumb_func_end sub_0203B980 - - thumb_func_start sub_0203B984 -sub_0203B984: ; 0x0203B984 - add r0, #0x66 - ldrh r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B984 - - thumb_func_start sub_0203B98C -sub_0203B98C: ; 0x0203B98C - add r0, #0x66 - strh r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B98C - - thumb_func_start sub_0203B994 -sub_0203B994: ; 0x0203B994 - add r0, #0x68 - ldrh r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B994 - - thumb_func_start sub_0203B99C -sub_0203B99C: ; 0x0203B99C - add r0, #0x68 - strh r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B99C - - thumb_func_start sub_0203B9A4 -sub_0203B9A4: ; 0x0203B9A4 - add r0, #0x6a - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B9A4 - - thumb_func_start sub_0203B9AC -sub_0203B9AC: ; 0x0203B9AC - add r0, #0x6a - strb r1, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203B9AC - - thumb_func_start sub_0203B9B4 -sub_0203B9B4: ; 0x0203B9B4 - add r0, #0x6c - bx lr - thumb_func_end sub_0203B9B4 - - thumb_func_start sub_0203B9B8 -sub_0203B9B8: ; 0x0203B9B8 - add r0, #0x78 - bx lr - thumb_func_end sub_0203B9B8 - - thumb_func_start sub_0203B9BC -sub_0203B9BC: ; 0x0203B9BC - add r0, #0x76 - bx lr - thumb_func_end sub_0203B9BC - - thumb_func_start sub_0203B9C0 -sub_0203B9C0: ; 0x0203B9C0 - add r0, #0x74 - bx lr - thumb_func_end sub_0203B9C0 - - thumb_func_start sub_0203B9C4 -sub_0203B9C4: ; 0x0203B9C4 - ldr r3, _0203B9CC ; =SavArray_get - mov r1, #5 - bx r3 - nop -_0203B9CC: .word SavArray_get - thumb_func_end sub_0203B9C4 - - thumb_func_start sub_0203B9D0 -sub_0203B9D0: ; 0x0203B9D0 - ldr r3, _0203B9D8 ; =SavArray_get - mov r1, #0xa - bx r3 - nop -_0203B9D8: .word SavArray_get - thumb_func_end sub_0203B9D0 - - thumb_func_start sub_0203B9DC -sub_0203B9DC: ; 0x0203B9DC - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0203B9D0 - add r2, r0, #0 - ldr r1, [r4, #0x3c] - add r0, r4, #0 - mov r3, #0x40 - bl sub_0205E5EC - pop {r4, pc} - thumb_func_end sub_0203B9DC - - thumb_func_start sub_0203B9F4 -sub_0203B9F4: ; 0x0203B9F4 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0203B9D0 - ldr r2, _0203BA54 ; =0x000003CF - mov r1, #0x40 - add r7, r0, #0 - bl sub_0205FD00 - add r4, r0, #0 - beq _0203BA48 - ldrb r0, [r4, #8] - cmp r0, #0xfd - bne _0203BA48 - ldr r0, [r5, #0xc] - bl sub_02074904 - bl sub_02054388 - str r0, [sp] - mov r1, #5 - mov r2, #0 - bl sub_0206E540 - add r6, r0, #0 - ldr r0, [sp] - mov r1, #0x70 - mov r2, #0 - bl sub_0206E540 - mov r1, #0x7b - lsl r1, r1, #2 - cmp r6, r1 - beq _0203BA40 - bl GF_AssertFail - b _0203BA48 -_0203BA40: - cmp r0, #0 - bne _0203BA48 - ldr r0, _0203BA58 ; =0x000003CE - strh r0, [r4, #0x12] -_0203BA48: - ldr r0, [r5, #0x3c] - add r1, r7, #0 - mov r2, #0x40 - bl sub_0205E648 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203BA54: .word 0x000003CF -_0203BA58: .word 0x000003CE - thumb_func_end sub_0203B9F4 - - thumb_func_start sub_0203BA5C -sub_0203BA5C: ; 0x0203BA5C - push {r3, lr} - cmp r0, #0 - ble _0203BA66 - cmp r0, #0x1e - bls _0203BA6C -_0203BA66: - bl GF_AssertFail - mov r0, #1 -_0203BA6C: - sub r0, r0, #1 - pop {r3, pc} - thumb_func_end sub_0203BA5C - - thumb_func_start sub_0203BA70 -sub_0203BA70: ; 0x0203BA70 - mov r0, #1 - bx lr - thumb_func_end sub_0203BA70 - - thumb_func_start sub_0203BA74 -sub_0203BA74: ; 0x0203BA74 - push {r4, lr} - add r4, r1, #0 - bl sub_0203BA5C - add r1, r0, #0 - mov r2, #0x12 - mul r1, r2 - ldr r0, _0203BAA0 ; =0x020F9E86 - sub r2, #0x13 - ldrh r0, [r0, r1] - str r0, [r4] - ldr r0, _0203BAA4 ; =0x020F9E88 - str r2, [r4, #4] - ldrh r0, [r0, r1] - str r0, [r4, #8] - ldr r0, _0203BAA8 ; =0x020F9E8A - ldrh r0, [r0, r1] - str r0, [r4, #0xc] - mov r0, #1 - str r0, [r4, #0x10] - pop {r4, pc} - nop -_0203BAA0: .word 0x020F9E86 -_0203BAA4: .word 0x020F9E88 -_0203BAA8: .word 0x020F9E8A - thumb_func_end sub_0203BA74 - - thumb_func_start sub_0203BAAC -sub_0203BAAC: ; 0x0203BAAC - push {r4, lr} - add r4, r1, #0 - bl sub_0203BA5C - add r2, r0, #0 - mov r1, #0x12 - mul r2, r1 - ldr r0, _0203BAE0 ; =0x020F9E82 - sub r1, #0x13 - ldrh r0, [r0, r2] - str r0, [r4] - ldr r0, _0203BAE4 ; =0x020F9E80 - str r1, [r4, #4] - add r1, r0, r2 - ldrh r0, [r1, #4] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [r4, #8] - ldrh r0, [r1, #4] - lsl r0, r0, #0x10 - lsr r0, r0, #0x18 - str r0, [r4, #0xc] - mov r0, #0 - str r0, [r4, #0x10] - pop {r4, pc} - nop -_0203BAE0: .word 0x020F9E82 -_0203BAE4: .word 0x020F9E80 - thumb_func_end sub_0203BAAC - - thumb_func_start sub_0203BAE8 -sub_0203BAE8: ; 0x0203BAE8 - push {r4, lr} - add r4, r1, #0 - bl sub_0203BA5C - add r1, r0, #0 - mov r2, #0x12 - mul r1, r2 - ldr r0, _0203BB14 ; =0x020F9E8C - sub r2, #0x13 - ldrh r0, [r0, r1] - str r0, [r4] - ldr r0, _0203BB18 ; =0x020F9E8E - str r2, [r4, #4] - ldrh r0, [r0, r1] - str r0, [r4, #8] - ldr r0, _0203BB1C ; =0x020F9E90 - ldrh r0, [r0, r1] - str r0, [r4, #0xc] - mov r0, #1 - str r0, [r4, #0x10] - pop {r4, pc} - nop -_0203BB14: .word 0x020F9E8C -_0203BB18: .word 0x020F9E8E -_0203BB1C: .word 0x020F9E90 - thumb_func_end sub_0203BAE8 - - thumb_func_start sub_0203BB20 -sub_0203BB20: ; 0x0203BB20 - push {r3, r4} - ldr r3, _0203BB4C ; =0x020F9E80 - mov r2, #0 - add r4, r3, #0 -_0203BB28: - ldrh r1, [r3, #2] - cmp r0, r1 - bne _0203BB3C - ldrh r1, [r4] - lsl r1, r1, #0x17 - lsr r1, r1, #0x1f - beq _0203BB3C - add r0, r2, #1 - pop {r3, r4} - bx lr -_0203BB3C: - add r2, r2, #1 - add r3, #0x12 - add r4, #0x12 - cmp r2, #0x1e - blo _0203BB28 - mov r0, #0 - pop {r3, r4} - bx lr - .balign 4, 0 -_0203BB4C: .word 0x020F9E80 - thumb_func_end sub_0203BB20 - - thumb_func_start sub_0203BB50 -sub_0203BB50: ; 0x0203BB50 - ldr r3, _0203BB6C ; =0x020F9E80 - mov r2, #0 -_0203BB54: - ldrh r1, [r3, #6] - cmp r0, r1 - bne _0203BB5E - add r0, r2, #1 - bx lr -_0203BB5E: - add r2, r2, #1 - add r3, #0x12 - cmp r2, #0x1e - blo _0203BB54 - mov r0, #0 - bx lr - nop -_0203BB6C: .word 0x020F9E80 - thumb_func_end sub_0203BB50 - - thumb_func_start sub_0203BB70 -sub_0203BB70: ; 0x0203BB70 - push {r3, r4, r5, lr} - ldr r2, _0203BBB0 ; =0x020F9E80 - mov r4, #0 - add r3, r2, #0 -_0203BB78: - ldrh r5, [r2, #6] - cmp r1, r5 - bne _0203BBA2 - ldrh r5, [r3] - lsl r5, r5, #0x16 - lsr r5, r5, #0x1f - beq _0203BBA2 - ldr r0, [r0, #0xc] - bl sub_020503D0 - mov r2, #0x12 - add r3, r4, #0 - mul r3, r2 - ldr r2, _0203BBB0 ; =0x020F9E80 - mov r1, #1 - ldrh r2, [r2, r3] - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - bl sub_02066930 - pop {r3, r4, r5, pc} -_0203BBA2: - add r4, r4, #1 - add r2, #0x12 - add r3, #0x12 - cmp r4, #0x1e - blo _0203BB78 - pop {r3, r4, r5, pc} - nop -_0203BBB0: .word 0x020F9E80 - thumb_func_end sub_0203BB70 - - thumb_func_start sub_0203BBB4 -sub_0203BBB4: ; 0x0203BBB4 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203B3E4 - ldr r1, _0203BC08 ; =0x000001D1 - add r7, r0, #0 - cmp r5, r1 - bne _0203BC04 - ldr r0, [r4, #0xc] - bl Sav2_SysInfo_RTC_get - add r3, r0, #0 - ldr r5, [r3, #8] - ldr r1, _0203BC0C ; =0x020FA09C - mov r2, #0 -_0203BBD6: - lsl r6, r2, #1 - add r0, r1, r6 - ldrb r6, [r1, r6] - ldrb r0, [r0, #1] - cmp r5, r6 - bne _0203BBF8 - ldr r6, [r3, #0xc] - cmp r6, r0 - bne _0203BBF8 - add r0, r4, #0 - bl sub_02055670 - cmp r0, #0 - bne _0203BBF4 - mov r7, #8 -_0203BBF4: - add r0, r7, #0 - pop {r3, r4, r5, r6, r7, pc} -_0203BBF8: - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #8 - blo _0203BBD6 - add r0, r7, #0 -_0203BC04: - pop {r3, r4, r5, r6, r7, pc} - nop -_0203BC08: .word 0x000001D1 -_0203BC0C: .word 0x020FA09C - thumb_func_end sub_0203BBB4 - - thumb_func_start sub_0203BC10 -sub_0203BC10: ; 0x0203BC10 - push {r3, lr} - ldr r0, [r0, #0x20] - ldr r0, [r0] - bl sub_0203B36C - cmp r0, #0 - beq _0203BC22 - mov r0, #1 - pop {r3, pc} -_0203BC22: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203BC10 - - thumb_func_start sub_0203BC28 -sub_0203BC28: ; 0x0203BC28 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203BE34 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_02066860 - cmp r0, #1 - bne _0203BC4E - add r0, r5, #0 - bl sub_0203BECC - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BCAA -_0203BC4E: - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_02066870 - cmp r0, #1 - bne _0203BC6A - add r0, r5, #0 - bl sub_0203BED0 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BCAA -_0203BC6A: - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_020668A0 - cmp r0, #1 - bne _0203BC86 - add r0, r5, #0 - bl sub_0203BED4 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BCAA -_0203BC86: - add r0, r5, #0 - bl sub_02067584 - cmp r0, #1 - bne _0203BC9E - add r0, r5, #0 - bl sub_0203BED8 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BCAA -_0203BC9E: - add r0, r5, #0 - bl sub_0203BE60 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] -_0203BCAA: - mov r0, #0x35 - mov r1, #0 - lsl r0, r0, #4 - str r1, [r4, r0] - ldr r0, [r5, #0x40] - bl sub_0205CF60 - cmp r0, #1 - bne _0203BCCA - ldr r0, [r5, #0x40] - bl sub_0205C654 - add r1, r0, #0 - ldr r0, [r5, #0x40] - bl sub_0205CFBC -_0203BCCA: - ldr r1, _0203BCD8 ; =sub_0203BEF0 - add r0, r5, #0 - add r2, r4, #0 - bl sub_020504F0 - pop {r3, r4, r5, pc} - nop -_0203BCD8: .word sub_0203BEF0 - thumb_func_end sub_0203BC28 - - thumb_func_start sub_0203BCDC -sub_0203BCDC: ; 0x0203BCDC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203BE34 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203BEE0 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - mov r2, #1 - add r0, r1, #4 - str r2, [r4, r0] - ldr r0, [r5, #0x40] - bl sub_0205CF60 - cmp r0, #1 - bne _0203BD10 - ldr r0, [r5, #0x40] - bl sub_0205C654 - add r1, r0, #0 - ldr r0, [r5, #0x40] - bl sub_0205CFBC -_0203BD10: - ldr r1, _0203BD1C ; =sub_0203BEF0 - add r0, r5, #0 - add r2, r4, #0 - bl sub_020504F0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203BD1C: .word sub_0203BEF0 - thumb_func_end sub_0203BCDC - - thumb_func_start sub_0203BD20 -sub_0203BD20: ; 0x0203BD20 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203BE34 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203BEE8 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - mov r2, #0 - add r0, r1, #4 - str r2, [r4, r0] - ldr r0, [r5, #0x40] - bl sub_0205CF60 - cmp r0, #1 - bne _0203BD54 - ldr r0, [r5, #0x40] - bl sub_0205C654 - add r1, r0, #0 - ldr r0, [r5, #0x40] - bl sub_0205CFBC -_0203BD54: - ldr r1, _0203BD60 ; =sub_0203BEF0 - add r0, r5, #0 - add r2, r4, #0 - bl sub_020504F0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203BD60: .word sub_0203BEF0 - thumb_func_end sub_0203BD20 - - thumb_func_start sub_0203BD64 -sub_0203BD64: ; 0x0203BD64 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, _0203BE2C ; =0x000005FC - bl PlaySE - bl sub_0203BE34 - add r4, r0, #0 - mov r0, #0x35 - mov r1, #0 - lsl r0, r0, #4 - str r1, [r4, r0] - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_02066860 - cmp r0, #1 - bne _0203BD98 - add r0, r5, #0 - bl sub_0203BECC - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BE20 -_0203BD98: - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_02066870 - cmp r0, #1 - bne _0203BDB4 - add r0, r5, #0 - bl sub_0203BED0 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BE20 -_0203BDB4: - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_020668A0 - cmp r0, #1 - bne _0203BDD0 - add r0, r5, #0 - bl sub_0203BED4 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BE20 -_0203BDD0: - add r0, r5, #0 - bl sub_02067584 - cmp r0, #1 - bne _0203BDE8 - add r0, r5, #0 - bl sub_0203BED8 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BE20 -_0203BDE8: - ldr r0, [r5, #0x70] - cmp r0, #3 - bne _0203BDFC - add r0, r5, #0 - bl sub_0203BEE8 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - b _0203BE20 -_0203BDFC: - cmp r0, #2 - bne _0203BE14 - add r0, r5, #0 - bl sub_0203BEE0 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] - mov r2, #1 - add r0, r1, #4 - str r2, [r4, r0] - b _0203BE20 -_0203BE14: - add r0, r5, #0 - bl sub_0203BE60 - mov r1, #0xd3 - lsl r1, r1, #2 - str r0, [r4, r1] -_0203BE20: - ldr r0, [r5, #0x10] - ldr r1, _0203BE30 ; =sub_0203BEF0 - add r2, r4, #0 - bl sub_02050510 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203BE2C: .word 0x000005FC -_0203BE30: .word sub_0203BEF0 - thumb_func_end sub_0203BD64 - - thumb_func_start sub_0203BE34 -sub_0203BE34: ; 0x0203BE34 - push {r4, lr} - mov r1, #0xe3 - mov r0, #0xb - lsl r1, r1, #2 - bl AllocFromHeap - add r4, r0, #0 - mov r2, #0xe3 - mov r0, #0 - add r1, r4, #0 - lsl r2, r2, #2 - bl MIi_CpuClearFast - mov r1, #0 - strh r1, [r4, #0x26] - mov r0, #0xe - strh r1, [r4, #0x24] - lsl r0, r0, #6 - str r1, [r4, r0] - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203BE34 - - thumb_func_start sub_0203BE60 -sub_0203BE60: ; 0x0203BE60 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - mov r4, #0 - bl sub_020503D0 - bl sub_02066974 - cmp r0, #0 - bne _0203BE78 - mov r0, #1 - orr r4, r0 -_0203BE78: - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_0206695C - cmp r0, #0 - bne _0203BE8A - mov r0, #2 - orr r4, r0 -_0203BE8A: - ldr r0, [r5, #0xc] - bl sub_020503D0 - mov r1, #0 - bl sub_02066980 - cmp r0, #0 - bne _0203BE9E - mov r0, #4 - orr r4, r0 -_0203BE9E: - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_02066968 - cmp r0, #0 - bne _0203BEB2 - mov r0, #2 - lsl r0, r0, #8 - orr r4, r0 -_0203BEB2: - ldr r0, [r5, #0x20] - ldr r0, [r0] - bl sub_0203B5D8 - cmp r0, #1 - bne _0203BEC2 - mov r0, #6 - orr r4, r0 -_0203BEC2: - mov r0, #6 - lsl r0, r0, #6 - orr r0, r4 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203BE60 - - thumb_func_start sub_0203BECC -sub_0203BECC: ; 0x0203BECC - mov r0, #0x90 - bx lr - thumb_func_end sub_0203BECC - - thumb_func_start sub_0203BED0 -sub_0203BED0: ; 0x0203BED0 - mov r0, #0x94 - bx lr - thumb_func_end sub_0203BED0 - - thumb_func_start sub_0203BED4 -sub_0203BED4: ; 0x0203BED4 - mov r0, #0x94 - bx lr - thumb_func_end sub_0203BED4 - - thumb_func_start sub_0203BED8 -sub_0203BED8: ; 0x0203BED8 - ldr r0, _0203BEDC ; =0x00000395 - bx lr - .balign 4, 0 -_0203BEDC: .word 0x00000395 - thumb_func_end sub_0203BED8 - - thumb_func_start sub_0203BEE0 -sub_0203BEE0: ; 0x0203BEE0 - mov r0, #0x11 - lsl r0, r0, #4 - bx lr - .balign 4, 0 - thumb_func_end sub_0203BEE0 - - thumb_func_start sub_0203BEE8 -sub_0203BEE8: ; 0x0203BEE8 - ldr r0, _0203BEEC ; =0x00000391 - bx lr - .balign 4, 0 -_0203BEEC: .word 0x00000391 - thumb_func_end sub_0203BEE8 - - thumb_func_start sub_0203BEF0 -sub_0203BEF0: ; 0x0203BEF0 - push {r4, r5, r6, lr} - add r6, r0, #0 - bl sub_0205064C - add r4, r0, #0 - add r0, r6, #0 - bl sub_02050650 - add r5, r0, #0 - ldrh r1, [r5, #0x26] - cmp r1, #0x14 - bls _0203BF0A - b _0203C136 -_0203BF0A: - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203BF16: ; jump table - .short _0203BF40 - _0203BF16 - 2 ; case 0 - .short _0203BF60 - _0203BF16 - 2 ; case 1 - .short _0203BF96 - _0203BF16 - 2 ; case 2 - .short _0203BFE2 - _0203BF16 - 2 ; case 3 - .short _0203BFF0 - _0203BF16 - 2 ; case 4 - .short _0203BFF8 - _0203BF16 - 2 ; case 5 - .short _0203C000 - _0203BF16 - 2 ; case 6 - .short _0203C008 - _0203BF16 - 2 ; case 7 - .short _0203C010 - _0203BF16 - 2 ; case 8 - .short _0203C018 - _0203BF16 - 2 ; case 9 - .short _0203C054 - _0203BF16 - 2 ; case 10 - .short _0203C06A - _0203BF16 - 2 ; case 11 - .short _0203C08A - _0203BF16 - 2 ; case 12 - .short _0203C0A6 - _0203BF16 - 2 ; case 13 - .short _0203C0C6 - _0203BF16 - 2 ; case 14 - .short _0203C020 - _0203BF16 - 2 ; case 15 - .short _0203C0E0 - _0203BF16 - 2 ; case 16 - .short _0203C11A - _0203BF16 - 2 ; case 17 - .short _0203C0D2 - _0203BF16 - 2 ; case 18 - .short _0203C128 - _0203BF16 - 2 ; case 19 - .short _0203C130 - _0203BF16 - 2 ; case 20 -_0203BF40: - ldr r0, [r4, #0x3c] - bl sub_0205F574 - add r0, r4, #0 - bl ov01_021F6B00 - cmp r0, #0 - beq _0203BF60 - mov r1, #0 - add r0, r4, #0 - add r2, r1, #0 - bl ov01_021F6A9C - mov r0, #2 - strh r0, [r5, #0x26] - b _0203C136 -_0203BF60: - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r4, #0 - add r1, r5, r1 - bl sub_020649B8 - mov r1, #0x37 - lsl r1, r1, #4 - add r0, r4, #0 - add r1, r5, r1 - bl sub_02067E10 - add r0, r6, #0 - bl sub_0203C14C - add r0, r4, #0 - add r0, #0xd2 - ldrb r1, [r0] - mov r0, #0x3f - add r4, #0xd2 - bic r1, r0 - mov r0, #1 - orr r0, r1 - strb r0, [r4] - mov r0, #3 - strh r0, [r5, #0x26] - b _0203C136 -_0203BF96: - add r0, r4, #0 - bl ov01_021F6B10 - cmp r0, #6 - bne _0203BFBA - add r0, r6, #0 - bl sub_0203C14C - add r0, r4, #0 - add r0, #0xd2 - ldrb r1, [r0] - mov r0, #0x3f - add r4, #0xd2 - bic r1, r0 - mov r0, #1 - orr r0, r1 - strb r0, [r4] - b _0203C136 -_0203BFBA: - add r0, r4, #0 - bl ov01_021F6B10 - cmp r0, #1 - bne _0203C02A - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r4, #0 - add r1, r5, r1 - bl sub_020649B8 - mov r1, #0x37 - lsl r1, r1, #4 - add r0, r4, #0 - add r1, r5, r1 - bl sub_02067E10 - mov r0, #3 - strh r0, [r5, #0x26] - b _0203C136 -_0203BFE2: - add r0, r6, #0 - bl sub_0203C47C - cmp r0, #0 - bne _0203C02A - mov r0, #0 - pop {r4, r5, r6, pc} -_0203BFF0: - add r0, r6, #0 - bl sub_0203C870 - b _0203C136 -_0203BFF8: - add r0, r6, #0 - bl sub_0203C8B0 - b _0203C136 -_0203C000: - add r0, r6, #0 - bl sub_0203D264 - b _0203C136 -_0203C008: - add r0, r6, #0 - bl sub_0203D288 - b _0203C136 -_0203C010: - add r0, r6, #0 - bl sub_0203D9E8 - b _0203C136 -_0203C018: - add r0, r6, #0 - bl sub_0203DAE4 - b _0203C136 -_0203C020: - add r0, r4, #0 - bl sub_020505C8 - cmp r0, #0 - bne _0203C02C -_0203C02A: - b _0203C136 -_0203C02C: - ldr r0, [r4, #0x3c] - bl sub_0205F574 - add r0, r6, #0 - bl sub_0203C14C - add r0, r4, #0 - add r0, #0xd2 - ldrb r1, [r0] - mov r0, #0x3f - add r4, #0xd2 - bic r1, r0 - mov r0, #1 - orr r1, r0 - strb r1, [r4] - bl ov01_021E636C - mov r0, #0x11 - strh r0, [r5, #0x26] - b _0203C136 -_0203C054: - add r0, r4, #0 - bl sub_020505C8 - cmp r0, #0 - beq _0203C136 - mov r0, #1 - bl ov01_021E636C - mov r0, #0xb - strh r0, [r5, #0x26] - b _0203C136 -_0203C06A: - bl sub_0200FB5C - cmp r0, #0 - beq _0203C136 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203C69C - add r0, r5, #0 - bl FreeToHeap - ldr r0, [r4, #0x3c] - bl sub_0205F5A4 - mov r0, #1 - pop {r4, r5, r6, pc} -_0203C08A: - add r0, r4, #0 - bl sub_020505C8 - cmp r0, #0 - beq _0203C136 - ldr r0, [r4, #0x3c] - bl sub_0205F574 - mov r0, #1 - bl ov01_021E636C - mov r0, #0xd - strh r0, [r5, #0x26] - b _0203C136 -_0203C0A6: - bl sub_0200FB5C - cmp r0, #0 - beq _0203C136 - mov r2, #0xd5 - lsl r2, r2, #2 - ldr r1, [r5, r2] - add r2, #0x2c - ldr r2, [r5, r2] - add r0, r6, #0 - bl sub_02050510 - add r0, r5, #0 - bl FreeToHeap - b _0203C136 -_0203C0C6: - mov r1, #0xd5 - lsl r1, r1, #2 - ldr r1, [r5, r1] - add r0, r6, #0 - blx r1 - b _0203C136 -_0203C0D2: - bl FreeToHeap - ldr r0, [r4, #0x3c] - bl sub_0205F5A4 - mov r0, #1 - pop {r4, r5, r6, pc} -_0203C0E0: - add r1, r4, #0 - bl sub_0203C69C - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203C38C - add r0, r4, #0 - add r0, #0xd2 - ldrb r1, [r0] - mov r0, #0x3f - bic r1, r0 - mov r0, #2 - orr r1, r0 - add r0, r4, #0 - add r0, #0xd2 - strb r1, [r0] - ldr r0, [r4, #8] - mov r1, #3 - bl ScheduleBgTilemapBufferTransfer - add r0, r5, #0 - bl FreeToHeap - ldr r0, [r4, #0x3c] - bl sub_0205F5A4 - mov r0, #1 - pop {r4, r5, r6, pc} -_0203C11A: - bl sub_0200FB5C - cmp r0, #0 - beq _0203C136 - mov r0, #3 - strh r0, [r5, #0x26] - b _0203C136 -_0203C128: - add r0, r6, #0 - bl sub_0203D2EC - b _0203C136 -_0203C130: - add r0, r6, #0 - bl sub_0203D304 -_0203C136: - ldr r0, [r5, #0x20] - cmp r0, #0 - beq _0203C146 - mov r0, #0x75 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0202457C -_0203C146: - mov r0, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203BEF0 - - thumb_func_start sub_0203C14C -sub_0203C14C: ; 0x0203C14C - push {r4, r5, r6, lr} - sub sp, #0x10 - add r5, r0, #0 - bl sub_0205064C - add r4, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r5, r0, #0 - add r1, r5, #0 - add r2, r5, #0 - add r1, #0x30 - add r2, #0x3a - bl sub_0203C220 - add r6, r0, #0 - ldr r0, _0203C1F8 ; =0x00000000 - str r6, [r5, #0x2c] - strh r0, [r5, #0x24] - beq _0203C18E -_0203C176: - add r1, r4, #0 - add r1, #0x90 - ldr r2, [r1] - add r1, r5, r0 - add r1, #0x30 - ldrb r1, [r1] - cmp r2, r1 - bne _0203C188 - strh r0, [r5, #0x24] -_0203C188: - add r0, r0, #1 - cmp r0, r6 - blo _0203C176 -_0203C18E: - mov r1, #1 - str r1, [r5, #0x20] - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - str r1, [sp, #8] - mov r0, #0xb - str r0, [sp, #0xc] - ldr r2, [r4, #8] - mov r0, #0xe - mov r1, #0xc - mov r3, #3 - bl GfGfxLoader_LoadCharData - mov r0, #0x20 - str r0, [sp] - mov r0, #0xb - str r0, [sp, #4] - mov r0, #0xe - mov r1, #0xf - mov r2, #0 - lsl r3, r0, #5 - bl GfGfxLoader_GXLoadPal - mov r0, #0 - str r0, [sp] - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - mov r0, #0xb - str r0, [sp, #0xc] - ldr r2, [r4, #8] - mov r0, #0xe - mov r1, #0xd - mov r3, #3 - bl GfGfxLoader_LoadScrnData - ldr r0, [r4, #0xc] - bl sub_02028E9C - bl PlayerProfile_GetTrainerGender - add r3, r0, #0 - add r0, r5, #0 - add r5, #0x30 - lsl r3, r3, #0x18 - add r1, r5, #0 - add r2, r6, #0 - lsr r3, r3, #0x18 - bl sub_0203C6C8 - add sp, #0x10 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203C1F8: .word 0x00000000 - thumb_func_end sub_0203C14C - - thumb_func_start sub_0203C1FC -sub_0203C1FC: ; 0x0203C1FC - push {r3, r4} - ldr r4, [r2] - strb r3, [r0, r4] - mov r0, #0 - ldr r4, [sp, #8] - mvn r0, r0 - cmp r4, r0 - bne _0203C210 - ldr r0, [r2] - str r0, [sp, #8] -_0203C210: - ldr r0, [sp, #8] - strb r3, [r1, r0] - ldr r0, [r2] - add r0, r0, #1 - str r0, [r2] - pop {r3, r4} - bx lr - .balign 4, 0 - thumb_func_end sub_0203C1FC - - thumb_func_start sub_0203C220 -sub_0203C220: ; 0x0203C220 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - mov r0, #0 - mov r1, #0xd3 - str r0, [sp, #4] - lsl r1, r1, #2 - add r6, r2, #0 - ldr r2, [r5, r1] - mov r1, #1 - lsl r1, r1, #8 - tst r1, r2 - bne _0203C24C - sub r0, r0, #1 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #8 - bl sub_0203C1FC -_0203C24C: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #0x80 - tst r1, r0 - bne _0203C268 - sub r0, #0x81 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #7 - bl sub_0203C1FC -_0203C268: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #1 - tst r1, r0 - bne _0203C284 - sub r0, r0, #2 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #0 - bl sub_0203C1FC -_0203C284: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #2 - tst r1, r0 - bne _0203C2A0 - sub r0, r0, #3 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #1 - bl sub_0203C1FC -_0203C2A0: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #4 - tst r1, r0 - bne _0203C2BC - sub r0, r0, #5 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #2 - bl sub_0203C1FC -_0203C2BC: - mov r0, #0xd3 - lsl r0, r0, #2 - mov r1, #2 - ldr r2, [r5, r0] - lsl r1, r1, #8 - tst r1, r2 - bne _0203C2F6 - add r0, r0, #4 - ldr r0, [r5, r0] - add r2, sp, #4 - cmp r0, #0 - beq _0203C2E6 - mov r0, #0 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - mov r3, #0xc - bl sub_0203C1FC - b _0203C2F6 -_0203C2E6: - mov r0, #0 - mvn r0, r0 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - mov r3, #0xb - bl sub_0203C1FC -_0203C2F6: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #8 - tst r1, r0 - bne _0203C312 - sub r0, #9 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #3 - bl sub_0203C1FC -_0203C312: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #0x10 - tst r1, r0 - bne _0203C32E - sub r0, #0x11 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #4 - bl sub_0203C1FC -_0203C32E: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #0x20 - tst r1, r0 - bne _0203C34A - sub r0, #0x21 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #5 - bl sub_0203C1FC -_0203C34A: - mov r0, #0xd3 - lsl r0, r0, #2 - ldr r1, [r5, r0] - mov r0, #0x40 - tst r1, r0 - bne _0203C366 - sub r0, #0x41 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #6 - bl sub_0203C1FC -_0203C366: - mov r0, #7 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #9 - bl sub_0203C1FC - mov r0, #8 - str r0, [sp] - add r0, r4, #0 - add r1, r6, #0 - add r2, sp, #4 - mov r3, #0xa - bl sub_0203C1FC - ldr r0, [sp, #4] - add sp, #8 - pop {r4, r5, r6, pc} - thumb_func_end sub_0203C220 - - thumb_func_start sub_0203C38C -sub_0203C38C: ; 0x0203C38C - push {r3, r4, r5, lr} - sub sp, #0x10 - add r5, r0, #0 - add r4, r1, #0 - bl sub_0203C830 - mov r2, #0 - str r2, [sp] - mov r0, #0x20 - str r0, [sp, #4] - mov r0, #0x18 - str r0, [sp, #8] - str r2, [sp, #0xc] - ldr r0, [r4, #8] - mov r1, #3 - add r3, r2, #0 - bl FillBgTilemapRect - mov r0, #0 - str r0, [r5, #0x20] - add sp, #0x10 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203C38C - - thumb_func_start sub_0203C3B8 -sub_0203C3B8: ; 0x0203C3B8 - lsl r2, r1, #2 - ldr r1, _0203C3C4 ; =0x020FA0C4 - ldr r3, _0203C3C8 ; =sub_0203C3CC - ldr r1, [r1, r2] - bx r3 - nop -_0203C3C4: .word 0x020FA0C4 -_0203C3C8: .word sub_0203C3CC - thumb_func_end sub_0203C3B8 - - thumb_func_start sub_0203C3CC -sub_0203C3CC: ; 0x0203C3CC - push {r3, lr} - cmp r1, #7 - bhi _0203C45A - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203C3DE: ; jump table - .short _0203C3EE - _0203C3DE - 2 ; case 0 - .short _0203C3FA - _0203C3DE - 2 ; case 1 - .short _0203C406 - _0203C3DE - 2 ; case 2 - .short _0203C414 - _0203C3DE - 2 ; case 3 - .short _0203C420 - _0203C3DE - 2 ; case 4 - .short _0203C42E - _0203C3DE - 2 ; case 5 - .short _0203C43C - _0203C3DE - 2 ; case 6 - .short _0203C44A - _0203C3DE - 2 ; case 7 -_0203C3EE: - ldr r0, [r0, #0xc] - bl sub_020503D0 - bl sub_02066974 - pop {r3, pc} -_0203C3FA: - ldr r0, [r0, #0xc] - bl sub_020503D0 - bl sub_0206695C - pop {r3, pc} -_0203C406: - ldr r0, [r0, #0xc] - bl sub_020503D0 - mov r1, #0 - bl sub_02066980 - pop {r3, pc} -_0203C414: - ldr r0, [r0, #0xc] - bl sub_020503D0 - bl sub_02066968 - pop {r3, pc} -_0203C420: - ldr r0, [r0, #0xc] - bl sub_020503D0 - mov r1, #1 - bl sub_02066980 - pop {r3, pc} -_0203C42E: - ldr r0, [r0, #0xc] - bl sub_020503D0 - mov r1, #2 - bl sub_02066980 - pop {r3, pc} -_0203C43C: - ldr r0, [r0, #0xc] - bl sub_020503D0 - mov r1, #3 - bl sub_02066980 - pop {r3, pc} -_0203C44A: - ldr r0, [r0, #0xc] - bl sub_0203B9C4 - bl sub_0203B9B4 - bl sub_0205C7C8 - pop {r3, pc} -_0203C45A: - mov r0, #1 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203C3CC - - thumb_func_start sub_0203C460 -sub_0203C460: ; 0x0203C460 - push {r3, lr} - add r1, r0, #0 - add r1, #0xe0 - ldr r1, [r1] - cmp r1, #4 - beq _0203C47A - cmp r1, #0xb - beq _0203C47A - mov r1, #0x45 - lsl r1, r1, #2 - ldr r0, [r0, r1] - bl sub_02092FA8 -_0203C47A: - pop {r3, pc} - thumb_func_end sub_0203C460 - - thumb_func_start sub_0203C47C -sub_0203C47C: ; 0x0203C47C - push {r4, r5, r6, lr} - add r6, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r6, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl ov01_021F6B00 - cmp r0, #0 - bne _0203C4FC - add r0, r5, #0 - bl ov01_021F6B10 - cmp r0, #1 - bne _0203C4FC - ldr r0, _0203C500 ; =gMain - mov r1, #1 - ldr r0, [r0, #0x48] - tst r1, r0 - beq _0203C4C6 - add r0, r6, #0 - add r1, r5, #0 - add r2, r4, #0 - bl sub_0203C508 - cmp r0, #0 - bne _0203C4BE - mov r0, #0 - pop {r4, r5, r6, pc} -_0203C4BE: - add r0, r5, #0 - bl sub_0203C460 - b _0203C4FC -_0203C4C6: - add r1, r5, #0 - add r1, #0xd0 - ldrh r1, [r1] - cmp r1, #0 - bne _0203C4E4 - ldr r1, _0203C504 ; =0x00000402 - tst r0, r1 - beq _0203C4FC - mov r0, #0x25 - lsl r0, r0, #6 - bl PlaySE - mov r0, #0x10 - strh r0, [r4, #0x26] - b _0203C4FC -_0203C4E4: - add r0, r6, #0 - add r1, r5, #0 - add r2, r4, #0 - bl sub_0203C5A4 - cmp r0, #0 - bne _0203C4F6 - mov r0, #0 - pop {r4, r5, r6, pc} -_0203C4F6: - add r0, r5, #0 - bl sub_0203C460 -_0203C4FC: - mov r0, #1 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203C500: .word gMain -_0203C504: .word 0x00000402 - thumb_func_end sub_0203C47C - - thumb_func_start sub_0203C508 -sub_0203C508: ; 0x0203C508 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r7, r0, #0 - add r0, r5, #0 - add r0, #0xd3 - add r4, r2, #0 - ldrb r1, [r0] - ldr r0, [r4, #0x2c] - cmp r1, r0 - bhs _0203C596 - ldr r0, _0203C59C ; =0x000005DC - bl PlaySE - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - mov r1, #0 - bl sub_02018410 - add r0, r5, #0 - add r0, #0xd3 - ldrb r0, [r0] - str r0, [r4, #0x28] - add r0, r4, r0 - add r0, #0x3a - ldrb r1, [r0] - ldr r0, _0203C5A0 ; =0x020FA0F8 - lsl r2, r1, #3 - ldr r2, [r0, r2] - mov r0, #1 - mvn r0, r0 - cmp r2, r0 - bne _0203C550 - mov r0, #0x10 - strh r0, [r4, #0x26] - b _0203C596 -_0203C550: - add r0, r0, #1 - cmp r2, r0 - beq _0203C596 - add r0, r5, #0 - bl sub_0203C3B8 - cmp r0, #0 - beq _0203C596 - ldr r0, [r4, #0x28] - add r0, r4, r0 - add r0, #0x3a - ldrb r0, [r0] - lsl r1, r0, #3 - ldr r0, _0203C5A0 ; =0x020FA0F8 - ldr r6, [r0, r1] - add r0, r5, #0 - mov r1, #0 - bl sub_0203DF64 - add r0, r5, #0 - bl ov01_021F6B50 - add r0, r5, #0 - mov r1, #0 - add r0, #0xd0 - strh r1, [r0] - ldr r0, [r4, #0x28] - add r5, #0xe0 - add r0, r4, r0 - add r0, #0x3a - ldrb r0, [r0] - str r0, [r5] - add r0, r7, #0 - blx r6 - pop {r3, r4, r5, r6, r7, pc} -_0203C596: - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203C59C: .word 0x000005DC -_0203C5A0: .word 0x020FA0F8 - thumb_func_end sub_0203C508 - - thumb_func_start sub_0203C5A4 -sub_0203C5A4: ; 0x0203C5A4 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r7, r0, #0 - add r0, r4, #0 - add r0, #0xd0 - ldrh r0, [r0] - add r5, r2, #0 - cmp r0, #0 - beq _0203C5C2 - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r4, r0 - mov r1, #1 - bl sub_02018410 -_0203C5C2: - add r0, r4, #0 - add r0, #0xd0 - ldrh r0, [r0] - cmp r0, #0xa - bhi _0203C690 - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203C5D8: ; jump table - .short _0203C690 - _0203C5D8 - 2 ; case 0 - .short _0203C5EE - _0203C5D8 - 2 ; case 1 - .short _0203C602 - _0203C5D8 - 2 ; case 2 - .short _0203C602 - _0203C5D8 - 2 ; case 3 - .short _0203C602 - _0203C5D8 - 2 ; case 4 - .short _0203C602 - _0203C5D8 - 2 ; case 5 - .short _0203C602 - _0203C5D8 - 2 ; case 6 - .short _0203C602 - _0203C5D8 - 2 ; case 7 - .short _0203C602 - _0203C5D8 - 2 ; case 8 - .short _0203C602 - _0203C5D8 - 2 ; case 9 - .short _0203C602 - _0203C5D8 - 2 ; case 10 -_0203C5EE: - mov r0, #0x25 - lsl r0, r0, #6 - bl PlaySE - mov r0, #0x10 - strh r0, [r5, #0x26] - mov r0, #0 - add r4, #0xd0 - strh r0, [r4] - b _0203C690 -_0203C602: - sub r1, r0, #2 - add r0, r4, #0 - add r0, #0xd3 - strb r1, [r0] - add r0, r4, #0 - add r0, #0xd3 - ldrb r1, [r0] - ldr r0, [r5, #0x2c] - cmp r1, r0 - bhs _0203C690 - ldr r0, _0203C694 ; =0x000005DC - bl PlaySE - add r0, r4, #0 - add r0, #0xd3 - ldrb r0, [r0] - str r0, [r5, #0x28] - add r0, r5, r0 - add r0, #0x3a - ldrb r1, [r0] - ldr r0, _0203C698 ; =0x020FA0F8 - lsl r2, r1, #3 - ldr r2, [r0, r2] - mov r0, #1 - mvn r0, r0 - cmp r2, r0 - bne _0203C644 - mov r0, #0x10 - strh r0, [r5, #0x26] - mov r0, #0 - add r4, #0xd0 - strh r0, [r4] - b _0203C690 -_0203C644: - add r0, r0, #1 - cmp r2, r0 - beq _0203C690 - add r0, r4, #0 - bl sub_0203C3B8 - cmp r0, #0 - beq _0203C68A - ldr r0, [r5, #0x28] - add r0, r5, r0 - add r0, #0x3a - ldrb r0, [r0] - lsl r1, r0, #3 - ldr r0, _0203C698 ; =0x020FA0F8 - ldr r6, [r0, r1] - add r0, r4, #0 - mov r1, #0 - add r0, #0xd0 - strh r1, [r0] - add r0, r4, #0 - mov r1, #1 - bl sub_0203DF64 - add r0, r4, #0 - bl ov01_021F6B50 - ldr r0, [r5, #0x28] - add r4, #0xe0 - add r0, r5, r0 - add r0, #0x3a - ldrb r0, [r0] - str r0, [r4] - add r0, r7, #0 - blx r6 - pop {r3, r4, r5, r6, r7, pc} -_0203C68A: - mov r0, #0 - add r4, #0xd0 - strh r0, [r4] -_0203C690: - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203C694: .word 0x000005DC -_0203C698: .word 0x020FA0F8 - thumb_func_end sub_0203C5A4 - - thumb_func_start sub_0203C69C -sub_0203C69C: ; 0x0203C69C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_02035650 - cmp r0, #0 - beq _0203C6C6 - mov r0, #0x35 - lsl r0, r0, #4 - ldr r0, [r5, r0] - cmp r0, #0 - beq _0203C6C6 - add r4, #0x84 - ldr r0, [r4] - bl sub_0205AD0C - bl sub_02037FF0 - mov r0, #0 - bl sub_0205A904 -_0203C6C6: - pop {r3, r4, r5, pc} - thumb_func_end sub_0203C69C - - thumb_func_start sub_0203C6C8 -sub_0203C6C8: ; 0x0203C6C8 - push {r4, r5, r6, r7, lr} - sub sp, #0x5c - mov r1, #0x76 - add r5, r0, #0 - lsl r1, r1, #2 - mov r0, #1 - add r1, r5, r1 - mov r2, #0xb - bl sub_02009F40 - mov r1, #0x75 - lsl r1, r1, #2 - mov r7, #3 - str r0, [r5, r1] - mov r6, #0 - add r4, r5, #0 - lsl r7, r7, #8 -_0203C6EA: - mov r0, #1 - add r1, r6, #0 - mov r2, #0xb - bl sub_0200A090 - str r0, [r4, r7] - add r6, r6, #1 - add r4, r4, #4 - cmp r6, #4 - blt _0203C6EA - mov r0, #0 - str r0, [sp] - mov r3, #1 - str r3, [sp, #4] - mov r0, #0xb - str r0, [sp, #8] - mov r0, #3 - lsl r0, r0, #8 - ldr r0, [r5, r0] - mov r1, #0xe - mov r2, #0x40 - bl sub_0200A1D8 - mov r1, #0x31 - lsl r1, r1, #4 - str r0, [r5, r1] - mov r3, #0 - str r3, [sp] - mov r0, #1 - str r0, [sp, #4] - str r0, [sp, #8] - mov r0, #0xb - sub r1, #0xc - str r0, [sp, #0xc] - ldr r0, [r5, r1] - mov r1, #0xe - mov r2, #0x3d - bl sub_0200A234 - mov r1, #0xc5 - lsl r1, r1, #2 - str r0, [r5, r1] - mov r0, #0 - str r0, [sp] - mov r0, #2 - str r0, [sp, #4] - mov r0, #0xb - sub r1, #0xc - str r0, [sp, #8] - ldr r0, [r5, r1] - mov r1, #0xe - mov r2, #0x3e - mov r3, #1 - bl sub_0200A294 - mov r1, #0xc6 - lsl r1, r1, #2 - str r0, [r5, r1] - mov r0, #0 - str r0, [sp] - mov r0, #3 - str r0, [sp, #4] - mov r0, #0xb - sub r1, #0xc - str r0, [sp, #8] - ldr r0, [r5, r1] - mov r1, #0xe - mov r2, #0x3f - mov r3, #1 - bl sub_0200A294 - mov r1, #0xc7 - lsl r1, r1, #2 - str r0, [r5, r1] - sub r1, #0xc - ldr r0, [r5, r1] - bl sub_0200ADA4 - mov r0, #0xc5 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0200B00C - mov r0, #0xc5 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0200A740 - mov r1, #0 - mov r2, #3 - str r1, [sp] - sub r0, r1, #1 - str r0, [sp, #4] - str r0, [sp, #8] - str r1, [sp, #0xc] - str r1, [sp, #0x10] - lsl r2, r2, #8 - ldr r0, [r5, r2] - add r3, r1, #0 - str r0, [sp, #0x14] - add r0, r2, #4 - ldr r0, [r5, r0] - str r0, [sp, #0x18] - add r0, r2, #0 - add r0, #8 - ldr r0, [r5, r0] - str r0, [sp, #0x1c] - add r0, r2, #0 - add r0, #0xc - ldr r0, [r5, r0] - add r2, #0x20 - str r0, [sp, #0x20] - str r1, [sp, #0x24] - add r0, r5, r2 - add r2, r1, #0 - str r1, [sp, #0x28] - bl sub_02009D48 - mov r0, #0x75 - lsl r0, r0, #2 - ldr r0, [r5, r0] - mov r1, #0x32 - mov r2, #1 - lsl r2, r2, #0xc - mov r3, #0 - lsl r1, r1, #4 - str r0, [sp, #0x2c] - add r0, r5, r1 - str r0, [sp, #0x30] - str r3, [sp, #0x3c] - str r2, [sp, #0x40] - str r2, [sp, #0x44] - str r2, [sp, #0x48] - add r2, sp, #0x2c - strh r3, [r2, #0x20] - str r0, [sp, #0x30] - lsl r0, r1, #9 - str r0, [sp, #0x34] - mov r0, #9 - mov r2, #1 - lsl r0, r0, #0x10 - str r2, [sp, #0x54] - mov r2, #0xb - str r0, [sp, #0x38] - add r0, sp, #0x2c - str r3, [sp, #0x50] - str r2, [sp, #0x58] - bl sub_02024624 - mov r1, #0xd1 - lsl r1, r1, #2 - str r0, [r5, r1] - ldr r0, [r5, r1] - mov r1, #1 - bl sub_0202484C - mov r0, #0x10 - mov r1, #1 - bl GX_EngineAToggleLayers - add sp, #0x5c - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203C6C8 - - thumb_func_start sub_0203C830 -sub_0203C830: ; 0x0203C830 - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r0, #0x31 - lsl r0, r0, #4 - ldr r0, [r5, r0] - bl sub_0200AEB0 - mov r0, #0xc5 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_0200B0A8 - mov r6, #3 - mov r4, #0 - lsl r6, r6, #8 -_0203C84E: - lsl r0, r4, #2 - add r0, r5, r0 - ldr r0, [r0, r6] - bl sub_0200A0D0 - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #4 - blo _0203C84E - mov r0, #0x75 - lsl r0, r0, #2 - ldr r0, [r5, r0] - bl sub_02024504 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203C830 - - thumb_func_start sub_0203C870 -sub_0203C870: ; 0x0203C870 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0200FB5C - cmp r0, #0 - beq _0203C8AE - add r0, r5, #0 - bl sub_0205064C - add r6, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r1, r6, #0 - add r4, r0, #0 - bl sub_0203C38C - add r0, r6, #0 - add r0, #0xd2 - ldrb r1, [r0] - mov r0, #0x3f - add r6, #0xd2 - bic r1, r0 - strb r1, [r6] - mov r1, #0xd5 - lsl r1, r1, #2 - ldr r1, [r4, r1] - add r0, r5, #0 - blx r1 - mov r0, #5 - strh r0, [r4, #0x26] -_0203C8AE: - pop {r4, r5, r6, pc} - thumb_func_end sub_0203C870 - - thumb_func_start sub_0203C8B0 -sub_0203C8B0: ; 0x0203C8B0 - push {r4, r5, r6, lr} - add r6, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r6, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020505A0 - cmp r0, #0 - bne _0203C8EE - mov r1, #0xd5 - lsl r1, r1, #2 - ldr r1, [r4, r1] - add r0, r6, #0 - blx r1 - ldrh r0, [r4, #0x26] - cmp r0, #0xf - bne _0203C8EE - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - bl sub_020183F0 - cmp r0, #1 - bne _0203C8EE - mov r0, #0xa - strh r0, [r4, #0x26] -_0203C8EE: - pop {r4, r5, r6, pc} - thumb_func_end sub_0203C8B0 - - thumb_func_start sub_0203C8F0 -sub_0203C8F0: ; 0x0203C8F0 - mov r2, #0xd5 - lsl r2, r2, #2 - str r1, [r0, r2] - mov r1, #5 - strh r1, [r0, #0x26] - bx lr - thumb_func_end sub_0203C8F0 - - thumb_func_start sub_0203C8FC -sub_0203C8FC: ; 0x0203C8FC - push {r4, lr} - bl sub_02050650 - add r4, r0, #0 - mov r0, #0 - bl ov01_021E636C - mov r0, #0xd5 - ldr r1, _0203C91C ; =sub_0203C920 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #4 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r4, pc} - nop -_0203C91C: .word sub_0203C920 - thumb_func_end sub_0203C8FC - - thumb_func_start sub_0203C920 -sub_0203C920: ; 0x0203C920 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r5, r0, #0 - bl sub_0205064C - add r4, r0, #0 - add r0, r5, #0 - bl sub_02050650 - str r0, [sp] - ldr r0, [r4, #0xc] - bl sub_0203B9C4 - add r5, r0, #0 - bl sub_0203B958 - str r0, [sp, #4] - add r0, r5, #0 - bl sub_0203B964 - str r0, [sp, #8] - mov r0, #0xb - mov r1, #0x1c - bl AllocFromHeap - mov r1, #0 - mov r2, #0x1c - add r5, r0, #0 - bl MIi_CpuFill8 - ldr r0, [r4, #0xc] - bl sub_0202A634 - str r0, [r5] - ldr r0, [r4, #0xc] - bl sub_02028E9C - str r0, [r5, #4] - add r0, r4, #0 - add r0, #0xa8 - ldr r0, [r0] - str r0, [r5, #8] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r4, r0 - str r0, [r5, #0xc] - ldr r0, [r4, #0x40] - bl sub_0205C67C - add r6, r0, #0 - ldr r0, [r4, #0x40] - bl sub_0205C688 - add r7, r0, #0 - asr r1, r6, #4 - asr r2, r7, #4 - lsr r1, r1, #0x1b - lsr r2, r2, #0x1b - add r1, r6, r1 - add r2, r7, r2 - ldr r0, [r4, #0x30] - asr r1, r1, #5 - asr r2, r2, #5 - bl sub_0203B024 - strh r0, [r5, #0x1a] - ldr r0, [sp, #4] - ldr r0, [r0] - strh r0, [r5, #0x18] - ldrh r0, [r5, #0x1a] - bl sub_0203B564 - cmp r0, #0 - beq _0203C9BA - str r6, [r5, #0x10] - str r7, [r5, #0x14] - b _0203C9F4 -_0203C9BA: - ldrh r0, [r5, #0x1a] - add r1, sp, #0xc - add r1, #2 - add r2, sp, #0xc - bl sub_0203B518 - add r1, sp, #0xc - mov r0, #2 - ldrsh r2, [r1, r0] - cmp r2, #0 - bne _0203C9E6 - mov r0, #0 - ldrsh r0, [r1, r0] - cmp r0, #0 - bne _0203C9E6 - ldr r0, [sp, #8] - ldr r0, [r0, #8] - str r0, [r5, #0x10] - ldr r0, [sp, #8] - ldr r0, [r0, #0xc] - str r0, [r5, #0x14] - b _0203C9F4 -_0203C9E6: - lsl r0, r2, #5 - str r0, [r5, #0x10] - add r1, sp, #0xc - mov r0, #0 - ldrsh r0, [r1, r0] - lsl r0, r0, #5 - str r0, [r5, #0x14] -_0203C9F4: - add r0, r4, #0 - add r1, r5, #0 - bl sub_0203F7F4 - mov r1, #0xe - ldr r0, [sp] - lsl r1, r1, #6 - str r5, [r0, r1] - ldr r2, _0203CA10 ; =sub_0203CA14 - sub r1, #0x2c - str r2, [r0, r1] - mov r0, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203CA10: .word sub_0203CA14 - thumb_func_end sub_0203C920 - - thumb_func_start sub_0203CA14 -sub_0203CA14: ; 0x0203CA14 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020505C0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r1, [r4, r0] - cmp r1, #0 - beq _0203CA3C - mov r0, #0xb - bl FreeToHeapExplicit -_0203CA3C: - mov r0, #0xf - strh r0, [r4, #0x26] - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203CA14 - - thumb_func_start sub_0203CA44 -sub_0203CA44: ; 0x0203CA44 - push {r4, lr} - bl sub_02050650 - add r4, r0, #0 - mov r0, #0 - bl ov01_021E636C - mov r0, #0xd5 - ldr r1, _0203CA64 ; =sub_0203CA68 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #4 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r4, pc} - nop -_0203CA64: .word sub_0203CA68 - thumb_func_end sub_0203CA44 - - thumb_func_start sub_0203CA68 -sub_0203CA68: ; 0x0203CA68 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - mov r1, #0x37 - add r4, r0, #0 - lsl r1, r1, #4 - add r0, r5, #0 - add r1, r4, r1 - mov r2, #0 - bl sub_0203E550 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r0, _0203CA98 ; =sub_0203CA9C - sub r1, #0x2c - str r0, [r4, r1] - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203CA98: .word sub_0203CA9C - thumb_func_end sub_0203CA68 - - thumb_func_start sub_0203CA9C -sub_0203CA9C: ; 0x0203CA9C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r7, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r7, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xb - mov r1, #0x44 - bl AllocFromHeap - mov r1, #0xe - lsl r1, r1, #6 - ldr r1, [r4, r1] - mov r2, #0x44 - add r6, r0, #0 - bl memcpy - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl FreeToHeap - add r0, r6, #0 - add r0, #0x27 - ldrb r0, [r0] - cmp r0, #0x18 - bls _0203CADC - b _0203CE6C -_0203CADC: - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203CAE8: ; jump table - .short _0203CE6C - _0203CAE8 - 2 ; case 0 - .short _0203CB1A - _0203CAE8 - 2 ; case 1 - .short _0203CE6C - _0203CAE8 - 2 ; case 2 - .short _0203CD68 - _0203CAE8 - 2 ; case 3 - .short _0203CBA8 - _0203CAE8 - 2 ; case 4 - .short _0203CC3E - _0203CAE8 - 2 ; case 5 - .short _0203CCD4 - _0203CAE8 - 2 ; case 6 - .short _0203CD2A - _0203CAE8 - 2 ; case 7 - .short _0203CDCA - _0203CAE8 - 2 ; case 8 - .short _0203CDF6 - _0203CAE8 - 2 ; case 9 - .short _0203CE50 - _0203CAE8 - 2 ; case 10 - .short _0203CE2A - _0203CAE8 - 2 ; case 11 - .short _0203CE2A - _0203CAE8 - 2 ; case 12 - .short _0203CE2A - _0203CAE8 - 2 ; case 13 - .short _0203CE2A - _0203CAE8 - 2 ; case 14 - .short _0203CE2A - _0203CAE8 - 2 ; case 15 - .short _0203CE2A - _0203CAE8 - 2 ; case 16 - .short _0203CE2A - _0203CAE8 - 2 ; case 17 - .short _0203CE2A - _0203CAE8 - 2 ; case 18 - .short _0203CE2A - _0203CAE8 - 2 ; case 19 - .short _0203CE2A - _0203CAE8 - 2 ; case 20 - .short _0203CE2A - _0203CAE8 - 2 ; case 21 - .short _0203CE2A - _0203CAE8 - 2 ; case 22 - .short _0203CE2A - _0203CAE8 - 2 ; case 23 - .short _0203CE2A - _0203CAE8 - 2 ; case 24 -_0203CB1A: - mov r0, #0xb - mov r1, #0x3c - bl AllocFromHeap - add r7, r0, #0 - ldr r0, [r5, #0xc] - bl sub_02074904 - str r0, [r7] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r7, #4] - mov r0, #1 - strb r0, [r7, #0x11] - add r0, r6, #0 - add r0, #0x26 - ldrb r0, [r0] - strb r0, [r7, #0x14] - ldr r0, [r7] - bl sub_02074640 - strb r0, [r7, #0x13] - mov r0, #0 - strh r0, [r7, #0x18] - strb r0, [r7, #0x12] - ldr r0, [r5, #0xc] - bl sub_0202D95C - str r0, [r7, #0x20] - ldr r0, [r5, #0xc] - bl sub_02074910 - str r0, [r7, #0x1c] - ldr r0, [r5, #0xc] - bl sub_02088288 - str r0, [r7, #0x2c] - mov r0, #0 - str r0, [r7, #0x28] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r7, #0x30] - ldr r0, [r5, #0xc] - bl sub_0208828C - str r0, [r7, #0x34] - ldr r1, _0203CEDC ; =0x020FA0B0 - add r0, r7, #0 - bl sub_02089D40 - ldr r0, [r5, #0xc] - bl sub_02028E9C - add r1, r0, #0 - add r0, r7, #0 - bl sub_0208AD34 - add r0, r5, #0 - add r1, r7, #0 - bl sub_0203E4EC - mov r0, #0xe - lsl r0, r0, #6 - str r7, [r4, r0] - ldr r1, _0203CEE0 ; =sub_0203D580 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CBA8: - mov r0, #0xb - mov r1, #0x3c - bl AllocFromHeap - add r7, r0, #0 - ldr r0, [r5, #0xc] - bl sub_02074904 - str r0, [r7] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r7, #4] - mov r1, #1 - add r0, r6, #0 - strb r1, [r7, #0x11] - add r0, #0x26 - ldrb r0, [r0] - strb r0, [r7, #0x14] - strb r1, [r7, #0x13] - ldrh r0, [r6, #0x2a] - strh r0, [r7, #0x18] - mov r0, #2 - strb r0, [r7, #0x12] - ldr r0, [r5, #0xc] - bl sub_02074910 - str r0, [r7, #0x1c] - ldr r0, [r5, #0xc] - bl sub_02088288 - str r0, [r7, #0x2c] - mov r0, #0 - str r0, [r7, #0x28] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r7, #0x30] - ldr r0, [r5, #0xc] - bl sub_0208828C - str r0, [r7, #0x34] - ldr r1, _0203CEE4 ; =0x020FA0AC - add r0, r7, #0 - bl sub_02089D40 - ldr r0, [r5, #0xc] - bl sub_02028E9C - add r1, r0, #0 - add r0, r7, #0 - bl sub_0208AD34 - add r0, r5, #0 - add r1, r7, #0 - bl sub_0203E4EC - mov r0, #0xb - mov r1, #4 - bl AllocFromHeap - ldrh r1, [r6, #0x28] - strh r1, [r0] - mov r1, #0 - strh r1, [r0, #2] - mov r1, #0xe1 - lsl r1, r1, #2 - str r0, [r4, r1] - sub r0, r1, #4 - str r7, [r4, r0] - ldr r1, _0203CEE0 ; =sub_0203D580 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CC3E: - mov r0, #0xb - mov r1, #0x3c - bl AllocFromHeap - add r7, r0, #0 - ldr r0, [r5, #0xc] - bl sub_02074904 - str r0, [r7] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r7, #4] - mov r1, #1 - add r0, r6, #0 - strb r1, [r7, #0x11] - add r0, #0x26 - ldrb r0, [r0] - strb r0, [r7, #0x14] - strb r1, [r7, #0x13] - ldrh r0, [r6, #0x2a] - strh r0, [r7, #0x18] - mov r0, #2 - strb r0, [r7, #0x12] - ldr r0, [r5, #0xc] - bl sub_02074910 - str r0, [r7, #0x1c] - ldr r0, [r5, #0xc] - bl sub_02088288 - str r0, [r7, #0x2c] - mov r0, #0 - str r0, [r7, #0x28] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r7, #0x30] - ldr r0, [r5, #0xc] - bl sub_0208828C - str r0, [r7, #0x34] - ldr r1, _0203CEE4 ; =0x020FA0AC - add r0, r7, #0 - bl sub_02089D40 - ldr r0, [r5, #0xc] - bl sub_02028E9C - add r1, r0, #0 - add r0, r7, #0 - bl sub_0208AD34 - add r0, r5, #0 - add r1, r7, #0 - bl sub_0203E4EC - mov r0, #0xb - mov r1, #4 - bl AllocFromHeap - mov r1, #0 - strh r1, [r0] - ldr r1, [r6, #0x38] - strh r1, [r0, #2] - mov r1, #0xe1 - lsl r1, r1, #2 - str r0, [r4, r1] - sub r0, r1, #4 - str r7, [r4, r0] - ldr r1, _0203CEE0 ; =sub_0203D580 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CCD4: - ldrh r0, [r6, #0x28] - bl sub_02078078 - add r3, r0, #0 - mov r0, #0xb - add r2, r6, #0 - str r0, [sp] - add r2, #0x26 - ldrb r2, [r2] - add r0, r5, #0 - mov r1, #2 - bl sub_0203EFEC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - add r0, r6, #0 - add r0, #0x24 - ldrb r0, [r0] - cmp r0, #0xa - ldrh r0, [r6, #0x28] - bne _0203CD0E - add r2, r6, #0 - add r2, #0x26 - ldrb r2, [r2] - mov r1, #0 - bl sub_0203D818 - b _0203CD1A -_0203CD0E: - add r2, r6, #0 - add r2, #0x26 - ldrb r2, [r2] - mov r1, #1 - bl sub_0203D818 -_0203CD1A: - mov r1, #0xe1 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r1, _0203CEE8 ; =sub_0203D830 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CD2A: - ldr r0, [r5, #0xc] - bl sub_02074904 - add r1, r6, #0 - add r1, #0x26 - ldrb r1, [r1] - bl sub_02074644 - add r1, r0, #0 - add r0, r5, #0 - mov r2, #0xb - bl sub_0203F050 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - add r2, r6, #0 - add r2, #0x26 - ldrh r0, [r6, #0x28] - ldrb r2, [r2] - mov r1, #2 - bl sub_0203D818 - mov r1, #0xe1 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r1, _0203CEE8 ; =sub_0203D830 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CD68: - mov r0, #0xb - mov r1, #4 - bl AllocFromHeap - add r1, r6, #0 - add r1, #0x26 - ldrb r1, [r1] - str r1, [r0] - mov r1, #0xe1 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r0, [r5, #0xc] - bl sub_0207879C - add r7, r0, #0 - ldr r0, [r5, #0xc] - bl sub_02028E9C - ldr r1, _0203CEEC ; =0x020FA0B8 - add r0, r7, #0 - mov r2, #0xb - bl sub_02078644 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - add r3, r5, #0 - str r0, [sp] - add r3, #0x94 - ldr r0, [r4, r1] - ldr r1, [r5, #0xc] - ldr r3, [r3] - mov r2, #1 - bl sub_0207789C - mov r1, #0xe - lsl r1, r1, #6 - ldr r1, [r4, r1] - add r0, r5, #0 - bl sub_0203E3D4 - ldr r1, _0203CEF0 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CDCA: - mov r0, #0xb - mov r1, #0xc - bl AllocFromHeap - ldrh r1, [r6, #0x28] - strh r1, [r0, #2] - mov r1, #3 - strb r1, [r0, #1] - add r1, r6, #0 - add r1, #0x26 - ldrb r1, [r1] - strb r1, [r0] - ldrh r1, [r6, #0x3c] - strh r1, [r0, #4] - ldr r1, [r6, #0x40] - str r1, [r0, #8] - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - mov r0, #8 - strh r0, [r4, #0x26] - b _0203CEFE -_0203CDF6: - mov r0, #0xb - mov r1, #0xc - bl AllocFromHeap - add r7, r0, #0 - ldr r0, [r5, #0x20] - ldr r0, [r0] - bl sub_0203B60C - strh r0, [r7, #2] - mov r0, #0 - strb r0, [r7, #1] - add r0, r6, #0 - add r0, #0x26 - ldrb r0, [r0] - strb r0, [r7] - ldrh r0, [r6, #0x3c] - strh r0, [r7, #4] - ldr r0, [r6, #0x40] - str r0, [r7, #8] - mov r0, #0xe - lsl r0, r0, #6 - str r7, [r4, r0] - mov r0, #8 - strh r0, [r4, #0x26] - b _0203CEFE -_0203CE2A: - sub r0, #0xb - add r1, sp, #4 - strh r0, [r1, #6] - add r0, r6, #0 - add r0, #0x26 - ldrb r0, [r0] - strh r0, [r1, #4] - str r7, [sp, #4] - ldrh r1, [r1, #6] - mov r0, #0 - bl sub_02067DF4 - mov r1, #0x37 - lsl r1, r1, #4 - add r2, r0, #0 - add r0, sp, #4 - add r1, r4, r1 - blx r2 - b _0203CEFE -_0203CE50: - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203CEF0 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CE6C: - add r0, r6, #0 - add r0, #0x24 - ldrb r0, [r0] - cmp r0, #5 - beq _0203CE86 - cmp r0, #6 - beq _0203CE86 - cmp r0, #7 - beq _0203CE86 - cmp r0, #0x10 - beq _0203CE86 - cmp r0, #8 - bne _0203CEBA -_0203CE86: - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r2, #0xe - lsl r2, r2, #6 - str r0, [r4, r2] - add r0, r6, #0 - add r0, #0x26 - ldrb r1, [r0] - ldr r0, [r4, r2] - cmp r1, #6 - blo _0203CEAC - mov r1, #0 - bl sub_020778E0 - b _0203CEB0 -_0203CEAC: - bl sub_020778E0 -_0203CEB0: - ldr r1, _0203CEF0 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE -_0203CEBA: - cmp r0, #9 - bne _0203CEF4 - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203CEF0 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203CEFE - nop -_0203CEDC: .word 0x020FA0B0 -_0203CEE0: .word sub_0203D580 -_0203CEE4: .word 0x020FA0AC -_0203CEE8: .word sub_0203D830 -_0203CEEC: .word 0x020FA0B8 -_0203CEF0: .word sub_0203CFC0 -_0203CEF4: - add r0, r5, #0 - bl sub_020505C0 - mov r0, #0xf - strh r0, [r4, #0x26] -_0203CEFE: - add r0, r6, #0 - bl FreeToHeap - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203CA9C - - thumb_func_start sub_0203CF0C -sub_0203CF0C: ; 0x0203CF0C - push {r4, lr} - bl sub_02050650 - add r4, r0, #0 - mov r0, #0 - bl ov01_021E636C - mov r0, #0xd5 - ldr r1, _0203CF2C ; =sub_0203CF30 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #4 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r4, pc} - nop -_0203CF2C: .word sub_0203CF30 - thumb_func_end sub_0203CF0C - - thumb_func_start sub_0203CF30 -sub_0203CF30: ; 0x0203CF30 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - mov r1, #0xd6 - add r4, r0, #0 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r0, [r4, r1] - mov r1, #0 - bl sub_020778E0 - mov r0, #0xd5 - ldr r1, _0203CF70 ; =sub_0203CFC0 - lsl r0, r0, #2 - str r1, [r4, r0] - add r0, r5, #0 - bl ov01_021F4440 - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_0203CF70: .word sub_0203CFC0 - thumb_func_end sub_0203CF30 - - thumb_func_start sub_0203CF74 -sub_0203CF74: ; 0x0203CF74 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r6, r2, #0 - mov r1, #0 - mov r2, #0x44 - add r5, r0, #0 - bl memset - ldr r0, [r4, #0xc] - bl sub_02074904 - str r0, [r5] - ldr r0, [r4, #0xc] - bl sub_0207879C - str r0, [r5, #4] - ldr r0, [r4, #0xc] - bl sub_0202B50C - str r0, [r5, #8] - ldr r0, [r4, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r5, #0xc] - mov r0, #0x37 - lsl r0, r0, #4 - add r0, r6, r0 - str r0, [r5, #0x18] - add r0, r5, #0 - mov r1, #0 - add r0, #0x25 - strb r1, [r0] - mov r0, #0x43 - lsl r0, r0, #2 - str r4, [r5, #0x1c] - add r0, r4, r0 - str r0, [r5, #0x20] - pop {r4, r5, r6, pc} - thumb_func_end sub_0203CF74 - - thumb_func_start sub_0203CFC0 -sub_0203CFC0: ; 0x0203CFC0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r5, r0, #0 - bl sub_0205064C - str r0, [sp, #8] - add r0, r5, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xb - bl sub_02077878 - add r7, r0, #0 - bl sub_02077890 - mov r1, #0xe - lsl r1, r1, #6 - add r2, r0, #0 - ldr r1, [r4, r1] - add r0, r7, #0 - bl memcpy - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl FreeToHeap - add r0, r7, #0 - bl sub_0207790C - cmp r0, #5 - bls _0203D004 - b _0203D186 -_0203D004: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203D010: ; jump table - .short _0203D01C - _0203D010 - 2 ; case 0 - .short _0203D056 - _0203D010 - 2 ; case 1 - .short _0203D066 - _0203D010 - 2 ; case 2 - .short _0203D186 - _0203D010 - 2 ; case 3 - .short _0203D0AC - _0203D010 - 2 ; case 4 - .short _0203D186 - _0203D010 - 2 ; case 5 -_0203D01C: - add r0, r7, #0 - bl sub_02077904 - add r1, sp, #0x10 - strh r0, [r1, #4] - add r0, r7, #0 - bl sub_02077914 - add r1, sp, #0x10 - strb r0, [r1, #6] - str r5, [sp, #0x10] - ldrh r0, [r1, #4] - mov r1, #6 - mov r2, #0xb - bl sub_02077D88 - add r1, r0, #0 - lsl r1, r1, #0x10 - mov r0, #0 - lsr r1, r1, #0x10 - bl sub_02064980 - mov r1, #0xd6 - lsl r1, r1, #2 - add r2, r0, #0 - add r0, sp, #0x10 - add r1, r4, r1 - blx r2 - b _0203D190 -_0203D056: - add r0, r7, #0 - bl sub_02077904 - add r1, r0, #0 - add r0, r5, #0 - bl sub_0203D664 - b _0203D190 -_0203D066: - mov r0, #0xb - mov r1, #0x44 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x44 - add r5, r0, #0 - bl memset - ldr r1, [sp, #8] - add r0, r5, #0 - add r2, r4, #0 - bl sub_0203CF74 - add r0, r5, #0 - mov r1, #9 - add r0, #0x24 - strb r1, [r0] - add r0, r7, #0 - bl sub_02077904 - strh r0, [r5, #0x28] - ldr r0, [sp, #8] - ldr r1, _0203D19C ; =0x0210159C - add r2, r5, #0 - bl SwitchToPokegearApp - mov r0, #0xe - lsl r0, r0, #6 - str r5, [r4, r0] - ldr r1, _0203D1A0 ; =sub_0203CA9C - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D190 -_0203D0AC: - ldr r0, [sp, #8] - ldr r0, [r0, #0xc] - bl sub_02074904 - str r0, [sp, #4] - mov r0, #0xe1 - lsl r0, r0, #2 - ldr r0, [r4, r0] - ldr r6, [r0] - add r0, r7, #0 - bl sub_02077904 - add r5, r0, #0 - ldr r0, [sp, #4] - add r1, r6, #0 - bl sub_02074644 - str r0, [sp, #0xc] - mov r0, #0xe1 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FreeToHeap - add r0, r5, #0 - bl sub_02078068 - cmp r0, #1 - bne _0203D12C - ldr r0, [sp, #0xc] - mov r1, #6 - mov r2, #0 - bl sub_0206E540 - cmp r0, #0 - bne _0203D12C - add r0, r5, #0 - bl sub_02078078 - add r3, r0, #0 - mov r0, #0xb - str r0, [sp] - lsl r2, r6, #0x18 - ldr r0, [sp, #8] - mov r1, #2 - lsr r2, r2, #0x18 - bl sub_0203EFEC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - lsl r2, r6, #0x18 - add r0, r5, #0 - mov r1, #0 - lsr r2, r2, #0x18 - bl sub_0203D818 - mov r1, #0xe1 - lsl r1, r1, #2 - str r0, [r4, r1] - ldr r1, _0203D1A4 ; =sub_0203D830 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D190 -_0203D12C: - mov r0, #0xb - mov r1, #0x44 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x44 - add r5, r0, #0 - bl memset - ldr r1, [sp, #8] - add r0, r5, #0 - add r2, r4, #0 - bl sub_0203CF74 - ldr r0, [sp, #4] - str r0, [r5] - add r0, r7, #0 - bl sub_02077904 - strh r0, [r5, #0x28] - add r0, r5, #0 - add r0, #0x26 - strb r6, [r0] - ldrh r0, [r5, #0x28] - cmp r0, #0 - bne _0203D164 - mov r1, #0 - b _0203D166 -_0203D164: - mov r1, #0xa -_0203D166: - add r0, r5, #0 - add r0, #0x24 - strb r1, [r0] - ldr r0, [sp, #8] - ldr r1, _0203D19C ; =0x0210159C - add r2, r5, #0 - bl SwitchToPokegearApp - mov r0, #0xe - lsl r0, r0, #6 - str r5, [r4, r0] - ldr r1, _0203D1A0 ; =sub_0203CA9C - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D190 -_0203D186: - ldr r0, [sp, #8] - bl sub_020505C0 - mov r0, #0xf - strh r0, [r4, #0x26] -_0203D190: - add r0, r7, #0 - bl FreeToHeap - mov r0, #0 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203D19C: .word 0x0210159C -_0203D1A0: .word sub_0203CA9C -_0203D1A4: .word sub_0203D830 - thumb_func_end sub_0203CFC0 - - thumb_func_start sub_0203D1A8 -sub_0203D1A8: ; 0x0203D1A8 - push {r4, lr} - bl sub_02050650 - add r4, r0, #0 - mov r0, #0 - bl ov01_021E636C - mov r0, #0xd5 - ldr r1, _0203D1C8 ; =sub_0203D1CC - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #4 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r4, pc} - nop -_0203D1C8: .word sub_0203D1CC - thumb_func_end sub_0203D1A8 - - thumb_func_start sub_0203D1CC -sub_0203D1CC: ; 0x0203D1CC - push {r4, r5, r6, lr} - sub sp, #8 - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xb - bl sub_020691C4 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r6, [r4, r1] - mov r0, #1 - str r5, [sp] - add r1, r0, #0 - mov r2, #0 - mov r3, #0xff - str r6, [sp, #4] - bl sub_02068FC8 - add r0, r5, #0 - add r1, r6, #0 - bl sub_0203F7B0 - mov r0, #0xd5 - ldr r1, _0203D214 ; =sub_0203D218 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #0 - add sp, #8 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203D214: .word sub_0203D218 - thumb_func_end sub_0203D1CC - - thumb_func_start sub_0203D218 -sub_0203D218: ; 0x0203D218 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl sub_020691E0 - add r0, r5, #0 - bl sub_020505C0 - mov r0, #0xf - strh r0, [r4, #0x26] - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203D218 - - thumb_func_start sub_0203D244 -sub_0203D244: ; 0x0203D244 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205064C - mov r1, #1 - mov r2, #0 - bl ov01_021F6A9C - mov r0, #6 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203D244 - - thumb_func_start sub_0203D264 -sub_0203D264: ; 0x0203D264 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl ov01_021F6B00 - cmp r0, #1 - bne _0203D284 - mov r0, #7 - strh r0, [r4, #0x26] -_0203D284: - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203D264 - - thumb_func_start sub_0203D288 -sub_0203D288: ; 0x0203D288 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl ov01_021F6B00 - cmp r0, #0 - bne _0203D2C8 - add r0, r5, #0 - bl ov01_021F6B10 - cmp r0, #1 - bne _0203D2C8 - add r0, r5, #0 - add r0, #0xd0 - ldrh r0, [r0] - cmp r0, #1 - bne _0203D2C4 - mov r0, #0 - add r5, #0xd0 - strh r0, [r5] - mov r0, #0x10 - strh r0, [r4, #0x26] - pop {r3, r4, r5, pc} -_0203D2C4: - mov r0, #3 - strh r0, [r4, #0x26] -_0203D2C8: - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203D288 - - thumb_func_start sub_0203D2CC -sub_0203D2CC: ; 0x0203D2CC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205064C - mov r1, #8 - mov r2, #0 - bl ov01_021F6A9C - mov r0, #0x13 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203D2CC - - thumb_func_start sub_0203D2EC -sub_0203D2EC: ; 0x0203D2EC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205064C - mov r0, #0x14 - strh r0, [r4, #0x26] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203D2EC - - thumb_func_start sub_0203D304 -sub_0203D304: ; 0x0203D304 - push {r4, lr} - add r4, r0, #0 - bl sub_0205064C - add r0, r4, #0 - bl sub_02050650 - mov r1, #0x10 - strh r1, [r0, #0x26] - pop {r4, pc} - thumb_func_end sub_0203D304 - - thumb_func_start sub_0203D318 -sub_0203D318: ; 0x0203D318 - push {r4, lr} - bl sub_02050650 - add r4, r0, #0 - mov r0, #0 - bl ov01_021E636C - mov r0, #0xd5 - ldr r1, _0203D338 ; =sub_0203D33C - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #4 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r4, pc} - nop -_0203D338: .word sub_0203D33C - thumb_func_end sub_0203D318 - - thumb_func_start sub_0203D33C -sub_0203D33C: ; 0x0203D33C - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203EE24 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r0, _0203D364 ; =sub_0203D368 - sub r1, #0x2c - str r0, [r4, r1] - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203D364: .word sub_0203D368 - thumb_func_end sub_0203D33C - - thumb_func_start sub_0203D368 -sub_0203D368: ; 0x0203D368 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl FreeToHeap - add r0, r5, #0 - bl sub_020505C0 - mov r0, #0xf - strh r0, [r4, #0x26] - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203D368 - - thumb_func_start sub_0203D394 -sub_0203D394: ; 0x0203D394 - push {r4, lr} - bl sub_02050650 - add r4, r0, #0 - mov r0, #0 - bl ov01_021E636C - mov r0, #0xd5 - ldr r1, _0203D3B4 ; =sub_0203D3B8 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #4 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r4, pc} - nop -_0203D3B4: .word sub_0203D3B8 - thumb_func_end sub_0203D394 - - thumb_func_start sub_0203D3B8 -sub_0203D3B8: ; 0x0203D3B8 - push {r4, r5, lr} - sub sp, #0xc - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xb - str r0, [sp] - mov r3, #0x43 - lsl r3, r3, #2 - ldr r2, [r5, #0xc] - mov r0, #2 - mov r1, #0 - add r3, r5, r3 - bl sub_02090C94 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - add r0, sp, #4 - mov r1, #4 - bl MailMsg_init_withBank - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - add r1, sp, #4 - bl sub_02090D20 - mov r1, #0xe - lsl r1, r1, #6 - ldr r1, [r4, r1] - add r0, r5, #0 - bl sub_0203EA24 - mov r0, #0xd5 - ldr r1, _0203D414 ; =sub_0203D418 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #0 - add sp, #0xc - pop {r4, r5, pc} - .balign 4, 0 -_0203D414: .word sub_0203D418 - thumb_func_end sub_0203D3B8 - - thumb_func_start sub_0203D418 -sub_0203D418: ; 0x0203D418 - push {r3, r4, r5, lr} - sub sp, #8 - add r5, r0, #0 - bl sub_0205064C - add r4, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r5, r0, #0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r5, r0] - bl sub_02090D48 - cmp r0, #0 - bne _0203D466 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r5, r0] - add r1, sp, #0 - bl sub_02090D60 - bl sub_02035650 - cmp r0, #0 - beq _0203D460 - add r0, sp, #0 - bl sub_0205AB88 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0] - add r1, sp, #0 - bl sub_0205AA6C -_0203D460: - mov r0, #0xa - strh r0, [r5, #0x26] - b _0203D46A -_0203D466: - mov r0, #0xf - strh r0, [r5, #0x26] -_0203D46A: - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r5, r0] - bl sub_02090D0C - add r0, r4, #0 - bl sub_020505C0 - add r4, #0x84 - ldr r0, [r4] - bl sub_0205AD0C - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203D418 - - thumb_func_start sub_0203D488 -sub_0203D488: ; 0x0203D488 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0205064C - add r4, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r1, r4, #0 - add r6, r0, #0 - bl sub_0203C38C - add r0, r4, #0 - add r0, #0xd2 - ldrb r1, [r0] - mov r0, #0x3f - bic r1, r0 - add r0, r4, #0 - add r0, #0xd2 - strb r1, [r0] - ldr r0, [r4, #0xc] - bl sub_020503D0 - bl sub_02066860 - cmp r0, #1 - bne _0203D4CA - ldr r1, _0203D4F8 ; =0x00002266 - add r0, r5, #0 - mov r2, #0 - bl sub_0203FF0C - b _0203D4EE -_0203D4CA: - ldr r0, [r4, #0xc] - bl sub_020503D0 - bl sub_02066870 - cmp r0, #1 - bne _0203D4E4 - ldr r1, _0203D4FC ; =0x000028A4 - add r0, r5, #0 - mov r2, #0 - bl sub_0203FF0C - b _0203D4EE -_0203D4E4: - add r0, r5, #0 - mov r1, #4 - mov r2, #0 - bl sub_0203FF0C -_0203D4EE: - add r0, r6, #0 - bl FreeToHeap - mov r0, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203D4F8: .word 0x00002266 -_0203D4FC: .word 0x000028A4 - thumb_func_end sub_0203D488 - - thumb_func_start sub_0203D500 -sub_0203D500: ; 0x0203D500 - push {r4, lr} - bl sub_02050650 - add r4, r0, #0 - mov r0, #0 - bl ov01_021E636C - mov r0, #0xd5 - ldr r1, _0203D520 ; =sub_0203D524 - lsl r0, r0, #2 - str r1, [r4, r0] - mov r0, #4 - strh r0, [r4, #0x26] - mov r0, #1 - pop {r4, pc} - nop -_0203D520: .word sub_0203D524 - thumb_func_end sub_0203D500 - - thumb_func_start sub_0203D524 -sub_0203D524: ; 0x0203D524 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203EA84 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r0, _0203D54C ; =sub_0203D550 - sub r1, #0x2c - str r0, [r4, r1] - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203D54C: .word sub_0203D550 - thumb_func_end sub_0203D524 - - thumb_func_start sub_0203D550 -sub_0203D550: ; 0x0203D550 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020505C0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r1, [r4, r0] - cmp r1, #0 - beq _0203D578 - mov r0, #0xb - bl FreeToHeapExplicit -_0203D578: - mov r0, #0xf - strh r0, [r4, #0x26] - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203D550 - - thumb_func_start sub_0203D580 -sub_0203D580: ; 0x0203D580 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - bl sub_0205064C - str r0, [sp] - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xb - mov r1, #0x3c - bl AllocFromHeap - mov r1, #0xe - lsl r1, r1, #6 - ldr r1, [r4, r1] - mov r2, #0x3c - add r6, r0, #0 - bl memcpy - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl FreeToHeap - ldrb r0, [r6, #0x12] - cmp r0, #2 - bne _0203D634 - mov r0, #0xb - mov r1, #0x44 - bl AllocFromHeap - mov r1, #0xe1 - lsl r1, r1, #2 - ldr r7, [r4, r1] - ldr r1, [sp] - add r2, r4, #0 - add r5, r0, #0 - bl sub_0203CF74 - ldrh r0, [r7] - strh r0, [r5, #0x28] - add r0, r5, #0 - ldrb r1, [r6, #0x14] - add r0, #0x26 - strb r1, [r0] - ldrh r0, [r6, #0x18] - strh r0, [r5, #0x2a] - add r0, r5, #0 - ldrb r1, [r6, #0x16] - add r0, #0x2c - strb r1, [r0] - ldrh r0, [r7] - cmp r0, #0 - beq _0203D5FA - add r0, r5, #0 - mov r1, #7 - add r0, #0x24 - strb r1, [r0] - mov r0, #0 - b _0203D604 -_0203D5FA: - add r0, r5, #0 - mov r1, #8 - add r0, #0x24 - strb r1, [r0] - ldrh r0, [r7, #2] -_0203D604: - str r0, [r5, #0x38] - mov r1, #0x43 - ldr r0, [sp] - lsl r1, r1, #2 - add r0, r0, r1 - str r0, [r5, #0x20] - ldr r0, [sp] - ldr r1, _0203D65C ; =0x0210159C - add r2, r5, #0 - bl SwitchToPokegearApp - mov r0, #0xe1 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FreeToHeap - mov r0, #0xe - lsl r0, r0, #6 - str r5, [r4, r0] - ldr r1, _0203D660 ; =sub_0203CA9C - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D650 -_0203D634: - mov r1, #0x37 - lsl r1, r1, #4 - ldrb r2, [r6, #0x14] - ldr r0, [sp] - add r1, r4, r1 - bl sub_0203E550 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D660 ; =sub_0203CA9C - add r0, r4, #0 - bl sub_0203C8F0 -_0203D650: - add r0, r6, #0 - bl FreeToHeap - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203D65C: .word 0x0210159C -_0203D660: .word sub_0203CA9C - thumb_func_end sub_0203D580 - - thumb_func_start sub_0203D664 -sub_0203D664: ; 0x0203D664 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - bl sub_0205064C - str r0, [sp, #4] - add r0, r4, #0 - bl sub_02050650 - str r0, [sp] - ldr r0, [sp, #4] - ldr r0, [r0, #0xc] - bl sub_0207879C - add r4, r0, #0 - mov r5, #0 - mov r6, #1 - mov r7, #0xb -_0203D688: - add r0, r5, #0 - bl sub_020780F4 - add r1, r0, #0 - add r0, r4, #0 - add r2, r6, #0 - add r3, r7, #0 - bl sub_020784B0 - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x40 - blo _0203D688 - ldr r0, [sp, #4] - add r3, sp, #8 - add r0, #0x94 - str r0, [sp, #4] - ldr r0, [r0] - mov r1, #4 - add r2, sp, #8 - add r3, #1 - bl sub_020787C0 - ldr r0, [sp] - ldr r1, _0203D6C4 ; =sub_0203D6C8 - bl sub_0203C8F0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0203D6C4: .word sub_0203D6C8 - thumb_func_end sub_0203D664 - - thumb_func_start sub_0203D6C8 -sub_0203D6C8: ; 0x0203D6C8 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x94 - mov r2, #0 - ldr r0, [r0] - mov r1, #4 - add r3, r2, #0 - bl sub_020787D4 - mov r1, #0xe - lsl r1, r1, #6 - ldr r1, [r4, r1] - mov r0, #0xb - bl FreeToHeapExplicit - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D714 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203D714: .word sub_0203CFC0 - thumb_func_end sub_0203D6C8 - - thumb_func_start sub_0203D718 -sub_0203D718: ; 0x0203D718 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - mov r1, #0xe - add r4, r0, #0 - lsl r1, r1, #6 - ldr r1, [r4, r1] - mov r0, #0xb - bl FreeToHeapExplicit - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D754 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203D754: .word sub_0203CFC0 - thumb_func_end sub_0203D718 - - thumb_func_start sub_0203D758 -sub_0203D758: ; 0x0203D758 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - bl sub_0205064C - add r7, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xe1 - lsl r0, r0, #2 - ldr r1, [r4, r0] - mov r0, #0xb - ldr r6, [r1] - bl FreeToHeapExplicit - mov r0, #0xe - lsl r0, r0, #6 - ldr r5, [r4, r0] - ldr r0, [r5, #0x14] - cmp r0, #0 - bne _0203D7AE - mov r0, #0xb - add r1, r5, #0 - bl FreeToHeapExplicit - mov r1, #0x37 - lsl r1, r1, #4 - lsl r2, r6, #0x18 - add r0, r7, #0 - add r1, r4, r1 - lsr r2, r2, #0x18 - bl sub_0203E550 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D810 ; =sub_0203CA9C - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D808 -_0203D7AE: - ldr r0, [r7, #0xc] - bl sub_02074904 - add r1, r6, #0 - bl sub_02074644 - add r2, r0, #0 - ldrh r0, [r5, #0x20] - lsl r3, r6, #0x10 - add r1, r7, #0 - str r0, [sp] - ldr r0, [r5, #0x18] - lsr r3, r3, #0x10 - lsl r0, r0, #5 - add r0, #0x10 - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - str r0, [sp, #4] - ldr r0, [r5, #0x1c] - lsl r0, r0, #5 - add r0, #0x10 - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - str r0, [sp, #8] - mov r0, #0xb - bl sub_02067BF8 - mov r1, #0xe - lsl r1, r1, #6 - add r5, r0, #0 - ldr r1, [r4, r1] - mov r0, #0xb - bl FreeToHeapExplicit - add r0, r7, #0 - bl sub_020505C0 - mov r0, #0xd5 - ldr r1, _0203D814 ; =sub_02067C30 - lsl r0, r0, #2 - str r1, [r4, r0] - add r0, #0x2c - str r5, [r4, r0] - mov r0, #0xc - strh r0, [r4, #0x26] -_0203D808: - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_0203D810: .word sub_0203CA9C -_0203D814: .word sub_02067C30 - thumb_func_end sub_0203D758 - - thumb_func_start sub_0203D818 -sub_0203D818: ; 0x0203D818 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - mov r0, #0xb - mov r1, #4 - add r6, r2, #0 - bl AllocFromHeap - strh r5, [r0] - strb r6, [r0, #2] - strb r4, [r0, #3] - pop {r4, r5, r6, pc} - thumb_func_end sub_0203D818 - - thumb_func_start sub_0203D830 -sub_0203D830: ; 0x0203D830 - push {r4, r5, r6, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xe1 - lsl r0, r0, #2 - ldr r6, [r4, r0] - ldrb r1, [r6, #3] - cmp r1, #3 - bhi _0203D928 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203D85A: ; jump table - .short _0203D8AC - _0203D85A - 2 ; case 0 - .short _0203D8EC - _0203D85A - 2 ; case 1 - .short _0203D886 - _0203D85A - 2 ; case 2 - .short _0203D862 - _0203D85A - 2 ; case 3 -_0203D862: - sub r0, r0, #4 - ldr r0, [r4, r0] - bl sub_02090F90 - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D938 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D928 -_0203D886: - sub r0, r0, #4 - ldr r0, [r4, r0] - bl sub_02090F90 - mov r1, #0x37 - lsl r1, r1, #4 - ldrb r2, [r6, #2] - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E550 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D93C ; =sub_0203CA9C - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D928 -_0203D8AC: - sub r0, r0, #4 - ldr r0, [r4, r0] - bl sub_02090F6C - cmp r0, #1 - bne _0203D8C4 - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0xc - bl sub_0203D940 - b _0203D928 -_0203D8C4: - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl sub_02090F90 - mov r1, #0x37 - lsl r1, r1, #4 - ldrb r2, [r6, #2] - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E550 - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D93C ; =sub_0203CA9C - add r0, r4, #0 - bl sub_0203C8F0 - b _0203D928 -_0203D8EC: - sub r0, r0, #4 - ldr r0, [r4, r0] - bl sub_02090F6C - cmp r0, #1 - bne _0203D904 - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0xb - bl sub_0203D940 - b _0203D928 -_0203D904: - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl sub_02090F90 - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D938 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 -_0203D928: - mov r0, #0xe1 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FreeToHeap - mov r0, #0 - pop {r4, r5, r6, pc} - nop -_0203D938: .word sub_0203CFC0 -_0203D93C: .word sub_0203CA9C - thumb_func_end sub_0203D830 - - thumb_func_start sub_0203D940 -sub_0203D940: ; 0x0203D940 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - mov r0, #0xe1 - add r5, r1, #0 - str r2, [sp] - lsl r0, r0, #2 - ldr r6, [r5, r0] - mov r0, #0xb - mov r1, #0x44 - bl AllocFromHeap - add r1, r7, #0 - add r2, r5, #0 - add r4, r0, #0 - bl sub_0203CF74 - ldrh r0, [r6] - strh r0, [r4, #0x28] - add r0, r4, #0 - ldrb r1, [r6, #2] - add r0, #0x26 - strb r1, [r0] - add r1, r4, #0 - ldr r0, [sp] - add r1, #0x24 - strb r0, [r1] - ldrb r1, [r6, #2] - ldr r0, [r4] - bl sub_02074644 - add r1, r0, #0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r5, r0] - bl sub_02090F70 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r5, r0] - bl sub_02090F90 - ldr r1, _0203D9AC ; =0x0210159C - add r0, r7, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - mov r0, #0xe - lsl r0, r0, #6 - str r4, [r5, r0] - ldr r1, _0203D9B0 ; =sub_0203CA9C - add r0, r5, #0 - bl sub_0203C8F0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203D9AC: .word 0x0210159C -_0203D9B0: .word sub_0203CA9C - thumb_func_end sub_0203D940 - - thumb_func_start sub_0203D9B4 -sub_0203D9B4: ; 0x0203D9B4 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - mov r1, #0xd6 - add r4, r0, #0 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r1, _0203D9E4 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203D9E4: .word sub_0203CFC0 - thumb_func_end sub_0203D9B4 - - thumb_func_start sub_0203D9E8 -sub_0203D9E8: ; 0x0203D9E8 - push {r4, r5, r6, r7, lr} - sub sp, #0x3c - add r5, r0, #0 - bl sub_0205064C - add r4, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r6, r0, #0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r5, [r6, r0] - bl sub_02005FA0 - mov r0, #3 - mov r1, #0x47 - lsl r2, r0, #0x10 - bl sub_0201A910 - ldr r0, [r4, #0xc] - bl sub_02074904 - ldrb r1, [r5] - str r0, [sp, #0x1c] - bl sub_02074644 - str r0, [sp, #0x20] - ldrb r0, [r5, #1] - cmp r0, #0 - ldr r0, [r4, #0xc] - bne _0203DA72 - bl Sav2_PlayerData_GetOptionsAddr - str r0, [sp, #0x24] - ldr r0, [r4, #0xc] - bl sub_02088288 - add r7, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0202A634 - str r0, [sp, #0x28] - ldr r0, [r4, #0xc] - bl sub_0207879C - str r0, [sp, #0x2c] - ldr r0, [r4, #0xc] - bl sub_0202CF54 - ldr r1, [sp, #0x28] - str r7, [sp] - str r1, [sp, #4] - ldr r1, [sp, #0x2c] - ldr r3, [sp, #0x24] - str r1, [sp, #8] - str r0, [sp, #0xc] - ldr r0, [r5, #8] - ldr r1, [sp, #0x20] - str r0, [sp, #0x10] - mov r0, #1 - str r0, [sp, #0x14] - mov r0, #0x47 - str r0, [sp, #0x18] - ldrh r2, [r5, #4] - ldr r0, [sp, #0x1c] - bl sub_02075A7C - b _0203DABA -_0203DA72: - bl Sav2_PlayerData_GetOptionsAddr - str r0, [sp, #0x30] - ldr r0, [r4, #0xc] - bl sub_02088288 - add r7, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0202A634 - str r0, [sp, #0x34] - ldr r0, [r4, #0xc] - bl sub_0207879C - str r0, [sp, #0x38] - ldr r0, [r4, #0xc] - bl sub_0202CF54 - ldr r1, [sp, #0x34] - str r7, [sp] - str r1, [sp, #4] - ldr r1, [sp, #0x38] - ldr r3, [sp, #0x30] - str r1, [sp, #8] - str r0, [sp, #0xc] - ldr r0, [r5, #8] - ldr r1, [sp, #0x20] - str r0, [sp, #0x10] - mov r0, #0 - str r0, [sp, #0x14] - mov r0, #0x47 - str r0, [sp, #0x18] - ldrh r2, [r5, #4] - ldr r0, [sp, #0x1c] - bl sub_02075A7C -_0203DABA: - add r4, r0, #0 - mov r0, #0xb - mov r1, #4 - bl AllocFromHeap - ldrb r1, [r5] - str r1, [r0] - mov r1, #0xe1 - lsl r1, r1, #2 - str r0, [r6, r1] - sub r0, r1, #4 - ldr r0, [r6, r0] - bl FreeToHeap - mov r0, #0xe - lsl r0, r0, #6 - str r4, [r6, r0] - mov r0, #9 - strh r0, [r6, #0x26] - add sp, #0x3c - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0203D9E8 - - thumb_func_start sub_0203DAE4 -sub_0203DAE4: ; 0x0203DAE4 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl sub_02075D3C - cmp r0, #1 - bne _0203DB60 - mov r0, #0xe - lsl r0, r0, #6 - ldr r0, [r4, r0] - bl sub_02075D4C - mov r0, #0x47 - bl sub_0201A9C4 - ldr r0, _0203DB64 ; =0x000003F3 - mov r1, #0 - bl sub_02005EB4 - mov r0, #0 - bl sub_02004AD8 - ldr r1, [r5, #0x20] - add r0, r5, #0 - ldr r1, [r1] - bl sub_02055164 - mov r1, #0xd6 - lsl r1, r1, #2 - add r0, r5, #0 - add r1, r4, r1 - bl sub_0203E3FC - mov r1, #0xe - lsl r1, r1, #6 - str r0, [r4, r1] - ldr r0, [r4, r1] - add r1, r1, #4 - ldr r1, [r4, r1] - ldr r1, [r1] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl sub_020778E0 - mov r0, #0xe1 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl FreeToHeap - ldr r1, _0203DB68 ; =sub_0203CFC0 - add r0, r4, #0 - bl sub_0203C8F0 -_0203DB60: - pop {r3, r4, r5, pc} - nop -_0203DB64: .word 0x000003F3 -_0203DB68: .word sub_0203CFC0 - thumb_func_end sub_0203DAE4 - - thumb_func_start sub_0203DB6C -sub_0203DB6C: ; 0x0203DB6C - bx lr - .balign 4, 0 - thumb_func_end sub_0203DB6C - - thumb_func_start sub_0203DB70 -sub_0203DB70: ; 0x0203DB70 - bx lr - .balign 4, 0 - thumb_func_end sub_0203DB70 - - thumb_func_start sub_0203DB74 -sub_0203DB74: ; 0x0203DB74 - mov r0, #1 - bx lr - thumb_func_end sub_0203DB74 - - thumb_func_start sub_0203DB78 -sub_0203DB78: ; 0x0203DB78 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - ldr r0, [r6, #0x40] - add r4, r1, #0 - add r5, r2, #0 - bl sub_0205C654 - add r7, r0, #0 - ldr r0, [r6, #0x40] - bl sub_0205C67C - str r0, [r4] - ldr r0, [r6, #0x40] - bl sub_0205C688 - str r0, [r5] - cmp r7, #3 - bhi _0203DBCE - add r0, r7, r7 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203DBA8: ; jump table - .short _0203DBB0 - _0203DBA8 - 2 ; case 0 - .short _0203DBB8 - _0203DBA8 - 2 ; case 1 - .short _0203DBC0 - _0203DBA8 - 2 ; case 2 - .short _0203DBC8 - _0203DBA8 - 2 ; case 3 -_0203DBB0: - ldr r0, [r5] - sub r0, r0, #1 - str r0, [r5] - b _0203DBCE -_0203DBB8: - ldr r0, [r5] - add r0, r0, #1 - str r0, [r5] - b _0203DBCE -_0203DBC0: - ldr r0, [r4] - sub r0, r0, #1 - str r0, [r4] - b _0203DBCE -_0203DBC8: - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] -_0203DBCE: - add r0, r7, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203DB78 - - thumb_func_start sub_0203DBD4 -sub_0203DBD4: ; 0x0203DBD4 - push {r3, r4, r5, lr} - add r5, r1, #0 - bl sub_0205C6DC - bl sub_0205F9D0 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205F9D0 - cmp r4, r0 - bne _0203DBF0 - mov r0, #1 - b _0203DBF2 -_0203DBF0: - mov r0, #0 -_0203DBF2: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203DBD4 - - thumb_func_start sub_0203DBF8 -sub_0203DBF8: ; 0x0203DBF8 - push {r4, r5, r6, lr} - sub sp, #8 - add r6, r1, #0 - add r1, sp, #4 - add r2, sp, #0 - add r5, r0, #0 - bl sub_0203DB78 - add r4, r0, #0 - ldr r1, [sp, #4] - ldr r2, [sp] - add r0, r5, #0 - bl sub_02054918 - bl sub_0205B700 - cmp r0, #1 - bne _0203DC52 - cmp r4, #3 - bhi _0203DC52 - add r0, r4, r4 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203DC2C: ; jump table - .short _0203DC34 - _0203DC2C - 2 ; case 0 - .short _0203DC3C - _0203DC2C - 2 ; case 1 - .short _0203DC44 - _0203DC2C - 2 ; case 2 - .short _0203DC4C - _0203DC2C - 2 ; case 3 -_0203DC34: - ldr r0, [sp] - sub r0, r0, #1 - str r0, [sp] - b _0203DC52 -_0203DC3C: - ldr r0, [sp] - add r0, r0, #1 - str r0, [sp] - b _0203DC52 -_0203DC44: - ldr r0, [sp, #4] - sub r0, r0, #1 - str r0, [sp, #4] - b _0203DC52 -_0203DC4C: - ldr r0, [sp, #4] - add r0, r0, #1 - str r0, [sp, #4] -_0203DC52: - ldr r0, [r5, #0x3c] - ldr r1, [sp, #4] - ldr r2, [sp] - mov r3, #0 - bl sub_0205FB58 - str r0, [r6] - add sp, #8 - pop {r4, r5, r6, pc} - thumb_func_end sub_0203DBF8 - - thumb_func_start sub_0203DC64 -sub_0203DC64: ; 0x0203DC64 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - bl sub_0203DBF8 - ldr r0, [r4] - cmp r0, #0 - beq _0203DC8C - bl sub_0205F6C8 - cmp r0, #1 - bne _0203DC8C - ldr r0, [r5, #0x40] - ldr r1, [r4] - bl sub_0203DBD4 - cmp r0, #1 - bne _0203DC8C - mov r0, #1 - pop {r3, r4, r5, pc} -_0203DC8C: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203DC64 - - thumb_func_start sub_0203DC90 -sub_0203DC90: ; 0x0203DC90 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r1, [sp] - str r2, [sp, #4] - add r1, sp, #0xc - add r2, sp, #8 - add r6, r0, #0 - bl sub_0203DB78 - ldr r0, [sp, #4] - mov r7, #0 - cmp r0, #0 - ble _0203DD04 - ldr r4, [sp] - add r5, r4, #0 -_0203DCAE: - ldr r1, [sp, #0xc] - ldr r0, [r4, #4] - cmp r1, r0 - bne _0203DCF8 - ldr r1, [sp, #8] - ldr r0, [r4, #8] - cmp r1, r0 - bne _0203DCF8 - ldrh r0, [r4, #2] - cmp r0, #2 - bne _0203DCDE - add r0, r6, #0 - add r1, r5, #0 - bl sub_0203DD10 - cmp r0, #1 - bne _0203DCF8 - mov r0, #0x14 - add r1, r7, #0 - mul r1, r0 - ldr r0, [sp] - add sp, #0x10 - ldrh r0, [r0, r1] - pop {r3, r4, r5, r6, r7, pc} -_0203DCDE: - add r0, r6, #0 - add r1, r5, #0 - bl sub_0203DD3C - cmp r0, #1 - bne _0203DCF8 - mov r0, #0x14 - add r1, r7, #0 - mul r1, r0 - ldr r0, [sp] - add sp, #0x10 - ldrh r0, [r0, r1] - pop {r3, r4, r5, r6, r7, pc} -_0203DCF8: - ldr r0, [sp, #4] - add r7, r7, #1 - add r4, #0x14 - add r5, #0x14 - cmp r7, r0 - blt _0203DCAE -_0203DD04: - ldr r0, _0203DD0C ; =0x0000FFFF - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203DD0C: .word 0x0000FFFF - thumb_func_end sub_0203DC90 - - thumb_func_start sub_0203DD10 -sub_0203DD10: ; 0x0203DD10 - push {r4, lr} - add r4, r0, #0 - ldrh r0, [r1, #2] - cmp r0, #2 - beq _0203DD1E - mov r0, #0 - pop {r4, pc} -_0203DD1E: - ldrh r0, [r1] - bl sub_0204055C - add r1, r0, #0 - add r0, r4, #0 - bl sub_020403FC - cmp r0, #1 - beq _0203DD34 - mov r0, #1 - b _0203DD36 -_0203DD34: - mov r0, #0 -_0203DD36: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r4, pc} - thumb_func_end sub_0203DD10 - - thumb_func_start sub_0203DD3C -sub_0203DD3C: ; 0x0203DD3C - push {r4, lr} - add r4, r1, #0 - ldrh r1, [r4, #0x10] - cmp r1, #4 - bne _0203DD4A - mov r0, #1 - pop {r4, pc} -_0203DD4A: - ldr r0, [r0, #0x40] - bl sub_0205C654 - cmp r0, #3 - bhi _0203DDA0 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203DD60: ; jump table - .short _0203DD68 - _0203DD60 - 2 ; case 0 - .short _0203DD76 - _0203DD60 - 2 ; case 1 - .short _0203DD84 - _0203DD60 - 2 ; case 2 - .short _0203DD92 - _0203DD60 - 2 ; case 3 -_0203DD68: - ldrh r0, [r4, #0x10] - cmp r0, #0 - beq _0203DD72 - cmp r0, #6 - bne _0203DDA0 -_0203DD72: - mov r0, #1 - pop {r4, pc} -_0203DD76: - ldrh r0, [r4, #0x10] - cmp r0, #3 - beq _0203DD80 - cmp r0, #6 - bne _0203DDA0 -_0203DD80: - mov r0, #1 - pop {r4, pc} -_0203DD84: - ldrh r0, [r4, #0x10] - cmp r0, #2 - beq _0203DD8E - cmp r0, #5 - bne _0203DDA0 -_0203DD8E: - mov r0, #1 - pop {r4, pc} -_0203DD92: - ldrh r0, [r4, #0x10] - cmp r0, #1 - beq _0203DD9C - cmp r0, #5 - bne _0203DDA0 -_0203DD9C: - mov r0, #1 - pop {r4, pc} -_0203DDA0: - mov r0, #0 - pop {r4, pc} - thumb_func_end sub_0203DD3C - - thumb_func_start sub_0203DDA4 -sub_0203DDA4: ; 0x0203DDA4 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - ldr r0, [r5, #0x40] - add r6, r1, #0 - add r4, r2, #0 - bl sub_0205C654 - cmp r0, #0 - beq _0203DDBE - add sp, #8 - ldr r0, _0203DE00 ; =0x0000FFFF - pop {r4, r5, r6, pc} -_0203DDBE: - add r0, r5, #0 - add r1, sp, #4 - add r2, sp, #0 - bl sub_0203DB78 - mov r0, #0 - cmp r4, #0 - ble _0203DDF8 - ldr r2, [sp, #4] - ldr r3, [sp] - add r1, r6, #0 -_0203DDD4: - ldr r5, [r1, #4] - cmp r2, r5 - bne _0203DDF0 - ldr r5, [r1, #8] - cmp r3, r5 - bne _0203DDF0 - ldrh r5, [r1, #2] - cmp r5, #1 - bne _0203DDF0 - mov r1, #0x14 - mul r1, r0 - add sp, #8 - ldrh r0, [r6, r1] - pop {r4, r5, r6, pc} -_0203DDF0: - add r0, r0, #1 - add r1, #0x14 - cmp r0, r4 - blt _0203DDD4 -_0203DDF8: - ldr r0, _0203DE00 ; =0x0000FFFF - add sp, #8 - pop {r4, r5, r6, pc} - nop -_0203DE00: .word 0x0000FFFF - thumb_func_end sub_0203DDA4 - - thumb_func_start sub_0203DE04 -sub_0203DE04: ; 0x0203DE04 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp] - ldr r0, [r0, #0x40] - str r1, [sp, #4] - str r2, [sp, #8] - bl sub_0205C67C - add r6, r0, #0 - ldr r0, [sp] - ldr r0, [r0, #0x40] - bl sub_0205C688 - add r4, r0, #0 - ldr r0, [sp, #8] - mov r7, #0 - cmp r0, #0 - ble _0203DE68 - ldr r5, [sp, #4] -_0203DE2A: - ldrh r1, [r5, #2] - cmp r6, r1 - blt _0203DE5E - ldrh r0, [r5, #6] - add r0, r1, r0 - cmp r6, r0 - bge _0203DE5E - ldrh r1, [r5, #4] - cmp r4, r1 - blt _0203DE5E - ldrh r0, [r5, #8] - add r0, r1, r0 - cmp r4, r0 - bge _0203DE5E - ldrh r1, [r5, #0xe] - ldr r0, [sp] - bl sub_020403AC - ldrh r1, [r5, #0xc] - cmp r1, r0 - bne _0203DE5E - ldr r0, [sp, #4] - lsl r1, r7, #4 - add sp, #0xc - ldrh r0, [r0, r1] - pop {r4, r5, r6, r7, pc} -_0203DE5E: - ldr r0, [sp, #8] - add r7, r7, #1 - add r5, #0x10 - cmp r7, r0 - blt _0203DE2A -_0203DE68: - ldr r0, _0203DE70 ; =0x0000FFFF - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_0203DE70: .word 0x0000FFFF - thumb_func_end sub_0203DE04 - - thumb_func_start sub_0203DE74 -sub_0203DE74: ; 0x0203DE74 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_020072A4 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203DFE0 - ldr r1, _0203DEA0 ; =0x021D4158 - str r0, [r1] - ldr r1, [r4, #4] - cmp r1, #0 - beq _0203DE94 - bl sub_02053620 - b _0203DE98 -_0203DE94: - bl sub_0205353C -_0203DE98: - mov r0, #0 - str r0, [r4, #4] - mov r0, #1 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203DEA0: .word 0x021D4158 - thumb_func_end sub_0203DE74 - - thumb_func_start sub_0203DEA4 -sub_0203DEA4: ; 0x0203DEA4 - push {r3, lr} - bl sub_0203DFE0 - ldr r1, _0203DEB8 ; =0x021D4158 - str r0, [r1] - bl sub_02053470 - mov r0, #1 - pop {r3, pc} - nop -_0203DEB8: .word 0x021D4158 - thumb_func_end sub_0203DEA4 - - thumb_func_start sub_0203DEBC -sub_0203DEBC: ; 0x0203DEBC - push {r3, lr} - bl sub_02007290 - bl sub_0203E0CC - cmp r0, #0 - beq _0203DECE - mov r0, #1 - pop {r3, pc} -_0203DECE: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203DEBC - - .public ov60_021EAFE0 - - thumb_func_start sub_0203DED4 -sub_0203DED4: ; 0x0203DED4 - push {r3, lr} - bl sub_0203E058 - ldr r0, _0203DEE8 ; =SDK_OVERLAY_OVY_60_ID - ldr r1, _0203DEEC ; =ov60_021EAFE0 - bl RegisterMainOverlay - mov r0, #1 - pop {r3, pc} - nop -_0203DEE8: .word SDK_OVERLAY_OVY_60_ID -_0203DEEC: .word ov60_021EAFE0 - thumb_func_end sub_0203DED4 - - thumb_func_start sub_0203DEF0 -sub_0203DEF0: ; 0x0203DEF0 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - ldr r0, [r0, #4] - cmp r0, #0 - beq _0203DF00 - bl GF_AssertFail -_0203DF00: - ldr r0, [r4] - ldr r0, [r0] - cmp r0, #0 - beq _0203DF0C - bl GF_AssertFail -_0203DF0C: - ldr r0, _0203DF2C ; =SDK_OVERLAY_OVY_1_ID - mov r1, #2 - bl HandleLoadOverlay - mov r1, #0 - str r1, [r4, #0x6c] - ldr r0, [r4] - mov r2, #0xb - str r1, [r0, #8] - ldr r0, _0203DF30 ; =0x02206378 - add r1, r4, #0 - bl OverlayManager_new - ldr r1, [r4] - str r0, [r1] - pop {r4, pc} - .balign 4, 0 -_0203DF2C: .word SDK_OVERLAY_OVY_1_ID -_0203DF30: .word 0x02206378 - thumb_func_end sub_0203DEF0 - - thumb_func_start sub_0203DF34 -sub_0203DF34: ; 0x0203DF34 - mov r1, #0 - str r1, [r0, #0x6c] - bx lr - .balign 4, 0 - thumb_func_end sub_0203DF34 - - thumb_func_start sub_0203DF3C -sub_0203DF3C: ; 0x0203DF3C - push {r4, lr} - add r4, r0, #0 - mov r0, #0x11 - lsl r0, r0, #4 - ldrb r0, [r4, r0] - mov r1, #1 - cmp r0, #0 - beq _0203DF52 - cmp r0, #1 - beq _0203DF52 - mov r1, #0 -_0203DF52: - cmp r1, #0 - bne _0203DF5A - bl GF_AssertFail -_0203DF5A: - mov r0, #0x11 - lsl r0, r0, #4 - ldrb r0, [r4, r0] - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203DF3C - - thumb_func_start sub_0203DF64 -sub_0203DF64: ; 0x0203DF64 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - beq _0203DF74 - cmp r4, #1 - beq _0203DF74 - bl GF_AssertFail -_0203DF74: - mov r0, #0x11 - lsl r0, r0, #4 - strb r4, [r5, r0] - pop {r3, r4, r5, pc} - thumb_func_end sub_0203DF64 - - thumb_func_start sub_0203DF7C -sub_0203DF7C: ; 0x0203DF7C - ldr r0, [r0] - ldr r0, [r0] - cmp r0, #0 - beq _0203DF88 - mov r0, #1 - bx lr -_0203DF88: - mov r0, #0 - bx lr - thumb_func_end sub_0203DF7C - - thumb_func_start sub_0203DF8C -sub_0203DF8C: ; 0x0203DF8C - ldr r1, [r0] - ldr r1, [r1] - cmp r1, #0 - beq _0203DF9E - ldr r0, [r0, #0x6c] - cmp r0, #0 - beq _0203DF9E - mov r0, #1 - bx lr -_0203DF9E: - mov r0, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_0203DF8C - - thumb_func_start sub_0203DFA4 -sub_0203DFA4: ; 0x0203DFA4 - ldr r0, [r0] - ldr r0, [r0, #4] - cmp r0, #0 - beq _0203DFB0 - mov r0, #1 - bx lr -_0203DFB0: - mov r0, #0 - bx lr - thumb_func_end sub_0203DFA4 - - thumb_func_start SwitchToPokegearApp -SwitchToPokegearApp: ; 0x0203DFB4 - push {r4, r5, r6, lr} - add r5, r0, #0 - ldr r0, [r5] - add r4, r1, #0 - ldr r0, [r0, #4] - add r6, r2, #0 - cmp r0, #0 - beq _0203DFC8 - bl GF_AssertFail -_0203DFC8: - add r0, r5, #0 - bl sub_0203DF34 - add r0, r4, #0 - add r1, r6, #0 - mov r2, #0xb - bl OverlayManager_new - ldr r1, [r5] - str r0, [r1, #4] - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end SwitchToPokegearApp - - thumb_func_start sub_0203DFE0 -sub_0203DFE0: ; 0x0203DFE0 - push {r4, r5, r6, lr} - mov r2, #7 - add r5, r0, #0 - mov r0, #3 - mov r1, #0xb - lsl r2, r2, #0xe - bl sub_0201A910 - mov r1, #0x20 - mov r0, #3 - lsl r2, r1, #9 - bl sub_0201A910 - mov r2, #0x57 - mov r0, #0 - mov r1, #0x59 - lsl r2, r2, #4 - bl sub_0201A910 - mov r1, #0x4a - add r0, r5, #0 - lsl r1, r1, #2 - mov r2, #0xb - bl sub_02007280 - mov r2, #0x4a - mov r1, #0 - lsl r2, r2, #2 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r0, #0xb - mov r1, #0x10 - bl AllocFromHeap - str r0, [r4] - mov r1, #0 - str r1, [r0] - ldr r0, [r4] - ldr r6, _0203E054 ; =SDK_OVERLAY_OVY_124_ID - str r1, [r0, #4] - ldr r0, [r4] - str r1, [r0, #8] - ldr r0, [r4] - str r1, [r0, #0xc] - add r0, r6, #0 - mov r1, #2 - bl HandleLoadOverlay - add r0, r5, #0 - add r1, r4, #0 - bl ov124_02260C20 - add r0, r6, #0 - bl UnloadOverlayByID - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203E054: .word SDK_OVERLAY_OVY_124_ID - thumb_func_end sub_0203DFE0 - - thumb_func_start sub_0203E058 -sub_0203E058: ; 0x0203E058 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02007290 - add r4, r0, #0 - ldr r0, [r4, #0x30] - bl sub_0203AFD8 - add r0, r4, #0 - bl sub_0203B630 - add r0, r4, #0 - add r0, #0x94 - ldr r0, [r0] - bl FreeToHeap - add r0, r4, #0 - add r0, #0xa8 - ldr r0, [r0] - bl sub_02092BD0 - mov r0, #0x45 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl sub_02092DD8 - ldr r0, [r4] - bl FreeToHeap - add r0, r5, #0 - bl sub_02007294 - mov r0, #0x59 - bl sub_0201A9C4 - mov r0, #0xb - bl sub_0201A9C4 - mov r0, #0x20 - bl sub_0201A9C4 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203E058 - - thumb_func_start sub_0203E0AC -sub_0203E0AC: ; 0x0203E0AC - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4] - cmp r0, #0 - beq _0203E0C8 - bl OverlayManager_run - cmp r0, #0 - beq _0203E0C8 - ldr r0, [r4] - bl OverlayManager_delete - mov r0, #0 - str r0, [r4] -_0203E0C8: - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203E0AC - - thumb_func_start sub_0203E0CC -sub_0203E0CC: ; 0x0203E0CC - push {r4, lr} - add r4, r0, #0 - bl sub_0203E15C - add r0, r4, #0 - bl sub_02050544 - cmp r0, #1 - bne _0203E0EE - ldr r0, [r4, #4] - cmp r0, #0 - beq _0203E0EE - mov r1, #0 - add r0, r4, #0 - add r2, r1, #0 - bl ov01_021F6830 -_0203E0EE: - ldr r0, [r4] - ldr r1, [r0] - cmp r1, #0 - beq _0203E10A - bl sub_0203E0AC - ldr r0, [r4] - ldr r0, [r0] - cmp r0, #0 - bne _0203E116 - ldr r0, _0203E138 ; =SDK_OVERLAY_OVY_1_ID - bl UnloadOverlayByID - b _0203E116 -_0203E10A: - ldr r1, [r0, #4] - cmp r1, #0 - beq _0203E116 - add r0, r0, #4 - bl sub_0203E0AC -_0203E116: - ldr r1, [r4] - ldr r0, [r1, #0xc] - cmp r0, #0 - beq _0203E134 - ldr r0, [r4, #0x10] - cmp r0, #0 - bne _0203E134 - ldr r0, [r1] - cmp r0, #0 - bne _0203E134 - ldr r0, [r1, #4] - cmp r0, #0 - bne _0203E134 - mov r0, #1 - pop {r4, pc} -_0203E134: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 -_0203E138: .word SDK_OVERLAY_OVY_1_ID - thumb_func_end sub_0203E0CC - - thumb_func_start sub_0203E13C -sub_0203E13C: ; 0x0203E13C - push {r3, lr} - ldr r1, [r0] - ldr r1, [r1, #8] - cmp r1, #0 - bne _0203E158 - ldr r1, [r0, #0x6c] - cmp r1, #0 - beq _0203E158 - bl sub_02050590 - cmp r0, #0 - bne _0203E158 - mov r0, #1 - pop {r3, pc} -_0203E158: - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0203E13C - - thumb_func_start sub_0203E15C -sub_0203E15C: ; 0x0203E15C - push {r4, r5, lr} - sub sp, #0x14 - add r4, r0, #0 - bl sub_0203E13C - add r5, r0, #0 - beq _0203E186 - ldr r0, [r4, #0x40] - bl sub_0205CE68 - ldr r3, _0203E2EC ; =gMain - add r0, sp, #8 - ldr r2, [r3, #0x48] - ldr r3, [r3, #0x44] - lsl r2, r2, #0x10 - lsl r3, r3, #0x10 - add r1, r4, #0 - lsr r2, r2, #0x10 - lsr r3, r3, #0x10 - bl ov01_021E6928 -_0203E186: - ldr r0, [r4, #0x20] - ldr r2, [r4, #0x70] - ldr r1, [r0] - ldr r0, _0203E2F0 ; =0x00000109 - cmp r1, r0 - bne _0203E194 - mov r2, #0 -_0203E194: - cmp r2, #2 - beq _0203E1CC - cmp r2, #3 - beq _0203E1A2 - cmp r2, #4 - beq _0203E1F8 - b _0203E268 -_0203E1A2: - cmp r5, #0 - beq _0203E1C0 - bl sub_02057A0C - cmp r0, #0 - beq _0203E1BE - add r0, sp, #8 - add r1, r4, #0 - bl ov01_021E6E00 - cmp r0, #1 - bne _0203E1C0 - mov r5, #0 - b _0203E1C0 -_0203E1BE: - mov r5, #0 -_0203E1C0: - add r0, r4, #0 - add r1, r5, #0 - bl sub_020573F0 - add sp, #0x14 - pop {r4, r5, pc} -_0203E1CC: - cmp r5, #0 - beq _0203E1DC - add r0, sp, #8 - add r1, r4, #0 - bl ov01_021E6EFC - cmp r0, #1 - bne _0203E1DE -_0203E1DC: - b _0203E2E8 -_0203E1DE: - add r3, sp, #8 - ldrh r0, [r3, #8] - mov r2, #0 - str r0, [sp] - str r2, [sp, #4] - ldrh r3, [r3, #6] - ldr r0, [r4, #0x40] - ldr r1, [r4, #0x2c] - sub r2, r2, #1 - bl sub_0205CB48 - add sp, #0x14 - pop {r4, r5, pc} -_0203E1F8: - cmp r5, #0 - beq _0203E2E8 - add r0, sp, #8 - add r1, r4, #0 - bl ov01_021E6FD4 - cmp r0, #1 - bne _0203E22C - ldr r0, [r4, #4] - ldr r0, [r0, #8] - bl ov01_021EFACC - add r0, r4, #0 - mov r1, #4 - bl ov01_021F3DFC - ldr r0, [r4, #0x40] - bl ov01_021F2F24 - add r0, r4, #0 - mov r1, #0 - mov r2, #1 - bl ov01_021F6830 - add sp, #0x14 - pop {r4, r5, pc} -_0203E22C: - ldr r0, _0203E2EC ; =gMain - ldr r1, [r0, #0x48] - mov r0, #1 - tst r0, r1 - beq _0203E23E - ldr r0, [r4, #4] - ldr r0, [r0, #8] - bl ov01_021EFACC -_0203E23E: - mov r5, #0 - bl sub_0203E324 - cmp r0, #0 - beq _0203E24E - bl ov35_02259DB8 - add r5, r0, #0 -_0203E24E: - add r3, sp, #8 - ldrh r0, [r3, #8] - mov r2, #0 - mvn r2, r2 - str r0, [sp] - str r5, [sp, #4] - ldrh r3, [r3, #6] - ldr r0, [r4, #0x40] - ldr r1, [r4, #0x2c] - bl sub_0205CB48 - add sp, #0x14 - pop {r4, r5, pc} -_0203E268: - cmp r5, #0 - beq _0203E2E8 - add r0, sp, #8 - add r1, r4, #0 - bl ov01_021E6AF4 - add r5, r0, #0 - beq _0203E2B0 - ldr r0, [r4, #4] - ldr r0, [r0, #8] - bl ov01_021EFACC - add r0, r4, #0 - mov r1, #4 - bl ov01_021F3DFC - ldr r0, [r4, #0x40] - bl sub_0205CF44 - ldr r0, [r4, #0x40] - bl ov01_021F2F24 - add r0, r4, #0 - mov r1, #0 - mov r2, #1 - bl ov01_021F6830 - cmp r5, #2 - beq _0203E2E8 - mov r0, #0x45 - lsl r0, r0, #2 - ldr r0, [r4, r0] - bl sub_02092FA8 - add sp, #0x14 - pop {r4, r5, pc} -_0203E2B0: - ldr r0, _0203E2EC ; =gMain - ldr r1, [r0, #0x48] - mov r0, #1 - tst r0, r1 - beq _0203E2C2 - ldr r0, [r4, #4] - ldr r0, [r0, #8] - bl ov01_021EFACC -_0203E2C2: - mov r5, #0 - bl sub_0203E324 - cmp r0, #0 - beq _0203E2D2 - bl ov35_02259DB8 - add r5, r0, #0 -_0203E2D2: - add r3, sp, #8 - ldrh r0, [r3, #8] - mov r2, #0 - mvn r2, r2 - str r0, [sp] - str r5, [sp, #4] - ldrh r3, [r3, #6] - ldr r0, [r4, #0x40] - ldr r1, [r4, #0x2c] - bl sub_0205CB48 -_0203E2E8: - add sp, #0x14 - pop {r4, r5, pc} - .balign 4, 0 -_0203E2EC: .word gMain -_0203E2F0: .word 0x00000109 - thumb_func_end sub_0203E15C - - thumb_func_start sub_0203E2F4 -sub_0203E2F4: ; 0x0203E2F4 - ldr r0, _0203E304 ; =0x021D4158 - ldr r3, _0203E308 ; =sub_02037504 - ldr r0, [r0] - mov r1, #1 - ldr r0, [r0] - str r1, [r0, #8] - bx r3 - nop -_0203E304: .word 0x021D4158 -_0203E308: .word sub_02037504 - thumb_func_end sub_0203E2F4 - - thumb_func_start sub_0203E30C -sub_0203E30C: ; 0x0203E30C - ldr r0, _0203E31C ; =0x021D4158 - ldr r3, _0203E320 ; =sub_020374E4 - ldr r0, [r0] - mov r1, #0 - ldr r0, [r0] - str r1, [r0, #8] - bx r3 - nop -_0203E31C: .word 0x021D4158 -_0203E320: .word sub_020374E4 - thumb_func_end sub_0203E30C - - thumb_func_start sub_0203E324 -sub_0203E324: ; 0x0203E324 - ldr r0, _0203E338 ; =0x021D4158 - ldr r0, [r0] - ldr r0, [r0, #4] - cmp r0, #0 - bne _0203E332 - mov r0, #0 - bx lr -_0203E332: - ldr r0, [r0, #0x14] - bx lr - nop -_0203E338: .word 0x021D4158 - thumb_func_end sub_0203E324 - - thumb_func_start sub_0203E33C -sub_0203E33C: ; 0x0203E33C - str r1, [r0, #0x1c] - bx lr - thumb_func_end sub_0203E33C - - thumb_func_start sub_0203E340 -sub_0203E340: ; 0x0203E340 - ldr r0, [r0, #8] - bx lr - thumb_func_end sub_0203E340 - - thumb_func_start sub_0203E344 -sub_0203E344: ; 0x0203E344 - ldr r0, [r0, #0xc] - bx lr - thumb_func_end sub_0203E344 - - thumb_func_start sub_0203E348 -sub_0203E348: ; 0x0203E348 - push {r3, lr} - bl LCRandom - bl LCRandom - pop {r3, pc} - thumb_func_end sub_0203E348 - - thumb_func_start sub_0203E354 -sub_0203E354: ; 0x0203E354 - ldr r0, _0203E364 ; =0x021D4158 - mov r1, #1 - ldr r0, [r0] - mvn r1, r1 - add r0, #0xc4 - str r1, [r0] - bx lr - nop -_0203E364: .word 0x021D4158 - thumb_func_end sub_0203E354 - - thumb_func_start sub_0203E368 -sub_0203E368: ; 0x0203E368 - ldr r2, _0203E37C ; =0x020FA17C - add r3, r0, #0 - ldmia r2!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r2!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r2] - str r0, [r3] - bx lr - nop -_0203E37C: .word 0x020FA17C - thumb_func_end sub_0203E368 - - thumb_func_start sub_0203E380 -sub_0203E380: ; 0x0203E380 - ldr r2, _0203E394 ; =0x020FA190 - add r3, r0, #0 - ldmia r2!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r2!, {r0, r1} - stmia r3!, {r0, r1} - ldr r0, [r2] - str r0, [r3] - bx lr - nop -_0203E394: .word 0x020FA190 - thumb_func_end sub_0203E380 - - thumb_func_start sub_0203E398 -sub_0203E398: ; 0x0203E398 - push {r3, lr} - bl sub_0203B9C4 - bl sub_0203B958 - bl sub_0203E368 - pop {r3, pc} - thumb_func_end sub_0203E398 - - thumb_func_start sub_0203E3A8 -sub_0203E3A8: ; 0x0203E3A8 - mov r0, #1 - bx lr - thumb_func_end sub_0203E3A8 - - thumb_func_start sub_0203E3AC -sub_0203E3AC: ; 0x0203E3AC - push {r3, lr} - bl ov12_022378C0 - cmp r0, #0 - beq _0203E3BA - mov r0, #1 - pop {r3, pc} -_0203E3BA: - mov r0, #0 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_0203E3AC - - thumb_func_start sub_0203E3C0 -sub_0203E3C0: ; 0x0203E3C0 - mov r0, #1 - bx lr - thumb_func_end sub_0203E3C0 - - thumb_func_start sub_0203E3C4 -sub_0203E3C4: ; 0x0203E3C4 - ldr r3, _0203E3CC ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203E3D0 ; =0x020FA484 - bx r3 - .balign 4, 0 -_0203E3CC: .word SwitchToPokegearApp -_0203E3D0: .word 0x020FA484 - thumb_func_end sub_0203E3C4 - - thumb_func_start sub_0203E3D4 -sub_0203E3D4: ; 0x0203E3D4 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203E3F8 ; =0x020FA464 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203E3F8: .word 0x020FA464 - thumb_func_end sub_0203E3D4 - - thumb_func_start sub_0203E3FC -sub_0203E3FC: ; 0x0203E3FC - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r0, #0 - ldr r0, [r5, #0xc] - add r6, r1, #0 - bl sub_0207879C - ldr r1, _0203E45C ; =0x020FA1B8 - mov r2, #0xb - bl sub_02078644 - mov r1, #0x43 - lsl r1, r1, #2 - add r1, r5, r1 - add r3, r5, #0 - str r1, [sp] - add r3, #0x94 - ldr r1, [r5, #0xc] - ldr r3, [r3] - mov r2, #0 - add r4, r0, #0 - bl sub_0207789C - ldr r1, [r5, #0x70] - add r0, r4, #0 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - bl sub_020778E8 - ldr r0, [r5, #0x40] - bl sub_0205C700 - cmp r0, #1 - bne _0203E446 - add r0, r4, #0 - bl sub_020778C8 -_0203E446: - add r0, r4, #0 - add r1, r6, #0 - bl sub_020778DC - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203E3D4 - add r0, r4, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - .balign 4, 0 -_0203E45C: .word 0x020FA1B8 - thumb_func_end sub_0203E3FC - - thumb_func_start sub_0203E460 -sub_0203E460: ; 0x0203E460 - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r0, #0 - ldr r0, [r5, #0xc] - add r4, r1, #0 - bl sub_0207879C - add r6, r0, #0 - cmp r4, #0 - beq _0203E47A - cmp r4, #1 - beq _0203E482 - b _0203E48A -_0203E47A: - ldr r1, _0203E4C0 ; =0x020FA1A4 - ldr r0, _0203E4C4 ; =0x0210F978 - str r1, [r0] - b _0203E48E -_0203E482: - ldr r1, _0203E4C8 ; =0x020FA1AC - ldr r0, _0203E4C4 ; =0x0210F978 - str r1, [r0] - b _0203E48E -_0203E48A: - bl GF_AssertFail -_0203E48E: - ldr r1, _0203E4C4 ; =0x0210F978 - add r0, r6, #0 - ldr r1, [r1] - mov r2, #0x20 - bl sub_02078644 - mov r1, #0x43 - lsl r1, r1, #2 - add r1, r5, r1 - add r3, r5, #0 - str r1, [sp] - add r3, #0x94 - ldr r1, [r5, #0xc] - ldr r3, [r3] - add r4, r0, #0 - mov r2, #3 - bl sub_0207789C - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203E3D4 - add r0, r4, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - .balign 4, 0 -_0203E4C0: .word 0x020FA1A4 -_0203E4C4: .word 0x0210F978 -_0203E4C8: .word 0x020FA1AC - thumb_func_end sub_0203E460 - - thumb_func_start sub_0203E4CC -sub_0203E4CC: ; 0x0203E4CC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02077904 - add r4, r0, #0 - beq _0203E4E6 - add r0, r5, #0 - bl sub_0207790C - cmp r0, #5 - bne _0203E4E6 - bl GF_AssertFail -_0203E4E6: - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203E4CC - - thumb_func_start sub_0203E4EC -sub_0203E4EC: ; 0x0203E4EC - ldr r3, _0203E4F4 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203E4F8 ; =0x02103A1C - bx r3 - .balign 4, 0 -_0203E4F4: .word SwitchToPokegearApp -_0203E4F8: .word 0x02103A1C - thumb_func_end sub_0203E4EC - - thumb_func_start sub_0203E4FC -sub_0203E4FC: ; 0x0203E4FC - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - mov r1, #0x44 - add r6, r2, #0 - add r7, r3, #0 - bl AllocFromHeap - add r4, r0, #0 - mov r0, #0 - add r1, r4, #0 - mov r2, #0x44 - bl MIi_CpuClearFast - ldr r0, [r5, #0xc] - bl sub_02074904 - str r0, [r4] - ldr r0, [r5, #0xc] - bl sub_0207879C - str r0, [r4, #4] - ldr r0, [r5, #0xc] - bl sub_0202B50C - str r0, [r4, #8] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0xc] - add r0, r4, #0 - add r0, #0x25 - strb r6, [r0] - add r0, r4, #0 - add r0, #0x24 - strb r7, [r0] - mov r0, #0x43 - lsl r0, r0, #2 - str r5, [r4, #0x1c] - add r0, r5, r0 - str r0, [r4, #0x20] - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203E4FC - - thumb_func_start sub_0203E550 -sub_0203E550: ; 0x0203E550 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r7, r2, #0 - mov r2, #0 - add r6, r1, #0 - mov r0, #0xb - add r1, r5, #0 - add r3, r2, #0 - bl sub_0203E4FC - add r4, r0, #0 - str r6, [r4, #0x18] - add r0, #0x26 - strb r7, [r0] - ldr r1, _0203E57C ; =0x0210159C - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203E57C: .word 0x0210159C - thumb_func_end sub_0203E550 - - thumb_func_start sub_0203E580 -sub_0203E580: ; 0x0203E580 - push {r3, r4, r5, lr} - mov r0, #0xb - mov r2, #0 - mov r3, #3 - add r5, r1, #0 - bl sub_0203E4FC - add r4, r0, #0 - ldr r1, _0203E5A0 ; =0x0210159C - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, pc} - nop -_0203E5A0: .word 0x0210159C - thumb_func_end sub_0203E580 - - thumb_func_start sub_0203E5A4 -sub_0203E5A4: ; 0x0203E5A4 - push {r3, r4, r5, lr} - mov r0, #0xb - mov r2, #0 - mov r3, #0x13 - add r5, r1, #0 - bl sub_0203E4FC - add r4, r0, #0 - ldr r1, _0203E5C4 ; =0x0210159C - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, pc} - nop -_0203E5C4: .word 0x0210159C - thumb_func_end sub_0203E5A4 - - thumb_func_start sub_0203E5C8 -sub_0203E5C8: ; 0x0203E5C8 - add r0, #0x26 - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203E5C8 - - thumb_func_start sub_0203E5D0 -sub_0203E5D0: ; 0x0203E5D0 - push {r4, r5, r6, lr} - add r4, r2, #0 - mov r0, #0xb - mov r2, #0 - mov r3, #0x12 - add r5, r1, #0 - bl sub_0203E4FC - add r6, r0, #0 - add r0, #0x26 - strb r4, [r0] - ldr r1, _0203E5F4 ; =0x0210159C - add r0, r5, #0 - add r2, r6, #0 - bl SwitchToPokegearApp - add r0, r6, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203E5F4: .word 0x0210159C - thumb_func_end sub_0203E5D0 - - thumb_func_start sub_0203E5F8 -sub_0203E5F8: ; 0x0203E5F8 - add r0, #0x27 - ldrb r0, [r0] - bx lr - .balign 4, 0 - thumb_func_end sub_0203E5F8 - - thumb_func_start sub_0203E600 -sub_0203E600: ; 0x0203E600 - ldrb r0, [r0, #0x14] - bx lr - thumb_func_end sub_0203E600 - - thumb_func_start sub_0203E604 -sub_0203E604: ; 0x0203E604 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0205064C - add r6, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_02050654 - add r5, r0, #0 - ldr r0, [r5] - cmp r0, #4 - bhi _0203E6CC - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203E630: ; jump table - .short _0203E63A - _0203E630 - 2 ; case 0 - .short _0203E64A - _0203E630 - 2 ; case 1 - .short _0203E680 - _0203E630 - 2 ; case 2 - .short _0203E6A2 - _0203E630 - 2 ; case 3 - .short _0203E6C2 - _0203E630 - 2 ; case 4 -_0203E63A: - ldr r1, _0203E6D0 ; =0x0210159C - ldr r2, [r4, #4] - add r0, r6, #0 - bl SwitchToPokegearApp - mov r0, #1 - str r0, [r5] - b _0203E6CC -_0203E64A: - add r0, r6, #0 - bl sub_020505A0 - cmp r0, #0 - bne _0203E6CC - ldr r0, [r4, #4] - add r0, #0x26 - ldrb r0, [r0] - cmp r0, #6 - beq _0203E66E - cmp r0, #7 - bne _0203E67A - mov r0, #2 - bl sub_0205A508 - mov r0, #4 - str r0, [r5] - b _0203E6CC -_0203E66E: - mov r0, #1 - bl sub_0205A508 - mov r0, #4 - str r0, [r5] - b _0203E6CC -_0203E67A: - mov r0, #2 - str r0, [r5] - b _0203E6CC -_0203E680: - ldr r1, [r4] - add r0, r6, #0 - mov r2, #0 - bl sub_0203E76C - str r0, [r4, #8] - ldr r1, [r4, #4] - add r1, #0x26 - ldrb r1, [r1] - strb r1, [r0, #0x14] - ldr r1, [r4, #8] - add r0, r6, #0 - bl sub_0203E4EC - mov r0, #3 - str r0, [r5] - b _0203E6CC -_0203E6A2: - add r0, r6, #0 - bl sub_020505A0 - cmp r0, #0 - bne _0203E6CC - ldr r0, [r4, #8] - ldrb r1, [r0, #0x14] - ldr r0, [r4, #4] - add r0, #0x26 - strb r1, [r0] - ldr r0, [r4, #8] - bl FreeToHeap - mov r0, #0 - str r0, [r5] - b _0203E6CC -_0203E6C2: - add r0, r4, #0 - bl FreeToHeap - mov r0, #1 - pop {r4, r5, r6, pc} -_0203E6CC: - mov r0, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203E6D0: .word 0x0210159C - thumb_func_end sub_0203E604 - - thumb_func_start sub_0203E6D4 -sub_0203E6D4: ; 0x0203E6D4 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r7, r0, #0 - bl sub_0205064C - add r6, r0, #0 - add r0, r5, #0 - mov r1, #0xc - bl AllocFromHeap - add r4, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - mov r2, #0 - mov r3, #2 - str r5, [r4] - bl sub_0203E4FC - add r5, r0, #0 - add r0, #0x36 - ldrb r1, [r0] - mov r0, #0xf - add r2, r4, #0 - bic r1, r0 - mov r0, #2 - orr r1, r0 - add r0, r5, #0 - add r0, #0x36 - strb r1, [r0] - add r0, r5, #0 - add r0, #0x36 - ldrb r1, [r0] - mov r0, #0xf0 - bic r1, r0 - mov r0, #0x20 - orr r1, r0 - add r0, r5, #0 - add r0, #0x36 - strb r1, [r0] - add r0, r5, #0 - mov r1, #0x1e - add r0, #0x37 - strb r1, [r0] - mov r0, #0 - str r0, [r5, #0x14] - ldr r1, _0203E73C ; =sub_0203E604 - add r0, r7, #0 - str r5, [r4, #4] - bl sub_02050530 - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203E73C: .word sub_0203E604 - thumb_func_end sub_0203E6D4 - - thumb_func_start sub_0203E740 -sub_0203E740: ; 0x0203E740 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - mov r0, #0xb - add r1, r5, #0 - mov r2, #0 - mov r3, #0x15 - bl sub_0203E4FC - add r6, r0, #0 - add r0, #0x26 - strb r4, [r0] - ldr r1, _0203E768 ; =0x0210159C - add r0, r5, #0 - add r2, r6, #0 - bl SwitchToPokegearApp - add r0, r6, #0 - pop {r4, r5, r6, pc} - nop -_0203E768: .word 0x0210159C - thumb_func_end sub_0203E740 - - thumb_func_start sub_0203E76C -sub_0203E76C: ; 0x0203E76C - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - add r0, r1, #0 - ldr r5, [r6, #0xc] - mov r1, #0x3c - add r7, r2, #0 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x3c - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #4] - add r0, r5, #0 - bl sub_02074904 - str r0, [r4] - mov r0, #1 - strb r0, [r4, #0x11] - mov r0, #0 - strb r0, [r4, #0x14] - ldr r0, [r4] - bl sub_02074640 - strb r0, [r4, #0x13] - mov r0, #0 - strh r0, [r4, #0x18] - strb r7, [r4, #0x12] - add r0, r5, #0 - bl sub_02074910 - str r0, [r4, #0x1c] - add r0, r5, #0 - bl sub_02088288 - str r0, [r4, #0x2c] - add r0, r5, #0 - bl sub_0202D95C - str r0, [r4, #0x20] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r6, r0 - str r0, [r4, #0x30] - ldr r0, [r6, #0xc] - bl sub_0208828C - str r0, [r4, #0x34] - ldr r1, _0203E7F0 ; =0x020FA1B0 - add r0, r4, #0 - bl sub_02089D40 - add r0, r5, #0 - bl sub_02028E9C - add r1, r0, #0 - add r0, r4, #0 - bl sub_0208AD34 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203E7F0: .word 0x020FA1B0 - thumb_func_end sub_0203E76C - - thumb_func_start sub_0203E7F4 -sub_0203E7F4: ; 0x0203E7F4 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - mov r1, #0x3c - add r6, r2, #0 - add r7, r3, #0 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x3c - add r4, r0, #0 - bl MIi_CpuFill8 - ldr r0, [r5, #0xc] - bl sub_02074904 - str r0, [r4] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #4] - mov r0, #1 - strb r0, [r4, #0x11] - strb r6, [r4, #0x14] - strb r0, [r4, #0x13] - strh r7, [r4, #0x18] - mov r0, #2 - strb r0, [r4, #0x12] - ldr r0, [r5, #0xc] - bl sub_02074910 - str r0, [r4, #0x1c] - mov r0, #0 - str r0, [r4, #0x2c] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #0x30] - ldr r1, _0203E860 ; =0x020FA1A8 - add r0, r4, #0 - bl sub_02089D40 - ldr r0, [r5, #0xc] - bl sub_02028E9C - add r1, r0, #0 - add r0, r4, #0 - bl sub_0208AD34 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203E4EC - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203E860: .word 0x020FA1A8 - thumb_func_end sub_0203E7F4 - - thumb_func_start sub_0203E864 -sub_0203E864: ; 0x0203E864 - ldrb r0, [r0, #0x16] - bx lr - thumb_func_end sub_0203E864 - - thumb_func_start sub_0203E868 -sub_0203E868: ; 0x0203E868 - ldr r3, _0203E870 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203E874 ; =0x020FA414 - bx r3 - .balign 4, 0 -_0203E870: .word SwitchToPokegearApp -_0203E874: .word 0x020FA414 - thumb_func_end sub_0203E868 - - thumb_func_start sub_0203E878 -sub_0203E878: ; 0x0203E878 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r6, r0, #0 - bl sub_02050654 - add r5, r0, #0 - add r0, r6, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r6, #0 - bl sub_0205064C - ldr r1, [r5] - add r6, r0, #0 - cmp r1, #0 - beq _0203E8A4 - cmp r1, #1 - beq _0203E8B2 - cmp r1, #2 - beq _0203E8C2 - b _0203E958 -_0203E8A4: - ldr r1, [r4, #0xc] - bl sub_0203EA24 - ldr r0, [r5] - add r0, r0, #1 - str r0, [r5] - b _0203E958 -_0203E8B2: - bl sub_020505A0 - cmp r0, #0 - bne _0203E958 - ldr r0, [r5] - add r0, r0, #1 - str r0, [r5] - b _0203E958 -_0203E8C2: - ldr r0, [r4, #0xc] - bl sub_02090D48 - cmp r0, #0 - bne _0203E8D6 - ldr r0, [r4, #0xc] - bl sub_02090D4C - cmp r0, #0 - bne _0203E8DE -_0203E8D6: - ldr r0, [r4] - mov r1, #0 - strh r1, [r0] - b _0203E946 -_0203E8DE: - ldr r0, [r4] - mov r1, #1 - strh r1, [r0] - ldr r0, [r4, #0x10] - cmp r0, #5 - bhi _0203E902 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203E8F6: ; jump table - .short _0203E902 - _0203E8F6 - 2 ; case 0 - .short _0203E90E - _0203E8F6 - 2 ; case 1 - .short _0203E926 - _0203E8F6 - 2 ; case 2 - .short _0203E926 - _0203E8F6 - 2 ; case 3 - .short _0203E926 - _0203E8F6 - 2 ; case 4 - .short _0203E926 - _0203E8F6 - 2 ; case 5 -_0203E902: - ldr r0, [r4, #0xc] - bl sub_02090D50 - ldr r1, [r4, #4] - strh r0, [r1] - b _0203E946 -_0203E90E: - ldr r0, [r4, #0xc] - add r1, sp, #8 - bl sub_02090D54 - add r0, sp, #0 - ldrh r2, [r0, #8] - ldr r1, [r4, #4] - strh r2, [r1] - ldrh r1, [r0, #0xa] - ldr r0, [r4, #8] - strh r1, [r0] - b _0203E946 -_0203E926: - ldr r0, [r4, #0xc] - add r1, sp, #0 - bl sub_02090D60 - ldr r1, [r4, #0x10] - ldr r0, [r6, #0xc] - sub r1, r1, #2 - add r2, sp, #0 - bl sub_0202D640 - add r0, sp, #0 - mov r1, #0 - bl MailMsg_GetFieldI - ldr r1, [r4, #4] - strh r0, [r1] -_0203E946: - ldr r0, [r4, #0xc] - bl sub_02090D0C - add r0, r4, #0 - bl FreeToHeap - add sp, #0xc - mov r0, #1 - pop {r3, r4, r5, r6, pc} -_0203E958: - mov r0, #0 - add sp, #0xc - pop {r3, r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203E878 - - thumb_func_start sub_0203E960 -sub_0203E960: ; 0x0203E960 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp, #4] - add r6, r1, #0 - str r2, [sp, #8] - add r7, r3, #0 - bl sub_0205064C - add r5, r0, #0 - mov r0, #0x20 - mov r1, #0x14 - bl AllocFromHeap - add r4, r0, #0 - ldr r0, [sp, #8] - cmp r6, #5 - str r0, [r4] - ldr r0, [sp, #0x20] - str r7, [r4, #4] - str r0, [r4, #8] - str r6, [r4, #0x10] - bhi _0203E9A4 - add r0, r6, r6 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203E998: ; jump table - .short _0203E9A4 - _0203E998 - 2 ; case 0 - .short _0203E9C0 - _0203E998 - 2 ; case 1 - .short _0203E9E0 - _0203E998 - 2 ; case 2 - .short _0203E9E0 - _0203E998 - 2 ; case 3 - .short _0203E9E0 - _0203E998 - 2 ; case 4 - .short _0203E9E0 - _0203E998 - 2 ; case 5 -_0203E9A4: - mov r3, #0x20 - str r3, [sp] - mov r0, #0 - add r3, #0xec - ldr r2, [r5, #0xc] - add r1, r0, #0 - add r3, r5, r3 - bl sub_02090C94 - str r0, [r4, #0xc] - ldrh r1, [r7] - bl sub_02090D14 - b _0203EA12 -_0203E9C0: - mov r3, #0x20 - str r3, [sp] - add r3, #0xec - ldr r2, [r5, #0xc] - mov r0, #1 - mov r1, #0 - add r3, r5, r3 - bl sub_02090C94 - str r0, [r4, #0xc] - ldr r2, [sp, #0x20] - ldrh r1, [r7] - ldrh r2, [r2] - bl sub_02090D18 - b _0203EA12 -_0203E9E0: - mov r3, #0x20 - str r3, [sp] - add r3, #0xec - ldr r2, [r5, #0xc] - mov r0, #2 - mov r1, #0 - add r3, r5, r3 - bl sub_02090C94 - str r0, [r4, #0xc] - bl sub_02090D40 - sub r1, r6, #2 - lsl r1, r1, #0x18 - ldr r0, [r5, #0xc] - lsr r1, r1, #0x18 - bl sub_0202D660 - add r1, r0, #0 - ldr r0, [r4, #0xc] - bl sub_02090D20 - ldr r0, [r4, #0xc] - bl sub_02090D34 -_0203EA12: - ldr r0, [sp, #4] - ldr r1, _0203EA20 ; =sub_0203E878 - add r2, r4, #0 - bl sub_02050530 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0203EA20: .word sub_0203E878 - thumb_func_end sub_0203E960 - - thumb_func_start sub_0203EA24 -sub_0203EA24: ; 0x0203EA24 - ldr r3, _0203EA2C ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203EA30 ; =0x020FA404 - bx r3 - .balign 4, 0 -_0203EA2C: .word SwitchToPokegearApp -_0203EA30: .word 0x020FA404 - thumb_func_end sub_0203EA24 - - thumb_func_start sub_0203EA34 -sub_0203EA34: ; 0x0203EA34 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203EA58 ; =0x020FA3F4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203EA58: .word 0x020FA3F4 - thumb_func_end sub_0203EA34 - - thumb_func_start SwitchToPokegearApp_Radio -SwitchToPokegearApp_Radio: ; 0x0203EA5C - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203EA80 ; =0x020FA3E4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203EA80: .word 0x020FA3E4 - thumb_func_end SwitchToPokegearApp_Radio - - thumb_func_start sub_0203EA84 -sub_0203EA84: ; 0x0203EA84 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x2c - bl AllocFromHeapAtEnd - add r4, r0, #0 - mov r1, #0 - mov r2, #0x2c - bl MIi_CpuFill8 - add r0, r5, #0 - add r1, r4, #0 - bl sub_02092D80 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EA34 - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203EA84 - - thumb_func_start Radio_new -Radio_new: ; 0x0203EAB0 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x2c - bl AllocFromHeapAtEnd - add r4, r0, #0 - mov r1, #0 - mov r2, #0x2c - bl MIi_CpuFill8 - add r0, r5, #0 - add r1, r4, #0 - bl sub_02092D8C - add r0, r5, #0 - add r1, r4, #0 - strb r6, [r4] - bl SwitchToPokegearApp_Radio - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end Radio_new - - thumb_func_start sub_0203EAE0 -sub_0203EAE0: ; 0x0203EAE0 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203EB04 ; =0x020FA3D4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203EB04: .word 0x020FA3D4 - thumb_func_end sub_0203EAE0 - - thumb_func_start sub_0203EB08 -sub_0203EB08: ; 0x0203EB08 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x24 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x24 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #4] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EAE0 - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203EB08 - - thumb_func_start sub_0203EB3C -sub_0203EB3C: ; 0x0203EB3C - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203EB60 ; =0x020FA3C4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203EB60: .word 0x020FA3C4 - thumb_func_end sub_0203EB3C - - thumb_func_start sub_0203EB64 -sub_0203EB64: ; 0x0203EB64 - push {r3, r4, r5, lr} - mov r1, #0xb - add r5, r0, #0 - bl ov02_0224E4EC - add r4, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EB3C - add r0, r4, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203EB64 - - thumb_func_start sub_0203EB7C -sub_0203EB7C: ; 0x0203EB7C - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203EBA0 ; =0x020FA3B4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203EBA0: .word 0x020FA3B4 - thumb_func_end sub_0203EB7C - - thumb_func_start sub_0203EBA4 -sub_0203EBA4: ; 0x0203EBA4 - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x10 - add r6, r2, #0 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x10 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4, #0xc] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #8] - add r0, r5, #0 - add r1, r4, #0 - strb r6, [r4, #2] - bl sub_0203EB7C - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203EBA4 - - thumb_func_start sub_0203EBDC -sub_0203EBDC: ; 0x0203EBDC - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203EC00 ; =0x020FA3A4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203EC00: .word 0x020FA3A4 - thumb_func_end sub_0203EBDC - - thumb_func_start sub_0203EC04 -sub_0203EC04: ; 0x0203EC04 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x10 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x10 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4, #0xc] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #8] - add r0, r5, #0 - add r1, r4, #0 - strb r6, [r4, #5] - bl sub_0203EBDC - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203EC04 - - thumb_func_start sub_0203EC3C -sub_0203EC3C: ; 0x0203EC3C - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203EC60 ; =0x020FA394 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203EC60: .word 0x020FA394 - thumb_func_end sub_0203EC3C - - thumb_func_start sub_0203EC64 -sub_0203EC64: ; 0x0203EC64 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #8 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #8 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4, #4] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EC3C - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203EC64 - - thumb_func_start sub_0203EC98 -sub_0203EC98: ; 0x0203EC98 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203ECBC ; =0x020FA384 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203ECBC: .word 0x020FA384 - thumb_func_end sub_0203EC98 - - thumb_func_start sub_0203ECC0 -sub_0203ECC0: ; 0x0203ECC0 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x10 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x10 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4, #0xc] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #4] - add r0, r5, #0 - add r0, #0x94 - ldr r0, [r0] - add r1, r4, #0 - str r0, [r4, #8] - add r0, r5, #0 - bl sub_0203EC98 - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203ECC0 - - thumb_func_start sub_0203ECFC -sub_0203ECFC: ; 0x0203ECFC - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203ED20 ; =0x020FA374 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203ED20: .word 0x020FA374 - thumb_func_end sub_0203ECFC - - thumb_func_start sub_0203ED24 -sub_0203ED24: ; 0x0203ED24 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x1c - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x1c - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4, #0x18] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #0x14] - ldr r0, [r4, #0x18] - bl sub_0202CF54 - mov r1, #0 - bl sub_0202D18C - str r0, [r4, #0x10] - cmp r6, #1 - bne _0203ED72 - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_02066A0C - cmp r0, #0 - bne _0203ED72 - mov r0, #0 - strb r0, [r4] - b _0203ED74 -_0203ED72: - strb r6, [r4] -_0203ED74: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203ECFC - add r0, r4, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0203ED24 - - thumb_func_start sub_0203ED80 -sub_0203ED80: ; 0x0203ED80 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x1c - add r7, r2, #0 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x1c - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4, #0x18] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #0x14] - ldr r0, [r4, #0x18] - bl sub_0202CF54 - mov r1, #0 - bl sub_0202D18C - str r0, [r4, #0x10] - mov r0, #3 - strb r0, [r4] - str r6, [r4, #0xc] - add r0, r5, #0 - add r1, r4, #0 - str r7, [r4, #8] - bl sub_0203ECFC - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203ED80 - - thumb_func_start sub_0203EDCC -sub_0203EDCC: ; 0x0203EDCC - ldr r3, _0203EDD4 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203EDD8 ; =0x020FA364 - bx r3 - .balign 4, 0 -_0203EDD4: .word SwitchToPokegearApp -_0203EDD8: .word 0x020FA364 - thumb_func_end sub_0203EDCC - - thumb_func_start sub_0203EDDC -sub_0203EDDC: ; 0x0203EDDC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x14 - add r7, r2, #0 - str r3, [sp] - bl AllocFromHeap - add r4, r0, #0 - mov r1, #0 - mov r2, #0x14 - bl MIi_CpuFill8 - str r6, [r4] - ldr r0, [sp] - str r7, [r4, #4] - str r0, [r4, #8] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0xc] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EDCC - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203EDDC - - thumb_func_start sub_0203EE14 -sub_0203EE14: ; 0x0203EE14 - ldr r3, _0203EE1C ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203EE20 ; =0x020FA354 - bx r3 - .balign 4, 0 -_0203EE1C: .word SwitchToPokegearApp -_0203EE20: .word 0x020FA354 - thumb_func_end sub_0203EE14 - - thumb_func_start sub_0203EE24 -sub_0203EE24: ; 0x0203EE24 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0xc - bl AllocFromHeapAtEnd - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E344 - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #4] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #8] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EE14 - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203EE24 - - thumb_func_start sub_0203EE54 -sub_0203EE54: ; 0x0203EE54 - push {r4, lr} - add r4, r0, #0 - bl sub_020503D0 - mov r1, #0xef - bl sub_020503DC - cmp r0, #0 - beq _0203EE8A - add r0, r4, #0 - bl sub_020503D0 - mov r1, #0xf0 - bl sub_020503DC - cmp r0, #0 - beq _0203EE8A - add r0, r4, #0 - bl sub_020503D0 - mov r1, #0xf1 - bl sub_020503DC - cmp r0, #0 - beq _0203EE8A - mov r0, #1 - pop {r4, pc} -_0203EE8A: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_0203EE54 - - thumb_func_start sub_0203EE90 -sub_0203EE90: ; 0x0203EE90 - ldr r3, _0203EE98 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203EE9C ; =0x020FA344 - bx r3 - .balign 4, 0 -_0203EE98: .word SwitchToPokegearApp -_0203EE9C: .word 0x020FA344 - thumb_func_end sub_0203EE90 - - thumb_func_start sub_0203EEA0 -sub_0203EEA0: ; 0x0203EEA0 - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #8 - bl AllocFromHeapAtEnd - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E344 - add r6, r0, #0 - bl sub_02031968 - bl sub_02031974 - str r0, [r4] - add r0, r6, #0 - bl sub_0203EE54 - str r0, [r4, #4] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EE90 - add r0, r4, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0203EEA0 - - thumb_func_start sub_0203EED4 -sub_0203EED4: ; 0x0203EED4 - ldr r3, _0203EEDC ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203EEE0 ; =0x020FA314 - bx r3 - .balign 4, 0 -_0203EEDC: .word SwitchToPokegearApp -_0203EEE0: .word 0x020FA314 - thumb_func_end sub_0203EED4 - - thumb_func_start sub_0203EEE4 -sub_0203EEE4: ; 0x0203EEE4 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x10 - bl AllocFromHeapAtEnd - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E344 - add r6, r0, #0 - bl sub_02031968 - add r7, r0, #0 - add r0, r6, #0 - bl sub_0202A634 - str r0, [sp] - str r0, [r4] - add r0, r7, #0 - bl sub_02031978 - str r0, [r4, #4] - ldr r0, [sp] - bl sub_0202A55C - str r0, [r4, #8] - add r0, r6, #0 - bl sub_0203EE54 - str r0, [r4, #0xc] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EED4 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203EEE4 - - thumb_func_start sub_0203EF30 -sub_0203EF30: ; 0x0203EF30 - ldr r3, _0203EF38 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203EF3C ; =0x020FA324 - bx r3 - .balign 4, 0 -_0203EF38: .word SwitchToPokegearApp -_0203EF3C: .word 0x020FA324 - thumb_func_end sub_0203EF30 - - thumb_func_start sub_0203EF40 -sub_0203EF40: ; 0x0203EF40 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x14 - bl AllocFromHeapAtEnd - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E344 - add r6, r0, #0 - bl sub_02031968 - add r7, r0, #0 - bl sub_0203197C - str r0, [r4] - add r0, r7, #0 - bl sub_02031984 - str r0, [r4, #4] - add r0, r6, #0 - bl sub_02028E9C - str r0, [r4, #0xc] - add r0, r6, #0 - bl sub_0203EE54 - str r0, [r4, #0x10] - add r0, r7, #0 - bl sub_02031990 - str r0, [r4, #8] - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EF30 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203EF40 - - thumb_func_start sub_0203EF90 -sub_0203EF90: ; 0x0203EF90 - ldr r3, _0203EF98 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203EF9C ; =0x020FA424 - bx r3 - .balign 4, 0 -_0203EF98: .word SwitchToPokegearApp -_0203EF9C: .word 0x020FA424 - thumb_func_end sub_0203EF90 - - thumb_func_start sub_0203EFA0 -sub_0203EFA0: ; 0x0203EFA0 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - mov r0, #3 - mov r1, #8 - bl AllocFromHeapAtEnd - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E344 - add r7, r0, #0 - bl sub_02028E9C - add r6, r0, #0 - add r0, r7, #0 - bl sub_02031968 - str r0, [r4] - add r0, r5, #0 - add r1, r4, #0 - str r6, [r4, #4] - bl sub_0203EF90 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203EFA0 - - thumb_func_start sub_0203EFD4 -sub_0203EFD4: ; 0x0203EFD4 - add r2, r1, #0 - mov r1, #0x43 - lsl r1, r1, #2 - add r1, r0, r1 - str r1, [r2, #0x1c] - ldr r3, _0203EFE4 ; =SwitchToPokegearApp - ldr r1, _0203EFE8 ; =0x020FA434 - bx r3 - .balign 4, 0 -_0203EFE4: .word SwitchToPokegearApp -_0203EFE8: .word 0x020FA434 - thumb_func_end sub_0203EFD4 - - thumb_func_start sub_0203EFEC -sub_0203EFEC: ; 0x0203EFEC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - add r7, r3, #0 - bl sub_0203E344 - mov r1, #0xb - str r1, [sp] - add r1, r4, #0 - add r2, r6, #0 - add r3, r7, #0 - bl sub_02090E68 - add r4, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EFD4 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203EFEC - - thumb_func_start sub_0203F018 -sub_0203F018: ; 0x0203F018 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r7, r0, #0 - add r4, r2, #0 - add r6, r3, #0 - cmp r5, #3 - bne _0203F034 - bl sub_0203E344 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02090F38 - b _0203F042 -_0203F034: - bl sub_0203E344 - add r1, r5, #0 - add r2, r4, #0 - add r3, r6, #0 - bl sub_02090EC0 -_0203F042: - add r4, r0, #0 - add r0, r7, #0 - add r1, r4, #0 - bl sub_0203EFD4 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203F018 - - thumb_func_start sub_0203F050 -sub_0203F050: ; 0x0203F050 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r6, r2, #0 - add r5, r0, #0 - bl sub_0203E344 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02090F00 - add r4, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0203EFD4 - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203F050 - - thumb_func_start sub_0203F074 -sub_0203F074: ; 0x0203F074 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - mov r1, #0xc - bl AllocFromHeap - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E344 - str r0, [r4] - mov r0, #0x43 - lsl r0, r0, #2 - str r5, [r4, #4] - add r0, r5, r0 - str r0, [r4, #8] - ldr r1, _0203F0A4 ; =0x020FA2F4 - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, pc} - nop -_0203F0A4: .word 0x020FA2F4 - thumb_func_end sub_0203F074 - - thumb_func_start sub_0203F0A8 -sub_0203F0A8: ; 0x0203F0A8 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203F0CC ; =0x020FA2E4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203F0CC: .word 0x020FA2E4 - thumb_func_end sub_0203F0A8 - - thumb_func_start sub_0203F0D0 -sub_0203F0D0: ; 0x0203F0D0 - push {r3, r4, r5, r6, r7, lr} - add r6, r1, #0 - mov r1, #0x24 - add r4, r2, #0 - add r7, r3, #0 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x24 - add r5, r0, #0 - bl memset - add r0, r6, #0 - bl sub_02074904 - add r1, r4, #0 - bl sub_02074644 - str r0, [r5] - add r0, r6, #0 - bl sub_0202C028 - str r0, [sp] - mov r1, #0 - bl sub_0202B9B8 - add r4, r0, #0 - ldr r0, [sp] - bl sub_0202B9E0 - str r4, [r5, #4] - str r0, [r5, #8] - add r0, r6, #0 - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r5, #0xc] - add r0, r6, #0 - bl sub_0202CF54 - str r0, [r5, #0x10] - add r0, r6, #0 - bl sub_02028E9C - str r0, [r5, #0x14] - ldr r0, [sp, #0x18] - str r7, [r5, #0x18] - str r0, [r5, #0x1c] - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_0203F0D0 - - thumb_func_start sub_0203F134 -sub_0203F134: ; 0x0203F134 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0205064C - add r4, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r5, r0, #0 - ldr r0, [r5] - cmp r0, #0 - beq _0203F152 - cmp r0, #1 - beq _0203F162 - b _0203F192 -_0203F152: - ldr r1, [r5, #0xc] - add r0, r4, #0 - bl sub_0203F1E8 - ldr r0, [r5] - add r0, r0, #1 - str r0, [r5] - b _0203F192 -_0203F162: - add r0, r4, #0 - bl sub_020505A0 - cmp r0, #0 - bne _0203F192 - ldr r1, [r5, #4] - cmp r1, #0 - beq _0203F182 - ldr r0, [r5, #8] - cmp r0, #1 - bne _0203F17E - mov r0, #1 - strh r0, [r1] - b _0203F182 -_0203F17E: - mov r0, #0 - strh r0, [r1] -_0203F182: - ldr r0, [r5, #0xc] - bl FreeToHeap - add r0, r5, #0 - bl FreeToHeap - mov r0, #1 - pop {r3, r4, r5, pc} -_0203F192: - mov r0, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203F134 - - thumb_func_start sub_0203F198 -sub_0203F198: ; 0x0203F198 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r6, r0, #0 - add r5, r1, #0 - mov r0, #0x20 - mov r1, #0x10 - add r7, r2, #0 - str r3, [sp, #4] - bl AllocFromHeap - add r4, r0, #0 - add r2, r4, #0 - mov r1, #0x10 - mov r0, #0 -_0203F1B4: - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _0203F1B4 - add r0, sp, #0x10 - ldrh r0, [r0, #0x10] - add r3, r4, #0 - add r1, r7, #0 - str r0, [sp] - ldr r2, [sp, #4] - mov r0, #0x20 - add r3, #8 - bl sub_0203F0D0 - str r0, [r4, #0xc] - ldr r1, _0203F1E4 ; =sub_0203F134 - add r0, r6, #0 - add r2, r4, #0 - str r5, [r4, #4] - bl sub_02050530 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203F1E4: .word sub_0203F134 - thumb_func_end sub_0203F198 - - thumb_func_start sub_0203F1E8 -sub_0203F1E8: ; 0x0203F1E8 - push {r3, lr} - add r2, r1, #0 - mov r1, #0x43 - lsl r1, r1, #2 - add r1, r0, r1 - str r1, [r2, #0x20] - ldr r1, _0203F200 ; =0x0210F9AC - bl SwitchToPokegearApp - mov r0, #1 - pop {r3, pc} - nop -_0203F200: .word 0x0210F9AC - thumb_func_end sub_0203F1E8 - - thumb_func_start sub_0203F204 -sub_0203F204: ; 0x0203F204 - push {r3, lr} - add r2, r1, #0 - ldr r1, _0203F214 ; =0x0210F99C - bl SwitchToPokegearApp - mov r0, #1 - pop {r3, pc} - nop -_0203F214: .word 0x0210F99C - thumb_func_end sub_0203F204 - - thumb_func_start sub_0203F218 -sub_0203F218: ; 0x0203F218 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl sub_02028E9C - str r0, [r5, #4] - ldr r0, [r4, #0xc] - bl sub_02074904 - str r0, [r5, #8] - ldr r0, [r4, #0xc] - mov r1, #8 - bl SavArray_get - str r0, [r5, #0xc] - ldr r0, [r4, #0xc] - bl sub_0202CA44 - str r0, [r5, #0x14] - ldr r0, [r4, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r5, #0x18] - ldr r0, [r4, #0xc] - bl sub_0202A634 - str r0, [r5, #0x20] - ldr r0, [r4, #0xc] - bl sub_02074910 - str r0, [r5, #0x2c] - ldr r0, [r4, #0xc] - str r0, [r5, #0x10] - ldr r0, [r4, #0xc] - bl sub_0202CF54 - str r0, [r5, #0x1c] - bl sub_02028ECC - add r1, r0, #0 - mov r0, #0x20 - bl AllocFromHeap - str r0, [r5, #0x34] - bl sub_02070D90 - add r1, r0, #0 - mov r0, #0x20 - bl AllocFromHeap - str r0, [r5, #0x38] - bl sub_02070D90 - add r1, r0, #0 - mov r0, #0x20 - bl AllocFromHeap - str r0, [r5, #0x3c] - str r4, [r5] - mov r0, #0 - str r0, [r5, #0x30] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_0203F218 - - thumb_func_start sub_0203F298 -sub_0203F298: ; 0x0203F298 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x34] - cmp r0, #0 - beq _0203F2AA - bl FreeToHeap - mov r0, #0 - str r0, [r4, #0x34] -_0203F2AA: - ldr r0, [r4, #0x38] - cmp r0, #0 - beq _0203F2B8 - bl FreeToHeap - mov r0, #0 - str r0, [r4, #0x38] -_0203F2B8: - ldr r0, [r4, #0x3c] - cmp r0, #0 - beq _0203F2C6 - bl FreeToHeap - mov r0, #0 - str r0, [r4, #0x3c] -_0203F2C6: - pop {r4, pc} - thumb_func_end sub_0203F298 - - thumb_func_start sub_0203F2C8 -sub_0203F2C8: ; 0x0203F2C8 - push {r4, r5, r6, r7, lr} - sub sp, #0x2c - add r6, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r6, #0 - bl sub_02050650 - add r4, r0, #0 - ldr r0, [r4] - cmp r0, #7 - bls _0203F2E4 - b _0203F49A -_0203F2E4: - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0203F2F0: ; jump table - .short _0203F300 - _0203F2F0 - 2 ; case 0 - .short _0203F316 - _0203F2F0 - 2 ; case 1 - .short _0203F324 - _0203F2F0 - 2 ; case 2 - .short _0203F336 - _0203F2F0 - 2 ; case 3 - .short _0203F354 - _0203F2F0 - 2 ; case 4 - .short _0203F3C2 - _0203F2F0 - 2 ; case 5 - .short _0203F446 - _0203F2F0 - 2 ; case 6 - .short _0203F472 - _0203F2F0 - 2 ; case 7 -_0203F300: - bl sub_02039998 - cmp r0, #0 - bne _0203F30E - add r0, r6, #0 - bl sub_0205525C -_0203F30E: - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _0203F49A -_0203F316: - add r0, r4, #4 - add r1, r5, #0 - bl sub_0203F218 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] -_0203F324: - ldr r1, _0203F4A0 ; =0x0210F98C - add r0, r6, #0 - add r2, r4, #4 - bl sub_02050624 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _0203F49A -_0203F336: - ldr r1, [r4, #0x28] - cmp r1, #0 - bne _0203F34E - add r0, r4, #4 - bl sub_0203F298 - add r0, r4, #0 - bl FreeToHeap - add sp, #0x2c - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0203F34E: - add r0, r0, #1 - str r0, [r4] - b _0203F49A -_0203F354: - ldr r0, [r4, #0x38] - str r0, [r4, #0x4c] - ldr r0, [r4, #0x3c] - bl sub_02070DB0 - str r0, [r4, #0x44] - ldr r0, [r4, #0x40] - bl sub_02070DB0 - str r0, [r4, #0x48] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0x58] - mov r0, #1 - str r0, [r4, #0x54] - add r0, r5, #0 - bl sub_020555E0 - cmp r0, #4 - bhi _0203F394 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203F38A: ; jump table - .short _0203F394 - _0203F38A - 2 ; case 0 - .short _0203F394 - _0203F38A - 2 ; case 1 - .short _0203F39A - _0203F38A - 2 ; case 2 - .short _0203F3A0 - _0203F38A - 2 ; case 3 - .short _0203F3A0 - _0203F38A - 2 ; case 4 -_0203F394: - mov r0, #0 - str r0, [r4, #0x50] - b _0203F3A4 -_0203F39A: - mov r0, #1 - str r0, [r4, #0x50] - b _0203F3A4 -_0203F3A0: - mov r0, #2 - str r0, [r4, #0x50] -_0203F3A4: - bl sub_02039998 - cmp r0, #0 - beq _0203F3B0 - mov r0, #3 - str r0, [r4, #0x50] -_0203F3B0: - add r2, r4, #0 - ldr r1, _0203F4A4 ; =0x020FA2D4 - add r0, r6, #0 - add r2, #0x44 - bl sub_02050624 - mov r0, #5 - str r0, [r4] - b _0203F49A -_0203F3C2: - ldr r0, [r4, #0x40] - mov r1, #6 - mov r2, #0 - bl sub_0206E540 - add r3, r0, #0 - add r0, sp, #0x28 - str r0, [sp] - lsl r3, r3, #0x10 - ldr r1, [r4, #0x40] - mov r0, #0 - mov r2, #1 - lsr r3, r3, #0x10 - bl sub_02070E34 - str r0, [sp, #0x1c] - cmp r0, #0 - beq _0203F440 - mov r0, #3 - mov r1, #0x1a - lsl r2, r0, #0x10 - bl sub_0201A910 - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [sp, #0x20] - ldr r0, [r5, #0xc] - bl sub_02088288 - add r6, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0202A634 - add r7, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207879C - str r0, [sp, #0x24] - ldr r0, [r5, #0xc] - bl sub_0202CF54 - str r6, [sp] - ldr r1, [sp, #0x24] - str r7, [sp, #4] - str r1, [sp, #8] - str r0, [sp, #0xc] - ldr r0, [sp, #0x28] - ldr r2, [sp, #0x1c] - str r0, [sp, #0x10] - mov r0, #4 - str r0, [sp, #0x14] - mov r0, #0x1a - str r0, [sp, #0x18] - ldr r1, [r4, #0x40] - ldr r3, [sp, #0x20] - mov r0, #0 - bl sub_02075A7C - str r0, [r4, #0x5c] - mov r0, #6 - str r0, [r4] - b _0203F49A -_0203F440: - mov r0, #7 - str r0, [r4] - b _0203F49A -_0203F446: - ldr r0, [r4, #0x5c] - bl sub_02075D3C - cmp r0, #0 - beq _0203F49A - ldr r0, [r4, #0xc] - ldr r1, [r4, #0x2c] - bl sub_02074644 - add r1, r0, #0 - ldr r0, [r4, #0x40] - bl sub_0207188C - ldr r0, [r4, #0x5c] - bl sub_02075D4C - mov r0, #0x1a - bl sub_0201A9C4 - mov r0, #7 - str r0, [r4] - b _0203F49A -_0203F472: - ldr r0, [r4, #0x34] - add r0, r0, #1 - str r0, [r4, #0x34] - mov r0, #2 - str r0, [r4] - ldr r0, [r5, #0xc] - bl sub_0202CF54 - mov r1, #0x10 - add r4, r0, #0 - bl sub_0202D1C0 - bl sub_02039998 - cmp r0, #0 - beq _0203F49A - add r0, r4, #0 - mov r1, #0x72 - bl sub_0202D0FC -_0203F49A: - mov r0, #0 - add sp, #0x2c - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0203F4A0: .word 0x0210F98C -_0203F4A4: .word 0x020FA2D4 - thumb_func_end sub_0203F2C8 - - thumb_func_start sub_0203F4A8 -sub_0203F4A8: ; 0x0203F4A8 - push {r4, lr} - add r4, r0, #0 - mov r0, #0x20 - mov r1, #0x64 - bl AllocFromHeap - add r2, r0, #0 - mov r0, #0 - str r0, [r2] - ldr r1, _0203F4C4 ; =sub_0203F2C8 - add r0, r4, #0 - bl sub_02050530 - pop {r4, pc} - .balign 4, 0 -_0203F4C4: .word sub_0203F2C8 - thumb_func_end sub_0203F4A8 - - thumb_func_start sub_0203F4C8 -sub_0203F4C8: ; 0x0203F4C8 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0x20 - mov r1, #8 - bl AllocFromHeap - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x84 - ldr r0, [r0] - str r0, [r4] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #4] - ldr r1, _0203F4F4 ; =0x020FA2C4 - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - pop {r3, r4, r5, pc} - nop -_0203F4F4: .word 0x020FA2C4 - thumb_func_end sub_0203F4C8 - - thumb_func_start sub_0203F4F8 -sub_0203F4F8: ; 0x0203F4F8 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x14 - bl AllocFromHeap - add r4, r0, #0 - ldr r0, [r5, #0xc] - str r0, [r4] - add r0, r5, #0 - add r0, #0x84 - ldr r0, [r0] - str r0, [r4, #4] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #8] - ldr r0, [r5, #0xc] - bl sub_0202CF54 - str r0, [r4, #0xc] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #0x10] - ldr r1, _0203F538 ; =0x020FA2B4 - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203F538: .word 0x020FA2B4 - thumb_func_end sub_0203F4F8 - - thumb_func_start sub_0203F53C -sub_0203F53C: ; 0x0203F53C - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - add r0, r2, #0 - mov r1, #8 - bl AllocFromHeap - mov r1, #0 - mov r2, #8 - add r4, r0, #0 - bl MIi_CpuFill8 - mov r0, #0x43 - lsl r0, r0, #2 - str r6, [r4] - add r0, r5, r0 - str r0, [r4, #4] - ldr r1, _0203F56C ; =0x020FA2A4 - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203F56C: .word 0x020FA2A4 - thumb_func_end sub_0203F53C - - thumb_func_start sub_0203F570 -sub_0203F570: ; 0x0203F570 - ldr r3, _0203F578 ; =SwitchToPokegearApp - ldr r1, _0203F57C ; =0x02102830 - add r2, r0, #0 - bx r3 - .balign 4, 0 -_0203F578: .word SwitchToPokegearApp -_0203F57C: .word 0x02102830 - thumb_func_end sub_0203F570 - - thumb_func_start sub_0203F580 -sub_0203F580: ; 0x0203F580 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl sub_0205064C - add r6, r0, #0 - add r0, r5, #0 - bl sub_02050650 - add r4, r0, #0 - ldr r0, [r4] - cmp r0, #3 - bhi _0203F648 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203F5A4: ; jump table - .short _0203F5AC - _0203F5A4 - 2 ; case 0 - .short _0203F5BA - _0203F5A4 - 2 ; case 1 - .short _0203F5CC - _0203F5A4 - 2 ; case 2 - .short _0203F5DA - _0203F5A4 - 2 ; case 3 -_0203F5AC: - add r0, r5, #0 - bl sub_0205525C - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _0203F648 -_0203F5BA: - ldr r1, _0203F64C ; =0x02102610 - ldr r2, [r4, #0xc] - add r0, r5, #0 - bl sub_02050624 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _0203F648 -_0203F5CC: - add r0, r5, #0 - bl sub_020552A4 - ldr r0, [r4] - add r0, r0, #1 - str r0, [r4] - b _0203F648 -_0203F5DA: - ldr r1, [r4, #0xc] - ldr r0, [r1] - cmp r0, #1 - bne _0203F5F6 - ldr r0, [r1, #0x18] - ldr r1, [r4, #0x10] - bl StringCompare - cmp r0, #0 - bne _0203F618 - ldr r0, [r4, #0xc] - mov r1, #1 - str r1, [r0, #0x14] - b _0203F618 -_0203F5F6: - cmp r0, #5 - bne _0203F618 - ldr r0, [r1, #0x18] - bl String_c_str - add r7, r0, #0 - ldr r0, [r6, #0xc] - bl sub_0202C854 - add r1, r7, #0 - bl sub_0202C88C - cmp r0, #0 - beq _0203F618 - ldr r0, [r4, #0xc] - mov r1, #2 - str r1, [r0, #0x14] -_0203F618: - ldr r0, [r4, #0xc] - ldr r0, [r0, #0x14] - cmp r0, #0 - bne _0203F626 - add r0, r5, #0 - bl sub_0203F650 -_0203F626: - ldr r1, [r4, #8] - cmp r1, #0 - beq _0203F632 - ldr r0, [r4, #0xc] - ldr r0, [r0, #0x14] - strh r0, [r1] -_0203F632: - ldr r0, [r4, #0xc] - bl sub_0208311C - ldr r0, [r4, #0x10] - bl String_dtor - add r0, r4, #0 - bl FreeToHeap - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0203F648: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203F64C: .word 0x02102610 - thumb_func_end sub_0203F580 - - thumb_func_start sub_0203F650 -sub_0203F650: ; 0x0203F650 - push {r4, r5, r6, lr} - add r4, r0, #0 - bl sub_0205064C - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050650 - add r4, r0, #0 - ldr r0, [r4, #0xc] - ldr r0, [r0] - cmp r0, #5 - bhi _0203F6DC - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0203F676: ; jump table - .short _0203F682 - _0203F676 - 2 ; case 0 - .short _0203F6A2 - _0203F676 - 2 ; case 1 - .short _0203F6DC - _0203F676 - 2 ; case 2 - .short _0203F692 - _0203F676 - 2 ; case 3 - .short _0203F6DC - _0203F676 - 2 ; case 4 - .short _0203F6CA - _0203F676 - 2 ; case 5 -_0203F682: - ldr r0, [r5, #0xc] - bl sub_02028E9C - ldr r1, [r4, #0xc] - add r1, #0x1c - bl sub_02028F24 - pop {r4, r5, r6, pc} -_0203F692: - ldr r0, [r5, #0xc] - bl sub_0202A954 - ldr r1, [r4, #0xc] - ldr r1, [r1, #0x18] - bl sub_0202A9B0 - pop {r4, r5, r6, pc} -_0203F6A2: - ldr r6, [r4, #4] - cmp r6, #0xff - bne _0203F6B2 - add r0, r5, #0 - bl sub_0206DB28 - ldr r0, [r0, #0x10] - b _0203F6BE -_0203F6B2: - ldr r0, [r5, #0xc] - bl sub_02074904 - add r1, r6, #0 - bl sub_02074644 -_0203F6BE: - ldr r2, [r4, #0xc] - mov r1, #0x76 - add r2, #0x1c - bl sub_0206EC40 - pop {r4, r5, r6, pc} -_0203F6CA: - ldr r0, [r5, #0xc] - bl sub_0202C854 - ldr r3, [r4, #0xc] - mov r1, #0 - ldr r3, [r3, #0x18] - add r2, r1, #0 - bl sub_0202C7F8 -_0203F6DC: - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203F650 - - thumb_func_start sub_0203F6E0 -sub_0203F6E0: ; 0x0203F6E0 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - str r0, [sp, #8] - add r7, r1, #0 - str r2, [sp, #0xc] - str r3, [sp, #0x10] - ldr r5, [sp, #0x2c] - bl sub_0205064C - add r6, r0, #0 - mov r0, #0xb - mov r1, #0x14 - bl AllocFromHeapAtEnd - add r4, r0, #0 - mov r0, #0 - str r0, [r4] - ldr r0, [sp, #0x28] - str r0, [r4, #4] - ldr r0, [sp, #0x30] - str r0, [r4, #8] - ldr r0, [r6, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [sp] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r6, r0 - str r0, [sp, #4] - ldr r2, [sp, #0xc] - ldr r3, [sp, #0x10] - mov r0, #0xb - add r1, r7, #0 - bl sub_020830D8 - str r0, [r4, #0xc] - mov r0, #0xc - mov r1, #0xb - bl String_ctor - str r0, [r4, #0x10] - cmp r7, #1 - beq _0203F73C - cmp r7, #5 - beq _0203F784 - b _0203F78E -_0203F73C: - ldr r0, [sp, #0x28] - cmp r0, #0xff - bne _0203F74C - add r0, r6, #0 - bl sub_0206DB28 - ldr r6, [r0, #0x10] - b _0203F75A -_0203F74C: - ldr r0, [r6, #0xc] - bl sub_02074904 - ldr r1, [r4, #4] - bl sub_02074644 - add r6, r0, #0 -_0203F75A: - add r0, r6, #0 - mov r1, #0x6f - mov r2, #0 - bl sub_0206E540 - ldr r1, [r4, #0xc] - mov r2, #0 - str r0, [r1, #0x10] - add r0, r6, #0 - mov r1, #0x70 - bl sub_0206E540 - ldr r1, [r4, #0xc] - cmp r5, #0 - str r0, [r1, #8] - beq _0203F79C - ldr r0, [r4, #0x10] - add r1, r5, #0 - bl CopyU16ArrayToString - b _0203F79C -_0203F784: - ldr r0, [r4, #0x10] - add r1, r5, #0 - bl CopyU16ArrayToString - b _0203F79C -_0203F78E: - cmp r5, #0 - beq _0203F79C - ldr r0, [r4, #0xc] - add r1, r5, #0 - ldr r0, [r0, #0x18] - bl CopyU16ArrayToString -_0203F79C: - ldr r0, [sp, #8] - ldr r1, _0203F7AC ; =sub_0203F580 - add r2, r4, #0 - bl sub_02050530 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - nop -_0203F7AC: .word sub_0203F580 - thumb_func_end sub_0203F6E0 - - thumb_func_start sub_0203F7B0 -sub_0203F7B0: ; 0x0203F7B0 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r0, #0x43 - lsl r0, r0, #2 - add r4, r1, #0 - add r1, r5, r0 - ldr r0, _0203F7E8 ; =0x0000066C - str r1, [r4, r0] - ldr r1, [r5, #0xc] - add r0, r0, #4 - str r1, [r4, r0] - ldr r0, [r5, #0xc] - bl sub_020503D0 - bl sub_02066614 - ldr r1, _0203F7EC ; =0x00000678 - mov r2, #0 - str r0, [r4, r1] - sub r0, r1, #4 - str r2, [r4, r0] - ldr r1, _0203F7F0 ; =0x020FA294 - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - pop {r3, r4, r5, pc} - nop -_0203F7E8: .word 0x0000066C -_0203F7EC: .word 0x00000678 -_0203F7F0: .word 0x020FA294 - thumb_func_end sub_0203F7B0 - - thumb_func_start sub_0203F7F4 -sub_0203F7F4: ; 0x0203F7F4 - push {r3, lr} - add r2, r1, #0 - ldr r1, _0203F804 ; =0x020FA284 - bl SwitchToPokegearApp - mov r0, #1 - pop {r3, pc} - nop -_0203F804: .word 0x020FA284 - thumb_func_end sub_0203F7F4 - - thumb_func_start sub_0203F808 -sub_0203F808: ; 0x0203F808 - ldr r3, _0203F810 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203F814 ; =0x020FA274 - bx r3 - .balign 4, 0 -_0203F810: .word SwitchToPokegearApp -_0203F814: .word 0x020FA274 - thumb_func_end sub_0203F808 - - thumb_func_start sub_0203F818 -sub_0203F818: ; 0x0203F818 - push {r3, r4, r5, lr} - sub sp, #0x10 - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0202C9D8 - ldr r5, _0203F840 ; =0x020FA254 - add r3, sp, #0 - add r2, r3, #0 - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - add r1, r2, #0 - ldr r2, [r4, #0xc] - add r0, r4, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203F840: .word 0x020FA254 - thumb_func_end sub_0203F818 - - thumb_func_start sub_0203F844 -sub_0203F844: ; 0x0203F844 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r3, _0203F8E8 ; =0x020FA264 - add r2, sp, #0 - add r5, r0, #0 - add r6, r1, #0 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - mov r0, #0xb - mov r1, #0x40 - bl AllocFromHeapAtEnd - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0202DB34 - str r0, [r4] - ldr r0, [r5, #0xc] - bl Sav2_SysInfo_get - str r0, [r4, #4] - ldr r0, [r5, #0xc] - mov r1, #2 - bl SavArray_get - str r0, [r4, #8] - ldr r0, [r5, #0xc] - bl sub_020270D8 - str r0, [r4, #0xc] - ldr r0, [r5, #0xc] - bl sub_0202A634 - str r0, [r4, #0x10] - ldr r0, [r5, #0xc] - bl sub_0202C6F4 - str r0, [r4, #0x14] - ldr r0, [r5, #0xc] - bl sub_0202CA44 - str r0, [r4, #0x18] - ldr r0, [r5, #0xc] - bl sub_02028E9C - str r0, [r4, #0x1c] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0x24] - ldr r0, [r5, #0xc] - bl sub_0202CF54 - str r0, [r4, #0x28] - ldr r0, [r5, #0xc] - bl sub_02088288 - str r0, [r4, #0x38] - ldr r0, [r5, #0xc] - str r0, [r4, #0x20] - ldr r0, [r5, #0xc] - bl sub_02074910 - str r0, [r4, #0x30] - ldr r0, [r4, #0x14] - bl sub_0203A040 - str r0, [r4, #0x34] - ldr r0, [r5, #0xc] - bl sub_0207879C - str r0, [r4, #0x2c] - add r0, r5, #0 - add r1, sp, #0 - add r2, r4, #0 - str r6, [r4, #0x3c] - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203F8E8: .word 0x020FA264 - thumb_func_end sub_0203F844 - - thumb_func_start sub_0203F8EC -sub_0203F8EC: ; 0x0203F8EC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - ldr r3, _0203F960 ; =0x020FA334 - add r7, r2, #0 - add r2, sp, #0 - add r5, r0, #0 - add r6, r1, #0 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - mov r0, #0xb - mov r1, #0x28 - bl AllocFromHeapAtEnd - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0202D918 - str r0, [r4] - ldr r0, [r5, #0xc] - bl sub_0202D928 - str r0, [r4, #4] - ldr r0, [r5, #0xc] - bl Sav2_SysInfo_get - str r0, [r4, #8] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0x10] - ldr r0, [r5, #0xc] - bl sub_0202C6F4 - bl sub_0202C08C - str r0, [r4, #0x14] - ldr r0, [r5, #0xc] - str r0, [r4, #0xc] - ldr r0, [r5, #0xc] - bl sub_0202C6F4 - bl sub_0203A040 - str r0, [r4, #0x1c] - str r6, [r4, #0x18] - str r7, [r4, #0x24] - mov r0, #1 - str r0, [r4, #0x20] - add r0, r5, #0 - add r1, sp, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203F960: .word 0x020FA334 - thumb_func_end sub_0203F8EC - - thumb_func_start sub_0203F964 -sub_0203F964: ; 0x0203F964 - ldr r3, _0203F96C ; =SwitchToPokegearApp - ldr r1, _0203F970 ; =0x020FA224 - ldr r2, [r0, #0xc] - bx r3 - .balign 4, 0 -_0203F96C: .word SwitchToPokegearApp -_0203F970: .word 0x020FA224 - thumb_func_end sub_0203F964 - - thumb_func_start sub_0203F974 -sub_0203F974: ; 0x0203F974 - ldr r3, _0203F97C ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203F980 ; =0x020FA214 - bx r3 - .balign 4, 0 -_0203F97C: .word SwitchToPokegearApp -_0203F980: .word 0x020FA214 - thumb_func_end sub_0203F974 - - thumb_func_start sub_0203F984 -sub_0203F984: ; 0x0203F984 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - mov r1, #0xb - add r2, sp, #0 - bl LoadHallOfFame - ldr r1, [sp] - add r4, r0, #0 - cmp r1, #2 - bne _0203F9A2 - bl FreeToHeap - mov r0, #0 - pop {r3, r4, r5, pc} -_0203F9A2: - ldr r1, _0203F9B0 ; =0x020FA204 - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, pc} - .balign 4, 0 -_0203F9B0: .word 0x020FA204 - thumb_func_end sub_0203F984 - - thumb_func_start sub_0203F9B4 -sub_0203F9B4: ; 0x0203F9B4 - ldr r3, _0203F9BC ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203F9C0 ; =0x020FA1F4 - bx r3 - .balign 4, 0 -_0203F9BC: .word SwitchToPokegearApp -_0203F9C0: .word 0x020FA1F4 - thumb_func_end sub_0203F9B4 - - thumb_func_start sub_0203F9C4 -sub_0203F9C4: ; 0x0203F9C4 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r6, _0203F9F0 ; =0x020FA1E4 - add r5, sp, #0 - add r3, r0, #0 - add r2, r1, #0 - add r4, r5, #0 - ldmia r6!, {r0, r1} - stmia r5!, {r0, r1} - ldmia r6!, {r0, r1} - stmia r5!, {r0, r1} - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r3, r0 - str r0, [r2, #0xc] - add r0, r3, #0 - add r1, r4, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203F9F0: .word 0x020FA1E4 - thumb_func_end sub_0203F9C4 - - thumb_func_start sub_0203F9F4 -sub_0203F9F4: ; 0x0203F9F4 - push {r3, r4, r5, lr} - sub sp, #0x10 - add r4, r0, #0 - ldr r0, [r4, #0xc] - bl sub_02074904 - bl sub_0206CE44 - add r5, r0, #0 - bne _0203FA0C - bl GF_AssertFail -_0203FA0C: - str r5, [sp] - ldr r0, [r4, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [sp, #4] - ldr r0, [r4, #0xc] - bl sub_02028E9C - str r0, [sp, #8] - ldr r1, [r4, #0x20] - add r0, r4, #0 - ldr r1, [r1] - bl sub_02054F60 - add r1, sp, #0 - strh r0, [r1, #0xc] - ldr r0, [r4, #0x10] - add r1, sp, #0 - bl sub_02091240 - add sp, #0x10 - pop {r3, r4, r5, pc} - thumb_func_end sub_0203F9F4 - - thumb_func_start sub_0203FA38 -sub_0203FA38: ; 0x0203FA38 - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r0, #0xb - mov r1, #0x14 - bl AllocFromHeapAtEnd - mov r1, #0 - mov r2, #0x14 - add r4, r0, #0 - bl MIi_CpuFill8 - add r0, r5, #0 - bl sub_0203E344 - add r6, r0, #0 - bl sub_02028EB4 - str r0, [r4, #4] - add r0, r6, #0 - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4] - mov r0, #0x43 - lsl r0, r0, #2 - add r0, r5, r0 - str r0, [r4, #8] - add r0, r6, #0 - bl sub_02028E9C - str r0, [r4, #0xc] - ldr r0, [r5, #0xc] - ldr r1, _0203FA88 ; =0x020FA234 - str r0, [r4, #0x10] - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r4, r5, r6, pc} - nop -_0203FA88: .word 0x020FA234 - thumb_func_end sub_0203FA38 - - thumb_func_start sub_0203FA8C -sub_0203FA8C: ; 0x0203FA8C - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, r1, #0 - mov r1, #8 - add r6, r2, #0 - bl AllocFromHeap - add r4, r0, #0 - str r6, [r4, #4] - ldr r0, [r5, #0xc] - ldr r1, _0203FAB0 ; =0x020FA304 - str r0, [r4] - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r4, r5, r6, pc} - .balign 4, 0 -_0203FAB0: .word 0x020FA304 - thumb_func_end sub_0203FA8C - - thumb_func_start sub_0203FAB4 -sub_0203FAB4: ; 0x0203FAB4 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - ldr r0, [sp, #0x18] - mov r1, #8 - add r7, r2, #0 - str r3, [sp] - bl AllocFromHeap - add r4, r0, #0 - strb r6, [r4, #4] - strb r7, [r4, #5] - ldr r0, [sp] - ldr r1, _0203FAE4 ; =0x0210F9BC - strh r0, [r4, #6] - ldr r0, [r5, #0xc] - add r2, r4, #0 - str r0, [r4] - add r0, r5, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203FAE4: .word 0x0210F9BC - thumb_func_end sub_0203FAB4 - - thumb_func_start sub_0203FAE8 -sub_0203FAE8: ; 0x0203FAE8 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, r1, #0 - mov r1, #0x44 - add r6, r2, #0 - bl AllocFromHeap - mov r1, #0 - mov r2, #0x44 - add r4, r0, #0 - bl memset - ldr r0, [r5, #0xc] - bl sub_02074904 - str r0, [r4] - ldr r0, [r5, #0xc] - bl sub_0207879C - str r0, [r4, #4] - ldr r0, [r5, #0xc] - bl sub_0202B50C - str r0, [r4, #8] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #0xc] - ldr r0, [r5, #0xc] - bl sub_020270C4 - str r0, [r4, #0x10] - mov r0, #0 - add r1, r4, #0 - str r0, [r4, #0x18] - add r1, #0x25 - strb r0, [r1] - add r1, r4, #0 - mov r2, #5 - add r1, #0x24 - strb r2, [r1] - add r1, r4, #0 - strh r6, [r4, #0x28] - add r1, #0x26 - strb r0, [r1] - mov r0, #0x43 - lsl r0, r0, #2 - str r5, [r4, #0x1c] - add r0, r5, r0 - str r0, [r4, #0x20] - ldr r1, _0203FB5C ; =0x0210159C - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r4, r5, r6, pc} - nop -_0203FB5C: .word 0x0210159C - thumb_func_end sub_0203FAE8 - - thumb_func_start sub_0203FB60 -sub_0203FB60: ; 0x0203FB60 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - mov r1, #0x18 - bl AllocFromHeap - add r4, r0, #0 - add r2, r4, #0 - mov r1, #0x18 - mov r0, #0 -_0203FB74: - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _0203FB74 - ldr r0, [r5, #0xc] - ldr r1, _0203FB90 ; =0x0210F97C - str r0, [r4] - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, pc} - nop -_0203FB90: .word 0x0210F97C - thumb_func_end sub_0203FB60 - - thumb_func_start sub_0203FB94 -sub_0203FB94: ; 0x0203FB94 - push {r4, r5, r6, lr} - add r5, r1, #0 - mov r0, #0xb - mov r1, #0x3c - add r6, r2, #0 - bl AllocFromHeap - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_02074904 - str r0, [r4] - ldr r0, [r5, #0xc] - bl Sav2_PlayerData_GetOptionsAddr - str r0, [r4, #4] - mov r0, #1 - strb r0, [r4, #0x11] - strb r6, [r4, #0x14] - ldr r0, [r4] - bl sub_02074640 - strb r0, [r4, #0x13] - mov r0, #0 - strh r0, [r4, #0x18] - strb r0, [r4, #0x12] - ldr r0, [r5, #0xc] - bl sub_0202D95C - str r0, [r4, #0x20] - ldr r0, [r5, #0xc] - bl sub_02074910 - str r0, [r4, #0x1c] - mov r0, #0 - str r0, [r4, #0x2c] - str r0, [r4, #0x28] - ldr r0, [r5, #0xc] - bl sub_0208828C - str r0, [r4, #0x34] - ldr r1, _0203FC0C ; =0x020FA0B0 - add r0, r4, #0 - bl sub_02089D40 - ldr r0, [r5, #0xc] - bl sub_02028E9C - add r1, r0, #0 - add r0, r4, #0 - bl sub_0208AD34 - ldr r1, _0203FC10 ; =0x02103A1C - add r0, r5, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r4, r5, r6, pc} - nop -_0203FC0C: .word 0x020FA0B0 -_0203FC10: .word 0x02103A1C - thumb_func_end sub_0203FB94 - - thumb_func_start sub_0203FC14 -sub_0203FC14: ; 0x0203FC14 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - ldr r3, _0203FC54 ; =0x020FA1C4 - add r7, r2, #0 - add r2, sp, #0 - add r5, r0, #0 - add r6, r1, #0 - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - ldmia r3!, {r0, r1} - stmia r2!, {r0, r1} - mov r0, #0xb - mov r1, #0x10 - bl AllocFromHeapAtEnd - add r4, r0, #0 - mov r1, #0 - mov r2, #0x10 - bl MIi_CpuFill8 - str r5, [r4] - ldr r0, [r5, #0xc] - add r1, sp, #0 - str r0, [r4, #4] - str r6, [r4, #8] - add r0, r5, #0 - add r2, r4, #0 - strb r7, [r4, #0xc] - bl SwitchToPokegearApp - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203FC54: .word 0x020FA1C4 - thumb_func_end sub_0203FC14 - - thumb_func_start sub_0203FC58 -sub_0203FC58: ; 0x0203FC58 - ldr r3, _0203FC60 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203FC64 ; =0x020FA244 - bx r3 - .balign 4, 0 -_0203FC60: .word SwitchToPokegearApp -_0203FC64: .word 0x020FA244 - thumb_func_end sub_0203FC58 - - thumb_func_start sub_0203FC68 -sub_0203FC68: ; 0x0203FC68 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203FC8C ; =0x020FA454 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203FC8C: .word 0x020FA454 - thumb_func_end sub_0203FC68 - - thumb_func_start sub_0203FC90 -sub_0203FC90: ; 0x0203FC90 - push {r4, r5, r6, lr} - sub sp, #0x10 - ldr r5, _0203FCB4 ; =0x020FA1D4 - add r4, sp, #0 - add r6, r0, #0 - add r2, r1, #0 - add r3, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, r6, #0 - add r1, r3, #0 - bl SwitchToPokegearApp - add sp, #0x10 - pop {r4, r5, r6, pc} - nop -_0203FCB4: .word 0x020FA1D4 - thumb_func_end sub_0203FC90 - - thumb_func_start sub_0203FCB8 -sub_0203FCB8: ; 0x0203FCB8 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - add r5, r1, #0 - ldr r0, [sp, #0x18] - mov r1, #0x50 - add r7, r2, #0 - str r3, [sp] - bl AllocFromHeap - mov r1, #0 - mov r2, #0x50 - add r4, r0, #0 - bl memset - add r0, r6, #0 - bl sub_0203E344 - str r0, [r4] - add r3, r4, #4 - mov r2, #9 -_0203FCE0: - ldmia r5!, {r0, r1} - stmia r3!, {r0, r1} - sub r2, r2, #1 - bne _0203FCE0 - add r0, r4, #0 - add r0, #0x4c - strh r7, [r0] - add r1, r4, #0 - ldr r0, [sp] - add r1, #0x4e - strh r0, [r1] - ldr r1, _0203FD04 ; =0x020FA474 - add r0, r6, #0 - add r2, r4, #0 - bl SwitchToPokegearApp - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203FD04: .word 0x020FA474 - thumb_func_end sub_0203FCB8 - - thumb_func_start sub_0203FD08 -sub_0203FD08: ; 0x0203FD08 - ldr r3, _0203FD10 ; =SwitchToPokegearApp - add r2, r1, #0 - ldr r1, _0203FD14 ; =0x020FA494 - bx r3 - .balign 4, 0 -_0203FD10: .word SwitchToPokegearApp -_0203FD14: .word 0x020FA494 - thumb_func_end sub_0203FD08 - - thumb_func_start sub_0203FD18 -sub_0203FD18: ; 0x0203FD18 - push {r3, r4} - mov r3, #0 - strb r3, [r0, #1] - str r3, [r0, #8] - strb r3, [r0] - strb r3, [r0, #3] - str r3, [r0, #4] - str r1, [r0, #0x5c] - str r2, [r0, #0x60] - add r1, r0, #0 - add r4, r3, #0 -_0203FD2E: - add r3, r3, #1 - str r4, [r1, #0x64] - add r1, r1, #4 - cmp r3, #4 - blo _0203FD2E - add r2, r0, #0 - mov r1, #0 -_0203FD3C: - add r4, r4, #1 - str r1, [r2, #0xc] - add r2, r2, #4 - cmp r4, #0x14 - blo _0203FD3C - str r1, [r0, #0x74] - pop {r3, r4} - bx lr - thumb_func_end sub_0203FD18 - - thumb_func_start sub_0203FD4C -sub_0203FD4C: ; 0x0203FD4C - str r1, [r0, #8] - mov r1, #1 - strb r1, [r0, #1] - add r0, r1, #0 - bx lr - .balign 4, 0 - thumb_func_end sub_0203FD4C - - thumb_func_start sub_0203FD58 -sub_0203FD58: ; 0x0203FD58 - mov r2, #2 - strb r2, [r0, #1] - str r1, [r0, #4] - bx lr - thumb_func_end sub_0203FD58 - - thumb_func_start sub_0203FD60 -sub_0203FD60: ; 0x0203FD60 - mov r1, #0 - strb r1, [r0, #1] - str r1, [r0, #8] - bx lr - thumb_func_end sub_0203FD60 - - thumb_func_start sub_0203FD68 -sub_0203FD68: ; 0x0203FD68 - str r1, [r0, #0x74] - bx lr - thumb_func_end sub_0203FD68 - - thumb_func_start sub_0203FD6C -sub_0203FD6C: ; 0x0203FD6C - push {r4, lr} - add r4, r0, #0 - ldrb r1, [r4, #1] - cmp r1, #0 - bne _0203FD7A - mov r0, #0 - pop {r4, pc} -_0203FD7A: - beq _0203FD86 - cmp r1, #1 - beq _0203FDA2 - cmp r1, #2 - beq _0203FD8A - b _0203FDD4 -_0203FD86: - mov r0, #0 - pop {r4, pc} -_0203FD8A: - ldr r1, [r4, #4] - cmp r1, #0 - beq _0203FD9E - blx r1 - cmp r0, #1 - bne _0203FD9A - mov r0, #1 - strb r0, [r4, #1] -_0203FD9A: - mov r0, #1 - pop {r4, pc} -_0203FD9E: - mov r0, #1 - strb r0, [r4, #1] -_0203FDA2: - ldr r0, [r4, #8] - cmp r0, #0 - bne _0203FDAE - mov r0, #0 - strb r0, [r4, #1] - pop {r4, pc} -_0203FDAE: - add r0, r4, #0 - bl sub_0203FE2C - add r1, r0, #0 - ldr r0, [r4, #0x60] - cmp r1, r0 - blo _0203FDC6 - bl GF_AssertFail - mov r0, #0 - strb r0, [r4, #1] - pop {r4, pc} -_0203FDC6: - ldr r2, [r4, #0x5c] - lsl r1, r1, #2 - ldr r1, [r2, r1] - add r0, r4, #0 - blx r1 - cmp r0, #1 - bne _0203FDA2 -_0203FDD4: - mov r0, #1 - pop {r4, pc} - thumb_func_end sub_0203FD6C - - thumb_func_start sub_0203FDD8 -sub_0203FDD8: ; 0x0203FDD8 - ldrb r3, [r0] - add r2, r3, #1 - cmp r2, #0x14 - blt _0203FDE4 - mov r0, #1 - bx lr -_0203FDE4: - lsl r2, r3, #2 - add r2, r0, r2 - str r1, [r2, #0xc] - ldrb r1, [r0] - add r1, r1, #1 - strb r1, [r0] - mov r0, #0 - bx lr - thumb_func_end sub_0203FDD8 - - thumb_func_start sub_0203FDF4 -sub_0203FDF4: ; 0x0203FDF4 - ldrb r1, [r0] - cmp r1, #0 - bne _0203FDFE - mov r0, #0 - bx lr -_0203FDFE: - sub r1, r1, #1 - strb r1, [r0] - ldrb r1, [r0] - lsl r1, r1, #2 - add r0, r0, r1 - ldr r0, [r0, #0xc] - bx lr - thumb_func_end sub_0203FDF4 - - thumb_func_start sub_0203FE0C -sub_0203FE0C: ; 0x0203FE0C - str r1, [r0, #8] - bx lr - thumb_func_end sub_0203FE0C - - thumb_func_start sub_0203FE10 -sub_0203FE10: ; 0x0203FE10 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - ldr r1, [r5, #8] - bl sub_0203FDD8 - str r4, [r5, #8] - pop {r3, r4, r5, pc} - thumb_func_end sub_0203FE10 - - thumb_func_start sub_0203FE20 -sub_0203FE20: ; 0x0203FE20 - push {r4, lr} - add r4, r0, #0 - bl sub_0203FDF4 - str r0, [r4, #8] - pop {r4, pc} - thumb_func_end sub_0203FE20 - - thumb_func_start sub_0203FE2C -sub_0203FE2C: ; 0x0203FE2C - ldr r1, [r0, #8] - add r3, r1, #1 - str r3, [r0, #8] - ldrb r2, [r1] - add r1, r3, #1 - str r1, [r0, #8] - ldrb r0, [r3] - lsl r0, r0, #8 - add r0, r2, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - thumb_func_end sub_0203FE2C - - thumb_func_start sub_0203FE44 -sub_0203FE44: ; 0x0203FE44 - push {r4, r5} - ldr r1, [r0, #8] - add r2, r1, #1 - str r2, [r0, #8] - ldrb r3, [r1] - add r1, r2, #1 - add r5, r1, #1 - str r1, [r0, #8] - ldrb r2, [r2] - add r4, r5, #1 - str r5, [r0, #8] - ldrb r1, [r1] - str r4, [r0, #8] - ldrb r0, [r5] - mov r4, #0 - add r0, r4, r0 - lsl r0, r0, #8 - add r0, r0, r1 - lsl r0, r0, #8 - add r0, r0, r2 - lsl r0, r0, #8 - add r0, r0, r3 - pop {r4, r5} - bx lr - thumb_func_end sub_0203FE44 - - thumb_func_start sub_0203FE74 -sub_0203FE74: ; 0x0203FE74 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - bl sub_0204001C - add r4, r0, #0 - mov r0, #0 - str r0, [sp] - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - add r3, r7, #0 - bl sub_0204005C - ldr r1, _0203FEA0 ; =sub_0203FF44 - add r0, r5, #0 - add r2, r4, #0 - bl sub_020504F0 - pop {r3, r4, r5, r6, r7, pc} - nop -_0203FEA0: .word sub_0203FF44 - thumb_func_end sub_0203FE74 - - thumb_func_start sub_0203FEA4 -sub_0203FEA4: ; 0x0203FEA4 - push {r4, r5, r6, lr} - ldr r0, [r0, #0x10] - add r5, r1, #0 - add r4, r2, #0 - add r6, r3, #0 - bl sub_02050650 - ldr r2, [sp, #0x1c] - mov r1, #0x1c - add r3, r2, #0 - add r0, #0x54 - mul r3, r1 - add r1, r0, r3 - str r4, [r0, r3] - ldr r0, [sp, #0x10] - str r6, [r1, #4] - str r0, [r1, #8] - ldr r0, [sp, #0x14] - str r0, [r1, #0xc] - ldr r0, [sp, #0x18] - str r0, [r1, #0x10] - str r5, [r1, #0x14] - pop {r4, r5, r6, pc} - .balign 4, 0 - thumb_func_end sub_0203FEA4 - - thumb_func_start sub_0203FED4 -sub_0203FED4: ; 0x0203FED4 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r6, r0, #0 - add r7, r1, #0 - str r2, [sp, #4] - add r5, r3, #0 - bl sub_0205064C - str r0, [sp, #8] - bl sub_0204001C - add r4, r0, #0 - ldr r0, [sp, #8] - ldr r3, [sp, #4] - add r1, r4, #0 - add r2, r7, #0 - str r5, [sp] - bl sub_0204005C - ldr r1, _0203FF08 ; =sub_0203FF44 - add r0, r6, #0 - add r2, r4, #0 - bl sub_02050530 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - .balign 4, 0 -_0203FF08: .word sub_0203FF44 - thumb_func_end sub_0203FED4 - - thumb_func_start sub_0203FF0C -sub_0203FF0C: ; 0x0203FF0C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - bl sub_0205064C - str r0, [sp, #4] - bl sub_0204001C - add r4, r0, #0 - mov r0, #0 - str r0, [sp] - ldr r0, [sp, #4] - add r1, r4, #0 - add r2, r6, #0 - add r3, r7, #0 - bl sub_0204005C - ldr r1, _0203FF40 ; =sub_0203FF44 - add r0, r5, #0 - add r2, r4, #0 - bl sub_02050510 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0203FF40: .word sub_0203FF44 - thumb_func_end sub_0203FF0C - - thumb_func_start sub_0203FF44 -sub_0203FF44: ; 0x0203FF44 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205064C - ldrb r1, [r4, #4] - str r0, [sp] - cmp r1, #0 - beq _0203FF64 - cmp r1, #1 - beq _0203FF9A - b _02040016 -_0203FF64: - ldrh r1, [r4, #0xa] - bl sub_020400AC - str r0, [r4, #0x38] - mov r0, #1 - strb r0, [r4, #9] - mov r0, #8 - mov r1, #0x40 - mov r2, #0xb - bl ScrStrBufs_new_custom - str r0, [r4, #0x44] - mov r0, #1 - lsl r0, r0, #0xa - mov r1, #0xb - bl String_ctor - str r0, [r4, #0x48] - mov r0, #1 - lsl r0, r0, #0xa - mov r1, #0xb - bl String_ctor - str r0, [r4, #0x4c] - ldrb r0, [r4, #4] - add r0, r0, #1 - strb r0, [r4, #4] -_0203FF9A: - mov r0, #0 - add r7, r4, #0 - str r0, [sp, #4] - add r5, r4, #0 - add r7, #9 -_0203FFA4: - ldr r6, [r5, #0x38] - cmp r6, #0 - beq _0203FFCE - add r0, r6, #0 - bl sub_0203FD6C - cmp r0, #0 - bne _0203FFCE - add r0, r6, #0 - bl sub_02040044 - ldrb r0, [r4, #9] - cmp r0, #0 - bne _0203FFC4 - bl GF_AssertFail -_0203FFC4: - mov r0, #0 - str r0, [r5, #0x38] - ldrb r0, [r7] - sub r0, r0, #1 - strb r0, [r7] -_0203FFCE: - ldr r0, [sp, #4] - add r5, r5, #4 - add r0, r0, #1 - str r0, [sp, #4] - cmp r0, #3 - blt _0203FFA4 - ldrb r0, [r4, #9] - cmp r0, #0 - bne _02040016 - add r0, r4, #0 - add r0, #0xa8 - ldr r5, [r0] - ldr r0, [r4, #0x44] - bl ScrStrBufs_delete - ldr r0, [r4, #0x48] - bl String_dtor - ldr r0, [r4, #0x4c] - bl String_dtor - mov r0, #0 - str r0, [r4] - add r0, r4, #0 - bl FreeToHeap - cmp r5, #0 - beq _02040010 - ldr r0, [sp] - blx r5 - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_02040010: - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02040016: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0203FF44 - - thumb_func_start sub_0204001C -sub_0204001C: ; 0x0204001C - push {r4, lr} - mov r0, #0xb - mov r1, #0xe0 - bl AllocFromHeap - add r4, r0, #0 - bne _0204002E - bl GF_AssertFail -_0204002E: - add r0, r4, #0 - mov r1, #0 - mov r2, #0xe0 - bl memset - ldr r0, _02040040 ; =0x0003643F - str r0, [r4] - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 -_02040040: .word 0x0003643F - thumb_func_end sub_0204001C - - thumb_func_start sub_02040044 -sub_02040044: ; 0x02040044 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0x78] - bl DestroyMsgData - ldr r0, [r4, #0x7c] - bl FreeToHeap - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - thumb_func_end sub_02040044 - - thumb_func_start sub_0204005C -sub_0204005C: ; 0x0204005C - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r7, r0, #0 - add r0, r5, #0 - mov r1, #0x37 - add r4, r2, #0 - add r6, r3, #0 - bl sub_020401B4 - str r0, [sp] - ldr r0, [r7, #0x40] - bl sub_0205C654 - str r0, [r5, #0x28] - str r6, [r5, #0x2c] - ldr r0, [sp, #0x18] - strh r4, [r5, #0xa] - str r0, [r5, #0x34] - cmp r6, #0 - beq _0204008E - add r0, r6, #0 - bl sub_0205F24C - ldr r1, [sp] - strh r0, [r1] -_0204008E: - mov r0, #0x7d - lsl r0, r0, #6 - cmp r4, r0 - blo _020400A4 - ldr r0, _020400A8 ; =0x0000225F - cmp r4, r0 - bhi _020400A4 - add r0, r5, #0 - add r1, r4, #0 - bl sub_020405AC -_020400A4: - pop {r3, r4, r5, r6, r7, pc} - nop -_020400A8: .word 0x0000225F - thumb_func_end sub_0204005C - - thumb_func_start sub_020400AC -sub_020400AC: ; 0x020400AC - push {r4, r5, r6, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x84 - bl AllocFromHeap - add r4, r0, #0 - bne _020400C2 - bl GF_AssertFail -_020400C2: - ldr r2, _020400E0 ; =0x020FAC90 - ldr r1, _020400E4 ; =0x020FAD00 - ldr r2, [r2] - add r0, r4, #0 - bl sub_0203FD18 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - mov r3, #0 - bl sub_020400E8 - add r0, r4, #0 - pop {r4, r5, r6, pc} - nop -_020400E0: .word 0x020FAC90 -_020400E4: .word 0x020FAD00 - thumb_func_end sub_020400AC - - thumb_func_start sub_020400E8 -sub_020400E8: ; 0x020400E8 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r3, r4, #0 - add r5, r0, #0 - add r3, #0x80 - str r5, [r3] - bl sub_02040114 - add r6, r0, #0 - ldr r1, [r4, #0x7c] - add r0, r4, #0 - bl sub_0203FD4C - add r0, r4, #0 - add r1, r6, #0 - bl sub_02040340 - ldr r1, [r5, #0x10] - add r0, r4, #0 - bl sub_0203FD68 - pop {r4, r5, r6, pc} - thumb_func_end sub_020400E8 - - thumb_func_start sub_02040114 -sub_02040114: ; 0x02040114 - push {r4, r5, r6, lr} - ldr r6, _02040164 ; =0x020FA4A4 - add r5, r2, #0 - mov r2, #0 - add r4, r6, #0 -_0204011E: - ldrh r3, [r4] - cmp r5, r3 - blo _0204013E - mov r3, #6 - add r4, r2, #0 - mul r4, r3 - add r3, r6, r4 - ldrh r2, [r3, #2] - ldrh r3, [r3, #4] - bl sub_02040168 - ldrh r0, [r6, r4] - sub r0, r5, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - pop {r4, r5, r6, pc} -_0204013E: - add r2, r2, #1 - add r4, r4, #6 - cmp r2, #0x1e - blo _0204011E - cmp r5, #1 - blo _02040156 - bl sub_0204018C - sub r0, r5, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - pop {r4, r5, r6, pc} -_02040156: - mov r2, #0x8c - mov r3, #0xb8 - bl sub_02040168 - mov r0, #0 - pop {r4, r5, r6, pc} - nop -_02040164: .word 0x020FA4A4 - thumb_func_end sub_02040114 - - thumb_func_start sub_02040168 -sub_02040168: ; 0x02040168 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r1, r2, #0 - add r4, r3, #0 - mov r0, #0xc - mov r2, #0xb - bl AllocAndReadWholeNarcMemberByIdPair - str r0, [r5, #0x7c] - mov r0, #1 - mov r1, #0x1b - add r2, r4, #0 - mov r3, #0xb - bl NewMsgDataFromNarc - str r0, [r5, #0x78] - pop {r3, r4, r5, pc} - .balign 4, 0 - thumb_func_end sub_02040168 - - thumb_func_start sub_0204018C -sub_0204018C: ; 0x0204018C - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x20] - add r4, r1, #0 - ldr r0, [r0] - bl sub_02040358 - str r0, [r4, #0x7c] - ldr r0, [r5, #0x20] - ldr r0, [r0] - bl sub_0204036C - add r2, r0, #0 - mov r0, #1 - mov r1, #0x1b - mov r3, #0xb - bl NewMsgDataFromNarc - str r0, [r4, #0x78] - pop {r3, r4, r5, pc} - thumb_func_end sub_0204018C - - thumb_func_start sub_020401B4 -sub_020401B4: ; 0x020401B4 - push {r3, lr} - cmp r1, #0x37 - bls _020401BC - b _020402E8 -_020401BC: - add r2, r1, r1 - add r2, pc - ldrh r2, [r2, #6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 -_020401C8: ; jump table - .short _02040238 - _020401C8 - 2 ; case 0 - .short _0204023C - _020401C8 - 2 ; case 1 - .short _02040240 - _020401C8 - 2 ; case 2 - .short _02040244 - _020401C8 - 2 ; case 3 - .short _02040248 - _020401C8 - 2 ; case 4 - .short _0204024C - _020401C8 - 2 ; case 5 - .short _02040250 - _020401C8 - 2 ; case 6 - .short _02040254 - _020401C8 - 2 ; case 7 - .short _02040258 - _020401C8 - 2 ; case 8 - .short _0204025C - _020401C8 - 2 ; case 9 - .short _02040260 - _020401C8 - 2 ; case 10 - .short _02040264 - _020401C8 - 2 ; case 11 - .short _02040268 - _020401C8 - 2 ; case 12 - .short _0204026C - _020401C8 - 2 ; case 13 - .short _0204026C - _020401C8 - 2 ; case 14 - .short _0204026C - _020401C8 - 2 ; case 15 - .short _02040276 - _020401C8 - 2 ; case 16 - .short _0204027A - _020401C8 - 2 ; case 17 - .short _0204027E - _020401C8 - 2 ; case 18 - .short _02040282 - _020401C8 - 2 ; case 19 - .short _02040286 - _020401C8 - 2 ; case 20 - .short _0204028A - _020401C8 - 2 ; case 21 - .short _0204028E - _020401C8 - 2 ; case 22 - .short _02040292 - _020401C8 - 2 ; case 23 - .short _02040296 - _020401C8 - 2 ; case 24 - .short _0204029A - _020401C8 - 2 ; case 25 - .short _0204029E - _020401C8 - 2 ; case 26 - .short _020402A2 - _020401C8 - 2 ; case 27 - .short _020402A6 - _020401C8 - 2 ; case 28 - .short _020402AA - _020401C8 - 2 ; case 29 - .short _020402AE - _020401C8 - 2 ; case 30 - .short _020402B2 - _020401C8 - 2 ; case 31 - .short _020402B6 - _020401C8 - 2 ; case 32 - .short _020402BA - _020401C8 - 2 ; case 33 - .short _020402BE - _020401C8 - 2 ; case 34 - .short _020402C2 - _020401C8 - 2 ; case 35 - .short _020402C6 - _020401C8 - 2 ; case 36 - .short _020402CA - _020401C8 - 2 ; case 37 - .short _020402CE - _020401C8 - 2 ; case 38 - .short _020402D2 - _020401C8 - 2 ; case 39 - .short _020402D6 - _020401C8 - 2 ; case 40 - .short _020402DA - _020401C8 - 2 ; case 41 - .short _020402DE - _020401C8 - 2 ; case 42 - .short _020402DE - _020401C8 - 2 ; case 43 - .short _020402DE - _020401C8 - 2 ; case 44 - .short _020402DE - _020401C8 - 2 ; case 45 - .short _020402DE - _020401C8 - 2 ; case 46 - .short _020402DE - _020401C8 - 2 ; case 47 - .short _020402DE - _020401C8 - 2 ; case 48 - .short _020402DE - _020401C8 - 2 ; case 49 - .short _020402DE - _020401C8 - 2 ; case 50 - .short _020402DE - _020401C8 - 2 ; case 51 - .short _020402DE - _020401C8 - 2 ; case 52 - .short _020402DE - _020401C8 - 2 ; case 53 - .short _020402DE - _020401C8 - 2 ; case 54 - .short _020402DE - _020401C8 - 2 ; case 55 -_02040238: - add r0, #0x10 - pop {r3, pc} -_0204023C: - add r0, #0x14 - pop {r3, pc} -_02040240: - add r0, #0x24 - pop {r3, pc} -_02040244: - add r0, r0, #5 - pop {r3, pc} -_02040248: - add r0, r0, #6 - pop {r3, pc} -_0204024C: - add r0, r0, #7 - pop {r3, pc} -_02040250: - add r0, #8 - pop {r3, pc} -_02040254: - add r0, #9 - pop {r3, pc} -_02040258: - add r0, #0xa - pop {r3, pc} -_0204025C: - add r0, #0x28 - pop {r3, pc} -_02040260: - add r0, #0x2c - pop {r3, pc} -_02040264: - add r0, #0x30 - pop {r3, pc} -_02040268: - add r0, #0x34 - pop {r3, pc} -_0204026C: - sub r1, #0xd - add r0, #0x38 - lsl r1, r1, #2 - add r0, r0, r1 - pop {r3, pc} -_02040276: - add r0, #0x44 - pop {r3, pc} -_0204027A: - add r0, #0x48 - pop {r3, pc} -_0204027E: - add r0, #0x4c - pop {r3, pc} -_02040282: - add r0, #0x50 - pop {r3, pc} -_02040286: - add r0, #0xac - pop {r3, pc} -_0204028A: - add r0, #0xb0 - pop {r3, pc} -_0204028E: - add r0, #0xb4 - pop {r3, pc} -_02040292: - add r0, #0xb8 - pop {r3, pc} -_02040296: - add r0, #0xc - pop {r3, pc} -_0204029A: - add r0, #0x54 - pop {r3, pc} -_0204029E: - add r0, #0x58 - pop {r3, pc} -_020402A2: - add r0, #0x5c - pop {r3, pc} -_020402A6: - add r0, #0x60 - pop {r3, pc} -_020402AA: - add r0, #0x64 - pop {r3, pc} -_020402AE: - add r0, #0x68 - pop {r3, pc} -_020402B2: - add r0, #0x6c - pop {r3, pc} -_020402B6: - add r0, #0x70 - pop {r3, pc} -_020402BA: - add r0, #0x74 - pop {r3, pc} -_020402BE: - add r0, #0x78 - pop {r3, pc} -_020402C2: - add r0, #0x7c - pop {r3, pc} -_020402C6: - add r0, #0x80 - pop {r3, pc} -_020402CA: - add r0, #0x84 - pop {r3, pc} -_020402CE: - add r0, #0x88 - pop {r3, pc} -_020402D2: - add r0, #0xbc - pop {r3, pc} -_020402D6: - add r0, #0xcc - pop {r3, pc} -_020402DA: - add r0, #0xdc - pop {r3, pc} -_020402DE: - sub r1, #0x2a - add r0, #0x8c - lsl r1, r1, #1 - add r0, r0, r1 - pop {r3, pc} -_020402E8: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_020401B4 - - thumb_func_start sub_020402F0 -sub_020402F0: ; 0x020402F0 - push {r3, r4, r5, lr} - ldr r0, [r0, #0x10] - add r5, r1, #0 - bl sub_02050650 - add r4, r0, #0 - bne _02040302 - bl GF_AssertFail -_02040302: - ldr r1, [r4] - ldr r0, _02040318 ; =0x0003643F - cmp r1, r0 - beq _0204030E - bl GF_AssertFail -_0204030E: - add r0, r4, #0 - add r1, r5, #0 - bl sub_020401B4 - pop {r3, r4, r5, pc} - .balign 4, 0 -_02040318: .word 0x0003643F - thumb_func_end sub_020402F0 - - thumb_func_start sub_0204031C -sub_0204031C: ; 0x0204031C - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x10] - bl sub_02050650 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203BC10 - cmp r0, #1 - bne _02040338 - ldr r0, _0204033C ; =sub_0203BD64 - add r4, #0xa8 - str r0, [r4] -_02040338: - pop {r3, r4, r5, pc} - nop -_0204033C: .word sub_0203BD64 - thumb_func_end sub_0204031C - - thumb_func_start sub_02040340 -sub_02040340: ; 0x02040340 - push {r4, lr} - add r4, r0, #0 - ldr r2, [r4, #8] - lsl r1, r1, #2 - add r1, r2, r1 - str r1, [r4, #8] - bl sub_0203FE44 - ldr r1, [r4, #8] - add r0, r1, r0 - str r0, [r4, #8] - pop {r4, pc} - thumb_func_end sub_02040340 - - thumb_func_start sub_02040358 -sub_02040358: ; 0x02040358 - push {r3, lr} - bl sub_0203B2D4 - add r1, r0, #0 - mov r0, #0xc - mov r2, #0xb - bl AllocAndReadWholeNarcMemberByIdPair - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02040358 - - thumb_func_start sub_0204036C -sub_0204036C: ; 0x0204036C - ldr r3, _02040370 ; =sub_0203B2C0 - bx r3 - .balign 4, 0 -_02040370: .word sub_0203B2C0 - thumb_func_end sub_0204036C - - thumb_func_start sub_02040374 -sub_02040374: ; 0x02040374 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0xc] - add r4, r1, #0 - bl sub_020503D0 - mov r1, #1 - lsl r1, r1, #0xe - cmp r4, r1 - bhs _0204038C - mov r0, #0 - pop {r3, r4, r5, pc} -_0204038C: - lsl r1, r1, #1 - cmp r4, r1 - bhs _0204039A - add r1, r4, #0 - bl sub_020504A4 - pop {r3, r4, r5, pc} -_0204039A: - ldr r1, _020403A8 ; =0x00007FD6 - add r0, r5, #0 - sub r1, r4, r1 - bl sub_020402F0 - pop {r3, r4, r5, pc} - nop -_020403A8: .word 0x00007FD6 - thumb_func_end sub_02040374 - - thumb_func_start sub_020403AC -sub_020403AC: ; 0x020403AC - push {r4, lr} - add r4, r1, #0 - bl sub_02040374 - cmp r0, #0 - beq _020403BA - ldrh r4, [r0] -_020403BA: - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_020403AC - - thumb_func_start sub_020403C0 -sub_020403C0: ; 0x020403C0 - push {r4, lr} - add r4, r2, #0 - bl sub_02040374 - cmp r0, #0 - bne _020403D0 - mov r0, #0 - pop {r4, pc} -_020403D0: - strh r4, [r0] - mov r0, #1 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_020403C0 - - thumb_func_start sub_020403D8 -sub_020403D8: ; 0x020403D8 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - cmp r4, #0x10 - blo _020403E6 - bl GF_AssertFail -_020403E6: - ldr r1, _020403F8 ; =0x00004020 - add r0, r5, #0 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - bl sub_020403AC - pop {r3, r4, r5, pc} - nop -_020403F8: .word 0x00004020 - thumb_func_end sub_020403D8 - - thumb_func_start sub_020403FC -sub_020403FC: ; 0x020403FC - push {r4, lr} - ldr r0, [r0, #0xc] - add r4, r1, #0 - bl sub_020503D0 - add r1, r4, #0 - bl sub_020503DC - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_020403FC - - thumb_func_start sub_02040410 -sub_02040410: ; 0x02040410 - push {r4, lr} - ldr r0, [r0, #0xc] - add r4, r1, #0 - bl sub_020503D0 - add r1, r4, #0 - bl sub_02050408 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02040410 - - thumb_func_start sub_02040424 -sub_02040424: ; 0x02040424 - push {r4, lr} - ldr r0, [r0, #0xc] - add r4, r1, #0 - bl sub_020503D0 - add r1, r4, #0 - bl sub_02050430 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02040424 - - thumb_func_start sub_02040438 -sub_02040438: ; 0x02040438 - push {r4, lr} - ldr r0, [r0, #0xc] - bl sub_020503D0 - mov r1, #1 - add r4, r0, #0 - bl sub_0205045C - mov r1, #0 - strb r1, [r0] - strb r1, [r0, #1] - strb r1, [r0, #2] - strb r1, [r0, #3] - strb r1, [r0, #4] - strb r1, [r0, #5] - strb r1, [r0, #6] - strb r1, [r0, #7] - mov r1, #1 - add r0, r4, #0 - lsl r1, r1, #0xe - bl sub_020504A4 - mov r1, #0 - mov r2, #0x40 - bl memset - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02040438 - - thumb_func_start sub_02040470 -sub_02040470: ; 0x02040470 - push {r3, lr} - ldr r0, [r0, #0xc] - bl sub_020503D0 - mov r1, #0xaa - lsl r1, r1, #4 - bl sub_0205045C - mov r2, #0x18 - mov r1, #0 -_02040484: - strb r1, [r0] - add r0, r0, #1 - sub r2, r2, #1 - bne _02040484 - pop {r3, pc} - .balign 4, 0 - thumb_func_end sub_02040470 - - thumb_func_start sub_02040490 -sub_02040490: ; 0x02040490 - push {r3, r4, r5, r6, r7, lr} - add r4, r1, #0 - add r5, r0, #0 - mov r1, #0x2a - add r6, r2, #0 - add r7, r3, #0 - bl sub_020402F0 - strh r4, [r0] - add r0, r5, #0 - mov r1, #0x2b - bl sub_020402F0 - strh r6, [r0] - add r0, r5, #0 - mov r1, #0x2c - bl sub_020402F0 - strh r7, [r0] - add r0, r5, #0 - mov r1, #0x2d - bl sub_020402F0 - add r1, sp, #8 - ldrh r1, [r1, #0x10] - strh r1, [r0] - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 - thumb_func_end sub_02040490 - - thumb_func_start sub_020404C8 -sub_020404C8: ; 0x020404C8 - ldr r1, _020404E4 ; =0x00001388 - cmp r0, r1 - bhs _020404D8 - ldr r1, _020404E8 ; =0x00000BB7 - sub r0, r0, r1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr -_020404D8: - sub r1, r1, #1 - sub r0, r0, r1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - nop -_020404E4: .word 0x00001388 -_020404E8: .word 0x00000BB7 - thumb_func_end sub_020404C8 - - thumb_func_start sub_020404EC -sub_020404EC: ; 0x020404EC - ldr r1, _020404FC ; =0x00001388 - cmp r0, r1 - blo _020404F6 - mov r0, #1 - bx lr -_020404F6: - mov r0, #0 - bx lr - nop -_020404FC: .word 0x00001388 - thumb_func_end sub_020404EC - - thumb_func_start sub_02040500 -sub_02040500: ; 0x02040500 - push {r3, lr} - mov r1, #9 - bl sub_02073470 - cmp r0, #0 - beq _02040510 - mov r0, #1 - pop {r3, pc} -_02040510: - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_02040500 - - thumb_func_start sub_02040514 -sub_02040514: ; 0x02040514 - push {r4, lr} - add r4, r1, #0 - bl sub_020503D0 - mov r1, #0x55 - lsl r1, r1, #4 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - bl sub_020503DC - pop {r4, pc} - thumb_func_end sub_02040514 - - thumb_func_start sub_0204052C -sub_0204052C: ; 0x0204052C - push {r4, lr} - add r4, r1, #0 - bl sub_020503D0 - mov r1, #0x55 - lsl r1, r1, #4 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - bl sub_02050408 - pop {r4, pc} - thumb_func_end sub_0204052C - - thumb_func_start sub_02040544 -sub_02040544: ; 0x02040544 - push {r4, lr} - add r4, r1, #0 - bl sub_020503D0 - mov r1, #0x55 - lsl r1, r1, #4 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - bl sub_02050430 - pop {r4, pc} - thumb_func_end sub_02040544 - - thumb_func_start sub_0204055C -sub_0204055C: ; 0x0204055C - ldr r1, _02040568 ; =0x00001C20 - sub r0, r0, r1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - nop -_02040568: .word 0x00001C20 - thumb_func_end sub_0204055C - - thumb_func_start sub_0204056C -sub_0204056C: ; 0x0204056C - mov r1, #0x7d - lsl r1, r1, #6 - sub r0, r0, r1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - thumb_func_end sub_0204056C - - thumb_func_start sub_02040578 -sub_02040578: ; 0x02040578 - push {r4, lr} - ldr r4, _020405A8 ; =0x020FA558 - bl sub_0204056C - mov r2, #0 - add r3, r4, #0 -_02040584: - ldrh r1, [r3, #6] - cmp r0, r1 - beq _02040592 - add r2, r2, #1 - add r3, #8 - cmp r2, #0xe7 - blo _02040584 -_02040592: - cmp r2, #0xe7 - blo _0204059E - bl GF_AssertFail - mov r0, #0 - pop {r4, pc} -_0204059E: - lsl r0, r2, #3 - add r0, r4, r0 - ldrb r0, [r0, #3] - pop {r4, pc} - nop -_020405A8: .word 0x020FA558 - thumb_func_end sub_02040578 - - thumb_func_start sub_020405AC -sub_020405AC: ; 0x020405AC - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r4, r0, #0 - mov r1, #0x2a - bl sub_020401B4 - add r7, r0, #0 - add r0, r4, #0 - mov r1, #0x2b - bl sub_020401B4 - add r6, r0, #0 - add r0, r4, #0 - mov r1, #0x2c - bl sub_020401B4 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0204056C - ldr r3, _02040610 ; =0x020FA558 - add r2, r0, #0 - mov r1, #0 -_020405DA: - ldrh r0, [r3, #6] - cmp r2, r0 - beq _020405E8 - add r1, r1, #1 - add r3, #8 - cmp r1, #0xe7 - blo _020405DA -_020405E8: - cmp r1, #0xe7 - blo _020405F4 - bl GF_AssertFail - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_020405F4: - lsl r0, r1, #3 - ldr r1, _02040610 ; =0x020FA558 - ldrh r1, [r1, r0] - strh r1, [r7] - ldr r1, _02040610 ; =0x020FA558 - add r0, r1, r0 - ldrb r0, [r0, #2] - strh r0, [r6] - add r0, r5, #0 - bl sub_0204055C - strh r0, [r4] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_02040610: .word 0x020FA558 - thumb_func_end sub_020405AC - - thumb_func_start sub_02040614 -sub_02040614: ; 0x02040614 - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - str r0, [sp] - add r4, r1, #0 - mov r6, #0 - bl sub_0203B6E0 - add r5, r0, #0 - add r2, r5, #1 - mov r1, #6 - add r0, r4, #0 - mul r1, r2 - bl AllocFromHeap - str r0, [sp, #0x1c] - cmp r5, #0 - bne _02040646 - mov r2, #0xff - add r1, r0, #0 - strb r2, [r1, #4] - sub r2, r6, #1 - strh r2, [r1] - strh r2, [r1, #2] - add sp, #0x24 - pop {r4, r5, r6, r7, pc} -_02040646: - ldr r0, [sp] - bl sub_0203B6D8 - add r4, r0, #0 - bne _02040660 - ldr r0, [sp, #0x1c] - mov r1, #0xff - strb r1, [r0, #4] - sub r1, r6, #1 - strh r1, [r0] - strh r1, [r0, #2] - add sp, #0x24 - pop {r4, r5, r6, r7, pc} -_02040660: - ldr r0, [sp] - ldr r0, [r0, #0x40] - bl sub_0205C67C - str r0, [sp, #0x18] - ldr r0, [sp] - ldr r0, [r0, #0x40] - bl sub_0205C688 - str r0, [sp, #0x14] - ldr r0, [sp, #0x18] - str r0, [sp, #0x10] - sub r0, #0x11 - str r0, [sp, #0x10] - ldr r0, [sp, #0x18] - str r0, [sp, #0xc] - add r0, #0x11 - str r0, [sp, #0xc] - ldr r0, [sp, #0x14] - str r0, [sp, #8] - sub r0, #0x11 - str r0, [sp, #8] - ldr r0, [sp, #0x14] - str r0, [sp, #4] - add r0, #0x11 - str r0, [sp, #4] - ldr r0, [sp, #0x10] - cmp r0, #0 - bge _0204069E - add r0, r6, #0 - str r0, [sp, #0x10] -_0204069E: - ldr r0, [sp, #8] - cmp r0, #0 - bge _020406A8 - mov r0, #0 - str r0, [sp, #8] -_020406A8: - add r0, r5, #1 - mov r7, #0 - str r0, [sp, #0x20] - cmp r0, #0 - ble _0204070E - ldr r5, [sp, #0x1c] -_020406B4: - ldrh r0, [r4, #2] - cmp r0, #2 - bne _02040704 - ldrh r0, [r4] - bl sub_0204055C - add r1, r0, #0 - ldr r0, [sp] - bl sub_020403FC - cmp r0, #0 - bne _02040704 - ldr r1, [r4, #4] - ldr r0, [sp, #0x10] - cmp r1, r0 - blt _02040704 - ldr r0, [sp, #0xc] - cmp r1, r0 - bgt _02040704 - ldr r1, [r4, #8] - ldr r0, [sp, #8] - cmp r1, r0 - blt _02040704 - ldr r0, [sp, #4] - cmp r1, r0 - bgt _02040704 - ldrh r0, [r4] - bl sub_02040578 - strb r0, [r5, #4] - ldr r1, [r4, #4] - ldr r0, [sp, #0x18] - add r6, r6, #1 - sub r0, r1, r0 - strh r0, [r5] - ldr r1, [r4, #8] - ldr r0, [sp, #0x14] - sub r0, r1, r0 - strh r0, [r5, #2] - add r5, r5, #6 -_02040704: - ldr r0, [sp, #0x20] - add r7, r7, #1 - add r4, #0x14 - cmp r7, r0 - blt _020406B4 -_0204070E: - mov r2, #6 - add r0, r6, #0 - mul r0, r2 - ldr r1, [sp, #0x1c] - mov r4, #0xff - add r3, r1, r0 - strb r4, [r3, #4] - sub r2, r2, #7 - strh r2, [r1, r0] - strh r2, [r3, #2] - add r0, r1, #0 - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_02040614 - - thumb_func_start sub_02040728 -sub_02040728: ; 0x02040728 - ldr r3, _02040730 ; =sub_02040734 - mov r1, #0x96 - lsl r1, r1, #6 - bx r3 - .balign 4, 0 -_02040730: .word sub_02040734 - thumb_func_end sub_02040728 - - thumb_func_start sub_02040734 -sub_02040734: ; 0x02040734 - push {r4, lr} - bl sub_020400AC - add r4, r0, #0 -_0204073C: - add r0, r4, #0 - bl sub_0203FD6C - cmp r0, #1 - beq _0204073C - add r0, r4, #0 - bl sub_02040044 - pop {r4, pc} - .balign 4, 0 - thumb_func_end sub_02040734 - - thumb_func_start sub_02040750 -sub_02040750: ; 0x02040750 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - add r1, r5, #0 - add r1, #0xac - ldr r1, [r1] - cmp r1, #0 - beq _02040764 - mov r0, #0 - pop {r3, r4, r5, pc} -_02040764: - bl sub_0203B904 - add r1, r0, #0 - bne _02040770 - mov r0, #0 - pop {r3, r4, r5, pc} -_02040770: - cmp r4, #1 - bne _0204077E - add r0, r5, #0 - add r2, r4, #0 - bl sub_0204080C - b _02040784 -_0204077E: - add r1, r4, #0 - bl _020407E4 -_02040784: - add r1, r0, #0 - ldr r0, _020407A8 ; =0x0000FFFF - cmp r1, r0 - bne _02040790 - mov r0, #0 - pop {r3, r4, r5, pc} -_02040790: - cmp r4, #1 - bne _0204079E - add r0, r5, #0 - mov r2, #0 - bl sub_0203FE74 - b _020407A4 -_0204079E: - add r0, r5, #0 - bl sub_02040734 -_020407A4: - mov r0, #1 - pop {r3, r4, r5, pc} - .balign 4, 0 -_020407A8: .word 0x0000FFFF - thumb_func_end sub_02040750 - - thumb_func_start sub_020407AC -sub_020407AC: ; 0x020407AC - push {r4, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0xac - ldr r1, [r1] - cmp r1, #0 - beq _020407BE - mov r0, #0 - pop {r4, pc} -_020407BE: - bl sub_0203B904 - add r1, r0, #0 - bne _020407CA - mov r0, #0 - pop {r4, pc} -_020407CA: - add r0, r4, #0 - mov r2, #1 - bl sub_0204080C - ldr r1, _020407E0 ; =0x0000FFFF - cmp r0, r1 - beq _020407DC - mov r0, #1 - pop {r4, pc} -_020407DC: - mov r0, #0 - pop {r4, pc} - .balign 4, 0 -_020407E0: .word 0x0000FFFF -_020407E4: - ldrb r2, [r0] - cmp r2, #0 - bne _020407EE - ldr r0, _02040808 ; =0x0000FFFF - bx lr -_020407EE: - cmp r2, r1 - bne _02040800 - ldrb r1, [r0, #1] - ldrb r0, [r0, #2] - lsl r0, r0, #8 - add r0, r1, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr -_02040800: - add r0, r0, #5 - b _020407E4 - thumb_func_end sub_020407AC - - thumb_func_start sub_02040804 -sub_02040804: ; 0x02040804 - bx lr - nop -_02040808: .word 0x0000FFFF - thumb_func_end sub_02040804 - - thumb_func_start sub_0204080C -sub_0204080C: ; 0x0204080C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r4, r1, #0 -_02040812: - ldrb r0, [r4] - cmp r0, #0 - bne _0204081C - ldr r0, _0204088C ; =0x0000FFFF - pop {r3, r4, r5, r6, r7, pc} -_0204081C: - cmp r0, r2 - bne _02040838 - ldrb r0, [r4, #4] - ldrb r2, [r4, #2] - ldrb r3, [r4, #1] - lsl r1, r0, #0x18 - ldrb r0, [r4, #3] - lsl r2, r2, #8 - add r2, r3, r2 - lsl r0, r0, #0x10 - add r0, r0, r2 - add r1, r1, r0 - add r0, r4, #5 - b _0204083C -_02040838: - add r4, r4, #5 - b _02040812 -_0204083C: - cmp r1, #0 - bne _02040844 - ldr r0, _0204088C ; =0x0000FFFF - pop {r3, r4, r5, r6, r7, pc} -_02040844: - add r4, r0, r1 -_02040846: - ldrb r0, [r4, #1] - ldrb r1, [r4] - lsl r0, r0, #8 - add r0, r1, r0 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - bne _02040858 - ldr r0, _0204088C ; =0x0000FFFF - pop {r3, r4, r5, r6, r7, pc} -_02040858: - ldrb r0, [r4, #3] - ldrb r2, [r4, #2] - lsl r0, r0, #8 - add r0, r2, r0 - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - add r0, r5, #0 - bl sub_020403AC - add r7, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - bl sub_020403AC - cmp r7, r0 - bne _02040886 - ldrb r0, [r4, #5] - ldrb r1, [r4, #4] - lsl r0, r0, #8 - add r0, r1, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - pop {r3, r4, r5, r6, r7, pc} -_02040886: - add r4, r4, #6 - b _02040846 -_0204088A: - pop {r3, r4, r5, r6, r7, pc} - .balign 4, 0 -_0204088C: .word 0x0000FFFF - thumb_func_end sub_0204080C - - .rodata - -_020F6764: - .byte 0x97, 0x00, 0xFB, 0x00 -_020F6768: - .byte 0x97, 0x00, 0xFB, 0x00, 0x81, 0x01, 0x82, 0x01 - .byte 0xE9, 0x01, 0xEA, 0x01, 0xEB, 0x01, 0xEC, 0x01, 0xED, 0x01, 0x00, 0x00 -_020F677C: - .byte 0x00 -_020F677D: - .byte 0x04, 0x04, 0x02 - .byte 0x06, 0x02, 0x00, 0x00 -_020F6784: - .byte 0x07, 0x05, 0x02, 0x04, 0x03, 0x04, 0x04, 0x05, 0x07, 0x05, 0x07, 0x04 - .byte 0x03, 0x01, 0x03, 0x07, 0x06, 0x04, 0x05, 0x04, 0x02, 0x07, 0x01, 0x04, 0x04, 0x02, 0x03, 0x06 - .byte 0x01, 0x02, 0x06, 0x00 -_020F67A4: - .byte 0xEE, 0x01 -_020F67A6: - .byte 0x1C, 0x02 -_020F67A8: - .byte 0xE7, 0x01 -_020F67AA: - .byte 0x01, 0x00, 0xF3, 0x01, 0x1D, 0x02 - .byte 0xEC, 0x01, 0x01, 0x00, 0xE6, 0x01, 0x1E, 0x02, 0xDF, 0x01, 0x01, 0x00, 0xE6, 0x01, 0x1F, 0x02 - .byte 0xDF, 0x01, 0x02, 0x00, 0xE6, 0x01, 0x20, 0x02, 0xDF, 0x01, 0x03, 0x00, 0xE6, 0x01, 0x21, 0x02 - .byte 0xDF, 0x01, 0x04, 0x00, 0xE6, 0x01, 0x22, 0x02, 0xDF, 0x01, 0x05, 0x00 -_020F67DC: - .byte 0x01, 0x00, 0x01, 0x00 - .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00 - .byte 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x0A, 0x00 - .byte 0x0B, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x14, 0x00, 0x1E, 0x00, 0x23, 0x00, 0x28, 0x00, 0xF4, 0x01 - .byte 0x10, 0x27, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0xE8, 0x03, 0x0B, 0x00, 0x14, 0x00 - .byte 0x0A, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x0A, 0x00, 0x0A, 0x00 -_020F682C: - .byte 0x00, 0x00, 0x04, 0xFF - .byte 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0xFF, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0xFF - .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x04, 0x04, 0xFF, 0x01, 0x00, 0x00, 0x00 -_020F684C: - .byte 0x06 -_020F684D: - .byte 0x00, 0x04, 0x06 - .byte 0x03, 0x0A, 0x00, 0x00 -_020F6854: - .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00 - .byte 0x0A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00 - .byte 0x5B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00 -_020F6888: - .byte 0x00, 0x07, 0x01, 0x05, 0x03, 0x06, 0x01, 0x08 - .byte 0x05, 0x06, 0x03, 0x07, 0x05, 0x09, 0x06, 0x07, 0x03, 0x08, 0x06, 0x0A, 0x07, 0x08, 0x03, 0x09 - .byte 0x07, 0x02, 0x08, 0x09, 0x03, 0x0A, 0x08, 0x00, 0x09, 0x0A, 0x03, 0x02, 0x09, 0x01, 0x0A, 0x02 - .byte 0x03, 0x00, 0x0A, 0x05, 0x02, 0x00, 0x03, 0x01, 0x02, 0x06, 0x00, 0x01, 0x03, 0x05, 0x00, 0x02 - .byte 0x05, 0x07, 0x03, 0x09 -_020F68C4: - .byte 0x00, 0x02, 0x01, 0x03 -_020F68C8: - .byte 0x00, 0x02, 0x03, 0x01, 0x03, 0x01, 0x00, 0x02 -_020F68D0: - .byte 0xED, 0x01, 0xF2, 0x01, 0xEE, 0x01, 0xF1, 0x01, 0xF0, 0x01, 0xEC, 0x01, 0xEF, 0x01 -_020F68DE: - .byte 0x04, 0xFE - .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFE, 0x00, 0x00, 0x00, 0x00 - .byte 0x04, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x04, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x02, 0x02, 0x02, 0x02 - .byte 0x02, 0x00 -_020F6902: - .byte 0x00, 0x00 -_020F6904: - .byte 0x74, 0x16, 0x0A, 0x00, 0x00, 0x00, 0x96, 0x00, 0x78, 0x00, 0x14, 0x0E - .byte 0x00, 0x00, 0x1C, 0x02, 0x7D, 0x00, 0x00, 0x1C, 0x14, 0x00, 0xC8, 0x00, 0x88, 0x00, 0x00, 0x00 - .byte 0x18, 0x0E, 0x96, 0x00, 0x68, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00 -_020F692C: - .byte 0x01, 0x01, 0x01, 0x01 - .byte 0x03, 0x03, 0x03, 0x04, 0x03, 0x04, 0x07, 0x03, 0x07, 0x04, 0x01, 0x04, 0x01, 0x01, 0x04, 0x01 - .byte 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x04, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x03, 0x01, 0x03 - .byte 0x00, 0x01, 0x01, 0x01, 0x03 -_020F6955: - .byte 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 -_020F6980: - .byte 0x00, 0x00, 0x00, 0x00 -_020F6984: - .byte 0xC1, 0x42, 0x03, 0x02 -_020F6988: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x77, 0x03, 0x02, 0xC1, 0x42, 0x03, 0x02 - .byte 0x00, 0x00, 0x00, 0x00, 0xD1, 0x45, 0x03, 0x02, 0x21, 0x45, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x3D, 0x45, 0x03, 0x02, 0x21, 0x45, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x25, 0x45, 0x03, 0x02 - .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8B, 0x03, 0x02, 0x19, 0x8C, 0x03, 0x02 - .byte 0x00, 0x00, 0x00, 0x00, 0x9D, 0x8B, 0x03, 0x02, 0x19, 0x8C, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x76, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02 - .byte 0x00, 0x00, 0x00, 0x00, 0x41, 0x76, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x69, 0x76, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x42, 0x03, 0x02 - .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x11, 0x43, 0x03, 0x02, 0xC1, 0x42, 0x03, 0x02 - .byte 0x00, 0x00, 0x00, 0x00, 0x39, 0x43, 0x03, 0x02, 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x25, 0x7A, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x7A, 0x03, 0x02 - .byte 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x99, 0x7A, 0x03, 0x02, 0xC9, 0x42, 0x03, 0x02 - .byte 0x00, 0x00, 0x00, 0x00, 0x6D, 0x7B, 0x03, 0x02, 0x89, 0x7B, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x69, 0x7C, 0x03, 0x02, 0x95, 0x7C, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x21, 0x92, 0x03, 0x02 - .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 -_020F6A88: - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00 -_020F6A90: - .byte 0x7D, 0x82, 0x03, 0x02, 0x99, 0x83, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x14, 0x00 - .byte 0xFF, 0xFF, 0x00, 0x00, 0xF8, 0x01, 0x14, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xF4, 0x01, 0x14, 0x00 - .byte 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x01, 0x14, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x01, 0x14, 0x00 - .byte 0xF4, 0x01, 0x14, 0x00, 0xF8, 0x01, 0x14, 0x00, 0xFC, 0x01, 0x14, 0x00, 0xFF, 0xFF, 0x00, 0x00 -_020F6AD0: - .byte 0x00, 0x03, 0x03, 0x1A, 0x12, 0x01, 0x23, 0x00 -_020F6AD8: - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -_020F6AE8: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 -_020F6B04: - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -_020F6B2C: - .byte 0x39, 0x72, 0x09, 0x02 - .byte 0x31, 0x72, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x49, 0x72, 0x09, 0x02, 0x2D, 0x72, 0x09, 0x02 - .byte 0x00, 0x00, 0x00, 0x00, 0x59, 0x72, 0x09, 0x02, 0x35, 0x72, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00 -_020F6B50: - .byte 0x00, 0x03, 0x03, 0x1A, 0x12, 0x01, 0x23, 0x00 -_020F6B58: - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -_020F6B68: - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00 -_020F6B84: - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -_020F6BAC: - .byte 0xF5, 0x01, 0xDB, 0x01 - .byte 0xAC, 0x01, 0xB2, 0x01, 0x66, 0x01, 0x89, 0x01, 0xE2, 0x01, 0xFC, 0x01, 0x97, 0x01, 0x45, 0x00 - .byte 0x9E, 0x00, 0xA6, 0x00, 0xEC, 0x00, 0xB9, 0x00, 0xE2, 0x00, 0x51, 0x00, 0xF6, 0x00, 0x25, 0x01 - .byte 0x02, 0x02, 0xFF, 0x01, 0xD2, 0x01, 0xA9, 0x00, 0x10, 0x02, 0x16, 0x02, 0x00, 0x00, 0x00, 0x00 -_020F6BE0: - .byte 0xFF -_020F6BE1: - .byte 0x00, 0x0F, 0x00 -_020F6BE4: - .byte 0x00, 0x00 -_020F6BE6: - .byte 0x8B, 0x00 -_020F6BE8: - .byte 0x8F, 0x01 -_020F6BEA: - .byte 0x03, 0x00 -_020F6BEC: - .byte 0xE8, 0x03 -_020F6BEE: - .byte 0xE8, 0x03 -_020F6BF0: - .byte 0x00, 0x00, 0x00, 0xA6, 0x00, 0x02, 0x30, 0x0E, 0xFF, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0xE8, 0x03, 0xE8, 0x03, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x30, 0x00 - .byte 0xFF, 0x1A, 0x0F, 0x00, 0x4A, 0x00, 0xBD, 0x03, 0xD6, 0x02, 0xE2, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0x01, 0x00, 0x00, 0xA6, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x06, 0x30, 0x00 - .byte 0xFF, 0x1A, 0x0F, 0x00, 0x4B, 0x00, 0x89, 0x00, 0x8D, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x02, 0x00, 0x00, 0xA6, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x1A, 0x0F, 0x00, 0x4C, 0x00, 0x8A, 0x00 - .byte 0x8E, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x03, 0x00, 0x00, 0xA6, 0x00, 0x44, 0x60, 0x00 - .byte 0xFF, 0x58, 0xCF, 0x10, 0x43, 0x00, 0x16, 0x00, 0x1B, 0x01, 0x3B, 0x00, 0xE9, 0x03, 0xE9, 0x03 - .byte 0x04, 0x00, 0xE6, 0x91, 0x00, 0x01, 0x08, 0xF6, 0x1C, 0x4E, 0xBF, 0x10, 0x19, 0x00, 0x17, 0x00 - .byte 0x1C, 0x01, 0x3C, 0x00, 0x34, 0x04, 0x34, 0x04, 0x05, 0x00, 0xCE, 0xA4, 0x00, 0x03, 0x88, 0xEC - .byte 0xFF, 0x03, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x32, 0x04, 0x32, 0x04 - .byte 0x00, 0x00, 0xD1, 0x93, 0x00, 0x02, 0x08, 0xF6, 0x6F, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xA8, 0x00 - .byte 0x9D, 0x01, 0x3F, 0x01, 0x1A, 0x04, 0x1A, 0x04, 0x06, 0x00, 0x95, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x70, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x9E, 0x01, 0x40, 0x01, 0x1B, 0x04, 0x1B, 0x04 - .byte 0x07, 0x00, 0x96, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x71, 0x11, 0x0F, 0x00, 0x00, 0x00, 0xAF, 0x00 - .byte 0xA4, 0x01, 0x46, 0x01, 0x21, 0x04, 0x21, 0x04, 0x08, 0x00, 0x97, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x72, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xB2, 0x00, 0xA7, 0x01, 0x48, 0x01, 0x1D, 0x04, 0x1D, 0x04 - .byte 0x09, 0x00, 0x98, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x73, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xB3, 0x00 - .byte 0xA8, 0x01, 0x49, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0x0A, 0x00, 0x99, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x74, 0x0B, 0x0F, 0x00, 0x00, 0x00, 0xB8, 0x00, 0xAD, 0x01, 0x4E, 0x01, 0x1C, 0x04, 0x1C, 0x04 - .byte 0x0B, 0x00, 0x9A, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x75, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0xBA, 0x00 - .byte 0xAF, 0x01, 0x50, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0x0C, 0x00, 0x9B, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x76, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xBC, 0x00, 0xB1, 0x01, 0x52, 0x01, 0x1E, 0x04, 0x1E, 0x04 - .byte 0x0D, 0x00, 0x9C, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x77, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xBE, 0x00 - .byte 0xB3, 0x01, 0x54, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0x0E, 0x00, 0x9D, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x78, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xBF, 0x00, 0xB4, 0x01, 0x55, 0x01, 0x1D, 0x04, 0x1D, 0x04 - .byte 0x0F, 0x00, 0x9E, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x79, 0x0B, 0x0F, 0x00, 0x00, 0x00, 0xC5, 0x00 - .byte 0xBA, 0x01, 0x5A, 0x01, 0x23, 0x04, 0x23, 0x04, 0x10, 0x00, 0x9F, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x5C, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xC7, 0x00, 0xBC, 0x01, 0x5C, 0x01, 0x24, 0x04, 0x24, 0x04 - .byte 0x11, 0x00, 0xA0, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x7A, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xC9, 0x00 - .byte 0xBE, 0x01, 0x5E, 0x01, 0x24, 0x04, 0x24, 0x04, 0x12, 0x00, 0xA1, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x7B, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xCA, 0x00, 0xBF, 0x01, 0x5F, 0x01, 0x24, 0x04, 0x24, 0x04 - .byte 0x13, 0x00, 0xA2, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x7C, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xCB, 0x00 - .byte 0xC0, 0x01, 0x60, 0x01, 0x24, 0x04, 0x24, 0x04, 0x14, 0x00, 0xA3, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0xFF, 0x10, 0x0F, 0x00, 0x00, 0x00, 0xCD, 0x00, 0xC2, 0x01, 0x62, 0x01, 0x20, 0x04, 0x20, 0x04 - .byte 0x15, 0x00, 0xA4, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x7E, 0x10, 0x0F, 0x00, 0x00, 0x00, 0xD1, 0x00 - .byte 0xC6, 0x01, 0x65, 0x01, 0xC0, 0x04, 0xC0, 0x04, 0x16, 0x00, 0xA5, 0xC3, 0x01, 0x02, 0x28, 0xF6 - .byte 0x7F, 0x10, 0x0F, 0x00, 0x00, 0x00, 0xD2, 0x00, 0xC7, 0x01, 0x66, 0x01, 0x20, 0x04, 0x20, 0x04 - .byte 0x17, 0x00, 0xA6, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x81, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xD4, 0x00 - .byte 0xC9, 0x01, 0x68, 0x01, 0x1B, 0x04, 0x1B, 0x04, 0x18, 0x00, 0xAA, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x82, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xD7, 0x00, 0xCC, 0x01, 0x6A, 0x01, 0x25, 0x04, 0x25, 0x04 - .byte 0x19, 0x00, 0xAC, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x83, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xD8, 0x00 - .byte 0xCD, 0x01, 0x6B, 0x01, 0x25, 0x04, 0x25, 0x04, 0x1A, 0x00, 0xAD, 0xC3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x67, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xDA, 0x00, 0xCF, 0x01, 0x6D, 0x01, 0x26, 0x04, 0x26, 0x04 - .byte 0x1B, 0x00, 0xAE, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x68, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xDD, 0x00 - .byte 0xD2, 0x01, 0x71, 0x01, 0x26, 0x04, 0x26, 0x04, 0x1C, 0x00, 0xAF, 0xA3, 0x01, 0x02, 0x08, 0xF6 - .byte 0x69, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xDF, 0x00, 0xD4, 0x01, 0x73, 0x01, 0x3D, 0x04, 0x3D, 0x04 - .byte 0x1D, 0x00, 0xB0, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x01, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xE1, 0x00 - .byte 0xD6, 0x01, 0x75, 0x01, 0x04, 0x04, 0x04, 0x04, 0x1E, 0x00, 0xB1, 0xB3, 0x00, 0x02, 0x08, 0xF6 - .byte 0x03, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xE3, 0x00, 0xD8, 0x01, 0x77, 0x01, 0x05, 0x04, 0x05, 0x04 - .byte 0x1F, 0x00, 0xB2, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x04, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xE6, 0x00 - .byte 0xDB, 0x01, 0x7A, 0x01, 0x05, 0x04, 0x05, 0x04, 0x20, 0x00, 0xB3, 0xB3, 0x00, 0x02, 0x08, 0xF6 - .byte 0x08, 0x03, 0x0F, 0x00, 0x00, 0x00, 0xE8, 0x00, 0xDD, 0x01, 0x7C, 0x01, 0x06, 0x04, 0x06, 0x04 - .byte 0x21, 0x00, 0xB4, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x11, 0x04, 0x0F, 0x00, 0x00, 0x00, 0xEC, 0x00 - .byte 0xE1, 0x01, 0x7F, 0x01, 0x07, 0x04, 0x07, 0x04, 0x22, 0x00, 0xB5, 0xB3, 0x02, 0x02, 0x08, 0xF6 - .byte 0x15, 0x05, 0x0F, 0x00, 0x00, 0x00, 0xED, 0x00, 0xE2, 0x01, 0x80, 0x01, 0x08, 0x04, 0x08, 0x04 - .byte 0x23, 0x00, 0xB6, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x16, 0x06, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x00 - .byte 0xE5, 0x01, 0x83, 0x01, 0x09, 0x04, 0x09, 0x04, 0x24, 0x00, 0xB7, 0xB3, 0x00, 0x02, 0x08, 0xF6 - .byte 0x19, 0x06, 0x0F, 0x00, 0x00, 0x00, 0xF3, 0x00, 0xE8, 0x01, 0x86, 0x01, 0x09, 0x04, 0x09, 0x04 - .byte 0x25, 0x00, 0xB8, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x1A, 0x06, 0x0F, 0x00, 0x00, 0x00, 0xF6, 0x00 - .byte 0xEB, 0x01, 0x89, 0x01, 0x09, 0x04, 0x09, 0x04, 0x26, 0x00, 0xB9, 0xB3, 0x00, 0x02, 0x08, 0xF6 - .byte 0x26, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xF7, 0x00, 0xEC, 0x01, 0x8A, 0x01, 0x0C, 0x04, 0x0C, 0x04 - .byte 0x27, 0x00, 0xBA, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x27, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xF9, 0x00 - .byte 0xEE, 0x01, 0x8C, 0x01, 0x0C, 0x04, 0x0C, 0x04, 0x28, 0x00, 0xBB, 0xB3, 0x00, 0x02, 0x08, 0xF6 - .byte 0x34, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0xF1, 0x01, 0x8F, 0x01, 0x0D, 0x04, 0x0D, 0x04 - .byte 0x29, 0x00, 0xBE, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x39, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00 - .byte 0xF3, 0x01, 0x91, 0x01, 0x0D, 0x04, 0x0D, 0x04, 0x2A, 0x00, 0xBF, 0xB3, 0x00, 0x02, 0x08, 0xF6 - .byte 0x3B, 0x08, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x01, 0xF6, 0x01, 0x94, 0x01, 0x0D, 0x04, 0x0D, 0x04 - .byte 0x2B, 0x00, 0xC0, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x43, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x01 - .byte 0xF7, 0x01, 0x95, 0x01, 0x0B, 0x04, 0x0B, 0x04, 0x2C, 0x00, 0xC1, 0xB3, 0x00, 0x02, 0x08, 0xF6 - .byte 0x44, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x01, 0xF8, 0x01, 0x96, 0x01, 0x0B, 0x04, 0x0B, 0x04 - .byte 0x2D, 0x00, 0xC2, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x5F, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xDF, 0x02 - .byte 0xFC, 0x01, 0xBE, 0x01, 0x16, 0x04, 0x16, 0x04, 0x2E, 0x00, 0x8A, 0xC2, 0x01, 0x01, 0x08, 0xF6 - .byte 0x60, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xE5, 0x02, 0x02, 0x02, 0xC4, 0x01, 0x15, 0x04, 0x15, 0x04 - .byte 0x2F, 0x00, 0x8B, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0xFF, 0x11, 0x0F, 0x00, 0x00, 0x00, 0xEE, 0x02 - .byte 0x0B, 0x02, 0xCC, 0x01, 0x14, 0x04, 0x14, 0x04, 0x30, 0x00, 0x8C, 0xC1, 0x01, 0x01, 0x28, 0xF6 - .byte 0x61, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xF6, 0x02, 0x13, 0x02, 0xD3, 0x01, 0x10, 0x04, 0x10, 0x04 - .byte 0x31, 0x00, 0x8D, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0xFF, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x02 - .byte 0x1C, 0x02, 0xDB, 0x01, 0x11, 0x04, 0x11, 0x04, 0x32, 0x00, 0x8E, 0xC2, 0x01, 0x01, 0x28, 0xF6 - .byte 0x62, 0x0B, 0x0F, 0x00, 0x00, 0x00, 0x08, 0x03, 0x25, 0x02, 0xE3, 0x01, 0x0E, 0x04, 0x0E, 0x04 - .byte 0x33, 0x00, 0x8F, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0x63, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x11, 0x03 - .byte 0x2E, 0x02, 0xEB, 0x01, 0x12, 0x04, 0x12, 0x04, 0x34, 0x00, 0x90, 0xC1, 0x01, 0x01, 0x28, 0xF6 - .byte 0x64, 0x10, 0x0F, 0x00, 0x00, 0x00, 0x27, 0x03, 0x44, 0x02, 0x00, 0x02, 0x13, 0x04, 0x13, 0x04 - .byte 0x35, 0x00, 0x91, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0x65, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x2F, 0x03 - .byte 0x4C, 0x02, 0x07, 0x02, 0x17, 0x04, 0x17, 0x04, 0x36, 0x00, 0x92, 0xC2, 0x01, 0x01, 0x28, 0xF6 - .byte 0xFF, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0x32, 0x03, 0x4F, 0x02, 0x09, 0x02, 0x3D, 0x04, 0x3D, 0x04 - .byte 0x37, 0x00, 0x93, 0xC3, 0x01, 0x02, 0x28, 0xF6, 0xFF, 0x0C, 0x0F, 0x00, 0x00, 0x00, 0x3B, 0x03 - .byte 0x58, 0x02, 0x11, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x38, 0x00, 0x94, 0xC1, 0x01, 0x01, 0x28, 0xF6 - .byte 0x00, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x4A, 0x03, 0x67, 0x02, 0x1E, 0x02, 0xFA, 0x03, 0xFA, 0x03 - .byte 0x39, 0x00, 0x7E, 0x02, 0x00, 0x01, 0x08, 0xF6, 0xFF, 0x19, 0x5F, 0x31, 0x64, 0x00, 0x4B, 0x03 - .byte 0x68, 0x02, 0x1F, 0x02, 0x2A, 0x04, 0x2A, 0x04, 0x3A, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x5F, 0x31, 0x65, 0x00, 0x4C, 0x03, 0x69, 0x02, 0x20, 0x02, 0xFA, 0x03, 0xFA, 0x03 - .byte 0x3B, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x31, 0x47, 0x00, 0x4D, 0x03 - .byte 0x6A, 0x02, 0x21, 0x02, 0xFA, 0x03, 0xFA, 0x03, 0x3C, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x5F, 0x31, 0x48, 0x00, 0x4E, 0x03, 0x6B, 0x02, 0x22, 0x02, 0xFA, 0x03, 0xFA, 0x03 - .byte 0x3D, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x31, 0x42, 0x00, 0x4F, 0x03 - .byte 0x6C, 0x02, 0x23, 0x02, 0xFA, 0x03, 0xFA, 0x03, 0x3E, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x5F, 0x31, 0x47, 0x00, 0x50, 0x03, 0x6D, 0x02, 0x24, 0x02, 0xFA, 0x03, 0xFA, 0x03 - .byte 0x3F, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0x02, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x52, 0x03 - .byte 0x6F, 0x02, 0x26, 0x02, 0xFB, 0x03, 0xFB, 0x03, 0x40, 0x00, 0x7F, 0x11, 0x00, 0x01, 0x08, 0xF6 - .byte 0xFF, 0x1B, 0x1F, 0x31, 0x68, 0x00, 0x53, 0x03, 0x70, 0x02, 0x27, 0x02, 0x28, 0x04, 0x28, 0x04 - .byte 0x41, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x1F, 0x31, 0x49, 0x00, 0x54, 0x03 - .byte 0x71, 0x02, 0x28, 0x02, 0x27, 0x04, 0x27, 0x04, 0x42, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x0F, 0x31, 0x61, 0x00, 0x56, 0x03, 0x73, 0x02, 0x29, 0x02, 0xFB, 0x03, 0xFB, 0x03 - .byte 0x43, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x1F, 0x31, 0x60, 0x00, 0x57, 0x03 - .byte 0x74, 0x02, 0x2A, 0x02, 0xFB, 0x03, 0xFB, 0x03, 0x44, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x1F, 0x31, 0x61, 0x00, 0x58, 0x03, 0x75, 0x02, 0x2B, 0x02, 0xFB, 0x03, 0xFB, 0x03 - .byte 0x45, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0x05, 0x03, 0x0F, 0x00, 0x00, 0x00, 0x59, 0x03 - .byte 0x76, 0x02, 0x2C, 0x02, 0xFC, 0x03, 0xFC, 0x03, 0x46, 0x00, 0x80, 0x21, 0x00, 0x01, 0x28, 0xF6 - .byte 0xFF, 0x04, 0x0F, 0x00, 0x00, 0x00, 0x62, 0x03, 0x7F, 0x02, 0x34, 0x02, 0xFD, 0x03, 0xFD, 0x03 - .byte 0x47, 0x00, 0x81, 0x32, 0x00, 0x01, 0x08, 0xF6, 0x33, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x6B, 0x03 - .byte 0x88, 0x02, 0x3C, 0x02, 0x01, 0x04, 0x01, 0x04, 0x48, 0x00, 0x82, 0x41, 0x00, 0x01, 0x28, 0xF6 - .byte 0xFF, 0x05, 0x0F, 0x00, 0x00, 0x00, 0x75, 0x03, 0x92, 0x02, 0x45, 0x02, 0xFE, 0x03, 0xFE, 0x03 - .byte 0x49, 0x00, 0x83, 0x51, 0x00, 0x01, 0x28, 0xF6, 0x28, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x8F, 0x03 - .byte 0xAC, 0x02, 0x5C, 0x02, 0x00, 0x04, 0x00, 0x04, 0x4A, 0x00, 0x84, 0x61, 0x00, 0x01, 0x28, 0xF6 - .byte 0x1B, 0x06, 0x0F, 0x00, 0x00, 0x00, 0x98, 0x03, 0xB5, 0x02, 0x64, 0x02, 0xFF, 0x03, 0xFF, 0x03 - .byte 0x4B, 0x00, 0x85, 0x71, 0x00, 0x01, 0x28, 0xF6, 0xFF, 0x1B, 0xCF, 0x14, 0x68, 0x00, 0x99, 0x03 - .byte 0xB6, 0x02, 0x65, 0x02, 0x28, 0x04, 0x28, 0x04, 0x4C, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1F, 0xBF, 0x14, 0x5A, 0x00, 0x9A, 0x03, 0xB7, 0x02, 0x66, 0x02, 0x29, 0x04, 0x29, 0x04 - .byte 0x4D, 0x00, 0x85, 0x79, 0x00, 0x04, 0x64, 0xA4, 0xFF, 0x1A, 0xCF, 0x14, 0x49, 0x00, 0x9B, 0x03 - .byte 0xB8, 0x02, 0x67, 0x02, 0x27, 0x04, 0x27, 0x04, 0x4E, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFF, 0x03, 0xFF, 0x03 - .byte 0x4F, 0x00, 0x06, 0x79, 0x00, 0x44, 0x64, 0xE0, 0xFF, 0x3D, 0xCF, 0x10, 0x44, 0x00, 0x9E, 0x03 - .byte 0xBB, 0x02, 0x68, 0x02, 0xFF, 0x03, 0xFF, 0x03, 0x50, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0xBF, 0x14, 0x42, 0x00, 0xA1, 0x03, 0xBE, 0x02, 0x6B, 0x02, 0xFF, 0x03, 0xFF, 0x03 - .byte 0x51, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0xBF, 0x14, 0x42, 0x00, 0x9F, 0x03 - .byte 0xBC, 0x02, 0x69, 0x02, 0xFF, 0x03, 0xFF, 0x03, 0x52, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3D, 0xCF, 0x14, 0x7E, 0x00, 0xA0, 0x03, 0xBD, 0x02, 0x6A, 0x02, 0x2C, 0x04, 0x2C, 0x04 - .byte 0x53, 0x00, 0x85, 0x79, 0x00, 0xF4, 0x64, 0xE4, 0xFF, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xA2, 0x03 - .byte 0xBF, 0x02, 0x6C, 0x02, 0x02, 0x04, 0x02, 0x04, 0x54, 0x00, 0x86, 0xA2, 0x00, 0x01, 0x08, 0xF6 - .byte 0x3A, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xAA, 0x03, 0xC7, 0x02, 0x72, 0x02, 0x0D, 0x04, 0x0D, 0x04 - .byte 0x55, 0x00, 0x87, 0x98, 0x02, 0x02, 0x08, 0xF6, 0x41, 0x09, 0x0F, 0x00, 0x00, 0x00, 0xAD, 0x03 - .byte 0xCA, 0x02, 0x75, 0x02, 0x03, 0x04, 0x03, 0x04, 0x56, 0x00, 0x88, 0xA1, 0x00, 0x01, 0x08, 0xF6 - .byte 0x55, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xB5, 0x03, 0xD2, 0x02, 0x7C, 0x02, 0x3D, 0x04, 0x3D, 0x04 - .byte 0x57, 0x00, 0x89, 0x93, 0x00, 0x01, 0x08, 0xF6, 0x5D, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xBE, 0x03 - .byte 0xD7, 0x02, 0xE4, 0x02, 0x20, 0x04, 0x20, 0x04, 0x58, 0x00, 0xA7, 0xC6, 0x01, 0x02, 0x08, 0xF6 - .byte 0x5E, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xC0, 0x03, 0xD9, 0x02, 0xE6, 0x02, 0x20, 0x04, 0x20, 0x04 - .byte 0x59, 0x00, 0xA8, 0xC6, 0x01, 0x02, 0x18, 0xF6, 0x80, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xC1, 0x03 - .byte 0xDA, 0x02, 0xE7, 0x02, 0x22, 0x04, 0x22, 0x04, 0x5A, 0x00, 0xA9, 0xC6, 0x01, 0x02, 0x18, 0xF6 - .byte 0x29, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xC2, 0x03, 0xDB, 0x02, 0xE8, 0x02, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x5B, 0x00, 0xBC, 0xB6, 0x00, 0x02, 0x18, 0xF6, 0x2A, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xC4, 0x03 - .byte 0xDD, 0x02, 0xEA, 0x02, 0x0A, 0x04, 0x0A, 0x04, 0x5C, 0x00, 0xBD, 0xB6, 0x00, 0x02, 0x18, 0xF6 - .byte 0x17, 0x47, 0xBF, 0x1C, 0x1B, 0x00, 0x19, 0x00, 0x1E, 0x01, 0x3E, 0x00, 0x33, 0x04, 0x33, 0x04 - .byte 0x5D, 0x00, 0xCF, 0x97, 0x00, 0x01, 0x08, 0xF6, 0xFF, 0x3F, 0x0F, 0x21, 0x46, 0x00, 0xE7, 0x00 - .byte 0xDC, 0x01, 0x7B, 0x01, 0x05, 0x04, 0x05, 0x04, 0x5E, 0x00, 0xB3, 0xA9, 0x00, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0xEF, 0x24, 0x46, 0x00, 0xEB, 0x00, 0xE0, 0x01, 0x7E, 0x01, 0x06, 0x04, 0x06, 0x04 - .byte 0x5F, 0x00, 0xB4, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0x0E, 0x57, 0xEF, 0x34, 0x2A, 0x00, 0x38, 0x00 - .byte 0x3D, 0x01, 0x57, 0x00, 0x31, 0x04, 0x31, 0x04, 0x60, 0x00, 0xD2, 0x84, 0x00, 0x03, 0x98, 0xEE - .byte 0xFF, 0x3F, 0xBF, 0x38, 0x46, 0x00, 0x68, 0x03, 0x85, 0x02, 0x39, 0x02, 0x09, 0x04, 0x09, 0x04 - .byte 0x61, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0xBF, 0x24, 0x45, 0x00, 0xF1, 0x00 - .byte 0xE6, 0x01, 0x84, 0x01, 0x09, 0x04, 0x09, 0x04, 0x62, 0x00, 0xB7, 0xA9, 0x00, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0xBF, 0x20, 0xC4, 0x00, 0xF2, 0x00, 0xE7, 0x01, 0x85, 0x01, 0x09, 0x04, 0x09, 0x04 - .byte 0x63, 0x00, 0xB7, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0xDF, 0x1C, 0x45, 0x00, 0xF4, 0x00 - .byte 0xE9, 0x01, 0x87, 0x01, 0x09, 0x04, 0x09, 0x04, 0x64, 0x00, 0xB8, 0xA9, 0x00, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0xCF, 0x1C, 0x46, 0x00, 0xF5, 0x00, 0xEA, 0x01, 0x88, 0x01, 0x09, 0x04, 0x09, 0x04 - .byte 0x65, 0x00, 0xB8, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x0F, 0x00, 0x46, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x09, 0x04, 0x09, 0x04, 0x66, 0x00, 0x06, 0x79, 0x00, 0x44, 0x64, 0xE0 - .byte 0x85, 0x52, 0x0F, 0x12, 0x02, 0x00, 0x05, 0x00, 0x0A, 0x01, 0x2F, 0x00, 0x3A, 0x04, 0x3A, 0x04 - .byte 0x67, 0x00, 0xC5, 0xC4, 0x01, 0x03, 0xA8, 0xEE, 0x6A, 0x46, 0x4F, 0x0E, 0x03, 0x00, 0x07, 0x00 - .byte 0x0C, 0x01, 0x31, 0x00, 0x31, 0x04, 0x31, 0x04, 0x68, 0x00, 0xC6, 0xC4, 0x01, 0x03, 0x78, 0xEE - .byte 0x6C, 0x53, 0xCF, 0x12, 0x06, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 - .byte 0x69, 0x00, 0xC8, 0xC4, 0x17, 0x03, 0x98, 0xEE, 0xFF, 0x4B, 0x5F, 0x32, 0x08, 0x00, 0x0C, 0x00 - .byte 0x11, 0x01, 0x34, 0x00, 0x87, 0x04, 0x87, 0x04, 0x6A, 0x00, 0x37, 0x87, 0x01, 0x02, 0x08, 0xA6 - .byte 0xFF, 0x4D, 0xFF, 0x1C, 0x0C, 0x00, 0x10, 0x00, 0x15, 0x01, 0x36, 0x00, 0x30, 0x04, 0x30, 0x04 - .byte 0x6B, 0x00, 0xCC, 0x94, 0x00, 0x03, 0x88, 0xEC, 0xFF, 0x4D, 0xCF, 0x10, 0x0F, 0x00, 0x13, 0x00 - .byte 0x18, 0x01, 0x39, 0x00, 0x35, 0x04, 0x35, 0x04, 0x6C, 0x00, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC - .byte 0xFF, 0x24, 0xAF, 0x28, 0x1C, 0x00, 0x1D, 0x00, 0x22, 0x01, 0x41, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0x6D, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4, 0x09, 0x14, 0x0F, 0x00, 0x00, 0x00, 0x25, 0x00 - .byte 0x2A, 0x01, 0x48, 0x00, 0x31, 0x04, 0x31, 0x04, 0x6E, 0x00, 0xD1, 0x94, 0x00, 0x02, 0x48, 0xF6 - .byte 0xFF, 0x54, 0xDF, 0x38, 0x2D, 0x00, 0x3B, 0x00, 0x40, 0x01, 0x5A, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x6F, 0x00, 0xD3, 0xB4, 0x00, 0x03, 0x98, 0xEE, 0xFF, 0x2F, 0x9F, 0x20, 0x2F, 0x00, 0x3E, 0x00 - .byte 0x43, 0x01, 0x5D, 0x00, 0x36, 0x04, 0x36, 0x04, 0x70, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x64, 0xEC - .byte 0xFF, 0x1B, 0x0F, 0x15, 0x8A, 0x00, 0x58, 0x00, 0x5D, 0x01, 0x6F, 0x00, 0x02, 0x04, 0x02, 0x04 - .byte 0x71, 0x00, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0x14, 0x4A, 0xBF, 0x38, 0x38, 0x00, 0x5C, 0x00 - .byte 0x61, 0x01, 0x73, 0x00, 0x31, 0x04, 0x31, 0x04, 0x72, 0x00, 0xD6, 0xB5, 0x00, 0x03, 0x38, 0xEE - .byte 0xFF, 0x3E, 0xAF, 0x2C, 0x39, 0x00, 0x5D, 0x00, 0x62, 0x01, 0x74, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0x73, 0x00, 0xD7, 0x59, 0x00, 0x44, 0x64, 0xE4, 0x35, 0x4F, 0xEF, 0x14, 0x3E, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x74, 0x00, 0xD8, 0x84, 0x00, 0x03, 0x98, 0xEE - .byte 0x3C, 0x4C, 0x5F, 0x11, 0x84, 0x00, 0x63, 0x00, 0x68, 0x01, 0x7A, 0x00, 0x38, 0x04, 0x38, 0x04 - .byte 0x75, 0x00, 0xD9, 0x84, 0x00, 0x03, 0x98, 0xEE, 0x2B, 0x55, 0x7F, 0x2C, 0x8D, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x76, 0x00, 0xDA, 0xB4, 0x16, 0x03, 0x98, 0xEE - .byte 0x56, 0x50, 0x9F, 0x21, 0x09, 0x01, 0x69, 0x00, 0x6E, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0x77, 0x00, 0xDB, 0xA4, 0x00, 0x03, 0x98, 0xEE, 0x46, 0x57, 0x4F, 0x19, 0x62, 0x00, 0x6C, 0x00 - .byte 0x71, 0x01, 0x7F, 0x00, 0x38, 0x04, 0x38, 0x04, 0x78, 0x00, 0xDC, 0x84, 0x16, 0x03, 0x98, 0xEE - .byte 0x6E, 0x46, 0xCF, 0x1D, 0xA1, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3C, 0x04, 0x3C, 0x04 - .byte 0x79, 0x00, 0xDD, 0xB4, 0x01, 0x03, 0xB8, 0xEE, 0xFF, 0x56, 0x4F, 0x11, 0x91, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x39, 0x04, 0x39, 0x04, 0x7A, 0x00, 0xDE, 0xB4, 0x00, 0x03, 0x98, 0xEE - .byte 0x84, 0x46, 0x7F, 0x31, 0x97, 0x00, 0x71, 0x00, 0x76, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x7B, 0x00, 0xDF, 0xB4, 0x01, 0x03, 0x98, 0xEE, 0xFF, 0x19, 0x1F, 0x2D, 0x42, 0x00, 0xE4, 0x00 - .byte 0xD9, 0x01, 0x78, 0x01, 0x05, 0x04, 0x05, 0x04, 0x7C, 0x00, 0xB2, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xCF, 0x14, 0x4A, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x7D, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xCF, 0x14, 0x4B, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x7E, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xCF, 0x14, 0x4C, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x00, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xCF, 0x14, 0x4D, 0x00, 0x9C, 0x03 - .byte 0xB9, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x7F, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3F, 0xDF, 0x14, 0x46, 0x00, 0xFD, 0x00, 0xF2, 0x01, 0x90, 0x01, 0x0D, 0x04, 0x0D, 0x04 - .byte 0x80, 0x00, 0xBE, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x19, 0x0F, 0x15, 0x5F, 0x00, 0xA9, 0x03 - .byte 0xC6, 0x02, 0x71, 0x02, 0x02, 0x04, 0x02, 0x04, 0x81, 0x00, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3F, 0x3F, 0x31, 0x45, 0x00, 0xE2, 0x00, 0xD7, 0x01, 0x76, 0x01, 0x04, 0x04, 0x04, 0x04 - .byte 0x82, 0x00, 0xB1, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x1C, 0xEF, 0x20, 0x57, 0x00, 0x5B, 0x03 - .byte 0x78, 0x02, 0x2E, 0x02, 0x29, 0x04, 0x29, 0x04, 0x83, 0x00, 0x80, 0x29, 0x00, 0x14, 0x64, 0xA4 - .byte 0xFF, 0x1D, 0xCF, 0x38, 0x58, 0x00, 0x64, 0x03, 0x81, 0x02, 0x36, 0x02, 0x29, 0x04, 0x29, 0x04 - .byte 0x84, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xA4, 0xFF, 0x1E, 0xBF, 0x28, 0x59, 0x00, 0x76, 0x03 - .byte 0x93, 0x02, 0x46, 0x02, 0x29, 0x04, 0x29, 0x04, 0x85, 0x00, 0x83, 0x59, 0x00, 0x24, 0x64, 0xA4 - .byte 0xFF, 0x20, 0x8F, 0x1C, 0x5B, 0x00, 0x91, 0x03, 0xAE, 0x02, 0x5E, 0x02, 0x29, 0x04, 0x29, 0x04 - .byte 0x86, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xA4, 0xFF, 0x21, 0x5F, 0x2C, 0x5C, 0x00, 0x6D, 0x03 - .byte 0x8A, 0x02, 0x3E, 0x02, 0x29, 0x04, 0x29, 0x04, 0x87, 0x00, 0x82, 0x49, 0x00, 0x04, 0x74, 0xA4 - .byte 0xFF, 0x22, 0x0F, 0x15, 0xE5, 0x00, 0xA4, 0x03, 0xC1, 0x02, 0x6E, 0x02, 0x29, 0x04, 0x29, 0x04 - .byte 0x88, 0x00, 0x86, 0xA9, 0x00, 0x04, 0x74, 0xA4, 0xFF, 0x23, 0x4F, 0x11, 0x5E, 0x00, 0xAF, 0x03 - .byte 0xCC, 0x02, 0x77, 0x02, 0x29, 0x04, 0x29, 0x04, 0x89, 0x00, 0x88, 0xA9, 0x00, 0x04, 0x64, 0xA4 - .byte 0xFF, 0x3F, 0x0F, 0x11, 0x45, 0x00, 0xFF, 0x00, 0xF4, 0x01, 0x92, 0x01, 0x0D, 0x04, 0x0D, 0x04 - .byte 0x8A, 0x00, 0xBF, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3D, 0x1F, 0x25, 0x67, 0x00, 0xE5, 0x00 - .byte 0xDA, 0x01, 0x79, 0x01, 0x05, 0x04, 0x05, 0x04, 0x8B, 0x00, 0xB2, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x1F, 0x31, 0x4D, 0x00, 0x55, 0x03, 0x72, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x8C, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0x8B, 0x49, 0x8F, 0x0E, 0x4E, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04, 0x8D, 0x00, 0xC7, 0xA4, 0x17, 0x03, 0x98, 0xEE - .byte 0x4A, 0x46, 0x3F, 0x3E, 0x51, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 - .byte 0x8E, 0x00, 0xCB, 0xA4, 0x01, 0x03, 0x98, 0xEE, 0x89, 0x67, 0x0F, 0x16, 0x56, 0x00, 0x73, 0x00 - .byte 0x78, 0x01, 0x84, 0x00, 0x3B, 0x04, 0x3B, 0x04, 0x8F, 0x00, 0xE0, 0xA5, 0x01, 0x03, 0x38, 0xEE - .byte 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x14, 0x04, 0x14, 0x04 - .byte 0x00, 0x00, 0xC9, 0xC9, 0x01, 0x44, 0x64, 0xE0, 0xFF, 0x3F, 0xDF, 0x1C, 0x46, 0x00, 0x61, 0x03 - .byte 0x7E, 0x02, 0x33, 0x02, 0x09, 0x04, 0x09, 0x04, 0x90, 0x00, 0xB8, 0x29, 0x00, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0xBF, 0x1C, 0x45, 0x00, 0x1C, 0x00, 0x21, 0x01, 0x40, 0x00, 0x6E, 0x04, 0x6E, 0x04 - .byte 0x91, 0x00, 0xE1, 0x99, 0x00, 0x44, 0x64, 0xE4, 0x47, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x01 - .byte 0xF9, 0x01, 0x97, 0x01, 0x85, 0x04, 0x85, 0x04, 0x92, 0x00, 0xC3, 0xA3, 0x00, 0x02, 0x48, 0xF6 - .byte 0x66, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x05, 0x01, 0xFA, 0x01, 0x98, 0x01, 0x85, 0x04, 0x85, 0x04 - .byte 0x93, 0x00, 0xC4, 0xA3, 0x00, 0x02, 0x48, 0xF6, 0x0F, 0x57, 0xEF, 0x34, 0x2B, 0x00, 0x39, 0x00 - .byte 0x3E, 0x01, 0x58, 0x00, 0x31, 0x04, 0x31, 0x04, 0x94, 0x00, 0xD2, 0x84, 0x00, 0x03, 0xA8, 0xEE - .byte 0x10, 0x57, 0xEF, 0x34, 0x2C, 0x00, 0x3A, 0x00, 0x3F, 0x01, 0x59, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x95, 0x00, 0xD2, 0x84, 0x00, 0x03, 0xB8, 0xEE, 0x06, 0x4D, 0xFF, 0x1C, 0x0D, 0x00, 0x11, 0x00 - .byte 0x16, 0x01, 0x37, 0x00, 0x30, 0x04, 0x30, 0x04, 0x96, 0x00, 0xCC, 0x94, 0x00, 0x03, 0x88, 0xEC - .byte 0x07, 0x4D, 0xFF, 0x1C, 0x0E, 0x00, 0x12, 0x00, 0x17, 0x01, 0x38, 0x00, 0x30, 0x04, 0x30, 0x04 - .byte 0x97, 0x00, 0xCC, 0x94, 0x00, 0x03, 0x88, 0xEC, 0xFF, 0x1B, 0xEF, 0x20, 0x68, 0x00, 0x5A, 0x03 - .byte 0x77, 0x02, 0x2D, 0x02, 0x28, 0x04, 0x28, 0x04, 0x98, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xFF, 0x20, 0x49, 0x00, 0x5C, 0x03, 0x79, 0x02, 0x2F, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0x99, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3D, 0xFF, 0x20, 0x66, 0x00, 0x5E, 0x03 - .byte 0x7B, 0x02, 0x30, 0x02, 0xFC, 0x03, 0xFC, 0x03, 0x9A, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0xEF, 0x20, 0x5F, 0x00, 0x5F, 0x03, 0x7C, 0x02, 0x31, 0x02, 0xFC, 0x03, 0xFC, 0x03 - .byte 0x9B, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0xFB, 0x03, 0xFB, 0x03, 0x00, 0x00, 0x06, 0x30, 0x00, 0x44, 0x64, 0xE0 - .byte 0xFF, 0x19, 0xFF, 0x20, 0x5F, 0x00, 0x60, 0x03, 0x7D, 0x02, 0x32, 0x02, 0xFC, 0x03, 0xFC, 0x03 - .byte 0x9C, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3D, 0xDF, 0x38, 0x7D, 0x00, 0x69, 0x03 - .byte 0x86, 0x02, 0x3A, 0x02, 0xFD, 0x03, 0xFD, 0x03, 0x9D, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3D, 0xCF, 0x38, 0x7F, 0x00, 0x6A, 0x03, 0x87, 0x02, 0x3B, 0x02, 0xFD, 0x03, 0xFD, 0x03 - .byte 0x9E, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0xDF, 0x38, 0x68, 0x00, 0x63, 0x03 - .byte 0x80, 0x02, 0x35, 0x02, 0x28, 0x04, 0x28, 0x04, 0x9F, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xCF, 0x38, 0x49, 0x00, 0x66, 0x03, 0x83, 0x02, 0x38, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0xA0, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xFF, 0x20, 0x4D, 0x00, 0x5D, 0x03 - .byte 0x7A, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xA1, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xCF, 0x38, 0x4D, 0x00, 0x67, 0x03, 0x84, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xA2, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xEF, 0x34, 0x49, 0x00, 0xE9, 0x00 - .byte 0xDE, 0x01, 0x7D, 0x01, 0x27, 0x04, 0x27, 0x04, 0xA3, 0x00, 0xB4, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xEF, 0x34, 0x4D, 0x00, 0xEA, 0x00, 0xDF, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xA4, 0x00, 0xB4, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0xBF, 0x38, 0x45, 0x00, 0xEF, 0x00 - .byte 0xE4, 0x01, 0x82, 0x01, 0x08, 0x04, 0x08, 0x04, 0xA5, 0x00, 0xB6, 0xA9, 0x00, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0xAF, 0x14, 0x46, 0x00, 0xF8, 0x00, 0xED, 0x01, 0x8B, 0x01, 0x0C, 0x04, 0x0C, 0x04 - .byte 0xA6, 0x00, 0xBA, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x27, 0x2F, 0x20, 0xE3, 0x00, 0x77, 0x00 - .byte 0x7C, 0x01, 0x87, 0x00, 0x86, 0x04, 0x86, 0x04, 0xA7, 0x00, 0xE3, 0x87, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x74, 0x00, 0x79, 0x01, 0x85, 0x00, 0x86, 0x04, 0x86, 0x04 - .byte 0xA8, 0x00, 0xE3, 0x83, 0x00, 0x02, 0x08, 0xF6, 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0xFF, 0x03, 0xFF, 0x03, 0x00, 0x00, 0x06, 0x79, 0x00, 0x44, 0x64, 0xE0 - .byte 0x45, 0x57, 0x1F, 0x21, 0x63, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 - .byte 0xA9, 0x00, 0xDC, 0x84, 0x16, 0x03, 0x98, 0xEE, 0x12, 0x54, 0xDF, 0x38, 0x2E, 0x00, 0x3C, 0x00 - .byte 0x41, 0x01, 0x5B, 0x00, 0x31, 0x04, 0x31, 0x04, 0xAA, 0x00, 0xD3, 0xB4, 0x00, 0x03, 0xA8, 0xEE - .byte 0x86, 0x46, 0xCF, 0x1D, 0xA2, 0x00, 0x6D, 0x00, 0x72, 0x01, 0x03, 0x00, 0x3C, 0x04, 0x3C, 0x04 - .byte 0xAB, 0x00, 0xDD, 0xB4, 0x01, 0x03, 0xA8, 0xEE, 0x87, 0x46, 0xCF, 0x1D, 0xA3, 0x00, 0x6E, 0x00 - .byte 0x73, 0x01, 0x80, 0x00, 0x3C, 0x04, 0x3C, 0x04, 0xAC, 0x00, 0xDD, 0xB4, 0x01, 0x03, 0xB8, 0xEE - .byte 0xFF, 0x1D, 0xCF, 0x38, 0x69, 0x00, 0x65, 0x03, 0x82, 0x02, 0x37, 0x02, 0x29, 0x04, 0x29, 0x04 - .byte 0xAD, 0x00, 0x81, 0x39, 0x00, 0x54, 0x84, 0xA4, 0x13, 0x54, 0xDF, 0x38, 0x6A, 0x00, 0x3D, 0x00 - .byte 0x42, 0x01, 0x5C, 0x00, 0x31, 0x04, 0x31, 0x04, 0xAE, 0x00, 0xD3, 0xB4, 0x00, 0x03, 0xB8, 0xEE - .byte 0xFF, 0x1B, 0xBF, 0x2C, 0x6B, 0x00, 0x7A, 0x03, 0x97, 0x02, 0x48, 0x02, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xAF, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0xAF, 0x2C, 0x6D, 0x00, 0x8A, 0x03 - .byte 0xA7, 0x02, 0x57, 0x02, 0x2D, 0x04, 0x2D, 0x04, 0xB0, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1B, 0xBF, 0x28, 0x6C, 0x00, 0x80, 0x03, 0x9D, 0x02, 0x4D, 0x02, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xB1, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xBF, 0x2C, 0x49, 0x00, 0x77, 0x03 - .byte 0x94, 0x02, 0x47, 0x02, 0x27, 0x04, 0x27, 0x04, 0xB2, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x24, 0xAF, 0x28, 0x1D, 0x00, 0x1E, 0x00, 0x23, 0x01, 0x42, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xB3, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x24, 0xAF, 0x28, 0x1E, 0x00, 0x1F, 0x00 - .byte 0x24, 0x01, 0x43, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xB4, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x24, 0xAF, 0x28, 0x1F, 0x00, 0x20, 0x00, 0x25, 0x01, 0x44, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xB5, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x24, 0xAF, 0x28, 0x20, 0x00, 0x21, 0x00 - .byte 0x26, 0x01, 0x45, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xB6, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x24, 0xAF, 0x28, 0x6E, 0x00, 0x22, 0x00, 0x27, 0x01, 0x46, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xB7, 0x00, 0xD0, 0x99, 0x00, 0x04, 0x64, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x71, 0x00, 0x83, 0x03 - .byte 0xA0, 0x02, 0x50, 0x02, 0x28, 0x04, 0x28, 0x04, 0xB8, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x72, 0x00, 0x84, 0x03, 0xA1, 0x02, 0x51, 0x02, 0x28, 0x04, 0x28, 0x04 - .byte 0xB9, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x73, 0x00, 0x85, 0x03 - .byte 0xA2, 0x02, 0x52, 0x02, 0x28, 0x04, 0x28, 0x04, 0xBA, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x74, 0x00, 0x86, 0x03, 0xA3, 0x02, 0x53, 0x02, 0x28, 0x04, 0x28, 0x04 - .byte 0xBB, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x75, 0x00, 0x87, 0x03 - .byte 0xA4, 0x02, 0x54, 0x02, 0x28, 0x04, 0x28, 0x04, 0xBC, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x76, 0x00, 0x88, 0x03, 0xA5, 0x02, 0x55, 0x02, 0x28, 0x04, 0x28, 0x04 - .byte 0xBD, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x30, 0xAF, 0x28, 0x6F, 0x00, 0x7D, 0x03 - .byte 0x9A, 0x02, 0x4B, 0x02, 0xFE, 0x03, 0xFE, 0x03, 0xBE, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x30, 0xAF, 0x28, 0x70, 0x00, 0x7E, 0x03, 0x9B, 0x02, 0x4C, 0x02, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xBF, 0x00, 0x83, 0x59, 0x00, 0x44, 0x60, 0xE4, 0xFF, 0x3E, 0xAF, 0x2C, 0x3A, 0x00, 0x5E, 0x00 - .byte 0x63, 0x01, 0x75, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xC0, 0x00, 0xD7, 0x59, 0x00, 0x04, 0x64, 0xE4 - .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x3B, 0x00, 0x5F, 0x00, 0x64, 0x01, 0x76, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xC1, 0x00, 0x83, 0x59, 0x00, 0x44, 0x84, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x3C, 0x00, 0x60, 0x00 - .byte 0x65, 0x01, 0x77, 0x00, 0x31, 0x04, 0x31, 0x04, 0xC2, 0x00, 0x83, 0x59, 0x00, 0x44, 0x84, 0xE4 - .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x3D, 0x00, 0x61, 0x00, 0x66, 0x01, 0x78, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xC3, 0x00, 0x83, 0x59, 0x00, 0x44, 0x84, 0xE4, 0xFF, 0x19, 0xAF, 0x2C, 0x61, 0x00, 0x7C, 0x03 - .byte 0x99, 0x02, 0x4A, 0x02, 0xFE, 0x03, 0xFE, 0x03, 0xC4, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0xBF, 0x2C, 0x60, 0x00, 0x7B, 0x03, 0x98, 0x02, 0x49, 0x02, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xC5, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0xBF, 0x28, 0x60, 0x00, 0x81, 0x03 - .byte 0x9E, 0x02, 0x4E, 0x02, 0xFE, 0x03, 0xFE, 0x03, 0xC6, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2A, 0xBF, 0x28, 0x8C, 0x00, 0x82, 0x03, 0x9F, 0x02, 0x4F, 0x02, 0xFE, 0x03, 0xFE, 0x03 - .byte 0xC7, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2D, 0x9F, 0x28, 0xED, 0x00, 0x8B, 0x03 - .byte 0xA8, 0x02, 0x58, 0x02, 0x82, 0x04, 0x82, 0x04, 0xC8, 0x00, 0x76, 0x59, 0x00, 0x44, 0x60, 0xE4 - .byte 0xFF, 0x3F, 0x0F, 0x00, 0x77, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0x0F, 0x00, 0x78, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3F, 0x0F, 0x00, 0x79, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0x0F, 0x00, 0x7A, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3F, 0x0F, 0x00, 0x7B, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03 - .byte 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0x0F, 0x00, 0x7C, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2A, 0x8F, 0x14, 0x80, 0x00, 0xFA, 0x00, 0xEF, 0x01, 0x8D, 0x01, 0x0C, 0x04, 0x0C, 0x04 - .byte 0xC9, 0x00, 0xBB, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x8F, 0x14, 0x81, 0x00, 0xFB, 0x00 - .byte 0xF0, 0x01, 0x8E, 0x01, 0x0C, 0x04, 0x0C, 0x04, 0xCA, 0x00, 0xBB, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3D, 0xCF, 0x10, 0x82, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFF, 0x03, 0xFF, 0x03 - .byte 0xCB, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0x1D, 0x4E, 0xBF, 0x10, 0x1A, 0x00, 0x18, 0x00 - .byte 0x1D, 0x01, 0x3D, 0x00, 0x34, 0x04, 0x34, 0x04, 0xCC, 0x00, 0xCE, 0xA4, 0x00, 0x03, 0x88, 0xEC - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x32, 0x04, 0x32, 0x04 - .byte 0x00, 0x00, 0xD1, 0x94, 0x00, 0x02, 0x08, 0xE0, 0xFF, 0x1A, 0xBF, 0x2C, 0x4D, 0x00, 0x78, 0x03 - .byte 0x95, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xCD, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2F, 0x9F, 0x20, 0x30, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0xCE, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4, 0xFF, 0x4A, 0x9F, 0x20, 0x31, 0x00, 0x3F, 0x00 - .byte 0x44, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0xCF, 0x00, 0xD4, 0x99, 0x00, 0x33, 0x24, 0xF4 - .byte 0xFF, 0x2F, 0x9F, 0x20, 0x32, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0xD0, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4, 0xFF, 0x2F, 0x9F, 0x20, 0x33, 0x00, 0x40, 0x00 - .byte 0x45, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0xD1, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4 - .byte 0xFF, 0x2F, 0x9F, 0x20, 0x34, 0x00, 0x41, 0x00, 0x46, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0xD2, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4, 0xFF, 0x59, 0x9F, 0x20, 0x83, 0x00, 0x42, 0x00 - .byte 0x47, 0x01, 0x5E, 0x00, 0x36, 0x04, 0x36, 0x04, 0xD3, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4 - .byte 0xFF, 0x1A, 0x8F, 0x20, 0x49, 0x00, 0x92, 0x03, 0xAF, 0x02, 0x5F, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0xD4, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0x8F, 0x20, 0x68, 0x00, 0x90, 0x03 - .byte 0xAD, 0x02, 0x5D, 0x02, 0x28, 0x04, 0x28, 0x04, 0xD5, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x8F, 0x1C, 0x61, 0x00, 0x94, 0x03, 0xB1, 0x02, 0x60, 0x02, 0x00, 0x04, 0x00, 0x04 - .byte 0xD6, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x9F, 0x1C, 0x61, 0x00, 0x95, 0x03 - .byte 0xB2, 0x02, 0x61, 0x02, 0x00, 0x04, 0x00, 0x04, 0xD7, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x8F, 0x1C, 0x61, 0x00, 0x96, 0x03, 0xB3, 0x02, 0x62, 0x02, 0x00, 0x04, 0x00, 0x04 - .byte 0xD8, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x8F, 0x20, 0x88, 0x00, 0x97, 0x03 - .byte 0xB4, 0x02, 0x63, 0x02, 0x00, 0x04, 0x00, 0x04, 0xD9, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x5F, 0x2C, 0x5F, 0x00, 0x70, 0x03, 0x8D, 0x02, 0x40, 0x02, 0x01, 0x04, 0x01, 0x04 - .byte 0xDA, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0x5F, 0x2C, 0x8B, 0x00, 0x71, 0x03 - .byte 0x8E, 0x02, 0x41, 0x02, 0x01, 0x04, 0x01, 0x04, 0xDB, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x5F, 0x2C, 0x61, 0x00, 0x72, 0x03, 0x8F, 0x02, 0x42, 0x02, 0x01, 0x04, 0x01, 0x04 - .byte 0xDC, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x2C, 0x5F, 0x00, 0x73, 0x03 - .byte 0x90, 0x02, 0x43, 0x02, 0x01, 0x04, 0x01, 0x04, 0xDD, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x5F, 0x2C, 0x49, 0x00, 0x6E, 0x03, 0x8B, 0x02, 0x3F, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0xDE, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4, 0x3D, 0x4C, 0x5F, 0x11, 0x85, 0x00, 0x64, 0x00 - .byte 0x69, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0xDF, 0x00, 0xD9, 0x84, 0x00, 0x03, 0xA8, 0xEE - .byte 0x3E, 0x4C, 0x5F, 0x11, 0x86, 0x00, 0x65, 0x00, 0x6A, 0x01, 0x7B, 0x00, 0x38, 0x04, 0x38, 0x04 - .byte 0xE0, 0x00, 0xD9, 0x84, 0x00, 0x03, 0xB8, 0xEE, 0x3F, 0x4C, 0x5F, 0x11, 0x87, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0xE1, 0x00, 0xD9, 0x84, 0x00, 0x03, 0xB8, 0xEE - .byte 0xFF, 0x3F, 0x8F, 0x20, 0x89, 0x00, 0x98, 0x00, 0x92, 0x01, 0xFF, 0x00, 0x00, 0x04, 0x00, 0x04 - .byte 0xE2, 0x00, 0x84, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x2C, 0x4D, 0x00, 0x6F, 0x03 - .byte 0x8C, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xE3, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 - .byte 0x2C, 0x55, 0x7F, 0x2C, 0x8E, 0x00, 0x66, 0x00, 0x6B, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xE4, 0x00, 0xDA, 0xB4, 0x16, 0x03, 0xA8, 0xEE, 0x2E, 0x55, 0x7F, 0x2C, 0x8F, 0x00, 0x67, 0x00 - .byte 0x6C, 0x01, 0x7C, 0x00, 0x31, 0x04, 0x31, 0x04, 0xE5, 0x00, 0xDA, 0xB4, 0x00, 0x03, 0xB8, 0xAE - .byte 0xFF, 0x62, 0x7F, 0x2C, 0x90, 0x00, 0x68, 0x00, 0x6D, 0x01, 0x7D, 0x00, 0xE9, 0x03, 0xE9, 0x03 - .byte 0xE6, 0x00, 0xDA, 0xB4, 0x00, 0xC3, 0xB0, 0x0C, 0xFF, 0x3F, 0x0F, 0x11, 0x45, 0x00, 0x00, 0x01 - .byte 0xF5, 0x01, 0x93, 0x01, 0x0D, 0x04, 0x0D, 0x04, 0xE7, 0x00, 0xBF, 0xA9, 0x00, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x1A, 0x0F, 0x15, 0x49, 0x00, 0xA7, 0x03, 0xC4, 0x02, 0x70, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0xE8, 0x00, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x40, 0x0F, 0x15, 0x35, 0x00, 0x59, 0x00 - .byte 0x5E, 0x01, 0x70, 0x00, 0x37, 0x04, 0x37, 0x04, 0xE9, 0x00, 0xD5, 0xA9, 0x00, 0x43, 0x64, 0xA4 - .byte 0xFF, 0x40, 0x0F, 0x15, 0x36, 0x00, 0x5A, 0x00, 0x5F, 0x01, 0x71, 0x00, 0x37, 0x04, 0x37, 0x04 - .byte 0xEA, 0x00, 0xD5, 0xA9, 0x00, 0x43, 0x64, 0xA4, 0xFF, 0x40, 0x0F, 0x15, 0x37, 0x00, 0x5B, 0x00 - .byte 0x60, 0x01, 0x72, 0x00, 0x37, 0x04, 0x37, 0x04, 0xEB, 0x00, 0xD5, 0xA9, 0x00, 0x43, 0x64, 0xA4 - .byte 0x36, 0x4F, 0xEF, 0x14, 0x3F, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xEC, 0x00, 0xD8, 0x84, 0x00, 0x03, 0xA8, 0xEE, 0x37, 0x4F, 0xEF, 0x14, 0x40, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0xED, 0x00, 0xD8, 0x84, 0x00, 0x03, 0xA8, 0xEE - .byte 0x38, 0x4F, 0xEF, 0x14, 0x41, 0x00, 0x62, 0x00, 0x67, 0x01, 0x79, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xEE, 0x00, 0xD8, 0x84, 0x00, 0x03, 0xA8, 0xEE, 0x42, 0x56, 0x4F, 0x11, 0x92, 0x00, 0x6F, 0x00 - .byte 0x74, 0x01, 0x81, 0x00, 0x39, 0x04, 0x39, 0x04, 0xEF, 0x00, 0xDE, 0xB4, 0x00, 0x03, 0xA8, 0xEE - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 - .byte 0x00, 0x00, 0x51, 0xA2, 0x00, 0x01, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x28, 0x04, 0x28, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 - .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 - .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x6F, 0xA2, 0x00, 0x44, 0x00, 0xE4 - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 - .byte 0x00, 0x00, 0x6F, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x38, 0x7F, 0x1C, 0xE8, 0x00, 0x45, 0x00 - .byte 0x4A, 0x01, 0x60, 0x00, 0x2F, 0x04, 0x2F, 0x04, 0xF0, 0x00, 0x50, 0xA9, 0x00, 0x04, 0x61, 0xE4 - .byte 0xFF, 0x2C, 0x7F, 0x1C, 0x06, 0x01, 0x46, 0x00, 0x4B, 0x01, 0x03, 0x00, 0x2F, 0x04, 0x2F, 0x04 - .byte 0xF1, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x04, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00 - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 - .byte 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00 - .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 - .byte 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x26, 0x7F, 0x1C, 0x07, 0x01, 0x4B, 0x00 - .byte 0x50, 0x01, 0x63, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0xF2, 0x00, 0x50, 0xA9, 0x00, 0x04, 0x60, 0xE4 - .byte 0xFF, 0x5C, 0x7F, 0x1C, 0xE6, 0x00, 0x4C, 0x00, 0x51, 0x01, 0x64, 0x00, 0x2E, 0x04, 0x2E, 0x04 - .byte 0xF3, 0x00, 0x70, 0x91, 0x00, 0x81, 0x60, 0xF6, 0xFF, 0x2E, 0x7F, 0x1C, 0xE7, 0x00, 0x50, 0x00 - .byte 0x55, 0x01, 0x67, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0xF4, 0x00, 0x70, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x38, 0x0F, 0x00, 0xE8, 0x00, 0x53, 0x00, 0x58, 0x01, 0x03, 0x00, 0x2F, 0x04, 0x2F, 0x04 - .byte 0xF5, 0x00, 0x50, 0xA9, 0x00, 0x04, 0x60, 0xE0, 0xFF, 0x39, 0x7F, 0x1C, 0xE9, 0x00, 0x54, 0x00 - .byte 0x59, 0x01, 0x6B, 0x00, 0x77, 0x04, 0x77, 0x04, 0xF6, 0x00, 0x71, 0xA9, 0x00, 0x04, 0x61, 0x64 - .byte 0xFF, 0x3A, 0x7F, 0x1C, 0xEA, 0x00, 0x55, 0x00, 0x5A, 0x01, 0x6C, 0x00, 0x78, 0x04, 0x78, 0x04 - .byte 0xF7, 0x00, 0x74, 0xA9, 0x00, 0x04, 0x61, 0x64, 0xFF, 0x3B, 0x7F, 0x1C, 0xEB, 0x00, 0x56, 0x00 - .byte 0x5B, 0x01, 0x6D, 0x00, 0x7A, 0x04, 0x7A, 0x04, 0xF8, 0x00, 0x72, 0xA9, 0x00, 0x04, 0x61, 0x64 - .byte 0xFF, 0x3C, 0x7F, 0x1C, 0xEC, 0x00, 0x57, 0x00, 0x5C, 0x01, 0x6E, 0x00, 0x79, 0x04, 0x79, 0x04 - .byte 0xF9, 0x00, 0x73, 0xA9, 0x1A, 0x04, 0x61, 0x64, 0x52, 0x46, 0x5F, 0x28, 0x98, 0x00, 0x79, 0x00 - .byte 0x7E, 0x01, 0x88, 0x00, 0x09, 0x04, 0x09, 0x04, 0xFA, 0x00, 0xEA, 0xA4, 0x00, 0x03, 0x98, 0xE6 - .byte 0xFF, 0x5A, 0xAF, 0x18, 0x99, 0x00, 0x7A, 0x00, 0x7F, 0x01, 0x89, 0x00, 0x09, 0x04, 0x09, 0x04 - .byte 0xFB, 0x00, 0xE1, 0xD1, 0x00, 0x01, 0x28, 0xF6, 0xFF, 0x25, 0xAF, 0x18, 0x9A, 0x00, 0x7B, 0x00 - .byte 0x80, 0x01, 0x8A, 0x00, 0x6E, 0x04, 0x6E, 0x04, 0xFC, 0x00, 0xE1, 0xD9, 0x00, 0x44, 0x74, 0xE4 - .byte 0xFF, 0x25, 0xAF, 0x18, 0x9B, 0x00, 0x7C, 0x00, 0x81, 0x01, 0x8B, 0x00, 0x6E, 0x04, 0x6E, 0x04 - .byte 0xFD, 0x00, 0xE1, 0xD9, 0x00, 0x74, 0x64, 0xE4, 0xFF, 0x25, 0xAF, 0x18, 0x9C, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x6E, 0x04, 0x6E, 0x04, 0xFE, 0x00, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x25, 0xAF, 0x18, 0x9D, 0x00, 0x7D, 0x00, 0x82, 0x01, 0x8C, 0x00, 0x6E, 0x04, 0x6E, 0x04 - .byte 0xFF, 0x00, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x25, 0xAF, 0x18, 0x9E, 0x00, 0x7E, 0x00 - .byte 0x83, 0x01, 0x8D, 0x00, 0x6E, 0x04, 0x6E, 0x04, 0x00, 0x01, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x25, 0xAF, 0x18, 0x9F, 0x00, 0x7F, 0x00, 0x84, 0x01, 0x8E, 0x00, 0x6E, 0x04, 0x6E, 0x04 - .byte 0x01, 0x01, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x25, 0xAF, 0x18, 0xA0, 0x00, 0x80, 0x00 - .byte 0x85, 0x01, 0x8F, 0x00, 0x75, 0x04, 0x75, 0x04, 0x02, 0x01, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2A, 0x4F, 0x11, 0x95, 0x00, 0x70, 0x00, 0x75, 0x01, 0x82, 0x00, 0x39, 0x04, 0x39, 0x04 - .byte 0x03, 0x01, 0xDE, 0xB9, 0x00, 0x44, 0x84, 0xE4, 0xFF, 0x19, 0x4F, 0x15, 0x5F, 0x00, 0xB2, 0x03 - .byte 0xCF, 0x02, 0x79, 0x02, 0x03, 0x04, 0x03, 0x04, 0x04, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x5F, 0x15, 0x5F, 0x00, 0xB3, 0x03, 0xD0, 0x02, 0x7A, 0x02, 0x03, 0x04, 0x03, 0x04 - .byte 0x05, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x4F, 0x15, 0x5F, 0x00, 0xB4, 0x03 - .byte 0xD1, 0x02, 0x7B, 0x02, 0x03, 0x04, 0x03, 0x04, 0x06, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1B, 0x4F, 0x15, 0x68, 0x00, 0xAE, 0x03, 0xCB, 0x02, 0x76, 0x02, 0x28, 0x04, 0x28, 0x04 - .byte 0x07, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x15, 0x49, 0x00, 0xB0, 0x03 - .byte 0xCD, 0x02, 0x78, 0x02, 0x27, 0x04, 0x27, 0x04, 0x08, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0xFF, 0x04, 0x42, 0x00, 0xAB, 0x03, 0xC8, 0x02, 0x73, 0x02, 0x0D, 0x04, 0x0D, 0x04 - .byte 0x09, 0x01, 0x87, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x0F, 0x09, 0x5F, 0x00, 0xAC, 0x03 - .byte 0xC9, 0x02, 0x74, 0x02, 0x0D, 0x04, 0x0D, 0x04, 0x0A, 0x01, 0x87, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0xCF, 0x29, 0x42, 0x00, 0xDB, 0x00, 0xD0, 0x01, 0x6E, 0x01, 0x26, 0x04, 0x26, 0x04 - .byte 0x0B, 0x01, 0xAE, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0xCF, 0x2D, 0x93, 0x00, 0xDC, 0x00 - .byte 0xD1, 0x01, 0x6F, 0x01, 0x26, 0x04, 0x26, 0x04, 0x0C, 0x01, 0xAE, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x46, 0x7F, 0x31, 0xA4, 0x00, 0x72, 0x00, 0x77, 0x01, 0x83, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x0D, 0x01, 0xDF, 0xB4, 0x01, 0x03, 0xA8, 0xAE, 0xFF, 0x3F, 0xCF, 0x21, 0x96, 0x00, 0xD5, 0x00 - .byte 0xCA, 0x01, 0x69, 0x01, 0x26, 0x04, 0x26, 0x04, 0x0E, 0x01, 0xAE, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x1A, 0xCF, 0x19, 0x94, 0x00, 0x33, 0x03, 0x50, 0x02, 0x0A, 0x02, 0x3D, 0x04, 0x3D, 0x04 - .byte 0x0F, 0x01, 0x0F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x29, 0xCF, 0x19, 0xA5, 0x00, 0x34, 0x03 - .byte 0x51, 0x02, 0x0B, 0x02, 0x3D, 0x04, 0x3D, 0x04, 0x10, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xC4, 0x84 - .byte 0xFF, 0x29, 0xCF, 0x19, 0xA6, 0x00, 0x35, 0x03, 0x52, 0x02, 0x0C, 0x02, 0x3D, 0x04, 0x3D, 0x04 - .byte 0x11, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xD4, 0x84, 0xFF, 0x29, 0xCF, 0x19, 0xA7, 0x00, 0x36, 0x03 - .byte 0x53, 0x02, 0x0D, 0x02, 0x3D, 0x04, 0x3D, 0x04, 0x12, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xE4, 0x84 - .byte 0xFF, 0x29, 0xCF, 0x19, 0xA8, 0x00, 0x37, 0x03, 0x54, 0x02, 0x0E, 0x02, 0x3D, 0x04, 0x3D, 0x04 - .byte 0x13, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xF4, 0x84, 0xFF, 0x41, 0xCF, 0x19, 0xA9, 0x00, 0x38, 0x03 - .byte 0x55, 0x02, 0x0F, 0x02, 0x3D, 0x04, 0x3D, 0x04, 0x14, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0x04, 0x85 - .byte 0xFF, 0x41, 0xCF, 0x19, 0xAA, 0x00, 0x39, 0x03, 0x56, 0x02, 0x10, 0x02, 0x3D, 0x04, 0x3D, 0x04 - .byte 0x15, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0x60, 0x84, 0xFF, 0x2A, 0x9F, 0x39, 0xAB, 0x00, 0x9C, 0x00 - .byte 0x96, 0x01, 0x03, 0x01, 0x48, 0x04, 0x48, 0x04, 0x16, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2A, 0x9F, 0x39, 0xAC, 0x00, 0x9D, 0x00, 0x97, 0x01, 0x04, 0x01, 0x48, 0x04, 0x48, 0x04 - .byte 0x17, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x9F, 0x39, 0xAD, 0x00, 0x9E, 0x00 - .byte 0x98, 0x01, 0x05, 0x01, 0x48, 0x04, 0x48, 0x04, 0x18, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2A, 0x9F, 0x39, 0xAE, 0x00, 0x9F, 0x00, 0x99, 0x01, 0x03, 0x00, 0x48, 0x04, 0x48, 0x04 - .byte 0x19, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x9F, 0x39, 0xAF, 0x00, 0xA0, 0x00 - .byte 0x9A, 0x01, 0x03, 0x00, 0x48, 0x04, 0x48, 0x04, 0x1A, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x48, 0xDF, 0x20, 0x22, 0x00, 0x27, 0x00, 0x2C, 0x01, 0x4A, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x1B, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x20, 0x23, 0x00, 0x28, 0x00 - .byte 0x2D, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x1C, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 - .byte 0xFF, 0x48, 0xDF, 0x24, 0x22, 0x00, 0x29, 0x00, 0x2E, 0x01, 0x4B, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x1D, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0x0A, 0x69, 0xDF, 0x20, 0x25, 0x00, 0x2A, 0x00 - .byte 0x2F, 0x01, 0x4C, 0x00, 0x32, 0x04, 0x32, 0x04, 0x1E, 0x01, 0xD1, 0x94, 0x00, 0x03, 0x88, 0xEC - .byte 0xFF, 0x48, 0xDF, 0x24, 0x22, 0x00, 0x2B, 0x00, 0x30, 0x01, 0x4D, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x1F, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0x27, 0x00, 0x2C, 0x00 - .byte 0x31, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x20, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 - .byte 0xFF, 0x48, 0xDF, 0x24, 0x22, 0x00, 0x2D, 0x00, 0x32, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x21, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0x29, 0x00, 0x2E, 0x00 - .byte 0x33, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x22, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 - .byte 0xFF, 0x48, 0xDF, 0x24, 0xB4, 0x00, 0x2F, 0x00, 0x34, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x23, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x3D, 0xDF, 0x20, 0x11, 0x01, 0x26, 0x00 - .byte 0x2B, 0x01, 0x49, 0x00, 0x31, 0x04, 0x31, 0x04, 0x24, 0x01, 0xD1, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x7F, 0x31, 0x42, 0x00, 0xDE, 0x00, 0xD3, 0x01, 0x72, 0x01, 0x26, 0x04, 0x26, 0x04 - .byte 0x25, 0x01, 0xAF, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x69, 0xDF, 0x20, 0xB5, 0x00, 0x30, 0x00 - .byte 0x35, 0x01, 0x4F, 0x00, 0x31, 0x04, 0x31, 0x04, 0x26, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 - .byte 0xFF, 0x48, 0xDF, 0x20, 0xB6, 0x00, 0x31, 0x00, 0x36, 0x01, 0x50, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x27, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0xB6, 0x00, 0x32, 0x00 - .byte 0x37, 0x01, 0x51, 0x00, 0x31, 0x04, 0x31, 0x04, 0x28, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 - .byte 0xFF, 0x48, 0xDF, 0x24, 0xB6, 0x00, 0x33, 0x00, 0x38, 0x01, 0x52, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x29, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0xB6, 0x00, 0x34, 0x00 - .byte 0x39, 0x01, 0x53, 0x00, 0x31, 0x04, 0x31, 0x04, 0x2A, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 - .byte 0xFF, 0x2A, 0x9F, 0x39, 0xB0, 0x00, 0xA1, 0x00, 0x9B, 0x01, 0x06, 0x01, 0x48, 0x04, 0x48, 0x04 - .byte 0x2B, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x9F, 0x39, 0xB1, 0x00, 0xA2, 0x00 - .byte 0x9C, 0x01, 0x07, 0x01, 0x48, 0x04, 0x48, 0x04, 0x2C, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x84, 0xE4 - .byte 0xFF, 0x5E, 0x8F, 0x20, 0xB2, 0x00, 0x99, 0x00, 0x93, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04 - .byte 0x2D, 0x01, 0x84, 0xA1, 0x00, 0x01, 0x28, 0xF4, 0xFF, 0x1B, 0xBF, 0x30, 0xB3, 0x00, 0xEE, 0x00 - .byte 0xE3, 0x01, 0x81, 0x01, 0x08, 0x04, 0x08, 0x04, 0x2E, 0x01, 0xB6, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0x1E, 0x4D, 0xCF, 0x10, 0x10, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 - .byte 0x2F, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x1F, 0x4D, 0xCF, 0x10, 0x11, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x30, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC - .byte 0x20, 0x4D, 0xCF, 0x10, 0x12, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 - .byte 0x31, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x21, 0x4D, 0xCF, 0x10, 0x13, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x32, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC - .byte 0x22, 0x4D, 0xCF, 0x10, 0x14, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 - .byte 0x33, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x23, 0x4D, 0xCF, 0x10, 0x15, 0x00, 0x14, 0x00 - .byte 0x19, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x34, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC - .byte 0x24, 0x4D, 0xCF, 0x10, 0x16, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 - .byte 0x35, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x25, 0x4D, 0xCF, 0x10, 0x17, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x36, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC - .byte 0xFF, 0x5B, 0xCF, 0x10, 0x18, 0x00, 0x15, 0x00, 0x1A, 0x01, 0x3A, 0x00, 0xE9, 0x03, 0xE9, 0x03 - .byte 0x37, 0x01, 0xCD, 0x94, 0x00, 0xD3, 0x20, 0x34, 0x54, 0x4D, 0xCF, 0x10, 0xB7, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x38, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xAC - .byte 0x53, 0x46, 0x4F, 0x30, 0xB8, 0x00, 0x81, 0x00, 0x86, 0x01, 0x90, 0x00, 0x85, 0x04, 0x85, 0x04 - .byte 0x39, 0x01, 0xE4, 0xB4, 0x00, 0x03, 0x98, 0xEE, 0xFF, 0x4B, 0x0F, 0x00, 0xC5, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 - .byte 0xFF, 0x4B, 0x0F, 0x00, 0xC6, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xC7, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 - .byte 0xFF, 0x4B, 0x0F, 0x00, 0xC8, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xC9, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 - .byte 0xFF, 0x4B, 0x0F, 0x00, 0xCA, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xCB, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 - .byte 0xFF, 0x4B, 0x0F, 0x00, 0xCC, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xCD, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 - .byte 0xFF, 0x4B, 0x0F, 0x00, 0xCE, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xCF, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 - .byte 0xFF, 0x4B, 0x0F, 0x00, 0xD0, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xD1, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 - .byte 0xFF, 0x4B, 0x0F, 0x00, 0xD2, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0x5B, 0x4B, 0x0F, 0x00, 0xD4, 0x00, 0x78, 0x00 - .byte 0x7D, 0x01, 0x03, 0x00, 0x87, 0x04, 0x87, 0x04, 0x3A, 0x01, 0xCA, 0x89, 0x00, 0x02, 0x08, 0xA6 - .byte 0xFF, 0x1A, 0x8F, 0x26, 0x49, 0x00, 0x0B, 0x03, 0x28, 0x02, 0xE6, 0x01, 0x27, 0x04, 0x27, 0x04 - .byte 0x3B, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x8F, 0x26, 0x4D, 0x00, 0x0C, 0x03 - .byte 0x29, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x3C, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1B, 0x8F, 0x26, 0x68, 0x00, 0x09, 0x03, 0x26, 0x02, 0xE4, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0x3D, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x26, 0x5F, 0x00, 0x0D, 0x03 - .byte 0x2A, 0x02, 0xE7, 0x01, 0x0E, 0x04, 0x0E, 0x04, 0x3E, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x28, 0x8F, 0x26, 0xB9, 0x00, 0x0E, 0x03, 0x2B, 0x02, 0xE8, 0x01, 0x0E, 0x04, 0x0E, 0x04 - .byte 0x3F, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x26, 0x5F, 0x00, 0x0F, 0x03 - .byte 0x2C, 0x02, 0xE9, 0x01, 0x0E, 0x04, 0x0E, 0x04, 0x40, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x8F, 0x26, 0x5F, 0x00, 0x10, 0x03, 0x2D, 0x02, 0xEA, 0x01, 0x0E, 0x04, 0x0E, 0x04 - .byte 0x41, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x31, 0x8F, 0x26, 0xFF, 0x00, 0x0A, 0x03 - .byte 0x27, 0x02, 0xE5, 0x01, 0x29, 0x04, 0x29, 0x04, 0x42, 0x01, 0x8F, 0xC9, 0x01, 0x94, 0x64, 0xA4 - .byte 0xFF, 0x3F, 0x7F, 0x20, 0x45, 0x00, 0xC3, 0x03, 0xDC, 0x02, 0xE9, 0x02, 0x0A, 0x04, 0x0A, 0x04 - .byte 0x43, 0x01, 0xBC, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x1A, 0x8F, 0x20, 0x4D, 0x00, 0x93, 0x03 - .byte 0xB0, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x44, 0x01, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x0F, 0x15, 0x4D, 0x00, 0xA8, 0x03, 0xC5, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x45, 0x01, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x15, 0x4D, 0x00, 0xB1, 0x03 - .byte 0xCE, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x46, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x27, 0x5F, 0x1E, 0xD7, 0x00, 0x15, 0x03, 0x32, 0x02, 0xEE, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0x47, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x5F, 0x1E, 0xD8, 0x00, 0x16, 0x03 - .byte 0x33, 0x02, 0xEF, 0x01, 0x28, 0x04, 0x28, 0x04, 0x48, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x27, 0x5F, 0x1E, 0xD9, 0x00, 0x17, 0x03, 0x34, 0x02, 0xF0, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0x49, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x5F, 0x1E, 0xDA, 0x00, 0x18, 0x03 - .byte 0x35, 0x02, 0xF1, 0x01, 0x28, 0x04, 0x28, 0x04, 0x4A, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x27, 0x5F, 0x1E, 0xDB, 0x00, 0x19, 0x03, 0x36, 0x02, 0xF2, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0x4B, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x5F, 0x1E, 0xDC, 0x00, 0x1A, 0x03 - .byte 0x37, 0x02, 0xF3, 0x01, 0x28, 0x04, 0x28, 0x04, 0x4C, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x27, 0x6F, 0x1E, 0xDD, 0x00, 0x1C, 0x03, 0x39, 0x02, 0xF5, 0x01, 0x12, 0x04, 0x12, 0x04 - .byte 0x4D, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x6F, 0x1E, 0xDE, 0x00, 0x1D, 0x03 - .byte 0x3A, 0x02, 0xF6, 0x01, 0x12, 0x04, 0x12, 0x04, 0x4E, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x27, 0x6F, 0x1E, 0xDF, 0x00, 0x1E, 0x03, 0x3B, 0x02, 0xF7, 0x01, 0x12, 0x04, 0x12, 0x04 - .byte 0x4F, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x5F, 0x6F, 0x1E, 0xE0, 0x00, 0x1F, 0x03 - .byte 0x3C, 0x02, 0xF8, 0x01, 0x12, 0x04, 0x12, 0x04, 0x50, 0x01, 0x90, 0xC9, 0x01, 0x31, 0x64, 0xF4 - .byte 0xFF, 0x28, 0x6F, 0x1E, 0xE1, 0x00, 0x20, 0x03, 0x3D, 0x02, 0xF9, 0x01, 0x12, 0x04, 0x12, 0x04 - .byte 0x51, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x28, 0x6F, 0x1E, 0xD5, 0x00, 0x23, 0x03 - .byte 0x40, 0x02, 0xFC, 0x01, 0x2D, 0x04, 0x2D, 0x04, 0x52, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x28, 0x6F, 0x1E, 0xD6, 0x00, 0x24, 0x03, 0x41, 0x02, 0xFD, 0x01, 0x2D, 0x04, 0x2D, 0x04 - .byte 0x53, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x28, 0x6F, 0x22, 0xE2, 0x00, 0x25, 0x03 - .byte 0x42, 0x02, 0xFE, 0x01, 0x12, 0x04, 0x12, 0x04, 0x54, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x5F, 0x31, 0x48, 0x00, 0x51, 0x03, 0x6E, 0x02, 0x25, 0x02, 0xFA, 0x03, 0xFA, 0x03 - .byte 0x55, 0x01, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x28, 0x5F, 0x00, 0x74, 0x03 - .byte 0x91, 0x02, 0x44, 0x02, 0x01, 0x04, 0x01, 0x04, 0x56, 0x01, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x27, 0x8F, 0x2A, 0xBA, 0x00, 0x9A, 0x00, 0x94, 0x01, 0x01, 0x01, 0x0E, 0x04, 0x0E, 0x04 - .byte 0x57, 0x01, 0x8F, 0xA9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x5E, 0x8F, 0x2A, 0xD3, 0x00, 0x9B, 0x00 - .byte 0x95, 0x01, 0x02, 0x01, 0x0E, 0x04, 0x0E, 0x04, 0x58, 0x01, 0x8F, 0xA1, 0x01, 0x01, 0x28, 0xF4 - .byte 0xFF, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xC2, 0x00, 0xB7, 0x01, 0x57, 0x01, 0x1E, 0x04, 0x1E, 0x04 - .byte 0x59, 0x01, 0x9E, 0xC3, 0x01, 0x02, 0x48, 0xF6, 0xFF, 0x3F, 0x8F, 0x22, 0x45, 0x00, 0xB9, 0x00 - .byte 0xAE, 0x01, 0x4F, 0x01, 0x1C, 0x04, 0x1C, 0x04, 0x5A, 0x01, 0x9A, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0xAF, 0x1E, 0x46, 0x00, 0xBD, 0x00, 0xB2, 0x01, 0x53, 0x01, 0x1E, 0x04, 0x1E, 0x04 - .byte 0x5B, 0x01, 0x9C, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x8F, 0x16, 0x45, 0x00, 0xB6, 0x00 - .byte 0xAB, 0x01, 0x4C, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0x5C, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0x7F, 0x36, 0x46, 0x00, 0xCC, 0x00, 0xC1, 0x01, 0x61, 0x01, 0x24, 0x04, 0x24, 0x04 - .byte 0x5D, 0x01, 0xA3, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x1A, 0x6F, 0x1E, 0x49, 0x00, 0x13, 0x03 - .byte 0x30, 0x02, 0xED, 0x01, 0x27, 0x04, 0x27, 0x04, 0x5E, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x6F, 0x1E, 0x4D, 0x00, 0x14, 0x03, 0x31, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x5F, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x34, 0x6F, 0x1E, 0x02, 0x01, 0x12, 0x03 - .byte 0x2F, 0x02, 0xEC, 0x01, 0x29, 0x04, 0x29, 0x04, 0x60, 0x01, 0x90, 0xC9, 0x01, 0x04, 0x64, 0xA4 - .byte 0xFF, 0x22, 0x0F, 0x15, 0xE4, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x29, 0x04, 0x29, 0x04 - .byte 0x61, 0x01, 0x86, 0xA9, 0x00, 0x04, 0x74, 0xA4, 0xFF, 0x22, 0x0F, 0x15, 0x5D, 0x00, 0xA6, 0x03 - .byte 0xC3, 0x02, 0x6F, 0x02, 0x29, 0x04, 0x29, 0x04, 0x62, 0x01, 0x86, 0xA9, 0x00, 0x04, 0x74, 0xA4 - .byte 0xFF, 0x28, 0x9F, 0x1A, 0xC0, 0x00, 0x40, 0x03, 0x5D, 0x02, 0x15, 0x02, 0x0F, 0x04, 0x0F, 0x04 - .byte 0x63, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x9F, 0x1E, 0x61, 0x00, 0x41, 0x03 - .byte 0x5E, 0x02, 0x16, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x64, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x30, 0x8F, 0x1A, 0xBB, 0x00, 0x42, 0x03, 0x5F, 0x02, 0x17, 0x02, 0x0F, 0x04, 0x0F, 0x04 - .byte 0x65, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x30, 0x8F, 0x1A, 0xBC, 0x00, 0x43, 0x03 - .byte 0x60, 0x02, 0x18, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x66, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x60, 0xE4 - .byte 0xFF, 0x27, 0x8F, 0x1E, 0xBD, 0x00, 0x45, 0x03, 0x62, 0x02, 0x19, 0x02, 0x0F, 0x04, 0x0F, 0x04 - .byte 0x67, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x8F, 0x1E, 0xF1, 0x00, 0x46, 0x03 - .byte 0x63, 0x02, 0x1A, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x68, 0x01, 0x79, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x27, 0x8F, 0x1A, 0xBE, 0x00, 0x48, 0x03, 0x65, 0x02, 0x1C, 0x02, 0x0F, 0x04, 0x0F, 0x04 - .byte 0x69, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x8F, 0x1A, 0xBF, 0x00, 0x49, 0x03 - .byte 0x66, 0x02, 0x1D, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x6A, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x28, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0F, 0x04, 0x0F, 0x04 - .byte 0x00, 0x00, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x8F, 0x1E, 0x49, 0x00, 0x3E, 0x03 - .byte 0x5B, 0x02, 0x14, 0x02, 0x27, 0x04, 0x27, 0x04, 0x6B, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x8F, 0x1E, 0x4D, 0x00, 0x3F, 0x03, 0x5C, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0x6C, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0x9F, 0x1A, 0x68, 0x00, 0x3C, 0x03 - .byte 0x59, 0x02, 0x12, 0x02, 0x28, 0x04, 0x28, 0x04, 0x6D, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x32, 0x9F, 0x1A, 0x00, 0x01, 0x3D, 0x03, 0x5A, 0x02, 0x13, 0x02, 0x29, 0x04, 0x29, 0x04 - .byte 0x6E, 0x01, 0x94, 0xC9, 0x01, 0x04, 0x64, 0xA4, 0xFF, 0x5D, 0x7F, 0x1C, 0xF0, 0x00, 0x51, 0x00 - .byte 0x56, 0x01, 0x68, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x6F, 0x01, 0xE5, 0x91, 0x00, 0x81, 0x28, 0xF2 - .byte 0xFF, 0x2D, 0x9F, 0x28, 0xEE, 0x00, 0x8C, 0x03, 0xA9, 0x02, 0x59, 0x02, 0x82, 0x04, 0x82, 0x04 - .byte 0x70, 0x01, 0x76, 0x59, 0x00, 0x44, 0x60, 0xE4, 0xFF, 0x2D, 0x9F, 0x28, 0xEF, 0x00, 0x8D, 0x03 - .byte 0xAA, 0x02, 0x5A, 0x02, 0x82, 0x04, 0x82, 0x04, 0x71, 0x01, 0x76, 0x59, 0x00, 0x44, 0x60, 0xE4 - .byte 0x88, 0x11, 0x0F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x9F, 0x01, 0x41, 0x01, 0x21, 0x04, 0x21, 0x04 - .byte 0x72, 0x01, 0x96, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0xFF, 0x19, 0x4F, 0x22, 0x42, 0x00, 0xCE, 0x00 - .byte 0xC3, 0x01, 0x63, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0x73, 0x01, 0xA4, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x10, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x22, 0x04, 0x22, 0x04 - .byte 0x00, 0x00, 0xA8, 0xC6, 0x01, 0x02, 0x68, 0xF6, 0xFF, 0x19, 0x0F, 0x12, 0x42, 0x00, 0xAB, 0x00 - .byte 0xA0, 0x01, 0x42, 0x01, 0x21, 0x04, 0x21, 0x04, 0x74, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x3F, 0x0F, 0x1A, 0x45, 0x00, 0xAC, 0x00, 0xA1, 0x01, 0x43, 0x01, 0x21, 0x04, 0x21, 0x04 - .byte 0x75, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x0F, 0x1A, 0x45, 0x00, 0xAD, 0x00 - .byte 0xA2, 0x01, 0x44, 0x01, 0x21, 0x04, 0x21, 0x04, 0x76, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0x0F, 0x12, 0x45, 0x00, 0xAE, 0x00, 0xA3, 0x01, 0x45, 0x01, 0x21, 0x04, 0x21, 0x04 - .byte 0x77, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x4F, 0x22, 0x46, 0x00, 0xCF, 0x00 - .byte 0xC4, 0x01, 0x64, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0x78, 0x01, 0xA4, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0x7D, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0xD0, 0x00, 0xC5, 0x01, 0x03, 0x00, 0x1F, 0x04, 0x1F, 0x04 - .byte 0x79, 0x01, 0xA4, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0xFF, 0x3F, 0x4F, 0x36, 0x46, 0x00, 0xD3, 0x00 - .byte 0xC8, 0x01, 0x67, 0x01, 0x20, 0x04, 0x20, 0x04, 0x7A, 0x01, 0xA6, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x3F, 0x5F, 0x3A, 0x45, 0x00, 0xBF, 0x03, 0xD8, 0x02, 0xE5, 0x02, 0x20, 0x04, 0x20, 0x04 - .byte 0x7B, 0x01, 0xA7, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0xBF, 0x26, 0x46, 0x00, 0xC6, 0x00 - .byte 0xBB, 0x01, 0x5B, 0x01, 0x23, 0x04, 0x23, 0x04, 0x7C, 0x01, 0x9F, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x1B, 0x8F, 0x12, 0x68, 0x00, 0xF7, 0x02, 0x14, 0x02, 0xD4, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0x7D, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x33, 0x9F, 0x12, 0x01, 0x01, 0xF8, 0x02 - .byte 0x15, 0x02, 0xD5, 0x01, 0x29, 0x04, 0x29, 0x04, 0x7E, 0x01, 0x8D, 0xC9, 0x01, 0x04, 0x64, 0xA4 - .byte 0xFF, 0x1A, 0x8F, 0x12, 0x49, 0x00, 0xF9, 0x02, 0x16, 0x02, 0xD6, 0x01, 0x27, 0x04, 0x27, 0x04 - .byte 0x7F, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x0E, 0x60, 0x00, 0xFB, 0x02 - .byte 0x18, 0x02, 0xD7, 0x01, 0x10, 0x04, 0x10, 0x04, 0x80, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x9F, 0x0E, 0x61, 0x00, 0xFC, 0x02, 0x19, 0x02, 0xD8, 0x01, 0x10, 0x04, 0x10, 0x04 - .byte 0x81, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x12, 0x60, 0x00, 0xFD, 0x02 - .byte 0x1A, 0x02, 0xD9, 0x01, 0x10, 0x04, 0x10, 0x04, 0x82, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1B, 0x8F, 0x12, 0x12, 0x01, 0xFE, 0x02, 0x1B, 0x02, 0xDA, 0x01, 0x10, 0x04, 0x10, 0x04 - .byte 0x83, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0xCF, 0x1E, 0x68, 0x00, 0x00, 0x03 - .byte 0x1D, 0x02, 0xDC, 0x01, 0x28, 0x04, 0x28, 0x04, 0x84, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xCF, 0x1E, 0x49, 0x00, 0x01, 0x03, 0x1E, 0x02, 0xDD, 0x01, 0x27, 0x04, 0x27, 0x04 - .byte 0x85, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x28, 0xCF, 0x1E, 0xC1, 0x00, 0x03, 0x03 - .byte 0x20, 0x02, 0xDE, 0x01, 0x11, 0x04, 0x11, 0x04, 0x86, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0xCF, 0x1E, 0x60, 0x00, 0x04, 0x03, 0x21, 0x02, 0xDF, 0x01, 0x11, 0x04, 0x11, 0x04 - .byte 0x87, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0xCF, 0x1E, 0x8C, 0x00, 0x05, 0x03 - .byte 0x22, 0x02, 0xE0, 0x01, 0x11, 0x04, 0x11, 0x04, 0x88, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x28, 0xCF, 0x1E, 0xC2, 0x00, 0x06, 0x03, 0x23, 0x02, 0xE1, 0x01, 0x11, 0x04, 0x11, 0x04 - .byte 0x89, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0xCF, 0x1E, 0xC3, 0x00, 0x07, 0x03 - .byte 0x24, 0x02, 0xE2, 0x01, 0x11, 0x04, 0x11, 0x04, 0x8A, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2B, 0xBF, 0x06, 0xFE, 0x00, 0xD9, 0x00, 0xCE, 0x01, 0x6C, 0x01, 0x25, 0x04, 0x25, 0x04 - .byte 0x8B, 0x01, 0xAD, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0xBF, 0x2C, 0x06, 0x01, 0x89, 0x03 - .byte 0xA6, 0x02, 0x56, 0x02, 0x28, 0x04, 0x28, 0x04, 0x8C, 0x01, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2C, 0x5F, 0x1E, 0x06, 0x01, 0x1B, 0x03, 0x38, 0x02, 0xF4, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0x8D, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0x6F, 0x1E, 0x06, 0x01, 0x21, 0x03 - .byte 0x3E, 0x02, 0xFA, 0x01, 0x12, 0x04, 0x12, 0x04, 0x8E, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2C, 0x6F, 0x1E, 0x06, 0x01, 0x22, 0x03, 0x3F, 0x02, 0xFB, 0x01, 0x12, 0x04, 0x12, 0x04 - .byte 0x8F, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0x8F, 0x1E, 0x06, 0x01, 0x47, 0x03 - .byte 0x64, 0x02, 0x1B, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x90, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2C, 0x9F, 0x20, 0x06, 0x01, 0x43, 0x00, 0x48, 0x01, 0x5F, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0x91, 0x01, 0xD4, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0xAF, 0x28, 0x06, 0x01, 0x23, 0x00 - .byte 0x28, 0x01, 0x47, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x92, 0x01, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0x6B, 0x46, 0x4F, 0x0E, 0x04, 0x00, 0x08, 0x00, 0x0D, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0x93, 0x01, 0xC6, 0xC4, 0x01, 0x03, 0x98, 0xEE, 0x48, 0x61, 0x4F, 0x0E, 0x05, 0x00, 0x09, 0x00 - .byte 0x0E, 0x01, 0x32, 0x00, 0x31, 0x04, 0x31, 0x04, 0x94, 0x01, 0xC6, 0xC4, 0x01, 0x02, 0x08, 0xF6 - .byte 0x8C, 0x49, 0x8F, 0x0E, 0x4F, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 - .byte 0x95, 0x01, 0xC7, 0xA4, 0x17, 0x03, 0x98, 0xEE, 0x8D, 0x49, 0x8F, 0x0E, 0x50, 0x00, 0x0B, 0x00 - .byte 0x10, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04, 0x96, 0x01, 0xC7, 0xA4, 0x17, 0x03, 0xA8, 0xEE - .byte 0x6D, 0x53, 0xCF, 0x12, 0x07, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 - .byte 0x97, 0x01, 0xC8, 0xC4, 0x17, 0x03, 0xA8, 0xEE, 0x4B, 0x68, 0x3F, 0x3E, 0x52, 0x00, 0x0D, 0x00 - .byte 0x12, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0x98, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xA8, 0xEE - .byte 0x4C, 0x68, 0x3F, 0x3E, 0x53, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 - .byte 0x99, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xEE, 0x4D, 0x68, 0x3F, 0x3E, 0x54, 0x00, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0x9A, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xEE - .byte 0x4E, 0x68, 0x3F, 0x3E, 0x55, 0x00, 0x0E, 0x00, 0x13, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 - .byte 0x9B, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xEE, 0xFF, 0x51, 0x3F, 0x3E, 0x08, 0x01, 0x0F, 0x00 - .byte 0x14, 0x01, 0x35, 0x00, 0x29, 0x04, 0x29, 0x04, 0x9C, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xAC - .byte 0xFF, 0x46, 0x0F, 0x00, 0x08, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 - .byte 0x00, 0x00, 0xCB, 0xA4, 0x01, 0x03, 0x98, 0xE8, 0x59, 0x60, 0x9F, 0x21, 0x0A, 0x01, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0x9D, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x58, 0xF4 - .byte 0x57, 0x66, 0x9F, 0x21, 0x0B, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0x9E, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x48, 0xF6, 0x58, 0x50, 0x9F, 0x21, 0x0C, 0x01, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0x9F, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0xA8, 0xEE - .byte 0x4F, 0x50, 0x9F, 0x21, 0x0D, 0x01, 0x6A, 0x00, 0x6F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0xA0, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0xA8, 0xEE, 0x50, 0x50, 0x9F, 0x21, 0x0E, 0x01, 0x8B, 0x00 - .byte 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0xA1, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x98, 0xEE - .byte 0x51, 0x50, 0x9F, 0x21, 0x0F, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 - .byte 0xA2, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x98, 0xEE, 0xFF, 0x60, 0x9F, 0x21, 0x10, 0x01, 0x6B, 0x00 - .byte 0x70, 0x01, 0x7E, 0x00, 0xE9, 0x03, 0xE9, 0x03, 0xA3, 0x01, 0xDB, 0xA4, 0x0A, 0x03, 0x58, 0xF4 - .byte 0xFF, 0x1A, 0xCF, 0x12, 0x49, 0x00, 0xC0, 0x00, 0xB5, 0x01, 0x56, 0x01, 0x27, 0x04, 0x27, 0x04 - .byte 0xA4, 0x01, 0x9E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0xCF, 0x16, 0xFB, 0x00, 0xC3, 0x00 - .byte 0xB8, 0x01, 0x58, 0x01, 0x14, 0x04, 0x14, 0x04, 0xA5, 0x01, 0xC9, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2C, 0x0F, 0x00, 0xFC, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x1D, 0x04, 0x1D, 0x04 - .byte 0x00, 0x00, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE0, 0xFF, 0x2C, 0x8F, 0x16, 0xFD, 0x00, 0xB4, 0x00 - .byte 0xA9, 0x01, 0x4A, 0x01, 0x3A, 0x04, 0x3A, 0x04, 0xA6, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x2C, 0x8F, 0x22, 0xFD, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 - .byte 0xA7, 0x01, 0x9A, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x2C, 0x0F, 0x0A, 0xF2, 0x00, 0xF3, 0x02 - .byte 0x10, 0x02, 0xD0, 0x01, 0x14, 0x04, 0x14, 0x04, 0xA8, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0x0F, 0x0E, 0x42, 0x00, 0xF4, 0x02, 0x11, 0x02, 0xD1, 0x01, 0x14, 0x04, 0x14, 0x04 - .byte 0xA9, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x36, 0x0F, 0x0A, 0x04, 0x01, 0xF0, 0x02 - .byte 0x0D, 0x02, 0xCE, 0x01, 0x29, 0x04, 0x29, 0x04, 0xAA, 0x01, 0x8C, 0xC9, 0x01, 0x04, 0x64, 0xA4 - .byte 0xFF, 0x1B, 0x1F, 0x0E, 0x68, 0x00, 0xEF, 0x02, 0x0C, 0x02, 0xCD, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0xAB, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x0F, 0x0E, 0x49, 0x00, 0xF1, 0x02 - .byte 0x0E, 0x02, 0xCF, 0x01, 0x27, 0x04, 0x27, 0x04, 0xAC, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x0F, 0x0E, 0x4D, 0x00, 0xF2, 0x02, 0x0F, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xAD, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x1F, 0x0A, 0x42, 0x00, 0xF5, 0x02 - .byte 0x12, 0x02, 0xD2, 0x01, 0x14, 0x04, 0x14, 0x04, 0xAE, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1B, 0x5F, 0x36, 0x68, 0x00, 0x28, 0x03, 0x45, 0x02, 0x01, 0x02, 0x28, 0x04, 0x28, 0x04 - .byte 0xAF, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0x5F, 0x32, 0xF3, 0x00, 0x2C, 0x03 - .byte 0x49, 0x02, 0x04, 0x02, 0x13, 0x04, 0x13, 0x04, 0xB0, 0x01, 0x37, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x35, 0x5F, 0x36, 0x03, 0x01, 0x29, 0x03, 0x46, 0x02, 0x02, 0x02, 0x29, 0x04, 0x29, 0x04 - .byte 0xB1, 0x01, 0x91, 0xC9, 0x01, 0xE4, 0x64, 0xA4, 0xFF, 0x19, 0x5F, 0x36, 0x60, 0x00, 0x2D, 0x03 - .byte 0x4A, 0x02, 0x05, 0x02, 0x13, 0x04, 0x13, 0x04, 0xB2, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x5F, 0x36, 0x49, 0x00, 0x2A, 0x03, 0x47, 0x02, 0x03, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0xB3, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x6F, 0x36, 0x61, 0x00, 0x2E, 0x03 - .byte 0x4B, 0x02, 0x06, 0x02, 0x13, 0x04, 0x13, 0x04, 0xB4, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0xCF, 0x12, 0x4D, 0x00, 0xC1, 0x00, 0xB6, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xB5, 0x01, 0x9E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x36, 0x4D, 0x00, 0x2B, 0x03 - .byte 0x48, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xB6, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0x30, 0x62, 0x7F, 0x2C, 0x13, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xB7, 0x01, 0xDA, 0xB4, 0x00, 0xA3, 0xB8, 0x8E, 0x18, 0x47, 0xBF, 0x1C, 0x1B, 0x00, 0x1A, 0x00 - .byte 0x1F, 0x01, 0x3F, 0x00, 0x44, 0x04, 0x44, 0x04, 0xB8, 0x01, 0xCF, 0x97, 0x00, 0x01, 0x08, 0xA4 - .byte 0xFF, 0x47, 0xBF, 0x1C, 0x1B, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x33, 0x04, 0x33, 0x04 - .byte 0x00, 0x00, 0xCF, 0x97, 0x00, 0x01, 0x08, 0xA6, 0xFF, 0x2C, 0xCF, 0x16, 0x14, 0x01, 0xC4, 0x00 - .byte 0xB9, 0x01, 0x59, 0x01, 0x14, 0x04, 0x14, 0x04, 0xB9, 0x01, 0xC9, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0x0B, 0x69, 0xDF, 0x20, 0x25, 0x00, 0x35, 0x00, 0x3A, 0x01, 0x54, 0x00, 0x32, 0x04, 0x32, 0x04 - .byte 0xBA, 0x01, 0xD1, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x0D, 0x69, 0xDF, 0x20, 0xB5, 0x00, 0x36, 0x00 - .byte 0x3B, 0x01, 0x55, 0x00, 0x32, 0x04, 0x32, 0x04, 0xBB, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 - .byte 0x0C, 0x69, 0xDF, 0x20, 0x25, 0x00, 0x37, 0x00, 0x3C, 0x01, 0x56, 0x00, 0x32, 0x04, 0x32, 0x04 - .byte 0xBC, 0x01, 0xD1, 0x94, 0x00, 0x03, 0x88, 0xEC, 0xFF, 0x3F, 0x7F, 0x1E, 0x46, 0x00, 0xBB, 0x00 - .byte 0xB0, 0x01, 0x51, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0xBD, 0x01, 0x9B, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x1A, 0xCF, 0x1E, 0x4D, 0x00, 0x02, 0x03, 0x1F, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xBE, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x8F, 0x12, 0x4D, 0x00, 0xFA, 0x02 - .byte 0x17, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xBF, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x37, 0x0F, 0x1E, 0x05, 0x01, 0xE7, 0x02, 0x04, 0x02, 0xC6, 0x01, 0x29, 0x04, 0x29, 0x04 - .byte 0xC0, 0x01, 0x8B, 0xC9, 0x01, 0x04, 0x64, 0xA4, 0xFF, 0x19, 0x0F, 0x1E, 0x60, 0x00, 0xEA, 0x02 - .byte 0x07, 0x02, 0xC8, 0x01, 0x15, 0x04, 0x15, 0x04, 0xC1, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2B, 0x0F, 0x1E, 0xF4, 0x00, 0xEB, 0x02, 0x08, 0x02, 0xC9, 0x01, 0x15, 0x04, 0x15, 0x04 - .byte 0xC2, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x1E, 0xF5, 0x00, 0xEC, 0x02 - .byte 0x09, 0x02, 0xCA, 0x01, 0x15, 0x04, 0x15, 0x04, 0xC3, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x60, 0xE4 - .byte 0xFF, 0x1B, 0x0F, 0x1E, 0x68, 0x00, 0xE6, 0x02, 0x03, 0x02, 0xC5, 0x01, 0x28, 0x04, 0x28, 0x04 - .byte 0xC4, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x0F, 0x22, 0x49, 0x00, 0xE8, 0x02 - .byte 0x05, 0x02, 0xC7, 0x01, 0x27, 0x04, 0x27, 0x04, 0xC5, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x0F, 0x22, 0x4D, 0x00, 0xE9, 0x02, 0x06, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xC6, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x2E, 0xF6, 0x00, 0xE0, 0x02 - .byte 0xFD, 0x01, 0xBF, 0x01, 0x16, 0x04, 0x16, 0x04, 0xC7, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2B, 0x0F, 0x2E, 0xF8, 0x00, 0xE2, 0x02, 0xFF, 0x01, 0xC1, 0x01, 0x16, 0x04, 0x16, 0x04 - .byte 0xC8, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x2E, 0xFA, 0x00, 0xE4, 0x02 - .byte 0x01, 0x02, 0xC3, 0x01, 0x16, 0x04, 0x16, 0x04, 0xC9, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2B, 0x0F, 0x2E, 0xF7, 0x00, 0xE1, 0x02, 0xFE, 0x01, 0xC0, 0x01, 0x16, 0x04, 0x16, 0x04 - .byte 0xCA, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x2E, 0xF9, 0x00, 0xE3, 0x02 - .byte 0x00, 0x02, 0xC2, 0x01, 0x16, 0x04, 0x16, 0x04, 0xCB, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x0F, 0x3E, 0x49, 0x00, 0x30, 0x03, 0x4D, 0x02, 0x08, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0xCC, 0x01, 0x92, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x0F, 0x3E, 0x4D, 0x00, 0x31, 0x03 - .byte 0x4E, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xCD, 0x01, 0x92, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x19, 0xAF, 0x21, 0x42, 0x00, 0xE0, 0x00, 0xD5, 0x01, 0x74, 0x01, 0x3D, 0x04, 0x3D, 0x04 - .byte 0xCE, 0x01, 0xB0, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x4F, 0x0E, 0x49, 0x00, 0xB0, 0x00 - .byte 0xA5, 0x01, 0x47, 0x01, 0x27, 0x04, 0x27, 0x04, 0xCF, 0x01, 0x97, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x4F, 0x0E, 0x4D, 0x00, 0xB1, 0x00, 0xA6, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xD0, 0x01, 0x97, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0x49, 0x61, 0x4F, 0x0E, 0x19, 0x01, 0x0A, 0x00 - .byte 0x0F, 0x01, 0x33, 0x00, 0x49, 0x04, 0x49, 0x04, 0xD1, 0x01, 0xC6, 0xC4, 0x01, 0x02, 0x08, 0xF6 - .byte 0xFF, 0x1A, 0x9F, 0x21, 0x49, 0x00, 0xB6, 0x03, 0xD3, 0x02, 0x7D, 0x02, 0x27, 0x04, 0x27, 0x04 - .byte 0xD2, 0x01, 0x89, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x9F, 0x21, 0x4D, 0x00, 0xB7, 0x03 - .byte 0xD4, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xD3, 0x01, 0x89, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2D, 0x0F, 0x00, 0x18, 0x01, 0x93, 0x00, 0x90, 0x01, 0xD4, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xD4, 0x01, 0x00, 0xA9, 0x00, 0x44, 0x64, 0x04, 0xFF, 0x19, 0x8F, 0x16, 0x42, 0x00, 0xB7, 0x00 - .byte 0xAC, 0x01, 0x4D, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0xD5, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1B, 0x4F, 0x0E, 0x8B, 0x00, 0x06, 0x00, 0x0B, 0x01, 0x30, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xD6, 0x01, 0xC6, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x30, 0xAF, 0x28, 0x1A, 0x01, 0x7F, 0x03 - .byte 0x9C, 0x02, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xD7, 0x01, 0x83, 0x59, 0x00, 0x44, 0x60, 0xE4 - .byte 0xFF, 0x30, 0x8F, 0x1A, 0x1B, 0x01, 0x44, 0x03, 0x61, 0x02, 0x03, 0x00, 0x0F, 0x04, 0x0F, 0x04 - .byte 0xD8, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x60, 0xE4, 0xFF, 0x64, 0x4F, 0x05, 0x15, 0x01, 0x82, 0x00 - .byte 0x87, 0x01, 0x91, 0x00, 0x90, 0x04, 0x90, 0x04, 0xD9, 0x01, 0xE7, 0xA3, 0x0A, 0x02, 0x08, 0xA4 - .byte 0xFF, 0x65, 0x4F, 0x05, 0x16, 0x01, 0x83, 0x00, 0x88, 0x01, 0x92, 0x00, 0x90, 0x04, 0x90, 0x04 - .byte 0xDA, 0x01, 0xE7, 0xA4, 0x00, 0x03, 0x98, 0x24, 0xFF, 0x2A, 0x4F, 0x05, 0x1F, 0x01, 0x84, 0x00 - .byte 0x89, 0x01, 0x93, 0x00, 0x90, 0x04, 0x90, 0x04, 0xDB, 0x01, 0xE7, 0xA9, 0x00, 0x44, 0x64, 0xA4 - .byte 0xFF, 0x63, 0x2F, 0x30, 0x17, 0x01, 0x85, 0x00, 0x8A, 0x01, 0x94, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xDC, 0x01, 0xE8, 0xA4, 0x00, 0x03, 0x94, 0xAC, 0xFF, 0x63, 0x2F, 0x30, 0x1C, 0x01, 0x86, 0x00 - .byte 0x8B, 0x01, 0x95, 0x00, 0x31, 0x04, 0x31, 0x04, 0xDD, 0x01, 0xE8, 0xA4, 0x00, 0x03, 0x94, 0xAC - .byte 0xFF, 0x63, 0x2F, 0x30, 0x1D, 0x01, 0x87, 0x00, 0x8C, 0x01, 0x96, 0x00, 0x31, 0x04, 0x31, 0x04 - .byte 0xDE, 0x01, 0xE8, 0xA4, 0x00, 0x03, 0x94, 0xAC, 0xFF, 0x3F, 0x0F, 0x26, 0x45, 0x00, 0xED, 0x02 - .byte 0x0A, 0x02, 0xCB, 0x01, 0x15, 0x04, 0x15, 0x04, 0xDF, 0x01, 0x95, 0xC9, 0x01, 0x44, 0x64, 0xE6 - .byte 0xFF, 0x1A, 0x7F, 0x1C, 0x49, 0x00, 0x4E, 0x00, 0x53, 0x01, 0x66, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xE0, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x7F, 0x1C, 0x4D, 0x00, 0x4F, 0x00 - .byte 0x54, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xE1, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1B, 0x7F, 0x1C, 0x68, 0x00, 0x4D, 0x00, 0x52, 0x01, 0x65, 0x00, 0x28, 0x04, 0x28, 0x04 - .byte 0xE2, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x7F, 0x1C, 0x61, 0x00, 0x52, 0x00 - .byte 0x57, 0x01, 0x69, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0xE3, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x2C, 0x8F, 0x16, 0xFC, 0x00, 0xB5, 0x00, 0xAA, 0x01, 0x4B, 0x01, 0x3A, 0x04, 0x3A, 0x04 - .byte 0xE4, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x19, 0xCF, 0x26, 0x42, 0x00, 0xC8, 0x00 - .byte 0xBD, 0x01, 0x5D, 0x01, 0x24, 0x04, 0x24, 0x04, 0xE5, 0x01, 0xA0, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x1A, 0x2F, 0x24, 0x49, 0x00, 0x75, 0x00, 0x7A, 0x01, 0x86, 0x00, 0x27, 0x04, 0x27, 0x04 - .byte 0xE6, 0x01, 0xE3, 0x89, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x2F, 0x24, 0x4D, 0x00, 0x76, 0x00 - .byte 0x7B, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xE7, 0x01, 0xE3, 0x89, 0x00, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x42, 0xAF, 0x2C, 0x1E, 0x01, 0x8E, 0x03, 0xAB, 0x02, 0x5B, 0x02, 0x2D, 0x04, 0x2D, 0x04 - .byte 0xE8, 0x01, 0x83, 0x59, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x42, 0x6F, 0x1E, 0x1E, 0x01, 0x26, 0x03 - .byte 0x43, 0x02, 0xFF, 0x01, 0x2D, 0x04, 0x2D, 0x04, 0xE9, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 - .byte 0xFF, 0x04, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2D, 0x04, 0x2D, 0x04 - .byte 0x00, 0x00, 0x00, 0xA6, 0x00, 0x02, 0x60, 0x00, 0xFF, 0x1A, 0x0F, 0x00, 0x4D, 0x00, 0x3A, 0x03 - .byte 0x57, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xEA, 0x01, 0x0F, 0xC9, 0x00, 0x44, 0x64, 0xE4 -_020F9E80: - .byte 0x0B, 0x03 -_020F9E82: - .byte 0x3F, 0x00, 0x06, 0x08 -_020F9E86: - .byte 0x3C, 0x00 -_020F9E88: - .byte 0xB7, 0x02 -_020F9E8A: - .byte 0x8D, 0x01 -_020F9E8C: - .byte 0x3C, 0x00 -_020F9E8E: - .byte 0xB7, 0x02 -_020F9E90: - .byte 0x8D, 0x01, 0x0C, 0x03, 0x45, 0x00, 0x08, 0x0D, 0x43, 0x00, 0x34, 0x02, 0x88, 0x01, 0x43, 0x00 - .byte 0x34, 0x02, 0x88, 0x01, 0x0D, 0x03, 0x9E, 0x00, 0x08, 0x0D, 0x49, 0x00, 0xF1, 0x01, 0x10, 0x01 - .byte 0x49, 0x00, 0xF1, 0x01, 0x10, 0x01, 0x0E, 0x03, 0xA6, 0x00, 0x08, 0x0D, 0x4A, 0x00, 0x9A, 0x01 - .byte 0xCD, 0x01, 0x4A, 0x00, 0x9A, 0x01, 0xCD, 0x01, 0x0F, 0x03, 0xEC, 0x00, 0x08, 0x0D, 0x4B, 0x00 - .byte 0xBB, 0x00, 0x72, 0x01, 0x4B, 0x00, 0xBB, 0x00, 0x72, 0x01, 0x10, 0x03, 0xB9, 0x00, 0x08, 0x0D - .byte 0x4C, 0x00, 0x60, 0x01, 0x71, 0x01, 0x4C, 0x00, 0x60, 0x01, 0x71, 0x01, 0x11, 0x03, 0xE2, 0x00 - .byte 0x08, 0x0D, 0x4D, 0x00, 0x10, 0x01, 0x02, 0x01, 0x4D, 0x00, 0x10, 0x01, 0x02, 0x01, 0x12, 0x03 - .byte 0x51, 0x00, 0x08, 0x0D, 0x4E, 0x00, 0x8D, 0x01, 0xB8, 0x00, 0x4E, 0x00, 0x8D, 0x01, 0xB8, 0x00 - .byte 0x13, 0x03, 0xF6, 0x00, 0x08, 0x0D, 0x57, 0x00, 0x16, 0x02, 0xB8, 0x00, 0x57, 0x00, 0x16, 0x02 - .byte 0xB8, 0x00, 0x14, 0x02, 0x58, 0x00, 0x08, 0x0D, 0x58, 0x00, 0x18, 0x02, 0x5A, 0x00, 0x58, 0x00 - .byte 0x18, 0x02, 0x5A, 0x00, 0x15, 0x03, 0x25, 0x01, 0x08, 0x0D, 0x59, 0x00, 0xA2, 0x02, 0xB1, 0x00 - .byte 0x59, 0x00, 0xA2, 0x02, 0xB1, 0x00, 0x16, 0x03, 0x02, 0x02, 0x08, 0x0D, 0x5A, 0x00, 0x34, 0x03 - .byte 0x0A, 0x01, 0x5A, 0x00, 0x34, 0x03, 0x0A, 0x01, 0x00, 0x02, 0x31, 0x00, 0x08, 0x0D, 0x31, 0x00 - .byte 0x09, 0x04, 0x6C, 0x01, 0x31, 0x00, 0x09, 0x04, 0x6C, 0x01, 0x01, 0x03, 0xF5, 0x01, 0x08, 0x0D - .byte 0x32, 0x00, 0x08, 0x04, 0x07, 0x01, 0x32, 0x00, 0x08, 0x04, 0x07, 0x01, 0x02, 0x03, 0xDB, 0x01 - .byte 0x08, 0x0D, 0x33, 0x00, 0x18, 0x04, 0x6B, 0x00, 0x33, 0x00, 0x18, 0x04, 0x6B, 0x00, 0x03, 0x03 - .byte 0xAC, 0x01, 0x08, 0x0D, 0x34, 0x00, 0x1D, 0x05, 0x84, 0x00, 0x34, 0x00, 0x1D, 0x05, 0x84, 0x00 - .byte 0x04, 0x03, 0xB2, 0x01, 0x08, 0x0D, 0x35, 0x00, 0x8A, 0x05, 0xEB, 0x00, 0x35, 0x00, 0x8A, 0x05 - .byte 0xEB, 0x00, 0x05, 0x03, 0x66, 0x01, 0x08, 0x0D, 0x36, 0x00, 0x11, 0x05, 0x27, 0x01, 0x36, 0x00 - .byte 0x11, 0x05, 0x27, 0x01, 0x06, 0x03, 0x89, 0x01, 0x08, 0x0D, 0x37, 0x00, 0xCF, 0x04, 0xEE, 0x00 - .byte 0x37, 0x00, 0xCF, 0x04, 0xEE, 0x00, 0x07, 0x03, 0xE2, 0x01, 0x08, 0x0D, 0x38, 0x00, 0xB9, 0x04 - .byte 0xB8, 0x01, 0x38, 0x00, 0xB9, 0x04, 0xB8, 0x01, 0x08, 0x02, 0xFC, 0x01, 0x08, 0x0D, 0x39, 0x00 - .byte 0x0F, 0x04, 0xF7, 0x01, 0x39, 0x00, 0x0F, 0x04, 0xF7, 0x01, 0x09, 0x03, 0x2C, 0x01, 0x06, 0x15 - .byte 0x3A, 0x00, 0x90, 0x03, 0xC9, 0x00, 0x3A, 0x00, 0x90, 0x03, 0xC9, 0x00, 0x0A, 0x03, 0x97, 0x01 - .byte 0x08, 0x0D, 0x3B, 0x00, 0x0E, 0x05, 0xF3, 0x00, 0x3B, 0x00, 0x0E, 0x05, 0xF3, 0x00, 0x1E, 0x03 - .byte 0x16, 0x02, 0x08, 0x0D, 0xAE, 0x00, 0x52, 0x00, 0x2F, 0x01, 0xAE, 0x00, 0x52, 0x00, 0x2F, 0x01 - .byte 0x1F, 0x03, 0x10, 0x02, 0x08, 0x0D, 0x9B, 0x01, 0x08, 0x00, 0x0F, 0x00, 0x5E, 0x00, 0xED, 0x00 - .byte 0x0B, 0x01, 0x23, 0x00, 0x18, 0x01, 0x08, 0x0D, 0x18, 0x01, 0x2A, 0x00, 0x17, 0x00, 0x27, 0x00 - .byte 0x6A, 0x01, 0x0B, 0x01, 0x21, 0x00, 0x2B, 0x01, 0x08, 0x0D, 0x1E, 0x00, 0x8D, 0x03, 0x29, 0x01 - .byte 0x1E, 0x00, 0x8D, 0x03, 0x29, 0x01, 0x1B, 0x01, 0xA9, 0x00, 0x08, 0x0D, 0x24, 0x00, 0xD4, 0x01 - .byte 0xA3, 0x01, 0x24, 0x00, 0xD4, 0x01, 0xA3, 0x01, 0x24, 0x01, 0xFF, 0x01, 0x08, 0x0D, 0x0B, 0x00 - .byte 0x8F, 0x04, 0x6B, 0x00, 0x0B, 0x00, 0x8F, 0x04, 0x6B, 0x00, 0x25, 0x01, 0xD2, 0x01, 0x08, 0x0D - .byte 0x12, 0x00, 0x92, 0x05, 0xA4, 0x00, 0x12, 0x00, 0x92, 0x05, 0xA4, 0x00 -_020FA09C: - .byte 0x01, 0x01, 0x01, 0x1F - .byte 0x02, 0x01, 0x02, 0x1D, 0x03, 0x0F, 0x0A, 0x0A, 0x0C, 0x03, 0x0C, 0x1F -_020FA0AC: - .byte 0x01, 0x04, 0x00, 0x00 -_020FA0B0: - .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00 -_020FA0B8: - .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 - .byte 0xFF, 0x00, 0x00, 0x00 -_020FA0C4: - .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 - .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 - .byte 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 - .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -_020FA0F8: - .byte 0xFD, 0xC8, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00 - .byte 0x45, 0xCA, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00, 0x0D, 0xCF, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00 - .byte 0xA9, 0xD1, 0x03, 0x02, 0x04, 0x00, 0x00, 0x00, 0x45, 0xD2, 0x03, 0x02, 0x05, 0x00, 0x00, 0x00 - .byte 0x19, 0xD3, 0x03, 0x02, 0x06, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00 - .byte 0x95, 0xD3, 0x03, 0x02, 0x08, 0x00, 0x00, 0x00, 0x89, 0xD4, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00 - .byte 0x01, 0xD5, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00, 0x01, 0xD5, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00 - .byte 0x01, 0xD5, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00, 0xCD, 0xD2, 0x03, 0x02 - .public _020FA15C -_020FA15C: - .word sub_0203DEA4, sub_0203DEBC, sub_0203DED4, 0xFFFFFFFF - .public _020FA16C -_020FA16C: - .word sub_0203DE74, sub_0203DEBC, sub_0203DED4, 0xFFFFFFFF -_020FA17C: - .byte 0x40, 0x00, 0x00, 0x00 - .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 -_020FA190: - .byte 0x3C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x02, 0x00, 0x00, 0x8D, 0x01, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00 -_020FA1A4: - .byte 0x00, 0xFF, 0x00, 0x00 -_020FA1A8: - .byte 0x01, 0x04, 0x00, 0x00 -_020FA1AC: - .byte 0x04, 0xFF, 0x00, 0x00 -_020FA1B0: - .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00 -_020FA1B8: - .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 - .byte 0xFF, 0x00, 0x00, 0x00 -_020FA1C4: - .word sub_020192D0, sub_0201935C, sub_02019490, SDK_OVERLAY_OVY_39_ID -_020FA1D4: - .word ov105_021E5900, ov105_021E59DC, ov105_021E5B14, SDK_OVERLAY_OVY_105_ID -_020FA1E4: - .word ov68_021E5900, ov68_021E5968, ov68_021E5A3C, SDK_OVERLAY_OVY_68_ID -_020FA1F4: - .word ov76_021E5900, ov76_021E5B60, ov76_021E5AA0, SDK_OVERLAY_OVY_76_ID -_020FA204: - .word ov64_021E5900, ov64_021E5A18, ov64_021E59C8, SDK_OVERLAY_OVY_64_ID -_020FA214: - .word ov63_0221BE20, ov63_0221BF88, ov63_0221BF28, SDK_OVERLAY_OVY_63_ID -_020FA224: - .word ov69_021E5900, ov69_021E5A34, ov69_021E6080, SDK_OVERLAY_OVY_69_ID -_020FA234: - .word ov122_021E82A8, ov122_021E8360, ov122_021E8308, SDK_OVERLAY_OVY_122_ID -_020FA244: - .word ov96_021E5900, ov96_021E5A40, ov96_021E5B88, SDK_OVERLAY_OVY_96_ID -_020FA254: - .word ov52_021E80C0, ov52_021E8248, ov52_021E82AC, SDK_OVERLAY_OVY_52_ID -_020FA264: - .word ov70_02238430, ov70_022385C0, ov70_022386F4, SDK_OVERLAY_OVY_70_ID -_020FA274: - .word ov61_021E5900, ov61_021E5A38, ov61_021E5F74, SDK_OVERLAY_OVY_61_ID -_020FA284: - .word ov18_021E5AA0, ov18_021E5B64, ov18_021E5B80, SDK_OVERLAY_OVY_18_ID -_020FA294: - .word ov50_021E5924, ov50_021E595C, ov50_021E59A8, SDK_OVERLAY_OVY_50_ID -_020FA2A4: - .word ov43_02229EE0, ov43_02229FB4, ov43_0222A0AC, SDK_OVERLAY_OVY_43_ID -_020FA2B4: - .word ov73_021E5900, ov73_021E5AB8, ov73_021E5BAC, SDK_OVERLAY_OVY_73_ID -_020FA2C4: - .word ov37_021E5900, ov37_021E5A84, ov37_021E5B94, SDK_OVERLAY_OVY_37_ID -_020FA2D4: - .word ov71_02246960, ov71_02246BB8, ov71_02246B58, SDK_OVERLAY_OVY_71_ID -_020FA2E4: - .word ov67_021E5900, ov67_021E5984, ov67_021E5968, SDK_OVERLAY_OVY_67_ID -_020FA2F4: - .word ov103_021EC940, ov103_021EC988, ov103_021EC9A4, SDK_OVERLAY_OVY_103_ID -_020FA304: - .word ov78_021E5900, ov78_021E59EC, ov78_021E5B24, SDK_OVERLAY_OVY_78_ID -_020FA314: - .word ov99_021E7818, ov99_021E794C, ov99_021E78F0, SDK_OVERLAY_OVY_99_ID -_020FA324: - .word ov99_021E8304, ov99_021E83F4, ov99_021E83AC, SDK_OVERLAY_OVY_99_ID -_020FA334: - .word ov72_02237E20, ov72_02237F9C, ov72_02238070, SDK_OVERLAY_OVY_72_ID -_020FA344: - .word ov99_021E5900, ov99_021E5A38, ov99_021E5A04, SDK_OVERLAY_OVY_99_ID -_020FA354: - .word ov54_021E5900, ov54_021E5B3C, ov54_021E5A10, SDK_OVERLAY_OVY_54_ID -_020FA364: - .word ov111_021E5900, ov111_021E59B8, ov111_021E5960, SDK_OVERLAY_OVY_111_ID -_020FA374: - .word ov58_022378E4, ov58_02237924, ov58_0223799C, SDK_OVERLAY_OVY_58_ID -_020FA384: - .word ov16_0220196C, ov16_022019B8, ov16_02201A04, SDK_OVERLAY_OVY_16_ID -_020FA394: - .word ov113_021E5900, ov113_021E5968, ov113_021E59C8, SDK_OVERLAY_OVY_113_ID -_020FA3A4: - .word ov110_021E5900, ov110_021E5974, ov110_021E59F4, SDK_OVERLAY_OVY_110_ID -_020FA3B4: - .word ov109_021E5900, ov109_021E5968, ov109_021E59F0, SDK_OVERLAY_OVY_109_ID -_020FA3C4: - .word ov108_021E8850, ov108_021E8904, ov108_021E88C4, SDK_OVERLAY_OVY_108_ID -_020FA3D4: - .word ov108_021E5900, ov108_021E5978, ov108_021E5948, SDK_OVERLAY_OVY_108_ID -_020FA3E4: - .word ov101_Radio_OvyInit, ov101_Radio_OvyExec, ov101_Radio_OvyExit, SDK_OVERLAY_OVY_101_ID -_020FA3F4: - .word ov100_021E642C, ov100_021E6520, ov100_021E65BC, SDK_OVERLAY_OVY_100_ID -_020FA404: - .word ov102_021E7740, ov102_021E77B8, ov102_021E7868, SDK_OVERLAY_OVY_102_ID -_020FA414: - .word ov14_021E5900, ov14_021E596C, ov14_021E5988, SDK_OVERLAY_OVY_14_ID -_020FA424: - .word ov99_021E677C, ov99_021E6888, ov99_021E6840, SDK_OVERLAY_OVY_99_ID -_020FA434: - .word ov55_021E5924, ov55_021E598C, ov55_021E5AE8, SDK_OVERLAY_OVY_55_ID -_020FA444: - .word ov73_021E7E4C, ov73_021E7FB8, ov73_021E808C, SDK_OVERLAY_OVY_72_ID -_020FA454: - .word ov104_021E5900, ov104_021E59E4, ov104_021E5B14, SDK_OVERLAY_OVY_104_ID -_020FA464: - .word ov15_021F9380, ov15_021F9608, ov15_021F982C, SDK_OVERLAY_OVY_15_ID -_020FA474: - .word sub_02097B78, sub_02097BAC, sub_02097BD0, SDK_OVERLAY_OVY_106_ID -_020FA484: - .word sub_0203E3A8, sub_0203E3AC, sub_0203E3C0, SDK_OVERLAY_OVY_12_ID -_020FA494: - .word ov121_021E5900, ov121_021E590C, ov121_021E59BC, SDK_OVERLAY_OVY_121_ID -_020FA4A4: - .byte 0xFA, 0x28, 0x07, 0x01, 0xB1, 0x01, 0xD2, 0x28, 0x08, 0x01, 0x13, 0x00 - .byte 0xC8, 0x28, 0x02, 0x00, 0xEC, 0x02, 0xA0, 0x28, 0x97, 0x00, 0xF6, 0x00, 0x6E, 0x28, 0xB8, 0x03 - .byte 0xD6, 0x02, 0x3C, 0x28, 0xDE, 0x02, 0xBC, 0x01, 0xD8, 0x27, 0x90, 0x00, 0xD1, 0x00, 0xA6, 0x27 - .byte 0xBB, 0x03, 0xDC, 0x02, 0x74, 0x27, 0xBA, 0x03, 0xDD, 0x02, 0x10, 0x27, 0x92, 0x00, 0xD3, 0x00 - .byte 0xDE, 0x26, 0x94, 0x00, 0x9A, 0x02, 0xAC, 0x26, 0x88, 0x00, 0x28, 0x00, 0x7A, 0x26, 0xA7, 0x00 - .byte 0x38, 0x01, 0x48, 0x26, 0xA6, 0x00, 0x2B, 0x00, 0xE4, 0x25, 0xA3, 0x00, 0x0A, 0x01, 0x80, 0x25 - .byte 0x95, 0x00, 0x28, 0x00, 0x1C, 0x25, 0x09, 0x01, 0xB7, 0x01, 0x54, 0x24, 0x8F, 0x00, 0xCC, 0x00 - .byte 0xF0, 0x23, 0xA4, 0x00, 0x0B, 0x01, 0x8C, 0x23, 0x00, 0x00, 0x0E, 0x00, 0x28, 0x23, 0x04, 0x00 - .byte 0x2E, 0x00, 0xC4, 0x22, 0xA5, 0x00, 0x0C, 0x01, 0x60, 0x22, 0x06, 0x01, 0xAB, 0x01, 0x40, 0x1F - .byte 0x91, 0x00, 0xD2, 0x00, 0x58, 0x1B, 0x8D, 0x00, 0xC7, 0x00, 0x88, 0x13, 0xB9, 0x03, 0x28, 0x00 - .byte 0xB8, 0x0B, 0xB9, 0x03, 0x28, 0x00, 0xF0, 0x0A, 0x96, 0x00, 0x17, 0x00, 0xC4, 0x09, 0x01, 0x00 - .byte 0x14, 0x00, 0xD0, 0x07, 0x03, 0x00, 0x28, 0x00 -_020FA558: - .byte 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE1, 0x00 - .byte 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00 - .byte 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00 - .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00 - .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6C, 0x00 - .byte 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x92, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0x93, 0x00 - .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x95, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x96, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x97, 0x00 - .byte 0x16, 0x00, 0x01, 0x00, 0x00, 0x00, 0x98, 0x00, 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9A, 0x00 - .byte 0x3B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x99, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9B, 0x00 - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x31, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9D, 0x00 - .byte 0x5D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00 - .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x61, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00 - .byte 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00 - .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00 - .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00 - .byte 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD3, 0x00 - .byte 0x4F, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD5, 0x00 - .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD7, 0x00 - .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00 - .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x16, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00 - .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x35, 0x00, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00 - .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x15, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00 - .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00 - .byte 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA0, 0x00 - .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00 - .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x84, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00 - .byte 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00 - .byte 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x41, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00 - .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7E, 0x00 - .byte 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00 - .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00 - .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00 - .byte 0x2D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x00 - .byte 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x87, 0x00, 0x39, 0x00, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00 - .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x89, 0x00 - .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x00 - .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA1, 0x00 - .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x63, 0x00 - .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAB, 0x00 - .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAD, 0x00 - .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x49, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4A, 0x00 - .byte 0x4C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00 - .byte 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x27, 0x00 - .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE2, 0x00 - .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x82, 0x00 - .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x83, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2A, 0x00 - .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2C, 0x00 - .byte 0x4D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x00 - .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8D, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00 - .byte 0x2D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8F, 0x00 - .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x90, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00 - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0x00 - .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x3E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00 - .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00 - .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x66, 0x00, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0x00 - .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x52, 0x00 - .byte 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x53, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB6, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB8, 0x00 - .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00 - .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBA, 0x00 - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBB, 0x00 - .byte 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBE, 0x00 - .byte 0x2F, 0x00, 0x01, 0x00, 0x00, 0x00, 0x54, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x00 - .byte 0x5D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA2, 0x00 - .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA3, 0x00, 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA4, 0x00 - .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x31, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00 - .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x39, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x68, 0x00, 0x3C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00 - .byte 0x3A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3D, 0x00 - .byte 0x2D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC5, 0x00 - .byte 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x69, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7A, 0x00 - .byte 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6E, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x86, 0x00, 0x31, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6F, 0x00 - .byte 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x70, 0x00, 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00 - .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x57, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD8, 0x00 - .byte 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD9, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDA, 0x00 - .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDC, 0x00 - .byte 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x37, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x00 - .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x91, 0x00 - .byte 0x5B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC4, 0x00 - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x71, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC2, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAE, 0x00 - .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB0, 0x00 - .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x72, 0x00 - .byte 0x2F, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA7, 0x00 - .byte 0x4E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x58, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0x59, 0x00 - .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5B, 0x00 - .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD2, 0x00 - .byte 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB4, 0x00 - .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB3, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x00 - .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x73, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x74, 0x00 - .byte 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00 - .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA5, 0x00 - .byte 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCD, 0x00 - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCB, 0x00 - .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDE, 0x00 - .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5D, 0x00 - .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5F, 0x00 - .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x00 - .byte 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x00, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0x77, 0x00 - .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDD, 0x00 - .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x79, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7B, 0x00 - .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7C, 0x00, 0xE2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x26, 0x00 - .byte 0xE3, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE5, 0x00, 0x35, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE6, 0x00 -_020FAC90: - .byte 0x55, 0x03, 0x00, 0x00 -_020FAC94: - .byte 0x03, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x1F, 0x02 -_020FAC9C: - .byte 0x01, 0x00, 0x00, 0x00 - .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00 -_020FACB0: - .byte 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 - .byte 0x19, 0x00, 0x00, 0x00 -_020FACC4: - .byte 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07 - .byte 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07 -_020FACDC: - .byte 0x00, 0x30, 0x08, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x10, 0x04, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00 -gScriptCommandTable: ; 0x020FAD00 - .word sub_02040890 - .word sub_02040894 - .word sub_02040898 - .word sub_020408A4 - .word sub_02040918 - .word sub_02040930 - .word sub_0204094C - .word sub_02040968 - .word sub_02040980 - .word sub_0204099C - .word sub_020409BC - .word sub_020409E8 - .word sub_02040A18 - .word sub_02040A40 - .word sub_02040A68 - .word sub_02040A90 - .word sub_02040AAC - .word sub_02040ACC - .word sub_02040AF8 - .word sub_02040B30 - .word sub_02040B68 - .word sub_02040BFC - .word sub_02040C2C - .word sub_02040C44 - .word sub_02040C7C - .word sub_02040CAC - .word sub_02040CE0 - .word sub_02040CF8 - .word sub_02040D04 - .word sub_02040D38 - .word sub_02040D6C - .word sub_02040D84 - .word sub_02040D9C - .word sub_02040DF4 - .word sub_02040E1C - .word sub_02040DB8 - .word sub_02040E44 - .word sub_02040E68 - .word sub_02040E8C - .word sub_02040EB4 - .word sub_02040EE4 - .word sub_02040F14 - .word sub_02040F38 - .word sub_02040F68 - .word ov01_021EF050 - .word ov01_021EF31C - .word ov01_021EF35C - .word ov01_021EF3E0 - .word sub_02040F94 - .word sub_02040FF0 - .word sub_02041064 - .word sub_020410E0 - .word sub_02041110 - .word sub_02041168 - .word sub_020411A4 - .word sub_02041328 - .word sub_020413D4 - .word sub_02041410 - .word sub_0204142C - .word sub_0204146C - .word sub_020415C4 - .word sub_02041674 - .word sub_020411D8 - .word sub_02041684 - .word sub_020417EC - .word sub_02041808 - .word sub_02041824 - .word sub_02041890 - .word sub_02041950 - .word sub_0204196C - .word sub_02041988 - .word sub_020419E8 - .word sub_02041A98 - .word sub_02049228 - .word sub_02049244 - .word sub_02049260 - .word sub_020492A0 - .word sub_020492E0 - .word sub_02049304 - .word sub_02049320 - .word sub_02049134 - .word sub_02049144 - .word sub_02049158 - .word sub_02049170 - .word sub_02049188 - .word sub_020491C4 - .word sub_020491E8 - .word sub_02049204 - .word sub_02049214 - .word sub_02049344 - .word sub_0204937C - .word sub_020493B4 - .word sub_020493C0 - .word sub_020493D4 - .word sub_02041B04 - .word sub_02041C98 - .word sub_02041D40 - .word sub_02041F50 - .word sub_02041F60 - .word sub_02041F8C - .word sub_02041FB8 - .word sub_02042000 - .word sub_02042034 - .word sub_020420CC - .word sub_0204219C - .word sub_020422B4 - .word sub_020422F8 - .word sub_02042394 - .word sub_02042478 - .word sub_020424AC - .word sub_0204CA50 - .word sub_0204CA74 - .word sub_0204CAC8 - .word ov01_02203138 - .word ov01_02203188 - .word ov01_022031A0 - .word ov20_022598C0 - .word ov22_0225991C - .word ov22_02259934 - .word ov22_02259960 - .word ov22_0225998C - .word ov22_022599B8 - .word ov22_02259ADC - .word ov22_02259B08 - .word ov22_02259B34 - .word sub_0204E9D8 - .word sub_0204EA30 - .word sub_0204EA88 - .word sub_0204EAE0 - .word sub_0204EB7C - .word sub_0204EBB0 - .word sub_02043964 - .word ov01_021EF41C - .word ov01_02202674 - .word ov01_022026B4 - .word ov01_0220271C - .word sub_02042530 - .word sub_0204D088 - .word sub_0204D248 - .word sub_0204D2D0 - .word sub_0204D328 - .word sub_0204D3CC - .word sub_020428D8 - .word sub_020431E4 - .word sub_02046F34 - .word sub_02046F6C - .word sub_02046FC8 - .word sub_02046FFC - .word sub_020472C4 - .word sub_020472E8 - .word sub_02042A10 - .word sub_02042AB0 - .word sub_02042AC0 - .word sub_02042ACC - .word sub_02042D00 - .word sub_02042D58 - .word sub_02042E48 - .word sub_02042E5C - .word sub_02042F04 - .word sub_02042F5C - .word sub_02042F78 - .word sub_02042F88 - .word sub_02042F98 - .word sub_02042FC4 - .word sub_02042FDC - .word sub_02043044 - .word sub_020430A4 - .word sub_020430C4 - .word sub_02049460 - .word sub_0204952C - .word sub_0204959C - .word sub_020495C4 - .word sub_020431B4 - .word sub_02043214 - .word sub_02043400 - .word sub_02043448 - .word sub_0204346C - .word sub_020435E8 - .word sub_02043618 - .word sub_02043648 - .word sub_02043678 - .word sub_020436C4 - .word sub_020436F4 - .word sub_02043724 - .word sub_020437B4 - .word sub_020437E4 - .word sub_02043884 - .word sub_0204389C - .word sub_020438C4 - .word sub_020438DC - .word sub_02048414 - .word sub_02048448 - .word sub_0204846C - .word sub_02048490 - .word sub_02048510 - .word sub_02048548 - .word sub_02048580 - .word sub_020485BC - .word sub_020485F4 - .word sub_020486F0 - .word sub_02048794 - .word sub_020487CC - .word sub_02048818 - .word sub_020488A4 - .word sub_020488F4 - .word sub_02048944 - .word sub_02043938 - .word sub_02048994 - .word sub_020489CC - .word sub_020489F4 - .word sub_02048A1C - .word sub_020438EC - .word sub_02049618 - .word sub_02049648 - .word sub_02043990 - .word sub_02049750 - .word sub_020497D8 - .word sub_02049860 - .word sub_02049894 - .word sub_020498C8 - .word sub_020498D4 - .word sub_02049904 - .word sub_02049980 - .word sub_020499AC - .word sub_020499D8 - .word sub_02049A00 - .word sub_02043A28 - .word sub_02043AC0 - .word sub_02043B58 - .word sub_02043B64 - .word sub_02043B70 - .word sub_02043BA0 - .word sub_0206BB2C - .word sub_0206BB5C - .word sub_0206BBAC - .word sub_0206BC2C - .word sub_0206BC64 - .word sub_0206BC8C - .word sub_0204DB3C - .word sub_0204DBA0 - .word sub_02043BA4 - .word sub_02043C24 - .word sub_02043C54 - .word sub_02043CB4 - .word sub_02043CE4 - .word sub_02043D14 - .word sub_02043D44 - .word sub_02043D74 - .word sub_02043D78 - .word sub_02043E08 - .word sub_02043F0C - .word sub_02043F48 - .word sub_02043F54 - .word sub_02043F70 - .word sub_02043FC4 - .word sub_02042DC0 - .word sub_02042DFC - .word sub_02044024 - .word sub_02044070 - .word sub_0204407C - .word sub_020440AC - .word sub_020440E4 - .word sub_0204435C - .word sub_0204436C - .word sub_02044124 - .word sub_02044190 - .word sub_020441A0 - .word sub_020441D8 - .word sub_02044270 - .word sub_020442FC - .word sub_02044348 - .word sub_02044380 - .word sub_020443BC - .word sub_02044418 - .word sub_020442AC - .word sub_02048060 - .word sub_02048158 - .word sub_02048194 - .word sub_020481DC - .word sub_020445C0 - .word sub_020445CC - .word sub_020445F8 - .word sub_02044628 - .word sub_02044640 - .word sub_0204468C - .word sub_0204469C - .word sub_02044480 - .word sub_02044490 - .word sub_020444CC - .word sub_0204458C - .word sub_0204E610 - .word sub_0204E640 - .word sub_0204E654 - .word sub_0204E684 - .word sub_0204E6A0 - .word sub_0204E6E8 - .word sub_0204E748 - .word sub_0204E71C - .word sub_0204E774 - .word sub_0204E788 - .word sub_0204E7B4 - .word sub_0204E7C8 - .word sub_0204E838 - .word sub_0204E864 - .word sub_0204E878 - .word sub_0204E88C - .word sub_0204E8B8 - .word sub_02044954 - .word sub_020449AC - .word sub_020449C4 - .word sub_020449DC - .word sub_020449F4 - .word sub_0204CB5C - .word sub_0204CB7C - .word sub_02044A0C - .word sub_02044A1C - .word sub_02044A44 - .word sub_02044A6C - .word sub_02044AA8 - .word sub_02044AB8 - .word sub_02044AE0 - .word sub_02044AF0 - .word sub_02044B10 - .word sub_02044B40 - .word sub_02044B50 - .word sub_02044B60 - .word sub_02044B70 - .word sub_02044B80 - .word sub_02044B9C - .word sub_02044BB8 - .word sub_02044BC8 - .word sub_02044BD8 - .word sub_0204D95C - .word sub_020430D4 - .word sub_02043124 - .word sub_020446AC - .word sub_02048A7C - .word sub_02048AF4 - .word sub_020446EC - .word sub_0204473C - .word sub_020447CC - .word sub_02044804 - .word sub_0204483C - .word sub_0204488C - .word sub_020448DC - .word sub_02041728 - .word sub_02041758 - .word sub_02044928 - .word sub_02041018 - .word sub_02042574 - .word sub_020425D4 - .word sub_020425F8 - .word sub_02042860 - .word sub_0204280C - .word sub_0204D180 - .word sub_0204D1DC - .word sub_0204D988 - .word sub_0204D9E0 - .word sub_0204DA68 - .word sub_0204DAE4 - .word sub_0204CA98 - .word sub_0204CBF8 - .word sub_02045394 - .word sub_020453D0 - .word sub_0204D154 - .word sub_0204CBAC - .word sub_0204CBC4 - .word sub_0204CC58 - .word sub_0204CB0C - .word sub_02044C54 - .word sub_02043164 - .word sub_0204CCAC - .word sub_0204CCFC - .word sub_0204CD34 - .word sub_02044C64 - .word sub_02044C98 - .word sub_02044CCC - .word sub_02044CFC - .word sub_02044D28 - .word sub_02044D68 - .word sub_02044D8C - .word sub_02044DC4 - .word sub_0204D6C0 - .word sub_0204D708 - .word sub_0204D7D8 - .word sub_0204CD74 - .word sub_0204236C - .word sub_0204CE00 - .word sub_0204CE30 - .word sub_0204DF54 - .word ov20_02259A88 - .word ov20_02259B40 - .word ov20_02259BF4 - .word ov20_02259B88 - .word sub_0204EBE8 - .word sub_0204EC30 - .word sub_0204DBE8 - .word sub_0204DC90 - .word sub_0204DCD4 - .word sub_02048B64 - .word sub_0204E8CC - .word sub_0204E928 - .word sub_0204E980 - .word sub_02044DFC - .word sub_02044E40 - .word sub_02044E9C - .word sub_02044F00 - .word sub_02044F30 - .word sub_02042E8C - .word sub_02049CD8 - .word sub_02049CA8 - .word sub_02049CE8 - .word sub_02049D04 - .word sub_02049FC8 - .word sub_0204A048 - .word sub_0204A070 - .word sub_0204A098 - .word sub_0204A184 - .word sub_0204A230 - .word sub_0204A27C - .word sub_02045040 - .word sub_02045060 - .word sub_020450B8 - .word sub_02044F74 - .word sub_02044FAC - .word sub_02044FE4 - .word sub_0204DD34 - .word sub_02045028 - .word sub_0204DEE4 - .word ov20_022598C0 - .word sub_02047060 - .word sub_020470F4 - .word ov21_0225990C - .word ov21_02259960 - .word sub_0204D4D0 - .word sub_0204D48C - .word sub_02042A20 - .word sub_02040900 - .word ov01_021EF064 - .word ov01_021EF0A4 - .word ov01_021EF0F0 - .word ov01_021EF154 - .word ov01_021EF194 - .word ov01_021EF1E0 - .word ov01_021EF268 - .word sub_02043548 - .word sub_02043574 - .word sub_02045188 - .word sub_020434DC - .word sub_02043538 - .word sub_02042E2C - .word sub_02042AFC - .word sub_02042B1C - .word sub_02042C2C - .word sub_02042CA8 - .word ov01_021EF488 - .word sub_0204523C - .word sub_0204D5C0 - .word sub_0204D634 - .word sub_02045230 - .word sub_02047120 - .word sub_02047168 - .word sub_0204720C - .word sub_02045254 - .word sub_02045264 - .word sub_02049A6C - .word sub_0204EC7C - .word sub_0204ED3C - .word sub_0204ED7C - .word sub_0204EDDC - .word sub_0204527C - .word sub_020452B0 - .word sub_020452E0 - .word sub_02045340 - .word sub_02045374 - .word sub_02045428 - .word sub_0204542C - .word sub_02045440 - .word sub_0204E150 - .word sub_0204E1C4 - .word sub_0204E26C - .word sub_0204E2D8 - .word sub_02048BCC - .word sub_020454A4 - .word sub_02045540 - .word sub_02045568 - .word sub_02040894 - .word sub_02045588 - .word sub_020455B0 - .word sub_0204BDA4 - .word sub_0204EE20 - .word sub_0204EE38 - .word sub_020432FC - .word sub_0204335C - .word sub_020433BC - .word sub_020455F0 - .word sub_0204D8A0 - .word sub_0204D8F0 - .word sub_0204560C - .word sub_020456D8 - .word sub_02045780 - .word sub_0204579C - .word sub_020457B8 - .word sub_02048EE0 - .word sub_02048F10 - .word sub_0204908C - .word sub_02048738 - .word sub_0204583C - .word sub_0204C874 - .word sub_0204C8D4 - .word sub_0204C91C - .word sub_0204C9C0 - .word sub_02045868 - .word sub_0204588C - .word sub_020458A4 - .word sub_020458CC - .word sub_02048B2C - .word sub_020458EC - .word sub_0204592C - .word sub_020459AC - .word sub_02045A60 - .word sub_02045A74 - .word sub_02045A88 - .word sub_02045AAC - .word sub_02045B40 - .word sub_02045BA4 - .word sub_02045BCC - .word ov01_021EF2E0 - .word sub_02045C64 - .word sub_0204D8C8 - .word sub_02045C84 - .word sub_02045CC4 - .word ov22_02259A10 - .word ov22_02259A9C - .word sub_02045CFC - .word sub_0204D564 - .word sub_02045D28 - .word sub_02045D6C - .word sub_02045D7C - .word sub_02045E1C - .word sub_02045DE8 - .word sub_0204863C - .word sub_0204D840 - .word sub_02045E54 - .word sub_020493E4 - .word sub_02045EA8 - .word sub_02045ED8 - .word sub_02042BAC - .word sub_02042C44 - .word sub_02042C5C - .word sub_02045F18 - .word sub_02045F80 - .word sub_02045FC4 - .word sub_02046038 - .word sub_0204A2EC - .word sub_0204A31C - .word sub_0204A360 - .word sub_0204A3A4 - .word sub_02044534 - .word sub_0204184C - .word sub_02046078 - .word ov01_02201A50 - .word sub_020496DC - .word sub_02041B74 - .word sub_02046108 - .word sub_02046130 - .word sub_020425A4 - .word sub_0204E5BC - .word sub_0204615C - .word ov22_022599E4 - .word ov22_02259A50 - .word sub_020461A0 - .word ov01_02202648 - .word sub_02046290 - .word sub_020424E8 - .word sub_0204910C - .word sub_020462A8 - .word sub_020462D8 - .word sub_020462E4 - .word sub_020462F0 - .word sub_02048C10 - .word sub_02041E84 - .word sub_02046300 - .word sub_02046360 - .word sub_0204E338 - .word sub_020418DC - .word sub_02044230 - .word sub_02044674 - .word sub_02049950 - .word sub_02043E5C - .word sub_0204639C - .word sub_02043870 - .word ov01_021EF398 - .word sub_020463C4 - .word sub_020463F4 - .word sub_02046420 - .word sub_02046B1C - .word sub_02046B48 - .word sub_02046B64 - .word sub_02046BB4 - .word sub_02046BC4 - .word sub_02046BDC - .word sub_02046CB4 - .word sub_02046CF0 - .word sub_02046D10 - .word sub_02046D5C - .word sub_02046DA8 - .word sub_02046DF8 - .word sub_02046E38 - .word sub_02046E5C - .word sub_02046E80 - .word sub_02046E9C - .word sub_02045310 - .word sub_0204723C - .word sub_0204727C - .word sub_02047304 - .word sub_0204731C - .word sub_02047348 - .word ov01_02202308 - .word sub_0204E7DC - .word sub_0204E808 - .word sub_02047358 - .word sub_020473D8 - .word sub_0204BC98 - .word sub_0204BCCC - .word sub_0204BD04 - .word sub_02048C80 - .word sub_02046438 - .word sub_0204EE50 - .word sub_020432A0 - .word sub_020432CC - .word sub_020464E0 - .word sub_0204DFE4 - .word sub_0204EF40 - .word sub_0204F1AC - .word sub_02042644 - .word sub_0204F174 - .word sub_0204F8DC - .word sub_0204FAD4 - .word sub_020426C4 - .word sub_0204F9DC - .word sub_02043FEC - .word sub_02043FFC - .word sub_0204FE78 - .word sub_02050014 - .word sub_02042768 - .word sub_0204FF78 - .word sub_0204E0BC - .word ov01_02200AF0 - .word sub_02046554 - .word sub_02046584 - .word sub_020465A0 - .word ov01_02202B00 - .word ov01_02202E68 - .word ov01_02202B78 - .word ov01_02202BD0 - .word ov01_02202C28 - .word ov01_022011D4 - .word sub_020483D8 - .word ov01_02201424 - .word sub_02048C48 - .word sub_0204869C - .word sub_020465FC - .word sub_02046674 - .word sub_02049418 - .word sub_0204941C - .word sub_02049440 - .word sub_020466A8 - .word sub_020484D8 - .word sub_0204EB38 - .word ov01_02201594 - .word ov01_0220178C - .word ov01_022017DC - .word sub_020466E0 - .word ov01_02201470 - .word ov01_02201518 - .word ov01_02201844 - .word sub_02041A48 - .word sub_02042110 - .word sub_02042184 - .word sub_020468F4 - .word sub_02042CE0 - .word sub_02046914 - .word sub_02049A44 - .word sub_02042948 - .word sub_02044BE8 - .word sub_02043EB8 - .word sub_02045818 - .word sub_0204E3CC - .word ov01_02201304 - .word sub_0204CFB8 - .word sub_02046970 - .word sub_0204F500 - .word sub_0204F6D0 - .word sub_0204F778 - .word sub_02041A0C - .word sub_020469B4 - .word sub_0204F7FC - .word sub_02046A1C - .word ov01_0220188C - .word ov01_0220192C - .word sub_0204E470 - .word ov01_0220197C - .word ov01_02201990 - .word sub_0204512C - .word sub_02045160 - .word sub_02043008 - .word ov01_022019B0 - .word ov01_022019F0 - .word ov01_02201A40 - .word ov03_02256B88 - .word sub_02047414 - .word sub_02047424 - .word sub_0204749C - .word ov01_02201B14 - .word sub_0204CE60 - .word ov03_0225894C - .word ov03_02258978 - .word ov03_02258998 - .word ov03_022589D4 - .word ov03_02258A18 - .word ov03_02258BDC - .word sub_020474D8 - .word sub_02047518 - .word ov01_02201B40 - .word ov01_02201C08 - .word ov01_02201C60 - .word sub_02047570 - .word sub_0204759C - .word sub_020475C0 - .word sub_020475F0 - .word sub_02047634 - .word sub_02047644 - .word sub_02047664 - .word sub_0204769C - .word ov01_02201C70 - .word ov01_02201C9C - .word ov01_02201CB4 - .word ov01_02201CE0 - .word ov01_02201D1C - .word ov01_02201D4C - .word ov01_02201DA4 - .word ov01_02203094 - .word ov01_02201F10 - .word ov01_02201F30 - .word ov01_02202480 - .word sub_020476B4 - .word sub_0204771C - .word sub_02047790 - .word sub_020477F8 - .word sub_02047814 - .word sub_02047830 - .word sub_02047888 - .word sub_02047AE8 - .word sub_02047B38 - .word sub_02047B5C - .word sub_02047B6C - .word sub_02047B7C - .word sub_02047B8C - .word sub_02047BA4 - .word sub_02047BB4 - .word sub_02047BC4 - .word sub_02047BDC - .word sub_02047BF4 - .word sub_02047C04 - .word sub_02047C14 - .word sub_02047C24 - .word sub_02047C34 - .word sub_02047C44 - .word sub_02047C54 - .word ov01_0220205C - .word sub_02048218 - .word sub_02048298 - .word sub_02047558 - .word ov01_02201A18 - .word ov01_02201AB8 - .word ov01_022020CC - .word ov01_022021AC - .word ov01_022021F8 - .word ov01_0220233C - .word ov01_02202430 - .word sub_0204DDE4 - .word sub_0204812C - .word sub_02047C64 - .word sub_02047C80 - .word ov01_02202930 - .word ov01_02202980 - .word ov01_022029B0 - .word ov01_02202A28 - .word ov01_02202A70 - .word ov01_02202ABC - .word ov03_02258C00 - .word ov03_02258CDC - .word sub_02047964 - .word sub_02047CBC - .word ov01_02205164 - .word ov01_022051B4 - .word ov01_022051CC - .word sub_02047CFC - .word sub_02047D24 - .word sub_02047D58 - .word sub_02047D7C - .word sub_02047DB0 - .word sub_02047DC8 - .word sub_02046FAC - .word sub_02047E14 - .word sub_02047E20 - .word sub_0206DC50 - .word ov01_022053EC - .word ov25_02259A30 - .word sub_02047E30 - .word ov01_022024B8 - .word ov01_022024FC - .word sub_0204C83C - .word sub_02047E40 - .word sub_02047778 - .word sub_02047E54 - .word sub_02047E64 - .word sub_02047E7C - .word sub_02047E8C - .word sub_02047E9C - .word ov01_02202510 - .word sub_02047EB4 - .word sub_02047EC4 - .word sub_02047F14 - .word ov01_022025A8 - .word ov01_022025EC - .word sub_0204E4E0 - .word sub_0204E528 - .word sub_02047F54 - .word sub_02047F84 - .word sub_02047FB4 - .word sub_02047FD4 - .word sub_02048004 - .word sub_020482F4 - .word sub_0204839C - .word ov01_02202834 - .word sub_0204802C - .word sub_02047A7C - .word ov01_02202908 - .word sub_02043598 - .word sub_02041AC4 - .word sub_02041AE4 - .word sub_02048CBC - .word sub_02048CF4 - .word sub_02048D2C - .word sub_02048D74 - .word sub_02048DBC - .word sub_02048DF0 - .word sub_02048E28 - .word sub_02048E60 - .word sub_02048E98 - .word sub_02048EB8 diff --git a/asm/options.s b/asm/options.s new file mode 100644 index 000000000..a2b0bd431 --- /dev/null +++ b/asm/options.s @@ -0,0 +1,245 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + thumb_func_start sub_0202AC88 +sub_0202AC88: ; 0x0202AC88 + push {r4, lr} + mov r1, #2 + bl AllocFromHeap + add r4, r0, #0 + bl sub_0202ACA8 + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202AC88 + + thumb_func_start sub_0202AC9C +sub_0202AC9C: ; 0x0202AC9C + ldr r3, _0202ACA4 ; =MIi_CpuCopy8 + mov r2, #2 + bx r3 + nop +_0202ACA4: .word MIi_CpuCopy8 + thumb_func_end sub_0202AC9C + + thumb_func_start sub_0202ACA8 +sub_0202ACA8: ; 0x0202ACA8 + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #2 + bl MIi_CpuFill8 + ldrh r1, [r4] + mov r0, #0xf + bic r1, r0 + mov r0, #1 + orr r0, r1 + strh r0, [r4] + ldrh r1, [r4] + mov r0, #0x30 + bic r1, r0 + strh r1, [r4] + ldrh r1, [r4] + mov r0, #0x40 + bic r1, r0 + strh r1, [r4] + ldrh r1, [r4] + mov r0, #0x80 + bic r1, r0 + strh r1, [r4] + ldrh r1, [r4] + ldr r0, _0202ACEC ; =0xFFFFFCFF + and r0, r1 + strh r0, [r4] + ldrh r1, [r4] + ldr r0, _0202ACF0 ; =0xFFFF83FF + and r0, r1 + strh r0, [r4] + pop {r4, pc} + nop +_0202ACEC: .word 0xFFFFFCFF +_0202ACF0: .word 0xFFFF83FF + thumb_func_end sub_0202ACA8 + + thumb_func_start sub_0202ACF4 +sub_0202ACF4: ; 0x0202ACF4 + push {r3, lr} + cmp r0, #0 + beq _0202AD04 + bl Sav2_PlayerData_GetOptionsAddr + bl sub_0202ADAC + add r1, r0, #0 +_0202AD04: + cmp r1, #0 + beq _0202AD14 + cmp r1, #1 + bne _0202AD14 + ldr r0, _0202AD1C ; =gMain + mov r1, #3 + str r1, [r0, #0x34] + pop {r3, pc} +_0202AD14: + ldr r0, _0202AD1C ; =gMain + mov r1, #0 + str r1, [r0, #0x34] + pop {r3, pc} + .balign 4, 0 +_0202AD1C: .word gMain + thumb_func_end sub_0202ACF4 + + thumb_func_start sub_0202AD20 +sub_0202AD20: ; 0x0202AD20 + ldrh r0, [r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + bx lr + thumb_func_end sub_0202AD20 + + thumb_func_start sub_0202AD28 +sub_0202AD28: ; 0x0202AD28 + ldrh r3, [r0] + mov r2, #0xf + lsl r1, r1, #0x10 + bic r3, r2 + lsr r2, r1, #0x10 + mov r1, #0xf + and r1, r2 + orr r1, r3 + strh r1, [r0] + bx lr + thumb_func_end sub_0202AD28 + + thumb_func_start sub_0202AD3C +sub_0202AD3C: ; 0x0202AD3C + push {r3, lr} + bl sub_0202AD20 + cmp r0, #0 + bne _0202AD4A + mov r0, #8 + pop {r3, pc} +_0202AD4A: + cmp r0, #1 + bne _0202AD52 + mov r0, #4 + pop {r3, pc} +_0202AD52: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202AD3C + + thumb_func_start sub_0202AD58 +sub_0202AD58: ; 0x0202AD58 + ldrh r0, [r0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + bx lr + thumb_func_end sub_0202AD58 + + thumb_func_start sub_0202AD60 +sub_0202AD60: ; 0x0202AD60 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1e + ldrh r3, [r0] + mov r2, #0x30 + lsr r1, r1, #0x1a + bic r3, r2 + orr r1, r3 + strh r1, [r0] + bx lr + thumb_func_end sub_0202AD60 + + thumb_func_start sub_0202AD74 +sub_0202AD74: ; 0x0202AD74 + ldrh r0, [r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bx lr + thumb_func_end sub_0202AD74 + + thumb_func_start sub_0202AD7C +sub_0202AD7C: ; 0x0202AD7C + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + ldrh r3, [r0] + mov r2, #0x80 + lsr r1, r1, #0x18 + bic r3, r2 + orr r1, r3 + strh r1, [r0] + bx lr + thumb_func_end sub_0202AD7C + + thumb_func_start sub_0202AD90 +sub_0202AD90: ; 0x0202AD90 + ldrh r0, [r0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + bx lr + thumb_func_end sub_0202AD90 + + thumb_func_start sub_0202AD98 +sub_0202AD98: ; 0x0202AD98 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + ldrh r3, [r0] + mov r2, #0x40 + lsr r1, r1, #0x19 + bic r3, r2 + orr r1, r3 + strh r1, [r0] + bx lr + thumb_func_end sub_0202AD98 + + thumb_func_start sub_0202ADAC +sub_0202ADAC: ; 0x0202ADAC + ldrh r0, [r0] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1e + bx lr + thumb_func_end sub_0202ADAC + + thumb_func_start sub_0202ADB4 +sub_0202ADB4: ; 0x0202ADB4 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1e + ldrh r3, [r0] + ldr r2, _0202ADC8 ; =0xFFFFFCFF + lsr r1, r1, #0x16 + and r2, r3 + orr r1, r2 + strh r1, [r0] + bx lr + .balign 4, 0 +_0202ADC8: .word 0xFFFFFCFF + thumb_func_end sub_0202ADB4 + + thumb_func_start sub_0202ADCC +sub_0202ADCC: ; 0x0202ADCC + ldrh r0, [r0] + lsl r0, r0, #0x11 + lsr r0, r0, #0x1b + bx lr + thumb_func_end sub_0202ADCC + + thumb_func_start sub_0202ADD4 +sub_0202ADD4: ; 0x0202ADD4 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1b + ldrh r3, [r0] + ldr r2, _0202ADE8 ; =0xFFFF83FF + lsr r1, r1, #0x11 + and r2, r3 + orr r1, r2 + strh r1, [r0] + bx lr + .balign 4, 0 +_0202ADE8: .word 0xFFFF83FF + thumb_func_end sub_0202ADD4 diff --git a/asm/overlay_00_thumb.s b/asm/overlay_00_thumb.s index 7d4ea05b1..4f27ea946 100644 --- a/asm/overlay_00_thumb.s +++ b/asm/overlay_00_thumb.s @@ -879,7 +879,7 @@ _021E5FD0: add r0, r5, #0 add r1, r1, #4 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, _021E601C ; =_0221A680 ldr r1, _021E6024 ; =0x00001078 ldr r3, [r2] @@ -952,7 +952,7 @@ _021E6062: add r0, r5, #0 add r1, r1, #4 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E60D8 ; =_0221A680 mov r2, #1 ldr r1, [r0] @@ -1042,7 +1042,7 @@ _021E6112: add r0, r5, #0 add r1, r1, #4 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E6198 ; =_0221A680 mov r2, #1 ldr r1, [r0] @@ -1532,7 +1532,7 @@ _021E64E2: add r0, r4, #4 add r1, r5, #0 add r2, r6, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 bl ov00_021EE490 cmp r0, #0 bne _021E651E diff --git a/asm/overlay_100.s b/asm/overlay_100.s index d5ff311bb..3c9b2c47c 100644 --- a/asm/overlay_100.s +++ b/asm/overlay_100.s @@ -3076,7 +3076,7 @@ ov100_021E7014: ; 0x021E7014 ldr r0, [sp] ldr r1, [r4, #4] mul r2, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r0, [r4, #2] cmp r5, r0 blo _021E7074 diff --git a/asm/overlay_103.s b/asm/overlay_103.s index de5d601ef..ba4d542c5 100644 --- a/asm/overlay_103.s +++ b/asm/overlay_103.s @@ -557,7 +557,7 @@ _021ECDCE: add r1, r0, #0 add r0, r6, #0 add r2, r7, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r4, r4, #1 cmp r4, #0xa bls _021ECDCE diff --git a/asm/overlay_109.s b/asm/overlay_109.s index 3bf316fc7..e934bf4c3 100644 --- a/asm/overlay_109.s +++ b/asm/overlay_109.s @@ -664,17 +664,17 @@ ov109_021E5DB8: ; 0x021E5DB8 add r0, r4, r6 add r1, sp, #0 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r5, #0xcc lsl r7, r7, #3 add r0, r5, r7 add r1, r4, r6 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, sp, #0 add r1, r5, r7 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add sp, #8 pop {r3, r4, r5, r6, r7, pc} thumb_func_end ov109_021E5DB8 @@ -707,7 +707,7 @@ _021E5E12: add r0, r6, r0 add r1, r6, r1 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 diff --git a/asm/overlay_112.s b/asm/overlay_112.s index 0e4232af7..3c53aa4e3 100644 --- a/asm/overlay_112.s +++ b/asm/overlay_112.s @@ -694,7 +694,7 @@ _021E5DBA: add r0, r6, #0 add r1, r7, #0 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0x80 strb r0, [r5] add r5, r5, #1 @@ -711,7 +711,7 @@ _021E5DD0: add r0, r6, #0 add r1, r7, #0 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0x80 strb r0, [r5] add r5, r5, #1 @@ -915,7 +915,7 @@ _021E5F26: ldr r0, [r0, #0x20] add r1, #1 add r2, r5, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r5, #1 asr r3, r4, #8 lsl r1, r1, #0x18 @@ -1097,7 +1097,7 @@ _021E60A6: ldr r1, [r1, #0x30] add r0, #0x10 add r1, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E6114 ; =0x021FFAA4 mov r2, #0x89 ldr r0, [r0, #0x30] @@ -2427,7 +2427,7 @@ _021E6B12: ldr r0, [r0, #0x20] mov r2, #0x28 add r0, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, _021E6BD4 ; =0x021FFB24 ldr r0, _021E6BD8 ; =0x021FFB64 ldrb r2, [r2, #0x1c] @@ -3124,7 +3124,7 @@ _021E7076: ldr r1, _021E7380 ; =0x021FFAA4 mov r2, #0x68 ldr r1, [r1, #0x24] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E7380 ; =0x021FFAA4 mov r5, #0xff ldr r4, [r0, #0x24] @@ -3470,7 +3470,7 @@ _021E7342: ldr r1, _021E7384 ; =0x021FFB24 add r2, r4, #0 ldr r1, [r1, #0x28] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E7384 ; =0x021FFB24 ldr r1, [r0, #0x20] add r1, r1, r4 @@ -4759,395 +4759,395 @@ ov112_021E7DFC: ; 0x021E7DFC ldr r0, _021E81D4 ; =0x021F5758 add r1, r4, #0 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 ldr r0, _021E81D8 ; =0x021F5858 add r1, #0x20 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 ldr r0, _021E81DC ; =0x021F5778 add r1, #0x40 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 ldr r0, _021E81E0 ; =0x021F5918 add r1, #0x60 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 ldr r0, _021E81E4 ; =0x021F5838 add r1, #0x80 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 ldr r0, _021E81E8 ; =0x021F5978 add r1, #0xa0 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 ldr r0, _021E81EC ; =0x021F5798 add r1, #0xc0 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 ldr r0, _021E81F0 ; =0x021F5878 add r1, #0xe0 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #1 lsl r1, r1, #8 ldr r0, _021E81F4 ; =0x021F57B8 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x12 lsl r1, r1, #4 ldr r0, _021E81F8 ; =0x021F58B8 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #5 lsl r1, r1, #6 ldr r0, _021E81FC ; =0x021F5818 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x16 lsl r1, r1, #4 ldr r0, _021E8200 ; =0x021F5938 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #6 lsl r1, r1, #6 ldr r0, _021E8204 ; =0x021F57F8 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x1a lsl r1, r1, #4 ldr r0, _021E8208 ; =0x021F5998 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x9e lsl r1, r1, #2 ldr r0, _021E820C ; =0x021F56C8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xa2 lsl r1, r1, #2 ldr r0, _021E8210 ; =0x021F5718 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xa6 lsl r1, r1, #2 ldr r0, _021E8214 ; =0x021F55F8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xaa lsl r1, r1, #2 ldr r0, _021E8218 ; =0x021F5698 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xae lsl r1, r1, #2 ldr r0, _021E821C ; =0x021F5598 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xb2 lsl r1, r1, #2 ldr r0, _021E8220 ; =0x021F55E8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xb6 lsl r1, r1, #2 ldr r0, _021E8224 ; =0x021F55D8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xba lsl r1, r1, #2 ldr r0, _021E8228 ; =0x021F5688 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xbe lsl r1, r1, #2 ldr r0, _021E822C ; =0x021F55C8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xc2 lsl r1, r1, #2 ldr r0, _021E8230 ; =0x021F56B8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xc6 lsl r1, r1, #2 ldr r0, _021E8234 ; =0x021F5588 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xca lsl r1, r1, #2 ldr r0, _021E8238 ; =0x021F55A8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xce lsl r1, r1, #2 ldr r0, _021E823C ; =0x021F5898 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xd6 lsl r1, r1, #2 ldr r0, _021E8240 ; =0x021F58D8 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xde lsl r1, r1, #2 ldr r0, _021E8244 ; =0x021F58F8 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xee lsl r1, r1, #2 ldr r0, _021E8248 ; =0x021F5668 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xf2 lsl r1, r1, #2 ldr r0, _021E824C ; =0x021F5638 add r1, r4, r1 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x1e lsl r1, r1, #4 ldr r0, _021E8250 ; =0x021F56F8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x1f lsl r1, r1, #4 ldr r0, _021E8254 ; =0x021F5628 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x82 lsl r1, r1, #2 ldr r0, _021E8258 ; =0x021F5648 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x86 lsl r1, r1, #2 ldr r0, _021E825C ; =0x021F5748 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x8a lsl r1, r1, #2 ldr r0, _021E8260 ; =0x021F5678 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x8e lsl r1, r1, #2 ldr r0, _021E8264 ; =0x021F56D8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x92 lsl r1, r1, #2 ldr r0, _021E8268 ; =0x021F55B8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x96 lsl r1, r1, #2 ldr r0, _021E826C ; =0x021F5608 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x9a lsl r1, r1, #2 ldr r0, _021E8270 ; =0x021F56E8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x3d lsl r1, r1, #4 ldr r0, _021E8274 ; =0x021F5618 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x3e lsl r1, r1, #4 ldr r0, _021E8278 ; =0x021F56A8 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xe1 lsl r1, r1, #4 ldr r0, _021E827C ; =0x021F5B98 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xe5 lsl r1, r1, #4 ldr r0, _021E8280 ; =0x021F5CD8 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xe9 lsl r1, r1, #4 ldr r0, _021E8284 ; =0x021F5BD8 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xed lsl r1, r1, #4 ldr r0, _021E8288 ; =0x021F5A18 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xf1 lsl r1, r1, #4 ldr r0, _021E828C ; =0x021F5C98 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xf5 lsl r1, r1, #4 ldr r0, _021E8290 ; =0x021F5AD8 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x69 lsl r1, r1, #4 mov r2, #5 ldr r0, _021E8294 ; =0x021F7418 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x7d lsl r1, r1, #4 mov r2, #5 ldr r0, _021E8298 ; =0x021F7558 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x91 lsl r1, r1, #4 mov r2, #5 ldr r0, _021E829C ; =0x021F7698 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xa5 lsl r1, r1, #4 mov r2, #5 ldr r0, _021E82A0 ; =0x021F77D8 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xb9 lsl r1, r1, #4 mov r2, #5 ldr r0, _021E82A4 ; =0x021F7918 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xcd lsl r1, r1, #4 mov r2, #5 ldr r0, _021E82A8 ; =0x021F7A58 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82AC ; =0x000018D0 ldr r0, _021E82B0 ; =0x021F5C58 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82B4 ; =0x00001910 ldr r0, _021E82B8 ; =0x021F59D8 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82BC ; =0x00001950 ldr r0, _021E82C0 ; =0x021F6178 add r1, r4, r1 mov r2, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82C4 ; =0x000019D0 ldr r0, _021E82C8 ; =0x021F5E18 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82CC ; =0x00001A30 ldr r0, _021E82D0 ; =0x021F6DD8 add r1, r4, r1 mov r2, #0xc0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82D4 ; =0x00001AF0 ldr r0, _021E82D8 ; =0x021F5A58 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82DC ; =0x00001B30 ldr r0, _021E82E0 ; =0x021F5A98 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82E4 ; =0x00001B70 ldr r0, _021E82E8 ; =0x021F5B18 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82EC ; =0x00001BB0 ldr r0, _021E82F0 ; =0x021F5B58 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82F4 ; =0x00001BF0 ldr r0, _021E82F8 ; =0x021F62F8 add r1, r4, r1 mov r2, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E82FC ; =0x00001C70 ldr r0, _021E8300 ; =0x021F6378 add r1, r4, r1 mov r2, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8304 ; =0x00001CF0 ldr r0, _021E8308 ; =0x021F6718 add r1, r4, r1 mov r2, #0xc0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E830C ; =0x00001DB0 ldr r0, _021E8310 ; =0x021F5738 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x77 lsl r1, r1, #6 ldr r0, _021E8314 ; =0x021F5708 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8318 ; =0x00001DD0 mov r2, #3 ldr r0, _021E831C ; =0x021FE198 @@ -5239,44 +5239,44 @@ _021E831C: .word 0x021FE198 _021E8320: add r1, r4, r1 lsl r2, r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xf9 lsl r1, r1, #4 ldr r0, _021E86D0 ; =0x021F5D18 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E86D4 ; =0x00001110 ldr r0, _021E86D8 ; =0x021F5C18 add r1, r4, r1 mov r2, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E86DC ; =0x00001150 ldr r0, _021E86E0 ; =0x021F65D8 add r1, r4, r1 mov r2, #0xa0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E86E4 ; =0x000011F0 ldr r0, _021E86E8 ; =0x021F61F8 add r1, r4, r1 mov r2, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E86EC ; =0x00001270 ldr r0, _021E86F0 ; =0x021F6278 add r1, r4, r1 mov r2, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E86EC ; =0x00001270 ldr r0, _021E86F4 ; =0x021F6538 add r1, r4, r1 mov r2, #0xa0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E86F8 ; =0x00001310 mov r2, #1 ldr r0, _021E86FC ; =0x021F70D8 add r1, r4, r1 lsl r2, r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, sp, #0x14 add r1, r5, #0 bl ov112_021E90FC @@ -5298,343 +5298,343 @@ _021E8320: add r0, r6, #0 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8700 ; =0x00001690 ldr r0, _021E8704 ; =0x021F67D8 add r1, r4, r1 mov r2, #0xc0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8708 ; =0x00001750 ldr r0, _021E870C ; =0x021F6898 add r1, r4, r1 mov r2, #0xc0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8710 ; =0x00001810 ldr r0, _021E8714 ; =0x021F7018 add r1, r4, r1 mov r2, #0xc0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8718 ; =0x00001410 ldr r0, _021E871C ; =0x021F6498 add r1, r4, r1 mov r2, #0xa0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8720 ; =0x000014B0 ldr r0, _021E8724 ; =0x021F63F8 add r1, r4, r1 mov r2, #0xa0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8728 ; =0x00001670 ldr r0, _021E872C ; =0x021F57D8 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8730 ; =0x000015B0 ldr r0, _021E8734 ; =0x021F5DB8 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8738 ; =0x00001610 ldr r0, _021E873C ; =0x021F6058 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8740 ; =0x00001550 ldr r0, _021E8744 ; =0x021F5D58 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8748 ; =0x000020D0 mov r2, #1 ldr r0, _021E874C ; =0x021F71D8 add r1, r4, r1 lsl r2, r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8750 ; =0x000021D0 ldr r0, _021E8754 ; =0x021F5958 add r1, r4, r1 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8758 ; =0x000021F0 ldr r0, _021E875C ; =0x021F5658 add r1, r4, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8760 ; =0x000022B0 mov r2, #6 ldr r0, _021E8764 ; =0x021FCF98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8768 ; =0x00002430 mov r2, #6 ldr r0, _021E876C ; =0x021F8198 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8770 ; =0x000025B0 mov r2, #6 ldr r0, _021E8774 ; =0x021F8318 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8778 ; =0x00002730 mov r2, #6 ldr r0, _021E877C ; =0x021F8498 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8780 ; =0x000028B0 mov r2, #6 ldr r0, _021E8784 ; =0x021FC998 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8788 ; =0x00002A30 mov r2, #6 ldr r0, _021E878C ; =0x021F8618 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8790 ; =0x00002BB0 mov r2, #6 ldr r0, _021E8794 ; =0x021F8798 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8798 ; =0x00002D30 mov r2, #6 ldr r0, _021E879C ; =0x021F8918 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87A0 ; =0x00002EB0 mov r2, #6 ldr r0, _021E87A4 ; =0x021FC398 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87A8 ; =0x00003030 mov r2, #6 ldr r0, _021E87AC ; =0x021F8A98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87B0 ; =0x000031B0 mov r2, #6 ldr r0, _021E87B4 ; =0x021F8C18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87B8 ; =0x00003330 mov r2, #6 ldr r0, _021E87BC ; =0x021F8D98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87C0 ; =0x000034B0 mov r2, #6 ldr r0, _021E87C4 ; =0x021F8F18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87C8 ; =0x00003630 mov r2, #6 ldr r0, _021E87CC ; =0x021F9098 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87D0 ; =0x000037B0 mov r2, #6 ldr r0, _021E87D4 ; =0x021F9218 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87D8 ; =0x00003930 mov r2, #6 ldr r0, _021E87DC ; =0x021F9398 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87E0 ; =0x00003AB0 mov r2, #6 ldr r0, _021E87E4 ; =0x021FB798 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87E8 ; =0x00003C30 mov r2, #6 ldr r0, _021E87EC ; =0x021F9518 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87F0 ; =0x00003DB0 mov r2, #6 ldr r0, _021E87F4 ; =0x021F9698 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E87F8 ; =0x00003F30 mov r2, #6 ldr r0, _021E87FC ; =0x021F9818 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8800 ; =0x000040B0 mov r2, #6 ldr r0, _021E8804 ; =0x021FB198 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8808 ; =0x00004230 mov r2, #6 ldr r0, _021E880C ; =0x021F9998 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8810 ; =0x000043B0 mov r2, #6 ldr r0, _021E8814 ; =0x021F9B18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8818 ; =0x00004530 mov r2, #6 ldr r0, _021E881C ; =0x021F9C98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8820 ; =0x000046B0 mov r2, #6 ldr r0, _021E8824 ; =0x021FAB98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8828 ; =0x00004830 mov r2, #6 ldr r0, _021E882C ; =0x021F9E18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8830 ; =0x000049B0 mov r2, #6 ldr r0, _021E8834 ; =0x021F9F98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8838 ; =0x00004B30 mov r2, #6 ldr r0, _021E883C ; =0x021FA118 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8840 ; =0x00004CB0 mov r2, #6 ldr r0, _021E8844 ; =0x021FA298 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8848 ; =0x00004E30 mov r2, #6 ldr r0, _021E884C ; =0x021FA418 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8850 ; =0x00004FB0 mov r2, #6 ldr r0, _021E8854 ; =0x021FA598 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8858 ; =0x00005130 mov r2, #6 ldr r0, _021E885C ; =0x021FA718 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8860 ; =0x000052B0 mov r2, #6 ldr r0, _021E8864 ; =0x021FA898 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8868 ; =0x00005430 mov r2, #6 ldr r0, _021E886C ; =0x021FAA18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8870 ; =0x000055B0 mov r2, #6 ldr r0, _021E8874 ; =0x021FAD18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8878 ; =0x00005730 mov r2, #6 ldr r0, _021E887C ; =0x021FAE98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8880 ; =0x000058B0 mov r2, #6 ldr r0, _021E8884 ; =0x021FB018 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8888 ; =0x00005A30 mov r2, #6 ldr r0, _021E888C ; =0x021FB318 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8890 ; =0x00005BB0 mov r2, #6 ldr r0, _021E8894 ; =0x021FB498 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8898 ; =0x00005D30 mov r2, #6 ldr r0, _021E889C ; =0x021FB618 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E88A0 ; =0x00005EB0 mov r2, #6 ldr r0, _021E88A4 ; =0x021FB918 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, _021E88A8 ; =0x00006030 ldr r0, _021E88AC ; =0x021FBA98 add r1, r4, r2 lsr r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E88B0 ; =0x000061B0 mov r2, #6 ldr r0, _021E88B4 ; =0x021FBC18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E88B8 ; =0x00006330 mov r2, #6 ldr r0, _021E88BC ; =0x021FBD98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E88C0 ; =0x000064B0 mov r2, #6 ldr r0, _021E88C4 ; =0x021FBF18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E88C8 ; =0x00006630 mov r2, #6 ldr r0, _021E88CC ; =0x021FC098 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E88D0 ; =0x000067B0 mov r2, #6 ldr r0, _021E88D4 ; =0x021FC218 @@ -5773,186 +5773,186 @@ _021E88D4: .word 0x021FC218 _021E88D8: add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8A9C ; =0x00006930 mov r2, #6 ldr r0, _021E8AA0 ; =0x021FC518 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AA4 ; =0x00006AB0 mov r2, #6 ldr r0, _021E8AA8 ; =0x021FC698 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AAC ; =0x00006C30 mov r2, #6 ldr r0, _021E8AB0 ; =0x021FC818 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AB4 ; =0x00006DB0 mov r2, #6 ldr r0, _021E8AB8 ; =0x021FCB18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8ABC ; =0x00006F30 mov r2, #6 ldr r0, _021E8AC0 ; =0x021FCC98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AC4 ; =0x000070B0 mov r2, #6 ldr r0, _021E8AC8 ; =0x021FCE18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8ACC ; =0x00007230 mov r2, #6 ldr r0, _021E8AD0 ; =0x021FD118 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AD4 ; =0x000073B0 mov r2, #6 ldr r0, _021E8AD8 ; =0x021FD298 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8ADC ; =0x00007530 mov r2, #6 ldr r0, _021E8AE0 ; =0x021FD418 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AE4 ; =0x000076B0 mov r2, #6 ldr r0, _021E8AE8 ; =0x021FD598 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AEC ; =0x00007830 mov r2, #6 ldr r0, _021E8AF0 ; =0x021FD718 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AF4 ; =0x000079B0 mov r2, #6 ldr r0, _021E8AF8 ; =0x021FD898 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8AFC ; =0x00007B30 mov r2, #6 ldr r0, _021E8B00 ; =0x021FDA18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B04 ; =0x00007CB0 mov r2, #6 ldr r0, _021E8B08 ; =0x021FDB98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B0C ; =0x00007E30 mov r2, #6 ldr r0, _021E8B10 ; =0x021FDD18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B14 ; =0x00007FB0 mov r2, #6 ldr r0, _021E8B18 ; =0x021FDE98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B1C ; =0x00008130 mov r2, #6 ldr r0, _021E8B20 ; =0x021FE018 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B24 ; =0x000082B0 mov r2, #6 ldr r0, _021E8B28 ; =0x021F7B98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B2C ; =0x00008430 mov r2, #6 ldr r0, _021E8B30 ; =0x021F7D18 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B34 ; =0x000085B0 mov r2, #6 ldr r0, _021E8B38 ; =0x021F7E98 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B3C ; =0x00008730 mov r2, #6 ldr r0, _021E8B40 ; =0x021F8018 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B44 ; =0x000088B0 mov r2, #6 ldr r0, _021E8B48 ; =0x021F72D8 add r1, r4, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E8B4C ; =0x00002210 ldr r0, _021E8B50 ; =0x021F6678 add r1, r4, r1 mov r2, #0xa0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x3f lsl r1, r1, #4 ldr r0, _021E8B54 ; =0x021F5E78 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x45 lsl r1, r1, #4 ldr r0, _021E8B58 ; =0x021F5ED8 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x4b lsl r1, r1, #4 ldr r0, _021E8B5C ; =0x021F5F38 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x51 lsl r1, r1, #4 ldr r0, _021E8B60 ; =0x021F5F98 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x57 lsl r1, r1, #4 ldr r0, _021E8B64 ; =0x021F5FF8 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x5d lsl r1, r1, #4 ldr r0, _021E8B68 ; =0x021F6118 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x63 lsl r1, r1, #4 ldr r0, _021E8B6C ; =0x021F60B8 add r1, r4, r1 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E8B70 ; =0x00008A30 add r0, r4, r0 bl ov112_021F0D48 @@ -6405,7 +6405,7 @@ _021E8E6C: str r0, [sp, #0x30] add r1, r1, r4 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0x30] bl FreeToHeap mov r0, #6 @@ -6438,7 +6438,7 @@ _021E8E6C: add r4, r0, #0 add r1, r7, r1 lsl r2, r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 bl FreeToHeap mov r0, #0 @@ -6468,7 +6468,7 @@ _021E8EF2: ldr r0, [sp, #0x24] add r1, r1, r4 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #5 lsl r0, r0, #6 add r4, r4, r0 @@ -6514,7 +6514,7 @@ _021E8F3A: ldr r0, [r0, r1] add r1, r7, #0 add r1, #0xbe - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -6531,7 +6531,7 @@ _021E8F3A: ldr r0, [sp, #0x24] add r1, r7, r2 sub r2, #0x3e - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E9028 ; =0x0001E430 ldr r0, [r5, r0] bl ov112_021E9464 @@ -6546,7 +6546,7 @@ _021E8F3A: add r4, r0, #0 add r1, r7, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 bl FreeToHeap ldr r0, _021E9024 ; =0x0001D77C @@ -6610,7 +6610,7 @@ _021E9060: add r0, r4, #0 add r1, r7, r1 lsl r2, r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 bl FreeToHeap mov r0, #0 @@ -6630,7 +6630,7 @@ _021E9060: ldr r0, [sp, #0x24] add r1, r7, r1 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E90F8 ; =0x000019BE mov r6, #0 add r4, sp, #0x40 @@ -6653,7 +6653,7 @@ _021E90A4: ldr r0, [sp, #0x24] add r1, r7, r5 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #6 lsl r0, r0, #6 add r6, r6, #1 @@ -22438,7 +22438,7 @@ _021F0D8A: ldrb r2, [r5, #2] ldr r0, [r4] add r1, r1, r7 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r0, [r5, #2] add r5, r5, #4 add r4, r4, #4 @@ -27023,7 +27023,7 @@ ov112_021F30BC: ; 0x021F30BC ldr r0, [r4] add r1, #0x20 mov r2, #0x16 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrh r0, [r4, #8] mov r1, #0x1f strh r0, [r5, #0xa] @@ -27363,7 +27363,7 @@ _021F3342: mul r3, r2 ldr r0, [sp, #4] add r1, r1, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, [sp, #0x10] ldr r0, [sp, #0xc] add r1, sp, #0x18 diff --git a/asm/overlay_12.s b/asm/overlay_12.s index 06d0c63fa..3afb7f61b 100644 --- a/asm/overlay_12.s +++ b/asm/overlay_12.s @@ -96548,7 +96548,7 @@ ov12_02266508: ; 0x02266508 add r1, r7, #0 add r1, #0x1c mov r2, #0x22 - bl sub_020D4A50 + bl MIi_CpuCopy8 _02266526: ldr r0, _02266628 ; =0x0000068E mov r1, #0 @@ -103751,7 +103751,7 @@ _02269E82: ldr r0, _02269F4C ; =0x0226E218 add r1, sp, #8 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 mov r1, #2 mov r2, #3 @@ -103935,7 +103935,7 @@ ov12_02269FA4: ; 0x02269FA4 ldr r0, _0226A290 ; =0x0226E210 add r1, sp, #0x50 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, sp, #0x58 add r0, r6, #0 add r1, #2 diff --git a/asm/overlay_13_thumb_2.s b/asm/overlay_13_thumb_2.s index e497620ff..578477aa5 100644 --- a/asm/overlay_13_thumb_2.s +++ b/asm/overlay_13_thumb_2.s @@ -4210,10 +4210,10 @@ ov13_02222968: ; 0x02222968 add r3, r0, #0 add r0, r1, #0 add r1, r3, #0 - ldr r3, _02222974 ; =sub_020D4A50 + ldr r3, _02222974 ; =MIi_CpuCopy8 bx r3 nop -_02222974: .word sub_020D4A50 +_02222974: .word MIi_CpuCopy8 thumb_func_end ov13_02222968 thumb_func_start ov13_02222978 @@ -4585,7 +4585,7 @@ ov13_02222BC0: ; 0x02222BC0 ldrh r2, [r4, #0xa] add r0, r5, #4 add r1, #0xc - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r3, r4, r5, pc} .balign 4, 0 thumb_func_end ov13_02222BC0 @@ -5101,7 +5101,7 @@ _02222F88: add r1, r2, r1 ldr r2, [r7, #0x28] add r0, #0x2c - bl sub_020D4A50 + bl MIi_CpuCopy8 bl sub_020AF9BC ldr r2, [r7] ldr r3, _022230E0 ; =0x0030BFFE @@ -6004,7 +6004,7 @@ ov13_02223634: ; 0x02223634 ldr r1, [r1, #0x24] add r0, r5, #0 mov r2, #0x50 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _02223660 _02223656: ldr r0, [r1, #0x24] @@ -6857,7 +6857,7 @@ ov13_02223CA0: ; 0x02223CA0 ldr r1, [r1, #0x28] add r0, r5, #0 mov r2, #0x60 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _02223CCC _02223CC2: ldr r0, [r1, #0x28] diff --git a/asm/overlay_14.s b/asm/overlay_14.s index 6c1e1a80c..55186d50a 100644 --- a/asm/overlay_14.s +++ b/asm/overlay_14.s @@ -29960,7 +29960,7 @@ _021F4660: ldr r0, [r0, #0x14] add r1, r4, #0 lsl r2, r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #9 lsl r0, r0, #6 str r0, [sp] @@ -30355,7 +30355,7 @@ ov14_021F4958: ; 0x021F4958 ldr r0, [r0, #0x14] add r1, r1, r4 lsl r2, r2, #0xa - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r7, #0 bl FreeToHeap add r0, r5, #0 diff --git a/asm/overlay_17.s b/asm/overlay_17.s index 06e31aee3..9de503276 100644 --- a/asm/overlay_17.s +++ b/asm/overlay_17.s @@ -1963,7 +1963,7 @@ _02202AC8: ldr r0, _02202B54 ; =0x02203EA8 add r1, sp, #0 mov r2, #0x28 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r6, #1 mov r1, #0x1b add r2, r0, #0 diff --git a/asm/overlay_24.s b/asm/overlay_24.s index 4cce7fdd5..fdbd2146f 100644 --- a/asm/overlay_24.s +++ b/asm/overlay_24.s @@ -640,7 +640,7 @@ _02259D7E: ldr r0, [sp, #8] add r0, r0, r1 ldr r1, [sp, #4] - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r7, #0 add r0, #0x7a ldrh r4, [r0] @@ -722,7 +722,7 @@ _02259E3A: add r0, r4, r0 add r1, r5, #0 mov r2, #0x50 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 bl FreeToHeap add r0, sp, #0 diff --git a/asm/overlay_39_thumb.s b/asm/overlay_39_thumb.s index 572c9ac59..1b3e6c93b 100644 --- a/asm/overlay_39_thumb.s +++ b/asm/overlay_39_thumb.s @@ -179,17 +179,17 @@ ov39_022271A4: ; 0x022271A4 add r0, r5, #0 add r1, r4, #0 mov r2, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r3, r4, r5, pc} thumb_func_end ov39_022271A4 thumb_func_start ov39_022271C0 ov39_022271C0: ; 0x022271C0 - ldr r3, _022271C8 ; =sub_020D4A50 + ldr r3, _022271C8 ; =MIi_CpuCopy8 mov r2, #0x80 bx r3 nop -_022271C8: .word sub_020D4A50 +_022271C8: .word MIi_CpuCopy8 thumb_func_end ov39_022271C0 thumb_func_start ov39_022271CC @@ -614,7 +614,7 @@ _022274E8: lsl r1, r1, #2 add r1, r5, r1 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r2, #0x19 lsl r2, r2, #4 ldr r0, [r5] @@ -674,7 +674,7 @@ _02227556: add r1, r0, #0 add r0, r4, #0 mov r2, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _02227588 ; =0x00000411 mov r1, #0x3c strb r1, [r5, r0] diff --git a/asm/overlay_40.s b/asm/overlay_40.s index bd332d17f..de906a30b 100644 --- a/asm/overlay_40.s +++ b/asm/overlay_40.s @@ -8709,7 +8709,7 @@ _0222FC8C: add r1, r6, #0 ldr r0, [r5, r0] mov r2, #0xe4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _0222FCC4 ; =0x00002608 ldr r1, [sp] ldr r0, [r5, r0] @@ -26669,7 +26669,7 @@ _02238ED4: ldr r2, _02238EFC ; =0x00002A30 add r0, r4, r0 add r1, r4, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r4, pc} nop _02238EFC: .word 0x00002A30 @@ -29129,7 +29129,7 @@ _0223A33E: ldr r0, [r4, r1] sub r1, #0xc add r1, r4, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r4, pc} nop _0223A35C: .word 0x0000071C @@ -29166,13 +29166,13 @@ _0223A382: ldr r0, [r4, r0] ldr r2, _0223A3B4 ; =0x00000558 add r1, #0xe0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _0223A3B8 ; =0x00000718 mov r2, #0xd8 ldr r0, [r4, r1] sub r1, #0xe0 add r1, r4, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r4, pc} .balign 4, 0 _0223A3B0: .word 0x00000714 @@ -29665,7 +29665,7 @@ _0223A794: add r1, r4, r2 ldr r0, [r5, r0] ldr r2, _0223A830 ; =0x00001D4C - bl sub_020D4A50 + bl MIi_CpuCopy8 _0223A7CC: mov r0, #0x6f lsl r0, r0, #4 @@ -34453,7 +34453,7 @@ ov40_0223CFA8: ; 0x0223CFA8 ldr r0, [r2, r0] mov r2, #0x64 add r0, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r3, r4, r5, pc} nop _0223D000: .word 0x000004D4 @@ -40317,7 +40317,7 @@ _0223FEE0: ldr r0, [r5, r0] ldr r2, _0223FF88 ; =0x00001D4C add r1, r4, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 _0223FF18: mov r0, #0x6f lsl r0, r0, #4 @@ -41371,7 +41371,7 @@ _022407BA: ldr r0, [r5, r0] ldr r2, _02240858 ; =0x00001D4C add r1, r4, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 _022407EE: ldr r0, _0224083C ; =0x000006F4 mov r1, #0 @@ -41455,7 +41455,7 @@ ov40_0224085C: ; 0x0224085C ldr r0, [r4, r0] mov r2, #0x64 add r0, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r4, pc} nop _022408A8: .word 0x000004BC @@ -41503,7 +41503,7 @@ ov40_022408AC: ; 0x022408AC ldr r0, [r2, r0] mov r2, #0x64 add r0, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r3, r4, r5, pc} .balign 4, 0 _02240908: .word 0x000004D4 diff --git a/asm/overlay_45_thumb.s b/asm/overlay_45_thumb.s index 9928e8daa..8284b925c 100644 --- a/asm/overlay_45_thumb.s +++ b/asm/overlay_45_thumb.s @@ -818,11 +818,11 @@ ov45_0222A498: ; 0x0222A498 mov r2, #0x3e lsl r2, r2, #4 add r0, r0, r2 - ldr r3, _0222A4A4 ; =sub_020D4A50 + ldr r3, _0222A4A4 ; =MIi_CpuCopy8 mov r2, #4 bx r3 .balign 4, 0 -_0222A4A4: .word sub_020D4A50 +_0222A4A4: .word MIi_CpuCopy8 thumb_func_end ov45_0222A498 thumb_func_start ov45_0222A4A8 @@ -1788,11 +1788,11 @@ ov45_0222AB38: ; 0x0222AB38 mov r2, #0xf3 lsl r2, r2, #2 add r0, r0, r2 - ldr r3, _0222AB44 ; =sub_020D4A50 + ldr r3, _0222AB44 ; =MIi_CpuCopy8 mov r2, #0x14 bx r3 .balign 4, 0 -_0222AB44: .word sub_020D4A50 +_0222AB44: .word MIi_CpuCopy8 thumb_func_end ov45_0222AB38 thumb_func_start ov45_0222AB48 @@ -3910,7 +3910,7 @@ _0222BA5E: add r1, #0x18 add r1, r5, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0x4a lsl r0, r0, #2 add r0, r5, r0 @@ -3921,7 +3921,7 @@ _0222BA5E: add r1, #0x28 add r1, r5, r1 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0x42 lsl r0, r0, #2 ldr r1, [r5] @@ -3992,26 +3992,26 @@ _0222BB10: add r0, r4, #0 add r1, #0x20 add r2, r7, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _0222BB3A _0222BB2E: add r1, r5, #0 add r0, r4, #0 add r1, #0x20 mov r2, #0x94 - bl sub_020D4A50 + bl MIi_CpuCopy8 _0222BB3A: add r4, #8 add r1, r5, #0 add r0, r4, #0 add r1, #0x10 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0 add r5, #0x28 add r1, r5, #0 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r3, r4, r5, r6, r7, pc} .balign 4, 0 thumb_func_end ov45_0222BB00 @@ -4274,7 +4274,7 @@ ov45_0222BCE4: ; 0x0222BCE4 add r0, r4, #0 add r1, #8 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [r5] add r0, r6, #0 add r2, r7, #0 diff --git a/asm/overlay_50.s b/asm/overlay_50.s index 9c0ba61e9..15226b2fe 100644 --- a/asm/overlay_50.s +++ b/asm/overlay_50.s @@ -214,7 +214,7 @@ _021E5A4E: mov r2, #6 add r1, #0x68 lsl r2, r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 pop {r3, r4, r5, pc} .balign 4, 0 diff --git a/asm/overlay_63.s b/asm/overlay_63.s index 6011897bb..974509acb 100644 --- a/asm/overlay_63.s +++ b/asm/overlay_63.s @@ -1458,7 +1458,7 @@ ov63_0221C99C: ; 0x0221C99C add r1, r2, r1 add r0, r0, r6 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r4, r5, r6, pc} .balign 4, 0 _0221C9DC: .word 0x0000328C diff --git a/asm/overlay_67.s b/asm/overlay_67.s index f14dacd77..bb3e80623 100644 --- a/asm/overlay_67.s +++ b/asm/overlay_67.s @@ -1385,7 +1385,7 @@ _021E6406: strb r0, [r4, #7] add r0, r5, #0 add r0, #0x18 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [r7] mov r0, #8 bl String_ctor diff --git a/asm/overlay_74_thumb.s b/asm/overlay_74_thumb.s index ec8aeda6b..359d8c0f1 100644 --- a/asm/overlay_74_thumb.s +++ b/asm/overlay_74_thumb.s @@ -18804,7 +18804,7 @@ ov74_02230714: ; 0x02230714 ldrh r2, [r6, #0x10] ldr r0, [r6, #0xc] ldr r1, [r4, #0xc] - bl sub_020D4A50 + bl MIi_CpuCopy8 bl ov74_022311AC ldr r1, [r5] lsl r1, r1, #0x18 @@ -18865,7 +18865,7 @@ ov74_0223078C: ; 0x0223078C ldrh r2, [r6, #0x10] ldr r0, [r6, #0xc] ldr r1, [r4, #0xc] - bl sub_020D4A50 + bl MIi_CpuCopy8 bl ov74_022311AC ldr r1, [r5] lsl r1, r1, #0x18 @@ -18945,7 +18945,7 @@ _0223083C: ldrh r2, [r6, #0x10] ldr r0, [r6, #0xc] ldr r1, [r4, #0xc] - bl sub_020D4A50 + bl MIi_CpuCopy8 bl ov74_022311AC ldr r1, [r5] lsl r1, r1, #0x18 @@ -18990,7 +18990,7 @@ _022308AA: add r0, r1, r0 ldr r1, [r4, #4] lsr r2, r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 _022308BC: ldr r1, [r5, #8] ldr r0, _022308DC ; =0xFFFF00FF @@ -20600,7 +20600,7 @@ ov74_022312C0: ; 0x022312C0 lsr r1, r1, #0x18 add r1, r5, r1 add r2, r6, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 _022313BE: add r0, r5, #0 bl ov74_0223145C diff --git a/asm/overlay_80.s b/asm/overlay_80.s index 5e412940e..af39c385a 100644 --- a/asm/overlay_80.s +++ b/asm/overlay_80.s @@ -2476,7 +2476,7 @@ ov80_0222B070: ; 0x0222B070 ldr r1, _0222B0B4 ; =0x00000784 add r2, r4, #0 add r1, r5, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _0222B0B4 ; =0x00000784 mov r2, #2 mov r0, #0x26 @@ -2514,7 +2514,7 @@ ov80_0222B0B8: ; 0x0222B0B8 add r2, r0, #0 ldr r1, [r4, r1] add r0, r6, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 _0222B0E2: pop {r4, r5, r6, pc} .balign 4, 0 @@ -3736,7 +3736,7 @@ _0222B990: ldr r1, [sp, #4] add r2, r6, #0 add r1, r1, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp] add r4, r4, #1 add r5, r5, r6 @@ -3797,7 +3797,7 @@ _0222BA0E: add r1, r6, #0 add r0, r0, r4 add r2, r5, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #4] add r1, r6, #0 ldr r0, [r0, #0x28] @@ -4217,7 +4217,7 @@ _0222BD06: ldr r1, [sp, #4] add r2, r6, #0 add r1, r1, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp] add r4, r4, #1 add r5, r5, r6 @@ -4279,7 +4279,7 @@ _0222BD86: add r1, r6, #0 add r0, r0, r4 add r2, r5, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #4] add r1, r6, #0 ldr r0, [r0, #0x70] @@ -25679,7 +25679,7 @@ _022362F0: add r0, #0x30 add r1, #0xa1 mov r2, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 add r0, #0xa8 ldr r0, [r0] @@ -26201,7 +26201,7 @@ ov80_022366D4: ; 0x022366D4 add r0, r1, r0 add r1, r5, #0 ldr r7, _02236730 ; =0x0223C0AC - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _02236728 ; =0x0223C050 ldr r0, [sp] mov r4, #0 @@ -26216,7 +26216,7 @@ _0223670C: mul r0, r1 add r0, r7, r0 add r1, r5, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r4, r4, #1 add r5, #0x38 cmp r4, #4 diff --git a/asm/overlay_93_thumb_1.s b/asm/overlay_93_thumb_1.s index d6d4103f7..3b1f1a94a 100644 --- a/asm/overlay_93_thumb_1.s +++ b/asm/overlay_93_thumb_1.s @@ -4951,13 +4951,13 @@ _0225ECD0: ldr r1, [r5, r1] add r0, r6, r7 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x25 lsl r1, r1, #4 ldr r1, [r5, r1] add r0, r6, r7 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0x25 lsl r0, r0, #4 ldr r0, [r5, r0] diff --git a/asm/overlay_96.s b/asm/overlay_96.s index b64279b09..a619224d0 100644 --- a/asm/overlay_96.s +++ b/asm/overlay_96.s @@ -6887,7 +6887,7 @@ ov96_021E8BB4: ; 0x021E8BB4 _021E8BE2: add r1, r6, #0 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0 bl FreeToHeap pop {r4, r5, r6, pc} @@ -22661,7 +22661,7 @@ _021F04C6: add r0, #0x48 add r1, #0x68 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0x50] mov r1, #0x10 add r0, r5, r0 @@ -101787,7 +101787,7 @@ _022175A0: add r0, r4, #0 add r1, r5, #0 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0 mov r1, #0x10 bl sub_02003F04 diff --git a/asm/overlay_99.s b/asm/overlay_99.s index 7fe34cabd..4b1859d56 100644 --- a/asm/overlay_99.s +++ b/asm/overlay_99.s @@ -2445,7 +2445,7 @@ _021E6C96: _021E6C98: add r1, sp, #0x28 mov r2, #0x18 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0x6c] cmp r0, #0 beq _021E6CAA @@ -6719,7 +6719,7 @@ _021E8DCC: lsr r4, r0, #0x18 ldr r0, _021E8EB8 ; =0x021EA394 add r1, sp, #0x40 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 str r0, [sp, #0x3c] ldr r1, [sp, #0xc] @@ -7407,7 +7407,7 @@ ov99_021E92EC: ; 0x021E92EC add r1, r2, #0 mov r2, #0x6e lsl r2, r2, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021E93D8 ; =0x021EA350 mov r0, #0 str r0, [sp, #0xc] @@ -7474,7 +7474,7 @@ _021E9364: add r0, sp, #0x24 add r0, #2 add r1, r4, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0x1c] mov r1, #0 bl ov98_0221EFA4 diff --git a/asm/player_data.s b/asm/player_data.s index 518d730b8..4c9212adf 100644 --- a/asm/player_data.s +++ b/asm/player_data.s @@ -86,11 +86,11 @@ sub_02028ED0: ; 0x02028ED0 thumb_func_start sub_02028EE4 sub_02028EE4: ; 0x02028EE4 - ldr r3, _02028EEC ; =sub_020D4A50 + ldr r3, _02028EEC ; =MIi_CpuCopy8 mov r2, #0x20 bx r3 nop -_02028EEC: .word sub_020D4A50 +_02028EEC: .word MIi_CpuCopy8 thumb_func_end sub_02028EE4 thumb_func_start sub_02028EF0 diff --git a/asm/pokedex.s b/asm/pokedex.s new file mode 100644 index 000000000..7f5c62807 --- /dev/null +++ b/asm/pokedex.s @@ -0,0 +1,2930 @@ + .include "asm/macros.inc" + .include "global.inc" + + .rodata + +_020F6764: + .byte 0x97, 0x00, 0xFB, 0x00 +_020F6768: + .byte 0x97, 0x00, 0xFB, 0x00, 0x81, 0x01, 0x82, 0x01 + .byte 0xE9, 0x01, 0xEA, 0x01, 0xEB, 0x01, 0xEC, 0x01, 0xED, 0x01, 0x00, 0x00 + + .text + + thumb_func_start sub_020293E0 +sub_020293E0: ; 0x020293E0 + mov r0, #0xd + lsl r0, r0, #6 + bx lr + .balign 4, 0 + thumb_func_end sub_020293E0 + + thumb_func_start sub_020293E8 +sub_020293E8: ; 0x020293E8 + push {r4, lr} + mov r1, #0xd + lsl r1, r1, #6 + bl AllocFromHeap + add r4, r0, #0 + bl sub_02029D98 + add r0, r4, #0 + pop {r4, pc} + thumb_func_end sub_020293E8 + + thumb_func_start sub_020293FC +sub_020293FC: ; 0x020293FC + ldr r3, _02029404 ; =MIi_CpuCopy8 + mov r2, #0xd + lsl r2, r2, #6 + bx r3 + .balign 4, 0 +_02029404: .word MIi_CpuCopy8 + thumb_func_end sub_020293FC + + thumb_func_start sub_02029408 +sub_02029408: ; 0x02029408 + push {r3, lr} + cmp r0, #0 + beq _02029414 + ldr r1, _02029420 ; =0x000001ED + cmp r0, r1 + bls _0202941C +_02029414: + bl GF_AssertFail + mov r0, #1 + pop {r3, pc} +_0202941C: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 +_02029420: .word 0x000001ED + thumb_func_end sub_02029408 + + thumb_func_start sub_02029424 +sub_02029424: ; 0x02029424 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r4, r1, #0 + add r7, r2, #0 + str r3, [sp] + bne _02029462 + cmp r4, #2 + blo _02029438 + bl GF_AssertFail +_02029438: + ldr r0, [sp] + add r2, r5, #0 + sub r0, r0, #1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + add r3, r1, #0 + mov r0, #7 + and r3, r0 + mov r6, #1 + lsl r6, r3 + add r2, #0xc4 + asr r1, r1, #3 + ldrb r0, [r2, r1] + mvn r6, r6 + and r0, r6 + strb r0, [r2, r1] + add r0, r4, #0 + ldrb r6, [r2, r1] + lsl r0, r3 + orr r0, r6 + strb r0, [r2, r1] +_02029462: + cmp r4, #2 + blo _0202946A + bl GF_AssertFail +_0202946A: + ldr r0, [sp] + add r5, #0x84 + sub r0, r0, #1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + mov r0, #7 + add r2, r3, #0 + and r2, r0 + lsl r0, r7, #6 + add r1, r5, r0 + asr r0, r3, #3 + mov r3, #1 + lsl r3, r2 + ldrb r5, [r1, r0] + mvn r3, r3 + and r3, r5 + strb r3, [r1, r0] + add r3, r4, #0 + ldrb r5, [r1, r0] + lsl r3, r2 + add r2, r5, #0 + orr r2, r3 + strb r2, [r1, r0] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02029424 + + thumb_func_start sub_0202949C +sub_0202949C: ; 0x0202949C + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + add r7, r3, #0 + cmp r4, #2 + bls _020294AE + bl GF_AssertFail +_020294AE: + cmp r4, #2 + bne _020294B4 + mov r4, #0 +_020294B4: + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + add r3, r7, #0 + bl sub_02029424 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202949C + + thumb_func_start sub_020294C4 +sub_020294C4: ; 0x020294C4 + push {r3, lr} + ldr r2, _0202954C ; =0x000001A6 + cmp r1, r2 + bhi _020294F8 + bhs _02029518 + cmp r1, #0xac + bhi _020294D6 + beq _0202953E + b _02029544 +_020294D6: + add r3, r2, #0 + sub r3, #9 + cmp r1, r3 + bhi _02029544 + add r3, r2, #0 + sub r3, #0xa + cmp r1, r3 + blo _02029544 + add r3, r2, #0 + sub r3, #0xa + cmp r1, r3 + beq _02029532 + add r3, r2, #0 + sub r3, #9 + cmp r1, r3 + beq _02029538 + b _02029544 +_020294F8: + add r3, r2, #0 + add r3, #0x41 + cmp r1, r3 + bhi _02029510 + add r3, r2, #0 + add r3, #0x41 + cmp r1, r3 + bhs _0202952C + add r3, r2, #1 + cmp r1, r3 + beq _0202951E + b _02029544 +_02029510: + add r2, #0x46 + cmp r1, r2 + beq _02029524 + b _02029544 +_02029518: + sub r2, #0x9e + add r0, r0, r2 + pop {r3, pc} +_0202951E: + sub r2, #0x9d + add r0, r0, r2 + pop {r3, pc} +_02029524: + mov r1, #0xcf + lsl r1, r1, #2 + add r0, r0, r1 + pop {r3, pc} +_0202952C: + ldr r1, _02029550 ; =0x0000033D + add r0, r0, r1 + pop {r3, pc} +_02029532: + sub r2, #0x9c + add r0, r0, r2 + pop {r3, pc} +_02029538: + sub r2, #0x9b + add r0, r0, r2 + pop {r3, pc} +_0202953E: + ldr r1, _02029554 ; =0x0000033E + add r0, r0, r1 + pop {r3, pc} +_02029544: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + .balign 4, 0 +_0202954C: .word 0x000001A6 +_02029550: .word 0x0000033D +_02029554: .word 0x0000033E + thumb_func_end sub_020294C4 + + thumb_func_start sub_02029558 +sub_02029558: ; 0x02029558 + mov r2, #0 + cmp r1, #0 + beq _02029562 + mov r1, #0x4a + b _02029564 +_02029562: + mov r1, #0x43 +_02029564: + lsl r1, r1, #2 + add r3, r0, r1 + mov r1, #0 +_0202956A: + ldrb r0, [r3, r1] + cmp r0, #0xff + beq _02029578 + add r1, r1, #1 + add r2, r2, #1 + cmp r1, #0x1c + blt _0202956A +_02029578: + add r0, r2, #0 + bx lr + thumb_func_end sub_02029558 + + thumb_func_start sub_0202957C +sub_0202957C: ; 0x0202957C + cmp r2, #0 + beq _02029584 + mov r2, #0x4a + b _02029586 +_02029584: + mov r2, #0x43 +_02029586: + lsl r2, r2, #2 + add r3, r0, r2 + mov r2, #0 +_0202958C: + ldrb r0, [r3, r2] + cmp r1, r0 + bne _02029596 + mov r0, #1 + bx lr +_02029596: + add r2, r2, #1 + cmp r2, #0x1c + blt _0202958C + mov r0, #0 + bx lr + thumb_func_end sub_0202957C + + thumb_func_start sub_020295A0 +sub_020295A0: ; 0x020295A0 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r4, r1, #0 + add r7, r2, #0 + beq _020295AE + mov r0, #0x4a + b _020295B0 +_020295AE: + mov r0, #0x43 +_020295B0: + lsl r0, r0, #2 + lsl r1, r4, #0x18 + add r6, r5, r0 + add r0, r5, #0 + lsr r1, r1, #0x18 + add r2, r7, #0 + bl sub_0202957C + cmp r0, #0 + bne _020295D2 + add r0, r5, #0 + add r1, r7, #0 + bl sub_02029558 + cmp r0, #0x1c + bge _020295D2 + strb r4, [r6, r0] +_020295D2: + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_020295A0 + + thumb_func_start sub_020295D4 +sub_020295D4: ; 0x020295D4 + push {r3, r4, r5, lr} + add r4, r1, #0 + ldr r1, _02029638 ; =0x000001A6 + add r5, r0, #0 + cmp r4, r1 + beq _020295F8 + add r0, r1, #1 + cmp r4, r0 + beq _020295F8 + add r0, r1, #0 + add r0, #0x46 + cmp r4, r0 + beq _020295F8 + add r1, #0x41 + cmp r4, r1 + beq _020295F8 + bl GF_AssertFail +_020295F8: + lsl r1, r4, #0x10 + add r0, r5, #0 + lsr r1, r1, #0x10 + bl sub_0202A044 + cmp r0, #0 + bne _0202960A + mov r0, #0 + pop {r3, r4, r5, pc} +_0202960A: + add r0, r5, #0 + add r1, r4, #0 + bl sub_020294C4 + ldrb r1, [r0] + mov r2, #1 + add r0, r1, #0 + tst r0, r2 + bne _0202961E + mov r2, #0 +_0202961E: + mov r0, #2 + tst r0, r1 + beq _02029628 + mov r0, #1 + b _0202962A +_02029628: + mov r0, #0 +_0202962A: + cmp r2, r0 + bne _02029632 + mov r0, #1 + pop {r3, r4, r5, pc} +_02029632: + mov r0, #2 + pop {r3, r4, r5, pc} + nop +_02029638: .word 0x000001A6 + thumb_func_end sub_020295D4 + + thumb_func_start sub_0202963C +sub_0202963C: ; 0x0202963C + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + ldr r1, _020296C4 ; =0x000001A6 + add r7, r0, #0 + add r5, r2, #0 + cmp r6, r1 + beq _02029662 + add r0, r1, #1 + cmp r6, r0 + beq _02029662 + add r0, r1, #0 + add r0, #0x46 + cmp r6, r0 + beq _02029662 + add r1, #0x41 + cmp r6, r1 + beq _02029662 + bl GF_AssertFail +_02029662: + lsl r1, r6, #0x10 + add r0, r7, #0 + lsr r1, r1, #0x10 + bl sub_0202A044 + cmp r0, #0 + bne _02029674 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02029674: + add r0, r7, #0 + add r1, r6, #0 + bl sub_020294C4 + add r4, r0, #0 + add r0, r7, #0 + add r1, r6, #0 + bl sub_020295D4 + mov r6, #0 + cmp r0, #0 + bls _020296C0 + mov r1, #1 +_0202968E: + add r2, r6, #1 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + sub r2, r2, #1 + lsl r2, r2, #0x10 + lsr r3, r2, #0x10 + add r7, r3, #0 + mov r2, #7 + asr r3, r3, #3 + and r7, r2 + add r2, r1, #0 + ldrb r3, [r4, r3] + lsl r2, r7 + tst r2, r3 + beq _020296B0 + add r2, r1, #0 + b _020296B2 +_020296B0: + mov r2, #0 +_020296B2: + cmp r2, r5 + bne _020296BA + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_020296BA: + add r6, r6, #1 + cmp r6, r0 + blo _0202968E +_020296C0: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_020296C4: .word 0x000001A6 + thumb_func_end sub_0202963C + + thumb_func_start sub_020296C8 +sub_020296C8: ; 0x020296C8 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + ldr r1, _0202978C ; =0x000001A6 + add r7, r0, #0 + add r6, r2, #0 + cmp r4, r1 + beq _020296EE + add r0, r1, #1 + cmp r4, r0 + beq _020296EE + add r0, r1, #0 + add r0, #0x46 + cmp r4, r0 + beq _020296EE + add r1, #0x41 + cmp r4, r1 + beq _020296EE + bl GF_AssertFail +_020296EE: + lsl r2, r6, #0x18 + add r0, r7, #0 + add r1, r4, #0 + lsr r2, r2, #0x18 + bl sub_0202963C + cmp r0, #0 + bne _02029788 + add r0, r7, #0 + add r1, r4, #0 + bl sub_020294C4 + add r5, r0, #0 + add r0, r7, #0 + add r1, r4, #0 + bl sub_020295D4 + add r4, r0, #0 + cmp r4, #2 + bge _02029788 + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + cmp r0, #2 + blo _02029728 + bl GF_AssertFail +_02029728: + sub r0, r7, #1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + add r2, r1, #0 + mov r0, #7 + and r2, r0 + asr r1, r1, #3 + mov r3, #1 + lsl r3, r2 + ldrb r0, [r5, r1] + mvn r3, r3 + and r0, r3 + strb r0, [r5, r1] + lsl r0, r6, #0x18 + lsr r6, r0, #0x18 + add r0, r6, #0 + ldrb r3, [r5, r1] + lsl r0, r2 + orr r0, r3 + strb r0, [r5, r1] + cmp r4, #0 + bne _02029788 + add r0, r4, #2 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r6, #2 + blo _02029762 + bl GF_AssertFail +_02029762: + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #7 + add r1, r2, #0 + and r1, r0 + asr r0, r2, #3 + mov r2, #1 + lsl r2, r1 + ldrb r3, [r5, r0] + mvn r2, r2 + and r2, r3 + strb r2, [r5, r0] + add r2, r6, #0 + ldrb r3, [r5, r0] + lsl r2, r1 + add r1, r3, #0 + orr r1, r2 + strb r1, [r5, r0] +_02029788: + pop {r3, r4, r5, r6, r7, pc} + nop +_0202978C: .word 0x000001A6 + thumb_func_end sub_020296C8 + + thumb_func_start sub_02029790 +sub_02029790: ; 0x02029790 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0x67 + add r4, r1, #0 + lsl r0, r0, #2 + cmp r4, r0 + beq _020297AC + add r0, r0, #1 + cmp r4, r0 + beq _020297AC + cmp r4, #0xac + beq _020297AC + bl GF_AssertFail +_020297AC: + lsl r1, r4, #0x10 + add r0, r5, #0 + lsr r1, r1, #0x10 + bl sub_0202A044 + cmp r0, #0 + bne _020297BE + mov r0, #0 + pop {r3, r4, r5, pc} +_020297BE: + add r0, r5, #0 + add r1, r4, #0 + bl sub_020294C4 + mov r1, #0 + mov r3, #3 +_020297CA: + lsl r2, r1, #0x10 + lsr r5, r2, #0x10 + asr r2, r5, #2 + ldrb r4, [r0, r2] + lsl r2, r5, #0x1e + lsr r2, r2, #0x1d + asr r4, r2 + add r2, r4, #0 + and r2, r3 + cmp r2, #3 + beq _020297E6 + add r1, r1, #1 + cmp r1, #3 + blt _020297CA +_020297E6: + add r0, r1, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02029790 + + thumb_func_start sub_020297EC +sub_020297EC: ; 0x020297EC + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r0, #0x67 + add r5, r1, #0 + lsl r0, r0, #2 + add r4, r2, #0 + cmp r5, r0 + beq _0202980A + add r0, r0, #1 + cmp r5, r0 + beq _0202980A + cmp r5, #0xac + beq _0202980A + bl GF_AssertFail +_0202980A: + lsl r1, r5, #0x10 + add r0, r6, #0 + lsr r1, r1, #0x10 + bl sub_0202A044 + cmp r0, #0 + bne _0202981C + mov r0, #0 + pop {r4, r5, r6, pc} +_0202981C: + add r0, r6, #0 + add r1, r5, #0 + bl sub_020294C4 + mov r1, #0 + mov r3, #3 +_02029828: + lsl r2, r1, #0x10 + lsr r6, r2, #0x10 + asr r2, r6, #2 + ldrb r5, [r0, r2] + lsl r2, r6, #0x1e + lsr r2, r2, #0x1d + asr r5, r2 + add r2, r5, #0 + and r2, r3 + cmp r2, r4 + bne _02029842 + mov r0, #1 + pop {r4, r5, r6, pc} +_02029842: + add r1, r1, #1 + cmp r1, #3 + blt _02029828 + mov r0, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_020297EC + + thumb_func_start sub_0202984C +sub_0202984C: ; 0x0202984C + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + mov r0, #0x67 + add r5, r1, #0 + lsl r0, r0, #2 + add r6, r2, #0 + cmp r5, r0 + beq _0202986A + add r0, r0, #1 + cmp r5, r0 + beq _0202986A + cmp r5, #0xac + beq _0202986A + bl GF_AssertFail +_0202986A: + lsl r2, r6, #0x18 + add r0, r7, #0 + add r1, r5, #0 + lsr r2, r2, #0x18 + bl sub_020297EC + cmp r0, #0 + bne _020298C2 + add r0, r7, #0 + add r1, r5, #0 + bl sub_020294C4 + add r4, r0, #0 + add r0, r7, #0 + add r1, r5, #0 + bl sub_02029790 + add r5, r0, #0 + cmp r5, #3 + bge _020298C2 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + cmp r0, #4 + blo _0202989E + bl GF_AssertFail +_0202989E: + lsl r0, r5, #0x10 + lsr r2, r0, #0x10 + lsl r0, r2, #0x1e + lsr r1, r0, #0x1d + asr r0, r2, #2 + mov r2, #3 + lsl r2, r1 + ldrb r3, [r4, r0] + mvn r2, r2 + and r2, r3 + strb r2, [r4, r0] + lsl r2, r6, #0x18 + lsr r2, r2, #0x18 + ldrb r3, [r4, r0] + lsl r2, r1 + add r1, r3, #0 + orr r1, r2 + strb r1, [r4, r0] +_020298C2: + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202984C + + thumb_func_start sub_020298C4 +sub_020298C4: ; 0x020298C4 + push {r3, r4} + lsl r2, r2, #2 + add r2, #0x18 + mov r3, #0xf + lsl r3, r2 + ldr r4, [r0, #0x3c] + mvn r3, r3 + lsl r1, r2 + and r3, r4 + orr r1, r3 + str r1, [r0, #0x3c] + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_020298C4 + + thumb_func_start sub_020298E0 +sub_020298E0: ; 0x020298E0 + push {r4, r5, r6, lr} + add r4, r2, #0 + add r5, r0, #0 + add r6, r1, #0 + cmp r4, #4 + blo _020298F0 + bl GF_AssertFail +_020298F0: + cmp r6, #0xf + bls _020298F8 + bl GF_AssertFail +_020298F8: + cmp r4, #2 + bhs _02029908 + add r0, r5, #4 + add r1, r6, #0 + add r2, r4, #0 + bl sub_020298C4 + pop {r4, r5, r6, pc} +_02029908: + sub r2, r4, #2 + add r5, #0x44 + lsl r2, r2, #0x18 + add r0, r5, #0 + add r1, r6, #0 + lsr r2, r2, #0x18 + bl sub_020298C4 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_020298E0 + + thumb_func_start sub_0202991C +sub_0202991C: ; 0x0202991C + cmp r1, #2 + bhs _02029930 + ldr r2, [r0, #0x40] + lsl r0, r1, #2 + add r0, #0x18 + add r1, r2, #0 + lsr r1, r0 + mov r0, #0xf + and r0, r1 + bx lr +_02029930: + add r0, #0x80 + ldr r2, [r0] + sub r0, r1, #2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x16 + add r0, #0x18 + add r1, r2, #0 + lsr r1, r0 + mov r0, #0xf + and r0, r1 + bx lr + .balign 4, 0 + thumb_func_end sub_0202991C + + thumb_func_start sub_02029948 +sub_02029948: ; 0x02029948 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 +_0202994E: + lsl r1, r4, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + bl sub_0202991C + cmp r0, #0xf + beq _02029962 + add r4, r4, #1 + cmp r4, #4 + blt _0202994E +_02029962: + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02029948 + + thumb_func_start sub_02029968 +sub_02029968: ; 0x02029968 + push {r4, r5, r6, lr} + add r6, r0, #0 + add r5, r1, #0 + mov r4, #0 +_02029970: + lsl r1, r4, #0x18 + add r0, r6, #0 + lsr r1, r1, #0x18 + bl sub_0202991C + cmp r5, r0 + bne _02029982 + mov r0, #1 + pop {r4, r5, r6, pc} +_02029982: + add r4, r4, #1 + cmp r4, #4 + blt _02029970 + mov r0, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_02029968 + + thumb_func_start sub_0202998C +sub_0202998C: ; 0x0202998C + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + add r0, r2, #0 + mov r1, #0x70 + mov r2, #0 + bl sub_0206E540 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, _020299C8 ; =0x00000182 + cmp r6, r0 + bne _020299C6 + add r0, r5, #0 + add r1, r4, #0 + bl sub_02029968 + cmp r0, #0 + bne _020299C6 + add r0, r5, #0 + bl sub_02029948 + add r2, r0, #0 + lsl r2, r2, #0x18 + add r0, r5, #0 + add r1, r4, #0 + lsr r2, r2, #0x18 + bl sub_020298E0 +_020299C6: + pop {r4, r5, r6, pc} + .balign 4, 0 +_020299C8: .word 0x00000182 + thumb_func_end sub_0202998C + + thumb_func_start sub_020299CC +sub_020299CC: ; 0x020299CC + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r4, #0 + mov r6, #0xf +_020299D4: + lsl r2, r4, #0x18 + add r0, r5, #0 + add r1, r6, #0 + lsr r2, r2, #0x18 + bl sub_020298E0 + add r4, r4, #1 + cmp r4, #4 + blt _020299D4 + pop {r4, r5, r6, pc} + thumb_func_end sub_020299CC + + thumb_func_start sub_020299E8 +sub_020299E8: ; 0x020299E8 + push {r3, r4, r5, lr} + add r4, r0, #0 + ldr r0, _02029A30 ; =0x000001DF + add r5, r1, #0 + cmp r5, r0 + beq _020299F8 + bl GF_AssertFail +_020299F8: + lsl r1, r5, #0x10 + add r0, r4, #0 + lsr r1, r1, #0x10 + bl sub_0202A044 + cmp r0, #0 + bne _02029A0A + mov r0, #0 + pop {r3, r4, r5, pc} +_02029A0A: + mov r2, #0xce + lsl r2, r2, #2 + mov r0, #0 + ldr r5, [r4, r2] + add r1, r0, #0 + mov r3, #7 +_02029A16: + lsl r2, r1, #1 + add r2, r1, r2 + add r4, r5, #0 + lsr r4, r2 + add r2, r4, #0 + and r2, r3 + cmp r2, #7 + beq _02029A2E + add r1, r1, #1 + add r0, r0, #1 + cmp r1, #6 + blt _02029A16 +_02029A2E: + pop {r3, r4, r5, pc} + .balign 4, 0 +_02029A30: .word 0x000001DF + thumb_func_end sub_020299E8 + + thumb_func_start sub_02029A34 +sub_02029A34: ; 0x02029A34 + push {r4, r5, r6, lr} + add r6, r0, #0 + ldr r0, _02029A8C ; =0x000001DF + add r5, r1, #0 + add r4, r2, #0 + cmp r5, r0 + beq _02029A46 + bl GF_AssertFail +_02029A46: + lsl r1, r5, #0x10 + add r0, r6, #0 + lsr r1, r1, #0x10 + bl sub_0202A044 + cmp r0, #0 + bne _02029A58 + mov r0, #0 + pop {r4, r5, r6, pc} +_02029A58: + add r0, r6, #0 + add r1, r5, #0 + bl sub_020299E8 + mov r1, #0 + cmp r0, #0 + bls _02029A88 + mov r2, #0xce + lsl r2, r2, #2 + ldr r2, [r6, r2] + mov r5, #7 +_02029A6E: + lsl r3, r1, #1 + add r3, r1, r3 + add r6, r2, #0 + lsr r6, r3 + add r3, r6, #0 + and r3, r5 + cmp r3, r4 + bne _02029A82 + mov r0, #1 + pop {r4, r5, r6, pc} +_02029A82: + add r1, r1, #1 + cmp r1, r0 + blo _02029A6E +_02029A88: + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_02029A8C: .word 0x000001DF + thumb_func_end sub_02029A34 + + thumb_func_start sub_02029A90 +sub_02029A90: ; 0x02029A90 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, _02029AEC ; =0x000001DF + add r6, r1, #0 + add r4, r2, #0 + cmp r6, r0 + beq _02029AA2 + bl GF_AssertFail +_02029AA2: + lsl r2, r4, #0x18 + add r0, r5, #0 + add r1, r6, #0 + lsr r2, r2, #0x18 + bl sub_02029A34 + cmp r0, #0 + bne _02029AE8 + add r0, r5, #0 + add r1, r6, #0 + bl sub_020299E8 + add r6, r0, #0 + cmp r6, #6 + bge _02029AE8 + cmp r4, #7 + blo _02029AC8 + bl GF_AssertFail +_02029AC8: + lsl r0, r6, #1 + mov r1, #0xce + lsl r1, r1, #2 + add r0, r6, r0 + mov r2, #7 + lsl r2, r0 + ldr r3, [r5, r1] + mvn r2, r2 + and r2, r3 + str r2, [r5, r1] + add r2, r4, #0 + ldr r3, [r5, r1] + lsl r2, r0 + add r0, r3, #0 + orr r0, r2 + str r0, [r5, r1] +_02029AE8: + pop {r4, r5, r6, pc} + nop +_02029AEC: .word 0x000001DF + thumb_func_end sub_02029A90 + + thumb_func_start sub_02029AF0 +sub_02029AF0: ; 0x02029AF0 + push {r4, r5, r6, lr} + add r6, r2, #0 + add r5, r0, #0 + add r4, r1, #0 + add r0, r6, #0 + mov r1, #0x70 + mov r2, #0 + bl sub_0206E540 + add r2, r0, #0 + ldr r0, _02029BDC ; =0x000001A6 + cmp r4, r0 + bgt _02029B48 + bge _02029BB0 + cmp r4, #0xc9 + bgt _02029B18 + bge _02029B78 + cmp r4, #0xac + beq _02029B8E + pop {r4, r5, r6, pc} +_02029B18: + add r1, r0, #0 + sub r1, #0x24 + cmp r4, r1 + bgt _02029B28 + sub r0, #0x24 + cmp r4, r0 + beq _02029BBA + pop {r4, r5, r6, pc} +_02029B28: + add r1, r0, #0 + sub r1, #9 + cmp r4, r1 + bgt _02029BD8 + add r1, r0, #0 + sub r1, #0xa + cmp r4, r1 + blt _02029BD8 + add r1, r0, #0 + sub r1, #0xa + cmp r4, r1 + beq _02029B84 + sub r0, #9 + cmp r4, r0 + beq _02029B84 + pop {r4, r5, r6, pc} +_02029B48: + add r1, r0, #0 + add r1, #0x39 + cmp r4, r1 + bgt _02029B60 + add r1, r0, #0 + add r1, #0x39 + cmp r4, r1 + bge _02029BD0 + add r0, r0, #1 + cmp r4, r0 + beq _02029BB0 + pop {r4, r5, r6, pc} +_02029B60: + add r1, r0, #0 + add r1, #0x41 + cmp r4, r1 + bgt _02029B70 + add r0, #0x41 + cmp r4, r0 + beq _02029BC6 + pop {r4, r5, r6, pc} +_02029B70: + add r0, #0x46 + cmp r4, r0 + beq _02029BC6 + pop {r4, r5, r6, pc} +_02029B78: + add r1, r2, #0 + add r0, r5, #0 + mov r2, #0 + bl sub_020295A0 + pop {r4, r5, r6, pc} +_02029B84: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202984C + pop {r4, r5, r6, pc} +_02029B8E: + cmp r2, #0 + bne _02029BA4 + add r0, r6, #0 + bl sub_0206FF88 + cmp r0, #0 + bne _02029BA0 + mov r2, #0 + b _02029BA6 +_02029BA0: + mov r2, #1 + b _02029BA6 +_02029BA4: + mov r2, #2 +_02029BA6: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202984C + pop {r4, r5, r6, pc} +_02029BB0: + add r0, r5, #0 + add r1, r4, #0 + bl sub_020296C8 + pop {r4, r5, r6, pc} +_02029BBA: + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0202998C + pop {r4, r5, r6, pc} +_02029BC6: + add r0, r5, #0 + add r1, r4, #0 + bl sub_020296C8 + pop {r4, r5, r6, pc} +_02029BD0: + add r0, r5, #0 + add r1, r4, #0 + bl sub_02029A90 +_02029BD8: + pop {r4, r5, r6, pc} + nop +_02029BDC: .word 0x000001A6 + thumb_func_end sub_02029AF0 + + thumb_func_start sub_02029BE0 +sub_02029BE0: ; 0x02029BE0 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r0, r2, #0 + add r4, r1, #0 + bl sub_02091278 + cmp r0, #6 + beq _02029C02 + mov r1, #0x51 + lsl r1, r1, #2 + add r3, r5, r1 + ldrb r2, [r3, r4] + mov r1, #1 + lsl r1, r0 + add r0, r2, #0 + orr r0, r1 + strb r0, [r3, r4] +_02029C02: + pop {r3, r4, r5, pc} + thumb_func_end sub_02029BE0 + + thumb_func_start sub_02029C04 +sub_02029C04: ; 0x02029C04 + push {r4, r5, r6, lr} + add r6, r1, #0 + add r5, r0, #0 + add r0, r6, #0 + mov r1, #0x12 + add r4, r2, #0 + bl sub_0206FBE8 + cmp r0, #0xff + bne _02029C26 + cmp r4, #0 + bne _02029C20 + mov r0, #2 + pop {r4, r5, r6, pc} +_02029C20: + mov r0, #0 + mvn r0, r0 + pop {r4, r5, r6, pc} +_02029C26: + sub r0, r6, #1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r1, #1 + mov r0, #7 + add r3, r2, #0 + and r3, r0 + add r0, r1, #0 + lsl r0, r3 + asr r3, r2, #3 + add r3, r5, r3 + add r3, #0x84 + ldrb r3, [r3] + tst r0, r3 + bne _02029C46 + mov r1, #0 +_02029C46: + lsl r0, r1, #0x18 + lsr r1, r0, #0x18 + cmp r4, #1 + bne _02029C76 + add r4, r2, #0 + asr r2, r2, #3 + add r2, r5, r2 + mov r0, #7 + add r2, #0xc4 + mov r3, #1 + and r4, r0 + add r0, r3, #0 + ldrb r2, [r2] + lsl r0, r4 + tst r0, r2 + bne _02029C68 + mov r3, #0 +_02029C68: + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + cmp r0, r1 + bne _02029C78 + mov r0, #0 + mvn r0, r0 + pop {r4, r5, r6, pc} +_02029C76: + add r0, r1, #0 +_02029C78: + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_02029C04 + + thumb_func_start sub_02029C7C +sub_02029C7C: ; 0x02029C7C + push {r4, r5, r6, lr} + add r5, r1, #0 + ldr r1, _02029CD8 ; =0x000001A6 + add r6, r0, #0 + add r4, r2, #0 + cmp r5, r1 + beq _02029CA2 + add r0, r1, #1 + cmp r5, r0 + beq _02029CA2 + add r0, r1, #0 + add r0, #0x46 + cmp r5, r0 + beq _02029CA2 + add r1, #0x41 + cmp r5, r1 + beq _02029CA2 + bl GF_AssertFail +_02029CA2: + cmp r4, #2 + blt _02029CAA + bl GF_AssertFail +_02029CAA: + add r0, r6, #0 + add r1, r5, #0 + bl sub_020294C4 + add r1, r4, #1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + sub r1, r1, #1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + mov r1, #1 + mov r2, #7 + and r2, r4 + add r3, r1, #0 + lsl r3, r2 + asr r2, r4, #3 + ldrb r0, [r0, r2] + tst r0, r3 + bne _02029CD2 + mov r1, #0 +_02029CD2: + add r0, r1, #0 + pop {r4, r5, r6, pc} + nop +_02029CD8: .word 0x000001A6 + thumb_func_end sub_02029C7C + + thumb_func_start sub_02029CDC +sub_02029CDC: ; 0x02029CDC + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _02029D08 ; =0x000001DF + add r4, r2, #0 + cmp r1, r0 + beq _02029CEC + bl GF_AssertFail +_02029CEC: + cmp r4, #6 + blt _02029CF4 + bl GF_AssertFail +_02029CF4: + mov r0, #0xce + lsl r0, r0, #2 + ldr r1, [r5, r0] + lsl r0, r4, #1 + add r0, r4, r0 + lsr r1, r0 + mov r0, #7 + and r0, r1 + pop {r3, r4, r5, pc} + nop +_02029D08: .word 0x000001DF + thumb_func_end sub_02029CDC + + thumb_func_start sub_02029D0C +sub_02029D0C: ; 0x02029D0C + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r0, #0x67 + add r5, r1, #0 + lsl r0, r0, #2 + add r4, r2, #0 + cmp r5, r0 + beq _02029D2A + add r0, r0, #1 + cmp r5, r0 + beq _02029D2A + cmp r5, #0xac + beq _02029D2A + bl GF_AssertFail +_02029D2A: + cmp r4, #3 + blt _02029D32 + bl GF_AssertFail +_02029D32: + add r0, r6, #0 + add r1, r5, #0 + bl sub_020294C4 + lsl r1, r4, #0x10 + lsr r2, r1, #0x10 + asr r1, r2, #2 + ldrb r1, [r0, r1] + lsl r0, r2, #0x1e + lsr r0, r0, #0x1d + asr r1, r0 + mov r0, #3 + and r0, r1 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_02029D0C + + thumb_func_start sub_02029D50 +sub_02029D50: ; 0x02029D50 + push {r4, r5} + mov r3, #0 + ldr r5, _02029D70 ; =0x020F6768 + mov r4, #1 + add r1, r3, #0 +_02029D5A: + ldrh r2, [r5] + cmp r0, r2 + bne _02029D62 + add r4, r1, #0 +_02029D62: + add r3, r3, #1 + add r5, r5, #2 + cmp r3, #9 + blt _02029D5A + add r0, r4, #0 + pop {r4, r5} + bx lr + .balign 4, 0 +_02029D70: .word 0x020F6768 + thumb_func_end sub_02029D50 + + thumb_func_start sub_02029D74 +sub_02029D74: ; 0x02029D74 + push {r4, r5} + mov r3, #0 + ldr r5, _02029D94 ; =0x020F6764 + mov r4, #1 + add r1, r3, #0 +_02029D7E: + ldrh r2, [r5] + cmp r0, r2 + bne _02029D86 + add r4, r1, #0 +_02029D86: + add r3, r3, #1 + add r5, r5, #2 + cmp r3, #2 + blt _02029D7E + add r0, r4, #0 + pop {r4, r5} + bx lr + .balign 4, 0 +_02029D94: .word 0x020F6764 + thumb_func_end sub_02029D74 + + thumb_func_start sub_02029D98 +sub_02029D98: ; 0x02029D98 + push {r4, lr} + mov r2, #0xd + mov r1, #0 + lsl r2, r2, #6 + add r4, r0, #0 + bl memset + ldr r0, _02029E04 ; =0xBEEFCAFE + mov r1, #0 + str r0, [r4] + ldr r0, _02029E08 ; =0x00000337 + mov r2, #0x1c + strb r1, [r4, r0] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r4, r0 + mov r1, #0xff + bl memset + mov r0, #0x4a + lsl r0, r0, #2 + add r0, r4, r0 + mov r1, #0xff + mov r2, #0x1c + bl memset + mov r0, #0xff + add r1, r0, #0 + add r1, #9 + strb r0, [r4, r1] + add r1, r0, #0 + add r1, #0xa + strb r0, [r4, r1] + add r1, r0, #0 + add r1, #0xb + strb r0, [r4, r1] + add r1, r0, #0 + add r1, #0xc + strb r0, [r4, r1] + mov r2, #0 + mov r1, #0xce + mvn r2, r2 + lsl r1, r1, #2 + str r2, [r4, r1] + add r2, r1, #4 + strb r0, [r4, r2] + add r2, r1, #5 + strb r0, [r4, r2] + add r1, r1, #6 + strb r0, [r4, r1] + add r0, r4, #0 + bl sub_020299CC + pop {r4, pc} + .balign 4, 0 +_02029E04: .word 0xBEEFCAFE +_02029E08: .word 0x00000337 + thumb_func_end sub_02029D98 + + thumb_func_start sub_02029E0C +sub_02029E0C: ; 0x02029E0C + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + ldr r1, [r6] + ldr r0, _02029E40 ; =0xBEEFCAFE + cmp r1, r0 + beq _02029E1C + bl GF_AssertFail +_02029E1C: + ldr r7, _02029E44 ; =0x000001ED + mov r5, #0 + mov r4, #1 +_02029E22: + lsl r1, r4, #0x10 + add r0, r6, #0 + lsr r1, r1, #0x10 + bl sub_02029FF8 + cmp r0, #1 + bne _02029E32 + add r5, r5, #1 +_02029E32: + add r4, r4, #1 + cmp r4, r7 + ble _02029E22 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + pop {r3, r4, r5, r6, r7, pc} + nop +_02029E40: .word 0xBEEFCAFE +_02029E44: .word 0x000001ED + thumb_func_end sub_02029E0C + + thumb_func_start sub_02029E48 +sub_02029E48: ; 0x02029E48 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + ldr r1, [r6] + ldr r0, _02029E7C ; =0xBEEFCAFE + cmp r1, r0 + beq _02029E58 + bl GF_AssertFail +_02029E58: + ldr r7, _02029E80 ; =0x000001ED + mov r5, #0 + mov r4, #1 +_02029E5E: + lsl r1, r4, #0x10 + add r0, r6, #0 + lsr r1, r1, #0x10 + bl sub_0202A044 + cmp r0, #1 + bne _02029E6E + add r5, r5, #1 +_02029E6E: + add r4, r4, #1 + cmp r4, r7 + ble _02029E5E + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + pop {r3, r4, r5, r6, r7, pc} + nop +_02029E7C: .word 0xBEEFCAFE +_02029E80: .word 0x000001ED + thumb_func_end sub_02029E48 + + thumb_func_start sub_02029E84 +sub_02029E84: ; 0x02029E84 + push {r4, lr} + add r4, r0, #0 + bl sub_0202A55C + cmp r0, #0 + beq _02029E98 + add r0, r4, #0 + bl sub_02029E0C + pop {r4, pc} +_02029E98: + add r0, r4, #0 + bl sub_02029EA0 + pop {r4, pc} + thumb_func_end sub_02029E84 + + thumb_func_start sub_02029EA0 +sub_02029EA0: ; 0x02029EA0 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + ldr r1, [r7] + ldr r0, _02029EEC ; =0xBEEFCAFE + cmp r1, r0 + beq _02029EB0 + bl GF_AssertFail +_02029EB0: + bl sub_0207187C + add r6, r0, #0 + mov r5, #0 + mov r4, #1 +_02029EBA: + add r0, r7, #0 + add r1, r4, #0 + bl sub_02029FF8 + cmp r0, #1 + bne _02029ED4 + lsl r0, r4, #1 + ldrh r0, [r6, r0] + cmp r0, #0 + beq _02029ED4 + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02029ED4: + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, _02029EF0 ; =0x000001ED + cmp r4, r0 + bls _02029EBA + add r0, r6, #0 + bl FreeToHeap + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_02029EEC: .word 0xBEEFCAFE +_02029EF0: .word 0x000001ED + thumb_func_end sub_02029EA0 + + thumb_func_start sub_02029EF4 +sub_02029EF4: ; 0x02029EF4 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + ldr r1, [r7] + ldr r0, _02029F40 ; =0xBEEFCAFE + cmp r1, r0 + beq _02029F04 + bl GF_AssertFail +_02029F04: + bl sub_0207187C + add r6, r0, #0 + mov r5, #0 + mov r4, #1 +_02029F0E: + add r0, r7, #0 + add r1, r4, #0 + bl sub_0202A044 + cmp r0, #1 + bne _02029F28 + lsl r0, r4, #1 + ldrh r0, [r6, r0] + cmp r0, #0 + beq _02029F28 + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02029F28: + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, _02029F44 ; =0x000001ED + cmp r4, r0 + bls _02029F0E + add r0, r6, #0 + bl FreeToHeap + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_02029F40: .word 0xBEEFCAFE +_02029F44: .word 0x000001ED + thumb_func_end sub_02029EF4 + + thumb_func_start sub_02029F48 +sub_02029F48: ; 0x02029F48 + push {r3, lr} + bl sub_02029F74 + mov r1, #0x79 + lsl r1, r1, #2 + cmp r0, r1 + blo _02029F5A + mov r0, #1 + pop {r3, pc} +_02029F5A: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02029F48 + + thumb_func_start sub_02029F60 +sub_02029F60: ; 0x02029F60 + push {r3, lr} + bl sub_02029FAC + cmp r0, #0xfe + blo _02029F6E + mov r0, #1 + pop {r3, pc} +_02029F6E: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02029F60 + + thumb_func_start sub_02029F74 +sub_02029F74: ; 0x02029F74 + push {r3, r4, r5, r6, r7, lr} + ldr r7, _02029FA8 ; =0x000001ED + add r6, r0, #0 + mov r5, #0 + mov r4, #1 +_02029F7E: + lsl r1, r4, #0x10 + add r0, r6, #0 + lsr r1, r1, #0x10 + bl sub_02029FF8 + cmp r0, #1 + bne _02029F9E + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02029D50 + cmp r0, #1 + bne _02029F9E + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02029F9E: + add r4, r4, #1 + cmp r4, r7 + ble _02029F7E + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02029FA8: .word 0x000001ED + thumb_func_end sub_02029F74 + + thumb_func_start sub_02029FAC +sub_02029FAC: ; 0x02029FAC + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + bl sub_0207187C + add r6, r0, #0 + mov r5, #0 + mov r4, #1 +_02029FBA: + add r0, r7, #0 + add r1, r4, #0 + bl sub_02029FF8 + cmp r0, #1 + bne _02029FDE + lsl r0, r4, #1 + ldrh r0, [r6, r0] + cmp r0, #0 + beq _02029FDE + add r0, r4, #0 + bl sub_02029D74 + cmp r0, #1 + bne _02029FDE + add r0, r5, #1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02029FDE: + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, _02029FF4 ; =0x000001ED + cmp r4, r0 + bls _02029FBA + add r0, r6, #0 + bl FreeToHeap + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02029FF4: .word 0x000001ED + thumb_func_end sub_02029FAC + + thumb_func_start sub_02029FF8 +sub_02029FF8: ; 0x02029FF8 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A040 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A00A + bl GF_AssertFail +_0202A00A: + add r0, r4, #0 + bl sub_02029408 + cmp r0, #0 + beq _0202A018 + mov r0, #0 + pop {r3, r4, r5, pc} +_0202A018: + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #1 + mov r1, #7 + and r1, r2 + add r3, r0, #0 + lsl r3, r1 + asr r1, r2, #3 + add r2, r5, r1 + ldrb r1, [r2, #4] + tst r1, r3 + beq _0202A03A + add r2, #0x44 + ldrb r1, [r2] + tst r1, r3 + bne _0202A03C +_0202A03A: + mov r0, #0 +_0202A03C: + pop {r3, r4, r5, pc} + nop +_0202A040: .word 0xBEEFCAFE + thumb_func_end sub_02029FF8 + + thumb_func_start sub_0202A044 +sub_0202A044: ; 0x0202A044 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A084 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A056 + bl GF_AssertFail +_0202A056: + add r0, r4, #0 + bl sub_02029408 + cmp r0, #0 + beq _0202A064 + mov r0, #0 + pop {r3, r4, r5, pc} +_0202A064: + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + mov r0, #1 + mov r1, #7 + and r1, r3 + add r2, r0, #0 + lsl r2, r1 + asr r1, r3, #3 + add r1, r5, r1 + add r1, #0x44 + ldrb r1, [r1] + tst r1, r2 + bne _0202A082 + mov r0, #0 +_0202A082: + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202A084: .word 0xBEEFCAFE + thumb_func_end sub_0202A044 + + thumb_func_start sub_0202A088 +sub_0202A088: ; 0x0202A088 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A0B0 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A09A + bl GF_AssertFail +_0202A09A: + cmp r4, #0 + bne _0202A0A6 + mov r0, #0x41 + lsl r0, r0, #2 + ldr r6, [r5, r0] + b _0202A0AA +_0202A0A6: + bl GF_AssertFail +_0202A0AA: + add r0, r6, #0 + pop {r4, r5, r6, pc} + nop +_0202A0B0: .word 0xBEEFCAFE + thumb_func_end sub_0202A088 + + thumb_func_start sub_0202A0B4 +sub_0202A0B4: ; 0x0202A0B4 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A104 ; =0xBEEFCAFE + add r6, r2, #0 + cmp r1, r0 + beq _0202A0C8 + bl GF_AssertFail +_0202A0C8: + add r0, r4, #0 + bl sub_02029408 + cmp r0, #0 + beq _0202A0D8 + mov r0, #0 + mvn r0, r0 + pop {r4, r5, r6, pc} +_0202A0D8: + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + add r3, r2, #0 + asr r2, r2, #3 + add r2, r5, r2 + mov r0, #7 + add r2, #0x44 + mov r1, #1 + and r3, r0 + ldrb r2, [r2] + lsl r1, r3 + tst r1, r2 + beq _0202A100 + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_02029C04 + pop {r4, r5, r6, pc} +_0202A100: + sub r0, #8 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202A104: .word 0xBEEFCAFE + thumb_func_end sub_0202A0B4 + + thumb_func_start sub_0202A108 +sub_0202A108: ; 0x0202A108 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A148 ; =0xBEEFCAFE + add r6, r2, #0 + cmp r1, r0 + beq _0202A11C + bl GF_AssertFail +_0202A11C: + add r0, r5, #0 + add r1, r6, #0 + bl sub_02029558 + cmp r0, r4 + bgt _0202A12E + mov r0, #0 + mvn r0, r0 + pop {r4, r5, r6, pc} +_0202A12E: + cmp r6, #0 + beq _0202A13C + mov r0, #0x4a + add r1, r5, r4 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + pop {r4, r5, r6, pc} +_0202A13C: + mov r0, #0x43 + add r1, r5, r4 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + pop {r4, r5, r6, pc} + nop +_0202A148: .word 0xBEEFCAFE + thumb_func_end sub_0202A108 + + thumb_func_start sub_0202A14C +sub_0202A14C: ; 0x0202A14C + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A168 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A15E + bl GF_AssertFail +_0202A15E: + add r0, r5, #0 + add r1, r4, #0 + bl sub_02029558 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202A168: .word 0xBEEFCAFE + thumb_func_end sub_0202A14C + + thumb_func_start sub_0202A16C +sub_0202A16C: ; 0x0202A16C + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A19C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A17E + bl GF_AssertFail +_0202A17E: + ldr r1, _0202A1A0 ; =0x000001A6 + add r0, r5, #0 + bl sub_020295D4 + cmp r0, r4 + bgt _0202A190 + mov r0, #0 + mvn r0, r0 + pop {r3, r4, r5, pc} +_0202A190: + ldr r1, _0202A1A0 ; =0x000001A6 + add r0, r5, #0 + add r2, r4, #0 + bl sub_02029C7C + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202A19C: .word 0xBEEFCAFE +_0202A1A0: .word 0x000001A6 + thumb_func_end sub_0202A16C + + thumb_func_start sub_0202A1A4 +sub_0202A1A4: ; 0x0202A1A4 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A1C0 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A1B4 + bl GF_AssertFail +_0202A1B4: + ldr r1, _0202A1C4 ; =0x000001A6 + add r0, r4, #0 + bl sub_020295D4 + pop {r4, pc} + nop +_0202A1C0: .word 0xBEEFCAFE +_0202A1C4: .word 0x000001A6 + thumb_func_end sub_0202A1A4 + + thumb_func_start sub_0202A1C8 +sub_0202A1C8: ; 0x0202A1C8 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A1F8 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A1DA + bl GF_AssertFail +_0202A1DA: + ldr r1, _0202A1FC ; =0x000001A7 + add r0, r5, #0 + bl sub_020295D4 + cmp r0, r4 + bgt _0202A1EC + mov r0, #0 + mvn r0, r0 + pop {r3, r4, r5, pc} +_0202A1EC: + ldr r1, _0202A1FC ; =0x000001A7 + add r0, r5, #0 + add r2, r4, #0 + bl sub_02029C7C + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202A1F8: .word 0xBEEFCAFE +_0202A1FC: .word 0x000001A7 + thumb_func_end sub_0202A1C8 + + thumb_func_start sub_0202A200 +sub_0202A200: ; 0x0202A200 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A21C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A210 + bl GF_AssertFail +_0202A210: + ldr r1, _0202A220 ; =0x000001A7 + add r0, r4, #0 + bl sub_020295D4 + pop {r4, pc} + nop +_0202A21C: .word 0xBEEFCAFE +_0202A220: .word 0x000001A7 + thumb_func_end sub_0202A200 + + thumb_func_start sub_0202A224 +sub_0202A224: ; 0x0202A224 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A258 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A236 + bl GF_AssertFail +_0202A236: + mov r1, #0x67 + add r0, r5, #0 + lsl r1, r1, #2 + bl sub_02029790 + cmp r0, r4 + bgt _0202A24A + mov r0, #0 + mvn r0, r0 + pop {r3, r4, r5, pc} +_0202A24A: + mov r1, #0x67 + add r0, r5, #0 + lsl r1, r1, #2 + add r2, r4, #0 + bl sub_02029D0C + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202A258: .word 0xBEEFCAFE + thumb_func_end sub_0202A224 + + thumb_func_start sub_0202A25C +sub_0202A25C: ; 0x0202A25C + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A278 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A26C + bl GF_AssertFail +_0202A26C: + mov r1, #0x67 + add r0, r4, #0 + lsl r1, r1, #2 + bl sub_02029790 + pop {r4, pc} + .balign 4, 0 +_0202A278: .word 0xBEEFCAFE + thumb_func_end sub_0202A25C + + thumb_func_start sub_0202A27C +sub_0202A27C: ; 0x0202A27C + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A2AC ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A28E + bl GF_AssertFail +_0202A28E: + ldr r1, _0202A2B0 ; =0x0000019D + add r0, r5, #0 + bl sub_02029790 + cmp r0, r4 + bgt _0202A2A0 + mov r0, #0 + mvn r0, r0 + pop {r3, r4, r5, pc} +_0202A2A0: + ldr r1, _0202A2B0 ; =0x0000019D + add r0, r5, #0 + add r2, r4, #0 + bl sub_02029D0C + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202A2AC: .word 0xBEEFCAFE +_0202A2B0: .word 0x0000019D + thumb_func_end sub_0202A27C + + thumb_func_start sub_0202A2B4 +sub_0202A2B4: ; 0x0202A2B4 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A2D0 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A2C4 + bl GF_AssertFail +_0202A2C4: + ldr r1, _0202A2D4 ; =0x0000019D + add r0, r4, #0 + bl sub_02029790 + pop {r4, pc} + nop +_0202A2D0: .word 0xBEEFCAFE +_0202A2D4: .word 0x0000019D + thumb_func_end sub_0202A2B4 + + thumb_func_start sub_0202A2D8 +sub_0202A2D8: ; 0x0202A2D8 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A308 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A2EA + bl GF_AssertFail +_0202A2EA: + add r0, r5, #0 + mov r1, #0xac + bl sub_02029790 + cmp r0, r4 + bgt _0202A2FC + mov r0, #0 + mvn r0, r0 + pop {r3, r4, r5, pc} +_0202A2FC: + add r0, r5, #0 + mov r1, #0xac + add r2, r4, #0 + bl sub_02029D0C + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202A308: .word 0xBEEFCAFE + thumb_func_end sub_0202A2D8 + + thumb_func_start sub_0202A30C +sub_0202A30C: ; 0x0202A30C + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A328 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A31C + bl GF_AssertFail +_0202A31C: + add r0, r4, #0 + mov r1, #0xac + bl sub_02029790 + pop {r4, pc} + nop +_0202A328: .word 0xBEEFCAFE + thumb_func_end sub_0202A30C + + thumb_func_start sub_0202A32C +sub_0202A32C: ; 0x0202A32C + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A34C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A33E + bl GF_AssertFail +_0202A33E: + lsl r1, r4, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + bl sub_0202991C + pop {r3, r4, r5, pc} + nop +_0202A34C: .word 0xBEEFCAFE + thumb_func_end sub_0202A32C + + thumb_func_start sub_0202A350 +sub_0202A350: ; 0x0202A350 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A368 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A360 + bl GF_AssertFail +_0202A360: + add r0, r4, #0 + bl sub_02029948 + pop {r4, pc} + .balign 4, 0 +_0202A368: .word 0xBEEFCAFE + thumb_func_end sub_0202A350 + + thumb_func_start sub_0202A36C +sub_0202A36C: ; 0x0202A36C + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + str r1, [sp] + add r0, r1, #0 + mov r1, #5 + mov r2, #0 + bl sub_0206E540 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + mov r1, #0 + ldr r0, [sp] + add r2, r1, #0 + bl sub_0206E540 + str r0, [sp, #4] + ldr r0, [sp] + bl sub_0206FF88 + add r6, r0, #0 + ldr r1, [r5] + ldr r0, _0202A42C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A3A2 + bl GF_AssertFail +_0202A3A2: + add r0, r4, #0 + bl sub_02029408 + cmp r0, #0 + bne _0202A426 + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + mov r1, #1 + mov r0, #7 + add r2, r7, #0 + and r2, r0 + add r0, r1, #0 + asr r3, r7, #3 + lsl r0, r2 + add r2, r5, r3 + add r2, #0x44 + ldrb r2, [r2] + tst r2, r0 + bne _0202A3E6 + ldr r1, _0202A430 ; =0x00000147 + cmp r4, r1 + bne _0202A3D6 + ldr r0, [sp, #4] + sub r1, #0x43 + str r0, [r5, r1] +_0202A3D6: + lsl r1, r6, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + mov r2, #0 + add r3, r4, #0 + bl sub_0202949C + b _0202A408 +_0202A3E6: + add r2, r5, r3 + add r2, #0x84 + ldrb r2, [r2] + tst r0, r2 + bne _0202A3F2 + mov r1, #0 +_0202A3F2: + lsl r0, r1, #0x18 + lsr r0, r0, #0x18 + cmp r0, r6 + beq _0202A408 + lsl r1, r6, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + mov r2, #1 + add r3, r4, #0 + bl sub_0202949C +_0202A408: + ldr r2, [sp] + add r0, r5, #0 + add r1, r4, #0 + bl sub_02029AF0 + mov r1, #7 + add r5, #0x44 + asr r0, r7, #3 + ldrb r3, [r5, r0] + mov r2, #1 + and r1, r7 + lsl r2, r1 + add r1, r3, #0 + orr r1, r2 + strb r1, [r5, r0] +_0202A426: + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202A42C: .word 0xBEEFCAFE +_0202A430: .word 0x00000147 + thumb_func_end sub_0202A36C + + thumb_func_start sub_0202A434 +sub_0202A434: ; 0x0202A434 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r7, r1, #0 + add r5, r0, #0 + add r0, r7, #0 + mov r1, #5 + mov r2, #0 + bl sub_0206E540 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r7, #0 + mov r1, #0xc + mov r2, #0 + bl sub_0206E540 + mov r1, #0 + str r0, [sp, #4] + add r0, r7, #0 + add r2, r1, #0 + bl sub_0206E540 + str r0, [sp] + add r0, r7, #0 + bl sub_0206FF88 + add r6, r0, #0 + ldr r1, [r5] + ldr r0, _0202A534 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A476 + bl GF_AssertFail +_0202A476: + add r0, r4, #0 + bl sub_02029408 + cmp r0, #0 + bne _0202A530 + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + mov r2, #1 + mov r0, #7 + and r0, r3 + add r1, r2, #0 + lsl r1, r0 + asr r0, r3, #3 + add r3, r5, r0 + add r3, #0x44 + ldrb r3, [r3] + tst r3, r1 + bne _0202A4B8 + ldr r1, _0202A538 ; =0x00000147 + cmp r4, r1 + bne _0202A4A8 + ldr r0, [sp] + sub r1, #0x43 + str r0, [r5, r1] +_0202A4A8: + lsl r1, r6, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + mov r2, #0 + add r3, r4, #0 + bl sub_0202949C + b _0202A4DA +_0202A4B8: + add r0, r5, r0 + add r0, #0x84 + ldrb r0, [r0] + tst r0, r1 + bne _0202A4C4 + mov r2, #0 +_0202A4C4: + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + cmp r0, r6 + beq _0202A4DA + lsl r1, r6, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + mov r2, #1 + add r3, r4, #0 + bl sub_0202949C +_0202A4DA: + add r0, r5, #0 + add r1, r4, #0 + add r2, r7, #0 + bl sub_02029AF0 + cmp r4, #0xc9 + bne _0202A4F8 + add r0, r7, #0 + bl sub_02070D98 + add r1, r0, #0 + add r0, r5, #0 + mov r2, #1 + bl sub_020295A0 +_0202A4F8: + ldr r2, [sp, #4] + add r0, r5, #0 + add r1, r4, #0 + bl sub_02029BE0 + ldr r0, [sp, #4] + cmp r0, #2 + beq _0202A50E + add r0, r5, #0 + bl sub_0202A5DC +_0202A50E: + sub r0, r4, #1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r1, r5, #4 + asr r0, r6, #3 + mov r2, #7 + ldrb r4, [r1, r0] + mov r3, #1 + and r2, r6 + lsl r3, r2 + add r2, r4, #0 + orr r2, r3 + add r5, #0x44 + strb r2, [r1, r0] + ldrb r1, [r5, r0] + orr r1, r3 + strb r1, [r5, r0] +_0202A530: + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202A534: .word 0xBEEFCAFE +_0202A538: .word 0x00000147 + thumb_func_end sub_0202A434 + + thumb_func_start sub_0202A53C +sub_0202A53C: ; 0x0202A53C + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A554 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A54C + bl GF_AssertFail +_0202A54C: + ldr r0, _0202A558 ; =0x00000337 + mov r1, #1 + strb r1, [r4, r0] + pop {r4, pc} + .balign 4, 0 +_0202A554: .word 0xBEEFCAFE +_0202A558: .word 0x00000337 + thumb_func_end sub_0202A53C + + thumb_func_start sub_0202A55C +sub_0202A55C: ; 0x0202A55C + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A574 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A56C + bl GF_AssertFail +_0202A56C: + ldr r0, _0202A578 ; =0x00000337 + ldrb r0, [r4, r0] + pop {r4, pc} + nop +_0202A574: .word 0xBEEFCAFE +_0202A578: .word 0x00000337 + thumb_func_end sub_0202A55C + + thumb_func_start sub_0202A57C +sub_0202A57C: ; 0x0202A57C + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A598 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A58C + bl GF_AssertFail +_0202A58C: + mov r0, #0xcd + mov r1, #1 + lsl r0, r0, #2 + strb r1, [r4, r0] + pop {r4, pc} + nop +_0202A598: .word 0xBEEFCAFE + thumb_func_end sub_0202A57C + + thumb_func_start sub_0202A59C +sub_0202A59C: ; 0x0202A59C + push {r4, r5, r6, lr} + add r6, r2, #0 + add r5, r0, #0 + add r4, r1, #0 + cmp r6, #8 + bls _0202A5AC + bl GF_AssertFail +_0202A5AC: + ldr r1, [r5] + ldr r0, _0202A5D8 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A5B8 + bl GF_AssertFail +_0202A5B8: + add r0, r6, #0 + bl sub_02091278 + mov r2, #1 + add r3, r2, #0 + lsl r3, r0 + mov r0, #0x51 + add r1, r5, r4 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + tst r0, r3 + beq _0202A5D4 + add r0, r2, #0 + pop {r4, r5, r6, pc} +_0202A5D4: + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202A5D8: .word 0xBEEFCAFE + thumb_func_end sub_0202A59C + + thumb_func_start sub_0202A5DC +sub_0202A5DC: ; 0x0202A5DC + ldr r1, _0202A5E4 ; =0x00000335 + mov r2, #1 + strb r2, [r0, r1] + bx lr + .balign 4, 0 +_0202A5E4: .word 0x00000335 + thumb_func_end sub_0202A5DC + + thumb_func_start sub_0202A5E8 +sub_0202A5E8: ; 0x0202A5E8 + ldr r1, _0202A5F0 ; =0x00000335 + ldrb r0, [r0, r1] + bx lr + nop +_0202A5F0: .word 0x00000335 + thumb_func_end sub_0202A5E8 + + thumb_func_start sub_0202A5F4 +sub_0202A5F4: ; 0x0202A5F4 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A60C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A604 + bl GF_AssertFail +_0202A604: + ldr r0, _0202A610 ; =0x00000336 + ldrb r0, [r4, r0] + pop {r4, pc} + nop +_0202A60C: .word 0xBEEFCAFE +_0202A610: .word 0x00000336 + thumb_func_end sub_0202A5F4 + + thumb_func_start sub_0202A614 +sub_0202A614: ; 0x0202A614 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4] + ldr r0, _0202A62C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A624 + bl GF_AssertFail +_0202A624: + ldr r0, _0202A630 ; =0x00000336 + mov r1, #1 + strb r1, [r4, r0] + pop {r4, pc} + .balign 4, 0 +_0202A62C: .word 0xBEEFCAFE +_0202A630: .word 0x00000336 + thumb_func_end sub_0202A614 + + thumb_func_start sub_0202A634 +sub_0202A634: ; 0x0202A634 + ldr r3, _0202A63C ; =SavArray_get + mov r1, #6 + bx r3 + nop +_0202A63C: .word SavArray_get + thumb_func_end sub_0202A634 + + thumb_func_start sub_0202A640 +sub_0202A640: ; 0x0202A640 + push {r4, r5, r6, lr} + add r6, r0, #0 + add r5, r1, #0 + ldr r1, [r6] + ldr r0, _0202A78C ; =0xBEEFCAFE + add r4, r2, #0 + cmp r1, r0 + beq _0202A654 + bl GF_AssertFail +_0202A654: + ldr r1, _0202A790 ; =0x000001A6 + cmp r5, r1 + bgt _0202A698 + bge _0202A6E0 + cmp r5, #0xc9 + bgt _0202A668 + bge _0202A6C8 + cmp r5, #0xac + beq _0202A730 + b _0202A788 +_0202A668: + add r0, r1, #0 + sub r0, #0x24 + cmp r5, r0 + bgt _0202A678 + sub r1, #0x24 + cmp r5, r1 + beq _0202A744 + b _0202A788 +_0202A678: + add r0, r1, #0 + sub r0, #9 + cmp r5, r0 + bgt _0202A696 + add r0, r1, #0 + sub r0, #0xa + cmp r5, r0 + blt _0202A788 + add r0, r1, #0 + sub r0, #0xa + cmp r5, r0 + beq _0202A708 + sub r1, #9 + cmp r5, r1 + beq _0202A71C +_0202A696: + b _0202A788 +_0202A698: + add r0, r1, #0 + add r0, #0x39 + cmp r5, r0 + bgt _0202A6B0 + add r0, r1, #0 + add r0, #0x39 + cmp r5, r0 + bge _0202A770 + add r0, r1, #1 + cmp r5, r0 + beq _0202A6F4 + b _0202A788 +_0202A6B0: + add r0, r1, #0 + add r0, #0x41 + cmp r5, r0 + bgt _0202A6C0 + add r1, #0x41 + cmp r5, r1 + beq _0202A758 + b _0202A788 +_0202A6C0: + add r1, #0x46 + cmp r5, r1 + beq _0202A758 + b _0202A788 +_0202A6C8: + add r0, r6, #0 + mov r1, #0 + bl sub_0202A14C + cmp r4, r0 + bhs _0202A788 + add r0, r6, #0 + add r1, r4, #0 + mov r2, #0 + bl sub_0202A108 + pop {r4, r5, r6, pc} +_0202A6E0: + add r0, r6, #0 + bl sub_0202A1A4 + cmp r4, r0 + bhs _0202A788 + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202A16C + pop {r4, r5, r6, pc} +_0202A6F4: + add r0, r6, #0 + bl sub_0202A200 + cmp r4, r0 + bhs _0202A788 + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202A1C8 + pop {r4, r5, r6, pc} +_0202A708: + add r0, r6, #0 + bl sub_0202A25C + cmp r4, r0 + bhs _0202A788 + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202A224 + pop {r4, r5, r6, pc} +_0202A71C: + add r0, r6, #0 + bl sub_0202A2B4 + cmp r4, r0 + bhs _0202A788 + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202A27C + pop {r4, r5, r6, pc} +_0202A730: + add r0, r6, #0 + bl sub_0202A30C + cmp r4, r0 + bhs _0202A788 + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202A2D8 + pop {r4, r5, r6, pc} +_0202A744: + add r0, r6, #0 + bl sub_0202A350 + cmp r4, r0 + bhs _0202A788 + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202A32C + pop {r4, r5, r6, pc} +_0202A758: + add r0, r6, #0 + add r1, r5, #0 + bl sub_020295D4 + cmp r4, r0 + bge _0202A788 + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl sub_02029C7C + pop {r4, r5, r6, pc} +_0202A770: + add r0, r6, #0 + add r1, #0x39 + bl sub_020299E8 + cmp r4, r0 + bge _0202A788 + ldr r1, _0202A794 ; =0x000001DF + add r0, r6, #0 + add r2, r4, #0 + bl sub_02029CDC + pop {r4, r5, r6, pc} +_0202A788: + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202A78C: .word 0xBEEFCAFE +_0202A790: .word 0x000001A6 +_0202A794: .word 0x000001DF + thumb_func_end sub_0202A640 + + thumb_func_start sub_0202A798 +sub_0202A798: ; 0x0202A798 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, _0202A880 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202A7AA + bl GF_AssertFail +_0202A7AA: + ldr r1, _0202A884 ; =0x000001A6 + cmp r4, r1 + bgt _0202A7EE + bge _0202A82C + cmp r4, #0xc9 + bgt _0202A7BE + bge _0202A822 + cmp r4, #0xac + beq _0202A84C + b _0202A87A +_0202A7BE: + add r0, r1, #0 + sub r0, #0x24 + cmp r4, r0 + bgt _0202A7CE + sub r1, #0x24 + cmp r4, r1 + beq _0202A854 + b _0202A87A +_0202A7CE: + add r0, r1, #0 + sub r0, #9 + cmp r4, r0 + bgt _0202A87A + add r0, r1, #0 + sub r0, #0xa + cmp r4, r0 + blt _0202A87A + add r0, r1, #0 + sub r0, #0xa + cmp r4, r0 + beq _0202A83C + sub r1, #9 + cmp r4, r1 + beq _0202A844 + b _0202A87A +_0202A7EE: + add r0, r1, #0 + add r0, #0x39 + cmp r4, r0 + bgt _0202A806 + add r0, r1, #0 + add r0, #0x39 + cmp r4, r0 + bge _0202A870 + add r0, r1, #1 + cmp r4, r0 + beq _0202A834 + b _0202A87A +_0202A806: + add r0, r1, #0 + add r0, #0x41 + cmp r4, r0 + bgt _0202A818 + add r0, r1, #0 + add r0, #0x41 + cmp r4, r0 + beq _0202A866 + b _0202A87A +_0202A818: + add r0, r1, #0 + add r0, #0x46 + cmp r4, r0 + beq _0202A85C + b _0202A87A +_0202A822: + add r0, r5, #0 + mov r1, #0 + bl sub_0202A14C + pop {r3, r4, r5, pc} +_0202A82C: + add r0, r5, #0 + bl sub_0202A1A4 + pop {r3, r4, r5, pc} +_0202A834: + add r0, r5, #0 + bl sub_0202A200 + pop {r3, r4, r5, pc} +_0202A83C: + add r0, r5, #0 + bl sub_0202A25C + pop {r3, r4, r5, pc} +_0202A844: + add r0, r5, #0 + bl sub_0202A2B4 + pop {r3, r4, r5, pc} +_0202A84C: + add r0, r5, #0 + bl sub_0202A30C + pop {r3, r4, r5, pc} +_0202A854: + add r0, r5, #0 + bl sub_0202A350 + pop {r3, r4, r5, pc} +_0202A85C: + add r0, r5, #0 + add r1, #0x46 + bl sub_020295D4 + pop {r3, r4, r5, pc} +_0202A866: + add r0, r5, #0 + add r1, #0x41 + bl sub_020295D4 + pop {r3, r4, r5, pc} +_0202A870: + add r0, r5, #0 + add r1, #0x39 + bl sub_020299E8 + pop {r3, r4, r5, pc} +_0202A87A: + mov r0, #1 + pop {r3, r4, r5, pc} + nop +_0202A880: .word 0xBEEFCAFE +_0202A884: .word 0x000001A6 + thumb_func_end sub_0202A798 diff --git a/asm/pokemon.s b/asm/pokemon.s index 6c7ca51c1..bd93955d8 100644 --- a/asm/pokemon.s +++ b/asm/pokemon.s @@ -10453,7 +10453,7 @@ _02072926: add r0, r0, #3 add r1, r4, #0 mov r2, #0x28 - bl sub_020D4A50 + bl MIi_CpuCopy8 add sp, #0x60 pop {r4, r5, r6, pc} thumb_func_end sub_02072914 @@ -22332,11 +22332,11 @@ _020781B0: .word 0x0000079C thumb_func_start sub_020781B4 sub_020781B4: ; 0x020781B4 - ldr r3, _020781BC ; =sub_020D4A50 + ldr r3, _020781BC ; =MIi_CpuCopy8 ldr r2, _020781C0 ; =0x0000079C bx r3 nop -_020781BC: .word sub_020D4A50 +_020781BC: .word MIi_CpuCopy8 _020781C0: .word 0x0000079C thumb_func_end sub_020781B4 @@ -83011,7 +83011,7 @@ _02095FAE: mul r0, r2 add r0, r7, r0 add r1, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r6, #0 bl sub_02095F68 ldrb r0, [r4] @@ -84269,7 +84269,7 @@ sub_02096998: ; 0x02096998 add r1, r4, r1 add r0, #0x3e mov r2, #0x1c - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _020969C0 ; =0x0000083E mov r0, #0x3f add r1, r4, r1 @@ -84306,7 +84306,7 @@ sub_020969C4: ; 0x020969C4 add r0, r6, #0 add r1, r4, #0 mov r2, #0x1c - bl sub_020D4A50 + bl MIi_CpuCopy8 _020969F0: pop {r4, r5, r6, pc} nop diff --git a/asm/save.s b/asm/save.s index 672867cab..e19a0756e 100644 --- a/asm/save.s +++ b/asm/save.s @@ -2688,7 +2688,7 @@ _020284DC: add r0, r5, #0 add r1, sp, #0x2c mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r4, #4] ldr r2, [sp, #0x18] add r0, #0x40 @@ -2706,7 +2706,7 @@ _020284DC: add r0, r5, #0 add r1, sp, #0x28 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #8] mov r1, #1 str r1, [r0] diff --git a/asm/scrcmd.s b/asm/scrcmd.s index 0387f981d..3b596817a 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -22635,7 +22635,7 @@ _0204B680: add r0, r5, #0 add r1, r4, #0 mov r2, #0x1c - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 pop {r3, r4, r5, pc} thumb_func_end sub_0204B66C @@ -22708,13 +22708,13 @@ sub_0204B708: ; 0x0204B708 ldr r1, _0204B718 ; =0x0000083E add r2, r0, #0 add r1, r2, r1 - ldr r3, _0204B71C ; =sub_020D4A50 + ldr r3, _0204B71C ; =MIi_CpuCopy8 add r0, #0x3e mov r2, #0x1c bx r3 nop _0204B718: .word 0x0000083E -_0204B71C: .word sub_020D4A50 +_0204B71C: .word MIi_CpuCopy8 thumb_func_end sub_0204B708 thumb_func_start sub_0204B720 @@ -30412,7 +30412,7 @@ _0204F424: add r0, #0x30 add r1, r5, #6 mov r2, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 add r0, #0x26 ldrb r0, [r0] @@ -31595,7 +31595,7 @@ _0204FD7C: add r0, #0x30 add r1, r5, #6 mov r2, #3 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 add r0, #0x26 ldrb r0, [r0] @@ -32272,7 +32272,7 @@ _020502BC: add r0, #0x30 add r1, r5, #6 mov r2, #3 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 add r0, #0x26 ldrb r0, [r0] @@ -36143,7 +36143,7 @@ _0205211E: add r0, r4, #0 add r1, sp, #0x28 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r6, #0 add r1, r6, #0 add r2, sp, #0x28 @@ -50239,7 +50239,7 @@ _02058C92: add r0, #0x30 add r1, #0x3d mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r4, #4] add r0, #0x26 ldrb r0, [r0] @@ -51524,7 +51524,7 @@ _020596CE: bl sub_02074644 add r1, r4, #0 add r2, r6, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r5, r5, #1 add r4, r4, r6 cmp r5, #3 @@ -51693,7 +51693,7 @@ sub_020597D4: ; 0x020597D4 mul r2, r4 add r1, r3, r2 add r2, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r6, #0x50] mov r1, #3 bl sub_020744DC @@ -52314,7 +52314,7 @@ _02059CCC: add r1, r4, #0 ldr r2, _02059D40 ; =0x0000066C add r1, #0x2c - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #0 add r0, r5, #0 add r1, #0x2c @@ -82336,7 +82336,7 @@ _02066FC4: add r0, #0x30 add r1, #0xe mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 add r0, #0x26 ldrb r0, [r0] @@ -87181,7 +87181,7 @@ _020693DC: add r4, #0x68 ldr r0, [sp, #0x14] add r1, r4, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 pop {r3, r4, r5, pc} nop _02069400: .word 0x000F423F @@ -87307,7 +87307,7 @@ _020694E4: ldr r0, [r5, #4] ldr r2, _02069524 ; =0x0000066C add r1, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r5, #0 add r0, r4, #0 add r1, #8 @@ -87359,7 +87359,7 @@ sub_02069528: ; 0x02069528 add r1, r7, #0 add r1, #0xa8 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0 bl sub_02028F84 add r1, r7, #0 @@ -87426,7 +87426,7 @@ _020695E4: ldr r1, [sp, #8] mov r2, #8 add r1, r1, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r4, r4, #1 add r5, #8 cmp r4, #3 @@ -87437,7 +87437,7 @@ _020695E4: add r1, r7, #0 add r1, #0xc0 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp] cmp r0, #0 bne _0206963E @@ -91011,7 +91011,7 @@ sub_0206B014: ; 0x0206B014 strh r0, [r5, #0x3e] ldr r0, _0206B26C ; =0x021100C4 mov r2, #0x24 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0 ldr r1, [sp, #0x58] add r0, #0x40 diff --git a/asm/unk_02007FD8.s b/asm/unk_02007FD8.s index 7abac6fc0..bbc18ec26 100644 --- a/asm/unk_02007FD8.s +++ b/asm/unk_02007FD8.s @@ -814,14 +814,14 @@ _02008586: thumb_func_start sub_020085C8 sub_020085C8: ; 0x020085C8 add r2, r0, #0 - ldr r3, _020085D8 ; =sub_020D4A50 + ldr r3, _020085D8 ; =MIi_CpuCopy8 add r2, #0x84 add r0, r1, #0 add r1, r2, #0 mov r2, #0x28 bx r3 nop -_020085D8: .word sub_020D4A50 +_020085D8: .word MIi_CpuCopy8 thumb_func_end sub_020085C8 thumb_func_start sub_020085DC @@ -1029,7 +1029,7 @@ _02008654: add r1, r4, r6 add r1, #0x84 mov r2, #0x28 - bl sub_020D4A50 + bl MIi_CpuCopy8 _02008764: add r0, r4, r6 add sp, #0xc diff --git a/asm/unk_020183F0.s b/asm/unk_020183F0.s index fbef15061..25d14068a 100644 --- a/asm/unk_020183F0.s +++ b/asm/unk_020183F0.s @@ -111,7 +111,7 @@ sub_02018498: ; 0x02018498 add r0, r7, #0 add r1, r4, #4 mov r2, #0x18 - bl sub_020D4A50 + bl MIi_CpuCopy8 str r5, [r4] add r0, sp, #8 ldrb r1, [r0, #0x18] diff --git a/asm/unk_02027010.s b/asm/unk_02027010.s index 6acbf8ec1..8c47b6ff6 100644 --- a/asm/unk_02027010.s +++ b/asm/unk_02027010.s @@ -26,12 +26,12 @@ _02027020: ldr r0, _02027080 ; =0x027FFE00 ldr r1, _02027084 ; =0x027FF000 lsl r2, r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r2, #0x16 ldr r0, _02027080 ; =0x027FFE00 ldr r1, _02027088 ; =0x027FFA80 lsl r2, r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _0202708C ; =0x4A414441 ldr r0, _0202707C ; =0x027FF00C str r1, [r0] diff --git a/asm/unk_020290B4.s b/asm/unk_020290B4.s index d7510f299..029e85d08 100644 --- a/asm/unk_020290B4.s +++ b/asm/unk_020290B4.s @@ -17,11 +17,11 @@ sub_020290B8: ; 0x020290B8 thumb_func_start sub_020290BC sub_020290BC: ; 0x020290BC - ldr r3, _020290C4 ; =sub_020D4A50 + ldr r3, _020290C4 ; =MIi_CpuCopy8 mov r2, #0x20 bx r3 nop -_020290C4: .word sub_020D4A50 +_020290C4: .word MIi_CpuCopy8 thumb_func_end sub_020290BC thumb_func_start sub_020290C8 diff --git a/asm/unk_0202A888.s b/asm/unk_0202A888.s new file mode 100644 index 000000000..5132c6945 --- /dev/null +++ b/asm/unk_0202A888.s @@ -0,0 +1,618 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + thumb_func_start sub_0202A888 +sub_0202A888: ; 0x0202A888 + push {r4, lr} + mov r1, #0 + mov r2, #0x30 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r1, #0 + add r0, r1, #0 +_0202A898: + strb r0, [r4, #1] + strb r0, [r4] + add r1, r1, #1 + add r4, #0xc + cmp r1, #4 + blt _0202A898 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202A888 + + thumb_func_start sub_0202A8A8 +sub_0202A8A8: ; 0x0202A8A8 + ldr r3, _0202A8B0 ; =GF_RTC_CopyDateTime + add r1, r0, #0 + add r1, #0x10 + bx r3 + .balign 4, 0 +_0202A8B0: .word GF_RTC_CopyDateTime + thumb_func_end sub_0202A8A8 + + thumb_func_start sub_0202A8B4 +sub_0202A8B4: ; 0x0202A8B4 + mov r0, #0x2e + lsl r0, r0, #4 + bx lr + .balign 4, 0 + thumb_func_end sub_0202A8B4 + + thumb_func_start sub_0202A8BC +sub_0202A8BC: ; 0x0202A8BC + push {r4, lr} + add r4, r0, #0 + mov r2, #0x2e + mov r0, #0 + add r1, r4, #0 + lsl r2, r2, #4 + bl MIi_CpuClearFast + add r0, r4, #0 + bl sub_0202ADEC + mov r0, #2 + lsl r0, r0, #8 + add r0, r4, r0 + bl sub_0202A888 + mov r0, #0x23 + lsl r0, r0, #4 + add r0, r4, r0 + bl sub_0202A8A8 + mov r0, #0x93 + lsl r0, r0, #2 + add r0, r4, r0 + bl sub_0202AE8C + mov r1, #0x27 + lsl r1, r1, #4 + ldr r0, _0202A948 ; =0x0000FFFF + add r1, r4, r1 + mov r2, #8 + bl sub_020D4790 + mov r0, #0xa + lsl r0, r0, #6 + add r0, r4, r0 + mov r1, #0xff + mov r2, #8 + bl MIi_CpuFill8 + mov r0, #0x2a + lsl r0, r0, #4 + add r0, r4, r0 + mov r1, #4 + bl MailMsg_init_withBank + ldr r0, _0202A94C ; =0x000002A2 + mov r1, #0 + strh r1, [r4, r0] + ldr r0, _0202A950 ; =0x0000011F + mov r1, #0x63 + bl GetECWordIndexByPair + mov r1, #0xa9 + lsl r1, r1, #2 + strh r0, [r4, r1] + ldr r2, _0202A948 ; =0x0000FFFF + add r0, r1, #2 + strh r2, [r4, r0] + mov r3, #0 + add r0, r1, #4 + sub r2, r3, #1 + add r1, #0x18 +_0202A93A: + str r2, [r4, r0] + str r2, [r4, r1] + add r3, r3, #1 + add r4, r4, #4 + cmp r3, #5 + blt _0202A93A + pop {r4, pc} + .balign 4, 0 +_0202A948: .word 0x0000FFFF +_0202A94C: .word 0x000002A2 +_0202A950: .word 0x0000011F + thumb_func_end sub_0202A8BC + + thumb_func_start sub_0202A954 +sub_0202A954: ; 0x0202A954 + ldr r3, _0202A95C ; =SavArray_get + mov r1, #9 + bx r3 + nop +_0202A95C: .word SavArray_get + thumb_func_end sub_0202A954 + + thumb_func_start sub_0202A960 +sub_0202A960: ; 0x0202A960 + ldr r3, _0202A968 ; =sub_020272EC + mov r1, #9 + bx r3 + nop +_0202A968: .word sub_020272EC + thumb_func_end sub_0202A960 + + thumb_func_start sub_0202A96C +sub_0202A96C: ; 0x0202A96C + ldr r3, _0202A974 ; =SavArray_get + mov r1, #9 + bx r3 + nop +_0202A974: .word SavArray_get + thumb_func_end sub_0202A96C + + thumb_func_start sub_0202A978 +sub_0202A978: ; 0x0202A978 + push {r3, lr} + mov r1, #9 + bl SavArray_get + mov r1, #2 + lsl r1, r1, #8 + add r0, r0, r1 + pop {r3, pc} + thumb_func_end sub_0202A978 + + thumb_func_start sub_0202A988 +sub_0202A988: ; 0x0202A988 + push {r3, lr} + mov r1, #9 + bl SavArray_get + mov r1, #0x23 + lsl r1, r1, #4 + add r0, r0, r1 + pop {r3, pc} + thumb_func_end sub_0202A988 + + thumb_func_start sub_0202A998 +sub_0202A998: ; 0x0202A998 + push {r3, lr} + mov r1, #9 + bl SavArray_get + mov r1, #0x93 + lsl r1, r1, #2 + add r0, r0, r1 + pop {r3, pc} + thumb_func_end sub_0202A998 + + thumb_func_start GetRivalNamePtr +GetRivalNamePtr: ; 0x0202A9A8 + mov r1, #0x27 + lsl r1, r1, #4 + add r0, r0, r1 + bx lr + thumb_func_end GetRivalNamePtr + + thumb_func_start sub_0202A9B0 +sub_0202A9B0: ; 0x0202A9B0 + add r2, r0, #0 + add r0, r1, #0 + mov r1, #0x27 + lsl r1, r1, #4 + add r1, r2, r1 + ldr r3, _0202A9C0 ; =CopyStringToU16Array + mov r2, #8 + bx r3 + .balign 4, 0 +_0202A9C0: .word CopyStringToU16Array + thumb_func_end sub_0202A9B0 + + thumb_func_start sub_0202A9C4 +sub_0202A9C4: ; 0x0202A9C4 + ldr r2, _0202A9D4 ; =0x0000029B + mov r1, #1 + ldrb r3, [r0, r2] + bic r3, r1 + mov r1, #1 + orr r1, r3 + strb r1, [r0, r2] + bx lr + .balign 4, 0 +_0202A9D4: .word 0x0000029B + thumb_func_end sub_0202A9C4 + + thumb_func_start sub_0202A9D8 +sub_0202A9D8: ; 0x0202A9D8 + ldr r1, _0202A9E4 ; =0x0000029B + ldrb r0, [r0, r1] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr + nop +_0202A9E4: .word 0x0000029B + thumb_func_end sub_0202A9D8 + + thumb_func_start sub_0202A9E8 +sub_0202A9E8: ; 0x0202A9E8 + push {r4, r5} + mov r4, #0xa6 + lsl r4, r4, #2 + strh r1, [r0, r4] + add r1, r4, #2 + ldrb r1, [r0, r1] + mov r5, #0x7f + lsl r2, r2, #0x18 + bic r1, r5 + lsr r5, r2, #0x18 + mov r2, #0x7f + and r2, r5 + orr r2, r1 + add r1, r4, #2 + strb r2, [r0, r1] + ldrb r1, [r0, r1] + mov r2, #0x80 + bic r1, r2 + lsl r2, r3, #0x18 + lsr r2, r2, #0x18 + lsl r2, r2, #0x1f + lsr r2, r2, #0x18 + orr r2, r1 + add r1, r4, #2 + strb r2, [r0, r1] + pop {r4, r5} + bx lr + .balign 4, 0 + thumb_func_end sub_0202A9E8 + + thumb_func_start sub_0202AA20 +sub_0202AA20: ; 0x0202AA20 + push {r4, r5} + mov r4, #0xa6 + lsl r4, r4, #2 + ldrh r5, [r0, r4] + str r5, [r1] + add r1, r4, #2 + ldrb r1, [r0, r1] + lsl r1, r1, #0x19 + lsr r1, r1, #0x19 + str r1, [r2] + add r1, r4, #2 + ldrb r0, [r0, r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + str r0, [r3] + pop {r4, r5} + bx lr + .balign 4, 0 + thumb_func_end sub_0202AA20 + + thumb_func_start sub_0202AA44 +sub_0202AA44: ; 0x0202AA44 + push {r4, r5, r6, r7} + add r4, r2, #0 + cmp r1, #2 + bls _0202AA52 + mov r0, #0 + pop {r4, r5, r6, r7} + bx lr +_0202AA52: + ldr r3, _0202AA94 ; =0x020F677D + lsl r1, r1, #1 + ldrb r3, [r3, r1] + mov r2, #0 + cmp r3, #0 + ble _0202AA8E + ldr r5, _0202AA98 ; =0x020F677C + ldrb r3, [r5, r1] + add r5, r5, r1 + ldrb r1, [r5] + add r3, r0, r3 + ldrb r6, [r5, #1] + add r0, r0, r1 + mov r1, #0xa + lsl r1, r1, #6 + add r5, r1, #0 +_0202AA72: + ldrb r7, [r3, r5] + cmp r7, #0xff + beq _0202AA8E + add r7, r2, r0 + ldrb r7, [r7, r1] + cmp r4, r7 + bne _0202AA86 + mov r0, #1 + pop {r4, r5, r6, r7} + bx lr +_0202AA86: + add r2, r2, #1 + add r3, r3, #1 + cmp r2, r6 + blt _0202AA72 +_0202AA8E: + mov r0, #0 + pop {r4, r5, r6, r7} + bx lr + .balign 4, 0 +_0202AA94: .word 0x020F677D +_0202AA98: .word 0x020F677C + thumb_func_end sub_0202AA44 + + thumb_func_start sub_0202AA9C +sub_0202AA9C: ; 0x0202AA9C + push {r4, r5} + cmp r1, #2 + bhi _0202AAC8 + lsl r4, r1, #1 + ldr r1, _0202AACC ; =0x020F677D + mov r2, #0 + ldrb r1, [r1, r4] + cmp r1, #0 + ble _0202AAC8 + ldr r3, _0202AAD0 ; =0x020F677C + ldrb r1, [r3, r4] + add r4, r3, r4 + mov r3, #0xff + add r5, r0, r1 + mov r0, #0xa + lsl r0, r0, #6 +_0202AABC: + strb r3, [r5, r0] + ldrb r1, [r4, #1] + add r2, r2, #1 + add r5, r5, #1 + cmp r2, r1 + blt _0202AABC +_0202AAC8: + pop {r4, r5} + bx lr + .balign 4, 0 +_0202AACC: .word 0x020F677D +_0202AAD0: .word 0x020F677C + thumb_func_end sub_0202AA9C + + thumb_func_start sub_0202AAD4 +sub_0202AAD4: ; 0x0202AAD4 + push {r4, r5} + mov r2, #0 + cmp r1, #2 + bls _0202AAE2 + add r0, r2, #0 + pop {r4, r5} + bx lr +_0202AAE2: + lsl r4, r1, #1 + ldr r1, _0202AB10 ; =0x020F677C + ldr r3, _0202AB14 ; =0x020F677D + ldrb r1, [r1, r4] + ldrb r3, [r3, r4] + add r3, r1, r3 + sub r5, r3, #1 + cmp r1, r5 + bgt _0202AB08 + mov r3, #0xa + lsl r3, r3, #6 +_0202AAF8: + add r4, r0, r1 + ldrb r4, [r4, r3] + cmp r4, #0xff + beq _0202AB02 + add r2, r2, #1 +_0202AB02: + add r1, r1, #1 + cmp r1, r5 + ble _0202AAF8 +_0202AB08: + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + pop {r4, r5} + bx lr + .balign 4, 0 +_0202AB10: .word 0x020F677C +_0202AB14: .word 0x020F677D + thumb_func_end sub_0202AAD4 + + thumb_func_start sub_0202AB18 +sub_0202AB18: ; 0x0202AB18 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r1, [sp] + str r3, [sp, #4] + add r4, r0, #0 + ldr r0, [sp] + mov ip, r2 + cmp r0, #2 + bhi _0202ABA2 + lsl r7, r0, #1 + ldr r0, _0202ABA8 ; =0x020F677D + ldrb r6, [r0, r7] + ldr r0, _0202ABAC ; =0x020F677C + ldrb r0, [r0, r7] + str r0, [sp, #8] + add r0, r0, r6 + ldr r3, [sp, #8] + sub r5, r0, #1 + add r0, r3, #0 + cmp r0, r5 + bgt _0202AB60 + mov r0, #0xa + lsl r0, r0, #6 +_0202AB46: + add r2, r4, r3 + ldrb r1, [r2, r0] + cmp r1, #0xff + bne _0202AB5A + mov r1, #0xa + ldr r0, [sp, #4] + lsl r1, r1, #6 + strb r0, [r2, r1] + add sp, #0xc + pop {r4, r5, r6, r7, pc} +_0202AB5A: + add r3, r3, #1 + cmp r3, r5 + ble _0202AB46 +_0202AB60: + add r1, r6, #1 + mov r0, ip + cmp r0, r1 + bne _0202AB80 + ldr r1, [sp] + add r0, r4, #0 + bl sub_0202AA9C + ldr r0, [sp, #8] + mov r1, #0xa + add r2, r4, r0 + ldr r0, [sp, #4] + lsl r1, r1, #6 + strb r0, [r2, r1] + add sp, #0xc + pop {r4, r5, r6, r7, pc} +_0202AB80: + mov r0, #0xa + ldr r2, _0202ABAC ; =0x020F677C + lsl r0, r0, #6 + add r1, r4, r0 + ldr r0, [sp, #8] + ldrb r2, [r2, r7] + add r0, r0, #1 + add r0, r1, r0 + add r1, r1, r2 + sub r2, r6, #1 + bl MIi_CpuCopy8 + mov r1, #0xa + ldr r0, [sp, #4] + add r2, r4, r5 + lsl r1, r1, #6 + strb r0, [r2, r1] +_0202ABA2: + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop +_0202ABA8: .word 0x020F677D +_0202ABAC: .word 0x020F677C + thumb_func_end sub_0202AB18 + + thumb_func_start sub_0202ABB0 +sub_0202ABB0: ; 0x0202ABB0 + mov r3, #0xb6 + lsl r3, r3, #2 + str r1, [r0, r3] + add r1, r3, #4 + strb r2, [r0, r1] + bx lr + thumb_func_end sub_0202ABB0 + + thumb_func_start sub_0202ABBC +sub_0202ABBC: ; 0x0202ABBC + push {r3, r4} + mov r3, #0xb6 + lsl r3, r3, #2 + ldr r4, [r0, r3] + str r4, [r1] + add r1, r3, #4 + ldrb r0, [r0, r1] + strb r0, [r2] + pop {r3, r4} + bx lr + thumb_func_end sub_0202ABBC + + thumb_func_start sub_0202ABD0 +sub_0202ABD0: ; 0x0202ABD0 + mov r2, #0x2a + lsl r2, r2, #4 + ldrh r3, [r0, r2] + strh r3, [r1] + add r3, r2, #2 + ldrh r3, [r0, r3] + strh r3, [r1, #2] + add r3, r2, #4 + ldrh r3, [r0, r3] + add r2, r2, #6 + strh r3, [r1, #4] + ldrh r0, [r0, r2] + strh r0, [r1, #6] + bx lr + thumb_func_end sub_0202ABD0 + + thumb_func_start sub_0202ABEC +sub_0202ABEC: ; 0x0202ABEC + push {r3, r4} + ldrh r3, [r1] + mov r2, #0x2a + lsl r2, r2, #4 + strh r3, [r0, r2] + ldrh r4, [r1, #2] + add r3, r2, #2 + strh r4, [r0, r3] + ldrh r4, [r1, #4] + add r3, r2, #4 + strh r4, [r0, r3] + ldrh r3, [r1, #6] + add r1, r2, #6 + strh r3, [r0, r1] + pop {r3, r4} + bx lr + thumb_func_end sub_0202ABEC + + thumb_func_start sub_0202AC0C +sub_0202AC0C: ; 0x0202AC0C + ldr r2, _0202AC18 ; =0x0000029B + ldrb r0, [r0, r2] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1c + strb r0, [r1] + bx lr + .balign 4, 0 +_0202AC18: .word 0x0000029B + thumb_func_end sub_0202AC0C + + thumb_func_start sub_0202AC1C +sub_0202AC1C: ; 0x0202AC1C + push {r3, r4} + ldr r3, _0202AC34 ; =0x0000029B + lsl r1, r1, #0x1c + ldrb r4, [r0, r3] + mov r2, #0x1e + lsr r1, r1, #0x1b + bic r4, r2 + orr r1, r4 + strb r1, [r0, r3] + pop {r3, r4} + bx lr + nop +_0202AC34: .word 0x0000029B + thumb_func_end sub_0202AC1C + + thumb_func_start sub_0202AC38 +sub_0202AC38: ; 0x0202AC38 + push {r3, r4, r5, r6} + sub r4, r1, #1 + lsl r1, r4, #2 + mov r5, #0xaa + add r1, r0, r1 + lsl r5, r5, #2 + ldr r6, [r1, r5] + add r0, r0, r4 + str r6, [r2] + add r2, r5, #0 + add r2, #0x14 + ldr r1, [r1, r2] + add r5, #0x28 + str r1, [r3] + ldrb r1, [r0, r5] + ldr r0, [sp, #0x10] + strb r1, [r0] + pop {r3, r4, r5, r6} + bx lr + .balign 4, 0 + thumb_func_end sub_0202AC38 + + thumb_func_start sub_0202AC60 +sub_0202AC60: ; 0x0202AC60 + push {r4, r5} + sub r1, r1, #1 + lsl r4, r1, #2 + add r5, r0, r4 + mov r4, #0xaa + lsl r4, r4, #2 + str r2, [r5, r4] + add r2, r4, #0 + add r2, #0x14 + str r3, [r5, r2] + ldr r2, _0202AC84 ; =0xFFFFFFF8 + add r0, r0, r1 + add r2, sp + ldrb r2, [r2, #0x10] + add r4, #0x28 + strb r2, [r0, r4] + pop {r4, r5} + bx lr + .balign 4, 0 +_0202AC84: .word 0xFFFFFFF8 + thumb_func_end sub_0202AC60 diff --git a/asm/unk_0202ADEC.s b/asm/unk_0202ADEC.s new file mode 100644 index 000000000..38d1ae64c --- /dev/null +++ b/asm/unk_0202ADEC.s @@ -0,0 +1,50736 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + thumb_func_start sub_0202ADEC +sub_0202ADEC: ; 0x0202ADEC + push {r4, lr} + mov r2, #2 + mov r1, #0 + lsl r2, r2, #8 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r1, #0 + add r0, r1, #0 +_0202ADFE: + add r1, r1, #1 + strb r0, [r4] + add r4, r4, #4 + cmp r1, #0x80 + blt _0202ADFE + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202ADEC + + thumb_func_start sub_0202AE0C +sub_0202AE0C: ; 0x0202AE0C + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r4, #0 + mov r6, #1 + b _0202AE24 +_0202AE16: + add r0, r5, #0 + bl sub_0202AE30 + strb r6, [r5] + strb r6, [r5, #1] + add r5, r5, #4 + add r4, r4, #1 +_0202AE24: + cmp r4, #0x80 + blt _0202AE16 + cmp r4, #0x1f + blt _0202AE16 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202AE0C + + thumb_func_start sub_0202AE30 +sub_0202AE30: ; 0x0202AE30 + mov r1, #0 + strb r1, [r0] + strb r1, [r0, #1] + bx lr + thumb_func_end sub_0202AE30 + + thumb_func_start sub_0202AE38 +sub_0202AE38: ; 0x0202AE38 + lsl r1, r1, #2 + ldrb r0, [r0, r1] + bx lr + .balign 4, 0 + thumb_func_end sub_0202AE38 + + thumb_func_start sub_0202AE40 +sub_0202AE40: ; 0x0202AE40 + ldr r0, _0202AE48 ; =0x020F6784 + ldrb r0, [r0, r1] + bx lr + nop +_0202AE48: .word 0x020F6784 + thumb_func_end sub_0202AE40 + + thumb_func_start sub_0202AE4C +sub_0202AE4C: ; 0x0202AE4C + push {r3, lr} + ldr r0, _0202AE64 ; =0x020F6784 + ldrb r0, [r0, r1] + cmp r0, #0 + bgt _0202AE5E + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_0202AE5E: + sub r0, r0, #1 + pop {r3, pc} + nop +_0202AE64: .word 0x020F6784 + thumb_func_end sub_0202AE4C + + thumb_func_start sub_0202AE68 +sub_0202AE68: ; 0x0202AE68 + ldr r3, _0202AE70 ; =sub_0202AE30 + lsl r1, r1, #2 + add r0, r0, r1 + bx r3 + .balign 4, 0 +_0202AE70: .word sub_0202AE30 + thumb_func_end sub_0202AE68 + + thumb_func_start sub_0202AE74 +sub_0202AE74: ; 0x0202AE74 + mov r3, #0 + mov r1, #1 +_0202AE78: + ldrb r2, [r0] + cmp r2, #0 + bne _0202AE82 + strb r1, [r0] + strb r1, [r0, #1] +_0202AE82: + add r3, r3, #1 + add r0, r0, #4 + cmp r3, #0x80 + blt _0202AE78 + bx lr + thumb_func_end sub_0202AE74 + + thumb_func_start sub_0202AE8C +sub_0202AE8C: ; 0x0202AE8C + ldr r3, _0202AE94 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #0x24 + bx r3 + .balign 4, 0 +_0202AE94: .word MIi_CpuFill8 + thumb_func_end sub_0202AE8C + + thumb_func_start sub_0202AE98 +sub_0202AE98: ; 0x0202AE98 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_0202AE8C + str r4, [r5] + add r0, r5, #4 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202AE98 + + thumb_func_start sub_0202AEA8 +sub_0202AEA8: ; 0x0202AEA8 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + cmp r0, r1 + beq _0202AEB6 + bl GF_AssertFail +_0202AEB6: + add r0, r4, #4 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202AEA8 + + thumb_func_start sub_0202AEBC +sub_0202AEBC: ; 0x0202AEBC + ldr r0, [r0] + bx lr + thumb_func_end sub_0202AEBC + + thumb_func_start sub_0202AEC0 +sub_0202AEC0: ; 0x0202AEC0 + mov r0, #0x22 + lsl r0, r0, #6 + bx lr + .balign 4, 0 + thumb_func_end sub_0202AEC0 + + thumb_func_start sub_0202AEC8 +sub_0202AEC8: ; 0x0202AEC8 + ldr r3, _0202AED0 ; =SavArray_get + mov r1, #8 + bx r3 + nop +_0202AED0: .word SavArray_get + thumb_func_end sub_0202AEC8 + + thumb_func_start sub_0202AED4 +sub_0202AED4: ; 0x0202AED4 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + ldr r6, _0202AEF4 ; =0x0000FFFF + add r5, r0, #0 + add r7, r4, #0 +_0202AEDE: + add r0, r5, #0 + add r1, r7, #0 + mov r2, #0x88 + bl memset + strh r6, [r5] + add r4, r4, #1 + add r5, #0x88 + cmp r4, #0x10 + blt _0202AEDE + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202AEF4: .word 0x0000FFFF + thumb_func_end sub_0202AED4 + + thumb_func_start sub_0202AEF8 +sub_0202AEF8: ; 0x0202AEF8 + mov r2, #0x88 + mul r2, r1 + add r0, r0, r2 + bx lr + thumb_func_end sub_0202AEF8 + + thumb_func_start sub_0202AF00 +sub_0202AF00: ; 0x0202AF00 + add r0, r0, r1 + add r0, #0x68 + ldrb r0, [r0] + bx lr + thumb_func_end sub_0202AF00 + + thumb_func_start sub_0202AF08 +sub_0202AF08: ; 0x0202AF08 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl StringNotEqual + cmp r0, #0 + bne _0202AF22 + ldr r1, [r5, #0x10] + ldr r0, [r4, #0x10] + cmp r1, r0 + bne _0202AF22 + mov r0, #1 + pop {r3, r4, r5, pc} +_0202AF22: + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202AF08 + + thumb_func_start sub_0202AF28 +sub_0202AF28: ; 0x0202AF28 + push {r4, r5, r6, r7, lr} + sub sp, #0x2c + str r1, [sp, #4] + mov r1, #0x22 + str r0, [sp] + add r0, r3, #0 + lsl r1, r1, #6 + str r2, [sp, #8] + bl AllocFromHeap + str r0, [sp, #0x10] + bl sub_0202AED4 + mov r0, #0 + str r0, [sp, #0x14] + ldr r0, [sp, #8] + cmp r0, #0 + ble _0202AF80 + ldr r7, [sp, #4] + add r6, sp, #0x18 +_0202AF50: + mov r0, #0 + mvn r0, r0 + ldr r5, [sp] + str r0, [r6] + mov r4, #0 +_0202AF5A: + add r0, r5, #0 + add r1, r7, #0 + bl sub_0202AF08 + cmp r0, #0 + beq _0202AF68 + str r4, [r6] +_0202AF68: + add r4, r4, #1 + add r5, #0x88 + cmp r4, #0x10 + blt _0202AF5A + ldr r0, [sp, #0x14] + add r6, r6, #4 + add r1, r0, #1 + ldr r0, [sp, #8] + add r7, #0x88 + str r1, [sp, #0x14] + cmp r1, r0 + blt _0202AF50 +_0202AF80: + ldr r0, [sp, #8] + mov r4, #0 + str r4, [sp, #0xc] + cmp r0, #0 + ble _0202AFC6 + ldr r5, [sp, #0x10] + add r6, sp, #0x18 +_0202AF8E: + ldr r3, [sp, #4] + add r7, r5, #0 + mov r2, #0x11 +_0202AF94: + ldmia r3!, {r0, r1} + stmia r7!, {r0, r1} + sub r2, r2, #1 + bne _0202AF94 + ldr r1, [r6] + cmp r1, #0 + blt _0202AFAE + add r2, r1, #0 + mov r0, #0x88 + mul r2, r0 + ldr r1, _0202B018 ; =0x0000FFFF + ldr r0, [sp] + strh r1, [r0, r2] +_0202AFAE: + ldr r0, [sp, #4] + add r5, #0x88 + add r0, #0x88 + str r0, [sp, #4] + ldr r0, [sp, #0xc] + add r4, r4, #1 + add r1, r0, #1 + ldr r0, [sp, #8] + add r6, r6, #4 + str r1, [sp, #0xc] + cmp r1, r0 + blt _0202AF8E +_0202AFC6: + mov r0, #0 + mov ip, r0 + mov r0, #0x88 + add r1, r4, #0 + mul r1, r0 + ldr r0, [sp, #0x10] + ldr r3, [sp] + add r5, r0, r1 +_0202AFD6: + ldrh r1, [r3] + ldr r0, _0202B018 ; =0x0000FFFF + cmp r1, r0 + beq _0202AFF4 + add r6, r3, #0 + add r7, r5, #0 + mov r2, #0x11 +_0202AFE4: + ldmia r6!, {r0, r1} + stmia r7!, {r0, r1} + sub r2, r2, #1 + bne _0202AFE4 + add r4, r4, #1 + add r5, #0x88 + cmp r4, #0x10 + bge _0202B000 +_0202AFF4: + mov r0, ip + add r0, r0, #1 + add r3, #0x88 + mov ip, r0 + cmp r0, #0x10 + blt _0202AFD6 +_0202B000: + mov r2, #0x22 + ldr r0, [sp] + ldr r1, [sp, #0x10] + lsl r2, r2, #6 + bl memcpy + ldr r0, [sp, #0x10] + bl FreeToHeap + add sp, #0x2c + pop {r4, r5, r6, r7, pc} + nop +_0202B018: .word 0x0000FFFF + thumb_func_end sub_0202AF28 + + thumb_func_start sub_0202B01C +sub_0202B01C: ; 0x0202B01C + push {r3, r4, r5, r6} + mov r3, #0 + add r4, r0, #0 +_0202B022: + ldr r2, [r4, #0x10] + cmp r1, r2 + bne _0202B02E + mov r0, #1 + pop {r3, r4, r5, r6} + bx lr +_0202B02E: + add r3, r3, #1 + add r4, #0x88 + cmp r3, #0x10 + blt _0202B022 + mov r6, #0 + add r3, r6, #0 +_0202B03A: + add r4, r3, #0 + add r5, r0, #0 +_0202B03E: + ldr r2, [r5, #0x18] + cmp r1, r2 + bne _0202B04A + add r0, r6, #2 + pop {r3, r4, r5, r6} + bx lr +_0202B04A: + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #0x10 + blt _0202B03E + add r6, r6, #1 + add r0, #0x88 + cmp r6, #0x10 + blt _0202B03A + mov r0, #0 + pop {r3, r4, r5, r6} + bx lr + thumb_func_end sub_0202B01C + + thumb_func_start sub_0202B060 +sub_0202B060: ; 0x0202B060 + push {r3, r4, r5, lr} + add r4, r0, #0 + mov r0, #0 + str r0, [r4] + strb r0, [r4, #4] + ldr r0, _0202B0AC ; =0x020F5670 + mov r1, #8 + ldrb r0, [r0] + strb r0, [r4, #5] + ldr r0, _0202B0B0 ; =0x020F566C + ldrb r0, [r0] + strb r0, [r4, #6] + mov r0, #0xff + strb r0, [r4, #7] + add r0, r4, #0 + add r0, #8 + bl StringFillEOS + ldr r0, _0202B0B4 ; =0x0000FFFF + mov r1, #0 + add r2, r4, #0 +_0202B08A: + add r1, r1, #1 + strh r0, [r2, #0x18] + add r2, r2, #2 + cmp r1, #3 + blt _0202B08A + mov r5, #0 + strh r5, [r4, #0x1e] + add r4, #0x20 +_0202B09A: + add r0, r4, #0 + bl MailMsg_init + add r5, r5, #1 + add r4, #8 + cmp r5, #3 + blt _0202B09A + pop {r3, r4, r5, pc} + nop +_0202B0AC: .word 0x020F5670 +_0202B0B0: .word 0x020F566C +_0202B0B4: .word 0x0000FFFF + thumb_func_end sub_0202B060 + + thumb_func_start sub_0202B0B8 +sub_0202B0B8: ; 0x0202B0B8 + ldrb r0, [r0, #7] + cmp r0, #0xb + bhi _0202B0C2 + mov r0, #1 + bx lr +_0202B0C2: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_0202B0B8 + + thumb_func_start sub_0202B0C8 +sub_0202B0C8: ; 0x0202B0C8 + push {r4, lr} + mov r1, #0x38 + bl AllocFromHeapAtEnd + add r4, r0, #0 + bl sub_0202B060 + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202B0C8 + + thumb_func_start sub_0202B0DC +sub_0202B0DC: ; 0x0202B0DC + ldr r3, _0202B0E4 ; =MIi_CpuCopy8 + mov r2, #0x38 + bx r3 + nop +_0202B0E4: .word MIi_CpuCopy8 + thumb_func_end sub_0202B0DC + + thumb_func_start sub_0202B0E8 +sub_0202B0E8: ; 0x0202B0E8 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5] + ldr r0, [r4] + cmp r1, r0 + bne _0202B11E + ldrb r1, [r5, #4] + ldrb r0, [r4, #4] + cmp r1, r0 + bne _0202B11E + ldrb r1, [r5, #5] + ldrb r0, [r4, #5] + cmp r1, r0 + bne _0202B11E + ldrb r1, [r5, #6] + ldrb r0, [r4, #6] + cmp r1, r0 + bne _0202B11E + ldrb r1, [r5, #7] + ldrb r0, [r4, #7] + cmp r1, r0 + bne _0202B11E + ldrh r1, [r5, #0x1e] + ldrh r0, [r4, #0x1e] + cmp r1, r0 + beq _0202B122 +_0202B11E: + mov r0, #0 + pop {r4, r5, r6, pc} +_0202B122: + add r0, r5, #0 + add r1, r4, #0 + add r0, #8 + add r1, #8 + bl StringNotEqual + cmp r0, #0 + beq _0202B136 + mov r0, #0 + pop {r4, r5, r6, pc} +_0202B136: + mov r2, #0 + add r3, r4, #0 + add r6, r5, #0 +_0202B13C: + ldrh r1, [r6, #0x18] + ldrh r0, [r3, #0x18] + cmp r1, r0 + beq _0202B148 + mov r0, #0 + pop {r4, r5, r6, pc} +_0202B148: + add r2, r2, #1 + add r3, r3, #2 + add r6, r6, #2 + cmp r2, #3 + blt _0202B13C + mov r6, #0 + add r4, #0x20 + add r5, #0x20 +_0202B158: + add r0, r5, #0 + add r1, r4, #0 + bl MailMsg_compare + cmp r0, #0 + bne _0202B168 + mov r0, #0 + pop {r4, r5, r6, pc} +_0202B168: + add r6, r6, #1 + add r4, #8 + add r5, #8 + cmp r6, #3 + blt _0202B158 + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202B0E8 + + thumb_func_start sub_0202B178 +sub_0202B178: ; 0x0202B178 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + str r0, [sp] + add r5, r1, #0 + str r2, [sp, #4] + add r4, r3, #0 + bl sub_0202B060 + ldr r0, [sp] + strb r5, [r0, #7] + add r0, r4, #0 + bl sub_02074904 + str r0, [sp, #0xc] + add r0, r4, #0 + bl sub_02028E9C + add r4, r0, #0 + bl PlayerProfile_GetNamePtr + add r1, r0, #0 + ldr r0, [sp] + add r0, #8 + bl CopyU16StringArray + add r0, r4, #0 + bl PlayerProfile_GetTrainerGender + ldr r1, [sp] + strb r0, [r1, #4] + add r0, r4, #0 + bl sub_02028F84 + ldr r1, [sp] + mov r7, #0 + str r0, [r1] + add r0, r1, #0 + strh r7, [r0, #0x1e] + ldr r0, [sp, #0xc] + bl sub_02074640 + ldr r1, [sp, #4] + cmp r1, r0 + bge _0202B2C4 +_0202B1D0: + ldr r0, [sp, #0xc] + ldr r1, [sp, #4] + bl sub_02074644 + mov r1, #5 + mov r2, #0 + add r5, r0, #0 + bl sub_0206E540 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #8] + add r0, r5, #0 + mov r1, #0x4c + mov r2, #0 + bl sub_0206E540 + str r0, [sp, #0x10] + add r0, r5, #0 + mov r1, #0x70 + mov r2, #0 + bl sub_0206E540 + add r4, r0, #0 + add r0, r5, #0 + bl sub_020741B0 + add r5, r0, #0 + ldr r0, [sp, #8] + ldr r2, [sp, #0x10] + add r1, r4, #0 + bl sub_02074364 + ldr r1, [sp] + mov ip, r0 + lsl r2, r7, #1 + add r1, #0x18 + ldrh r3, [r1, r2] + ldr r0, _0202B2C8 ; =0xFFFFF000 + and r0, r3 + lsl r3, r5, #0x10 + lsr r5, r3, #0x10 + ldr r3, _0202B2C8 ; =0xFFFFF000 + lsr r3, r3, #0x14 + and r3, r5 + orr r0, r3 + strh r0, [r1, r2] + ldrh r3, [r1, r2] + ldr r0, _0202B2CC ; =0xFFFF0FFF + and r0, r3 + mov r3, ip + lsl r3, r3, #0x1c + lsr r3, r3, #0x10 + orr r0, r3 + strh r0, [r1, r2] + ldrh r1, [r1, r2] + ldr r2, _0202B2D0 ; =0x020F67A4 + mov r0, #0 + lsl r1, r1, #0x14 + lsr r3, r1, #0x14 +_0202B248: + lsl r1, r0, #3 + add r1, r2, r1 + ldrh r5, [r1, #2] + cmp r5, r3 + bne _0202B29A + ldrb r5, [r1, #6] + cmp r4, r5 + bne _0202B29A + ldr r4, [sp] + lsl r6, r7, #1 + add r4, #0x18 + ldrh r0, [r4, r6] + ldr r2, _0202B2C8 ; =0xFFFFF000 + ldrh r1, [r1] + and r0, r2 + lsr r2, r2, #0x14 + and r1, r2 + orr r0, r1 + strh r0, [r4, r6] + ldr r0, [sp, #8] + ldr r2, [sp, #0x10] + mov r1, #0 + bl sub_02074364 + lsl r0, r0, #0x1c + ldrh r2, [r4, r6] + ldr r1, _0202B2CC ; =0xFFFF0FFF + lsr r0, r0, #0x10 + and r1, r2 + orr r0, r1 + strh r0, [r4, r6] + ldr r0, [sp] + add r1, r5, #0 + ldrh r2, [r0, #0x1e] + lsl r0, r7, #2 + add r0, r7, r0 + lsl r1, r0 + ldr r0, [sp] + orr r1, r2 + strh r1, [r0, #0x1e] + b _0202B2A4 +_0202B29A: + add r0, r0, #1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #7 + blo _0202B248 +_0202B2A4: + add r0, r7, #1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + cmp r7, #3 + bhs _0202B2C4 + ldr r0, [sp, #4] + add r0, r0, #1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #4] + ldr r0, [sp, #0xc] + bl sub_02074640 + ldr r1, [sp, #4] + cmp r1, r0 + blt _0202B1D0 +_0202B2C4: + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0202B2C8: .word 0xFFFFF000 +_0202B2CC: .word 0xFFFF0FFF +_0202B2D0: .word 0x020F67A4 + thumb_func_end sub_0202B178 + + thumb_func_start sub_0202B2D4 +sub_0202B2D4: ; 0x0202B2D4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + mov r0, #3 + add r6, r1, #0 + add r7, r2, #0 + str r3, [sp] + bl sub_0202B0C8 + add r4, r0, #0 + bl sub_0202B060 + add r1, r4, #0 + ldr r0, [sp] + strb r6, [r4, #7] + add r1, #8 + mov r2, #8 + bl CopyStringToU16Array + strb r7, [r4, #4] + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + mov r1, #1 + mov r2, #7 + str r0, [r4] + add r0, r4, #0 + add r0, #0x20 + bl MailMsg_SetMsgBankAndNum + add r0, r4, #0 + ldr r2, _0202B3D0 ; =0x00000545 + add r0, #0x20 + mov r1, #0 + bl MailMsg_SetFieldI + add r0, r4, #0 + ldr r2, _0202B3D4 ; =0x0000FFFF + add r0, #0x20 + mov r1, #1 + bl MailMsg_SetFieldI + add r0, r4, #0 + add r0, #0x28 + mov r1, #1 + mov r2, #0xf + bl MailMsg_SetMsgBankAndNum + add r0, r4, #0 + ldr r2, _0202B3D8 ; =0x0000055B + add r0, #0x28 + mov r1, #0 + bl MailMsg_SetFieldI + add r0, r4, #0 + ldr r2, _0202B3D4 ; =0x0000FFFF + add r0, #0x28 + mov r1, #1 + bl MailMsg_SetFieldI + add r0, r4, #0 + add r0, #0x30 + mov r1, #2 + mov r2, #1 + bl MailMsg_SetMsgBankAndNum + add r0, r4, #0 + add r0, #0x30 + mov r1, #0 + mov r2, #0x29 + bl MailMsg_SetFieldI + add r0, r4, #0 + ldr r2, _0202B3D4 ; =0x0000FFFF + add r0, #0x30 + mov r1, #1 + bl MailMsg_SetFieldI + mov r2, #0 + add r0, r5, #0 + mov r1, #5 + strh r2, [r4, #0x1e] + bl sub_0206E540 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r5, #0 + mov r1, #0x4c + mov r2, #0 + bl sub_0206E540 + add r7, r0, #0 + add r0, r5, #0 + mov r1, #0x70 + mov r2, #0 + bl sub_0206E540 + str r0, [sp, #4] + add r0, r5, #0 + bl sub_020741B0 + add r5, r0, #0 + ldr r1, [sp, #4] + add r0, r6, #0 + add r2, r7, #0 + bl sub_02074364 + lsl r3, r5, #0x10 + lsl r0, r0, #0x1c + ldrh r1, [r4, #0x18] + ldr r2, _0202B3DC ; =0xFFFFF000 + lsr r3, r3, #0x10 + and r1, r2 + lsr r2, r2, #0x14 + and r2, r3 + orr r1, r2 + strh r1, [r4, #0x18] + ldrh r2, [r4, #0x18] + ldr r1, _0202B3E0 ; =0xFFFF0FFF + lsr r0, r0, #0x10 + and r1, r2 + orr r0, r1 + strh r0, [r4, #0x18] + add r0, r4, #0 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202B3D0: .word 0x00000545 +_0202B3D4: .word 0x0000FFFF +_0202B3D8: .word 0x0000055B +_0202B3DC: .word 0xFFFFF000 +_0202B3E0: .word 0xFFFF0FFF + thumb_func_end sub_0202B2D4 + + thumb_func_start sub_0202B3E4 +sub_0202B3E4: ; 0x0202B3E4 + ldr r0, [r0] + bx lr + thumb_func_end sub_0202B3E4 + + thumb_func_start sub_0202B3E8 +sub_0202B3E8: ; 0x0202B3E8 + add r0, #8 + bx lr + thumb_func_end sub_0202B3E8 + + thumb_func_start sub_0202B3EC +sub_0202B3EC: ; 0x0202B3EC + ldrb r0, [r0, #4] + bx lr + thumb_func_end sub_0202B3EC + + thumb_func_start sub_0202B3F0 +sub_0202B3F0: ; 0x0202B3F0 + ldrb r0, [r0, #7] + bx lr + thumb_func_end sub_0202B3F0 + + thumb_func_start sub_0202B3F4 +sub_0202B3F4: ; 0x0202B3F4 + cmp r1, #0xc + bhs _0202B3FA + strb r1, [r0, #7] +_0202B3FA: + bx lr + thumb_func_end sub_0202B3F4 + + thumb_func_start sub_0202B3FC +sub_0202B3FC: ; 0x0202B3FC + ldrb r0, [r0, #5] + bx lr + thumb_func_end sub_0202B3FC + + thumb_func_start sub_0202B400 +sub_0202B400: ; 0x0202B400 + ldrb r0, [r0, #6] + bx lr + thumb_func_end sub_0202B400 + + thumb_func_start sub_0202B404 +sub_0202B404: ; 0x0202B404 + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r4, r2, #0 + cmp r1, #3 + bhs _0202B4C0 + lsl r2, r1, #1 + add r0, r0, r2 + ldrh r5, [r0, #0x18] + lsl r6, r1, #2 + add r1, r1, r6 + add r0, sp, #0 + strh r5, [r0] + asr r3, r1 + lsl r5, r5, #0x14 + mov r1, #0x1f + ldr r2, _0202B4C8 ; =0x020F67A4 + mov r0, #0 + lsr r5, r5, #0x14 + and r3, r1 +_0202B42A: + ldrh r1, [r2] + cmp r5, r1 + bne _0202B46C + ldrb r1, [r2, #6] + cmp r1, r3 + bne _0202B46C + add r3, sp, #0 + lsl r1, r0, #3 + ldr r5, _0202B4CC ; =0x020F67A6 + ldrh r0, [r3] + ldr r2, _0202B4D0 ; =0xFFFFF000 + ldrh r5, [r5, r1] + and r0, r2 + lsr r2, r2, #0x14 + and r2, r5 + orr r0, r2 + strh r0, [r3] + ldr r0, _0202B4D4 ; =0x020F67A8 + ldr r2, _0202B4D8 ; =0x020F67AA + ldrh r0, [r0, r1] + ldrb r1, [r2, r1] + mov r2, #0 + bl sub_02074364 + add r2, sp, #0 + lsl r0, r0, #0x1c + ldrh r3, [r2] + ldr r1, _0202B4DC ; =0xFFFF0FFF + lsr r0, r0, #0x10 + and r1, r3 + orr r0, r1 + strh r0, [r2] + b _0202B474 +_0202B46C: + add r0, r0, #1 + add r2, #8 + cmp r0, #7 + blo _0202B42A +_0202B474: + add r1, sp, #0 + ldrh r2, [r1] + lsl r0, r2, #0x14 + lsr r3, r0, #0x14 + ldr r0, _0202B4E0 ; =0x00000222 + cmp r3, r0 + bls _0202B494 + ldr r0, _0202B4D0 ; =0xFFFFF000 + and r2, r0 + mov r0, #7 + orr r0, r2 + strh r0, [r1] + ldrh r2, [r1] + ldr r0, _0202B4DC ; =0xFFFF0FFF + and r0, r2 + strh r0, [r1] +_0202B494: + cmp r4, #0 + beq _0202B4A0 + cmp r4, #1 + beq _0202B4AC + cmp r4, #2 + b _0202B4B8 +_0202B4A0: + add r0, sp, #0 + ldrh r0, [r0] + add sp, #4 + lsl r0, r0, #0x14 + lsr r0, r0, #0x14 + pop {r3, r4, r5, r6, pc} +_0202B4AC: + add r0, sp, #0 + ldrh r0, [r0] + add sp, #4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x1c + pop {r3, r4, r5, r6, pc} +_0202B4B8: + add r0, sp, #0 + add sp, #4 + ldrh r0, [r0] + pop {r3, r4, r5, r6, pc} +_0202B4C0: + mov r0, #0 + add sp, #4 + pop {r3, r4, r5, r6, pc} + nop +_0202B4C8: .word 0x020F67A4 +_0202B4CC: .word 0x020F67A6 +_0202B4D0: .word 0xFFFFF000 +_0202B4D4: .word 0x020F67A8 +_0202B4D8: .word 0x020F67AA +_0202B4DC: .word 0xFFFF0FFF +_0202B4E0: .word 0x00000222 + thumb_func_end sub_0202B404 + + thumb_func_start sub_0202B4E4 +sub_0202B4E4: ; 0x0202B4E4 + ldrh r0, [r0, #0x1e] + bx lr + thumb_func_end sub_0202B4E4 + + thumb_func_start sub_0202B4E8 +sub_0202B4E8: ; 0x0202B4E8 + cmp r1, #3 + bhs _0202B4F4 + add r0, #0x20 + lsl r1, r1, #3 + add r0, r0, r1 + bx lr +_0202B4F4: + add r0, #0x20 + bx lr + thumb_func_end sub_0202B4E8 + + thumb_func_start sub_0202B4F8 +sub_0202B4F8: ; 0x0202B4F8 + push {r3, lr} + cmp r2, #3 + bhs _0202B508 + add r0, #0x20 + lsl r2, r2, #3 + add r0, r0, r2 + bl MailMsg_copy +_0202B508: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202B4F8 + + thumb_func_start sub_0202B50C +sub_0202B50C: ; 0x0202B50C + ldr r3, _0202B514 ; =SavArray_get + mov r1, #0xd + bx r3 + nop +_0202B514: .word SavArray_get + thumb_func_end sub_0202B50C + + thumb_func_start sub_0202B518 +sub_0202B518: ; 0x0202B518 + mov r0, #0x46 + lsl r0, r0, #4 + bx lr + .balign 4, 0 + thumb_func_end sub_0202B518 + + thumb_func_start sub_0202B520 +sub_0202B520: ; 0x0202B520 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 +_0202B526: + add r0, r5, #0 + bl sub_0202B060 + add r4, r4, #1 + add r5, #0x38 + cmp r4, #0x14 + blt _0202B526 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202B520 + + thumb_func_start sub_0202B538 +sub_0202B538: ; 0x0202B538 + ldr r3, _0202B540 ; =sub_0202B5B4 + mov r1, #0x14 + bx r3 + nop +_0202B540: .word sub_0202B5B4 + thumb_func_end sub_0202B538 + + thumb_func_start sub_0202B544 +sub_0202B544: ; 0x0202B544 + push {r3, lr} + bl sub_0202B604 + cmp r0, #0 + beq _0202B552 + bl sub_0202B060 +_0202B552: + pop {r3, pc} + thumb_func_end sub_0202B544 + + thumb_func_start sub_0202B554 +sub_0202B554: ; 0x0202B554 + push {r4, lr} + add r4, r3, #0 + bl sub_0202B604 + add r1, r0, #0 + beq _0202B566 + add r0, r4, #0 + bl sub_0202B0DC +_0202B566: + pop {r4, pc} + thumb_func_end sub_0202B554 + + thumb_func_start sub_0202B568 +sub_0202B568: ; 0x0202B568 + ldr r3, _0202B570 ; =sub_0202B5DC + mov r1, #0x14 + bx r3 + nop +_0202B570: .word sub_0202B5DC + thumb_func_end sub_0202B568 + + thumb_func_start sub_0202B574 +sub_0202B574: ; 0x0202B574 + push {r3, r4, r5, lr} + add r5, r3, #0 + bl sub_0202B604 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0202B0C8 + add r5, r0, #0 + cmp r4, #0 + beq _0202B592 + add r0, r4, #0 + add r1, r5, #0 + bl sub_0202B0DC +_0202B592: + add r0, r5, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202B574 + + thumb_func_start sub_0202B598 +sub_0202B598: ; 0x0202B598 + push {r4, lr} + add r4, r3, #0 + bl sub_0202B604 + cmp r0, #0 + bne _0202B5AC + add r0, r4, #0 + bl sub_0202B060 + pop {r4, pc} +_0202B5AC: + add r1, r4, #0 + bl sub_0202B0DC + pop {r4, pc} + thumb_func_end sub_0202B598 + + thumb_func_start sub_0202B5B4 +sub_0202B5B4: ; 0x0202B5B4 + push {r4, r5, r6, lr} + add r6, r1, #0 + add r5, r0, #0 + mov r4, #0 + cmp r6, #0 + ble _0202B5D6 +_0202B5C0: + add r0, r5, #0 + bl sub_0202B0B8 + cmp r0, #0 + bne _0202B5CE + add r0, r4, #0 + pop {r4, r5, r6, pc} +_0202B5CE: + add r4, r4, #1 + add r5, #0x38 + cmp r4, r6 + blt _0202B5C0 +_0202B5D6: + mov r0, #0 + mvn r0, r0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202B5B4 + + thumb_func_start sub_0202B5DC +sub_0202B5DC: ; 0x0202B5DC + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + add r7, r1, #0 + add r5, r0, #0 + add r6, r4, #0 + cmp r7, #0 + ble _0202B5FE +_0202B5EA: + add r0, r5, #0 + bl sub_0202B0B8 + cmp r0, #0 + beq _0202B5F6 + add r4, r4, #1 +_0202B5F6: + add r6, r6, #1 + add r5, #0x38 + cmp r6, r7 + blt _0202B5EA +_0202B5FE: + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202B5DC + + thumb_func_start sub_0202B604 +sub_0202B604: ; 0x0202B604 + cmp r2, #0x14 + bge _0202B610 + mov r1, #0x38 + mul r1, r2 + add r0, r0, r1 + bx lr +_0202B610: + mov r0, #0 + bx lr + thumb_func_end sub_0202B604 + + thumb_func_start sub_0202B614 +sub_0202B614: ; 0x0202B614 + ldr r1, _0202B628 ; =0x00001234 + cmp r0, r1 + beq _0202B620 + ldr r1, _0202B62C ; =0x00002345 + cmp r0, r1 + bne _0202B624 +_0202B620: + mov r0, #1 + bx lr +_0202B624: + mov r0, #0 + bx lr + .balign 4, 0 +_0202B628: .word 0x00001234 +_0202B62C: .word 0x00002345 + thumb_func_end sub_0202B614 + + thumb_func_start sub_0202B630 +sub_0202B630: ; 0x0202B630 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r1, #0 + add r6, r2, #0 + add r4, r0, #0 + add r1, sp, #4 + add r2, sp, #0 + add r7, r3, #0 + bl ov41_02249780 + add r0, r4, #0 + bl ov41_02249710 + add r4, r0, #0 + mov r0, #1 + ldr r1, [sp, #4] + lsl r0, r0, #8 + cmp r1, r0 + blt _0202B65A + bl GF_AssertFail +_0202B65A: + mov r0, #1 + ldr r1, [sp] + lsl r0, r0, #8 + cmp r1, r0 + blt _0202B668 + bl GF_AssertFail +_0202B668: + mov r0, #0x7f + mvn r0, r0 + cmp r4, r0 + bgt _0202B674 + bl GF_AssertFail +_0202B674: + ldr r0, [sp, #4] + strb r0, [r5] + ldr r0, [sp] + strb r0, [r6] + strb r4, [r7] + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202B630 + + thumb_func_start sub_0202B684 +sub_0202B684: ; 0x0202B684 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + add r0, r4, #0 + mov r1, #5 + mov r2, #0 + add r7, r3, #0 + bl sub_0206E540 + add r2, r5, #0 + strh r0, [r5, #8] + add r0, r4, #0 + mov r1, #0x75 + add r2, #0xa + bl sub_0206E540 + mov r1, #0 + add r0, r4, #0 + add r2, r1, #0 + bl sub_0206E540 + str r0, [r5] + add r0, r4, #0 + mov r1, #7 + mov r2, #0 + bl sub_0206E540 + str r0, [r5, #4] + add r0, r4, #0 + mov r1, #0x70 + mov r2, #0 + bl sub_0206E540 + add r1, r5, #0 + add r1, #0x33 + strb r0, [r1] + add r0, r5, #0 + add r0, #0x31 + strb r6, [r0] + add r0, r5, #0 + add r0, #0x32 + strb r7, [r0] + add r1, sp, #8 + mov r0, #0x10 + ldrsb r0, [r1, r0] + add r5, #0x30 + strb r0, [r5] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202B684 + + thumb_func_start sub_0202B6E8 +sub_0202B6E8: ; 0x0202B6E8 + push {r3, r4, r5, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + add r0, r2, #0 + add r1, sp, #4 + add r2, sp, #4 + add r1, #2 + add r2, #1 + add r3, sp, #4 + bl sub_0202B630 + add r3, sp, #4 + mov r0, #0 + ldrsb r0, [r3, r0] + add r1, r4, #0 + str r0, [sp] + ldrb r2, [r3, #2] + ldrb r3, [r3, #1] + add r0, r5, #0 + bl sub_0202B684 + add sp, #8 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202B6E8 + + thumb_func_start sub_0202B718 +sub_0202B718: ; 0x0202B718 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r0, r1, #0 + add r1, r5, #0 + add r4, r2, #0 + add r1, #0x20 + mov r2, #8 + bl CopyStringToU16Array + add r5, #0x34 + strb r4, [r5] + pop {r3, r4, r5, pc} + thumb_func_end sub_0202B718 + + thumb_func_start sub_0202B730 +sub_0202B730: ; 0x0202B730 + push {r3, r4, r5, lr} + sub sp, #0x10 + add r4, r1, #0 + mov r1, #1 + add r5, r0, #0 + str r1, [sp] + ldr r0, [r5] + mov r2, #0 + str r0, [sp, #4] + str r1, [sp, #8] + ldr r0, [r5, #4] + add r3, r2, #0 + str r0, [sp, #0xc] + ldrh r1, [r5, #8] + add r0, r4, #0 + bl sub_0206DE38 + add r2, r5, #0 + add r0, r4, #0 + mov r1, #0x75 + add r2, #0xa + bl sub_0206EC40 + add r5, #0x33 + add r0, r4, #0 + mov r1, #0x70 + add r2, r5, #0 + bl sub_0206EC40 + add sp, #0x10 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202B730 + + thumb_func_start sub_0202B770 +sub_0202B770: ; 0x0202B770 + strb r1, [r0] + ldr r1, _0202B780 ; =0xFFFFFFF0 + strb r2, [r0, #1] + strb r3, [r0, #2] + add r1, sp + ldrb r1, [r1, #0x10] + strb r1, [r0, #3] + bx lr + .balign 4, 0 +_0202B780: .word 0xFFFFFFF0 + thumb_func_end sub_0202B770 + + thumb_func_start sub_0202B784 +sub_0202B784: ; 0x0202B784 + push {r4, r5, r6, lr} + add r4, r2, #0 + add r5, r0, #0 + add r6, r1, #0 + cmp r4, #0x3d + blo _0202B794 + bl GF_AssertFail +_0202B794: + lsr r2, r4, #0x1f + lsl r1, r4, #0x1d + sub r1, r1, r2 + mov r0, #0x1d + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1a + lsr r1, r0, #0x18 + lsr r0, r4, #3 + lsl r0, r0, #0x18 + mov r2, #0xf + lsr r0, r0, #0x16 + lsl r2, r1 + ldr r3, [r5, r0] + mvn r2, r2 + and r2, r3 + str r2, [r5, r0] + add r2, r6, #0 + ldr r3, [r5, r0] + lsl r2, r1 + add r1, r3, #0 + orr r1, r2 + str r1, [r5, r0] + pop {r4, r5, r6, pc} + thumb_func_end sub_0202B784 + + thumb_func_start sub_0202B7C8 +sub_0202B7C8: ; 0x0202B7C8 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x3d + blo _0202B7D6 + bl GF_AssertFail +_0202B7D6: + lsr r3, r4, #0x1f + lsl r2, r4, #0x1d + lsr r0, r4, #3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x16 + sub r2, r2, r3 + mov r1, #0x1d + ror r2, r1 + add r1, r3, r2 + lsl r1, r1, #0x18 + ldr r0, [r5, r0] + lsr r1, r1, #0x18 + lsl r1, r1, #0x1a + add r2, r0, #0 + lsr r1, r1, #0x18 + lsr r2, r1 + mov r0, #0xf + and r0, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #9 + bls _0202B804 + mov r0, #9 +_0202B804: + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202B7C8 + + thumb_func_start sub_0202B808 +sub_0202B808: ; 0x0202B808 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + cmp r4, #2 + blo _0202B818 + bl GF_AssertFail +_0202B818: + lsr r2, r6, #0x1f + lsl r1, r6, #0x1b + sub r1, r1, r2 + mov r0, #0x1b + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsr r0, r6, #5 + lsl r0, r0, #0x18 + mov r2, #1 + lsr r0, r0, #0x16 + lsl r2, r1 + ldr r3, [r5, r0] + mvn r2, r2 + and r2, r3 + str r2, [r5, r0] + add r2, r4, #0 + ldr r3, [r5, r0] + lsl r2, r1 + add r1, r3, #0 + orr r1, r2 + str r1, [r5, r0] + pop {r4, r5, r6, pc} + thumb_func_end sub_0202B808 + + thumb_func_start sub_0202B848 +sub_0202B848: ; 0x0202B848 + lsr r2, r1, #5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x16 + ldr r3, [r0, r2] + lsr r2, r1, #0x1f + lsl r1, r1, #0x1b + sub r1, r1, r2 + mov r0, #0x1b + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r3, #0 + lsr r1, r0 + mov r0, #1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + .balign 4, 0 + thumb_func_end sub_0202B848 + + thumb_func_start sub_0202B870 +sub_0202B870: ; 0x0202B870 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + cmp r4, #0x12 + bls _0202B880 + bl GF_AssertFail +_0202B880: + lsr r2, r6, #0x1f + lsl r1, r6, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1b + lsr r1, r0, #0x18 + lsr r0, r6, #2 + lsl r0, r0, #0x18 + mov r2, #0xff + lsr r0, r0, #0x16 + lsl r2, r1 + ldr r3, [r5, r0] + mvn r2, r2 + and r2, r3 + str r2, [r5, r0] + add r2, r4, #0 + ldr r3, [r5, r0] + lsl r2, r1 + add r1, r3, #0 + orr r1, r2 + str r1, [r5, r0] + pop {r4, r5, r6, pc} + thumb_func_end sub_0202B870 + + thumb_func_start sub_0202B8B4 +sub_0202B8B4: ; 0x0202B8B4 + lsr r2, r1, #2 + lsl r2, r2, #0x18 + lsr r2, r2, #0x16 + ldr r0, [r0, r2] + lsr r3, r1, #0x1f + lsl r2, r1, #0x1e + sub r2, r2, r3 + mov r1, #0x1e + ror r2, r1 + add r1, r3, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1b + lsr r1, r1, #0x18 + lsr r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + thumb_func_end sub_0202B8B4 + + thumb_func_start sub_0202B8D8 +sub_0202B8D8: ; 0x0202B8D8 + push {r4, r5, r6, lr} + mov r5, #0 + add r6, r0, #0 + add r4, r5, #0 +_0202B8E0: + lsl r1, r4, #0x18 + add r0, r6, #0 + lsr r1, r1, #0x18 + bl sub_0202B8B4 + cmp r0, #0x12 + beq _0202B8F0 + add r5, r5, #1 +_0202B8F0: + add r4, r4, #1 + cmp r4, #0x12 + blt _0202B8E0 + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202B8D8 + + thumb_func_start sub_0202B8FC +sub_0202B8FC: ; 0x0202B8FC + cmp r0, #0x3d + bhs _0202B904 + mov r0, #1 + bx lr +_0202B904: + mov r0, #0 + bx lr + thumb_func_end sub_0202B8FC + + thumb_func_start sub_0202B908 +sub_0202B908: ; 0x0202B908 + push {r4, r5, r6, lr} + mov r1, #0 + mov r2, #0x40 + add r5, r0, #0 + bl memset + mov r4, #0 + add r5, #0x28 + mov r6, #0x12 +_0202B91A: + lsl r2, r4, #0x18 + add r0, r5, #0 + add r1, r6, #0 + lsr r2, r2, #0x18 + bl sub_0202B870 + add r4, r4, #1 + cmp r4, #0x12 + blt _0202B91A + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202B908 + + thumb_func_start sub_0202B930 +sub_0202B930: ; 0x0202B930 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + ldr r6, _0202B980 ; =0x00001234 + str r0, [sp] + add r5, r0, #0 + add r7, r4, #0 +_0202B93C: + add r0, r5, #0 + add r1, r7, #0 + mov r2, #0x74 + bl memset + str r6, [r5] + add r4, r4, #1 + add r5, #0x74 + cmp r4, #0xb + blt _0202B93C + ldr r0, [sp] + ldr r1, _0202B984 ; =0x000004FC + ldr r7, _0202B980 ; =0x00001234 + mov r6, #0 + add r4, r0, r1 + add r5, r0, #0 +_0202B95C: + add r0, r4, #0 + mov r1, #0 + mov r2, #0x98 + bl memset + ldr r0, _0202B984 ; =0x000004FC + add r6, r6, #1 + str r7, [r5, r0] + add r4, #0x98 + add r5, #0x98 + cmp r6, #5 + blt _0202B95C + ldr r1, _0202B988 ; =0x000007F4 + ldr r0, [sp] + add r0, r0, r1 + bl sub_0202B908 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202B980: .word 0x00001234 +_0202B984: .word 0x000004FC +_0202B988: .word 0x000007F4 + thumb_func_end sub_0202B930 + + thumb_func_start sub_0202B98C +sub_0202B98C: ; 0x0202B98C + ldr r0, _0202B990 ; =0x00000834 + bx lr + .balign 4, 0 +_0202B990: .word 0x00000834 + thumb_func_end sub_0202B98C + + thumb_func_start sub_0202B994 +sub_0202B994: ; 0x0202B994 + mov r0, #0x74 + bx lr + thumb_func_end sub_0202B994 + + thumb_func_start sub_0202B998 +sub_0202B998: ; 0x0202B998 + push {r4, lr} + mov r1, #0x74 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x74 + add r4, r0, #0 + bl memset + ldr r0, _0202B9B4 ; =0x00001234 + str r0, [r4] + add r0, r4, #0 + pop {r4, pc} + nop +_0202B9B4: .word 0x00001234 + thumb_func_end sub_0202B998 + + thumb_func_start sub_0202B9B8 +sub_0202B9B8: ; 0x0202B9B8 + push {r4, r5, r6, lr} + add r6, r1, #0 + add r5, r0, #0 + cmp r6, #0xb + blt _0202B9C6 + bl GF_AssertFail +_0202B9C6: + mov r0, #0x74 + add r4, r6, #0 + mul r4, r0 + ldr r0, [r5, r4] + bl sub_0202B614 + cmp r0, #0 + bne _0202B9DA + bl GF_AssertFail +_0202B9DA: + add r0, r5, r4 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202B9B8 + + thumb_func_start sub_0202B9E0 +sub_0202B9E0: ; 0x0202B9E0 + ldr r1, _0202B9E8 ; =0x000007F4 + add r0, r0, r1 + bx lr + nop +_0202B9E8: .word 0x000007F4 + thumb_func_end sub_0202B9E0 + + thumb_func_start sub_0202B9EC +sub_0202B9EC: ; 0x0202B9EC + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0xb + blt _0202B9FA + bl GF_AssertFail +_0202B9FA: + mov r0, #0x74 + mul r0, r4 + add r0, r5, r0 + bl sub_0202BC10 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202B9EC + + thumb_func_start sub_0202BA08 +sub_0202BA08: ; 0x0202BA08 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #5 + blt _0202BA16 + bl GF_AssertFail +_0202BA16: + ldr r0, _0202BA28 ; =0x000004FC + add r1, r5, r0 + mov r0, #0x98 + mul r0, r4 + add r0, r1, r0 + bl sub_0202BEA4 + pop {r3, r4, r5, pc} + nop +_0202BA28: .word 0x000004FC + thumb_func_end sub_0202BA08 + + thumb_func_start sub_0202BA2C +sub_0202BA2C: ; 0x0202BA2C + push {r3, r4, r5, r6, r7, lr} + add r7, r1, #0 + add r5, r2, #0 + mov r4, #1 + bl sub_0202BA70 + add r6, r0, #0 + add r0, r7, #0 + bl sub_0202B8FC + cmp r0, #0 + beq _0202BA4E + add r0, r6, r5 + cmp r0, #9 + bls _0202BA56 + mov r4, #0 + b _0202BA56 +_0202BA4E: + add r0, r6, r5 + cmp r0, #1 + bls _0202BA56 + mov r4, #0 +_0202BA56: + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202BA2C + + thumb_func_start sub_0202BA5C +sub_0202BA5C: ; 0x0202BA5C + push {r3, lr} + bl sub_0202BAB0 + cmp r0, #0x12 + beq _0202BA6A + mov r0, #1 + pop {r3, pc} +_0202BA6A: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202BA5C + + thumb_func_start sub_0202BA70 +sub_0202BA70: ; 0x0202BA70 + push {r3, r4, r5, lr} + add r5, r1, #0 + add r4, r0, #0 + cmp r5, #0x64 + blo _0202BA7E + bl GF_AssertFail +_0202BA7E: + add r0, r5, #0 + bl sub_0202B8FC + cmp r0, #0 + beq _0202BA94 + lsl r1, r5, #0x18 + add r0, r4, #0 + lsr r1, r1, #0x18 + bl sub_0202B7C8 + pop {r3, r4, r5, pc} +_0202BA94: + cmp r5, #0x3d + bhs _0202BA9C + bl GF_AssertFail +_0202BA9C: + sub r5, #0x3d + lsl r0, r5, #0x18 + lsr r1, r0, #0x18 + add r4, #0x20 + lsl r1, r1, #0x18 + add r0, r4, #0 + lsr r1, r1, #0x18 + bl sub_0202B848 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202BA70 + + thumb_func_start sub_0202BAB0 +sub_0202BAB0: ; 0x0202BAB0 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x12 + blo _0202BABE + bl GF_AssertFail +_0202BABE: + add r5, #0x28 + lsl r1, r4, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + bl sub_0202B8B4 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202BAB0 + + thumb_func_start sub_0202BACC +sub_0202BACC: ; 0x0202BACC + push {r4, r5, r6, lr} + mov r5, #0 + add r6, r0, #0 + add r4, r5, #0 +_0202BAD4: + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202BA70 + add r4, r4, #1 + add r5, r5, r0 + cmp r4, #0x64 + blt _0202BAD4 + add r0, r5, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202BACC + + thumb_func_start sub_0202BAE8 +sub_0202BAE8: ; 0x0202BAE8 + push {r4, r5, r6, lr} + mov r5, #0 + add r6, r0, #0 + add r4, r5, #0 +_0202BAF0: + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202BAB0 + cmp r0, #0x12 + beq _0202BAFE + add r5, r5, #1 +_0202BAFE: + add r4, r4, #1 + cmp r4, #0x12 + blt _0202BAF0 + add r0, r5, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202BAE8 + + thumb_func_start sub_0202BB08 +sub_0202BB08: ; 0x0202BB08 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + cmp r4, #0x64 + blo _0202BB18 + bl GF_AssertFail +_0202BB18: + add r0, r4, #0 + bl sub_0202B8FC + cmp r0, #0 + beq _0202BB44 + lsl r1, r4, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + bl sub_0202B7C8 + add r0, r0, r6 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #9 + bls _0202BB38 + mov r1, #9 +_0202BB38: + lsl r2, r4, #0x18 + add r0, r5, #0 + lsr r2, r2, #0x18 + bl sub_0202B784 + pop {r4, r5, r6, pc} +_0202BB44: + add r0, r5, #0 + lsl r1, r4, #0x18 + add r0, #0x20 + lsr r1, r1, #0x18 + bl sub_0202B848 + add r0, r0, r6 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #1 + bls _0202BB5C + mov r6, #1 +_0202BB5C: + cmp r4, #0x3d + bhs _0202BB64 + bl GF_AssertFail +_0202BB64: + sub r4, #0x3d + lsl r0, r4, #0x18 + lsr r2, r0, #0x18 + add r5, #0x20 + lsl r2, r2, #0x18 + add r0, r5, #0 + add r1, r6, #0 + lsr r2, r2, #0x18 + bl sub_0202B808 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202BB08 + + thumb_func_start sub_0202BB7C +sub_0202BB7C: ; 0x0202BB7C + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + cmp r4, #0x64 + blo _0202BB8C + bl GF_AssertFail +_0202BB8C: + add r0, r4, #0 + bl sub_0202B8FC + cmp r0, #0 + beq _0202BBBA + lsl r1, r4, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + bl sub_0202B7C8 + cmp r0, r6 + bls _0202BBAC + sub r0, r0, r6 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + b _0202BBAE +_0202BBAC: + mov r1, #0 +_0202BBAE: + lsl r2, r4, #0x18 + add r0, r5, #0 + lsr r2, r2, #0x18 + bl sub_0202B784 + pop {r4, r5, r6, pc} +_0202BBBA: + cmp r4, #0x3d + bhs _0202BBC2 + bl GF_AssertFail +_0202BBC2: + sub r4, #0x3d + lsl r0, r4, #0x18 + lsr r2, r0, #0x18 + add r5, #0x20 + lsl r2, r2, #0x18 + add r0, r5, #0 + mov r1, #0 + lsr r2, r2, #0x18 + bl sub_0202B808 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202BB7C + + thumb_func_start sub_0202BBD8 +sub_0202BBD8: ; 0x0202BBD8 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x12 + blo _0202BBE6 + bl GF_AssertFail +_0202BBE6: + add r0, r5, #0 + lsl r1, r4, #0x18 + add r0, #0x28 + lsr r1, r1, #0x18 + bl sub_0202B8B4 + cmp r0, #0x12 + bne _0202BC0C + add r0, r5, #0 + add r0, #0x28 + bl sub_0202B8D8 + lsl r2, r4, #0x18 + add r5, #0x28 + add r1, r0, #0 + add r0, r5, #0 + lsr r2, r2, #0x18 + bl sub_0202B870 +_0202BC0C: + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202BBD8 + + thumb_func_start sub_0202BC10 +sub_0202BC10: ; 0x0202BC10 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + bl sub_0202B614 + cmp r0, #0 + bne _0202BC22 + bl GF_AssertFail +_0202BC22: + ldr r1, [r4] + ldr r0, _0202BC34 ; =0x00002345 + cmp r1, r0 + bne _0202BC2E + mov r0, #1 + pop {r4, pc} +_0202BC2E: + mov r0, #0 + pop {r4, pc} + nop +_0202BC34: .word 0x00002345 + thumb_func_end sub_0202BC10 + + thumb_func_start sub_0202BC38 +sub_0202BC38: ; 0x0202BC38 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + bl sub_0202B614 + cmp r0, #0 + bne _0202BC4A + bl GF_AssertFail +_0202BC4A: + ldr r0, _0202BC58 ; =0x00002345 + str r0, [r4] + ldr r0, _0202BC5C ; =0x020F5670 + add r4, #0x71 + ldrb r0, [r0] + strb r0, [r4] + pop {r4, pc} + .balign 4, 0 +_0202BC58: .word 0x00002345 +_0202BC5C: .word 0x020F5670 + thumb_func_end sub_0202BC38 + + thumb_func_start sub_0202BC60 +sub_0202BC60: ; 0x0202BC60 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + bl sub_0202B614 + cmp r0, #0 + bne _0202BC72 + bl GF_AssertFail +_0202BC72: + add r0, r4, #0 + mov r1, #0 + mov r2, #0x74 + bl memset + ldr r0, _0202BC84 ; =0x00001234 + str r0, [r4] + pop {r4, pc} + nop +_0202BC84: .word 0x00001234 + thumb_func_end sub_0202BC60 + + thumb_func_start sub_0202BC88 +sub_0202BC88: ; 0x0202BC88 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + add r6, r2, #0 + bl sub_0202B614 + cmp r0, #0 + bne _0202BC9E + bl GF_AssertFail +_0202BC9E: + add r0, r5, #4 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0202B6E8 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202BC88 + + thumb_func_start sub_0202BCAC +sub_0202BCAC: ; 0x0202BCAC + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4, #4] + add r6, r2, #0 + bl sub_02015FCC + add r1, sp, #0xc + strh r0, [r1] + lsr r0, r0, #0x10 + strh r0, [r1, #2] + ldrh r0, [r1] + strh r0, [r1, #4] + ldrh r0, [r1, #2] + strh r0, [r1, #6] + ldr r0, [r4, #4] + bl sub_02015FF8 + add r7, r0, #0 + cmp r6, #0xa + blt _0202BCDC + bl GF_AssertFail +_0202BCDC: + add r1, sp, #0xc + mov r0, #4 + ldrsh r1, [r1, r0] + add r0, #0xfc + cmp r1, r0 + blt _0202BCEC + bl GF_AssertFail +_0202BCEC: + add r0, sp, #0xc + mov r1, #6 + ldrsh r0, [r0, r1] + add r1, #0xfa + str r0, [sp, #8] + ldr r0, [sp, #8] + cmp r0, r1 + blt _0202BD00 + bl GF_AssertFail +_0202BD00: + mov r0, #0x7f + mvn r0, r0 + cmp r7, r0 + bgt _0202BD0C + bl GF_AssertFail +_0202BD0C: + mov r0, #1 + lsl r0, r6 + ldr r1, [r5, #0x3c] + str r0, [sp, #4] + tst r0, r1 + beq _0202BD1C + bl GF_AssertFail +_0202BD1C: + ldr r0, [r5] + bl sub_0202B614 + cmp r0, #0 + bne _0202BD2A + bl GF_AssertFail +_0202BD2A: + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp] + add r1, r5, #0 + add r3, sp, #0xc + mov r2, #4 + ldrsh r2, [r3, r2] + ldr r3, [sp, #8] + add r1, #0x48 + lsl r0, r6, #2 + add r0, r1, r0 + ldr r1, [r4] + lsl r2, r2, #0x18 + lsl r1, r1, #0x18 + lsl r3, r3, #0x18 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0202B770 + ldr r1, [r5, #0x3c] + ldr r0, [sp, #4] + orr r0, r1 + str r0, [r5, #0x3c] + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202BCAC + + thumb_func_start sub_0202BD60 +sub_0202BD60: ; 0x0202BD60 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + bl sub_0202B614 + cmp r0, #0 + bne _0202BD74 + bl GF_AssertFail +_0202BD74: + add r5, #0x70 + strb r4, [r5] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202BD60 + + thumb_func_start sub_0202BD7C +sub_0202BD7C: ; 0x0202BD7C + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + bl sub_0202B614 + cmp r0, #0 + bne _0202BD90 + bl GF_AssertFail +_0202BD90: + add r0, r5, #0 + add r0, #0x40 + bl MailMsg_init + add r5, #0x40 + add r0, r5, #0 + mov r1, #0 + add r2, r4, #0 + bl MailMsg_SetFieldI + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202BD7C + + thumb_func_start sub_0202BDA8 +sub_0202BDA8: ; 0x0202BDA8 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + bl sub_0202B614 + cmp r0, #0 + bne _0202BDBC + bl GF_AssertFail +_0202BDBC: + add r0, r5, #0 + add r1, r4, #0 + mov r2, #0x74 + bl memcpy + pop {r3, r4, r5, pc} + thumb_func_end sub_0202BDA8 + + thumb_func_start sub_0202BDC8 +sub_0202BDC8: ; 0x0202BDC8 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + add r6, r2, #0 + bl sub_0202B614 + cmp r0, #0 + bne _0202BDDE + bl GF_AssertFail +_0202BDDE: + add r0, r5, #4 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0202B718 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202BDC8 + + thumb_func_start sub_0202BDEC +sub_0202BDEC: ; 0x0202BDEC + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0xa + blt _0202BDFA + bl GF_AssertFail +_0202BDFA: + ldr r0, [r5] + bl sub_0202B614 + cmp r0, #0 + bne _0202BE08 + bl GF_AssertFail +_0202BE08: + mov r0, #1 + ldr r1, [r5, #0x3c] + lsl r0, r4 + and r0, r1 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202BDEC + + thumb_func_start sub_0202BE14 +sub_0202BE14: ; 0x0202BE14 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + bl sub_0202B614 + cmp r0, #0 + bne _0202BE26 + bl GF_AssertFail +_0202BE26: + add r0, r4, #4 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202BE14 + + thumb_func_start sub_0202BE2C +sub_0202BE2C: ; 0x0202BE2C + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0xa + blt _0202BE3A + bl GF_AssertFail +_0202BE3A: + mov r0, #1 + ldr r1, [r5, #0x3c] + lsl r0, r4 + tst r0, r1 + bne _0202BE48 + bl GF_AssertFail +_0202BE48: + ldr r0, [r5] + bl sub_0202B614 + cmp r0, #0 + bne _0202BE56 + bl GF_AssertFail +_0202BE56: + add r5, #0x48 + lsl r0, r4, #2 + add r0, r5, r0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202BE2C + + thumb_func_start sub_0202BE60 +sub_0202BE60: ; 0x0202BE60 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + bl sub_0202B614 + cmp r0, #0 + bne _0202BE74 + bl GF_AssertFail +_0202BE74: + add r0, r5, #4 + add r1, r4, #0 + bl sub_0202BECC + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202BE60 + + thumb_func_start sub_0202BE80 +sub_0202BE80: ; 0x0202BE80 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + bl sub_0202B614 + cmp r0, #0 + bne _0202BE92 + bl GF_AssertFail +_0202BE92: + add r4, #0x70 + ldrb r0, [r4] + pop {r4, pc} + thumb_func_end sub_0202BE80 + + thumb_func_start sub_0202BE98 +sub_0202BE98: ; 0x0202BE98 + ldr r3, _0202BEA0 ; =MailMsg_GetFieldI + add r0, #0x40 + mov r1, #0 + bx r3 + .balign 4, 0 +_0202BEA0: .word MailMsg_GetFieldI + thumb_func_end sub_0202BE98 + + thumb_func_start sub_0202BEA4 +sub_0202BEA4: ; 0x0202BEA4 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + bl sub_0202B614 + cmp r0, #0 + bne _0202BEB6 + bl GF_AssertFail +_0202BEB6: + ldr r1, [r4] + ldr r0, _0202BEC8 ; =0x00002345 + cmp r1, r0 + bne _0202BEC2 + mov r0, #1 + pop {r4, pc} +_0202BEC2: + mov r0, #0 + pop {r4, pc} + nop +_0202BEC8: .word 0x00002345 + thumb_func_end sub_0202BEA4 + + thumb_func_start sub_0202BECC +sub_0202BECC: ; 0x0202BECC + add r2, r0, #0 + ldr r3, _0202BED8 ; =CopyU16ArrayToString + add r2, #0x20 + add r0, r1, #0 + add r1, r2, #0 + bx r3 + .balign 4, 0 +_0202BED8: .word CopyU16ArrayToString + thumb_func_end sub_0202BECC + + thumb_func_start sub_0202BEDC +sub_0202BEDC: ; 0x0202BEDC + mov r1, #0x30 + ldrsb r0, [r0, r1] + bx lr + .balign 4, 0 + thumb_func_end sub_0202BEDC + + thumb_func_start sub_0202BEE4 +sub_0202BEE4: ; 0x0202BEE4 + add r0, #0x31 + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202BEE4 + + thumb_func_start sub_0202BEEC +sub_0202BEEC: ; 0x0202BEEC + add r0, #0x32 + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202BEEC + + thumb_func_start sub_0202BEF4 +sub_0202BEF4: ; 0x0202BEF4 + ldr r3, _0202BEF8 ; =sub_0202B730 + bx r3 + .balign 4, 0 +_0202BEF8: .word sub_0202B730 + thumb_func_end sub_0202BEF4 + + thumb_func_start sub_0202BEFC +sub_0202BEFC: ; 0x0202BEFC + ldrb r0, [r0] + bx lr + thumb_func_end sub_0202BEFC + + thumb_func_start sub_0202BF00 +sub_0202BF00: ; 0x0202BF00 + ldrb r0, [r0, #1] + bx lr + thumb_func_end sub_0202BF00 + + thumb_func_start sub_0202BF04 +sub_0202BF04: ; 0x0202BF04 + ldrb r0, [r0, #2] + bx lr + thumb_func_end sub_0202BF04 + + thumb_func_start sub_0202BF08 +sub_0202BF08: ; 0x0202BF08 + mov r1, #3 + ldrsb r0, [r0, r1] + bx lr + .balign 4, 0 + thumb_func_end sub_0202BF08 + + thumb_func_start sub_0202BF10 +sub_0202BF10: ; 0x0202BF10 + push {r4, r5, r6, r7, lr} + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0xc + add r7, r0, #0 + mov r0, #1 + add r4, r1, #0 + str r0, [sp] + add r0, r4, #0 + bl sub_0202BC10 + cmp r0, #1 + bne _0202BF6E + ldr r1, _0202BF7C ; =0xEDB88320 + add r0, sp, #4 + bl sub_020E3960 + add r0, sp, #4 + add r1, r4, #0 + mov r2, #0x74 + bl sub_020E3A58 + add r6, r0, #0 + mov r5, #0 +_0202BF40: + add r0, r7, #0 + add r1, r5, #0 + bl sub_0202B9B8 + add r4, r0, #0 + ldr r1, _0202BF7C ; =0xEDB88320 + add r0, sp, #4 + bl sub_020E3960 + add r0, sp, #4 + add r1, r4, #0 + mov r2, #0x74 + bl sub_020E3A58 + cmp r0, r6 + bne _0202BF66 + mov r0, #0 + str r0, [sp] + b _0202BF72 +_0202BF66: + add r5, r5, #1 + cmp r5, #0xb + blt _0202BF40 + b _0202BF72 +_0202BF6E: + mov r0, #0 + str r0, [sp] +_0202BF72: + ldr r0, [sp] + add sp, #0x1fc + add sp, #0x1fc + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0202BF7C: .word 0xEDB88320 + thumb_func_end sub_0202BF10 + + thumb_func_start sub_0202BF80 +sub_0202BF80: ; 0x0202BF80 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r0, [sp] + mov r7, #0 + ldr r0, [sp] + str r1, [sp, #4] + add r5, r2, #0 + add r6, r7, #0 + str r3, [sp, #8] + cmp r0, #0 + ble _0202BFBA + add r4, r3, #0 +_0202BF98: + ldr r0, [sp, #4] + cmp r6, r0 + beq _0202BFB0 + ldr r1, [r4] + cmp r1, #0 + beq _0202BFB0 + add r0, r5, #0 + bl sub_0202BF10 + cmp r0, #1 + bne _0202BFB0 + add r7, r7, #1 +_0202BFB0: + ldr r0, [sp] + add r6, r6, #1 + add r4, r4, #4 + cmp r6, r0 + blt _0202BF98 +_0202BFBA: + mov r4, #0xa +_0202BFBC: + add r1, r4, r7 + cmp r1, #0xb + bge _0202BFDA + add r0, r5, #0 + bl sub_0202B9B8 + add r6, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202B9B8 + add r1, r0, #0 + add r0, r6, #0 + bl sub_0202BDA8 +_0202BFDA: + sub r4, r4, #1 + cmp r4, #1 + bge _0202BFBC + ldr r0, [sp] + mov r6, #1 + mov r4, #0 + cmp r0, #0 + ble _0202C022 +_0202BFEA: + ldr r0, [sp, #4] + cmp r4, r0 + beq _0202C014 + ldr r0, [sp, #8] + ldr r7, [r0] + cmp r7, #0 + beq _0202C014 + add r0, r5, #0 + add r1, r7, #0 + bl sub_0202BF10 + cmp r0, #1 + bne _0202C014 + add r0, r5, #0 + add r1, r6, #0 + bl sub_0202B9B8 + add r1, r7, #0 + add r6, r6, #1 + bl sub_0202BDA8 +_0202C014: + ldr r0, [sp, #8] + add r4, r4, #1 + add r0, r0, #4 + str r0, [sp, #8] + ldr r0, [sp] + cmp r4, r0 + blt _0202BFEA +_0202C022: + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202BF80 + + thumb_func_start sub_0202C028 +sub_0202C028: ; 0x0202C028 + ldr r3, _0202C030 ; =SavArray_get + mov r1, #0xc + bx r3 + nop +_0202C030: .word SavArray_get + thumb_func_end sub_0202C028 + + thumb_func_start sub_0202C034 +sub_0202C034: ; 0x0202C034 + mov r0, #0x23 + lsl r0, r0, #6 + bx lr + .balign 4, 0 + thumb_func_end sub_0202C034 + + thumb_func_start sub_0202C03C +sub_0202C03C: ; 0x0202C03C + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + mov r2, #0x23 + mov r0, #0 + add r1, r7, #0 + lsl r2, r2, #6 + bl MIi_CpuClearFast + mov r0, #0x1d + lsl r0, r0, #4 + add r1, r0, #0 + add r2, r0, #0 + ldr r4, _0202C084 ; =0x0000FFFF + mov r5, #0 + add r6, r7, #0 + mov r3, #2 + sub r1, #0x10 + add r2, #0x1e +_0202C060: + strh r4, [r6, r0] + strh r4, [r6, r1] + strb r3, [r6, r2] + add r5, r5, #1 + add r6, #0x38 + cmp r5, #0x20 + blt _0202C060 + add r0, r7, #0 + bl sub_0203A01C + mov r2, #0x23 + ldr r1, _0202C088 ; =0x021D2230 + add r0, r7, #0 + lsl r2, r2, #6 + bl MIi_CpuCopy8 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202C084: .word 0x0000FFFF +_0202C088: .word 0x021D2230 + thumb_func_end sub_0202C03C + + thumb_func_start sub_0202C08C +sub_0202C08C: ; 0x0202C08C + bx lr + .balign 4, 0 + thumb_func_end sub_0202C08C + + thumb_func_start sub_0202C090 +sub_0202C090: ; 0x0202C090 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r7, r2, #0 + cmp r4, #0x20 + blt _0202C0A0 + bl GF_AssertFail +_0202C0A0: + cmp r7, #0xc + bhi _0202C170 + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0202C0B0: ; jump table + .short _0202C0CA - _0202C0B0 - 2 ; case 0 + .short _0202C0D8 - _0202C0B0 - 2 ; case 1 + .short _0202C0E6 - _0202C0B0 - 2 ; case 2 + .short _0202C0F2 - _0202C0B0 - 2 ; case 3 + .short _0202C100 - _0202C0B0 - 2 ; case 4 + .short _0202C10C - _0202C0B0 - 2 ; case 5 + .short _0202C11A - _0202C0B0 - 2 ; case 6 + .short _0202C132 - _0202C0B0 - 2 ; case 7 + .short _0202C126 - _0202C0B0 - 2 ; case 8 + .short _0202C13E - _0202C0B0 - 2 ; case 9 + .short _0202C14C - _0202C0B0 - 2 ; case 10 + .short _0202C158 - _0202C0B0 - 2 ; case 11 + .short _0202C166 - _0202C0B0 - 2 ; case 12 +_0202C0CA: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x1e + lsl r0, r0, #4 + ldr r6, [r1, r0] + b _0202C170 +_0202C0D8: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x79 + lsl r0, r0, #2 + ldrh r6, [r1, r0] + b _0202C170 +_0202C0E6: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C174 ; =0x000001E6 + ldrh r6, [r1, r0] + b _0202C170 +_0202C0F2: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x7a + lsl r0, r0, #2 + ldrh r6, [r1, r0] + b _0202C170 +_0202C100: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C178 ; =0x000001EA + ldrh r6, [r1, r0] + b _0202C170 +_0202C10C: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x7b + lsl r0, r0, #2 + ldrb r6, [r1, r0] + b _0202C170 +_0202C11A: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C17C ; =0x000001ED + ldrb r6, [r1, r0] + b _0202C170 +_0202C126: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C180 ; =0x000001EE + ldrb r6, [r1, r0] + b _0202C170 +_0202C132: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C184 ; =0x000001EF + ldrb r6, [r1, r0] + b _0202C170 +_0202C13E: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x1f + lsl r0, r0, #4 + ldrh r6, [r1, r0] + b _0202C170 +_0202C14C: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C188 ; =0x000001F2 + ldrh r6, [r1, r0] + b _0202C170 +_0202C158: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x7d + lsl r0, r0, #2 + ldrh r6, [r1, r0] + b _0202C170 +_0202C166: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C18C ; =0x000001F6 + ldrh r6, [r1, r0] +_0202C170: + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202C174: .word 0x000001E6 +_0202C178: .word 0x000001EA +_0202C17C: .word 0x000001ED +_0202C180: .word 0x000001EE +_0202C184: .word 0x000001EF +_0202C188: .word 0x000001F2 +_0202C18C: .word 0x000001F6 + thumb_func_end sub_0202C090 + + thumb_func_start sub_0202C190 +sub_0202C190: ; 0x0202C190 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r7, r2, #0 + add r6, r3, #0 + cmp r4, #0x20 + blt _0202C1A2 + bl GF_AssertFail +_0202C1A2: + cmp r7, #9 + bhi _0202C228 + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0202C1B2: ; jump table + .short _0202C1C6 - _0202C1B2 - 2 ; case 0 + .short _0202C1D4 - _0202C1B2 - 2 ; case 1 + .short _0202C1DA - _0202C1B2 - 2 ; case 2 + .short _0202C1E0 - _0202C1B2 - 2 ; case 3 + .short _0202C1E6 - _0202C1B2 - 2 ; case 4 + .short _0202C1F2 - _0202C1B2 - 2 ; case 5 + .short _0202C200 - _0202C1B2 - 2 ; case 6 + .short _0202C218 - _0202C1B2 - 2 ; case 7 + .short _0202C20C - _0202C1B2 - 2 ; case 8 + .short _0202C224 - _0202C1B2 - 2 ; case 9 +_0202C1C6: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x1e + lsl r0, r0, #4 + str r6, [r1, r0] + pop {r3, r4, r5, r6, r7, pc} +_0202C1D4: + bl GF_AssertFail + pop {r3, r4, r5, r6, r7, pc} +_0202C1DA: + bl GF_AssertFail + pop {r3, r4, r5, r6, r7, pc} +_0202C1E0: + bl GF_AssertFail + pop {r3, r4, r5, r6, r7, pc} +_0202C1E6: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C22C ; =0x000001EA + strh r6, [r1, r0] + pop {r3, r4, r5, r6, r7, pc} +_0202C1F2: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x7b + lsl r0, r0, #2 + strb r6, [r1, r0] + pop {r3, r4, r5, r6, r7, pc} +_0202C200: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C230 ; =0x000001ED + strb r6, [r1, r0] + pop {r3, r4, r5, r6, r7, pc} +_0202C20C: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C234 ; =0x000001EE + strb r6, [r1, r0] + pop {r3, r4, r5, r6, r7, pc} +_0202C218: + mov r0, #0x38 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202C238 ; =0x000001EF + strb r6, [r1, r0] + pop {r3, r4, r5, r6, r7, pc} +_0202C224: + bl GF_AssertFail +_0202C228: + pop {r3, r4, r5, r6, r7, pc} + nop +_0202C22C: .word 0x000001EA +_0202C230: .word 0x000001ED +_0202C234: .word 0x000001EE +_0202C238: .word 0x000001EF + thumb_func_end sub_0202C190 + + thumb_func_start sub_0202C23C +sub_0202C23C: ; 0x0202C23C + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x20 + blt _0202C24A + bl GF_AssertFail +_0202C24A: + mov r0, #0xc + add r5, #0x40 + mul r0, r4 + add r0, r5, r0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202C23C + + thumb_func_start sub_0202C254 +sub_0202C254: ; 0x0202C254 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x20 + blt _0202C262 + bl GF_AssertFail +_0202C262: + mov r0, #0x1d + lsl r0, r0, #4 + add r1, r5, r0 + mov r0, #0x38 + mul r0, r4 + add r0, r1, r0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202C254 + + thumb_func_start sub_0202C270 +sub_0202C270: ; 0x0202C270 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + cmp r4, #0x20 + blt _0202C280 + bl GF_AssertFail +_0202C280: + mov r1, #0x1d + lsl r1, r1, #4 + add r2, r5, r1 + mov r1, #0x38 + mul r1, r4 + add r1, r2, r1 + add r0, r6, #0 + mov r2, #0x10 + bl CopyStringToU16Array + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202C270 + + thumb_func_start sub_0202C298 +sub_0202C298: ; 0x0202C298 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x20 + blt _0202C2A6 + bl GF_AssertFail +_0202C2A6: + mov r0, #7 + lsl r0, r0, #6 + add r1, r5, r0 + mov r0, #0x38 + mul r0, r4 + add r0, r1, r0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202C298 + + thumb_func_start sub_0202C2B4 +sub_0202C2B4: ; 0x0202C2B4 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + cmp r4, #0x20 + blt _0202C2C4 + bl GF_AssertFail +_0202C2C4: + mov r1, #7 + lsl r1, r1, #6 + add r2, r5, r1 + mov r1, #0x38 + mul r1, r4 + add r1, r2, r1 + add r0, r6, #0 + mov r2, #0x10 + bl CopyStringToU16Array + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202C2B4 + + thumb_func_start sub_0202C2DC +sub_0202C2DC: ; 0x0202C2DC + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x20 + blt _0202C2EA + bl GF_AssertFail +_0202C2EA: + mov r0, #0xc + add r5, #0x40 + mul r0, r4 + add r0, r5, r0 + bl sub_020A008C + pop {r3, r4, r5, pc} + thumb_func_end sub_0202C2DC + + thumb_func_start sub_0202C2F8 +sub_0202C2F8: ; 0x0202C2F8 + push {r4, r5, r6, lr} + mov r5, #0 + add r6, r0, #0 + add r4, r5, #0 +_0202C300: + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202C2DC + cmp r0, #0 + beq _0202C30E + add r5, r5, #1 +_0202C30E: + add r4, r4, #1 + cmp r4, #0x20 + blt _0202C300 + add r0, r5, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202C2F8 + + thumb_func_start sub_0202C318 +sub_0202C318: ; 0x0202C318 + push {r4, r5, r6, lr} + mov r6, #0 + add r5, r0, #0 + add r4, r6, #0 +_0202C320: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202C2DC + cmp r0, #0 + beq _0202C32E + add r6, r4, #1 +_0202C32E: + add r4, r4, #1 + cmp r4, #0x20 + blt _0202C320 + add r0, r6, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202C318 + + thumb_func_start sub_0202C338 +sub_0202C338: ; 0x0202C338 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r0, [sp] + add r5, r1, #0 + bmi _0202C3D8 + cmp r5, #0x20 + bge _0202C3D8 + cmp r5, #0x1f + bge _0202C39E + mov r1, #7 + lsl r1, r1, #6 + add r0, r0, r1 + str r0, [sp, #4] + mov r0, #0x38 + add r1, r5, #0 + mul r1, r0 + ldr r0, [sp, #4] + add r6, r0, r1 + ldr r0, [sp] + add r1, r5, #0 + str r0, [sp, #8] + add r0, #0x40 + str r0, [sp, #8] + mov r0, #0xc + mul r1, r0 + ldr r0, [sp, #8] + add r4, r0, r1 +_0202C36E: + add r7, r5, #1 + mov r0, #0x38 + add r1, r7, #0 + mul r1, r0 + ldr r0, [sp, #4] + mov r2, #0x38 + add r0, r0, r1 + add r1, r6, #0 + bl MIi_CpuCopy8 + mov r0, #0xc + add r1, r7, #0 + mul r1, r0 + ldr r0, [sp, #8] + mov r2, #0xc + add r0, r0, r1 + add r1, r4, #0 + bl MIi_CpuCopy8 + add r5, r5, #1 + add r6, #0x38 + add r4, #0xc + cmp r5, #0x1f + blt _0202C36E +_0202C39E: + mov r2, #7 + ldr r1, [sp] + lsl r2, r2, #6 + add r2, r1, r2 + ldr r1, _0202C3DC ; =0x000006C8 + mov r0, #0 + add r1, r2, r1 + mov r2, #0x38 + bl MIi_CpuClearFast + ldr r2, [sp] + mov r1, #0x5d + add r2, #0x40 + lsl r1, r1, #2 + add r1, r2, r1 + mov r0, #0 + mov r2, #0xc + bl MIi_CpuClearFast + ldr r2, _0202C3E0 ; =0x00000898 + ldr r3, _0202C3E4 ; =0x0000FFFF + ldr r0, [sp] + add r1, r2, #0 + strh r3, [r0, r2] + sub r1, #0x10 + strh r3, [r0, r1] + mov r1, #2 + add r2, #0x1e + strb r1, [r0, r2] +_0202C3D8: + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0202C3DC: .word 0x000006C8 +_0202C3E0: .word 0x00000898 +_0202C3E4: .word 0x0000FFFF + thumb_func_end sub_0202C338 + + thumb_func_start sub_0202C3E8 +sub_0202C3E8: ; 0x0202C3E8 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r5, r1, #0 + add r6, r2, #0 + str r0, [sp] + cmp r5, #0 + blt _0202C462 + cmp r5, #0x20 + bge _0202C462 + cmp r6, #0 + blt _0202C462 + cmp r6, #0x20 + bge _0202C462 + mov r2, #0x38 + lsl r1, r2, #3 + add r0, r0, r1 + str r0, [sp, #4] + add r4, r6, #0 + add r3, r5, #0 + mul r4, r2 + ldr r1, [sp, #4] + mul r3, r2 + add r0, r0, r4 + add r1, r1, r3 + bl MIi_CpuCopy8 + ldr r7, [sp] + mov r2, #0xc + add r0, r6, #0 + add r1, r5, #0 + mul r0, r2 + add r7, #0x40 + mul r1, r2 + str r0, [sp, #8] + add r0, r7, r0 + add r1, r7, r1 + bl MIi_CpuCopy8 + ldr r1, [sp, #4] + mov r0, #0 + add r1, r1, r4 + mov r2, #0x38 + bl MIi_CpuClearFast + ldr r1, [sp, #8] + mov r0, #0 + add r1, r7, r1 + mov r2, #0xc + bl MIi_CpuClearFast + ldr r0, [sp] + mov r1, #0x1d + add r2, r0, r4 + ldr r3, _0202C468 ; =0x0000FFFF + lsl r1, r1, #4 + strh r3, [r2, r1] + ldr r0, [sp, #4] + add r1, #0x1e + strh r3, [r0, r4] + mov r0, #2 + strb r0, [r2, r1] +_0202C462: + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop +_0202C468: .word 0x0000FFFF + thumb_func_end sub_0202C3E8 + + thumb_func_start sub_0202C46C +sub_0202C46C: ; 0x0202C46C + push {r3, r4, r5, r6, r7, lr} + mov r5, #0 + mvn r5, r5 + add r6, r0, #0 + mov r4, #0 + add r7, r5, #0 +_0202C478: + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202C2DC + cmp r0, #0 + beq _0202C49C + mov r0, #0 + mvn r0, r0 + cmp r5, r0 + beq _0202C4A6 + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl sub_0202C3E8 + add r4, r7, #0 + add r5, r7, #0 + b _0202C4A6 +_0202C49C: + mov r0, #0 + mvn r0, r0 + cmp r5, r0 + bne _0202C4A6 + add r5, r4, #0 +_0202C4A6: + add r4, r4, #1 + cmp r4, #0x20 + blt _0202C478 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202C46C + + thumb_func_start sub_0202C4B0 +sub_0202C4B0: ; 0x0202C4B0 + push {r3, r4, r5, lr} + sub sp, #0x10 + add r5, r0, #0 + add r0, sp, #0 + add r4, r1, #0 + bl GF_RTC_CopyDate + cmp r4, #0 + blt _0202C4E6 + cmp r4, #0x20 + bge _0202C4E6 + mov r0, #0x38 + add r2, r4, #0 + mul r2, r0 + mov r0, #0x7d + ldr r1, [sp] + lsl r0, r0, #4 + add r1, r1, r0 + ldr r0, _0202C4EC ; =0x000001EA + add r3, r5, r2 + strh r1, [r3, r0] + add r1, r0, #2 + ldr r2, [sp, #4] + add r0, r0, #3 + strb r2, [r3, r1] + ldr r1, [sp, #8] + strb r1, [r3, r0] +_0202C4E6: + add sp, #0x10 + pop {r3, r4, r5, pc} + nop +_0202C4EC: .word 0x000001EA + thumb_func_end sub_0202C4B0 + + thumb_func_start sub_0202C4F0 +sub_0202C4F0: ; 0x0202C4F0 + push {r4, r5, r6, lr} + add r4, r0, #0 + cmp r1, #0 + blt _0202C548 + cmp r1, #0x20 + bge _0202C548 + mov r5, #0x79 + mov r0, #0x38 + lsl r5, r5, #2 + mul r0, r1 + add r5, r4, r5 + ldrh r6, [r5, r0] + add r2, r6, r2 + strh r2, [r5, r0] + ldrh r6, [r5, r0] + ldr r2, _0202C54C ; =0x0000270F + cmp r6, r2 + bls _0202C516 + strh r2, [r5, r0] +_0202C516: + ldr r2, _0202C550 ; =0x000001E6 + add r2, r4, r2 + ldrh r5, [r2, r0] + add r3, r5, r3 + strh r3, [r2, r0] + ldrh r5, [r2, r0] + ldr r3, _0202C54C ; =0x0000270F + cmp r5, r3 + bls _0202C52A + strh r3, [r2, r0] +_0202C52A: + mov r2, #0x7a + lsl r2, r2, #2 + add r2, r4, r2 + ldrh r5, [r2, r0] + ldr r3, [sp, #0x10] + add r3, r5, r3 + strh r3, [r2, r0] + ldrh r5, [r2, r0] + ldr r3, _0202C54C ; =0x0000270F + cmp r5, r3 + bls _0202C542 + strh r3, [r2, r0] +_0202C542: + add r0, r4, #0 + bl sub_0202C4B0 +_0202C548: + pop {r4, r5, r6, pc} + nop +_0202C54C: .word 0x0000270F +_0202C550: .word 0x000001E6 + thumb_func_end sub_0202C4F0 + + thumb_func_start sub_0202C554 +sub_0202C554: ; 0x0202C554 + push {r3, r4, r5, lr} + cmp r1, #0 + blt _0202C57A + cmp r1, #0x20 + bge _0202C57A + ldr r3, _0202C57C ; =0x000001F2 + add r4, r0, r3 + mov r3, #0x38 + mul r3, r1 + ldrh r5, [r4, r3] + add r2, r5, r2 + strh r2, [r4, r3] + ldrh r5, [r4, r3] + ldr r2, _0202C580 ; =0x0000270F + cmp r5, r2 + bls _0202C576 + strh r2, [r4, r3] +_0202C576: + bl sub_0202C4B0 +_0202C57A: + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202C57C: .word 0x000001F2 +_0202C580: .word 0x0000270F + thumb_func_end sub_0202C554 + + thumb_func_start sub_0202C584 +sub_0202C584: ; 0x0202C584 + push {r3, r4, r5, lr} + cmp r1, #0 + blt _0202C5AC + cmp r1, #0x20 + bge _0202C5AC + mov r3, #0x7d + lsl r3, r3, #2 + add r4, r0, r3 + mov r3, #0x38 + mul r3, r1 + ldrh r5, [r4, r3] + add r2, r5, r2 + strh r2, [r4, r3] + ldrh r5, [r4, r3] + ldr r2, _0202C5B0 ; =0x0000270F + cmp r5, r2 + bls _0202C5A8 + strh r2, [r4, r3] +_0202C5A8: + bl sub_0202C4B0 +_0202C5AC: + pop {r3, r4, r5, pc} + nop +_0202C5B0: .word 0x0000270F + thumb_func_end sub_0202C584 + + thumb_func_start sub_0202C5B4 +sub_0202C5B4: ; 0x0202C5B4 + push {r3, r4, r5, lr} + cmp r1, #0 + blt _0202C5DA + cmp r1, #0x20 + bge _0202C5DA + ldr r3, _0202C5DC ; =0x000001F6 + add r4, r0, r3 + mov r3, #0x38 + mul r3, r1 + ldrh r5, [r4, r3] + add r2, r5, r2 + strh r2, [r4, r3] + ldrh r5, [r4, r3] + ldr r2, _0202C5E0 ; =0x0000270F + cmp r5, r2 + bls _0202C5D6 + strh r2, [r4, r3] +_0202C5D6: + bl sub_0202C4B0 +_0202C5DA: + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202C5DC: .word 0x000001F6 +_0202C5E0: .word 0x0000270F + thumb_func_end sub_0202C5B4 + + thumb_func_start sub_0202C5E4 +sub_0202C5E4: ; 0x0202C5E4 + push {r4, r5, r6, lr} + add r5, r0, #0 + cmp r2, #0 + blt _0202C6DE + cmp r2, #0x20 + bge _0202C6DE + cmp r1, #0 + blt _0202C6DE + cmp r1, #0x20 + bge _0202C6DE + add r4, r1, #0 + mov r0, #0x38 + mov r3, #0x79 + mul r4, r0 + add r1, r2, #0 + lsl r3, r3, #2 + mul r1, r0 + add r2, r5, r3 + add r6, r5, r4 + ldrh r0, [r2, r1] + ldrh r3, [r6, r3] + add r0, r0, r3 + strh r0, [r2, r1] + ldrh r3, [r2, r1] + ldr r0, _0202C6E0 ; =0x0000270F + cmp r3, r0 + bls _0202C61C + strh r0, [r2, r1] +_0202C61C: + ldr r3, _0202C6E4 ; =0x000001E6 + add r6, r5, r4 + add r2, r5, r3 + ldrh r0, [r2, r1] + ldrh r3, [r6, r3] + add r0, r0, r3 + strh r0, [r2, r1] + ldrh r3, [r2, r1] + ldr r0, _0202C6E0 ; =0x0000270F + cmp r3, r0 + bls _0202C634 + strh r0, [r2, r1] +_0202C634: + mov r3, #0x7a + lsl r3, r3, #2 + add r2, r5, r3 + add r6, r5, r4 + ldrh r0, [r2, r1] + ldrh r3, [r6, r3] + add r0, r0, r3 + strh r0, [r2, r1] + ldrh r3, [r2, r1] + ldr r0, _0202C6E0 ; =0x0000270F + cmp r3, r0 + bls _0202C64E + strh r0, [r2, r1] +_0202C64E: + mov r3, #0x1f + lsl r3, r3, #4 + add r2, r5, r3 + add r6, r5, r4 + ldrh r0, [r2, r1] + ldrh r3, [r6, r3] + add r0, r0, r3 + strh r0, [r2, r1] + ldrh r3, [r2, r1] + ldr r0, _0202C6E0 ; =0x0000270F + cmp r3, r0 + bls _0202C668 + strh r0, [r2, r1] +_0202C668: + ldr r3, _0202C6E8 ; =0x000001F2 + add r6, r5, r4 + add r2, r5, r3 + ldrh r0, [r2, r1] + ldrh r3, [r6, r3] + add r0, r0, r3 + strh r0, [r2, r1] + ldrh r3, [r2, r1] + ldr r0, _0202C6E0 ; =0x0000270F + cmp r3, r0 + bls _0202C680 + strh r0, [r2, r1] +_0202C680: + mov r3, #0x7d + lsl r3, r3, #2 + add r2, r5, r3 + add r6, r5, r4 + ldrh r0, [r2, r1] + ldrh r3, [r6, r3] + add r0, r0, r3 + strh r0, [r2, r1] + ldrh r3, [r2, r1] + ldr r0, _0202C6E0 ; =0x0000270F + cmp r3, r0 + bls _0202C69A + strh r0, [r2, r1] +_0202C69A: + ldr r3, _0202C6EC ; =0x000001F6 + add r6, r5, r4 + add r2, r5, r3 + ldrh r0, [r2, r1] + ldrh r3, [r6, r3] + add r0, r0, r3 + strh r0, [r2, r1] + ldrh r3, [r2, r1] + ldr r0, _0202C6E0 ; =0x0000270F + cmp r3, r0 + bls _0202C6B2 + strh r0, [r2, r1] +_0202C6B2: + mov r0, #7 + lsl r0, r0, #6 + add r6, r5, r0 + add r0, r6, r4 + add r1, r6, r1 + mov r2, #0x10 + bl sub_020D48B4 + mov r0, #0 + add r1, r6, r4 + mov r2, #0x38 + bl MIi_CpuClearFast + mov r0, #0x1d + ldr r1, _0202C6F0 ; =0x0000FFFF + add r2, r5, r4 + lsl r0, r0, #4 + strh r1, [r2, r0] + strh r1, [r6, r4] + mov r1, #2 + add r0, #0x1e + strb r1, [r2, r0] +_0202C6DE: + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202C6E0: .word 0x0000270F +_0202C6E4: .word 0x000001E6 +_0202C6E8: .word 0x000001F2 +_0202C6EC: .word 0x000001F6 +_0202C6F0: .word 0x0000FFFF + thumb_func_end sub_0202C5E4 + + thumb_func_start sub_0202C6F4 +sub_0202C6F4: ; 0x0202C6F4 + ldr r0, _0202C6F8 ; =0x021D2230 + bx lr + .balign 4, 0 +_0202C6F8: .word 0x021D2230 + thumb_func_end sub_0202C6F4 + + thumb_func_start sub_0202C6FC +sub_0202C6FC: ; 0x0202C6FC + push {r3, lr} + mov r1, #0x19 + bl SavArray_get + mov r2, #0x23 + ldr r1, _0202C710 ; =0x021D2230 + lsl r2, r2, #6 + bl MIi_CpuCopy8 + pop {r3, pc} + .balign 4, 0 +_0202C710: .word 0x021D2230 + thumb_func_end sub_0202C6FC + + thumb_func_start sub_0202C714 +sub_0202C714: ; 0x0202C714 + push {r3, lr} + mov r1, #0x19 + bl SavArray_get + add r1, r0, #0 + mov r2, #0x23 + ldr r0, _0202C72C ; =0x021D2230 + lsl r2, r2, #6 + bl MIi_CpuCopy8 + pop {r3, pc} + nop +_0202C72C: .word 0x021D2230 + thumb_func_end sub_0202C714 + + thumb_func_start sub_0202C730 +sub_0202C730: ; 0x0202C730 + mov r0, #0x42 + lsl r0, r0, #2 + bx lr + .balign 4, 0 + thumb_func_end sub_0202C730 + + thumb_func_start sub_0202C738 +sub_0202C738: ; 0x0202C738 + push {r4, r5} + add r5, r2, #0 + mov r3, #0x2c + add r2, r1, #0 + mul r2, r3 + mul r5, r3 + add r4, r0, r2 + add r3, r0, r5 + mov r2, #5 +_0202C74A: + ldmia r4!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0202C74A + ldr r0, [r4] + str r0, [r3] + pop {r4, r5} + bx lr + .balign 4, 0 + thumb_func_end sub_0202C738 + + thumb_func_start sub_0202C75C +sub_0202C75C: ; 0x0202C75C + push {r4, lr} + add r4, r0, #0 + mov r2, #0x42 + mov r0, #0 + add r1, r4, #0 + lsl r2, r2, #2 + bl MIi_CpuClearFast + ldr r0, _0202C784 ; =0x0000FFFF + mov r1, #0 + add r2, r4, #0 +_0202C772: + strh r0, [r2] + strh r0, [r2, #0x10] + add r1, r1, #1 + add r2, #0x2c + cmp r1, #6 + blt _0202C772 + ldr r0, _0202C788 ; =0x021D2AF0 + str r4, [r0] + pop {r4, pc} + .balign 4, 0 +_0202C784: .word 0x0000FFFF +_0202C788: .word 0x021D2AF0 + thumb_func_end sub_0202C75C + + thumb_func_start sub_0202C78C +sub_0202C78C: ; 0x0202C78C + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r7, #0 +_0202C794: + mov r4, #0 + cmp r6, #0 + bls _0202C7A8 +_0202C79A: + ldr r0, [r5, #0x28] + bl PRandom + add r4, r4, #1 + str r0, [r5, #0x28] + cmp r4, r6 + blo _0202C79A +_0202C7A8: + add r7, r7, #1 + add r5, #0x2c + cmp r7, #6 + blo _0202C794 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202C78C + + thumb_func_start sub_0202C7B4 +sub_0202C7B4: ; 0x0202C7B4 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldr r0, [r0, #0x24] + bx lr + .balign 4, 0 + thumb_func_end sub_0202C7B4 + + thumb_func_start sub_0202C7C0 +sub_0202C7C0: ; 0x0202C7C0 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0x2c + add r4, r1, #0 + mul r4, r0 + add r0, r5, r4 + str r2, [r0, #0x24] + add r0, r2, #0 + bl PRandom + add r1, r5, r4 + str r0, [r1, #0x28] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202C7C0 + + thumb_func_start sub_0202C7DC +sub_0202C7DC: ; 0x0202C7DC + ldr r0, [r0, #0x54] + bx lr + thumb_func_end sub_0202C7DC + + thumb_func_start sub_0202C7E0 +sub_0202C7E0: ; 0x0202C7E0 + cmp r2, #0 + bne _0202C7EC + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + bx lr +_0202C7EC: + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + add r0, #0x10 + bx lr + .balign 4, 0 + thumb_func_end sub_0202C7E0 + + thumb_func_start sub_0202C7F8 +sub_0202C7F8: ; 0x0202C7F8 + push {r4, lr} + add r4, r0, #0 + cmp r2, #0 + bne _0202C810 + mov r2, #0x2c + mul r2, r1 + add r1, r4, r2 + add r0, r3, #0 + mov r2, #8 + bl CopyStringToU16Array + pop {r4, pc} +_0202C810: + mov r2, #0x2c + mul r2, r1 + add r1, r4, r2 + add r0, r3, #0 + add r1, #0x10 + mov r2, #8 + bl CopyStringToU16Array + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202C7F8 + + thumb_func_start sub_0202C824 +sub_0202C824: ; 0x0202C824 + mov r3, #0x2c + mul r3, r1 + add r0, r0, r3 + add r0, #0x20 + strb r2, [r0] + bx lr + thumb_func_end sub_0202C824 + + thumb_func_start sub_0202C830 +sub_0202C830: ; 0x0202C830 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + add r0, #0x20 + ldrb r0, [r0] + bx lr + thumb_func_end sub_0202C830 + + thumb_func_start sub_0202C83C +sub_0202C83C: ; 0x0202C83C + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + add r0, #0x21 + ldrb r0, [r0] + bx lr + thumb_func_end sub_0202C83C + + thumb_func_start sub_0202C848 +sub_0202C848: ; 0x0202C848 + mov r3, #0x2c + mul r3, r1 + add r0, r0, r3 + add r0, #0x21 + strb r2, [r0] + bx lr + thumb_func_end sub_0202C848 + + thumb_func_start sub_0202C854 +sub_0202C854: ; 0x0202C854 + ldr r3, _0202C85C ; =SavArray_get + mov r1, #0xe + bx r3 + nop +_0202C85C: .word SavArray_get + thumb_func_end sub_0202C854 + + thumb_func_start sub_0202C860 +sub_0202C860: ; 0x0202C860 + push {r3, lr} + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + bl sub_0202C8C4 + cmp r0, #0 + bne _0202C874 + mov r0, #1 + pop {r3, pc} +_0202C874: + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_0202C860 + + thumb_func_start sub_0202C878 +sub_0202C878: ; 0x0202C878 + mov r2, #0x2c + add r3, r0, #0 + mul r2, r1 + add r1, r3, r2 + ldr r3, _0202C888 ; =sub_0202C8E4 + add r0, #0x2c + bx r3 + nop +_0202C888: .word sub_0202C8E4 + thumb_func_end sub_0202C878 + + thumb_func_start sub_0202C88C +sub_0202C88C: ; 0x0202C88C + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + ldrh r1, [r6] + add r5, r0, #0 + ldr r0, _0202C8C0 ; =0x0000FFFF + cmp r1, r0 + bne _0202C89E + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202C89E: + mov r4, #0 + mov r7, #8 +_0202C8A2: + add r0, r6, #0 + add r1, r5, #0 + add r2, r7, #0 + bl StringNotEqualN + cmp r0, #0 + bne _0202C8B4 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202C8B4: + add r4, r4, #1 + add r5, #0x2c + cmp r4, #6 + blt _0202C8A2 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202C8C0: .word 0x0000FFFF + thumb_func_end sub_0202C88C + + thumb_func_start sub_0202C8C4 +sub_0202C8C4: ; 0x0202C8C4 + ldrh r2, [r0] + ldr r1, _0202C8E0 ; =0x0000FFFF + cmp r2, r1 + bne _0202C8D0 + mov r0, #1 + bx lr +_0202C8D0: + ldrh r0, [r0, #0x10] + cmp r0, r1 + bne _0202C8DA + mov r0, #1 + bx lr +_0202C8DA: + mov r0, #0 + bx lr + nop +_0202C8E0: .word 0x0000FFFF + thumb_func_end sub_0202C8C4 + + thumb_func_start sub_0202C8E4 +sub_0202C8E4: ; 0x0202C8E4 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + add r0, #0x10 + add r1, #0x10 + mov r2, #8 + bl StringNotEqualN + cmp r0, #0 + beq _0202C8FC + mov r0, #0 + pop {r3, r4, r5, pc} +_0202C8FC: + add r0, r5, #0 + add r1, r4, #0 + mov r2, #8 + bl StringNotEqualN + cmp r0, #0 + beq _0202C90E + mov r0, #0 + pop {r3, r4, r5, pc} +_0202C90E: + add r0, r5, #0 + add r0, #0x20 + ldrb r1, [r0] + add r0, r4, #0 + add r0, #0x20 + ldrb r0, [r0] + cmp r1, r0 + beq _0202C922 + mov r0, #0 + pop {r3, r4, r5, pc} +_0202C922: + add r0, r5, #0 + add r0, #0x21 + ldrb r1, [r0] + add r0, r4, #0 + add r0, #0x21 + ldrb r0, [r0] + cmp r1, r0 + beq _0202C936 + mov r0, #0 + pop {r3, r4, r5, pc} +_0202C936: + ldr r1, [r5, #0x24] + ldr r0, [r4, #0x24] + cmp r1, r0 + bne _0202C942 + mov r0, #1 + pop {r3, r4, r5, pc} +_0202C942: + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202C8E4 + + thumb_func_start sub_0202C948 +sub_0202C948: ; 0x0202C948 + mov r1, #0 + strh r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202C948 + + thumb_func_start sub_0202C950 +sub_0202C950: ; 0x0202C950 + ldrh r0, [r0] + bx lr + thumb_func_end sub_0202C950 + + thumb_func_start sub_0202C954 +sub_0202C954: ; 0x0202C954 + ldrh r3, [r0] + ldr r2, _0202C970 ; =0x0000C350 + cmp r3, r2 + blo _0202C960 + mov r0, #0 + bx lr +_0202C960: + add r1, r3, r1 + strh r1, [r0] + ldrh r1, [r0] + cmp r1, r2 + bls _0202C96C + strh r2, [r0] +_0202C96C: + mov r0, #1 + bx lr + .balign 4, 0 +_0202C970: .word 0x0000C350 + thumb_func_end sub_0202C954 + + thumb_func_start sub_0202C974 +sub_0202C974: ; 0x0202C974 + ldrh r0, [r0] + add r1, r1, r0 + ldr r0, _0202C988 ; =0x0000C350 + cmp r1, r0 + bhi _0202C982 + mov r0, #1 + bx lr +_0202C982: + mov r0, #0 + bx lr + nop +_0202C988: .word 0x0000C350 + thumb_func_end sub_0202C974 + + thumb_func_start sub_0202C98C +sub_0202C98C: ; 0x0202C98C + ldrh r2, [r0] + cmp r2, r1 + bhs _0202C996 + mov r0, #0 + bx lr +_0202C996: + sub r1, r2, r1 + strh r1, [r0] + mov r0, #1 + bx lr + .balign 4, 0 + thumb_func_end sub_0202C98C + + thumb_func_start sub_0202C9A0 +sub_0202C9A0: ; 0x0202C9A0 + mov r0, #0x62 + lsl r0, r0, #4 + bx lr + .balign 4, 0 + thumb_func_end sub_0202C9A0 + + thumb_func_start sub_0202C9A8 +sub_0202C9A8: ; 0x0202C9A8 + push {r4, r5, r6, lr} + mov r2, #0x62 + add r4, r0, #0 + mov r1, #0 + lsl r2, r2, #4 + bl memset + add r0, r4, #0 + bl sub_0202CA10 + add r5, r0, #0 + mov r4, #0 + mov r6, #0x8c +_0202C9C2: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r6, #0 + add r2, r5, #0 + bl sub_0202CA1C + add r4, r4, #1 + cmp r4, #8 + blt _0202C9C2 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202C9A8 + + thumb_func_start sub_0202C9D8 +sub_0202C9D8: ; 0x0202C9D8 + ldr r3, _0202C9E0 ; =SavArray_get + mov r1, #0xf + bx r3 + nop +_0202C9E0: .word SavArray_get + thumb_func_end sub_0202C9D8 + + thumb_func_start sub_0202C9E4 +sub_0202C9E4: ; 0x0202C9E4 + add r0, #0x20 + bx lr + thumb_func_end sub_0202C9E4 + + thumb_func_start sub_0202C9E8 +sub_0202C9E8: ; 0x0202C9E8 + push {r3, r4} + mov r3, #0 + mov r1, #6 + add r4, r3, #0 + add r0, #0x20 + lsl r1, r1, #6 +_0202C9F4: + ldr r2, [r0] + add r4, r4, #1 + add r3, r3, r2 + add r0, r0, #4 + cmp r4, r1 + blt _0202C9F4 + cmp r3, #0 + beq _0202CA0A + mov r0, #1 + pop {r3, r4} + bx lr +_0202CA0A: + mov r0, #0 + pop {r3, r4} + bx lr + thumb_func_end sub_0202C9E8 + + thumb_func_start sub_0202CA10 +sub_0202CA10: ; 0x0202CA10 + bx lr + .balign 4, 0 + thumb_func_end sub_0202CA10 + + thumb_func_start sub_0202CA14 +sub_0202CA14: ; 0x0202CA14 + lsl r0, r0, #2 + ldr r0, [r1, r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202CA14 + + thumb_func_start sub_0202CA1C +sub_0202CA1C: ; 0x0202CA1C + lsl r0, r0, #2 + str r1, [r2, r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202CA1C + + thumb_func_start sub_0202CA24 +sub_0202CA24: ; 0x0202CA24 + ldr r0, _0202CA28 ; =0x00000FF8 + bx lr + .balign 4, 0 +_0202CA28: .word 0x00000FF8 + thumb_func_end sub_0202CA24 + + thumb_func_start sub_0202CA2C +sub_0202CA2C: ; 0x0202CA2C + push {r3, lr} + ldr r2, _0202CA40 ; =0x00000FF8 + add r1, r0, #0 + mov r0, #0 + bl sub_020D47EC + mov r0, #0x1a + bl sub_0202893C + pop {r3, pc} + .balign 4, 0 +_0202CA40: .word 0x00000FF8 + thumb_func_end sub_0202CA2C + + thumb_func_start sub_0202CA44 +sub_0202CA44: ; 0x0202CA44 + push {r4, lr} + add r4, r0, #0 + mov r0, #0x1a + bl sub_02028900 + add r0, r4, #0 + mov r1, #0x1a + bl SavArray_get + pop {r4, pc} + thumb_func_end sub_0202CA44 + + thumb_func_start sub_0202CA58 +sub_0202CA58: ; 0x0202CA58 + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r0, #1 + add r5, r1, #0 + lsl r0, r0, #8 + add r4, r2, #0 + cmp r5, r0 + blt _0202CA6C + bl GF_AssertFail +_0202CA6C: + cmp r4, #0x40 + blt _0202CA74 + bl GF_AssertFail +_0202CA74: + strb r5, [r6, #5] + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + mov r3, #3 + strb r4, [r6, #6] + bl sub_0202CAE4 + mov r0, #0x1a + bl sub_0202893C + pop {r4, r5, r6, pc} + thumb_func_end sub_0202CA58 + + thumb_func_start sub_0202CA8C +sub_0202CA8C: ; 0x0202CA8C + ldrb r0, [r0, #5] + bx lr + thumb_func_end sub_0202CA8C + + thumb_func_start sub_0202CA90 +sub_0202CA90: ; 0x0202CA90 + ldrb r0, [r0, #6] + bx lr + thumb_func_end sub_0202CA90 + + thumb_func_start sub_0202CA94 +sub_0202CA94: ; 0x0202CA94 + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r0, #1 + add r5, r1, #0 + lsl r0, r0, #8 + add r4, r2, #0 + cmp r5, r0 + blt _0202CAA8 + bl GF_AssertFail +_0202CAA8: + cmp r4, #0x40 + blt _0202CAB0 + bl GF_AssertFail +_0202CAB0: + cmp r5, #0 + bne _0202CAB8 + mov r0, #0 + pop {r4, r5, r6, pc} +_0202CAB8: + asr r0, r4, #1 + lsr r0, r0, #0x1e + add r0, r4, r0 + asr r1, r0, #2 + sub r0, r5, #1 + lsl r0, r0, #4 + add r0, r1, r0 + add r0, r6, r0 + ldrb r3, [r0, #7] + lsr r2, r4, #0x1f + lsl r1, r4, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #1 + add r1, r3, #0 + asr r1, r0 + mov r0, #3 + and r0, r1 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202CA94 + + thumb_func_start sub_0202CAE4 +sub_0202CAE4: ; 0x0202CAE4 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + add r5, r1, #0 + add r4, r2, #0 + str r3, [sp] + cmp r3, #4 + blt _0202CAF6 + bl GF_AssertFail +_0202CAF6: + mov r0, #1 + lsl r0, r0, #8 + cmp r5, r0 + blt _0202CB02 + bl GF_AssertFail +_0202CB02: + cmp r4, #0x40 + blt _0202CB0A + bl GF_AssertFail +_0202CB0A: + cmp r5, #0 + beq _0202CB58 + asr r0, r4, #1 + lsr r0, r0, #0x1e + add r0, r4, r0 + asr r2, r0, #2 + sub r0, r5, #1 + lsl r0, r0, #4 + add r0, r2, r0 + lsr r2, r4, #0x1f + lsl r4, r4, #0x1e + sub r4, r4, r2 + mov r3, #0x1e + ror r4, r3 + add r2, r2, r4 + lsl r6, r2, #1 + mov r2, #3 + add r3, r2, #0 + add r1, r7, #7 + ldrb r4, [r1, r0] + lsl r3, r6 + mov r2, #0xff + eor r2, r3 + and r2, r4 + ldr r3, [sp] + strb r2, [r1, r0] + ldrb r2, [r1, r0] + lsl r3, r6 + orr r2, r3 + strb r2, [r1, r0] + cmp r5, #0x67 + beq _0202CB52 + add r0, r7, #0 + mov r1, #1 + bl sub_0202CB60 +_0202CB52: + mov r0, #0x1a + bl sub_0202893C +_0202CB58: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202CAE4 + + thumb_func_start sub_0202CB5C +sub_0202CB5C: ; 0x0202CB5C + ldrb r0, [r0, #4] + bx lr + thumb_func_end sub_0202CB5C + + thumb_func_start sub_0202CB60 +sub_0202CB60: ; 0x0202CB60 + ldr r3, _0202CB68 ; =sub_0202893C + strb r1, [r0, #4] + mov r0, #0x1a + bx r3 + .balign 4, 0 +_0202CB68: .word sub_0202893C + thumb_func_end sub_0202CB60 + + thumb_func_start sub_0202CB6C +sub_0202CB6C: ; 0x0202CB6C + push {r3, r4, r5, r6, r7, lr} + str r0, [sp] + mov r0, #3 + mov r7, #0 + mov r4, #2 + mov r6, #0xff + add r3, r0, #0 +_0202CB7A: + ldr r1, [sp] + add r1, r1, r7 + ldrb r2, [r1, #7] + mov ip, r1 + mov r1, #0 +_0202CB84: + add r5, r2, #0 + asr r5, r1 + and r5, r3 + cmp r5, #1 + bne _0202CBA4 + add r5, r0, #0 + lsl r5, r1 + eor r5, r6 + and r2, r5 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + add r2, r4, #0 + lsl r2, r1 + orr r2, r5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 +_0202CBA4: + add r1, r1, #2 + cmp r1, #8 + blt _0202CB84 + mov r1, ip + strb r2, [r1, #7] + mov r1, #0xff + add r7, r7, #1 + lsl r1, r1, #4 + cmp r7, r1 + blt _0202CB7A + mov r0, #0x1a + bl sub_0202893C + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202CB6C + + thumb_func_start sub_0202CBC0 +sub_0202CBC0: ; 0x0202CBC0 + mov r0, #0x17 + lsl r0, r0, #4 + bx lr + .balign 4, 0 + thumb_func_end sub_0202CBC0 + + thumb_func_start sub_0202CBC8 +sub_0202CBC8: ; 0x0202CBC8 + push {r4, lr} + add r4, r0, #0 + bl sub_0202CBC0 + add r2, r0, #0 + add r0, r4, #0 + mov r1, #0 + bl MIi_CpuFill8 + pop {r4, pc} + thumb_func_end sub_0202CBC8 + + thumb_func_start sub_0202CBDC +sub_0202CBDC: ; 0x0202CBDC + ldr r3, _0202CBE4 ; =MIi_CpuCopy8 + mov r2, #0x18 + bx r3 + nop +_0202CBE4: .word MIi_CpuCopy8 + thumb_func_end sub_0202CBDC + + thumb_func_start sub_0202CBE8 +sub_0202CBE8: ; 0x0202CBE8 + ldr r3, _0202CBF0 ; =SavArray_get + mov r1, #0x11 + bx r3 + nop +_0202CBF0: .word SavArray_get + thumb_func_end sub_0202CBE8 + + thumb_func_start sub_0202CBF4 +sub_0202CBF4: ; 0x0202CBF4 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0xc + blt _0202CC02 + bl GF_AssertFail +_0202CC02: + mov r0, #0x18 + mul r0, r4 + add r0, r5, r0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202CBF4 + + thumb_func_start sub_0202CC0C +sub_0202CC0C: ; 0x0202CC0C + push {r4, r5, r6, lr} + add r6, r2, #0 + add r5, r0, #0 + add r4, r1, #0 + cmp r6, #0xc + blt _0202CC1C + bl GF_AssertFail +_0202CC1C: + add r0, r5, #0 + add r1, r6, #0 + bl sub_0202CBF4 + add r1, r0, #0 + add r0, r4, #0 + bl sub_0202CBDC + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202CC0C + + thumb_func_start sub_0202CC30 +sub_0202CC30: ; 0x0202CC30 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #8 + blt _0202CC3E + bl GF_AssertFail +_0202CC3E: + lsl r0, r4, #1 + add r0, r4, r0 + add r0, r5, r0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202CC30 + + thumb_func_start sub_0202CC48 +sub_0202CC48: ; 0x0202CC48 + ldrb r0, [r0] + bx lr + thumb_func_end sub_0202CC48 + + thumb_func_start sub_0202CC4C +sub_0202CC4C: ; 0x0202CC4C + ldrb r0, [r0, #1] + bx lr + thumb_func_end sub_0202CC4C + + thumb_func_start sub_0202CC50 +sub_0202CC50: ; 0x0202CC50 + ldrb r0, [r0, #2] + bx lr + thumb_func_end sub_0202CC50 + + thumb_func_start sub_0202CC54 +sub_0202CC54: ; 0x0202CC54 + mov r1, #0x12 + lsl r1, r1, #4 + add r0, r0, r1 + bx lr + thumb_func_end sub_0202CC54 + + thumb_func_start sub_0202CC5C +sub_0202CC5C: ; 0x0202CC5C + ldrb r0, [r0, r1] + bx lr + thumb_func_end sub_0202CC5C + + thumb_func_start sub_0202CC60 +sub_0202CC60: ; 0x0202CC60 + mov r3, #0 + add r2, r1, #1 +_0202CC64: + ldrb r1, [r0] + cmp r2, r1 + bne _0202CC6E + mov r0, #1 + bx lr +_0202CC6E: + add r3, r3, #1 + add r0, r0, #3 + cmp r3, #8 + blt _0202CC64 + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_0202CC60 + + thumb_func_start sub_0202CC7C +sub_0202CC7C: ; 0x0202CC7C + push {r4, r5, r6, r7} + mov r6, #0 + add r4, r6, #0 + add r2, r1, #1 + add r3, r6, #0 +_0202CC86: + add r5, r3, #0 + add r7, r0, #0 +_0202CC8A: + ldrb r1, [r7] + cmp r2, r1 + bne _0202CC92 + add r6, r6, #1 +_0202CC92: + add r5, r5, #1 + add r7, r7, #3 + cmp r5, #8 + blt _0202CC8A + add r4, r4, #1 + add r0, #0x18 + cmp r4, #0xc + blt _0202CC86 + add r0, r6, #0 + pop {r4, r5, r6, r7} + bx lr + thumb_func_end sub_0202CC7C + + thumb_func_start sub_0202CCA8 +sub_0202CCA8: ; 0x0202CCA8 + strb r2, [r0, r1] + bx lr + thumb_func_end sub_0202CCA8 + + thumb_func_start sub_0202CCAC +sub_0202CCAC: ; 0x0202CCAC + push {r4, r5, r6, lr} + add r5, r1, #0 + sub r1, r5, #1 + add r6, r0, #0 + add r4, r2, #0 + bl sub_0202CC7C + mov r1, #0x12 + lsl r1, r1, #4 + add r2, r6, r1 + sub r1, r5, #1 + ldrb r3, [r2, r1] + add r0, r0, r3 + cmp r4, #0 + bge _0202CCD6 + add r0, r4, r3 + bmi _0202CCD2 + strb r0, [r2, r1] + b _0202CCE6 +_0202CCD2: + mov r0, #0 + pop {r4, r5, r6, pc} +_0202CCD6: + add r0, r0, r4 + cmp r0, #0x63 + bgt _0202CCE2 + add r0, r3, r4 + strb r0, [r2, r1] + b _0202CCE6 +_0202CCE2: + mov r0, #0 + pop {r4, r5, r6, pc} +_0202CCE6: + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202CCAC + + thumb_func_start sub_0202CCEC +sub_0202CCEC: ; 0x0202CCEC + push {r4, r5, r6, lr} + add r5, r1, #0 + sub r1, r5, #1 + add r6, r0, #0 + add r4, r2, #0 + bl sub_0202CC7C + cmp r4, #0 + bge _0202CD14 + mov r0, #0x12 + lsl r0, r0, #4 + add r2, r6, r0 + sub r1, r5, #1 + ldrb r0, [r2, r1] + add r0, r4, r0 + bmi _0202CD10 + strb r0, [r2, r1] + b _0202CD38 +_0202CD10: + mov r0, #0 + pop {r4, r5, r6, pc} +_0202CD14: + add r0, r0, r4 + cmp r0, #0x63 + bgt _0202CD34 + mov r0, #0x12 + lsl r0, r0, #4 + add r2, r6, r0 + sub r1, r5, #1 + ldrb r0, [r2, r1] + add r0, r0, r4 + strb r0, [r2, r1] + ldrb r0, [r2, r1] + cmp r0, #0x63 + blo _0202CD38 + mov r0, #0x63 + strb r0, [r2, r1] + b _0202CD38 +_0202CD34: + mov r0, #0 + pop {r4, r5, r6, pc} +_0202CD38: + mov r0, #1 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202CCEC + + thumb_func_start sub_0202CD3C +sub_0202CD3C: ; 0x0202CD3C + push {r4, r5, r6, lr} + add r5, r1, #0 + sub r1, r5, #1 + add r6, r0, #0 + add r4, r2, #0 + bl sub_0202CC7C + sub r1, r5, #1 + add r2, r6, r1 + mov r1, #0x12 + lsl r1, r1, #4 + ldrb r1, [r2, r1] + add r0, r0, r1 + cmp r4, #0 + bge _0202CD66 + add r0, r4, r1 + bmi _0202CD62 + mov r0, #1 + pop {r4, r5, r6, pc} +_0202CD62: + mov r0, #0 + pop {r4, r5, r6, pc} +_0202CD66: + add r0, r0, r4 + cmp r0, #0x63 + bgt _0202CD70 + mov r0, #1 + pop {r4, r5, r6, pc} +_0202CD70: + mov r0, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202CD3C + + thumb_func_start sub_0202CD74 +sub_0202CD74: ; 0x0202CD74 + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r5, #0 + mov r4, #1 +_0202CD7C: + add r0, r6, #0 + add r1, r4, #0 + bl sub_0202CD94 + cmp r0, #0 + beq _0202CD8A + add r5, r5, #1 +_0202CD8A: + add r4, r4, #1 + cmp r4, #0x51 + blt _0202CD7C + add r0, r5, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0202CD74 + + thumb_func_start sub_0202CD94 +sub_0202CD94: ; 0x0202CD94 + push {r3, r4, r5, lr} + add r5, r1, #0 + sub r1, r5, #1 + add r4, r0, #0 + bl sub_0202CC7C + sub r1, r5, #1 + add r2, r4, r1 + mov r1, #0x12 + lsl r1, r1, #4 + ldrb r1, [r2, r1] + add r0, r0, r1 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202CD94 + + thumb_func_start sub_0202CDB0 +sub_0202CDB0: ; 0x0202CDB0 + mov r1, #0 + strh r1, [r0] + strb r1, [r0, #2] + strb r1, [r0, #3] + bx lr + .balign 4, 0 + thumb_func_end sub_0202CDB0 + + thumb_func_start sub_0202CDBC +sub_0202CDBC: ; 0x0202CDBC + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldrh r6, [r5] + ldr r0, _0202CE20 ; =0x000003E7 + cmp r6, r0 + bne _0202CDD4 + ldrb r0, [r5, #2] + cmp r0, #0x3b + bne _0202CDD4 + ldrb r0, [r5, #3] + cmp r0, #0x3b + beq _0202CE1C +_0202CDD4: + ldrb r0, [r5, #3] + ldrb r4, [r5, #2] + add r7, r0, r1 + cmp r7, #0x3b + bls _0202CE16 + add r0, r7, #0 + mov r1, #0x3c + bl _u32_div_f + add r4, r4, r0 + add r0, r7, #0 + mov r1, #0x3c + bl _u32_div_f + add r7, r1, #0 + cmp r4, #0x3b + bls _0202CE16 + add r0, r4, #0 + mov r1, #0x3c + bl _u32_div_f + add r6, r6, r0 + add r0, r4, #0 + mov r1, #0x3c + bl _u32_div_f + ldr r0, _0202CE20 ; =0x000003E7 + add r4, r1, #0 + cmp r6, r0 + blo _0202CE16 + mov r4, #0x3b + add r6, r0, #0 + add r7, r4, #0 +_0202CE16: + strh r6, [r5] + strb r4, [r5, #2] + strb r7, [r5, #3] +_0202CE1C: + pop {r3, r4, r5, r6, r7, pc} + nop +_0202CE20: .word 0x000003E7 + thumb_func_end sub_0202CDBC + + thumb_func_start sub_0202CE24 +sub_0202CE24: ; 0x0202CE24 + ldrh r0, [r0] + bx lr + thumb_func_end sub_0202CE24 + + thumb_func_start sub_0202CE28 +sub_0202CE28: ; 0x0202CE28 + ldrb r0, [r0, #2] + bx lr + thumb_func_end sub_0202CE28 + + thumb_func_start sub_0202CE2C +sub_0202CE2C: ; 0x0202CE2C + ldrb r0, [r0, #3] + bx lr + thumb_func_end sub_0202CE2C + + thumb_func_start sub_0202CE30 +sub_0202CE30: ; 0x0202CE30 + mov r0, #0xfb + lsl r0, r0, #2 + bx lr + .balign 4, 0 + thumb_func_end sub_0202CE30 + + thumb_func_start sub_0202CE38 +sub_0202CE38: ; 0x0202CE38 + push {r4, lr} + add r4, r0, #0 + mov r2, #0xfb + mov r0, #0 + add r1, r4, #0 + lsl r2, r2, #2 + bl sub_020D47EC + mov r0, #0 + str r0, [r4] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202CE38 + + thumb_func_start sub_0202CE50 +sub_0202CE50: ; 0x0202CE50 + push {r4, lr} + mov r1, #0xfb + lsl r1, r1, #2 + bl AllocFromHeap + add r4, r0, #0 + bl sub_0202CE38 + add r0, r4, #0 + pop {r4, pc} + thumb_func_end sub_0202CE50 + + thumb_func_start Sav2_Chatot_get +Sav2_Chatot_get: ; 0x0202CE64 + ldr r3, _0202CE6C ; =SavArray_get + mov r1, #0x12 + bx r3 + nop +_0202CE6C: .word SavArray_get + thumb_func_end Sav2_Chatot_get + + thumb_func_start sub_0202CE70 +sub_0202CE70: ; 0x0202CE70 + ldr r0, [r0] + bx lr + thumb_func_end sub_0202CE70 + + thumb_func_start sub_0202CE74 +sub_0202CE74: ; 0x0202CE74 + mov r1, #0 + str r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202CE74 + + thumb_func_start sub_0202CE7C +sub_0202CE7C: ; 0x0202CE7C + add r0, r0, #4 + bx lr + thumb_func_end sub_0202CE7C + + thumb_func_start sub_0202CE80 +sub_0202CE80: ; 0x0202CE80 + push {r4, r5, r6, r7} + mov r5, #0 + mov r2, #0xfa + add r4, r5, #0 + mov r6, #0xf + lsl r2, r2, #2 +_0202CE8C: + ldrsb r7, [r1, r4] + add r3, r0, r5 + and r7, r6 + lsl r7, r7, #0x18 + lsr r7, r7, #0x18 + sub r7, #8 + lsl r7, r7, #0x18 + asr r7, r7, #0x14 + strb r7, [r0, r5] + ldrsb r7, [r1, r4] + add r4, r4, #1 + add r5, r5, #2 + lsl r7, r7, #0x14 + lsr r7, r7, #0x18 + sub r7, #8 + lsl r7, r7, #0x18 + asr r7, r7, #0x14 + strb r7, [r3, #1] + cmp r4, r2 + blt _0202CE8C + pop {r4, r5, r6, r7} + bx lr + thumb_func_end sub_0202CE80 + + thumb_func_start sub_0202CEB8 +sub_0202CEB8: ; 0x0202CEB8 + push {r4, r5, r6, r7} + add r3, r0, #0 + add r2, r1, #0 + mov r0, #1 + mov r1, #0 + str r0, [r3] + add r0, r1, #0 +_0202CEC6: + ldrsb r4, [r2, r0] + add r6, r3, r1 + add r7, r2, r0 + asr r5, r4, #3 + lsr r5, r5, #0x1c + add r5, r4, r5 + lsl r4, r5, #0x14 + asr r4, r4, #0x18 + add r4, #8 + strb r4, [r6, #4] + mov r4, #4 + ldrsb r5, [r6, r4] + mov r4, #1 + ldrsb r4, [r7, r4] + add r0, r0, #2 + add r1, r1, #1 + asr r7, r4, #3 + lsr r7, r7, #0x1c + add r7, r4, r7 + lsl r4, r7, #0x14 + asr r4, r4, #0x18 + add r4, #8 + lsl r4, r4, #0x18 + lsr r4, r4, #0x14 + orr r4, r5 + strb r4, [r6, #4] + mov r4, #0x7d + lsl r4, r4, #4 + cmp r0, r4 + blt _0202CEC6 + pop {r4, r5, r6, r7} + bx lr + .balign 4, 0 + thumb_func_end sub_0202CEB8 + + thumb_func_start sub_0202CF08 +sub_0202CF08: ; 0x0202CF08 + add r2, r0, #0 + add r0, r1, #0 + add r1, r2, #0 + mov r2, #0xfb + ldr r3, _0202CF18 ; =sub_020D48B4 + lsl r2, r2, #2 + bx r3 + nop +_0202CF18: .word sub_020D48B4 + thumb_func_end sub_0202CF08 + + thumb_func_start sub_0202CF1C +sub_0202CF1C: ; 0x0202CF1C + mov r0, #7 + lsl r0, r0, #6 + bx lr + .balign 4, 0 + thumb_func_end sub_0202CF1C + + thumb_func_start sub_0202CF24 +sub_0202CF24: ; 0x0202CF24 + push {r4, lr} + add r4, r0, #0 + mov r2, #7 + mov r0, #0 + add r1, r4, #0 + lsl r2, r2, #6 + bl sub_020D47EC + ldr r1, _0202CF4C ; =0x027FFC3C + ldr r0, [r1] + ldr r1, [r1] + lsl r0, r0, #8 + orr r1, r0 + ldr r0, _0202CF50 ; =0x000001BE + strh r1, [r4, r0] + add r0, r4, #0 + mov r1, #2 + bl sub_0202CF60 + pop {r4, pc} + .balign 4, 0 +_0202CF4C: .word 0x027FFC3C +_0202CF50: .word 0x000001BE + thumb_func_end sub_0202CF24 + + thumb_func_start sub_0202CF54 +sub_0202CF54: ; 0x0202CF54 + ldr r3, _0202CF5C ; =SavArray_get + mov r1, #0x10 + bx r3 + nop +_0202CF5C: .word SavArray_get + thumb_func_end sub_0202CF54 + + thumb_func_start sub_0202CF60 +sub_0202CF60: ; 0x0202CF60 + push {r4, lr} + add r4, r0, #0 + cmp r1, #1 + ble _0202CF8E + mov r1, #0x6d + add r0, #8 + lsl r1, r1, #2 + bl sub_0201FF28 + mov r3, #0x6f + lsl r3, r3, #2 + strh r0, [r4, r3] + add r1, r3, #0 + ldrh r2, [r4, r3] + add r3, r3, #2 + ldrh r3, [r4, r3] + add r0, r4, #0 + add r0, #8 + lsl r3, r3, #0x10 + sub r1, #8 + add r2, r2, r3 + bl sub_0201FF44 +_0202CF8E: + pop {r4, pc} + thumb_func_end sub_0202CF60 + + thumb_func_start sub_0202CF90 +sub_0202CF90: ; 0x0202CF90 + push {r4, lr} + add r4, r0, #0 + cmp r1, #1 + ble _0202CFB2 + mov r1, #0x6d + lsl r1, r1, #2 + add r2, r1, #0 + add r2, #8 + ldrh r3, [r4, r2] + add r2, r1, #0 + add r2, #0xa + ldrh r2, [r4, r2] + add r0, #8 + lsl r2, r2, #0x10 + add r2, r3, r2 + bl sub_0201FF70 +_0202CFB2: + pop {r4, pc} + thumb_func_end sub_0202CF90 + + thumb_func_start sub_0202CFB4 +sub_0202CFB4: ; 0x0202CFB4 + push {r3, lr} + cmp r1, #0x48 + bge _0202CFC0 + lsl r1, r1, #2 + ldr r0, [r0, r1] + pop {r3, pc} +_0202CFC0: + cmp r1, #0x95 + bge _0202CFD2 + sub r1, #0x48 + lsl r1, r1, #1 + add r1, r0, r1 + mov r0, #0x12 + lsl r0, r0, #4 + ldrh r0, [r1, r0] + pop {r3, pc} +_0202CFD2: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202CFB4 + + thumb_func_start sub_0202CFDC +sub_0202CFDC: ; 0x0202CFDC + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x48 + bge _0202CFEC + lsl r0, r4, #2 + str r2, [r5, r0] + b _0202D004 +_0202CFEC: + cmp r4, #0x95 + bge _0202D000 + add r0, r4, #0 + sub r0, #0x48 + lsl r0, r0, #1 + add r1, r5, r0 + mov r0, #0x12 + lsl r0, r0, #4 + strh r2, [r1, r0] + b _0202D004 +_0202D000: + bl GF_AssertFail +_0202D004: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CFB4 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202CFDC + + thumb_func_start sub_0202D010 +sub_0202D010: ; 0x0202D010 + push {r3, lr} + cmp r0, #0x48 + bge _0202D026 + ldr r1, _0202D044 ; =0x0210F864 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _0202D022 + ldr r0, _0202D048 ; =0x3B9AC9FF + pop {r3, pc} +_0202D022: + ldr r0, _0202D04C ; =0x000F423F + pop {r3, pc} +_0202D026: + cmp r0, #0x95 + bge _0202D03A + ldr r1, _0202D044 ; =0x0210F864 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _0202D036 + ldr r0, _0202D050 ; =0x0000FFFF + pop {r3, pc} +_0202D036: + ldr r0, _0202D054 ; =0x0000270F + pop {r3, pc} +_0202D03A: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + nop +_0202D044: .word 0x0210F864 +_0202D048: .word 0x3B9AC9FF +_0202D04C: .word 0x000F423F +_0202D050: .word 0x0000FFFF +_0202D054: .word 0x0000270F + thumb_func_end sub_0202D010 + + thumb_func_start sub_0202D058 +sub_0202D058: ; 0x0202D058 + lsl r1, r0, #1 + ldr r0, _0202D060 ; =0x020F67DC + ldrh r0, [r0, r1] + bx lr + .balign 4, 0 +_0202D060: .word 0x020F67DC + thumb_func_end sub_0202D058 + + thumb_func_start sub_0202D064 +sub_0202D064: ; 0x0202D064 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r0, r4, #0 + add r6, r2, #0 + bl sub_0202D010 + add r7, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CF90 + cmp r6, r7 + bhs _0202D08C + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0202CFDC + b _0202D096 +_0202D08C: + add r0, r5, #0 + add r1, r4, #0 + add r2, r7, #0 + bl sub_0202CFDC +_0202D096: + add r6, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CF60 + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202D064 + + thumb_func_start sub_0202D0A4 +sub_0202D0A4: ; 0x0202D0A4 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r6, r0, #0 + add r0, r5, #0 + add r7, r2, #0 + bl sub_0202D010 + add r4, r0, #0 + add r0, r6, #0 + add r1, r5, #0 + bl sub_0202CF90 + add r0, r6, #0 + add r1, r5, #0 + bl sub_0202CFB4 + str r0, [sp] + cmp r7, r4 + bls _0202D0CC + add r7, r4, #0 +_0202D0CC: + ldr r0, [sp] + cmp r0, r7 + bhs _0202D0E0 + add r0, r6, #0 + add r1, r5, #0 + add r2, r7, #0 + bl sub_0202CFDC + str r0, [sp] + b _0202D0F0 +_0202D0E0: + cmp r0, r4 + bls _0202D0F0 + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl sub_0202CFDC + str r0, [sp] +_0202D0F0: + add r0, r6, #0 + add r1, r5, #0 + bl sub_0202CF60 + ldr r0, [sp] + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202D0A4 + + thumb_func_start sub_0202D0FC +sub_0202D0FC: ; 0x0202D0FC + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r0, r4, #0 + bl sub_0202D010 + add r6, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CF90 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CFB4 + add r2, r0, #1 + cmp r2, r6 + bhs _0202D12A + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CFDC + b _0202D134 +_0202D12A: + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0202CFDC +_0202D134: + add r6, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CF60 + add r0, r6, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202D0FC + + thumb_func_start sub_0202D144 +sub_0202D144: ; 0x0202D144 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r0, r4, #0 + add r7, r2, #0 + bl sub_0202D010 + add r6, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CF90 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CFB4 + add r2, r0, r7 + cmp r2, r6 + bhs _0202D174 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CFDC + b _0202D17E +_0202D174: + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0202CFDC +_0202D17E: + add r6, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202CF60 + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202D144 + + thumb_func_start sub_0202D18C +sub_0202D18C: ; 0x0202D18C + push {r3, r4, r5, r6, r7, lr} + add r7, r1, #0 + add r5, r0, #0 + add r0, r7, #0 + bl sub_0202D010 + add r4, r0, #0 + add r0, r5, #0 + add r1, r7, #0 + bl sub_0202CF90 + add r0, r5, #0 + add r1, r7, #0 + bl sub_0202CFB4 + add r6, r0, #0 + add r0, r5, #0 + add r1, r7, #0 + bl sub_0202CF60 + cmp r6, r4 + bhi _0202D1BA + add r4, r6, #0 +_0202D1BA: + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202D18C + + thumb_func_start sub_0202D1C0 +sub_0202D1C0: ; 0x0202D1C0 + push {r4, r5, r6, lr} + add r6, r1, #0 + add r5, r0, #0 + cmp r6, #0x28 + blt _0202D1CE + bl GF_AssertFail +_0202D1CE: + add r0, r5, #0 + mov r1, #2 + bl sub_0202D18C + add r4, r0, #0 + add r0, r6, #0 + bl sub_0202D058 + ldr r2, _0202D204 ; =0x05F5E0FF + add r0, r4, r0 + cmp r0, r2 + bls _0202D1F0 + add r0, r5, #0 + mov r1, #2 + bl sub_0202D064 + pop {r4, r5, r6, pc} +_0202D1F0: + add r0, r6, #0 + bl sub_0202D058 + add r2, r0, #0 + add r0, r5, #0 + mov r1, #2 + bl sub_0202D144 + pop {r4, r5, r6, pc} + nop +_0202D204: .word 0x05F5E0FF + thumb_func_end sub_0202D1C0 + + thumb_func_start sub_0202D208 +sub_0202D208: ; 0x0202D208 + ldr r3, _0202D210 ; =sub_0202D18C + mov r1, #2 + bx r3 + nop +_0202D210: .word sub_0202D18C + thumb_func_end sub_0202D208 + + thumb_func_start sub_0202D214 +sub_0202D214: ; 0x0202D214 + push {r4, lr} + add r4, r0, #0 + add r0, r1, #0 + add r1, r2, #0 + bl sub_02029FF8 + cmp r0, #0 + bne _0202D22C + add r0, r4, #0 + mov r1, #0x15 + bl sub_0202D1C0 +_0202D22C: + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202D214 + + thumb_func_start sub_0202D230 +sub_0202D230: ; 0x0202D230 + mov r0, #0xe4 + bx lr + thumb_func_end sub_0202D230 + + thumb_func_start sub_0202D234 +sub_0202D234: ; 0x0202D234 + ldr r3, _0202D23C ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #0x3c + bx r3 + .balign 4, 0 +_0202D23C: .word MIi_CpuFill8 + thumb_func_end sub_0202D234 + + thumb_func_start sub_0202D240 +sub_0202D240: ; 0x0202D240 + push {r4, lr} + mov r2, #0x5a + mov r1, #0 + lsl r2, r2, #2 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r0, #1 + strb r0, [r4, #3] + pop {r4, pc} + thumb_func_end sub_0202D240 + + thumb_func_start sub_0202D254 +sub_0202D254: ; 0x0202D254 + push {r4, r5, r6, lr} + ldr r4, _0202D270 ; =0x020F682C + add r5, r0, #0 + mov r6, #0 +_0202D25C: + add r0, r5, #0 + add r1, r4, #0 + bl MailMsg_init_fromTemplate + add r6, r6, #1 + add r4, #8 + add r5, #8 + cmp r6, #4 + blt _0202D25C + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202D270: .word 0x020F682C + thumb_func_end sub_0202D254 + + thumb_func_start sub_0202D274 +sub_0202D274: ; 0x0202D274 + ldr r3, _0202D27C ; =MIi_CpuFill8 + mov r1, #0 + ldr r2, _0202D280 ; =0x00000B3C + bx r3 + .balign 4, 0 +_0202D27C: .word MIi_CpuFill8 +_0202D280: .word 0x00000B3C + thumb_func_end sub_0202D274 + + thumb_func_start sub_0202D284 +sub_0202D284: ; 0x0202D284 + push {r3, lr} + cmp r1, #0xa + bhi _0202D302 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0202D296: ; jump table + .short _0202D2AC - _0202D296 - 2 ; case 0 + .short _0202D2B4 - _0202D296 - 2 ; case 1 + .short _0202D2B8 - _0202D296 - 2 ; case 2 + .short _0202D2BC - _0202D296 - 2 ; case 3 + .short _0202D2C0 - _0202D296 - 2 ; case 4 + .short _0202D2C4 - _0202D296 - 2 ; case 5 + .short _0202D2D2 - _0202D296 - 2 ; case 6 + .short _0202D2E0 - _0202D296 - 2 ; case 7 + .short _0202D2E8 - _0202D296 - 2 ; case 8 + .short _0202D2F6 - _0202D296 - 2 ; case 9 + .short _0202D2FE - _0202D296 - 2 ; case 10 +_0202D2AC: + ldrb r0, [r0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1d + pop {r3, pc} +_0202D2B4: + ldrb r0, [r0, #2] + pop {r3, pc} +_0202D2B8: + ldrb r0, [r0, #3] + pop {r3, pc} +_0202D2BC: + ldrh r0, [r0, #4] + pop {r3, pc} +_0202D2C0: + ldrh r0, [r0, #6] + pop {r3, pc} +_0202D2C4: + add r1, r2, #0 + add r0, #8 + mov r2, #4 + bl MIi_CpuCopy8 + mov r0, #0 + pop {r3, pc} +_0202D2D2: + add r1, r2, #0 + add r0, #0x2c + mov r2, #0x10 + bl MIi_CpuCopy8 + mov r0, #0 + pop {r3, pc} +_0202D2E0: + ldrb r0, [r0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + pop {r3, pc} +_0202D2E8: + add r1, r2, #0 + add r0, #0xc + mov r2, #0x1c + bl MIi_CpuCopy8 + mov r0, #0 + pop {r3, pc} +_0202D2F6: + ldrb r0, [r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1d + pop {r3, pc} +_0202D2FE: + ldr r0, [r0, #0x28] + pop {r3, pc} +_0202D302: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202D284 + + thumb_func_start sub_0202D308 +sub_0202D308: ; 0x0202D308 + push {r4, lr} + add r3, r0, #0 + cmp r1, #0xa + bhi _0202D3AE + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0202D31C: ; jump table + .short _0202D332 - _0202D31C - 2 ; case 0 + .short _0202D344 - _0202D31C - 2 ; case 1 + .short _0202D34A - _0202D31C - 2 ; case 2 + .short _0202D350 - _0202D31C - 2 ; case 3 + .short _0202D356 - _0202D31C - 2 ; case 4 + .short _0202D35C - _0202D31C - 2 ; case 5 + .short _0202D36A - _0202D31C - 2 ; case 6 + .short _0202D378 - _0202D31C - 2 ; case 7 + .short _0202D38A - _0202D31C - 2 ; case 8 + .short _0202D39E - _0202D31C - 2 ; case 9 + .short _0202D398 - _0202D31C - 2 ; case 10 +_0202D332: + ldrb r1, [r3] + mov r0, #0x1c + bic r1, r0 + ldrb r0, [r2] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1b + orr r0, r1 + strb r0, [r3] + pop {r4, pc} +_0202D344: + ldrb r0, [r2] + strb r0, [r3, #2] + pop {r4, pc} +_0202D34A: + ldrb r0, [r2] + strb r0, [r3, #3] + pop {r4, pc} +_0202D350: + ldrh r0, [r2] + strh r0, [r3, #4] + pop {r4, pc} +_0202D356: + ldrh r0, [r2] + strh r0, [r3, #6] + pop {r4, pc} +_0202D35C: + add r3, #8 + add r0, r2, #0 + add r1, r3, #0 + mov r2, #4 + bl MIi_CpuCopy8 + pop {r4, pc} +_0202D36A: + add r3, #0x2c + add r0, r2, #0 + add r1, r3, #0 + mov r2, #0x10 + bl MIi_CpuCopy8 + pop {r4, pc} +_0202D378: + ldrb r4, [r3] + ldrb r1, [r2] + mov r0, #1 + bic r4, r0 + mov r0, #1 + and r0, r1 + orr r0, r4 + strb r0, [r3] + pop {r4, pc} +_0202D38A: + add r3, #0xc + add r0, r2, #0 + add r1, r3, #0 + mov r2, #0x1c + bl MIi_CpuCopy8 + pop {r4, pc} +_0202D398: + ldr r0, [r2] + str r0, [r3, #0x28] + pop {r4, pc} +_0202D39E: + ldrb r1, [r3] + mov r0, #0xe0 + bic r1, r0 + ldrb r0, [r2] + lsl r0, r0, #0x1d + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r3] +_0202D3AE: + pop {r4, pc} + thumb_func_end sub_0202D308 + + thumb_func_start sub_0202D3B0 +sub_0202D3B0: ; 0x0202D3B0 + push {r3, r4} + ldrb r4, [r0, #3] + add r1, r4, r1 + cmp r1, #0xff + bge _0202D3BC + strb r1, [r0, #3] +_0202D3BC: + ldrh r1, [r0, #4] + add r2, r1, r2 + ldr r1, _0202D3D8 ; =0x0000FFFF + cmp r2, r1 + bge _0202D3C8 + strh r2, [r0, #4] +_0202D3C8: + ldrh r1, [r0, #6] + add r2, r1, r3 + ldr r1, _0202D3D8 ; =0x0000FFFF + cmp r2, r1 + bge _0202D3D4 + strh r2, [r0, #6] +_0202D3D4: + pop {r3, r4} + bx lr + .balign 4, 0 +_0202D3D8: .word 0x0000FFFF + thumb_func_end sub_0202D3B0 + + thumb_func_start sub_0202D3DC +sub_0202D3DC: ; 0x0202D3DC + ldrb r0, [r0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bx lr + thumb_func_end sub_0202D3DC + + thumb_func_start sub_0202D3E4 +sub_0202D3E4: ; 0x0202D3E4 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + ldrb r3, [r0] + mov r2, #2 + lsr r1, r1, #0x1e + bic r3, r2 + orr r1, r3 + strb r1, [r0] + bx lr + thumb_func_end sub_0202D3E4 + + thumb_func_start sub_0202D3F8 +sub_0202D3F8: ; 0x0202D3F8 + cmp r2, #6 + bhi _0202D446 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0202D408: ; jump table + .short _0202D446 - _0202D408 - 2 ; case 0 + .short _0202D416 - _0202D408 - 2 ; case 1 + .short _0202D446 - _0202D408 - 2 ; case 2 + .short _0202D446 - _0202D408 - 2 ; case 3 + .short _0202D446 - _0202D408 - 2 ; case 4 + .short _0202D424 - _0202D408 - 2 ; case 5 + .short _0202D436 - _0202D408 - 2 ; case 6 +_0202D416: + ldr r2, _0202D44C ; =0x0000270F + cmp r1, r2 + bls _0202D420 + strh r2, [r0] + b _0202D446 +_0202D420: + strh r1, [r0] + b _0202D446 +_0202D424: + ldrh r2, [r0] + add r2, r2, r1 + ldr r1, _0202D44C ; =0x0000270F + cmp r2, r1 + ble _0202D432 + strh r1, [r0] + b _0202D446 +_0202D432: + strh r2, [r0] + b _0202D446 +_0202D436: + ldrh r2, [r0] + cmp r2, r1 + bhs _0202D442 + mov r1, #0 + strh r1, [r0] + b _0202D446 +_0202D442: + sub r1, r2, r1 + strh r1, [r0] +_0202D446: + ldrh r0, [r0] + bx lr + nop +_0202D44C: .word 0x0000270F + thumb_func_end sub_0202D3F8 + + thumb_func_start sub_0202D450 +sub_0202D450: ; 0x0202D450 + cmp r1, #2 + beq _0202D45A + cmp r1, #3 + beq _0202D468 + b _0202D484 +_0202D45A: + mov r1, #0 + strb r1, [r0, #2] + ldrh r2, [r0, #8] + mov r1, #0x10 + bic r2, r1 + strh r2, [r0, #8] + b _0202D484 +_0202D468: + ldrh r1, [r0, #8] + lsl r1, r1, #0x1b + lsr r1, r1, #0x1f + beq _0202D478 + ldrb r1, [r0, #2] + add r1, r1, #1 + strb r1, [r0, #2] + b _0202D484 +_0202D478: + mov r1, #1 + strb r1, [r0, #2] + ldrh r2, [r0, #8] + mov r1, #0x10 + orr r1, r2 + strh r1, [r0, #8] +_0202D484: + ldrb r0, [r0, #2] + bx lr + thumb_func_end sub_0202D450 + + thumb_func_start sub_0202D488 +sub_0202D488: ; 0x0202D488 + cmp r1, #2 + beq _0202D496 + cmp r1, #3 + beq _0202D49C + cmp r1, #4 + beq _0202D4A8 + b _0202D4B2 +_0202D496: + mov r1, #1 + strb r1, [r0, #3] + b _0202D4B2 +_0202D49C: + ldrb r1, [r0, #3] + cmp r1, #0xa + bhs _0202D4B2 + add r1, r1, #1 + strb r1, [r0, #3] + b _0202D4B2 +_0202D4A8: + ldrb r1, [r0, #3] + cmp r1, #1 + bls _0202D4B2 + sub r1, r1, #1 + strb r1, [r0, #3] +_0202D4B2: + ldrb r0, [r0, #3] + bx lr + .balign 4, 0 + thumb_func_end sub_0202D488 + + thumb_func_start sub_0202D4B8 +sub_0202D4B8: ; 0x0202D4B8 + push {r3, lr} + add r3, r0, #0 + cmp r1, #0 + bne _0202D4CE + add r3, #0xc0 + add r0, r2, #0 + add r1, r3, #0 + mov r2, #0xa8 + bl MIi_CpuCopy8 + pop {r3, pc} +_0202D4CE: + add r3, #0x18 + add r0, r2, #0 + add r1, r3, #0 + mov r2, #0xa8 + bl MIi_CpuCopy8 + pop {r3, pc} + thumb_func_end sub_0202D4B8 + + thumb_func_start sub_0202D4DC +sub_0202D4DC: ; 0x0202D4DC + push {r3, lr} + cmp r1, #0 + bne _0202D4EE + add r1, r2, #0 + add r0, #0xc0 + mov r2, #0xa8 + bl MIi_CpuCopy8 + pop {r3, pc} +_0202D4EE: + add r1, r2, #0 + add r0, #0x18 + mov r2, #0xa8 + bl MIi_CpuCopy8 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202D4DC + + thumb_func_start sub_0202D4FC +sub_0202D4FC: ; 0x0202D4FC + push {r4, r5, r6, lr} + add r6, r0, #0 + ldrb r0, [r1, #2] + mov r2, #0xfa + lsl r2, r2, #2 + sub r0, r0, #1 + add r3, r0, #0 + mul r3, r2 + lsl r0, r3, #0x10 + lsr r4, r0, #0x10 + ldrh r3, [r1, #4] + mov r0, #0xa + ldrb r5, [r1, #3] + mul r0, r3 + mov r3, #0x14 + mul r3, r5 + lsl r0, r0, #0x10 + lsl r3, r3, #0x10 + lsr r0, r0, #0x10 + lsr r3, r3, #0x10 + add r3, r0, r3 + add r0, r2, #0 + sub r0, #0x32 + cmp r3, r0 + ble _0202D532 + mov r5, #0 + b _0202D53A +_0202D532: + sub r2, #0x32 + sub r0, r2, r3 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_0202D53A: + ldrh r1, [r1, #6] + ldr r0, _0202D560 ; =0x000003CA + cmp r1, r0 + bls _0202D546 + mov r1, #0 + b _0202D554 +_0202D546: + add r0, #0x1e + sub r0, r0, r1 + mov r1, #0x1e + bl _s32_div_f + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 +_0202D554: + add r0, r4, r5 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + strh r0, [r6, #0x16] + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202D560: .word 0x000003CA + thumb_func_end sub_0202D4FC + + thumb_func_start sub_0202D564 +sub_0202D564: ; 0x0202D564 + ldrh r0, [r0, #0x16] + bx lr + thumb_func_end sub_0202D564 + + thumb_func_start sub_0202D568 +sub_0202D568: ; 0x0202D568 + push {r3, lr} + ldrh r0, [r0, #0x16] + mov r1, #0xfa + lsl r1, r1, #2 + bl _s32_div_f + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202D568 + + thumb_func_start sub_0202D57C +sub_0202D57C: ; 0x0202D57C + push {r4, r5} + cmp r1, #5 + bne _0202D588 + mov r0, #0 + pop {r4, r5} + bx lr +_0202D588: + cmp r1, #6 + bne _0202D58E + mov r1, #5 +_0202D58E: + cmp r2, #2 + beq _0202D598 + cmp r2, #3 + beq _0202D5A2 + b _0202D5B4 +_0202D598: + lsl r2, r1, #1 + mov r3, #0 + add r2, r0, r2 + strh r3, [r2, #0xa] + b _0202D5B4 +_0202D5A2: + add r5, r0, #0 + add r5, #0xa + lsl r4, r1, #1 + ldrh r3, [r5, r4] + ldr r2, _0202D5C0 ; =0x0000FFFE + cmp r3, r2 + bhs _0202D5B4 + add r2, r3, #1 + strh r2, [r5, r4] +_0202D5B4: + lsl r1, r1, #1 + add r0, r0, r1 + ldrh r0, [r0, #0xa] + pop {r4, r5} + bx lr + nop +_0202D5C0: .word 0x0000FFFE + thumb_func_end sub_0202D57C + + thumb_func_start sub_0202D5C4 +sub_0202D5C4: ; 0x0202D5C4 + cmp r1, #5 + bne _0202D5CC + mov r0, #0 + bx lr +_0202D5CC: + cmp r1, #6 + bne _0202D5D2 + mov r1, #5 +_0202D5D2: + add r0, #0xa + lsl r1, r1, #1 + strh r2, [r0, r1] + ldrh r0, [r0, r1] + bx lr + thumb_func_end sub_0202D5C4 + + thumb_func_start sub_0202D5DC +sub_0202D5DC: ; 0x0202D5DC + push {r4, lr} + mov r3, #1 + cmp r1, #0x10 + blo _0202D5EC + bl GF_AssertFail + mov r0, #0 + pop {r4, pc} +_0202D5EC: + mov r4, #0 + cmp r1, #0 + bls _0202D600 +_0202D5F2: + add r4, r4, #1 + lsl r4, r4, #0x10 + lsl r3, r3, #0x11 + lsr r4, r4, #0x10 + lsr r3, r3, #0x10 + cmp r4, r1 + blo _0202D5F2 +_0202D600: + cmp r2, #0 + beq _0202D624 + cmp r2, #1 + beq _0202D61C + cmp r2, #2 + bne _0202D630 + ldr r1, _0202D634 ; =0x0000FFFF + eor r1, r3 + lsl r1, r1, #0x10 + lsr r2, r1, #0x10 + ldrh r1, [r0, #8] + and r1, r2 + strh r1, [r0, #8] + b _0202D630 +_0202D61C: + ldrh r1, [r0, #8] + orr r1, r3 + strh r1, [r0, #8] + b _0202D630 +_0202D624: + ldrh r0, [r0, #8] + add r2, r0, #0 + asr r2, r1 + mov r0, #1 + and r0, r2 + pop {r4, pc} +_0202D630: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 +_0202D634: .word 0x0000FFFF + thumb_func_end sub_0202D5DC + + thumb_func_start sub_0202D638 +sub_0202D638: ; 0x0202D638 + str r1, [r0, #4] + bx lr + thumb_func_end sub_0202D638 + + thumb_func_start sub_0202D63C +sub_0202D63C: ; 0x0202D63C + ldr r0, [r0, #4] + bx lr + thumb_func_end sub_0202D63C + + thumb_func_start sub_0202D640 +sub_0202D640: ; 0x0202D640 + push {r3, r4, r5, lr} + add r5, r1, #0 + add r4, r2, #0 + bl sub_0203107C + ldr r1, _0202D65C ; =0x00000ABC + add r1, r0, r1 + lsl r0, r5, #3 + add r0, r1, r0 + add r1, r4, #0 + bl MailMsg_copy + pop {r3, r4, r5, pc} + nop +_0202D65C: .word 0x00000ABC + thumb_func_end sub_0202D640 + + thumb_func_start sub_0202D660 +sub_0202D660: ; 0x0202D660 + push {r4, lr} + add r4, r1, #0 + bl sub_0203107C + ldr r1, _0202D674 ; =0x00000ABC + add r1, r0, r1 + lsl r0, r4, #3 + add r0, r1, r0 + pop {r4, pc} + nop +_0202D674: .word 0x00000ABC + thumb_func_end sub_0202D660 + + thumb_func_start sub_0202D678 +sub_0202D678: ; 0x0202D678 + push {r3, r4, r5, r6} + add r4, r3, #0 + mov r3, #1 + cmp r2, #0 + beq _0202D6D8 + cmp r2, #0xc8 + bhi _0202D6D8 + cmp r1, #0 + beq _0202D6D8 + cmp r1, #0xa + bhi _0202D6D8 + sub r5, r2, #1 + sub r2, r1, #1 + mov r1, #0xc8 + mul r1, r2 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsr r6, r1, #0x1f + lsl r5, r1, #0x1d + sub r5, r5, r6 + mov r2, #0x1d + ror r5, r2 + add r2, r6, r5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r3, r2 + lsl r2, r3, #0x18 + lsl r1, r1, #0x15 + lsr r5, r2, #0x18 + add r3, r0, #4 + lsr r2, r1, #0x18 + ldrb r1, [r3, r2] + orr r1, r5 + strb r1, [r3, r2] + ldr r3, [r4] + ldr r1, [r4, #8] + lsl r5, r3, #0x18 + ldr r3, [r4, #4] + lsl r1, r1, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #8 + ldr r2, [r4, #0xc] + lsr r1, r1, #0x10 + orr r3, r5 + orr r1, r3 + orr r1, r2 + str r1, [r0] +_0202D6D8: + pop {r3, r4, r5, r6} + bx lr + thumb_func_end sub_0202D678 + + thumb_func_start sub_0202D6DC +sub_0202D6DC: ; 0x0202D6DC + push {r4, lr} + add r4, r0, #0 + add r0, r4, #4 + mov r1, #0 + mov r2, #0xfa + bl MIi_CpuFill8 + add r0, r4, #0 + mov r1, #0 + mov r2, #4 + bl MIi_CpuFill8 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202D6DC + + thumb_func_start sub_0202D6F8 +sub_0202D6F8: ; 0x0202D6F8 + ldr r3, [r0] + ldr r2, [r1] + cmp r3, r2 + bls _0202D704 + mov r0, #1 + bx lr +_0202D704: + ldr r3, [r0, #4] + ldr r2, [r1, #4] + cmp r3, r2 + bls _0202D710 + mov r0, #1 + bx lr +_0202D710: + ldr r2, [r0, #8] + ldr r0, [r1, #8] + cmp r2, r0 + bls _0202D71C + mov r0, #1 + bx lr +_0202D71C: + mov r0, #0 + bx lr + thumb_func_end sub_0202D6F8 + + thumb_func_start sub_0202D720 +sub_0202D720: ; 0x0202D720 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r6, r2, #0 + add r5, r0, #0 + add r4, r1, #0 + mov r7, #1 + cmp r6, #0xc8 + bhi _0202D734 + cmp r4, #0xa + bls _0202D73A +_0202D734: + add sp, #0x10 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202D73A: + ldr r0, [r5] + lsr r1, r0, #0x18 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp] + lsr r1, r0, #0x10 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #4] + lsr r1, r0, #8 + lsl r1, r1, #0x18 + lsl r0, r0, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + str r1, [sp, #8] + str r0, [sp, #0xc] + add r0, r3, #0 + add r1, sp, #0 + bl sub_0202D6F8 + cmp r0, #0 + beq _0202D772 + add r0, r5, #0 + bl sub_0202D6DC + add sp, #0x10 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202D772: + sub r1, r4, #1 + mov r0, #0xc8 + mul r0, r1 + sub r2, r6, #1 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsr r3, r0, #0x1f + lsl r2, r0, #0x1d + lsl r0, r0, #0x15 + lsr r0, r0, #0x18 + add r0, r5, r0 + sub r2, r2, r3 + mov r1, #0x1d + ror r2, r1 + add r1, r3, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r2, r7, #0 + lsl r2, r1 + lsl r1, r2, #0x18 + ldrb r0, [r0, #4] + lsr r1, r1, #0x18 + tst r0, r1 + beq _0202D7AA + add sp, #0x10 + add r0, r7, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202D7AA: + mov r0, #0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202D720 + + thumb_func_start sub_0202D7B0 +sub_0202D7B0: ; 0x0202D7B0 + add r0, #0xfe + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202D7B0 + + thumb_func_start sub_0202D7B8 +sub_0202D7B8: ; 0x0202D7B8 + add r0, #0xff + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202D7B8 + + thumb_func_start sub_0202D7C0 +sub_0202D7C0: ; 0x0202D7C0 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r0, r1, #0 + mov r1, #0x41 + add r4, r2, #0 + lsl r1, r1, #2 + ldr r2, _0202D7E8 ; =0x0000063C + add r1, r5, r1 + add r6, r3, #0 + bl MIi_CpuCopy8 + ldr r0, _0202D7EC ; =0x00000101 + strb r4, [r5, r0] + sub r0, r0, #1 + strb r6, [r5, r0] + mov r0, #1 + add r5, #0xfe + strb r0, [r5] + pop {r4, r5, r6, pc} + nop +_0202D7E8: .word 0x0000063C +_0202D7EC: .word 0x00000101 + thumb_func_end sub_0202D7C0 + + thumb_func_start sub_0202D7F0 +sub_0202D7F0: ; 0x0202D7F0 + ldr r2, _0202D800 ; =0x00000101 + ldrb r3, [r0, r2] + sub r2, r2, #1 + strb r3, [r1] + ldrb r0, [r0, r2] + strb r0, [r1, #1] + bx lr + nop +_0202D800: .word 0x00000101 + thumb_func_end sub_0202D7F0 + + thumb_func_start sub_0202D804 +sub_0202D804: ; 0x0202D804 + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + mov r1, #0x41 + lsl r1, r1, #2 + add r5, r0, r1 + mov r0, #0xe4 + add r4, r2, #0 + mul r4, r0 + ldr r0, _0202D8A0 ; =0x00002710 + add r7, r6, #0 + str r0, [r6] + add r0, r5, r4 + add r0, #0xc9 + ldrb r0, [r0] + add r7, #0x30 + strh r0, [r6, #4] + add r0, r5, r4 + add r0, #0xc8 + ldrb r0, [r0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _0202D85A + mov r0, #0 + mov r1, #0x1b + mov r2, #0x1c + mov r3, #0xb + bl NewMsgDataFromNarc + add r1, r5, r4 + add r1, #0xc8 + ldrb r1, [r1] + add r2, r6, #0 + str r0, [sp] + lsl r1, r1, #0x1e + lsr r1, r1, #0x1f + add r1, #0x21 + add r2, #8 + bl ReadMsgDataIntoU16Array + ldr r0, [sp] + bl DestroyMsgData + b _0202D868 +_0202D85A: + add r0, r5, r4 + add r1, r6, #0 + add r0, #0xa8 + add r1, #8 + mov r2, #0x10 + bl MIi_CpuCopy8 +_0202D868: + add r0, r5, r4 + add r1, r6, #0 + add r0, #0xca + add r1, #0x18 + mov r2, #8 + bl MIi_CpuCopy8 + add r0, r5, r4 + add r1, r6, #0 + add r0, #0xd2 + add r1, #0x20 + mov r2, #8 + bl MIi_CpuCopy8 + add r0, r5, r4 + add r6, #0x28 + add r0, #0xda + add r1, r6, #0 + mov r2, #8 + bl MIi_CpuCopy8 + add r0, r5, r4 + add r1, r7, #0 + mov r2, #0xa8 + bl MIi_CpuCopy8 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202D8A0: .word 0x00002710 + thumb_func_end sub_0202D804 + + thumb_func_start sub_0202D8A4 +sub_0202D8A4: ; 0x0202D8A4 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r0, r1, #0 + mov r1, #0x1d + add r4, r2, #0 + lsl r1, r1, #6 + mov r2, #0xff + add r1, r5, r1 + lsl r2, r2, #2 + add r6, r3, #0 + bl MIi_CpuCopy8 + ldr r0, _0202D8CC ; =0x00000103 + strb r4, [r5, r0] + sub r0, r0, #1 + strb r6, [r5, r0] + mov r0, #1 + add r5, #0xff + strb r0, [r5] + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202D8CC: .word 0x00000103 + thumb_func_end sub_0202D8A4 + + thumb_func_start sub_0202D8D0 +sub_0202D8D0: ; 0x0202D8D0 + ldr r2, _0202D8E0 ; =0x00000103 + ldrb r3, [r0, r2] + sub r2, r2, #1 + strb r3, [r1] + ldrb r0, [r0, r2] + strb r0, [r1, #1] + bx lr + nop +_0202D8E0: .word 0x00000103 + thumb_func_end sub_0202D8D0 + + thumb_func_start sub_0202D8E4 +sub_0202D8E4: ; 0x0202D8E4 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r0, r1, #0 + mov r1, #0xff + lsl r1, r1, #2 + bl AllocFromHeap + add r4, r0, #0 + mov r0, #0x1d + lsl r0, r0, #6 + mov r2, #0xff + add r0, r5, r0 + add r1, r4, #0 + lsl r2, r2, #2 + bl MIi_CpuCopy8 + add r0, r4, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202D8E4 + + thumb_func_start sub_0202D908 +sub_0202D908: ; 0x0202D908 + push {r3, lr} + bl sub_0203107C + mov r1, #0x8e + lsl r1, r1, #4 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202D908 + + thumb_func_start sub_0202D918 +sub_0202D918: ; 0x0202D918 + push {r3, lr} + bl sub_0203107C + ldr r1, _0202D924 ; =0x00000954 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 +_0202D924: .word 0x00000954 + thumb_func_end sub_0202D918 + + thumb_func_start sub_0202D928 +sub_0202D928: ; 0x0202D928 + push {r3, lr} + bl sub_0203107C + ldr r1, _0202D934 ; =0x00000ADC + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 +_0202D934: .word 0x00000ADC + thumb_func_end sub_0202D928 + + thumb_func_start sub_0202D938 +sub_0202D938: ; 0x0202D938 + mov r0, #0xe + bx lr + thumb_func_end sub_0202D938 + + thumb_func_start sub_0202D93C +sub_0202D93C: ; 0x0202D93C + mov r1, #0 + strb r1, [r0] + strb r1, [r0, #1] + strb r1, [r0, #2] + strb r1, [r0, #3] + strb r1, [r0, #4] + strb r1, [r0, #5] + strb r1, [r0, #6] + strb r1, [r0, #7] + strb r1, [r0, #8] + strb r1, [r0, #9] + strb r1, [r0, #0xa] + strb r1, [r0, #0xb] + strb r1, [r0, #0xc] + strb r1, [r0, #0xd] + bx lr + thumb_func_end sub_0202D93C + + thumb_func_start sub_0202D95C +sub_0202D95C: ; 0x0202D95C + ldr r3, _0202D964 ; =SavArray_get + mov r1, #0x14 + bx r3 + nop +_0202D964: .word SavArray_get + thumb_func_end sub_0202D95C + + thumb_func_start sub_0202D968 +sub_0202D968: ; 0x0202D968 + mov r0, #0x68 + bx lr + thumb_func_end sub_0202D968 + + thumb_func_start sub_0202D96C +sub_0202D96C: ; 0x0202D96C + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x68 + bl memset + bl MTRandom + str r0, [r4] + bl MTRandom + str r0, [r4, #4] + add r0, r4, #0 + mov r1, #0 + add r0, #0x64 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x65 + strb r1, [r0] + add r0, r4, #0 + add r0, #0x66 + strb r1, [r0] + add r4, #0x67 + strb r1, [r4] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202D96C + + thumb_func_start sub_0202D9A0 +sub_0202D9A0: ; 0x0202D9A0 + str r1, [r0] + str r1, [r0, #4] + bx lr + .balign 4, 0 + thumb_func_end sub_0202D9A0 + + thumb_func_start sub_0202D9A8 +sub_0202D9A8: ; 0x0202D9A8 + push {r3, lr} + cmp r1, #1 + beq _0202D9B4 + cmp r1, #2 + beq _0202D9B8 + b _0202D9BC +_0202D9B4: + ldr r0, [r0] + pop {r3, pc} +_0202D9B8: + ldr r0, [r0, #4] + pop {r3, pc} +_0202D9BC: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_0202D9A8 + + thumb_func_start sub_0202D9C4 +sub_0202D9C4: ; 0x0202D9C4 + ldr r3, _0202D9CC ; =SavArray_get + mov r1, #0x15 + bx r3 + nop +_0202D9CC: .word SavArray_get + thumb_func_end sub_0202D9C4 + + thumb_func_start sub_0202D9D0 +sub_0202D9D0: ; 0x0202D9D0 + push {r3, lr} + bl sub_0202D9C4 + mov r1, #1 + add r0, #0x64 + strb r1, [r0] + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202D9D0 + + thumb_func_start sub_0202D9E0 +sub_0202D9E0: ; 0x0202D9E0 + add r0, #0x64 + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202D9E0 + + thumb_func_start sub_0202D9E8 +sub_0202D9E8: ; 0x0202D9E8 + ldr r2, [r0, #8] + cmp r2, r1 + beq _0202D9F2 + str r2, [r0, #0xc] + str r1, [r0, #8] +_0202D9F2: + bx lr + thumb_func_end sub_0202D9E8 + + thumb_func_start sub_0202D9F4 +sub_0202D9F4: ; 0x0202D9F4 + ldr r0, [r0, #0xc] + bx lr + thumb_func_end sub_0202D9F4 + + thumb_func_start sub_0202D9F8 +sub_0202D9F8: ; 0x0202D9F8 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #4 + blo _0202DA06 + bl GF_AssertFail +_0202DA06: + add r0, r5, r4 + add r0, #0x60 + ldrb r0, [r0] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202D9F8 + + thumb_func_start sub_0202DA10 +sub_0202DA10: ; 0x0202DA10 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + cmp r4, #4 + blo _0202DA20 + bl GF_AssertFail +_0202DA20: + add r0, r5, r4 + add r0, #0x60 + strb r6, [r0] + pop {r4, r5, r6, pc} + thumb_func_end sub_0202DA10 + + thumb_func_start sub_0202DA28 +sub_0202DA28: ; 0x0202DA28 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #4 + blo _0202DA36 + bl GF_AssertFail +_0202DA36: + mov r0, #0x14 + mul r0, r4 + add r0, r5, r0 + add r0, #0x22 + ldrb r0, [r0] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202DA28 + + thumb_func_start sub_0202DA44 +sub_0202DA44: ; 0x0202DA44 + ldr r2, [r0] + mov r1, #0x14 + mov r0, #0 +_0202DA4A: + strb r0, [r2] + add r2, r2, #1 + sub r1, r1, #1 + bne _0202DA4A + bx lr + thumb_func_end sub_0202DA44 + + thumb_func_start sub_0202DA54 +sub_0202DA54: ; 0x0202DA54 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #4 + blo _0202DA62 + bl GF_AssertFail +_0202DA62: + mov r0, #0x14 + add r5, #0x10 + mul r0, r4 + add r0, r5, r0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DA54 + + thumb_func_start sub_0202DA6C +sub_0202DA6C: ; 0x0202DA6C + push {r3, lr} + cmp r1, #8 + bhi _0202DAB0 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0202DA7E: ; jump table + .short _0202DAB0 - _0202DA7E - 2 ; case 0 + .short _0202DA90 - _0202DA7E - 2 ; case 1 + .short _0202DA94 - _0202DA7E - 2 ; case 2 + .short _0202DA98 - _0202DA7E - 2 ; case 3 + .short _0202DA9C - _0202DA7E - 2 ; case 4 + .short _0202DAA0 - _0202DA7E - 2 ; case 5 + .short _0202DAA4 - _0202DA7E - 2 ; case 6 + .short _0202DAA8 - _0202DA7E - 2 ; case 7 + .short _0202DAAC - _0202DA7E - 2 ; case 8 +_0202DA90: + ldr r0, [r0] + pop {r3, pc} +_0202DA94: + ldr r0, [r0, #4] + pop {r3, pc} +_0202DA98: + ldr r0, [r0, #8] + pop {r3, pc} +_0202DA9C: + ldrh r0, [r0, #0xc] + pop {r3, pc} +_0202DAA0: + ldrh r0, [r0, #0xe] + pop {r3, pc} +_0202DAA4: + ldrb r0, [r0, #0x10] + pop {r3, pc} +_0202DAA8: + ldrb r0, [r0, #0x11] + pop {r3, pc} +_0202DAAC: + ldrb r0, [r0, #0x12] + pop {r3, pc} +_0202DAB0: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_0202DA6C + + thumb_func_start sub_0202DAB8 +sub_0202DAB8: ; 0x0202DAB8 + push {r3, lr} + cmp r1, #8 + bhi _0202DAFC + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0202DACA: ; jump table + .short _0202DAFC - _0202DACA - 2 ; case 0 + .short _0202DADC - _0202DACA - 2 ; case 1 + .short _0202DAE0 - _0202DACA - 2 ; case 2 + .short _0202DAE4 - _0202DACA - 2 ; case 3 + .short _0202DAE8 - _0202DACA - 2 ; case 4 + .short _0202DAEC - _0202DACA - 2 ; case 5 + .short _0202DAF0 - _0202DACA - 2 ; case 6 + .short _0202DAF4 - _0202DACA - 2 ; case 7 + .short _0202DAF8 - _0202DACA - 2 ; case 8 +_0202DADC: + str r2, [r0] + pop {r3, pc} +_0202DAE0: + str r2, [r0, #4] + pop {r3, pc} +_0202DAE4: + str r2, [r0, #8] + pop {r3, pc} +_0202DAE8: + strh r2, [r0, #0xc] + pop {r3, pc} +_0202DAEC: + strh r2, [r0, #0xe] + pop {r3, pc} +_0202DAF0: + strb r2, [r0, #0x10] + pop {r3, pc} +_0202DAF4: + strb r2, [r0, #0x11] + pop {r3, pc} +_0202DAF8: + strb r2, [r0, #0x12] + pop {r3, pc} +_0202DAFC: + bl GF_AssertFail + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202DAB8 + + thumb_func_start sub_0202DB04 +sub_0202DB04: ; 0x0202DB04 + add r0, #0x65 + bx lr + thumb_func_end sub_0202DB04 + + thumb_func_start sub_0202DB08 +sub_0202DB08: ; 0x0202DB08 + add r0, #0x65 + ldrb r0, [r0] + cmp r0, #0 + bne _0202DB14 + mov r0, #1 + bx lr +_0202DB14: + mov r0, #0 + bx lr + thumb_func_end sub_0202DB08 + + thumb_func_start sub_0202DB18 +sub_0202DB18: ; 0x0202DB18 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #2 + bls _0202DB26 + bl GF_AssertFail +_0202DB26: + add r5, #0x67 + strb r4, [r5] + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DB18 + + thumb_func_start sub_0202DB2C +sub_0202DB2C: ; 0x0202DB2C + add r0, #0x67 + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DB2C + + thumb_func_start sub_0202DB34 +sub_0202DB34: ; 0x0202DB34 + ldr r3, _0202DB3C ; =SavArray_get + mov r1, #0x16 + bx r3 + nop +_0202DB3C: .word SavArray_get + thumb_func_end sub_0202DB34 + + thumb_func_start sub_0202DB40 +sub_0202DB40: ; 0x0202DB40 + mov r0, #0xf8 + bx lr + thumb_func_end sub_0202DB40 + + thumb_func_start sub_0202DB44 +sub_0202DB44: ; 0x0202DB44 + ldr r3, _0202DB50 ; =MIi_CpuClearFast + add r1, r0, #0 + mov r0, #0 + mov r2, #0xf8 + bx r3 + nop +_0202DB50: .word MIi_CpuClearFast + thumb_func_end sub_0202DB44 + + thumb_func_start sub_0202DB54 +sub_0202DB54: ; 0x0202DB54 + add r0, #0xec + ldrh r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DB54 + + thumb_func_start sub_0202DB5C +sub_0202DB5C: ; 0x0202DB5C + add r0, #0xec + strh r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DB5C + + thumb_func_start sub_0202DB64 +sub_0202DB64: ; 0x0202DB64 + ldr r3, _0202DB6C ; =sub_020D48B4 + mov r2, #0xec + bx r3 + nop +_0202DB6C: .word sub_020D48B4 + thumb_func_end sub_0202DB64 + + thumb_func_start sub_0202DB70 +sub_0202DB70: ; 0x0202DB70 + ldr r3, _0202DB7C ; =sub_020D48B4 + add r2, r0, #0 + add r0, r1, #0 + add r1, r2, #0 + mov r2, #0xec + bx r3 + .balign 4, 0 +_0202DB7C: .word sub_020D48B4 + thumb_func_end sub_0202DB70 + + thumb_func_start sub_0202DB80 +sub_0202DB80: ; 0x0202DB80 + add r0, #0xf0 + ldr r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DB80 + + thumb_func_start sub_0202DB88 +sub_0202DB88: ; 0x0202DB88 + add r0, #0xf0 + str r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DB88 + + thumb_func_start sub_0202DB90 +sub_0202DB90: ; 0x0202DB90 + add r0, #0xf4 + ldr r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DB90 + + thumb_func_start sub_0202DB98 +sub_0202DB98: ; 0x0202DB98 + add r0, #0xf4 + str r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DB98 + + thumb_func_start sub_0202DBA0 +sub_0202DBA0: ; 0x0202DBA0 + add r0, #0xee + ldrh r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202DBA0 + + thumb_func_start sub_0202DBA8 +sub_0202DBA8: ; 0x0202DBA8 + mov r0, #0x5a + lsl r0, r0, #6 + bx lr + .balign 4, 0 + thumb_func_end sub_0202DBA8 + + thumb_func_start sub_0202DBB0 +sub_0202DBB0: ; 0x0202DBB0 + ldr r3, _0202DBB8 ; =sub_0202893C + mov r0, #0x1b + bx r3 + nop +_0202DBB8: .word sub_0202893C + thumb_func_end sub_0202DBB0 + + thumb_func_start sub_0202DBBC +sub_0202DBBC: ; 0x0202DBBC + cmp r0, #0 + beq _0202DBC8 + cmp r0, #0x10 + bhs _0202DBC8 + mov r0, #1 + bx lr +_0202DBC8: + mov r0, #0 + bx lr + thumb_func_end sub_0202DBBC + + thumb_func_start sub_0202DBCC +sub_0202DBCC: ; 0x0202DBCC + push {r3, r4, r5, lr} + cmp r1, #0 + blt _0202DBF0 + cmp r1, #8 + bge _0202DBF0 + mov r2, #1 + lsl r2, r2, #8 + add r4, r0, r2 + lsl r0, r1, #6 + add r0, r1, r0 + lsl r5, r0, #2 + ldrh r0, [r4, r5] + bl sub_0202DBBC + cmp r0, #0 + beq _0202DBF0 + add r0, r4, r5 + pop {r3, r4, r5, pc} +_0202DBF0: + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DBCC + + thumb_func_start sub_0202DBF4 +sub_0202DBF4: ; 0x0202DBF4 + push {r3, r4, r5, lr} + cmp r1, #0 + blt _0202DC1A + cmp r1, #3 + bge _0202DC1A + mov r2, #0x92 + lsl r2, r2, #4 + add r4, r0, r2 + mov r0, #0xd6 + lsl r0, r0, #2 + add r5, r1, #0 + mul r5, r0 + ldrh r0, [r4, r5] + bl sub_0202DBBC + cmp r0, #0 + beq _0202DC24 + add r0, r4, r5 + pop {r3, r4, r5, pc} +_0202DC1A: + cmp r1, #4 + bne _0202DC24 + ldr r1, _0202DC28 ; =0x00001328 + add r0, r0, r1 + pop {r3, r4, r5, pc} +_0202DC24: + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202DC28: .word 0x00001328 + thumb_func_end sub_0202DBF4 + + thumb_func_start sub_0202DC2C +sub_0202DC2C: ; 0x0202DC2C + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + str r1, [sp, #4] + mov r1, #0 + str r0, [sp] + str r2, [sp, #8] + str r1, [sp, #0xc] + bl sub_0202DE14 + cmp r0, #0 + bne _0202DC48 + add sp, #0x10 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202DC48: + mov r7, #0x41 + lsl r7, r7, #2 + ldr r5, [sp] + mov r4, #0 + sub r6, r7, #4 +_0202DC52: + ldrh r0, [r5, r6] + bl sub_0202DBBC + cmp r0, #0 + bne _0202DC94 + lsl r0, r4, #6 + mov r2, #1 + add r0, r4, r0 + lsl r4, r0, #2 + ldr r1, [sp] + lsl r2, r2, #8 + add r1, r1, r2 + ldr r0, [sp, #4] + add r1, r1, r4 + add r2, r2, #4 + bl MIi_CpuCopy8 + ldr r1, _0202DCA8 ; =0x00000102 + ldr r0, [sp] + mov r2, #3 + add r1, r0, r1 + ldrh r0, [r1, r4] + bic r0, r2 + ldr r2, [sp, #8] + lsl r2, r2, #0x10 + lsr r3, r2, #0x10 + mov r2, #3 + and r2, r3 + orr r0, r2 + strh r0, [r1, r4] + mov r0, #1 + str r0, [sp, #0xc] + b _0202DC9C +_0202DC94: + add r4, r4, #1 + add r5, r5, r7 + cmp r4, #8 + blt _0202DC52 +_0202DC9C: + mov r0, #0x1b + bl sub_0202893C + ldr r0, [sp, #0xc] + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202DCA8: .word 0x00000102 + thumb_func_end sub_0202DC2C + + thumb_func_start sub_0202DCAC +sub_0202DCAC: ; 0x0202DCAC + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r1, [sp, #4] + mov r1, #0 + str r0, [sp] + str r1, [sp, #8] + bl sub_0202DE3C + cmp r0, #0 + bne _0202DCC6 + add sp, #0xc + mov r0, #0 + pop {r4, r5, r6, r7, pc} +_0202DCC6: + ldr r1, _0202DD44 ; =0x00000152 + ldr r0, [sp, #4] + ldrb r0, [r0, r1] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + cmp r0, #1 + bne _0202DCE4 + ldr r0, [sp] + bl sub_0202DE14 + cmp r0, #0 + bne _0202DCE4 + add sp, #0xc + mov r0, #0 + pop {r4, r5, r6, r7, pc} +_0202DCE4: + mov r7, #0xd6 + mov r6, #0x92 + ldr r5, [sp] + mov r4, #0 + lsl r7, r7, #2 + lsl r6, r6, #4 +_0202DCF0: + ldrh r0, [r5, r6] + bl sub_0202DBBC + cmp r0, #0 + bne _0202DD30 + mov r2, #0x92 + ldr r1, [sp] + lsl r2, r2, #4 + add r3, r1, r2 + mov r2, #0xd6 + lsl r2, r2, #2 + add r1, r4, #0 + mul r1, r2 + ldr r0, [sp, #4] + add r1, r3, r1 + bl MIi_CpuCopy8 + ldr r1, _0202DD44 ; =0x00000152 + ldr r0, [sp, #4] + ldrb r0, [r0, r1] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + cmp r0, #1 + bne _0202DD2A + ldr r0, [sp] + ldr r1, [sp, #4] + add r2, r4, #0 + bl sub_0202DC2C +_0202DD2A: + mov r0, #1 + str r0, [sp, #8] + b _0202DD38 +_0202DD30: + add r4, r4, #1 + add r5, r5, r7 + cmp r4, #3 + blt _0202DCF0 +_0202DD38: + mov r0, #0x1b + bl sub_0202893C + ldr r0, [sp, #8] + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0202DD44: .word 0x00000152 + thumb_func_end sub_0202DCAC + + thumb_func_start sub_0202DD48 +sub_0202DD48: ; 0x0202DD48 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _0202DD78 ; =0x00001328 + add r4, r1, #0 + ldrh r0, [r5, r0] + bl sub_0202DBBC + cmp r0, #1 + bne _0202DD5E + mov r0, #0 + pop {r3, r4, r5, pc} +_0202DD5E: + ldr r1, _0202DD78 ; =0x00001328 + mov r2, #0xd6 + add r0, r4, #0 + add r1, r5, r1 + lsl r2, r2, #2 + bl MIi_CpuCopy8 + mov r0, #0x1b + bl sub_0202893C + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_0202DD78: .word 0x00001328 + thumb_func_end sub_0202DD48 + + thumb_func_start sub_0202DD7C +sub_0202DD7C: ; 0x0202DD7C + push {r3, r4, r5, lr} + add r5, r1, #0 + add r4, r0, #0 + cmp r5, #8 + blt _0202DD8A + bl GF_AssertFail +_0202DD8A: + lsl r0, r5, #6 + add r0, r5, r0 + lsl r0, r0, #2 + mov r1, #1 + mov r3, #0 + add r2, r4, r0 + lsl r1, r1, #8 + strh r3, [r2, r1] + add r1, r1, #2 + add r3, r4, r1 + ldrh r2, [r3, r0] + mov r1, #3 + bic r2, r1 + strh r2, [r3, r0] + mov r0, #0x1b + bl sub_0202893C + mov r0, #1 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DD7C + + thumb_func_start sub_0202DDB0 +sub_0202DDB0: ; 0x0202DDB0 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #3 + blt _0202DDBE + bl GF_AssertFail +_0202DDBE: + mov r0, #0xd6 + lsl r0, r0, #2 + mul r0, r4 + add r2, r5, r0 + mov r0, #0x92 + mov r1, #0 + lsl r0, r0, #4 + strh r1, [r2, r0] + mov r1, #0xa7 + lsl r1, r1, #4 + ldrh r1, [r2, r1] + add r0, r5, #0 + bl sub_0202DFDC + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202DF38 + mov r0, #0x1b + bl sub_0202893C + mov r0, #1 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DDB0 + + thumb_func_start sub_0202DDEC +sub_0202DDEC: ; 0x0202DDEC + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #3 + blt _0202DDFA + bl GF_AssertFail +_0202DDFA: + mov r0, #0xd6 + lsl r0, r0, #2 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x92 + mov r2, #0 + lsl r0, r0, #4 + strh r2, [r1, r0] + mov r0, #0x1b + bl sub_0202893C + mov r0, #1 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DDEC + + thumb_func_start sub_0202DE14 +sub_0202DE14: ; 0x0202DE14 + push {r3, r4, r5, r6, r7, lr} + mov r7, #0x41 + lsl r7, r7, #2 + add r5, r0, #0 + mov r4, #0 + sub r6, r7, #4 +_0202DE20: + ldrh r0, [r5, r6] + bl sub_0202DBBC + cmp r0, #0 + bne _0202DE2E + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202DE2E: + add r4, r4, #1 + add r5, r5, r7 + cmp r4, #8 + blt _0202DE20 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202DE14 + + thumb_func_start sub_0202DE3C +sub_0202DE3C: ; 0x0202DE3C + push {r3, r4, r5, r6, r7, lr} + mov r7, #0xd6 + mov r6, #0x92 + add r5, r0, #0 + mov r4, #0 + lsl r7, r7, #2 + lsl r6, r6, #4 +_0202DE4A: + ldrh r0, [r5, r6] + bl sub_0202DBBC + cmp r0, #0 + bne _0202DE58 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202DE58: + add r4, r4, #1 + add r5, r5, r7 + cmp r4, #3 + blt _0202DE4A + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202DE3C + + thumb_func_start sub_0202DE64 +sub_0202DE64: ; 0x0202DE64 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #8 + blt _0202DE72 + bl GF_AssertFail +_0202DE72: + lsl r0, r4, #6 + add r0, r4, r0 + lsl r0, r0, #2 + add r1, r5, r0 + mov r0, #1 + lsl r0, r0, #8 + ldrh r0, [r1, r0] + bl sub_0202DBBC + cmp r0, #0 + beq _0202DE8C + mov r0, #1 + pop {r3, r4, r5, pc} +_0202DE8C: + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DE64 + + thumb_func_start sub_0202DE90 +sub_0202DE90: ; 0x0202DE90 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #3 + blt _0202DE9E + bl GF_AssertFail +_0202DE9E: + mov r0, #0xd6 + lsl r0, r0, #2 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x92 + lsl r0, r0, #4 + ldrh r0, [r1, r0] + bl sub_0202DBBC + cmp r0, #0 + beq _0202DEB8 + mov r0, #1 + pop {r3, r4, r5, pc} +_0202DEB8: + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DE90 + + thumb_func_start sub_0202DEBC +sub_0202DEBC: ; 0x0202DEBC + push {r3, lr} + ldr r1, _0202DED4 ; =0x00001328 + ldrh r0, [r0, r1] + bl sub_0202DBBC + cmp r0, #0 + beq _0202DECE + mov r0, #1 + pop {r3, pc} +_0202DECE: + mov r0, #0 + pop {r3, pc} + nop +_0202DED4: .word 0x00001328 + thumb_func_end sub_0202DEBC + + thumb_func_start sub_0202DED8 +sub_0202DED8: ; 0x0202DED8 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 +_0202DEDE: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202DE90 + cmp r0, #1 + bne _0202DEEE + mov r0, #1 + pop {r3, r4, r5, pc} +_0202DEEE: + add r4, r4, #1 + cmp r4, #3 + blt _0202DEDE + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DED8 + + thumb_func_start sub_0202DEF8 +sub_0202DEF8: ; 0x0202DEF8 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, _0202DF34 ; =0x00000102 + add r7, r1, #0 + mov r6, #0 + add r4, r5, r0 +_0202DF04: + mov r0, #1 + lsl r0, r0, #8 + ldrh r0, [r5, r0] + bl sub_0202DBBC + cmp r0, #0 + beq _0202DF20 + ldrh r0, [r4] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + cmp r7, r0 + bne _0202DF20 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202DF20: + mov r0, #0x41 + lsl r0, r0, #2 + add r6, r6, #1 + add r5, r5, r0 + add r4, r4, r0 + cmp r6, #8 + blt _0202DF04 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202DF34: .word 0x00000102 + thumb_func_end sub_0202DEF8 + + thumb_func_start sub_0202DF38 +sub_0202DF38: ; 0x0202DF38 + push {r3, r4, r5, r6, r7, lr} + add r7, r1, #0 + ldr r1, _0202DF78 ; =0x00000102 + str r0, [sp] + mov r6, #0 + add r4, r0, #0 + add r5, r0, r1 +_0202DF46: + mov r0, #1 + lsl r0, r0, #8 + ldrh r0, [r4, r0] + bl sub_0202DBBC + cmp r0, #0 + beq _0202DF68 + ldrh r0, [r5] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + cmp r7, r0 + bne _0202DF68 + ldr r0, [sp] + add r1, r6, #0 + bl sub_0202DD7C + pop {r3, r4, r5, r6, r7, pc} +_0202DF68: + mov r0, #0x41 + lsl r0, r0, #2 + add r6, r6, #1 + add r4, r4, r0 + add r5, r5, r0 + cmp r6, #8 + blt _0202DF46 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202DF78: .word 0x00000102 + thumb_func_end sub_0202DF38 + + thumb_func_start sub_0202DF7C +sub_0202DF7C: ; 0x0202DF7C + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #2 + add r4, r1, #0 + lsl r0, r0, #0xa + cmp r4, r0 + blt _0202DF8E + bl GF_AssertFail +_0202DF8E: + mov r0, #1 + mov r1, #7 + add r2, r4, #0 + and r2, r1 + add r1, r0, #0 + lsl r1, r2 + asr r2, r4, #2 + lsr r2, r2, #0x1d + add r2, r4, r2 + asr r2, r2, #3 + ldrb r2, [r5, r2] + tst r1, r2 + bne _0202DFAA + mov r0, #0 +_0202DFAA: + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DF7C + + thumb_func_start sub_0202DFAC +sub_0202DFAC: ; 0x0202DFAC + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #2 + add r4, r1, #0 + lsl r0, r0, #0xa + cmp r4, r0 + blt _0202DFBE + bl GF_AssertFail +_0202DFBE: + asr r0, r4, #2 + lsr r0, r0, #0x1d + add r0, r4, r0 + asr r1, r0, #3 + mov r2, #7 + ldrb r0, [r5, r1] + mov r3, #1 + and r2, r4 + lsl r3, r2 + orr r0, r3 + strb r0, [r5, r1] + mov r0, #0x1b + bl sub_0202893C + pop {r3, r4, r5, pc} + thumb_func_end sub_0202DFAC + + thumb_func_start sub_0202DFDC +sub_0202DFDC: ; 0x0202DFDC + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + mov r1, #1 + mov r0, #7 + and r0, r4 + add r2, r1, #0 + lsl r2, r0 + mvn r0, r2 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + lsl r0, r1, #0xb + cmp r4, r0 + blt _0202DFFC + bl GF_AssertFail +_0202DFFC: + asr r0, r4, #2 + lsr r0, r0, #0x1d + add r0, r4, r0 + asr r1, r0, #3 + ldrb r0, [r5, r1] + and r0, r6 + strb r0, [r5, r1] + mov r0, #0x1b + bl sub_0202893C + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202DFDC + + thumb_func_start sub_0202E014 +sub_0202E014: ; 0x0202E014 + ldr r3, _0202E01C ; =sub_0202DF7C + ldr r1, _0202E020 ; =0x000007FF + bx r3 + nop +_0202E01C: .word sub_0202DF7C +_0202E020: .word 0x000007FF + thumb_func_end sub_0202E014 + + thumb_func_start sub_0202E024 +sub_0202E024: ; 0x0202E024 + ldr r3, _0202E02C ; =sub_0202DFAC + ldr r1, _0202E030 ; =0x000007FF + bx r3 + nop +_0202E02C: .word sub_0202DFAC +_0202E030: .word 0x000007FF + thumb_func_end sub_0202E024 + + thumb_func_start sub_0202E034 +sub_0202E034: ; 0x0202E034 + push {r3, lr} + ldr r1, _0202E050 ; =0x021D2AF4 + ldr r1, [r1] + cmp r1, #0 + bne _0202E046 + bl sub_020270E4 + ldr r1, _0202E050 ; =0x021D2AF4 + str r0, [r1] +_0202E046: + mov r0, #0x1b + bl sub_0202893C + pop {r3, pc} + nop +_0202E050: .word 0x021D2AF4 + thumb_func_end sub_0202E034 + + thumb_func_start sub_0202E054 +sub_0202E054: ; 0x0202E054 + ldr r0, _0202E064 ; =0x021D2AF4 + ldr r1, [r0] + cmp r1, #0 + beq _0202E060 + mov r1, #0 + str r1, [r0] +_0202E060: + bx lr + nop +_0202E064: .word 0x021D2AF4 + thumb_func_end sub_0202E054 + + thumb_func_start sub_0202E068 +sub_0202E068: ; 0x0202E068 + push {r3, r4, r5, lr} + ldr r4, _0202E08C ; =0x021D2AF4 + mov r5, #0 +_0202E06E: + ldr r0, [r4] + add r1, r5, #0 + bl sub_0202DE64 + cmp r0, #1 + bne _0202E07E + add r0, r5, #0 + pop {r3, r4, r5, pc} +_0202E07E: + add r5, r5, #1 + cmp r5, #8 + blt _0202E06E + mov r0, #0 + mvn r0, r0 + pop {r3, r4, r5, pc} + nop +_0202E08C: .word 0x021D2AF4 + thumb_func_end sub_0202E068 + + thumb_func_start sub_0202E090 +sub_0202E090: ; 0x0202E090 + push {r3, lr} + add r1, r0, #0 + ldr r0, _0202E0A8 ; =0x021D2AF4 + ldr r0, [r0] + bl sub_0202DBCC + cmp r0, #0 + beq _0202E0A4 + ldrh r0, [r0] + pop {r3, pc} +_0202E0A4: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 +_0202E0A8: .word 0x021D2AF4 + thumb_func_end sub_0202E090 + + thumb_func_start sub_0202E0AC +sub_0202E0AC: ; 0x0202E0AC + push {r3, lr} + add r1, r0, #0 + ldr r0, _0202E0C4 ; =0x021D2AF4 + ldr r0, [r0] + bl sub_0202DBCC + cmp r0, #0 + beq _0202E0C0 + add r0, r0, #4 + pop {r3, pc} +_0202E0C0: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 +_0202E0C4: .word 0x021D2AF4 + thumb_func_end sub_0202E0AC + + thumb_func_start sub_0202E0C8 +sub_0202E0C8: ; 0x0202E0C8 + add r1, r0, #0 + ldr r0, _0202E0D4 ; =0x021D2AF4 + ldr r3, _0202E0D8 ; =sub_0202DD7C + ldr r0, [r0] + bx r3 + nop +_0202E0D4: .word 0x021D2AF4 +_0202E0D8: .word sub_0202DD7C + thumb_func_end sub_0202E0C8 + + thumb_func_start sub_0202E0DC +sub_0202E0DC: ; 0x0202E0DC + ldr r0, _0202E0E0 ; =0x00002AB0 + bx lr + .balign 4, 0 +_0202E0E0: .word 0x00002AB0 + thumb_func_end sub_0202E0DC + + thumb_func_start sub_0202E0E4 +sub_0202E0E4: ; 0x0202E0E4 + ldr r3, _0202E0F0 ; =sub_020D47EC + add r1, r0, #0 + mov r0, #0 + ldr r2, _0202E0F4 ; =0x00002AB0 + bx r3 + nop +_0202E0F0: .word sub_020D47EC +_0202E0F4: .word 0x00002AB0 + thumb_func_end sub_0202E0E4 + + thumb_func_start sub_0202E0F8 +sub_0202E0F8: ; 0x0202E0F8 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + str r0, [sp] + str r1, [sp, #4] + str r2, [sp, #8] + cmp r0, #0 + bne _0202E10A + bl GF_AssertFail +_0202E10A: + ldr r1, _0202E288 ; =0x00002AA8 + ldr r0, [sp] + ldr r0, [r0, r1] + cmp r0, #0x1e + blo _0202E118 + bl GF_AssertFail +_0202E118: + ldr r1, _0202E28C ; =0x00002AAC + ldr r0, [sp] + ldr r2, [r0, r1] + ldr r0, _0202E290 ; =0x0000270F + cmp r2, r0 + blo _0202E126 + b _0202E284 +_0202E126: + ldr r0, [sp] + sub r1, r1, #4 + ldr r1, [r0, r1] + mov r0, #0x5b + lsl r0, r0, #2 + add r2, r1, #0 + mul r2, r0 + ldr r0, [sp] + add r0, r0, r2 + str r0, [sp, #0x14] + ldr r0, [sp, #4] + bl sub_02074640 + str r0, [sp, #0x10] + mov r0, #0xb + mov r1, #0 + bl String_ctor + mov r2, #0x5a + add r6, r0, #0 + ldr r1, [sp, #0x14] + mov r0, #0 + lsl r2, r2, #2 + bl sub_020D4790 + ldr r0, [sp, #0x10] + mov r7, #0 + cmp r0, #0 + ble _0202E236 + ldr r5, [sp, #0x14] +_0202E162: + ldr r0, [sp, #4] + add r1, r7, #0 + bl sub_02074644 + add r4, r0, #0 + bl sub_0206DD40 + str r0, [sp, #0xc] + add r0, r4, #0 + mov r1, #0x4c + mov r2, #0 + bl sub_0206E540 + cmp r0, #0 + bne _0202E226 + add r0, r4, #0 + mov r1, #5 + mov r2, #0 + bl sub_0206E540 + strh r0, [r5] + add r0, r4, #0 + mov r1, #0xa1 + mov r2, #0 + bl sub_0206E540 + strb r0, [r5, #2] + add r0, r4, #0 + mov r1, #0x70 + mov r2, #0 + bl sub_0206E540 + mov r1, #0 + strb r0, [r5, #3] + add r0, r4, #0 + add r2, r1, #0 + bl sub_0206E540 + str r0, [r5, #4] + add r0, r4, #0 + mov r1, #7 + mov r2, #0 + bl sub_0206E540 + str r0, [r5, #8] + add r0, r4, #0 + mov r1, #0x36 + mov r2, #0 + bl sub_0206E540 + strh r0, [r5, #0x32] + add r0, r4, #0 + mov r1, #0x37 + mov r2, #0 + bl sub_0206E540 + strh r0, [r5, #0x34] + add r0, r4, #0 + mov r1, #0x38 + mov r2, #0 + bl sub_0206E540 + strh r0, [r5, #0x36] + add r0, r4, #0 + mov r1, #0x39 + mov r2, #0 + bl sub_0206E540 + strh r0, [r5, #0x38] + cmp r6, #0 + beq _0202E21E + add r0, r4, #0 + mov r1, #0x77 + add r2, r6, #0 + bl sub_0206E540 + add r1, r5, #0 + add r0, r6, #0 + add r1, #0xc + mov r2, #0xb + bl CopyStringToU16Array + add r0, r4, #0 + mov r1, #0x91 + add r2, r6, #0 + bl sub_0206E540 + add r1, r5, #0 + add r0, r6, #0 + add r1, #0x22 + mov r2, #8 + bl CopyStringToU16Array + b _0202E224 +_0202E21E: + ldr r0, _0202E294 ; =0x0000FFFF + strh r0, [r5, #0xc] + strh r0, [r5, #0x22] +_0202E224: + add r5, #0x3c +_0202E226: + ldr r1, [sp, #0xc] + add r0, r4, #0 + bl sub_0206DD8C + ldr r0, [sp, #0x10] + add r7, r7, #1 + cmp r7, r0 + blt _0202E162 +_0202E236: + ldr r0, [sp, #8] + mov r1, #0x5a + ldr r2, [r0] + ldr r0, [sp, #0x14] + lsl r1, r1, #2 + strh r2, [r0, r1] + ldr r0, [sp, #8] + add r2, r1, #2 + ldr r3, [r0, #4] + ldr r0, [sp, #0x14] + add r1, r1, #3 + strb r3, [r0, r2] + ldr r0, [sp, #8] + ldr r2, [r0, #8] + ldr r0, [sp, #0x14] + strb r2, [r0, r1] + ldr r1, _0202E288 ; =0x00002AA8 + ldr r0, [sp] + ldr r0, [r0, r1] + add r2, r0, #1 + ldr r0, [sp] + str r2, [r0, r1] + ldr r0, [r0, r1] + cmp r0, #0x1e + blo _0202E26E + ldr r0, [sp] + mov r2, #0 + str r2, [r0, r1] +_0202E26E: + ldr r1, _0202E28C ; =0x00002AAC + ldr r0, [sp] + ldr r0, [r0, r1] + add r2, r0, #1 + ldr r0, [sp] + cmp r6, #0 + str r2, [r0, r1] + beq _0202E284 + add r0, r6, #0 + bl String_dtor +_0202E284: + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202E288: .word 0x00002AA8 +_0202E28C: .word 0x00002AAC +_0202E290: .word 0x0000270F +_0202E294: .word 0x0000FFFF + thumb_func_end sub_0202E0F8 + + thumb_func_start sub_0202E298 +sub_0202E298: ; 0x0202E298 + push {r4, lr} + add r4, r0, #0 + bne _0202E2A2 + bl GF_AssertFail +_0202E2A2: + ldr r0, _0202E2BC ; =0x00002AA8 + ldr r0, [r4, r0] + cmp r0, #0x1e + blo _0202E2AE + bl GF_AssertFail +_0202E2AE: + ldr r0, _0202E2C0 ; =0x00002AAC + ldr r0, [r4, r0] + cmp r0, #0x1e + blo _0202E2B8 + mov r0, #0x1e +_0202E2B8: + pop {r4, pc} + nop +_0202E2BC: .word 0x00002AA8 +_0202E2C0: .word 0x00002AAC + thumb_func_end sub_0202E298 + + thumb_func_start sub_0202E2C4 +sub_0202E2C4: ; 0x0202E2C4 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + cmp r5, #0 + bne _0202E2D2 + bl GF_AssertFail +_0202E2D2: + ldr r0, _0202E2F0 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202E2DE + bl GF_AssertFail +_0202E2DE: + cmp r4, #0x1e + blt _0202E2E6 + bl GF_AssertFail +_0202E2E6: + ldr r0, _0202E2F4 ; =0x00002AAC + ldr r0, [r5, r0] + sub r0, r0, r4 + pop {r3, r4, r5, pc} + nop +_0202E2F0: .word 0x00002AA8 +_0202E2F4: .word 0x00002AAC + thumb_func_end sub_0202E2C4 + + thumb_func_start sub_0202E2F8 +sub_0202E2F8: ; 0x0202E2F8 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + cmp r5, #0 + bne _0202E306 + bl GF_AssertFail +_0202E306: + ldr r0, _0202E340 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202E312 + bl GF_AssertFail +_0202E312: + cmp r4, #0x1e + blt _0202E31A + bl GF_AssertFail +_0202E31A: + ldr r0, _0202E340 ; =0x00002AA8 + ldr r0, [r5, r0] + sub r0, r0, #1 + sub r2, r0, r4 + bpl _0202E326 + add r2, #0x1e +_0202E326: + mov r1, #0x5b + lsl r1, r1, #2 + mul r1, r2 + mov r0, #0 + add r2, r5, r1 +_0202E330: + ldrh r1, [r2] + cmp r1, #0 + beq _0202E33E + add r0, r0, #1 + add r2, #0x3c + cmp r0, #6 + blo _0202E330 +_0202E33E: + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202E340: .word 0x00002AA8 + thumb_func_end sub_0202E2F8 + + thumb_func_start sub_0202E344 +sub_0202E344: ; 0x0202E344 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + add r4, r3, #0 + cmp r5, #0 + bne _0202E356 + bl GF_AssertFail +_0202E356: + ldr r0, _0202E3C0 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202E362 + bl GF_AssertFail +_0202E362: + cmp r6, #0x1e + blt _0202E36A + bl GF_AssertFail +_0202E36A: + ldr r0, _0202E3C0 ; =0x00002AA8 + ldr r0, [r5, r0] + sub r0, r0, #1 + sub r1, r0, r6 + bpl _0202E376 + add r1, #0x1e +_0202E376: + mov r0, #0x5b + lsl r0, r0, #2 + mul r0, r1 + add r1, r5, r0 + mov r0, #0x3c + mul r0, r7 + add r5, r1, r0 + ldrh r0, [r1, r0] + add r1, r5, #0 + add r1, #0xc + strh r0, [r4, #0x10] + ldrb r0, [r5, #2] + strb r0, [r4, #0x12] + ldr r0, [r5, #4] + str r0, [r4, #8] + ldr r0, [r5, #8] + str r0, [r4, #0xc] + ldrb r0, [r5, #3] + strb r0, [r4, #0x13] + ldr r0, [r4] + bl CopyU16ArrayToString + add r1, r5, #0 + ldr r0, [r4, #4] + add r1, #0x22 + bl CopyU16ArrayToString + mov r1, #0 +_0202E3AE: + ldrh r0, [r5, #0x32] + add r1, r1, #1 + add r5, r5, #2 + strh r0, [r4, #0x14] + add r4, r4, #2 + cmp r1, #4 + blt _0202E3AE + pop {r3, r4, r5, r6, r7, pc} + nop +_0202E3C0: .word 0x00002AA8 + thumb_func_end sub_0202E344 + + thumb_func_start sub_0202E3C4 +sub_0202E3C4: ; 0x0202E3C4 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + add r4, r2, #0 + cmp r5, #0 + bne _0202E3D4 + bl GF_AssertFail +_0202E3D4: + ldr r0, _0202E418 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202E3E0 + bl GF_AssertFail +_0202E3E0: + cmp r6, #0x1e + blt _0202E3E8 + bl GF_AssertFail +_0202E3E8: + ldr r0, _0202E418 ; =0x00002AA8 + ldr r0, [r5, r0] + sub r0, r0, #1 + sub r2, r0, r6 + bpl _0202E3F4 + add r2, #0x1e +_0202E3F4: + mov r0, #0x5b + lsl r0, r0, #2 + add r1, r2, #0 + mul r1, r0 + add r2, r5, r1 + sub r1, r0, #4 + ldrh r1, [r2, r1] + str r1, [r4] + sub r1, r0, #2 + ldrb r1, [r2, r1] + sub r0, r0, #1 + str r1, [r4, #4] + ldrb r0, [r2, r0] + str r0, [r4, #8] + mov r0, #0 + str r0, [r4, #0xc] + pop {r4, r5, r6, pc} + nop +_0202E418: .word 0x00002AA8 + thumb_func_end sub_0202E3C4 + + thumb_func_start sub_0202E41C +sub_0202E41C: ; 0x0202E41C + ldr r0, _0202E420 ; =0x00000BC8 + bx lr + .balign 4, 0 +_0202E420: .word 0x00000BC8 + thumb_func_end sub_0202E41C + + thumb_func_start sub_0202E424 +sub_0202E424: ; 0x0202E424 + push {r3, lr} + ldr r2, _0202E438 ; =0x00000BC8 + add r1, r0, #0 + mov r0, #0 + bl MIi_CpuClearFast + mov r0, #0x17 + bl sub_0202893C + pop {r3, pc} + .balign 4, 0 +_0202E438: .word 0x00000BC8 + thumb_func_end sub_0202E424 + + thumb_func_start sub_0202E43C +sub_0202E43C: ; 0x0202E43C + push {r4, lr} + add r4, r0, #0 + add r1, r4, #0 + mov r0, #0 + add r1, #0xc + mov r2, #0xc0 + bl MIi_CpuClearFast + add r1, r4, #0 + mov r0, #0 + add r1, #0xcc + mov r2, #0xc0 + bl MIi_CpuClearFast + mov r1, #0x63 + lsl r1, r1, #2 + mov r0, #0 + add r1, r4, r1 + mov r2, #0xc0 + bl MIi_CpuClearFast + add r0, r4, #0 + bl sub_0202E474 + mov r0, #0x17 + bl sub_0202893C + pop {r4, pc} + thumb_func_end sub_0202E43C + + thumb_func_start sub_0202E474 +sub_0202E474: ; 0x0202E474 + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + bl sub_0202E48C + add r0, r4, #0 + bl sub_0202E498 + mov r0, #0x17 + bl sub_0202893C + pop {r4, pc} + thumb_func_end sub_0202E474 + + thumb_func_start sub_0202E48C +sub_0202E48C: ; 0x0202E48C + ldr r3, _0202E494 ; =sub_0202893C + strb r1, [r0, #8] + mov r0, #0x17 + bx r3 + .balign 4, 0 +_0202E494: .word sub_0202893C + thumb_func_end sub_0202E48C + + thumb_func_start sub_0202E498 +sub_0202E498: ; 0x0202E498 + mov r2, #0 + add r1, r2, #0 +_0202E49C: + strb r1, [r0, r2] + add r2, r2, #1 + cmp r2, #4 + blt _0202E49C + ldr r3, _0202E4AC ; =sub_0202893C + mov r0, #0x17 + bx r3 + nop +_0202E4AC: .word sub_0202893C + thumb_func_end sub_0202E498 + + thumb_func_start sub_0202E4B0 +sub_0202E4B0: ; 0x0202E4B0 + lsl r1, r0, #1 + ldr r0, _0202E4B8 ; =0x020F684C + ldrb r0, [r0, r1] + bx lr + .balign 4, 0 +_0202E4B8: .word 0x020F684C + thumb_func_end sub_0202E4B0 + + thumb_func_start sub_0202E4BC +sub_0202E4BC: ; 0x0202E4BC + lsl r1, r0, #1 + ldr r0, _0202E4C4 ; =0x020F684D + ldrb r0, [r0, r1] + bx lr + .balign 4, 0 +_0202E4C4: .word 0x020F684D + thumb_func_end sub_0202E4BC + + thumb_func_start sub_0202E4C8 +sub_0202E4C8: ; 0x0202E4C8 + push {r3, lr} + mov r1, #0 + str r1, [r0] + str r1, [r0, #4] + add r0, #8 + mov r1, #8 + bl StringFillEOS + mov r0, #0x18 + bl sub_0202893C + pop {r3, pc} + thumb_func_end sub_0202E4C8 + + thumb_func_start sub_0202E4E0 +sub_0202E4E0: ; 0x0202E4E0 + push {r3, lr} + add r0, #8 + bl StringLength + cmp r0, #0 + beq _0202E4F0 + mov r0, #1 + pop {r3, pc} +_0202E4F0: + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_0202E4E0 + + thumb_func_start sub_0202E4F4 +sub_0202E4F4: ; 0x0202E4F4 + mov r0, #0xea + lsl r0, r0, #4 + bx lr + .balign 4, 0 + thumb_func_end sub_0202E4F4 + + thumb_func_start sub_0202E4FC +sub_0202E4FC: ; 0x0202E4FC + push {r3, r4, r5, r6, r7, lr} + mov r2, #0xea + mov r1, #0 + lsl r2, r2, #4 + add r6, r0, #0 + bl MIi_CpuFill8 + mov r7, #0 +_0202E50C: + mov r4, #0 + add r5, r6, #0 +_0202E510: + add r0, r5, #0 + bl sub_0202E4C8 + add r4, r4, #1 + add r5, #0x18 + cmp r4, #6 + blt _0202E510 + add r7, r7, #1 + add r6, #0x90 + cmp r7, #0x1a + blt _0202E50C + mov r0, #0x18 + bl sub_0202893C + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202E4FC + + thumb_func_start sub_0202E530 +sub_0202E530: ; 0x0202E530 + push {r4, lr} + add r4, r0, #0 + mov r0, #0x18 + bl sub_02028900 + add r0, r4, #0 + mov r1, #0x18 + bl SavArray_get + pop {r4, pc} + thumb_func_end sub_0202E530 + + thumb_func_start sub_0202E544 +sub_0202E544: ; 0x0202E544 + push {r4, r5, r6, lr} + cmp r2, #6 + blo _0202E552 + blo _0202E58A + bl GF_AssertFail + pop {r4, r5, r6, pc} +_0202E552: + mov r3, #0x90 + mul r3, r1 + add r3, r0, r3 + cmp r2, #5 + bge _0202E57C + mov r0, #0x18 + mul r0, r2 + add r6, r3, r0 +_0202E562: + add r5, r6, #0 + add r5, #0x18 + add r4, r6, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + add r2, r2, #1 + add r6, #0x18 + stmia r4!, {r0, r1} + cmp r2, #5 + blt _0202E562 +_0202E57C: + add r3, #0x78 + add r0, r3, #0 + bl sub_0202E4C8 + mov r0, #0x18 + bl sub_0202893C +_0202E58A: + pop {r4, r5, r6, pc} + thumb_func_end sub_0202E544 + + thumb_func_start sub_0202E58C +sub_0202E58C: ; 0x0202E58C + mov r0, #0x4e + lsl r0, r0, #2 + bx lr + .balign 4, 0 + thumb_func_end sub_0202E58C + + thumb_func_start sub_0202E594 +sub_0202E594: ; 0x0202E594 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r5, r0, #0 + add r6, r1, #0 + bl sub_0202CF54 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203107C + str r0, [sp, #4] + add r0, r6, #0 + mov r1, #0x34 + bl AllocFromHeapAtEnd + ldr r7, _0202E668 ; =0x020F6854 + str r0, [sp] + mov r6, #0 + add r5, r0, #0 +_0202E5BA: + cmp r6, #5 + beq _0202E5C8 + cmp r6, #0xa + beq _0202E5EC + cmp r6, #0xb + beq _0202E606 + b _0202E630 +_0202E5C8: + add r0, r4, #0 + mov r1, #0x10 + bl sub_0202D18C + str r0, [sp, #8] + cmp r0, #0 + beq _0202E5E6 + add r0, r4, #0 + mov r1, #0x1e + bl sub_0202D18C + ldr r1, [sp, #8] + bl _u32_div_f + str r0, [sp, #8] +_0202E5E6: + ldr r0, [sp, #8] + str r0, [r5] + b _0202E650 +_0202E5EC: + add r0, r4, #0 + mov r1, #0x5d + bl sub_0202D18C + str r0, [sp, #0xc] + add r0, r4, #0 + mov r1, #0x5e + bl sub_0202D18C + ldr r1, [sp, #0xc] + add r0, r1, r0 + str r0, [r5] + b _0202E650 +_0202E606: + add r0, r4, #0 + mov r1, #0x5b + bl sub_0202D18C + str r0, [sp, #0x10] + add r0, r4, #0 + mov r1, #0x5c + bl sub_0202D18C + ldr r1, [sp, #0x10] + add r1, r1, r0 + beq _0202E62C + ldr r0, [sp] + ldr r2, [r0, #0x28] + mov r0, #0x64 + mul r0, r2 + bl _u32_div_f + add r1, r0, #0 +_0202E62C: + str r1, [r5] + b _0202E650 +_0202E630: + cmp r6, #0 + blt _0202E646 + cmp r6, #4 + bgt _0202E646 + ldr r0, [sp, #4] + ldr r1, [r7] + mov r2, #0xff + bl sub_020310BC + str r0, [r5] + b _0202E650 +_0202E646: + ldr r1, [r7] + add r0, r4, #0 + bl sub_0202D18C + str r0, [r5] +_0202E650: + add r6, r6, #1 + add r5, r5, #4 + add r7, r7, #4 + cmp r6, #0xd + blt _0202E5BA + mov r0, #0x18 + bl sub_0202893C + ldr r0, [sp] + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + nop +_0202E668: .word 0x020F6854 + thumb_func_end sub_0202E594 + + thumb_func_start sub_0202E66C +sub_0202E66C: ; 0x0202E66C + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r5, r0, #0 + add r4, r1, #0 + bl sub_02028E9C + mov r1, #0x4e + add r6, r0, #0 + add r0, r4, #0 + lsl r1, r1, #2 + bl AllocFromHeapAtEnd + mov r2, #0x4e + mov r1, #0 + lsl r2, r2, #2 + str r0, [sp, #4] + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0202C854 + mov r1, #1 + bl sub_0202C7B4 + str r0, [sp, #8] + add r0, r6, #0 + add r1, r4, #0 + bl sub_02028F68 + add r7, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202E594 + ldr r4, [sp, #4] + str r0, [sp] + mov r6, #0 + add r5, r0, #0 +_0202E6B8: + ldr r0, [sp, #8] + add r1, r4, #0 + str r0, [r4] + add r0, r7, #0 + add r1, #8 + mov r2, #8 + bl CopyStringToU16Array + ldr r0, [r5] + add r6, r6, #1 + str r0, [r4, #4] + add r4, #0x18 + add r5, r5, #4 + cmp r6, #0xd + blt _0202E6B8 + ldr r0, [sp] + bl FreeToHeap + add r0, r7, #0 + bl String_dtor + mov r0, #0x18 + bl sub_0202893C + ldr r0, [sp, #4] + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202E66C + + thumb_func_start sub_0202E6F0 +sub_0202E6F0: ; 0x0202E6F0 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 +_0202E6F6: + add r0, r5, #0 + bl sub_0202E4C8 + add r4, r4, #1 + add r5, #0x18 + cmp r4, #6 + blt _0202E6F6 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202E6F0 + + thumb_func_start sub_0202E708 +sub_0202E708: ; 0x0202E708 + push {r3, lr} + ldr r3, [r0] + ldr r2, [r1] + cmp r3, r2 + beq _0202E716 + mov r0, #0 + pop {r3, pc} +_0202E716: + add r0, #8 + add r1, #8 + bl StringNotEqual + cmp r0, #0 + bne _0202E726 + mov r0, #1 + pop {r3, pc} +_0202E726: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202E708 + + thumb_func_start sub_0202E72C +sub_0202E72C: ; 0x0202E72C + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + ldr r0, [r6, #4] + add r7, r1, #0 + mov r4, #0 + cmp r0, #0 + ble _0202E756 + add r5, r6, #0 +_0202E73C: + ldr r0, [r5, #0xc] + add r1, r7, #0 + bl sub_0202E708 + cmp r0, #0 + beq _0202E74C + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202E74C: + ldr r0, [r6, #4] + add r4, r4, #1 + add r5, r5, #4 + cmp r4, r0 + blt _0202E73C +_0202E756: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202E72C + + thumb_func_start sub_0202E75C +sub_0202E75C: ; 0x0202E75C + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r6, r1, #0 + add r5, r0, #0 + str r2, [sp] + add r0, r6, #0 + mov r1, #0 + mov r2, #0xe0 + add r4, r3, #0 + bl MIi_CpuFill8 + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + cmp r0, #0 + bne _0202E7EC + mov r2, #0x90 + add r0, r4, #0 + mul r0, r2 + add r1, r6, #0 + add r0, r5, r0 + add r1, #0x50 + str r0, [sp, #8] + bl MIi_CpuCopy8 + add r1, sp, #0x10 + ldrb r3, [r1, #0x18] + mov r0, #0 + cmp r3, #0 + ble _0202E7B6 + mov r2, #0x18 + ldr r1, [sp, #0x24] + mul r2, r4 +_0202E79C: + ldr r5, [r6, #4] + add r0, r0, #1 + add r4, r5, #0 + add r4, r4, #1 + str r4, [r6, #4] + ldr r4, [r1] + lsl r5, r5, #2 + add r4, r4, r2 + add r5, r6, r5 + str r4, [r5, #0xc] + add r1, r1, #4 + cmp r0, r3 + blt _0202E79C +_0202E7B6: + add r4, r6, #0 + add r4, #0x50 + mov r7, #0 + add r5, r4, #0 +_0202E7BE: + add r0, r4, #0 + bl sub_0202E4E0 + cmp r0, #0 + beq _0202E7E0 + add r0, r6, #0 + add r1, r5, #0 + bl sub_0202E72C + cmp r0, #0 + bne _0202E7E0 + ldr r1, [r6] + add r0, r1, #1 + str r0, [r6] + lsl r0, r1, #2 + add r0, r6, r0 + str r4, [r0, #0x38] +_0202E7E0: + add r7, r7, #1 + add r4, #0x18 + add r5, #0x18 + cmp r7, #6 + blt _0202E7BE + b _0202E880 +_0202E7EC: + add r0, r4, #0 + add r0, #0xd + mov r2, #0x90 + add r1, r0, #0 + mul r1, r2 + add r0, r5, r1 + add r1, r6, #0 + add r1, #0x50 + str r0, [sp, #8] + bl MIi_CpuCopy8 + add r0, sp, #0x10 + ldrb r2, [r0, #0x18] + mov r3, #0 + cmp r2, #0 + ble _0202E83A + mov r1, #0x18 + ldr r0, [sp, #0x24] + mul r1, r4 +_0202E812: + ldr r4, [r0] + ldr r5, [r1, r4] + cmp r5, #0 + beq _0202E832 + ldr r4, [sp] + cmp r4, r5 + bne _0202E832 + ldr r5, [r6, #4] + add r4, r5, #0 + add r4, r4, #1 + str r4, [r6, #4] + ldr r4, [r0] + lsl r5, r5, #2 + add r4, r4, r1 + add r5, r6, r5 + str r4, [r5, #0xc] +_0202E832: + add r3, r3, #1 + add r0, r0, #4 + cmp r3, r2 + blt _0202E812 +_0202E83A: + add r4, r6, #0 + mov r0, #0 + add r4, #0x50 + str r0, [sp, #4] + add r5, r6, #0 + add r7, r4, #0 +_0202E846: + add r0, r4, #0 + bl sub_0202E4E0 + cmp r0, #0 + beq _0202E870 + ldr r1, [r5, #0x50] + ldr r0, [sp] + cmp r0, r1 + bne _0202E870 + add r0, r6, #0 + add r1, r7, #0 + bl sub_0202E72C + cmp r0, #0 + bne _0202E870 + ldr r1, [r6] + add r0, r1, #1 + str r0, [r6] + lsl r0, r1, #2 + add r0, r6, r0 + str r4, [r0, #0x38] +_0202E870: + ldr r0, [sp, #4] + add r4, #0x18 + add r0, r0, #1 + add r5, #0x18 + add r7, #0x18 + str r0, [sp, #4] + cmp r0, #6 + blt _0202E846 +_0202E880: + ldr r1, [r6, #4] + ldr r0, [r6] + mov r2, #0 + add r0, r1, r0 + str r0, [r6, #8] + ldr r0, [r6] + cmp r0, #0 + ble _0202E8A8 + add r1, r6, #0 +_0202E892: + ldr r3, [r6, #4] + ldr r0, [r1, #0x38] + add r3, r2, r3 + lsl r3, r3, #2 + add r3, r6, r3 + str r0, [r3, #0xc] + ldr r0, [r6] + add r2, r2, #1 + add r1, r1, #4 + cmp r2, r0 + blt _0202E892 +_0202E8A8: + mov r0, #0 + mov ip, r0 + ldr r0, [r6, #8] + sub r5, r0, #1 + cmp r5, #0 + ble _0202E8EC + add r3, r6, #0 +_0202E8B6: + mov r0, ip + cmp r5, r0 + ble _0202E8DA + lsl r0, r5, #2 + add r4, r6, r0 +_0202E8C0: + ldr r2, [r4, #0xc] + ldr r7, [r3, #0xc] + ldr r0, [r2, #4] + ldr r1, [r7, #4] + cmp r1, r0 + bhs _0202E8D0 + str r2, [r3, #0xc] + str r7, [r4, #0xc] +_0202E8D0: + sub r5, r5, #1 + mov r0, ip + sub r4, r4, #4 + cmp r5, r0 + bgt _0202E8C0 +_0202E8DA: + mov r0, ip + add r0, r0, #1 + mov ip, r0 + ldr r0, [r6, #8] + add r3, r3, #4 + sub r5, r0, #1 + mov r0, ip + cmp r0, r5 + blt _0202E8B6 +_0202E8EC: + ldr r0, [sp, #8] + bl sub_0202E6F0 + mov r3, #0 + add r2, r6, #0 + b _0202E912 +_0202E8F8: + ldr r5, [r2, #0xc] + ldr r4, [sp, #8] + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldr r0, [sp, #8] + add r2, r2, #4 + add r0, #0x18 + str r0, [sp, #8] + add r3, r3, #1 +_0202E912: + cmp r3, #6 + bge _0202E91C + ldr r0, [r6, #8] + cmp r3, r0 + blt _0202E8F8 +_0202E91C: + add sp, #0xc + pop {r4, r5, r6, r7, pc} + thumb_func_end sub_0202E75C + + thumb_func_start sub_0202E920 +sub_0202E920: ; 0x0202E920 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r7, r0, #0 + add r5, r1, #0 + ldr r0, [sp, #0x2c] + mov r1, #0xe0 + str r2, [sp, #0x10] + add r4, r3, #0 + bl AllocFromHeapAtEnd + add r6, r0, #0 + mov r0, #0 + str r0, [sp] + str r4, [sp, #4] + add r0, sp, #0x18 + ldrb r0, [r0, #0x10] + add r1, r6, #0 + add r2, r5, #0 + str r0, [sp, #8] + ldr r0, [sp, #0x2c] + str r0, [sp, #0xc] + ldr r3, [sp, #0x10] + add r0, r7, #0 + bl sub_0202E75C + cmp r5, #0 + beq _0202E972 + mov r0, #1 + str r0, [sp] + str r4, [sp, #4] + add r0, sp, #0x18 + ldrb r0, [r0, #0x10] + add r1, r6, #0 + add r2, r5, #0 + str r0, [sp, #8] + ldr r0, [sp, #0x2c] + str r0, [sp, #0xc] + ldr r3, [sp, #0x10] + add r0, r7, #0 + bl sub_0202E75C +_0202E972: + add r0, r6, #0 + bl FreeToHeap + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + thumb_func_end sub_0202E920 + + thumb_func_start sub_0202E97C +sub_0202E97C: ; 0x0202E97C + push {r4, r5, r6, r7, lr} + sub sp, #0x24 + add r6, r1, #0 + ldr r1, [sp, #0x38] + add r4, r0, #0 + add r5, r2, #0 + add r7, r3, #0 + str r1, [sp, #0x38] + bl sub_0202E530 + str r0, [sp, #8] + add r0, r4, #0 + bl sub_0202C854 + mov r1, #1 + bl sub_0202C7B4 + mov r4, #0 + add r3, r4, #0 + str r0, [sp, #0xc] + cmp r5, #0 + bls _0202E9CC +_0202E9A8: + cmp r3, r6 + beq _0202E9C2 + lsl r0, r3, #2 + ldr r2, [r7, r0] + cmp r2, #0 + beq _0202E9C2 + add r1, r4, #1 + add r0, r4, #0 + lsl r1, r1, #0x18 + lsr r4, r1, #0x18 + lsl r1, r0, #2 + add r0, sp, #0x10 + str r2, [r0, r1] +_0202E9C2: + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, r5 + blo _0202E9A8 +_0202E9CC: + cmp r4, #0 + beq _0202E9F6 + mov r5, #0 + add r6, sp, #0x10 +_0202E9D4: + ldr r0, [sp, #0x38] + str r4, [sp] + str r0, [sp, #4] + ldr r0, [sp, #8] + ldr r1, [sp, #0xc] + add r2, r5, #0 + add r3, r6, #0 + bl sub_0202E920 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0xd + blo _0202E9D4 + mov r0, #0x18 + bl sub_0202893C +_0202E9F6: + add sp, #0x24 + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202E97C + + thumb_func_start sub_0202E9FC +sub_0202E9FC: ; 0x0202E9FC + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + str r2, [sp] + add r4, r0, #0 + add r5, r1, #0 + bl sub_02028E9C + str r0, [sp, #4] + ldr r0, [sp] + mov r1, #0x4c + bl AllocFromHeap + mov r1, #0 + mov r2, #0x4c + add r7, r0, #0 + bl MIi_CpuFill8 + add r0, r4, #0 + bl sub_0202C854 + mov r1, #1 + bl sub_0202C7B4 + str r0, [sp, #0xc] + ldr r1, [sp] + add r0, r4, #0 + bl sub_0202E594 + str r0, [sp, #8] + add r0, r5, #0 + bl sub_0202E4B0 + str r0, [r7] + add r0, r5, #0 + bl sub_0202E4BC + ldr r1, [r7] + mov r6, #0 + cmp r1, #0 + ble _0202EA72 + lsl r1, r0, #2 + ldr r0, [sp, #8] + add r4, r7, #0 + add r5, r0, r1 +_0202EA54: + ldr r0, [sp, #0xc] + ldr r1, [sp] + str r0, [r4, #4] + ldr r0, [r5] + str r0, [r4, #8] + ldr r0, [sp, #4] + bl sub_02028F68 + str r0, [r4, #0xc] + ldr r0, [r7] + add r6, r6, #1 + add r4, #0xc + add r5, r5, #4 + cmp r6, r0 + blt _0202EA54 +_0202EA72: + ldr r0, [sp, #8] + bl FreeToHeap + add r0, r7, #0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202E9FC + + thumb_func_start sub_0202EA80 +sub_0202EA80: ; 0x0202EA80 + push {r3, r4, r5, r6, r7, lr} + add r7, r2, #0 + add r5, r0, #0 + str r1, [sp] + add r0, r7, #0 + mov r1, #0x4c + bl AllocFromHeap + mov r1, #0 + mov r2, #0x4c + add r4, r0, #0 + bl MIi_CpuFill8 + ldr r0, [sp] + mov r1, #0x90 + mul r1, r0 + mov r6, #0 + add r5, r5, r1 +_0202EAA4: + add r0, r5, #0 + bl sub_0202E4E0 + cmp r0, #0 + beq _0202EAF0 + ldr r2, [r4] + mov r1, #0xc + mul r1, r2 + ldr r0, [r5] + add r1, r4, r1 + str r0, [r1, #4] + ldr r2, [r4] + mov r1, #0xc + mul r1, r2 + ldr r0, [r5, #4] + add r1, r4, r1 + str r0, [r1, #8] + mov r0, #8 + add r1, r7, #0 + bl String_ctor + ldr r2, [r4] + mov r1, #0xc + mul r1, r2 + add r1, r4, r1 + str r0, [r1, #0xc] + ldr r1, [r4] + mov r0, #0xc + mul r0, r1 + add r0, r4, r0 + add r1, r5, #0 + ldr r0, [r0, #0xc] + add r1, #8 + bl CopyU16ArrayToString + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_0202EAF0: + add r6, r6, #1 + add r5, #0x18 + cmp r6, #6 + blt _0202EAA4 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202EA80 + + thumb_func_start sub_0202EAFC +sub_0202EAFC: ; 0x0202EAFC + push {r4, r5, r6, lr} + add r6, r0, #0 + mov r4, #0 + add r5, r6, #0 +_0202EB04: + ldr r0, [r5, #0xc] + cmp r0, #0 + beq _0202EB0E + bl String_dtor +_0202EB0E: + add r4, r4, #1 + add r5, #0xc + cmp r4, #6 + blt _0202EB04 + add r0, r6, #0 + mov r1, #0 + mov r2, #0x4c + bl MIi_CpuFill8 + add r0, r6, #0 + bl FreeToHeap + mov r0, #0x18 + bl sub_0202893C + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202EAFC + + thumb_func_start sub_0202EB30 +sub_0202EB30: ; 0x0202EB30 + ldr r0, _0202EB34 ; =0x00000688 + bx lr + .balign 4, 0 +_0202EB34: .word 0x00000688 + thumb_func_end sub_0202EB30 + + thumb_func_start sub_0202EB38 +sub_0202EB38: ; 0x0202EB38 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r2, _0202EB70 ; =0x00000688 + mov r0, #0 + add r1, r5, #0 + bl MIi_CpuClearFast + mov r4, #0 + mov r6, #0xac + add r7, r4, #0 +_0202EB4C: + add r0, r5, #0 + bl ZeroMonData + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + bl sub_0206E540 + cmp r0, #0 + beq _0202EB64 + bl GF_AssertFail +_0202EB64: + add r4, r4, #1 + add r5, #0xec + cmp r4, #6 + blt _0202EB4C + pop {r3, r4, r5, r6, r7, pc} + nop +_0202EB70: .word 0x00000688 + thumb_func_end sub_0202EB38 + + thumb_func_start sub_0202EB74 +sub_0202EB74: ; 0x0202EB74 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r2, _0202EBAC ; =0x00000588 + mov r0, #0 + add r1, r5, #0 + bl MIi_CpuClearFast + mov r4, #0 + mov r6, #0xac + add r7, r4, #0 +_0202EB88: + add r0, r5, #0 + bl ZeroMonData + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + bl sub_0206E540 + cmp r0, #0 + beq _0202EBA0 + bl GF_AssertFail +_0202EBA0: + add r4, r4, #1 + add r5, #0xec + cmp r4, #6 + blt _0202EB88 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202EBAC: .word 0x00000588 + thumb_func_end sub_0202EB74 + + thumb_func_start sub_0202EBB0 +sub_0202EBB0: ; 0x0202EBB0 + push {r4, r5, r6, r7} + add r2, r0, #0 + ldr r3, _0202EC08 ; =0x00000588 + mov r0, #0 + add r5, r2, #0 +_0202EBBA: + ldr r4, [r5, r3] + cmp r1, r4 + beq _0202EC04 + add r0, r0, #1 + add r5, r5, #4 + cmp r0, #0x14 + blt _0202EBBA + ldr r1, _0202EC08 ; =0x00000588 + mov r0, #0 + add r4, r2, #0 +_0202EBCE: + ldr r3, [r4, r1] + cmp r3, #0 + beq _0202EC04 + add r0, r0, #1 + add r4, r4, #4 + cmp r0, #0x14 + blt _0202EBCE + mov r3, #0 + ldr r4, _0202EC0C ; =0x7FFFFFFF + add r5, r3, #0 +_0202EBE2: + ldr r0, _0202EC10 ; =0x000005D8 + ldr r1, [r2, r0] + add r0, r0, #4 + ldr r0, [r2, r0] + sub r6, r1, r4 + mov ip, r0 + mov r6, ip + sbc r6, r3 + bge _0202EBFA + add r4, r1, #0 + add r3, r0, #0 + add r7, r5, #0 +_0202EBFA: + add r5, r5, #1 + add r2, #8 + cmp r5, #0x14 + blt _0202EBE2 + add r0, r7, #0 +_0202EC04: + pop {r4, r5, r6, r7} + bx lr + .balign 4, 0 +_0202EC08: .word 0x00000588 +_0202EC0C: .word 0x7FFFFFFF +_0202EC10: .word 0x000005D8 + thumb_func_end sub_0202EBB0 + + thumb_func_start sub_0202EC14 +sub_0202EC14: ; 0x0202EC14 + add r3, r0, #0 + add r0, r1, #0 + mov r1, #0xec + mul r1, r2 + add r1, r3, r1 + ldr r3, _0202EC24 ; =sub_02071780 + bx r3 + nop +_0202EC24: .word sub_02071780 + thumb_func_end sub_0202EC14 + + thumb_func_start sub_0202EC28 +sub_0202EC28: ; 0x0202EC28 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_0202EBB0 + add r6, r0, #0 + lsl r0, r6, #2 + add r1, r5, r0 + ldr r0, _0202EC64 ; =0x00000588 + str r4, [r1, r0] + bl GF_RTC_DateTimeToSec + lsl r2, r6, #3 + add r3, r5, r2 + ldr r2, _0202EC68 ; =0x000005D8 + str r0, [r3, r2] + add r0, r2, #4 + str r1, [r3, r0] + bl OS_GetOwnerRtcOffset + ldr r2, _0202EC6C ; =0x00000678 + str r0, [r5, r2] + add r0, r2, #4 + add r2, #8 + str r1, [r5, r0] + add r0, r5, r2 + bl OS_GetMacAddress + pop {r4, r5, r6, pc} + nop +_0202EC64: .word 0x00000588 +_0202EC68: .word 0x000005D8 +_0202EC6C: .word 0x00000678 + thumb_func_end sub_0202EC28 + + thumb_func_start sub_0202EC70 +sub_0202EC70: ; 0x0202EC70 + push {r4, r5, r6, lr} + add r5, r1, #0 + add r6, r0, #0 + add r4, r2, #0 + cmp r5, #6 + blt _0202EC80 + bl GF_AssertFail +_0202EC80: + mov r0, #0xec + mul r0, r5 + add r3, r6, r0 + mov r2, #0x1d +_0202EC88: + ldmia r3!, {r0, r1} + stmia r4!, {r0, r1} + sub r2, r2, #1 + bne _0202EC88 + ldr r0, [r3] + str r0, [r4] + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202EC70 + + thumb_func_start sub_0202EC98 +sub_0202EC98: ; 0x0202EC98 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + add r5, r0, #0 + add r6, r4, #0 + mov r7, #0xac +_0202ECA2: + add r0, r5, #0 + add r1, r7, #0 + mov r2, #0 + bl sub_0206E540 + cmp r0, #0 + beq _0202ECB2 + add r4, r4, #1 +_0202ECB2: + add r6, r6, #1 + add r5, #0xec + cmp r6, #6 + blt _0202ECA2 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202EC98 + + thumb_func_start sub_0202ECC0 +sub_0202ECC0: ; 0x0202ECC0 + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + add r5, r0, #0 + add r0, r6, #0 + mov r1, #0x4c + mov r2, #0 + bl sub_0206E540 + cmp r0, #0 + bne _0202ED12 + add r0, r6, #0 + mov r1, #5 + mov r2, #0 + bl sub_0206E540 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r5, #0 + bl sub_0202A634 + add r7, r0, #0 + add r0, r5, #0 + bl sub_0202CF54 + add r1, r7, #0 + add r2, r4, #0 + bl sub_0202D214 + add r0, r7, #0 + add r1, r6, #0 + bl sub_0202A434 + ldr r0, _0202ED14 ; =0x00000181 + cmp r4, r0 + bne _0202ED12 + add r0, r5, #0 + bl sub_020325EC + mov r1, #0x15 + bl sub_02032744 +_0202ED12: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0202ED14: .word 0x00000181 + thumb_func_end sub_0202ECC0 + + thumb_func_start sub_0202ED18 +sub_0202ED18: ; 0x0202ED18 + mov r0, #8 + bx lr + thumb_func_end sub_0202ED18 + + thumb_func_start sub_0202ED1C +sub_0202ED1C: ; 0x0202ED1C + mov r1, #0 + strb r1, [r0] + strb r1, [r0, #1] + strb r1, [r0, #2] + strb r1, [r0, #3] + strb r1, [r0, #4] + strb r1, [r0, #5] + strb r1, [r0, #6] + strb r1, [r0, #7] + str r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0202ED1C + + thumb_func_start sub_0202ED34 +sub_0202ED34: ; 0x0202ED34 + ldr r3, _0202ED3C ; =SavArray_get + mov r1, #0x21 + bx r3 + nop +_0202ED3C: .word SavArray_get + thumb_func_end sub_0202ED34 + + thumb_func_start sub_0202ED40 +sub_0202ED40: ; 0x0202ED40 + str r0, [r1] + bx lr + thumb_func_end sub_0202ED40 + + thumb_func_start sub_0202ED44 +sub_0202ED44: ; 0x0202ED44 + ldr r0, [r0] + bx lr + thumb_func_end sub_0202ED44 + + thumb_func_start sub_0202ED48 +sub_0202ED48: ; 0x0202ED48 + ldr r3, [r1, #4] + mov r2, #3 + bic r3, r2 + mov r2, #3 + and r0, r2 + orr r0, r3 + str r0, [r1, #4] + bx lr + thumb_func_end sub_0202ED48 + + thumb_func_start sub_0202ED58 +sub_0202ED58: ; 0x0202ED58 + ldr r3, [r0, #4] + mov r2, #4 + lsl r1, r1, #0x1f + bic r3, r2 + lsr r1, r1, #0x1d + orr r1, r3 + str r1, [r0, #4] + bx lr + thumb_func_end sub_0202ED58 + + thumb_func_start sub_0202ED68 +sub_0202ED68: ; 0x0202ED68 + ldr r0, [r0, #4] + lsl r0, r0, #0x1d + asr r0, r0, #0x1f + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + thumb_func_end sub_0202ED68 + + thumb_func_start sub_0202ED74 +sub_0202ED74: ; 0x0202ED74 + ldr r0, _0202ED78 ; =0x00000658 + bx lr + .balign 4, 0 +_0202ED78: .word 0x00000658 + thumb_func_end sub_0202ED74 + + thumb_func_start sub_0202ED7C +sub_0202ED7C: ; 0x0202ED7C + ldr r3, _0202ED84 ; =SavArray_get + mov r1, #0x22 + bx r3 + nop +_0202ED84: .word SavArray_get + thumb_func_end sub_0202ED7C + + thumb_func_start sub_0202ED88 +sub_0202ED88: ; 0x0202ED88 + push {r3, lr} + mov r1, #0x22 + bl SavArray_get + bl sub_0202EFB8 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202ED88 + + thumb_func_start sub_0202ED98 +sub_0202ED98: ; 0x0202ED98 + push {r4, lr} + ldr r2, _0202EDD8 ; =0x00000658 + mov r1, #0 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r0, #3 + strb r0, [r4] + ldr r1, [r4, #4] + ldr r0, _0202EDDC ; =0xFE03FFFF + and r0, r1 + str r0, [r4, #4] + mov r0, #0 + strb r0, [r4, #1] + mov r0, #0x80 + strb r0, [r4, #3] + ldrb r0, [r4, #3] + strb r0, [r4, #2] + ldr r1, [r4, #4] + ldr r0, _0202EDE0 ; =0xF9FFFFFF + and r1, r0 + ldr r0, _0202EDE4 ; =0xE7FFFFFF + and r0, r1 + str r0, [r4, #4] + add r0, r4, #0 + bl sub_0202EF9C + ldr r0, _0202EDE8 ; =0x000004B8 + add r0, r4, r0 + bl sub_0202EFE8 + pop {r4, pc} + .balign 4, 0 +_0202EDD8: .word 0x00000658 +_0202EDDC: .word 0xFE03FFFF +_0202EDE0: .word 0xF9FFFFFF +_0202EDE4: .word 0xE7FFFFFF +_0202EDE8: .word 0x000004B8 + thumb_func_end sub_0202ED98 + + thumb_func_start sub_0202EDEC +sub_0202EDEC: ; 0x0202EDEC + ldr r3, _0202EDF0 ; =sub_0202ED98 + bx r3 + .balign 4, 0 +_0202EDF0: .word sub_0202ED98 + thumb_func_end sub_0202EDEC + + thumb_func_start sub_0202EDF4 +sub_0202EDF4: ; 0x0202EDF4 + add r0, #8 + bx lr + thumb_func_end sub_0202EDF4 + + thumb_func_start sub_0202EDF8 +sub_0202EDF8: ; 0x0202EDF8 + ldrb r0, [r0] + bx lr + thumb_func_end sub_0202EDF8 + + thumb_func_start sub_0202EDFC +sub_0202EDFC: ; 0x0202EDFC + strb r1, [r0] + bx lr + thumb_func_end sub_0202EDFC + + thumb_func_start sub_0202EE00 +sub_0202EE00: ; 0x0202EE00 + cmp r1, #0 + beq _0202EE0E + cmp r1, #1 + beq _0202EE18 + cmp r1, #2 + beq _0202EE30 + bx lr +_0202EE0E: + ldr r2, [r0, #4] + ldr r1, _0202EE48 ; =0xF9FFFFFF + and r1, r2 + str r1, [r0, #4] + bx lr +_0202EE18: + ldr r2, [r0, #4] + ldr r1, _0202EE48 ; =0xF9FFFFFF + and r1, r2 + lsl r2, r2, #5 + lsr r3, r2, #0x1e + mov r2, #1 + orr r2, r3 + lsl r2, r2, #0x1e + lsr r2, r2, #5 + orr r1, r2 + str r1, [r0, #4] + bx lr +_0202EE30: + ldr r2, [r0, #4] + ldr r1, _0202EE48 ; =0xF9FFFFFF + and r1, r2 + lsl r2, r2, #5 + lsr r3, r2, #0x1e + mov r2, #2 + orr r2, r3 + lsl r2, r2, #0x1e + lsr r2, r2, #5 + orr r1, r2 + str r1, [r0, #4] + bx lr + .balign 4, 0 +_0202EE48: .word 0xF9FFFFFF + thumb_func_end sub_0202EE00 + + thumb_func_start sub_0202EE4C +sub_0202EE4C: ; 0x0202EE4C + ldr r0, [r0, #4] + lsl r0, r0, #5 + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + thumb_func_end sub_0202EE4C + + thumb_func_start sub_0202EE58 +sub_0202EE58: ; 0x0202EE58 + cmp r1, #3 + bhs _0202EE6A + ldr r3, [r0, #4] + ldr r2, _0202EE6C ; =0xE7FFFFFF + lsl r1, r1, #0x1e + and r2, r3 + lsr r1, r1, #3 + orr r1, r2 + str r1, [r0, #4] +_0202EE6A: + bx lr + .balign 4, 0 +_0202EE6C: .word 0xE7FFFFFF + thumb_func_end sub_0202EE58 + + thumb_func_start sub_0202EE70 +sub_0202EE70: ; 0x0202EE70 + ldr r0, [r0, #4] + lsl r0, r0, #3 + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + thumb_func_end sub_0202EE70 + + thumb_func_start sub_0202EE7C +sub_0202EE7C: ; 0x0202EE7C + ldr r0, [r0, #4] + lsl r0, r0, #7 + lsr r0, r0, #0x19 + bx lr + thumb_func_end sub_0202EE7C + + thumb_func_start sub_0202EE84 +sub_0202EE84: ; 0x0202EE84 + ldr r3, [r0, #4] + ldr r2, _0202EE94 ; =0xFE03FFFF + lsl r1, r1, #0x19 + and r2, r3 + lsr r1, r1, #7 + orr r1, r2 + str r1, [r0, #4] + bx lr + .balign 4, 0 +_0202EE94: .word 0xFE03FFFF + thumb_func_end sub_0202EE84 + + thumb_func_start sub_0202EE98 +sub_0202EE98: ; 0x0202EE98 + ldr r0, [r0, #4] + lsl r0, r0, #0x17 + lsr r0, r0, #0x17 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + thumb_func_end sub_0202EE98 + + thumb_func_start sub_0202EEA4 +sub_0202EEA4: ; 0x0202EEA4 + ldrb r0, [r0, #1] + bx lr + thumb_func_end sub_0202EEA4 + + thumb_func_start sub_0202EEA8 +sub_0202EEA8: ; 0x0202EEA8 + strb r1, [r0, #1] + bx lr + thumb_func_end sub_0202EEA8 + + thumb_func_start sub_0202EEAC +sub_0202EEAC: ; 0x0202EEAC + strb r1, [r0, #2] + strb r2, [r0, #3] + bx lr + .balign 4, 0 + thumb_func_end sub_0202EEAC + + thumb_func_start sub_0202EEB4 +sub_0202EEB4: ; 0x0202EEB4 + ldrb r3, [r0, #2] + strh r3, [r1] + ldrb r0, [r0, #3] + strh r0, [r2] + bx lr + .balign 4, 0 + thumb_func_end sub_0202EEB4 + + thumb_func_start sub_0202EEC0 +sub_0202EEC0: ; 0x0202EEC0 + ldr r2, _0202EEE0 ; =0x0000060C + mov r3, #0 +_0202EEC4: + add r1, r0, r3 + ldrb r1, [r1, r2] + cmp r1, #0xff + bne _0202EED0 + add r0, r3, #0 + bx lr +_0202EED0: + add r1, r3, #1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x4b + blo _0202EEC4 + mov r0, #0x4b + bx lr + nop +_0202EEE0: .word 0x0000060C + thumb_func_end sub_0202EEC0 + + thumb_func_start sub_0202EEE4 +sub_0202EEE4: ; 0x0202EEE4 + push {r3, r4} + ldr r3, _0202EF14 ; =0x0000060C + mov r4, #0 +_0202EEEA: + add r2, r0, r4 + ldrb r2, [r2, r3] + cmp r1, r2 + bne _0202EEF8 + add r0, r4, #0 + pop {r3, r4} + bx lr +_0202EEF8: + cmp r2, #0xff + bne _0202EF02 + mov r0, #0xff + pop {r3, r4} + bx lr +_0202EF02: + add r2, r4, #1 + lsl r2, r2, #0x18 + lsr r4, r2, #0x18 + cmp r4, #0x4b + blo _0202EEEA + mov r0, #0xff + pop {r3, r4} + bx lr + nop +_0202EF14: .word 0x0000060C + thumb_func_end sub_0202EEE4 + + thumb_func_start sub_0202EF18 +sub_0202EF18: ; 0x0202EF18 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x4b + blo _0202EF28 + bl GF_AssertFail + pop {r3, r4, r5, pc} +_0202EF28: + bl sub_0202EEE4 + cmp r0, #0xff + bne _0202EF3C + add r0, r5, #0 + bl sub_0202EEC0 + add r1, r5, r0 + ldr r0, _0202EF40 ; =0x0000060C + strb r4, [r1, r0] +_0202EF3C: + pop {r3, r4, r5, pc} + nop +_0202EF40: .word 0x0000060C + thumb_func_end sub_0202EF18 + + thumb_func_start sub_0202EF44 +sub_0202EF44: ; 0x0202EF44 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + bl sub_0202EEC0 + add r4, r0, #0 + add r0, r6, #0 + add r1, r4, #0 + bl AllocFromHeap + add r6, r0, #0 + ldr r0, _0202EF6C ; =0x0000060C + add r1, r6, #0 + add r0, r5, r0 + add r2, r4, #0 + bl MIi_CpuCopy8 + add r0, r6, #0 + pop {r4, r5, r6, pc} + nop +_0202EF6C: .word 0x0000060C + thumb_func_end sub_0202EF44 + + thumb_func_start sub_0202EF70 +sub_0202EF70: ; 0x0202EF70 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, _0202EF98 ; =0x0000060C + add r6, r1, #0 + add r4, r2, #0 + add r0, r5, r0 + mov r1, #0xff + mov r2, #0x4b + bl MIi_CpuFill8 + cmp r4, #0x4b + blo _0202EF8A + mov r4, #0x4b +_0202EF8A: + ldr r1, _0202EF98 ; =0x0000060C + add r0, r6, #0 + add r1, r5, r1 + add r2, r4, #0 + bl MIi_CpuCopy8 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202EF98: .word 0x0000060C + thumb_func_end sub_0202EF70 + + thumb_func_start sub_0202EF9C +sub_0202EF9C: ; 0x0202EF9C + push {r4, lr} + add r4, r0, #0 + ldr r0, _0202EFB4 ; =0x0000060C + mov r1, #0xff + add r0, r4, r0 + mov r2, #0x4b + bl MIi_CpuFill8 + ldr r0, _0202EFB4 ; =0x0000060C + mov r1, #0 + strb r1, [r4, r0] + pop {r4, pc} + .balign 4, 0 +_0202EFB4: .word 0x0000060C + thumb_func_end sub_0202EF9C + + thumb_func_start sub_0202EFB8 +sub_0202EFB8: ; 0x0202EFB8 + ldr r1, _0202EFC0 ; =0x000004B8 + add r0, r0, r1 + bx lr + nop +_0202EFC0: .word 0x000004B8 + thumb_func_end sub_0202EFB8 + + thumb_func_start sub_0202EFC4 +sub_0202EFC4: ; 0x0202EFC4 + ldrh r2, [r0] + mov r1, #1 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #2 + bic r2, r1 + strh r2, [r0] + ldrh r2, [r0] + mov r1, #0xfc + bic r2, r1 + mov r1, #4 + orr r1, r2 + strh r1, [r0] + mov r1, #0 + strh r1, [r0, #2] + bx lr + .balign 4, 0 + thumb_func_end sub_0202EFC4 + + thumb_func_start sub_0202EFE8 +sub_0202EFE8: ; 0x0202EFE8 + push {r4, r5, r6, lr} + mov r2, #0x55 + mov r1, #0 + lsl r2, r2, #2 + add r6, r0, #0 + bl MIi_CpuFill8 + mov r4, #0 + add r5, r6, #0 +_0202EFFA: + add r0, r5, #0 + bl sub_0202EFC4 + add r4, r4, #1 + add r5, r5, #4 + cmp r4, #0x4b + blt _0202EFFA + ldr r1, _0202F018 ; =0x00000146 + mov r0, #0x7f + ldrb r2, [r6, r1] + bic r2, r0 + mov r0, #7 + orr r0, r2 + strb r0, [r6, r1] + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202F018: .word 0x00000146 + thumb_func_end sub_0202EFE8 + + thumb_func_start sub_0202F01C +sub_0202F01C: ; 0x0202F01C + push {r4, r5, r6, lr} + cmp r1, #0xd + blo _0202F028 + bl GF_AssertFail + pop {r4, r5, r6, pc} +_0202F028: + ldr r2, _0202F04C ; =0x0000014E + lsr r6, r1, #0x1f + lsl r5, r1, #0x1d + add r4, r0, r2 + lsl r0, r1, #0x15 + lsr r3, r0, #0x18 + sub r5, r5, r6 + mov r1, #0x1d + ror r5, r1 + add r1, r6, r5 + lsl r1, r1, #0x18 + ldrb r2, [r4, r3] + mov r0, #1 + lsr r1, r1, #0x18 + lsl r0, r1 + orr r0, r2 + strb r0, [r4, r3] + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202F04C: .word 0x0000014E + thumb_func_end sub_0202F01C + + thumb_func_start sub_0202F050 +sub_0202F050: ; 0x0202F050 + push {r3, r4, r5, lr} + cmp r1, #0xd + blo _0202F05C + bl GF_AssertFail + pop {r3, r4, r5, pc} +_0202F05C: + lsr r4, r1, #0x1f + lsl r3, r1, #0x1d + sub r3, r3, r4 + mov r2, #0x1d + ror r3, r2 + mov r5, #1 + add r2, r4, r3 + add r3, r5, #0 + lsl r3, r2 + lsl r2, r3, #0x18 + ldr r3, _0202F088 ; =0x0000014E + lsr r2, r2, #0x18 + add r4, r0, r3 + lsl r0, r1, #0x15 + lsr r3, r0, #0x18 + ldrb r0, [r4, r3] + add r1, r2, #0 + tst r1, r0 + beq _0202F086 + eor r0, r2 + strb r0, [r4, r3] +_0202F086: + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202F088: .word 0x0000014E + thumb_func_end sub_0202F050 + + thumb_func_start sub_0202F08C +sub_0202F08C: ; 0x0202F08C + push {r3, lr} + cmp r1, #0xd + blo _0202F09A + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_0202F09A: + lsl r2, r1, #0x15 + lsr r2, r2, #0x18 + add r2, r0, r2 + ldr r0, _0202F0C0 ; =0x0000014E + ldrb r3, [r2, r0] + lsr r2, r1, #0x1f + lsl r1, r1, #0x1d + sub r1, r1, r2 + mov r0, #0x1d + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r3, #0 + asr r1, r0 + mov r0, #1 + and r0, r1 + pop {r3, pc} + nop +_0202F0C0: .word 0x0000014E + thumb_func_end sub_0202F08C + + thumb_func_start sub_0202F0C4 +sub_0202F0C4: ; 0x0202F0C4 + push {r4, lr} + cmp r1, #0x4b + blo _0202F0D0 + bl GF_AssertFail + pop {r4, pc} +_0202F0D0: + lsl r3, r1, #2 + ldrh r1, [r0, r3] + mov r4, #1 + lsl r2, r2, #0x10 + bic r1, r4 + lsr r4, r2, #0x10 + mov r2, #1 + and r2, r4 + orr r1, r2 + strh r1, [r0, r3] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202F0C4 + + thumb_func_start sub_0202F0E8 +sub_0202F0E8: ; 0x0202F0E8 + push {r3, lr} + cmp r1, #0x4b + blo _0202F0F6 + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_0202F0F6: + lsl r1, r1, #2 + ldrh r0, [r0, r1] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + pop {r3, pc} + thumb_func_end sub_0202F0E8 + + thumb_func_start sub_0202F100 +sub_0202F100: ; 0x0202F100 + push {r3, lr} + cmp r1, #0x4b + blo _0202F10C + bl GF_AssertFail + pop {r3, pc} +_0202F10C: + lsl r1, r1, #2 + add r3, r0, r1 + strh r2, [r3, #2] + cmp r2, #0 + ldrh r1, [r3] + bne _0202F120 + mov r0, #2 + bic r1, r0 + strh r1, [r3] + pop {r3, pc} +_0202F120: + mov r0, #2 + orr r0, r1 + strh r0, [r3] + pop {r3, pc} + thumb_func_end sub_0202F100 + + thumb_func_start sub_0202F128 +sub_0202F128: ; 0x0202F128 + push {r3, lr} + cmp r1, #0x4b + blo _0202F136 + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_0202F136: + lsl r2, r1, #2 + ldrh r1, [r0, r2] + lsl r1, r1, #0x1e + lsr r1, r1, #0x1f + beq _0202F146 + add r0, r0, r2 + ldrh r0, [r0, #2] + pop {r3, pc} +_0202F146: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202F128 + + thumb_func_start sub_0202F14C +sub_0202F14C: ; 0x0202F14C + cmp r1, #1 + beq _0202F15A + cmp r1, #2 + beq _0202F162 + cmp r1, #3 + beq _0202F178 + b _0202F18C +_0202F15A: + mov r1, #5 + lsl r1, r1, #6 + str r2, [r0, r1] + b _0202F18C +_0202F162: + mov r1, #5 + lsl r1, r1, #6 + ldr r3, [r0, r1] + add r2, r3, r2 + str r2, [r0, r1] + ldr r3, [r0, r1] + ldr r2, _0202F194 ; =0x000F423F + cmp r3, r2 + bls _0202F18C + str r2, [r0, r1] + b _0202F18C +_0202F178: + mov r1, #5 + lsl r1, r1, #6 + ldr r3, [r0, r1] + cmp r3, r2 + bhs _0202F188 + mov r2, #0 + str r2, [r0, r1] + b _0202F18C +_0202F188: + sub r2, r3, r2 + str r2, [r0, r1] +_0202F18C: + mov r1, #5 + lsl r1, r1, #6 + ldr r0, [r0, r1] + bx lr + .balign 4, 0 +_0202F194: .word 0x000F423F + thumb_func_end sub_0202F14C + + thumb_func_start sub_0202F198 +sub_0202F198: ; 0x0202F198 + push {r3, r4} + cmp r1, #9 + bhs _0202F1AE + mov r2, #0x51 + lsl r2, r2, #2 + ldrh r4, [r0, r2] + mov r3, #1 + lsl r3, r1 + add r1, r4, #0 + orr r1, r3 + strh r1, [r0, r2] +_0202F1AE: + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_0202F198 + + thumb_func_start sub_0202F1B4 +sub_0202F1B4: ; 0x0202F1B4 + mov r2, #0x51 + lsl r2, r2, #2 + ldrh r0, [r0, r2] + add r2, r0, #0 + asr r2, r1 + mov r0, #1 + and r0, r2 + bx lr + thumb_func_end sub_0202F1B4 + + thumb_func_start sub_0202F1C4 +sub_0202F1C4: ; 0x0202F1C4 + push {r3, r4, r5, r6} + ldr r3, _0202F1F0 ; =0x0000012E + mov r5, #0 + add r6, r0, #0 +_0202F1CC: + ldrh r4, [r6, r3] + cmp r4, #0 + bne _0202F1E4 + lsl r3, r5, #2 + add r3, r0, r3 + mov r0, #0x4b + lsl r0, r0, #2 + strh r1, [r3, r0] + add r0, r0, #2 + strh r2, [r3, r0] + pop {r3, r4, r5, r6} + bx lr +_0202F1E4: + add r5, r5, #1 + add r6, r6, #4 + cmp r5, #5 + blt _0202F1CC + pop {r3, r4, r5, r6} + bx lr + .balign 4, 0 +_0202F1F0: .word 0x0000012E + thumb_func_end sub_0202F1C4 + + thumb_func_start sub_0202F1F4 +sub_0202F1F4: ; 0x0202F1F4 + push {r4, r5, r6, r7} + mov r3, #0x13 + lsl r3, r3, #4 + mov r1, #0 + add r2, r0, #0 + sub r4, r3, #4 + add r5, r3, #2 + sub r6, r3, #2 +_0202F204: + ldrh r7, [r2, r3] + add r1, r1, #1 + strh r7, [r2, r4] + ldrh r7, [r2, r5] + strh r7, [r2, r6] + add r2, r2, #4 + cmp r1, #4 + blt _0202F204 + mov r1, #0x4f + mov r2, #0 + lsl r1, r1, #2 + strh r2, [r0, r1] + add r1, r1, #2 + strh r2, [r0, r1] + pop {r4, r5, r6, r7} + bx lr + thumb_func_end sub_0202F1F4 + + thumb_func_start sub_0202F224 +sub_0202F224: ; 0x0202F224 + cmp r1, #5 + blo _0202F22E + mov r0, #0 + strh r0, [r2] + bx lr +_0202F22E: + lsl r1, r1, #2 + add r3, r0, r1 + mov r0, #0x4b + lsl r0, r0, #2 + ldrh r1, [r3, r0] + add r0, r0, #2 + strh r1, [r2] + ldrh r0, [r3, r0] + bx lr + thumb_func_end sub_0202F224 + + thumb_func_start sub_0202F240 +sub_0202F240: ; 0x0202F240 + ldr r1, _0202F250 ; =0x0000013E + ldrh r0, [r0, r1] + cmp r0, #0 + beq _0202F24C + mov r0, #1 + bx lr +_0202F24C: + mov r0, #0 + bx lr + .balign 4, 0 +_0202F250: .word 0x0000013E + thumb_func_end sub_0202F240 + + thumb_func_start sub_0202F254 +sub_0202F254: ; 0x0202F254 + push {r3, r4} + ldr r4, _0202F270 ; =0x00000146 + lsl r1, r1, #0x18 + ldrb r2, [r0, r4] + lsr r1, r1, #0x18 + mov r3, #0x80 + lsl r1, r1, #0x1f + bic r2, r3 + lsr r1, r1, #0x18 + orr r1, r2 + strb r1, [r0, r4] + pop {r3, r4} + bx lr + nop +_0202F270: .word 0x00000146 + thumb_func_end sub_0202F254 + + thumb_func_start sub_0202F274 +sub_0202F274: ; 0x0202F274 + ldr r1, _0202F280 ; =0x00000146 + ldrb r0, [r0, r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bx lr + nop +_0202F280: .word 0x00000146 + thumb_func_end sub_0202F274 + + thumb_func_start sub_0202F284 +sub_0202F284: ; 0x0202F284 + ldr r1, _0202F290 ; =0x00000146 + ldrb r0, [r0, r1] + lsl r0, r0, #0x19 + lsr r0, r0, #0x19 + bx lr + nop +_0202F290: .word 0x00000146 + thumb_func_end sub_0202F284 + + thumb_func_start sub_0202F294 +sub_0202F294: ; 0x0202F294 + push {r3, r4, r5, lr} + ldr r2, _0202F2FC ; =0x00000146 + add r5, r0, #0 + ldrb r3, [r5, r2] + add r4, r1, #0 + mov r1, #0x80 + bic r3, r1 + strb r3, [r5, r2] + mov r1, #0x10 + mov r2, #0 + bl sub_0202F100 + add r0, r5, #0 + mov r1, #0x10 + mov r2, #0 + bl sub_0202F0C4 + cmp r4, #0 + ble _0202F2DA + ldr r2, _0202F2FC ; =0x00000146 + ldrb r0, [r5, r2] + lsl r1, r0, #0x19 + lsr r3, r1, #0x19 + cmp r3, r4 + blt _0202F2DA + mov r1, #0x7f + bic r0, r1 + sub r1, r3, r4 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + mov r1, #0x7f + and r1, r3 + orr r0, r1 + strb r0, [r5, r2] + pop {r3, r4, r5, pc} +_0202F2DA: + bl LCRandom + mov r1, #6 + bl _s32_div_f + ldr r3, _0202F2FC ; =0x00000146 + add r1, r1, #1 + ldrb r0, [r5, r3] + mov r2, #0x7f + lsl r1, r1, #0x18 + bic r0, r2 + lsr r2, r1, #0x18 + mov r1, #0x7f + and r1, r2 + orr r0, r1 + strb r0, [r5, r3] + pop {r3, r4, r5, pc} + .balign 4, 0 +_0202F2FC: .word 0x00000146 + thumb_func_end sub_0202F294 + + thumb_func_start sub_0202F300 +sub_0202F300: ; 0x0202F300 + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r0, #0x52 + lsl r0, r0, #2 + add r6, r1, #0 + add r4, r2, #0 + add r0, r5, r0 + mov r1, #0 + mov r2, #6 + bl MIi_CpuFill8 + cmp r6, #0 + bne _0202F322 + ldr r0, _0202F33C ; =0x00000147 + mov r1, #0 + strb r1, [r5, r0] + pop {r4, r5, r6, pc} +_0202F322: + cmp r4, #6 + blo _0202F328 + mov r4, #6 +_0202F328: + mov r1, #0x52 + lsl r1, r1, #2 + add r0, r6, #0 + add r1, r5, r1 + add r2, r4, #0 + bl MIi_CpuCopy8 + ldr r0, _0202F33C ; =0x00000147 + strb r4, [r5, r0] + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202F33C: .word 0x00000147 + thumb_func_end sub_0202F300 + + thumb_func_start sub_0202F340 +sub_0202F340: ; 0x0202F340 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r0, #0 + ldr r1, _0202F36C ; =0x00000147 + add r0, r2, #0 + ldrb r1, [r5, r1] + bl AllocFromHeap + mov r2, #0x52 + add r6, r0, #0 + lsl r2, r2, #2 + add r0, r5, r2 + sub r2, r2, #1 + ldrb r2, [r5, r2] + add r1, r6, #0 + bl MIi_CpuCopy8 + ldr r0, _0202F36C ; =0x00000147 + ldrb r0, [r5, r0] + strb r0, [r4] + add r0, r6, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202F36C: .word 0x00000147 + thumb_func_end sub_0202F340 + + thumb_func_start sub_0202F370 +sub_0202F370: ; 0x0202F370 + ldrh r1, [r0] + cmp r1, #0 + beq _0202F37E + mov r0, #0x87 + lsl r0, r0, #2 + cmp r1, r0 + blo _0202F382 +_0202F37E: + mov r0, #0 + bx lr +_0202F382: + mov r0, #1 + bx lr + .balign 4, 0 + thumb_func_end sub_0202F370 + + thumb_func_start sub_0202F388 +sub_0202F388: ; 0x0202F388 + push {r3, r4} + mov r1, #0 + strh r1, [r0] + ldrh r3, [r0, #2] + mov r2, #0xf + bic r3, r2 + mov r2, #0xf + orr r2, r3 + strh r2, [r0, #2] + ldrh r3, [r0, #2] + mov r2, #0xf0 + bic r3, r2 + mov r2, #0xf0 + orr r3, r2 + strh r3, [r0, #2] + ldrh r4, [r0, #2] + ldr r3, _0202F3D0 ; =0xFFFFF0FF + and r4, r3 + lsl r3, r2, #4 + orr r3, r4 + strh r3, [r0, #2] + ldrh r4, [r0, #2] + ldr r3, _0202F3D4 ; =0xFFFF0FFF + lsl r2, r2, #8 + and r3, r4 + orr r2, r3 + strh r2, [r0, #2] + ldr r2, _0202F3D8 ; =0x0000FFFF +_0202F3C0: + add r1, r1, #1 + strh r2, [r0, #4] + add r0, r0, #2 + cmp r1, #4 + blt _0202F3C0 + pop {r3, r4} + bx lr + nop +_0202F3D0: .word 0xFFFFF0FF +_0202F3D4: .word 0xFFFF0FFF +_0202F3D8: .word 0x0000FFFF + thumb_func_end sub_0202F388 + + thumb_func_start sub_0202F3DC +sub_0202F3DC: ; 0x0202F3DC + push {r4, r5} + mov r4, #0 + ldr r1, _0202F3FC ; =0x0000FFFF + str r4, [r0] + add r5, r0, #0 + mov r3, #0xf +_0202F3E8: + add r2, r0, r4 + strb r3, [r2, #4] + strh r1, [r5, #8] + add r4, r4, #1 + add r5, r5, #2 + cmp r4, #4 + blt _0202F3E8 + pop {r4, r5} + bx lr + nop +_0202F3FC: .word 0x0000FFFF + thumb_func_end sub_0202F3DC + + thumb_func_start sub_0202F400 +sub_0202F400: ; 0x0202F400 + push {r3, r4} + ldr r1, _0202F430 ; =0x0000FFFF + mov r3, #0 + add r4, r0, #0 +_0202F408: + add r2, r0, r3 + ldrb r2, [r2, #4] + cmp r2, #0xf + bne _0202F416 + ldrh r2, [r4, #8] + cmp r2, r1 + beq _0202F41C +_0202F416: + mov r0, #1 + pop {r3, r4} + bx lr +_0202F41C: + add r3, r3, #1 + add r4, r4, #2 + cmp r3, #4 + blt _0202F408 + mov r1, #0 + str r1, [r0] + add r0, r1, #0 + pop {r3, r4} + bx lr + nop +_0202F430: .word 0x0000FFFF + thumb_func_end sub_0202F400 + + thumb_func_start sub_0202F434 +sub_0202F434: ; 0x0202F434 + push {r3, r4} + ldr r2, [r0] + strh r2, [r1] + ldrh r3, [r1, #2] + ldrb r4, [r0, #4] + mov r2, #0xf + bic r3, r2 + mov r2, #0xf + and r4, r2 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + and r4, r2 + orr r3, r4 + strh r3, [r1, #2] + ldrh r3, [r1, #2] + mov r4, #0xf0 + bic r3, r4 + ldrb r4, [r0, #5] + and r4, r2 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + lsl r4, r4, #0x1c + lsr r4, r4, #0x18 + orr r3, r4 + strh r3, [r1, #2] + ldrh r4, [r1, #2] + ldr r3, _0202F4A8 ; =0xFFFFF0FF + and r3, r4 + ldrb r4, [r0, #6] + and r4, r2 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + lsl r4, r4, #0x1c + lsr r4, r4, #0x14 + orr r3, r4 + strh r3, [r1, #2] + ldrh r4, [r1, #2] + ldr r3, _0202F4AC ; =0xFFFF0FFF + and r3, r4 + ldrb r4, [r0, #7] + and r2, r4 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + lsl r2, r2, #0x1c + lsr r2, r2, #0x10 + orr r2, r3 + strh r2, [r1, #2] + mov r3, #0 +_0202F494: + ldrh r2, [r0, #8] + add r3, r3, #1 + add r0, r0, #2 + strh r2, [r1, #4] + add r1, r1, #2 + cmp r3, #4 + blt _0202F494 + pop {r3, r4} + bx lr + nop +_0202F4A8: .word 0xFFFFF0FF +_0202F4AC: .word 0xFFFF0FFF + thumb_func_end sub_0202F434 + + thumb_func_start sub_0202F4B0 +sub_0202F4B0: ; 0x0202F4B0 + ldrh r2, [r0] + mov r3, #0 + str r2, [r1] + ldrh r2, [r0, #2] + lsl r2, r2, #0x1c + lsr r2, r2, #0x1c + strb r2, [r1, #4] + ldrh r2, [r0, #2] + lsl r2, r2, #0x18 + lsr r2, r2, #0x1c + strb r2, [r1, #5] + ldrh r2, [r0, #2] + lsl r2, r2, #0x14 + lsr r2, r2, #0x1c + strb r2, [r1, #6] + ldrh r2, [r0, #2] + lsl r2, r2, #0x10 + lsr r2, r2, #0x1c + strb r2, [r1, #7] +_0202F4D6: + ldrh r2, [r0, #4] + add r3, r3, #1 + add r0, r0, #2 + strh r2, [r1, #8] + add r1, r1, #2 + cmp r3, #4 + blt _0202F4D6 + bx lr + .balign 4, 0 + thumb_func_end sub_0202F4B0 + + thumb_func_start sub_0202F4E8 +sub_0202F4E8: ; 0x0202F4E8 + push {r3, lr} + cmp r1, #0x64 + blo _0202F4F2 + mov r0, #0 + pop {r3, pc} +_0202F4F2: + mov r2, #0xc + mul r2, r1 + add r0, r0, r2 + bl sub_0202F370 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202F4E8 + + thumb_func_start sub_0202F500 +sub_0202F500: ; 0x0202F500 + push {r3, lr} + cmp r1, #0x64 + bhs _0202F510 + mov r2, #0xc + mul r2, r1 + add r0, r0, r2 + bl sub_0202F388 +_0202F510: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0202F500 + + thumb_func_start sub_0202F514 +sub_0202F514: ; 0x0202F514 + push {r3, r4, r5, lr} + add r4, r0, #0 + cmp r2, #0x64 + blo _0202F526 + add r0, r1, #0 + bl sub_0202F3DC + mov r0, #0 + pop {r3, r4, r5, pc} +_0202F526: + mov r0, #0xc + add r5, r2, #0 + mul r5, r0 + add r0, r4, r5 + bl sub_0202F4B0 + add r0, r4, r5 + bl sub_0202F370 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202F514 + + thumb_func_start sub_0202F53C +sub_0202F53C: ; 0x0202F53C + push {r4, r5, r6, lr} + add r4, r2, #0 + add r5, r0, #0 + add r6, r1, #0 + cmp r4, #0x64 + blo _0202F54C + mov r0, #0 + pop {r4, r5, r6, pc} +_0202F54C: + cmp r3, #0 + bne _0202F562 + mov r0, #0xc + mul r0, r4 + add r0, r5, r0 + bl sub_0202F370 + cmp r0, #1 + bne _0202F562 + mov r0, #0 + pop {r4, r5, r6, pc} +_0202F562: + mov r1, #0xc + mul r1, r4 + add r0, r6, #0 + add r1, r5, r1 + bl sub_0202F434 + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0202F53C + + thumb_func_start sub_0202F574 +sub_0202F574: ; 0x0202F574 + ldr r0, _0202F578 ; =0x000005FC + bx lr + .balign 4, 0 +_0202F578: .word 0x000005FC + thumb_func_end sub_0202F574 + + thumb_func_start sub_0202F57C +sub_0202F57C: ; 0x0202F57C + ldr r3, _0202F584 ; =SavArray_get + mov r1, #0x23 + bx r3 + nop +_0202F584: .word SavArray_get + thumb_func_end sub_0202F57C + + thumb_func_start sub_0202F588 +sub_0202F588: ; 0x0202F588 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + mov r6, #0xba + str r0, [sp] + add r5, r0, #0 + add r7, r4, #0 + lsl r6, r6, #2 +_0202F596: + mov r2, #0xba + add r0, r5, #0 + add r1, r7, #0 + lsl r2, r2, #2 + bl MIi_CpuFill8 + add r4, r4, #1 + add r5, r5, r6 + cmp r4, #2 + blt _0202F596 + mov r1, #0x5d + ldr r0, [sp] + lsl r1, r1, #4 + add r0, r0, r1 + bl sub_0202FA08 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202F588 + + thumb_func_start sub_0202F5B8 +sub_0202F5B8: ; 0x0202F5B8 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + add r0, r1, #0 + mov r1, #0xa + mov r6, #0 + bl _u32_div_f + mov r0, #6 + ldr r2, _0202F5F4 ; =0x020F6888 + mul r0, r1 + add r4, r2, r0 + add r5, r7, #0 +_0202F5D0: + ldrb r1, [r4] + add r0, r5, #0 + bl sub_0202F9E8 + add r6, r6, #1 + add r4, r4, #1 + add r5, #0x7a + cmp r6, #6 + blt _0202F5D0 + mov r0, #0xb7 + lsl r0, r0, #2 + add r0, r7, r0 + mov r1, #0 + mov r2, #0xc + bl MIi_CpuFill8 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202F5F4: .word 0x020F6888 + thumb_func_end sub_0202F5B8 + + thumb_func_start sub_0202F5F8 +sub_0202F5F8: ; 0x0202F5F8 + push {r4, lr} + add r4, r0, #0 + cmp r1, #2 + blt _0202F606 + bl GF_AssertFail + mov r1, #0 +_0202F606: + ldr r3, _0202F61C ; =0x000005F9 + lsl r1, r1, #0x18 + ldrb r0, [r4, r3] + lsr r1, r1, #0x18 + mov r2, #0xc0 + lsl r1, r1, #0x1e + bic r0, r2 + lsr r1, r1, #0x18 + orr r0, r1 + strb r0, [r4, r3] + pop {r4, pc} + .balign 4, 0 +_0202F61C: .word 0x000005F9 + thumb_func_end sub_0202F5F8 + + thumb_func_start sub_0202F620 +sub_0202F620: ; 0x0202F620 + ldr r1, _0202F62C ; =0x000005F9 + ldrb r0, [r0, r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1e + bx lr + nop +_0202F62C: .word 0x000005F9 + thumb_func_end sub_0202F620 + + thumb_func_start sub_0202F630 +sub_0202F630: ; 0x0202F630 + push {r4, lr} + add r4, r0, #0 + cmp r1, #3 + bne _0202F640 + ldr r0, _0202F654 ; =0x000005F9 + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r1, r0, #0x1e +_0202F640: + cmp r1, #2 + blt _0202F64A + bl GF_AssertFail + mov r1, #0 +_0202F64A: + mov r0, #0xba + lsl r0, r0, #2 + mul r0, r1 + add r0, r4, r0 + pop {r4, pc} + .balign 4, 0 +_0202F654: .word 0x000005F9 + thumb_func_end sub_0202F630 + + thumb_func_start sub_0202F658 +sub_0202F658: ; 0x0202F658 + push {r4, lr} + add r4, r2, #0 + cmp r1, #2 + blt _0202F66C + bl GF_AssertFail + add r0, r4, #0 + bl sub_0202F9CC + pop {r4, pc} +_0202F66C: + mov r2, #0xba + add r3, r1, #0 + lsl r2, r2, #2 + mul r3, r2 + add r0, r0, r3 + add r1, r4, #0 + bl MIi_CpuCopy8 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202F658 + + thumb_func_start sub_0202F680 +sub_0202F680: ; 0x0202F680 + push {r4, lr} + add r4, r0, #0 + cmp r1, #2 + blt _0202F68E + bl GF_AssertFail + pop {r4, pc} +_0202F68E: + add r0, r2, #0 + mov r2, #0xba + lsl r2, r2, #2 + add r3, r1, #0 + mul r3, r2 + add r1, r4, r3 + bl MIi_CpuCopy8 + pop {r4, pc} + thumb_func_end sub_0202F680 + + thumb_func_start sub_0202F6A0 +sub_0202F6A0: ; 0x0202F6A0 + ldr r2, _0202F6A8 ; =0x000005F8 + strb r1, [r0, r2] + bx lr + nop +_0202F6A8: .word 0x000005F8 + thumb_func_end sub_0202F6A0 + + thumb_func_start sub_0202F6AC +sub_0202F6AC: ; 0x0202F6AC + ldr r1, _0202F6B4 ; =0x000005F8 + ldrb r0, [r0, r1] + bx lr + nop +_0202F6B4: .word 0x000005F8 + thumb_func_end sub_0202F6AC + + thumb_func_start sub_0202F6B8 +sub_0202F6B8: ; 0x0202F6B8 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r7, r1, #0 + str r0, [sp] + cmp r7, #0 + ble _0202F71C + mov r4, #0 + add r0, sp, #8 + add r1, r4, #0 + mov r2, #6 + bl MIi_CpuFill8 + add r0, r4, #0 + ldr r5, [sp] + str r0, [sp, #4] +_0202F6D6: + ldrb r6, [r5] + lsl r2, r4, #0x18 + add r1, sp, #8 + add r0, r6, #0 + lsr r2, r2, #0x18 + bl sub_0202FA3C + cmp r0, #0 + bne _0202F710 + ldr r0, [sp] + mov r1, #0xb7 + add r0, r0, r6 + lsl r1, r1, #2 + ldrb r1, [r0, r1] + add r1, r7, r1 + cmp r1, #0xff + bge _0202F702 + mov r1, #0xb7 + lsl r1, r1, #2 + ldrb r1, [r0, r1] + add r2, r1, r7 + b _0202F704 +_0202F702: + mov r2, #0xff +_0202F704: + mov r1, #0xb7 + lsl r1, r1, #2 + strb r2, [r0, r1] + add r0, sp, #8 + strb r6, [r0, r4] + add r4, r4, #1 +_0202F710: + ldr r0, [sp, #4] + add r5, #0x7a + add r0, r0, #1 + str r0, [sp, #4] + cmp r0, #6 + blt _0202F6D6 +_0202F71C: + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202F6B8 + + thumb_func_start sub_0202F720 +sub_0202F720: ; 0x0202F720 + ldr r1, _0202F72C ; =0x000005F9 + ldrb r0, [r0, r1] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1a + bx lr + nop +_0202F72C: .word 0x000005F9 + thumb_func_end sub_0202F720 + + thumb_func_start sub_0202F730 +sub_0202F730: ; 0x0202F730 + push {r4, lr} + ldr r2, _0202F750 ; =0x000005F9 + add r4, r0, #0 + ldrb r2, [r4, r2] + lsl r2, r2, #0x1a + lsr r2, r2, #0x1a + add r1, r2, r1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_0202F754 + ldr r0, _0202F750 ; =0x000005F9 + ldrb r0, [r4, r0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1a + pop {r4, pc} + .balign 4, 0 +_0202F750: .word 0x000005F9 + thumb_func_end sub_0202F730 + + thumb_func_start sub_0202F754 +sub_0202F754: ; 0x0202F754 + push {r3, r4} + cmp r1, #4 + bls _0202F76C + ldr r2, _0202F780 ; =0x000005F9 + mov r1, #0x3f + ldrb r3, [r0, r2] + bic r3, r1 + mov r1, #4 + orr r1, r3 + strb r1, [r0, r2] + pop {r3, r4} + bx lr +_0202F76C: + ldr r3, _0202F780 ; =0x000005F9 + mov r2, #0x3f + ldrb r4, [r0, r3] + bic r4, r2 + mov r2, #0x3f + and r1, r2 + orr r1, r4 + strb r1, [r0, r3] + pop {r3, r4} + bx lr + .balign 4, 0 +_0202F780: .word 0x000005F9 + thumb_func_end sub_0202F754 + + thumb_func_start sub_0202F784 +sub_0202F784: ; 0x0202F784 + ldrh r2, [r1] + ldrb r3, [r1, #2] + mov r1, #0x3c + mul r1, r2 + add r2, r3, r1 + ldr r1, _0202F794 ; =0x000005FA + strh r2, [r0, r1] + bx lr + .balign 4, 0 +_0202F794: .word 0x000005FA + thumb_func_end sub_0202F784 + + thumb_func_start sub_0202F798 +sub_0202F798: ; 0x0202F798 + push {r4, r5} + ldrb r5, [r1, #2] + ldrh r1, [r1] + mov r4, #0x3c + add r3, r1, #0 + mul r3, r4 + add r1, r5, r3 + ldr r3, _0202F7D0 ; =0x000005FA + lsl r1, r1, #0x10 + ldrh r0, [r0, r3] + lsr r1, r1, #0x10 + sub r3, r1, r0 + add r0, r2, #0 + mul r0, r4 + cmp r3, r0 + blt _0202F7BE + mov r0, #1 + pop {r4, r5} + bx lr +_0202F7BE: + ldr r0, _0202F7D4 ; =0x0000EA5F + cmp r1, r0 + blo _0202F7CA + mov r0, #2 + pop {r4, r5} + bx lr +_0202F7CA: + mov r0, #0 + pop {r4, r5} + bx lr + .balign 4, 0 +_0202F7D0: .word 0x000005FA +_0202F7D4: .word 0x0000EA5F + thumb_func_end sub_0202F798 + + thumb_func_start sub_0202F7D8 +sub_0202F7D8: ; 0x0202F7D8 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + mov r0, #0x5d + lsl r0, r0, #4 + add r5, r1, #0 + add r4, r6, r0 + add r0, r5, #0 + add r7, r2, #0 + bl sub_02028F84 + str r0, [r4, #0x14] + add r0, r5, #0 + bl PlayerProfile_GetTrainerGender + strb r0, [r4, #0x11] + add r0, r5, #0 + bl sub_02029088 + strb r0, [r4, #0x12] + add r0, r5, #0 + bl sub_0202907C + strb r0, [r4, #0x13] + mov r0, #0x10 + add r1, r7, #0 + bl String_ctor + add r7, r0, #0 + add r0, r5, #0 + add r1, r7, #0 + bl sub_02028F58 + add r1, r4, #0 + add r0, r7, #0 + add r1, #0x18 + mov r2, #0x10 + bl CopyStringToU16Array + add r0, r7, #0 + bl String_dtor + mov r0, #1 + strb r0, [r4, #0x10] + bl GF_RTC_DateTimeToSec + mov r2, #0x5d + lsl r2, r2, #4 + str r0, [r6, r2] + str r1, [r4, #4] + bl OS_GetOwnerRtcOffset + str r0, [r4, #8] + str r1, [r4, #0xc] + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202F7D8 + + thumb_func_start sub_0202F844 +sub_0202F844: ; 0x0202F844 + push {r3, r4, r5, lr} + add r4, r1, #0 + mov r1, #0x5d + lsl r1, r1, #4 + add r5, r0, r1 + ldr r1, [r5, #0x14] + add r0, r4, #0 + bl sub_02028F80 + ldrb r1, [r5, #0x11] + add r0, r4, #0 + bl sub_02028F90 + ldrb r1, [r5, #0x12] + add r0, r4, #0 + bl sub_0202908C + ldrb r1, [r5, #0x13] + add r0, r4, #0 + bl sub_02029080 + add r5, #0x18 + add r0, r4, #0 + add r1, r5, #0 + bl sub_02028F24 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202F844 + + thumb_func_start sub_0202F87C +sub_0202F87C: ; 0x0202F87C + ldr r1, _0202F884 ; =0x000005E1 + ldrb r0, [r0, r1] + bx lr + nop +_0202F884: .word 0x000005E1 + thumb_func_end sub_0202F87C + + thumb_func_start sub_0202F888 +sub_0202F888: ; 0x0202F888 + mov r1, #0x5e + lsl r1, r1, #4 + ldrb r0, [r0, r1] + bx lr + thumb_func_end sub_0202F888 + + thumb_func_start sub_0202F890 +sub_0202F890: ; 0x0202F890 + push {r4, lr} + mov r1, #0x5d + lsl r1, r1, #4 + add r4, r0, r1 + ldrb r0, [r4, #0x10] + cmp r0, #0 + beq _0202F8CE + bl GF_RTC_DateTimeToSec + ldr r3, [r4] + ldr r2, [r4, #4] + sub r3, r0, r3 + sbc r1, r2 + mov r2, #0 + ldr r0, _0202F8D0 ; =0x00015180 + sub r0, r0, r3 + sbc r2, r1 + bge _0202F8BA + mov r0, #0 + strb r0, [r4, #0x10] + pop {r4, pc} +_0202F8BA: + bl OS_GetOwnerRtcOffset + ldr r3, [r4, #8] + ldr r2, [r4, #0xc] + eor r0, r3 + eor r1, r2 + orr r0, r1 + beq _0202F8CE + mov r0, #0 + strb r0, [r4, #0x10] +_0202F8CE: + pop {r4, pc} + .balign 4, 0 +_0202F8D0: .word 0x00015180 + thumb_func_end sub_0202F890 + + thumb_func_start sub_0202F8D4 +sub_0202F8D4: ; 0x0202F8D4 + push {r4, r5, r6} + sub sp, #0x7c + mov r4, #0x7a + add r3, r1, #0 + mul r3, r4 + add r1, r0, r3 + add r6, r1, #0 + add r5, sp, #0 +_0202F8E4: + ldrb r3, [r6] + add r6, r6, #1 + strb r3, [r5] + add r5, r5, #1 + sub r4, r4, #1 + bne _0202F8E4 + mov r3, #0x7a + add r4, r2, #0 + mul r4, r3 + add r4, r0, r4 + add r2, r4, #0 +_0202F8FA: + ldrb r0, [r2] + add r2, r2, #1 + strb r0, [r1] + add r1, r1, #1 + sub r3, r3, #1 + bne _0202F8FA + add r2, sp, #0 + mov r1, #0x7a +_0202F90A: + ldrb r0, [r2] + add r2, r2, #1 + strb r0, [r4] + add r4, r4, #1 + sub r1, r1, #1 + bne _0202F90A + add sp, #0x7c + pop {r4, r5, r6} + bx lr + thumb_func_end sub_0202F8D4 + + thumb_func_start sub_0202F91C +sub_0202F91C: ; 0x0202F91C + mov r3, #0x7a + mul r3, r1 + add r0, r0, r3 + lsl r1, r2, #0x18 + ldr r3, _0202F92C ; =sub_0202F9E8 + lsr r1, r1, #0x18 + bx r3 + nop +_0202F92C: .word sub_0202F9E8 + thumb_func_end sub_0202F91C + + thumb_func_start sub_0202F930 +sub_0202F930: ; 0x0202F930 + push {r3, lr} + cmp r1, #6 + blt _0202F93C + bl GF_AssertFail + pop {r3, pc} +_0202F93C: + mov r3, #0x7a + mul r3, r1 + add r3, r0, r3 + ldrb r1, [r3, #1] + cmp r1, #0x1e + blo _0202F94E + bl GF_AssertFail + pop {r3, pc} +_0202F94E: + add r0, r1, #1 + strb r0, [r3, #1] + lsl r0, r1, #2 + add r1, r3, r0 + ldrb r0, [r2] + strb r0, [r1, #2] + ldrb r0, [r2, #1] + strb r0, [r1, #3] + ldrb r0, [r2, #2] + strb r0, [r1, #4] + ldrb r0, [r2, #3] + strb r0, [r1, #5] + pop {r3, pc} + thumb_func_end sub_0202F930 + + thumb_func_start sub_0202F968 +sub_0202F968: ; 0x0202F968 + push {r4, lr} + cmp r1, #6 + blt _0202F974 + bl GF_AssertFail + pop {r4, pc} +_0202F974: + mov r3, #0x7a + mul r3, r1 + add r0, r0, r3 + ldrb r1, [r0, #1] + cmp r2, r1 + blo _0202F986 + bl GF_AssertFail + pop {r4, pc} +_0202F986: + sub r1, r1, #1 + strb r1, [r0, #1] + ldrb r4, [r0, #1] + cmp r2, r4 + bne _0202F99C + add r1, r0, #2 + lsl r0, r2, #2 + add r0, r1, r0 + bl sub_0202F9FC + pop {r4, pc} +_0202F99C: + cmp r2, r4 + bge _0202F9BE + lsl r1, r2, #2 + add r3, r0, r1 +_0202F9A4: + ldrb r1, [r3, #6] + add r2, r2, #1 + strb r1, [r3, #2] + ldrb r1, [r3, #7] + strb r1, [r3, #3] + ldrb r1, [r3, #8] + strb r1, [r3, #4] + ldrb r1, [r3, #9] + strb r1, [r3, #5] + ldrb r4, [r0, #1] + add r3, r3, #4 + cmp r2, r4 + blt _0202F9A4 +_0202F9BE: + add r1, r0, #2 + lsl r0, r4, #2 + add r0, r1, r0 + bl sub_0202F9FC + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202F968 + + thumb_func_start sub_0202F9CC +sub_0202F9CC: ; 0x0202F9CC + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 +_0202F9D2: + lsl r1, r4, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + bl sub_0202F9E8 + add r4, r4, #1 + add r5, #0x7a + cmp r4, #6 + blt _0202F9D2 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202F9CC + + thumb_func_start sub_0202F9E8 +sub_0202F9E8: ; 0x0202F9E8 + push {r3, r4, r5, lr} + add r4, r1, #0 + mov r1, #0 + mov r2, #0x7a + add r5, r0, #0 + bl MIi_CpuFill8 + strb r4, [r5] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0202F9E8 + + thumb_func_start sub_0202F9FC +sub_0202F9FC: ; 0x0202F9FC + ldr r3, _0202FA04 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #4 + bx r3 + .balign 4, 0 +_0202FA04: .word MIi_CpuFill8 + thumb_func_end sub_0202F9FC + + thumb_func_start sub_0202FA08 +sub_0202FA08: ; 0x0202FA08 + push {r4, lr} + mov r1, #0 + mov r2, #0x28 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r0, #0 + str r0, [r4, #0x14] + strb r0, [r4, #0x11] + ldr r0, _0202FA34 ; =0x020F5670 + mov r1, #8 + ldrb r0, [r0] + strb r0, [r4, #0x12] + ldr r0, _0202FA38 ; =0x020F566C + ldrb r0, [r0] + strb r0, [r4, #0x13] + add r4, #0x18 + add r0, r4, #0 + bl StringFillEOS + pop {r4, pc} + nop +_0202FA34: .word 0x020F5670 +_0202FA38: .word 0x020F566C + thumb_func_end sub_0202FA08 + + thumb_func_start sub_0202FA3C +sub_0202FA3C: ; 0x0202FA3C + push {r3, r4} + mov r4, #0 + cmp r2, #0 + ble _0202FA56 +_0202FA44: + ldrb r3, [r1, r4] + cmp r0, r3 + bne _0202FA50 + mov r0, #1 + pop {r3, r4} + bx lr +_0202FA50: + add r4, r4, #1 + cmp r4, r2 + blt _0202FA44 +_0202FA56: + mov r0, #0 + pop {r3, r4} + bx lr + thumb_func_end sub_0202FA3C + + thumb_func_start sub_0202FA5C +sub_0202FA5C: ; 0x0202FA5C + ldr r0, _0202FA60 ; =0x00001294 + bx lr + .balign 4, 0 +_0202FA60: .word 0x00001294 + thumb_func_end sub_0202FA5C + + thumb_func_start sub_0202FA64 +sub_0202FA64: ; 0x0202FA64 + ldr r3, _0202FA6C ; =SavArray_get + mov r1, #0x24 + bx r3 + nop +_0202FA6C: .word SavArray_get + thumb_func_end sub_0202FA64 + + thumb_func_start sub_0202FA70 +sub_0202FA70: ; 0x0202FA70 + push {r3, r4, r5, lr} + mov r4, #0 + str r4, [r0] + add r5, r0, #4 +_0202FA78: + add r0, r5, #0 + bl sub_0202FB98 + add r4, r4, #1 + add r5, #0x84 + cmp r4, #0x24 + blt _0202FA78 + pop {r3, r4, r5, pc} + thumb_func_end sub_0202FA70 + + thumb_func_start sub_0202FA88 +sub_0202FA88: ; 0x0202FA88 + push {r4, r5, r6, lr} + mov r5, #0 + add r4, r0, #4 + mov r6, #0x84 +_0202FA90: + add r0, r5, #0 + mul r0, r6 + add r0, r4, r0 + bl sub_0202FBBC + cmp r0, #0 + bne _0202FAA2 + add r0, r5, #0 + pop {r4, r5, r6, pc} +_0202FAA2: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x24 + blo _0202FA90 + mov r0, #0xff + pop {r4, r5, r6, pc} + thumb_func_end sub_0202FA88 + + thumb_func_start sub_0202FAB0 +sub_0202FAB0: ; 0x0202FAB0 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + add r5, r4, #0 + add r6, r0, #4 + mov r7, #0x84 +_0202FABA: + add r0, r4, #0 + mul r0, r7 + add r0, r6, r0 + bl sub_0202FBBC + cmp r0, #0 + beq _0202FACE + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +_0202FACE: + add r0, r4, #1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x24 + blo _0202FABA + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202FAB0 + + thumb_func_start sub_0202FADC +sub_0202FADC: ; 0x0202FADC + push {r3, lr} + cmp r1, #0x24 + bhs _0202FAEE + add r2, r0, #4 + mov r0, #0x84 + mul r0, r1 + add r0, r2, r0 + bl sub_0202FB98 +_0202FAEE: + pop {r3, pc} + thumb_func_end sub_0202FADC + + thumb_func_start sub_0202FAF0 +sub_0202FAF0: ; 0x0202FAF0 + push {r4, lr} + add r3, r0, #0 + cmp r2, #0x24 + blo _0202FAFC + mov r0, #0 + pop {r4, pc} +_0202FAFC: + add r0, r1, #0 + add r4, r3, #4 + mov r3, #0x84 + add r1, r2, #0 + mul r1, r3 + add r1, r4, r1 + add r2, r3, #0 + bl MIi_CpuCopy8 + mov r0, #1 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202FAF0 + + thumb_func_start sub_0202FB14 +sub_0202FB14: ; 0x0202FB14 + push {r4, lr} + cmp r2, #0x24 + blo _0202FB24 + add r0, r1, #0 + bl sub_0202FB98 + mov r0, #0 + pop {r4, pc} +_0202FB24: + add r4, r0, #4 + mov r3, #0x84 + add r0, r2, #0 + mul r0, r3 + add r0, r4, r0 + add r2, r3, #0 + bl MIi_CpuCopy8 + mov r0, #1 + pop {r4, pc} + thumb_func_end sub_0202FB14 + + thumb_func_start sub_0202FB38 +sub_0202FB38: ; 0x0202FB38 + push {r3, r4, r5, r6, r7, lr} + add r4, r0, #0 + add r6, r1, #0 + bl sub_0202FAB0 + add r5, r0, #0 + mov r1, #0x84 + mul r5, r1 + add r0, r6, #0 + add r1, r5, #0 + bl AllocFromHeap + mov r1, #0 + add r2, r5, #0 + str r0, [sp] + bl MIi_CpuFill8 + mov r7, #0 + add r5, r7, #0 + add r4, r4, #4 +_0202FB60: + mov r0, #0x84 + add r6, r5, #0 + mul r6, r0 + add r0, r4, r6 + bl sub_0202FBBC + cmp r0, #0 + beq _0202FB88 + add r1, r7, #0 + mov r2, #0x84 + add r0, r7, #1 + mul r2, r1 + ldr r1, [sp] + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + add r1, r1, r2 + add r0, r4, r6 + mov r2, #0x84 + bl MIi_CpuCopy8 +_0202FB88: + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x24 + blo _0202FB60 + ldr r0, [sp] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0202FB38 + + thumb_func_start sub_0202FB98 +sub_0202FB98: ; 0x0202FB98 + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x84 + bl MIi_CpuFill8 + add r0, r4, #0 + add r0, #8 + mov r1, #8 + bl StringFillEOS + add r4, #0x18 + add r0, r4, #0 + mov r1, #0xc + bl StringFillEOS + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0202FB98 + + thumb_func_start sub_0202FBBC +sub_0202FBBC: ; 0x0202FBBC + ldrb r0, [r0, #7] + cmp r0, #0 + beq _0202FBC6 + mov r0, #1 + bx lr +_0202FBC6: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_0202FBBC + + thumb_func_start sub_0202FBCC +sub_0202FBCC: ; 0x0202FBCC + ldr r0, _0202FBD0 ; =0x00001D50 + bx lr + .balign 4, 0 +_0202FBD0: .word 0x00001D50 + thumb_func_end sub_0202FBCC + + thumb_func_start sub_0202FBD4 +sub_0202FBD4: ; 0x0202FBD4 + push {r4, lr} + add r4, r0, #0 + ldr r2, _0202FBEC ; =0x00001D50 + mov r0, #0 + add r1, r4, #0 + bl sub_020D47EC + mov r0, #0 + mvn r0, r0 + str r0, [r4] + pop {r4, pc} + nop +_0202FBEC: .word 0x00001D50 + thumb_func_end sub_0202FBD4 + + thumb_func_start sub_0202FBF0 +sub_0202FBF0: ; 0x0202FBF0 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, _0202FC20 ; =0x021D2AF8 + add r4, r1, #0 + ldr r0, [r0] + add r6, r2, #0 + cmp r0, #0 + beq _0202FC0A + bl FreeToHeap + ldr r0, _0202FC20 ; =0x021D2AF8 + mov r1, #0 + str r1, [r0] +_0202FC0A: + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + mov r3, #0 + bl sub_0202711C + ldr r1, _0202FC20 ; =0x021D2AF8 + str r0, [r1] + bl sub_0202FBD4 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0202FC20: .word 0x021D2AF8 + thumb_func_end sub_0202FBF0 + + thumb_func_start sub_0202FC24 +sub_0202FC24: ; 0x0202FC24 + push {r3, lr} + ldr r0, _0202FC44 ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + bne _0202FC32 + bl GF_AssertFail +_0202FC32: + ldr r0, _0202FC44 ; =0x021D2AF8 + ldr r0, [r0] + bl FreeToHeap + ldr r0, _0202FC44 ; =0x021D2AF8 + mov r1, #0 + str r1, [r0] + pop {r3, pc} + nop +_0202FC44: .word 0x021D2AF8 + thumb_func_end sub_0202FC24 + + thumb_func_start sub_0202FC48 +sub_0202FC48: ; 0x0202FC48 + ldr r0, _0202FC58 ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + beq _0202FC54 + mov r0, #1 + bx lr +_0202FC54: + mov r0, #0 + bx lr + .balign 4, 0 +_0202FC58: .word 0x021D2AF8 + thumb_func_end sub_0202FC48 + + thumb_func_start sub_0202FC5C +sub_0202FC5C: ; 0x0202FC5C + push {r3, lr} + ldr r0, _0202FC70 ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + bne _0202FC6A + bl GF_AssertFail +_0202FC6A: + ldr r0, _0202FC70 ; =0x021D2AF8 + ldr r0, [r0] + pop {r3, pc} + .balign 4, 0 +_0202FC70: .word 0x021D2AF8 + thumb_func_end sub_0202FC5C + + thumb_func_start sub_0202FC74 +sub_0202FC74: ; 0x0202FC74 + push {r3, lr} + ldr r0, _0202FC8C ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + bne _0202FC82 + bl GF_AssertFail +_0202FC82: + ldr r0, _0202FC8C ; =0x021D2AF8 + ldr r0, [r0] + add r0, r0, #4 + pop {r3, pc} + nop +_0202FC8C: .word 0x021D2AF8 + thumb_func_end sub_0202FC74 + + thumb_func_start sub_0202FC90 +sub_0202FC90: ; 0x0202FC90 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, _0202FD1C ; =0x021D2AF8 + add r7, r1, #0 + ldr r0, [r0] + add r4, r2, #0 + add r6, r3, #0 + cmp r0, #0 + beq _0202FCAC + bl FreeToHeap + ldr r0, _0202FD1C ; =0x021D2AF8 + mov r1, #0 + str r1, [r0] +_0202FCAC: + ldr r3, [sp, #0x18] + add r0, r5, #0 + add r1, r7, #0 + add r2, r4, #0 + bl sub_0202711C + ldr r1, _0202FD1C ; =0x021D2AF8 + str r0, [r1] + ldr r1, [r4] + cmp r1, #1 + beq _0202FCCA + mov r0, #3 + str r0, [r4] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202FCCA: + ldr r1, _0202FD20 ; =0x00001C64 + add r0, #0xe8 + ldrh r2, [r0, r1] + ldr r3, _0202FD24 ; =0x0000FFFF + eor r3, r2 + lsl r3, r3, #0x10 + add r2, r2, r3 + bl sub_02030258 + ldr r1, _0202FD1C ; =0x021D2AF8 + add r0, r5, #0 + ldr r1, [r1] + bl sub_02030154 + cmp r0, #1 + bne _0202FCF2 + mov r0, #0 + str r0, [r4] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202FCF2: + ldr r1, _0202FD1C ; =0x021D2AF8 + add r0, r5, #0 + ldr r1, [r1] + bl sub_0203018C + cmp r0, #0 + bne _0202FD08 + mov r0, #2 + str r0, [r4] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0202FD08: + cmp r6, #0 + beq _0202FD14 + add r0, r6, #0 + add r1, r5, #0 + bl sub_020304F0 +_0202FD14: + mov r0, #1 + str r0, [r4] + pop {r3, r4, r5, r6, r7, pc} + nop +_0202FD1C: .word 0x021D2AF8 +_0202FD20: .word 0x00001C64 +_0202FD24: .word 0x0000FFFF + thumb_func_end sub_0202FC90 + + thumb_func_start sub_0202FD28 +sub_0202FD28: ; 0x0202FD28 + push {r4, r5, r6, lr} + add r5, r2, #0 + add r6, r0, #0 + bl sub_0202711C + ldr r1, [r5] + add r4, r0, #0 + cmp r1, #1 + beq _0202FD46 + mov r1, #3 + str r1, [r5] + bl FreeToHeap + mov r0, #0 + pop {r4, r5, r6, pc} +_0202FD46: + ldr r1, _0202FD9C ; =0x00001C64 + add r0, #0xe8 + ldrh r2, [r0, r1] + ldr r3, _0202FDA0 ; =0x0000FFFF + eor r3, r2 + lsl r3, r3, #0x10 + add r2, r2, r3 + bl sub_02030258 + add r0, r6, #0 + add r1, r4, #0 + bl sub_02030154 + cmp r0, #1 + bne _0202FD72 + mov r0, #0 + str r0, [r5] + add r0, r4, #0 + bl FreeToHeap + mov r0, #0 + pop {r4, r5, r6, pc} +_0202FD72: + add r0, r6, #0 + add r1, r4, #0 + bl sub_0203018C + cmp r0, #0 + bne _0202FD8C + mov r0, #2 + str r0, [r5] + add r0, r4, #0 + bl FreeToHeap + mov r0, #0 + pop {r4, r5, r6, pc} +_0202FD8C: + mov r0, #1 + str r0, [r5] + add r0, r4, #0 + bl FreeToHeap + mov r0, #1 + pop {r4, r5, r6, pc} + nop +_0202FD9C: .word 0x00001C64 +_0202FDA0: .word 0x0000FFFF + thumb_func_end sub_0202FD28 + + thumb_func_start sub_0202FDA4 +sub_0202FDA4: ; 0x0202FDA4 + push {r3, r4, r5, r6, r7, lr} + add r4, r3, #0 + add r6, r1, #0 + ldrh r1, [r4] + add r5, r0, #0 + add r7, r2, #0 + cmp r1, #0 + beq _0202FDBA + cmp r1, #1 + beq _0202FDF2 + b _0202FE10 +_0202FDBA: + mov r0, #8 + bl sub_0201A728 + mov r0, #0xb + bl sub_0201A748 + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + bl sub_02027134 + add r6, r0, #0 + cmp r6, #2 + bne _0202FDE8 + add r0, r5, #0 + mov r1, #2 + bl sub_02027550 + ldrh r0, [r4] + add r0, r0, #1 + strh r0, [r4] + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202FDE8: + mov r0, #8 + bl sub_0201A738 + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202FDF2: + bl sub_02027564 + add r5, r0, #0 + sub r0, r5, #2 + cmp r0, #1 + bhi _0202FE0C + mov r0, #0 + strh r0, [r4] + bl sub_0201A774 + mov r0, #8 + bl sub_0201A738 +_0202FE0C: + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} +_0202FE10: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0202FDA4 + + thumb_func_start sub_0202FE14 +sub_0202FE14: ; 0x0202FE14 + push {r3, r4, r5, r6, r7, lr} + ldr r6, [sp, #0x18] + mov ip, r1 + add r1, r2, #0 + ldrh r2, [r6] + add r7, r0, #0 + cmp r2, #0 + beq _0202FE2A + cmp r2, #1 + beq _0202FE90 + b _0202FE9E +_0202FE2A: + ldr r2, _0202FEA4 ; =0x021D2AF8 + ldr r4, [r2] + cmp r4, #0 + bne _0202FE36 + mov r0, #3 + pop {r3, r4, r5, r6, r7, pc} +_0202FE36: + add r5, r4, #0 + add r4, #0xe8 + add r5, #0x84 + str r1, [sp] + add r1, r5, #0 + add r2, r4, #0 + mov r3, ip + bl sub_0202FF08 + add r0, r5, #0 + ldr r1, _0202FEA8 ; =0x0000E281 + add r0, #0x48 + strh r1, [r0] + add r0, r7, #0 + add r1, r5, #0 + mov r2, #0x58 + bl sub_020275C4 + add r5, #0x60 + strh r0, [r5] + ldr r0, _0202FEA8 ; =0x0000E281 + ldr r2, _0202FEAC ; =0x00001C62 + add r1, r4, #0 + strh r0, [r4, r2] + add r0, r7, #0 + add r2, r2, #2 + bl sub_020275C4 + ldr r1, _0202FEB0 ; =0x00001C64 + ldr r3, _0202FEB4 ; =0x0000FFFF + strh r0, [r4, r1] + ldrh r2, [r4, r1] + add r0, r4, #0 + eor r3, r2 + lsl r3, r3, #0x10 + add r2, r2, r3 + bl sub_02030250 + ldr r0, [sp, #0x1c] + mov r1, #0 + strh r1, [r0] + ldrh r0, [r6] + add r0, r0, #1 + strh r0, [r6] + b _0202FE9E +_0202FE90: + ldr r1, _0202FEA4 ; =0x021D2AF8 + add r2, r3, #0 + ldr r1, [r1] + ldr r3, [sp, #0x1c] + bl sub_0202FDA4 + pop {r3, r4, r5, r6, r7, pc} +_0202FE9E: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0202FEA4: .word 0x021D2AF8 +_0202FEA8: .word 0x0000E281 +_0202FEAC: .word 0x00001C62 +_0202FEB0: .word 0x00001C64 +_0202FEB4: .word 0x0000FFFF + thumb_func_end sub_0202FE14 + + thumb_func_start sub_0202FEB8 +sub_0202FEB8: ; 0x0202FEB8 + cmp r0, #0x1a + bgt _0202FEE6 + bge _0202FEF2 + add r3, r0, #0 + sub r3, #0xe + cmp r3, #9 + bhi _0202FEFC + add r3, r3, r3 + add r3, pc + ldrh r3, [r3, #6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 +_0202FED2: ; jump table + .short _0202FEF2 - _0202FED2 - 2 ; case 0 + .short _0202FEFC - _0202FED2 - 2 ; case 1 + .short _0202FEFC - _0202FED2 - 2 ; case 2 + .short _0202FEF2 - _0202FED2 - 2 ; case 3 + .short _0202FEFC - _0202FED2 - 2 ; case 4 + .short _0202FEFC - _0202FED2 - 2 ; case 5 + .short _0202FEF2 - _0202FED2 - 2 ; case 6 + .short _0202FEFC - _0202FED2 - 2 ; case 7 + .short _0202FEFC - _0202FED2 - 2 ; case 8 + .short _0202FEF2 - _0202FED2 - 2 ; case 9 +_0202FEE6: + cmp r0, #0x1d + bgt _0202FEEE + beq _0202FEF2 + b _0202FEFC +_0202FEEE: + cmp r0, #0x20 + bne _0202FEFC +_0202FEF2: + mov r0, #4 + str r0, [r1] + mov r0, #3 + str r0, [r2] + bx lr +_0202FEFC: + mov r0, #2 + str r0, [r1] + mov r0, #6 + str r0, [r2] + bx lr + .balign 4, 0 + thumb_func_end sub_0202FEB8 + + thumb_func_start sub_0202FF08 +sub_0202FF08: ; 0x0202FF08 + push {r4, r5, r6, r7, lr} + sub sp, #0x2c + str r3, [sp, #8] + add r7, r1, #0 + str r2, [sp, #4] + ldr r3, _02030148 ; =0x020F68C8 + str r0, [sp] + add r2, sp, #0x1c + mov r1, #8 +_0202FF1A: + ldrb r0, [r3] + add r3, r3, #1 + strb r0, [r2] + add r2, r2, #1 + sub r1, r1, #1 + bne _0202FF1A + ldr r1, _0203014C ; =0x020F68C4 + add r0, sp, #0x18 + ldrb r2, [r1] + strb r2, [r0] + ldrb r2, [r1, #1] + strb r2, [r0, #1] + ldrb r2, [r1, #2] + ldrb r1, [r1, #3] + strb r2, [r0, #2] + strb r1, [r0, #3] + add r0, r7, #0 + mov r1, #0 + mov r2, #0x64 + bl MIi_CpuFill8 + ldr r0, [sp, #8] + add r1, sp, #0x28 + add r2, sp, #0x24 + bl sub_0202FEB8 + ldr r0, [sp, #4] + mov r2, #0 + ldr r3, [r0] + mov r0, #4 + tst r0, r3 + beq _0202FF74 + mov r1, #0x80 + add r0, r3, #0 + tst r0, r1 + beq _0202FF6C + ldr r0, [sp, #4] + add r1, #0xc4 + ldrh r0, [r0, r1] + lsl r4, r0, #1 + b _0202FF76 +_0202FF6C: + ldr r0, [sp, #4] + add r1, #0xc4 + ldrh r4, [r0, r1] + b _0202FF76 +_0202FF74: + add r4, r2, #0 +_0202FF76: + ldr r5, [sp, #0x28] + mov r0, #0 + mov ip, r0 + cmp r5, #0 + ble _0203004E + add r0, sp, #0x18 + str r0, [sp, #0x14] + ldr r0, [sp, #4] + lsl r1, r4, #2 + add r0, r0, r1 + str r0, [sp, #0x10] + mov r0, #1 + and r0, r4 + add r3, r7, #0 + str r0, [sp, #0xc] +_0202FF94: + ldr r0, [sp, #4] + mov r1, #8 + ldr r0, [r0] + add r6, r0, #0 + and r6, r1 + beq _0202FFD6 + mov r4, #0x80 + add r1, r0, #0 + tst r1, r4 + bne _0202FFD6 + mov r6, #0 + cmp r5, #0 + ble _0202FFF6 + ldr r1, [sp, #0x10] + add r4, #0xb4 + ldr r1, [r1, r4] + ldr r0, [sp, #4] + lsl r1, r1, #0x1f + lsr r4, r1, #0x1d + add r1, sp, #0x1c + add r4, r1, r4 + mov r1, ip + ldrb r1, [r1, r4] +_0202FFC2: + mov r4, #0x4d + lsl r4, r4, #2 + ldr r4, [r0, r4] + cmp r4, r1 + beq _0202FFF6 + add r6, r6, #1 + add r0, r0, #4 + cmp r6, r5 + blt _0202FFC2 + b _0202FFF6 +_0202FFD6: + cmp r6, #0 + beq _0202FFE6 + mov r1, #0x80 + tst r0, r1 + beq _0202FFE6 + ldr r0, [sp, #0x14] + ldrb r6, [r0] + b _0202FFF6 +_0202FFE6: + ldr r0, [sp, #0xc] + mov r6, ip + cmp r0, #0 + beq _0202FFF6 + mov r0, ip + mov r1, #1 + add r6, r0, #0 + eor r6, r1 +_0202FFF6: + ldr r0, [sp, #0x24] + mov r5, #0 + cmp r0, #0 + ble _0203003C + ldr r1, _02030150 ; =0x00001154 + ldr r0, [sp, #4] + add r1, r0, r1 + mov r0, #0xa9 + lsl r0, r0, #2 + mul r0, r6 + add r4, r1, r0 +_0203000C: + ldr r0, [r4, #0x2c] + lsl r0, r0, #1 + lsr r0, r0, #0x1f + bne _0203002E + ldrh r0, [r4, #4] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bne _0203002E + ldrh r0, [r4, #6] + strh r0, [r3] + add r0, r4, #0 + add r0, #0x30 + ldrb r0, [r0] + lsl r0, r0, #0x18 + lsr r1, r0, #0x1b + add r0, r7, r2 + strb r1, [r0, #0x18] +_0203002E: + ldr r0, [sp, #0x24] + add r5, r5, #1 + add r3, r3, #2 + add r2, r2, #1 + add r4, #0x70 + cmp r5, r0 + blt _0203000C +_0203003C: + ldr r0, [sp, #0x14] + ldr r5, [sp, #0x28] + add r0, r0, #1 + str r0, [sp, #0x14] + mov r0, ip + add r0, r0, #1 + mov ip, r0 + cmp r0, r5 + blt _0202FF94 +_0203004E: + ldr r0, [sp, #8] + cmp r0, #0xd + bhi _02030124 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02030060: ; jump table + .short _02030124 - _02030060 - 2 ; case 0 + .short _0203007C - _02030060 - 2 ; case 1 + .short _02030098 - _02030060 - 2 ; case 2 + .short _020300B4 - _02030060 - 2 ; case 3 + .short _020300D0 - _02030060 - 2 ; case 4 + .short _020300EC - _02030060 - 2 ; case 5 + .short _02030108 - _02030060 - 2 ; case 6 + .short _02030124 - _02030060 - 2 ; case 7 + .short _0203007C - _02030060 - 2 ; case 8 + .short _02030098 - _02030060 - 2 ; case 9 + .short _020300B4 - _02030060 - 2 ; case 10 + .short _020300D0 - _02030060 - 2 ; case 11 + .short _020300EC - _02030060 - 2 ; case 12 + .short _02030108 - _02030060 - 2 ; case 13 +_0203007C: + ldr r0, [sp] + mov r1, #0 + bl sub_020291E8 + add r3, r7, #0 + add r3, #0x28 + mov r2, #0x10 +_0203008A: + ldrh r1, [r0] + add r0, r0, #2 + strh r1, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _0203008A + b _0203013A +_02030098: + ldr r0, [sp] + mov r1, #1 + bl sub_020291E8 + add r3, r7, #0 + add r3, #0x28 + mov r2, #0x10 +_020300A6: + ldrh r1, [r0] + add r0, r0, #2 + strh r1, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _020300A6 + b _0203013A +_020300B4: + ldr r0, [sp] + mov r1, #2 + bl sub_020291E8 + add r3, r7, #0 + add r3, #0x28 + mov r2, #0x10 +_020300C2: + ldrh r1, [r0] + add r0, r0, #2 + strh r1, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _020300C2 + b _0203013A +_020300D0: + ldr r0, [sp] + mov r1, #3 + bl sub_020291E8 + add r3, r7, #0 + add r3, #0x28 + mov r2, #0x10 +_020300DE: + ldrh r1, [r0] + add r0, r0, #2 + strh r1, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _020300DE + b _0203013A +_020300EC: + ldr r0, [sp] + mov r1, #4 + bl sub_020291E8 + add r3, r7, #0 + add r3, #0x28 + mov r2, #0x10 +_020300FA: + ldrh r1, [r0] + add r0, r0, #2 + strh r1, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _020300FA + b _0203013A +_02030108: + ldr r0, [sp] + mov r1, #5 + bl sub_020291E8 + add r3, r7, #0 + add r3, #0x28 + mov r2, #0x10 +_02030116: + ldrh r1, [r0] + add r0, r0, #2 + strh r1, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _02030116 + b _0203013A +_02030124: + bl sub_0202925C + add r3, r7, #0 + add r3, #0x28 + mov r2, #0x10 +_0203012E: + ldrh r1, [r0] + add r0, r0, #2 + strh r1, [r3] + add r3, r3, #2 + sub r2, r2, #1 + bne _0203012E +_0203013A: + ldr r0, [sp, #0x40] + strh r0, [r7, #0x24] + ldr r0, [sp, #8] + add r7, #0x26 + strb r0, [r7] + add sp, #0x2c + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_02030148: .word 0x020F68C8 +_0203014C: .word 0x020F68C4 +_02030150: .word 0x00001154 + thumb_func_end sub_0202FF08 + + thumb_func_start sub_02030154 +sub_02030154: ; 0x02030154 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r1, #0 + add r4, #0xe8 + add r5, #0x84 + bl sub_020274E8 + cmp r0, #0 + bne _0203016A + mov r0, #1 + pop {r3, r4, r5, pc} +_0203016A: + ldr r0, _02030184 ; =0x00001C62 + ldrh r1, [r4, r0] + ldr r0, _02030188 ; =0x0000E281 + cmp r1, r0 + bne _0203017C + add r5, #0x48 + ldrh r1, [r5] + cmp r1, r0 + beq _02030180 +_0203017C: + mov r0, #1 + pop {r3, r4, r5, pc} +_02030180: + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_02030184: .word 0x00001C62 +_02030188: .word 0x0000E281 + thumb_func_end sub_02030154 + + thumb_func_start sub_0203018C +sub_0203018C: ; 0x0203018C + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r1, #0 + ldr r1, _0203023C ; =0x00001C62 + add r4, #0xe8 + ldrh r1, [r4, r1] + ldr r2, _02030240 ; =0x0000E281 + add r6, r0, #0 + add r5, #0x84 + cmp r1, r2 + bne _020301AC + add r1, r5, #0 + add r1, #0x48 + ldrh r1, [r1] + cmp r1, r2 + beq _020301B0 +_020301AC: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_020301B0: + add r1, r5, #0 + mov r2, #0x58 + bl sub_020275C4 + add r5, #0x60 + ldrh r1, [r5] + cmp r0, r1 + beq _020301C4 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_020301C4: + ldr r2, _02030244 ; =0x00001C64 + add r0, r6, #0 + add r1, r4, #0 + bl sub_020275C4 + ldr r1, _02030244 ; =0x00001C64 + ldrh r1, [r4, r1] + cmp r0, r1 + beq _020301DA + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_020301DA: + mov r0, #0 + mov ip, r0 + ldr r0, _02030248 ; =0x00001154 + add r0, r4, r0 + str r0, [sp] + ldr r0, _0203024C ; =0x000001D3 + add r7, r0, #0 + add r6, r0, #0 + add r7, #0x45 + add r6, #0x1c +_020301EE: + ldr r4, [sp] + mov r2, #0 +_020301F2: + ldrh r1, [r4, #6] + cmp r1, r6 + bls _020301FC + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_020301FC: + ldrh r1, [r4, #8] + cmp r1, r7 + bls _02030206 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02030206: + mov r3, #0 + add r5, r4, #0 +_0203020A: + ldrh r1, [r5, #0x1c] + cmp r1, r0 + bls _02030214 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02030214: + add r3, r3, #1 + add r5, r5, #2 + cmp r3, #4 + blt _0203020A + add r2, r2, #1 + add r4, #0x70 + cmp r2, #6 + blt _020301F2 + mov r1, #0xa9 + ldr r2, [sp] + lsl r1, r1, #2 + add r1, r2, r1 + str r1, [sp] + mov r1, ip + add r1, r1, #1 + mov ip, r1 + cmp r1, #4 + blt _020301EE + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203023C: .word 0x00001C62 +_02030240: .word 0x0000E281 +_02030244: .word 0x00001C64 +_02030248: .word 0x00001154 +_0203024C: .word 0x000001D3 + thumb_func_end sub_0203018C + + thumb_func_start sub_02030250 +sub_02030250: ; 0x02030250 + ldr r3, _02030254 ; =sub_0201FF44 + bx r3 + .balign 4, 0 +_02030254: .word sub_0201FF44 + thumb_func_end sub_02030250 + + thumb_func_start sub_02030258 +sub_02030258: ; 0x02030258 + ldr r3, _0203025C ; =sub_0201FF70 + bx r3 + .balign 4, 0 +_0203025C: .word sub_0201FF70 + thumb_func_end sub_02030258 + + thumb_func_start sub_02030260 +sub_02030260: ; 0x02030260 + ldr r3, _02030278 ; =0x021D2AF8 + ldr r3, [r3] + cmp r3, #0 + beq _02030274 + lsl r0, r0, #0xa + add r0, r3, r0 + add r1, r0, r1 + mov r0, #0x8e + lsl r0, r0, #2 + strb r2, [r1, r0] +_02030274: + bx lr + nop +_02030278: .word 0x021D2AF8 + thumb_func_end sub_02030260 + + thumb_func_start sub_0203027C +sub_0203027C: ; 0x0203027C + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _020302A0 ; =0x021D2AF8 + add r4, r1, #0 + ldr r0, [r0] + cmp r0, #0 + bne _0203028E + bl GF_AssertFail +_0203028E: + ldr r0, _020302A0 ; =0x021D2AF8 + ldr r1, [r0] + lsl r0, r5, #0xa + add r0, r1, r0 + add r1, r0, r4 + mov r0, #0x8e + lsl r0, r0, #2 + ldrb r0, [r1, r0] + pop {r3, r4, r5, pc} + .balign 4, 0 +_020302A0: .word 0x021D2AF8 + thumb_func_end sub_0203027C + + thumb_func_start sub_020302A4 +sub_020302A4: ; 0x020302A4 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + str r0, [sp] + ldr r0, _0203048C ; =0x021D2AF8 + ldr r1, [r0] + cmp r1, #0 + bne _020302B4 + b _02030488 +_020302B4: + ldr r0, [sp] + add r7, r1, #0 + ldr r0, [r0] + add r1, #0xe8 + str r0, [r1] + ldr r0, [sp] + add r7, #0xe8 + ldr r0, [r0, #0x14] + ldr r1, [sp] + str r0, [r7, #4] + mov r0, #0x53 + lsl r0, r0, #2 + ldr r2, [r1, r0] + add r1, r7, #0 + add r1, #0xe8 + str r2, [r1] + ldr r1, [sp] + add r2, r0, #4 + ldr r2, [r1, r2] + add r1, r7, #0 + add r1, #0xec + str r2, [r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #8 + ldr r2, [r1, r2] + add r1, r7, #0 + add r1, #0xf0 + str r2, [r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0xc + ldr r2, [r1, r2] + add r1, r7, #0 + add r1, #0xf4 + str r2, [r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x10 + ldr r2, [r1, r2] + add r1, r7, #0 + add r1, #0xf8 + str r2, [r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x14 + ldr r2, [r1, r2] + add r1, r7, #0 + add r1, #0xfc + str r2, [r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x18 + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x4c + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x1c + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x48 + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x24 + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x44 + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x28 + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x40 + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x2c + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x3c + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x40 + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x28 + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x44 + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x24 + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x48 + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x20 + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x50 + ldr r2, [r1, r2] + add r1, r0, #0 + sub r1, #0x1c + str r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x64 + ldrh r2, [r1, r2] + add r1, r0, #0 + sub r1, #8 + strh r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x67 + ldrb r2, [r1, r2] + sub r1, r0, #6 + ldr r4, [sp] + strh r2, [r7, r1] + add r2, r0, #0 + ldr r1, [sp] + add r2, #0x68 + ldr r1, [r1, r2] + sub r0, r0, #4 + str r1, [r7, r0] + add r0, r4, #0 + mov r3, #0 + add r5, r7, #0 + str r0, [sp, #8] + str r7, [sp, #4] +_020303C8: + ldr r0, [r4, #0x18] + ldr r2, [sp, #8] + ldr r6, [sp, #4] + str r0, [r5, #8] + mov r0, #6 + add r2, #0x28 + add r6, #0x18 + mov ip, r0 +_020303D8: + ldmia r2!, {r0, r1} + stmia r6!, {r0, r1} + mov r0, ip + sub r0, r0, #1 + mov ip, r0 + bne _020303D8 + ldr r0, [r2] + mov r1, #0x5f + lsl r1, r1, #2 + str r0, [r6] + ldr r0, [r4, r1] + cmp r0, #0 + bne _020303FA + mov r0, #5 + sub r1, #0x68 + lsl r0, r0, #6 + b _020303FC +_020303FA: + sub r1, #0x68 +_020303FC: + str r0, [r5, r1] + mov r0, #0x1a + lsl r0, r0, #4 + ldr r2, [r4, r0] + add r1, r0, #0 + sub r1, #0x6c + str r2, [r5, r1] + ldr r1, [sp] + add r4, r4, #4 + add r2, r1, r3 + add r1, r0, #0 + add r1, #0x1c + ldrb r2, [r2, r1] + add r1, r7, r3 + sub r0, #0x54 + strb r2, [r1, r0] + ldr r0, [sp, #8] + add r3, r3, #1 + add r0, #0x34 + str r0, [sp, #8] + ldr r0, [sp, #4] + add r5, r5, #4 + add r0, #0x34 + str r0, [sp, #4] + cmp r3, #4 + blt _020303C8 + ldr r0, _02030490 ; =0x00001150 + ldr r4, [sp] + add r0, r7, r0 + str r0, [sp, #0xc] + ldr r0, _02030494 ; =0x00001BE0 + mov r5, #0 + add r6, r7, r0 +_0203043E: + ldr r0, [r4, #4] + ldr r1, [sp, #0xc] + bl sub_020306DC + add r0, r4, #0 + add r0, #0xf8 + ldr r0, [r0] + add r1, r6, #0 + bl sub_02028EE4 + mov r0, #0x46 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl sub_02006EFC + mov r1, #0x53 + add r2, r7, r5 + lsl r1, r1, #2 + strb r0, [r2, r1] + mov r0, #0xa9 + ldr r1, [sp, #0xc] + lsl r0, r0, #2 + add r0, r1, r0 + add r5, r5, #1 + str r0, [sp, #0xc] + add r4, r4, #4 + add r6, #0x20 + cmp r5, #4 + blt _0203043E + mov r1, #0x13 + ldr r0, [sp] + lsl r1, r1, #4 + ldr r0, [r0, r1] + ldr r1, _02030498 ; =0x00001C60 + add r1, r7, r1 + bl sub_0202AC9C +_02030488: + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203048C: .word 0x021D2AF8 +_02030490: .word 0x00001150 +_02030494: .word 0x00001BE0 +_02030498: .word 0x00001C60 + thumb_func_end sub_020302A4 + + thumb_func_start sub_0203049C +sub_0203049C: ; 0x0203049C + ldr r2, _020304B0 ; =0x021D2AF8 + ldr r2, [r2] + cmp r2, #0 + beq _020304AE + lsl r0, r0, #2 + add r2, r2, r0 + mov r0, #0x7f + lsl r0, r0, #2 + str r1, [r2, r0] +_020304AE: + bx lr + .balign 4, 0 +_020304B0: .word 0x021D2AF8 + thumb_func_end sub_0203049C + + thumb_func_start sub_020304B4 +sub_020304B4: ; 0x020304B4 + push {r3, r4} + ldr r0, _020304EC ; =0x021D2AF8 + ldr r4, [r0] + cmp r4, #0 + bne _020304C4 + mov r0, #1 + pop {r3, r4} + bx lr +_020304C4: + mov r0, #0x45 + lsl r0, r0, #2 + add r1, r0, #0 + mov r3, #0 + add r4, #0xe8 + add r1, #0x2c +_020304D0: + ldr r2, [r4, r0] + cmp r2, r1 + bls _020304DC + mov r0, #0 + pop {r3, r4} + bx lr +_020304DC: + add r3, r3, #1 + add r4, r4, #4 + cmp r3, #4 + blt _020304D0 + mov r0, #1 + pop {r3, r4} + bx lr + nop +_020304EC: .word 0x021D2AF8 + thumb_func_end sub_020304B4 + + thumb_func_start sub_020304F0 +sub_020304F0: ; 0x020304F0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r6, r0, #0 + ldr r0, _020306C8 ; =0x021D2AF8 + str r1, [sp] + ldr r1, [r0] + add r0, r1, #0 + str r0, [sp, #0x14] + add r0, #0xe8 + add r1, #0xe8 + str r0, [sp, #0x14] + ldr r0, [r1] + str r0, [r6] + ldr r0, [sp, #0x14] + add r0, #0xe8 + ldr r1, [r0] + mov r0, #0x53 + lsl r0, r0, #2 + str r1, [r6, r0] + ldr r1, [sp, #0x14] + add r1, #0xec + ldr r2, [r1] + add r1, r0, #4 + str r2, [r6, r1] + ldr r1, [sp, #0x14] + add r1, #0xf0 + ldr r2, [r1] + add r1, r0, #0 + add r1, #8 + str r2, [r6, r1] + ldr r1, [sp, #0x14] + add r1, #0xf4 + ldr r2, [r1] + add r1, r0, #0 + add r1, #0xc + str r2, [r6, r1] + ldr r1, [sp, #0x14] + add r1, #0xf8 + ldr r2, [r1] + add r1, r0, #0 + add r1, #0x10 + str r2, [r6, r1] + ldr r1, [sp, #0x14] + add r1, #0xfc + ldr r2, [r1] + add r1, r0, #0 + add r1, #0x14 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x4c + ldr r2, [r1, r2] + add r1, r0, #0 + add r1, #0x18 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x48 + ldr r2, [r1, r2] + add r1, r0, #0 + add r1, #0x1c + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x44 + ldr r2, [r1, r2] + add r1, r0, #0 + add r1, #0x24 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x40 + ldr r2, [r1, r2] + add r1, r0, #0 + add r1, #0x28 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x28 + ldr r2, [r1, r2] + mov r1, #0x10 + orr r2, r1 + add r1, r0, #0 + add r1, #0x40 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x24 + ldr r2, [r1, r2] + add r1, r0, #0 + add r1, #0x44 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x20 + ldr r2, [r1, r2] + add r1, r0, #0 + add r1, #0x48 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #0x1c + ldr r2, [r1, r2] + add r1, r0, #0 + add r1, #0x50 + str r2, [r6, r1] + add r2, r0, #0 + ldr r1, [sp, #0x14] + sub r2, #8 + ldrh r2, [r1, r2] + add r1, r0, #0 + add r1, #0x64 + strh r2, [r6, r1] + mov r1, #0 + str r1, [r6, #0x14] + add r0, #0x2c + str r1, [r6, r0] + ldr r0, [sp] + bl sub_0202A634 + mov r1, #0x11 + lsl r1, r1, #4 + ldr r1, [r6, r1] + bl sub_020293FC + ldr r5, [sp, #0x14] + ldr r1, _020306CC ; =0x00001150 + add r0, r5, #0 + str r0, [sp, #0x10] + add r0, r0, r1 + str r0, [sp, #8] + ldr r1, _020306D0 ; =0x00001BE0 + add r0, r5, #0 + add r0, r0, r1 + mov r7, #0 + add r4, r6, #0 + str r6, [sp, #0xc] + str r0, [sp, #4] +_02030604: + ldr r0, [r5, #8] + ldr r3, [sp, #0x10] + ldr r2, [sp, #0xc] + str r0, [r4, #0x18] + mov r0, #6 + add r3, #0x18 + add r2, #0x28 + mov ip, r0 +_02030614: + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + mov r0, ip + sub r0, r0, #1 + mov ip, r0 + bne _02030614 + ldr r0, [r3] + mov r1, #0x45 + lsl r1, r1, #2 + str r0, [r2] + add r0, r1, #0 + ldr r2, [r5, r1] + add r0, #0x68 + str r2, [r4, r0] + add r0, r1, #0 + add r0, #0x20 + ldr r0, [r5, r0] + add r1, #0x8c + str r0, [r4, r1] + ldr r0, [sp, #8] + ldr r1, [r4, #4] + bl sub_02030724 + add r1, r4, #0 + add r1, #0xf8 + ldr r0, [sp, #4] + ldr r1, [r1] + bl sub_02028EE4 + ldr r0, [sp, #0x14] + add r5, r5, #4 + add r1, r0, r7 + mov r0, #0x53 + lsl r0, r0, #2 + ldrb r2, [r1, r0] + add r1, r6, r7 + add r0, #0x70 + strb r2, [r1, r0] + ldr r0, [sp, #0x10] + mov r1, #0xa9 + add r0, #0x34 + str r0, [sp, #0x10] + ldr r0, [sp, #0xc] + lsl r1, r1, #2 + add r0, #0x34 + str r0, [sp, #0xc] + ldr r0, [sp, #8] + add r7, r7, #1 + add r0, r0, r1 + str r0, [sp, #8] + ldr r0, [sp, #4] + add r4, r4, #4 + add r0, #0x20 + str r0, [sp, #4] + cmp r7, #4 + blt _02030604 + ldr r0, [sp] + bl Sav2_PlayerData_GetOptionsAddr + mov r1, #0x13 + lsl r1, r1, #4 + ldr r1, [r6, r1] + bl sub_0202AC9C + mov r5, #0x13 + lsl r5, r5, #4 + ldr r1, [r6, r5] + ldr r4, _020306D4 ; =0x00001C60 + ldr r2, [sp, #0x14] + ldrh r0, [r1] + ldrh r2, [r2, r4] + ldr r3, _020306D8 ; =0xFFFF83FF + lsl r2, r2, #0x11 + lsr r2, r2, #0x1b + lsl r2, r2, #0x1b + and r0, r3 + lsr r2, r2, #0x11 + orr r0, r2 + strh r0, [r1] + ldr r2, [r6, r5] + ldrh r0, [r2] + lsl r1, r0, #0x11 + lsr r1, r1, #0x1b + cmp r1, #0x14 + blo _020306C2 + and r0, r3 + strh r0, [r2] +_020306C2: + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + nop +_020306C8: .word 0x021D2AF8 +_020306CC: .word 0x00001150 +_020306D0: .word 0x00001BE0 +_020306D4: .word 0x00001C60 +_020306D8: .word 0xFFFF83FF + thumb_func_end sub_020304F0 + + thumb_func_start sub_020306DC +sub_020306DC: ; 0x020306DC + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + mov r2, #0xa9 + add r7, r0, #0 + add r0, r6, #0 + mov r1, #0 + lsl r2, r2, #2 + bl MIi_CpuFill8 + add r0, r7, #0 + bl sub_0207463C + strh r0, [r6] + add r0, r7, #0 + bl sub_02074640 + strh r0, [r6, #2] + ldrh r0, [r6, #2] + mov r4, #0 + cmp r0, #0 + ble _02030720 + add r5, r6, #4 +_02030708: + add r0, r7, #0 + add r1, r4, #0 + bl sub_02074644 + add r1, r5, #0 + bl sub_02072A98 + ldrh r0, [r6, #2] + add r4, r4, #1 + add r5, #0x70 + cmp r4, r0 + blt _02030708 +_02030720: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_020306DC + + thumb_func_start sub_02030724 +sub_02030724: ; 0x02030724 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r7, r0, #0 + str r1, [sp] + mov r1, #0 + add r0, sp, #4 + strb r1, [r0] + mov r0, #0xb + bl AllocMonZeroed + add r4, r0, #0 + ldrh r1, [r7] + ldr r0, [sp] + bl sub_020744DC + ldrh r0, [r7, #2] + mov r6, #0 + cmp r0, #0 + ble _02030770 + add r5, r7, #4 +_0203074C: + add r0, r5, #0 + add r1, r4, #0 + bl sub_02072D64 + add r0, r4, #0 + mov r1, #0xa2 + add r2, sp, #4 + bl sub_0206EC40 + ldr r0, [sp] + add r1, r4, #0 + bl sub_02074524 + ldrh r0, [r7, #2] + add r6, r6, #1 + add r5, #0x70 + cmp r6, r0 + blt _0203074C +_02030770: + add r0, r4, #0 + bl FreeToHeap + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02030724 + + thumb_func_start sub_0203077C +sub_0203077C: ; 0x0203077C + push {r4, lr} + add r4, r0, #0 + ldr r0, _020307A8 ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + bne _0203078C + bl GF_AssertFail +_0203078C: + add r0, r4, #0 + mov r1, #0x64 + bl AllocFromHeap + add r4, r0, #0 + ldr r0, _020307A8 ; =0x021D2AF8 + add r1, r4, #0 + ldr r0, [r0] + mov r2, #0x64 + add r0, #0x84 + bl MIi_CpuCopy32 + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 +_020307A8: .word 0x021D2AF8 + thumb_func_end sub_0203077C + + thumb_func_start sub_020307AC +sub_020307AC: ; 0x020307AC + push {r4, lr} + add r4, r0, #0 + ldr r0, _020307D8 ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + bne _020307BC + bl GF_AssertFail +_020307BC: + add r0, r4, #0 + mov r1, #0x80 + bl AllocFromHeap + add r4, r0, #0 + ldr r0, _020307D8 ; =0x021D2AF8 + add r1, r4, #0 + ldr r0, [r0] + mov r2, #0x80 + add r0, r0, #4 + bl MIi_CpuCopy32 + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 +_020307D8: .word 0x021D2AF8 + thumb_func_end sub_020307AC + + thumb_func_start sub_020307DC +sub_020307DC: ; 0x020307DC + push {r3, lr} + ldr r0, _020307F4 ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + bne _020307EA + bl GF_AssertFail +_020307EA: + ldr r0, _020307F4 ; =0x021D2AF8 + ldr r0, [r0] + add r0, r0, #4 + pop {r3, pc} + nop +_020307F4: .word 0x021D2AF8 + thumb_func_end sub_020307DC + + thumb_func_start sub_020307F8 +sub_020307F8: ; 0x020307F8 + push {r3, lr} + ldr r0, _02030810 ; =0x021D2AF8 + ldr r0, [r0] + cmp r0, #0 + bne _02030806 + bl GF_AssertFail +_02030806: + ldr r0, _02030810 ; =0x021D2AF8 + ldr r0, [r0] + add r0, #0x84 + pop {r3, pc} + nop +_02030810: .word 0x021D2AF8 + thumb_func_end sub_020307F8 + + thumb_func_start sub_02030814 +sub_02030814: ; 0x02030814 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, _0203087C ; =0x021D2AF8 + add r6, r1, #0 + ldr r0, [r0] + add r7, r2, #0 + add r4, r3, #0 + cmp r0, #0 + bne _0203082A + bl GF_AssertFail +_0203082A: + ldr r1, _0203087C ; =0x021D2AF8 + add r0, r6, #0 + ldr r1, [r1] + mov r2, #0x64 + add r1, #0x84 + bl MIi_CpuCopy8 + ldr r1, _0203087C ; =0x021D2AF8 + ldr r2, _02030880 ; =0x00001C68 + ldr r1, [r1] + add r0, r7, #0 + add r1, #0xe8 + bl MIi_CpuCopy8 + ldr r1, _0203087C ; =0x021D2AF8 + add r0, r5, #0 + ldr r1, [r1] + mov r2, #0x80 + add r1, r1, #4 + bl MIi_CpuCopy8 + ldr r0, _0203087C ; =0x021D2AF8 + ldr r1, _02030884 ; =0x00001D4C + ldr r0, [r0] + ldr r2, _02030888 ; =0x0000FFFF + ldrh r3, [r0, r1] + add r0, #0xe8 + sub r1, #0xe8 + eor r2, r3 + lsl r2, r2, #0x10 + add r2, r3, r2 + bl sub_02030258 + cmp r4, #0 + beq _02030878 + ldr r1, [sp, #0x18] + add r0, r4, #0 + bl sub_020304F0 +_02030878: + pop {r3, r4, r5, r6, r7, pc} + nop +_0203087C: .word 0x021D2AF8 +_02030880: .word 0x00001C68 +_02030884: .word 0x00001D4C +_02030888: .word 0x0000FFFF + thumb_func_end sub_02030814 + + thumb_func_start sub_0203088C +sub_0203088C: ; 0x0203088C + push {r3, r4, r5, lr} + add r4, r0, #0 + add r5, r2, #0 + cmp r1, #5 + bhi _0203090C + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_020308A2: ; jump table + .short _020308AE - _020308A2 - 2 ; case 0 + .short _020308CA - _020308A2 - 2 ; case 1 + .short _020308DA - _020308A2 - 2 ; case 2 + .short _020308EC - _020308A2 - 2 ; case 3 + .short _020308FE - _020308A2 - 2 ; case 4 + .short _02030904 - _020308A2 - 2 ; case 5 +_020308AE: + cmp r5, #0xc + blt _020308B6 + bl GF_AssertFail +_020308B6: + lsl r0, r5, #1 + ldrh r0, [r4, r0] + ldr r1, _02030918 ; =0x000001ED + cmp r0, r1 + bls _020308C6 + mov r0, #0 + add r1, r0, #0 + pop {r3, r4, r5, pc} +_020308C6: + mov r1, #0 + pop {r3, r4, r5, pc} +_020308CA: + cmp r5, #0xc + blt _020308D2 + bl GF_AssertFail +_020308D2: + add r0, r4, r5 + ldrb r0, [r0, #0x18] + mov r1, #0 + pop {r3, r4, r5, pc} +_020308DA: + ldrh r1, [r4, #0x24] + ldr r0, _0203091C ; =0x0000270F + cmp r1, r0 + bls _020308E6 + mov r1, #0 + pop {r3, r4, r5, pc} +_020308E6: + add r0, r1, #0 + mov r1, #0 + pop {r3, r4, r5, pc} +_020308EC: + add r4, #0x26 + ldrb r0, [r4] + cmp r0, #0x21 + blo _020308FA + mov r0, #0 + add r1, r0, #0 + pop {r3, r4, r5, pc} +_020308FA: + mov r1, #0 + pop {r3, r4, r5, pc} +_020308FE: + ldr r0, [r4, #0x58] + ldr r1, [r4, #0x5c] + pop {r3, r4, r5, pc} +_02030904: + add r4, #0x27 + ldrb r0, [r4] + mov r1, #0 + pop {r3, r4, r5, pc} +_0203090C: + bl GF_AssertFail + mov r0, #0 + add r1, r0, #0 + pop {r3, r4, r5, pc} + nop +_02030918: .word 0x000001ED +_0203091C: .word 0x0000270F + thumb_func_end sub_0203088C + + thumb_func_start sub_02030920 +sub_02030920: ; 0x02030920 + push {r4, lr} + mov r1, #0x64 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x64 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02030920 + + thumb_func_start sub_02030938 +sub_02030938: ; 0x02030938 + ldr r3, _0203093C ; =FreeToHeap + bx r3 + .balign 4, 0 +_0203093C: .word FreeToHeap + thumb_func_end sub_02030938 + + thumb_func_start sub_02030940 +sub_02030940: ; 0x02030940 + ldr r3, _02030948 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #0x58 + bx r3 + .balign 4, 0 +_02030948: .word MIi_CpuFill8 + thumb_func_end sub_02030940 + + thumb_func_start sub_0203094C +sub_0203094C: ; 0x0203094C + push {r3, lr} + bl sub_0203107C + mov r1, #0x8e + lsl r1, r1, #4 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203094C + + thumb_func_start sub_0203095C +sub_0203095C: ; 0x0203095C + ldrb r0, [r0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + bx lr + thumb_func_end sub_0203095C + + thumb_func_start sub_02030964 +sub_02030964: ; 0x02030964 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + ldrb r3, [r0] + mov r2, #0x10 + lsr r1, r1, #0x1b + bic r3, r2 + orr r1, r3 + strb r1, [r0] + bx lr + thumb_func_end sub_02030964 + + thumb_func_start sub_02030978 +sub_02030978: ; 0x02030978 + push {r3, r4} + cmp r1, #9 + bhi _02030A1E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203098A: ; jump table + .short _0203099E - _0203098A - 2 ; case 0 + .short _020309B2 - _0203098A - 2 ; case 1 + .short _020309C6 - _0203098A - 2 ; case 2 + .short _020309CE - _0203098A - 2 ; case 3 + .short _020309DA - _0203098A - 2 ; case 4 + .short _020309E6 - _0203098A - 2 ; case 5 + .short _020309F2 - _0203098A - 2 ; case 6 + .short _020309FE - _0203098A - 2 ; case 7 + .short _02030A0A - _0203098A - 2 ; case 8 + .short _02030A16 - _0203098A - 2 ; case 9 +_0203099E: + ldrb r4, [r0] + ldrb r2, [r3] + mov r1, #1 + bic r4, r1 + mov r1, #1 + and r1, r2 + orr r1, r4 + strb r1, [r0] + pop {r3, r4} + bx lr +_020309B2: + ldrb r2, [r0] + mov r1, #0xe + bic r2, r1 + ldrb r1, [r3] + lsl r1, r1, #0x1d + lsr r1, r1, #0x1c + orr r1, r2 + strb r1, [r0] + pop {r3, r4} + bx lr +_020309C6: + ldrb r1, [r3] + strb r1, [r0, #1] + pop {r3, r4} + bx lr +_020309CE: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #4] + pop {r3, r4} + bx lr +_020309DA: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #0x20] + pop {r3, r4} + bx lr +_020309E6: + ldrb r1, [r3] + add r0, r0, r2 + add r0, #0x28 + strb r1, [r0] + pop {r3, r4} + bx lr +_020309F2: + lsl r1, r2, #2 + ldr r3, [r3] + add r0, r0, r1 + str r3, [r0, #0x2c] + pop {r3, r4} + bx lr +_020309FE: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #0x3c] + pop {r3, r4} + bx lr +_02030A0A: + ldrb r1, [r3] + add r0, r0, r2 + add r0, #0x44 + strb r1, [r0] + pop {r3, r4} + bx lr +_02030A16: + lsl r1, r2, #2 + ldr r3, [r3] + add r0, r0, r1 + str r3, [r0, #0x48] +_02030A1E: + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_02030978 + + thumb_func_start sub_02030A24 +sub_02030A24: ; 0x02030A24 + cmp r1, #9 + bhi _02030A94 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02030A34: ; jump table + .short _02030A50 - _02030A34 - 2 ; case 0 + .short _02030A48 - _02030A34 - 2 ; case 1 + .short _02030A58 - _02030A34 - 2 ; case 2 + .short _02030A5C - _02030A34 - 2 ; case 3 + .short _02030A64 - _02030A34 - 2 ; case 4 + .short _02030A6C - _02030A34 - 2 ; case 5 + .short _02030A74 - _02030A34 - 2 ; case 6 + .short _02030A7C - _02030A34 - 2 ; case 7 + .short _02030A84 - _02030A34 - 2 ; case 8 + .short _02030A8C - _02030A34 - 2 ; case 9 +_02030A48: + ldrb r0, [r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1d + bx lr +_02030A50: + ldrb r0, [r0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr +_02030A58: + ldrb r0, [r0, #1] + bx lr +_02030A5C: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #4] + bx lr +_02030A64: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #0x20] + bx lr +_02030A6C: + add r0, r0, r2 + add r0, #0x28 + ldrb r0, [r0] + bx lr +_02030A74: + lsl r1, r2, #2 + add r0, r0, r1 + ldr r0, [r0, #0x2c] + bx lr +_02030A7C: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #0x3c] + bx lr +_02030A84: + add r0, r0, r2 + add r0, #0x44 + ldrb r0, [r0] + bx lr +_02030A8C: + lsl r1, r2, #2 + add r0, r0, r1 + ldr r0, [r0, #0x48] + bx lr +_02030A94: + mov r0, #0 + bx lr + thumb_func_end sub_02030A24 + + thumb_func_start sub_02030A98 +sub_02030A98: ; 0x02030A98 + ldr r3, _02030AA0 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #4 + bx r3 + .balign 4, 0 +_02030AA0: .word MIi_CpuFill8 + thumb_func_end sub_02030A98 + + thumb_func_start sub_02030AA4 +sub_02030AA4: ; 0x02030AA4 + push {r3, r4} + cmp r1, #0xa + bne _02030ACE + ldrb r1, [r3] + cmp r1, #1 + blo _02030ABE + mov r1, #1 + ldrb r3, [r0] + lsl r1, r2 + orr r1, r3 + strb r1, [r0] + pop {r3, r4} + bx lr +_02030ABE: + mov r1, #1 + add r3, r1, #0 + ldrb r4, [r0] + lsl r3, r2 + mov r1, #0xff + eor r1, r3 + and r1, r4 + strb r1, [r0] +_02030ACE: + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_02030AA4 + + thumb_func_start sub_02030AD4 +sub_02030AD4: ; 0x02030AD4 + cmp r1, #0xa + bne _02030AE4 + ldrb r0, [r0] + add r1, r0, #0 + asr r1, r2 + mov r0, #1 + and r0, r1 + bx lr +_02030AE4: + mov r0, #0 + bx lr + thumb_func_end sub_02030AD4 + + thumb_func_start sub_02030AE8 +sub_02030AE8: ; 0x02030AE8 + push {r3, lr} + bl sub_0203107C + ldr r1, _02030AF4 ; =0x00001618 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 +_02030AF4: .word 0x00001618 + thumb_func_end sub_02030AE8 + + thumb_func_start sub_02030AF8 +sub_02030AF8: ; 0x02030AF8 + ldr r3, _02030B00 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #0x54 + bx r3 + .balign 4, 0 +_02030B00: .word MIi_CpuFill8 + thumb_func_end sub_02030AF8 + + thumb_func_start sub_02030B04 +sub_02030B04: ; 0x02030B04 + push {r3, lr} + bl sub_0203107C + mov r1, #0x8e + lsl r1, r1, #4 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02030B04 + + thumb_func_start sub_02030B14 +sub_02030B14: ; 0x02030B14 + ldrb r0, [r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bx lr + thumb_func_end sub_02030B14 + + thumb_func_start sub_02030B1C +sub_02030B1C: ; 0x02030B1C + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + ldrb r3, [r0] + mov r2, #8 + lsr r1, r1, #0x1c + bic r3, r2 + orr r1, r3 + strb r1, [r0] + bx lr + thumb_func_end sub_02030B1C + + thumb_func_start sub_02030B30 +sub_02030B30: ; 0x02030B30 + push {r4, lr} + ldr r3, [sp, #8] + cmp r1, #4 + bhi _02030B82 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02030B44: ; jump table + .short _02030B4E - _02030B44 - 2 ; case 0 + .short _02030B60 - _02030B44 - 2 ; case 1 + .short _02030B66 - _02030B44 - 2 ; case 2 + .short _02030B70 - _02030B44 - 2 ; case 3 + .short _02030B78 - _02030B44 - 2 ; case 4 +_02030B4E: + ldrb r4, [r0] + ldrb r2, [r3] + mov r1, #7 + bic r4, r1 + mov r1, #7 + and r1, r2 + orr r1, r4 + strb r1, [r0] + pop {r4, pc} +_02030B60: + ldrb r1, [r3] + strb r1, [r0, #1] + pop {r4, pc} +_02030B66: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #4] + pop {r4, pc} +_02030B70: + ldrb r1, [r3] + add r0, r0, r2 + strb r1, [r0, #2] + pop {r4, pc} +_02030B78: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #0x2c] + pop {r4, pc} +_02030B82: + bl GF_AssertFail + pop {r4, pc} + thumb_func_end sub_02030B30 + + thumb_func_start sub_02030B88 +sub_02030B88: ; 0x02030B88 + push {r3, lr} + cmp r1, #4 + bhi _02030BC6 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02030B9A: ; jump table + .short _02030BA4 - _02030B9A - 2 ; case 0 + .short _02030BAC - _02030B9A - 2 ; case 1 + .short _02030BB0 - _02030B9A - 2 ; case 2 + .short _02030BB8 - _02030B9A - 2 ; case 3 + .short _02030BBE - _02030B9A - 2 ; case 4 +_02030BA4: + ldrb r0, [r0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1d + pop {r3, pc} +_02030BAC: + ldrb r0, [r0, #1] + pop {r3, pc} +_02030BB0: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #4] + pop {r3, pc} +_02030BB8: + add r0, r0, r2 + ldrb r0, [r0, #2] + pop {r3, pc} +_02030BBE: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #0x2c] + pop {r3, pc} +_02030BC6: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02030B88 + + thumb_func_start sub_02030BD0 +sub_02030BD0: ; 0x02030BD0 + lsl r2, r0, #0x17 + lsr r2, r2, #0x18 + ldrb r3, [r1, r2] + lsr r2, r0, #0x1f + lsl r1, r0, #0x1f + sub r1, r1, r2 + mov r0, #0x1f + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x16 + add r1, r3, #0 + asr r1, r0 + mov r0, #0xf + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + thumb_func_end sub_02030BD0 + + thumb_func_start sub_02030BF4 +sub_02030BF4: ; 0x02030BF4 + push {r3, r4, r5, r6} + lsr r5, r0, #0x1f + lsl r4, r0, #0x1f + lsl r3, r0, #0x17 + sub r4, r4, r5 + mov r0, #0x1f + ror r4, r0 + add r0, r5, r4 + lsl r0, r0, #0x18 + lsr r3, r3, #0x18 + lsr r0, r0, #0x18 + bne _02030C14 + add r4, r1, r3 + ldrb r6, [r1, r3] + mov r5, #0xf0 + b _02030C1A +_02030C14: + ldrb r6, [r1, r3] + add r4, r1, r3 + mov r5, #0xf +_02030C1A: + and r5, r6 + strb r5, [r1, r3] + lsl r0, r0, #2 + add r1, r2, #0 + lsl r1, r0 + lsl r0, r1, #0x18 + ldrb r3, [r4] + lsr r0, r0, #0x18 + orr r0, r3 + strb r0, [r4] + pop {r3, r4, r5, r6} + bx lr + .balign 4, 0 + thumb_func_end sub_02030BF4 + + thumb_func_start sub_02030C34 +sub_02030C34: ; 0x02030C34 + push {r4, r5, r6, lr} + mov r4, #0 + add r5, r0, #0 + add r6, r4, #0 +_02030C3C: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r5, #0 + add r2, r6, #0 + bl sub_02030BF4 + add r4, r4, #1 + cmp r4, #0x12 + blt _02030C3C + pop {r4, r5, r6, pc} + thumb_func_end sub_02030C34 + + thumb_func_start sub_02030C50 +sub_02030C50: ; 0x02030C50 + ldr r3, _02030C58 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #4 + bx r3 + .balign 4, 0 +_02030C58: .word MIi_CpuFill8 + thumb_func_end sub_02030C50 + + thumb_func_start sub_02030C5C +sub_02030C5C: ; 0x02030C5C + push {r3, lr} + bl sub_0203107C + ldr r1, _02030C68 ; =0x0000161C + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 +_02030C68: .word 0x0000161C + thumb_func_end sub_02030C5C + + thumb_func_start sub_02030C6C +sub_02030C6C: ; 0x02030C6C + push {r4, lr} + ldr r3, [sp, #8] + cmp r1, #5 + bne _02030C98 + ldrb r1, [r3] + cmp r1, #1 + blo _02030C86 + mov r1, #1 + ldrb r3, [r0] + lsl r1, r2 + orr r1, r3 + strb r1, [r0] + pop {r4, pc} +_02030C86: + mov r1, #1 + add r3, r1, #0 + ldrb r4, [r0] + lsl r3, r2 + mov r1, #0xff + eor r1, r3 + and r1, r4 + strb r1, [r0] + pop {r4, pc} +_02030C98: + bl GF_AssertFail + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02030C6C + + thumb_func_start sub_02030CA0 +sub_02030CA0: ; 0x02030CA0 + push {r3, lr} + cmp r1, #5 + bne _02030CB2 + ldrb r0, [r0] + add r1, r0, #0 + asr r1, r2 + mov r0, #1 + and r0, r1 + pop {r3, pc} +_02030CB2: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02030CA0 + + thumb_func_start sub_02030CBC +sub_02030CBC: ; 0x02030CBC + ldr r3, _02030CC4 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #0x74 + bx r3 + .balign 4, 0 +_02030CC4: .word MIi_CpuFill8 + thumb_func_end sub_02030CBC + + thumb_func_start sub_02030CC8 +sub_02030CC8: ; 0x02030CC8 + push {r3, lr} + bl sub_0203107C + mov r1, #0x8e + lsl r1, r1, #4 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02030CC8 + + thumb_func_start sub_02030CD8 +sub_02030CD8: ; 0x02030CD8 + ldrb r0, [r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bx lr + thumb_func_end sub_02030CD8 + + thumb_func_start sub_02030CE0 +sub_02030CE0: ; 0x02030CE0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + ldrb r3, [r0] + mov r2, #8 + lsr r1, r1, #0x1c + bic r3, r2 + orr r1, r3 + strb r1, [r0] + bx lr + thumb_func_end sub_02030CE0 + + thumb_func_start sub_02030CF4 +sub_02030CF4: ; 0x02030CF4 + push {r4, lr} + ldr r4, [sp, #8] + cmp r1, #8 + bhi _02030D7E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02030D08: ; jump table + .short _02030D1A - _02030D08 - 2 ; case 0 + .short _02030D2C - _02030D08 - 2 ; case 1 + .short _02030D32 - _02030D08 - 2 ; case 2 + .short _02030D3C - _02030D08 - 2 ; case 3 + .short _02030D4A - _02030D08 - 2 ; case 4 + .short _02030D54 - _02030D08 - 2 ; case 5 + .short _02030D60 - _02030D08 - 2 ; case 6 + .short _02030D6A - _02030D08 - 2 ; case 7 + .short _02030D72 - _02030D08 - 2 ; case 8 +_02030D1A: + ldrb r3, [r0] + ldrb r2, [r4] + mov r1, #7 + bic r3, r1 + mov r1, #7 + and r1, r2 + orr r1, r3 + strb r1, [r0] + pop {r4, pc} +_02030D2C: + ldrb r1, [r4] + strb r1, [r0, #1] + pop {r4, pc} +_02030D32: + ldrh r3, [r4] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #0x22] + pop {r4, pc} +_02030D3C: + lsl r1, r2, #2 + add r0, r0, r1 + add r0, r0, r3 + ldrb r4, [r4] + add r0, #0x2a + strb r4, [r0] + pop {r4, pc} +_02030D4A: + lsl r1, r2, #2 + ldr r3, [r4] + add r0, r0, r1 + str r3, [r0, #0x3c] + pop {r4, pc} +_02030D54: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r3, [r4] + add r0, #0x4c + strh r3, [r0] + pop {r4, pc} +_02030D60: + ldrh r3, [r4] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #6] + pop {r4, pc} +_02030D6A: + ldrb r1, [r4] + add r0, r0, r2 + strb r1, [r0, #3] + pop {r4, pc} +_02030D72: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r3, [r4] + add r0, #0x54 + strh r3, [r0] + pop {r4, pc} +_02030D7E: + bl GF_AssertFail + pop {r4, pc} + thumb_func_end sub_02030CF4 + + thumb_func_start sub_02030D84 +sub_02030D84: ; 0x02030D84 + push {r3, lr} + cmp r1, #8 + bhi _02030DF2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02030D96: ; jump table + .short _02030DA8 - _02030D96 - 2 ; case 0 + .short _02030DB0 - _02030D96 - 2 ; case 1 + .short _02030DB4 - _02030D96 - 2 ; case 2 + .short _02030DBC - _02030D96 - 2 ; case 3 + .short _02030DC8 - _02030D96 - 2 ; case 4 + .short _02030DD0 - _02030D96 - 2 ; case 5 + .short _02030DDA - _02030D96 - 2 ; case 6 + .short _02030DE2 - _02030D96 - 2 ; case 7 + .short _02030DE8 - _02030D96 - 2 ; case 8 +_02030DA8: + ldrb r0, [r0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1d + pop {r3, pc} +_02030DB0: + ldrb r0, [r0, #1] + pop {r3, pc} +_02030DB4: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #0x22] + pop {r3, pc} +_02030DBC: + lsl r1, r2, #2 + add r0, r0, r1 + add r0, r0, r3 + add r0, #0x2a + ldrb r0, [r0] + pop {r3, pc} +_02030DC8: + lsl r1, r2, #2 + add r0, r0, r1 + ldr r0, [r0, #0x3c] + pop {r3, pc} +_02030DD0: + lsl r1, r2, #1 + add r0, r0, r1 + add r0, #0x4c + ldrh r0, [r0] + pop {r3, pc} +_02030DDA: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #6] + pop {r3, pc} +_02030DE2: + add r0, r0, r2 + ldrb r0, [r0, #3] + pop {r3, pc} +_02030DE8: + lsl r1, r2, #1 + add r0, r0, r1 + add r0, #0x54 + ldrh r0, [r0] + pop {r3, pc} +_02030DF2: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02030D84 + + thumb_func_start sub_02030DFC +sub_02030DFC: ; 0x02030DFC + ldr r3, _02030E04 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #4 + bx r3 + .balign 4, 0 +_02030E04: .word MIi_CpuFill8 + thumb_func_end sub_02030DFC + + thumb_func_start sub_02030E08 +sub_02030E08: ; 0x02030E08 + push {r3, lr} + bl sub_0203107C + ldr r1, _02030E14 ; =0x00001620 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 +_02030E14: .word 0x00001620 + thumb_func_end sub_02030E08 + + thumb_func_start sub_02030E18 +sub_02030E18: ; 0x02030E18 + push {r4, lr} + ldr r3, [sp, #8] + cmp r1, #9 + beq _02030E26 + cmp r1, #0xa + beq _02030E4A + b _02030E50 +_02030E26: + ldrb r1, [r3] + cmp r1, #1 + blo _02030E38 + mov r1, #1 + ldrb r3, [r0] + lsl r1, r2 + orr r1, r3 + strb r1, [r0] + pop {r4, pc} +_02030E38: + mov r1, #1 + add r3, r1, #0 + ldrb r4, [r0] + lsl r3, r2 + mov r1, #0xff + eor r1, r3 + and r1, r4 + strb r1, [r0] + pop {r4, pc} +_02030E4A: + mov r1, #1 + strb r1, [r0, #1] + pop {r4, pc} +_02030E50: + bl GF_AssertFail + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02030E18 + + thumb_func_start sub_02030E58 +sub_02030E58: ; 0x02030E58 + push {r3, lr} + cmp r1, #9 + beq _02030E64 + cmp r1, #0xa + beq _02030E70 + b _02030E74 +_02030E64: + ldrb r0, [r0] + add r1, r0, #0 + asr r1, r2 + mov r0, #1 + and r0, r1 + pop {r3, pc} +_02030E70: + ldrb r0, [r0, #1] + pop {r3, pc} +_02030E74: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_02030E58 + + thumb_func_start sub_02030E7C +sub_02030E7C: ; 0x02030E7C + ldr r3, _02030E84 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #0x48 + bx r3 + .balign 4, 0 +_02030E84: .word MIi_CpuFill8 + thumb_func_end sub_02030E7C + + thumb_func_start sub_02030E88 +sub_02030E88: ; 0x02030E88 + push {r3, lr} + bl sub_0203107C + mov r1, #0x8e + lsl r1, r1, #4 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02030E88 + + thumb_func_start sub_02030E98 +sub_02030E98: ; 0x02030E98 + ldrb r0, [r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bx lr + thumb_func_end sub_02030E98 + + thumb_func_start sub_02030EA0 +sub_02030EA0: ; 0x02030EA0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + ldrb r3, [r0] + mov r2, #8 + lsr r1, r1, #0x1c + bic r3, r2 + orr r1, r3 + strb r1, [r0] + bx lr + thumb_func_end sub_02030EA0 + + thumb_func_start sub_02030EB4 +sub_02030EB4: ; 0x02030EB4 + push {r4, lr} + ldr r3, [sp, #8] + cmp r1, #7 + bhi _02030F2E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02030EC8: ; jump table + .short _02030ED8 - _02030EC8 - 2 ; case 0 + .short _02030EEA - _02030EC8 - 2 ; case 1 + .short _02030EFC - _02030EC8 - 2 ; case 2 + .short _02030F02 - _02030EC8 - 2 ; case 3 + .short _02030F08 - _02030EC8 - 2 ; case 4 + .short _02030F12 - _02030EC8 - 2 ; case 5 + .short _02030F1C - _02030EC8 - 2 ; case 6 + .short _02030F24 - _02030EC8 - 2 ; case 7 +_02030ED8: + ldrb r4, [r0] + ldrb r2, [r3] + mov r1, #7 + bic r4, r1 + mov r1, #7 + and r1, r2 + orr r1, r4 + strb r1, [r0] + pop {r4, pc} +_02030EEA: + ldrb r2, [r0] + mov r1, #0x10 + bic r2, r1 + ldrb r1, [r3] + lsl r1, r1, #0x1f + lsr r1, r1, #0x1b + orr r1, r2 + strb r1, [r0] + pop {r4, pc} +_02030EFC: + ldrb r1, [r3] + strb r1, [r0, #1] + pop {r4, pc} +_02030F02: + ldrb r1, [r3] + strb r1, [r0, #2] + pop {r4, pc} +_02030F08: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #6] + pop {r4, pc} +_02030F12: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #0xe] + pop {r4, pc} +_02030F1C: + ldrb r1, [r3] + add r0, r0, r2 + strb r1, [r0, #3] + pop {r4, pc} +_02030F24: + ldrh r3, [r3] + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #0x2a] + pop {r4, pc} +_02030F2E: + bl GF_AssertFail + pop {r4, pc} + thumb_func_end sub_02030EB4 + + thumb_func_start sub_02030F34 +sub_02030F34: ; 0x02030F34 + push {r3, lr} + cmp r1, #7 + bhi _02030F8C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02030F46: ; jump table + .short _02030F56 - _02030F46 - 2 ; case 0 + .short _02030F5E - _02030F46 - 2 ; case 1 + .short _02030F66 - _02030F46 - 2 ; case 2 + .short _02030F6A - _02030F46 - 2 ; case 3 + .short _02030F6E - _02030F46 - 2 ; case 4 + .short _02030F76 - _02030F46 - 2 ; case 5 + .short _02030F7E - _02030F46 - 2 ; case 6 + .short _02030F84 - _02030F46 - 2 ; case 7 +_02030F56: + ldrb r0, [r0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1d + pop {r3, pc} +_02030F5E: + ldrb r0, [r0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + pop {r3, pc} +_02030F66: + ldrb r0, [r0, #1] + pop {r3, pc} +_02030F6A: + ldrb r0, [r0, #2] + pop {r3, pc} +_02030F6E: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #6] + pop {r3, pc} +_02030F76: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #0xe] + pop {r3, pc} +_02030F7E: + add r0, r0, r2 + ldrb r0, [r0, #3] + pop {r3, pc} +_02030F84: + lsl r1, r2, #1 + add r0, r0, r1 + ldrh r0, [r0, #0x2a] + pop {r3, pc} +_02030F8C: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_02030F34 + + thumb_func_start sub_02030F94 +sub_02030F94: ; 0x02030F94 + ldr r3, _02030F9C ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #4 + bx r3 + .balign 4, 0 +_02030F9C: .word MIi_CpuFill8 + thumb_func_end sub_02030F94 + + thumb_func_start sub_02030FA0 +sub_02030FA0: ; 0x02030FA0 + push {r3, lr} + bl sub_0203107C + ldr r1, _02030FAC ; =0x00001624 + add r0, r0, r1 + pop {r3, pc} + .balign 4, 0 +_02030FAC: .word 0x00001624 + thumb_func_end sub_02030FA0 + + thumb_func_start sub_02030FB0 +sub_02030FB0: ; 0x02030FB0 + push {r4, lr} + ldr r3, [sp, #8] + cmp r1, #8 + bne _02030FDC + ldrb r1, [r3] + cmp r1, #1 + blo _02030FCA + mov r1, #1 + ldrb r3, [r0] + lsl r1, r2 + orr r1, r3 + strb r1, [r0] + pop {r4, pc} +_02030FCA: + mov r1, #1 + add r3, r1, #0 + ldrb r4, [r0] + lsl r3, r2 + mov r1, #0xff + eor r1, r3 + and r1, r4 + strb r1, [r0] + pop {r4, pc} +_02030FDC: + bl GF_AssertFail + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02030FB0 + + thumb_func_start sub_02030FE4 +sub_02030FE4: ; 0x02030FE4 + push {r3, lr} + cmp r1, #8 + bne _02030FF6 + ldrb r0, [r0] + add r1, r0, #0 + asr r1, r2 + mov r0, #1 + and r0, r1 + pop {r3, pc} +_02030FF6: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02030FE4 + + thumb_func_start sub_02031000 +sub_02031000: ; 0x02031000 + ldr r0, _02031004 ; =0x00001628 + bx lr + .balign 4, 0 +_02031004: .word 0x00001628 + thumb_func_end sub_02031000 + + thumb_func_start sub_02031008 +sub_02031008: ; 0x02031008 + push {r4, lr} + ldr r2, _02031058 ; =0x00001628 + mov r1, #0 + add r4, r0, #0 + bl MIi_CpuFill8 + ldr r0, _0203105C ; =0x00000954 + add r0, r4, r0 + bl sub_0202D240 + ldr r0, _02031060 ; =0x00000ABC + add r0, r4, r0 + bl sub_0202D254 + ldr r0, _02031064 ; =0x00000ADC + add r0, r4, r0 + bl sub_0202D274 + ldr r0, _02031068 ; =0x00001618 + add r0, r4, r0 + bl sub_02030A98 + ldr r0, _0203106C ; =0x0000161C + add r0, r4, r0 + bl sub_02030C50 + ldr r0, _02031070 ; =0x00001620 + add r0, r4, r0 + bl sub_02030DFC + ldr r0, _02031074 ; =0x00001624 + add r0, r4, r0 + bl sub_02030F94 + ldr r1, _02031078 ; =0x021D2AFC + ldr r2, _02031058 ; =0x00001628 + add r0, r4, #0 + bl MIi_CpuCopy8 + pop {r4, pc} + .balign 4, 0 +_02031058: .word 0x00001628 +_0203105C: .word 0x00000954 +_02031060: .word 0x00000ABC +_02031064: .word 0x00000ADC +_02031068: .word 0x00001618 +_0203106C: .word 0x0000161C +_02031070: .word 0x00001620 +_02031074: .word 0x00001624 +_02031078: .word 0x021D2AFC + thumb_func_end sub_02031008 + + thumb_func_start sub_0203107C +sub_0203107C: ; 0x0203107C + ldr r0, _02031080 ; =0x021D2AFC + bx lr + .balign 4, 0 +_02031080: .word 0x021D2AFC + thumb_func_end sub_0203107C + + thumb_func_start sub_02031084 +sub_02031084: ; 0x02031084 + push {r3, lr} + mov r1, #0x13 + bl SavArray_get + add r1, r0, #0 + ldr r0, _02031098 ; =0x021D2AFC + ldr r2, _0203109C ; =0x00001628 + bl MIi_CpuCopy8 + pop {r3, pc} + .balign 4, 0 +_02031098: .word 0x021D2AFC +_0203109C: .word 0x00001628 + thumb_func_end sub_02031084 + + thumb_func_start sub_020310A0 +sub_020310A0: ; 0x020310A0 + push {r3, lr} + mov r1, #0x13 + bl SavArray_get + ldr r1, _020310B4 ; =0x021D2AFC + ldr r2, _020310B8 ; =0x00001628 + bl MIi_CpuCopy8 + pop {r3, pc} + nop +_020310B4: .word 0x021D2AFC +_020310B8: .word 0x00001628 + thumb_func_end sub_020310A0 + + thumb_func_start sub_020310BC +sub_020310BC: ; 0x020310BC + push {r3, lr} + cmp r1, #0x70 + bge _020310E6 + cmp r1, #0x64 + blt _020310E0 + cmp r2, #0x10 + blt _020310CE + add r1, r1, #1 + sub r2, #0x10 +_020310CE: + lsl r1, r1, #1 + ldrh r0, [r0, r1] + add r1, r0, #0 + asr r1, r2 + mov r0, #1 + and r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3, pc} +_020310E0: + lsl r1, r1, #1 + ldrh r0, [r0, r1] + pop {r3, pc} +_020310E6: + mov r3, #0 + mvn r3, r3 + cmp r2, r3 + bne _020310F6 + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_020310F6: + lsl r2, r2, #6 + sub r1, #0x70 + add r2, r0, r2 + lsl r0, r1, #1 + add r0, r2, r0 + add r0, #0xe0 + ldrh r0, [r0] + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_020310BC + + thumb_func_start sub_02031108 +sub_02031108: ; 0x02031108 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + ldr r0, _02031180 ; =0x0000270F + add r7, r3, #0 + add r5, r1, #0 + add r4, r2, #0 + cmp r7, r0 + bls _0203111A + add r7, r0, #0 +_0203111A: + cmp r5, #0x70 + bge _02031166 + cmp r5, #0x64 + blt _02031158 + cmp r4, #0xff + bne _0203112A + bl GF_AssertFail +_0203112A: + cmp r4, #0x10 + blt _02031132 + add r5, r5, #1 + sub r4, #0x10 +_02031132: + cmp r7, #0 + bne _0203114A + mov r2, #1 + add r3, r2, #0 + lsl r1, r5, #1 + ldrh r0, [r6, r1] + lsl r3, r4 + ldr r2, _02031184 ; =0x0000FFFF + eor r2, r3 + and r0, r2 + strh r0, [r6, r1] + b _0203117C +_0203114A: + lsl r2, r5, #1 + mov r0, #1 + ldrh r1, [r6, r2] + lsl r0, r4 + orr r0, r1 + strh r0, [r6, r2] + b _0203117C +_02031158: + cmp r4, #0xff + beq _02031160 + bl GF_AssertFail +_02031160: + lsl r0, r5, #1 + strh r7, [r6, r0] + b _0203117C +_02031166: + cmp r4, #0xff + bne _0203116E + bl GF_AssertFail +_0203116E: + lsl r0, r4, #6 + sub r5, #0x70 + add r1, r6, r0 + lsl r0, r5, #1 + add r0, r1, r0 + add r0, #0xe0 + strh r7, [r0] +_0203117C: + add r0, r7, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02031180: .word 0x0000270F +_02031184: .word 0x0000FFFF + thumb_func_end sub_02031108 + + thumb_func_start sub_02031188 +sub_02031188: ; 0x02031188 + push {r4, lr} + mov r2, #2 + add r4, r0, #0 + add r0, #0xe0 + mov r1, #0 + lsl r2, r2, #0xa + bl MIi_CpuFill8 + mov r1, #0x64 + add r4, #0xc8 + mov r0, #0 +_0203119E: + add r1, r1, #1 + strh r0, [r4] + add r4, r4, #2 + cmp r1, #0x6f + ble _0203119E + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02031188 + + thumb_func_start sub_020311AC +sub_020311AC: ; 0x020311AC + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r6, r0, #0 + cmp r5, #0xff + bne _020311BA + bl GF_AssertFail +_020311BA: + cmp r5, #0x1f + bge _02031200 + add r0, r6, #0 + str r0, [sp] + add r0, #0xe0 + lsl r1, r5, #6 + str r0, [sp] + add r7, r0, r1 +_020311CA: + add r0, r5, #1 + lsl r1, r0, #6 + ldr r0, [sp] + mov r2, #0x40 + add r0, r0, r1 + add r1, r7, #0 + bl MIi_CpuCopy8 + mov r4, #0x64 +_020311DC: + add r0, r6, #0 + add r1, r4, #0 + add r2, r5, #1 + bl sub_020310BC + add r3, r0, #0 + add r0, r6, #0 + add r1, r4, #0 + add r2, r5, #0 + bl sub_02031108 + add r4, r4, #2 + cmp r4, #0x6f + blt _020311DC + add r5, r5, #1 + add r7, #0x40 + cmp r5, #0x1f + blt _020311CA +_02031200: + mov r0, #0x1f + add r6, #0xe0 + lsl r0, r0, #6 + add r0, r6, r0 + mov r1, #0 + mov r2, #0x40 + bl MIi_CpuFill8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_020311AC + + thumb_func_start sub_02031214 +sub_02031214: ; 0x02031214 + ldr r3, _02031224 ; =MIi_CpuFill8 + add r0, #0xe0 + lsl r1, r1, #6 + add r0, r0, r1 + mov r1, #0 + mov r2, #0x40 + bx r3 + nop +_02031224: .word MIi_CpuFill8 + thumb_func_end sub_02031214 + + thumb_func_start sub_02031228 +sub_02031228: ; 0x02031228 + push {r3, r4, r5, r6, r7, lr} + add r4, r3, #0 + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + bl sub_020310BC + add r0, r0, r4 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + bl sub_02031108 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_02031228 + + thumb_func_start sub_02031248 +sub_02031248: ; 0x02031248 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + add r4, r3, #0 + bl sub_020310BC + sub r3, r0, r4 + bpl _0203125C + mov r3, #0 +_0203125C: + lsl r3, r3, #0x10 + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + lsr r3, r3, #0x10 + bl sub_02031108 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_02031248 + + thumb_func_start sub_0203126C +sub_0203126C: ; 0x0203126C + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + add r4, r3, #0 + bl sub_020310BC + cmp r0, r4 + bhs _0203128C + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + add r3, r4, #0 + bl sub_02031108 + pop {r3, r4, r5, r6, r7, pc} +_0203128C: + ldr r3, _020312A0 ; =0x0000270F + cmp r0, r3 + bls _0203129C + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + bl sub_02031108 +_0203129C: + pop {r3, r4, r5, r6, r7, pc} + nop +_020312A0: .word 0x0000270F + thumb_func_end sub_0203126C + + thumb_func_start sub_020312A4 +sub_020312A4: ; 0x020312A4 + mov r0, #0xba + lsl r0, r0, #4 + bx lr + .balign 4, 0 + thumb_func_end sub_020312A4 + + thumb_func_start sub_020312AC +sub_020312AC: ; 0x020312AC + push {r4, lr} + mov r2, #0xba + mov r1, #0 + lsl r2, r2, #4 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r0, #0 + mvn r0, r0 + str r0, [r4] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_020312AC + + thumb_func_start sub_020312C4 +sub_020312C4: ; 0x020312C4 + ldr r3, _020312C8 ; =sub_02027144 + bx r3 + .balign 4, 0 +_020312C8: .word sub_02027144 + thumb_func_end sub_020312C4 + + thumb_func_start sub_020312CC +sub_020312CC: ; 0x020312CC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02027158 + add r4, r0, #0 + add r0, r5, #0 + bl sub_020273F0 + orr r0, r4 + pop {r3, r4, r5, pc} + thumb_func_end sub_020312CC + + thumb_func_start sub_020312E0 +sub_020312E0: ; 0x020312E0 + push {r4, r5, r6, lr} + add r5, r1, #0 + add r4, r2, #0 + add r6, r3, #0 + bl sub_020274E8 + cmp r0, #0 + bne _020312F4 + mov r0, #0 + pop {r4, r5, r6, pc} +_020312F4: + cmp r4, #0 + beq _02031302 + cmp r4, #1 + beq _0203130A + cmp r4, #2 + beq _02031314 + b _02031320 +_02031302: + lsl r0, r6, #1 + add r0, r5, r0 + ldrh r0, [r0, #4] + pop {r4, r5, r6, pc} +_0203130A: + lsl r0, r6, #1 + add r1, r5, r0 + ldr r0, _02031328 ; =0x000003E2 + ldrh r0, [r1, r0] + pop {r4, r5, r6, pc} +_02031314: + lsl r0, r6, #1 + add r1, r5, r0 + mov r0, #0x1f + lsl r0, r0, #6 + ldrh r0, [r1, r0] + pop {r4, r5, r6, pc} +_02031320: + bl GF_AssertFail + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_02031328: .word 0x000003E2 + thumb_func_end sub_020312E0 + + thumb_func_start sub_0203132C +sub_0203132C: ; 0x0203132C + push {r4, lr} + ldr r4, _02031370 ; =0x0000270F + cmp r3, r4 + bls _02031336 + add r3, r4, #0 +_02031336: + cmp r1, #0 + beq _02031344 + cmp r1, #1 + beq _0203134C + cmp r1, #2 + beq _02031356 + b _02031362 +_02031344: + lsl r1, r2, #1 + add r0, r0, r1 + strh r3, [r0, #4] + b _0203136A +_0203134C: + lsl r1, r2, #1 + add r1, r0, r1 + ldr r0, _02031374 ; =0x000003E2 + strh r3, [r1, r0] + b _0203136A +_02031356: + lsl r1, r2, #1 + add r1, r0, r1 + mov r0, #0x1f + lsl r0, r0, #6 + strh r3, [r1, r0] + b _0203136A +_02031362: + bl GF_AssertFail + mov r0, #0 + pop {r4, pc} +_0203136A: + add r0, r3, #0 + pop {r4, pc} + nop +_02031370: .word 0x0000270F +_02031374: .word 0x000003E2 + thumb_func_end sub_0203132C + + thumb_func_start sub_02031378 +sub_02031378: ; 0x02031378 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + add r5, r1, #0 + add r4, r2, #0 + add r6, r3, #0 + bl sub_020274E8 + cmp r0, #0 + bne _0203138E + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0203138E: + add r0, r7, #0 + add r1, r5, #0 + add r2, r4, #0 + add r3, r6, #0 + bl sub_020312E0 + add r1, sp, #8 + ldrh r3, [r1, #0x10] + cmp r0, r3 + bhs _020313AE + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0203132C + pop {r3, r4, r5, r6, r7, pc} +_020313AE: + ldr r3, _020313C0 ; =0x0000270F + cmp r0, r3 + bls _020313BE + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_0203132C +_020313BE: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_020313C0: .word 0x0000270F + thumb_func_end sub_02031378 + + thumb_func_start sub_020313C4 +sub_020313C4: ; 0x020313C4 + push {r4, r5, r6, r7, lr} + sub sp, #0x1c + add r5, r0, #0 + mov r0, #0 + add r6, r1, #0 + str r2, [sp, #4] + str r3, [sp, #8] + ldr r4, [sp, #0x38] + ldr r7, [sp, #0x3c] + str r0, [sp, #0xc] + cmp r6, #0x22 + blt _020313E0 + cmp r6, #0x3c + ble _020313E4 +_020313E0: + bl GF_AssertFail +_020313E4: + ldr r1, [sp, #4] + mov r0, #0 + sub r1, #0x24 + cmp r1, #0x18 + bhi _020313FC + mov r3, #1 + add r2, r3, #0 + lsl r2, r1 + ldr r1, _020314A0 ; =0x01001001 + tst r1, r2 + beq _020313FC + add r0, r3, #0 +_020313FC: + cmp r0, #0 + bne _02031404 + bl GF_AssertFail +_02031404: + mov r0, #1 + str r0, [r4] + mov r0, #2 + str r0, [r7] + ldr r0, [sp, #8] + cmp r0, #0xff + beq _02031418 + add sp, #0x1c + mov r0, #0 + pop {r4, r5, r6, r7, pc} +_02031418: + add r0, r5, #0 + bl sub_020274E8 + cmp r0, #0 + bne _02031428 + add sp, #0x1c + mov r0, #0 + pop {r4, r5, r6, r7, pc} +_02031428: + add r0, r5, #0 + bl sub_0203107C + ldr r2, [sp, #8] + str r0, [sp, #0x18] + add r1, r6, #0 + bl sub_020310BC + str r0, [sp, #0x14] + ldr r0, [sp, #0x18] + ldr r1, [sp, #4] + ldr r2, [sp, #8] + bl sub_020310BC + str r0, [sp, #0x10] + ldr r1, [sp, #0x34] + add r0, r5, #0 + add r2, r4, #0 + bl sub_020312C4 + add r6, r0, #0 + ldr r0, [r4] + cmp r0, #1 + beq _0203145C + mov r4, #0 + b _0203146A +_0203145C: + ldr r2, [sp, #0x30] + ldr r3, [sp, #0x10] + add r0, r5, #0 + add r1, r6, #0 + bl sub_020312E0 + add r4, r0, #0 +_0203146A: + ldr r0, [sp, #0x14] + ldr r2, [sp, #0x30] + str r0, [sp] + ldr r3, [sp, #0x10] + add r0, r5, #0 + add r1, r6, #0 + bl sub_02031378 + ldr r0, [sp, #0x14] + cmp r0, r4 + beq _0203148E + add r0, r5, #0 + add r1, r6, #0 + bl sub_020312CC + str r0, [r7] + mov r0, #1 + str r0, [sp, #0xc] +_0203148E: + cmp r6, #0 + beq _02031498 + add r0, r6, #0 + bl FreeToHeap +_02031498: + ldr r0, [sp, #0xc] + add sp, #0x1c + pop {r4, r5, r6, r7, pc} + nop +_020314A0: .word 0x01001001 + thumb_func_end sub_020313C4 + + thumb_func_start sub_020314A4 +sub_020314A4: ; 0x020314A4 + push {r4, lr} + mov r1, #0x80 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x80 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_020314A4 + + thumb_func_start sub_020314BC +sub_020314BC: ; 0x020314BC + ldr r3, _020314C0 ; =FreeToHeap + bx r3 + .balign 4, 0 +_020314C0: .word FreeToHeap + thumb_func_end sub_020314BC + + thumb_func_start sub_020314C4 +sub_020314C4: ; 0x020314C4 + push {r4, r5, r6, r7, lr} + sub sp, #0x64 + add r6, r1, #0 + add r5, r0, #0 + add r0, r6, #0 + bl sub_02028E9C + add r4, r0, #0 + add r0, r6, #0 + bl sub_0202CA44 + str r0, [sp] + add r0, r6, #0 + bl Sav2_SysInfo_get + add r0, r6, #0 + bl sub_0202A960 + add r7, r0, #0 + add r0, sp, #0x10 + bl OS_GetOwnerInfo + add r0, r7, #0 + add r1, sp, #0xc + add r2, sp, #8 + add r3, sp, #4 + bl sub_0202AA20 + add r0, r5, #0 + mov r1, #0 + mov r2, #0x80 + bl MIi_CpuFill8 + add r0, r4, #0 + bl PlayerProfile_GetNamePtr + add r1, r0, #0 + add r0, r5, #0 + bl CopyU16StringArray + add r0, r4, #0 + bl sub_02028F84 + str r0, [r5, #0x10] + add r0, r4, #0 + bl PlayerProfile_GetTrainerGender + strb r0, [r5, #0x14] + ldr r0, [sp, #0xc] + mov r1, #0xfe + strh r0, [r5, #0x1c] + ldrb r0, [r5, #0x1b] + bic r0, r1 + ldr r1, [sp, #8] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x19 + lsr r1, r1, #0x18 + orr r0, r1 + strb r0, [r5, #0x1b] + ldrb r0, [r5, #0x1b] + mov r1, #1 + bic r0, r1 + ldr r1, [sp, #4] + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + mov r1, #1 + and r1, r2 + orr r0, r1 + strb r0, [r5, #0x1b] + ldr r0, [sp] + bl sub_0202CA8C + strb r0, [r5, #0x17] + ldr r0, [sp] + bl sub_0202CA90 + strb r0, [r5, #0x18] + ldr r0, _020315B4 ; =0x0000FFFF + mov r1, #0 + add r2, r5, #0 +_02031566: + add r1, r1, #1 + strh r0, [r2, #0x20] + add r2, r2, #2 + cmp r1, #0x28 + blt _02031566 + add r1, r5, #0 + add r0, r7, #0 + add r1, #0x20 + bl sub_0202ABD0 + add r0, sp, #4 + ldrb r0, [r0, #0xe] + strb r0, [r5, #0x15] + add r0, r4, #0 + bl PlayerProfile_GetTrainerGender + add r7, r0, #0 + add r0, r4, #0 + bl sub_0202903C + add r1, r0, #0 + add r0, r7, #0 + mov r2, #0 + bl sub_0205B46C + strb r0, [r5, #0x16] + mov r0, #GAME_VERSION + strb r0, [r5, #0x19] + mov r0, #2 + strb r0, [r5, #0x1a] + add r0, r6, #0 + add r1, r5, #0 + mov r2, #0x7c + bl sub_020275C4 + add r5, #0x7c + strh r0, [r5] + add sp, #0x64 + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_020315B4: .word 0x0000FFFF + thumb_func_end sub_020314C4 + + thumb_func_start sub_020315B8 +sub_020315B8: ; 0x020315B8 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0xf + bl String_ctor + add r1, r5, #0 + mov r2, #0xf + add r4, r0, #0 + bl CopyU16ArrayToStringN + add r0, r4, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_020315B8 + + thumb_func_start sub_020315D0 +sub_020315D0: ; 0x020315D0 + ldrb r0, [r0, #0x14] + cmp r0, #0 + beq _020315DC + cmp r0, #1 + beq _020315DC + mov r0, #0 +_020315DC: + bx lr + .balign 4, 0 + thumb_func_end sub_020315D0 + + thumb_func_start sub_020315E0 +sub_020315E0: ; 0x020315E0 + ldrh r0, [r0, #0x1c] + ldr r1, _020315EC ; =0x000001EF + cmp r0, r1 + blo _020315EA + mov r0, #0 +_020315EA: + bx lr + .balign 4, 0 +_020315EC: .word 0x000001EF + thumb_func_end sub_020315E0 + + thumb_func_start sub_020315F0 +sub_020315F0: ; 0x020315F0 + push {r3, lr} + add r2, r0, #0 + ldrh r0, [r2, #0x1c] + ldr r1, _0203160C ; =0x000001EF + cmp r0, r1 + blo _02031600 + mov r0, #0 + pop {r3, pc} +_02031600: + ldrb r1, [r2, #0x1b] + lsl r1, r1, #0x18 + lsr r1, r1, #0x19 + bl sub_02070438 + pop {r3, pc} + .balign 4, 0 +_0203160C: .word 0x000001EF + thumb_func_end sub_020315F0 + + thumb_func_start sub_02031610 +sub_02031610: ; 0x02031610 + ldrb r0, [r0, #0x1b] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + cmp r0, #1 + bls _0203161C + mov r0, #1 +_0203161C: + bx lr + .balign 4, 0 + thumb_func_end sub_02031610 + + thumb_func_start sub_02031620 +sub_02031620: ; 0x02031620 + ldrb r0, [r0, #0x17] + cmp r0, #0xea + blo _02031628 + mov r0, #0 +_02031628: + bx lr + .balign 4, 0 + thumb_func_end sub_02031620 + + thumb_func_start sub_0203162C +sub_0203162C: ; 0x0203162C + push {r4, lr} + ldrb r1, [r0, #0x17] + cmp r1, #0xea + blo _02031638 + mov r0, #0 + pop {r4, pc} +_02031638: + ldrb r4, [r0, #0x18] + add r0, r1, #0 + bl sub_02091688 + cmp r0, r4 + bhs _02031646 + mov r4, #0 +_02031646: + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203162C + + thumb_func_start sub_0203164C +sub_0203164C: ; 0x0203164C + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + ldrb r0, [r5, #0x1e] + add r4, r1, #0 + mov r6, #0 + cmp r0, #0 + bne _020316CE + ldrh r0, [r5, #0x20] + strh r0, [r4] + ldrh r0, [r5, #0x22] + strh r0, [r4, #2] + ldrh r0, [r5, #0x24] + strh r0, [r4, #4] + ldrh r0, [r5, #0x26] + strh r0, [r4, #6] + ldrh r0, [r4] + cmp r0, #5 + blo _02031676 + add r6, r6, #1 + b _020316AA +_02031676: + ldrh r0, [r4, #2] + cmp r0, #0x13 + bls _02031680 + add r6, r6, #1 + b _020316AA +_02031680: + ldrh r0, [r4, #4] + ldr r1, _020316E8 ; =0x0000FFFF + cmp r0, r1 + beq _02031694 + add r1, sp, #4 + add r2, sp, #0 + bl GetCategoryAndMsgNoByECWordIdx + cmp r0, #0 + beq _020316A8 +_02031694: + ldrh r0, [r4, #6] + ldr r1, _020316E8 ; =0x0000FFFF + cmp r0, r1 + beq _020316AA + add r1, sp, #4 + add r2, sp, #0 + bl GetCategoryAndMsgNoByECWordIdx + cmp r0, #0 + bne _020316AA +_020316A8: + add r6, r6, #1 +_020316AA: + cmp r6, #0 + ble _020316C8 + add r0, r4, #0 + mov r1, #4 + bl MailMsg_init_withBank + mov r0, #0 + strh r0, [r4, #2] + ldr r0, _020316EC ; =0x0000011F + mov r1, #0x63 + bl GetECWordIndexByPair + strh r0, [r4, #4] + ldr r0, _020316E8 ; =0x0000FFFF + strh r0, [r4, #6] +_020316C8: + add sp, #8 + mov r0, #0 + pop {r4, r5, r6, pc} +_020316CE: + mov r0, #0x28 + add r1, r2, #0 + bl String_ctor + add r5, #0x20 + add r1, r5, #0 + mov r2, #0x28 + add r4, r0, #0 + bl CopyU16ArrayToStringN + add r0, r4, #0 + add sp, #8 + pop {r4, r5, r6, pc} + .balign 4, 0 +_020316E8: .word 0x0000FFFF +_020316EC: .word 0x0000011F + thumb_func_end sub_0203164C + + thumb_func_start sub_020316F0 +sub_020316F0: ; 0x020316F0 + ldrb r0, [r0, #0x15] + cmp r0, #1 + blo _020316FA + cmp r0, #0xc + bls _020316FC +_020316FA: + mov r0, #1 +_020316FC: + bx lr + .balign 4, 0 + thumb_func_end sub_020316F0 + + thumb_func_start sub_02031700 +sub_02031700: ; 0x02031700 + ldrb r0, [r0, #0x16] + cmp r0, #0xf + bls _02031708 + mov r0, #0 +_02031708: + bx lr + .balign 4, 0 + thumb_func_end sub_02031700 + + thumb_func_start sub_0203170C +sub_0203170C: ; 0x0203170C + mov r0, #0x40 + bx lr + thumb_func_end sub_0203170C + + thumb_func_start sub_02031710 +sub_02031710: ; 0x02031710 + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x40 + bl MIi_CpuFill8 + add r0, r4, #0 + mov r1, #0 + mov r2, #0x33 + bl memset + mov r0, #1 + str r0, [r4, #0x34] + mov r0, #0x1f + bl sub_0202893C + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02031710 + + thumb_func_start sub_02031734 +sub_02031734: ; 0x02031734 + push {r3, lr} + mov r1, #0x1f + bl SavArray_get + bl sub_02031710 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02031734 + + thumb_func_start sub_02031744 +sub_02031744: ; 0x02031744 + push {r3, lr} + mov r1, #0x1f + bl SavArray_get + mov r1, #0 + ldrsb r0, [r0, r1] + cmp r0, #0 + beq _02031756 + mov r1, #1 +_02031756: + add r0, r1, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02031744 + + thumb_func_start sub_0203175C +sub_0203175C: ; 0x0203175C + push {r4, lr} + add r4, r1, #0 + mov r1, #0x1f + bl SavArray_get + add r1, r4, #0 + bl strcpy + mov r0, #0x1f + bl sub_0202893C + pop {r4, pc} + thumb_func_end sub_0203175C + + thumb_func_start sub_02031774 +sub_02031774: ; 0x02031774 + ldr r3, _0203177C ; =SavArray_get + mov r1, #0x1f + bx r3 + nop +_0203177C: .word SavArray_get + thumb_func_end sub_02031774 + + thumb_func_start sub_02031780 +sub_02031780: ; 0x02031780 + push {r3, r4, r5, lr} + add r5, r1, #0 + mov r1, #0x1f + add r4, r2, #0 + bl SavArray_get + cmp r5, #3 + bhi _020317B2 + add r1, r5, r5 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203179C: ; jump table + .short _020317A4 - _0203179C - 2 ; case 0 + .short _020317A8 - _0203179C - 2 ; case 1 + .short _020317AC - _0203179C - 2 ; case 2 + .short _020317B0 - _0203179C - 2 ; case 3 +_020317A4: + str r4, [r0, #0x34] + b _020317B2 +_020317A8: + strh r4, [r0, #0x38] + b _020317B2 +_020317AC: + strh r4, [r0, #0x3a] + b _020317B2 +_020317B0: + str r4, [r0, #0x3c] +_020317B2: + mov r0, #0x1f + bl sub_0202893C + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02031780 + + thumb_func_start sub_020317BC +sub_020317BC: ; 0x020317BC + push {r4, lr} + add r4, r1, #0 + mov r1, #0x1f + bl SavArray_get + cmp r4, #3 + bhi _020317EE + add r1, r4, r4 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_020317D6: ; jump table + .short _020317DE - _020317D6 - 2 ; case 0 + .short _020317E2 - _020317D6 - 2 ; case 1 + .short _020317E6 - _020317D6 - 2 ; case 2 + .short _020317EA - _020317D6 - 2 ; case 3 +_020317DE: + ldr r0, [r0, #0x34] + pop {r4, pc} +_020317E2: + ldrh r0, [r0, #0x38] + pop {r4, pc} +_020317E6: + ldrh r0, [r0, #0x3a] + pop {r4, pc} +_020317EA: + ldr r0, [r0, #0x3c] + pop {r4, pc} +_020317EE: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_020317BC + + thumb_func_start sub_020317F4 +sub_020317F4: ; 0x020317F4 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_0202CA44 + add r6, r0, #0 + add r0, r5, #0 + bl sub_02028E9C + add r7, r0, #0 + add r0, r5, #0 + bl sub_02031774 + str r0, [sp] + add r0, r4, #0 + mov r1, #0 + mov r2, #0x64 + bl MIi_CpuFill8 + mov r0, #GAME_VERSION + strb r0, [r4] + mov r0, #2 + strb r0, [r4, #1] + add r0, r6, #0 + bl sub_0202CA8C + strb r0, [r4, #2] + add r0, r6, #0 + bl sub_0202CA90 + strb r0, [r4, #3] + add r0, r7, #0 + bl sub_02028F84 + str r0, [r4, #4] + add r0, r7, #0 + bl PlayerProfile_GetNamePtr + add r1, r0, #0 + add r0, r4, #0 + add r0, #8 + bl CopyU16StringArray + mov r0, #0 + str r0, [r4, #0x18] + add r0, r4, #0 + ldr r1, [sp] + add r0, #0x24 + bl strcpy + add r0, r5, #0 + mov r1, #0 + bl sub_020317BC + str r0, [r4, #0x5c] + mov r0, #0x1f + bl sub_0202893C + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_020317F4 + + thumb_func_start sub_0203186C +sub_0203186C: ; 0x0203186C + push {r3, r4, r5, lr} + add r5, r1, #0 + bl sub_020317F4 + bl LCRandom + mov r1, #0xfa + lsl r1, r1, #2 + bl _s32_div_f + add r0, r5, #0 + add r4, r1, #0 + add r0, #0x60 + strh r4, [r0] + ldr r0, _02031898 ; =0x0000FFFF + add r5, #0x62 + strh r0, [r5] + mov r0, #0x1f + bl sub_0202893C + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_02031898: .word 0x0000FFFF + thumb_func_end sub_0203186C + + thumb_func_start sub_0203189C +sub_0203189C: ; 0x0203189C + push {r4, r5, r6, lr} + add r5, r1, #0 + add r6, r0, #0 + mov r1, #0x1f + bl SavArray_get + add r4, r0, #0 + add r0, r6, #0 + add r1, r5, #0 + bl sub_020317F4 + add r0, r5, #0 + ldrh r1, [r4, #0x38] + add r0, #0x60 + add r5, #0x62 + strh r1, [r0] + ldrh r0, [r4, #0x3a] + strh r0, [r5] + mov r0, #0x1f + bl sub_0202893C + pop {r4, r5, r6, pc} + thumb_func_end sub_0203189C + + thumb_func_start sub_020318C8 +sub_020318C8: ; 0x020318C8 + mov r0, #8 + bx lr + thumb_func_end sub_020318C8 + + thumb_func_start sub_020318CC +sub_020318CC: ; 0x020318CC + push {r4, lr} + add r4, r0, #0 + bl sub_020318C8 + add r2, r0, #0 + mov r0, #0 + add r1, r4, #0 + bl sub_020D47EC + mov r0, #0 + mvn r0, r0 + str r0, [r4] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_020318CC + + thumb_func_start sub_020318E8 +sub_020318E8: ; 0x020318E8 + ldr r3, _020318F0 ; =SavArray_get + mov r1, #0x20 + bx r3 + nop +_020318F0: .word SavArray_get + thumb_func_end sub_020318E8 + + thumb_func_start sub_020318F4 +sub_020318F4: ; 0x020318F4 + ldr r0, [r0] + bx lr + thumb_func_end sub_020318F4 + + thumb_func_start sub_020318F8 +sub_020318F8: ; 0x020318F8 + ldr r0, [r0, #4] + bx lr + thumb_func_end sub_020318F8 + + thumb_func_start sub_020318FC +sub_020318FC: ; 0x020318FC + str r1, [r0] + bx lr + thumb_func_end sub_020318FC + + thumb_func_start sub_02031900 +sub_02031900: ; 0x02031900 + str r1, [r0, #4] + bx lr + thumb_func_end sub_02031900 + + thumb_func_start sub_02031904 +sub_02031904: ; 0x02031904 + mov r0, #0x2e + lsl r0, r0, #6 + bx lr + .balign 4, 0 + thumb_func_end sub_02031904 + + thumb_func_start sub_0203190C +sub_0203190C: ; 0x0203190C + push {r3, r4, r5, r6, r7, lr} + mov r2, #0x2e + mov r1, #0 + lsl r2, r2, #6 + str r0, [sp] + bl MIi_CpuFill8 + mov r0, #0 + mov r7, #0xb3 + ldr r1, _02031960 ; =0x0000FFFF + ldr r6, _02031964 ; =0x00000484 + mov ip, r0 + lsl r7, r7, #2 +_02031926: + mov r0, ip + mov r2, #0x2c + mul r2, r0 + ldr r0, [sp] + mov r3, #0 + add r4, r0, r2 + mov r0, ip + mov r2, #0xa4 + mul r2, r0 + ldr r0, [sp] + add r5, r0, r2 +_0203193C: + lsl r2, r3, #3 + add r0, r4, r2 + strh r1, [r0, r7] + add r0, r5, r2 + strh r1, [r0, r6] + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #5 + blo _0203193C + mov r0, ip + add r0, r0, #1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov ip, r0 + cmp r0, #0xa + blo _02031926 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02031960: .word 0x0000FFFF +_02031964: .word 0x00000484 + thumb_func_end sub_0203190C + + thumb_func_start sub_02031968 +sub_02031968: ; 0x02031968 + ldr r3, _02031970 ; =SavArray_get + mov r1, #0x25 + bx r3 + nop +_02031970: .word SavArray_get + thumb_func_end sub_02031968 + + thumb_func_start sub_02031974 +sub_02031974: ; 0x02031974 + bx lr + .balign 4, 0 + thumb_func_end sub_02031974 + + thumb_func_start sub_02031978 +sub_02031978: ; 0x02031978 + add r0, #0xdc + bx lr + thumb_func_end sub_02031978 + + thumb_func_start sub_0203197C +sub_0203197C: ; 0x0203197C + mov r1, #0xb3 + lsl r1, r1, #2 + add r0, r0, r1 + bx lr + thumb_func_end sub_0203197C + + thumb_func_start sub_02031984 +sub_02031984: ; 0x02031984 + ldr r1, _0203198C ; =0x00000484 + add r0, r0, r1 + bx lr + nop +_0203198C: .word 0x00000484 + thumb_func_end sub_02031984 + + thumb_func_start sub_02031990 +sub_02031990: ; 0x02031990 + ldr r1, _02031998 ; =0x00000AEC + add r0, r0, r1 + bx lr + nop +_02031998: .word 0x00000AEC + thumb_func_end sub_02031990 + + thumb_func_start sub_0203199C +sub_0203199C: ; 0x0203199C + mov r1, #0xb + lsl r1, r1, #8 + add r0, r0, r1 + bx lr + thumb_func_end sub_0203199C + + thumb_func_start sub_020319A4 +sub_020319A4: ; 0x020319A4 + bx lr + .balign 4, 0 + thumb_func_end sub_020319A4 + + thumb_func_start sub_020319A8 +sub_020319A8: ; 0x020319A8 + push {r3, lr} + cmp r1, #0 + blt _020319B2 + cmp r1, #4 + ble _020319BA +_020319B2: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_020319BA: + sub r2, r2, #1 + bpl _020319C6 + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_020319C6: + add r0, r0, r2 + add r0, #0xdc + ldrb r0, [r0] + add r2, r0, #0 + asr r2, r1 + mov r0, #1 + add r1, r2, #0 + tst r1, r0 + bne _020319DA + mov r0, #0 +_020319DA: + pop {r3, pc} + thumb_func_end sub_020319A8 + + thumb_func_start sub_020319DC +sub_020319DC: ; 0x020319DC + mov r1, #0xb3 + lsl r1, r1, #2 + add r0, r0, r1 + bx lr + thumb_func_end sub_020319DC + + thumb_func_start sub_020319E4 +sub_020319E4: ; 0x020319E4 + ldr r1, _020319EC ; =0x00000484 + add r0, r0, r1 + bx lr + nop +_020319EC: .word 0x00000484 + thumb_func_end sub_020319E4 + + thumb_func_start sub_020319F0 +sub_020319F0: ; 0x020319F0 + mov r1, #0xb + lsl r1, r1, #8 + add r0, r0, r1 + bx lr + thumb_func_end sub_020319F0 + + thumb_func_start sub_020319F8 +sub_020319F8: ; 0x020319F8 + push {r4, r5, r6, lr} + add r4, r1, #0 + sub r1, r2, #1 + bpl _02031A06 + bl GF_AssertFail + pop {r4, r5, r6, pc} +_02031A06: + add r2, r0, r1 + mov r0, #1 + mov r3, #0 + add r2, #0xdc + add r6, r0, #0 +_02031A10: + add r1, r4, #0 + asr r1, r3 + and r1, r6 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + beq _02031A2A + add r5, r0, #0 + lsl r5, r3 + lsl r5, r5, #0x18 + ldrb r1, [r2] + lsr r5, r5, #0x18 + orr r1, r5 + strb r1, [r2] +_02031A2A: + add r1, r3, #1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #5 + blo _02031A10 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_020319F8 + + thumb_func_start sub_02031A38 +sub_02031A38: ; 0x02031A38 + ldr r2, _02031A4C ; =0x00000B74 + ldr r3, [r0, r2] + add r1, r3, r1 + str r1, [r0, r2] + ldr r3, [r0, r2] + ldr r1, _02031A50 ; =0x0001869F + cmp r3, r1 + ble _02031A4A + str r1, [r0, r2] +_02031A4A: + bx lr + .balign 4, 0 +_02031A4C: .word 0x00000B74 +_02031A50: .word 0x0001869F + thumb_func_end sub_02031A38 + + thumb_func_start sub_02031A54 +sub_02031A54: ; 0x02031A54 + ldr r2, _02031A68 ; =0x00000B74 + ldr r3, [r0, r2] + sub r1, r3, r1 + str r1, [r0, r2] + ldr r1, [r0, r2] + cmp r1, #0 + bge _02031A66 + mov r1, #0 + str r1, [r0, r2] +_02031A66: + bx lr + .balign 4, 0 +_02031A68: .word 0x00000B74 + thumb_func_end sub_02031A54 + + thumb_func_start sub_02031A6C +sub_02031A6C: ; 0x02031A6C + ldr r1, _02031A74 ; =0x00000B74 + ldr r0, [r0, r1] + bx lr + nop +_02031A74: .word 0x00000B74 + thumb_func_end sub_02031A6C + + thumb_func_start sub_02031A78 +sub_02031A78: ; 0x02031A78 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x1b + blt _02031A86 + bl GF_AssertFail +_02031A86: + ldr r0, _02031A94 ; =0x00000B78 + ldr r0, [r5, r0] + add r1, r0, #0 + lsr r1, r4 + mov r0, #1 + and r0, r1 + pop {r3, r4, r5, pc} + .balign 4, 0 +_02031A94: .word 0x00000B78 + thumb_func_end sub_02031A78 + + thumb_func_start sub_02031A98 +sub_02031A98: ; 0x02031A98 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x1b + blt _02031AA6 + bl GF_AssertFail +_02031AA6: + ldr r0, _02031AB4 ; =0x00000B78 + mov r1, #1 + ldr r2, [r5, r0] + lsl r1, r4 + orr r1, r2 + str r1, [r5, r0] + pop {r3, r4, r5, pc} + .balign 4, 0 +_02031AB4: .word 0x00000B78 + thumb_func_end sub_02031A98 + + thumb_func_start sub_02031AB8 +sub_02031AB8: ; 0x02031AB8 + ldr r2, _02031AC8 ; =0x00000B7C + ldrh r0, [r0, r2] + add r2, r0, #0 + asr r2, r1 + mov r0, #1 + and r0, r2 + bx lr + nop +_02031AC8: .word 0x00000B7C + thumb_func_end sub_02031AB8 + + thumb_func_start sub_02031ACC +sub_02031ACC: ; 0x02031ACC + push {r3, r4} + ldr r2, _02031AE0 ; =0x00000B7C + mov r3, #1 + ldrh r4, [r0, r2] + lsl r3, r1 + add r1, r4, #0 + orr r1, r3 + strh r1, [r0, r2] + pop {r3, r4} + bx lr + .balign 4, 0 +_02031AE0: .word 0x00000B7C + thumb_func_end sub_02031ACC + + thumb_func_start sub_02031AE4 +sub_02031AE4: ; 0x02031AE4 + ldr r1, _02031AEC ; =0x00000B7C + mov r2, #0 + strh r2, [r0, r1] + bx lr + .balign 4, 0 +_02031AEC: .word 0x00000B7C + thumb_func_end sub_02031AE4 + + thumb_func_start sub_02031AF0 +sub_02031AF0: ; 0x02031AF0 + mov r0, #0x28 + bx lr + thumb_func_end sub_02031AF0 + + thumb_func_start sub_02031AF4 +sub_02031AF4: ; 0x02031AF4 + ldr r3, _02031AFC ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #0x28 + bx r3 + .balign 4, 0 +_02031AFC: .word MIi_CpuFill8 + thumb_func_end sub_02031AF4 + + thumb_func_start sub_02031B00 +sub_02031B00: ; 0x02031B00 + ldr r3, _02031B08 ; =SavArray_get + mov r1, #0x1d + bx r3 + nop +_02031B08: .word SavArray_get + thumb_func_end sub_02031B00 + + thumb_func_start sub_02031B0C +sub_02031B0C: ; 0x02031B0C + mov r0, #0x80 + bx lr + thumb_func_end sub_02031B0C + + thumb_func_start sub_02031B10 +sub_02031B10: ; 0x02031B10 + mov r0, #0x20 + bx lr + thumb_func_end sub_02031B10 + + thumb_func_start sub_02031B14 +sub_02031B14: ; 0x02031B14 + ldr r3, _02031B1C ; =SavArray_get + mov r1, #0x26 + bx r3 + nop +_02031B1C: .word SavArray_get + thumb_func_end sub_02031B14 + + thumb_func_start sub_02031B20 +sub_02031B20: ; 0x02031B20 + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x80 + bl MIi_CpuFill8 + add r0, r4, #0 + add r0, #0xc + bl sub_02031B5C + add r0, r4, #0 + bl sub_02031B3C + pop {r4, pc} + thumb_func_end sub_02031B20 + + thumb_func_start sub_02031B3C +sub_02031B3C: ; 0x02031B3C + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 + add r5, #0x20 +_02031B44: + add r0, r5, #0 + bl sub_020325CC + add r4, r4, #1 + add r5, #0x20 + cmp r4, #3 + blt _02031B44 + pop {r3, r4, r5, pc} + thumb_func_end sub_02031B3C + + thumb_func_start sub_02031B54 +sub_02031B54: ; 0x02031B54 + ldr r3, _02031B58 ; =sub_02031B20 + bx r3 + .balign 4, 0 +_02031B58: .word sub_02031B20 + thumb_func_end sub_02031B54 + + thumb_func_start sub_02031B5C +sub_02031B5C: ; 0x02031B5C + ldr r3, _02031B64 ; =MIi_CpuFill8 + mov r1, #0 + mov r2, #8 + bx r3 + .balign 4, 0 +_02031B64: .word MIi_CpuFill8 + thumb_func_end sub_02031B5C + + thumb_func_start sub_02031B68 +sub_02031B68: ; 0x02031B68 + push {r3, lr} + cmp r1, #7 + blt _02031B76 + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_02031B76: + ldrb r3, [r0, r1] + add r2, r2, r3 + cmp r2, #0x63 + ble _02031B82 + mov r2, #0x63 + b _02031B82 +_02031B82: + strb r2, [r0, r1] + ldrb r0, [r0, r1] + pop {r3, pc} + thumb_func_end sub_02031B68 + + thumb_func_start sub_02031B88 +sub_02031B88: ; 0x02031B88 + push {r3, lr} + cmp r1, #7 + blt _02031B96 + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_02031B96: + ldrb r3, [r0, r1] + cmp r3, r2 + blo _02031BA0 + sub r2, r3, r2 + strb r2, [r0, r1] +_02031BA0: + ldrb r0, [r0, r1] + pop {r3, pc} + thumb_func_end sub_02031B88 + + thumb_func_start sub_02031BA4 +sub_02031BA4: ; 0x02031BA4 + push {r3, lr} + cmp r1, #7 + blt _02031BB2 + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} +_02031BB2: + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02031BA4 + + thumb_func_start sub_02031BB8 +sub_02031BB8: ; 0x02031BB8 + push {r3, lr} + ldrb r3, [r0, r1] + cmp r3, r2 + bhs _02031BC6 + bl GF_AssertFail + pop {r3, pc} +_02031BC6: + strb r1, [r0, #8] + strb r2, [r0, #7] + bl sub_02031B88 + pop {r3, pc} + thumb_func_end sub_02031BB8 + + thumb_func_start sub_02031BD0 +sub_02031BD0: ; 0x02031BD0 + ldrb r0, [r0, #7] + bx lr + thumb_func_end sub_02031BD0 + + thumb_func_start sub_02031BD4 +sub_02031BD4: ; 0x02031BD4 + ldrb r0, [r0, #8] + cmp r0, #7 + blo _02031BDE + mov r0, #4 + bx lr +_02031BDE: + lsl r1, r0, #1 + ldr r0, _02031BE8 ; =0x020F68D0 + ldrh r0, [r0, r1] + bx lr + nop +_02031BE8: .word 0x020F68D0 + thumb_func_end sub_02031BD4 + + thumb_func_start sub_02031BEC +sub_02031BEC: ; 0x02031BEC + ldr r3, [r0, #0x1c] + ldr r2, _02031BFC ; =0x3FFFFFFF + lsl r1, r1, #0x1e + and r2, r3 + orr r1, r2 + str r1, [r0, #0x1c] + bx lr + nop +_02031BFC: .word 0x3FFFFFFF + thumb_func_end sub_02031BEC + + thumb_func_start sub_02031C00 +sub_02031C00: ; 0x02031C00 + ldr r0, [r0, #0x1c] + lsr r0, r0, #0x1e + bx lr + .balign 4, 0 + thumb_func_end sub_02031C00 + + thumb_func_start sub_02031C08 +sub_02031C08: ; 0x02031C08 + push {r3, r4} + ldrh r4, [r0, #0xa] + mov r3, #0 + add r2, r3, #0 + mov r1, #7 +_02031C12: + add r0, r4, #0 + tst r0, r1 + beq _02031C1E + add r0, r3, #1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 +_02031C1E: + lsl r0, r4, #0xd + add r2, r2, #1 + lsr r4, r0, #0x10 + cmp r2, #5 + blt _02031C12 + add r0, r3, #0 + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_02031C08 + + thumb_func_start sub_02031C30 +sub_02031C30: ; 0x02031C30 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + ldrh r6, [r5, #0xa] + cmp r4, #7 + blt _02031C44 + bl GF_AssertFail + mov r0, #0 + pop {r4, r5, r6, pc} +_02031C44: + mov r3, #0 + mov r1, #7 +_02031C48: + add r0, r6, #0 + tst r0, r1 + beq _02031C54 + lsl r0, r6, #0xd + lsr r6, r0, #0x10 + b _02031C96 +_02031C54: + add r6, r4, #1 + mov r0, #7 + and r0, r6 + lsl r6, r3, #1 + add r3, r3, r6 + lsl r0, r3 + lsl r0, r0, #0x10 + ldrh r1, [r5, #0xa] + lsr r0, r0, #0x10 + orr r0, r1 + strh r0, [r5, #0xa] + mov r0, #2 + ldrh r1, [r5, #0xa] + lsl r0, r0, #0xe + orr r0, r1 + strh r0, [r5, #0xa] + str r2, [r5, #0x14] + ldrb r0, [r5, #9] + cmp r0, #0 + bne _02031C7E + str r2, [r5, #0x18] +_02031C7E: + mov r0, #3 + ldr r1, [r5, #0x1c] + lsl r0, r0, #0x1e + and r0, r1 + str r0, [r5, #0x1c] + add r0, r5, #0 + add r1, r4, #0 + mov r2, #1 + bl sub_02031B88 + mov r0, #1 + pop {r4, r5, r6, pc} +_02031C96: + add r3, r3, #1 + cmp r3, #5 + blt _02031C48 + mov r0, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_02031C30 + + thumb_func_start sub_02031CA0 +sub_02031CA0: ; 0x02031CA0 + push {r4, lr} + add r4, r0, #0 + bl sub_02031C08 + cmp r0, #0 + bne _02031CB0 + mov r0, #0 + pop {r4, pc} +_02031CB0: + ldr r0, [r4, #0x1c] + lsl r0, r0, #2 + lsr r0, r0, #2 + cmp r0, #0x32 + bhs _02031CBE + mov r0, #1 + pop {r4, pc} +_02031CBE: + cmp r0, #0x50 + bhs _02031CC6 + mov r0, #2 + pop {r4, pc} +_02031CC6: + mov r0, #3 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02031CA0 + + thumb_func_start sub_02031CCC +sub_02031CCC: ; 0x02031CCC + mov r2, #0xa + mul r2, r1 + ldrb r1, [r0, #9] + cmp r1, #0 + beq _02031CE6 + ldrb r1, [r0, #0xe] + add r1, r1, r2 + cmp r1, #0xff + ble _02031CE4 + mov r1, #0xff + strb r1, [r0, #0xe] + bx lr +_02031CE4: + strb r1, [r0, #0xe] +_02031CE6: + bx lr + thumb_func_end sub_02031CCC + + thumb_func_start sub_02031CE8 +sub_02031CE8: ; 0x02031CE8 + ldrb r0, [r0, #9] + bx lr + thumb_func_end sub_02031CE8 + + thumb_func_start sub_02031CEC +sub_02031CEC: ; 0x02031CEC + push {r3, r4, r5, lr} + add r5, r2, #0 + cmp r1, #9 + blt _02031CF6 + mov r1, #0 +_02031CF6: + cmp r1, #4 + bgt _02031D12 + ldr r0, _02031D68 ; =0x020F6902 + lsl r2, r1, #3 + add r1, r0, r2 + ldrh r0, [r0, r2] + strh r0, [r5] + ldrh r0, [r1, #2] + strh r0, [r5, #2] + ldrh r0, [r1, #4] + strh r0, [r5, #4] + ldrh r0, [r1, #6] + strh r0, [r5, #6] + b _02031D64 +_02031D12: + cmp r1, #7 + bgt _02031D44 + sub r1, r1, #5 + add r0, #0x38 + lsl r1, r1, #5 + add r4, r0, r1 + add r0, r4, #0 + bl sub_02031D80 + cmp r0, #0 + bne _02031D32 + add r0, r5, #0 + bl sub_02031B5C + mov r0, #0 + pop {r3, r4, r5, pc} +_02031D32: + ldrh r0, [r4] + strh r0, [r5] + ldrh r0, [r4, #2] + strh r0, [r5, #2] + ldrh r0, [r4, #4] + strh r0, [r5, #4] + ldrh r0, [r4, #6] + strh r0, [r5, #6] + b _02031D64 +_02031D44: + ldrb r1, [r0, #9] + cmp r1, #0 + bne _02031D54 + add r0, r5, #0 + bl sub_02031B5C + mov r0, #0 + pop {r3, r4, r5, pc} +_02031D54: + ldrh r1, [r0, #0xc] + strh r1, [r5] + ldrh r1, [r0, #0xe] + strh r1, [r5, #2] + ldrh r1, [r0, #0x10] + strh r1, [r5, #4] + ldrh r0, [r0, #0x12] + strh r0, [r5, #6] +_02031D64: + mov r0, #1 + pop {r3, r4, r5, pc} + .balign 4, 0 +_02031D68: .word 0x020F6902 + thumb_func_end sub_02031CEC + + thumb_func_start sub_02031D6C +sub_02031D6C: ; 0x02031D6C + push {r3, lr} + bl sub_02031D80 + cmp r0, #0 + beq _02031D7A + mov r0, #1 + pop {r3, pc} +_02031D7A: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02031D6C + + thumb_func_start sub_02031D80 +sub_02031D80: ; 0x02031D80 + mov r3, #0 + add r2, r3, #0 +_02031D84: + add r1, r0, r2 + ldrb r1, [r1, #3] + add r2, r2, #1 + add r1, r3, r1 + lsl r1, r1, #0x10 + lsr r3, r1, #0x10 + cmp r2, #5 + blt _02031D84 + cmp r3, #0x64 + bls _02031D9A + mov r3, #0x64 +_02031D9A: + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + bx lr + thumb_func_end sub_02031D80 + + thumb_func_start sub_02031DA0 +sub_02031DA0: ; 0x02031DA0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r6, r1, #0 + add r4, r0, #0 + add r0, r6, #0 + mov r1, #0 + mov r2, #0xe + bl MIi_CpuFill8 + add r0, sp, #4 + add r0, #2 + mov r1, #0 + mov r2, #0xa + bl MIi_CpuFill8 + mov r0, #0 + add r1, sp, #4 + str r0, [sp] + add r1, #2 +_02031DC6: + add r2, r4, r0 + ldrb r2, [r2, #3] + strb r0, [r1] + strb r2, [r1, #1] + cmp r2, #0 + beq _02031DDC + ldr r2, [sp] + add r2, r2, #1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + str r2, [sp] +_02031DDC: + add r0, r0, #1 + add r1, r1, #2 + cmp r0, #5 + blt _02031DC6 + ldr r0, [sp] + cmp r0, #0 + beq _02031E3C + add r0, sp, #4 + add r0, #2 + mov r7, #0 + mov ip, r0 +_02031DF2: + add r5, r7, #1 + cmp r5, #5 + bge _02031E34 + lsl r2, r5, #1 + mov r1, ip + add r1, r1, r2 + add r2, sp, #4 +_02031E00: + ldrb r4, [r1, #1] + ldrb r3, [r0, #1] + cmp r3, r4 + bhi _02031E2C + cmp r3, r4 + bne _02031E14 + ldrb r4, [r0] + ldrb r3, [r1] + cmp r4, r3 + blo _02031E2C +_02031E14: + ldrb r3, [r0] + strb r3, [r2] + ldrb r3, [r0, #1] + strb r3, [r2, #1] + ldrb r3, [r1] + strb r3, [r0] + ldrb r3, [r1, #1] + strb r3, [r0, #1] + ldrb r3, [r2] + strb r3, [r1] + ldrb r3, [r2, #1] + strb r3, [r1, #1] +_02031E2C: + add r5, r5, #1 + add r1, r1, #2 + cmp r5, #5 + blt _02031E00 +_02031E34: + add r7, r7, #1 + add r0, r0, #2 + cmp r7, #5 + blt _02031DF2 +_02031E3C: + add r0, sp, #4 + ldrb r5, [r0, #0xb] + add r3, sp, #4 + add r0, r6, #0 + mov r4, #0 + add r3, #2 + add r0, #0xb +_02031E4A: + ldrb r2, [r3] + add r1, r6, r4 + strb r2, [r1, #6] + ldrb r1, [r3, #1] + cmp r5, r1 + bne _02031E5C + ldrb r1, [r0] + add r1, r1, #1 + strb r1, [r0] +_02031E5C: + add r4, r4, #1 + add r3, r3, #2 + cmp r4, #5 + blt _02031E4A + ldr r0, [sp] + strb r0, [r6, #0xc] + ldr r0, [sp] + cmp r0, #5 + bls _02031E70 + b _02031FDC +_02031E70: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02031E7C: ; jump table + .short _02031E88 - _02031E7C - 2 ; case 0 + .short _02031E98 - _02031E7C - 2 ; case 1 + .short _02031EB2 - _02031E7C - 2 ; case 2 + .short _02031ED6 - _02031E7C - 2 ; case 3 + .short _02031EFA - _02031E7C - 2 ; case 4 + .short _02031EFA - _02031E7C - 2 ; case 5 +_02031E88: + ldrh r1, [r6] + mov r0, #0xf + add sp, #0x10 + bic r1, r0 + mov r0, #6 + orr r0, r1 + strh r0, [r6] + pop {r3, r4, r5, r6, r7, pc} +_02031E98: + add r1, sp, #4 + add r0, r6, #0 + add r1, #2 + mov r2, #0 + bl sub_02032588 + ldrh r1, [r6, #2] + mov r0, #0xf + bic r1, r0 + mov r0, #6 + orr r0, r1 + strh r0, [r6, #2] + b _02031FDC +_02031EB2: + add r1, sp, #4 + add r0, r6, #0 + add r1, #2 + mov r2, #0 + bl sub_02032588 + add r0, r6, #2 + add r1, sp, #8 + mov r2, #1 + bl sub_02032588 + ldrh r1, [r6, #4] + mov r0, #0xf + bic r1, r0 + mov r0, #6 + orr r0, r1 + strh r0, [r6, #4] + b _02031FDC +_02031ED6: + add r1, sp, #4 + add r0, r6, #0 + add r1, #2 + mov r2, #0 + bl sub_02032588 + add r0, r6, #2 + add r1, sp, #8 + mov r2, #1 + bl sub_02032588 + add r1, sp, #8 + add r0, r6, #4 + add r1, #2 + mov r2, #2 + bl sub_02032588 + b _02031FDC +_02031EFA: + add r0, sp, #4 + ldrb r2, [r0, #3] + ldrb r1, [r0, #9] + sub r1, r2, r1 + cmp r1, #0xc + bgt _02031F88 + ldrh r3, [r6] + mov r2, #0xf + mov r1, #5 + bic r3, r2 + orr r1, r3 + strh r1, [r6] + ldrb r3, [r0, #3] + ldrh r1, [r6] + ldr r4, _02031FE4 ; =0xFFFF00FF + lsl r3, r3, #0x18 + and r1, r4 + lsr r3, r3, #0x10 + orr r1, r3 + strh r1, [r6] + ldrh r1, [r6, #2] + mov r3, #6 + bic r1, r2 + orr r1, r3 + strh r1, [r6, #2] + ldrb r5, [r0, #5] + ldrh r1, [r6, #2] + lsl r5, r5, #0x18 + and r1, r4 + lsr r5, r5, #0x10 + orr r1, r5 + strh r1, [r6, #2] + ldrh r1, [r6, #4] + bic r1, r2 + orr r1, r3 + strh r1, [r6, #4] + ldrh r1, [r6, #4] + add r2, r1, #0 + ldrb r1, [r0, #7] + and r2, r4 + lsl r1, r1, #0x18 + lsr r1, r1, #0x10 + orr r1, r2 + strh r1, [r6, #4] + mov r1, #1 + strb r1, [r6, #0xc] + ldrb r0, [r0, #3] + cmp r0, #0x14 + bls _02031F6A + ldrh r1, [r6] + mov r0, #0xf0 + bic r1, r0 + mov r0, #0x30 + orr r0, r1 + strh r0, [r6] + b _02031FDC +_02031F6A: + cmp r0, #7 + ldrh r1, [r6] + bls _02031F7C + mov r0, #0xf0 + bic r1, r0 + mov r0, #0x20 + orr r0, r1 + strh r0, [r6] + b _02031FDC +_02031F7C: + mov r0, #0xf0 + bic r1, r0 + mov r0, #0x10 + orr r0, r1 + strh r0, [r6] + b _02031FDC +_02031F88: + add r1, sp, #4 + add r0, r6, #0 + add r1, #2 + mov r2, #0 + bl sub_02032588 + add r0, r6, #2 + add r1, sp, #8 + mov r2, #1 + bl sub_02032588 + ldr r0, [sp] + cmp r0, #4 + bne _02031FB2 + add r1, sp, #0xc + add r0, r6, #4 + add r1, #2 + mov r2, #2 + bl sub_02032588 + b _02031FDC +_02031FB2: + ldrh r1, [r6, #4] + mov r0, #0xf + bic r1, r0 + mov r0, #5 + orr r0, r1 + strh r0, [r6, #4] + ldrh r1, [r6, #4] + mov r0, #0xf0 + bic r1, r0 + mov r0, #0x10 + orr r0, r1 + strh r0, [r6, #4] + ldrh r1, [r6, #4] + ldr r0, _02031FE4 ; =0xFFFF00FF + and r1, r0 + add r0, sp, #4 + ldrb r0, [r0, #7] + lsl r0, r0, #0x18 + lsr r0, r0, #0x10 + orr r0, r1 + strh r0, [r6, #4] +_02031FDC: + ldr r0, [sp] + strb r0, [r6, #0xc] + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02031FE4: .word 0xFFFF00FF + thumb_func_end sub_02031DA0 + + thumb_func_start sub_02031FE8 +sub_02031FE8: ; 0x02031FE8 + push {r3, lr} + sub sp, #0x10 + add r1, sp, #0 + bl sub_02031DA0 + add r0, sp, #0 + ldrh r0, [r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + cmp r0, #5 + blo _02032000 + mov r0, #5 +_02032000: + add sp, #0x10 + pop {r3, pc} + thumb_func_end sub_02031FE8 + + thumb_func_start sub_02032004 +sub_02032004: ; 0x02032004 + push {r3, lr} + sub sp, #0x10 + add r1, sp, #0 + bl sub_02031DA0 + add r0, sp, #0 + ldrb r1, [r0, #0xc] + cmp r1, #0 + bne _0203201C + add sp, #0x10 + mov r0, #0 + pop {r3, pc} +_0203201C: + ldrb r0, [r0, #6] + add r0, r0, #1 + add sp, #0x10 + pop {r3, pc} + thumb_func_end sub_02032004 + + thumb_func_start sub_02032024 +sub_02032024: ; 0x02032024 + push {r4, lr} + add r4, r0, #0 + ldrb r0, [r4, #9] + cmp r0, #0 + bne _02032032 + mov r0, #0 + pop {r4, pc} +_02032032: + sub r0, r0, #1 + strb r0, [r4, #9] + ldrb r0, [r4, #9] + cmp r0, #0 + bne _02032054 + add r0, r4, #0 + add r0, #0xc + bl sub_02031B5C + mov r0, #0 + str r0, [r4, #0x18] + str r0, [r4, #0x14] + mov r0, #3 + ldr r1, [r4, #0x1c] + lsl r0, r0, #0x1e + and r0, r1 + str r0, [r4, #0x1c] +_02032054: + ldrb r0, [r4, #9] + pop {r4, pc} + thumb_func_end sub_02032024 + + thumb_func_start sub_02032058 +sub_02032058: ; 0x02032058 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldrh r0, [r5, #0xa] + add r4, r1, #0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x1f + bne _0203206C + ldrb r0, [r5, #9] + cmp r0, #0 + beq _020320D8 +_0203206C: + ldr r0, [r5, #0x18] + sub r6, r4, r0 + cmp r6, #0x64 + blo _02032094 + add r0, r6, #0 + mov r1, #0x64 + bl _u32_div_f + add r1, r0, #0 + lsl r1, r1, #0x18 + add r0, r5, #0 + lsr r1, r1, #0x18 + bl sub_02032340 + add r0, r6, #0 + mov r1, #0x64 + bl _u32_div_f + sub r0, r4, r1 + str r0, [r5, #0x18] +_02032094: + ldrh r0, [r5, #0xa] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1f + beq _020320D8 + ldr r1, [r5, #0x1c] + mov r0, #3 + lsl r0, r0, #0x1e + add r2, r1, #0 + and r2, r0 + ldr r0, [r5, #0x14] + sub r1, r4, r0 + ldr r0, _020320DC ; =0x3FFFFFFF + and r0, r1 + orr r0, r2 + str r0, [r5, #0x1c] + lsl r0, r0, #2 + lsr r0, r0, #2 + cmp r0, #0x64 + blo _020320D8 + ldrb r0, [r5, #9] + cmp r0, #0 + beq _020320CA + add r0, r5, #0 + mov r1, #3 + bl sub_02031BEC + b _020320D2 +_020320CA: + add r0, r5, #0 + mov r1, #2 + bl sub_02031BEC +_020320D2: + add r0, r5, #0 + bl sub_02032354 +_020320D8: + pop {r4, r5, r6, pc} + nop +_020320DC: .word 0x3FFFFFFF + thumb_func_end sub_02032058 + + thumb_func_start sub_020320E0 +sub_020320E0: ; 0x020320E0 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + add r5, r1, #0 + add r0, r3, #0 + mov r1, #0x20 + add r6, r2, #0 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x20 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_02028F84 + str r0, [r4] + add r0, r5, #0 + bl PlayerProfile_GetTrainerGender + strb r0, [r4, #4] + add r0, r5, #0 + bl sub_02029088 + strb r0, [r4, #5] + add r0, r5, #0 + bl sub_0202907C + strb r0, [r4, #6] + add r0, r4, #0 + add r0, #8 + mov r1, #8 + bl StringFillEOS + add r0, r5, #0 + bl PlayerProfile_GetNamePtr + add r1, r0, #0 + add r0, r4, #0 + add r0, #8 + mov r2, #7 + bl CopyU16StringArrayN + add r2, r4, #0 + add r0, r7, #0 + mov r1, #8 + add r2, #0x18 + bl sub_02031CEC + ldr r0, _02032154 ; =0x0000FFFF + cmp r6, r0 + bls _0203214C + strh r0, [r4, #0x18] + b _0203214E +_0203214C: + strh r6, [r4, #0x18] +_0203214E: + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_02032154: .word 0x0000FFFF + thumb_func_end sub_020320E0 + + thumb_func_start sub_02032158 +sub_02032158: ; 0x02032158 + push {r3, lr} + ldr r3, [r0] + ldr r2, [r1] + cmp r3, r2 + beq _02032166 + mov r0, #0 + pop {r3, pc} +_02032166: + ldrb r3, [r0, #4] + ldrb r2, [r1, #4] + cmp r3, r2 + beq _02032172 + mov r0, #0 + pop {r3, pc} +_02032172: + ldrb r3, [r0, #6] + ldrb r2, [r1, #6] + cmp r3, r2 + beq _0203217E + mov r0, #0 + pop {r3, pc} +_0203217E: + ldrb r3, [r0, #5] + ldrb r2, [r1, #5] + cmp r3, r2 + beq _0203218A + mov r0, #0 + pop {r3, pc} +_0203218A: + add r0, #8 + add r1, #8 + bl StringNotEqual + cmp r0, #0 + bne _0203219A + mov r0, #1 + pop {r3, pc} +_0203219A: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02032158 + + thumb_func_start sub_020321A0 +sub_020321A0: ; 0x020321A0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + mov r4, #0 + add r5, r0, #0 + str r0, [sp] + add r7, r1, #0 + str r2, [sp, #4] + str r3, [sp, #8] + str r4, [sp, #0x10] + add r5, #0x38 +_020321B4: + add r0, r5, #0 + bl sub_02031D6C + cmp r0, #0 + beq _020321CC + ldr r0, [sp, #0x10] + add r4, r4, #1 + add r0, r0, #1 + add r5, #0x20 + str r0, [sp, #0x10] + cmp r4, #3 + blt _020321B4 +_020321CC: + mov r0, #0 + str r0, [sp, #0xc] + ldr r0, [sp, #4] + cmp r0, #0 + ble _020322A6 +_020321D6: + ldr r1, [sp, #0xc] + ldr r0, [sp, #8] + cmp r1, r0 + beq _02032298 + add r0, r7, #0 + add r0, #0x18 + bl sub_02031D6C + cmp r0, #0 + beq _02032298 + mov r4, #0 + str r4, [sp, #0x14] + ldr r5, [sp] + ldr r6, [sp, #0x14] + add r5, #0x20 +_020321F4: + add r0, r7, #0 + add r1, r5, #0 + bl sub_02032158 + cmp r0, #0 + beq _0203220A + lsl r0, r6, #0x18 + lsr r4, r0, #0x18 + mov r0, #1 + str r0, [sp, #0x14] + b _02032212 +_0203220A: + add r6, r6, #1 + add r5, #0x20 + cmp r6, #3 + blt _020321F4 +_02032212: + ldr r0, [sp, #0x10] + cmp r0, #3 + blt _02032222 + mov r0, #2 + mov ip, r0 + mov r0, #1 + str r0, [sp, #0x14] + b _02032242 +_02032222: + ldr r0, [sp, #0x14] + cmp r0, #0 + beq _02032234 + ldr r0, [sp, #0x10] + sub r0, r0, #1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov ip, r0 + b _02032242 +_02032234: + ldr r0, [sp, #0x10] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov ip, r0 + ldr r0, [sp, #0x10] + add r0, r0, #1 + str r0, [sp, #0x10] +_02032242: + ldr r0, [sp, #0x14] + cmp r0, #0 + beq _0203227C + mov r0, ip + cmp r4, r0 + bhs _0203227C + ldr r0, [sp, #0x10] + sub r6, r0, #1 + cmp r4, r6 + bge _0203227C + ldr r0, [sp] + lsl r1, r4, #5 + add r5, r0, r1 +_0203225C: + add r3, r5, #0 + add r2, r5, #0 + add r3, #0x40 + add r2, #0x20 + add r5, r2, #0 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + add r4, r4, #1 + stmia r2!, {r0, r1} + cmp r4, r6 + blt _0203225C +_0203227C: + mov r0, ip + lsl r1, r0, #5 + ldr r0, [sp] + add r3, r7, #0 + add r2, r0, r1 + add r2, #0x20 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} +_02032298: + ldr r0, [sp, #0xc] + add r7, #0x20 + add r1, r0, #1 + ldr r0, [sp, #4] + str r1, [sp, #0xc] + cmp r1, r0 + blt _020321D6 +_020322A6: + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_020321A0 + + thumb_func_start sub_020322AC +sub_020322AC: ; 0x020322AC + push {r3, r4, r5, r6, r7, lr} + add r7, r2, #0 + add r4, r0, #0 + add r5, r1, #0 + mov r0, #9 + add r1, r7, #0 + bl String_ctor + add r6, r0, #0 + cmp r5, #5 + bge _020322E2 + mov r0, #1 + mov r1, #0x1b + mov r2, #0x15 + add r3, r7, #0 + bl NewMsgDataFromNarc + add r5, #0xe + add r4, r0, #0 + add r1, r5, #0 + add r2, r6, #0 + bl ReadMsgDataIntoString + add r0, r4, #0 + bl DestroyMsgData + b _02032304 +_020322E2: + cmp r5, #8 + bge _02032304 + sub r0, r5, #5 + lsl r0, r0, #0x18 + lsr r5, r0, #0x13 + add r0, r4, #0 + add r0, #0x38 + add r0, r0, r5 + bl sub_02031D6C + cmp r0, #0 + beq _02032304 + add r4, #0x28 + add r0, r6, #0 + add r1, r4, r5 + bl CopyU16ArrayToString +_02032304: + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_020322AC + + thumb_func_start sub_02032308 +sub_02032308: ; 0x02032308 + push {r3, r4, r5, lr} + sub sp, #8 + add r4, r2, #0 + add r2, sp, #0 + bl sub_02031CEC + mov r0, #1 + mov r1, #0x1b + mov r2, #0x15 + add r3, r4, #0 + bl NewMsgDataFromNarc + add r5, r0, #0 + add r0, sp, #0 + bl sub_02032004 + add r1, r0, #0 + add r0, r5, #0 + add r1, #0x13 + bl NewString_ReadMsgData + add r4, r0, #0 + add r0, r5, #0 + bl DestroyMsgData + add r0, r4, #0 + add sp, #8 + pop {r3, r4, r5, pc} + thumb_func_end sub_02032308 + + thumb_func_start sub_02032340 +sub_02032340: ; 0x02032340 + ldrb r2, [r0, #0xe] + add r1, r2, r1 + cmp r1, #0xff + ble _0203234E + mov r1, #0xff + strb r1, [r0, #0xe] + bx lr +_0203234E: + strb r1, [r0, #0xe] + bx lr + .balign 4, 0 + thumb_func_end sub_02032340 + + thumb_func_start sub_02032354 +sub_02032354: ; 0x02032354 + push {r4, r5, r6, r7, lr} + sub sp, #0x3c + str r0, [sp] + ldrh r0, [r0, #0xa] + add r1, sp, #0x34 + add r1, #1 + str r0, [sp, #0x14] + ldr r0, [sp] + add r0, #0xc + bl sub_020324F4 + mov r0, #0 + str r0, [sp, #0x28] +_0203236E: + mov r0, #0 + str r0, [sp, #0x10] + ldr r0, [sp, #0x14] + mov r1, #7 + and r0, r1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + bne _02032380 + b _020324CA +_02032380: + ldr r0, [sp, #0x10] + str r0, [sp, #0x24] + ldr r0, [sp, #0x10] + str r0, [sp, #0x18] + ldr r0, [sp, #0x10] + str r0, [sp, #0x1c] + sub r0, r1, #1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x20] + ldr r0, [sp, #0x10] + add r1, sp, #0x30 +_02032398: + strb r0, [r1] + add r0, r0, #1 + add r1, r1, #1 + cmp r0, #5 + blt _02032398 + mov r0, #0 + add r2, sp, #0x30 + add r7, sp, #0x34 + str r0, [sp, #4] + add r7, #1 + mov ip, r2 +_020323AE: + ldr r0, [sp, #4] + add r1, r0, #1 + cmp r1, #5 + bge _020323DE + mov r0, ip + add r3, r0, r1 +_020323BA: + mov r0, #0 + mov r5, #0 + ldrsb r4, [r3, r0] + ldrsb r5, [r2, r5] + ldrsb r0, [r7, r4] + ldrsb r6, [r7, r5] + cmp r6, r0 + bgt _020323D6 + cmp r6, r0 + bne _020323D2 + cmp r5, r4 + blt _020323D6 +_020323D2: + strb r4, [r2] + strb r5, [r3] +_020323D6: + add r1, r1, #1 + add r3, r3, #1 + cmp r1, #5 + blt _020323BA +_020323DE: + ldr r0, [sp, #4] + add r2, r2, #1 + add r0, r0, #1 + str r0, [sp, #4] + cmp r0, #2 + blt _020323AE + ldr r0, [sp, #0x20] + ldr r2, _020324F0 ; =0x020F68DE + lsl r1, r0, #2 + add r0, r0, r1 + add r1, r2, r0 + add r2, sp, #0x34 + mov r4, #0 + add r3, sp, #0x30 + ldrsb r0, [r3, r4] + add r2, #1 + str r0, [sp, #8] + add r0, r2, r0 + str r0, [sp, #0xc] + mov r0, #1 + ldrsb r7, [r3, r0] + add r0, r2, r7 + str r0, [sp, #0x2c] +_0203240C: + mov r0, #0 + ldrsb r5, [r1, r0] + ldrsb r3, [r2, r0] + add r0, r3, r5 + lsl r0, r0, #0x18 + asr r0, r0, #0x18 + cmp r5, #0 + ble _0203243E + ldr r6, [sp, #0xc] + mov r5, #0 + ldrsb r5, [r6, r5] + cmp r5, #0 + beq _0203243E + ldr r5, [sp, #8] + cmp r5, r4 + beq _0203243E + ldr r5, [sp, #0x2c] + mov r6, #0 + ldrsb r5, [r5, r6] + cmp r5, #0 + beq _0203243E + cmp r7, r4 + beq _0203243E + mov r5, #1 + str r5, [sp, #0x10] +_0203243E: + cmp r0, #0x3f + blt _02032446 + mov r0, #0x3f + b _0203244C +_02032446: + cmp r0, #0 + bge _0203244C + mov r0, #0 +_0203244C: + ldr r5, [sp, #0x20] + cmp r5, #6 + beq _02032456 + cmp r0, r3 + bgt _02032468 +_02032456: + ldr r3, [sp, #0x1c] + cmp r0, r3 + ble _02032468 + lsl r3, r0, #0x18 + lsr r3, r3, #0x18 + str r3, [sp, #0x1c] + lsl r3, r4, #0x18 + lsr r3, r3, #0x18 + str r3, [sp, #0x18] +_02032468: + strb r0, [r2] + ldr r3, [sp, #0x24] + add r4, r4, #1 + add r0, r3, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x24] + add r1, r1, #1 + add r2, r2, #1 + cmp r4, #5 + blt _0203240C + ldr r0, [sp, #0x14] + lsl r0, r0, #0xd + lsr r0, r0, #0x10 + str r0, [sp, #0x14] + ldr r0, [sp, #0x10] + cmp r0, #0 + beq _0203249E + ldr r0, [sp] + ldrb r1, [r0, #0xe] + cmp r1, #0xa + bhs _0203249A + mov r1, #0 + strb r1, [r0, #0xe] + b _0203249E +_0203249A: + sub r1, #0xa + strb r1, [r0, #0xe] +_0203249E: + ldr r0, [sp, #0x20] + cmp r0, #5 + beq _020324BE + ldr r0, [sp, #0x24] + cmp r0, #0x64 + bls _020324BE + add r2, sp, #0x34 + ldr r0, [sp, #0x18] + add r2, #1 + ldrsb r1, [r2, r0] + ldr r0, [sp, #0x24] + sub r0, #0x64 + str r0, [sp, #0x24] + sub r1, r1, r0 + ldr r0, [sp, #0x18] + strb r1, [r2, r0] +_020324BE: + ldr r0, [sp, #0x28] + add r0, r0, #1 + str r0, [sp, #0x28] + cmp r0, #5 + bge _020324CA + b _0203236E +_020324CA: + mov r4, #0 + add r3, sp, #0x34 + add r3, #1 + add r1, r4, #0 +_020324D2: + ldrsb r2, [r3, r1] + ldr r0, [sp] + add r3, r3, #1 + add r0, r0, r4 + add r4, r4, #1 + strb r2, [r0, #0xf] + cmp r4, #5 + blt _020324D2 + ldr r0, [sp] + mov r1, #3 + strb r1, [r0, #9] + mov r1, #0 + strh r1, [r0, #0xa] + add sp, #0x3c + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_020324F0: .word 0x020F68DE + thumb_func_end sub_02032354 + + thumb_func_start sub_020324F4 +sub_020324F4: ; 0x020324F4 + mov r3, #0 +_020324F6: + add r2, r0, r3 + ldrb r2, [r2, #3] + strb r2, [r1, r3] + add r3, r3, #1 + cmp r3, #5 + blt _020324F6 + bx lr + thumb_func_end sub_020324F4 + + thumb_func_start sub_02032504 +sub_02032504: ; 0x02032504 + cmp r1, #0 + bne _0203250C + mov r0, #0 + bx lr +_0203250C: + cmp r0, #0 + beq _0203251A + cmp r0, #1 + beq _0203254A + cmp r0, #2 + beq _0203256A + b _02032582 +_0203251A: + cmp r1, #0x3e + bls _02032522 + mov r0, #6 + bx lr +_02032522: + cmp r1, #0x32 + bls _0203252A + mov r0, #5 + bx lr +_0203252A: + cmp r1, #0x28 + bls _02032532 + mov r0, #4 + bx lr +_02032532: + cmp r1, #0x1e + bls _0203253A + mov r0, #3 + bx lr +_0203253A: + cmp r1, #0x14 + bls _02032542 + mov r0, #2 + bx lr +_02032542: + cmp r1, #0 + beq _02032582 + mov r0, #1 + bx lr +_0203254A: + cmp r1, #0x28 + bls _02032552 + mov r0, #4 + bx lr +_02032552: + cmp r1, #0x1e + bls _0203255A + mov r0, #3 + bx lr +_0203255A: + cmp r1, #0x14 + bls _02032562 + mov r0, #2 + bx lr +_02032562: + cmp r1, #0 + beq _02032582 + mov r0, #1 + bx lr +_0203256A: + cmp r1, #0x14 + bls _02032572 + mov r0, #3 + bx lr +_02032572: + cmp r1, #0xa + bls _0203257A + mov r0, #2 + bx lr +_0203257A: + cmp r1, #0 + beq _02032582 + mov r0, #1 + bx lr +_02032582: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_02032504 + + thumb_func_start sub_02032588 +sub_02032588: ; 0x02032588 + push {r3, r4, r5, lr} + add r4, r0, #0 + ldrh r0, [r4] + ldrb r5, [r1] + mov r3, #0xf + bic r0, r3 + mov r3, #0xf + and r3, r5 + orr r0, r3 + strh r0, [r4] + ldrh r3, [r4] + ldr r0, _020325C8 ; =0xFFFF00FF + and r3, r0 + ldrb r0, [r1, #1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x10 + orr r0, r3 + strh r0, [r4] + lsl r0, r2, #0x18 + ldrb r1, [r1, #1] + lsr r0, r0, #0x18 + bl sub_02032504 + lsl r0, r0, #0x1c + ldrh r2, [r4] + mov r1, #0xf0 + lsr r0, r0, #0x18 + bic r2, r1 + orr r0, r2 + strh r0, [r4] + pop {r3, r4, r5, pc} + nop +_020325C8: .word 0xFFFF00FF + thumb_func_end sub_02032588 + + thumb_func_start sub_020325CC +sub_020325CC: ; 0x020325CC + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x20 + bl MIi_CpuFill8 + add r0, r4, #0 + add r0, #0x18 + bl sub_02031B5C + add r4, #8 + add r0, r4, #0 + mov r1, #8 + bl StringFillEOS + pop {r4, pc} + thumb_func_end sub_020325CC + + thumb_func_start sub_020325EC +sub_020325EC: ; 0x020325EC + ldr r3, _020325F4 ; =SavArray_get + mov r1, #0x27 + bx r3 + nop +_020325F4: .word SavArray_get + thumb_func_end sub_020325EC + + thumb_func_start sub_020325F8 +sub_020325F8: ; 0x020325F8 + mov r0, #0x4d + lsl r0, r0, #2 + bx lr + .balign 4, 0 + thumb_func_end sub_020325F8 + + thumb_func_start sub_02032600 +sub_02032600: ; 0x02032600 + push {r4, lr} + add r4, r0, #0 + mov r2, #0x4d + mov r0, #0 + add r1, r4, #0 + lsl r2, r2, #2 + bl MIi_CpuClearFast + add r0, r4, #0 + mov r1, #0 + bl sub_02032744 + add r0, r4, #0 + mov r1, #1 + bl sub_02032744 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02032600 + + thumb_func_start sub_02032624 +sub_02032624: ; 0x02032624 + push {r3, r4, r5, lr} + mov r1, #0x13 + add r5, r0, #0 + lsl r1, r1, #4 + ldr r4, [r5, r1] + bl sub_02032600 + mov r0, #0x13 + lsl r0, r0, #4 + str r4, [r5, r0] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02032624 + + thumb_func_start sub_0203263C +sub_0203263C: ; 0x0203263C + mov r1, #0x49 + lsl r1, r1, #2 + ldrh r0, [r0, r1] + bx lr + thumb_func_end sub_0203263C + + thumb_func_start sub_02032644 +sub_02032644: ; 0x02032644 + mov r1, #0x49 + lsl r1, r1, #2 + ldrh r2, [r0, r1] + add r2, r2, #1 + strh r2, [r0, r1] + bx lr + thumb_func_end sub_02032644 + + thumb_func_start sub_02032650 +sub_02032650: ; 0x02032650 + mov r3, #0x4a + lsl r3, r3, #2 + str r1, [r0, r3] + add r1, r3, #4 + ldr r1, [r0, r1] + add r2, r1, r2 + add r1, r3, #4 + str r2, [r0, r1] + ldr r1, [r0, r1] + ldr r2, _02032670 ; =0x0098967F + cmp r1, r2 + blo _0203266C + add r1, r3, #4 + str r2, [r0, r1] +_0203266C: + bx lr + nop +_02032670: .word 0x0098967F + thumb_func_end sub_02032650 + + thumb_func_start sub_02032674 +sub_02032674: ; 0x02032674 + push {r3, r4} + mov r3, #0x4a + lsl r3, r3, #2 + ldr r4, [r0, r3] + str r4, [r1] + add r1, r3, #4 + ldr r0, [r0, r1] + str r0, [r2] + pop {r3, r4} + bx lr + thumb_func_end sub_02032674 + + thumb_func_start sub_02032688 +sub_02032688: ; 0x02032688 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + cmp r5, #0 + bne _02032698 + bl GF_AssertFail +_02032698: + ldrh r0, [r5] + strh r0, [r4] + ldrh r0, [r5, #2] + strh r0, [r6] + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_02032688 + + thumb_func_start sub_020326A4 +sub_020326A4: ; 0x020326A4 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + cmp r5, #0 + bne _020326B4 + bl GF_AssertFail +_020326B4: + strh r4, [r5] + strh r6, [r5, #2] + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_020326A4 + + thumb_func_start sub_020326BC +sub_020326BC: ; 0x020326BC + ldr r3, _020326C8 ; =sub_020D48B4 + add r2, r0, #0 + add r0, r1, #0 + add r1, r2, #4 + mov r2, #0x88 + bx r3 + .balign 4, 0 +_020326C8: .word sub_020D48B4 + thumb_func_end sub_020326BC + + thumb_func_start sub_020326CC +sub_020326CC: ; 0x020326CC + ldr r3, _020326D8 ; =MIi_CpuClearFast + add r1, r0, #0 + mov r0, #0 + add r1, r1, #4 + mov r2, #0x88 + bx r3 + .balign 4, 0 +_020326D8: .word MIi_CpuClearFast + thumb_func_end sub_020326CC + + thumb_func_start sub_020326DC +sub_020326DC: ; 0x020326DC + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_020326FC + cmp r0, #0 + beq _020326F8 + add r0, r5, #4 + add r1, r4, #0 + mov r2, #0x88 + bl sub_020D48B4 + mov r0, #1 + pop {r3, r4, r5, pc} +_020326F8: + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_020326DC + + thumb_func_start sub_020326FC +sub_020326FC: ; 0x020326FC + mov r2, #0 +_020326FE: + add r1, r0, r2 + ldrb r1, [r1, #4] + cmp r1, #0 + bne _0203270C + add r2, r2, #1 + cmp r2, #0x88 + blt _020326FE +_0203270C: + cmp r2, #0x88 + bne _02032714 + mov r0, #0 + bx lr +_02032714: + mov r0, #1 + bx lr + thumb_func_end sub_020326FC + + thumb_func_start sub_02032718 +sub_02032718: ; 0x02032718 + add r0, #0xf8 + ldrh r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_02032718 + + thumb_func_start sub_02032720 +sub_02032720: ; 0x02032720 + add r0, #0xf8 + strh r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_02032720 + + thumb_func_start sub_02032728 +sub_02032728: ; 0x02032728 + add r0, #0xfc + bx lr + thumb_func_end sub_02032728 + + thumb_func_start sub_0203272C +sub_0203272C: ; 0x0203272C + cmp r1, #0x20 + blt _02032734 + mov r0, #0 + bx lr +_02032734: + mov r2, #0x13 + lsl r2, r2, #4 + ldr r0, [r0, r2] + add r2, r0, #0 + lsr r2, r1 + mov r0, #1 + and r0, r2 + bx lr + thumb_func_end sub_0203272C + + thumb_func_start sub_02032744 +sub_02032744: ; 0x02032744 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x20 + blt _02032752 + bl GF_AssertFail +_02032752: + mov r0, #0x13 + lsl r0, r0, #4 + mov r1, #1 + ldr r2, [r5, r0] + lsl r1, r4 + orr r1, r2 + str r1, [r5, r0] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02032744 + + thumb_func_start sub_02032764 +sub_02032764: ; 0x02032764 + add r0, #0xfa + ldrh r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_02032764 + + thumb_func_start sub_0203276C +sub_0203276C: ; 0x0203276C + mov r1, #1 + add r0, #0xfa + strh r1, [r0] + bx lr + thumb_func_end sub_0203276C + + thumb_func_start sub_02032774 +sub_02032774: ; 0x02032774 + mov r0, #0xf + lsl r0, r0, #8 + bx lr + .balign 4, 0 + thumb_func_end sub_02032774 + + thumb_func_start sub_0203277C +sub_0203277C: ; 0x0203277C + ldr r3, _02032784 ; =SavArray_get + mov r1, #0x28 + bx r3 + nop +_02032784: .word SavArray_get + thumb_func_end sub_0203277C + + thumb_func_start sub_02032788 +sub_02032788: ; 0x02032788 + push {r4, r5, r6, lr} + mov r2, #0xf + mov r1, #0 + lsl r2, r2, #8 + add r5, r0, #0 + bl MIi_CpuFill8 + mov r6, #6 + mov r4, #0 + lsl r6, r6, #6 +_0203279C: + add r0, r5, #0 + bl sub_020327DC + add r4, r4, #1 + add r5, r5, r6 + cmp r4, #0xa + blt _0203279C + pop {r4, r5, r6, pc} + thumb_func_end sub_02032788 + + thumb_func_start sub_020327AC +sub_020327AC: ; 0x020327AC + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x38 + bl MIi_CpuFill8 + add r4, #0x24 + add r0, r4, #0 + mov r1, #0xa + bl StringFillEOS + pop {r4, pc} + thumb_func_end sub_020327AC + + thumb_func_start sub_020327C4 +sub_020327C4: ; 0x020327C4 + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x30 + bl MIi_CpuFill8 + add r4, #8 + add r0, r4, #0 + mov r1, #8 + bl StringFillEOS + pop {r4, pc} + thumb_func_end sub_020327C4 + + thumb_func_start sub_020327DC +sub_020327DC: ; 0x020327DC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_020327C4 + mov r4, #0 + add r5, #0x30 +_020327E8: + add r0, r5, #0 + bl sub_020327AC + add r4, r4, #1 + add r5, #0x38 + cmp r4, #6 + blt _020327E8 + pop {r3, r4, r5, pc} + thumb_func_end sub_020327DC + + thumb_func_start sub_020327F8 +sub_020327F8: ; 0x020327F8 + ldrh r0, [r0, #0x30] + lsl r0, r0, #0x15 + lsr r0, r0, #0x15 + beq _02032804 + mov r0, #1 + bx lr +_02032804: + mov r0, #0 + bx lr + thumb_func_end sub_020327F8 + + thumb_func_start sub_02032808 +sub_02032808: ; 0x02032808 + push {r3, lr} + ldr r3, [r0] + ldr r2, [r1] + cmp r3, r2 + bne _0203282A + ldrb r3, [r0, #6] + ldrb r2, [r1, #6] + cmp r3, r2 + bne _0203282A + ldrb r3, [r0, #5] + ldrb r2, [r1, #5] + cmp r3, r2 + bne _0203282A + ldrb r3, [r0, #7] + ldrb r2, [r1, #7] + cmp r3, r2 + beq _0203282E +_0203282A: + mov r0, #0 + pop {r3, pc} +_0203282E: + add r0, #8 + add r1, #8 + bl StringNotEqual + cmp r0, #0 + bne _0203283E + mov r0, #1 + pop {r3, pc} +_0203283E: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02032808 + + thumb_func_start sub_02032844 +sub_02032844: ; 0x02032844 + ldr r1, _02032850 ; =0x021D4124 + ldr r2, [r1, #4] + ldr r1, _02032854 ; =0x00001310 + str r0, [r2, r1] + bx lr + nop +_02032850: .word 0x021D4124 +_02032854: .word 0x00001310 + thumb_func_end sub_02032844 + + thumb_func_start sub_02032858 +sub_02032858: ; 0x02032858 + ldr r1, _0203286C ; =0x021D4124 + ldr r3, [r1, #4] + ldr r1, _02032870 ; =0x00001310 + ldr r2, [r3, r1] + sub r2, #9 + cmp r2, #1 + bls _0203286A + add r1, #0x20 + str r0, [r3, r1] +_0203286A: + bx lr + .balign 4, 0 +_0203286C: .word 0x021D4124 +_02032870: .word 0x00001310 + thumb_func_end sub_02032858 + + thumb_func_start sub_02032874 +sub_02032874: ; 0x02032874 + push {r3, lr} + mov r0, #3 + bl sub_02032844 + ldr r1, _0203289C ; =0x021D4124 + ldr r0, _020328A0 ; =sub_020328A4 + ldr r1, [r1, #4] + bl sub_020DF4F8 + cmp r0, #2 + beq _02032898 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + mov r0, #0 + pop {r3, pc} +_02032898: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 +_0203289C: .word 0x021D4124 +_020328A0: .word sub_020328A4 + thumb_func_end sub_02032874 + + thumb_func_start sub_020328A4 +sub_020328A4: ; 0x020328A4 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _020328B8 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r3, pc} +_020328B8: + bl sub_020328C8 + cmp r0, #0 + bne _020328C6 + mov r0, #9 + bl sub_02032844 +_020328C6: + pop {r3, pc} + thumb_func_end sub_020328A4 + + thumb_func_start sub_020328C8 +sub_020328C8: ; 0x020328C8 + push {r4, lr} + ldr r0, _02032924 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032928 ; =0x00001310 + ldr r0, [r1, r0] + sub r0, r0, #4 + cmp r0, #2 + bhi _020328DC + mov r0, #1 + pop {r4, pc} +_020328DC: + bl sub_020DEB24 + add r4, r0, #0 + mov r0, #0x66 + lsl r0, r0, #2 + add r0, r4, r0 + mov r1, #4 + bl sub_020D285C + mov r0, #0x66 + mov r1, #0 + lsl r0, r0, #2 + str r1, [r4, r0] + add r0, r4, r0 + mov r1, #4 + bl DC_FlushRange + ldr r0, _0203292C ; =sub_02032934 + bl sub_020DF680 + cmp r0, #2 + beq _02032910 + bl sub_02032858 + mov r0, #0 + pop {r4, pc} +_02032910: + ldr r2, _02032924 ; =0x021D4124 + ldr r1, _02032930 ; =0x0000132C + ldr r0, [r2, #4] + mov r3, #0 + strh r3, [r0, r1] + ldr r2, [r2, #4] + mov r0, #1 + add r1, r1, #2 + strh r0, [r2, r1] + pop {r4, pc} + .balign 4, 0 +_02032924: .word 0x021D4124 +_02032928: .word 0x00001310 +_0203292C: .word sub_02032934 +_02032930: .word 0x0000132C + thumb_func_end sub_020328C8 + + thumb_func_start sub_02032934 +sub_02032934: ; 0x02032934 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldrh r0, [r5, #0x10] + mov r1, #1 + lsl r1, r0 + lsl r0, r1, #0x10 + lsr r4, r0, #0x10 + ldrh r0, [r5, #2] + cmp r0, #0 + beq _02032954 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r4, r5, r6, pc} +_02032954: + ldrh r0, [r5, #8] + cmp r0, #7 + bgt _0203296C + bge _02032986 + cmp r0, #2 + bgt _02032A24 + cmp r0, #0 + blt _02032A24 + beq _02032A16 + cmp r0, #2 + beq _02032978 + pop {r4, r5, r6, pc} +_0203296C: + cmp r0, #9 + bgt _02032974 + beq _020329F8 + pop {r4, r5, r6, pc} +_02032974: + cmp r0, #0x1a + pop {r4, r5, r6, pc} +_02032978: + ldr r0, _02032A28 ; =0x021D4124 + ldr r2, [r0, #4] + ldr r0, _02032A2C ; =0x00001345 + ldrb r1, [r2, r0] + add r1, r1, #1 + strb r1, [r2, r0] + pop {r4, r5, r6, pc} +_02032986: + ldr r0, _02032A28 ; =0x021D4124 + ldr r2, [r0, #4] + ldr r0, _02032A30 ; =0x00001343 + ldrb r1, [r2, r0] + cmp r1, #1 + beq _020329C4 + sub r0, r0, #1 + ldrb r0, [r2, r0] + cmp r0, #1 + beq _020329C4 + bl sub_02033264 + ldr r1, _02032A28 ; =0x021D4124 + ldr r2, [r1, #4] + ldr r1, _02032A34 ; =0x00001334 + ldrb r1, [r2, r1] + cmp r0, r1 + bge _020329C4 + bl sub_0203993C + ldrb r1, [r5, #0x14] + cmp r1, r0 + bne _020329C4 + add r1, r5, #0 + ldr r0, _02032A38 ; =0x0210F8FC + add r1, #0x15 + mov r2, #3 + bl memcmp + cmp r0, #0 + beq _020329DC +_020329C4: + ldrh r1, [r5, #0x10] + mov r0, #0 + bl sub_020DFA18 + cmp r0, #2 + beq _02032A24 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r4, r5, r6, pc} +_020329DC: + ldr r1, _02032A28 ; =0x021D4124 + ldr r0, _02032A3C ; =0x0000132E + ldr r3, [r1, #4] + ldrh r2, [r3, r0] + orr r2, r4 + strh r2, [r3, r0] + ldr r1, [r1, #4] + sub r0, r0, #6 + ldr r1, [r1, r0] + cmp r1, #0 + beq _02032A24 + ldrh r0, [r5, #0x10] + blx r1 + pop {r4, r5, r6, pc} +_020329F8: + ldr r2, _02032A28 ; =0x021D4124 + ldr r1, _02032A3C ; =0x0000132E + ldr r0, [r2, #4] + mvn r3, r4 + ldrh r6, [r0, r1] + and r3, r6 + strh r3, [r0, r1] + ldr r0, [r2, #4] + sub r1, #0xa + ldr r1, [r0, r1] + cmp r1, #0 + beq _02032A24 + ldrh r0, [r5, #0x10] + blx r1 + pop {r4, r5, r6, pc} +_02032A16: + bl sub_02032A40 + cmp r0, #0 + bne _02032A24 + mov r0, #9 + bl sub_02032844 +_02032A24: + pop {r4, r5, r6, pc} + nop +_02032A28: .word 0x021D4124 +_02032A2C: .word 0x00001345 +_02032A30: .word 0x00001343 +_02032A34: .word 0x00001334 +_02032A38: .word 0x0210F8FC +_02032A3C: .word 0x0000132E + thumb_func_end sub_02032934 + + thumb_func_start sub_02032A40 +sub_02032A40: ; 0x02032A40 + push {r4, lr} + sub sp, #8 + ldr r0, _02032A9C ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032AA0 ; =0x00001310 + ldr r0, [r1, r0] + sub r0, r0, #4 + cmp r0, #2 + bhi _02032A58 + add sp, #8 + mov r0, #1 + pop {r4, pc} +_02032A58: + mov r0, #4 + bl sub_02032844 + ldr r0, _02032A9C ; =0x021D4124 + ldr r2, _02032AA4 ; =0x00001304 + ldr r4, [r0, #4] + ldr r3, _02032AA8 ; =0x00001020 + ldr r0, [r4, r2] + add r2, r2, #4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r2, [r4, r2] + add r1, r4, r3 + lsl r2, r2, #0x10 + sub r3, #0xe0 + ldr r0, _02032AAC ; =sub_02032AB0 + lsr r2, r2, #0x10 + add r3, r4, r3 + bl sub_020DFD14 + cmp r0, #2 + beq _02032A94 + bl sub_02032858 + add sp, #8 + mov r0, #0 + pop {r4, pc} +_02032A94: + mov r0, #1 + add sp, #8 + pop {r4, pc} + nop +_02032A9C: .word 0x021D4124 +_02032AA0: .word 0x00001310 +_02032AA4: .word 0x00001304 +_02032AA8: .word 0x00001020 +_02032AAC: .word sub_02032AB0 + thumb_func_end sub_02032A40 + + thumb_func_start sub_02032AB0 +sub_02032AB0: ; 0x02032AB0 + push {r3, lr} + ldrh r1, [r0, #2] + cmp r1, #0 + beq _02032AC6 + add r0, r1, #0 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r3, pc} +_02032AC6: + ldrh r0, [r0, #4] + sub r0, #0xa + cmp r0, #3 + bhi _02032B00 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02032ADA: ; jump table + .short _02032AE2 - _02032ADA - 2 ; case 0 + .short _02032B00 - _02032ADA - 2 ; case 1 + .short _02032B00 - _02032ADA - 2 ; case 2 + .short _02032B00 - _02032ADA - 2 ; case 3 +_02032AE2: + ldr r0, _02032B04 ; =0x021D4124 + ldr r2, [r0, #4] + ldr r0, _02032B08 ; =0x00001314 + ldr r1, [r2, r0] + cmp r1, #2 + bne _02032AFA + sub r0, r0, #4 + ldr r0, [r2, r0] + cmp r0, #4 + beq _02032AFA + cmp r0, #6 + beq _02032B00 +_02032AFA: + mov r0, #4 + bl sub_02032844 +_02032B00: + pop {r3, pc} + nop +_02032B04: .word 0x021D4124 +_02032B08: .word 0x00001314 + thumb_func_end sub_02032AB0 + + thumb_func_start sub_02032B0C +sub_02032B0C: ; 0x02032B0C + push {r3, lr} + mov r0, #3 + bl sub_02032844 + ldr r0, _02032B2C ; =sub_02032B30 + bl sub_020DFEAC + cmp r0, #2 + beq _02032B26 + bl sub_02032858 + mov r0, #0 + pop {r3, pc} +_02032B26: + mov r0, #1 + pop {r3, pc} + nop +_02032B2C: .word sub_02032B30 + thumb_func_end sub_02032B0C + + thumb_func_start sub_02032B30 +sub_02032B30: ; 0x02032B30 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _02032B42 + bl sub_02032858 + bl sub_02033830 + pop {r3, pc} +_02032B42: + bl sub_02032B50 + cmp r0, #0 + bne _02032B4E + bl sub_02033830 +_02032B4E: + pop {r3, pc} + thumb_func_end sub_02032B30 + + thumb_func_start sub_02032B50 +sub_02032B50: ; 0x02032B50 + push {r3, lr} + ldr r0, _02032B68 ; =sub_02032B6C + bl sub_020DF690 + cmp r0, #2 + beq _02032B64 + bl sub_02032858 + mov r0, #0 + pop {r3, pc} +_02032B64: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 +_02032B68: .word sub_02032B6C + thumb_func_end sub_02032B50 + + thumb_func_start sub_02032B6C +sub_02032B6C: ; 0x02032B6C + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _02032B7A + bl sub_02032858 + pop {r3, pc} +_02032B7A: + mov r0, #1 + bl sub_02032844 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02032B6C + + thumb_func_start sub_02032B84 +sub_02032B84: ; 0x02032B84 + push {r3, r4, r5, r6, r7, lr} + add r7, r2, #0 + ldr r2, _02032C10 ; =0x021D4124 + add r5, r0, #0 + add r4, r1, #0 + mov r3, #2 + ldr r0, [r2, #4] + ldr r1, _02032C14 ; =0x00001308 + lsl r3, r3, #8 + str r3, [r0, r1] + ldr r2, [r2, #4] + mov r0, #0x40 + sub r1, r1, #4 + str r0, [r2, r1] + mov r0, #2 + bl sub_02032844 + ldr r2, _02032C10 ; =0x021D4124 + ldr r1, _02032C18 ; =0x00001256 + ldr r3, [r2, #4] + mov r0, #1 + strh r0, [r3, r1] + add r0, r1, #0 + ldrh r6, [r4, #4] + ldr r3, [r2, #4] + add r0, #0x96 + strh r6, [r3, r0] + add r0, r1, #0 + ldrh r6, [r4, #2] + ldr r3, [r2, #4] + add r0, #0x94 + strh r6, [r3, r0] + add r0, r1, #0 + ldrh r4, [r4] + ldr r3, [r2, #4] + add r0, #0x92 + strh r4, [r3, r0] + add r0, r1, #0 + ldr r3, [r2, #4] + add r0, #0xbe + str r5, [r3, r0] + add r3, r1, #0 + ldr r4, [r2, #4] + mov r0, #0 + add r3, #0xaa + str r0, [r4, r3] + add r3, r1, #0 + ldr r4, [r2, #4] + add r3, #0xb6 + strh r7, [r4, r3] + add r3, r1, #0 + ldr r4, [r2, #4] + add r3, #0x8e + strh r0, [r4, r3] + ldr r2, [r2, #4] + add r1, #0xb8 + mov r0, #1 + strh r0, [r2, r1] + bl sub_02032C84 + cmp r0, #0 + bne _02032C0A + mov r0, #9 + bl sub_02032844 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02032C0A: + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + nop +_02032C10: .word 0x021D4124 +_02032C14: .word 0x00001308 +_02032C18: .word 0x00001256 + thumb_func_end sub_02032B84 + + thumb_func_start sub_02032C1C +sub_02032C1C: ; 0x02032C1C + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r0, #2 + add r4, r1, #0 + add r6, r2, #0 + bl sub_02032844 + ldr r1, _02032C80 ; =0x021D4124 + mov r0, #0x13 + ldr r2, [r1, #4] + lsl r0, r0, #8 + str r5, [r2, r0] + add r2, r0, #0 + ldr r3, [r1, #4] + add r2, #0xc + strh r6, [r3, r2] + add r3, r0, #0 + ldr r5, [r1, #4] + mov r2, #0 + sub r3, #0x1c + strh r2, [r5, r3] + add r3, r0, #0 + ldr r5, [r1, #4] + add r3, #0xe + strh r2, [r5, r3] + add r2, r0, #0 + ldrh r5, [r4, #4] + ldr r3, [r1, #4] + sub r2, #0x14 + strh r5, [r3, r2] + add r2, r0, #0 + ldrh r5, [r4, #2] + ldr r3, [r1, #4] + sub r2, #0x16 + strh r5, [r3, r2] + ldrh r2, [r4] + ldr r1, [r1, #4] + sub r0, #0x18 + strh r2, [r1, r0] + bl sub_02032C84 + cmp r0, #0 + bne _02032C7C + mov r0, #9 + bl sub_02032844 + mov r0, #0 + pop {r4, r5, r6, pc} +_02032C7C: + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 +_02032C80: .word 0x021D4124 + thumb_func_end sub_02032C1C + + thumb_func_start sub_02032C84 +sub_02032C84: ; 0x02032C84 + push {r3, r4, r5, r6, r7, lr} + bl sub_020DEF24 + add r5, r0, #0 + mov r0, #2 + lsl r0, r0, #0xe + cmp r5, r0 + bne _02032CA4 + mov r0, #3 + bl sub_02032858 + mov r0, #1 + bl sub_02039AD8 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02032CA4: + cmp r5, #0 + bne _02032CB8 + mov r0, #0x16 + bl sub_02032858 + mov r0, #1 + bl sub_02039AD8 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02032CB8: + ldr r1, _02032D38 ; =0x021D4124 + ldr r0, _02032D3C ; =0x0000130C + ldr r3, [r1, #4] + ldrh r2, [r3, r0] + cmp r2, #0 + bne _02032CF8 + add r7, r0, #0 + mov r3, #1 + add r2, r3, #0 + sub r7, #0x28 + sub r0, #0x28 +_02032CCE: + ldr r4, [r1, #4] + ldr r6, _02032D40 ; =0x000012E4 + ldrh r6, [r4, r6] + add r6, r6, #1 + strh r6, [r4, r7] + ldr r4, [r1, #4] + ldrh r6, [r4, r0] + cmp r6, #0x10 + bls _02032CE4 + ldr r6, _02032D40 ; =0x000012E4 + strh r3, [r4, r6] +_02032CE4: + ldr r6, [r1, #4] + ldr r4, _02032D40 ; =0x000012E4 + ldrh r4, [r6, r4] + add r6, r2, #0 + sub r4, r4, #1 + lsl r6, r4 + add r4, r5, #0 + tst r4, r6 + bne _02032CFC + b _02032CCE +_02032CF8: + sub r0, #0x28 + strh r2, [r3, r0] +_02032CFC: + bl sub_020DF064 + mov r1, #3 + bl _s32_div_f + ldr r2, _02032D38 ; =0x021D4124 + ldr r1, _02032D44 ; =0x000012E6 + ldr r3, [r2, #4] + strh r0, [r3, r1] + add r0, r1, #0 + ldr r3, [r2, #4] + sub r0, #0xc6 + add r4, r3, r0 + sub r0, r1, #6 + str r4, [r3, r0] + ldr r2, [r2, #4] + sub r1, r1, #6 + ldr r0, _02032D48 ; =sub_02032D4C + add r1, r2, r1 + bl sub_020DF6D0 + cmp r0, #2 + beq _02032D32 + bl sub_02032858 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02032D32: + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + nop +_02032D38: .word 0x021D4124 +_02032D3C: .word 0x0000130C +_02032D40: .word 0x000012E4 +_02032D44: .word 0x000012E6 +_02032D48: .word sub_02032D4C + thumb_func_end sub_02032C84 + + thumb_func_start sub_02032D4C +sub_02032D4C: ; 0x02032D4C + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #2] + cmp r0, #0 + beq _02032D62 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032D62: + ldr r0, _02032E14 ; =0x021D4124 + ldr r2, [r0, #4] + ldr r0, _02032E18 ; =0x00001310 + ldr r1, [r2, r0] + cmp r1, #2 + beq _02032D84 + mov r1, #0 + sub r0, r0, #2 + strh r1, [r2, r0] + bl sub_02032E48 + cmp r0, #0 + bne _02032E10 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032D84: + ldrh r1, [r4, #8] + cmp r1, #3 + beq _02032E10 + cmp r1, #4 + beq _02032E02 + cmp r1, #5 + bne _02032E02 + sub r0, #0xf0 + add r0, r2, r0 + mov r1, #0xc0 + bl sub_020D285C + ldr r0, _02032E14 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032E1C ; =0x00001320 + ldr r2, [r1, r0] + cmp r2, #0 + beq _02032DB8 + ldrh r0, [r4, #0x36] + cmp r0, #8 + blo _02032DB8 + add r1, r4, #0 + add r1, #0x48 + ldrb r1, [r1, #4] + ldr r0, [r4, #0x3c] + blx r2 +_02032DB8: + ldrh r0, [r4, #0x36] + cmp r0, #8 + blo _02032E02 + ldr r0, _02032E14 ; =0x021D4124 + ldr r2, [r4, #0x3c] + ldr r0, [r0, #4] + ldr r1, [r0, #8] + cmp r2, r1 + bne _02032E02 + add r4, #0x43 + ldrb r2, [r4] + mov r1, #3 + and r1, r2 + cmp r1, #1 + bne _02032E02 + mov r1, #0x13 + lsl r1, r1, #8 + ldr r2, [r0, r1] + cmp r2, #0 + beq _02032DE6 + sub r1, #0xe0 + add r0, r0, r1 + blx r2 +_02032DE6: + ldr r0, _02032E14 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032E20 ; =0x0000130E + ldrh r0, [r1, r0] + cmp r0, #0 + beq _02032E02 + bl sub_02032E48 + cmp r0, #0 + bne _02032E10 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032E02: + bl sub_02032C84 + cmp r0, #0 + bne _02032E10 + mov r0, #9 + bl sub_02032844 +_02032E10: + pop {r4, pc} + nop +_02032E14: .word 0x021D4124 +_02032E18: .word 0x00001310 +_02032E1C: .word 0x00001320 +_02032E20: .word 0x0000130E + thumb_func_end sub_02032D4C + + thumb_func_start sub_02032E24 +sub_02032E24: ; 0x02032E24 + push {r3, lr} + ldr r0, _02032E40 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032E44 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #2 + beq _02032E36 + mov r0, #0 + pop {r3, pc} +_02032E36: + mov r0, #3 + bl sub_02032844 + mov r0, #1 + pop {r3, pc} + .balign 4, 0 +_02032E40: .word 0x021D4124 +_02032E44: .word 0x00001310 + thumb_func_end sub_02032E24 + + thumb_func_start sub_02032E48 +sub_02032E48: ; 0x02032E48 + push {r3, lr} + ldr r0, _02032E60 ; =sub_02032E64 + bl sub_020DF90C + cmp r0, #2 + beq _02032E5C + bl sub_02032858 + mov r0, #0 + pop {r3, pc} +_02032E5C: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 +_02032E60: .word sub_02032E64 + thumb_func_end sub_02032E48 + + thumb_func_start sub_02032E64 +sub_02032E64: ; 0x02032E64 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _02032E72 + bl sub_02032858 + pop {r3, pc} +_02032E72: + mov r0, #1 + bl sub_02032844 + ldr r0, _02032E94 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032E98 ; =0x0000130E + ldrh r0, [r1, r0] + cmp r0, #0 + beq _02032E92 + bl sub_02032E9C + cmp r0, #0 + bne _02032E92 + mov r0, #9 + bl sub_02032844 +_02032E92: + pop {r3, pc} + .balign 4, 0 +_02032E94: .word 0x021D4124 +_02032E98: .word 0x0000130E + thumb_func_end sub_02032E64 + + thumb_func_start sub_02032E9C +sub_02032E9C: ; 0x02032E9C + push {lr} + sub sp, #0x24 + ldr r0, _02032EF8 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032EFC ; =0x00001310 + ldr r0, [r1, r0] + sub r0, r0, #4 + cmp r0, #2 + bhi _02032EB4 + add sp, #0x24 + mov r0, #1 + pop {pc} +_02032EB4: + mov r0, #3 + bl sub_02032844 + add r1, sp, #4 + ldr r0, _02032F00 ; =0x0210F8FC + add r1, #1 + mov r2, #3 + bl MIi_CpuCopy8 + bl sub_0203993C + add r1, sp, #4 + strb r0, [r1] + mov r0, #0 + str r0, [sp] + ldr r1, _02032EF8 ; =0x021D4124 + ldr r0, _02032F04 ; =sub_02032F0C + ldr r2, [r1, #4] + ldr r1, _02032F08 ; =0x00001220 + mov r3, #1 + add r1, r2, r1 + add r2, sp, #4 + bl sub_020DF94C + cmp r0, #2 + beq _02032EF2 + bl sub_02032858 + add sp, #0x24 + mov r0, #0 + pop {pc} +_02032EF2: + mov r0, #1 + add sp, #0x24 + pop {pc} + .balign 4, 0 +_02032EF8: .word 0x021D4124 +_02032EFC: .word 0x00001310 +_02032F00: .word 0x0210F8FC +_02032F04: .word sub_02032F0C +_02032F08: .word 0x00001220 + thumb_func_end sub_02032E9C + + thumb_func_start sub_02032F0C +sub_02032F0C: ; 0x02032F0C + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #2] + cmp r0, #0 + beq _02032F58 + bl sub_02032858 + ldrh r0, [r4, #2] + cmp r0, #0xc + bne _02032F28 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032F28: + cmp r0, #0xb + bne _02032F34 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032F34: + cmp r0, #1 + bne _02032F50 + bl sub_02039918 + cmp r0, #0 + beq _02032F48 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032F48: + mov r0, #8 + bl sub_02032844 + pop {r4, pc} +_02032F50: + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032F58: + ldrh r0, [r4, #8] + cmp r0, #8 + beq _02032FBE + cmp r0, #7 + bne _02032F9E + ldr r0, _02032FC0 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02032FC4 ; =0x00001335 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _02032F7C + mov r0, #0x14 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032F7C: + mov r0, #4 + bl sub_02032844 + bl sub_02032FCC + cmp r0, #0 + bne _02032F92 + mov r0, #3 + bl sub_02032844 + pop {r4, pc} +_02032F92: + ldr r0, _02032FC0 ; =0x021D4124 + ldrh r2, [r4, #0xa] + ldr r1, [r0, #4] + ldr r0, _02032FC8 ; =0x0000132C + strh r2, [r1, r0] + pop {r4, pc} +_02032F9E: + cmp r0, #6 + beq _02032FBE + cmp r0, #9 + bne _02032FB4 + mov r0, #0x14 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r4, pc} +_02032FB4: + cmp r0, #0x1a + beq _02032FBE + mov r0, #9 + bl sub_02032844 +_02032FBE: + pop {r4, pc} + .balign 4, 0 +_02032FC0: .word 0x021D4124 +_02032FC4: .word 0x00001335 +_02032FC8: .word 0x0000132C + thumb_func_end sub_02032F0C + + thumb_func_start sub_02032FCC +sub_02032FCC: ; 0x02032FCC + push {r4, lr} + sub sp, #8 + ldr r0, _0203300C ; =0x021D4124 + ldr r2, _02033010 ; =0x00001304 + ldr r4, [r0, #4] + ldr r3, _02033014 ; =0x00001020 + ldr r0, [r4, r2] + add r1, r4, r3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + add r2, r2, #4 + ldr r2, [r4, r2] + sub r3, #0xe0 + lsl r2, r2, #0x10 + ldr r0, _02033018 ; =sub_0203301C + lsr r2, r2, #0x10 + add r3, r4, r3 + bl sub_020DFD14 + cmp r0, #2 + beq _02033006 + bl sub_02032858 + add sp, #8 + mov r0, #0 + pop {r4, pc} +_02033006: + mov r0, #1 + add sp, #8 + pop {r4, pc} + .balign 4, 0 +_0203300C: .word 0x021D4124 +_02033010: .word 0x00001304 +_02033014: .word 0x00001020 +_02033018: .word sub_0203301C + thumb_func_end sub_02032FCC + + thumb_func_start sub_0203301C +sub_0203301C: ; 0x0203301C + push {r3, lr} + ldrh r1, [r0, #2] + cmp r1, #0 + beq _0203303E + cmp r1, #0xf + beq _02033074 + cmp r1, #9 + beq _02033074 + cmp r1, #0xd + beq _02033074 + add r0, r1, #0 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + pop {r3, pc} +_0203303E: + ldrh r0, [r0, #4] + sub r0, #0xa + cmp r0, #3 + bhi _02033074 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02033052: ; jump table + .short _0203305A - _02033052 - 2 ; case 0 + .short _02033074 - _02033052 - 2 ; case 1 + .short _02033074 - _02033052 - 2 ; case 2 + .short _02033074 - _02033052 - 2 ; case 3 +_0203305A: + ldr r0, _02033078 ; =0x021D4124 + ldr r2, [r0, #4] + ldr r0, _0203307C ; =0x00001314 + ldr r1, [r2, r0] + cmp r1, #3 + bne _0203306E + sub r0, r0, #4 + ldr r0, [r2, r0] + cmp r0, #6 + beq _02033074 +_0203306E: + mov r0, #4 + bl sub_02032844 +_02033074: + pop {r3, pc} + nop +_02033078: .word 0x021D4124 +_0203307C: .word 0x00001314 + thumb_func_end sub_0203301C + + thumb_func_start sub_02033080 +sub_02033080: ; 0x02033080 + push {r3, lr} + mov r0, #3 + bl sub_02032844 + ldr r0, _020330A0 ; =sub_020330A4 + bl sub_020DFEAC + cmp r0, #2 + beq _0203309A + bl sub_02032858 + mov r0, #0 + pop {r3, pc} +_0203309A: + mov r0, #1 + pop {r3, pc} + nop +_020330A0: .word sub_020330A4 + thumb_func_end sub_02033080 + + thumb_func_start sub_020330A4 +sub_020330A4: ; 0x020330A4 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _020330B6 + bl sub_02032858 + bl sub_02033858 + pop {r3, pc} +_020330B6: + bl sub_020330C8 + cmp r0, #0 + bne _020330C4 + mov r0, #9 + bl sub_02032844 +_020330C4: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_020330A4 + + thumb_func_start sub_020330C8 +sub_020330C8: ; 0x020330C8 + push {r3, lr} + mov r0, #3 + bl sub_02032844 + ldr r0, _020330EC ; =sub_020330F0 + mov r1, #0 + bl sub_020DFA18 + cmp r0, #2 + beq _020330E8 + bl sub_02032858 + bl sub_02033830 + mov r0, #0 + pop {r3, pc} +_020330E8: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 +_020330EC: .word sub_020330F0 + thumb_func_end sub_020330C8 + + thumb_func_start sub_020330F0 +sub_020330F0: ; 0x020330F0 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _020330FE + bl sub_02032858 + pop {r3, pc} +_020330FE: + mov r0, #1 + bl sub_02032844 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_020330F0 + + thumb_func_start sub_02033108 +sub_02033108: ; 0x02033108 + push {r3, lr} + mov r0, #3 + bl sub_02032844 + ldr r0, _02033128 ; =sub_0203312C + bl sub_020DF480 + cmp r0, #2 + beq _02033122 + bl sub_02032858 + mov r0, #0 + pop {r3, pc} +_02033122: + mov r0, #1 + pop {r3, pc} + nop +_02033128: .word sub_0203312C + thumb_func_end sub_02033108 + + thumb_func_start sub_0203312C +sub_0203312C: ; 0x0203312C + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r4, #2] + cmp r0, #0 + beq _02033144 + mov r0, #9 + bl sub_02032844 + ldrh r0, [r4, #2] + bl sub_02032858 + pop {r4, pc} +_02033144: + mov r0, #1 + bl sub_02032844 + pop {r4, pc} + thumb_func_end sub_0203312C + + thumb_func_start sub_0203314C +sub_0203314C: ; 0x0203314C + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r5, r0, #0 + ldr r0, _02033194 ; =0x021D4124 + add r6, r1, #0 + add r4, r2, #0 + ldr r1, [r0, #4] + mov r0, #0x3d + lsl r0, r0, #6 + ldr r2, _02033198 ; =0x00001304 + add r0, r1, r0 + ldr r1, [r1, r2] + add r7, r3, #0 + bl DC_FlushRange + ldr r0, _0203319C ; =0x0000FFFF + add r1, r7, #0 + str r0, [sp] + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #4] + mov r0, #2 + str r0, [sp, #8] + ldr r0, _020331A0 ; =sub_020331A4 + add r2, r5, #0 + add r3, r6, #0 + bl sub_020DFD7C + cmp r0, #2 + bne _0203318E + add sp, #0xc + mov r0, #1 + pop {r4, r5, r6, r7, pc} +_0203318E: + mov r0, #0 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_02033194: .word 0x021D4124 +_02033198: .word 0x00001304 +_0203319C: .word 0x0000FFFF +_020331A0: .word sub_020331A4 + thumb_func_end sub_0203314C + + thumb_func_start sub_020331A4 +sub_020331A4: ; 0x020331A4 + push {r3, lr} + ldrh r1, [r0, #2] + cmp r1, #0 + beq _020331B8 + cmp r1, #0xf + beq _020331B8 + add r0, r1, #0 + bl sub_02032858 + pop {r3, pc} +_020331B8: + ldr r2, [r0, #0x20] + cmp r2, #0 + beq _020331CA + cmp r1, #0 + bne _020331C6 + mov r0, #1 + b _020331C8 +_020331C6: + mov r0, #0 +_020331C8: + blx r2 +_020331CA: + pop {r3, pc} + thumb_func_end sub_020331A4 + + thumb_func_start sub_020331CC +sub_020331CC: ; 0x020331CC + push {r3, lr} + add r2, r0, #0 + ldrh r0, [r2, #2] + cmp r0, #0 + beq _020331DC + bl sub_02032858 + pop {r3, pc} +_020331DC: + ldr r0, _0203320C ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033210 ; =0x00001318 + ldr r3, [r1, r0] + cmp r3, #0 + beq _02033208 + ldrh r0, [r2, #4] + cmp r0, #0x19 + beq _02033208 + cmp r0, #0x15 + bne _020331FC + ldrh r0, [r2, #0x12] + ldr r1, [r2, #0xc] + ldrh r2, [r2, #0x10] + blx r3 + pop {r3, pc} +_020331FC: + cmp r0, #9 + bne _02033208 + ldrh r0, [r2, #0x12] + mov r1, #0 + add r2, r1, #0 + blx r3 +_02033208: + pop {r3, pc} + nop +_0203320C: .word 0x021D4124 +_02033210: .word 0x00001318 + thumb_func_end sub_020331CC + + thumb_func_start sub_02033214 +sub_02033214: ; 0x02033214 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _02033224 + mov r0, #0xa + bl sub_02032844 + pop {r3, pc} +_02033224: + mov r0, #0 + add r1, r0, #0 + bl sub_0209E248 + mov r0, #0 + bl sub_02032844 + pop {r3, pc} + thumb_func_end sub_02033214 + + thumb_func_start sub_02033234 +sub_02033234: ; 0x02033234 + ldr r1, _0203323C ; =0x021D4124 + ldr r1, [r1, #4] + str r0, [r1, #8] + bx lr + .balign 4, 0 +_0203323C: .word 0x021D4124 + thumb_func_end sub_02033234 + + thumb_func_start sub_02033240 +sub_02033240: ; 0x02033240 + ldr r2, _0203324C ; =0x021D4124 + ldr r3, [r2, #4] + str r0, [r3] + ldr r0, [r2, #4] + strh r1, [r0, #4] + bx lr + .balign 4, 0 +_0203324C: .word 0x021D4124 + thumb_func_end sub_02033240 + + thumb_func_start sub_02033250 +sub_02033250: ; 0x02033250 + ldr r0, _0203325C ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033260 ; =0x0000132E + ldrh r0, [r1, r0] + bx lr + nop +_0203325C: .word 0x021D4124 +_02033260: .word 0x0000132E + thumb_func_end sub_02033250 + + thumb_func_start sub_02033264 +sub_02033264: ; 0x02033264 + push {r3, r4} + ldr r0, _02033290 ; =0x021D4124 + mov r2, #0 + ldr r1, [r0, #4] + ldr r0, _02033294 ; =0x0000132E + add r3, r2, #0 + ldrh r4, [r1, r0] + mov r1, #1 +_02033274: + add r0, r4, #0 + tst r0, r1 + beq _0203327C + add r2, r2, #1 +_0203327C: + lsl r0, r4, #0xf + add r3, r3, #1 + lsr r4, r0, #0x10 + cmp r3, #0x10 + blt _02033274 + lsl r0, r2, #0x10 + lsr r0, r0, #0x10 + pop {r3, r4} + bx lr + nop +_02033290: .word 0x021D4124 +_02033294: .word 0x0000132E + thumb_func_end sub_02033264 + + thumb_func_start sub_02033298 +sub_02033298: ; 0x02033298 + ldr r0, _020332A4 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _020332A8 ; =0x00001310 + ldr r0, [r1, r0] + bx lr + nop +_020332A4: .word 0x021D4124 +_020332A8: .word 0x00001310 + thumb_func_end sub_02033298 + + thumb_func_start sub_020332AC +sub_020332AC: ; 0x020332AC + ldr r0, _020332B8 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _020332BC ; =0x00001330 + ldr r0, [r1, r0] + bx lr + nop +_020332B8: .word 0x021D4124 +_020332BC: .word 0x00001330 + thumb_func_end sub_020332AC + + thumb_func_start sub_020332C0 +sub_020332C0: ; 0x020332C0 + push {r3, r4, r5, lr} + sub sp, #8 + add r0, sp, #0 + bl OS_GetMacAddress + ldr r0, _02033348 ; =0x027FFC3C + ldr r3, [r0] + add r0, sp, #0 + ldrh r2, [r0, #4] + ldrh r1, [r0, #2] + ldrh r0, [r0] + add r0, r0, r3 + add r0, r1, r0 + add r1, r2, r0 + ldr r3, _0203334C ; =0x021D4124 + ldr r2, _02033350 ; =0x00001338 + ldr r0, [r3, #4] + str r1, [r0, r2] + ldr r0, [r3, #4] + ldr r1, _02033354 ; =0x00010DCD + ldr r4, [r0, r2] + add r5, r4, #0 + mul r5, r1 + ldr r1, _02033358 ; =0x00003039 + mov r4, #0 + add r1, r5, r1 + str r1, [r0, r2] + ldr r1, [r3, #4] + add r0, r2, #4 + strh r4, [r1, r0] + ldr r1, [r3, #4] + mov r4, #0x65 + add r0, r2, #6 + strh r4, [r1, r0] + mov r0, #3 + bl sub_02032844 + mov r0, #1 + bl sub_0203335C + cmp r0, #0x18 + bne _0203332C + mov r0, #0x18 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + mov r0, #1 + bl sub_02039AD8 + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, pc} +_0203332C: + cmp r0, #2 + beq _02033340 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, pc} +_02033340: + mov r0, #1 + add sp, #8 + pop {r3, r4, r5, pc} + nop +_02033348: .word 0x027FFC3C +_0203334C: .word 0x021D4124 +_02033350: .word 0x00001338 +_02033354: .word 0x00010DCD +_02033358: .word 0x00003039 + thumb_func_end sub_020332C0 + + thumb_func_start sub_0203335C +sub_0203335C: ; 0x0203335C + push {r4, lr} + add r4, r0, #0 + bl sub_020DEF24 + mov r1, #2 + lsl r1, r1, #0xe + cmp r0, r1 + bne _02033382 + mov r0, #3 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + mov r0, #1 + bl sub_02039AD8 + mov r0, #3 + pop {r4, pc} +_02033382: + cmp r0, #0 + bne _0203339C + mov r0, #0x16 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + mov r0, #1 + bl sub_02039AD8 + mov r0, #0x18 + pop {r4, pc} +_0203339C: + mov r2, #1 + sub r1, r4, #1 + lsl r2, r1 + add r1, r2, #0 + tst r1, r0 + bne _020333C4 + mov r2, #1 +_020333AA: + add r1, r4, #1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r4, #0x10 + bls _020333B8 + mov r0, #0x18 + pop {r4, pc} +_020333B8: + sub r1, r4, #1 + add r3, r2, #0 + lsl r3, r1 + add r1, r3, #0 + tst r1, r0 + beq _020333AA +_020333C4: + ldr r0, _020333D4 ; =sub_020333D8 + add r1, r4, #0 + bl sub_02033454 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r4, pc} + nop +_020333D4: .word sub_020333D8 + thumb_func_end sub_0203335C + + thumb_func_start sub_020333D8 +sub_020333D8: ; 0x020333D8 + push {r3, r4, r5, lr} + ldrh r1, [r0, #2] + cmp r1, #0 + beq _020333F4 + add r0, r1, #0 + bl sub_02032858 + mov r0, #9 + bl sub_02032844 + mov r0, #1 + bl sub_02039AD8 + pop {r3, r4, r5, pc} +_020333F4: + ldr r2, _0203344C ; =0x021D4124 + ldrh r1, [r0, #8] + ldrh r5, [r0, #0xa] + ldr r0, [r2, #4] + ldr r3, _02033450 ; =0x0000133E + ldrh r4, [r0, r3] + cmp r4, r5 + bls _02033414 + strh r5, [r0, r3] + mov r4, #1 + sub r0, r1, #1 + lsl r4, r0 + ldr r2, [r2, #4] + add r0, r3, #2 + strh r4, [r2, r0] + b _02033428 +_02033414: + cmp r4, r5 + bne _02033428 + add r2, r3, #2 + ldrh r5, [r0, r2] + mov r4, #1 + sub r2, r1, #1 + lsl r4, r2 + orr r4, r5 + add r2, r3, #2 + strh r4, [r0, r2] +_02033428: + add r0, r1, #1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203335C + cmp r0, #0x18 + bne _0203343E + mov r0, #7 + bl sub_02032844 + pop {r3, r4, r5, pc} +_0203343E: + cmp r0, #2 + beq _02033448 + mov r0, #9 + bl sub_02032844 +_02033448: + pop {r3, r4, r5, pc} + nop +_0203344C: .word 0x021D4124 +_02033450: .word 0x0000133E + thumb_func_end sub_020333D8 + + thumb_func_start sub_02033454 +sub_02033454: ; 0x02033454 + push {r3, lr} + add r3, r1, #0 + mov r1, #0x1e + str r1, [sp] + mov r1, #3 + mov r2, #0x11 + bl sub_020E0EF4 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02033454 + + thumb_func_start sub_02033468 +sub_02033468: ; 0x02033468 + push {r3, lr} + mov r0, #1 + bl sub_02032844 + ldr r0, _0203348C ; =0x021D4124 + ldr r1, [r0, #4] + mov r0, #0x4d + lsl r0, r0, #6 + ldrh r0, [r1, r0] + bl sub_02033494 + ldr r2, _0203348C ; =0x021D4124 + ldr r1, _02033490 ; =0x0000133C + ldr r3, [r2, #4] + strh r0, [r3, r1] + ldr r0, [r2, #4] + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203348C: .word 0x021D4124 +_02033490: .word 0x0000133C + thumb_func_end sub_02033468 + + thumb_func_start sub_02033494 +sub_02033494: ; 0x02033494 + push {r4, r5, r6, r7} + add r4, r0, #0 + mov r0, #0 + add r3, r0, #0 + add r2, r0, #0 + mov r1, #1 +_020334A0: + add r5, r1, #0 + lsl r5, r2 + tst r5, r4 + beq _020334B4 + add r0, r2, #1 + add r3, r3, #1 + lsl r0, r0, #0x10 + lsl r3, r3, #0x10 + asr r0, r0, #0x10 + lsr r3, r3, #0x10 +_020334B4: + add r2, r2, #1 + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + cmp r2, #0x10 + blt _020334A0 + cmp r3, #1 + bls _02033512 + ldr r5, _02033518 ; =0x021D4124 + ldr r2, _0203351C ; =0x00001338 + ldr r0, [r5, #4] + ldr r1, _02033520 ; =0x00010DCD + ldr r6, [r0, r2] + add r7, r6, #0 + mul r7, r1 + ldr r1, _02033524 ; =0x00003039 + add r1, r7, r1 + str r1, [r0, r2] + ldr r0, [r5, #4] + mov r1, #1 + ldr r0, [r0, r2] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mul r0, r3 + lsl r0, r0, #8 + lsr r2, r0, #0x10 + mov r3, #0 +_020334E8: + add r0, r4, #0 + tst r0, r1 + beq _02033502 + cmp r2, #0 + bne _020334FC + add r0, r3, #1 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + pop {r4, r5, r6, r7} + bx lr +_020334FC: + sub r0, r2, #1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 +_02033502: + lsl r0, r4, #0xf + lsr r4, r0, #0x10 + add r0, r3, #1 + lsl r0, r0, #0x10 + asr r3, r0, #0x10 + cmp r3, #0x10 + blt _020334E8 + mov r0, #0 +_02033512: + pop {r4, r5, r6, r7} + bx lr + nop +_02033518: .word 0x021D4124 +_0203351C: .word 0x00001338 +_02033520: .word 0x00010DCD +_02033524: .word 0x00003039 + thumb_func_end sub_02033494 + + thumb_func_start sub_02033528 +sub_02033528: ; 0x02033528 + push {r4, r5, r6, lr} + lsl r2, r0, #0x1b + lsr r3, r2, #0x1b + beq _02033536 + mov r2, #0x20 + sub r2, r2, r3 + add r0, r0, r2 +_02033536: + ldr r3, _020335AC ; =0x021D4124 + ldr r2, _020335B0 ; =0x00001308 + str r0, [r3, #4] + mov r4, #0 + str r4, [r0, r2] + ldr r5, [r3, #4] + sub r0, r2, #4 + str r4, [r5, r0] + add r0, r2, #0 + ldr r5, [r3, #4] + add r0, #0x10 + str r4, [r5, r0] + add r0, r2, #0 + ldr r5, [r3, #4] + add r0, #0x24 + strh r4, [r5, r0] + add r0, r2, #0 + ldr r5, [r3, #4] + mov r6, #1 + add r0, #0x26 + strh r6, [r5, r0] + add r0, r2, #0 + ldr r5, [r3, #4] + add r0, #0x28 + str r4, [r5, r0] + add r0, r2, #0 + ldr r5, [r3, #4] + add r0, #8 + str r4, [r5, r0] + ldr r0, [r3, #4] + mov r6, #8 + str r4, [r0] + ldr r0, [r3, #4] + strh r4, [r0, #4] + add r0, r2, #0 + ldr r5, [r3, #4] + add r0, #0x14 + str r4, [r5, r0] + add r0, r2, #0 + ldr r5, [r3, #4] + add r0, #0x2c + strb r6, [r5, r0] + add r0, r2, #0 + ldr r5, [r3, #4] + add r0, #0x2d + strb r4, [r5, r0] + ldr r0, [r3, #4] + add r2, #0x3a + strb r4, [r0, r2] + add r0, r1, #0 + bl sub_020335D4 + cmp r0, #0 + bne _020335A6 + add r0, r4, #0 + pop {r4, r5, r6, pc} +_020335A6: + mov r0, #1 + pop {r4, r5, r6, pc} + nop +_020335AC: .word 0x021D4124 +_020335B0: .word 0x00001308 + thumb_func_end sub_02033528 + + thumb_func_start sub_020335B4 +sub_020335B4: ; 0x020335B4 + mov r0, #0x4e + lsl r0, r0, #6 + bx lr + .balign 4, 0 + thumb_func_end sub_020335B4 + + thumb_func_start sub_020335BC +sub_020335BC: ; 0x020335BC + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #8 + bne _020335D0 + mov r0, #9 + bl sub_02032844 + mov r0, #0x19 + bl sub_02032858 +_020335D0: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_020335BC + + thumb_func_start sub_020335D4 +sub_020335D4: ; 0x020335D4 + push {r4, lr} + add r4, r0, #0 + mov r0, #3 + bl sub_02032844 + cmp r4, #1 + bne _020335F2 + ldr r0, _02033618 ; =0x021D4124 + ldr r1, _0203361C ; =sub_02033620 + ldr r0, [r0, #4] + mov r2, #2 + add r0, #0x40 + bl sub_020DF3F8 + b _02033602 +_020335F2: + ldr r0, _02033618 ; =0x021D4124 + ldr r1, _0203361C ; =sub_02033620 + ldr r0, [r0, #4] + mov r2, #2 + add r0, #0x40 + mov r3, #0 + bl sub_020DF408 +_02033602: + cmp r0, #2 + beq _02033614 + bl sub_02032858 + mov r0, #0xa + bl sub_02032844 + mov r0, #0 + pop {r4, pc} +_02033614: + mov r0, #1 + pop {r4, pc} + .balign 4, 0 +_02033618: .word 0x021D4124 +_0203361C: .word sub_02033620 + thumb_func_end sub_020335D4 + + thumb_func_start sub_02033620 +sub_02033620: ; 0x02033620 + push {r3, lr} + ldrh r0, [r0, #2] + cmp r0, #0 + beq _0203363A + bl sub_02032858 + mov r0, #0xa + bl sub_02032844 + mov r0, #5 + bl sub_02039AD8 + pop {r3, pc} +_0203363A: + ldr r0, _02033660 ; =sub_020335BC + bl sub_020DEBA8 + cmp r0, #0 + beq _02033656 + bl sub_02032858 + mov r0, #0xa + bl sub_02032844 + mov r0, #5 + bl sub_02039AD8 + pop {r3, pc} +_02033656: + mov r0, #1 + bl sub_02032844 + pop {r3, pc} + nop +_02033660: .word sub_020335BC + thumb_func_end sub_02033620 + + thumb_func_start sub_02033664 +sub_02033664: ; 0x02033664 + bx lr + .balign 4, 0 + thumb_func_end sub_02033664 + + thumb_func_start sub_02033668 +sub_02033668: ; 0x02033668 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + add r4, r3, #0 + bl sub_0203993C + bl sub_020340C4 + cmp r0, #0 + beq _0203368C + ldr r0, _0203372C ; =sub_02033664 + mov r2, #0x64 + ldr r1, _02033730 ; =0x0000FFFF + mov r3, #5 + str r2, [sp] + bl sub_020E0E94 +_0203368C: + ldr r1, _02033734 ; =0x021D4124 + mov r0, #7 + ldr r2, [r1, #4] + ldr r1, _02033738 ; =0x00001308 + lsl r0, r0, #6 + str r0, [r2, r1] + ldr r0, _02033734 ; =0x021D4124 + mov r3, #0xe0 + ldr r2, [r0, #4] + sub r0, r1, #4 + str r3, [r2, r0] + ldr r0, _02033734 ; =0x021D4124 + add r1, #0xc + ldr r0, [r0, #4] + str r5, [r0, r1] + mov r0, #3 + bl sub_02032844 + ldr r1, _02033734 ; =0x021D4124 + cmp r5, #0 + ldr r0, [r1, #4] + strh r6, [r0, #0xc] + ldr r0, [r1, #4] + strh r7, [r0, #0x32] + add r0, sp, #8 + ldrh r2, [r0, #0x10] + ldr r0, [r1, #4] + strh r2, [r0, #0x18] + beq _020336CC + cmp r5, #4 + beq _020336E6 + b _020336F2 +_020336CC: + ldr r0, [r1, #4] + mov r2, #0xc0 + strh r2, [r0, #0x34] + cmp r4, #5 + blo _020336DE + ldr r0, [r1, #4] + mov r2, #0xc + strh r2, [r0, #0x36] + b _020336F2 +_020336DE: + ldr r0, [r1, #4] + mov r2, #0x26 + strh r2, [r0, #0x36] + b _020336F2 +_020336E6: + ldr r0, [r1, #4] + mov r2, #0x64 + strh r2, [r0, #0x34] + ldr r0, [r1, #4] + mov r2, #0xc + strh r2, [r0, #0x36] +_020336F2: + ldr r1, _02033734 ; =0x021D4124 + ldr r0, [r1, #4] + strh r4, [r0, #0x10] + ldr r2, [r1, #4] + mov r0, #0 + strh r0, [r2, #0x16] + ldr r2, [r1, #4] + cmp r5, #2 + strh r0, [r2, #0x12] + ldr r2, [sp, #0x1c] + ldr r1, [r1, #4] + strh r2, [r1, #0xe] + bne _0203370E + mov r0, #1 +_0203370E: + ldr r1, _02033734 ; =0x021D4124 + cmp r5, #0 + ldr r1, [r1, #4] + strh r0, [r1, #0x14] + beq _02033720 + cmp r5, #2 + beq _02033720 + cmp r5, #4 + bne _02033726 +_02033720: + bl sub_02032874 + pop {r3, r4, r5, r6, r7, pc} +_02033726: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203372C: .word sub_02033664 +_02033730: .word 0x0000FFFF +_02033734: .word 0x021D4124 +_02033738: .word 0x00001308 + thumb_func_end sub_02033668 + + thumb_func_start sub_0203373C +sub_0203373C: ; 0x0203373C + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r5, r0, #0 + add r4, r1, #0 + bl sub_0203993C + bl sub_020340C4 + cmp r0, #0 + beq _0203375E + ldr r0, _020337BC ; =sub_02033664 + mov r2, #0x64 + ldr r1, _020337C0 ; =0x0000FFFF + mov r3, #5 + str r2, [sp] + bl sub_020E0E94 +_0203375E: + ldr r2, _020337C4 ; =0x021D4124 + mov r3, #2 + ldr r0, [r2, #4] + ldr r1, _020337C8 ; =0x00001308 + lsl r3, r3, #8 + str r3, [r0, r1] + sub r0, r1, #4 + ldr r3, [r2, #4] + mov r6, #0x40 + str r6, [r3, r0] + ldr r0, [r2, #4] + add r1, #0xc + str r5, [r0, r1] + mov r0, #3 + bl sub_02032844 + cmp r5, #1 + beq _0203378A + cmp r5, #3 + beq _0203378A + cmp r5, #5 + bne _020337B4 +_0203378A: + ldr r1, _020337C4 ; =0x021D4124 + add r0, r4, #0 + ldr r2, [r1, #4] + ldr r1, _020337CC ; =0x00001220 + add r1, r2, r1 + mov r2, #0xc0 + bl MIi_CpuCopy8 + ldr r0, _020337C4 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _020337CC ; =0x00001220 + add r0, r1, r0 + mov r1, #0xc0 + bl DC_FlushRange + bl sub_020D28B8 + bl sub_02032E9C + add sp, #4 + pop {r3, r4, r5, r6, pc} +_020337B4: + mov r0, #0 + add sp, #4 + pop {r3, r4, r5, r6, pc} + nop +_020337BC: .word sub_02033664 +_020337C0: .word 0x0000FFFF +_020337C4: .word 0x021D4124 +_020337C8: .word 0x00001308 +_020337CC: .word 0x00001220 + thumb_func_end sub_0203373C + + thumb_func_start sub_020337D0 +sub_020337D0: ; 0x020337D0 + push {r3, lr} + ldr r2, _020337F4 ; =0x021D4124 + ldr r3, [r2, #4] + ldr r2, _020337F8 ; =0x00001318 + str r0, [r3, r2] + lsl r0, r1, #0x10 + ldr r1, _020337FC ; =sub_020331CC + lsr r0, r0, #0x10 + mov r2, #0 + bl sub_020DEBEC + cmp r0, #0 + beq _020337F2 + mov r0, #9 + bl sub_02032844 +_020337F0: + b _020337F0 +_020337F2: + pop {r3, pc} + .balign 4, 0 +_020337F4: .word 0x021D4124 +_020337F8: .word 0x00001318 +_020337FC: .word sub_020331CC + thumb_func_end sub_020337D0 + + thumb_func_start sub_02033800 +sub_02033800: ; 0x02033800 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + add r7, r3, #0 + bl sub_020338F4 + cmp r0, #0 + bne _02033820 + bl sub_02033250 + mov r1, #0xfe + tst r0, r1 + bne _02033820 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02033820: + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + add r3, r7, #0 + bl sub_0203314C + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02033800 + + thumb_func_start sub_02033830 +sub_02033830: ; 0x02033830 + push {r3, lr} + ldr r0, _02033850 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033854 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #2 + bne _02033840 +_0203383E: + b _0203383E +_02033840: + bl sub_02033108 + cmp r0, #0 + bne _0203384E + mov r0, #0xa + bl sub_02032844 +_0203384E: + pop {r3, pc} + .balign 4, 0 +_02033850: .word 0x021D4124 +_02033854: .word 0x00001310 + thumb_func_end sub_02033830 + + thumb_func_start sub_02033858 +sub_02033858: ; 0x02033858 + push {r3, lr} + ldr r0, _020338C4 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _020338C8 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #1 + beq _020338C2 + cmp r0, #6 + beq _0203387E + cmp r0, #5 + beq _0203387E + cmp r0, #4 + beq _0203387E + mov r0, #3 + bl sub_02032844 + bl sub_02033830 + pop {r3, pc} +_0203387E: + mov r0, #3 + bl sub_02032844 + ldr r0, _020338C4 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _020338CC ; =0x00001314 + ldr r0, [r1, r0] + cmp r0, #5 + bhi _020338C2 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203389C: ; jump table + .short _020338B6 - _0203389C - 2 ; case 0 + .short _020338A8 - _0203389C - 2 ; case 1 + .short _020338C2 - _0203389C - 2 ; case 2 + .short _020338C2 - _0203389C - 2 ; case 3 + .short _020338B6 - _0203389C - 2 ; case 4 + .short _020338A8 - _0203389C - 2 ; case 5 +_020338A8: + bl sub_02033080 + cmp r0, #0 + bne _020338C2 + bl sub_02033830 + pop {r3, pc} +_020338B6: + bl sub_02032B0C + cmp r0, #0 + bne _020338C2 + bl sub_02033830 +_020338C2: + pop {r3, pc} + .balign 4, 0 +_020338C4: .word 0x021D4124 +_020338C8: .word 0x00001310 +_020338CC: .word 0x00001314 + thumb_func_end sub_02033858 + + thumb_func_start sub_020338D0 +sub_020338D0: ; 0x020338D0 + push {r3, lr} + mov r0, #3 + bl sub_02032844 + ldr r0, _020338F0 ; =sub_02033214 + bl sub_020DF4B8 + cmp r0, #2 + beq _020338EC + mov r0, #9 + bl sub_02032844 + mov r0, #0 + pop {r3, pc} +_020338EC: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 +_020338F0: .word sub_02033214 + thumb_func_end sub_020338D0 + + thumb_func_start sub_020338F4 +sub_020338F4: ; 0x020338F4 + ldr r0, _02033900 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033904 ; =0x0000132C + ldrh r0, [r1, r0] + bx lr + nop +_02033900: .word 0x021D4124 +_02033904: .word 0x0000132C + thumb_func_end sub_020338F4 + + thumb_func_start sub_02033908 +sub_02033908: ; 0x02033908 + ldr r1, _02033918 ; =0x021D4124 + ldr r2, [r1, #4] + cmp r2, #0 + beq _02033914 + ldr r1, _0203391C ; =0x00001334 + strb r0, [r2, r1] +_02033914: + bx lr + nop +_02033918: .word 0x021D4124 +_0203391C: .word 0x00001334 + thumb_func_end sub_02033908 + + thumb_func_start sub_02033920 +sub_02033920: ; 0x02033920 + ldr r0, _02033934 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033938 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #1 + bne _02033930 + mov r0, #1 + bx lr +_02033930: + mov r0, #0 + bx lr + .balign 4, 0 +_02033934: .word 0x021D4124 +_02033938: .word 0x00001310 + thumb_func_end sub_02033920 + + thumb_func_start sub_0203393C +sub_0203393C: ; 0x0203393C + ldr r0, _02033950 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033954 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #3 + bne _0203394C + mov r0, #1 + bx lr +_0203394C: + mov r0, #0 + bx lr + .balign 4, 0 +_02033950: .word 0x021D4124 +_02033954: .word 0x00001310 + thumb_func_end sub_0203393C + + thumb_func_start sub_02033958 +sub_02033958: ; 0x02033958 + ldr r0, _0203396C ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033970 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #9 + bne _02033968 + mov r0, #1 + bx lr +_02033968: + mov r0, #0 + bx lr + .balign 4, 0 +_0203396C: .word 0x021D4124 +_02033970: .word 0x00001310 + thumb_func_end sub_02033958 + + thumb_func_start sub_02033974 +sub_02033974: ; 0x02033974 + ldr r0, _02033988 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _0203398C ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0xa + bne _02033984 + mov r0, #1 + bx lr +_02033984: + mov r0, #0 + bx lr + .balign 4, 0 +_02033988: .word 0x021D4124 +_0203398C: .word 0x00001310 + thumb_func_end sub_02033974 + + thumb_func_start sub_02033990 +sub_02033990: ; 0x02033990 + ldr r0, _020339AC ; =0x021D4124 + ldr r1, [r0, #4] + cmp r1, #0 + beq _020339A8 + ldr r0, _020339B0 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #2 + bne _020339A4 + mov r0, #1 + bx lr +_020339A4: + mov r0, #0 + bx lr +_020339A8: + mov r0, #0 + bx lr + .balign 4, 0 +_020339AC: .word 0x021D4124 +_020339B0: .word 0x00001310 + thumb_func_end sub_02033990 + + thumb_func_start sub_020339B4 +sub_020339B4: ; 0x020339B4 + push {r4, r5, r6, lr} + sub sp, #8 + add r6, r0, #0 + ldr r0, _020339E8 ; =0x021D4124 + add r5, r1, #0 + ldr r1, [r0, #4] + ldr r0, _020339EC ; =0x00001310 + add r4, r2, #0 + ldr r0, [r1, r0] + cmp r0, #4 + bne _020339E2 + lsl r0, r3, #0x10 + lsr r0, r0, #0x10 + str r0, [sp] + mov r0, #1 + lsl r2, r5, #0x10 + str r0, [sp, #4] + mov r0, #0 + add r1, r6, #0 + lsr r2, r2, #0x10 + add r3, r4, #0 + bl sub_020E0D8C +_020339E2: + add sp, #8 + pop {r4, r5, r6, pc} + nop +_020339E8: .word 0x021D4124 +_020339EC: .word 0x00001310 + thumb_func_end sub_020339B4 + + thumb_func_start sub_020339F0 +sub_020339F0: ; 0x020339F0 + ldrh r0, [r0, #2] + cmp r0, #0 + bne _02033A00 + ldr r0, _02033A04 ; =0x021D4124 + mov r2, #1 + ldr r1, [r0, #4] + ldr r0, _02033A08 ; =0x00001344 + strb r2, [r1, r0] +_02033A00: + bx lr + nop +_02033A04: .word 0x021D4124 +_02033A08: .word 0x00001344 + thumb_func_end sub_020339F0 + + thumb_func_start sub_02033A0C +sub_02033A0C: ; 0x02033A0C + push {r4, lr} + ldr r2, _02033A38 ; =0x021D4124 + add r1, r0, #0 + ldr r3, [r2, #4] + ldr r0, _02033A3C ; =0x00001344 + mov r4, #0 + strb r4, [r3, r0] + ldr r2, [r2, #4] + sub r0, #0x34 + ldr r0, [r2, r0] + cmp r0, #4 + bne _02033A32 + ldr r0, _02033A40 ; =sub_020339F0 + bl sub_020E0F6C + cmp r0, #2 + bne _02033A32 + mov r0, #1 + pop {r4, pc} +_02033A32: + mov r0, #0 + pop {r4, pc} + nop +_02033A38: .word 0x021D4124 +_02033A3C: .word 0x00001344 +_02033A40: .word sub_020339F0 + thumb_func_end sub_02033A0C + + thumb_func_start sub_02033A44 +sub_02033A44: ; 0x02033A44 + ldr r0, _02033A60 ; =0x021D4124 + ldr r1, [r0, #4] + cmp r1, #0 + beq _02033A5C + ldr r0, _02033A64 ; =0x00001345 + ldrb r0, [r1, r0] + cmp r0, #6 + blo _02033A58 + mov r0, #1 + bx lr +_02033A58: + mov r0, #0 + bx lr +_02033A5C: + mov r0, #0 + bx lr + .balign 4, 0 +_02033A60: .word 0x021D4124 +_02033A64: .word 0x00001345 + thumb_func_end sub_02033A44 + + thumb_func_start sub_02033A68 +sub_02033A68: ; 0x02033A68 + ldr r0, _02033A74 ; =0x021D4124 + mov r2, #0 + ldr r1, [r0, #4] + ldr r0, _02033A78 ; =0x00001345 + strb r2, [r1, r0] + bx lr + .balign 4, 0 +_02033A74: .word 0x021D4124 +_02033A78: .word 0x00001345 + thumb_func_end sub_02033A68 + + thumb_func_start sub_02033A7C +sub_02033A7C: ; 0x02033A7C + ldr r1, _02033A88 ; =0x021D4124 + ldr r2, [r1, #4] + ldr r1, _02033A8C ; =0x00001320 + str r0, [r2, r1] + bx lr + nop +_02033A88: .word 0x021D4124 +_02033A8C: .word 0x00001320 + thumb_func_end sub_02033A7C + + thumb_func_start sub_02033A90 +sub_02033A90: ; 0x02033A90 + ldr r1, _02033A9C ; =0x021D4124 + ldr r2, [r1, #4] + ldr r1, _02033AA0 ; =0x00001328 + str r0, [r2, r1] + bx lr + nop +_02033A9C: .word 0x021D4124 +_02033AA0: .word 0x00001328 + thumb_func_end sub_02033A90 + + thumb_func_start sub_02033AA4 +sub_02033AA4: ; 0x02033AA4 + ldr r1, _02033AB0 ; =0x021D4124 + ldr r2, [r1, #4] + ldr r1, _02033AB4 ; =0x00001342 + strb r0, [r2, r1] + bx lr + nop +_02033AB0: .word 0x021D4124 +_02033AB4: .word 0x00001342 + thumb_func_end sub_02033AA4 + + thumb_func_start sub_02033AB8 +sub_02033AB8: ; 0x02033AB8 + ldr r0, _02033AC4 ; =0x021D4124 + ldr r1, [r0, #4] + ldr r0, _02033AC8 ; =0x00001342 + ldrb r0, [r1, r0] + bx lr + nop +_02033AC4: .word 0x021D4124 +_02033AC8: .word 0x00001342 + thumb_func_end sub_02033AB8 + + thumb_func_start sub_02033ACC +sub_02033ACC: ; 0x02033ACC + ldr r1, _02033AD8 ; =0x021D4124 + ldr r2, [r1, #4] + ldr r1, _02033ADC ; =0x00001343 + strb r0, [r2, r1] + bx lr + nop +_02033AD8: .word 0x021D4124 +_02033ADC: .word 0x00001343 + thumb_func_end sub_02033ACC + + thumb_func_start sub_02033AE0 +sub_02033AE0: ; 0x02033AE0 + str r1, [r0] + strh r2, [r0, #0xa] + mov r1, #0 + strh r1, [r0, #4] + strh r1, [r0, #6] + strh r1, [r0, #8] + bx lr + .balign 4, 0 + thumb_func_end sub_02033AE0 + + thumb_func_start sub_02033AF0 +sub_02033AF0: ; 0x02033AF0 + push {r3, r4, r5, r6, r7, lr} + str r2, [sp] + add r5, r0, #0 + add r7, r1, #0 + bl sub_02033BF4 + ldr r1, [sp] + cmp r0, r1 + bgt _02033B08 + bl sub_02037974 + pop {r3, r4, r5, r6, r7, pc} +_02033B08: + mov r0, #8 + ldrsh r4, [r5, r0] + ldrsh r1, [r5, r0] + ldr r0, [sp] + mov r6, #0 + add r0, r1, r0 + cmp r4, r0 + bge _02033B3E +_02033B18: + cmp r7, #0 + bne _02033B20 + bl GF_AssertFail +_02033B20: + add r0, r5, #0 + add r1, r4, #0 + bl sub_02033C14 + ldrb r2, [r7, r6] + ldr r1, [r5] + add r4, r4, #1 + strb r2, [r1, r0] + mov r0, #8 + ldrsh r1, [r5, r0] + ldr r0, [sp] + add r6, r6, #1 + add r0, r1, r0 + cmp r4, r0 + blt _02033B18 +_02033B3E: + add r0, r5, #0 + add r1, r4, #0 + bl sub_02033C14 + strh r0, [r5, #8] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02033AF0 + + thumb_func_start sub_02033B4C +sub_02033B4C: ; 0x02033B4C + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02033B78 + mov r1, #4 + add r4, r0, #0 + ldrsh r1, [r5, r1] + add r0, r5, #0 + add r1, r1, r4 + bl sub_02033C14 + strh r0, [r5, #4] + add r0, r4, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_02033B4C + + thumb_func_start sub_02033B68 +sub_02033B68: ; 0x02033B68 + push {r3, lr} + add r1, sp, #0 + mov r2, #1 + bl sub_02033B4C + add r0, sp, #0 + ldrb r0, [r0] + pop {r3, pc} + thumb_func_end sub_02033B68 + + thumb_func_start sub_02033B78 +sub_02033B78: ; 0x02033B78 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + mov r0, #4 + ldrsh r4, [r5, r0] + add r7, r2, #0 + str r1, [sp] + add r0, r4, r7 + mov r6, #0 + cmp r4, r0 + bge _02033BBE +_02033B8C: + add r0, r5, #0 + add r1, r4, #0 + bl sub_02033C14 + mov r1, #6 + ldrsh r1, [r5, r1] + cmp r1, r0 + bne _02033BA0 + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} +_02033BA0: + add r0, r5, #0 + add r1, r4, #0 + bl sub_02033C14 + ldr r1, [r5] + add r4, r4, #1 + ldrb r1, [r1, r0] + ldr r0, [sp] + strb r1, [r0, r6] + mov r0, #4 + ldrsh r0, [r5, r0] + add r6, r6, #1 + add r0, r0, r7 + cmp r4, r0 + blt _02033B8C +_02033BBE: + add r0, r6, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02033B78 + + thumb_func_start sub_02033BC4 +sub_02033BC4: ; 0x02033BC4 + mov r1, #4 + mov r3, #6 + ldrsh r1, [r0, r1] + ldrsh r2, [r0, r3] + cmp r1, r2 + ble _02033BDC + mov r2, #0xa + ldrsh r2, [r0, r2] + ldrsh r0, [r0, r3] + add r0, r2, r0 + sub r0, r0, r1 + bx lr +_02033BDC: + ldrsh r0, [r0, r3] + sub r0, r0, r1 + bx lr + .balign 4, 0 + thumb_func_end sub_02033BC4 + + thumb_func_start sub_02033BE4 +sub_02033BE4: ; 0x02033BE4 + push {r4, lr} + add r4, r0, #0 + bl sub_02033BC4 + mov r1, #0xa + ldrsh r1, [r4, r1] + sub r0, r1, r0 + pop {r4, pc} + thumb_func_end sub_02033BE4 + + thumb_func_start sub_02033BF4 +sub_02033BF4: ; 0x02033BF4 + mov r1, #4 + mov r2, #8 + ldrsh r3, [r0, r1] + ldrsh r1, [r0, r2] + cmp r3, r1 + ble _02033C06 + ldrsh r0, [r0, r2] + sub r0, r3, r0 + bx lr +_02033C06: + mov r1, #0xa + ldrsh r1, [r0, r1] + ldrsh r0, [r0, r2] + sub r0, r0, r3 + sub r0, r1, r0 + bx lr + .balign 4, 0 + thumb_func_end sub_02033BF4 + + thumb_func_start sub_02033C14 +sub_02033C14: ; 0x02033C14 + push {r3, lr} + add r2, r0, #0 + add r0, r1, #0 + mov r1, #0xa + ldrsh r1, [r2, r1] + bl _s32_div_f + add r0, r1, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02033C14 + + thumb_func_start sub_02033C28 +sub_02033C28: ; 0x02033C28 + mov r1, #8 + ldrsh r1, [r0, r1] + strh r1, [r0, #6] + bx lr + thumb_func_end sub_02033C28 + + thumb_func_start sub_02033C30 +sub_02033C30: ; 0x02033C30 + ldr r3, [r0, #0x1c] + mov r2, #0 + ldr r1, [r0, #0x18] + cmp r3, #0 + ble _02033C4C +_02033C3A: + ldrb r0, [r1, #0xe] + cmp r0, #0 + bne _02033C44 + add r0, r1, #0 + bx lr +_02033C44: + add r2, r2, #1 + add r1, #0x10 + cmp r2, r3 + blt _02033C3A +_02033C4C: + mov r0, #0 + bx lr + thumb_func_end sub_02033C30 + + thumb_func_start sub_02033C50 +sub_02033C50: ; 0x02033C50 + ldr r3, [r0, #0x1c] + mov r2, #0 + ldr r1, [r0, #0x18] + cmp r3, #0 + ble _02033C6C +_02033C5A: + ldrb r0, [r1, #0xe] + cmp r0, #0 + beq _02033C64 + mov r0, #0 + bx lr +_02033C64: + add r2, r2, #1 + add r1, #0x10 + cmp r2, r3 + blt _02033C5A +_02033C6C: + mov r0, #1 + bx lr + thumb_func_end sub_02033C50 + + thumb_func_start sub_02033C70 +sub_02033C70: ; 0x02033C70 + ldr r1, [r0] + cmp r1, #0 + beq _02033C8E + ldr r1, [r1, #8] + cmp r1, #0 + beq _02033C84 + str r1, [r0] + mov r0, #0 + str r0, [r1, #4] + b _02033C8A +_02033C84: + mov r1, #0 + str r1, [r0] + str r1, [r0, #4] +_02033C8A: + mov r0, #1 + bx lr +_02033C8E: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_02033C70 + + thumb_func_start sub_02033C94 +sub_02033C94: ; 0x02033C94 + ldr r2, [r0] + strb r1, [r2] + ldr r1, [r0] + add r1, r1, #1 + str r1, [r0] + ldr r1, [r0, #4] + sub r1, r1, #1 + str r1, [r0, #4] + bne _02033CAA + mov r0, #1 + bx lr +_02033CAA: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_02033C94 + + thumb_func_start sub_02033CB0 +sub_02033CB0: ; 0x02033CB0 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldrb r0, [r5, #0xe] + add r4, r1, #0 + bl sub_020341DC + add r6, r0, #0 + ldr r0, _02033D24 ; =0x0000FFFF + cmp r6, r0 + ldr r0, [r4, #4] + bne _02033CD6 + cmp r0, #3 + bge _02033CE6 + ldrb r1, [r5, #0xf] + mov r0, #1 + bic r1, r0 + strb r1, [r5, #0xf] + mov r0, #1 + pop {r4, r5, r6, pc} +_02033CD6: + cmp r0, #1 + bge _02033CE6 + ldrb r1, [r5, #0xf] + mov r0, #1 + bic r1, r0 + strb r1, [r5, #0xf] + mov r0, #1 + pop {r4, r5, r6, pc} +_02033CE6: + ldrb r1, [r5, #0xe] + add r0, r4, #0 + bl sub_02033C94 + ldr r0, _02033D24 ; =0x0000FFFF + cmp r6, r0 + bne _02033D10 + ldrh r1, [r5, #0xc] + add r0, r4, #0 + asr r1, r1, #8 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02033C94 + ldrh r1, [r5, #0xc] + add r0, r4, #0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02033C94 + b _02033D12 +_02033D10: + strh r6, [r5, #0xc] +_02033D12: + ldrb r1, [r5, #0xf] + mov r0, #1 + bic r1, r0 + mov r0, #1 + orr r0, r1 + strb r0, [r5, #0xf] + mov r0, #0 + pop {r4, r5, r6, pc} + nop +_02033D24: .word 0x0000FFFF + thumb_func_end sub_02033CB0 + + thumb_func_start sub_02033D28 +sub_02033D28: ; 0x02033D28 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldrb r0, [r5, #0xe] + add r4, r1, #0 + add r6, r2, #0 + add r7, r3, #0 + bl sub_020341DC + ldr r1, _02033DEC ; =0x0000FFFF + cmp r0, r1 + bne _02033D42 + mov r2, #3 + b _02033D44 +_02033D42: + mov r2, #1 +_02033D44: + ldrh r0, [r5, #0xc] + ldr r1, [r4, #4] + add r0, r0, r2 + cmp r1, r0 + bge _02033D56 + cmp r7, #0 + bne _02033D56 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02033D56: + ldrb r0, [r5, #0xf] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + cmp r0, #1 + beq _02033D70 + add r0, r5, #0 + add r1, r4, #0 + bl sub_02033CB0 + cmp r0, #0 + beq _02033D70 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02033D70: + ldrh r3, [r5, #0xc] + ldr r2, [r4, #4] + cmp r2, r3 + ldrb r0, [r5, #0xf] + bge _02033DBA + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + beq _02033D8A + ldr r1, [r4] + add r0, r6, #0 + bl sub_02033B4C + b _02033DA0 +_02033D8A: + mov r3, #0 + cmp r2, #0 + ble _02033DA0 +_02033D90: + ldr r0, [r5] + ldrb r1, [r0, r3] + ldr r0, [r4] + strb r1, [r0, r3] + ldr r0, [r4, #4] + add r3, r3, #1 + cmp r3, r0 + blt _02033D90 +_02033DA0: + ldr r1, [r5] + ldr r0, [r4, #4] + add r0, r1, r0 + str r0, [r5] + ldrh r1, [r5, #0xc] + ldr r0, [r4, #4] + sub r0, r1, r0 + strh r0, [r5, #0xc] + mov r0, #0 + mvn r0, r0 + str r0, [r4, #4] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_02033DBA: + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + beq _02033DCC + ldr r1, [r4] + add r0, r6, #0 + add r2, r3, #0 + bl sub_02033B4C + b _02033DD6 +_02033DCC: + ldr r0, [r5] + ldr r1, [r4] + add r2, r3, #0 + bl MIi_CpuCopy8 +_02033DD6: + ldrh r0, [r5, #0xc] + ldr r1, [r4] + add r0, r1, r0 + str r0, [r4] + ldrh r0, [r5, #0xc] + ldr r1, [r4, #4] + sub r0, r1, r0 + str r0, [r4, #4] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + nop +_02033DEC: .word 0x0000FFFF + thumb_func_end sub_02033D28 + + thumb_func_start sub_02033DF0 +sub_02033DF0: ; 0x02033DF0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + str r1, [sp] + str r2, [sp, #4] + add r7, r3, #0 + bl sub_02033C30 + add r4, r0, #0 + bne _02033E0A + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02033E0A: + ldr r0, _02033E7C ; =0x0000FFFE + cmp r7, r0 + blt _02033E14 + bl GF_AssertFail +_02033E14: + ldr r0, [sp] + bl sub_020341DC + add r6, r0, #0 + ldr r0, _02033E80 ; =0x0000FFFF + cmp r6, r0 + bne _02033E24 + add r6, r7, #0 +_02033E24: + ldr r0, [sp, #0x24] + cmp r0, #0 + beq _02033E56 + ldr r0, [r5, #0x14] + bl sub_02033BE4 + add r1, r6, #3 + cmp r1, r0 + blt _02033E3C + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02033E3C: + ldr r0, [r5, #0x14] + ldr r1, [sp, #4] + ldr r3, _02033E84 ; =0x00000109 + add r2, r6, #0 + bl sub_02033AF0 + ldr r0, [r5, #0x14] + bl sub_02033C28 + ldrb r1, [r4, #0xf] + mov r0, #2 + orr r0, r1 + strb r0, [r4, #0xf] +_02033E56: + ldr r0, [sp] + strh r6, [r4, #0xc] + strb r0, [r4, #0xe] + ldr r0, [sp, #4] + str r0, [r4] + ldr r0, [r5, #4] + cmp r0, #0 + bne _02033E6C + str r4, [r5, #4] + str r4, [r5] + b _02033E74 +_02033E6C: + str r4, [r0, #8] + ldr r0, [r5, #4] + str r0, [r4, #4] + str r4, [r5, #4] +_02033E74: + mov r0, #1 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop +_02033E7C: .word 0x0000FFFE +_02033E80: .word 0x0000FFFF +_02033E84: .word 0x00000109 + thumb_func_end sub_02033DF0 + + thumb_func_start sub_02033E88 +sub_02033E88: ; 0x02033E88 + ldr r1, [r0, #0x10] + cmp r1, #0 + beq _02033E92 + add r0, r1, #0 + bx lr +_02033E92: + ldr r1, [r0] + cmp r1, #0 + beq _02033E9C + add r0, r1, #0 + bx lr +_02033E9C: + ldr r0, [r0, #8] + cmp r0, #0 + bne _02033EA4 + mov r0, #0 +_02033EA4: + bx lr + .balign 4, 0 + thumb_func_end sub_02033E88 + + thumb_func_start sub_02033EA8 +sub_02033EA8: ; 0x02033EA8 + push {r4, lr} + add r4, r0, #0 + ldr r1, [r4, #0x10] + cmp r1, #0 + beq _02033EB8 + mov r0, #0 + str r0, [r4, #0x10] + pop {r4, pc} +_02033EB8: + bl sub_02033C70 + cmp r0, #0 + bne _02033EC8 + add r4, #8 + add r0, r4, #0 + bl sub_02033C70 +_02033EC8: + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02033EA8 + + thumb_func_start sub_02033ECC +sub_02033ECC: ; 0x02033ECC + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4, #4] + mov r7, #1 + str r2, [sp] + cmp r0, #0 + ble _02033F22 +_02033EDC: + add r0, r5, #0 + bl sub_02033E88 + add r6, r0, #0 + beq _02033F22 + add r0, r5, #0 + bl sub_02033EA8 + ldr r2, [r5, #0x14] + add r0, r6, #0 + add r1, r4, #0 + add r3, r7, #0 + bl sub_02033D28 + cmp r0, #0 + bne _02033F00 + str r6, [r5, #0x10] + b _02033F22 +_02033F00: + mov r0, #0 + ldr r1, [r4, #4] + mvn r0, r0 + cmp r1, r0 + bne _02033F10 + str r6, [r5, #0x10] + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02033F10: + add r0, r6, #0 + mov r1, #0 + mov r2, #0x10 + bl MIi_CpuFill8 + ldr r0, [r4, #4] + ldr r7, [sp] + cmp r0, #0 + bgt _02033EDC +_02033F22: + ldr r0, [r4, #4] + mov r2, #0 + cmp r0, #0 + ble _02033F3E + mov r1, #0xee +_02033F2C: + ldr r0, [r4] + add r2, r2, #1 + strb r1, [r0] + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + ldr r0, [r4, #4] + cmp r2, r0 + blt _02033F2C +_02033F3E: + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02033ECC + + thumb_func_start sub_02033F44 +sub_02033F44: ; 0x02033F44 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r6, r2, #0 + mov r1, #0 + mov r2, #0x20 + add r5, r0, #0 + bl MIi_CpuFill8 + lsl r7, r4, #4 + mov r0, #0xf + add r1, r7, #0 + bl AllocFromHeap + mov r1, #0 + add r2, r7, #0 + str r0, [r5, #0x18] + bl MIi_CpuFill8 + str r4, [r5, #0x1c] + str r6, [r5, #0x14] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02033F44 + + thumb_func_start sub_02033F70 +sub_02033F70: ; 0x02033F70 + push {r4, lr} + add r4, r0, #0 + ldr r2, [r4, #0x1c] + ldr r0, [r4, #0x18] + mov r1, #0 + lsl r2, r2, #4 + bl MIi_CpuFill8 + mov r0, #0 + str r0, [r4] + str r0, [r4, #4] + str r0, [r4, #8] + str r0, [r4, #0xc] + str r0, [r4, #0x10] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02033F70 + + thumb_func_start sub_02033F90 +sub_02033F90: ; 0x02033F90 + ldr r3, _02033F98 ; =FreeToHeap + ldr r0, [r0, #0x18] + bx r3 + nop +_02033F98: .word FreeToHeap + thumb_func_end sub_02033F90 + + thumb_func_start sub_02033F9C +sub_02033F9C: ; 0x02033F9C + push {r3, r4} + ldr r4, [r0, #0x1c] + mov r2, #0 + ldr r3, [r0, #0x18] + cmp r4, #0 + ble _02033FBC +_02033FA8: + ldrb r0, [r3, #0xe] + cmp r0, r1 + bne _02033FB4 + mov r0, #1 + pop {r3, r4} + bx lr +_02033FB4: + add r2, r2, #1 + add r3, #0x10 + cmp r2, r4 + blt _02033FA8 +_02033FBC: + mov r0, #0 + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_02033F9C + + thumb_func_start sub_02033FC4 +sub_02033FC4: ; 0x02033FC4 + push {r3, r4, lr} + sub sp, #0x2c + ldr r3, _02033FEC ; =0x020F692C + add r4, r0, #0 + add r2, sp, #0 + mov r1, #0x29 +_02033FD0: + ldrb r0, [r3] + add r3, r3, #1 + strb r0, [r2] + add r2, r2, #1 + sub r1, r1, #1 + bne _02033FD0 + cmp r4, #0x29 + blo _02033FE4 + bl GF_AssertFail +_02033FE4: + add r0, sp, #0 + ldrb r0, [r0, r4] + add sp, #0x2c + pop {r3, r4, pc} + .balign 4, 0 +_02033FEC: .word 0x020F692C + thumb_func_end sub_02033FC4 + + thumb_func_start sub_02033FF0 +sub_02033FF0: ; 0x02033FF0 + push {r3, r4, lr} + sub sp, #0x2c + ldr r3, _02034018 ; =0x020F6955 + add r4, r0, #0 + add r2, sp, #0 + mov r1, #0x29 +_02033FFC: + ldrb r0, [r3] + add r3, r3, #1 + strb r0, [r2] + add r2, r2, #1 + sub r1, r1, #1 + bne _02033FFC + cmp r4, #0x29 + blo _02034010 + bl GF_AssertFail +_02034010: + add r0, sp, #0 + ldrb r0, [r0, r4] + add sp, #0x2c + pop {r3, r4, pc} + .balign 4, 0 +_02034018: .word 0x020F6955 + thumb_func_end sub_02033FF0 + + thumb_func_start sub_0203401C +sub_0203401C: ; 0x0203401C + cmp r0, #0x12 + bgt _02034036 + bge _0203403A + cmp r0, #0xd + bgt _0203403E + cmp r0, #7 + blt _0203403E + beq _0203403A + cmp r0, #9 + beq _0203403A + cmp r0, #0xd + beq _0203403A + b _0203403E +_02034036: + cmp r0, #0x1a + bne _0203403E +_0203403A: + mov r0, #1 + bx lr +_0203403E: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_0203401C + + thumb_func_start sub_02034044 +sub_02034044: ; 0x02034044 + sub r0, #0x13 + cmp r0, #0x11 + bhi _0203407E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02034056: ; jump table + .short _0203407A - _02034056 - 2 ; case 0 + .short _0203407A - _02034056 - 2 ; case 1 + .short _0203407A - _02034056 - 2 ; case 2 + .short _0203407A - _02034056 - 2 ; case 3 + .short _0203407A - _02034056 - 2 ; case 4 + .short _0203407A - _02034056 - 2 ; case 5 + .short _0203407A - _02034056 - 2 ; case 6 + .short _0203407E - _02034056 - 2 ; case 7 + .short _0203407E - _02034056 - 2 ; case 8 + .short _0203407E - _02034056 - 2 ; case 9 + .short _0203407A - _02034056 - 2 ; case 10 + .short _0203407E - _02034056 - 2 ; case 11 + .short _0203407E - _02034056 - 2 ; case 12 + .short _0203407E - _02034056 - 2 ; case 13 + .short _0203407A - _02034056 - 2 ; case 14 + .short _0203407A - _02034056 - 2 ; case 15 + .short _0203407A - _02034056 - 2 ; case 16 + .short _0203407A - _02034056 - 2 ; case 17 +_0203407A: + mov r0, #1 + bx lr +_0203407E: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_02034044 + + thumb_func_start sub_02034084 +sub_02034084: ; 0x02034084 + cmp r0, #0x1d + beq _02034090 + cmp r0, #0x21 + beq _02034090 + cmp r0, #0x23 + bne _02034094 +_02034090: + mov r0, #1 + bx lr +_02034094: + mov r0, #0 + bx lr + thumb_func_end sub_02034084 + + thumb_func_start sub_02034098 +sub_02034098: ; 0x02034098 + cmp r0, #0x17 + bgt _020340B8 + add r1, r0, #0 + sub r1, #0x13 + bmi _020340C0 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_020340AE: ; jump table + .short _020340BC - _020340AE - 2 ; case 0 + .short _020340BC - _020340AE - 2 ; case 1 + .short _020340BC - _020340AE - 2 ; case 2 + .short _020340BC - _020340AE - 2 ; case 3 + .short _020340BC - _020340AE - 2 ; case 4 +_020340B8: + cmp r0, #0x22 + bne _020340C0 +_020340BC: + mov r0, #1 + bx lr +_020340C0: + mov r0, #0 + bx lr + thumb_func_end sub_02034098 + + thumb_func_start sub_020340C4 +sub_020340C4: ; 0x020340C4 + cmp r0, #0x26 + bgt _020340F6 + bge _02034102 + cmp r0, #8 + bgt _020340F0 + cmp r0, #0 + blt _02034106 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_020340DE: ; jump table + .short _02034106 - _020340DE - 2 ; case 0 + .short _02034102 - _020340DE - 2 ; case 1 + .short _02034102 - _020340DE - 2 ; case 2 + .short _02034102 - _020340DE - 2 ; case 3 + .short _02034102 - _020340DE - 2 ; case 4 + .short _02034102 - _020340DE - 2 ; case 5 + .short _02034106 - _020340DE - 2 ; case 6 + .short _02034106 - _020340DE - 2 ; case 7 + .short _02034102 - _020340DE - 2 ; case 8 +_020340F0: + cmp r0, #0x25 + beq _02034102 + b _02034106 +_020340F6: + cmp r0, #0x27 + bgt _020340FE + beq _02034102 + b _02034106 +_020340FE: + cmp r0, #0x28 + bne _02034106 +_02034102: + mov r0, #1 + bx lr +_02034106: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_020340C4 + + thumb_func_start sub_0203410C +sub_0203410C: ; 0x0203410C + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, _02034150 ; =0x021D412C + add r4, r1, #0 + ldr r0, [r0] + add r6, r2, #0 + cmp r0, #0 + bne _02034128 + mov r0, #0xf + mov r1, #0x18 + bl AllocFromHeap + ldr r1, _02034150 ; =0x021D412C + str r0, [r1] +_02034128: + ldr r0, _02034150 ; =0x021D412C + mov r3, #0 + ldr r1, [r0] + add r2, r3, #0 + str r5, [r1] + ldr r1, [r0] + str r4, [r1, #4] + ldr r1, [r0] + str r6, [r1, #8] +_0203413A: + ldr r1, [r0] + add r1, r1, r3 + add r3, r3, #1 + strb r2, [r1, #0xc] + cmp r3, #8 + blt _0203413A + ldr r0, _02034150 ; =0x021D412C + ldr r0, [r0] + strb r2, [r0, #0x14] + pop {r4, r5, r6, pc} + nop +_02034150: .word 0x021D412C + thumb_func_end sub_0203410C + + thumb_func_start sub_02034154 +sub_02034154: ; 0x02034154 + push {r3, lr} + ldr r0, _0203416C ; =0x021D412C + ldr r0, [r0] + cmp r0, #0 + beq _02034168 + bl FreeToHeap + ldr r0, _0203416C ; =0x021D412C + mov r1, #0 + str r1, [r0] +_02034168: + pop {r3, pc} + nop +_0203416C: .word 0x021D412C + thumb_func_end sub_02034154 + + thumb_func_start sub_02034170 +sub_02034170: ; 0x02034170 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + add r6, r2, #0 + add r7, r3, #0 + cmp r4, #0x16 + bge _02034188 + mov r0, #0xc + mul r1, r0 + ldr r0, _020341D4 ; =0x020F6980 + ldr r4, [r0, r1] + b _020341B0 +_02034188: + ldr r0, _020341D8 ; =0x021D412C + ldr r0, [r0] + cmp r0, #0 + bne _02034194 + bl GF_AssertFail +_02034194: + ldr r0, _020341D8 ; =0x021D412C + ldr r1, [r0] + ldr r0, [r1, #4] + add r0, #0x16 + cmp r4, r0 + ble _020341A6 + bl sub_02037974 + pop {r3, r4, r5, r6, r7, pc} +_020341A6: + ldr r1, [r1] + sub r4, #0x16 + mov r0, #0xc + mul r0, r4 + ldr r4, [r1, r0] +_020341B0: + cmp r4, #0 + beq _020341D2 + ldr r0, _020341D8 ; =0x021D412C + ldr r3, [r0] + cmp r3, #0 + beq _020341C8 + ldr r3, [r3, #8] + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + blx r4 + pop {r3, r4, r5, r6, r7, pc} +_020341C8: + add r0, r5, #0 + add r1, r6, #0 + add r2, r7, #0 + mov r3, #0 + blx r4 +_020341D2: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_020341D4: .word 0x020F6980 +_020341D8: .word 0x021D412C + thumb_func_end sub_02034170 + + thumb_func_start sub_020341DC +sub_020341DC: ; 0x020341DC + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 + cmp r5, #0x16 + bge _020341F2 + mov r0, #0xc + add r1, r5, #0 + mul r1, r0 + ldr r0, _0203423C ; =0x020F6984 + ldr r0, [r0, r1] + b _0203422E +_020341F2: + ldr r0, _02034240 ; =0x021D412C + ldr r0, [r0] + cmp r0, #0 + bne _020341FE + bl GF_AssertFail +_020341FE: + ldr r0, _02034240 ; =0x021D412C + ldr r1, [r0] + cmp r1, #0 + bne _0203420E + bl sub_02037974 + mov r0, #0 + pop {r3, r4, r5, pc} +_0203420E: + ldr r0, [r1, #4] + add r0, #0x16 + cmp r5, r0 + ble _02034222 + bl GF_AssertFail + bl sub_02037974 + mov r0, #0 + pop {r3, r4, r5, pc} +_02034222: + ldr r1, [r1] + sub r5, #0x16 + mov r0, #0xc + mul r0, r5 + add r0, r1, r0 + ldr r0, [r0, #4] +_0203422E: + cmp r0, #0 + beq _02034236 + blx r0 + add r4, r0, #0 +_02034236: + add r0, r4, #0 + pop {r3, r4, r5, pc} + nop +_0203423C: .word 0x020F6984 +_02034240: .word 0x021D412C + thumb_func_end sub_020341DC + + thumb_func_start sub_02034244 +sub_02034244: ; 0x02034244 + cmp r0, #0x16 + bge _0203425C + mov r1, #0xc + mul r1, r0 + ldr r0, _02034278 ; =0x020F6988 + ldr r0, [r0, r1] + cmp r0, #0 + beq _02034258 + mov r0, #1 + bx lr +_02034258: + mov r0, #0 + bx lr +_0203425C: + ldr r1, _0203427C ; =0x021D412C + sub r0, #0x16 + ldr r1, [r1] + ldr r2, [r1] + mov r1, #0xc + mul r1, r0 + add r0, r2, r1 + ldr r0, [r0, #8] + cmp r0, #0 + beq _02034274 + mov r0, #1 + bx lr +_02034274: + mov r0, #0 + bx lr + .balign 4, 0 +_02034278: .word 0x020F6988 +_0203427C: .word 0x021D412C + thumb_func_end sub_02034244 + + thumb_func_start sub_02034280 +sub_02034280: ; 0x02034280 + push {r3, r4, r5, lr} + add r3, r0, #0 + cmp r3, #0x16 + bge _02034298 + mov r4, #0xc + mul r4, r3 + ldr r3, _020342B0 ; =0x020F6988 + add r0, r1, #0 + ldr r3, [r3, r4] + mov r1, #0 + blx r3 + pop {r3, r4, r5, pc} +_02034298: + ldr r0, _020342B4 ; =0x021D412C + sub r3, #0x16 + ldr r4, [r0] + add r0, r1, #0 + ldr r1, [r4, #8] + ldr r5, [r4] + mov r4, #0xc + mul r4, r3 + add r3, r5, r4 + ldr r3, [r3, #8] + blx r3 + pop {r3, r4, r5, pc} + .balign 4, 0 +_020342B0: .word 0x020F6988 +_020342B4: .word 0x021D412C + thumb_func_end sub_02034280 + + thumb_func_start sub_020342B8 +sub_020342B8: ; 0x020342B8 + ldr r0, _020342BC ; =0x0000FFFF + bx lr + .balign 4, 0 +_020342BC: .word 0x0000FFFF + thumb_func_end sub_020342B8 + + thumb_func_start sub_020342C0 +sub_020342C0: ; 0x020342C0 + mov r0, #0 + bx lr + thumb_func_end sub_020342C0 + + thumb_func_start sub_020342C4 +sub_020342C4: ; 0x020342C4 + mov r0, #1 + bx lr + thumb_func_end sub_020342C4 + + thumb_func_start sub_020342C8 +sub_020342C8: ; 0x020342C8 + mov r0, #2 + bx lr + thumb_func_end sub_020342C8 + + thumb_func_start sub_020342CC +sub_020342CC: ; 0x020342CC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_0203769C + cmp r0, #0 + bne _0203430A + ldr r4, _0203430C ; =0x021D412C + mov r1, #1 + ldr r0, [r4] + add r0, r0, r5 + strb r1, [r0, #0xc] + mov r5, #0 +_020342E4: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _020342FA + ldr r0, [r4] + add r0, r0, r5 + ldrb r0, [r0, #0xc] + cmp r0, #0 + beq _0203430A +_020342FA: + add r5, r5, #1 + cmp r5, #8 + blt _020342E4 + mov r1, #0 + mov r0, #0xe + add r2, r1, #0 + bl sub_02037108 +_0203430A: + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203430C: .word 0x021D412C + thumb_func_end sub_020342CC + + thumb_func_start sub_02034310 +sub_02034310: ; 0x02034310 + ldr r0, _02034330 ; =0x021D412C + mov r3, #0 + ldr r1, [r0] + str r3, [r1] + ldr r1, [r0] + str r3, [r1, #4] + ldr r1, [r0] + str r3, [r1, #8] + ldr r0, [r0] + mov r1, #1 + strb r1, [r0, #0x14] + ldr r3, _02034334 ; =sub_020376E0 + mov r0, #0xf + add r1, r2, #0 + bx r3 + nop +_02034330: .word 0x021D412C +_02034334: .word sub_020376E0 + thumb_func_end sub_02034310 + + thumb_func_start sub_02034338 +sub_02034338: ; 0x02034338 + push {r4, lr} + add r4, r0, #0 + bl sub_0203769C + cmp r0, #0 + bne _0203434E + ldr r0, _02034350 ; =0x021D412C + mov r1, #0 + ldr r0, [r0] + add r0, r0, r4 + strb r1, [r0, #0xc] +_0203434E: + pop {r4, pc} + .balign 4, 0 +_02034350: .word 0x021D412C + thumb_func_end sub_02034338 + + thumb_func_start sub_02034354 +sub_02034354: ; 0x02034354 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r0, [sp] + str r1, [sp, #4] + bl sub_02028E9C + str r0, [sp, #8] + ldr r0, _020343E0 ; =0x021D4130 + ldr r0, [r0] + cmp r0, #0 + bne _020343DA + mov r1, #0xea + mov r0, #0xf + lsl r1, r1, #2 + bl AllocFromHeap + ldr r1, _020343E0 ; =0x021D4130 + mov r2, #0xea + str r0, [r1] + mov r1, #0 + lsl r2, r2, #2 + bl MIi_CpuFill8 + mov r6, #0 + ldr r7, _020343E0 ; =0x021D4130 + add r4, r6, #0 + add r5, r6, #0 +_0203438A: + ldr r1, [r7] + add r0, r1, #0 + add r0, #0x2c + add r2, r0, r4 + mov r0, #0xd3 + add r1, r1, r5 + lsl r0, r0, #2 + str r2, [r1, r0] + add r0, r6, #0 + bl sub_020346E8 + add r6, r6, #1 + add r4, #0x68 + add r5, r5, #4 + cmp r6, #8 + blt _0203438A + ldr r2, _020343E0 ; =0x021D4130 + mov r1, #0xe9 + ldr r3, [r2] + mov r0, #0 + lsl r1, r1, #2 + strb r0, [r3, r1] + ldr r4, [r2] + add r3, r1, #1 + strb r0, [r4, r3] + add r3, r1, #2 + ldr r4, [r2] + sub r1, #0x58 + strb r0, [r4, r3] + ldr r3, [r2] + ldr r0, [sp] + str r0, [r3, #8] + ldr r3, [r2] + ldr r0, [sp, #4] + str r0, [r3, #4] + ldr r2, [r2] + ldr r0, [sp, #8] + ldr r1, [r2, r1] + bl sub_02028EE4 +_020343DA: + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop +_020343E0: .word 0x021D4130 + thumb_func_end sub_02034354 + + thumb_func_start sub_020343E4 +sub_020343E4: ; 0x020343E4 + push {r3, r4, r5, lr} + ldr r1, _0203441C ; =0x021D4130 + ldr r0, [r1] + cmp r0, #0 + beq _02034418 + mov r4, #0 + mov r0, #0xd3 + add r5, r4, #0 + add r3, r4, #0 + lsl r0, r0, #2 +_020343F8: + ldr r2, [r1] + add r4, r4, #1 + add r2, r2, r5 + add r5, r5, #4 + str r3, [r2, r0] + cmp r4, #8 + blt _020343F8 + ldr r0, _0203441C ; =0x021D4130 + ldr r0, [r0] + cmp r0, #0 + beq _02034412 + bl FreeToHeap +_02034412: + ldr r0, _0203441C ; =0x021D4130 + mov r1, #0 + str r1, [r0] +_02034418: + pop {r3, r4, r5, pc} + nop +_0203441C: .word 0x021D4130 + thumb_func_end sub_020343E4 + + thumb_func_start sub_02034420 +sub_02034420: ; 0x02034420 + ldr r0, _02034430 ; =0x021D4130 + ldr r0, [r0] + cmp r0, #0 + beq _0203442C + mov r0, #1 + bx lr +_0203442C: + mov r0, #0 + bx lr + .balign 4, 0 +_02034430: .word 0x021D4130 + thumb_func_end sub_02034420 + + thumb_func_start sub_02034434 +sub_02034434: ; 0x02034434 + push {r3, r4, r5, r6, r7, lr} + bl sub_0203769C + add r4, r0, #0 + ldr r0, _0203451C ; =0x021D4130 + ldr r0, [r0] + ldr r0, [r0, #8] + bl sub_0202C854 + str r0, [sp] + ldr r0, _0203451C ; =0x021D4130 + ldr r0, [r0] + ldr r0, [r0, #8] + bl sub_0202C6F4 + add r7, r0, #0 + ldr r0, _0203451C ; =0x021D4130 + ldr r0, [r0] + ldr r0, [r0, #8] + bl sub_0202CA44 + add r6, r0, #0 + ldr r0, _0203451C ; =0x021D4130 + ldr r1, [r0] + ldr r0, [r1] + cmp r0, #0 + bne _02034470 + ldr r0, [r1, #8] + bl sub_02028E9C +_02034470: + ldr r1, _0203451C ; =0x021D4130 + ldr r2, [r1] + lsl r1, r4, #2 + add r2, r2, r1 + mov r1, #0xd3 + lsl r1, r1, #2 + ldr r1, [r2, r1] + bl sub_02028EE4 + mov r0, #0x68 + add r5, r4, #0 + mul r5, r0 + ldr r0, _0203451C ; =0x021D4130 + ldr r0, [r0] + add r0, #0x68 + add r0, r0, r5 + bl OS_GetMacAddress + ldr r0, [sp] + mov r1, #1 + mov r2, #0 + bl sub_0202C7E0 + ldr r1, _0203451C ; =0x021D4130 + mov r2, #0x10 + ldr r1, [r1] + add r1, #0x58 + add r1, r1, r5 + bl MIi_CpuCopy8 + add r0, r6, #0 + bl sub_0202CA8C + ldr r1, _0203451C ; =0x021D4130 + ldr r1, [r1] + add r1, r1, r5 + add r1, #0x6f + strb r0, [r1] + add r0, r6, #0 + bl sub_0202CA90 + ldr r2, _0203451C ; =0x021D4130 + ldr r1, [r2] + add r1, r1, r5 + add r1, #0x70 + strb r0, [r1] + ldr r0, [r2] + mov r1, #0 + add r0, r0, r5 + add r0, #0x71 + strb r1, [r0] + add r0, r7, #0 + bl sub_0202C08C + ldr r1, _0203451C ; =0x021D4130 + ldr r1, [r1] + add r1, #0x4c + add r1, r1, r5 + bl sub_020A037C + ldr r0, _0203451C ; =0x021D4130 + mov r1, #0 + ldr r0, [r0] + mov r2, #0x20 + add r0, #0xc + add r0, r0, r5 + bl MIi_CpuFill8 + ldr r0, _0203451C ; =0x021D4130 + ldr r1, [r0] + ldr r0, [r1, #4] + cmp r0, #0 + beq _0203450A + add r1, #0xc + add r1, r1, r5 + bl sub_020290BC +_0203450A: + ldr r1, _0203451C ; =0x021D4130 + mov r0, #3 + ldr r1, [r1] + mov r2, #0x68 + add r1, #0xc + add r1, r1, r5 + bl sub_02037030 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203451C: .word 0x021D4130 + thumb_func_end sub_02034434 + + thumb_func_start sub_02034520 +sub_02034520: ; 0x02034520 + mov r0, #0x68 + bx lr + thumb_func_end sub_02034520 + + thumb_func_start sub_02034524 +sub_02034524: ; 0x02034524 + ldr r0, _02034538 ; =0x021D4130 + ldr r2, [r0] + cmp r2, #0 + beq _02034534 + mov r0, #0xe9 + mov r1, #1 + lsl r0, r0, #2 + strb r1, [r2, r0] +_02034534: + bx lr + nop +_02034538: .word 0x021D4130 + thumb_func_end sub_02034524 + + thumb_func_start sub_0203453C +sub_0203453C: ; 0x0203453C + push {r3, r4, r5, lr} + ldr r1, _020345C8 ; =0x021D4130 + add r4, r2, #0 + ldr r1, [r1] + cmp r1, #0 + beq _020345C4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _020345C4 + ldr r1, _020345C8 ; =0x021D4130 + mov r2, #0x68 + ldr r5, [r1] + add r1, r4, #0 + add r1, #0x62 + ldrb r1, [r1] + add r5, #0xc + add r0, r4, #0 + add r3, r1, #0 + mul r3, r2 + add r1, r5, r3 + bl MIi_CpuCopy8 + add r4, #0x62 + ldr r1, _020345C8 ; =0x021D4130 + ldrb r3, [r4] + ldr r2, [r1] + ldr r0, _020345CC ; =0x000003A6 + strb r3, [r2, r0] + ldr r2, [r1] + ldrb r1, [r2, r0] + sub r0, #0x5a + lsl r1, r1, #2 + add r1, r2, r1 + ldr r0, [r1, r0] + bl sub_02028F0C + cmp r0, #1 + beq _020345C4 + ldr r2, _020345C8 ; =0x021D4130 + mov r0, #0xe7 + lsl r0, r0, #2 + ldr r3, [r2] + add r1, r0, #0 + add r1, #0xa + add r4, r3, r0 + ldrb r3, [r3, r1] + ldrb r1, [r4, r3] + cmp r1, #2 + bhs _020345C4 + mov r1, #1 + strb r1, [r4, r3] + ldr r1, [r2] + add r0, #0xa + ldrb r4, [r1, r0] + bl sub_0203769C + cmp r4, r0 + bne _020345C4 + ldr r0, _020345C8 ; =0x021D4130 + mov r2, #3 + ldr r0, [r0] + add r1, r0, r4 + mov r0, #0xe7 + lsl r0, r0, #2 + strb r2, [r1, r0] +_020345C4: + pop {r3, r4, r5, pc} + nop +_020345C8: .word 0x021D4130 +_020345CC: .word 0x000003A6 + thumb_func_end sub_0203453C + + thumb_func_start sub_020345D0 +sub_020345D0: ; 0x020345D0 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _02034630 ; =0x021D4130 + ldr r1, [r0] + cmp r1, #0 + beq _0203462C + mov r3, #0x68 + add r4, r5, #0 + add r0, r2, #0 + mul r4, r3 + add r1, #0xc + add r1, r1, r4 + add r2, r3, #0 + bl MIi_CpuCopy8 + ldr r0, _02034630 ; =0x021D4130 + add r1, r5, #0 + ldr r0, [r0] + add r0, #0x68 + add r0, r0, r4 + bl sub_020357C4 + ldr r0, _02034630 ; =0x021D4130 + mov r2, #1 + ldr r0, [r0] + add r1, r0, r5 + mov r0, #0xe7 + lsl r0, r0, #2 + strb r2, [r1, r0] + bl sub_0203769C + cmp r5, r0 + bne _02034622 + ldr r0, _02034630 ; =0x021D4130 + mov r2, #3 + ldr r0, [r0] + add r1, r0, r5 + mov r0, #0xe7 + lsl r0, r0, #2 + strb r2, [r1, r0] + pop {r3, r4, r5, pc} +_02034622: + ldr r0, _02034630 ; =0x021D4130 + mov r2, #1 + ldr r1, [r0] + ldr r0, _02034634 ; =0x000003A5 + strb r2, [r1, r0] +_0203462C: + pop {r3, r4, r5, pc} + nop +_02034630: .word 0x021D4130 +_02034634: .word 0x000003A5 + thumb_func_end sub_020345D0 + + thumb_func_start sub_02034638 +sub_02034638: ; 0x02034638 + push {r3, r4, r5, r6, r7, lr} + ldr r0, _020346CC ; =0x021D4130 + ldr r1, [r0] + ldr r0, _020346D0 ; =0x000003A5 + ldrb r0, [r1, r0] + cmp r0, #0 + bne _0203464A + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0203464A: + bl sub_0203769C + cmp r0, #0 + beq _02034656 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02034656: + mov r0, #5 + bl sub_02037824 + cmp r0, #0 + bne _020346C8 + mov r4, #0 + add r5, r4, #0 + add r7, r4, #0 +_02034666: + ldr r0, _020346CC ; =0x021D4130 + ldr r2, [r0] + mov r0, #0xe7 + add r1, r2, r4 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _020346A6 + add r0, r2, r5 + add r0, #0x6e + strb r4, [r0] + ldr r0, _020346CC ; =0x021D4130 + ldr r6, [r0] + bl sub_02028ECC + add r2, r0, #0 + mov r0, #0xd3 + add r1, r6, r7 + lsl r0, r0, #2 + ldr r0, [r1, r0] + add r6, #0x2c + add r1, r6, r5 + bl MIi_CpuCopy8 + ldr r1, _020346CC ; =0x021D4130 + mov r0, #4 + ldr r1, [r1] + mov r2, #0x68 + add r1, #0xc + add r1, r1, r5 + bl sub_0203753C +_020346A6: + add r4, r4, #1 + add r5, #0x68 + add r7, r7, #4 + cmp r4, #8 + blt _02034666 + mov r1, #0 + mov r0, #5 + add r2, r1, #0 + bl sub_0203753C + ldr r0, _020346CC ; =0x021D4130 + mov r2, #0 + ldr r1, [r0] + ldr r0, _020346D0 ; =0x000003A5 + strb r2, [r1, r0] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_020346C8: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_020346CC: .word 0x021D4130 +_020346D0: .word 0x000003A5 + thumb_func_end sub_02034638 + + thumb_func_start sub_020346D4 +sub_020346D4: ; 0x020346D4 + ldr r0, _020346E0 ; =0x021D4130 + ldr r1, [r0] + ldr r0, _020346E4 ; =0x000003A5 + ldrb r0, [r1, r0] + bx lr + nop +_020346E0: .word 0x021D4130 +_020346E4: .word 0x000003A5 + thumb_func_end sub_020346D4 + + thumb_func_start sub_020346E8 +sub_020346E8: ; 0x020346E8 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02034710 ; =0x021D4130 + ldr r1, [r0] + lsl r0, r4, #2 + add r1, r1, r0 + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r0, [r1, r0] + bl sub_02028EF0 + ldr r0, _02034710 ; =0x021D4130 + mov r2, #0 + ldr r0, [r0] + add r1, r0, r4 + mov r0, #0xe7 + lsl r0, r0, #2 + strb r2, [r1, r0] + pop {r4, pc} + nop +_02034710: .word 0x021D4130 + thumb_func_end sub_020346E8 + + thumb_func_start sub_02034714 +sub_02034714: ; 0x02034714 + ldr r1, _0203472C ; =0x021D4130 + ldr r1, [r1] + add r1, r1, r0 + mov r0, #0xe7 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + cmp r0, #1 + bne _02034728 + mov r0, #1 + bx lr +_02034728: + mov r0, #0 + bx lr + .balign 4, 0 +_0203472C: .word 0x021D4130 + thumb_func_end sub_02034714 + + thumb_func_start sub_02034730 +sub_02034730: ; 0x02034730 + ldr r1, _0203474C ; =0x021D4130 + mov r2, #1 + ldr r1, [r1] + add r1, r1, r0 + mov r0, #0xe7 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + cmp r0, #2 + beq _02034748 + cmp r0, #1 + beq _02034748 + mov r2, #0 +_02034748: + add r0, r2, #0 + bx lr + .balign 4, 0 +_0203474C: .word 0x021D4130 + thumb_func_end sub_02034730 + + thumb_func_start sub_02034750 +sub_02034750: ; 0x02034750 + ldr r1, _02034768 ; =0x021D4130 + ldr r1, [r1] + add r1, r1, r0 + mov r0, #0xe7 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + cmp r0, #2 + bne _02034764 + mov r0, #1 + bx lr +_02034764: + mov r0, #0 + bx lr + .balign 4, 0 +_02034768: .word 0x021D4130 + thumb_func_end sub_02034750 + + thumb_func_start sub_0203476C +sub_0203476C: ; 0x0203476C + ldr r1, _0203477C ; =0x021D4130 + mov r2, #2 + ldr r1, [r1] + add r1, r1, r0 + mov r0, #0xe7 + lsl r0, r0, #2 + strb r2, [r1, r0] + bx lr + .balign 4, 0 +_0203477C: .word 0x021D4130 + thumb_func_end sub_0203476C + + thumb_func_start sub_02034780 +sub_02034780: ; 0x02034780 + ldr r1, _0203479C ; =0x021D4130 + mov r0, #0 + ldr r3, [r1] + mov r1, #0xe7 + lsl r1, r1, #2 +_0203478A: + ldrb r2, [r3, r1] + cmp r2, #1 + beq _0203479A + add r0, r0, #1 + add r3, r3, #1 + cmp r0, #8 + blt _0203478A + mov r0, #0xff +_0203479A: + bx lr + .balign 4, 0 +_0203479C: .word 0x021D4130 + thumb_func_end sub_02034780 + + thumb_func_start sub_020347A0 +sub_020347A0: ; 0x020347A0 + push {r3, r4} + ldr r1, _020347C8 ; =0x021D4130 + mov r0, #0 + ldr r4, [r1] + mov r1, #0xe7 + add r3, r0, #0 + lsl r1, r1, #2 +_020347AE: + ldrb r2, [r4, r1] + cmp r2, #2 + beq _020347B8 + cmp r2, #3 + bne _020347BA +_020347B8: + add r0, r0, #1 +_020347BA: + add r3, r3, #1 + add r4, r4, #1 + cmp r3, #8 + blt _020347AE + pop {r3, r4} + bx lr + nop +_020347C8: .word 0x021D4130 + thumb_func_end sub_020347A0 + + thumb_func_start sub_020347CC +sub_020347CC: ; 0x020347CC + push {r3, r4, r5, r6, r7, lr} + ldr r0, _02034814 ; =0x021D4130 + mov r5, #0 + ldr r0, [r0] + cmp r0, #0 + beq _02034810 + bl sub_02037454 + cmp r0, #0 + bne _020347E4 + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} +_020347E4: + mov r7, #0xe7 + ldr r6, _02034814 ; =0x021D4130 + add r4, r5, #0 + lsl r7, r7, #2 +_020347EC: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + bne _0203480A + ldr r0, [r6] + add r0, r0, r4 + ldrb r0, [r0, r7] + cmp r0, #0 + beq _0203480A + add r0, r4, #0 + bl sub_020346E8 + mov r5, #1 +_0203480A: + add r4, r4, #1 + cmp r4, #8 + blt _020347EC +_02034810: + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02034814: .word 0x021D4130 + thumb_func_end sub_020347CC + + thumb_func_start sub_02034818 +sub_02034818: ; 0x02034818 + ldr r1, _02034848 ; =0x021D4130 + ldr r3, [r1] + cmp r3, #0 + bne _02034824 + mov r0, #0 + bx lr +_02034824: + mov r1, #0xe7 + add r2, r3, r0 + lsl r1, r1, #2 + ldrb r1, [r2, r1] + cmp r1, #1 + beq _02034838 + cmp r1, #2 + beq _02034838 + cmp r1, #3 + bne _02034844 +_02034838: + lsl r0, r0, #2 + add r1, r3, r0 + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r0, [r1, r0] + bx lr +_02034844: + mov r0, #0 + bx lr + .balign 4, 0 +_02034848: .word 0x021D4130 + thumb_func_end sub_02034818 + + thumb_func_start sub_0203484C +sub_0203484C: ; 0x0203484C + ldr r1, _0203486C ; =0x021D4130 + ldr r3, [r1] + mov r1, #0xe7 + add r2, r3, r0 + lsl r1, r1, #2 + ldrb r1, [r2, r1] + cmp r1, #0 + beq _02034866 + mov r1, #0x68 + add r3, #0x4c + mul r1, r0 + add r0, r3, r1 + bx lr +_02034866: + mov r0, #0 + bx lr + nop +_0203486C: .word 0x021D4130 + thumb_func_end sub_0203484C + + thumb_func_start sub_02034870 +sub_02034870: ; 0x02034870 + add r1, r0, #0 + ldr r0, _0203487C ; =0x021D4130 + ldr r3, _02034880 ; =sub_0203A378 + ldr r0, [r0] + ldr r0, [r0, #8] + bx r3 + .balign 4, 0 +_0203487C: .word 0x021D4130 +_02034880: .word sub_0203A378 + thumb_func_end sub_02034870 + + thumb_func_start sub_02034884 +sub_02034884: ; 0x02034884 + ldr r1, _020348A4 ; =0x021D4130 + ldr r3, [r1] + mov r1, #0xe7 + add r2, r3, r0 + lsl r1, r1, #2 + ldrb r1, [r2, r1] + cmp r1, #0 + beq _0203489E + mov r1, #0x68 + add r3, #0x58 + mul r1, r0 + add r0, r3, r1 + bx lr +_0203489E: + mov r0, #0 + bx lr + nop +_020348A4: .word 0x021D4130 + thumb_func_end sub_02034884 + + thumb_func_start sub_020348A8 +sub_020348A8: ; 0x020348A8 + ldr r1, _020348C8 ; =0x021D4130 + ldr r3, [r1] + mov r1, #0xe7 + add r2, r3, r0 + lsl r1, r1, #2 + ldrb r1, [r2, r1] + cmp r1, #0 + beq _020348C4 + mov r1, #0x68 + mul r1, r0 + add r0, r3, r1 + add r0, #0x6f + ldrb r0, [r0] + bx lr +_020348C4: + mov r0, #0 + bx lr + .balign 4, 0 +_020348C8: .word 0x021D4130 + thumb_func_end sub_020348A8 + + thumb_func_start sub_020348CC +sub_020348CC: ; 0x020348CC + ldr r1, _020348EC ; =0x021D4130 + ldr r3, [r1] + mov r1, #0xe7 + add r2, r3, r0 + lsl r1, r1, #2 + ldrb r1, [r2, r1] + cmp r1, #0 + beq _020348E8 + mov r1, #0x68 + mul r1, r0 + add r0, r3, r1 + add r0, #0x70 + ldrb r0, [r0] + bx lr +_020348E8: + mov r0, #0 + bx lr + .balign 4, 0 +_020348EC: .word 0x021D4130 + thumb_func_end sub_020348CC + + thumb_func_start sub_020348F0 +sub_020348F0: ; 0x020348F0 + push {r4, r5, r6, lr} + mov r4, #0 + add r5, r4, #0 + add r6, r4, #0 +_020348F8: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _0203494C + ldr r0, _02034958 ; =0x021D4130 + ldr r0, [r0] + add r1, r0, r4 + mov r0, #0xe7 + lsl r0, r0, #2 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _0203494C + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _0203494C + ldr r0, _02034958 ; =0x021D4130 + ldr r1, _0203495C ; =0x0000039D + ldr r0, [r0] + add r2, r0, r4 + ldrb r1, [r2, r1] + cmp r1, #0 + beq _0203494C + add r1, r6, #0 + add r2, r0, r5 +_02034934: + add r3, r2, #0 + add r3, #0x74 + ldrb r0, [r2, #0xc] + ldrb r3, [r3] + cmp r0, r3 + beq _02034944 + mov r0, #0 + pop {r4, r5, r6, pc} +_02034944: + add r1, r1, #1 + add r2, r2, #1 + cmp r1, #0x20 + blt _02034934 +_0203494C: + add r4, r4, #1 + add r5, #0x68 + cmp r4, #7 + blt _020348F8 + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 +_02034958: .word 0x021D4130 +_0203495C: .word 0x0000039D + thumb_func_end sub_020348F0 + + thumb_func_start sub_02034960 +sub_02034960: ; 0x02034960 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + ldr r0, _02034A18 ; =0x021D4130 + add r6, r1, #0 + ldr r0, [r0] + cmp r0, #0 + beq _02034A14 + cmp r7, #2 + beq _02034980 + bl sub_0203769C + bl sub_020378AC + mov r1, #1 + and r0, r1 + str r0, [sp] +_02034980: + mov r4, #0 + bl sub_02037454 + cmp r0, #0 + ble _02034A14 + add r5, r4, #0 +_0203498C: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _02034A08 + ldr r0, _02034A18 ; =0x021D4130 + mov r1, #0xe7 + ldr r0, [r0] + lsl r1, r1, #2 + add r2, r0, r4 + ldrb r1, [r2, r1] + cmp r1, #0 + beq _02034A08 + cmp r7, #0 + bne _020349D2 + add r0, r4, #0 + bl sub_020378AC + mov r1, #1 + and r1, r0 + ldr r0, [sp] + cmp r0, r1 + beq _02034A08 + ldr r0, _02034A18 ; =0x021D4130 + mov r1, #0xdb + ldr r0, [r0] + lsl r1, r1, #2 + add r0, r0, r5 + ldrh r1, [r0, r1] + add r2, r1, r6 + mov r1, #0xdb + lsl r1, r1, #2 + strh r2, [r0, r1] + b _02034A08 +_020349D2: + cmp r7, #1 + bne _020349F8 + add r0, r4, #0 + bl sub_020378AC + mov r1, #1 + and r1, r0 + ldr r0, [sp] + cmp r0, r1 + beq _02034A08 + ldr r0, _02034A18 ; =0x021D4130 + ldr r1, _02034A1C ; =0x0000036E + ldr r0, [r0] + add r0, r0, r5 + ldrh r1, [r0, r1] + add r2, r1, r6 + ldr r1, _02034A1C ; =0x0000036E + strh r2, [r0, r1] + b _02034A08 +_020349F8: + mov r1, #0x37 + add r0, r0, r5 + lsl r1, r1, #4 + ldrh r1, [r0, r1] + add r2, r1, r6 + mov r1, #0x37 + lsl r1, r1, #4 + strh r2, [r0, r1] +_02034A08: + add r5, r5, #6 + add r4, r4, #1 + bl sub_02037454 + cmp r4, r0 + blt _0203498C +_02034A14: + pop {r3, r4, r5, r6, r7, pc} + nop +_02034A18: .word 0x021D4130 +_02034A1C: .word 0x0000036E + thumb_func_end sub_02034960 + + thumb_func_start sub_02034A20 +sub_02034A20: ; 0x02034A20 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r7, r0, #0 + bl sub_0202C6F4 + str r0, [sp, #4] + mov r4, #0 + bl sub_02037454 + cmp r0, #0 + ble _02034A88 + add r5, r4, #0 +_02034A38: + add r0, r4, #0 + bl sub_0203484C + add r1, r0, #0 + beq _02034A7C + add r0, r7, #0 + add r2, sp, #8 + bl sub_0203A084 + cmp r0, #0 + beq _02034A52 + cmp r0, #1 + bne _02034A7C +_02034A52: + ldr r0, [sp, #8] + cmp r0, #0 + bge _02034A5C + bl GF_AssertFail +_02034A5C: + ldr r0, _02034AB8 ; =0x021D4130 + mov r2, #0xdb + ldr r0, [r0] + ldr r3, _02034ABC ; =0x0000036E + add r6, r0, r5 + mov r0, #0x37 + lsl r0, r0, #4 + ldrh r0, [r6, r0] + lsl r2, r2, #2 + str r0, [sp] + ldrh r2, [r6, r2] + ldrh r3, [r6, r3] + ldr r0, [sp, #4] + ldr r1, [sp, #8] + bl sub_0202C4F0 +_02034A7C: + add r5, r5, #6 + add r4, r4, #1 + bl sub_02037454 + cmp r4, r0 + blt _02034A38 +_02034A88: + mov r3, #0xdb + mov r2, #0 + lsl r3, r3, #2 + ldr r6, _02034AB8 ; =0x021D4130 + add r1, r2, #0 + add r0, r2, #0 + add r4, r3, #2 + add r5, r3, #4 +_02034A98: + ldr r7, [r6] + add r2, r2, #1 + add r7, r7, r1 + strh r0, [r7, r3] + ldr r7, [r6] + add r7, r7, r1 + strh r0, [r7, r4] + ldr r7, [r6] + add r7, r7, r1 + add r1, r1, #6 + strh r0, [r7, r5] + cmp r2, #8 + blt _02034A98 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop +_02034AB8: .word 0x021D4130 +_02034ABC: .word 0x0000036E + thumb_func_end sub_02034A20 + + thumb_func_start sub_02034AC0 +sub_02034AC0: ; 0x02034AC0 + push {r4, lr} + add r4, r0, #0 + cmp r1, #1 + bne _02034AD2 + mov r0, #0 + mov r1, #1 + bl sub_02034960 + b _02034AE2 +_02034AD2: + mov r0, #0 + mvn r0, r0 + cmp r1, r0 + bne _02034AE2 + mov r0, #1 + add r1, r0, #0 + bl sub_02034960 +_02034AE2: + add r0, r4, #0 + bl sub_02034A20 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02034AC0 + + thumb_func_start sub_02034AEC +sub_02034AEC: ; 0x02034AEC + push {r4, lr} + add r4, r0, #0 + mov r0, #2 + bl sub_02034960 + add r0, r4, #0 + bl sub_02034A20 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02034AEC + + thumb_func_start sub_02034B00 +sub_02034B00: ; 0x02034B00 + ldr r1, _02034B08 ; =0x021D4130 + ldr r1, [r1] + str r0, [r1] + bx lr + .balign 4, 0 +_02034B08: .word 0x021D4130 + thumb_func_end sub_02034B00 + + thumb_func_start sub_02034B0C +sub_02034B0C: ; 0x02034B0C + push {r3, r4, r5, r6, r7, lr} + add r4, r0, #0 + ldr r0, _02034BCC ; =0x021D4134 + add r7, r1, #0 + ldr r0, [r0, #8] + cmp r0, #0 + bne _02034BCA + ldr r1, _02034BD0 ; =0x00000D98 + mov r0, #0xf + bl AllocFromHeap + ldr r1, _02034BCC ; =0x021D4134 + ldr r2, _02034BD0 ; =0x00000D98 + str r0, [r1, #8] + mov r1, #0 + bl MIi_CpuFill8 + bl sub_020335B4 + add r1, r0, #0 + mov r0, #0xf + bl AllocFromHeap + ldr r1, _02034BCC ; =0x021D4134 + ldr r2, [r1, #8] + ldr r1, _02034BD4 ; =0x00000D64 + str r0, [r2, r1] + bl sub_020335B4 + add r2, r0, #0 + ldr r0, _02034BCC ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02034BD4 ; =0x00000D64 + ldr r0, [r1, r0] + mov r1, #0 + bl MIi_CpuFill8 + bl sub_020290B4 + add r1, r0, #0 + mov r0, #0xf + bl AllocFromHeap + ldr r1, _02034BCC ; =0x021D4134 + ldr r2, [r1, #8] + ldr r1, _02034BD8 ; =0x00000D7C + str r0, [r2, r1] + bl sub_020290B4 + add r2, r0, #0 + ldr r0, _02034BCC ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02034BD8 ; =0x00000D7C + ldr r0, [r1, r0] + mov r1, #0 + bl MIi_CpuFill8 + mov r0, #0xf + mov r1, #0x90 + bl AllocFromHeap + ldr r2, _02034BCC ; =0x021D4134 + ldr r1, _02034BDC ; =0x00000D84 + ldr r3, [r2, #8] + str r0, [r3, r1] + ldr r6, [r2, #8] + mov r0, #0x1f + ldr r5, [r6, r1] + add r3, r5, #0 + and r3, r0 + mov r0, #0x20 + sub r0, r0, r3 + add r3, r0, r5 + add r0, r1, #4 + str r3, [r6, r0] + ldr r5, _02034BE0 ; =0x00000333 + ldr r3, [r2, #8] + sub r0, r1, #4 + str r5, [r3, r0] + add r0, r1, #0 + ldr r3, [r2, #8] + sub r0, #0xc + str r4, [r3, r0] + ldr r0, [r2, #8] + sub r1, #0x1c + add r0, r0, r1 + bl MailMsg_init + add r0, r7, #0 + bl sub_02034DF0 + bl sub_020DF250 + ldr r1, _02034BCC ; =0x021D4134 + strh r0, [r1] +_02034BCA: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02034BCC: .word 0x021D4134 +_02034BD0: .word 0x00000D98 +_02034BD4: .word 0x00000D64 +_02034BD8: .word 0x00000D7C +_02034BDC: .word 0x00000D84 +_02034BE0: .word 0x00000333 + thumb_func_end sub_02034B0C + + thumb_func_start sub_02034BE4 +sub_02034BE4: ; 0x02034BE4 + ldr r0, _02034BF4 ; =0x021D4134 + ldr r0, [r0, #8] + cmp r0, #0 + beq _02034BF0 + mov r0, #1 + bx lr +_02034BF0: + mov r0, #0 + bx lr + .balign 4, 0 +_02034BF4: .word 0x021D4134 + thumb_func_end sub_02034BE4 + + thumb_func_start sub_02034BF8 +sub_02034BF8: ; 0x02034BF8 + push {r4, r5} + mov r5, #0 + cmp r2, #0 + ble _02034C18 +_02034C00: + ldrb r4, [r0] + ldrb r3, [r1] + cmp r4, r3 + beq _02034C0E + mov r0, #0 + pop {r4, r5} + bx lr +_02034C0E: + add r5, r5, #1 + add r0, r0, #1 + add r1, r1, #1 + cmp r5, r2 + blt _02034C00 +_02034C18: + mov r0, #1 + pop {r4, r5} + bx lr + .balign 4, 0 + thumb_func_end sub_02034BF8 + + thumb_func_start sub_02034C20 +sub_02034C20: ; 0x02034C20 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + bl sub_0203993C + add r5, r0, #0 + bl sub_02039954 + add r4, r6, #0 + add r7, r0, #0 + add r4, #0x50 + cmp r5, #0xe + beq _02034C62 + ldrb r0, [r4, #4] + bl sub_0203401C + cmp r0, #0 + beq _02034C4C + add r0, r5, #0 + bl sub_0203401C + cmp r0, #0 + bne _02034C62 +_02034C4C: + add r0, r4, #0 + add r0, #0x54 + ldrb r0, [r0] + cmp r0, #0 + beq _02034C5C + ldrb r0, [r4, #4] + cmp r0, #0xa + beq _02034C88 +_02034C5C: + ldrb r0, [r4, #4] + cmp r0, r5 + bne _02034C88 +_02034C62: + cmp r5, #0xe + beq _02034C6C + ldrb r0, [r4, #5] + cmp r0, r7 + bne _02034C88 +_02034C6C: + ldr r1, _02034C8C ; =0x021D4134 + add r0, r6, #0 + ldr r1, [r1, #8] + mov r2, #0xc0 + add r1, #0x54 + bl MIi_CpuCopy8 + ldr r0, _02034C8C ; =0x021D4134 + ldr r1, _02034C90 ; =0x00000D95 + ldr r3, [r0, #8] + mov r0, #0x40 + ldrb r2, [r3, r1] + orr r0, r2 + strb r0, [r3, r1] +_02034C88: + pop {r3, r4, r5, r6, r7, pc} + nop +_02034C8C: .word 0x021D4134 +_02034C90: .word 0x00000D95 + thumb_func_end sub_02034C20 + + thumb_func_start sub_02034C94 +sub_02034C94: ; 0x02034C94 + push {r3, r4, r5, r6, r7, lr} + ldr r0, _02034D50 ; =0x021D4134 + ldr r1, _02034D54 ; =0x00000D95 + ldr r3, [r0, #8] + ldrb r2, [r3, r1] + add r7, r3, #0 + add r7, #0x54 + lsl r0, r2, #0x19 + lsr r0, r0, #0x1f + beq _02034D4E + mov r0, #0x40 + mov r6, #0 + bic r2, r0 + strb r2, [r3, r1] + add r4, r6, #0 + add r5, r6, #0 +_02034CB4: + ldr r0, _02034D50 ; =0x021D4134 + ldr r1, _02034D58 ; =0x00000D44 + ldr r0, [r0, #8] + add r2, r0, r4 + ldrh r1, [r2, r1] + cmp r1, #0 + beq _02034CFC + mov r1, #0x46 + lsl r1, r1, #2 + add r0, r0, r1 + add r0, r0, r5 + add r1, r7, #4 + mov r2, #6 + bl sub_02034BF8 + cmp r0, #0 + beq _02034CFC + ldr r2, _02034D50 ; =0x021D4134 + mov r1, #0x4b + ldr r3, [r2, #8] + lsl r0, r6, #1 + add r3, r3, r0 + ldr r0, _02034D58 ; =0x00000D44 + lsl r1, r1, #2 + strh r1, [r3, r0] + ldr r2, [r2, #8] + sub r1, #0x18 + add r3, r2, r1 + mov r2, #0xc0 + add r1, r6, #0 + mul r1, r2 + add r0, r7, #0 + add r1, r3, r1 + bl MIi_CpuCopy8 + pop {r3, r4, r5, r6, r7, pc} +_02034CFC: + add r6, r6, #1 + add r4, r4, #2 + add r5, #0xc0 + cmp r6, #0x10 + blt _02034CB4 + ldr r0, _02034D50 ; =0x021D4134 + ldr r1, _02034D58 ; =0x00000D44 + ldr r0, [r0, #8] + mov r3, #0 + add r4, r0, #0 +_02034D10: + ldrh r2, [r4, r1] + cmp r2, #0 + beq _02034D1E + add r3, r3, #1 + add r4, r4, #2 + cmp r3, #0x10 + blt _02034D10 +_02034D1E: + cmp r3, #0x10 + bge _02034D4E + lsl r2, r3, #1 + mov r1, #0x4b + add r2, r0, r2 + ldr r0, _02034D58 ; =0x00000D44 + lsl r1, r1, #2 + strh r1, [r2, r0] + ldr r2, _02034D50 ; =0x021D4134 + sub r1, #0x18 + ldr r2, [r2, #8] + add r0, r7, #0 + add r4, r2, r1 + mov r2, #0xc0 + add r1, r3, #0 + mul r1, r2 + add r1, r4, r1 + bl MIi_CpuCopy8 + ldr r0, _02034D50 ; =0x021D4134 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02034D5C ; =0x00000D74 + strb r2, [r1, r0] +_02034D4E: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02034D50: .word 0x021D4134 +_02034D54: .word 0x00000D95 +_02034D58: .word 0x00000D44 +_02034D5C: .word 0x00000D74 + thumb_func_end sub_02034C94 + + thumb_func_start sub_02034D60 +sub_02034D60: ; 0x02034D60 + push {r3, lr} + cmp r1, #0 + beq _02034D6A + bl sub_020D3F48 +_02034D6A: + ldr r0, _02034D74 ; =0x021D4134 + mov r1, #2 + str r1, [r0, #4] + pop {r3, pc} + nop +_02034D74: .word 0x021D4134 + thumb_func_end sub_02034D60 + + thumb_func_start sub_02034D78 +sub_02034D78: ; 0x02034D78 + ldr r0, _02034D84 ; =0x021D4134 + mov r1, #0 + str r1, [r0, #4] + ldr r3, _02034D88 ; =sub_0201A4CC + mov r0, #4 + bx r3 + .balign 4, 0 +_02034D84: .word 0x021D4134 +_02034D88: .word sub_0201A4CC + thumb_func_end sub_02034D78 + + thumb_func_start sub_02034D8C +sub_02034D8C: ; 0x02034D8C + push {r3, lr} + mov r0, #4 + bl sub_0201A4BC + ldr r0, _02034DB0 ; =0x021D4134 + mov r1, #1 + str r1, [r0, #4] + ldr r1, _02034DB4 ; =sub_02034D60 + mov r0, #8 + mov r2, #0 + bl sub_0209E00C + cmp r0, #1 + beq _02034DAC + bl sub_020D3F48 +_02034DAC: + pop {r3, pc} + nop +_02034DB0: .word 0x021D4134 +_02034DB4: .word sub_02034D60 + thumb_func_end sub_02034D8C + + thumb_func_start sub_02034DB8 +sub_02034DB8: ; 0x02034DB8 + ldr r0, _02034DC8 ; =0x021D4134 + ldr r0, [r0, #4] + cmp r0, #2 + bne _02034DC4 + mov r0, #1 + bx lr +_02034DC4: + mov r0, #0 + bx lr + .balign 4, 0 +_02034DC8: .word 0x021D4134 + thumb_func_end sub_02034DB8 + + thumb_func_start sub_02034DCC +sub_02034DCC: ; 0x02034DCC + ldr r0, _02034DDC ; =0x021D4134 + ldr r0, [r0, #4] + cmp r0, #0 + beq _02034DD8 + mov r0, #1 + bx lr +_02034DD8: + mov r0, #0 + bx lr + .balign 4, 0 +_02034DDC: .word 0x021D4134 + thumb_func_end sub_02034DCC + + thumb_func_start sub_02034DE0 +sub_02034DE0: ; 0x02034DE0 + ldr r3, _02034DE8 ; =sub_0209E248 + ldr r0, _02034DEC ; =sub_02034D78 + mov r1, #0 + bx r3 + .balign 4, 0 +_02034DE8: .word sub_0209E248 +_02034DEC: .word sub_02034D78 + thumb_func_end sub_02034DE0 + + thumb_func_start sub_02034DF0 +sub_02034DF0: ; 0x02034DF0 + push {r4, lr} + ldr r2, _02034E28 ; =0x021D4134 + add r1, r0, #0 + mov r0, #0xd7 + ldr r3, [r2, #8] + mov r4, #0 + lsl r0, r0, #4 + str r4, [r3, r0] + ldr r2, [r2, #8] + sub r0, #0xc + ldr r3, [r2, r0] + mov r0, #0x1f + add r2, r3, #0 + and r2, r0 + mov r0, #0x20 + sub r0, r0, r2 + add r0, r3, r0 + bl sub_02033528 + ldr r0, _02034E28 ; =0x021D4134 + ldr r1, [r0, #8] + mov r0, #0x36 + lsl r0, r0, #6 + ldr r0, [r1, r0] + bl sub_02033234 + pop {r4, pc} + nop +_02034E28: .word 0x021D4134 + thumb_func_end sub_02034DF0 + + thumb_func_start sub_02034E2C +sub_02034E2C: ; 0x02034E2C + push {r3, r4, r5, lr} + mov r4, #0 + ldr r2, _02034E5C ; =0x021D4134 + ldr r0, _02034E60 ; =0x00000D44 + add r5, r4, #0 + add r1, r4, #0 +_02034E38: + ldr r3, [r2, #8] + add r4, r4, #1 + add r3, r3, r5 + add r5, r5, #2 + strh r1, [r3, r0] + cmp r4, #0x10 + blt _02034E38 + ldr r0, _02034E5C ; =0x021D4134 + ldr r2, [r0, #8] + mov r0, #0x45 + lsl r0, r0, #2 + add r0, r2, r0 + mov r2, #3 + lsl r2, r2, #0xa + bl MIi_CpuFill8 + pop {r3, r4, r5, pc} + nop +_02034E5C: .word 0x021D4134 +_02034E60: .word 0x00000D44 + thumb_func_end sub_02034E2C + + thumb_func_start sub_02034E64 +sub_02034E64: ; 0x02034E64 + push {r3, r4} + ldr r1, _02034E84 ; =0x021D4134 + lsl r0, r0, #0x18 + ldr r2, [r1, #8] + ldr r4, _02034E88 ; =0x00000D95 + lsr r0, r0, #0x18 + ldrb r1, [r2, r4] + mov r3, #8 + lsl r0, r0, #0x1f + bic r1, r3 + lsr r0, r0, #0x1c + orr r0, r1 + strb r0, [r2, r4] + pop {r3, r4} + bx lr + nop +_02034E84: .word 0x021D4134 +_02034E88: .word 0x00000D95 + thumb_func_end sub_02034E64 + + thumb_func_start sub_02034E8C +sub_02034E8C: ; 0x02034E8C + push {r4, r5} + ldr r1, _02034EE8 ; =0x021D4134 + ldr r0, _02034EEC ; =0x00000D74 + ldr r3, [r1, #8] + mov r2, #0 + strb r2, [r3, r0] + add r3, r0, #0 + ldr r5, [r1, #8] + add r3, #0x21 + ldrb r4, [r5, r3] + mov r3, #1 + bic r4, r3 + add r3, r0, #0 + add r3, #0x21 + strb r4, [r5, r3] + add r3, r0, #0 + ldr r5, [r1, #8] + add r3, #0x21 + ldrb r4, [r5, r3] + mov r3, #4 + bic r4, r3 + add r3, r0, #0 + add r3, #0x21 + strb r4, [r5, r3] + add r3, r0, #0 + ldr r4, [r1, #8] + add r3, #0x1e + strb r2, [r4, r3] + add r3, r0, #0 + ldr r5, [r1, #8] + add r3, #0x21 + ldrb r4, [r5, r3] + mov r3, #0x10 + bic r4, r3 + add r3, r0, #0 + add r3, #0x21 + strb r4, [r5, r3] + add r3, r0, #0 + ldr r4, [r1, #8] + add r3, #0x20 + strb r2, [r4, r3] + ldr r1, [r1, #8] + add r0, #0x1f + strb r2, [r1, r0] + pop {r4, r5} + bx lr + .balign 4, 0 +_02034EE8: .word 0x021D4134 +_02034EEC: .word 0x00000D74 + thumb_func_end sub_02034E8C + + thumb_func_start sub_02034EF0 +sub_02034EF0: ; 0x02034EF0 + push {r3, r4, r5, lr} + add r5, r1, #0 + add r4, r2, #0 + bl sub_02034E8C + add r0, r5, #0 + bl sub_02034E64 + bl sub_02033A68 + ldr r0, _02034F54 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02034F58 ; =0x00000D93 + ldrb r0, [r1, r0] + cmp r0, #0 + bne _02034F22 + ldr r0, _02034F5C ; =sub_02036904 + mov r1, #0xe + bl sub_020337D0 + ldr r0, _02034F54 ; =0x021D4134 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02034F58 ; =0x00000D93 + strb r2, [r1, r0] +_02034F22: + ldr r0, _02034F54 ; =0x021D4134 + ldr r3, _02034F60 ; =0x00000D95 + ldr r1, [r0, #8] + mov r2, #0x20 + ldrb r0, [r1, r3] + bic r0, r2 + lsl r2, r4, #0x18 + lsr r2, r2, #0x18 + lsl r2, r2, #0x1f + lsr r2, r2, #0x1a + orr r0, r2 + strb r0, [r1, r3] + bl sub_02033298 + cmp r0, #1 + bne _02034F4E + bl sub_020332C0 + cmp r0, #0 + beq _02034F4E + mov r0, #1 + pop {r3, r4, r5, pc} +_02034F4E: + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_02034F54: .word 0x021D4134 +_02034F58: .word 0x00000D93 +_02034F5C: .word sub_02036904 +_02034F60: .word 0x00000D95 + thumb_func_end sub_02034EF0 + + thumb_func_start sub_02034F64 +sub_02034F64: ; 0x02034F64 + push {r4, lr} + sub sp, #8 + add r4, r1, #0 + bl sub_02034E8C + cmp r4, #0 + beq _02034F76 + bl sub_02034E2C +_02034F76: + ldr r0, _02034FD4 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02034FD8 ; =0x00000D93 + ldrb r0, [r1, r0] + cmp r0, #0 + bne _02034F94 + ldr r0, _02034FDC ; =sub_020367A8 + mov r1, #0xe + bl sub_020337D0 + ldr r0, _02034FD4 ; =0x021D4134 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02034FD8 ; =0x00000D93 + strb r2, [r1, r0] +_02034F94: + bl sub_02033298 + cmp r0, #1 + bne _02034FCC + ldr r2, _02034FE0 ; =0x020F6A88 + add r0, sp, #0 + ldrb r3, [r2] + add r1, sp, #0 + strb r3, [r0] + ldrb r3, [r2, #1] + strb r3, [r0, #1] + ldrb r3, [r2, #2] + strb r3, [r0, #2] + ldrb r3, [r2, #3] + strb r3, [r0, #3] + ldrb r3, [r2, #4] + ldrb r2, [r2, #5] + strb r3, [r0, #4] + strb r2, [r0, #5] + ldr r0, _02034FE4 ; =sub_02034C20 + mov r2, #0 + bl sub_02032C1C + cmp r0, #0 + beq _02034FCC + add sp, #8 + mov r0, #1 + pop {r4, pc} +_02034FCC: + mov r0, #0 + add sp, #8 + pop {r4, pc} + nop +_02034FD4: .word 0x021D4134 +_02034FD8: .word 0x00000D93 +_02034FDC: .word sub_020367A8 +_02034FE0: .word 0x020F6A88 +_02034FE4: .word sub_02034C20 + thumb_func_end sub_02034F64 + + thumb_func_start sub_02034FE8 +sub_02034FE8: ; 0x02034FE8 + push {r3, lr} + ldr r0, _02035074 ; =0x021D4134 + ldr r1, [r0, #8] + cmp r1, #0 + bne _02034FF6 + mov r0, #1 + pop {r3, pc} +_02034FF6: + ldr r0, _02035078 ; =0x00000D94 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _02035008 + cmp r0, #1 + beq _02035038 + cmp r0, #2 + beq _02035050 + b _0203506E +_02035008: + bl sub_02033990 + cmp r0, #0 + beq _02035020 + bl sub_02032E24 + ldr r0, _02035074 ; =0x021D4134 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02035078 ; =0x00000D94 + strb r2, [r1, r0] + b _0203506E +_02035020: + bl sub_0203393C + cmp r0, #0 + bne _0203506E + bl sub_02033858 + ldr r0, _02035074 ; =0x021D4134 + mov r2, #2 + ldr r1, [r0, #8] + ldr r0, _02035078 ; =0x00000D94 + strb r2, [r1, r0] + b _0203506E +_02035038: + bl sub_0203393C + cmp r0, #0 + bne _0203506E + bl sub_02033858 + ldr r0, _02035074 ; =0x021D4134 + mov r2, #2 + ldr r1, [r0, #8] + ldr r0, _02035078 ; =0x00000D94 + strb r2, [r1, r0] + b _0203506E +_02035050: + bl sub_02033920 + cmp r0, #0 + beq _0203505C + mov r0, #1 + pop {r3, pc} +_0203505C: + bl sub_02033958 + cmp r0, #0 + beq _0203506E + ldr r0, _02035074 ; =0x021D4134 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02035078 ; =0x00000D94 + strb r2, [r1, r0] +_0203506E: + mov r0, #0 + pop {r3, pc} + nop +_02035074: .word 0x021D4134 +_02035078: .word 0x00000D94 + thumb_func_end sub_02034FE8 + + thumb_func_start sub_0203507C +sub_0203507C: ; 0x0203507C + push {r3, lr} + ldr r0, _020350A0 ; =0x021D4134 + ldr r2, [r0, #8] + cmp r2, #0 + beq _0203509A + ldr r0, _020350A4 ; =0x00000D92 + ldrb r1, [r2, r0] + cmp r1, #0 + bne _0203509A + mov r1, #1 + strb r1, [r2, r0] + bl sub_02033858 + mov r0, #1 + pop {r3, pc} +_0203509A: + mov r0, #0 + pop {r3, pc} + nop +_020350A0: .word 0x021D4134 +_020350A4: .word 0x00000D92 + thumb_func_end sub_0203507C + + thumb_func_start sub_020350A8 +sub_020350A8: ; 0x020350A8 + push {r3, lr} + ldr r1, _020350CC ; =0x021D4134 + ldr r2, [r1, #8] + cmp r2, #0 + beq _020350C8 + cmp r0, #0 + ldr r0, _020350D0 ; =0x00000D92 + beq _020350BE + mov r1, #2 + strb r1, [r2, r0] + pop {r3, pc} +_020350BE: + mov r1, #0 + strb r1, [r2, r0] + mov r0, #1 + bl sub_02034DF0 +_020350C8: + pop {r3, pc} + nop +_020350CC: .word 0x021D4134 +_020350D0: .word 0x00000D92 + thumb_func_end sub_020350A8 + + thumb_func_start sub_020350D4 +sub_020350D4: ; 0x020350D4 + push {r3, lr} + ldr r0, _0203510C ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035110 ; =0x00000D7C + ldr r0, [r1, r0] + bl FreeToHeap + ldr r0, _0203510C ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035114 ; =0x00000D64 + ldr r0, [r1, r0] + bl FreeToHeap + ldr r0, _0203510C ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035118 ; =0x00000D84 + ldr r0, [r1, r0] + bl FreeToHeap + ldr r0, _0203510C ; =0x021D4134 + ldr r0, [r0, #8] + bl FreeToHeap + ldr r0, _0203510C ; =0x021D4134 + mov r1, #0 + str r1, [r0, #8] + pop {r3, pc} + nop +_0203510C: .word 0x021D4134 +_02035110: .word 0x00000D7C +_02035114: .word 0x00000D64 +_02035118: .word 0x00000D84 + thumb_func_end sub_020350D4 + + thumb_func_start sub_0203511C +sub_0203511C: ; 0x0203511C + push {r4, lr} + bl sub_02037474 + cmp r0, #0 + bne _0203512A + mov r0, #0 + pop {r4, pc} +_0203512A: + ldr r1, _02035148 ; =0x021D4134 + mov r0, #0 + ldr r4, [r1, #8] + ldr r1, _0203514C ; =0x00000D44 + add r3, r0, #0 +_02035134: + ldrh r2, [r4, r1] + cmp r2, #0 + beq _0203513C + add r0, r0, #1 +_0203513C: + add r3, r3, #1 + add r4, r4, #2 + cmp r3, #0x10 + blt _02035134 + pop {r4, pc} + nop +_02035148: .word 0x021D4134 +_0203514C: .word 0x00000D44 + thumb_func_end sub_0203511C + + thumb_func_start sub_02035150 +sub_02035150: ; 0x02035150 + push {r3, r4, r5, lr} + ldr r1, _0203517C ; =0x021D4134 + mov r4, #0 + ldr r5, [r1, #8] + ldr r1, _02035180 ; =0x00000D44 + add r3, r4, #0 +_0203515C: + ldrh r2, [r5, r1] + cmp r2, #0 + beq _0203516C + cmp r4, r0 + bne _0203516A + add r0, r3, #0 + pop {r3, r4, r5, pc} +_0203516A: + add r4, r4, #1 +_0203516C: + add r3, r3, #1 + add r5, r5, #2 + cmp r3, #0x10 + blt _0203515C + bl GF_AssertFail + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203517C: .word 0x021D4134 +_02035180: .word 0x00000D44 + thumb_func_end sub_02035150 + + thumb_func_start sub_02035184 +sub_02035184: ; 0x02035184 + ldr r0, _02035190 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035194 ; =0x00000D74 + ldrb r0, [r1, r0] + bx lr + nop +_02035190: .word 0x021D4134 +_02035194: .word 0x00000D74 + thumb_func_end sub_02035184 + + thumb_func_start sub_02035198 +sub_02035198: ; 0x02035198 + ldr r0, _020351A4 ; =0x021D4134 + mov r2, #0 + ldr r1, [r0, #8] + ldr r0, _020351A8 ; =0x00000D74 + strb r2, [r1, r0] + bx lr + .balign 4, 0 +_020351A4: .word 0x021D4134 +_020351A8: .word 0x00000D74 + thumb_func_end sub_02035198 + + thumb_func_start sub_020351AC +sub_020351AC: ; 0x020351AC + ldr r1, _020351D4 ; =0x021D4134 + ldr r3, [r1, #8] + lsl r1, r0, #1 + add r2, r3, r1 + ldr r1, _020351D8 ; =0x00000D44 + ldrh r1, [r2, r1] + cmp r1, #0 + beq _020351D0 + mov r1, #0xc0 + add r2, r0, #0 + mul r2, r1 + add r0, r3, r2 + add r1, #0xaa + ldrb r0, [r0, r1] + cmp r0, #0 + bne _020351D2 + mov r0, #1 + bx lr +_020351D0: + mov r0, #0 +_020351D2: + bx lr + .balign 4, 0 +_020351D4: .word 0x021D4134 +_020351D8: .word 0x00000D44 + thumb_func_end sub_020351AC + + thumb_func_start sub_020351DC +sub_020351DC: ; 0x020351DC + push {r4, r5, r6, lr} + add r4, r1, #0 + ldr r1, _02035210 ; =0x021D4134 + mov r5, #0 + ldr r6, [r1, #8] + ldr r1, _02035214 ; =0x00000D44 + add r3, r5, #0 +_020351EA: + ldrh r2, [r6, r1] + cmp r2, #0 + beq _02035204 + cmp r0, r5 + bne _02035202 + add r0, r3, #0 + bl sub_02035798 + add r1, r4, #0 + bl sub_02028EE4 + pop {r4, r5, r6, pc} +_02035202: + add r5, r5, #1 +_02035204: + add r3, r3, #1 + add r6, r6, #2 + cmp r3, #0x10 + blt _020351EA + pop {r4, r5, r6, pc} + nop +_02035210: .word 0x021D4134 +_02035214: .word 0x00000D44 + thumb_func_end sub_020351DC + + thumb_func_start sub_02035218 +sub_02035218: ; 0x02035218 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02033298 + cmp r0, #2 + bne _0203522C + bl sub_02032E24 + mov r0, #0 + pop {r3, r4, r5, pc} +_0203522C: + bl sub_02033298 + cmp r0, #1 + bne _02035282 + bl sub_0203993C + ldr r2, _02035288 ; =0x021D4134 + mov r1, #0xc0 + add r4, r5, #0 + mul r4, r1 + ldr r3, [r2, #8] + add r1, #0x8a + add r2, r3, r4 + ldrh r2, [r2, r1] + mov r1, #0xd9 + lsl r1, r1, #4 + strb r2, [r3, r1] + bl sub_0203401C + cmp r0, #0 + beq _0203526C + ldr r1, _02035288 ; =0x021D4134 + mov r0, #1 + ldr r2, [r1, #8] + mov r1, #0x46 + lsl r1, r1, #2 + add r1, r2, r1 + add r1, r1, r4 + mov r2, #0 + bl sub_02032B84 + b _0203527E +_0203526C: + ldr r1, _02035288 ; =0x021D4134 + mov r0, #1 + ldr r2, [r1, #8] + mov r1, #0x45 + lsl r1, r1, #2 + add r1, r2, r1 + add r1, r1, r4 + bl sub_0203373C +_0203527E: + mov r0, #1 + pop {r3, r4, r5, pc} +_02035282: + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_02035288: .word 0x021D4134 + thumb_func_end sub_02035218 + + thumb_func_start sub_0203528C +sub_0203528C: ; 0x0203528C + push {r3, r4, r5, r6, r7, lr} + bl sub_02034C94 + mov r4, #0 + ldr r1, _020352CC ; =0x021D4134 + ldr r0, _020352D0 ; =0x00000D44 + add r5, r4, #0 + mov r2, #1 +_0203529C: + ldr r3, [r1, #8] + add r3, r3, r5 + ldrh r6, [r3, r0] + cmp r6, #0 + beq _020352C0 + beq _020352C0 + ldr r6, _020352D0 ; =0x00000D44 + ldrh r6, [r3, r6] + sub r7, r6, #1 + ldr r6, _020352D0 ; =0x00000D44 + strh r7, [r3, r6] + ldr r3, [r1, #8] + add r7, r3, r5 + ldrh r6, [r7, r6] + cmp r6, #0 + bne _020352C0 + ldr r6, _020352D4 ; =0x00000D74 + strb r2, [r3, r6] +_020352C0: + add r4, r4, #1 + add r5, r5, #2 + cmp r4, #0x10 + blt _0203529C + pop {r3, r4, r5, r6, r7, pc} + nop +_020352CC: .word 0x021D4134 +_020352D0: .word 0x00000D44 +_020352D4: .word 0x00000D74 + thumb_func_end sub_0203528C + + thumb_func_start sub_020352D8 +sub_020352D8: ; 0x020352D8 + push {r3, r4, r5, lr} + bl sub_0203993C + add r5, r0, #0 + bl sub_02035784 + add r4, r0, #0 + cmp r5, #0xf + beq _02035360 + ldr r0, _020353A8 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _020353AC ; =0x00000D88 + ldr r5, [r1, r0] + bl sub_020290B4 + cmp r0, #0x20 + ble _020352FE + bl GF_AssertFail +_020352FE: + bl sub_02028ECC + cmp r0, #0x20 + beq _0203530A + bl GF_AssertFail +_0203530A: + bl sub_02028ECC + add r1, r5, #0 + add r2, r0, #0 + add r0, r4, #0 + add r1, #0x10 + bl MIi_CpuCopy8 + bl sub_020290B4 + add r2, r0, #0 + ldr r0, _020353A8 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _020353B0 ; =0x00000D7C + ldr r0, [r1, r0] + add r1, r5, #0 + add r1, #0x30 + bl MIi_CpuCopy8 + add r0, r4, #0 + bl sub_02028F84 + str r0, [r5] + bl sub_0203993C + strb r0, [r5, #4] + bl sub_02039954 + strb r0, [r5, #5] + ldr r0, _020353A8 ; =0x021D4134 + mov r2, #8 + ldr r1, [r0, #8] + ldr r0, _020353B4 ; =0x00000D68 + add r0, r1, r0 + add r1, r5, #0 + add r1, #8 + bl MIi_CpuCopy8 + bl sub_02033AB8 + add r5, #0x54 + strb r0, [r5] + b _02035388 +_02035360: + ldr r1, _020353A8 ; =0x021D4134 + ldr r2, [r1, #8] + ldr r1, _020353AC ; =0x00000D88 + ldr r4, [r2, r1] + bl sub_02028F84 + str r0, [r4] + bl sub_0203993C + strb r0, [r4, #4] + bl sub_02039954 + strb r0, [r4, #5] + ldr r0, _020353A8 ; =0x021D4134 + add r4, #8 + ldr r0, [r0, #8] + add r1, r4, #0 + mov r2, #0x54 + bl MIi_CpuCopy8 +_02035388: + ldr r0, _020353A8 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _020353AC ; =0x00000D88 + ldr r0, [r1, r0] + mov r1, #0x5c + bl DC_FlushRange + ldr r0, _020353A8 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _020353AC ; =0x00000D88 + ldr r0, [r1, r0] + mov r1, #0x5c + bl sub_02033240 + pop {r3, r4, r5, pc} + nop +_020353A8: .word 0x021D4134 +_020353AC: .word 0x00000D88 +_020353B0: .word 0x00000D7C +_020353B4: .word 0x00000D68 + thumb_func_end sub_020352D8 + + thumb_func_start sub_020353B8 +sub_020353B8: ; 0x020353B8 + push {r4, lr} + ldr r0, _02035404 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035408 ; =0x00000D88 + ldr r4, [r1, r0] + bl sub_02035610 + ldrb r1, [r4, #6] + cmp r1, r0 + beq _02035402 + bl sub_02035610 + strb r0, [r4, #6] + ldr r0, _02035404 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035408 ; =0x00000D88 + ldr r0, [r1, r0] + mov r1, #0x5c + bl DC_FlushRange + ldr r0, _02035404 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035408 ; =0x00000D88 + ldr r0, [r1, r0] + mov r1, #0x5c + bl sub_02033240 + ldr r3, _02035404 ; =0x021D4134 + ldr r2, _02035408 ; =0x00000D88 + ldr r4, [r3, #8] + ldrh r3, [r3] + ldr r0, [r4, r2] + sub r2, #8 + ldr r2, [r4, r2] + mov r1, #0x5c + bl sub_020339B4 +_02035402: + pop {r4, pc} + .balign 4, 0 +_02035404: .word 0x021D4134 +_02035408: .word 0x00000D88 + thumb_func_end sub_020353B8 + + thumb_func_start sub_0203540C +sub_0203540C: ; 0x0203540C + push {r4, r5, r6, lr} + sub sp, #8 + add r4, r0, #0 + bl sub_02033298 + add r5, r0, #0 + bl sub_020347CC + add r6, r0, #0 + bl sub_020353B8 + bl sub_020338F4 + cmp r0, #0 + bne _0203544A + bl sub_0203567C + cmp r0, #0 + bne _0203544A + ldr r0, _020355AC ; =0x021D4134 + ldr r3, _020355B0 ; =0x00000D95 + ldr r1, [r0, #8] + ldrb r0, [r1, r3] + lsl r2, r0, #0x1d + lsr r2, r2, #0x1f + beq _0203544A + mov r2, #1 + bic r0, r2 + mov r2, #1 + orr r0, r2 + strb r0, [r1, r3] +_0203544A: + ldr r0, _020355AC ; =0x021D4134 + ldr r3, _020355B4 ; =0x00000D8E + ldr r2, [r0, #8] + ldr r0, _020355B8 ; =0x0000FFFF + ldrh r1, [r2, r3] + cmp r1, r0 + bne _0203545A + strh r4, [r2, r3] +_0203545A: + ldr r0, _020355AC ; =0x021D4134 + ldr r3, _020355B0 ; =0x00000D95 + ldr r1, [r0, #8] + ldrb r0, [r1, r3] + lsl r2, r0, #0x1e + lsr r2, r2, #0x1f + beq _02035490 + sub r2, r3, #7 + ldrh r2, [r1, r2] + cmp r2, r4 + bls _0203547A + mov r2, #1 + bic r0, r2 + mov r2, #1 + orr r0, r2 + strb r0, [r1, r3] +_0203547A: + cmp r6, #0 + beq _02035490 + ldr r0, _020355AC ; =0x021D4134 + ldr r2, _020355B0 ; =0x00000D95 + ldr r0, [r0, #8] + mov r1, #1 + ldrb r3, [r0, r2] + bic r3, r1 + mov r1, #1 + orr r1, r3 + strb r1, [r0, r2] +_02035490: + bl sub_020332AC + cmp r0, #0x19 + bne _0203549E + mov r0, #0 + bl sub_020399DC +_0203549E: + cmp r5, #9 + bls _020354A4 + b _020355A6 +_020354A4: + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_020354B0: ; jump table + .short _020354C4 - _020354B0 - 2 ; case 0 + .short _020354E4 - _020354B0 - 2 ; case 1 + .short _020355A6 - _020354B0 - 2 ; case 2 + .short _020355A6 - _020354B0 - 2 ; case 3 + .short _020355A6 - _020354B0 - 2 ; case 4 + .short _020355A6 - _020354B0 - 2 ; case 5 + .short _020355A6 - _020354B0 - 2 ; case 6 + .short _02035528 - _020354B0 - 2 ; case 7 + .short _0203550E - _020354B0 - 2 ; case 8 + .short _0203550E - _020354B0 - 2 ; case 9 +_020354C4: + ldr r0, _020355AC ; =0x021D4134 + ldr r2, [r0, #8] + ldr r0, _020355BC ; =0x00000D92 + ldrb r1, [r2, r0] + cmp r1, #1 + bne _020354D8 + bl sub_020350D4 + add sp, #8 + pop {r4, r5, r6, pc} +_020354D8: + cmp r1, #2 + bne _020355A6 + mov r1, #3 + strb r1, [r2, r0] + add sp, #8 + pop {r4, r5, r6, pc} +_020354E4: + ldr r0, _020355AC ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _020355BC ; =0x00000D92 + ldrb r0, [r1, r0] + cmp r0, #1 + bne _020354F8 + bl sub_020338D0 + cmp r0, #0 + bne _020355A6 +_020354F8: + ldr r0, _020355AC ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _020355BC ; =0x00000D92 + ldrb r0, [r1, r0] + cmp r0, #2 + bne _020355A6 + bl sub_020338D0 + add sp, #8 + cmp r0, #0 + pop {r4, r5, r6, pc} +_0203550E: + ldr r0, _020355AC ; =0x021D4134 + ldr r3, [r0, #8] + cmp r3, #0 + beq _020355A6 + ldr r1, _020355B0 ; =0x00000D95 + mov r0, #1 + ldrb r2, [r3, r1] + add sp, #8 + bic r2, r0 + mov r0, #1 + orr r0, r2 + strb r0, [r3, r1] + pop {r4, r5, r6, pc} +_02035528: + bl sub_02033468 + ldr r3, _020355AC ; =0x021D4134 + ldr r2, _020355C0 ; =0x00000D91 + ldr r4, [r3, #8] + ldrb r1, [r4, r2] + cmp r1, #0 + bne _02035544 + sub r1, r2, #5 + strh r0, [r4, r1] + ldr r0, [r3, #8] + mov r1, #5 + strb r1, [r0, r2] + b _02035548 +_02035544: + sub r0, r1, #1 + strb r0, [r4, r2] +_02035548: + ldr r0, _020355AC ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _020355C4 ; =0x00000D8C + ldrh r5, [r1, r0] + add r0, #9 + ldrb r0, [r1, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + beq _02035562 + bl sub_020DF250 + ldr r1, _020355AC ; =0x021D4134 + strh r0, [r1] +_02035562: + bl sub_020352D8 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r4, r0, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02035724 + str r0, [sp] + ldr r1, _020355AC ; =0x021D4134 + ldr r0, _020355B0 ; =0x00000D95 + ldr r2, [r1, #8] + add r3, r4, #0 + ldrb r0, [r2, r0] + add r2, r5, #0 + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + str r0, [sp, #4] + ldrh r1, [r1] + mov r0, #0 + bl sub_02033668 + ldr r0, _020355AC ; =0x021D4134 + ldr r1, [r0, #8] + mov r0, #0xd9 + lsl r0, r0, #4 + strb r5, [r1, r0] +_020355A6: + add sp, #8 + pop {r4, r5, r6, pc} + nop +_020355AC: .word 0x021D4134 +_020355B0: .word 0x00000D95 +_020355B4: .word 0x00000D8E +_020355B8: .word 0x0000FFFF +_020355BC: .word 0x00000D92 +_020355C0: .word 0x00000D91 +_020355C4: .word 0x00000D8C + thumb_func_end sub_0203540C + + thumb_func_start sub_020355C8 +sub_020355C8: ; 0x020355C8 + push {r3, lr} + ldr r1, _020355D8 ; =0x021D4134 + ldr r1, [r1, #8] + cmp r1, #0 + beq _020355D6 + bl sub_0203540C +_020355D6: + pop {r3, pc} + .balign 4, 0 +_020355D8: .word 0x021D4134 + thumb_func_end sub_020355C8 + + thumb_func_start sub_020355DC +sub_020355DC: ; 0x020355DC + push {r4, lr} + add r4, r0, #0 + ldr r0, _0203560C ; =0x021D4134 + ldr r0, [r0, #8] + cmp r0, #0 + bne _020355EC + mov r0, #0 + pop {r4, pc} +_020355EC: + bl sub_02033298 + cmp r0, #4 + beq _020355F8 + mov r0, #0 + pop {r4, pc} +_020355F8: + bl sub_02033250 + mov r2, #1 + add r1, r2, #0 + lsl r1, r4 + tst r0, r1 + bne _02035608 + mov r2, #0 +_02035608: + add r0, r2, #0 + pop {r4, pc} + .balign 4, 0 +_0203560C: .word 0x021D4134 + thumb_func_end sub_020355DC + + thumb_func_start sub_02035610 +sub_02035610: ; 0x02035610 + push {r3, r4, r5, lr} + mov r4, #0 + add r5, r4, #0 +_02035616: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_020355DC + cmp r0, #0 + beq _02035624 + add r4, r4, #1 +_02035624: + add r5, r5, #1 + cmp r5, #8 + blt _02035616 + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02035610 + + thumb_func_start sub_02035630 +sub_02035630: ; 0x02035630 + ldr r0, _02035648 ; =0x021D4134 + ldr r1, [r0, #8] + cmp r1, #0 + beq _02035644 + ldr r0, _0203564C ; =0x00000D92 + ldrb r0, [r1, r0] + cmp r0, #3 + bne _02035644 + mov r0, #1 + bx lr +_02035644: + mov r0, #0 + bx lr + .balign 4, 0 +_02035648: .word 0x021D4134 +_0203564C: .word 0x00000D92 + thumb_func_end sub_02035630 + + thumb_func_start sub_02035650 +sub_02035650: ; 0x02035650 + ldr r0, _02035660 ; =0x021D4134 + ldr r0, [r0, #8] + cmp r0, #0 + beq _0203565C + mov r0, #1 + bx lr +_0203565C: + mov r0, #0 + bx lr + .balign 4, 0 +_02035660: .word 0x021D4134 + thumb_func_end sub_02035650 + + thumb_func_start sub_02035664 +sub_02035664: ; 0x02035664 + push {r3, lr} + ldr r0, _02035678 ; =0x021D4134 + ldr r0, [r0, #8] + cmp r0, #0 + beq _02035674 + bl sub_02033920 + pop {r3, pc} +_02035674: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 +_02035678: .word 0x021D4134 + thumb_func_end sub_02035664 + + thumb_func_start sub_0203567C +sub_0203567C: ; 0x0203567C + push {r3, lr} + ldr r0, _02035694 ; =0x021D4134 + ldr r0, [r0, #8] + cmp r0, #0 + beq _02035690 + bl sub_02033250 + ldr r1, _02035698 ; =0x0000FFFE + and r0, r1 + pop {r3, pc} +_02035690: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 +_02035694: .word 0x021D4134 +_02035698: .word 0x0000FFFE + thumb_func_end sub_0203567C + + thumb_func_start sub_0203569C +sub_0203569C: ; 0x0203569C + ldr r0, _020356B8 ; =0x021D4134 + ldr r1, [r0, #8] + cmp r1, #0 + beq _020356B2 + ldr r0, _020356BC ; =0x00000D95 + ldrb r0, [r1, r0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _020356B2 + mov r0, #1 + bx lr +_020356B2: + mov r0, #0 + bx lr + nop +_020356B8: .word 0x021D4134 +_020356BC: .word 0x00000D95 + thumb_func_end sub_0203569C + + thumb_func_start sub_020356C0 +sub_020356C0: ; 0x020356C0 + push {r3, r4} + ldr r1, _020356E4 ; =0x021D4134 + ldr r2, [r1, #8] + cmp r2, #0 + beq _020356DE + ldr r4, _020356E8 ; =0x00000D95 + lsl r0, r0, #0x18 + ldrb r1, [r2, r4] + lsr r0, r0, #0x18 + mov r3, #4 + lsl r0, r0, #0x1f + bic r1, r3 + lsr r0, r0, #0x1d + orr r0, r1 + strb r0, [r2, r4] +_020356DE: + pop {r3, r4} + bx lr + nop +_020356E4: .word 0x021D4134 +_020356E8: .word 0x00000D95 + thumb_func_end sub_020356C0 + + thumb_func_start sub_020356EC +sub_020356EC: ; 0x020356EC + push {r4, r5} + ldr r5, _02035718 ; =0x021D4134 + ldr r2, [r5, #8] + cmp r2, #0 + beq _02035712 + ldr r4, _0203571C ; =0x00000D95 + lsl r0, r0, #0x18 + ldrb r1, [r2, r4] + lsr r0, r0, #0x18 + mov r3, #2 + lsl r0, r0, #0x1f + bic r1, r3 + lsr r0, r0, #0x1e + orr r0, r1 + strb r0, [r2, r4] + ldr r2, _02035720 ; =0x0000FFFF + ldr r1, [r5, #8] + sub r0, r4, #7 + strh r2, [r1, r0] +_02035712: + pop {r4, r5} + bx lr + nop +_02035718: .word 0x021D4134 +_0203571C: .word 0x00000D95 +_02035720: .word 0x0000FFFF + thumb_func_end sub_020356EC + + thumb_func_start sub_02035724 +sub_02035724: ; 0x02035724 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_020DEFD4 + add r4, r0, #0 + cmp r5, #0x29 + blo _02035736 + bl GF_AssertFail +_02035736: + cmp r5, #0xa + bne _02035740 + lsl r0, r4, #0xe + lsr r0, r0, #0x10 + pop {r3, r4, r5, pc} +_02035740: + cmp r5, #9 + beq _02035748 + cmp r5, #0xd + bne _0203574E +_02035748: + lsl r0, r4, #0xe + lsr r0, r0, #0x10 + pop {r3, r4, r5, pc} +_0203574E: + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02035724 + + thumb_func_start sub_02035754 +sub_02035754: ; 0x02035754 + ldr r1, _0203577C ; =0x021D4134 + ldr r3, [r1, #8] + cmp r3, #0 + beq _02035776 + lsl r1, r0, #1 + add r2, r3, r1 + ldr r1, _02035780 ; =0x00000D44 + ldrh r1, [r2, r1] + cmp r1, #0 + beq _02035776 + mov r1, #0x45 + lsl r1, r1, #2 + add r2, r3, r1 + mov r1, #0xc0 + mul r1, r0 + add r0, r2, r1 + bx lr +_02035776: + mov r0, #0 + bx lr + nop +_0203577C: .word 0x021D4134 +_02035780: .word 0x00000D44 + thumb_func_end sub_02035754 + + thumb_func_start sub_02035784 +sub_02035784: ; 0x02035784 + ldr r0, _02035790 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035794 ; =0x00000D78 + ldr r0, [r1, r0] + bx lr + nop +_02035790: .word 0x021D4134 +_02035794: .word 0x00000D78 + thumb_func_end sub_02035784 + + thumb_func_start sub_02035798 +sub_02035798: ; 0x02035798 + ldr r1, _020357BC ; =0x021D4134 + ldr r3, [r1, #8] + lsl r1, r0, #1 + add r2, r3, r1 + ldr r1, _020357C0 ; =0x00000D44 + ldrh r1, [r2, r1] + cmp r1, #0 + bne _020357AC + mov r0, #0 + bx lr +_020357AC: + mov r1, #0x59 + lsl r1, r1, #2 + add r2, r3, r1 + mov r1, #0xc0 + mul r1, r0 + add r0, r2, r1 + add r0, #0x10 + bx lr + .balign 4, 0 +_020357BC: .word 0x021D4134 +_020357C0: .word 0x00000D44 + thumb_func_end sub_02035798 + + thumb_func_start sub_020357C4 +sub_020357C4: ; 0x020357C4 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _020357F4 ; =0x021D4134 + add r4, r1, #0 + ldr r0, [r0, #8] + cmp r0, #0 + beq _020357F0 + cmp r4, #8 + blt _020357DA + bl GF_AssertFail +_020357DA: + ldr r1, _020357F4 ; =0x021D4134 + add r0, r5, #0 + ldr r2, [r1, #8] + ldr r1, _020357F8 ; =0x00000D14 + add r3, r2, r1 + mov r2, #6 + add r1, r4, #0 + mul r1, r2 + add r1, r3, r1 + bl MIi_CpuCopy8 +_020357F0: + pop {r3, r4, r5, pc} + nop +_020357F4: .word 0x021D4134 +_020357F8: .word 0x00000D14 + thumb_func_end sub_020357C4 + + thumb_func_start sub_020357FC +sub_020357FC: ; 0x020357FC + ldr r0, _02035814 ; =0x021D4134 + ldr r1, [r0, #8] + cmp r1, #0 + beq _0203580E + ldr r0, _02035818 ; =0x00000D95 + ldrb r0, [r1, r0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + bx lr +_0203580E: + mov r0, #0 + bx lr + nop +_02035814: .word 0x021D4134 +_02035818: .word 0x00000D95 + thumb_func_end sub_020357FC + + thumb_func_start sub_0203581C +sub_0203581C: ; 0x0203581C + ldr r0, _02035830 ; =0x021D4134 + ldr r3, [r0, #8] + cmp r3, #0 + beq _0203582E + ldr r1, _02035834 ; =0x00000D95 + mov r0, #0x10 + ldrb r2, [r3, r1] + orr r0, r2 + strb r0, [r3, r1] +_0203582E: + bx lr + .balign 4, 0 +_02035830: .word 0x021D4134 +_02035834: .word 0x00000D95 + thumb_func_end sub_0203581C + + thumb_func_start sub_02035838 +sub_02035838: ; 0x02035838 + ldr r1, _02035848 ; =0x021D4134 + ldr r3, _0203584C ; =MIi_CpuCopy8 + ldr r2, [r1, #8] + ldr r1, _02035850 ; =0x00000D68 + add r1, r2, r1 + mov r2, #8 + bx r3 + nop +_02035848: .word 0x021D4134 +_0203584C: .word MIi_CpuCopy8 +_02035850: .word 0x00000D68 + thumb_func_end sub_02035838 + + thumb_func_start sub_02035854 +sub_02035854: ; 0x02035854 + push {r4, lr} + add r4, r0, #0 + bl sub_020290B4 + ldr r1, _02035870 ; =0x021D4134 + add r2, r0, #0 + ldr r3, [r1, #8] + ldr r1, _02035874 ; =0x00000D7C + add r0, r4, #0 + ldr r1, [r3, r1] + bl MIi_CpuCopy8 + pop {r4, pc} + nop +_02035870: .word 0x021D4134 +_02035874: .word 0x00000D7C + thumb_func_end sub_02035854 + + thumb_func_start sub_02035878 +sub_02035878: ; 0x02035878 + ldr r0, _02035884 ; =0x021D4134 + ldr r1, [r0, #8] + ldr r0, _02035888 ; =0x00000D7C + ldr r0, [r1, r0] + bx lr + nop +_02035884: .word 0x021D4134 +_02035888: .word 0x00000D7C + thumb_func_end sub_02035878 + + thumb_func_start sub_0203588C +sub_0203588C: ; 0x0203588C + push {r4, lr} + bl sub_020352D8 + ldr r3, _020358A8 ; =0x021D4134 + ldr r2, _020358AC ; =0x00000D88 + ldr r4, [r3, #8] + ldrh r3, [r3] + ldr r0, [r4, r2] + sub r2, #8 + ldr r2, [r4, r2] + mov r1, #0x5c + bl sub_020339B4 + pop {r4, pc} + .balign 4, 0 +_020358A8: .word 0x021D4134 +_020358AC: .word 0x00000D88 + thumb_func_end sub_0203588C + + thumb_func_start sub_020358B0 +sub_020358B0: ; 0x020358B0 + ldr r3, _020358B4 ; =sub_02033A44 + bx r3 + .balign 4, 0 +_020358B4: .word sub_02033A44 + thumb_func_end sub_020358B0 + + thumb_func_start sub_020358B8 +sub_020358B8: ; 0x020358B8 + push {r3, lr} + ldr r1, _020358CC ; =0x021D4134 + mov r2, #0x54 + ldr r1, [r1, #8] + bl MIi_CpuCopy8 + bl sub_0203588C + pop {r3, pc} + nop +_020358CC: .word 0x021D4134 + thumb_func_end sub_020358B8 + + thumb_func_start sub_020358D0 +sub_020358D0: ; 0x020358D0 + ldr r1, _020358F8 ; =0x021D4134 + ldr r3, [r1, #8] + cmp r3, #0 + beq _020358F4 + lsl r1, r0, #1 + add r2, r3, r1 + ldr r1, _020358FC ; =0x00000D44 + ldrh r1, [r2, r1] + cmp r1, #0 + beq _020358F4 + mov r1, #0x59 + lsl r1, r1, #2 + add r2, r3, r1 + mov r1, #0xc0 + mul r1, r0 + add r0, r2, r1 + add r0, #8 + bx lr +_020358F4: + mov r0, #0 + bx lr + .balign 4, 0 +_020358F8: .word 0x021D4134 +_020358FC: .word 0x00000D44 + thumb_func_end sub_020358D0 + + thumb_func_start sub_02035900 +sub_02035900: ; 0x02035900 + push {r4, r5, r6, lr} + add r5, r1, #0 + mov r4, #0 + ldr r1, _02035AB8 ; =0x021D4140 + cmp r0, #0 + strb r4, [r1, #1] + bne _02035910 + b _02035A58 +_02035910: + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r6, r0, #1 + ldr r0, _02035AB8 ; =0x021D4140 + ldr r0, [r0, #8] + cmp r0, #0 + beq _0203592A + mov r0, #1 + pop {r4, r5, r6, pc} +_0203592A: + mov r0, #0xf + bl sub_020379A0 + mov r1, #0x6e + mov r0, #0xf + lsl r1, r1, #4 + bl AllocFromHeap + ldr r2, _02035AB8 ; =0x021D4140 + mov r1, #0x1f + add r3, r0, #0 + and r3, r1 + mov r1, #0x20 + sub r1, r1, r3 + str r0, [r2, #4] + add r0, r1, r0 + str r0, [r2, #8] + mov r2, #0x1b + add r1, r4, #0 + lsl r2, r2, #6 + bl MIi_CpuFill8 + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _02035972 + ldr r0, _02035AB8 ; =0x021D4140 + lsl r2, r5, #1 + ldr r1, [r0, #8] + mov r0, #0x69 + add r2, #0x40 + lsl r0, r0, #4 + str r2, [r1, r0] + b _0203597E +_02035972: + ldr r0, _02035AB8 ; =0x021D4140 + add r5, #0x40 + ldr r1, [r0, #8] + mov r0, #0x69 + lsl r0, r0, #4 + str r5, [r1, r0] +_0203597E: + ldr r2, _02035AB8 ; =0x021D4140 + mov r1, #0x69 + ldr r0, [r2, #8] + lsl r1, r1, #4 + ldr r3, [r0, r1] + add r5, r3, #0 + mul r5, r6 + sub r3, r1, #4 + str r5, [r0, r3] + add r0, r1, #0 + ldr r3, [r2, #8] + mov r5, #0 + add r0, #0x1d + strb r5, [r3, r0] + add r0, r1, #0 + ldr r3, [r2, #8] + mov r5, #0x2a + add r0, #0x1e + strb r5, [r3, r0] + ldr r2, [r2, #8] + mov r0, #0xf + ldr r1, [r2, r1] + lsl r1, r1, #1 + bl AllocFromHeap + ldr r2, _02035AB8 ; =0x021D4140 + mov r1, #0x49 + ldr r3, [r2, #8] + lsl r1, r1, #4 + str r0, [r3, r1] + mov r1, #0x69 + ldr r2, [r2, #8] + lsl r1, r1, #4 + ldr r1, [r2, r1] + mov r0, #0xf + bl AllocFromHeap + ldr r2, _02035AB8 ; =0x021D4140 + ldr r1, _02035ABC ; =0x00000494 + ldr r3, [r2, #8] + str r0, [r3, r1] + ldr r2, [r2, #8] + ldr r1, _02035AC0 ; =0x0000068C + mov r0, #0xf + ldr r1, [r2, r1] + bl AllocFromHeap + ldr r2, _02035AB8 ; =0x021D4140 + ldr r1, _02035AC4 ; =0x0000048C + ldr r3, [r2, #8] + str r0, [r3, r1] + ldr r2, [r2, #8] + ldr r1, _02035AC0 ; =0x0000068C + mov r0, #0xf + ldr r1, [r2, r1] + bl AllocFromHeap + ldr r1, _02035AB8 ; =0x021D4140 + ldr r2, [r1, #8] + ldr r1, _02035AC8 ; =0x00000488 + str r0, [r2, r1] + bl sub_0203993C + cmp r0, #0xa + bne _02035A2C + ldr r0, _02035AB8 ; =0x021D4140 + mov r2, #0x16 + ldr r3, [r0, #8] + lsl r2, r2, #6 + add r0, r3, r2 + sub r2, #0xe8 + mov r1, #0x64 + add r2, r3, r2 + bl sub_02033F44 + ldr r0, _02035AB8 ; =0x021D4140 + mov r2, #0x5a + mov r1, #0x32 + ldr r3, [r0, #8] + lsl r2, r2, #4 + add r0, r3, r2 + sub r2, #0x90 + lsl r1, r1, #4 + add r2, r3, r2 + bl sub_02033F44 + b _02035A64 +_02035A2C: + ldr r0, _02035AB8 ; =0x021D4140 + mov r2, #0x16 + ldr r3, [r0, #8] + lsl r2, r2, #6 + add r0, r3, r2 + sub r2, #0xe8 + mov r1, #0x14 + add r2, r3, r2 + bl sub_02033F44 + ldr r0, _02035AB8 ; =0x021D4140 + mov r2, #0x5a + add r1, r5, #0 + ldr r3, [r0, #8] + lsl r2, r2, #4 + add r0, r3, r2 + sub r2, #0x90 + add r1, #0xee + add r2, r3, r2 + bl sub_02033F44 + b _02035A64 +_02035A58: + ldr r0, [r1, #8] + mov r4, #1 + cmp r0, #0 + bne _02035A64 + bl GF_AssertFail +_02035A64: + ldr r2, _02035AB8 ; =0x021D4140 + ldr r1, _02035ACC ; =0x00000694 + ldr r3, [r2, #8] + mov r0, #0 + strh r0, [r3, r1] + mov r5, #0xff + add r1, #0x12 +_02035A72: + ldr r3, [r2, #8] + add r3, r3, r0 + add r0, r0, #1 + strb r5, [r3, r1] + cmp r0, #4 + blt _02035A72 + cmp r4, #0 + bne _02035A86 + bl sub_02035DA4 +_02035A86: + ldr r0, _02035AB8 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02035AD0 ; =0x0000062C + add r0, r1, r0 + bl sub_0203778C + cmp r4, #0 + bne _02035AA8 + mov r1, #0 + ldr r0, _02035AD4 ; =sub_020360EC + add r2, r1, #0 + bl sub_0200E33C + ldr r1, _02035AB8 ; =0x021D4140 + ldr r2, [r1, #8] + ldr r1, _02035AD8 ; =0x0000057C + str r0, [r2, r1] +_02035AA8: + ldr r0, _02035AB8 ; =0x021D4140 + mov r2, #0 + ldr r1, [r0, #8] + ldr r0, _02035ADC ; =0x000006B6 + strb r2, [r1, r0] + mov r0, #1 + pop {r4, r5, r6, pc} + nop +_02035AB8: .word 0x021D4140 +_02035ABC: .word 0x00000494 +_02035AC0: .word 0x0000068C +_02035AC4: .word 0x0000048C +_02035AC8: .word 0x00000488 +_02035ACC: .word 0x00000694 +_02035AD0: .word 0x0000062C +_02035AD4: .word sub_020360EC +_02035AD8: .word 0x0000057C +_02035ADC: .word 0x000006B6 + thumb_func_end sub_02035900 + + thumb_func_start sub_02035AE0 +sub_02035AE0: ; 0x02035AE0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + mov r2, #0x66 + ldr r3, _02035D5C ; =0x021D4140 + add r7, r0, #1 + ldr r0, [r3, #8] + mov r1, #0 + lsl r2, r2, #4 + strb r1, [r0, r2] + add r0, r2, #1 + ldr r4, [r3, #8] + add r2, #0x2c + strb r1, [r4, r0] + ldr r3, [r3, #8] + ldr r0, _02035D60 ; =0x0000048C + ldr r2, [r3, r2] + ldr r0, [r3, r0] + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #0x60 + ldr r1, [r0, #8] + ldr r0, _02035D64 ; =0x0000051C + add r0, r1, r0 + mov r1, #0 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02035D68 ; =0x0000068C + ldr r0, [r1, r0] + add r1, r7, #0 + bl _s32_div_f + add r4, r0, #0 + mov r0, #0 + str r0, [sp, #4] + cmp r7, #0 + ble _02035B62 + add r6, r0, #0 + add r5, r0, #0 +_02035B3E: + ldr r0, _02035D5C ; =0x021D4140 + ldr r2, _02035D60 ; =0x0000048C + ldr r1, [r0, #8] + ldr r0, _02035D64 ; =0x0000051C + add r0, r1, r0 + ldr r1, [r1, r2] + add r0, r0, r5 + add r1, r1, r6 + add r2, r4, #0 + bl sub_02033AE0 + ldr r0, [sp, #4] + add r6, r6, r4 + add r0, r0, #1 + add r5, #0xc + str r0, [sp, #4] + cmp r0, r7 + blt _02035B3E +_02035B62: + ldr r0, _02035D5C ; =0x021D4140 + ldr r2, _02035D68 ; =0x0000068C + ldr r3, [r0, #8] + ldr r0, _02035D6C ; =0x00000488 + ldr r2, [r3, r2] + ldr r0, [r3, r0] + mov r1, #0 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #0x60 + ldr r1, [r0, #8] + mov r0, #0x4b + lsl r0, r0, #4 + add r0, r1, r0 + mov r1, #0 + bl MIi_CpuFill8 + mov r0, #0 + str r0, [sp] + cmp r7, #0 + ble _02035BB8 + add r6, r0, #0 + add r5, r0, #0 +_02035B92: + ldr r0, _02035D5C ; =0x021D4140 + ldr r2, _02035D6C ; =0x00000488 + ldr r1, [r0, #8] + mov r0, #0x4b + lsl r0, r0, #4 + add r0, r1, r0 + ldr r1, [r1, r2] + add r0, r0, r5 + add r1, r1, r6 + add r2, r4, #0 + bl sub_02033AE0 + ldr r0, [sp] + add r6, r6, r4 + add r0, r0, #1 + add r5, #0xc + str r0, [sp] + cmp r0, r7 + blt _02035B92 +_02035BB8: + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #6 + ldr r1, [r0, #8] + mov r0, #0xc2 + lsl r0, r0, #2 + add r0, r1, r0 + mov r1, #0 + lsl r2, r2, #6 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r1, #0xc2 + ldr r2, [r0, #8] + mov r0, #0x51 + lsl r0, r0, #4 + lsl r1, r1, #2 + add r0, r2, r0 + add r1, r2, r1 + mov r2, #6 + lsl r2, r2, #6 + bl sub_02033AE0 + ldr r0, _02035D5C ; =0x021D4140 + mov r1, #0xee + ldr r0, [r0, #8] + add r2, r1, #0 + add r0, #0x80 + add r2, #0x92 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #5 + lsl r0, r0, #6 + add r0, r1, r0 + mov r1, #0xee + add r2, r1, #0 + add r2, #0x92 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #2 + ldr r0, [r0, #8] + lsl r2, r2, #8 + add r0, r0, r2 + mov r1, #0 + sub r2, #0xf8 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #2 + ldr r1, [r0, #8] + ldr r0, _02035D70 ; =0x00000498 + lsl r2, r2, #8 + add r0, r1, r0 + add r1, r1, r2 + sub r2, #0xf8 + bl sub_02033AE0 + ldr r0, _02035D5C ; =0x021D4140 + mov r1, #0xee + ldr r0, [r0, #8] + mov r2, #0x26 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r1, #0xee + ldr r0, [r0, #8] + mov r2, #0x26 + add r0, #0x40 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #0xff + ldr r1, [r0, #8] + strb r2, [r1] + ldr r1, [r0, #8] + add r1, #0x40 + strb r2, [r1] + ldr r3, [r0, #8] + mov r2, #0x69 + mov r0, #0x49 + lsl r2, r2, #4 + lsl r0, r0, #4 + ldr r2, [r3, r2] + ldr r0, [r3, r0] + mov r1, #0 + lsl r2, r2, #1 + bl MIi_CpuFill8 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #0x69 + ldr r3, [r0, #8] + ldr r1, _02035D74 ; =0x000004A4 + lsl r2, r2, #4 + add r0, r3, r1 + sub r1, #0x14 + ldr r2, [r3, r2] + ldr r1, [r3, r1] + lsl r2, r2, #1 + bl sub_02033AE0 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #0 + ldr r3, [r0, #8] + ldr r1, _02035D78 ; =0x000006B4 + mov ip, r2 + strb r2, [r3, r1] + ldr r3, [r0, #8] + add r1, r1, #1 + strb r2, [r3, r1] + add r1, r2, #0 + add r7, r2, #0 + add r6, r2, #0 +_02035C9C: + ldr r3, [r0, #8] + add r4, r3, r2 + ldr r3, _02035D7C ; =0x00000696 + strb r6, [r4, r3] + ldr r3, [r0, #8] + ldr r4, _02035D80 ; =0x0000069E + add r5, r3, r2 + mov r3, #1 + strb r3, [r5, r4] + ldr r4, [r0, #8] + mov r3, ip + add r4, r4, r3 + ldr r3, _02035D84 ; =0x00000644 + add r2, r2, #1 + strh r6, [r4, r3] + ldr r3, [r0, #8] + mov r4, #0xee + add r5, r3, r1 + ldr r3, _02035D88 ; =0x000005CA + strb r4, [r5, r3] + ldr r3, [r0, #8] + ldr r4, _02035D8C ; =0x0000FFFF + add r5, r3, r1 + ldr r3, _02035D90 ; =0x000005C8 + strh r4, [r5, r3] + ldr r3, [r0, #8] + add r4, r3, r1 + ldr r3, _02035D94 ; =0x000005C4 + str r6, [r4, r3] + ldr r3, [r0, #8] + add r4, r3, r1 + mov r3, #0x17 + lsl r3, r3, #6 + str r6, [r4, r3] + ldr r3, [r0, #8] + add r1, #0xc + add r4, r3, r7 + ldr r3, _02035D98 ; =0x0000066C + add r7, r7, #4 + str r6, [r4, r3] + mov r3, ip + add r3, r3, #2 + mov ip, r3 + cmp r2, #8 + blt _02035C9C + ldr r1, _02035D5C ; =0x021D4140 + ldr r0, _02035D9C ; =0x00000668 + ldr r2, [r1, #8] + add r3, r0, #0 + str r6, [r2, r0] + ldr r4, [r1, #8] + sub r3, #0x3e + mov r2, #0xee + strb r2, [r4, r3] + add r3, r0, #0 + ldr r4, [r1, #8] + ldr r2, _02035D8C ; =0x0000FFFF + sub r3, #0x40 + strh r2, [r4, r3] + add r2, r0, #0 + ldr r3, [r1, #8] + sub r2, #0x44 + str r6, [r3, r2] + add r2, r0, #0 + ldr r3, [r1, #8] + sub r2, #0x48 + str r6, [r3, r2] + add r3, r0, #0 + ldr r4, [r1, #8] + add r3, #0x4a + mov r2, #1 + strb r2, [r4, r3] + add r3, r0, #0 + ldr r4, [r1, #8] + add r3, #0x4b + strb r2, [r4, r3] + strb r6, [r1] + ldr r1, [r1, #8] + sub r0, #0xe8 + add r0, r1, r0 + bl sub_02033F70 + ldr r0, _02035D5C ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r1, r0 + bl sub_02033F70 + ldr r0, _02035D5C ; =0x021D4140 + mov r2, #0 + ldr r1, [r0, #8] + ldr r0, _02035DA0 ; =0x000006B7 + strb r2, [r1, r0] + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02035D5C: .word 0x021D4140 +_02035D60: .word 0x0000048C +_02035D64: .word 0x0000051C +_02035D68: .word 0x0000068C +_02035D6C: .word 0x00000488 +_02035D70: .word 0x00000498 +_02035D74: .word 0x000004A4 +_02035D78: .word 0x000006B4 +_02035D7C: .word 0x00000696 +_02035D80: .word 0x0000069E +_02035D84: .word 0x00000644 +_02035D88: .word 0x000005CA +_02035D8C: .word 0x0000FFFF +_02035D90: .word 0x000005C8 +_02035D94: .word 0x000005C4 +_02035D98: .word 0x0000066C +_02035D9C: .word 0x00000668 +_02035DA0: .word 0x000006B7 + thumb_func_end sub_02035AE0 + + thumb_func_start sub_02035DA4 +sub_02035DA4: ; 0x02035DA4 + push {r4, lr} + ldr r2, _02035DCC ; =0x021D4140 + ldr r1, _02035DD0 ; =0x000006AF + ldr r0, [r2, #8] + mov r4, #0 + strb r4, [r0, r1] + ldr r3, [r2, #8] + add r0, r1, #1 + strb r4, [r3, r0] + ldr r0, [r2, #8] + mov r3, #1 + sub r1, #0x4b + str r3, [r0, r1] + bl sub_02035AE0 + ldr r0, _02035DD4 ; =0x0210F900 + mov r1, #4 + strb r1, [r0] + strb r1, [r0, #1] + pop {r4, pc} + .balign 4, 0 +_02035DCC: .word 0x021D4140 +_02035DD0: .word 0x000006AF +_02035DD4: .word 0x0210F900 + thumb_func_end sub_02035DA4 + + thumb_func_start sub_02035DD8 +sub_02035DD8: ; 0x02035DD8 + ldr r3, _02035DDC ; =sub_02035AE0 + bx r3 + .balign 4, 0 +_02035DDC: .word sub_02035AE0 + thumb_func_end sub_02035DD8 + + thumb_func_start sub_02035DE0 +sub_02035DE0: ; 0x02035DE0 + push {r3, r4, r5, r6, r7, lr} + ldr r4, _02035E84 ; =0x021D4140 + add r5, r0, #0 + ldr r0, [r4, #8] + ldr r3, _02035E88 ; =0x00000696 + mov r1, #0 + add r0, r0, r5 + strb r1, [r0, r3] + ldr r2, [r4, #8] + mov r0, #1 + add r6, r2, r5 + add r2, r3, #0 + add r2, #8 + strb r0, [r6, r2] + ldr r2, [r4, #8] + lsl r0, r5, #2 + add r0, r2, r0 + sub r3, #0x2a + str r1, [r0, r3] + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r1, r0, #0 + add r0, r4, #0 + ldr r6, [r0, #8] + ldr r0, _02035E8C ; =0x0000068C + add r1, r1, #1 + ldr r0, [r6, r0] + bl _s32_div_f + add r7, r5, #0 + mov r1, #0x4b + str r0, [sp] + mul r7, r0 + mov r0, #0xc + add r4, r5, #0 + lsl r1, r1, #4 + mul r4, r0 + add r0, r6, r1 + sub r1, #0x28 + ldr r1, [r6, r1] + ldr r2, [sp] + add r0, r0, r4 + add r1, r1, r7 + bl sub_02033AE0 + ldr r0, _02035E84 ; =0x021D4140 + ldr r1, _02035E90 ; =0x0000051C + ldr r2, [r0, #8] + add r0, r2, r1 + sub r1, #0x90 + ldr r1, [r2, r1] + ldr r2, [sp] + add r0, r0, r4 + add r1, r1, r7 + bl sub_02033AE0 + ldr r3, _02035E84 ; =0x021D4140 + ldr r2, _02035E94 ; =0x000005CA + ldr r0, [r3, #8] + mov r1, #0xee + add r0, r0, r4 + strb r1, [r0, r2] + ldr r0, [r3, #8] + ldr r5, _02035E98 ; =0x0000FFFF + add r1, r0, r4 + sub r0, r2, #2 + strh r5, [r1, r0] + ldr r1, [r3, #8] + mov r0, #0 + add r5, r1, r4 + sub r1, r2, #6 + str r0, [r5, r1] + ldr r1, [r3, #8] + sub r2, #0xa + add r1, r1, r4 + str r0, [r1, r2] + pop {r3, r4, r5, r6, r7, pc} + nop +_02035E84: .word 0x021D4140 +_02035E88: .word 0x00000696 +_02035E8C: .word 0x0000068C +_02035E90: .word 0x0000051C +_02035E94: .word 0x000005CA +_02035E98: .word 0x0000FFFF + thumb_func_end sub_02035DE0 + + thumb_func_start sub_02035E9C +sub_02035E9C: ; 0x02035E9C + push {r4, r5, r6, lr} + ldr r4, _02035EC8 ; =0x021D4140 + ldr r6, _02035ECC ; =0x0000069E + mov r5, #1 +_02035EA4: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + bne _02035EC0 + ldr r0, [r4, #8] + add r0, r0, r5 + ldrb r0, [r0, r6] + cmp r0, #0 + bne _02035EC0 + add r0, r5, #0 + bl sub_02035DE0 +_02035EC0: + add r5, r5, #1 + cmp r5, #8 + blt _02035EA4 + pop {r4, r5, r6, pc} + .balign 4, 0 +_02035EC8: .word 0x021D4140 +_02035ECC: .word 0x0000069E + thumb_func_end sub_02035E9C + + thumb_func_start sub_02035ED0 +sub_02035ED0: ; 0x02035ED0 + ldr r3, _02035ED4 ; =sub_02035DE0 + bx r3 + .balign 4, 0 +_02035ED4: .word sub_02035DE0 + thumb_func_end sub_02035ED0 + + thumb_func_start sub_02035ED8 +sub_02035ED8: ; 0x02035ED8 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + str r3, [sp] + mov r4, #1 + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + bne _02035F02 + ldr r2, [sp] + add r0, r5, #0 + add r1, r6, #0 + bl sub_02034EF0 + add r4, r0, #0 + ldr r0, _02035F10 ; =sub_02035ED0 + bl sub_02033A90 +_02035F02: + add r0, r5, #0 + add r1, r7, #0 + bl sub_02035900 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_02035F10: .word sub_02035ED0 + thumb_func_end sub_02035ED8 + + thumb_func_start sub_02035F14 +sub_02035F14: ; 0x02035F14 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + mov r4, #1 + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + bne _02035F34 + add r0, r5, #0 + add r1, r6, #0 + bl sub_02034F64 + add r4, r0, #0 +_02035F34: + add r0, r5, #0 + add r1, r7, #0 + bl sub_02035900 + ldr r0, _02035F48 ; =0x0210F900 + mov r1, #4 + strb r1, [r0, #1] + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_02035F48: .word 0x0210F900 + thumb_func_end sub_02035F14 + + thumb_func_start sub_02035F4C +sub_02035F4C: ; 0x02035F4C + push {r4, lr} + mov r4, #0 + bl sub_0203769C + cmp r0, #0 + bne _02035F62 + ldr r0, _02035F9C ; =0x0210F900 + ldrb r0, [r0] + cmp r0, #4 + beq _02035F6A + pop {r4, pc} +_02035F62: + ldr r0, _02035F9C ; =0x0210F900 + ldrb r0, [r0, #1] + cmp r0, #4 + bne _02035F98 +_02035F6A: + ldr r0, _02035FA0 ; =0x021D4140 + ldr r2, [r0, #8] + ldr r0, _02035FA4 ; =0x000006AD + ldrb r1, [r2, r0] + cmp r1, #2 + bne _02035F7C + mov r1, #0 + strb r1, [r2, r0] + mov r4, #1 +_02035F7C: + ldr r0, _02035FA0 ; =0x021D4140 + ldr r2, [r0, #8] + ldr r0, _02035FA4 ; =0x000006AD + ldrb r1, [r2, r0] + cmp r1, #3 + bne _02035F8C + mov r4, #1 + strb r4, [r2, r0] +_02035F8C: + cmp r4, #0 + beq _02035F94 + bl sub_02035DD8 +_02035F94: + bl sub_02037594 +_02035F98: + pop {r4, pc} + nop +_02035F9C: .word 0x0210F900 +_02035FA0: .word 0x021D4140 +_02035FA4: .word 0x000006AD + thumb_func_end sub_02035F4C + + thumb_func_start sub_02035FA8 +sub_02035FA8: ; 0x02035FA8 + ldr r1, _02035FD0 ; =0x021D4140 + ldr r3, [r1, #8] + ldr r1, _02035FD4 ; =0x000006AD + ldrb r2, [r3, r1] + cmp r2, #0 + bne _02035FBE + cmp r0, #1 + bne _02035FBE + mov r0, #3 + strb r0, [r3, r1] + bx lr +_02035FBE: + cmp r2, #1 + bne _02035FCC + cmp r0, #0 + bne _02035FCC + ldr r0, _02035FD4 ; =0x000006AD + mov r1, #2 + strb r1, [r3, r0] +_02035FCC: + bx lr + nop +_02035FD0: .word 0x021D4140 +_02035FD4: .word 0x000006AD + thumb_func_end sub_02035FA8 + + thumb_func_start sub_02035FD8 +sub_02035FD8: ; 0x02035FD8 + ldr r3, _02035FE0 ; =sub_02035FA8 + mov r0, #1 + bx r3 + nop +_02035FE0: .word sub_02035FA8 + thumb_func_end sub_02035FD8 + + thumb_func_start sub_02035FE4 +sub_02035FE4: ; 0x02035FE4 + ldr r3, _02035FEC ; =sub_02035FA8 + mov r0, #0 + bx r3 + nop +_02035FEC: .word sub_02035FA8 + thumb_func_end sub_02035FE4 + + thumb_func_start sub_02035FF0 +sub_02035FF0: ; 0x02035FF0 + ldr r0, _02036008 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _0203600C ; =0x000006AD + ldrb r0, [r1, r0] + cmp r0, #2 + bne _02036000 + mov r0, #1 + bx lr +_02036000: + cmp r0, #3 + bne _02036006 + mov r0, #0 +_02036006: + bx lr + .balign 4, 0 +_02036008: .word 0x021D4140 +_0203600C: .word 0x000006AD + thumb_func_end sub_02035FF0 + + thumb_func_start sub_02036010 +sub_02036010: ; 0x02036010 + push {r3, lr} + bl sub_02035FF0 + cmp r0, #1 + bne _0203601E + mov r0, #1 + pop {r3, pc} +_0203601E: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02036010 + + thumb_func_start sub_02036024 +sub_02036024: ; 0x02036024 + push {r4, lr} + ldr r0, _020360D0 ; =0x021D4140 + mov r4, #0 + ldr r0, [r0, #8] + cmp r0, #0 + beq _0203604E + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _02036044 + bl ov00_021E6CB8 + mov r4, #1 + b _0203604E +_02036044: + bl sub_0203507C + cmp r0, #0 + beq _0203604E + mov r4, #1 +_0203604E: + cmp r4, #0 + beq _020360CE + bl sub_020379F8 + bl sub_020343E4 + ldr r0, _020360D0 ; =0x021D4140 + mov r1, #0 + strb r1, [r0, #1] + ldr r1, [r0, #8] + ldr r0, _020360D4 ; =0x0000057C + ldr r0, [r1, r0] + bl sub_0200E390 + ldr r1, _020360D0 ; =0x021D4140 + ldr r0, _020360D4 ; =0x0000057C + ldr r2, [r1, #8] + mov r3, #0 + str r3, [r2, r0] + ldr r1, [r1, #8] + sub r0, #0xec + ldr r0, [r1, r0] + bl FreeToHeap + ldr r0, _020360D0 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _020360D8 ; =0x00000494 + ldr r0, [r1, r0] + bl FreeToHeap + ldr r0, _020360D0 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _020360DC ; =0x0000048C + ldr r0, [r1, r0] + bl FreeToHeap + ldr r0, _020360D0 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _020360E0 ; =0x00000488 + ldr r0, [r1, r0] + bl FreeToHeap + ldr r0, _020360D0 ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r1, r0 + bl sub_02033F90 + ldr r0, _020360D0 ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #0x16 + lsl r0, r0, #6 + add r0, r1, r0 + bl sub_02033F90 + ldr r0, _020360D0 ; =0x021D4140 + ldr r0, [r0, #4] + bl FreeToHeap + ldr r0, _020360D0 ; =0x021D4140 + mov r1, #0 + str r1, [r0, #8] + str r1, [r0, #4] +_020360CE: + pop {r4, pc} + .balign 4, 0 +_020360D0: .word 0x021D4140 +_020360D4: .word 0x0000057C +_020360D8: .word 0x00000494 +_020360DC: .word 0x0000048C +_020360E0: .word 0x00000488 + thumb_func_end sub_02036024 + + thumb_func_start sub_020360E4 +sub_020360E4: ; 0x020360E4 + ldr r3, _020360E8 ; =sub_02035218 + bx r3 + .balign 4, 0 +_020360E8: .word sub_02035218 + thumb_func_end sub_020360E4 + + thumb_func_start sub_020360EC +sub_020360EC: ; 0x020360EC + push {r3, lr} + ldr r0, _02036118 ; =0x021D4140 + ldrb r0, [r0, #1] + cmp r0, #0 + beq _02036116 + bl sub_02036AD8 + bl sub_0203769C + cmp r0, #0 + bne _02036110 + mov r0, #0 + bl sub_020373B4 + cmp r0, #0 + beq _02036110 + bl sub_02036508 +_02036110: + ldr r0, _02036118 ; =0x021D4140 + mov r1, #0 + strb r1, [r0, #1] +_02036116: + pop {r3, pc} + .balign 4, 0 +_02036118: .word 0x021D4140 + thumb_func_end sub_020360EC + + thumb_func_start sub_0203611C +sub_0203611C: ; 0x0203611C + push {r3, lr} + bl sub_020357FC + cmp r0, #0 + beq _02036140 + bl sub_0203769C + cmp r0, #0 + bne _0203613C + bl sub_0203567C + cmp r0, #0 + bne _02036140 + bl sub_02036024 + pop {r3, pc} +_0203613C: + bl sub_02036024 +_02036140: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203611C + + thumb_func_start sub_02036144 +sub_02036144: ; 0x02036144 + push {r4, lr} + bl sub_0203817C + ldr r3, _02036214 ; =0x021D4140 + ldr r0, [r3, #8] + cmp r0, #0 + beq _020361FE + ldr r2, _02036218 ; =0x000006B9 + ldrb r1, [r0, r2] + cmp r1, #0 + bne _020361E0 + add r1, r2, #3 + ldrb r1, [r0, r1] + add r4, r1, #1 + add r1, r2, #3 + strb r4, [r0, r1] + mov r0, #0 + strb r0, [r3, #1] + bl sub_02035F4C + ldr r0, _02036214 ; =0x021D4140 + ldr r1, _0203621C ; =gMain + ldr r0, [r0, #8] + ldr r2, _02036220 ; =0x0000065C + ldr r3, [r1, #0x44] + ldr r1, _02036224 ; =0x00007FFF + ldrh r4, [r0, r2] + and r1, r3 + orr r1, r4 + strh r1, [r0, r2] + bl sub_02036BE4 + bl sub_02036298 + ldr r0, _02036214 ; =0x021D4140 + ldr r1, _02036220 ; =0x0000065C + ldr r3, [r0, #8] + mov r0, #2 + ldrh r2, [r3, r1] + lsl r0, r0, #0xe + and r0, r2 + strh r0, [r3, r1] + bl sub_02035FF0 + cmp r0, #0 + bne _020361A4 + bl sub_020372E4 +_020361A4: + bl sub_0203769C + cmp r0, #0 + bne _020361C6 + mov r0, #0 + bl sub_020373B4 + cmp r0, #0 + beq _020361C6 + bl sub_0203993C + bl sub_02034084 + cmp r0, #0 + bne _020361C6 + bl sub_0203667C +_020361C6: + bl sub_0203769C + cmp r0, #0 + beq _020361D6 + bl sub_02035FF0 + cmp r0, #1 + bne _020361DA +_020361D6: + bl sub_02037334 +_020361DA: + ldr r0, _02036214 ; =0x021D4140 + mov r1, #1 + strb r1, [r0, #1] +_020361E0: + ldr r0, _02036214 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02036228 ; =0x00000694 + ldrh r0, [r1, r0] + bl sub_020355C8 + bl sub_0203769C + cmp r0, #0 + bne _020361F8 + bl sub_02035E9C +_020361F8: + bl sub_0203611C + b _02036204 +_020361FE: + mov r0, #0 + bl sub_020355C8 +_02036204: + mov r0, #0 + bl sub_02039A00 + bl sub_02037ADC + mov r0, #1 + pop {r4, pc} + nop +_02036214: .word 0x021D4140 +_02036218: .word 0x000006B9 +_0203621C: .word gMain +_02036220: .word 0x0000065C +_02036224: .word 0x00007FFF +_02036228: .word 0x00000694 + thumb_func_end sub_02036144 + + thumb_func_start sub_0203622C +sub_0203622C: ; 0x0203622C + push {r4, lr} + ldr r0, _02036248 ; =0x021D4140 + mov r1, #0 + ldrb r4, [r0, #1] + strb r1, [r0, #1] + ldr r0, [r0, #8] + cmp r0, #0 + beq _02036240 + bl sub_02035DA4 +_02036240: + ldr r0, _02036248 ; =0x021D4140 + strb r4, [r0, #1] + pop {r4, pc} + nop +_02036248: .word 0x021D4140 + thumb_func_end sub_0203622C + + thumb_func_start sub_0203624C +sub_0203624C: ; 0x0203624C + push {r4, lr} + ldr r0, _0203626C ; =0x021D4140 + mov r1, #0 + ldrb r4, [r0, #1] + strb r1, [r0, #1] + ldr r2, [r0, #8] + cmp r2, #0 + beq _02036266 + ldr r0, _02036270 ; =0x000006AD + mov r1, #1 + strb r1, [r2, r0] + bl sub_02035DA4 +_02036266: + ldr r0, _0203626C ; =0x021D4140 + strb r4, [r0, #1] + pop {r4, pc} + .balign 4, 0 +_0203626C: .word 0x021D4140 +_02036270: .word 0x000006AD + thumb_func_end sub_0203624C + + thumb_func_start sub_02036274 +sub_02036274: ; 0x02036274 + push {r4, lr} + ldr r0, _02036294 ; =0x021D4140 + mov r1, #0 + ldrb r4, [r0, #1] + strb r1, [r0, #1] + ldr r0, [r0, #8] + cmp r0, #0 + beq _0203628C + bl sub_02035DA4 + bl sub_02034E2C +_0203628C: + ldr r0, _02036294 ; =0x021D4140 + strb r4, [r0, #1] + pop {r4, pc} + nop +_02036294: .word 0x021D4140 + thumb_func_end sub_02036274 + + thumb_func_start sub_02036298 +sub_02036298: ; 0x02036298 + push {r3, r4, r5, r6, r7, lr} + bl sub_0203993C + bl sub_02034084 + cmp r0, #0 + beq _0203634C + ldr r0, _02036420 ; =0x021D4140 + ldr r1, _02036424 ; =0x000006B6 + ldr r0, [r0, #8] + ldrb r2, [r0, r1] + cmp r2, #0 + beq _02036308 + sub r1, #0x52 + ldr r1, [r0, r1] + cmp r1, #0 + beq _020362DA + bl sub_02036630 + cmp r0, #0 + beq _020362F8 + ldr r0, _02036428 ; =0x0210F900 + ldrb r0, [r0, #1] + cmp r0, #4 + bne _020362F0 + ldr r0, _02036420 ; =0x021D4140 + ldr r0, [r0, #8] + bl sub_02036E60 + ldr r0, _02036428 ; =0x0210F900 + mov r1, #2 + strb r1, [r0, #1] + b _020362F0 +_020362DA: + ldr r1, _02036428 ; =0x0210F900 + ldrb r1, [r1, #1] + cmp r1, #4 + bne _020362F0 + bl sub_02036E60 + cmp r0, #0 + beq _020362F8 + ldr r0, _02036428 ; =0x0210F900 + mov r1, #2 + strb r1, [r0, #1] +_020362F0: + bl sub_02036FA8 + cmp r0, #0 + beq _020362FA +_020362F8: + b _0203641C +_020362FA: + ldr r0, _02036420 ; =0x021D4140 + mov r1, #0x26 + ldr r0, [r0, #8] + bl ov00_021E60E8 + cmp r0, #0 + bne _0203630A +_02036308: + b _0203641C +_0203630A: + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r6, r0, #1 + mov r4, #0 + cmp r6, #0 + ble _02036344 + ldr r7, _02036420 ; =0x021D4140 + add r5, r4, #0 +_02036322: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _0203633C + ldr r0, [r7, #8] + ldr r1, _0203642C ; =0x0000066C + add r0, r0, r5 + ldr r1, [r0, r1] + add r2, r1, #1 + ldr r1, _0203642C ; =0x0000066C + str r2, [r0, r1] +_0203633C: + add r4, r4, #1 + add r5, r5, #4 + cmp r4, r6 + blt _02036322 +_02036344: + ldr r0, _02036428 ; =0x0210F900 + mov r1, #4 + strb r1, [r0, #1] + pop {r3, r4, r5, r6, r7, pc} +_0203634C: + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _020363CA + ldr r0, _02036420 ; =0x021D4140 + ldr r2, _02036424 ; =0x000006B6 + ldr r0, [r0, #8] + ldrb r1, [r0, r2] + cmp r1, #0 + beq _0203641C + add r1, r2, #0 + sub r1, #0x52 + ldr r1, [r0, r1] + cmp r1, #0 + beq _0203638A + sub r2, #0x4e + ldr r1, [r0, r2] + cmp r1, #3 + bgt _0203641C + ldr r1, _02036428 ; =0x0210F900 + ldrb r1, [r1, #1] + cmp r1, #4 + bne _020363A0 + bl sub_02036E60 + ldr r0, _02036428 ; =0x0210F900 + mov r1, #2 + strb r1, [r0, #1] + b _020363A0 +_0203638A: + ldr r1, _02036428 ; =0x0210F900 + ldrb r1, [r1, #1] + cmp r1, #4 + bne _020363A0 + bl sub_02036E60 + cmp r0, #0 + beq _0203641C + ldr r0, _02036428 ; =0x0210F900 + mov r1, #2 + strb r1, [r0, #1] +_020363A0: + bl sub_02036FA8 + cmp r0, #0 + bne _0203641C + ldr r0, _02036420 ; =0x021D4140 + mov r1, #0x26 + ldr r0, [r0, #8] + bl ov00_021E5F84 + cmp r0, #0 + beq _0203641C + ldr r0, _02036428 ; =0x0210F900 + mov r1, #4 + strb r1, [r0, #1] + ldr r0, _02036420 ; =0x021D4140 + ldr r2, [r0, #8] + ldr r0, _02036430 ; =0x00000668 + ldr r1, [r2, r0] + add r1, r1, #1 + str r1, [r2, r0] + pop {r3, r4, r5, r6, r7, pc} +_020363CA: + bl sub_02033298 + cmp r0, #4 + bne _0203641C + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + beq _0203641C + ldr r0, _02036428 ; =0x0210F900 + ldrb r0, [r0, #1] + cmp r0, #4 + bne _02036418 + ldr r0, _02036420 ; =0x021D4140 + ldr r2, [r0, #8] + ldr r0, _02036430 ; =0x00000668 + ldr r1, [r2, r0] + cmp r1, #3 + bgt _02036418 + add r0, #0x47 + ldrb r0, [r2, r0] + lsl r0, r0, #6 + add r0, r2, r0 + bl sub_02036E60 + ldr r0, _02036420 ; =0x021D4140 + ldr r2, [r0, #8] + ldr r0, _02036434 ; =0x000006AF + ldrb r1, [r2, r0] + mov r0, #1 + sub r0, r0, r1 + lsl r0, r0, #6 + add r0, r2, r0 + bl sub_02036E60 + ldr r0, _02036428 ; =0x0210F900 + mov r1, #0 + strb r1, [r0, #1] +_02036418: + bl sub_02036AD8 +_0203641C: + pop {r3, r4, r5, r6, r7, pc} + nop +_02036420: .word 0x021D4140 +_02036424: .word 0x000006B6 +_02036428: .word 0x0210F900 +_0203642C: .word 0x0000066C +_02036430: .word 0x00000668 +_02036434: .word 0x000006AF + thumb_func_end sub_02036298 + + thumb_func_start sub_02036438 +sub_02036438: ; 0x02036438 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + str r0, [sp] + mov r7, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203772C + str r0, [sp, #0xc] + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r0, r0, #1 + str r0, [sp, #8] + add r0, r7, #0 + str r0, [sp, #4] + ldr r0, [sp, #8] + cmp r0, #0 + ble _020364F0 + ldr r0, [sp] + ldr r6, [sp, #4] + mov r1, #0xc0 + add r5, r0, #0 + add r4, r6, #0 + mul r5, r1 +_02036474: + ldr r0, _02036504 ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #0x4b + lsl r0, r0, #4 + add r0, r1, r0 + add r0, r0, r6 + bl sub_02033C28 + ldr r0, [sp, #4] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _020364A2 + ldr r0, _02036504 ; =0x021D4140 + ldr r0, [r0, #8] + add r0, r5, r0 + add r1, r4, r0 + add r1, #0x80 + mov r0, #0xe + strb r0, [r1] + b _020364B4 +_020364A2: + ldr r0, _02036504 ; =0x021D4140 + add r7, r7, #1 + ldr r0, [r0, #8] + add r0, r5, r0 + add r1, r4, r0 + add r1, #0x80 + mov r0, #0xff + strb r0, [r1] + b _020364DE +_020364B4: + ldr r0, _02036504 ; =0x021D4140 + ldr r2, [sp, #0xc] + ldr r1, [r0, #8] + mov r0, #0x4b + lsl r0, r0, #4 + add r0, r1, r0 + add r1, #0x80 + add r1, r1, r5 + add r0, r0, r6 + add r1, r1, r4 + bl sub_02033B4C + ldr r0, _02036504 ; =0x021D4140 + ldr r0, [r0, #8] + add r0, r5, r0 + add r0, r4, r0 + add r0, #0x80 + ldrb r0, [r0] + cmp r0, #0xe + bne _020364DE + add r7, r7, #1 +_020364DE: + ldr r0, [sp, #0xc] + add r6, #0xc + add r4, r4, r0 + ldr r0, [sp, #4] + add r1, r0, #1 + ldr r0, [sp, #8] + str r1, [sp, #4] + cmp r1, r0 + blt _02036474 +_020364F0: + ldr r0, [sp, #8] + cmp r7, r0 + bne _020364FC + add sp, #0x10 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_020364FC: + mov r0, #1 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + nop +_02036504: .word 0x021D4140 + thumb_func_end sub_02036438 + + thumb_func_start sub_02036508 +sub_02036508: ; 0x02036508 + push {r3, r4, r5, r6, r7, lr} + ldr r0, _02036620 ; =0x021D4140 + ldr r0, [r0, #8] + cmp r0, #0 + bne _02036514 + b _0203661C +_02036514: + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + bne _0203661C + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203772C + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r6, r0, #1 + ldr r0, _02036624 ; =0x0210F900 + ldrb r1, [r0] + cmp r1, #2 + beq _02036548 + ldrb r0, [r0] + cmp r0, #0 + bne _0203661C +_02036548: + ldr r0, _02036624 ; =0x0210F900 + ldrb r1, [r0] + add r1, r1, #1 + strb r1, [r0] + bl sub_02035FF0 + cmp r0, #1 + bne _02036572 + ldr r0, _02036620 ; =0x021D4140 + ldrb r1, [r0] + cmp r1, #0 + bne _02036572 + ldr r1, [r0, #8] + mov r0, #0x6b + lsl r0, r0, #4 + ldrb r0, [r1, r0] + bl sub_02036438 + ldr r0, _02036620 ; =0x021D4140 + mov r1, #1 + strb r1, [r0] +_02036572: + bl sub_02033298 + cmp r0, #4 + bne _020365A4 + ldr r0, _02036620 ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #0x6b + lsl r0, r0, #4 + ldrb r0, [r1, r0] + add r3, r1, #0 + mov r1, #0xc0 + add r2, r0, #0 + add r3, #0x80 + mul r2, r1 + add r0, r3, r2 + ldr r3, _02036628 ; =sub_02036ABC + mov r2, #0xe + bl sub_02033800 + cmp r0, #0 + bne _020365A4 + ldr r0, _02036624 ; =0x0210F900 + ldrb r1, [r0] + sub r1, r1, #1 + strb r1, [r0] +_020365A4: + ldr r0, _02036624 ; =0x0210F900 + ldrb r1, [r0] + cmp r1, #1 + beq _020365B2 + ldrb r0, [r0] + cmp r0, #3 + bne _0203660C +_020365B2: + ldr r7, _02036620 ; =0x021D4140 + mov r4, #0 + strb r4, [r7] + cmp r6, #0 + ble _020365E0 + add r5, r4, #0 +_020365BE: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _020365D8 + ldr r0, [r7, #8] + ldr r1, _0203662C ; =0x0000066C + add r0, r0, r5 + ldr r1, [r0, r1] + add r2, r1, #1 + ldr r1, _0203662C ; =0x0000066C + str r2, [r0, r1] +_020365D8: + add r4, r4, #1 + add r5, r5, #4 + cmp r4, r6 + blt _020365BE +_020365E0: + ldr r0, _02036620 ; =0x021D4140 + mov r1, #0x6b + ldr r2, [r0, #8] + lsl r1, r1, #4 + ldrb r1, [r2, r1] + add r4, r2, #0 + mov r2, #0xc0 + add r3, r1, #0 + add r4, #0x80 + mul r3, r2 + mov r0, #0 + add r1, r4, r3 + bl sub_020367B0 + ldr r0, _02036620 ; =0x021D4140 + mov r1, #0x6b + ldr r3, [r0, #8] + lsl r1, r1, #4 + ldrb r2, [r3, r1] + mov r0, #1 + sub r0, r0, r2 + strb r0, [r3, r1] +_0203660C: + bl sub_02033298 + cmp r0, #4 + beq _0203661C + ldr r0, _02036624 ; =0x0210F900 + ldrb r1, [r0] + add r1, r1, #1 + strb r1, [r0] +_0203661C: + pop {r3, r4, r5, r6, r7, pc} + nop +_02036620: .word 0x021D4140 +_02036624: .word 0x0210F900 +_02036628: .word sub_02036ABC +_0203662C: .word 0x0000066C + thumb_func_end sub_02036508 + + thumb_func_start sub_02036630 +sub_02036630: ; 0x02036630 + push {r3, r4, r5, r6, r7, lr} + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r6, r0, #1 + mov r4, #1 + cmp r6, #1 + ble _0203666E + ldr r7, _02036674 ; =0x021D4140 + mov r5, #4 +_0203664A: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _02036666 + ldr r0, [r7, #8] + add r1, r0, r5 + ldr r0, _02036678 ; =0x0000066C + ldr r0, [r1, r0] + cmp r0, #3 + ble _02036666 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02036666: + add r4, r4, #1 + add r5, r5, #4 + cmp r4, r6 + blt _0203664A +_0203666E: + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + nop +_02036674: .word 0x021D4140 +_02036678: .word 0x0000066C + thumb_func_end sub_02036630 + + thumb_func_start sub_0203667C +sub_0203667C: ; 0x0203667C + push {r3, r4, r5, r6, r7, lr} + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r6, r0, #1 + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _02036738 + mov r0, #0 + bl sub_020373B4 + cmp r0, #0 + beq _02036796 + ldr r0, _02036798 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _0203679C ; =0x00000664 + ldr r0, [r1, r0] + cmp r0, #0 + beq _020366D4 + bl sub_02036630 + cmp r0, #0 + beq _02036796 + ldr r0, _020367A0 ; =0x0210F900 + ldrb r0, [r0] + cmp r0, #4 + bne _020366F4 + bl sub_02035FF0 + cmp r0, #1 + bne _020366CC + mov r0, #0 + bl sub_02036438 +_020366CC: + ldr r0, _020367A0 ; =0x0210F900 + mov r1, #2 + strb r1, [r0] + b _020366F4 +_020366D4: + ldr r0, _020367A0 ; =0x0210F900 + ldrb r0, [r0] + cmp r0, #4 + bne _020366EE + bl sub_02035FF0 + cmp r0, #1 + bne _020366EE + mov r0, #0 + bl sub_02036438 + cmp r0, #0 + beq _02036796 +_020366EE: + ldr r0, _020367A0 ; =0x0210F900 + mov r1, #2 + strb r1, [r0] +_020366F4: + ldr r0, _02036798 ; =0x021D4140 + mov r1, #0xc0 + ldr r0, [r0, #8] + add r0, #0x80 + bl ov00_021E602C + cmp r0, #0 + beq _02036796 + ldr r0, _020367A0 ; =0x0210F900 + mov r1, #4 + mov r4, #0 + strb r1, [r0] + cmp r6, #0 + ble _02036796 + ldr r7, _02036798 ; =0x021D4140 + add r5, r4, #0 +_02036714: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _0203672E + ldr r0, [r7, #8] + ldr r1, _020367A4 ; =0x0000066C + add r0, r0, r5 + ldr r1, [r0, r1] + add r2, r1, #1 + ldr r1, _020367A4 ; =0x0000066C + str r2, [r0, r1] +_0203672E: + add r4, r4, #1 + add r5, r5, #4 + cmp r4, r6 + blt _02036714 + pop {r3, r4, r5, r6, r7, pc} +_02036738: + bl sub_02033298 + cmp r0, #4 + bne _02036796 + ldr r0, _020367A0 ; =0x0210F900 + ldrb r0, [r0] + cmp r0, #4 + bne _02036796 + bl sub_02036630 + cmp r0, #0 + beq _02036796 + bl sub_02035FF0 + cmp r0, #0 + bne _0203678C + ldr r0, _02036798 ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #0x6b + add r2, r1, #0 + lsl r0, r0, #4 + ldrb r1, [r1, r0] + mov r0, #0xc0 + add r2, #0x80 + mul r0, r1 + add r0, r2, r0 + bl sub_02036F30 + ldr r0, _02036798 ; =0x021D4140 + ldr r1, [r0, #8] + mov r0, #0x6b + add r2, r1, #0 + lsl r0, r0, #4 + ldrb r1, [r1, r0] + mov r0, #1 + add r2, #0x80 + sub r1, r0, r1 + mov r0, #0xc0 + mul r0, r1 + add r0, r2, r0 + bl sub_02036F30 +_0203678C: + ldr r0, _020367A0 ; =0x0210F900 + mov r1, #0 + strb r1, [r0] + bl sub_02036508 +_02036796: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02036798: .word 0x021D4140 +_0203679C: .word 0x00000664 +_020367A0: .word 0x0210F900 +_020367A4: .word 0x0000066C + thumb_func_end sub_0203667C + + thumb_func_start sub_020367A8 +sub_020367A8: ; 0x020367A8 + ldr r3, _020367AC ; =sub_020367B0 + bx r3 + .balign 4, 0 +_020367AC: .word sub_020367B0 + thumb_func_end sub_020367A8 + + thumb_func_start sub_020367B0 +sub_020367B0: ; 0x020367B0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + ldr r0, _020368E4 ; =0x021D4140 + add r5, r1, #0 + ldr r2, [r0, #8] + ldr r0, _020368E8 ; =0x00000668 + ldr r1, [r2, r0] + sub r1, r1, #1 + str r1, [r2, r0] + cmp r5, #0 + beq _020367D4 + ldrb r0, [r5] + cmp r0, #0xb + bne _020367DA + bl sub_02035FF0 + cmp r0, #1 + bne _020367D6 +_020367D4: + b _020368E0 +_020367D6: + add r5, r5, #1 + b _020367E2 +_020367DA: + bl sub_02035FF0 + cmp r0, #0 + beq _020368E0 +_020367E2: + ldr r0, _020368E4 ; =0x021D4140 + ldr r1, _020368EC ; =0x000006B2 + ldr r0, [r0, #8] + ldrb r1, [r0, r1] + cmp r1, #0 + beq _020367F6 + ldrb r2, [r5] + mov r1, #1 + tst r1, r2 + bne _020368E0 +_020367F6: + ldr r1, _020368EC ; =0x000006B2 + mov r2, #0 + strb r2, [r0, r1] + bl sub_02035FF0 + cmp r0, #1 + bne _020368B4 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203772C + add r6, r0, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r0, r0, #1 + mov r4, #0 + str r0, [sp, #4] + cmp r0, #0 + ble _020368E0 + sub r0, r6, #1 + add r7, r4, #0 + str r0, [sp] +_0203682E: + ldrb r0, [r5] + cmp r0, #0xff + bne _02036846 + ldr r0, _020368E4 ; =0x021D4140 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _020368F0 ; =0x00000694 + lsl r2, r4 + ldrh r0, [r1, r0] + mvn r2, r2 + and r2, r0 + b _02036854 +_02036846: + ldr r0, _020368E4 ; =0x021D4140 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _020368F0 ; =0x00000694 + lsl r2, r4 + ldrh r0, [r1, r0] + orr r2, r0 +_02036854: + ldr r0, _020368F0 ; =0x00000694 + strh r2, [r1, r0] + ldrb r2, [r5] + cmp r2, #0xff + bne _02036862 + add r5, r5, r6 + b _020368A6 +_02036862: + cmp r2, #0xe + bne _0203686A + add r5, r5, r6 + b _020368A6 +_0203686A: + ldr r0, _020368E4 ; =0x021D4140 + ldr r3, [r0, #8] + ldr r0, _020368F4 ; =0x0000069E + add r1, r3, r4 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _02036882 + mov r0, #1 + tst r0, r2 + beq _02036882 + add r5, r5, r6 + b _020368A6 +_02036882: + ldr r0, _020368F8 ; =0x0000051C + add r5, r5, #1 + add r0, r3, r0 + ldr r3, _020368FC ; =0x0000054C + ldr r2, [sp] + add r0, r0, r7 + add r1, r5, #0 + add r3, r4, r3 + bl sub_02033AF0 + ldr r0, [sp] + mov r1, #0 + add r5, r5, r0 + ldr r0, _020368E4 ; =0x021D4140 + ldr r0, [r0, #8] + add r2, r0, r4 + ldr r0, _020368F4 ; =0x0000069E + strb r1, [r2, r0] +_020368A6: + ldr r0, [sp, #4] + add r4, r4, #1 + add r7, #0xc + cmp r4, r0 + blt _0203682E + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} +_020368B4: + ldr r1, _020368E4 ; =0x021D4140 + ldrb r3, [r5, #1] + ldr r2, [r1, #8] + ldr r0, _020368F0 ; =0x00000694 + strh r3, [r2, r0] + ldr r3, [r1, #8] + ldrh r2, [r3, r0] + lsl r2, r2, #8 + strh r2, [r3, r0] + ldr r4, [r1, #8] + ldrb r2, [r5, #2] + ldrh r3, [r4, r0] + add r2, r3, r2 + strh r2, [r4, r0] + ldr r0, [r1, #8] + ldr r3, _02036900 ; =0x000004A4 + ldrb r2, [r5, #3] + add r0, r0, r3 + add r1, r5, #4 + add r3, #0xbc + bl sub_02033AF0 +_020368E0: + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_020368E4: .word 0x021D4140 +_020368E8: .word 0x00000668 +_020368EC: .word 0x000006B2 +_020368F0: .word 0x00000694 +_020368F4: .word 0x0000069E +_020368F8: .word 0x0000051C +_020368FC: .word 0x0000054C +_02036900: .word 0x000004A4 + thumb_func_end sub_020367B0 + + thumb_func_start sub_02036904 +sub_02036904: ; 0x02036904 + ldr r3, _02036908 ; =sub_0203690C + bx r3 + .balign 4, 0 +_02036908: .word sub_0203690C + thumb_func_end sub_02036904 + + thumb_func_start sub_0203690C +sub_0203690C: ; 0x0203690C + push {r4, r5, r6, lr} + ldr r3, _020369BC ; =0x021D4140 + add r5, r0, #0 + ldr r0, [r3, #8] + ldr r2, _020369C0 ; =0x0000066C + add r4, r1, #0 + add r1, r0, r2 + lsl r0, r5, #2 + ldr r6, [r1, r0] + sub r6, r6, #1 + str r6, [r1, r0] + cmp r4, #0 + beq _020369BA + ldr r0, [r3, #8] + add r2, #0x32 + add r0, r0, r2 + ldrb r1, [r0, r5] + cmp r1, #0 + beq _0203693A + ldrb r2, [r4] + mov r1, #1 + tst r1, r2 + bne _020369BA +_0203693A: + mov r1, #0 + strb r1, [r0, r5] + bl sub_02035FF0 + cmp r0, #1 + bne _02036992 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203772C + add r6, r0, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + ldrb r1, [r4] + mov r0, #2 + tst r0, r1 + bne _02036982 + ldr r0, _020369BC ; =0x021D4140 + mov r3, #0x4b + ldr r0, [r0, #8] + lsl r3, r3, #4 + add r1, r0, r3 + mov r0, #0xc + mul r0, r5 + add r0, r1, r0 + add r1, r4, #0 + add r2, r6, #0 + add r3, #0xf5 + bl sub_02033AF0 +_02036982: + ldr r0, _020369BC ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _020369C4 ; =0x00000696 + add r1, r1, r0 + ldrb r0, [r1, r5] + add r0, r0, #1 + strb r0, [r1, r5] + pop {r4, r5, r6, pc} +_02036992: + add r0, r4, #0 + add r1, r5, #0 + bl sub_02036D14 + ldrb r1, [r4] + mov r0, #2 + tst r0, r1 + bne _020369BA + ldr r0, _020369BC ; =0x021D4140 + ldr r3, _020369C8 ; =0x0000051C + ldr r0, [r0, #8] + mov r2, #0xb + add r1, r0, r3 + mov r0, #0xc + mul r0, r5 + add r0, r1, r0 + add r1, r4, #1 + add r3, #0x92 + bl sub_02033AF0 +_020369BA: + pop {r4, r5, r6, pc} + .balign 4, 0 +_020369BC: .word 0x021D4140 +_020369C0: .word 0x0000066C +_020369C4: .word 0x00000696 +_020369C8: .word 0x0000051C + thumb_func_end sub_0203690C + + thumb_func_start sub_020369CC +sub_020369CC: ; 0x020369CC + push {r4, r5, r6, lr} + ldr r3, _02036A8C ; =0x021D4140 + add r5, r0, #0 + ldr r0, [r3, #8] + ldr r2, _02036A90 ; =0x0000066C + add r4, r1, #0 + add r1, r0, r2 + lsl r0, r5, #2 + ldr r6, [r1, r0] + sub r6, r6, #1 + str r6, [r1, r0] + cmp r4, #0 + beq _02036A88 + ldr r0, [r3, #8] + add r2, #0x32 + add r0, r0, r2 + ldrb r1, [r0, r5] + cmp r1, #0 + beq _020369FA + ldrb r2, [r4] + mov r1, #1 + tst r1, r2 + bne _02036A88 +_020369FA: + mov r1, #0 + strb r1, [r0, r5] + bl sub_02035FF0 + cmp r0, #1 + bne _02036A88 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203772C + add r6, r0, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + ldrb r0, [r4] + ldr r2, _02036A94 ; =0x00000694 + cmp r0, #0xff + bne _02036A38 + ldr r0, _02036A8C ; =0x021D4140 + mov r3, #1 + ldr r1, [r0, #8] + lsl r3, r5 + ldrh r0, [r1, r2] + mvn r3, r3 + and r0, r3 + b _02036A44 +_02036A38: + ldr r0, _02036A8C ; =0x021D4140 + mov r3, #1 + ldr r1, [r0, #8] + lsl r3, r5 + ldrh r0, [r1, r2] + orr r0, r3 +_02036A44: + strh r0, [r1, r2] + ldrb r0, [r4] + cmp r0, #0xff + beq _02036A88 + cmp r0, #2 + beq _02036A88 + cmp r0, #0xe + beq _02036A88 + ldr r1, _02036A8C ; =0x021D4140 + ldr r2, _02036A98 ; =0x0000069E + ldr r1, [r1, #8] + add r3, r1, r5 + ldrb r2, [r3, r2] + cmp r2, #0 + beq _02036A68 + mov r2, #1 + tst r0, r2 + bne _02036A88 +_02036A68: + ldr r3, _02036A9C ; =0x0000051C + mov r0, #0xc + add r1, r1, r3 + mul r0, r5 + add r0, r1, r0 + add r1, r4, #1 + sub r2, r6, #1 + add r3, #0xcb + bl sub_02033AF0 + ldr r0, _02036A8C ; =0x021D4140 + mov r2, #0 + ldr r0, [r0, #8] + add r1, r0, r5 + ldr r0, _02036A98 ; =0x0000069E + strb r2, [r1, r0] +_02036A88: + pop {r4, r5, r6, pc} + nop +_02036A8C: .word 0x021D4140 +_02036A90: .word 0x0000066C +_02036A94: .word 0x00000694 +_02036A98: .word 0x0000069E +_02036A9C: .word 0x0000051C + thumb_func_end sub_020369CC + + thumb_func_start sub_02036AA0 +sub_02036AA0: ; 0x02036AA0 + push {r3, lr} + cmp r0, #0 + beq _02036AB0 + ldr r0, _02036AB8 ; =0x0210F900 + ldrb r1, [r0, #1] + add r1, r1, #1 + strb r1, [r0, #1] + pop {r3, pc} +_02036AB0: + bl GF_AssertFail + pop {r3, pc} + nop +_02036AB8: .word 0x0210F900 + thumb_func_end sub_02036AA0 + + thumb_func_start sub_02036ABC +sub_02036ABC: ; 0x02036ABC + push {r3, lr} + cmp r0, #0 + beq _02036ACC + ldr r0, _02036AD4 ; =0x0210F900 + ldrb r1, [r0] + add r1, r1, #1 + strb r1, [r0] + pop {r3, pc} +_02036ACC: + bl GF_AssertFail + pop {r3, pc} + nop +_02036AD4: .word 0x0210F900 + thumb_func_end sub_02036ABC + + thumb_func_start sub_02036AD8 +sub_02036AD8: ; 0x02036AD8 + push {r4, lr} + ldr r0, _02036BD0 ; =0x021D4140 + ldr r0, [r0, #8] + cmp r0, #0 + beq _02036BCE + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + bne _02036BCE + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203772C + add r4, r0, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + bl sub_02033298 + cmp r0, #4 + bne _02036BCE + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + bne _02036B22 + bl sub_0203769C + pop {r4, pc} +_02036B22: + ldr r0, _02036BD4 ; =0x0210F900 + ldrb r1, [r0, #1] + cmp r1, #2 + beq _02036B30 + ldrb r0, [r0, #1] + cmp r0, #0 + bne _02036BCE +_02036B30: + bl sub_0203769C + cmp r0, #0 + beq _02036B84 + ldr r0, _02036BD4 ; =0x0210F900 + ldr r3, _02036BD8 ; =sub_02036AA0 + ldrb r1, [r0, #1] + mov r2, #0xe + add r1, r1, #1 + strb r1, [r0, #1] + ldr r0, _02036BD0 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02036BDC ; =0x000006AF + ldrb r0, [r1, r0] + lsl r0, r0, #6 + add r0, r1, r0 + lsl r1, r4, #0x10 + lsr r1, r1, #0x10 + bl sub_02033800 + cmp r0, #0 + bne _02036B66 + ldr r0, _02036BD4 ; =0x0210F900 + ldrb r1, [r0, #1] + sub r1, r1, #1 + strb r1, [r0, #1] + pop {r4, pc} +_02036B66: + ldr r2, _02036BD0 ; =0x021D4140 + ldr r1, _02036BDC ; =0x000006AF + ldr r4, [r2, #8] + mov r0, #1 + ldrb r3, [r4, r1] + sub r0, r0, r3 + strb r0, [r4, r1] + add r0, r1, #0 + ldr r2, [r2, #8] + sub r0, #0x47 + ldr r0, [r2, r0] + sub r1, #0x47 + add r0, r0, #1 + str r0, [r2, r1] + pop {r4, pc} +_02036B84: + bl sub_02033250 + ldr r1, _02036BE0 ; =0x0000FFFE + tst r0, r1 + beq _02036BCE + ldr r0, _02036BD4 ; =0x0210F900 + ldrb r1, [r0, #1] + add r1, r1, #1 + strb r1, [r0, #1] + mov r0, #1 + bl sub_02036AA0 + ldr r0, _02036BD0 ; =0x021D4140 + ldr r1, _02036BDC ; =0x000006AF + ldr r2, [r0, #8] + mov r0, #0 + ldrb r1, [r2, r1] + lsl r1, r1, #6 + add r1, r2, r1 + lsl r2, r4, #0x10 + lsr r2, r2, #0x10 + bl sub_0203690C + ldr r2, _02036BD0 ; =0x021D4140 + ldr r1, _02036BDC ; =0x000006AF + ldr r4, [r2, #8] + mov r0, #1 + ldrb r3, [r4, r1] + sub r0, r0, r3 + strb r0, [r4, r1] + add r0, r1, #0 + ldr r2, [r2, #8] + sub r0, #0x47 + ldr r0, [r2, r0] + sub r1, #0x47 + add r0, r0, #1 + str r0, [r2, r1] +_02036BCE: + pop {r4, pc} + .balign 4, 0 +_02036BD0: .word 0x021D4140 +_02036BD4: .word 0x0210F900 +_02036BD8: .word sub_02036AA0 +_02036BDC: .word 0x000006AF +_02036BE0: .word 0x0000FFFE + thumb_func_end sub_02036AD8 + + thumb_func_start sub_02036BE4 +sub_02036BE4: ; 0x02036BE4 + push {r3, r4, r5, r6, r7, lr} + ldr r7, _02036D08 ; =0x021D4140 + mov r2, #0x66 + ldr r5, [r7, #8] + lsl r2, r2, #4 + ldrb r0, [r5, r2] + mov r6, #0 + add r4, r6, #0 + cmp r0, #0 + beq _02036C02 + sub r1, r2, #4 + ldrh r1, [r5, r1] + mov r3, #0xf0 + tst r3, r1 + bne _02036C04 +_02036C02: + b _02036D06 +_02036C04: + cmp r0, #2 + bne _02036C42 + mov r0, #0x20 + tst r0, r1 + beq _02036C16 + mov r0, #0x10 + orr r0, r6 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02036C16: + mov r0, #0x10 + tst r0, r1 + beq _02036C24 + mov r0, #0x20 + orr r0, r4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02036C24: + mov r0, #0x40 + tst r0, r1 + beq _02036C32 + mov r0, #0x80 + orr r0, r4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02036C32: + mov r0, #0x80 + tst r0, r1 + beq _02036CF0 + mov r0, #0x40 + orr r0, r4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _02036CF0 +_02036C42: + add r0, r2, #2 + ldrh r0, [r5, r0] + cmp r0, #0 + beq _02036C64 + add r4, r0, #0 + add r0, r2, #1 + ldrsb r0, [r5, r0] + sub r1, r0, #1 + add r0, r2, #1 + strb r1, [r5, r0] + ldr r1, [r7, #8] + ldrsb r0, [r1, r0] + cmp r0, #0 + bge _02036CF0 + add r0, r2, #2 + strh r6, [r1, r0] + b _02036CF0 +_02036C64: + add r0, r2, #0 + sub r0, #0x34 + add r6, r5, r0 + sub r2, #0x34 + ldr r0, [r6, #8] + ldr r1, [r6, #0xc] + ldr r2, [r5, r2] + ldr r3, [r6, #4] + bl _ll_mul + add r3, r0, #0 + add r2, r1, #0 + ldr r0, [r6, #0x10] + ldr r1, [r6, #0x14] + add r0, r0, r3 + adc r1, r2 + ldr r2, _02036D0C ; =0x0000062C + str r0, [r5, r2] + mov r2, #0 + str r1, [r6, #4] + lsr r0, r1, #0x1e + lsl r1, r2, #2 + orr r1, r0 + cmp r1, #3 + bhi _02036CB8 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02036CA2: ; jump table + .short _02036CAA - _02036CA2 - 2 ; case 0 + .short _02036CAE - _02036CA2 - 2 ; case 1 + .short _02036CB2 - _02036CA2 - 2 ; case 2 + .short _02036CB6 - _02036CA2 - 2 ; case 3 +_02036CAA: + mov r4, #0x20 + b _02036CB8 +_02036CAE: + mov r4, #0x10 + b _02036CB8 +_02036CB2: + mov r4, #0x40 + b _02036CB8 +_02036CB6: + mov r4, #0x80 +_02036CB8: + ldr r0, _02036D08 ; =0x021D4140 + ldr r5, [r0, #8] + ldr r0, _02036D0C ; =0x0000062C + add r6, r5, r0 + ldr r0, [r6, #8] + ldr r1, [r6, #0xc] + ldr r2, [r6] + ldr r3, [r6, #4] + bl _ll_mul + ldr r3, [r6, #0x10] + ldr r2, [r6, #0x14] + add r0, r3, r0 + adc r2, r1 + ldr r1, _02036D0C ; =0x0000062C + mov r3, #0 + str r0, [r5, r1] + str r2, [r6, #4] + lsr r0, r2, #0x1c + lsl r2, r3, #4 + orr r2, r0 + add r0, r1, #0 + add r0, #0x35 + strb r2, [r5, r0] + ldr r0, _02036D08 ; =0x021D4140 + add r1, #0x36 + ldr r0, [r0, #8] + strh r4, [r0, r1] +_02036CF0: + ldr r2, _02036D08 ; =0x021D4140 + ldr r1, _02036D10 ; =0x0000065C + ldr r5, [r2, #8] + mov r0, #0xf0 + ldrh r3, [r5, r1] + bic r3, r0 + strh r3, [r5, r1] + ldr r2, [r2, #8] + ldrh r0, [r2, r1] + add r0, r0, r4 + strh r0, [r2, r1] +_02036D06: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02036D08: .word 0x021D4140 +_02036D0C: .word 0x0000062C +_02036D10: .word 0x0000065C + thumb_func_end sub_02036BE4 + + thumb_func_start sub_02036D14 +sub_02036D14: ; 0x02036D14 + push {r4, r5, r6, r7} + ldr r4, _02036D94 ; =0x021D4140 + lsl r6, r1, #1 + ldr r2, [r4, #8] + mov r5, #0 + add r3, r2, r6 + ldr r2, _02036D98 ; =0x00000644 + strh r5, [r3, r2] + ldrb r5, [r0] + mov r3, #0x10 + add r7, r5, #0 + and r7, r3 + cmp r7, #0x10 + bne _02036D8C + mov r7, #0xc + and r5, r7 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + bne _02036D48 + ldr r3, [r4, #8] + add r4, r3, r2 + ldrh r3, [r4, r6] + mov r2, #0x40 + orr r2, r3 + strh r2, [r4, r6] + b _02036D7A +_02036D48: + cmp r5, #4 + bne _02036D5A + ldr r3, [r4, #8] + add r4, r3, r2 + ldrh r3, [r4, r6] + mov r2, #0x80 + orr r2, r3 + strh r2, [r4, r6] + b _02036D7A +_02036D5A: + cmp r5, #8 + bne _02036D6C + ldr r3, [r4, #8] + add r4, r3, r2 + ldrh r3, [r4, r6] + mov r2, #0x20 + orr r2, r3 + strh r2, [r4, r6] + b _02036D7A +_02036D6C: + cmp r5, #0xc + bne _02036D7A + ldr r4, [r4, #8] + add r4, r4, r2 + ldrh r2, [r4, r6] + orr r2, r3 + strh r2, [r4, r6] +_02036D7A: + ldrb r0, [r0] + asr r2, r0, #5 + mov r0, #7 + and r2, r0 + ldr r0, _02036D94 ; =0x021D4140 + ldr r0, [r0, #8] + add r1, r0, r1 + ldr r0, _02036D9C ; =0x00000654 + strb r2, [r1, r0] +_02036D8C: + mov r0, #1 + pop {r4, r5, r6, r7} + bx lr + nop +_02036D94: .word 0x021D4140 +_02036D98: .word 0x00000644 +_02036D9C: .word 0x00000654 + thumb_func_end sub_02036D14 + + thumb_func_start sub_02036DA0 +sub_02036DA0: ; 0x02036DA0 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02036E4C ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02036E50 ; =0x0000065E + ldrb r0, [r1, r0] + cmp r0, #0 + beq _02036DB4 + mov r0, #0 + pop {r4, pc} +_02036DB4: + bl sub_0203751C + cmp r0, #0 + bne _02036DC0 + mov r0, #0 + pop {r4, pc} +_02036DC0: + ldr r0, _02036E4C ; =0x021D4140 + ldr r2, [r0, #8] + ldr r0, _02036E54 ; =0x000006B1 + ldrb r1, [r2, r0] + cmp r1, #0 + beq _02036DD0 + sub r1, r1, #1 + strb r1, [r2, r0] +_02036DD0: + ldr r1, _02036E4C ; =0x021D4140 + ldr r0, _02036E58 ; =0x0000065C + ldr r2, [r1, #8] + mov r3, #0x40 + ldrh r2, [r2, r0] + tst r3, r2 + beq _02036DF0 + ldrb r3, [r4] + mov r2, #0x10 + add r0, #0x55 + orr r2, r3 + strb r2, [r4] + ldr r1, [r1, #8] + mov r2, #8 + strb r2, [r1, r0] + b _02036E36 +_02036DF0: + mov r3, #0x80 + tst r3, r2 + beq _02036E08 + ldrb r3, [r4] + mov r2, #0x14 + add r0, #0x55 + orr r2, r3 + strb r2, [r4] + ldr r1, [r1, #8] + mov r2, #8 + strb r2, [r1, r0] + b _02036E36 +_02036E08: + mov r3, #0x20 + tst r3, r2 + beq _02036E20 + ldrb r3, [r4] + mov r2, #0x18 + add r0, #0x55 + orr r2, r3 + strb r2, [r4] + ldr r1, [r1, #8] + mov r2, #8 + strb r2, [r1, r0] + b _02036E36 +_02036E20: + mov r3, #0x10 + tst r2, r3 + beq _02036E36 + ldrb r3, [r4] + mov r2, #0x1c + add r0, #0x55 + orr r2, r3 + strb r2, [r4] + ldr r1, [r1, #8] + mov r2, #8 + strb r2, [r1, r0] +_02036E36: + ldr r0, _02036E4C ; =0x021D4140 + ldrb r2, [r4] + ldr r1, [r0, #8] + ldr r0, _02036E5C ; =0x0000065F + ldrb r0, [r1, r0] + lsl r0, r0, #5 + orr r0, r2 + strb r0, [r4] + mov r0, #0 + pop {r4, pc} + nop +_02036E4C: .word 0x021D4140 +_02036E50: .word 0x0000065E +_02036E54: .word 0x000006B1 +_02036E58: .word 0x0000065C +_02036E5C: .word 0x0000065F + thumb_func_end sub_02036DA0 + + thumb_func_start sub_02036E60 +sub_02036E60: ; 0x02036E60 + push {r3, r4, r5, lr} + sub sp, #8 + add r4, r0, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203772C + add r5, r0, #0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + ldr r0, _02036F24 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02036F28 ; =0x000006B4 + ldrb r0, [r1, r0] + cmp r0, #0 + bne _02036E90 + mov r0, #0 + b _02036E92 +_02036E90: + mov r0, #1 +_02036E92: + strb r0, [r4] + bl sub_02035FF0 + cmp r0, #0 + bne _02036EA2 + add r0, r4, #0 + bl sub_02036DA0 +_02036EA2: + ldr r1, _02036F24 ; =0x021D4140 + ldr r0, _02036F28 ; =0x000006B4 + ldr r2, [r1, #8] + mov r3, #0 + strb r3, [r2, r0] + mov r0, #0x16 + ldr r1, [r1, #8] + lsl r0, r0, #6 + add r0, r1, r0 + bl sub_02033C50 + cmp r0, #0 + beq _02036ED0 + ldrb r1, [r4] + mov r0, #2 + orr r0, r1 + strb r0, [r4] + ldrb r0, [r4] + cmp r0, #2 + bne _02036F1C + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, pc} +_02036ED0: + sub r0, r5, #1 + str r0, [sp, #4] + add r0, r4, #1 + str r0, [sp] + ldr r0, _02036F24 ; =0x021D4140 + mov r2, #1 + ldr r1, [r0, #8] + mov r0, #0x16 + lsl r0, r0, #6 + add r0, r1, r0 + add r1, sp, #0 + bl sub_02033ECC + cmp r0, #0 + bne _02036EF8 + ldr r0, _02036F24 ; =0x021D4140 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02036F28 ; =0x000006B4 + strb r2, [r1, r0] +_02036EF8: + bl sub_02035FF0 + cmp r0, #1 + bne _02036F1C + ldr r2, _02036F24 ; =0x021D4140 + ldr r1, _02036F2C ; =0x000006AA + ldr r3, [r2, #8] + ldrb r0, [r3, r1] + add r0, r0, #1 + strb r0, [r3, r1] + ldr r2, [r2, #8] + ldrb r0, [r4] + ldrb r1, [r2, r1] + lsl r2, r1, #4 + mov r1, #0xf0 + and r1, r2 + orr r0, r1 + strb r0, [r4] +_02036F1C: + mov r0, #1 + add sp, #8 + pop {r3, r4, r5, pc} + nop +_02036F24: .word 0x021D4140 +_02036F28: .word 0x000006B4 +_02036F2C: .word 0x000006AA + thumb_func_end sub_02036E60 + + thumb_func_start sub_02036F30 +sub_02036F30: ; 0x02036F30 + push {r4, lr} + sub sp, #8 + add r4, r0, #0 + mov r0, #0xb + strb r0, [r4] + ldr r0, _02036FA0 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02036FA4 ; =0x000006B5 + ldrb r0, [r1, r0] + cmp r0, #0 + bne _02036F4A + mov r0, #0 + b _02036F4C +_02036F4A: + mov r0, #1 +_02036F4C: + strb r0, [r4, #1] + bl sub_02033250 + asr r1, r0, #8 + strb r1, [r4, #2] + strb r0, [r4, #3] + mov r0, #0xbb + str r0, [sp, #4] + add r0, r4, #5 + str r0, [sp] + ldr r0, _02036FA0 ; =0x021D4140 + mov r2, #0 + ldr r1, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r1, r0 + add r1, sp, #0 + bl sub_02033ECC + cmp r0, #0 + beq _02036F8C + ldr r0, _02036FA0 ; =0x021D4140 + mov r2, #0 + ldr r1, [r0, #8] + ldr r0, _02036FA4 ; =0x000006B5 + strb r2, [r1, r0] + ldr r1, [sp, #4] + mov r0, #0xbb + sub r0, r0, r1 + add sp, #8 + strb r0, [r4, #4] + pop {r4, pc} +_02036F8C: + ldr r0, _02036FA0 ; =0x021D4140 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02036FA4 ; =0x000006B5 + strb r2, [r1, r0] + mov r0, #0xbb + strb r0, [r4, #4] + add sp, #8 + pop {r4, pc} + nop +_02036FA0: .word 0x021D4140 +_02036FA4: .word 0x000006B5 + thumb_func_end sub_02036F30 + + thumb_func_start sub_02036FA8 +sub_02036FA8: ; 0x02036FA8 + push {r3, lr} + ldr r0, _02036FD0 ; =0x021D4140 + ldr r2, [r0, #8] + ldr r0, _02036FD4 ; =0x000006BB + ldrb r1, [r2, r0] + cmp r1, #0 + bne _02036FBA + mov r0, #0 + pop {r3, pc} +_02036FBA: + add r0, r0, #1 + ldrb r0, [r2, r0] + bl _s32_div_f + cmp r1, #0 + bne _02036FCA + mov r0, #1 + pop {r3, pc} +_02036FCA: + mov r0, #0 + pop {r3, pc} + nop +_02036FD0: .word 0x021D4140 +_02036FD4: .word 0x000006BB + thumb_func_end sub_02036FA8 + + thumb_func_start sub_02036FD8 +sub_02036FD8: ; 0x02036FD8 + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + bne _02036FF4 + add sp, #8 + mov r0, #0 + pop {r4, r5, r6, pc} +_02036FF4: + mov r0, #1 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _0203702C ; =0x021D4140 + add r2, r4, #0 + ldr r1, [r0, #8] + mov r0, #0x16 + lsl r0, r0, #6 + add r0, r1, r0 + add r1, r5, #0 + add r3, r6, #0 + bl sub_02033DF0 + cmp r0, #0 + beq _0203701A + add sp, #8 + mov r0, #1 + pop {r4, r5, r6, pc} +_0203701A: + bl sub_0203993C + cmp r0, #0xa + bne _02037026 + bl sub_02037974 +_02037026: + mov r0, #0 + add sp, #8 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203702C: .word 0x021D4140 + thumb_func_end sub_02036FD8 + + thumb_func_start sub_02037030 +sub_02037030: ; 0x02037030 + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + bne _0203704C + add sp, #8 + mov r0, #0 + pop {r4, r5, r6, pc} +_0203704C: + mov r0, #1 + str r0, [sp] + str r0, [sp, #4] + ldr r0, _02037084 ; =0x021D4140 + add r2, r4, #0 + ldr r1, [r0, #8] + mov r0, #0x16 + lsl r0, r0, #6 + add r0, r1, r0 + add r1, r5, #0 + add r3, r6, #0 + bl sub_02033DF0 + cmp r0, #0 + beq _02037070 + add sp, #8 + mov r0, #1 + pop {r4, r5, r6, pc} +_02037070: + bl sub_0203993C + cmp r0, #0xa + bne _0203707C + bl sub_02037974 +_0203707C: + mov r0, #0 + add sp, #8 + pop {r4, r5, r6, pc} + nop +_02037084: .word 0x021D4140 + thumb_func_end sub_02037030 + + thumb_func_start sub_02037088 +sub_02037088: ; 0x02037088 + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl sub_0203769C + cmp r0, #0 + beq _020370A4 + bl GF_AssertFail + add sp, #8 + mov r0, #0 + pop {r4, r5, r6, pc} +_020370A4: + mov r0, #0 + bl sub_020373B4 + cmp r0, #0 + bne _020370B4 + add sp, #8 + mov r0, #0 + pop {r4, r5, r6, pc} +_020370B4: + bl sub_02035FF0 + cmp r0, #1 + bne _020370CA + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_02036FD8 + add sp, #8 + pop {r4, r5, r6, pc} +_020370CA: + mov r0, #1 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _02037104 ; =0x021D4140 + add r2, r4, #0 + ldr r1, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r1, r0 + add r1, r5, #0 + add r3, r6, #0 + bl sub_02033DF0 + cmp r0, #0 + beq _020370F0 + add sp, #8 + mov r0, #1 + pop {r4, r5, r6, pc} +_020370F0: + bl sub_0203993C + cmp r0, #0xa + bne _020370FC + bl sub_02037974 +_020370FC: + mov r0, #0 + add sp, #8 + pop {r4, r5, r6, pc} + nop +_02037104: .word 0x021D4140 + thumb_func_end sub_02037088 + + thumb_func_start sub_02037108 +sub_02037108: ; 0x02037108 + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl sub_0203769C + cmp r0, #0 + beq _02037124 + bl sub_02037974 + add sp, #8 + mov r0, #0 + pop {r4, r5, r6, pc} +_02037124: + mov r0, #0 + bl sub_020373B4 + cmp r0, #0 + bne _02037134 + add sp, #8 + mov r0, #0 + pop {r4, r5, r6, pc} +_02037134: + bl sub_02035FF0 + cmp r0, #1 + bne _0203714A + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + bl sub_02037030 + add sp, #8 + pop {r4, r5, r6, pc} +_0203714A: + mov r0, #1 + str r0, [sp] + str r0, [sp, #4] + ldr r0, _02037180 ; =0x021D4140 + add r2, r4, #0 + ldr r1, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r1, r0 + add r1, r5, #0 + add r3, r6, #0 + bl sub_02033DF0 + cmp r0, #0 + beq _0203716E + add sp, #8 + mov r0, #1 + pop {r4, r5, r6, pc} +_0203716E: + bl sub_0203993C + cmp r0, #0xa + bne _0203717A + bl sub_02037974 +_0203717A: + mov r0, #0 + add sp, #8 + pop {r4, r5, r6, pc} + .balign 4, 0 +_02037180: .word 0x021D4140 + thumb_func_end sub_02037108 + + thumb_func_start sub_02037184 +sub_02037184: ; 0x02037184 + ldr r3, _0203718C ; =sub_02037108 + mov r2, #0 + bx r3 + nop +_0203718C: .word sub_02037108 + thumb_func_end sub_02037184 + + thumb_func_start sub_02037190 +sub_02037190: ; 0x02037190 + ldr r0, _0203719C ; =0x021D4140 + ldr r3, _020371A0 ; =sub_02033BE4 + ldr r1, [r0, #8] + ldr r0, _020371A4 ; =0x00000498 + add r0, r1, r0 + bx r3 + .balign 4, 0 +_0203719C: .word 0x021D4140 +_020371A0: .word sub_02033BE4 +_020371A4: .word 0x00000498 + thumb_func_end sub_02037190 + + thumb_func_start sub_020371A8 +sub_020371A8: ; 0x020371A8 + push {r4, lr} + ldr r4, [sp, #8] + bl sub_02034170 + mov r0, #0xee + strb r0, [r4, #0xa] + ldr r0, _020371C0 ; =0x0000FFFF + strh r0, [r4, #8] + mov r0, #0 + str r0, [r4, #4] + str r0, [r4] + pop {r4, pc} + .balign 4, 0 +_020371C0: .word 0x0000FFFF + thumb_func_end sub_020371A8 + + thumb_func_start sub_020371C4 +sub_020371C4: ; 0x020371C4 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r5, r0, #0 + str r1, [sp, #4] + str r2, [sp, #8] + add r4, r3, #0 + bl sub_02033BC4 + cmp r0, #0 + beq _020372D4 +_020371D8: + ldrb r7, [r4, #0xa] + cmp r7, #0xee + bne _020371EA + add r0, r5, #0 + bl sub_02033B68 + add r7, r0, #0 + cmp r7, #0xee + beq _020372CA +_020371EA: + mov r0, #4 + ldrsh r0, [r5, r0] + strb r7, [r4, #0xa] + ldrh r6, [r4, #8] + str r0, [sp, #0x10] + ldr r0, _020372D8 ; =0x0000FFFF + cmp r6, r0 + bne _0203723E + add r0, r7, #0 + bl sub_020341DC + add r6, r0, #0 + ldr r0, _020372DC ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _020372E0 ; =0x000006B8 + ldrb r0, [r1, r0] + cmp r0, #0 + bne _020372D4 + ldr r0, _020372D8 ; =0x0000FFFF + cmp r6, r0 + bne _0203723C + add r0, r5, #0 + bl sub_02033BC4 + cmp r0, #1 + bge _02037226 + ldr r0, [sp, #0x10] + add sp, #0x14 + strh r0, [r5, #4] + pop {r4, r5, r6, r7, pc} +_02037226: + add r0, r5, #0 + bl sub_02033B68 + lsl r6, r0, #8 + add r0, r5, #0 + bl sub_02033B68 + add r6, r6, r0 + mov r0, #4 + ldrsh r0, [r5, r0] + str r0, [sp, #0x10] +_0203723C: + strh r6, [r4, #8] +_0203723E: + add r0, r7, #0 + bl sub_02034244 + cmp r0, #0 + beq _0203729A + ldr r0, [r4, #4] + cmp r0, #0 + bne _0203725A + ldrh r2, [r4, #8] + ldr r1, [sp, #4] + add r0, r7, #0 + bl sub_02034280 + str r0, [r4, #4] +_0203725A: + ldr r2, [r4] + ldr r1, [sp, #8] + add r0, r5, #0 + sub r2, r6, r2 + bl sub_02033B4C + ldr r2, [r4, #4] + str r0, [sp, #0xc] + cmp r2, #0 + beq _0203727A + ldr r1, [r4] + ldr r0, [sp, #8] + add r1, r2, r1 + ldr r2, [sp, #0xc] + bl MIi_CpuCopy8 +_0203727A: + ldr r1, [r4] + ldr r0, [sp, #0xc] + add r0, r1, r0 + str r0, [r4] + cmp r0, r6 + blt _020372CA + str r4, [sp] + ldr r0, [sp, #4] + ldr r3, [r4, #4] + add r1, r7, #0 + add r2, r6, #0 + bl sub_020371A8 + cmp r7, #0x11 + beq _020372D4 + b _020372CA +_0203729A: + add r0, r5, #0 + bl sub_02033BC4 + cmp r0, r6 + blt _020372C2 + ldr r1, [sp, #8] + add r0, r5, #0 + add r2, r6, #0 + bl sub_02033B4C + ldr r0, [sp, #4] + ldr r3, [sp, #8] + add r1, r7, #0 + add r2, r6, #0 + str r4, [sp] + bl sub_020371A8 + cmp r7, #0x11 + beq _020372D4 + b _020372CA +_020372C2: + ldr r0, [sp, #0x10] + add sp, #0x14 + strh r0, [r5, #4] + pop {r4, r5, r6, r7, pc} +_020372CA: + add r0, r5, #0 + bl sub_02033BC4 + cmp r0, #0 + bne _020371D8 +_020372D4: + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_020372D8: .word 0x0000FFFF +_020372DC: .word 0x021D4140 +_020372E0: .word 0x000006B8 + thumb_func_end sub_020371C4 + + thumb_func_start sub_020372E4 +sub_020372E4: ; 0x020372E4 + push {r4, lr} + ldr r0, _02037328 ; =0x021D4140 + ldr r1, [r0, #8] + cmp r1, #0 + beq _02037326 + ldr r0, _0203732C ; =0x000006BA + ldrb r0, [r1, r0] + cmp r0, #0 + bne _02037326 + ldr r0, _02037330 ; =0x000004A4 + add r0, r1, r0 + bl sub_02033C28 + ldr r0, _02037328 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02037330 ; =0x000004A4 + add r0, r1, r0 + bl sub_02033BC4 + cmp r0, #0 + ble _02037326 + ldr r0, _02037328 ; =0x021D4140 + mov r3, #0x62 + ldr r4, [r0, #8] + ldr r2, _02037330 ; =0x000004A4 + lsl r3, r3, #4 + add r0, r4, r2 + sub r2, #0x10 + ldr r2, [r4, r2] + mov r1, #0 + add r3, r4, r3 + bl sub_020371C4 +_02037326: + pop {r4, pc} + .balign 4, 0 +_02037328: .word 0x021D4140 +_0203732C: .word 0x000006BA +_02037330: .word 0x000004A4 + thumb_func_end sub_020372E4 + + thumb_func_start sub_02037334 +sub_02037334: ; 0x02037334 + push {r3, r4, r5, r6, r7, lr} + ldr r0, _020373A4 ; =0x021D4140 + ldr r1, [r0, #8] + cmp r1, #0 + beq _020373A0 + ldr r0, _020373A8 ; =0x000006BA + ldrb r0, [r1, r0] + cmp r0, #0 + bne _020373A0 + bl sub_0203993C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r0, r0, #1 + mov r4, #0 + str r0, [sp] + cmp r0, #0 + ble _020373A0 + ldr r7, _020373A4 ; =0x021D4140 + add r5, r4, #0 +_02037360: + ldr r1, [r7, #8] + ldr r0, _020373AC ; =0x0000051C + add r0, r1, r0 + add r0, r0, r5 + bl sub_02033C28 + ldr r1, [r7, #8] + ldr r0, _020373AC ; =0x0000051C + add r0, r1, r0 + add r0, r0, r5 + bl sub_02033BC4 + cmp r0, #0 + ble _02037396 + mov r3, #0x17 + ldr r6, [r7, #8] + ldr r0, _020373AC ; =0x0000051C + ldr r2, _020373B0 ; =0x00000494 + lsl r3, r3, #6 + add r0, r6, r0 + add r3, r6, r3 + ldr r2, [r6, r2] + add r0, r0, r5 + add r1, r4, #0 + add r3, r3, r5 + bl sub_020371C4 +_02037396: + ldr r0, [sp] + add r4, r4, #1 + add r5, #0xc + cmp r4, r0 + blt _02037360 +_020373A0: + pop {r3, r4, r5, r6, r7, pc} + nop +_020373A4: .word 0x021D4140 +_020373A8: .word 0x000006BA +_020373AC: .word 0x0000051C +_020373B0: .word 0x00000494 + thumb_func_end sub_02037334 + + thumb_func_start sub_020373B4 +sub_020373B4: ; 0x020373B4 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02037448 ; =0x021D4140 + ldr r0, [r0, #8] + cmp r0, #0 + bne _020373C4 + mov r0, #0 + pop {r4, pc} +_020373C4: + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _020373F2 + ldr r0, _02037448 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _0203744C ; =0x000006B6 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _020373EE + bl ov00_021EE4FC + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #1 + add r1, r0, #0 + lsl r1, r4 + tst r1, r2 + bne _02037444 +_020373EE: + mov r0, #0 + pop {r4, pc} +_020373F2: + bl sub_02037474 + cmp r0, #0 + bne _020373FE + mov r0, #0 + pop {r4, pc} +_020373FE: + bl sub_02033298 + cmp r0, #4 + beq _0203740A + mov r0, #0 + pop {r4, pc} +_0203740A: + bl sub_0203769C + cmp r4, r0 + bne _02037416 + mov r0, #1 + pop {r4, pc} +_02037416: + bl sub_0203769C + cmp r0, #0 + bne _02037430 + bl sub_02033250 + mov r1, #1 + add r2, r1, #0 + lsl r2, r4 + tst r0, r2 + beq _02037442 + add r0, r1, #0 + pop {r4, pc} +_02037430: + ldr r0, _02037448 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02037450 ; =0x00000694 + ldrh r2, [r1, r0] + mov r0, #1 + add r1, r0, #0 + lsl r1, r4 + tst r1, r2 + bne _02037444 +_02037442: + mov r0, #0 +_02037444: + pop {r4, pc} + nop +_02037448: .word 0x021D4140 +_0203744C: .word 0x000006B6 +_02037450: .word 0x00000694 + thumb_func_end sub_020373B4 + + thumb_func_start sub_02037454 +sub_02037454: ; 0x02037454 + push {r3, r4, r5, lr} + mov r4, #0 + add r5, r4, #0 +_0203745A: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _02037468 + add r4, r4, #1 +_02037468: + add r5, r5, #1 + cmp r5, #8 + blt _0203745A + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02037454 + + thumb_func_start sub_02037474 +sub_02037474: ; 0x02037474 + push {r3, lr} + ldr r0, _02037494 ; =0x021D4140 + ldr r0, [r0, #8] + cmp r0, #0 + beq _0203748E + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _0203748E + mov r0, #1 + pop {r3, pc} +_0203748E: + bl sub_02035650 + pop {r3, pc} + .balign 4, 0 +_02037494: .word 0x021D4140 + thumb_func_end sub_02037474 + + thumb_func_start sub_02037498 +sub_02037498: ; 0x02037498 + ldr r1, _020374A4 ; =0x021D4140 + ldr r2, [r1, #8] + ldr r1, _020374A8 ; =0x0000065F + strb r0, [r2, r1] + bx lr + nop +_020374A4: .word 0x021D4140 +_020374A8: .word 0x0000065F + thumb_func_end sub_02037498 + + thumb_func_start sub_020374AC +sub_020374AC: ; 0x020374AC + ldr r1, _020374B8 ; =0x021D4140 + ldr r1, [r1, #8] + add r1, r1, r0 + ldr r0, _020374BC ; =0x00000654 + ldrb r0, [r1, r0] + bx lr + .balign 4, 0 +_020374B8: .word 0x021D4140 +_020374BC: .word 0x00000654 + thumb_func_end sub_020374AC + + thumb_func_start sub_020374C0 +sub_020374C0: ; 0x020374C0 + ldr r1, _020374DC ; =0x021D4140 + ldr r2, [r1, #8] + cmp r2, #0 + bne _020374CC + mov r0, #0 + bx lr +_020374CC: + ldr r1, _020374E0 ; =0x00000644 + add r3, r2, r1 + lsl r2, r0, #1 + ldrh r0, [r3, r2] + mov r1, #0 + strh r1, [r3, r2] + bx lr + nop +_020374DC: .word 0x021D4140 +_020374E0: .word 0x00000644 + thumb_func_end sub_020374C0 + + thumb_func_start sub_020374E4 +sub_020374E4: ; 0x020374E4 + ldr r0, _020374FC ; =0x021D4140 + ldr r3, [r0, #8] + cmp r3, #0 + beq _020374F8 + ldr r1, _02037500 ; =0x0000065C + mov r0, #2 + ldrh r2, [r3, r1] + lsl r0, r0, #0xe + orr r0, r2 + strh r0, [r3, r1] +_020374F8: + bx lr + nop +_020374FC: .word 0x021D4140 +_02037500: .word 0x0000065C + thumb_func_end sub_020374E4 + + thumb_func_start sub_02037504 +sub_02037504: ; 0x02037504 + ldr r0, _02037514 ; =0x021D4140 + ldr r2, [r0, #8] + cmp r2, #0 + beq _02037512 + ldr r0, _02037518 ; =0x0000065C + mov r1, #0 + strh r1, [r2, r0] +_02037512: + bx lr + .balign 4, 0 +_02037514: .word 0x021D4140 +_02037518: .word 0x0000065C + thumb_func_end sub_02037504 + + thumb_func_start sub_0203751C +sub_0203751C: ; 0x0203751C + ldr r0, _02037534 ; =0x021D4140 + ldr r1, [r0, #8] + cmp r1, #0 + beq _02037530 + ldr r0, _02037538 ; =0x0000065C + ldrh r1, [r1, r0] + mov r0, #2 + lsl r0, r0, #0xe + and r0, r1 + bx lr +_02037530: + mov r0, #1 + bx lr + .balign 4, 0 +_02037534: .word 0x021D4140 +_02037538: .word 0x0000065C + thumb_func_end sub_0203751C + + thumb_func_start sub_0203753C +sub_0203753C: ; 0x0203753C + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl sub_02035FF0 + cmp r0, #1 + bne _0203756E + mov r0, #1 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _02037590 ; =0x021D4140 + add r2, r4, #0 + ldr r1, [r0, #8] + mov r0, #0x16 + lsl r0, r0, #6 + add r0, r1, r0 + add r1, r5, #0 + add r3, r6, #0 + bl sub_02033DF0 + add sp, #8 + pop {r4, r5, r6, pc} +_0203756E: + mov r0, #1 + str r0, [sp] + mov r0, #0 + str r0, [sp, #4] + ldr r0, _02037590 ; =0x021D4140 + add r2, r4, #0 + ldr r1, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r1, r0 + add r1, r5, #0 + add r3, r6, #0 + bl sub_02033DF0 + add sp, #8 + pop {r4, r5, r6, pc} + nop +_02037590: .word 0x021D4140 + thumb_func_end sub_0203753C + + thumb_func_start sub_02037594 +sub_02037594: ; 0x02037594 + push {r3, lr} + ldr r0, _0203760C ; =0x021D4140 + ldr r2, [r0, #8] + cmp r2, #0 + beq _02037608 + ldr r1, _02037610 ; =0x000006AB + ldrb r0, [r2, r1] + cmp r0, #1 + beq _020375AC + cmp r0, #3 + beq _020375E4 + pop {r3, pc} +_020375AC: + bl sub_02035FF0 + cmp r0, #1 + bne _020375C4 + ldr r1, _0203760C ; =0x021D4140 + mov r0, #0xb + ldr r2, [r1, #8] + ldr r1, _02037614 ; =0x000006AC + add r1, r2, r1 + bl sub_020376E0 + b _020375D4 +_020375C4: + ldr r1, _0203760C ; =0x021D4140 + mov r0, #0xb + ldr r2, [r1, #8] + ldr r1, _02037614 ; =0x000006AC + add r1, r2, r1 + mov r2, #1 + bl sub_02037108 +_020375D4: + cmp r0, #0 + beq _02037608 + ldr r0, _0203760C ; =0x021D4140 + mov r2, #2 + ldr r1, [r0, #8] + ldr r0, _02037610 ; =0x000006AB + strb r2, [r1, r0] + pop {r3, pc} +_020375E4: + add r1, r1, #1 + mov r0, #0xc + add r1, r2, r1 + bl sub_020376E0 + cmp r0, #0 + beq _02037608 + ldr r0, _0203760C ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02037614 ; =0x000006AC + ldrb r0, [r1, r0] + bl sub_02035FA8 + ldr r0, _0203760C ; =0x021D4140 + mov r2, #0 + ldr r1, [r0, #8] + ldr r0, _02037610 ; =0x000006AB + strb r2, [r1, r0] +_02037608: + pop {r3, pc} + nop +_0203760C: .word 0x021D4140 +_02037610: .word 0x000006AB +_02037614: .word 0x000006AC + thumb_func_end sub_02037594 + + thumb_func_start sub_02037618 +sub_02037618: ; 0x02037618 + push {r4, lr} + add r4, r2, #0 + bl sub_0203769C + cmp r0, #0 + bne _02037636 + ldr r1, _02037638 ; =0x021D4140 + ldr r0, _0203763C ; =0x000006AB + ldr r2, [r1, #8] + mov r3, #1 + strb r3, [r2, r0] + ldrb r2, [r4] + ldr r1, [r1, #8] + add r0, r0, #1 + strb r2, [r1, r0] +_02037636: + pop {r4, pc} + .balign 4, 0 +_02037638: .word 0x021D4140 +_0203763C: .word 0x000006AB + thumb_func_end sub_02037618 + + thumb_func_start sub_02037640 +sub_02037640: ; 0x02037640 + push {r4, lr} + add r4, r2, #0 + bl sub_0203769C + cmp r0, #0 + beq _0203765E + ldr r1, _02037660 ; =0x021D4140 + ldrb r3, [r4] + ldr r2, [r1, #8] + ldr r0, _02037664 ; =0x000006AC + strb r3, [r2, r0] + ldr r1, [r1, #8] + mov r2, #3 + sub r0, r0, #1 + strb r2, [r1, r0] +_0203765E: + pop {r4, pc} + .balign 4, 0 +_02037660: .word 0x021D4140 +_02037664: .word 0x000006AC + thumb_func_end sub_02037640 + + thumb_func_start sub_02037668 +sub_02037668: ; 0x02037668 + push {r4, lr} + add r4, r2, #0 + bl sub_0203769C + cmp r0, #0 + bne _02037690 + ldr r0, _02037694 ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02037698 ; =0x000006AB + ldrb r0, [r1, r0] + cmp r0, #2 + bne _02037690 + ldrb r0, [r4] + bl sub_02035FA8 + ldr r0, _02037694 ; =0x021D4140 + mov r2, #0 + ldr r1, [r0, #8] + ldr r0, _02037698 ; =0x000006AB + strb r2, [r1, r0] +_02037690: + pop {r4, pc} + nop +_02037694: .word 0x021D4140 +_02037698: .word 0x000006AB + thumb_func_end sub_02037668 + + thumb_func_start sub_0203769C +sub_0203769C: ; 0x0203769C + push {r3, lr} + ldr r0, _020376D0 ; =0x021D4140 + ldr r0, [r0, #8] + cmp r0, #0 + beq _020376CA + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _020376C4 + bl ov00_021E6964 + mov r1, #0 + mvn r1, r1 + cmp r0, r1 + beq _020376CA + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3, pc} +_020376C4: + bl sub_020338F4 + pop {r3, pc} +_020376CA: + mov r0, #0 + pop {r3, pc} + nop +_020376D0: .word 0x021D4140 + thumb_func_end sub_0203769C + + thumb_func_start sub_020376D4 +sub_020376D4: ; 0x020376D4 + ldr r3, _020376DC ; =sub_02036FD8 + mov r2, #0 + bx r3 + nop +_020376DC: .word sub_02036FD8 + thumb_func_end sub_020376D4 + + thumb_func_start sub_020376E0 +sub_020376E0: ; 0x020376E0 + ldr r3, _020376E8 ; =sub_02037030 + mov r2, #0 + bx r3 + nop +_020376E8: .word sub_02037030 + thumb_func_end sub_020376E0 + + thumb_func_start sub_020376EC +sub_020376EC: ; 0x020376EC + ldr r3, _020376F4 ; =sub_02037030 + mov r1, #0 + add r2, r1, #0 + bx r3 + .balign 4, 0 +_020376F4: .word sub_02037030 + thumb_func_end sub_020376EC + + thumb_func_start sub_020376F8 +sub_020376F8: ; 0x020376F8 + ldr r3, _020376FC ; =sub_0203567C + bx r3 + .balign 4, 0 +_020376FC: .word sub_0203567C + thumb_func_end sub_020376F8 + + thumb_func_start sub_02037700 +sub_02037700: ; 0x02037700 + push {r3, lr} + ldr r0, _02037724 ; =0x021D4140 + ldr r1, [r0, #8] + cmp r1, #0 + beq _0203771E + ldr r0, _02037728 ; =0x000006B8 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _0203771E + mov r0, #1 + add r1, r0, #0 + bl sub_020398D4 + mov r0, #1 + pop {r3, pc} +_0203771E: + bl sub_0203569C + pop {r3, pc} + .balign 4, 0 +_02037724: .word 0x021D4140 +_02037728: .word 0x000006B8 + thumb_func_end sub_02037700 + + thumb_func_start sub_0203772C +sub_0203772C: ; 0x0203772C + push {r3, lr} + bl sub_02033FC4 + cmp r0, #5 + blo _0203773A + mov r0, #0xc + pop {r3, pc} +_0203773A: + bl sub_02035FF0 + cmp r0, #0 + bne _02037746 + mov r0, #0xc + pop {r3, pc} +_02037746: + mov r0, #0x26 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203772C + + thumb_func_start sub_0203774C +sub_0203774C: ; 0x0203774C + push {r3, lr} + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FC4 + add r0, r0, #1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203774C + + thumb_func_start sub_0203775C +sub_0203775C: ; 0x0203775C + push {r3, lr} + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02033FF0 + add r0, r0, #1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203775C + + thumb_func_start sub_0203776C +sub_0203776C: ; 0x0203776C + push {r3, lr} + bl sub_020357FC + cmp r0, #0 + bne _02037786 + bl sub_0203769C + cmp r0, #0 + bne _02037786 + mov r0, #2 + add r1, sp, #0 + bl sub_02037184 +_02037786: + bl sub_0203581C + pop {r3, pc} + thumb_func_end sub_0203776C + + thumb_func_start sub_0203778C +sub_0203778C: ; 0x0203778C + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x20 + add r4, r0, #0 + add r0, sp, #0x10 + add r1, sp, #4 + bl GF_RTC_CopyDateTime + ldr r0, _02037810 ; =gMain + ldr r6, [sp, #0x10] + mov r5, #0 + lsr r7, r6, #0x1c + lsl r5, r5, #4 + ldr r1, [sp, #0xc] + ldr r0, [r0, #0x2c] + lsl r6, r6, #4 + add r3, r1, r0 + ldr r0, [sp, #0x18] + orr r5, r7 + str r0, [sp] + ldr r0, [sp, #0x14] + ldr r1, [sp, #4] + add r6, r0, r6 + ldr r0, _02037814 ; =0x00000000 + ldr r2, [sp, #8] + adc r0, r5 + lsr r5, r6, #0x1b + lsl r0, r0, #5 + orr r0, r5 + ldr r5, [sp] + lsl r6, r6, #5 + add r6, r5, r6 + ldr r5, _02037814 ; =0x00000000 + adc r5, r0 + lsr r0, r6, #0x1b + lsl r5, r5, #5 + orr r5, r0 + lsl r0, r6, #5 + add r6, r1, r0 + ldr r1, _02037814 ; =0x00000000 + adc r1, r5 + lsr r0, r6, #0x1a + lsl r1, r1, #6 + orr r1, r0 + lsl r0, r6, #6 + add r5, r2, r0 + ldr r2, _02037814 ; =0x00000000 + adc r2, r1 + lsr r0, r5, #0x1a + lsl r1, r2, #6 + orr r1, r0 + lsl r0, r5, #6 + add r2, r3, r0 + ldr r0, _02037814 ; =0x00000000 + str r2, [r4] + adc r0, r1 + str r0, [r4, #4] + ldr r1, _02037818 ; =0x6C078965 + ldr r0, _0203781C ; =0x5D588B65 + str r1, [r4, #8] + str r0, [r4, #0xc] + ldr r0, _02037820 ; =0x00269EC3 + str r0, [r4, #0x10] + mov r0, #0 + str r0, [r4, #0x14] + add sp, #0x20 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02037810: .word gMain +_02037814: .word 0x00000000 +_02037818: .word 0x6C078965 +_0203781C: .word 0x5D588B65 +_02037820: .word 0x00269EC3 + thumb_func_end sub_0203778C + + thumb_func_start sub_02037824 +sub_02037824: ; 0x02037824 + add r1, r0, #0 + ldr r0, _02037834 ; =0x021D4140 + ldr r3, _02037838 ; =sub_02033F9C + ldr r2, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r2, r0 + bx r3 + .balign 4, 0 +_02037834: .word 0x021D4140 +_02037838: .word sub_02033F9C + thumb_func_end sub_02037824 + + thumb_func_start sub_0203783C +sub_0203783C: ; 0x0203783C + ldr r0, _0203784C ; =0x021D4140 + ldr r3, _02037850 ; =sub_02033C50 + ldr r1, [r0, #8] + mov r0, #0x5a + lsl r0, r0, #4 + add r0, r1, r0 + bx r3 + nop +_0203784C: .word 0x021D4140 +_02037850: .word sub_02033C50 + thumb_func_end sub_0203783C + + thumb_func_start sub_02037854 +sub_02037854: ; 0x02037854 + ldr r0, _02037864 ; =0x021D4140 + ldr r3, _02037868 ; =sub_02033C50 + ldr r1, [r0, #8] + mov r0, #0x16 + lsl r0, r0, #6 + add r0, r1, r0 + bx r3 + nop +_02037864: .word 0x021D4140 +_02037868: .word sub_02033C50 + thumb_func_end sub_02037854 + + thumb_func_start sub_0203786C +sub_0203786C: ; 0x0203786C + ldr r1, _02037878 ; =0x021D4140 + ldr r2, [r1, #8] + ldr r1, _0203787C ; =0x000006B6 + strb r0, [r2, r1] + bx lr + nop +_02037878: .word 0x021D4140 +_0203787C: .word 0x000006B6 + thumb_func_end sub_0203786C + + thumb_func_start sub_02037880 +sub_02037880: ; 0x02037880 + ldr r0, _0203788C ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02037890 ; =0x000006B6 + ldrb r0, [r1, r0] + bx lr + nop +_0203788C: .word 0x021D4140 +_02037890: .word 0x000006B6 + thumb_func_end sub_02037880 + + thumb_func_start sub_02037894 +sub_02037894: ; 0x02037894 + ldr r2, _020378A4 ; =0x021D4140 + ldr r2, [r2, #8] + cmp r2, #0 + beq _020378A2 + add r2, r2, r1 + ldr r1, _020378A8 ; =0x000006A6 + strb r0, [r2, r1] +_020378A2: + bx lr + .balign 4, 0 +_020378A4: .word 0x021D4140 +_020378A8: .word 0x000006A6 + thumb_func_end sub_02037894 + + thumb_func_start sub_020378AC +sub_020378AC: ; 0x020378AC + ldr r1, _020378C4 ; =0x021D4140 + ldr r1, [r1, #8] + cmp r1, #0 + beq _020378C0 + add r2, r1, r0 + ldr r1, _020378C8 ; =0x000006A6 + ldrb r1, [r2, r1] + cmp r1, #0xff + beq _020378C0 + add r0, r1, #0 +_020378C0: + bx lr + nop +_020378C4: .word 0x021D4140 +_020378C8: .word 0x000006A6 + thumb_func_end sub_020378AC + + thumb_func_start sub_020378CC +sub_020378CC: ; 0x020378CC + push {r3, lr} + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _020378E0 + bl ov00_021E7080 + pop {r3, pc} +_020378E0: + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_020378CC + + thumb_func_start sub_020378E4 +sub_020378E4: ; 0x020378E4 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _02037922 + ldr r2, _02037924 ; =0x021D4140 + ldr r1, _02037928 ; =0x00000664 + ldr r3, [r2, #8] + ldr r0, [r3, r1] + cmp r0, r4 + beq _02037922 + str r4, [r3, r1] + cmp r4, #0 + beq _02037922 + ldr r3, [r2, #8] + mov r0, #0 + add r1, r1, #4 + str r0, [r3, r1] + ldr r1, _0203792C ; =0x0000066C + add r5, r0, #0 + add r4, r0, #0 +_02037914: + ldr r3, [r2, #8] + add r0, r0, #1 + add r3, r3, r5 + add r5, r5, #4 + str r4, [r3, r1] + cmp r0, #8 + blt _02037914 +_02037922: + pop {r3, r4, r5, pc} + .balign 4, 0 +_02037924: .word 0x021D4140 +_02037928: .word 0x00000664 +_0203792C: .word 0x0000066C + thumb_func_end sub_020378E4 + + thumb_func_start sub_02037930 +sub_02037930: ; 0x02037930 + push {r4, lr} + add r4, r0, #0 + bl sub_020378E4 + bl sub_0203993C + bl sub_02034044 + cmp r0, #0 + beq _02037956 + cmp r4, #0 + beq _02037950 + mov r0, #0 + bl ov00_021E70CC + pop {r4, pc} +_02037950: + mov r0, #1 + bl ov00_021E70CC +_02037956: + pop {r4, pc} + thumb_func_end sub_02037930 + + thumb_func_start sub_02037958 +sub_02037958: ; 0x02037958 + ldr r0, _0203796C ; =0x021D4140 + ldr r1, [r0, #8] + ldr r0, _02037970 ; =0x000006B1 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _02037968 + mov r0, #1 + bx lr +_02037968: + mov r0, #0 + bx lr + .balign 4, 0 +_0203796C: .word 0x021D4140 +_02037970: .word 0x000006B1 + thumb_func_end sub_02037958 + + thumb_func_start sub_02037974 +sub_02037974: ; 0x02037974 + ldr r0, _02037980 ; =0x021D4140 + mov r2, #1 + ldr r1, [r0, #8] + ldr r0, _02037984 ; =0x000006B8 + strb r2, [r1, r0] + bx lr + .balign 4, 0 +_02037980: .word 0x021D4140 +_02037984: .word 0x000006B8 + thumb_func_end sub_02037974 + + thumb_func_start sub_02037988 +sub_02037988: ; 0x02037988 + ldr r0, _02037998 ; =0x021D4140 + ldr r2, [r0, #8] + cmp r2, #0 + beq _02037996 + ldr r0, _0203799C ; =0x000006B9 + mov r1, #1 + strb r1, [r2, r0] +_02037996: + bx lr + .balign 4, 0 +_02037998: .word 0x021D4140 +_0203799C: .word 0x000006B9 + thumb_func_end sub_02037988 + + thumb_func_start sub_020379A0 +sub_020379A0: ; 0x020379A0 + push {r4, lr} + ldr r1, _020379F0 ; =0x021D414C + ldr r1, [r1] + cmp r1, #0 + bne _020379C0 + mov r1, #0x99 + lsl r1, r1, #2 + bl AllocFromHeap + ldr r1, _020379F0 ; =0x021D414C + mov r2, #0x99 + str r0, [r1] + mov r1, #0 + lsl r2, r2, #2 + bl MIi_CpuFill8 +_020379C0: + ldr r1, _020379F0 ; =0x021D414C + mov r3, #0 + mov r0, #0xff +_020379C6: + ldr r2, [r1] + add r2, r2, r3 + add r3, r3, #1 + strb r0, [r2, #0x10] + cmp r3, #8 + blt _020379C6 + ldr r3, _020379F0 ; =0x021D414C + ldr r1, _020379F4 ; =0x00000261 + ldr r2, [r3] + strb r0, [r2, r1] + ldr r4, [r3] + add r2, r1, #1 + strb r0, [r4, r2] + ldr r2, [r3] + mov r4, #0 + add r0, r1, #2 + strb r4, [r2, r0] + ldr r2, [r3] + sub r0, r1, #1 + strb r4, [r2, r0] + pop {r4, pc} + .balign 4, 0 +_020379F0: .word 0x021D414C +_020379F4: .word 0x00000261 + thumb_func_end sub_020379A0 + + thumb_func_start sub_020379F8 +sub_020379F8: ; 0x020379F8 + push {r3, lr} + ldr r0, _02037A0C ; =0x021D414C + ldr r0, [r0] + bl FreeToHeap + ldr r0, _02037A0C ; =0x021D414C + mov r1, #0 + str r1, [r0] + pop {r3, pc} + nop +_02037A0C: .word 0x021D414C + thumb_func_end sub_020379F8 + + thumb_func_start sub_02037A10 +sub_02037A10: ; 0x02037A10 + ldr r0, _02037A20 ; =0x021D414C + ldr r0, [r0] + cmp r0, #0 + beq _02037A1C + mov r0, #1 + bx lr +_02037A1C: + mov r0, #0 + bx lr + .balign 4, 0 +_02037A20: .word 0x021D414C + thumb_func_end sub_02037A10 + + thumb_func_start sub_02037A24 +sub_02037A24: ; 0x02037A24 + push {r3, r4, r5, r6, lr} + sub sp, #4 + ldrb r1, [r2] + add r5, r0, #0 + add r0, sp, #0 + strb r1, [r0] + bl sub_0203769C + cmp r0, #0 + bne _02037A8E + add r0, sp, #0 + strb r5, [r0, #1] + ldrb r1, [r0] + strb r1, [r0, #2] + add r1, sp, #0 + mov r0, #0x12 + add r1, #1 + bl sub_02037184 + ldr r6, _02037A94 ; =0x021D414C + add r4, sp, #0 + ldr r0, [r6] + ldrb r1, [r4] + add r0, r0, r5 + mov r5, #0 + strb r1, [r0, #0x10] +_02037A58: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_020373B4 + cmp r0, #0 + beq _02037A70 + ldr r0, [r6] + ldrb r1, [r4] + add r0, r0, r5 + ldrb r0, [r0, #0x10] + cmp r1, r0 + bne _02037A8E +_02037A70: + add r5, r5, #1 + cmp r5, #8 + blt _02037A58 + mov r0, #0x11 + add r1, sp, #0 + bl sub_02037184 + cmp r0, #0 + bne _02037A8E + ldr r0, _02037A94 ; =0x021D414C + mov r2, #1 + ldr r1, [r0] + mov r0, #0x26 + lsl r0, r0, #4 + strb r2, [r1, r0] +_02037A8E: + add sp, #4 + pop {r3, r4, r5, r6, pc} + nop +_02037A94: .word 0x021D414C + thumb_func_end sub_02037A24 + + thumb_func_start sub_02037A98 +sub_02037A98: ; 0x02037A98 + ldr r0, _02037AA8 ; =0x021D414C + ldrb r3, [r2, #1] + ldr r1, [r0] + ldrb r0, [r2] + add r0, r1, r0 + strb r3, [r0, #0x10] + bx lr + nop +_02037AA8: .word 0x021D414C + thumb_func_end sub_02037A98 + + thumb_func_start sub_02037AAC +sub_02037AAC: ; 0x02037AAC + ldr r0, _02037AB8 ; =0x021D414C + ldrb r2, [r2] + ldr r1, [r0] + ldr r0, _02037ABC ; =0x00000261 + strb r2, [r1, r0] + bx lr + .balign 4, 0 +_02037AB8: .word 0x021D414C +_02037ABC: .word 0x00000261 + thumb_func_end sub_02037AAC + + thumb_func_start sub_02037AC0 +sub_02037AC0: ; 0x02037AC0 + ldr r2, _02037AD4 ; =0x021D414C + ldr r1, _02037AD8 ; =0x00000262 + ldr r3, [r2] + strb r0, [r3, r1] + ldr r2, [r2] + mov r3, #1 + add r0, r1, #1 + strb r3, [r2, r0] + bx lr + nop +_02037AD4: .word 0x021D414C +_02037AD8: .word 0x00000262 + thumb_func_end sub_02037AC0 + + thumb_func_start sub_02037ADC +sub_02037ADC: ; 0x02037ADC + push {r3, lr} + ldr r0, _02037B30 ; =0x021D414C + ldr r2, [r0] + cmp r2, #0 + beq _02037B2C + ldr r1, _02037B34 ; =0x00000263 + ldrb r0, [r2, r1] + cmp r0, #0 + beq _02037B06 + sub r1, r1, #1 + mov r0, #0x10 + add r1, r2, r1 + bl sub_020376E0 + cmp r0, #0 + beq _02037B06 + ldr r0, _02037B30 ; =0x021D414C + mov r2, #0 + ldr r1, [r0] + ldr r0, _02037B34 ; =0x00000263 + strb r2, [r1, r0] +_02037B06: + ldr r0, _02037B30 ; =0x021D414C + ldr r1, [r0] + mov r0, #0x26 + lsl r0, r0, #4 + ldrb r0, [r1, r0] + cmp r0, #0 + beq _02037B2C + mov r0, #0x11 + add r1, #0x10 + bl sub_02037184 + cmp r0, #0 + beq _02037B2C + ldr r0, _02037B30 ; =0x021D414C + mov r2, #0 + ldr r1, [r0] + mov r0, #0x26 + lsl r0, r0, #4 + strb r2, [r1, r0] +_02037B2C: + pop {r3, pc} + nop +_02037B30: .word 0x021D414C +_02037B34: .word 0x00000263 + thumb_func_end sub_02037ADC + + thumb_func_start sub_02037B38 +sub_02037B38: ; 0x02037B38 + ldr r1, _02037B54 ; =0x021D414C + ldr r2, [r1] + cmp r2, #0 + bne _02037B44 + mov r0, #1 + bx lr +_02037B44: + ldr r1, _02037B58 ; =0x00000261 + ldrb r1, [r2, r1] + cmp r1, r0 + bne _02037B50 + mov r0, #1 + bx lr +_02037B50: + mov r0, #0 + bx lr + .balign 4, 0 +_02037B54: .word 0x021D414C +_02037B58: .word 0x00000261 + thumb_func_end sub_02037B38 + + thumb_func_start sub_02037B5C +sub_02037B5C: ; 0x02037B5C + ldr r1, _02037B68 ; =0x021D414C + ldr r1, [r1] + add r0, r1, r0 + ldrb r0, [r0, #0x10] + bx lr + nop +_02037B68: .word 0x021D414C + thumb_func_end sub_02037B5C + + thumb_func_start sub_02037B6C +sub_02037B6C: ; 0x02037B6C + push {r3, r4} + lsl r4, r0, #1 + ldr r0, _02037B84 ; =0x021D414C + ldrb r3, [r2] + ldr r1, [r0] + strb r3, [r1, r4] + ldr r0, [r0] + ldrb r1, [r2, #1] + add r0, r0, r4 + strb r1, [r0, #1] + pop {r3, r4} + bx lr + .balign 4, 0 +_02037B84: .word 0x021D414C + thumb_func_end sub_02037B6C + + thumb_func_start sub_02037B88 +sub_02037B88: ; 0x02037B88 + mov r0, #2 + bx lr + thumb_func_end sub_02037B88 + + thumb_func_start sub_02037B8C +sub_02037B8C: ; 0x02037B8C + push {r3, lr} + add r2, sp, #0 + strb r0, [r2] + strb r1, [r2, #1] + mov r0, #0x13 + add r1, sp, #0 + bl sub_020376E0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02037B8C + + thumb_func_start sub_02037BA0 +sub_02037BA0: ; 0x02037BA0 + ldr r2, _02037BC4 ; =0x021D414C + ldr r3, [r2] + cmp r3, #0 + bne _02037BAE + mov r0, #0 + mvn r0, r0 + bx lr +_02037BAE: + lsl r2, r0, #1 + ldrb r0, [r3, r2] + cmp r1, r0 + bne _02037BBC + add r0, r3, r2 + ldrb r0, [r0, #1] + bx lr +_02037BBC: + mov r0, #0 + mvn r0, r0 + bx lr + nop +_02037BC4: .word 0x021D414C + thumb_func_end sub_02037BA0 + + thumb_func_start sub_02037BC8 +sub_02037BC8: ; 0x02037BC8 + push {r3, r4, r5, r6, r7, lr} + mov r4, #0 + ldr r6, _02037BE8 ; =0x021D414C + add r5, r4, #0 + add r7, r4, #0 +_02037BD2: + ldr r0, [r6] + add r1, r7, #0 + add r0, r0, r5 + mov r2, #2 + bl MIi_CpuFill8 + add r4, r4, #1 + add r5, r5, #2 + cmp r4, #8 + blt _02037BD2 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02037BE8: .word 0x021D414C + thumb_func_end sub_02037BC8 + + thumb_func_start sub_02037BEC +sub_02037BEC: ; 0x02037BEC + push {r3, r4} + mov r4, #0 + mov r0, #0x96 + ldr r1, _02037C08 ; =0x021D414C + add r3, r4, #0 + lsl r0, r0, #2 +_02037BF8: + ldr r2, [r1] + add r2, r2, r4 + add r4, r4, #1 + strb r3, [r2, r0] + cmp r4, #8 + blt _02037BF8 + pop {r3, r4} + bx lr + .balign 4, 0 +_02037C08: .word 0x021D414C + thumb_func_end sub_02037BEC + + thumb_func_start sub_02037C0C +sub_02037C0C: ; 0x02037C0C + push {r4, lr} + ldr r2, _02037C40 ; =0x021D414C + ldr r3, [r2] + cmp r3, #0 + beq _02037C3A + add r4, r0, #0 + mov r2, #0x48 + mul r4, r2 + add r3, #0x18 + add r0, r1, #0 + add r1, r3, r4 + mov r2, #0x46 + bl MIi_CpuCopy8 + ldr r1, _02037C40 ; =0x021D414C + mov r0, #0x14 + ldr r1, [r1] + add r1, #0x18 + add r1, r1, r4 + bl sub_020376E0 + mov r0, #1 + pop {r4, pc} +_02037C3A: + mov r0, #0 + pop {r4, pc} + nop +_02037C40: .word 0x021D414C + thumb_func_end sub_02037C0C + + thumb_func_start sub_02037C44 +sub_02037C44: ; 0x02037C44 + ldr r1, _02037C64 ; =0x021D414C + ldr r3, [r1] + mov r1, #0x96 + add r2, r3, r0 + lsl r1, r1, #2 + ldrb r1, [r2, r1] + cmp r1, #0 + beq _02037C5E + mov r1, #0x48 + add r3, #0x18 + mul r1, r0 + add r0, r3, r1 + bx lr +_02037C5E: + mov r0, #0 + bx lr + nop +_02037C64: .word 0x021D414C + thumb_func_end sub_02037C44 + + thumb_func_start sub_02037C68 +sub_02037C68: ; 0x02037C68 + push {r3, r4, r5, lr} + ldr r3, _02037C90 ; =0x021D414C + add r1, r0, #0 + ldr r0, [r3] + mov r5, #1 + add r4, r0, r1 + mov r0, #0x96 + lsl r0, r0, #2 + strb r5, [r4, r0] + ldr r3, [r3] + add r0, r2, #0 + mov r2, #0x48 + add r3, #0x18 + mul r2, r1 + add r1, r3, r2 + mov r2, #0x46 + bl MIi_CpuCopy8 + pop {r3, r4, r5, pc} + nop +_02037C90: .word 0x021D414C + thumb_func_end sub_02037C68 + + thumb_func_start sub_02037C94 +sub_02037C94: ; 0x02037C94 + mov r0, #0x46 + bx lr + thumb_func_end sub_02037C94 + + thumb_func_start sub_02037C98 +sub_02037C98: ; 0x02037C98 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _02037D28 ; =0x021D4150 + add r4, r1, #0 + ldr r0, [r0] + cmp r0, #0 + bne _02037D24 + cmp r5, #0 + bne _02037CAE + bl GF_AssertFail +_02037CAE: + bl sub_02034D8C + mov r0, #0xf + mov r1, #0x68 + bl AllocFromHeap + ldr r1, _02037D28 ; =0x021D4150 + mov r2, #0x68 + str r0, [r1] + mov r1, #0 + bl MIi_CpuFill8 + ldr r0, _02037D28 ; =0x021D4150 + mov r2, #0x32 + ldr r1, [r0] + str r2, [r1, #0x44] + ldr r1, [r0] + mov r2, #1 + add r1, #0x52 + strb r2, [r1] + ldr r0, [r0] + str r5, [r0, #0x28] + add r0, r5, #0 + bl sub_02028E9C + ldr r1, _02037D28 ; =0x021D4150 + ldr r2, [r1] + str r0, [r2, #0x2c] + ldr r0, [r1] + mov r2, #2 + add r0, #0x4a + strb r2, [r0] + ldr r0, [r1] + mov r2, #0 + add r0, #0x4c + strb r2, [r0] + ldr r0, [r1] + add r0, #0x57 + strb r2, [r0] + ldr r0, [r1] + add r0, #0x4e + strb r4, [r0] + ldr r0, [r1] + add r0, #0xc + bl sub_0203778C + mov r0, #0 + add r1, r0, #0 + add r2, r0, #0 + bl sub_0203410C + cmp r4, #9 + beq _02037D24 + cmp r4, #0x11 + beq _02037D24 + cmp r4, #0xf + beq _02037D24 + bl sub_0203A880 +_02037D24: + pop {r3, r4, r5, pc} + nop +_02037D28: .word 0x021D4150 + thumb_func_end sub_02037C98 + + thumb_func_start sub_02037D2C +sub_02037D2C: ; 0x02037D2C + push {r3, lr} + ldr r0, _02037D74 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _02037D72 + bl sub_02034154 + ldr r0, _02037D74 ; =0x021D4150 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, #0 + beq _02037D48 + bl FreeToHeap +_02037D48: + bl sub_02039998 + cmp r0, #0 + beq _02037D56 + mov r0, #0x30 + bl sub_0201A9C4 +_02037D56: + bl sub_0203A914 + bl sub_02034DE0 + ldr r0, _02037D74 ; =0x021D4150 + ldr r0, [r0] + bl FreeToHeap + mov r0, #0xf + bl sub_0201A9C4 + ldr r0, _02037D74 ; =0x021D4150 + mov r1, #0 + str r1, [r0] +_02037D72: + pop {r3, pc} + .balign 4, 0 +_02037D74: .word 0x021D4150 + thumb_func_end sub_02037D2C + + thumb_func_start sub_02037D78 +sub_02037D78: ; 0x02037D78 + ldr r0, _02037D88 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _02037D84 + mov r0, #1 + bx lr +_02037D84: + mov r0, #0 + bx lr + .balign 4, 0 +_02037D88: .word 0x021D4150 + thumb_func_end sub_02037D78 + + thumb_func_start sub_02037D8C +sub_02037D8C: ; 0x02037D8C + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + add r7, r1, #0 + add r5, r2, #0 + add r4, r3, #0 + bl sub_02037474 + cmp r0, #0 + bne _02037DC4 + ldr r2, _02037DC8 ; =0x00007080 + mov r0, #3 + mov r1, #0xf + bl sub_0201A91C + add r0, r6, #0 + add r1, r7, #0 + bl sub_02037C98 + ldr r0, _02037DCC ; =0x021D4150 + ldr r1, [r0] + add r1, #0x4f + strb r5, [r1] + ldr r0, [r0] + mov r1, #0 + str r4, [r0, #0x30] + ldr r0, _02037DD0 ; =sub_02038218 + bl sub_020381C0 +_02037DC4: + pop {r3, r4, r5, r6, r7, pc} + nop +_02037DC8: .word 0x00007080 +_02037DCC: .word 0x021D4150 +_02037DD0: .word sub_02038218 + thumb_func_end sub_02037D8C + + thumb_func_start sub_02037DD4 +sub_02037DD4: ; 0x02037DD4 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + add r7, r1, #0 + add r5, r2, #0 + add r4, r3, #0 + bl sub_02037474 + cmp r0, #0 + bne _02037E0C + ldr r2, _02037E10 ; =0x00007080 + mov r0, #3 + mov r1, #0xf + bl sub_0201A91C + add r0, r6, #0 + add r1, r7, #0 + bl sub_02037C98 + ldr r0, _02037E14 ; =0x021D4150 + ldr r1, [r0] + add r1, #0x4f + strb r5, [r1] + ldr r0, [r0] + mov r1, #0 + str r4, [r0, #0x30] + ldr r0, _02037E18 ; =sub_02038294 + bl sub_020381C0 +_02037E0C: + pop {r3, r4, r5, r6, r7, pc} + nop +_02037E10: .word 0x00007080 +_02037E14: .word 0x021D4150 +_02037E18: .word sub_02038294 + thumb_func_end sub_02037DD4 + + thumb_func_start sub_02037E1C +sub_02037E1C: ; 0x02037E1C + ldr r1, _02037E2C ; =0x021D4150 + ldr r3, _02037E30 ; =sub_020381C0 + ldr r1, [r1] + add r1, #0x4d + strb r0, [r1] + ldr r0, _02037E34 ; =sub_020382E4 + mov r1, #0 + bx r3 + .balign 4, 0 +_02037E2C: .word 0x021D4150 +_02037E30: .word sub_020381C0 +_02037E34: .word sub_020382E4 + thumb_func_end sub_02037E1C + + thumb_func_start sub_02037E38 +sub_02037E38: ; 0x02037E38 + push {r3, lr} + bl sub_02036274 + ldr r0, _02037E48 ; =sub_020383B0 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02037E48: .word sub_020383B0 + thumb_func_end sub_02037E38 + + thumb_func_start sub_02037E4C +sub_02037E4C: ; 0x02037E4C + push {r3, lr} + ldr r0, _02037E94 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x40] + cmp r0, #0 + ble _02037E5E + sub r0, r0, #1 + str r0, [r1, #0x40] + b _02037E64 +_02037E5E: + bne _02037E64 + bl sub_020399EC +_02037E64: + ldr r0, _02037E94 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _02037E72 + sub r0, r0, #1 + str r0, [r1, #0x44] +_02037E72: + bl sub_02034FE8 + cmp r0, #0 + beq _02037E90 + ldr r0, _02037E94 ; =0x021D4150 + ldr r0, [r0] + ldr r0, [r0, #0x44] + cmp r0, #0 + bne _02037E90 + bl sub_02036024 + ldr r0, _02037E98 ; =sub_02038408 + mov r1, #0 + bl sub_020381C0 +_02037E90: + pop {r3, pc} + nop +_02037E94: .word 0x021D4150 +_02037E98: .word sub_02038408 + thumb_func_end sub_02037E4C + + thumb_func_start sub_02037E9C +sub_02037E9C: ; 0x02037E9C + push {r3, lr} + ldr r0, _02037EB4 ; =0x021D4150 + ldr r1, [r0] + cmp r1, #0 + beq _02037EB2 + ldr r0, _02037EB8 ; =0x00000708 + str r0, [r1, #0x40] + ldr r0, _02037EBC ; =sub_02037E4C + mov r1, #5 + bl sub_020381C0 +_02037EB2: + pop {r3, pc} + .balign 4, 0 +_02037EB4: .word 0x021D4150 +_02037EB8: .word 0x00000708 +_02037EBC: .word sub_02037E4C + thumb_func_end sub_02037E9C + + thumb_func_start sub_02037EC0 +sub_02037EC0: ; 0x02037EC0 + ldr r3, _02037EC4 ; =sub_02033A0C + bx r3 + .balign 4, 0 +_02037EC4: .word sub_02033A0C + thumb_func_end sub_02037EC0 + + thumb_func_start sub_02037EC8 +sub_02037EC8: ; 0x02037EC8 + push {r4} + sub sp, #0xc + ldr r4, _02037F10 ; =0x020F6A90 + add r3, sp, #0 + ldmia r4!, {r0, r1} + add r2, r3, #0 + stmia r3!, {r0, r1} + ldr r0, [r4] + str r0, [r3] + ldr r0, _02037F14 ; =0x021D4150 + ldr r0, [r0] + ldr r1, [r0, #0x24] + cmp r0, #0 + bne _02037EEC + add sp, #0xc + mov r0, #0 + pop {r4} + bx lr +_02037EEC: + ldr r0, [sp] + cmp r0, #0 + beq _02037F08 +_02037EF2: + ldr r0, [r2] + cmp r1, r0 + bne _02037F00 + add sp, #0xc + mov r0, #1 + pop {r4} + bx lr +_02037F00: + add r2, r2, #4 + ldr r0, [r2] + cmp r0, #0 + bne _02037EF2 +_02037F08: + mov r0, #0 + add sp, #0xc + pop {r4} + bx lr + .balign 4, 0 +_02037F10: .word 0x020F6A90 +_02037F14: .word 0x021D4150 + thumb_func_end sub_02037EC8 + + thumb_func_start sub_02037F18 +sub_02037F18: ; 0x02037F18 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02037F58 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _02037F56 + ldr r2, _02037F5C ; =0x00007080 + mov r0, #3 + mov r1, #0xf + bl sub_0201A91C + cmp r0, #0 + bne _02037F36 + bl sub_020399EC +_02037F36: + add r0, r4, #0 + mov r1, #9 + bl sub_02037C98 + ldr r0, _02037F58 ; =0x021D4150 + mov r2, #9 + ldr r1, [r0] + add r1, #0x4e + strb r2, [r1] + ldr r0, [r0] + mov r1, #0 + add r0, #0x4f + strb r1, [r0] + ldr r0, _02037F60 ; =sub_020384B4 + bl sub_020381C0 +_02037F56: + pop {r4, pc} + .balign 4, 0 +_02037F58: .word 0x021D4150 +_02037F5C: .word 0x00007080 +_02037F60: .word sub_020384B4 + thumb_func_end sub_02037F18 + + thumb_func_start sub_02037F64 +sub_02037F64: ; 0x02037F64 + push {r3, lr} + ldr r1, _02037F8C ; =0x021D4150 + ldr r2, [r1] + add r2, #0x4d + strb r0, [r2] + ldr r0, [r1] + mov r2, #3 + add r0, #0x48 + strh r2, [r0] + mov r0, #1 + bl sub_02033AA4 + bl sub_0203A880 + ldr r0, _02037F90 ; =sub_02038668 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + nop +_02037F8C: .word 0x021D4150 +_02037F90: .word sub_02038668 + thumb_func_end sub_02037F64 + + thumb_func_start sub_02037F94 +sub_02037F94: ; 0x02037F94 + ldr r0, _02037FC0 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _02037FA2 + mov r0, #0 + mvn r0, r0 + bx lr +_02037FA2: + ldr r1, [r0, #0x24] + ldr r0, _02037FC4 ; =sub_020387E8 + cmp r1, r0 + bne _02037FAE + mov r0, #1 + bx lr +_02037FAE: + ldr r0, _02037FC8 ; =sub_02038800 + cmp r1, r0 + bne _02037FB8 + mov r0, #1 + b _02037FBA +_02037FB8: + mov r0, #0 +_02037FBA: + neg r0, r0 + bx lr + nop +_02037FC0: .word 0x021D4150 +_02037FC4: .word sub_020387E8 +_02037FC8: .word sub_02038800 + thumb_func_end sub_02037F94 + + thumb_func_start sub_02037FCC +sub_02037FCC: ; 0x02037FCC + ldr r0, _02037FE8 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _02037FD8 + mov r0, #0 + bx lr +_02037FD8: + ldr r1, [r0, #0x24] + ldr r0, _02037FEC ; =sub_02038854 + cmp r1, r0 + bne _02037FE4 + mov r0, #1 + bx lr +_02037FE4: + mov r0, #0 + bx lr + .balign 4, 0 +_02037FE8: .word 0x021D4150 +_02037FEC: .word sub_02038854 + thumb_func_end sub_02037FCC + + thumb_func_start sub_02037FF0 +sub_02037FF0: ; 0x02037FF0 + push {r3, lr} + mov r0, #0 + bl sub_02033AA4 + ldr r0, _02038064 ; =0x021D4150 + ldr r1, [r0] + add r0, r1, #0 + add r0, #0x53 + ldrb r0, [r0] + cmp r0, #1 + bne _02038018 + add r0, r1, #0 + add r0, #0x54 + ldrb r0, [r0] + cmp r0, #1 + bne _02038018 + add r1, #0x4e + ldrb r0, [r1] + cmp r0, #9 + bne _02038020 +_02038018: + mov r0, #0 + add r1, r0, #0 + bl sub_020398D4 +_02038020: + bl sub_0203A914 + ldr r0, _02038064 ; =0x021D4150 + mov r2, #9 + ldr r1, [r0] + add r1, #0x4e + strb r2, [r1] + ldr r1, [r0] + mov r2, #0 + add r1, #0x57 + strb r2, [r1] + ldr r0, [r0] + add r0, #0x4a + ldrb r0, [r0] + bl sub_02033908 + bl sub_0203769C + cmp r0, #0 + bne _02038058 + mov r0, #1 + bl sub_02033ACC + ldr r0, _02038068 ; =sub_02038418 + mov r1, #0xf + bl sub_020381C0 + pop {r3, pc} +_02038058: + ldr r0, _0203806C ; =sub_02038460 + mov r1, #5 + bl sub_020381C0 + pop {r3, pc} + nop +_02038064: .word 0x021D4150 +_02038068: .word sub_02038418 +_0203806C: .word sub_02038460 + thumb_func_end sub_02037FF0 + + thumb_func_start sub_02038070 +sub_02038070: ; 0x02038070 + ldr r0, _0203808C ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _0203807C + mov r0, #1 + bx lr +_0203807C: + ldr r1, [r0, #0x24] + ldr r0, _02038090 ; =sub_02038538 + cmp r1, r0 + beq _02038088 + mov r0, #1 + bx lr +_02038088: + mov r0, #0 + bx lr + .balign 4, 0 +_0203808C: .word 0x021D4150 +_02038090: .word sub_02038538 + thumb_func_end sub_02038070 + + thumb_func_start sub_02038094 +sub_02038094: ; 0x02038094 + push {r3, lr} + ldr r0, _020380A8 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _020380A6 + ldr r0, _020380AC ; =sub_0203847C + mov r1, #5 + bl sub_020381C0 +_020380A6: + pop {r3, pc} + .balign 4, 0 +_020380A8: .word 0x021D4150 +_020380AC: .word sub_0203847C + thumb_func_end sub_02038094 + + thumb_func_start sub_020380B0 +sub_020380B0: ; 0x020380B0 + push {r3, lr} + ldr r0, _020380C8 ; =0x021D4150 + ldr r1, [r0] + cmp r1, #0 + beq _020380C4 + mov r0, #1 + add r1, #0x57 + strb r0, [r1] + bl sub_02033AA4 +_020380C4: + pop {r3, pc} + nop +_020380C8: .word 0x021D4150 + thumb_func_end sub_020380B0 + + thumb_func_start sub_020380CC +sub_020380CC: ; 0x020380CC + push {r3, lr} + ldr r0, _020380EC ; =0x021D4150 + ldr r1, [r0] + cmp r1, #0 + beq _020380E8 + mov r0, #1 + add r1, #0x57 + strb r0, [r1] + bl sub_02033AA4 + ldr r0, _020380F0 ; =sub_020388A8 + mov r1, #0 + bl sub_020381C0 +_020380E8: + pop {r3, pc} + nop +_020380EC: .word 0x021D4150 +_020380F0: .word sub_020388A8 + thumb_func_end sub_020380CC + + thumb_func_start sub_020380F4 +sub_020380F4: ; 0x020380F4 + ldr r0, _02038100 ; =0x021D4150 + mov r1, #0x12 + ldr r0, [r0] + add r0, #0x4e + strb r1, [r0] + bx lr + .balign 4, 0 +_02038100: .word 0x021D4150 + thumb_func_end sub_020380F4 + + thumb_func_start sub_02038104 +sub_02038104: ; 0x02038104 + ldr r0, _02038110 ; =0x021D4150 + mov r1, #9 + ldr r0, [r0] + add r0, #0x4e + strb r1, [r0] + bx lr + .balign 4, 0 +_02038110: .word 0x021D4150 + thumb_func_end sub_02038104 + + thumb_func_start sub_02038114 +sub_02038114: ; 0x02038114 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_02037474 + cmp r0, #0 + bne _0203813C + ldr r2, _02038140 ; =0x00007080 + mov r0, #3 + mov r1, #0xf + bl sub_0201A91C + add r0, r5, #0 + add r1, r4, #0 + bl sub_02037C98 + ldr r0, _02038144 ; =sub_02038E00 + mov r1, #0 + bl sub_020381C0 +_0203813C: + pop {r3, r4, r5, pc} + nop +_02038140: .word 0x00007080 +_02038144: .word sub_02038E00 + thumb_func_end sub_02038114 + + thumb_func_start sub_02038148 +sub_02038148: ; 0x02038148 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_02037474 + cmp r0, #0 + bne _02038170 + ldr r2, _02038174 ; =0x00007080 + mov r0, #3 + mov r1, #0xf + bl sub_0201A91C + add r0, r5, #0 + add r1, r4, #0 + bl sub_02037C98 + ldr r0, _02038178 ; =sub_02038E48 + mov r1, #0 + bl sub_020381C0 +_02038170: + pop {r3, r4, r5, pc} + nop +_02038174: .word 0x00007080 +_02038178: .word sub_02038E48 + thumb_func_end sub_02038148 + + thumb_func_start sub_0203817C +sub_0203817C: ; 0x0203817C + push {r3, lr} + ldr r0, _020381BC ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _0203818E + ldr r0, [r0, #0x24] + cmp r0, #0 + beq _0203818E + blx r0 +_0203818E: + bl sub_02039998 + cmp r0, #0 + beq _020381A4 + bl ov00_021EC9D4 + mov r1, #3 + sub r0, r1, r0 + bl sub_0203A930 + pop {r3, pc} +_020381A4: + bl sub_02035650 + cmp r0, #0 + beq _020381B8 + bl sub_020DEF44 + mov r1, #3 + sub r0, r1, r0 + bl sub_0203A930 +_020381B8: + pop {r3, pc} + nop +_020381BC: .word 0x021D4150 + thumb_func_end sub_0203817C + + thumb_func_start sub_020381C0 +sub_020381C0: ; 0x020381C0 + ldr r2, _020381CC ; =0x021D4150 + ldr r3, [r2] + str r0, [r3, #0x24] + ldr r0, [r2] + str r1, [r0, #0x44] + bx lr + .balign 4, 0 +_020381CC: .word 0x021D4150 + thumb_func_end sub_020381C0 + + thumb_func_start sub_020381D0 +sub_020381D0: ; 0x020381D0 + push {r3, lr} + bl sub_02039998 + cmp r0, #0 + bne _020381EC + bl sub_02035664 + cmp r0, #0 + beq _020381F4 + bl sub_020374E4 + mov r0, #1 + bl sub_020350A8 +_020381EC: + ldr r0, _020381F8 ; =sub_02038404 + mov r1, #0 + bl sub_020381C0 +_020381F4: + pop {r3, pc} + nop +_020381F8: .word sub_02038404 + thumb_func_end sub_020381D0 + + thumb_func_start sub_020381FC +sub_020381FC: ; 0x020381FC + push {r3, lr} + bl sub_02034FE8 + cmp r0, #0 + beq _02038212 + bl sub_0203622C + ldr r0, _02038214 ; =sub_020381D0 + mov r1, #0 + bl sub_020381C0 +_02038212: + pop {r3, pc} + .balign 4, 0 +_02038214: .word sub_020381D0 + thumb_func_end sub_020381FC + + thumb_func_start sub_02038218 +sub_02038218: ; 0x02038218 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _02038256 + ldr r0, _02038258 ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + ldr r0, [r0, #0x2c] + bl sub_02034B0C + ldr r0, _02038258 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x28] + ldr r1, [r1, #0x30] + bl sub_02034354 + mov r0, #1 + add r1, r0, #0 + lsl r2, r0, #9 + add r3, r0, #0 + bl sub_02035ED8 + cmp r0, #0 + beq _02038256 + bl sub_02035FD8 + ldr r0, _0203825C ; =sub_02038260 + mov r1, #0 + bl sub_020381C0 +_02038256: + pop {r3, pc} + .balign 4, 0 +_02038258: .word 0x021D4150 +_0203825C: .word sub_02038260 + thumb_func_end sub_02038218 + + thumb_func_start sub_02038260 +sub_02038260: ; 0x02038260 + push {r3, lr} + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + beq _02038276 + ldr r0, _02038278 ; =sub_0203827C + mov r1, #0 + bl sub_020381C0 +_02038276: + pop {r3, pc} + .balign 4, 0 +_02038278: .word sub_0203827C + thumb_func_end sub_02038260 + + thumb_func_start sub_0203827C +sub_0203827C: ; 0x0203827C + push {r3, lr} + bl sub_02037474 + cmp r0, #0 + bne _0203828E + ldr r0, _02038290 ; =sub_02038408 + mov r1, #0 + bl sub_020381C0 +_0203828E: + pop {r3, pc} + .balign 4, 0 +_02038290: .word sub_02038408 + thumb_func_end sub_0203827C + + thumb_func_start sub_02038294 +sub_02038294: ; 0x02038294 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _020382D0 + ldr r0, _020382D4 ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + ldr r0, [r0, #0x2c] + bl sub_02034B0C + ldr r0, _020382D4 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x28] + ldr r1, [r1, #0x30] + bl sub_02034354 + mov r0, #1 + add r1, r0, #0 + lsl r2, r0, #9 + bl sub_02035F14 + cmp r0, #0 + beq _020382D0 + bl sub_02035FD8 + ldr r0, _020382D8 ; =sub_020382DC + mov r1, #0 + bl sub_020381C0 +_020382D0: + pop {r3, pc} + nop +_020382D4: .word 0x021D4150 +_020382D8: .word sub_020382DC + thumb_func_end sub_02038294 + + thumb_func_start sub_020382DC +sub_020382DC: ; 0x020382DC + ldr r3, _020382E0 ; =sub_0203528C + bx r3 + .balign 4, 0 +_020382E0: .word sub_0203528C + thumb_func_end sub_020382DC + + thumb_func_start sub_020382E4 +sub_020382E4: ; 0x020382E4 + push {r3, lr} + bl sub_0203528C + ldr r0, _02038304 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4d + ldrb r0, [r0] + bl sub_020360E4 + cmp r0, #0 + beq _02038302 + ldr r0, _02038308 ; =sub_0203830C + mov r1, #0xa + bl sub_020381C0 +_02038302: + pop {r3, pc} + .balign 4, 0 +_02038304: .word 0x021D4150 +_02038308: .word sub_0203830C + thumb_func_end sub_020382E4 + + thumb_func_start sub_0203830C +sub_0203830C: ; 0x0203830C + push {r3, lr} + bl sub_02037700 + cmp r0, #0 + beq _0203831E + ldr r0, _0203833C ; =sub_02038344 + mov r1, #0 + bl sub_020381C0 +_0203831E: + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + beq _0203833A + bl sub_0203769C + cmp r0, #0 + beq _0203833A + ldr r0, _02038340 ; =sub_02038398 + mov r1, #0 + bl sub_020381C0 +_0203833A: + pop {r3, pc} + .balign 4, 0 +_0203833C: .word sub_02038344 +_02038340: .word sub_02038398 + thumb_func_end sub_0203830C + + thumb_func_start sub_02038344 +sub_02038344: ; 0x02038344 + push {r3, lr} + bl sub_02034FE8 + ldr r0, _02038354 ; =sub_02038358 + mov r1, #2 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02038354: .word sub_02038358 + thumb_func_end sub_02038344 + + thumb_func_start sub_02038358 +sub_02038358: ; 0x02038358 + push {r3, lr} + ldr r0, _02038390 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _0203836A + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_0203836A: + bl sub_02035664 + cmp r0, #0 + beq _0203838C + mov r1, #1 + mov r0, #0 + lsl r2, r1, #9 + bl sub_02035F14 + cmp r0, #0 + beq _0203838C + bl sub_02035FD8 + ldr r0, _02038394 ; =sub_020382E4 + mov r1, #0xa + bl sub_020381C0 +_0203838C: + pop {r3, pc} + nop +_02038390: .word 0x021D4150 +_02038394: .word sub_020382E4 + thumb_func_end sub_02038358 + + thumb_func_start sub_02038398 +sub_02038398: ; 0x02038398 + push {r3, lr} + bl sub_02037474 + cmp r0, #0 + bne _020383AA + ldr r0, _020383AC ; =sub_02038408 + mov r1, #0 + bl sub_020381C0 +_020383AA: + pop {r3, pc} + .balign 4, 0 +_020383AC: .word sub_02038408 + thumb_func_end sub_02038398 + + thumb_func_start sub_020383B0 +sub_020383B0: ; 0x020383B0 + push {r3, lr} + bl sub_02034FE8 + ldr r0, _020383C0 ; =sub_020383C4 + mov r1, #2 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_020383C0: .word sub_020383C4 + thumb_func_end sub_020383B0 + + thumb_func_start sub_020383C4 +sub_020383C4: ; 0x020383C4 + push {r3, lr} + ldr r0, _020383FC ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _020383D6 + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_020383D6: + bl sub_02035664 + cmp r0, #0 + beq _020383F8 + mov r1, #1 + mov r0, #0 + lsl r2, r1, #9 + bl sub_02035F14 + cmp r0, #0 + beq _020383F8 + bl sub_02035FD8 + ldr r0, _02038400 ; =sub_020382DC + mov r1, #0xa + bl sub_020381C0 +_020383F8: + pop {r3, pc} + nop +_020383FC: .word 0x021D4150 +_02038400: .word sub_020382DC + thumb_func_end sub_020383C4 + + thumb_func_start sub_02038404 +sub_02038404: ; 0x02038404 + bx lr + .balign 4, 0 + thumb_func_end sub_02038404 + + thumb_func_start sub_02038408 +sub_02038408: ; 0x02038408 + push {r3, lr} + bl sub_02037474 + cmp r0, #0 + bne _02038416 + bl sub_02037D2C +_02038416: + pop {r3, pc} + thumb_func_end sub_02038408 + + thumb_func_start sub_02038418 +sub_02038418: ; 0x02038418 + push {r3, lr} + bl sub_02037454 + cmp r0, #1 + bgt _02038434 + mov r0, #0 + bl sub_02033ACC + bl sub_0203624C + ldr r0, _02038458 ; =sub_02038538 + mov r1, #0 + bl sub_020381C0 +_02038434: + ldr r0, _0203845C ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _02038444 + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_02038444: + mov r0, #0 + bl sub_02033ACC + bl sub_0203624C + ldr r0, _02038458 ; =sub_02038538 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02038458: .word sub_02038538 +_0203845C: .word 0x021D4150 + thumb_func_end sub_02038418 + + thumb_func_start sub_02038460 +sub_02038460: ; 0x02038460 + push {r3, lr} + bl sub_02034FE8 + cmp r0, #0 + beq _02038476 + bl sub_0203622C + ldr r0, _02038478 ; =sub_02038538 + mov r1, #0 + bl sub_020381C0 +_02038476: + pop {r3, pc} + .balign 4, 0 +_02038478: .word sub_02038538 + thumb_func_end sub_02038460 + + thumb_func_start sub_0203847C +sub_0203847C: ; 0x0203847C + push {r3, lr} + ldr r0, _020384AC ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _0203848C + sub r0, r0, #1 + str r0, [r1, #0x44] +_0203848C: + bl sub_02034FE8 + cmp r0, #0 + beq _020384AA + ldr r0, _020384AC ; =0x021D4150 + ldr r0, [r0] + ldr r0, [r0, #0x44] + cmp r0, #0 + bne _020384AA + bl sub_02036024 + ldr r0, _020384B0 ; =sub_02038408 + mov r1, #0 + bl sub_020381C0 +_020384AA: + pop {r3, pc} + .balign 4, 0 +_020384AC: .word 0x021D4150 +_020384B0: .word sub_02038408 + thumb_func_end sub_0203847C + + thumb_func_start sub_020384B4 +sub_020384B4: ; 0x020384B4 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _020384FC + ldr r0, _02038500 ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + ldr r0, [r0, #0x2c] + bl sub_02034B0C + ldr r0, _02038500 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4a + ldrb r0, [r0] + bl sub_02033908 + ldr r0, _02038500 ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + ldr r0, [r0, #0x28] + bl sub_02034354 + mov r0, #1 + add r1, r0, #0 + lsl r2, r0, #9 + bl sub_02035F14 + cmp r0, #0 + beq _020384FC + bl sub_02035FD8 + ldr r0, _02038504 ; =sub_02038508 + mov r1, #0x40 + bl sub_020381C0 +_020384FC: + pop {r3, pc} + nop +_02038500: .word 0x021D4150 +_02038504: .word sub_02038508 + thumb_func_end sub_020384B4 + + thumb_func_start sub_02038508 +sub_02038508: ; 0x02038508 + push {r3, lr} + bl sub_0203528C + ldr r0, _02038530 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _0203851E + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_0203851E: + bl sub_02034FE8 + cmp r0, #0 + beq _0203852E + ldr r0, _02038534 ; =sub_02038550 + mov r1, #0 + bl sub_020381C0 +_0203852E: + pop {r3, pc} + .balign 4, 0 +_02038530: .word 0x021D4150 +_02038534: .word sub_02038550 + thumb_func_end sub_02038508 + + thumb_func_start sub_02038538 +sub_02038538: ; 0x02038538 + push {r3, lr} + bl sub_02034FE8 + cmp r0, #0 + beq _0203854A + ldr r0, _0203854C ; =sub_02038550 + mov r1, #0 + bl sub_020381C0 +_0203854A: + pop {r3, pc} + .balign 4, 0 +_0203854C: .word sub_02038550 + thumb_func_end sub_02038538 + + thumb_func_start sub_02038550 +sub_02038550: ; 0x02038550 + push {r3, r4, r5, lr} + bl sub_02035664 + cmp r0, #0 + beq _020385A8 + ldr r1, _020385AC ; =0x021D4150 + mov r2, #2 + ldr r1, [r1] + mov r0, #0 + add r1, #0x52 + ldrb r1, [r1] + lsl r2, r2, #8 + mov r3, #1 + bl sub_02035ED8 + cmp r0, #0 + beq _020385A8 + ldr r0, _020385AC ; =0x021D4150 + ldr r4, [r0] + add r5, r4, #0 + add r5, #0xc + ldr r0, [r5, #8] + ldr r1, [r5, #0xc] + ldr r2, [r4, #0xc] + ldr r3, [r5, #4] + bl _ll_mul + ldr r2, [r5, #0x10] + ldr r3, [r5, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r4, #0xc] + str r3, [r5, #4] + bl sub_02035FD8 + ldr r0, _020385AC ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + add r0, #0x52 + strb r1, [r0] + ldr r0, _020385B0 ; =sub_020385B8 + ldr r1, _020385B4 ; =0x00002710 + bl sub_020381C0 +_020385A8: + pop {r3, r4, r5, pc} + nop +_020385AC: .word 0x021D4150 +_020385B0: .word sub_020385B8 +_020385B4: .word 0x00002710 + thumb_func_end sub_02038550 + + thumb_func_start sub_020385B8 +sub_020385B8: ; 0x020385B8 + push {r3, lr} + bl sub_020358B0 + cmp r0, #0 + bne _020385F2 + bl sub_020376F8 + cmp r0, #0 + beq _020385E2 + ldr r0, _02038604 ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + add r0, #0x52 + strb r1, [r0] + bl sub_0203A880 + ldr r0, _02038608 ; =sub_02038854 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_020385E2: + ldr r0, _02038604 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _020385F2 + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_020385F2: + bl sub_02034FE8 + cmp r0, #0 + beq _02038602 + ldr r0, _0203860C ; =sub_02038610 + mov r1, #0 + bl sub_020381C0 +_02038602: + pop {r3, pc} + .balign 4, 0 +_02038604: .word 0x021D4150 +_02038608: .word sub_02038854 +_0203860C: .word sub_02038610 + thumb_func_end sub_020385B8 + + thumb_func_start sub_02038610 +sub_02038610: ; 0x02038610 + push {r3, r4, r5, lr} + bl sub_02035664 + cmp r0, #0 + beq _0203865C + mov r0, #0 + mov r2, #2 + add r1, r0, #0 + lsl r2, r2, #8 + bl sub_02035F14 + cmp r0, #0 + beq _0203865C + bl sub_02035FD8 + ldr r0, _02038660 ; =0x021D4150 + ldr r4, [r0] + add r5, r4, #0 + add r5, #0xc + ldr r0, [r5, #8] + ldr r1, [r5, #0xc] + ldr r2, [r4, #0xc] + ldr r3, [r5, #4] + bl _ll_mul + ldr r2, [r5, #0x10] + ldr r3, [r5, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r4, #0xc] + mov r1, #0 + ldr r0, _02038664 ; =sub_02038508 + lsr r2, r3, #0x1b + lsl r1, r1, #5 + orr r1, r2 + str r3, [r5, #4] + bl sub_020381C0 +_0203865C: + pop {r3, r4, r5, pc} + nop +_02038660: .word 0x021D4150 +_02038664: .word sub_02038508 + thumb_func_end sub_02038610 + + thumb_func_start sub_02038668 +sub_02038668: ; 0x02038668 + push {r3, lr} + bl sub_02034FE8 + cmp r0, #0 + beq _0203867A + ldr r0, _0203867C ; =sub_02038680 + mov r1, #0 + bl sub_020381C0 +_0203867A: + pop {r3, pc} + .balign 4, 0 +_0203867C: .word sub_02038680 + thumb_func_end sub_02038668 + + thumb_func_start sub_02038680 +sub_02038680: ; 0x02038680 + push {r3, lr} + bl sub_02035664 + cmp r0, #0 + beq _020386A6 + mov r0, #0 + mov r2, #2 + add r1, r0, #0 + lsl r2, r2, #8 + bl sub_02035F14 + cmp r0, #0 + beq _020386A6 + bl sub_02035FD8 + ldr r0, _020386A8 ; =sub_020386AC + mov r1, #0x64 + bl sub_020381C0 +_020386A6: + pop {r3, pc} + .balign 4, 0 +_020386A8: .word sub_020386AC + thumb_func_end sub_02038680 + + thumb_func_start sub_020386AC +sub_020386AC: ; 0x020386AC + push {r3, lr} + ldr r0, _02038704 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4d + ldrb r0, [r0] + bl sub_020351AC + cmp r0, #0 + beq _020386D8 + ldr r0, _02038704 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4d + ldrb r0, [r0] + bl sub_020360E4 + cmp r0, #0 + beq _020386D8 + ldr r0, _02038708 ; =sub_02038710 + mov r1, #0x64 + bl sub_020381C0 + pop {r3, pc} +_020386D8: + bl sub_02037700 + cmp r0, #0 + beq _020386EA + ldr r0, _0203870C ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_020386EA: + ldr r0, _02038704 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _020386FA + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_020386FA: + ldr r0, _0203870C ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02038704: .word 0x021D4150 +_02038708: .word sub_02038710 +_0203870C: .word sub_02038804 + thumb_func_end sub_020386AC + + thumb_func_start sub_02038710 +sub_02038710: ; 0x02038710 + push {r3, lr} + bl sub_02037700 + cmp r0, #0 + beq _02038724 + ldr r0, _02038760 ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038724: + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + beq _02038744 + ldr r0, _02038764 ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + add r0, #0x4c + strb r1, [r0] + ldr r0, _02038768 ; =sub_0203876C + mov r1, #0x78 + bl sub_020381C0 + pop {r3, pc} +_02038744: + ldr r0, _02038764 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _02038754 + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_02038754: + ldr r0, _02038760 ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + nop +_02038760: .word sub_02038804 +_02038764: .word 0x021D4150 +_02038768: .word sub_0203876C + thumb_func_end sub_02038710 + + thumb_func_start sub_0203876C +sub_0203876C: ; 0x0203876C + push {r3, lr} + bl sub_02037700 + cmp r0, #0 + beq _02038780 + ldr r0, _020387D4 ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038780: + ldr r0, _020387D8 ; =0x021D4150 + ldr r1, [r0] + add r0, r1, #0 + add r0, #0x4c + ldrb r0, [r0] + cmp r0, #2 + bne _02038798 + ldr r0, _020387DC ; =sub_02038800 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038798: + cmp r0, #1 + bne _020387AA + bl sub_02034434 + ldr r0, _020387E0 ; =sub_020387E8 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_020387AA: + ldr r0, [r1, #0x44] + cmp r0, #0x6e + ble _020387B8 + ldr r1, _020387E4 ; =0x0210F90C + mov r0, #6 + bl sub_020376E0 +_020387B8: + ldr r0, _020387D8 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + beq _020387C8 + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_020387C8: + ldr r0, _020387D4 ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + nop +_020387D4: .word sub_02038804 +_020387D8: .word 0x021D4150 +_020387DC: .word sub_02038800 +_020387E0: .word sub_020387E8 +_020387E4: .word 0x0210F90C + thumb_func_end sub_0203876C + + thumb_func_start sub_020387E8 +sub_020387E8: ; 0x020387E8 + push {r3, lr} + bl sub_02037700 + cmp r0, #0 + beq _020387FA + ldr r0, _020387FC ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 +_020387FA: + pop {r3, pc} + .balign 4, 0 +_020387FC: .word sub_02038804 + thumb_func_end sub_020387E8 + + thumb_func_start sub_02038800 +sub_02038800: ; 0x02038800 + bx lr + .balign 4, 0 + thumb_func_end sub_02038800 + + thumb_func_start sub_02038804 +sub_02038804: ; 0x02038804 + push {r3, lr} + ldr r0, _02038848 ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + add r0, #0x4c + strb r1, [r0] + bl sub_02034FE8 + cmp r0, #0 + beq _02038844 + ldr r0, _02038848 ; =0x021D4150 + ldr r1, [r0] + add r0, r1, #0 + add r0, #0x48 + ldrh r0, [r0] + cmp r0, #0 + beq _0203883C + add r0, r1, #0 + add r0, #0x48 + ldrh r0, [r0] + add r1, #0x48 + sub r0, r0, #1 + strh r0, [r1] + ldr r0, _0203884C ; =sub_02038680 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_0203883C: + ldr r0, _02038850 ; =sub_02038800 + mov r1, #0 + bl sub_020381C0 +_02038844: + pop {r3, pc} + nop +_02038848: .word 0x021D4150 +_0203884C: .word sub_02038680 +_02038850: .word sub_02038800 + thumb_func_end sub_02038804 + + thumb_func_start sub_02038854 +sub_02038854: ; 0x02038854 + push {r3, lr} + bl sub_020376F8 + cmp r0, #0 + bne _02038878 + bl sub_02039918 + cmp r0, #0 + bne _02038884 + bl sub_02034FE8 + cmp r0, #0 + beq _02038884 + ldr r0, _020388A0 ; =sub_02038610 + mov r1, #0 + bl sub_020381C0 + b _02038884 +_02038878: + bl sub_0203769C + cmp r0, #0 + bne _02038884 + bl sub_02034638 +_02038884: + bl sub_02037700 + cmp r0, #0 + beq _0203889C + bl sub_02039918 + cmp r0, #0 + bne _0203889C + ldr r0, _020388A4 ; =sub_02038804 + mov r1, #0 + bl sub_020381C0 +_0203889C: + pop {r3, pc} + nop +_020388A0: .word sub_02038610 +_020388A4: .word sub_02038804 + thumb_func_end sub_02038854 + + thumb_func_start sub_020388A8 +sub_020388A8: ; 0x020388A8 + push {r3, lr} + bl sub_02035664 + cmp r0, #0 + beq _020388D6 + ldr r1, _020388D8 ; =0x021D4150 + mov r0, #0 + ldr r1, [r1] + mov r2, #2 + add r1, #0x52 + ldrb r1, [r1] + lsl r2, r2, #8 + add r3, r0, #0 + bl sub_02035ED8 + cmp r0, #0 + beq _020388D6 + bl sub_02035FD8 + ldr r0, _020388DC ; =sub_02038404 + mov r1, #0 + bl sub_020381C0 +_020388D6: + pop {r3, pc} + .balign 4, 0 +_020388D8: .word 0x021D4150 +_020388DC: .word sub_02038404 + thumb_func_end sub_020388A8 + + thumb_func_start sub_020388E0 +sub_020388E0: ; 0x020388E0 + push {r3, lr} + ldr r0, _02038914 ; =0x021D4150 + mov r1, #0xd + ldr r0, [r0] + add r0, #0x4e + strb r1, [r0] + bl sub_0203769C + cmp r0, #0 + add r0, sp, #0 + bne _02038906 + mov r1, #0 + strb r1, [r0, #1] + add r1, sp, #0 + mov r0, #0xa + add r1, #1 + bl sub_020376E0 + pop {r3, pc} +_02038906: + mov r1, #0 + strb r1, [r0] + mov r0, #0xa + add r1, sp, #0 + bl sub_020376E0 + pop {r3, pc} + .balign 4, 0 +_02038914: .word 0x021D4150 + thumb_func_end sub_020388E0 + + thumb_func_start sub_02038918 +sub_02038918: ; 0x02038918 + ldr r1, _02038930 ; =0x021D4150 + ldr r3, _02038934 ; =sub_020381C0 + ldr r2, [r1] + add r2, #0x4d + strb r0, [r2] + ldr r0, [r1] + mov r2, #3 + add r0, #0x48 + strh r2, [r0] + ldr r0, _02038938 ; =sub_020389BC + mov r1, #0 + bx r3 + .balign 4, 0 +_02038930: .word 0x021D4150 +_02038934: .word sub_020381C0 +_02038938: .word sub_020389BC + thumb_func_end sub_02038918 + + thumb_func_start sub_0203893C +sub_0203893C: ; 0x0203893C + ldr r0, _02038948 ; =0x021D4150 + mov r1, #7 + ldr r0, [r0] + add r0, #0x4e + strb r1, [r0] + bx lr + .balign 4, 0 +_02038948: .word 0x021D4150 + thumb_func_end sub_0203893C + + thumb_func_start sub_0203894C +sub_0203894C: ; 0x0203894C + push {r3, lr} + ldr r1, _02038974 ; =0x021D4150 + ldr r2, [r1] + add r2, #0x4d + strb r0, [r2] + ldr r0, [r1] + mov r2, #7 + add r0, #0x4e + strb r2, [r0] + ldr r0, [r1] + mov r2, #3 + add r0, #0x48 + strh r2, [r0] + bl sub_0203A880 + ldr r0, _02038978 ; =sub_02038668 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02038974: .word 0x021D4150 +_02038978: .word sub_02038668 + thumb_func_end sub_0203894C + + thumb_func_start sub_0203897C +sub_0203897C: ; 0x0203897C + ldr r0, _02038988 ; =0x021D4150 + mov r1, #0x1a + ldr r0, [r0] + add r0, #0x4e + strb r1, [r0] + bx lr + .balign 4, 0 +_02038988: .word 0x021D4150 + thumb_func_end sub_0203897C + + thumb_func_start sub_0203898C +sub_0203898C: ; 0x0203898C + push {r3, lr} + ldr r1, _020389B4 ; =0x021D4150 + ldr r2, [r1] + add r2, #0x4d + strb r0, [r2] + ldr r0, [r1] + mov r2, #0x1a + add r0, #0x4e + strb r2, [r0] + ldr r0, [r1] + mov r2, #3 + add r0, #0x48 + strh r2, [r0] + bl sub_0203A880 + ldr r0, _020389B8 ; =sub_02038668 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_020389B4: .word 0x021D4150 +_020389B8: .word sub_02038668 + thumb_func_end sub_0203898C + + thumb_func_start sub_020389BC +sub_020389BC: ; 0x020389BC + push {r3, lr} + bl sub_02034FE8 + cmp r0, #0 + beq _020389CE + ldr r0, _020389D0 ; =sub_020389D4 + mov r1, #0 + bl sub_020381C0 +_020389CE: + pop {r3, pc} + .balign 4, 0 +_020389D0: .word sub_020389D4 + thumb_func_end sub_020389BC + + thumb_func_start sub_020389D4 +sub_020389D4: ; 0x020389D4 + push {r3, lr} + bl sub_02035664 + cmp r0, #0 + beq _02038A04 + ldr r0, _02038A08 ; =0x021D4150 + mov r2, #2 + ldr r0, [r0] + mov r1, #0xd + add r0, #0x4e + strb r1, [r0] + mov r0, #0 + add r1, r0, #0 + lsl r2, r2, #8 + bl sub_02035F14 + cmp r0, #0 + beq _02038A04 + bl sub_02035FE4 + ldr r0, _02038A0C ; =sub_02038A10 + mov r1, #0x64 + bl sub_020381C0 +_02038A04: + pop {r3, pc} + nop +_02038A08: .word 0x021D4150 +_02038A0C: .word sub_02038A10 + thumb_func_end sub_020389D4 + + thumb_func_start sub_02038A10 +sub_02038A10: ; 0x02038A10 + push {r3, lr} + ldr r0, _02038A84 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4d + ldrb r0, [r0] + bl sub_020351AC + cmp r0, #0 + beq _02038A3C + ldr r0, _02038A84 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4d + ldrb r0, [r0] + bl sub_020360E4 + cmp r0, #0 + beq _02038A3C + ldr r0, _02038A88 ; =sub_02038A94 + mov r1, #0x64 + bl sub_020381C0 + pop {r3, pc} +_02038A3C: + bl sub_02037700 + cmp r0, #0 + bne _02038A4E + ldr r0, _02038A84 ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0 + bne _02038A7C +_02038A4E: + ldr r1, _02038A84 ; =0x021D4150 + ldr r2, [r1] + add r0, r2, #0 + add r0, #0x48 + ldrh r0, [r0] + add r2, #0x48 + sub r0, r0, #1 + strh r0, [r2] + ldr r0, [r1] + add r0, #0x48 + ldrh r0, [r0] + cmp r0, #0 + bne _02038A72 + ldr r0, _02038A8C ; =sub_02038800 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038A72: + ldr r0, _02038A90 ; =sub_020389BC + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038A7C: + beq _02038A82 + sub r0, r0, #1 + str r0, [r1, #0x44] +_02038A82: + pop {r3, pc} + .balign 4, 0 +_02038A84: .word 0x021D4150 +_02038A88: .word sub_02038A94 +_02038A8C: .word sub_02038800 +_02038A90: .word sub_020389BC + thumb_func_end sub_02038A10 + + thumb_func_start sub_02038A94 +sub_02038A94: ; 0x02038A94 + push {r3, lr} + ldr r0, _02038B2C ; =0x021D4150 + ldr r1, [r0] + ldr r0, [r1, #0x44] + cmp r0, #0x5a + ble _02038AA6 + sub r0, r0, #1 + str r0, [r1, #0x44] + pop {r3, pc} +_02038AA6: + bl sub_02037700 + cmp r0, #0 + beq _02038ADC + ldr r1, _02038B2C ; =0x021D4150 + ldr r2, [r1] + add r0, r2, #0 + add r0, #0x48 + ldrh r0, [r0] + add r2, #0x48 + sub r0, r0, #1 + strh r0, [r2] + ldr r0, [r1] + add r0, #0x48 + ldrh r0, [r0] + cmp r0, #0 + bne _02038AD2 + ldr r0, _02038B30 ; =sub_02038800 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038AD2: + ldr r0, _02038B34 ; =sub_020389BC + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038ADC: + bl sub_0203769C + bl sub_020373B4 + cmp r0, #0 + beq _02038AF2 + ldr r0, _02038B38 ; =sub_020387E8 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038AF2: + ldr r1, _02038B2C ; =0x021D4150 + ldr r2, [r1] + ldr r0, [r2, #0x44] + cmp r0, #0 + beq _02038B02 + sub r0, r0, #1 + str r0, [r2, #0x44] + pop {r3, pc} +_02038B02: + add r0, r2, #0 + add r0, #0x48 + ldrh r0, [r0] + add r2, #0x48 + sub r0, r0, #1 + strh r0, [r2] + ldr r0, [r1] + add r0, #0x48 + ldrh r0, [r0] + cmp r0, #0 + bne _02038B22 + ldr r0, _02038B30 ; =sub_02038800 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038B22: + ldr r0, _02038B34 ; =sub_020389BC + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02038B2C: .word 0x021D4150 +_02038B30: .word sub_02038800 +_02038B34: .word sub_020389BC +_02038B38: .word sub_020387E8 + thumb_func_end sub_02038A94 + + thumb_func_start sub_02038B3C +sub_02038B3C: ; 0x02038B3C + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r2, #0 + bl sub_0203769C + cmp r0, #0 + bne _02038B8A + ldr r6, _02038B8C ; =0x0210F90C + mov r3, #1 + mov r2, #0 +_02038B50: + ldrb r1, [r6] + ldrb r0, [r4, r2] + cmp r1, r0 + beq _02038B5C + mov r3, #0 + b _02038B64 +_02038B5C: + add r2, r2, #1 + add r6, r6, #1 + cmp r2, #6 + blo _02038B50 +_02038B64: + cmp r3, #0 + beq _02038B80 + ldr r0, _02038B90 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x57 + ldrb r0, [r0] + cmp r0, #0 + bne _02038B80 + ldr r1, _02038B94 ; =0x0210F904 + mov r0, #7 + strb r5, [r1] + bl sub_02037184 + pop {r4, r5, r6, pc} +_02038B80: + ldr r1, _02038B98 ; =0x0210F914 + mov r0, #7 + strb r5, [r1] + bl sub_02037184 +_02038B8A: + pop {r4, r5, r6, pc} + .balign 4, 0 +_02038B8C: .word 0x0210F90C +_02038B90: .word 0x021D4150 +_02038B94: .word 0x0210F904 +_02038B98: .word 0x0210F914 + thumb_func_end sub_02038B3C + + thumb_func_start sub_02038B9C +sub_02038B9C: ; 0x02038B9C + push {r3, r4, r5, lr} + mov r4, #1 + ldr r5, _02038C0C ; =0x0210F905 + add r3, r4, #0 +_02038BA4: + ldrb r1, [r5] + ldrb r0, [r2, r3] + cmp r1, r0 + beq _02038BB0 + mov r4, #0 + b _02038BB8 +_02038BB0: + add r3, r3, #1 + add r5, r5, #1 + cmp r3, #6 + blo _02038BA4 +_02038BB8: + cmp r4, #0 + beq _02038BD2 + ldrb r4, [r2] + bl sub_0203769C + cmp r4, r0 + bne _02038C08 + ldr r0, _02038C10 ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + add r0, #0x4c + strb r1, [r0] + pop {r3, r4, r5, pc} +_02038BD2: + mov r4, #1 + ldr r3, _02038C14 ; =0x0210F915 + add r5, r4, #0 +_02038BD8: + ldrb r1, [r3] + ldrb r0, [r2, r5] + cmp r1, r0 + beq _02038BE4 + mov r4, #0 + b _02038BEC +_02038BE4: + add r5, r5, #1 + add r3, r3, #1 + cmp r5, #6 + blo _02038BD8 +_02038BEC: + cmp r4, #0 + beq _02038C08 + ldrb r4, [r2] + bl sub_0203769C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r4, r0 + bne _02038C08 + ldr r0, _02038C10 ; =0x021D4150 + mov r1, #2 + ldr r0, [r0] + add r0, #0x4c + strb r1, [r0] +_02038C08: + pop {r3, r4, r5, pc} + nop +_02038C0C: .word 0x0210F905 +_02038C10: .word 0x021D4150 +_02038C14: .word 0x0210F915 + thumb_func_end sub_02038B9C + + thumb_func_start sub_02038C18 +sub_02038C18: ; 0x02038C18 + mov r0, #6 + bx lr + thumb_func_end sub_02038C18 + + thumb_func_start sub_02038C1C +sub_02038C1C: ; 0x02038C1C + push {r3, lr} + ldr r1, _02038C30 ; =0x021D4150 + ldr r1, [r1] + cmp r1, #0 + beq _02038C2E + add r1, #0x4a + strb r0, [r1] + bl sub_02033908 +_02038C2E: + pop {r3, pc} + .balign 4, 0 +_02038C30: .word 0x021D4150 + thumb_func_end sub_02038C1C + + thumb_func_start sub_02038C34 +sub_02038C34: ; 0x02038C34 + ldr r3, _02038C38 ; =sub_0203528C + bx r3 + .balign 4, 0 +_02038C38: .word sub_0203528C + thumb_func_end sub_02038C34 + + thumb_func_start sub_02038C3C +sub_02038C3C: ; 0x02038C3C + ldr r2, _02038CB4 ; =0x00400131 + cmp r0, r2 + bhi _02038C4C + bhs _02038C8A + ldr r2, _02038CB8 ; =0x00000333 + cmp r0, r2 + beq _02038C5E + bx lr +_02038C4C: + ldr r1, _02038CBC ; =0x00400286 + cmp r0, r1 + bhi _02038C56 + beq _02038C9E + bx lr +_02038C56: + add r1, #0x92 + cmp r0, r1 + beq _02038C76 + bx lr +_02038C5E: + cmp r1, #0xf + bne _02038CB0 + ldr r0, _02038CC0 ; =0x021D4150 + ldr r2, [r0] + add r0, r2, #0 + add r0, #0x58 + ldrb r1, [r0] + mov r0, #1 + add r2, #0x58 + orr r0, r1 + strb r0, [r2] + bx lr +_02038C76: + ldr r0, _02038CC0 ; =0x021D4150 + ldr r2, [r0] + add r0, r2, #0 + add r0, #0x58 + ldrb r1, [r0] + mov r0, #1 + add r2, #0x58 + orr r0, r1 + strb r0, [r2] + bx lr +_02038C8A: + ldr r0, _02038CC0 ; =0x021D4150 + ldr r2, [r0] + add r0, r2, #0 + add r0, #0x58 + ldrb r1, [r0] + mov r0, #2 + add r2, #0x58 + orr r0, r1 + strb r0, [r2] + bx lr +_02038C9E: + ldr r0, _02038CC0 ; =0x021D4150 + ldr r2, [r0] + add r0, r2, #0 + add r0, #0x58 + ldrb r1, [r0] + mov r0, #4 + add r2, #0x58 + orr r0, r1 + strb r0, [r2] +_02038CB0: + bx lr + nop +_02038CB4: .word 0x00400131 +_02038CB8: .word 0x00000333 +_02038CBC: .word 0x00400286 +_02038CC0: .word 0x021D4150 + thumb_func_end sub_02038C3C + + thumb_func_start sub_02038CC4 +sub_02038CC4: ; 0x02038CC4 + push {r3, lr} + mov r0, #1 + add r1, r0, #0 + mov r2, #0x20 + bl sub_02035F14 + cmp r0, #0 + beq _02038CE0 + bl sub_02035FD8 + ldr r0, _02038CE4 ; =sub_02038C34 + mov r1, #0 + bl sub_020381C0 +_02038CE0: + pop {r3, pc} + nop +_02038CE4: .word sub_02038C34 + thumb_func_end sub_02038CC4 + + thumb_func_start sub_02038CE8 +sub_02038CE8: ; 0x02038CE8 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _02038D18 + ldr r0, _02038D1C ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + ldr r0, [r0, #0x2c] + bl sub_02034B0C + ldr r0, _02038D1C ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + ldr r0, [r0, #0x28] + bl sub_02034354 + ldr r0, _02038D20 ; =sub_02038C3C + bl sub_02033A7C + ldr r0, _02038D24 ; =sub_02038CC4 + mov r1, #0 + bl sub_020381C0 +_02038D18: + pop {r3, pc} + nop +_02038D1C: .word 0x021D4150 +_02038D20: .word sub_02038C3C +_02038D24: .word sub_02038CC4 + thumb_func_end sub_02038CE8 + + thumb_func_start sub_02038D28 +sub_02038D28: ; 0x02038D28 + push {r4, lr} + add r4, r0, #0 + bl sub_02037474 + cmp r0, #0 + bne _02038D58 + mov r2, #7 + mov r0, #3 + mov r1, #0xf + lsl r2, r2, #0xc + bl sub_0201A91C + add r0, r4, #0 + mov r1, #0x11 + bl sub_02037C98 + ldr r0, _02038D5C ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + add r0, #0x4f + strb r1, [r0] + ldr r0, _02038D60 ; =sub_02038CE8 + bl sub_020381C0 +_02038D58: + pop {r4, pc} + nop +_02038D5C: .word 0x021D4150 +_02038D60: .word sub_02038CE8 + thumb_func_end sub_02038D28 + + thumb_func_start sub_02038D64 +sub_02038D64: ; 0x02038D64 + push {r3, lr} + ldr r0, _02038D78 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _02038D76 + ldr r0, _02038D7C ; =sub_0203847C + mov r1, #5 + bl sub_020381C0 +_02038D76: + pop {r3, pc} + .balign 4, 0 +_02038D78: .word 0x021D4150 +_02038D7C: .word sub_0203847C + thumb_func_end sub_02038D64 + + thumb_func_start sub_02038D80 +sub_02038D80: ; 0x02038D80 + ldr r0, _02038D8C ; =0x021D4150 + ldr r0, [r0] + add r0, #0x58 + ldrb r0, [r0] + bx lr + nop +_02038D8C: .word 0x021D4150 + thumb_func_end sub_02038D80 + + thumb_func_start sub_02038D90 +sub_02038D90: ; 0x02038D90 + push {r3, lr} + bl sub_02037988 + ldr r0, _02038DF0 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _02038DA2 + mov r0, #1 + pop {r3, pc} +_02038DA2: + add r0, #0x4e + ldrb r0, [r0] + cmp r0, #0x18 + beq _02038DB2 + cmp r0, #0x19 + beq _02038DB2 + cmp r0, #0x24 + bne _02038DBA +_02038DB2: + bl ov00_021E6CB8 + mov r0, #1 + pop {r3, pc} +_02038DBA: + bl sub_02039998 + cmp r0, #0 + beq _02038DE2 + ldr r0, _02038DF0 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4e + ldrb r0, [r0] + cmp r0, #0x21 + bne _02038DD8 + ldr r0, _02038DF4 ; =sub_02039D78 + mov r1, #0 + bl sub_020381C0 + b _02038DEA +_02038DD8: + ldr r0, _02038DF8 ; =sub_020392F4 + mov r1, #0 + bl sub_020381C0 + b _02038DEA +_02038DE2: + ldr r0, _02038DFC ; =sub_020381FC + mov r1, #0 + bl sub_020381C0 +_02038DEA: + mov r0, #0 + pop {r3, pc} + nop +_02038DF0: .word 0x021D4150 +_02038DF4: .word sub_02039D78 +_02038DF8: .word sub_020392F4 +_02038DFC: .word sub_020381FC + thumb_func_end sub_02038D90 + + thumb_func_start sub_02038E00 +sub_02038E00: ; 0x02038E00 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _02038E3E + ldr r0, _02038E40 ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + ldr r0, [r0, #0x2c] + bl sub_02034B0C + ldr r0, _02038E40 ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + ldr r0, [r0, #0x28] + bl sub_02034354 + mov r0, #1 + add r1, r0, #0 + lsl r2, r0, #9 + add r3, r0, #0 + bl sub_02035ED8 + cmp r0, #0 + beq _02038E3E + bl sub_02035FD8 + ldr r0, _02038E44 ; =sub_02038260 + mov r1, #0 + bl sub_020381C0 +_02038E3E: + pop {r3, pc} + .balign 4, 0 +_02038E40: .word 0x021D4150 +_02038E44: .word sub_02038260 + thumb_func_end sub_02038E00 + + thumb_func_start sub_02038E48 +sub_02038E48: ; 0x02038E48 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _02038E84 + ldr r0, _02038E88 ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + ldr r0, [r0, #0x2c] + bl sub_02034B0C + ldr r0, _02038E88 ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + ldr r0, [r0, #0x28] + bl sub_02034354 + mov r0, #1 + add r1, r0, #0 + lsl r2, r0, #9 + bl sub_02035F14 + cmp r0, #0 + beq _02038E84 + bl sub_02035FD8 + ldr r0, _02038E8C ; =sub_020382DC + mov r1, #0 + bl sub_020381C0 +_02038E84: + pop {r3, pc} + nop +_02038E88: .word 0x021D4150 +_02038E8C: .word sub_020382DC + thumb_func_end sub_02038E48 + + thumb_func_start sub_02038E90 +sub_02038E90: ; 0x02038E90 + bx lr + .balign 4, 0 + thumb_func_end sub_02038E90 + + thumb_func_start sub_02038E94 +sub_02038E94: ; 0x02038E94 + push {r3, lr} + mov r0, #0 + bl ov00_021E5E54 + cmp r0, #0 + bge _02038EA8 + ldr r0, _02038EAC ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_02038EA8: + pop {r3, pc} + nop +_02038EAC: .word sub_02038E90 + thumb_func_end sub_02038E94 + + thumb_func_start sub_02038EB0 +sub_02038EB0: ; 0x02038EB0 + bx lr + .balign 4, 0 + thumb_func_end sub_02038EB0 + + thumb_func_start sub_02038EB4 +sub_02038EB4: ; 0x02038EB4 + bx lr + .balign 4, 0 + thumb_func_end sub_02038EB4 + + thumb_func_start sub_02038EB8 +sub_02038EB8: ; 0x02038EB8 + push {r3, lr} + mov r0, #1 + bl sub_0203786C + mov r0, #0 + bl ov00_021E5E54 + cmp r0, #0xa + blt _02038ED8 + cmp r0, #0x14 + bge _02038ED8 + ldr r0, _02038F60 ; =sub_02038EB4 + mov r1, #0 + bl sub_020381C0 + b _02038F3A +_02038ED8: + cmp r0, #0 + bge _02038EE6 + ldr r0, _02038F64 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + b _02038F3A +_02038EE6: + cmp r0, #0x17 + bne _02038EF4 + ldr r0, _02038F68 ; =sub_02038E94 + mov r1, #0 + bl sub_020381C0 + b _02038F3A +_02038EF4: + cmp r0, #0x18 + bne _02038F18 + ldr r0, _02038F6C ; =0x021D4150 + ldr r0, [r0] + add r0, #0x53 + ldrb r0, [r0] + cmp r0, #0 + beq _02038F0E + ldr r0, _02038F64 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + b _02038F3A +_02038F0E: + ldr r0, _02038F70 ; =sub_02038EB0 + mov r1, #0 + bl sub_020381C0 + b _02038F3A +_02038F18: + cmp r0, #0x15 + bne _02038F3A + ldr r0, _02038F6C ; =0x021D4150 + ldr r0, [r0] + add r0, #0x53 + ldrb r0, [r0] + cmp r0, #0 + beq _02038F32 + ldr r0, _02038F64 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + b _02038F3A +_02038F32: + ldr r0, _02038F70 ; =sub_02038EB0 + mov r1, #0 + bl sub_020381C0 +_02038F3A: + ldr r0, _02038F6C ; =0x021D4150 + ldr r0, [r0] + add r0, #0x53 + ldrb r0, [r0] + cmp r0, #0 + beq _02038F5E + bl sub_02037454 + ldr r1, _02038F6C ; =0x021D4150 + ldr r1, [r1] + add r1, #0x4b + ldrb r1, [r1] + cmp r1, r0 + beq _02038F5E + ldr r0, _02038F64 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_02038F5E: + pop {r3, pc} + .balign 4, 0 +_02038F60: .word sub_02038EB4 +_02038F64: .word sub_02038E90 +_02038F68: .word sub_02038E94 +_02038F6C: .word 0x021D4150 +_02038F70: .word sub_02038EB0 + thumb_func_end sub_02038EB8 + + thumb_func_start sub_02038F74 +sub_02038F74: ; 0x02038F74 + push {r3, r4} + ldr r3, _02038F98 ; =0x021D4150 + ldr r4, [r3] + cmp r4, #0 + beq _02038F94 + add r3, r0, #0 + sub r3, #0x19 + cmp r3, #1 + bls _02038F88 + neg r0, r0 +_02038F88: + str r0, [r4, #0x34] + ldr r0, _02038F98 ; =0x021D4150 + ldr r3, [r0] + str r1, [r3, #0x38] + ldr r0, [r0] + str r2, [r0, #0x3c] +_02038F94: + pop {r3, r4} + bx lr + .balign 4, 0 +_02038F98: .word 0x021D4150 + thumb_func_end sub_02038F74 + + thumb_func_start sub_02038F9C +sub_02038F9C: ; 0x02038F9C + push {r3, lr} + mov r0, #0 + bl ov00_021E5E54 + cmp r0, #0xa + blt _02038FB6 + cmp r0, #0x14 + bge _02038FB6 + ldr r0, _02038FFC ; =sub_02038EB4 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038FB6: + cmp r0, #0 + bge _02038FC4 + ldr r0, _02039000 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038FC4: + cmp r0, #0x14 + bne _02038FD2 + ldr r0, _02039004 ; =sub_02038EB8 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038FD2: + cmp r0, #0x15 + bne _02038FE0 + ldr r0, _02039008 ; =sub_02038EB0 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038FE0: + cmp r0, #0x16 + bne _02038FEE + ldr r0, _02038FFC ; =sub_02038EB4 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02038FEE: + cmp r0, #0x18 + bne _02038FFA + ldr r0, _02039008 ; =sub_02038EB0 + mov r1, #0 + bl sub_020381C0 +_02038FFA: + pop {r3, pc} + .balign 4, 0 +_02038FFC: .word sub_02038EB4 +_02039000: .word sub_02038E90 +_02039004: .word sub_02038EB8 +_02039008: .word sub_02038EB0 + thumb_func_end sub_02038F9C + + thumb_func_start sub_0203900C +sub_0203900C: ; 0x0203900C + push {r3, lr} + mov r0, #1 + bl ov00_021E5E54 + cmp r0, #0 + bge _02039022 + ldr r0, _02039074 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039022: + ldr r0, _02039078 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4e + ldrb r0, [r0] + bl sub_02033FC4 + add r2, r0, #0 + ldr r0, _02039078 ; =0x021D4150 + ldr r1, [r0] + mov r0, #0x51 + ldrsb r0, [r1, r0] + add r1, r2, #1 + mov r2, #0 + bl ov00_021E6D7C + add r0, r0, #3 + cmp r0, #3 + bhi _02039070 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02039052: ; jump table + .short _02039068 - _02039052 - 2 ; case 0 + .short _02039070 - _02039052 - 2 ; case 1 + .short _02039070 - _02039052 - 2 ; case 2 + .short _0203905A - _02039052 - 2 ; case 3 +_0203905A: + bl sub_0203622C + ldr r0, _0203907C ; =sub_02038F9C + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039068: + ldr r0, _02039074 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_02039070: + pop {r3, pc} + nop +_02039074: .word sub_02038E90 +_02039078: .word 0x021D4150 +_0203907C: .word sub_02038F9C + thumb_func_end sub_0203900C + + thumb_func_start sub_02039080 +sub_02039080: ; 0x02039080 + push {r4, lr} + add r4, r0, #0 + ldr r0, _020390B0 ; =0x021D4150 + ldr r0, [r0] + ldr r1, [r0, #0x24] + ldr r0, _020390B4 ; =sub_02038F9C + cmp r1, r0 + beq _02039094 + mov r0, #0 + pop {r4, pc} +_02039094: + ldr r0, _020390B8 ; =sub_02036904 + ldr r1, _020390BC ; =sub_020367A8 + bl ov00_021E5C84 + ldr r0, _020390B0 ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + add r0, #0x51 + strb r4, [r0] + ldr r0, _020390C0 ; =sub_0203900C + bl sub_020381C0 + mov r0, #1 + pop {r4, pc} + .balign 4, 0 +_020390B0: .word 0x021D4150 +_020390B4: .word sub_02038F9C +_020390B8: .word sub_02036904 +_020390BC: .word sub_020367A8 +_020390C0: .word sub_0203900C + thumb_func_end sub_02039080 + + thumb_func_start sub_020390C4 +sub_020390C4: ; 0x020390C4 + ldr r0, _02039120 ; =0x021D4150 + ldr r1, _02039124 ; =sub_02038F9C + ldr r0, [r0] + ldr r0, [r0, #0x24] + cmp r0, r1 + bne _020390D4 + mov r0, #0 + bx lr +_020390D4: + ldr r1, _02039128 ; =sub_02038EB8 + cmp r0, r1 + bne _020390DE + mov r0, #1 + bx lr +_020390DE: + ldr r1, _0203912C ; =sub_02038E94 + cmp r0, r1 + bne _020390E8 + mov r0, #3 + bx lr +_020390E8: + ldr r1, _02039130 ; =sub_02038EB0 + cmp r0, r1 + bne _020390F2 + mov r0, #4 + bx lr +_020390F2: + ldr r1, _02039134 ; =sub_02038EB4 + cmp r0, r1 + bne _020390FC + mov r0, #5 + bx lr +_020390FC: + ldr r1, _02039138 ; =sub_02039DE4 + cmp r0, r1 + bne _02039106 + mov r0, #0 + bx lr +_02039106: + ldr r1, _0203913C ; =sub_02039DC4 + cmp r0, r1 + bne _02039110 + mov r0, #1 + bx lr +_02039110: + ldr r1, _02039140 ; =sub_02039E7C + cmp r0, r1 + bne _0203911A + mov r0, #3 + bx lr +_0203911A: + mov r0, #2 + bx lr + nop +_02039120: .word 0x021D4150 +_02039124: .word sub_02038F9C +_02039128: .word sub_02038EB8 +_0203912C: .word sub_02038E94 +_02039130: .word sub_02038EB0 +_02039134: .word sub_02038EB4 +_02039138: .word sub_02039DE4 +_0203913C: .word sub_02039DC4 +_02039140: .word sub_02039E7C + thumb_func_end sub_020390C4 + + thumb_func_start sub_02039144 +sub_02039144: ; 0x02039144 + push {r3, lr} + ldr r0, _020391BC ; =sub_02036904 + ldr r1, _020391C0 ; =sub_020367A8 + bl ov00_021E5C84 + mov r0, #0 + mvn r0, r0 + mov r1, #4 + mov r2, #1 + bl ov00_021E6D7C + add r0, r0, #4 + cmp r0, #4 + bhi _0203919A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203916C: ; jump table + .short _02039198 - _0203916C - 2 ; case 0 + .short _0203918E - _0203916C - 2 ; case 1 + .short _0203919A - _0203916C - 2 ; case 2 + .short _0203919A - _0203916C - 2 ; case 3 + .short _02039176 - _0203916C - 2 ; case 4 +_02039176: + ldr r0, _020391C4 ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + add r0, #0x5c + strb r1, [r0] + bl sub_0203622C + ldr r0, _020391C8 ; =sub_02038F9C + mov r1, #0 + bl sub_020381C0 + b _0203919A +_0203918E: + ldr r0, _020391CC ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + b _0203919A +_02039198: + pop {r3, pc} +_0203919A: + bl ov00_021E6690 + cmp r0, #0 + bge _020391AC + ldr r0, _020391CC ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_020391AC: + cmp r0, #0x1a + bne _020391B8 + ldr r0, _020391CC ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_020391B8: + pop {r3, pc} + nop +_020391BC: .word sub_02036904 +_020391C0: .word sub_020367A8 +_020391C4: .word 0x021D4150 +_020391C8: .word sub_02038F9C +_020391CC: .word sub_02038E90 + thumb_func_end sub_02039144 + + thumb_func_start sub_020391D0 +sub_020391D0: ; 0x020391D0 + push {r3, lr} + mov r0, #0 + bl sub_0203786C + ldr r0, _02039214 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x50 + ldrb r0, [r0] + bl ov00_021E6BE4 + cmp r0, #0 + beq _020391FE + bl ov00_021E6C68 + cmp r0, #0 + beq _020391FE + bl sub_020343E4 + ldr r0, _02039218 ; =sub_02039144 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_020391FE: + mov r0, #0 + bl ov00_021E5E54 + cmp r0, #0 + bge _02039210 + ldr r0, _0203921C ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_02039210: + pop {r3, pc} + nop +_02039214: .word 0x021D4150 +_02039218: .word sub_02039144 +_0203921C: .word sub_02038E90 + thumb_func_end sub_020391D0 + + thumb_func_start sub_02039220 +sub_02039220: ; 0x02039220 + push {r3, lr} + bl sub_0203769C + cmp r0, #0 + bne _0203923C + ldr r0, _0203925C ; =0x021D4150 + mov r1, #0 + ldr r0, [r0] + add r0, #0x50 + strb r1, [r0] + ldr r0, _02039260 ; =sub_020391D0 + bl sub_020381C0 + b _0203924E +_0203923C: + ldr r0, _0203925C ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + add r0, #0x50 + strb r1, [r0] + ldr r0, _02039260 ; =sub_020391D0 + mov r1, #0 + bl sub_020381C0 +_0203924E: + ldr r0, _0203925C ; =0x021D4150 + mov r1, #1 + ldr r0, [r0] + add r0, #0x5c + strb r1, [r0] + pop {r3, pc} + nop +_0203925C: .word 0x021D4150 +_02039260: .word sub_020391D0 + thumb_func_end sub_02039220 + + thumb_func_start sub_02039264 +sub_02039264: ; 0x02039264 + ldr r0, _02039270 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x5c + ldrb r0, [r0] + bx lr + nop +_02039270: .word 0x021D4150 + thumb_func_end sub_02039264 + + thumb_func_start sub_02039274 +sub_02039274: ; 0x02039274 + ldr r0, _02039294 ; =0x021D4150 + ldr r0, [r0] + ldr r1, [r0, #0x24] + ldr r0, _02039298 ; =sub_02039144 + cmp r1, r0 + bne _02039284 + mov r0, #1 + bx lr +_02039284: + ldr r0, _0203929C ; =sub_02039C60 + cmp r1, r0 + bne _0203928E + mov r0, #1 + bx lr +_0203928E: + mov r0, #0 + bx lr + nop +_02039294: .word 0x021D4150 +_02039298: .word sub_02039144 +_0203929C: .word sub_02039C60 + thumb_func_end sub_02039274 + + thumb_func_start sub_020392A0 +sub_020392A0: ; 0x020392A0 + ldr r0, _020392C8 ; =0x021D4150 + ldr r0, [r0] + ldr r1, [r0, #0x24] + ldr r0, _020392CC ; =sub_02038F9C + cmp r1, r0 + bne _020392B0 + mov r0, #1 + bx lr +_020392B0: + ldr r0, _020392D0 ; =sub_02039144 + cmp r1, r0 + bne _020392BA + mov r0, #1 + bx lr +_020392BA: + ldr r0, _020392D4 ; =sub_02039C60 + cmp r1, r0 + bne _020392C4 + mov r0, #1 + bx lr +_020392C4: + mov r0, #0 + bx lr + .balign 4, 0 +_020392C8: .word 0x021D4150 +_020392CC: .word sub_02038F9C +_020392D0: .word sub_02039144 +_020392D4: .word sub_02039C60 + thumb_func_end sub_020392A0 + + thumb_func_start sub_020392D8 +sub_020392D8: ; 0x020392D8 + push {r3, lr} + ldr r0, _020392F0 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _020392E6 + bl GF_AssertFail +_020392E6: + ldr r0, _020392F0 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x34 + pop {r3, pc} + nop +_020392F0: .word 0x021D4150 + thumb_func_end sub_020392D8 + + thumb_func_start sub_020392F4 +sub_020392F4: ; 0x020392F4 + push {r3, lr} + mov r0, #0 + bl sub_0203786C + mov r0, #0 + bl ov00_021E6BE4 + cmp r0, #0 + beq _02039312 + bl ov00_021E6C68 + ldr r0, _02039328 ; =sub_0203847C + mov r1, #0 + bl sub_020381C0 +_02039312: + mov r0, #0 + bl ov00_021E5E54 + cmp r0, #0 + bge _02039324 + ldr r0, _0203932C ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_02039324: + pop {r3, pc} + nop +_02039328: .word sub_0203847C +_0203932C: .word sub_02038E90 + thumb_func_end sub_020392F4 + + thumb_func_start sub_02039330 +sub_02039330: ; 0x02039330 + push {r3, lr} + ldr r0, _02039350 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _0203934C + mov r0, #1 + bl sub_0201A738 + bl sub_020343E4 + ldr r0, _02039354 ; =sub_0203847C + mov r1, #5 + bl sub_020381C0 +_0203934C: + pop {r3, pc} + nop +_02039350: .word 0x021D4150 +_02039354: .word sub_0203847C + thumb_func_end sub_02039330 + + thumb_func_start sub_02039358 +sub_02039358: ; 0x02039358 + push {r3, lr} + ldr r0, _02039370 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _0203936E + mov r1, #0 + add r0, #0x50 + strb r1, [r0] + ldr r0, _02039374 ; =sub_020391D0 + bl sub_020381C0 +_0203936E: + pop {r3, pc} + .balign 4, 0 +_02039370: .word 0x021D4150 +_02039374: .word sub_020391D0 + thumb_func_end sub_02039358 + + thumb_func_start sub_02039378 +sub_02039378: ; 0x02039378 + push {r3, lr} + ldr r0, _020393AC ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _020393AA + mov r0, #0 + mov r1, #1 + bl sub_020398D4 + bl sub_0203769C + cmp r0, #0 + bne _02039398 + mov r1, #0 + ldr r0, _020393AC ; =0x021D4150 + b _0203939C +_02039398: + ldr r0, _020393AC ; =0x021D4150 + mov r1, #1 +_0203939C: + ldr r0, [r0] + add r0, #0x50 + strb r1, [r0] + ldr r0, _020393B0 ; =sub_020391D0 + mov r1, #0 + bl sub_020381C0 +_020393AA: + pop {r3, pc} + .balign 4, 0 +_020393AC: .word 0x021D4150 +_020393B0: .word sub_020391D0 + thumb_func_end sub_02039378 + + thumb_func_start sub_020393B4 +sub_020393B4: ; 0x020393B4 + push {r3, lr} + bl sub_0203769C + add r1, sp, #0 + strb r0, [r1] + mov r0, #0x15 + add r1, sp, #0 + bl sub_020376E0 + pop {r3, pc} + thumb_func_end sub_020393B4 + + thumb_func_start sub_020393C8 +sub_020393C8: ; 0x020393C8 + ldr r0, _02039408 ; =0x021D4150 + ldr r2, [r0] + cmp r2, #0 + beq _02039402 + ldr r1, [r2, #0x24] + ldr r0, _0203940C ; =sub_02038E90 + cmp r1, r0 + bne _020393DC + mov r0, #1 + bx lr +_020393DC: + ldr r0, _02039410 ; =sub_02038E94 + cmp r1, r0 + bne _020393F0 + add r0, r2, #0 + add r0, #0x53 + ldrb r0, [r0] + cmp r0, #0 + beq _020393F0 + mov r0, #1 + bx lr +_020393F0: + ldr r0, _02039414 ; =sub_02039E7C + cmp r1, r0 + bne _02039402 + add r2, #0x53 + ldrb r0, [r2] + cmp r0, #0 + beq _02039402 + mov r0, #1 + bx lr +_02039402: + mov r0, #0 + bx lr + nop +_02039408: .word 0x021D4150 +_0203940C: .word sub_02038E90 +_02039410: .word sub_02038E94 +_02039414: .word sub_02039E7C + thumb_func_end sub_020393C8 + + thumb_func_start sub_02039418 +sub_02039418: ; 0x02039418 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02039468 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _02039466 + mov r1, #0xf + add r2, r1, #0 + mov r0, #3 + add r2, #0xf1 + bl sub_0201A91C + mov r0, #0xf + mov r1, #0x68 + bl AllocFromHeap + ldr r1, _02039468 ; =0x021D4150 + mov r2, #0x68 + str r0, [r1] + mov r1, #0 + bl MIi_CpuFill8 + ldr r0, _02039468 ; =0x021D4150 + mov r2, #0x18 + ldr r1, [r0] + add r1, #0x4e + strb r2, [r1] + ldr r2, [r0] + mov r1, #1 + add r2, #0x55 + strb r1, [r2] + ldr r0, [r0] + str r4, [r0, #0x28] + mov r0, #0 + bl sub_020398D4 + mov r0, #1 + bl sub_0201A728 +_02039466: + pop {r4, pc} + .balign 4, 0 +_02039468: .word 0x021D4150 + thumb_func_end sub_02039418 + + thumb_func_start sub_0203946C +sub_0203946C: ; 0x0203946C + push {r3, lr} + ldr r0, _0203949C ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _02039498 + mov r0, #1 + bl sub_0201A738 + mov r0, #0 + add r1, r0, #0 + bl sub_020398D4 + ldr r0, _0203949C ; =0x021D4150 + ldr r0, [r0] + bl FreeToHeap + ldr r0, _0203949C ; =0x021D4150 + mov r1, #0 + str r1, [r0] + mov r0, #0xf + bl sub_0201A9C4 +_02039498: + pop {r3, pc} + nop +_0203949C: .word 0x021D4150 + thumb_func_end sub_0203946C + + thumb_func_start sub_020394A0 +sub_020394A0: ; 0x020394A0 + push {r4, lr} + add r4, r0, #0 + ldr r0, _020394F0 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _020394EE + mov r1, #0xf + add r2, r1, #0 + mov r0, #3 + add r2, #0xf1 + bl sub_0201A91C + mov r0, #0xf + mov r1, #0x68 + bl AllocFromHeap + ldr r1, _020394F0 ; =0x021D4150 + mov r2, #0x68 + str r0, [r1] + mov r1, #0 + bl MIi_CpuFill8 + ldr r0, _020394F0 ; =0x021D4150 + mov r2, #0x19 + ldr r1, [r0] + add r1, #0x4e + strb r2, [r1] + ldr r2, [r0] + mov r1, #1 + add r2, #0x55 + strb r1, [r2] + ldr r0, [r0] + str r4, [r0, #0x28] + mov r0, #0 + bl sub_020398D4 + mov r0, #1 + bl sub_0201A728 +_020394EE: + pop {r4, pc} + .balign 4, 0 +_020394F0: .word 0x021D4150 + thumb_func_end sub_020394A0 + + thumb_func_start sub_020394F4 +sub_020394F4: ; 0x020394F4 + push {r3, lr} + ldr r0, _02039524 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _02039520 + mov r0, #1 + bl sub_0201A738 + mov r0, #0 + add r1, r0, #0 + bl sub_020398D4 + ldr r0, _02039524 ; =0x021D4150 + ldr r0, [r0] + bl FreeToHeap + ldr r0, _02039524 ; =0x021D4150 + mov r1, #0 + str r1, [r0] + mov r0, #0xf + bl sub_0201A9C4 +_02039520: + pop {r3, pc} + nop +_02039524: .word 0x021D4150 + thumb_func_end sub_020394F4 + + thumb_func_start sub_02039528 +sub_02039528: ; 0x02039528 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02039578 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _02039576 + mov r1, #0xf + add r2, r1, #0 + mov r0, #3 + add r2, #0xf1 + bl sub_0201A91C + mov r0, #0xf + mov r1, #0x68 + bl AllocFromHeap + ldr r1, _02039578 ; =0x021D4150 + mov r2, #0x68 + str r0, [r1] + mov r1, #0 + bl MIi_CpuFill8 + ldr r0, _02039578 ; =0x021D4150 + mov r2, #0x24 + ldr r1, [r0] + add r1, #0x4e + strb r2, [r1] + ldr r2, [r0] + mov r1, #1 + add r2, #0x55 + strb r1, [r2] + ldr r0, [r0] + str r4, [r0, #0x28] + mov r0, #0 + bl sub_020398D4 + mov r0, #1 + bl sub_0201A728 +_02039576: + pop {r4, pc} + .balign 4, 0 +_02039578: .word 0x021D4150 + thumb_func_end sub_02039528 + + thumb_func_start sub_0203957C +sub_0203957C: ; 0x0203957C + push {r3, lr} + ldr r0, _020395AC ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _020395A8 + mov r0, #1 + bl sub_0201A738 + mov r0, #0 + add r1, r0, #0 + bl sub_020398D4 + ldr r0, _020395AC ; =0x021D4150 + ldr r0, [r0] + bl FreeToHeap + ldr r0, _020395AC ; =0x021D4150 + mov r1, #0 + str r1, [r0] + mov r0, #0xf + bl sub_0201A9C4 +_020395A8: + pop {r3, pc} + nop +_020395AC: .word 0x021D4150 + thumb_func_end sub_0203957C + + thumb_func_start sub_020395B0 +sub_020395B0: ; 0x020395B0 + push {r3, lr} + sub sp, #8 + ldr r0, _02039608 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _020395C2 + add sp, #8 + mov r0, #0 + pop {r3, pc} +_020395C2: + add r0, #0x4e + ldrb r0, [r0] + cmp r0, #0x18 + beq _020395CE + cmp r0, #0x24 + bne _020395E4 +_020395CE: + add r0, sp, #4 + add r1, sp, #0 + bl ov00_021EC11C + cmp r0, #0 + beq _02039600 + bl ov00_021EC210 + add sp, #8 + mov r0, #1 + pop {r3, pc} +_020395E4: + cmp r0, #0x19 + bne _02039600 + add r0, sp, #4 + add r1, sp, #0 + bl ov00_021EC11C + cmp r0, #0 + beq _02039600 + ldr r0, [sp] + cmp r0, #7 + bne _02039600 + add sp, #8 + mov r0, #1 + pop {r3, pc} +_02039600: + mov r0, #0 + add sp, #8 + pop {r3, pc} + nop +_02039608: .word 0x021D4150 + thumb_func_end sub_020395B0 + + thumb_func_start sub_0203960C +sub_0203960C: ; 0x0203960C + push {r3, lr} + bl ov00_021E5B6C + ldr r1, _02039680 ; =0x021D4150 + ldr r3, [r1] + ldr r2, [r3, #0x44] + sub r2, r2, #1 + str r2, [r3, #0x44] + cmp r0, #0x1b + bne _02039660 + ldr r1, [r1] + add r0, r1, #0 + add r0, #0x4e + ldrb r0, [r0] + cmp r0, #0x21 + bne _02039656 + ldr r0, [r1, #0x60] + bl ov45_0222E804 + cmp r0, #1 + bne _0203964C + ldr r1, _02039680 ; =0x021D4150 + mov r2, #1 + ldr r0, [r1] + add r0, #0x64 + strb r2, [r0] + ldr r1, [r1] + ldr r0, _02039684 ; =sub_02039C14 + ldr r1, [r1, #0x44] + bl sub_020381C0 + pop {r3, pc} +_0203964C: + ldr r0, _02039688 ; =sub_02039DC0 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039656: + ldr r0, _0203968C ; =sub_02039144 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039660: + cmp r0, #0 + beq _0203966C + ldr r0, _02039690 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_0203966C: + ldr r0, _02039680 ; =0x021D4150 + ldr r0, [r0] + ldr r0, [r0, #0x44] + cmp r0, #0 + bgt _0203967E + ldr r0, _02039690 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_0203967E: + pop {r3, pc} + .balign 4, 0 +_02039680: .word 0x021D4150 +_02039684: .word sub_02039C14 +_02039688: .word sub_02039DC0 +_0203968C: .word sub_02039144 +_02039690: .word sub_02038E90 + thumb_func_end sub_0203960C + + thumb_func_start sub_02039694 +sub_02039694: ; 0x02039694 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _020396EE + mov r2, #0xd5 + mov r0, #3 + mov r1, #0x30 + lsl r2, r2, #0xa + bl sub_0201A91C + mov r0, #1 + add r1, r0, #0 + lsl r2, r0, #9 + add r3, r0, #0 + bl sub_02035ED8 + cmp r0, #0 + beq _020396EE + ldr r0, _020396F0 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4e + ldrb r0, [r0] + bl sub_02033FC4 + add r3, r0, #0 + ldr r0, _020396F0 ; =0x021D4150 + mov r2, #0xb1 + ldr r0, [r0] + mov r1, #0x30 + ldr r0, [r0, #0x28] + lsl r2, r2, #0xa + add r3, r3, #1 + bl ov00_021E5900 + ldr r0, _020396F4 ; =sub_020399DC + bl ov00_021E6CA4 + bl sub_02035FD8 + mov r1, #0xe1 + ldr r0, _020396F8 ; =sub_0203960C + lsl r1, r1, #4 + bl sub_020381C0 +_020396EE: + pop {r3, pc} + .balign 4, 0 +_020396F0: .word 0x021D4150 +_020396F4: .word sub_020399DC +_020396F8: .word sub_0203960C + thumb_func_end sub_02039694 + + thumb_func_start sub_020396FC +sub_020396FC: ; 0x020396FC + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_02028E9C + bl sub_02037474 + cmp r0, #0 + beq _02039712 + mov r0, #0 + pop {r3, r4, r5, pc} +_02039712: + mov r0, #1 + bl sub_0201A728 + ldr r2, _02039760 ; =0x00007080 + mov r0, #3 + mov r1, #0xf + bl sub_0201A91C + add r0, r5, #0 + mov r1, #0x17 + bl sub_02037C98 + mov r0, #0xf + add r1, r4, #0 + bl AllocFromHeap + ldr r1, _02039764 ; =0x021D4150 + ldr r2, [r1] + str r0, [r2] + ldr r0, [r1] + mov r1, #0 + ldr r0, [r0] + add r2, r4, #0 + bl MIi_CpuFill8 + ldr r0, _02039764 ; =0x021D4150 + mov r1, #0 + ldr r2, [r0] + add r2, #0x4f + strb r1, [r2] + ldr r0, [r0] + str r5, [r0, #0x28] + ldr r0, _02039768 ; =sub_02039694 + bl sub_020381C0 + ldr r0, _02039764 ; =0x021D4150 + ldr r0, [r0] + ldr r0, [r0] + pop {r3, r4, r5, pc} + .balign 4, 0 +_02039760: .word 0x00007080 +_02039764: .word 0x021D4150 +_02039768: .word sub_02039694 + thumb_func_end sub_020396FC + + thumb_func_start sub_0203976C +sub_0203976C: ; 0x0203976C + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_02028E9C + bl sub_02037474 + cmp r0, #0 + bne _020397B8 + mov r0, #1 + bl sub_0201A728 + ldr r2, _020397BC ; =0x00007080 + mov r0, #3 + mov r1, #0xf + bl sub_0201A91C + add r0, r5, #0 + mov r1, #0x21 + bl sub_02037C98 + ldr r0, _020397C0 ; =0x021D4150 + mov r1, #0 + ldr r2, [r0] + str r1, [r2] + ldr r2, [r0] + str r4, [r2, #0x60] + ldr r2, [r0] + add r2, #0x64 + strb r1, [r2] + ldr r2, [r0] + add r2, #0x4f + strb r1, [r2] + ldr r0, [r0] + str r5, [r0, #0x28] + ldr r0, _020397C4 ; =sub_02039BA0 + bl sub_020381C0 +_020397B8: + pop {r3, r4, r5, pc} + nop +_020397BC: .word 0x00007080 +_020397C0: .word 0x021D4150 +_020397C4: .word sub_02039BA0 + thumb_func_end sub_0203976C + + thumb_func_start sub_020397C8 +sub_020397C8: ; 0x020397C8 + push {r3, lr} + ldr r0, _020397DC ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _020397DA + ldr r0, _020397E0 ; =sub_02039D78 + mov r1, #0 + bl sub_020381C0 +_020397DA: + pop {r3, pc} + .balign 4, 0 +_020397DC: .word 0x021D4150 +_020397E0: .word sub_02039D78 + thumb_func_end sub_020397C8 + + thumb_func_start sub_020397E4 +sub_020397E4: ; 0x020397E4 + ldr r0, _020397F8 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _020397F0 + mov r0, #0 + bx lr +_020397F0: + add r0, #0x64 + ldrb r0, [r0] + bx lr + nop +_020397F8: .word 0x021D4150 + thumb_func_end sub_020397E4 + + thumb_func_start sub_020397FC +sub_020397FC: ; 0x020397FC + ldr r0, _02039814 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _02039810 + ldr r1, [r0, #0x24] + ldr r0, _02039818 ; =sub_02039DC0 + cmp r1, r0 + bne _02039810 + mov r0, #1 + bx lr +_02039810: + mov r0, #0 + bx lr + .balign 4, 0 +_02039814: .word 0x021D4150 +_02039818: .word sub_02039DC0 + thumb_func_end sub_020397FC + + thumb_func_start sub_0203981C +sub_0203981C: ; 0x0203981C + push {r4, lr} + add r4, r0, #0 + ldr r0, _02039864 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + bne _0203982C + bl GF_AssertFail +_0203982C: + bl sub_020392A0 + cmp r0, #1 + beq _02039838 + bl GF_AssertFail +_02039838: + add r0, r4, #0 + bl ov45_0222F274 + cmp r0, #0 + bne _02039854 + add r0, r4, #0 + mov r1, #4 + bl ov45_0222F028 + ldr r0, _02039868 ; =sub_02039DE4 + mov r1, #0 + bl sub_020381C0 + pop {r4, pc} +_02039854: + add r0, r4, #0 + bl ov45_0222F350 + ldr r0, _02039868 ; =sub_02039DE4 + mov r1, #0 + bl sub_020381C0 + pop {r4, pc} + .balign 4, 0 +_02039864: .word 0x021D4150 +_02039868: .word sub_02039DE4 + thumb_func_end sub_0203981C + + thumb_func_start sub_0203986C +sub_0203986C: ; 0x0203986C + push {r3, lr} + bl ov45_0222F464 + cmp r0, #1 + bne _0203987A + bl ov45_0222F154 +_0203987A: + bl ov45_0222F70C + ldr r0, _02039888 ; =sub_02039E30 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02039888: .word sub_02039E30 + thumb_func_end sub_0203986C + + thumb_func_start sub_0203988C +sub_0203988C: ; 0x0203988C + ldr r0, _020398B8 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _020398B4 + ldr r1, [r0, #0x24] + ldr r0, _020398BC ; =sub_02039DC4 + cmp r1, r0 + bne _020398A0 + mov r0, #2 + bx lr +_020398A0: + ldr r0, _020398C0 ; =sub_02039DE4 + cmp r1, r0 + bne _020398AA + mov r0, #1 + bx lr +_020398AA: + ldr r0, _020398C4 ; =sub_02039E30 + cmp r1, r0 + bne _020398B4 + mov r0, #3 + bx lr +_020398B4: + mov r0, #0 + bx lr + .balign 4, 0 +_020398B8: .word 0x021D4150 +_020398BC: .word sub_02039DC4 +_020398C0: .word sub_02039DE4 +_020398C4: .word sub_02039E30 + thumb_func_end sub_0203988C + + thumb_func_start sub_020398C8 +sub_020398C8: ; 0x020398C8 + ldr r0, _020398D0 ; =0x021D4150 + ldr r0, [r0] + ldr r0, [r0] + bx lr + .balign 4, 0 +_020398D0: .word 0x021D4150 + thumb_func_end sub_020398C8 + + thumb_func_start sub_020398D4 +sub_020398D4: ; 0x020398D4 + push {r4, lr} + add r4, r0, #0 + ldr r0, _02039914 ; =0x021D4150 + ldr r2, [r0] + cmp r2, #0 + beq _02039904 + add r2, #0x53 + strb r4, [r2] + ldr r2, [r0] + add r2, #0x54 + strb r1, [r2] + cmp r4, #0 + beq _020398FC + bl sub_02037454 + ldr r1, _02039914 ; =0x021D4150 + ldr r1, [r1] + add r1, #0x4b + strb r0, [r1] + b _02039904 +_020398FC: + ldr r0, [r0] + mov r1, #0 + add r0, #0x4b + strb r1, [r0] +_02039904: + add r0, r4, #0 + bl sub_020356C0 + add r0, r4, #0 + bl sub_020356EC + pop {r4, pc} + nop +_02039914: .word 0x021D4150 + thumb_func_end sub_020398D4 + + thumb_func_start sub_02039918 +sub_02039918: ; 0x02039918 + ldr r0, _02039938 ; =0x021D4150 + ldr r1, [r0] + cmp r1, #0 + beq _02039934 + add r0, r1, #0 + add r0, #0x5d + ldrb r0, [r0] + cmp r0, #0 + beq _0203992E + mov r0, #1 + bx lr +_0203992E: + add r1, #0x54 + ldrb r0, [r1] + bx lr +_02039934: + mov r0, #0 + bx lr + .balign 4, 0 +_02039938: .word 0x021D4150 + thumb_func_end sub_02039918 + + thumb_func_start sub_0203993C +sub_0203993C: ; 0x0203993C + ldr r0, _02039950 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _0203994A + add r0, #0x4e + ldrb r0, [r0] + bx lr +_0203994A: + mov r0, #1 + bx lr + nop +_02039950: .word 0x021D4150 + thumb_func_end sub_0203993C + + thumb_func_start sub_02039954 +sub_02039954: ; 0x02039954 + ldr r0, _02039968 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _02039962 + add r0, #0x4f + ldrb r0, [r0] + bx lr +_02039962: + mov r0, #0 + bx lr + nop +_02039968: .word 0x021D4150 + thumb_func_end sub_02039954 + + thumb_func_start sub_0203996C +sub_0203996C: ; 0x0203996C + ldr r1, _02039978 ; =0x021D4150 + ldr r3, _0203997C ; =MIi_CpuCopy8 + ldr r1, [r1] + mov r2, #6 + add r1, r1, #4 + bx r3 + .balign 4, 0 +_02039978: .word 0x021D4150 +_0203997C: .word MIi_CpuCopy8 + thumb_func_end sub_0203996C + + thumb_func_start sub_02039980 +sub_02039980: ; 0x02039980 + add r1, r0, #0 + ldr r0, _02039990 ; =0x021D4150 + ldr r3, _02039994 ; =MIi_CpuCopy8 + ldr r0, [r0] + mov r2, #6 + add r0, r0, #4 + bx r3 + nop +_02039990: .word 0x021D4150 +_02039994: .word MIi_CpuCopy8 + thumb_func_end sub_02039980 + + thumb_func_start sub_02039998 +sub_02039998: ; 0x02039998 + push {r3, lr} + bl sub_0203993C + bl sub_02034044 + pop {r3, pc} + thumb_func_end sub_02039998 + + thumb_func_start sub_020399A4 +sub_020399A4: ; 0x020399A4 + ldr r1, _020399B4 ; =0x021D4150 + ldr r1, [r1] + cmp r1, #0 + beq _020399B0 + add r1, #0x56 + strb r0, [r1] +_020399B0: + bx lr + nop +_020399B4: .word 0x021D4150 + thumb_func_end sub_020399A4 + + thumb_func_start sub_020399B8 +sub_020399B8: ; 0x020399B8 + push {r3, lr} + bl sub_0201A79C + cmp r0, #0 + beq _020399C6 + mov r0, #0 + pop {r3, pc} +_020399C6: + ldr r0, _020399D8 ; =0x021D4150 + ldr r0, [r0] + cmp r0, #0 + beq _020399D4 + add r0, #0x56 + ldrb r0, [r0] + pop {r3, pc} +_020399D4: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 +_020399D8: .word 0x021D4150 + thumb_func_end sub_020399B8 + + thumb_func_start sub_020399DC +sub_020399DC: ; 0x020399DC + push {r3, lr} + add r2, r0, #0 + mov r0, #0 + mov r1, #1 + bl sub_0203AA44 +_020399E8: + b _020399E8 + .balign 4, 0 + thumb_func_end sub_020399DC + + thumb_func_start sub_020399EC +sub_020399EC: ; 0x020399EC + push {r3, lr} + mov r0, #0 + mov r1, #4 + add r2, r0, #0 + bl sub_0203AA44 +_020399F8: + b _020399F8 + .balign 4, 0 + thumb_func_end sub_020399EC + + thumb_func_start sub_020399FC +sub_020399FC: ; 0x020399FC + bx lr + .balign 4, 0 + thumb_func_end sub_020399FC + + thumb_func_start sub_02039A00 +sub_02039A00: ; 0x02039A00 + push {r3, lr} + bl sub_02039918 + cmp r0, #0 + beq _02039A98 + bl sub_02037700 + cmp r0, #0 + bne _02039A36 + bl sub_020393C8 + cmp r0, #0 + bne _02039A36 + bl sub_020395B0 + cmp r0, #0 + bne _02039A36 + ldr r0, _02039A9C ; =0x021D4150 + ldr r0, [r0] + add r0, #0x5d + ldrb r0, [r0] + cmp r0, #0 + bne _02039A36 + bl sub_020397FC + cmp r0, #0 + beq _02039A98 +_02039A36: + bl sub_0201A79C + cmp r0, #0 + bne _02039A98 + bl sub_020399B8 + cmp r0, #0 + bne _02039A98 + bl sub_02005FA0 + ldr r0, _02039A9C ; =0x021D4150 + ldr r0, [r0] + ldr r0, [r0, #0x28] + bl sub_020275A4 + ldr r1, _02039AA0 ; =gMain + 0x60 + mov r0, #1 + strb r0, [r1, #8] + ldr r1, _02039A9C ; =0x021D4150 + ldr r2, [r1] + add r1, r2, #0 + add r1, #0x5d + ldrb r1, [r1] + cmp r1, #3 + bne _02039A70 + mov r0, #3 + bl sub_020399A4 + pop {r3, pc} +_02039A70: + cmp r1, #5 + bne _02039A7C + mov r0, #5 + bl sub_020399A4 + pop {r3, pc} +_02039A7C: + add r2, #0x4e + ldrb r1, [r2] + cmp r1, #0x19 + beq _02039A8C + cmp r1, #0xf + beq _02039A8C + cmp r1, #0x24 + bne _02039A94 +_02039A8C: + mov r0, #2 + bl sub_020399A4 + pop {r3, pc} +_02039A94: + bl sub_020399A4 +_02039A98: + pop {r3, pc} + nop +_02039A9C: .word 0x021D4150 +_02039AA0: .word gMain + 0x60 + thumb_func_end sub_02039A00 + + thumb_func_start sub_02039AA4 +sub_02039AA4: ; 0x02039AA4 + push {r3, lr} + bl sub_02035630 + cmp r0, #0 + bne _02039AB6 + bl sub_02037D78 + cmp r0, #0 + bne _02039ABA +_02039AB6: + mov r0, #1 + pop {r3, pc} +_02039ABA: + bl sub_02034BE4 + cmp r0, #0 + bne _02039AC6 + mov r0, #1 + pop {r3, pc} +_02039AC6: + bl sub_02033974 + cmp r0, #0 + beq _02039AD2 + mov r0, #1 + pop {r3, pc} +_02039AD2: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02039AA4 + + thumb_func_start sub_02039AD8 +sub_02039AD8: ; 0x02039AD8 + push {r3, lr} + ldr r1, _02039AF4 ; =0x021D4150 + ldr r1, [r1] + cmp r1, #0 + beq _02039AEE + add r1, #0x5d + strb r0, [r1] + bl sub_02037988 + mov r0, #1 + pop {r3, pc} +_02039AEE: + mov r0, #0 + pop {r3, pc} + nop +_02039AF4: .word 0x021D4150 + thumb_func_end sub_02039AD8 + + thumb_func_start sub_02039AF8 +sub_02039AF8: ; 0x02039AF8 + ldr r0, _02039B0C ; =0x021D4150 + mov r1, #0x1d + ldr r0, [r0] + ldr r3, _02039B10 ; =ov00_021E5C84 + add r0, #0x4e + strb r1, [r0] + ldr r0, _02039B14 ; =sub_020369CC + add r1, r0, #0 + bx r3 + nop +_02039B0C: .word 0x021D4150 +_02039B10: .word ov00_021E5C84 +_02039B14: .word sub_020369CC + thumb_func_end sub_02039AF8 + + thumb_func_start sub_02039B18 +sub_02039B18: ; 0x02039B18 + ldr r0, _02039B2C ; =0x021D4150 + mov r1, #0x23 + ldr r0, [r0] + ldr r3, _02039B30 ; =ov00_021E5C84 + add r0, #0x4e + strb r1, [r0] + ldr r0, _02039B34 ; =sub_020369CC + add r1, r0, #0 + bx r3 + nop +_02039B2C: .word 0x021D4150 +_02039B30: .word ov00_021E5C84 +_02039B34: .word sub_020369CC + thumb_func_end sub_02039B18 + + thumb_func_start sub_02039B38 +sub_02039B38: ; 0x02039B38 + ldr r0, _02039B4C ; =0x021D4150 + mov r1, #0x21 + ldr r0, [r0] + ldr r3, _02039B50 ; =ov00_021E5C84 + add r0, #0x4e + strb r1, [r0] + ldr r0, _02039B54 ; =sub_020369CC + add r1, r0, #0 + bx r3 + nop +_02039B4C: .word 0x021D4150 +_02039B50: .word ov00_021E5C84 +_02039B54: .word sub_020369CC + thumb_func_end sub_02039B38 + + thumb_func_start sub_02039B58 +sub_02039B58: ; 0x02039B58 + ldr r0, _02039B6C ; =0x021D4150 + ldr r3, _02039B70 ; =ov00_021E5C84 + ldr r0, [r0] + mov r1, #0x17 + add r0, #0x4e + strb r1, [r0] + ldr r0, _02039B74 ; =sub_02036904 + ldr r1, _02039B78 ; =sub_020367A8 + bx r3 + nop +_02039B6C: .word 0x021D4150 +_02039B70: .word ov00_021E5C84 +_02039B74: .word sub_02036904 +_02039B78: .word sub_020367A8 + thumb_func_end sub_02039B58 + + thumb_func_start sub_02039B7C +sub_02039B7C: ; 0x02039B7C + ldr r0, _02039B90 ; =0x021D4150 + ldr r3, _02039B94 ; =ov00_021E5C84 + ldr r0, [r0] + mov r1, #0x13 + add r0, #0x4e + strb r1, [r0] + ldr r0, _02039B98 ; =sub_02036904 + ldr r1, _02039B9C ; =sub_020367A8 + bx r3 + nop +_02039B90: .word 0x021D4150 +_02039B94: .word ov00_021E5C84 +_02039B98: .word sub_02036904 +_02039B9C: .word sub_020367A8 + thumb_func_end sub_02039B7C + + thumb_func_start sub_02039BA0 +sub_02039BA0: ; 0x02039BA0 + push {r3, lr} + bl sub_02034DB8 + cmp r0, #0 + beq _02039C04 + mov r1, #0x30 + mov r0, #3 + lsl r2, r1, #0xd + bl sub_0201A91C + mov r0, #1 + add r1, r0, #0 + lsl r2, r0, #9 + add r3, r0, #0 + bl sub_02035ED8 + cmp r0, #0 + beq _02039C04 + ldr r0, _02039C08 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x4e + ldrb r0, [r0] + bl sub_02033FC4 + add r3, r0, #0 + ldr r0, _02039C08 ; =0x021D4150 + mov r2, #0x16 + ldr r0, [r0] + mov r1, #0x30 + ldr r0, [r0, #0x28] + lsl r2, r2, #0xe + add r3, r3, #1 + bl ov00_021E5900 + ldr r0, _02039C0C ; =sub_020399DC + bl ov00_021E6CA4 + bl sub_02035FD8 + mov r0, #0 + bl ov00_021E70B8 + mov r0, #0 + bl sub_020378E4 + mov r1, #0xe1 + ldr r0, _02039C10 ; =sub_0203960C + lsl r1, r1, #4 + bl sub_020381C0 +_02039C04: + pop {r3, pc} + nop +_02039C08: .word 0x021D4150 +_02039C0C: .word sub_020399DC +_02039C10: .word sub_0203960C + thumb_func_end sub_02039BA0 + + thumb_func_start sub_02039C14 +sub_02039C14: ; 0x02039C14 + push {r3, lr} + ldr r0, _02039C54 ; =0x021D4150 + ldr r2, [r0] + ldr r1, [r2, #0x44] + sub r1, r1, #1 + str r1, [r2, #0x44] + ldr r0, [r0] + ldr r0, [r0, #0x44] + cmp r0, #0 + bgt _02039C32 + ldr r0, _02039C58 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039C32: + mov r0, #1 + bl sub_0203786C + bl sub_02039D3C + cmp r0, #0 + beq _02039C50 + bl ov45_0222E8F4 + cmp r0, #0 + beq _02039C50 + ldr r0, _02039C5C ; =sub_02039C60 + mov r1, #0 + bl sub_020381C0 +_02039C50: + pop {r3, pc} + nop +_02039C54: .word 0x021D4150 +_02039C58: .word sub_02038E90 +_02039C5C: .word sub_02039C60 + thumb_func_end sub_02039C14 + + thumb_func_start sub_02039C60 +sub_02039C60: ; 0x02039C60 + push {r3, lr} + bl sub_02039D3C + cmp r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02039C60 + + thumb_func_start sub_02039C6C +sub_02039C6C: ; 0x02039C6C + push {r4, lr} + mov r4, #1 + cmp r0, #0xa + blt _02039C84 + cmp r0, #0x14 + bge _02039C84 + ldr r0, _02039CF4 ; =sub_02038EB4 + mov r1, #0 + bl sub_020381C0 + mov r4, #0 + b _02039CC8 +_02039C84: + cmp r0, #0 + bge _02039C94 + ldr r0, _02039CF8 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + mov r4, #0 + b _02039CC8 +_02039C94: + cmp r0, #0x17 + bne _02039CA4 + ldr r0, _02039CFC ; =sub_02039E7C + mov r1, #0 + bl sub_020381C0 + mov r4, #0 + b _02039CC8 +_02039CA4: + cmp r0, #0x18 + bne _02039CC8 + ldr r0, _02039D00 ; =0x021D4150 + mov r4, #0 + ldr r0, [r0] + add r0, #0x53 + ldrb r0, [r0] + cmp r0, #0 + beq _02039CC0 + ldr r0, _02039CF8 ; =sub_02038E90 + add r1, r4, #0 + bl sub_020381C0 + b _02039CC8 +_02039CC0: + ldr r0, _02039D04 ; =sub_02038EB0 + add r1, r4, #0 + bl sub_020381C0 +_02039CC8: + ldr r0, _02039D00 ; =0x021D4150 + ldr r0, [r0] + add r0, #0x53 + ldrb r0, [r0] + cmp r0, #0 + beq _02039CEE + bl sub_02037454 + ldr r1, _02039D00 ; =0x021D4150 + ldr r1, [r1] + add r1, #0x4b + ldrb r1, [r1] + cmp r1, r0 + beq _02039CEE + ldr r0, _02039CF8 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + mov r4, #0 +_02039CEE: + add r0, r4, #0 + pop {r4, pc} + nop +_02039CF4: .word sub_02038EB4 +_02039CF8: .word sub_02038E90 +_02039CFC: .word sub_02039E7C +_02039D00: .word 0x021D4150 +_02039D04: .word sub_02038EB0 + thumb_func_end sub_02039C6C + + thumb_func_start sub_02039D08 +sub_02039D08: ; 0x02039D08 + push {r4, lr} + mov r4, #1 + bl ov45_0222E6C8 + cmp r0, #4 + bhi _02039D34 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02039D20: ; jump table + .short _02039D34 - _02039D20 - 2 ; case 0 + .short _02039D34 - _02039D20 - 2 ; case 1 + .short _02039D34 - _02039D20 - 2 ; case 2 + .short _02039D34 - _02039D20 - 2 ; case 3 + .short _02039D2A - _02039D20 - 2 ; case 4 +_02039D2A: + ldr r0, _02039D38 ; =sub_02039DC0 + mov r1, #0 + bl sub_020381C0 + mov r4, #0 +_02039D34: + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 +_02039D38: .word sub_02039DC0 + thumb_func_end sub_02039D08 + + thumb_func_start sub_02039D3C +sub_02039D3C: ; 0x02039D3C + push {r3, lr} + mov r0, #0 + bl ov00_021E5E54 + bl sub_02039C6C + cmp r0, #0 + beq _02039D50 + bl sub_02039D08 +_02039D50: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02039D3C + + thumb_func_start sub_02039D54 +sub_02039D54: ; 0x02039D54 + push {r4, lr} + add r4, r0, #0 + mov r0, #0 + bl ov00_021E5E54 + cmp r0, #0x14 + blt _02039D66 + str r0, [r4] + b _02039D72 +_02039D66: + mov r1, #0 + str r1, [r4] + bl sub_02039C6C + cmp r0, #0 + beq _02039D76 +_02039D72: + bl sub_02039D08 +_02039D76: + pop {r4, pc} + thumb_func_end sub_02039D54 + + thumb_func_start sub_02039D78 +sub_02039D78: ; 0x02039D78 + push {r3, lr} + bl ov45_0222E91C + ldr r0, _02039D88 ; =sub_02039D8C + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} + .balign 4, 0 +_02039D88: .word sub_02039D8C + thumb_func_end sub_02039D78 + + thumb_func_start sub_02039D8C +sub_02039D8C: ; 0x02039D8C + push {r3, lr} + mov r0, #0 + bl ov00_021E5E54 + bl sub_02039D08 + bl ov45_0222E944 + cmp r0, #0 + beq _02039DB8 + mov r0, #1 + bl sub_0201A738 + bl sub_020343E4 + ldr r0, _02039DBC ; =sub_0203847C + mov r1, #5 + bl sub_020381C0 + mov r0, #0 + bl sub_0203786C +_02039DB8: + pop {r3, pc} + nop +_02039DBC: .word sub_0203847C + thumb_func_end sub_02039D8C + + thumb_func_start sub_02039DC0 +sub_02039DC0: ; 0x02039DC0 + bx lr + .balign 4, 0 + thumb_func_end sub_02039DC0 + + thumb_func_start sub_02039DC4 +sub_02039DC4: ; 0x02039DC4 + push {r3, lr} + bl sub_02039D3C + bl ov45_0222F254 + cmp r0, #1 + bne _02039DDE + bl ov45_0222F70C + ldr r0, _02039DE0 ; =sub_02039E30 + mov r1, #0 + bl sub_020381C0 +_02039DDE: + pop {r3, pc} + .balign 4, 0 +_02039DE0: .word sub_02039E30 + thumb_func_end sub_02039DC4 + + thumb_func_start sub_02039DE4 +sub_02039DE4: ; 0x02039DE4 + push {r3, lr} + bl ov45_0222F254 + cmp r0, #1 + bne _02039DFC + bl ov45_0222F70C + ldr r0, _02039E24 ; =sub_02039E30 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039DFC: + add r0, sp, #0 + bl sub_02039D54 + ldr r0, [sp] + cmp r0, #0 + beq _02039E22 + cmp r0, #0x14 + bne _02039E16 + ldr r0, _02039E28 ; =sub_02039DC4 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039E16: + bl ov45_0222F70C + ldr r0, _02039E2C ; =sub_02039C60 + mov r1, #0 + bl sub_020381C0 +_02039E22: + pop {r3, pc} + .balign 4, 0 +_02039E24: .word sub_02039E30 +_02039E28: .word sub_02039DC4 +_02039E2C: .word sub_02039C60 + thumb_func_end sub_02039DE4 + + thumb_func_start sub_02039E30 +sub_02039E30: ; 0x02039E30 + push {r3, lr} + mov r0, #1 + bl ov00_021E5E54 + cmp r0, #0 + bge _02039E46 + ldr r0, _02039E74 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 + pop {r3, pc} +_02039E46: + bl sub_02039D08 + cmp r0, #0 + beq _02039E72 + mov r0, #0 + bl ov00_021E6BE4 + cmp r0, #0 + beq _02039E72 + bl ov00_021E6C68 + cmp r0, #0 + beq _02039E72 + bl sub_0203622C + mov r0, #0 + bl sub_020378E4 + ldr r0, _02039E78 ; =sub_02039C60 + mov r1, #0 + bl sub_020381C0 +_02039E72: + pop {r3, pc} + .balign 4, 0 +_02039E74: .word sub_02038E90 +_02039E78: .word sub_02039C60 + thumb_func_end sub_02039E30 + + thumb_func_start sub_02039E7C +sub_02039E7C: ; 0x02039E7C + push {r3, lr} + mov r0, #0 + bl ov00_021E5E54 + cmp r0, #0 + bge _02039E90 + ldr r0, _02039E98 ; =sub_02038E90 + mov r1, #0 + bl sub_020381C0 +_02039E90: + bl sub_02039D08 + pop {r3, pc} + nop +_02039E98: .word sub_02038E90 + thumb_func_end sub_02039E7C + + thumb_func_start sub_02039E9C +sub_02039E9C: ; 0x02039E9C + ldr r0, _02039EA8 ; =0x021D4150 + mov r1, #0x22 + ldr r0, [r0] + add r0, #0x4e + strb r1, [r0] + bx lr + .balign 4, 0 +_02039EA8: .word 0x021D4150 + thumb_func_end sub_02039E9C + + thumb_func_start sub_02039EAC +sub_02039EAC: ; 0x02039EAC + mov r1, #0 + str r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_02039EAC + + thumb_func_start sub_02039EB4 +sub_02039EB4: ; 0x02039EB4 + push {r4, r5, r6, lr} + add r4, r2, #0 + add r6, r1, #0 + ldr r1, [r4] + add r5, r0, #0 + cmp r1, #6 + bhi _02039F64 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02039ECE: ; jump table + .short _02039EDC - _02039ECE - 2 ; case 0 + .short _02039EE8 - _02039ECE - 2 ; case 1 + .short _02039F00 - _02039ECE - 2 ; case 2 + .short _02039F28 - _02039ECE - 2 ; case 3 + .short _02039F38 - _02039ECE - 2 ; case 4 + .short _02039F5A - _02039ECE - 2 ; case 5 + .short _02039F60 - _02039ECE - 2 ; case 6 +_02039EDC: + mov r0, #0x6f + bl sub_02037AC0 + mov r0, #1 + str r0, [r4] + b _02039F64 +_02039EE8: + mov r0, #0x6f + bl sub_02037B38 + cmp r0, #0 + beq _02039F64 + add r0, r5, #0 + add r1, r6, #0 + bl sub_02027550 + mov r0, #2 + str r0, [r4] + b _02039F64 +_02039F00: + bl sub_02027564 + add r5, r0, #0 + cmp r5, #2 + bne _02039F0E + bl GF_AssertFail +_02039F0E: + cmp r5, #1 + bne _02039F1E + mov r0, #3 + str r0, [r4] + mov r0, #0x70 + bl sub_02037AC0 + b _02039F64 +_02039F1E: + cmp r5, #3 + bne _02039F64 + mov r0, #7 + str r0, [r4] + b _02039F64 +_02039F28: + mov r0, #0x70 + bl sub_02037B38 + cmp r0, #0 + beq _02039F64 + mov r0, #4 + str r0, [r4] + b _02039F64 +_02039F38: + bl sub_02027564 + add r5, r0, #0 + cmp r5, #1 + bne _02039F46 + bl GF_AssertFail +_02039F46: + cmp r5, #2 + bne _02039F50 + mov r0, #5 + str r0, [r4] + b _02039F64 +_02039F50: + cmp r5, #3 + bne _02039F64 + mov r0, #7 + str r0, [r4] + b _02039F64 +_02039F5A: + mov r0, #6 + str r0, [r4] + b _02039F64 +_02039F60: + mov r0, #1 + pop {r4, r5, r6, pc} +_02039F64: + mov r0, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_02039EB4 + + thumb_func_start sub_02039F68 +sub_02039F68: ; 0x02039F68 + push {r3, r4, r5, r6, r7, lr} + str r0, [sp] + bl sub_02037454 + add r7, r0, #0 + mov r0, #0 + bl sub_02034818 + cmp r0, #0 + beq _02039FB6 + mov r5, #0 + cmp r7, #0 + ble _02039FB6 +_02039F82: + bl sub_0203769C + cmp r5, r0 + beq _02039FB0 + add r0, r5, #0 + bl sub_020348A8 + add r4, r0, #0 + add r0, r5, #0 + bl sub_020348CC + add r6, r0, #0 + add r0, r5, #0 + bl sub_02034818 + bl sub_02029088 + add r3, r0, #0 + ldr r0, [sp] + add r1, r4, #0 + add r2, r6, #0 + bl sub_02039FB8 +_02039FB0: + add r5, r5, #1 + cmp r5, r7 + blt _02039F82 +_02039FB6: + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_02039F68 + + thumb_func_start sub_02039FB8 +sub_02039FB8: ; 0x02039FB8 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + bl sub_0202CA94 + cmp r0, #0 + bne _02039FD4 + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + mov r3, #1 + bl sub_0202CAE4 +_02039FD4: + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_02039FB8 + + thumb_func_start sub_02039FD8 +sub_02039FD8: ; 0x02039FD8 + push {r3, r4, r5, lr} + mov r1, #0x72 + lsl r1, r1, #4 + bl AllocFromHeap + add r4, r0, #0 + add r0, #0x1f + mov r1, #0x1f + bic r0, r1 + bl sub_0209FAE4 + add r5, r0, #0 + add r0, r4, #0 + bl FreeToHeap + add r0, r5, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02039FD8 + + thumb_func_start sub_02039FFC +sub_02039FFC: ; 0x02039FFC + push {r4, lr} + add r4, r0, #0 + bl LoadDwcOverlay + bl LoadOVY38 + add r0, r4, #0 + bl sub_02039FD8 + add r4, r0, #0 + bl UnloadDwcOverlay + bl UnloadOVY38 + add r0, r4, #0 + pop {r4, pc} + thumb_func_end sub_02039FFC + + thumb_func_start sub_0203A01C +sub_0203A01C: ; 0x0203A01C + push {r4, lr} + bl sub_0202C08C + add r4, r0, #0 + bl sub_020A00BC + cmp r0, #0 + bne _0203A03A + ldr r1, _0203A03C ; =0x4144414A + add r0, r4, #0 + bl sub_020A00B0 + add r0, r4, #0 + bl sub_020A0214 +_0203A03A: + pop {r4, pc} + .balign 4, 0 +_0203A03C: .word 0x4144414A + thumb_func_end sub_0203A01C + + thumb_func_start sub_0203A040 +sub_0203A040: ; 0x0203A040 + push {r3, r4, lr} + sub sp, #0xc + bl sub_0202C08C + add r4, r0, #0 + add r1, sp, #0 + bl sub_020A037C + add r0, r4, #0 + add r1, sp, #0 + bl sub_020A028C + add sp, #0xc + pop {r3, r4, pc} + thumb_func_end sub_0203A040 + + thumb_func_start sub_0203A05C +sub_0203A05C: ; 0x0203A05C + push {r4, lr} + bl sub_0202C6F4 + bl sub_0202C08C + add r4, r0, #0 + bl sub_020A0100 + cmp r0, #0 + beq _0203A07E + add r0, r4, #0 + bl sub_020A0130 + cmp r0, #0 + beq _0203A07E + mov r0, #1 + pop {r4, pc} +_0203A07E: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203A05C + + thumb_func_start sub_0203A084 +sub_0203A084: ; 0x0203A084 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r4, r0, #0 + add r5, r1, #0 + str r2, [sp] + bl sub_0202C6F4 + bl sub_0202C08C + add r6, r0, #0 + add r0, r4, #0 + bl sub_0202C6F4 + mov r1, #0 + bl sub_0202C23C + add r4, r0, #0 + mov r1, #0 + ldr r0, [sp] + mvn r1, r1 + str r1, [r0] + add r0, r5, #0 + bl sub_020A008C + cmp r0, #0 + bne _0203A0BE + add sp, #8 + mov r0, #3 + pop {r3, r4, r5, r6, r7, pc} +_0203A0BE: + mov r7, #0 +_0203A0C0: + add r0, r5, #0 + add r1, r4, #0 + bl sub_020A041C + cmp r0, #0 + beq _0203A0D6 + ldr r0, [sp] + add sp, #8 + str r7, [r0] + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0203A0D6: + add r0, r6, #0 + add r1, r5, #0 + bl sub_020A028C + cmp r0, #0 + ble _0203A104 + add r0, r6, #0 + add r1, r5, #0 + bl sub_020A028C + str r0, [sp, #4] + add r0, r6, #0 + add r1, r4, #0 + bl sub_020A028C + ldr r1, [sp, #4] + cmp r1, r0 + bne _0203A104 + ldr r0, [sp] + add sp, #8 + str r7, [r0] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0203A104: + ldr r0, [sp] + ldr r0, [r0] + cmp r0, #0 + bge _0203A11A + add r0, r4, #0 + bl sub_020A008C + cmp r0, #0 + bne _0203A11A + ldr r0, [sp] + str r7, [r0] +_0203A11A: + add r7, r7, #1 + add r4, #0xc + cmp r7, #0x20 + blt _0203A0C0 + mov r0, #2 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203A084 + + thumb_func_start sub_0203A128 +sub_0203A128: ; 0x0203A128 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r4, r0, #0 + str r1, [sp] + str r2, [sp, #4] + add r6, r3, #0 + bl sub_0202C6F4 + bl sub_0202C08C + add r7, r0, #0 + add r0, r4, #0 + bl sub_0202C6F4 + mov r1, #0 + bl sub_0202C23C + add r5, r0, #0 + ldr r1, [sp] + ldr r2, [sp, #4] + add r0, r7, #0 + bl sub_0209FD0C + cmp r0, #0 + bne _0203A160 + add sp, #0x18 + mov r0, #3 + pop {r3, r4, r5, r6, r7, pc} +_0203A160: + ldr r1, [sp] + ldr r2, [sp, #4] + add r0, sp, #0xc + bl sub_020A0340 + add r0, r7, #0 + add r1, sp, #0xc + bl sub_020A028C + cmp r0, #0 + bgt _0203A17C + add sp, #0x18 + mov r0, #3 + pop {r3, r4, r5, r6, r7, pc} +_0203A17C: + mov r0, #0 + mvn r0, r0 + str r0, [r6] + mov r4, #0 +_0203A184: + add r0, r7, #0 + add r1, sp, #0xc + bl sub_020A028C + str r0, [sp, #8] + add r0, r7, #0 + add r1, r5, #0 + bl sub_020A028C + ldr r1, [sp, #8] + cmp r1, r0 + bne _0203A1A4 + add sp, #0x18 + str r4, [r6] + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_0203A1A4: + ldr r0, [r6] + cmp r0, #0 + bge _0203A1B6 + add r0, r5, #0 + bl sub_020A008C + cmp r0, #0 + bne _0203A1B6 + str r4, [r6] +_0203A1B6: + add r4, r4, #1 + add r5, #0xc + cmp r4, #0x20 + blt _0203A184 + mov r0, #2 + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203A128 + + thumb_func_start sub_0203A1C4 +sub_0203A1C4: ; 0x0203A1C4 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r6, r1, #0 + mov r1, #0 + add r5, r0, #0 + str r2, [sp, #4] + str r1, [sp, #0xc] + bl sub_0202C6F4 + mov r1, #0 + bl sub_0202C23C + str r0, [sp, #8] + mov r4, #0 + bl sub_02037454 + cmp r0, #0 + ble _0203A278 +_0203A1E8: + bl sub_0203769C + cmp r4, r0 + beq _0203A26C + add r0, r4, #0 + bl sub_0203484C + add r7, r0, #0 + beq _0203A26C + add r0, r5, #0 + add r1, r7, #0 + add r2, sp, #0x10 + bl sub_0203A084 + str r0, [r6] + cmp r0, #3 + bne _0203A20E + bl GF_AssertFail +_0203A20E: + ldr r0, [r6] + cmp r0, #0 + bne _0203A22C + mov r0, #2 + str r0, [sp] + ldr r2, [sp, #0x10] + ldr r3, [sp, #4] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203A280 + add r0, r5, #0 + bl sub_02034A20 + b _0203A26C +_0203A22C: + cmp r0, #1 + bne _0203A264 + bl sub_02039998 + cmp r0, #0 + bne _0203A26C + mov r0, #1 + str r0, [sp] + ldr r2, [sp, #0x10] + ldr r3, [sp, #4] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203A280 + ldr r2, [sp, #0x10] + mov r1, #0xc + add r3, r2, #0 + mul r3, r1 + ldr r1, [sp, #8] + add r0, r7, #0 + add r1, r1, r3 + mov r2, #0xc + bl MIi_CpuCopy8 + add r0, r5, #0 + bl sub_02034A20 + b _0203A26C +_0203A264: + cmp r0, #2 + bne _0203A26C + mov r0, #1 + str r0, [sp, #0xc] +_0203A26C: + add r6, r6, #4 + add r4, r4, #1 + bl sub_02037454 + cmp r4, r0 + blt _0203A1E8 +_0203A278: + ldr r0, [sp, #0xc] + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203A1C4 + + thumb_func_start sub_0203A280 +sub_0203A280: ; 0x0203A280 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + add r5, r2, #0 + str r0, [sp] + add r7, r1, #0 + str r3, [sp, #4] + bl sub_0202C6F4 + add r1, r5, #0 + add r4, r0, #0 + bl sub_0202C23C + str r0, [sp, #8] + add r0, r7, #0 + bl sub_02034818 + add r6, r0, #0 + ldr r0, [sp, #0x28] + cmp r0, #2 + beq _0203A2B6 + add r0, r7, #0 + bl sub_0203484C + ldr r1, [sp, #8] + mov r2, #0xc + bl MIi_CpuCopy8 +_0203A2B6: + ldr r0, [sp, #0x28] + cmp r0, #0 + bne _0203A2FC + ldr r1, [sp, #4] + add r0, r6, #0 + bl sub_02028F68 + str r0, [sp, #0xc] + ldr r2, [sp, #0xc] + add r0, r4, #0 + add r1, r5, #0 + bl sub_0202C270 + ldr r0, [sp, #0xc] + bl String_dtor + add r0, r6, #0 + bl PlayerProfile_GetTrainerGender + add r3, r0, #0 + add r0, r4, #0 + add r1, r5, #0 + mov r2, #8 + bl sub_0202C190 + add r0, r6, #0 + bl sub_02028F84 + add r3, r0, #0 + add r0, r4, #0 + add r1, r5, #0 + mov r2, #0 + bl sub_0202C190 + b _0203A334 +_0203A2FC: + sub r0, r0, #1 + cmp r0, #1 + bhi _0203A334 + add r0, r4, #0 + add r1, r5, #0 + mov r2, #8 + bl sub_0202C090 + cmp r0, #2 + bne _0203A334 + add r0, r6, #0 + bl PlayerProfile_GetTrainerGender + add r3, r0, #0 + add r0, r4, #0 + add r1, r5, #0 + mov r2, #8 + bl sub_0202C190 + add r0, r6, #0 + bl sub_02028F84 + add r3, r0, #0 + add r0, r4, #0 + add r1, r5, #0 + mov r2, #0 + bl sub_0202C190 +_0203A334: + ldr r1, [sp, #4] + mov r0, #0x78 + bl String_ctor + str r0, [sp, #0x10] + add r0, r7, #0 + bl sub_02034884 + add r1, r0, #0 + ldr r0, [sp, #0x10] + bl CopyU16ArrayToString + ldr r2, [sp, #0x10] + add r0, r4, #0 + add r1, r5, #0 + bl sub_0202C2B4 + ldr r0, [sp, #0x10] + bl String_dtor + add r0, r6, #0 + bl sub_0202903C + add r3, r0, #0 + add r0, r4, #0 + add r1, r5, #0 + mov r2, #7 + bl sub_0202C190 + ldr r0, [sp] + bl sub_02034A20 + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + thumb_func_end sub_0203A280 + + thumb_func_start sub_0203A378 +sub_0203A378: ; 0x0203A378 + push {r4, r5, r6, lr} + add r4, r0, #0 + add r0, r1, #0 + bl sub_0203484C + add r6, r0, #0 + add r0, r4, #0 + bl sub_0202C6F4 + add r5, r0, #0 + mov r4, #0 +_0203A38E: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0202C23C + add r1, r0, #0 + add r0, r6, #0 + bl sub_020A041C + cmp r0, #0 + beq _0203A3A6 + add r0, r4, #0 + pop {r4, r5, r6, pc} +_0203A3A6: + add r4, r4, #1 + cmp r4, #0x20 + blt _0203A38E + mov r0, #0x20 + pop {r4, r5, r6, pc} + thumb_func_end sub_0203A378 + + thumb_func_start sub_0203A3B0 +sub_0203A3B0: ; 0x0203A3B0 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r5, r2, #0 + add r6, r3, #0 + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x10] + ldr r2, [sp, #0x1c] + add r3, r4, #0 + bl sub_0203A4D4 + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x10] + add r2, r4, #0 + bl sub_0203A59C + add r0, r4, #0 + mov r1, #0x24 + bl AllocFromHeapAtEnd + add r4, r0, #0 + ldr r0, _0203A428 ; =sub_0203A42C + add r1, r4, #0 + mov r2, #5 + bl sub_0200E374 + str r0, [r4, #0x18] + ldr r2, [sp, #0x1c] + strh r5, [r4, #0xc] + asr r1, r2, #4 + lsr r1, r1, #0x1b + add r1, r2, r1 + asr r2, r1, #5 + add r1, r4, #0 + strh r6, [r4, #0xe] + mov r0, #0 + str r0, [r4] + add r1, #0x20 + strb r2, [r1] + add r1, r4, #0 + ldr r2, [sp, #0x18] + add r1, #0x21 + strb r2, [r1] + add r1, r4, #0 + add r1, #0x22 + strb r0, [r1] + mov r1, #3 + str r1, [r4, #4] + ldr r1, [sp, #0x14] + str r1, [r4, #0x14] + ldr r1, [sp, #0x10] + str r0, [r4, #8] + strb r1, [r4, #0x10] + strb r0, [r4, #0x12] + strb r0, [r4, #0x11] + mov r0, #7 + lsl r0, r0, #0x18 + str r0, [r4, #0x1c] + add r0, r4, #0 + pop {r4, r5, r6, pc} + nop +_0203A428: .word sub_0203A42C + thumb_func_end sub_0203A3B0 + + thumb_func_start sub_0203A42C +sub_0203A42C: ; 0x0203A42C + ldr r3, _0203A434 ; =sub_0203A700 + add r0, r1, #0 + bx r3 + nop +_0203A434: .word sub_0203A700 + thumb_func_end sub_0203A42C + + thumb_func_start sub_0203A438 +sub_0203A438: ; 0x0203A438 + cmp r1, #4 + bge _0203A442 + str r1, [r0, #4] + mov r1, #0 + str r1, [r0, #8] +_0203A442: + bx lr + thumb_func_end sub_0203A438 + + thumb_func_start sub_0203A444 +sub_0203A444: ; 0x0203A444 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x18] + bl sub_0200E390 + mov r0, #7 + ldr r2, _0203A470 ; =0x40000200 + lsl r0, r0, #0x18 + str r2, [r0] + mov r1, #0 + strh r1, [r0, #4] + ldrb r0, [r4, #0x12] + cmp r0, #0 + beq _0203A466 + ldr r0, _0203A474 ; =0x07000400 + str r2, [r0] + strh r1, [r0, #4] +_0203A466: + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + nop +_0203A470: .word 0x40000200 +_0203A474: .word 0x07000400 + thumb_func_end sub_0203A444 + + thumb_func_start sub_0203A478 +sub_0203A478: ; 0x0203A478 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + mov r2, #7 + ldrb r1, [r5, #0x10] + mov r0, #2 + lsl r2, r2, #6 + add r3, r6, #0 + bl sub_0203A4D4 + ldrb r1, [r5, #0x10] + mov r0, #2 + add r2, r6, #0 + bl sub_0203A59C + cmp r4, #0 + beq _0203A4A0 + mov r0, #1 + b _0203A4A2 +_0203A4A0: + mov r0, #2 +_0203A4A2: + strb r0, [r5, #0x11] + mov r0, #1 + strb r0, [r5, #0x12] + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203A478 + + thumb_func_start sub_0203A4AC +sub_0203A4AC: ; 0x0203A4AC + push {r3, lr} + mov r1, #0x96 + lsl r1, r1, #2 + bl AllocFromHeapAtEnd + str r0, [sp] + ldr r0, _0203A4D0 ; =0x0210F930 + add r1, sp, #0 + bl sub_0201A3F8 + mov r1, #0x96 + ldr r0, [sp] + lsl r1, r1, #2 + bl DC_FlushRange + ldr r0, [sp] + pop {r3, pc} + nop +_0203A4D0: .word 0x0210F930 + thumb_func_end sub_0203A4AC + + thumb_func_start sub_0203A4D4 +sub_0203A4D4: ; 0x0203A4D4 + push {r3, r4, r5, lr} + sub sp, #8 + mov r1, #0x96 + add r5, r0, #0 + add r0, r3, #0 + lsl r1, r1, #2 + add r4, r2, #0 + bl AllocFromHeapAtEnd + str r0, [sp, #4] + cmp r0, #0 + beq _0203A52A + ldr r0, _0203A530 ; =0x0210F930 + add r1, sp, #4 + bl sub_0201A3F8 + mov r1, #0x96 + ldr r0, [sp, #4] + lsl r1, r1, #2 + bl DC_FlushRange + ldr r0, [sp, #4] + add r1, sp, #0 + bl NNS_G2dGetUnpackedPaletteData + cmp r5, #1 + bne _0203A518 + ldr r0, [sp] + add r1, r4, #0 + ldr r0, [r0, #0xc] + mov r2, #0x20 + bl GX_LoadOBJPltt + b _0203A524 +_0203A518: + ldr r0, [sp] + add r1, r4, #0 + ldr r0, [r0, #0xc] + mov r2, #0x20 + bl GXS_LoadOBJPltt +_0203A524: + ldr r0, [sp, #4] + bl FreeToHeap +_0203A52A: + add sp, #8 + pop {r3, r4, r5, pc} + nop +_0203A530: .word 0x0210F930 + thumb_func_end sub_0203A4D4 + + thumb_func_start sub_0203A534 +sub_0203A534: ; 0x0203A534 + push {r0, r1, r2, r3} + push {r3, lr} + cmp r0, #0 + ldr r0, _0203A58C ; =0x00300010 + beq _0203A550 + cmp r1, r0 + bne _0203A546 + bl GF_AssertFail +_0203A546: + ldr r0, _0203A590 ; =0x0210F940 + add r1, sp, #0x14 + bl sub_0201A3F8 + b _0203A578 +_0203A550: + cmp r1, r0 + add r1, sp, #0x14 + beq _0203A568 + ldr r0, _0203A594 ; =0x0210F954 + bl sub_0201A3F8 + mov r1, #0x96 + ldr r0, [sp, #0x14] + lsl r1, r1, #2 + bl DC_FlushRange + b _0203A578 +_0203A568: + ldr r0, _0203A598 ; =0x0210F964 + bl sub_0201A3F8 + mov r1, #0x13 + ldr r0, [sp, #0x14] + lsl r1, r1, #6 + bl DC_FlushRange +_0203A578: + ldr r0, [sp, #0x14] + add r1, sp, #0 + bl NNS_G2dGetUnpackedBGCharacterData + ldr r0, [sp] + pop {r3} + pop {r3} + add sp, #0x10 + bx r3 + nop +_0203A58C: .word 0x00300010 +_0203A590: .word 0x0210F940 +_0203A594: .word 0x0210F954 +_0203A598: .word 0x0210F964 + thumb_func_end sub_0203A534 + + thumb_func_start sub_0203A59C +sub_0203A59C: ; 0x0203A59C + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r7, r0, #0 + add r5, r2, #0 + str r1, [sp] + cmp r7, #1 + bne _0203A5BC + mov r0, #1 + lsl r0, r0, #0x1a + ldr r1, [r0] + ldr r0, _0203A6E8 ; =0x00300010 + add r4, r1, #0 + and r4, r0 + bl sub_020CEBEC + b _0203A5CA +_0203A5BC: + ldr r0, _0203A6EC ; =0x04001000 + ldr r1, [r0] + ldr r0, _0203A6E8 ; =0x00300010 + add r4, r1, #0 + and r4, r0 + bl sub_020CEC1C +_0203A5CA: + add r6, r0, #0 + ldr r0, _0203A6E8 ; =0x00300010 + cmp r4, r0 + bne _0203A5E0 + mov r1, #0x13 + add r0, r5, #0 + lsl r1, r1, #6 + bl AllocFromHeapAtEnd + str r0, [sp, #4] + b _0203A5EC +_0203A5E0: + mov r1, #0x96 + add r0, r5, #0 + lsl r1, r1, #2 + bl AllocFromHeapAtEnd + str r0, [sp, #4] +_0203A5EC: + ldr r0, [sp, #4] + cmp r0, #0 + beq _0203A6E2 + ldr r0, [sp] + ldr r3, [sp, #4] + add r1, r4, #0 + add r2, r5, #0 + bl sub_0203A534 + add r5, r0, #0 + ldr r0, _0203A6F0 ; =0x00100010 + cmp r4, r0 + bgt _0203A60E + bge _0203A634 + cmp r4, #0x10 + beq _0203A620 + b _0203A66E +_0203A60E: + ldr r0, _0203A6F4 ; =0x00200010 + cmp r4, r0 + bgt _0203A618 + beq _0203A64E + b _0203A66E +_0203A618: + ldr r0, _0203A6E8 ; =0x00300010 + cmp r4, r0 + beq _0203A668 + b _0203A66E +_0203A620: + cmp r6, #0x40 + beq _0203A628 + cmp r6, #0x20 + bne _0203A62E +_0203A628: + mov r6, #0x3e + lsl r6, r6, #8 + b _0203A672 +_0203A62E: + mov r6, #0x7e + lsl r6, r6, #8 + b _0203A672 +_0203A634: + cmp r6, #0x40 + beq _0203A642 + cmp r6, #0x20 + beq _0203A642 + lsr r0, r0, #0xc + cmp r6, r0 + bne _0203A648 +_0203A642: + mov r6, #0x3e + lsl r6, r6, #8 + b _0203A672 +_0203A648: + mov r6, #0xfe + lsl r6, r6, #8 + b _0203A672 +_0203A64E: + cmp r6, #0x30 + beq _0203A656 + cmp r6, #0x50 + bne _0203A65A +_0203A656: + ldr r6, _0203A6F8 ; =0x00013E00 + b _0203A672 +_0203A65A: + cmp r6, #0x10 + bne _0203A664 + mov r6, #0xfe + lsl r6, r6, #8 + b _0203A672 +_0203A664: + ldr r6, _0203A6FC ; =0x0001FE00 + b _0203A672 +_0203A668: + mov r6, #0xff + lsl r6, r6, #0xa + b _0203A672 +_0203A66E: + mov r6, #0xfe + lsl r6, r6, #8 +_0203A672: + cmp r7, #1 + ldr r0, _0203A6E8 ; =0x00300010 + bne _0203A6AA + cmp r4, r0 + ldr r0, [r5, #0x14] + beq _0203A694 + mov r1, #2 + lsl r1, r1, #8 + bl DC_FlushRange + mov r2, #2 + ldr r0, [r5, #0x14] + add r1, r6, #0 + lsl r2, r2, #8 + bl sub_020CFE74 + b _0203A6DC +_0203A694: + mov r1, #1 + lsl r1, r1, #0xa + bl DC_FlushRange + mov r2, #1 + ldr r0, [r5, #0x14] + add r1, r6, #0 + lsl r2, r2, #0xa + bl sub_020CFE74 + b _0203A6DC +_0203A6AA: + cmp r4, r0 + ldr r0, [r5, #0x14] + beq _0203A6C6 + mov r1, #2 + lsl r1, r1, #8 + bl DC_FlushRange + mov r2, #2 + ldr r0, [r5, #0x14] + add r1, r6, #0 + lsl r2, r2, #8 + bl sub_020CFECC + b _0203A6DC +_0203A6C6: + mov r1, #1 + lsl r1, r1, #0xa + bl DC_FlushRange + mov r1, #0xf + mov r2, #1 + ldr r0, [r5, #0x14] + lsl r1, r1, #0xa + lsl r2, r2, #0xa + bl sub_020CFECC +_0203A6DC: + ldr r0, [sp, #4] + bl FreeToHeap +_0203A6E2: + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203A6E8: .word 0x00300010 +_0203A6EC: .word 0x04001000 +_0203A6F0: .word 0x00100010 +_0203A6F4: .word 0x00200010 +_0203A6F8: .word 0x00013E00 +_0203A6FC: .word 0x0001FE00 + thumb_func_end sub_0203A59C + + thumb_func_start sub_0203A700 +sub_0203A700: ; 0x0203A700 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldrb r0, [r5, #0x11] + cmp r0, #1 + beq _0203A710 + cmp r0, #2 + beq _0203A726 + b _0203A73C +_0203A710: + ldr r0, _0203A850 ; =0x04000304 + ldrh r1, [r0] + lsr r0, r0, #0xb + and r0, r1 + asr r0, r0, #0xf + cmp r0, #1 + bne _0203A722 + mov r7, #1 + b _0203A742 +_0203A722: + mov r7, #2 + b _0203A742 +_0203A726: + ldr r0, _0203A850 ; =0x04000304 + ldrh r1, [r0] + lsr r0, r0, #0xb + and r0, r1 + asr r0, r0, #0xf + cmp r0, #1 + bne _0203A738 + mov r7, #2 + b _0203A742 +_0203A738: + mov r7, #1 + b _0203A742 +_0203A73C: + add r0, r5, #0 + add r0, #0x21 + ldrb r7, [r0] +_0203A742: + ldr r4, [r5, #4] + cmp r7, #1 + bne _0203A75A + mov r0, #1 + lsl r0, r0, #0x1a + ldr r1, [r0] + ldr r0, _0203A854 ; =0x00300010 + add r6, r1, #0 + and r6, r0 + bl sub_020CEBEC + b _0203A768 +_0203A75A: + ldr r0, _0203A858 ; =0x04001000 + ldr r1, [r0] + ldr r0, _0203A854 ; =0x00300010 + add r6, r1, #0 + and r6, r0 + bl sub_020CEC1C +_0203A768: + ldr r1, _0203A85C ; =0x00100010 + cmp r6, r1 + bgt _0203A776 + bge _0203A7A4 + cmp r6, #0x10 + beq _0203A788 + b _0203A7F4 +_0203A776: + ldr r1, _0203A860 ; =0x00200010 + cmp r6, r1 + bgt _0203A780 + beq _0203A7BC + b _0203A7F4 +_0203A780: + ldr r1, _0203A854 ; =0x00300010 + cmp r6, r1 + beq _0203A7E0 + b _0203A7F4 +_0203A788: + cmp r0, #0x40 + beq _0203A790 + cmp r0, #0x20 + bne _0203A79A +_0203A790: + mov r0, #0x1f + lsl r1, r4, #2 + lsl r0, r0, #4 + add r3, r1, r0 + b _0203A7FC +_0203A79A: + mov r0, #0x3f + lsl r1, r4, #2 + lsl r0, r0, #4 + add r3, r1, r0 + b _0203A7FC +_0203A7A4: + cmp r0, #0x40 + beq _0203A7B2 + cmp r0, #0x20 + beq _0203A7B2 + lsr r1, r1, #0xc + cmp r0, r1 + bne _0203A7F4 +_0203A7B2: + mov r0, #0x7e + lsl r1, r4, #1 + lsl r0, r0, #2 + add r3, r1, r0 + b _0203A7FC +_0203A7BC: + cmp r0, #0x30 + beq _0203A7C4 + cmp r0, #0x50 + bne _0203A7CC +_0203A7C4: + mov r0, #0x9f + lsl r0, r0, #2 + add r3, r4, r0 + b _0203A7FC +_0203A7CC: + cmp r0, #0x10 + bne _0203A7D8 + mov r0, #0x7f + lsl r0, r0, #2 + add r3, r4, r0 + b _0203A7FC +_0203A7D8: + mov r0, #0xff + lsl r0, r0, #2 + add r3, r4, r0 + b _0203A7FC +_0203A7E0: + cmp r0, #3 + bne _0203A7EC + mov r0, #0xff + lsl r0, r0, #2 + add r3, r4, r0 + b _0203A7FC +_0203A7EC: + mov r0, #0x7f + lsl r0, r0, #2 + add r3, r4, r0 + b _0203A7FC +_0203A7F4: + mov r0, #0xfe + lsl r1, r4, #1 + lsl r0, r0, #2 + add r3, r1, r0 +_0203A7FC: + cmp r7, #1 + bne _0203A806 + mov r4, #7 + lsl r4, r4, #0x18 + b _0203A808 +_0203A806: + ldr r4, _0203A864 ; =0x07000400 +_0203A808: + add r0, r5, #0 + add r0, #0x20 + ldrb r2, [r0] + add r0, r5, #0 + add r0, #0x22 + ldrb r1, [r0] + ldrh r6, [r5, #0xe] + ldrh r0, [r5, #0xc] + lsl r1, r1, #0xa + lsl r6, r6, #0x18 + lsr r6, r6, #0x18 + orr r6, r1 + mov r1, #1 + lsl r0, r0, #0x17 + lsl r1, r1, #0x1e + lsr r0, r0, #7 + orr r1, r6 + orr r0, r1 + str r0, [r4] + lsl r0, r2, #0xc + orr r0, r3 + strh r0, [r4, #4] + ldr r0, [r5, #0x1c] + cmp r4, r0 + beq _0203A84E + add r1, r5, #0 + add r1, #0x22 + ldrb r1, [r1] + lsl r2, r1, #0xa + ldr r1, _0203A868 ; =0x40000200 + orr r1, r2 + str r1, [r0] + mov r1, #0 + strh r1, [r0, #4] + str r4, [r5, #0x1c] +_0203A84E: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203A850: .word 0x04000304 +_0203A854: .word 0x00300010 +_0203A858: .word 0x04001000 +_0203A85C: .word 0x00100010 +_0203A860: .word 0x00200010 +_0203A864: .word 0x07000400 +_0203A868: .word 0x40000200 + thumb_func_end sub_0203A700 + + thumb_func_start sub_0203A86C +sub_0203A86C: ; 0x0203A86C + push {r3, lr} + ldr r0, _0203A87C ; =0x021D4154 + ldr r0, [r0] + cmp r0, #0 + beq _0203A87A + bl sub_0203A700 +_0203A87A: + pop {r3, pc} + .balign 4, 0 +_0203A87C: .word 0x021D4154 + thumb_func_end sub_0203A86C + + thumb_func_start sub_0203A880 +sub_0203A880: ; 0x0203A880 + push {r3, r4, lr} + sub sp, #4 + mov r4, #0 + bl sub_02039998 + cmp r0, #0 + beq _0203A890 + mov r4, #1 +_0203A890: + mov r0, #7 + lsl r0, r0, #6 + str r0, [sp] + mov r0, #0xf0 + mov r1, #0 + add r2, r4, #0 + mov r3, #1 + bl sub_0203A8CC + add sp, #4 + pop {r3, r4, pc} + .balign 4, 0 + thumb_func_end sub_0203A880 + + thumb_func_start sub_0203A8A8 +sub_0203A8A8: ; 0x0203A8A8 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r4, #0 + bl sub_02039998 + cmp r0, #0 + beq _0203A8B8 + mov r4, #1 +_0203A8B8: + mov r0, #0x1e + lsl r0, r0, #4 + str r0, [sp] + mov r0, #0xf0 + mov r1, #0 + add r2, r4, #0 + add r3, r5, #0 + bl sub_0203A8CC + pop {r3, r4, r5, pc} + thumb_func_end sub_0203A8A8 + + thumb_func_start sub_0203A8CC +sub_0203A8CC: ; 0x0203A8CC + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r6, r0, #0 + add r7, r1, #0 + add r5, r2, #0 + add r4, r3, #0 + bl sub_02034DCC + cmp r0, #0 + beq _0203A908 + ldr r0, _0203A90C ; =0x021D4154 + ldr r0, [r0] + cmp r0, #0 + beq _0203A8EC + bl sub_0203A914 +_0203A8EC: + ldr r0, _0203A910 ; =0x0210F91C + str r5, [sp] + str r0, [sp, #4] + ldr r0, [sp, #0x28] + str r4, [sp, #8] + str r0, [sp, #0xc] + mov r0, #0 + mov r1, #0x59 + add r2, r6, #0 + add r3, r7, #0 + bl sub_0203A3B0 + ldr r1, _0203A90C ; =0x021D4154 + str r0, [r1] +_0203A908: + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203A90C: .word 0x021D4154 +_0203A910: .word 0x0210F91C + thumb_func_end sub_0203A8CC + + thumb_func_start sub_0203A914 +sub_0203A914: ; 0x0203A914 + push {r3, lr} + ldr r0, _0203A92C ; =0x021D4154 + ldr r0, [r0] + cmp r0, #0 + beq _0203A928 + bl sub_0203A444 + ldr r0, _0203A92C ; =0x021D4154 + mov r1, #0 + str r1, [r0] +_0203A928: + pop {r3, pc} + nop +_0203A92C: .word 0x021D4154 + thumb_func_end sub_0203A914 + + thumb_func_start sub_0203A930 +sub_0203A930: ; 0x0203A930 + push {r3, lr} + add r1, r0, #0 + ldr r0, _0203A944 ; =0x021D4154 + ldr r0, [r0] + cmp r0, #0 + beq _0203A940 + bl sub_0203A438 +_0203A940: + pop {r3, pc} + nop +_0203A944: .word 0x021D4154 + thumb_func_end sub_0203A930 + + thumb_func_start sub_0203A948 +sub_0203A948: ; 0x0203A948 + push {r3, lr} + add r3, r0, #0 + ldr r0, _0203A960 ; =0x021D4154 + add r2, r1, #0 + ldr r0, [r0] + cmp r0, #0 + beq _0203A95C + add r1, r3, #0 + bl sub_0203A478 +_0203A95C: + pop {r3, pc} + nop +_0203A960: .word 0x021D4154 + thumb_func_end sub_0203A948 + + thumb_func_start sub_0203A964 +sub_0203A964: ; 0x0203A964 + push {r3, lr} + bl sub_02037474 + cmp r0, #0 + beq _0203A984 + bl sub_02037454 + cmp r0, #1 + bgt _0203A97E + bl sub_02039998 + cmp r0, #0 + beq _0203A990 +_0203A97E: + bl sub_0203A880 + pop {r3, pc} +_0203A984: + bl sub_02039998 + cmp r0, #0 + beq _0203A990 + bl sub_0203A880 +_0203A990: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203A964 + + thumb_func_start sub_0203A994 +sub_0203A994: ; 0x0203A994 + push {r4, lr} + add r4, r0, #0 + bl sub_02037474 + cmp r0, #0 + beq _0203A9B8 + bl sub_02037454 + cmp r0, #1 + bgt _0203A9B0 + bl sub_02039998 + cmp r0, #0 + beq _0203A9C6 +_0203A9B0: + add r0, r4, #0 + bl sub_0203A8A8 + pop {r4, pc} +_0203A9B8: + bl sub_02039998 + cmp r0, #0 + beq _0203A9C6 + add r0, r4, #0 + bl sub_0203A8A8 +_0203A9C6: + pop {r4, pc} + thumb_func_end sub_0203A994 + + thumb_func_start sub_0203A9C8 +sub_0203A9C8: ; 0x0203A9C8 + ldr r0, _0203A9D8 ; =0x021D4154 + ldr r1, [r0] + cmp r1, #0 + beq _0203A9D6 + mov r0, #1 + add r1, #0x22 + strb r0, [r1] +_0203A9D6: + bx lr + .balign 4, 0 +_0203A9D8: .word 0x021D4154 + thumb_func_end sub_0203A9C8 + + thumb_func_start sub_0203A9DC +sub_0203A9DC: ; 0x0203A9DC + ldr r3, _0203A9F0 ; =OSi_IntrTable + ldr r1, _0203A9F4 ; =0x00003FF8 + mov r0, #1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + ldr r3, _0203A9F8 ; =sub_020D422C + mov r0, #3 + bx r3 + nop +_0203A9F0: .word OSi_IntrTable +_0203A9F4: .word 0x00003FF8 +_0203A9F8: .word sub_020D422C + thumb_func_end sub_0203A9DC + + thumb_func_start sub_0203A9FC +sub_0203A9FC: ; 0x0203A9FC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_020393C8 + cmp r0, #0 + beq _0203AA10 + bl sub_02037D78 + cmp r0, #0 + bne _0203AA14 +_0203AA10: + mov r0, #0 + pop {r3, r4, r5, pc} +_0203AA14: + bl sub_020392D8 + add r4, r0, #0 + ldr r0, [r4] + ldr r1, [r4, #4] + bl ov00_021E6A70 + ldr r1, [r4] + cmp r0, #0xb + str r1, [r5] + beq _0203AA36 + cmp r0, #0xe + bge _0203AA36 + ldr r0, [r4] + sub r0, #0x19 + cmp r0, #1 + bhi _0203AA40 +_0203AA36: + ldr r0, [r4, #4] + cmp r0, #2 + beq _0203AA40 + mov r0, #0 + pop {r3, r4, r5, pc} +_0203AA40: + mov r0, #1 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203A9FC + + thumb_func_start sub_0203AA44 +sub_0203AA44: ; 0x0203AA44 + push {r0, r1, r2, r3} + push {r4, r5, r6, r7, lr} + sub sp, #0x24 + add r4, r0, #0 + cmp r1, #6 + bhi _0203AA6A + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203AA5C: ; jump table + .short _0203AA6A - _0203AA5C - 2 ; case 0 + .short _0203AA6E - _0203AA5C - 2 ; case 1 + .short _0203AA72 - _0203AA5C - 2 ; case 2 + .short _0203AA76 - _0203AA5C - 2 ; case 3 + .short _0203AA7A - _0203AA5C - 2 ; case 4 + .short _0203AA7E - _0203AA5C - 2 ; case 5 + .short _0203AA90 - _0203AA5C - 2 ; case 6 +_0203AA6A: + mov r5, #1 + b _0203AAA0 +_0203AA6E: + mov r5, #2 + b _0203AAA0 +_0203AA72: + mov r5, #3 + b _0203AAA0 +_0203AA76: + mov r5, #4 + b _0203AAA0 +_0203AA7A: + mov r5, #5 + b _0203AAA0 +_0203AA7E: + add r0, sp, #0x40 + bl sub_0203A9FC + cmp r0, #0 + bne _0203AA8C + mov r5, #6 + b _0203AAA0 +_0203AA8C: + mov r5, #8 + b _0203AAA0 +_0203AA90: + add r0, sp, #0x40 + bl sub_0203A9FC + cmp r0, #0 + bne _0203AA9E + mov r5, #7 + b _0203AAA0 +_0203AA9E: + mov r5, #9 +_0203AAA0: + mov r0, #0 + add r1, r0, #0 + bl sub_0200FBF4 + mov r0, #1 + mov r1, #0 + bl sub_0200FBF4 + mov r0, #1 + bl sub_020D1204 + ldr r1, _0203AC54 ; =sub_0203A9DC + mov r0, #1 + bl sub_020D1004 + mov r0, #1 + bl sub_020D11D4 + mov r0, #0 + add r1, r0, #0 + bl sub_0201A0FC + mov r0, #0 + add r1, r0, #0 + bl sub_0201A120 + bl sub_02022C54 + bl sub_02022CBC + mov r2, #1 + lsl r2, r2, #0x1a + ldr r1, [r2] + ldr r0, _0203AC58 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2] + ldr r2, _0203AC5C ; =0x04001000 + ldr r1, [r2] + and r0, r1 + str r0, [r2] + mov r0, #4 + mov r1, #8 + bl sub_0201A71C + ldr r0, _0203AC60 ; =gMain + 0x60 + mov r1, #0 + strb r1, [r0, #9] + bl sub_02022D3C + ldr r3, _0203AC64 ; =0x04000050 + mov r1, #0 + strh r1, [r3] + ldr r0, _0203AC68 ; =0x04001050 + sub r3, #0x50 + strh r1, [r0] + ldr r2, [r3] + ldr r1, _0203AC6C ; =0xFFFF1FFF + sub r0, #0x50 + and r2, r1 + str r2, [r3] + ldr r2, [r0] + and r1, r2 + str r1, [r0] + ldr r0, _0203AC70 ; =0x020F6B04 + bl GX_SetBanks + add r0, r4, #0 + bl sub_0201AC88 + add r6, r0, #0 + ldr r0, _0203AC74 ; =0x020F6AD8 + bl sub_0201ACB0 + mov r1, #0 + ldr r2, _0203AC78 ; =0x020F6AE8 + add r0, r6, #0 + add r3, r1, #0 + bl sub_0201B1E4 + add r0, r6, #0 + mov r1, #0 + bl sub_0201CAE0 + mov r1, #0 + str r1, [sp] + ldr r2, _0203AC7C ; =0x000001F7 + add r0, r6, #0 + mov r3, #2 + str r4, [sp, #4] + bl sub_0200E3DC + mov r0, #0 + mov r1, #0x20 + add r2, r4, #0 + bl sub_02003030 + mov r0, #0 + mov r1, #0x20 + add r2, r0, #0 + add r3, r4, #0 + bl sub_0201C1C4 + ldr r1, _0203AC80 ; =0x00006C21 + mov r0, #0 + bl sub_0201C2D8 + ldr r1, _0203AC80 ; =0x00006C21 + mov r0, #4 + bl sub_0201C2D8 + mov r0, #1 + mov r1, #0x1b + mov r2, #0x29 + add r3, r4, #0 + bl NewMsgDataFromNarc + str r0, [sp, #0xc] + mov r0, #6 + lsl r0, r0, #6 + add r1, r4, #0 + bl String_ctor + add r7, r0, #0 + mov r0, #6 + lsl r0, r0, #6 + add r1, r4, #0 + bl String_ctor + str r0, [sp, #0x10] + bl sub_02020080 + add r0, r4, #0 + bl ScrStrBufs_new + add r4, r0, #0 + ldr r2, _0203AC84 ; =0x020F6AD0 + add r0, r6, #0 + add r1, sp, #0x14 + bl AddWindow + mov r0, #0xd0 + str r0, [sp] + mov r0, #0x90 + mov r2, #0 + str r0, [sp, #4] + add r0, sp, #0x14 + mov r1, #0xf + add r3, r2, #0 + bl FillWindowPixelRect + ldr r2, _0203AC7C ; =0x000001F7 + add r0, sp, #0x14 + mov r1, #0 + mov r3, #2 + bl sub_0200E580 + mov r0, #2 + str r0, [sp] + mov r0, #1 + str r0, [sp, #4] + ldr r2, [sp, #0x40] + add r0, r4, #0 + mov r1, #0 + mov r3, #5 + bl BufferIntegerAsString + ldr r0, [sp, #0xc] + ldr r2, [sp, #0x10] + add r1, r5, #0 + bl ReadMsgDataIntoString + ldr r2, [sp, #0x10] + add r0, r4, #0 + add r1, r7, #0 + bl StringExpandPlaceholders + mov r1, #0 + str r1, [sp] + str r1, [sp, #4] + add r0, sp, #0x14 + add r2, r7, #0 + add r3, r1, #0 + str r1, [sp, #8] + bl AddTextPrinterParameterized + add r0, r7, #0 + bl String_dtor + bl sub_02022D24 + mov r0, #0 + bl sub_0200FBE8 + mov r0, #1 + bl sub_0200FBE8 + mov r0, #0 + mov r1, #0x3f + mov r2, #3 + bl sub_0200B4F0 + add r0, sp, #0x14 + bl RemoveWindow + ldr r0, [sp, #0xc] + bl DestroyMsgData + add r0, r4, #0 + bl ScrStrBufs_delete + add r0, r6, #0 + bl FreeToHeap + add sp, #0x24 + pop {r4, r5, r6, r7} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4, 0 +_0203AC54: .word sub_0203A9DC +_0203AC58: .word 0xFFFFE0FF +_0203AC5C: .word 0x04001000 +_0203AC60: .word gMain + 0x60 +_0203AC64: .word 0x04000050 +_0203AC68: .word 0x04001050 +_0203AC6C: .word 0xFFFF1FFF +_0203AC70: .word 0x020F6B04 +_0203AC74: .word 0x020F6AD8 +_0203AC78: .word 0x020F6AE8 +_0203AC7C: .word 0x000001F7 +_0203AC80: .word 0x00006C21 +_0203AC84: .word 0x020F6AD0 + thumb_func_end sub_0203AA44 + + thumb_func_start sub_0203AC88 +sub_0203AC88: ; 0x0203AC88 + ldr r0, _0203AC8C ; =0x020F6B2C + bx lr + .balign 4, 0 +_0203AC8C: .word 0x020F6B2C + thumb_func_end sub_0203AC88 + + thumb_func_start sub_0203AC90 +sub_0203AC90: ; 0x0203AC90 + mov r0, #3 + bx lr + thumb_func_end sub_0203AC90 + + thumb_func_start ShowWFCUserInfoWarning +ShowWFCUserInfoWarning: ; 0x0203AC94 + push {r4, r5, r6, r7, lr} + sub sp, #0x24 + add r4, r0, #0 + mov r0, #0 + add r1, r0, #0 + bl sub_0200FBF4 + mov r0, #1 + mov r1, #0 + bl sub_0200FBF4 + mov r0, #0 + add r1, r0, #0 + bl sub_0201A0FC + mov r0, #0 + add r1, r0, #0 + bl sub_0201A120 + bl sub_02022C54 + bl sub_02022CBC + mov r2, #1 + lsl r2, r2, #0x1a + ldr r1, [r2] + ldr r0, _0203AE70 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2] + ldr r2, _0203AE74 ; =0x04001000 + ldr r1, [r2] + and r0, r1 + str r0, [r2] + mov r0, #4 + mov r1, #8 + bl sub_0201A71C + ldr r0, _0203AE78 ; =gMain + 0x60 + mov r1, #0 + strb r1, [r0, #9] + bl sub_02022D3C + ldr r3, _0203AE7C ; =0x04000050 + mov r0, #0 + strh r0, [r3] + ldr r2, _0203AE80 ; =0x04001050 + sub r3, #0x50 + strh r0, [r2] + ldr r1, [r3] + ldr r0, _0203AE84 ; =0xFFFF1FFF + sub r2, #0x50 + and r1, r0 + str r1, [r3] + ldr r1, [r2] + and r0, r1 + str r0, [r2] + ldr r0, _0203AE88 ; =0x020F6B84 + bl GX_SetBanks + add r0, r4, #0 + bl sub_0201AC88 + str r0, [sp, #0x10] + ldr r0, _0203AE8C ; =0x020F6B58 + bl sub_0201ACB0 + mov r1, #0 + ldr r0, [sp, #0x10] + ldr r2, _0203AE90 ; =0x020F6B68 + add r3, r1, #0 + bl sub_0201B1E4 + ldr r0, [sp, #0x10] + mov r1, #0 + bl sub_0201CAE0 + mov r1, #0 + str r1, [sp] + ldr r0, [sp, #0x10] + ldr r2, _0203AE94 ; =0x000001F7 + mov r3, #2 + str r4, [sp, #4] + bl sub_0200E3DC + mov r0, #0 + mov r1, #0x20 + add r2, r4, #0 + bl sub_02003030 + mov r0, #0 + mov r1, #0x20 + add r2, r0, #0 + add r3, r4, #0 + bl sub_0201C1C4 + ldr r1, _0203AE98 ; =0x00006C21 + mov r0, #0 + bl sub_0201C2D8 + ldr r1, _0203AE98 ; =0x00006C21 + mov r0, #4 + bl sub_0201C2D8 + mov r2, #0x32 + mov r0, #1 + mov r1, #0x1b + lsl r2, r2, #4 + add r3, r4, #0 + bl NewMsgDataFromNarc + str r0, [sp, #0xc] + mov r0, #6 + lsl r0, r0, #6 + add r1, r4, #0 + bl String_ctor + add r4, r0, #0 + bl sub_02020080 + ldr r0, [sp, #0x10] + ldr r2, _0203AE9C ; =0x020F6B50 + add r1, sp, #0x14 + bl AddWindow + mov r0, #0xd0 + str r0, [sp] + mov r0, #0x90 + mov r2, #0 + str r0, [sp, #4] + add r0, sp, #0x14 + mov r1, #0xf + add r3, r2, #0 + bl FillWindowPixelRect + ldr r2, _0203AE94 ; =0x000001F7 + add r0, sp, #0x14 + mov r1, #0 + mov r3, #2 + bl sub_0200E580 + ldr r0, [sp, #0xc] + mov r1, #0x10 + add r2, r4, #0 + bl ReadMsgDataIntoString + mov r1, #0 + str r1, [sp] + str r1, [sp, #4] + add r0, sp, #0x14 + add r2, r4, #0 + add r3, r1, #0 + str r1, [sp, #8] + bl AddTextPrinterParameterized + add r0, r4, #0 + bl String_dtor + bl sub_02022D24 + mov r0, #0 + bl sub_0200FBE8 + mov r0, #1 + bl sub_0200FBE8 + mov r0, #0 + mov r1, #0x3f + mov r2, #3 + bl sub_0200B4F0 + ldr r4, _0203AEA0 ; =0x04000130 + ldr r6, _0203AEA4 ; =0x027FFFA8 + mov r7, #1 +_0203ADEE: + ldrh r1, [r4] + ldrh r0, [r6] + orr r1, r0 + ldr r0, _0203AEA8 ; =0x00002FFF + eor r1, r0 + and r0, r1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + bl HandleDSLidAction + add r0, r5, #0 + tst r0, r7 + bne _0203AE12 + mov r0, #1 + add r1, r0, #0 + bl OS_WaitIrq + b _0203ADEE +_0203AE12: + add r0, sp, #0x14 + bl RemoveWindow + ldr r0, [sp, #0xc] + bl DestroyMsgData + mov r0, #0 + add r1, r0, #0 + bl sub_0201BC28 + mov r0, #1 + mov r1, #0 + bl sub_0201BC28 + mov r0, #2 + mov r1, #0 + bl sub_0201BC28 + mov r0, #3 + mov r1, #0 + bl sub_0201BC28 + mov r0, #4 + mov r1, #0 + bl sub_0201BC28 + mov r0, #5 + mov r1, #0 + bl sub_0201BC28 + mov r0, #6 + mov r1, #0 + bl sub_0201BC28 + mov r0, #7 + mov r1, #0 + bl sub_0201BC28 + ldr r0, [sp, #0x10] + mov r1, #0 + bl sub_0201BB4C + ldr r0, [sp, #0x10] + bl FreeToHeap + add sp, #0x24 + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0203AE70: .word 0xFFFFE0FF +_0203AE74: .word 0x04001000 +_0203AE78: .word gMain + 0x60 +_0203AE7C: .word 0x04000050 +_0203AE80: .word 0x04001050 +_0203AE84: .word 0xFFFF1FFF +_0203AE88: .word 0x020F6B84 +_0203AE8C: .word 0x020F6B58 +_0203AE90: .word 0x020F6B68 +_0203AE94: .word 0x000001F7 +_0203AE98: .word 0x00006C21 +_0203AE9C: .word 0x020F6B50 +_0203AEA0: .word 0x04000130 +_0203AEA4: .word 0x027FFFA8 +_0203AEA8: .word 0x00002FFF + thumb_func_end ShowWFCUserInfoWarning + + thumb_func_start sub_0203AEAC +sub_0203AEAC: ; 0x0203AEAC + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r4, r0, #0 + str r2, [sp] + mov r2, #0 + strb r2, [r4, #1] + mov r7, #0x19 + mov r6, #0x96 + ldr r0, _0203AF94 ; =0x0000031F + mov ip, r1 + strb r2, [r4] + add r3, r4, #0 + add r5, r2, #0 + lsl r7, r7, #6 + lsl r6, r6, #4 +_0203AECA: + add r1, r4, r2 + strh r5, [r3, #2] + strb r5, [r1, r7] + strh r5, [r3, r6] + add r2, r2, #1 + add r3, r3, #2 + cmp r2, r0 + blt _0203AECA + ldr r0, _0203AF98 ; =0x00000F9E + mov r2, #0 +_0203AEDE: + add r1, r4, r5 + add r5, r5, #1 + strb r2, [r1, r0] + cmp r5, #0x10 + blt _0203AEDE + mov r0, #0x29 + mov r1, ip + mov r2, #0xb + bl AllocAtEndAndReadWholeNarcMemberByIdPair + add r6, r0, #0 + ldrb r0, [r6] + add r5, r6, #5 + strb r0, [r4, #1] + ldrb r0, [r6, #1] + strb r0, [r4] + ldrb r0, [r6, #2] + str r0, [sp, #8] + ldrb r0, [r6, #3] + str r0, [sp, #4] + ldrb r7, [r6, #4] + cmp r7, #0x10 + bls _0203AF10 + bl GF_AssertFail +_0203AF10: + ldr r1, _0203AF98 ; =0x00000F9E + add r0, r5, #0 + add r1, r4, r1 + add r2, r7, #0 + bl MIi_CpuCopy8 + ldr r0, [sp, #8] + add r5, r5, r7 + cmp r0, #0 + beq _0203AF40 + ldrb r3, [r4, #1] + ldrb r2, [r4] + add r0, r5, #0 + add r1, r4, #2 + mul r2, r3 + lsl r2, r2, #1 + bl MIi_CpuCopy8 + ldrb r1, [r4, #1] + ldrb r0, [r4] + mul r0, r1 + lsl r0, r0, #1 + add r5, r5, r0 + b _0203AF54 +_0203AF40: + ldrb r3, [r4, #1] + ldrb r2, [r4] + ldr r0, [sp] + add r1, r4, #2 + lsl r0, r0, #0x10 + mul r2, r3 + lsr r0, r0, #0x10 + lsl r2, r2, #1 + bl sub_020D4790 +_0203AF54: + ldr r0, [sp, #4] + cmp r0, #0 + beq _0203AF74 + ldrb r3, [r4, #1] + ldrb r2, [r4] + mov r1, #0x19 + lsl r1, r1, #6 + add r0, r5, #0 + add r1, r4, r1 + mul r2, r3 + bl MIi_CpuCopy8 + ldrb r1, [r4, #1] + ldrb r0, [r4] + mul r0, r1 + add r5, r5, r0 +_0203AF74: + ldrb r3, [r4, #1] + ldrb r2, [r4] + mov r1, #0x96 + lsl r1, r1, #4 + mul r2, r3 + add r0, r5, #0 + add r1, r4, r1 + lsl r2, r2, #1 + bl MIi_CpuCopy8 + add r0, r6, #0 + bl FreeToHeap + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop +_0203AF94: .word 0x0000031F +_0203AF98: .word 0x00000F9E + thumb_func_end sub_0203AEAC + + thumb_func_start sub_0203AF9C +sub_0203AF9C: ; 0x0203AF9C + push {r3, lr} + ldr r1, _0203AFB0 ; =0x00000FB2 + mov r0, #0xb + bl AllocFromHeap + mov r1, #0 + strb r1, [r0] + strb r1, [r0, #1] + strb r1, [r0, #2] + pop {r3, pc} + .balign 4, 0 +_0203AFB0: .word 0x00000FB2 + thumb_func_end sub_0203AF9C + + thumb_func_start sub_0203AFB4 +sub_0203AFB4: ; 0x0203AFB4 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_0203B2AC + add r6, r0, #0 + add r0, r4, #4 + add r1, r6, #0 + add r2, r5, #0 + bl sub_0203AEAC + strb r6, [r4, #2] + ldrb r0, [r4, #4] + strb r0, [r4, #1] + ldrb r0, [r4, #5] + strb r0, [r4] + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203AFB4 + + thumb_func_start sub_0203AFD8 +sub_0203AFD8: ; 0x0203AFD8 + ldr r3, _0203AFDC ; =FreeToHeap + bx r3 + .balign 4, 0 +_0203AFDC: .word FreeToHeap + thumb_func_end sub_0203AFD8 + + thumb_func_start sub_0203AFE0 +sub_0203AFE0: ; 0x0203AFE0 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + ldrb r1, [r4] + ldrb r0, [r4, #1] + mul r0, r1 + cmp r5, r0 + blt _0203AFF4 + bl GF_AssertFail +_0203AFF4: + lsl r0, r5, #1 + add r1, r4, r0 + ldr r0, _0203B000 ; =0x00000964 + ldrh r0, [r1, r0] + pop {r3, r4, r5, pc} + nop +_0203B000: .word 0x00000964 + thumb_func_end sub_0203AFE0 + + thumb_func_start sub_0203B004 +sub_0203B004: ; 0x0203B004 + push {r4, lr} + add r4, r0, #0 + bne _0203B00E + bl GF_AssertFail +_0203B00E: + ldrb r0, [r4] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B004 + + thumb_func_start sub_0203B014 +sub_0203B014: ; 0x0203B014 + push {r4, lr} + add r4, r0, #0 + bne _0203B01E + bl GF_AssertFail +_0203B01E: + ldrb r0, [r4, #1] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B014 + + thumb_func_start sub_0203B024 +sub_0203B024: ; 0x0203B024 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + ldrb r0, [r7, #1] + add r5, r1, #0 + add r4, r2, #0 + ldrb r6, [r7] + str r0, [sp] + cmp r5, #0 + blt _0203B03A + cmp r5, r6 + blt _0203B03E +_0203B03A: + bl GF_AssertFail +_0203B03E: + cmp r4, #0 + blt _0203B048 + ldr r0, [sp] + cmp r4, r0 + blt _0203B04C +_0203B048: + bl GF_AssertFail +_0203B04C: + add r0, r4, #0 + mul r0, r6 + add r0, r5, r0 + lsl r0, r0, #1 + add r0, r7, r0 + ldrh r0, [r0, #6] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203B024 + + thumb_func_start sub_0203B05C +sub_0203B05C: ; 0x0203B05C + ldrb r0, [r0, #2] + bx lr + thumb_func_end sub_0203B05C + + thumb_func_start sub_0203B060 +sub_0203B060: ; 0x0203B060 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [sp, #0x10] + add r4, r2, #0 + add r6, r3, #0 + cmp r4, r0 + blt _0203B072 + bl GF_AssertFail +_0203B072: + ldr r0, [sp, #0x10] + mul r0, r6 + add r4, r4, r0 + ldr r0, _0203B08C ; =0x0000031F + cmp r4, r0 + blt _0203B082 + bl GF_AssertFail +_0203B082: + ldr r0, _0203B090 ; =0x00000644 + add r1, r5, r4 + ldrb r0, [r1, r0] + pop {r4, r5, r6, pc} + nop +_0203B08C: .word 0x0000031F +_0203B090: .word 0x00000644 + thumb_func_end sub_0203B060 + + thumb_func_start sub_0203B094 +sub_0203B094: ; 0x0203B094 + push {r3, r4, r5, lr} + ldr r1, _0203B0C4 ; =0x0000063E + add r4, r0, #0 + bl AllocFromHeap + add r5, r0, #0 + mov r0, #0x29 + mov r1, #0 + add r2, r4, #0 + bl AllocAtEndAndReadWholeNarcMemberByIdPair + add r4, r0, #0 + ldrb r1, [r4, #4] + add r0, r4, #5 + ldr r2, _0203B0C4 ; =0x0000063E + add r0, r0, r1 + add r1, r5, #0 + bl MIi_CpuCopy8 + add r0, r4, #0 + bl FreeToHeap + add r0, r5, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203B0C4: .word 0x0000063E + thumb_func_end sub_0203B094 + + thumb_func_start sub_0203B0C8 +sub_0203B0C8: ; 0x0203B0C8 + push {r4, lr} + add r4, r0, #0 + bne _0203B0D2 + bl GF_AssertFail +_0203B0D2: + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B0C8 + + thumb_func_start sub_0203B0DC +sub_0203B0DC: ; 0x0203B0DC + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bne _0203B0E8 + bl GF_AssertFail +_0203B0E8: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203AFE0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203B0DC + + thumb_func_start sub_0203B0F4 +sub_0203B0F4: ; 0x0203B0F4 + ldr r1, _0203B110 ; =0x00000964 + ldrb r2, [r0] + add r3, r0, r1 + ldrb r0, [r0, #2] + cmp r0, #0 + bne _0203B10C + lsl r0, r2, #2 + add r0, r2, r0 + add r0, #0x10 + mov r1, #0x56 + lsl r0, r0, #1 + strh r1, [r3, r0] +_0203B10C: + bx lr + nop +_0203B110: .word 0x00000964 + thumb_func_end sub_0203B0F4 + + thumb_func_start sub_0203B114 +sub_0203B114: ; 0x0203B114 + push {r3, r4, r5, lr} + sub sp, #0x10 + add r5, r1, #0 + bl sub_020503D0 + add r4, r0, #0 + add r0, sp, #0 + bl GF_RTC_CopyDate + add r0, r4, #0 + mov r1, #0xca + bl sub_020503DC + cmp r0, #0 + bne _0203B140 + add r0, r4, #0 + mov r1, #1 + bl sub_02066C4C + add sp, #0x10 + mov r0, #0 + pop {r3, r4, r5, pc} +_0203B140: + cmp r5, #0x58 + beq _0203B148 + cmp r5, #0x2d + bne _0203B14E +_0203B148: + ldr r0, [sp, #0xc] + cmp r0, #3 + beq _0203B15C +_0203B14E: + add r0, r4, #0 + mov r1, #1 + bl sub_02066C4C + add sp, #0x10 + mov r0, #0 + pop {r3, r4, r5, pc} +_0203B15C: + add r0, r4, #0 + mov r1, #1 + bl sub_02066C1C + mov r0, #1 + add sp, #0x10 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203B114 + + thumb_func_start sub_0203B16C +sub_0203B16C: ; 0x0203B16C + ldr r2, _0203B1F8 ; =0x00000964 + add r3, r0, r2 + ldrb r2, [r0] + ldrb r0, [r0, #2] + cmp r0, #0 + bne _0203B1F6 + cmp r1, #0 + beq _0203B1BA + add r0, r2, #0 + add r0, #0xf + mov r1, #0x5f + lsl r0, r0, #1 + strh r1, [r3, r0] + add r0, r2, #0 + add r0, #0x10 + mov r1, #0x60 + lsl r0, r0, #1 + strh r1, [r3, r0] + add r0, r2, #0 + add r0, #0x11 + mov r1, #0x61 + lsl r0, r0, #1 + strh r1, [r3, r0] + lsl r0, r2, #1 + add r1, r0, #0 + add r1, #0xf + mov r2, #0x62 + lsl r1, r1, #1 + strh r2, [r3, r1] + add r1, r0, #0 + add r1, #0x10 + add r0, #0x11 + mov r2, #0x63 + lsl r1, r1, #1 + strh r2, [r3, r1] + mov r1, #0x64 + lsl r0, r0, #1 + strh r1, [r3, r0] + bx lr +_0203B1BA: + add r0, r2, #0 + add r0, #0xf + mov r1, #0x59 + lsl r0, r0, #1 + strh r1, [r3, r0] + add r0, r2, #0 + add r0, #0x10 + mov r1, #0x5a + lsl r0, r0, #1 + strh r1, [r3, r0] + add r0, r2, #0 + add r0, #0x11 + mov r1, #0x5b + lsl r0, r0, #1 + strh r1, [r3, r0] + lsl r0, r2, #1 + add r1, r0, #0 + add r1, #0xf + mov r2, #0x5c + lsl r1, r1, #1 + strh r2, [r3, r1] + add r1, r0, #0 + add r1, #0x10 + add r0, #0x11 + mov r2, #0x5d + lsl r1, r1, #1 + strh r2, [r3, r1] + mov r1, #0x5e + lsl r0, r0, #1 + strh r1, [r3, r0] +_0203B1F6: + bx lr + .balign 4, 0 +_0203B1F8: .word 0x00000964 + thumb_func_end sub_0203B16C + + thumb_func_start sub_0203B1FC +sub_0203B1FC: ; 0x0203B1FC + push {r4, r5, r6, r7, lr} + sub sp, #0xc + ldr r2, _0203B264 ; =0x00000964 + add r2, r0, r2 + str r2, [sp, #8] + ldrb r2, [r0] + ldrb r0, [r0, #2] + str r2, [sp, #4] + cmp r0, #0xd4 + bne _0203B260 + add r0, r1, #0 + bl sub_0202F57C + mov r1, #3 + bl sub_0202F630 + mov r7, #0 + str r0, [sp] + ldr r0, [sp, #4] + add r6, r7, #0 + lsl r0, r0, #1 + mov ip, r0 + mov r0, #0xa3 + add r2, r7, #0 + lsl r0, r0, #2 +_0203B22E: + mov r3, #0x7a + add r4, r6, #0 + mul r4, r3 + ldr r3, [sp] + lsl r5, r2, #1 + add r3, r3, r4 + ldr r4, [sp, #8] + mov r1, #0 + add r5, r4, r5 + mov r4, ip + add r4, r5, r4 +_0203B244: + ldrb r5, [r3] + add r1, r1, #1 + add r3, #0x7a + add r5, r5, r0 + strh r5, [r4, #2] + add r4, r4, #2 + cmp r1, #3 + blt _0203B244 + ldr r1, [sp, #4] + add r7, r7, #1 + add r6, r6, #3 + add r2, r2, r1 + cmp r7, #2 + blt _0203B22E +_0203B260: + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0203B264: .word 0x00000964 + thumb_func_end sub_0203B1FC + + thumb_func_start sub_0203B268 +sub_0203B268: ; 0x0203B268 + push {r3, lr} + mov r1, #0x87 + lsl r1, r1, #2 + cmp r0, r1 + blo _0203B278 + bl GF_AssertFail + mov r0, #1 +_0203B278: + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203B268 + + thumb_func_start sub_0203B27C +sub_0203B27C: ; 0x0203B27C + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B28C ; =0x020F6BE1 + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B28C: .word 0x020F6BE1 + thumb_func_end sub_0203B27C + + thumb_func_start sub_0203B290 +sub_0203B290: ; 0x0203B290 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B2A8 ; =0x020F6BE0 + add r0, r0, r1 + ldrh r0, [r0, #2] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + pop {r3, pc} + nop +_0203B2A8: .word 0x020F6BE0 + thumb_func_end sub_0203B290 + + thumb_func_start sub_0203B2AC +sub_0203B2AC: ; 0x0203B2AC + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B2BC ; =0x020F6BE4 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B2BC: .word 0x020F6BE4 + thumb_func_end sub_0203B2AC + + thumb_func_start sub_0203B2C0 +sub_0203B2C0: ; 0x0203B2C0 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B2D0 ; =0x020F6BEA + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B2D0: .word 0x020F6BEA + thumb_func_end sub_0203B2C0 + + thumb_func_start sub_0203B2D4 +sub_0203B2D4: ; 0x0203B2D4 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B2E4 ; =0x020F6BE6 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B2E4: .word 0x020F6BE6 + thumb_func_end sub_0203B2D4 + + thumb_func_start sub_0203B2E8 +sub_0203B2E8: ; 0x0203B2E8 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B2F8 ; =0x020F6BE8 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B2F8: .word 0x020F6BE8 + thumb_func_end sub_0203B2E8 + + thumb_func_start sub_0203B2FC +sub_0203B2FC: ; 0x0203B2FC + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B30C ; =0x020F6BEC + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B30C: .word 0x020F6BEC + thumb_func_end sub_0203B2FC + + thumb_func_start sub_0203B310 +sub_0203B310: ; 0x0203B310 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B320 ; =0x020F6BEE + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B320: .word 0x020F6BEE + thumb_func_end sub_0203B310 + + thumb_func_start sub_0203B324 +sub_0203B324: ; 0x0203B324 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B340 ; =0x020F6BE0 + ldrb r0, [r0, r1] + cmp r0, #0xff + beq _0203B33A + mov r0, #1 + pop {r3, pc} +_0203B33A: + mov r0, #0 + pop {r3, pc} + nop +_0203B340: .word 0x020F6BE0 + thumb_func_end sub_0203B324 + + thumb_func_start sub_0203B344 +sub_0203B344: ; 0x0203B344 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B354 ; =0x020F6BE0 + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B354: .word 0x020F6BE0 + thumb_func_end sub_0203B344 + + thumb_func_start sub_0203B358 +sub_0203B358: ; 0x0203B358 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B368 ; =0x020F6BF0 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4, 0 +_0203B368: .word 0x020F6BF0 + thumb_func_end sub_0203B358 + + thumb_func_start sub_0203B36C +sub_0203B36C: ; 0x0203B36C + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B384 ; =0x020F6BE0 + add r0, r0, r1 + ldrh r0, [r0, #0x12] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + nop +_0203B384: .word 0x020F6BE0 + thumb_func_end sub_0203B36C + + thumb_func_start sub_0203B388 +sub_0203B388: ; 0x0203B388 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B3A4 ; =0x020F6BE0 + add r0, r0, r1 + ldrh r0, [r0, #0x12] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1c + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + nop +_0203B3A4: .word 0x020F6BE0 + thumb_func_end sub_0203B388 + + thumb_func_start sub_0203B3A8 +sub_0203B3A8: ; 0x0203B3A8 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B3C4 ; =0x020F6BE0 + add r0, r0, r1 + ldrh r0, [r0, #0x12] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1c + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + nop +_0203B3C4: .word 0x020F6BE0 + thumb_func_end sub_0203B3A8 + + thumb_func_start sub_0203B3C8 +sub_0203B3C8: ; 0x0203B3C8 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B3E0 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_0203B3E0: .word 0x020F6BE0 + thumb_func_end sub_0203B3C8 + + thumb_func_start sub_0203B3E4 +sub_0203B3E4: ; 0x0203B3E4 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B3FC ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #0x18 + lsr r0, r0, #0x19 + pop {r3, pc} + nop +_0203B3FC: .word 0x020F6BE0 + thumb_func_end sub_0203B3E4 + + thumb_func_start sub_0203B400 +sub_0203B400: ; 0x0203B400 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B418 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #0xe + lsr r0, r0, #0x1a + pop {r3, pc} + nop +_0203B418: .word 0x020F6BE0 + thumb_func_end sub_0203B400 + + thumb_func_start sub_0203B41C +sub_0203B41C: ; 0x0203B41C + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B434 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #7 + lsr r0, r0, #0x1b + pop {r3, pc} + nop +_0203B434: .word 0x020F6BE0 + thumb_func_end sub_0203B41C + + thumb_func_start sub_0203B438 +sub_0203B438: ; 0x0203B438 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B450 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #4 + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_0203B450: .word 0x020F6BE0 + thumb_func_end sub_0203B438 + + thumb_func_start sub_0203B454 +sub_0203B454: ; 0x0203B454 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B46C ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #3 + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_0203B46C: .word 0x020F6BE0 + thumb_func_end sub_0203B454 + + thumb_func_start sub_0203B470 +sub_0203B470: ; 0x0203B470 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B488 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #6 + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_0203B488: .word 0x020F6BE0 + thumb_func_end sub_0203B470 + + thumb_func_start sub_0203B48C +sub_0203B48C: ; 0x0203B48C + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B4A4 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #2 + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_0203B4A4: .word 0x020F6BE0 + thumb_func_end sub_0203B48C + + thumb_func_start sub_0203B4A8 +sub_0203B4A8: ; 0x0203B4A8 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B4C0 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #1 + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_0203B4C0: .word 0x020F6BE0 + thumb_func_end sub_0203B4A8 + + thumb_func_start sub_0203B4C4 +sub_0203B4C4: ; 0x0203B4C4 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B4D8 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsr r0, r0, #0x1f + pop {r3, pc} + .balign 4, 0 +_0203B4D8: .word 0x020F6BE0 + thumb_func_end sub_0203B4C4 + + thumb_func_start sub_0203B4DC +sub_0203B4DC: ; 0x0203B4DC + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B4F4 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1c + pop {r3, pc} + nop +_0203B4F4: .word 0x020F6BE0 + thumb_func_end sub_0203B4DC + + thumb_func_start sub_0203B4F8 +sub_0203B4F8: ; 0x0203B4F8 + push {r3, lr} + bl sub_0203B268 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203B514 ; =0x020F6BE0 + add r0, r0, r1 + ldr r0, [r0, #0x14] + lsl r0, r0, #0xc + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + nop +_0203B514: .word 0x020F6BE0 + thumb_func_end sub_0203B4F8 + + thumb_func_start sub_0203B518 +sub_0203B518: ; 0x0203B518 + push {r3, r4, r5, lr} + add r5, r1, #0 + add r4, r2, #0 + bl sub_0203B268 + mov r1, #0x18 + ldr r2, _0203B53C ; =0x020F6BE0 + mul r1, r0 + add r1, r2, r1 + ldrh r0, [r1, #2] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1a + strh r0, [r5] + ldrh r0, [r1, #2] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1a + strh r0, [r4] + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203B53C: .word 0x020F6BE0 + thumb_func_end sub_0203B518 + + thumb_func_start sub_0203B540 +sub_0203B540: ; 0x0203B540 + push {r4, lr} + add r4, r0, #0 + bl sub_0203B454 + cmp r0, #0 + bne _0203B550 + mov r0, #0 + pop {r4, pc} +_0203B550: + add r0, r4, #0 + bl sub_0203B4DC + cmp r0, #1 + beq _0203B55E + mov r0, #1 + pop {r4, pc} +_0203B55E: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B540 + + thumb_func_start sub_0203B564 +sub_0203B564: ; 0x0203B564 + push {r3, lr} + bl sub_0203B2AC + cmp r0, #0 + bne _0203B572 + mov r0, #1 + pop {r3, pc} +_0203B572: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203B564 + + thumb_func_start sub_0203B578 +sub_0203B578: ; 0x0203B578 + push {r3, lr} + bl sub_0203B4DC + cmp r0, #3 + bne _0203B586 + mov r0, #1 + pop {r3, pc} +_0203B586: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203B578 + + thumb_func_start sub_0203B58C +sub_0203B58C: ; 0x0203B58C + push {r4, lr} + add r4, r0, #0 + bl sub_0203B4DC + cmp r0, #4 + beq _0203B5A2 + add r0, r4, #0 + bl sub_0203B4DC + cmp r0, #5 + bne _0203B5A6 +_0203B5A2: + mov r0, #1 + pop {r4, pc} +_0203B5A6: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B58C + + thumb_func_start sub_0203B5AC +sub_0203B5AC: ; 0x0203B5AC + push {r4, lr} + add r4, r0, #0 + bl sub_0203B4DC + cmp r0, #1 + beq _0203B5C2 + add r0, r4, #0 + bl sub_0203B4DC + cmp r0, #2 + bne _0203B5C6 +_0203B5C2: + mov r0, #1 + pop {r4, pc} +_0203B5C6: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B5AC + + thumb_func_start sub_0203B5CC +sub_0203B5CC: ; 0x0203B5CC + cmp r0, #2 + bne _0203B5D4 + mov r0, #1 + bx lr +_0203B5D4: + mov r0, #0 + bx lr + thumb_func_end sub_0203B5CC + + thumb_func_start sub_0203B5D8 +sub_0203B5D8: ; 0x0203B5D8 + mov r0, #0 + bx lr + thumb_func_end sub_0203B5D8 + + thumb_func_start sub_0203B5DC +sub_0203B5DC: ; 0x0203B5DC + ldr r3, _0203B5F8 ; =0x020F6BAC + mov r2, #0 +_0203B5E0: + ldrh r1, [r3] + cmp r0, r1 + bne _0203B5EA + mov r0, #1 + bx lr +_0203B5EA: + add r2, r2, #1 + add r3, r3, #2 + cmp r2, #0x19 + blt _0203B5E0 + mov r0, #0 + bx lr + nop +_0203B5F8: .word 0x020F6BAC + thumb_func_end sub_0203B5DC + + thumb_func_start sub_0203B5FC +sub_0203B5FC: ; 0x0203B5FC + mov r1, #0x4b + lsl r1, r1, #2 + cmp r0, r1 + bne _0203B608 + mov r0, #1 + bx lr +_0203B608: + mov r0, #0 + bx lr + thumb_func_end sub_0203B5FC + + thumb_func_start sub_0203B60C +sub_0203B60C: ; 0x0203B60C + mov r0, #0 + bx lr + thumb_func_end sub_0203B60C + + thumb_func_start sub_0203B610 +sub_0203B610: ; 0x0203B610 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x14] + add r4, r1, #0 + cmp r0, #0 + beq _0203B620 + bl GF_AssertFail +_0203B620: + ldr r1, _0203B62C ; =0x000009E4 + add r0, r4, #0 + bl AllocFromHeap + str r0, [r5, #0x14] + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203B62C: .word 0x000009E4 + thumb_func_end sub_0203B610 + + thumb_func_start sub_0203B630 +sub_0203B630: ; 0x0203B630 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x14] + cmp r0, #0 + bne _0203B63E + bl GF_AssertFail +_0203B63E: + ldr r0, [r4, #0x14] + bl FreeToHeap + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B630 + + thumb_func_start sub_0203B648 +sub_0203B648: ; 0x0203B648 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x14] + add r4, r1, #0 + cmp r0, #0 + bne _0203B658 + bl GF_AssertFail +_0203B658: + ldr r0, [r5, #0x14] + add r1, r4, #0 + bl sub_0203B680 + ldr r0, [r5, #0x14] + bl sub_0203B828 + mov r0, #0x92 + ldr r1, [r5, #0x14] + lsl r0, r0, #4 + add r0, r1, r0 + add r1, r4, #0 + bl sub_0203B88C + ldr r0, [r5, #0x14] + add r1, r4, #0 + bl sub_0203B8C4 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203B648 + + thumb_func_start sub_0203B680 +sub_0203B680: ; 0x0203B680 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r0, r1, #0 + bl sub_0203B358 + add r4, r0, #0 + mov r0, #0x20 + add r1, r4, #0 + bl GetNarcMemberSizeByIdPair + mov r1, #2 + lsl r1, r1, #0xa + cmp r0, r1 + blo _0203B6A0 + bl GF_AssertFail +_0203B6A0: + add r5, #0x20 + add r0, r5, #0 + mov r1, #0x20 + add r2, r4, #0 + bl ReadWholeNarcMemberByIdPair + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203B680 + + thumb_func_start sub_0203B6B0 +sub_0203B6B0: ; 0x0203B6B0 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x14] + ldr r4, [r0, #4] + cmp r0, #0 + bne _0203B6C0 + bl GF_AssertFail +_0203B6C0: + cmp r4, #0 + beq _0203B6D4 + ldr r1, [r5, #0x20] + ldr r3, [r5, #0x14] + ldr r0, [r5, #0x3c] + ldr r1, [r1] + ldr r3, [r3, #0x14] + add r2, r4, #0 + bl sub_0205E9AC +_0203B6D4: + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203B6B0 + + thumb_func_start sub_0203B6D8 +sub_0203B6D8: ; 0x0203B6D8 + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x10] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B6D8 + + thumb_func_start sub_0203B6E0 +sub_0203B6E0: ; 0x0203B6E0 + ldr r0, [r0, #0x14] + ldr r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B6E0 + + thumb_func_start sub_0203B6E8 +sub_0203B6E8: ; 0x0203B6E8 + ldr r2, [r0, #0x14] + ldr r0, [r2, #8] + cmp r1, r0 + blo _0203B6F4 + mov r0, #0 + bx lr +_0203B6F4: + mov r0, #0xc + ldr r2, [r2, #0x18] + mul r0, r1 + add r0, r2, r0 + bx lr + .balign 4, 0 + thumb_func_end sub_0203B6E8 + + thumb_func_start sub_0203B700 +sub_0203B700: ; 0x0203B700 + push {r4, r5, r6, r7} + ldr r5, [r0, #0x14] + mov r3, #0 + ldr r0, [r5, #8] + cmp r0, #0 + bls _0203B732 + ldr r6, [r5, #0x18] + add r4, r3, #0 + add r0, r6, #0 +_0203B712: + ldrh r7, [r0] + cmp r1, r7 + bne _0203B726 + add r7, r6, r4 + ldrh r7, [r7, #2] + cmp r2, r7 + bne _0203B726 + add r0, r3, #0 + pop {r4, r5, r6, r7} + bx lr +_0203B726: + ldr r7, [r5, #8] + add r3, r3, #1 + add r0, #0xc + add r4, #0xc + cmp r3, r7 + blo _0203B712 +_0203B732: + mov r0, #0 + mvn r0, r0 + pop {r4, r5, r6, r7} + bx lr + .balign 4, 0 + thumb_func_end sub_0203B700 + + thumb_func_start sub_0203B73C +sub_0203B73C: ; 0x0203B73C + ldr r0, [r0, #0x14] + ldr r0, [r0, #0xc] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B73C + + thumb_func_start sub_0203B744 +sub_0203B744: ; 0x0203B744 + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x1c] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B744 + + thumb_func_start sub_0203B74C +sub_0203B74C: ; 0x0203B74C + ldr r0, [r0, #0x14] + ldr r0, [r0, #4] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B74C + + thumb_func_start sub_0203B754 +sub_0203B754: ; 0x0203B754 + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x14] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B754 + + thumb_func_start sub_0203B75C +sub_0203B75C: ; 0x0203B75C + push {r3, r4, r5, r6, r7, lr} + ldr r0, [r0, #0x14] + add r4, r1, #0 + ldr r5, [r0, #4] + add r7, r2, #0 + add r1, r3, #0 + mov r2, #0 + ldr r3, [r0, #0x14] + cmp r5, #0 + bls _0203B78C + add r6, r3, #0 +_0203B772: + ldrh r0, [r6] + cmp r4, r0 + bne _0203B784 + lsl r0, r2, #5 + add r0, r3, r0 + strh r7, [r0, #0x18] + strh r1, [r0, #0x1a] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0203B784: + add r2, r2, #1 + add r6, #0x20 + cmp r2, r5 + blo _0203B772 +_0203B78C: + bl GF_AssertFail + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203B75C + + thumb_func_start sub_0203B794 +sub_0203B794: ; 0x0203B794 + push {r4, r5, r6, lr} + ldr r0, [r0, #0x14] + mov r3, #0 + ldr r5, [r0, #4] + ldr r4, [r0, #0x14] + cmp r5, #0 + bls _0203B7BC + add r6, r4, #0 +_0203B7A4: + ldrh r0, [r6] + cmp r1, r0 + bne _0203B7B4 + lsl r0, r3, #5 + add r0, r4, r0 + strh r2, [r0, #0xc] + mov r0, #1 + pop {r4, r5, r6, pc} +_0203B7B4: + add r3, r3, #1 + add r6, #0x20 + cmp r3, r5 + blo _0203B7A4 +_0203B7BC: + bl GF_AssertFail + mov r0, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0203B794 + + thumb_func_start sub_0203B7C4 +sub_0203B7C4: ; 0x0203B7C4 + push {r4, r5, r6, lr} + ldr r0, [r0, #0x14] + mov r3, #0 + ldr r5, [r0, #4] + ldr r4, [r0, #0x14] + cmp r5, #0 + bls _0203B7EC + add r6, r4, #0 +_0203B7D4: + ldrh r0, [r6] + cmp r1, r0 + bne _0203B7E4 + lsl r0, r3, #5 + add r0, r4, r0 + strh r2, [r0, #4] + mov r0, #1 + pop {r4, r5, r6, pc} +_0203B7E4: + add r3, r3, #1 + add r6, #0x20 + cmp r3, r5 + blo _0203B7D4 +_0203B7EC: + bl GF_AssertFail + mov r0, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0203B7C4 + + thumb_func_start sub_0203B7F4 +sub_0203B7F4: ; 0x0203B7F4 + push {r3, r4} + ldr r0, [r0, #0x14] + ldr r4, [r0, #0x18] + mov r0, #0xc + mul r0, r1 + strh r2, [r4, r0] + add r0, r4, r0 + strh r3, [r0, #2] + mov r0, #1 + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_0203B7F4 + + thumb_func_start sub_0203B80C +sub_0203B80C: ; 0x0203B80C + push {r4, r5, r6, lr} + add r5, r1, #0 + add r4, r2, #0 + add r6, r3, #0 + bl sub_0203B6D8 + mov r1, #0x14 + mul r1, r5 + add r0, r0, r1 + str r4, [r0, #4] + str r6, [r0, #8] + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203B80C + + thumb_func_start sub_0203B828 +sub_0203B828: ; 0x0203B828 + add r1, r0, #0 + ldr r2, [r0, #0x20] + add r1, #0x20 + add r1, r1, #4 + str r2, [r0] + cmp r2, #0 + beq _0203B83A + str r1, [r0, #0x10] + b _0203B83E +_0203B83A: + mov r2, #0 + str r2, [r0, #0x10] +_0203B83E: + ldr r3, [r0] + mov r2, #0x14 + mul r2, r3 + add r3, r1, r2 + ldr r2, [r1, r2] + add r1, r3, #4 + str r2, [r0, #4] + cmp r2, #0 + beq _0203B854 + str r1, [r0, #0x14] + b _0203B858 +_0203B854: + mov r2, #0 + str r2, [r0, #0x14] +_0203B858: + ldr r2, [r0, #4] + lsl r2, r2, #5 + add r3, r1, r2 + ldr r2, [r1, r2] + add r1, r3, #4 + str r2, [r0, #8] + cmp r2, #0 + beq _0203B86C + str r1, [r0, #0x18] + b _0203B870 +_0203B86C: + mov r2, #0 + str r2, [r0, #0x18] +_0203B870: + ldr r3, [r0, #8] + mov r2, #0xc + mul r2, r3 + add r3, r1, r2 + ldr r1, [r1, r2] + str r1, [r0, #0xc] + cmp r1, #0 + beq _0203B886 + add r1, r3, #4 + str r1, [r0, #0x1c] + bx lr +_0203B886: + mov r1, #0 + str r1, [r0, #0x1c] + bx lr + thumb_func_end sub_0203B828 + + thumb_func_start sub_0203B88C +sub_0203B88C: ; 0x0203B88C + push {r3, r4, r5, lr} + add r4, r1, #0 + mov r1, #0 + mov r2, #0xc4 + add r5, r0, #0 + bl memset + add r0, r4, #0 + bl sub_0203B324 + cmp r0, #0 + beq _0203B8B4 + add r0, r4, #0 + bl sub_0203B344 + add r2, r0, #0 + add r0, r5, #0 +#ifdef HEARTGOLD + mov r1, #0x25 +#else + mov r1, #0x88 +#endif + bl ReadWholeNarcMemberByIdPair +_0203B8B4: + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203B88C + + thumb_func_start sub_0203B8B8 +sub_0203B8B8: ; 0x0203B8B8 + ldr r1, [r0, #0x14] + mov r0, #0x92 + lsl r0, r0, #4 + add r0, r1, r0 + bx lr + .balign 4, 0 + thumb_func_end sub_0203B8B8 + + thumb_func_start sub_0203B8C4 +sub_0203B8C4: ; 0x0203B8C4 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r0, r1, #0 + bl sub_0203B2E8 + mov r1, #0x82 + lsl r1, r1, #4 + mov r2, #1 + add r4, r0, #0 + mov r0, #0 + add r1, r5, r1 + lsl r2, r2, #8 + bl MIi_CpuClearFast + mov r0, #0xc + add r1, r4, #0 + bl GetNarcMemberSizeByIdPair + mov r1, #1 + lsl r1, r1, #8 + cmp r0, r1 + blo _0203B8F4 + bl GF_AssertFail +_0203B8F4: + mov r0, #0x82 + lsl r0, r0, #4 + add r0, r5, r0 + mov r1, #0xc + add r2, r4, #0 + bl ReadWholeNarcMemberByIdPair + pop {r3, r4, r5, pc} + thumb_func_end sub_0203B8C4 + + thumb_func_start sub_0203B904 +sub_0203B904: ; 0x0203B904 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x14] + cmp r0, #0 + bne _0203B912 + bl GF_AssertFail +_0203B912: + mov r0, #0x82 + ldr r1, [r4, #0x14] + lsl r0, r0, #4 + add r0, r1, r0 + pop {r4, pc} + thumb_func_end sub_0203B904 + + thumb_func_start sub_0203B91C +sub_0203B91C: ; 0x0203B91C + mov r0, #0x80 + bx lr + thumb_func_end sub_0203B91C + + thumb_func_start sub_0203B920 +sub_0203B920: ; 0x0203B920 + mov r0, #5 + lsl r0, r0, #0xa + bx lr + .balign 4, 0 + thumb_func_end sub_0203B920 + + thumb_func_start sub_0203B928 +sub_0203B928: ; 0x0203B928 + ldr r3, _0203B934 ; =sub_020D47EC + mov r2, #5 + add r1, r0, #0 + mov r0, #0 + lsl r2, r2, #0xa + bx r3 + .balign 4, 0 +_0203B934: .word sub_020D47EC + thumb_func_end sub_0203B928 + + thumb_func_start sub_0203B938 +sub_0203B938: ; 0x0203B938 + push {r4, lr} + add r4, r0, #0 + mov r1, #0 + mov r2, #0x80 + bl memset + add r0, r4, #0 + add r0, #0x6c + bl sub_0205C7BC + bl sub_0203BA70 + add r4, #0x68 + strh r0, [r4] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203B938 + + thumb_func_start sub_0203B958 +sub_0203B958: ; 0x0203B958 + bx lr + .balign 4, 0 + thumb_func_end sub_0203B958 + + thumb_func_start sub_0203B95C +sub_0203B95C: ; 0x0203B95C + add r0, #0x14 + bx lr + thumb_func_end sub_0203B95C + + thumb_func_start sub_0203B960 +sub_0203B960: ; 0x0203B960 + add r0, #0x28 + bx lr + thumb_func_end sub_0203B960 + + thumb_func_start sub_0203B964 +sub_0203B964: ; 0x0203B964 + add r0, #0x50 + bx lr + thumb_func_end sub_0203B964 + + thumb_func_start sub_0203B968 +sub_0203B968: ; 0x0203B968 + add r0, #0x3c + bx lr + thumb_func_end sub_0203B968 + + thumb_func_start sub_0203B96C +sub_0203B96C: ; 0x0203B96C + add r3, r1, #0 + add r2, r0, #0 + ldmia r3!, {r0, r1} + add r2, #0x3c + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldr r0, [r3] + str r0, [r2] + bx lr + thumb_func_end sub_0203B96C + + thumb_func_start sub_0203B980 +sub_0203B980: ; 0x0203B980 + add r0, #0x64 + bx lr + thumb_func_end sub_0203B980 + + thumb_func_start sub_0203B984 +sub_0203B984: ; 0x0203B984 + add r0, #0x66 + ldrh r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B984 + + thumb_func_start sub_0203B98C +sub_0203B98C: ; 0x0203B98C + add r0, #0x66 + strh r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B98C + + thumb_func_start sub_0203B994 +sub_0203B994: ; 0x0203B994 + add r0, #0x68 + ldrh r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B994 + + thumb_func_start sub_0203B99C +sub_0203B99C: ; 0x0203B99C + add r0, #0x68 + strh r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B99C + + thumb_func_start sub_0203B9A4 +sub_0203B9A4: ; 0x0203B9A4 + add r0, #0x6a + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B9A4 + + thumb_func_start sub_0203B9AC +sub_0203B9AC: ; 0x0203B9AC + add r0, #0x6a + strb r1, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203B9AC + + thumb_func_start sub_0203B9B4 +sub_0203B9B4: ; 0x0203B9B4 + add r0, #0x6c + bx lr + thumb_func_end sub_0203B9B4 + + thumb_func_start sub_0203B9B8 +sub_0203B9B8: ; 0x0203B9B8 + add r0, #0x78 + bx lr + thumb_func_end sub_0203B9B8 + + thumb_func_start sub_0203B9BC +sub_0203B9BC: ; 0x0203B9BC + add r0, #0x76 + bx lr + thumb_func_end sub_0203B9BC + + thumb_func_start sub_0203B9C0 +sub_0203B9C0: ; 0x0203B9C0 + add r0, #0x74 + bx lr + thumb_func_end sub_0203B9C0 + + thumb_func_start sub_0203B9C4 +sub_0203B9C4: ; 0x0203B9C4 + ldr r3, _0203B9CC ; =SavArray_get + mov r1, #5 + bx r3 + nop +_0203B9CC: .word SavArray_get + thumb_func_end sub_0203B9C4 + + thumb_func_start sub_0203B9D0 +sub_0203B9D0: ; 0x0203B9D0 + ldr r3, _0203B9D8 ; =SavArray_get + mov r1, #0xa + bx r3 + nop +_0203B9D8: .word SavArray_get + thumb_func_end sub_0203B9D0 + + thumb_func_start sub_0203B9DC +sub_0203B9DC: ; 0x0203B9DC + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl sub_0203B9D0 + add r2, r0, #0 + ldr r1, [r4, #0x3c] + add r0, r4, #0 + mov r3, #0x40 + bl sub_0205E5EC + pop {r4, pc} + thumb_func_end sub_0203B9DC + + thumb_func_start sub_0203B9F4 +sub_0203B9F4: ; 0x0203B9F4 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + ldr r0, [r5, #0xc] + bl sub_0203B9D0 + ldr r2, _0203BA54 ; =0x000003CF + mov r1, #0x40 + add r7, r0, #0 + bl sub_0205FD00 + add r4, r0, #0 + beq _0203BA48 + ldrb r0, [r4, #8] + cmp r0, #0xfd + bne _0203BA48 + ldr r0, [r5, #0xc] + bl sub_02074904 + bl sub_02054388 + str r0, [sp] + mov r1, #5 + mov r2, #0 + bl sub_0206E540 + add r6, r0, #0 + ldr r0, [sp] + mov r1, #0x70 + mov r2, #0 + bl sub_0206E540 + mov r1, #0x7b + lsl r1, r1, #2 + cmp r6, r1 + beq _0203BA40 + bl GF_AssertFail + b _0203BA48 +_0203BA40: + cmp r0, #0 + bne _0203BA48 + ldr r0, _0203BA58 ; =0x000003CE + strh r0, [r4, #0x12] +_0203BA48: + ldr r0, [r5, #0x3c] + add r1, r7, #0 + mov r2, #0x40 + bl sub_0205E648 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203BA54: .word 0x000003CF +_0203BA58: .word 0x000003CE + thumb_func_end sub_0203B9F4 + + thumb_func_start sub_0203BA5C +sub_0203BA5C: ; 0x0203BA5C + push {r3, lr} + cmp r0, #0 + ble _0203BA66 + cmp r0, #0x1e + bls _0203BA6C +_0203BA66: + bl GF_AssertFail + mov r0, #1 +_0203BA6C: + sub r0, r0, #1 + pop {r3, pc} + thumb_func_end sub_0203BA5C + + thumb_func_start sub_0203BA70 +sub_0203BA70: ; 0x0203BA70 + mov r0, #1 + bx lr + thumb_func_end sub_0203BA70 + + thumb_func_start sub_0203BA74 +sub_0203BA74: ; 0x0203BA74 + push {r4, lr} + add r4, r1, #0 + bl sub_0203BA5C + add r1, r0, #0 + mov r2, #0x12 + mul r1, r2 + ldr r0, _0203BAA0 ; =0x020F9E86 + sub r2, #0x13 + ldrh r0, [r0, r1] + str r0, [r4] + ldr r0, _0203BAA4 ; =0x020F9E88 + str r2, [r4, #4] + ldrh r0, [r0, r1] + str r0, [r4, #8] + ldr r0, _0203BAA8 ; =0x020F9E8A + ldrh r0, [r0, r1] + str r0, [r4, #0xc] + mov r0, #1 + str r0, [r4, #0x10] + pop {r4, pc} + nop +_0203BAA0: .word 0x020F9E86 +_0203BAA4: .word 0x020F9E88 +_0203BAA8: .word 0x020F9E8A + thumb_func_end sub_0203BA74 + + thumb_func_start sub_0203BAAC +sub_0203BAAC: ; 0x0203BAAC + push {r4, lr} + add r4, r1, #0 + bl sub_0203BA5C + add r2, r0, #0 + mov r1, #0x12 + mul r2, r1 + ldr r0, _0203BAE0 ; =0x020F9E82 + sub r1, #0x13 + ldrh r0, [r0, r2] + str r0, [r4] + ldr r0, _0203BAE4 ; =0x020F9E80 + str r1, [r4, #4] + add r1, r0, r2 + ldrh r0, [r1, #4] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [r4, #8] + ldrh r0, [r1, #4] + lsl r0, r0, #0x10 + lsr r0, r0, #0x18 + str r0, [r4, #0xc] + mov r0, #0 + str r0, [r4, #0x10] + pop {r4, pc} + nop +_0203BAE0: .word 0x020F9E82 +_0203BAE4: .word 0x020F9E80 + thumb_func_end sub_0203BAAC + + thumb_func_start sub_0203BAE8 +sub_0203BAE8: ; 0x0203BAE8 + push {r4, lr} + add r4, r1, #0 + bl sub_0203BA5C + add r1, r0, #0 + mov r2, #0x12 + mul r1, r2 + ldr r0, _0203BB14 ; =0x020F9E8C + sub r2, #0x13 + ldrh r0, [r0, r1] + str r0, [r4] + ldr r0, _0203BB18 ; =0x020F9E8E + str r2, [r4, #4] + ldrh r0, [r0, r1] + str r0, [r4, #8] + ldr r0, _0203BB1C ; =0x020F9E90 + ldrh r0, [r0, r1] + str r0, [r4, #0xc] + mov r0, #1 + str r0, [r4, #0x10] + pop {r4, pc} + nop +_0203BB14: .word 0x020F9E8C +_0203BB18: .word 0x020F9E8E +_0203BB1C: .word 0x020F9E90 + thumb_func_end sub_0203BAE8 + + thumb_func_start sub_0203BB20 +sub_0203BB20: ; 0x0203BB20 + push {r3, r4} + ldr r3, _0203BB4C ; =0x020F9E80 + mov r2, #0 + add r4, r3, #0 +_0203BB28: + ldrh r1, [r3, #2] + cmp r0, r1 + bne _0203BB3C + ldrh r1, [r4] + lsl r1, r1, #0x17 + lsr r1, r1, #0x1f + beq _0203BB3C + add r0, r2, #1 + pop {r3, r4} + bx lr +_0203BB3C: + add r2, r2, #1 + add r3, #0x12 + add r4, #0x12 + cmp r2, #0x1e + blo _0203BB28 + mov r0, #0 + pop {r3, r4} + bx lr + .balign 4, 0 +_0203BB4C: .word 0x020F9E80 + thumb_func_end sub_0203BB20 + + thumb_func_start sub_0203BB50 +sub_0203BB50: ; 0x0203BB50 + ldr r3, _0203BB6C ; =0x020F9E80 + mov r2, #0 +_0203BB54: + ldrh r1, [r3, #6] + cmp r0, r1 + bne _0203BB5E + add r0, r2, #1 + bx lr +_0203BB5E: + add r2, r2, #1 + add r3, #0x12 + cmp r2, #0x1e + blo _0203BB54 + mov r0, #0 + bx lr + nop +_0203BB6C: .word 0x020F9E80 + thumb_func_end sub_0203BB50 + + thumb_func_start sub_0203BB70 +sub_0203BB70: ; 0x0203BB70 + push {r3, r4, r5, lr} + ldr r2, _0203BBB0 ; =0x020F9E80 + mov r4, #0 + add r3, r2, #0 +_0203BB78: + ldrh r5, [r2, #6] + cmp r1, r5 + bne _0203BBA2 + ldrh r5, [r3] + lsl r5, r5, #0x16 + lsr r5, r5, #0x1f + beq _0203BBA2 + ldr r0, [r0, #0xc] + bl sub_020503D0 + mov r2, #0x12 + add r3, r4, #0 + mul r3, r2 + ldr r2, _0203BBB0 ; =0x020F9E80 + mov r1, #1 + ldrh r2, [r2, r3] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02066930 + pop {r3, r4, r5, pc} +_0203BBA2: + add r4, r4, #1 + add r2, #0x12 + add r3, #0x12 + cmp r4, #0x1e + blo _0203BB78 + pop {r3, r4, r5, pc} + nop +_0203BBB0: .word 0x020F9E80 + thumb_func_end sub_0203BB70 + + thumb_func_start sub_0203BBB4 +sub_0203BBB4: ; 0x0203BBB4 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203B3E4 + ldr r1, _0203BC08 ; =0x000001D1 + add r7, r0, #0 + cmp r5, r1 + bne _0203BC04 + ldr r0, [r4, #0xc] + bl Sav2_SysInfo_RTC_get + add r3, r0, #0 + ldr r5, [r3, #8] + ldr r1, _0203BC0C ; =0x020FA09C + mov r2, #0 +_0203BBD6: + lsl r6, r2, #1 + add r0, r1, r6 + ldrb r6, [r1, r6] + ldrb r0, [r0, #1] + cmp r5, r6 + bne _0203BBF8 + ldr r6, [r3, #0xc] + cmp r6, r0 + bne _0203BBF8 + add r0, r4, #0 + bl sub_02055670 + cmp r0, #0 + bne _0203BBF4 + mov r7, #8 +_0203BBF4: + add r0, r7, #0 + pop {r3, r4, r5, r6, r7, pc} +_0203BBF8: + add r0, r2, #1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #8 + blo _0203BBD6 + add r0, r7, #0 +_0203BC04: + pop {r3, r4, r5, r6, r7, pc} + nop +_0203BC08: .word 0x000001D1 +_0203BC0C: .word 0x020FA09C + thumb_func_end sub_0203BBB4 + + thumb_func_start sub_0203BC10 +sub_0203BC10: ; 0x0203BC10 + push {r3, lr} + ldr r0, [r0, #0x20] + ldr r0, [r0] + bl sub_0203B36C + cmp r0, #0 + beq _0203BC22 + mov r0, #1 + pop {r3, pc} +_0203BC22: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203BC10 + + thumb_func_start sub_0203BC28 +sub_0203BC28: ; 0x0203BC28 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_0203BE34 + add r4, r0, #0 + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_02066860 + cmp r0, #1 + bne _0203BC4E + add r0, r5, #0 + bl sub_0203BECC + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BCAA +_0203BC4E: + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_02066870 + cmp r0, #1 + bne _0203BC6A + add r0, r5, #0 + bl sub_0203BED0 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BCAA +_0203BC6A: + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_020668A0 + cmp r0, #1 + bne _0203BC86 + add r0, r5, #0 + bl sub_0203BED4 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BCAA +_0203BC86: + add r0, r5, #0 + bl sub_02067584 + cmp r0, #1 + bne _0203BC9E + add r0, r5, #0 + bl sub_0203BED8 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BCAA +_0203BC9E: + add r0, r5, #0 + bl sub_0203BE60 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] +_0203BCAA: + mov r0, #0x35 + mov r1, #0 + lsl r0, r0, #4 + str r1, [r4, r0] + ldr r0, [r5, #0x40] + bl sub_0205CF60 + cmp r0, #1 + bne _0203BCCA + ldr r0, [r5, #0x40] + bl sub_0205C654 + add r1, r0, #0 + ldr r0, [r5, #0x40] + bl sub_0205CFBC +_0203BCCA: + ldr r1, _0203BCD8 ; =sub_0203BEF0 + add r0, r5, #0 + add r2, r4, #0 + bl sub_020504F0 + pop {r3, r4, r5, pc} + nop +_0203BCD8: .word sub_0203BEF0 + thumb_func_end sub_0203BC28 + + thumb_func_start sub_0203BCDC +sub_0203BCDC: ; 0x0203BCDC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_0203BE34 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203BEE0 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + mov r2, #1 + add r0, r1, #4 + str r2, [r4, r0] + ldr r0, [r5, #0x40] + bl sub_0205CF60 + cmp r0, #1 + bne _0203BD10 + ldr r0, [r5, #0x40] + bl sub_0205C654 + add r1, r0, #0 + ldr r0, [r5, #0x40] + bl sub_0205CFBC +_0203BD10: + ldr r1, _0203BD1C ; =sub_0203BEF0 + add r0, r5, #0 + add r2, r4, #0 + bl sub_020504F0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203BD1C: .word sub_0203BEF0 + thumb_func_end sub_0203BCDC + + thumb_func_start sub_0203BD20 +sub_0203BD20: ; 0x0203BD20 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_0203BE34 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203BEE8 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + mov r2, #0 + add r0, r1, #4 + str r2, [r4, r0] + ldr r0, [r5, #0x40] + bl sub_0205CF60 + cmp r0, #1 + bne _0203BD54 + ldr r0, [r5, #0x40] + bl sub_0205C654 + add r1, r0, #0 + ldr r0, [r5, #0x40] + bl sub_0205CFBC +_0203BD54: + ldr r1, _0203BD60 ; =sub_0203BEF0 + add r0, r5, #0 + add r2, r4, #0 + bl sub_020504F0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203BD60: .word sub_0203BEF0 + thumb_func_end sub_0203BD20 + + thumb_func_start sub_0203BD64 +sub_0203BD64: ; 0x0203BD64 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, _0203BE2C ; =0x000005FC + bl PlaySE + bl sub_0203BE34 + add r4, r0, #0 + mov r0, #0x35 + mov r1, #0 + lsl r0, r0, #4 + str r1, [r4, r0] + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_02066860 + cmp r0, #1 + bne _0203BD98 + add r0, r5, #0 + bl sub_0203BECC + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BE20 +_0203BD98: + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_02066870 + cmp r0, #1 + bne _0203BDB4 + add r0, r5, #0 + bl sub_0203BED0 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BE20 +_0203BDB4: + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_020668A0 + cmp r0, #1 + bne _0203BDD0 + add r0, r5, #0 + bl sub_0203BED4 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BE20 +_0203BDD0: + add r0, r5, #0 + bl sub_02067584 + cmp r0, #1 + bne _0203BDE8 + add r0, r5, #0 + bl sub_0203BED8 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BE20 +_0203BDE8: + ldr r0, [r5, #0x70] + cmp r0, #3 + bne _0203BDFC + add r0, r5, #0 + bl sub_0203BEE8 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + b _0203BE20 +_0203BDFC: + cmp r0, #2 + bne _0203BE14 + add r0, r5, #0 + bl sub_0203BEE0 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] + mov r2, #1 + add r0, r1, #4 + str r2, [r4, r0] + b _0203BE20 +_0203BE14: + add r0, r5, #0 + bl sub_0203BE60 + mov r1, #0xd3 + lsl r1, r1, #2 + str r0, [r4, r1] +_0203BE20: + ldr r0, [r5, #0x10] + ldr r1, _0203BE30 ; =sub_0203BEF0 + add r2, r4, #0 + bl sub_02050510 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203BE2C: .word 0x000005FC +_0203BE30: .word sub_0203BEF0 + thumb_func_end sub_0203BD64 + + thumb_func_start sub_0203BE34 +sub_0203BE34: ; 0x0203BE34 + push {r4, lr} + mov r1, #0xe3 + mov r0, #0xb + lsl r1, r1, #2 + bl AllocFromHeap + add r4, r0, #0 + mov r2, #0xe3 + mov r0, #0 + add r1, r4, #0 + lsl r2, r2, #2 + bl MIi_CpuClearFast + mov r1, #0 + strh r1, [r4, #0x26] + mov r0, #0xe + strh r1, [r4, #0x24] + lsl r0, r0, #6 + str r1, [r4, r0] + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203BE34 + + thumb_func_start sub_0203BE60 +sub_0203BE60: ; 0x0203BE60 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0xc] + mov r4, #0 + bl sub_020503D0 + bl sub_02066974 + cmp r0, #0 + bne _0203BE78 + mov r0, #1 + orr r4, r0 +_0203BE78: + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_0206695C + cmp r0, #0 + bne _0203BE8A + mov r0, #2 + orr r4, r0 +_0203BE8A: + ldr r0, [r5, #0xc] + bl sub_020503D0 + mov r1, #0 + bl sub_02066980 + cmp r0, #0 + bne _0203BE9E + mov r0, #4 + orr r4, r0 +_0203BE9E: + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_02066968 + cmp r0, #0 + bne _0203BEB2 + mov r0, #2 + lsl r0, r0, #8 + orr r4, r0 +_0203BEB2: + ldr r0, [r5, #0x20] + ldr r0, [r0] + bl sub_0203B5D8 + cmp r0, #1 + bne _0203BEC2 + mov r0, #6 + orr r4, r0 +_0203BEC2: + mov r0, #6 + lsl r0, r0, #6 + orr r0, r4 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203BE60 + + thumb_func_start sub_0203BECC +sub_0203BECC: ; 0x0203BECC + mov r0, #0x90 + bx lr + thumb_func_end sub_0203BECC + + thumb_func_start sub_0203BED0 +sub_0203BED0: ; 0x0203BED0 + mov r0, #0x94 + bx lr + thumb_func_end sub_0203BED0 + + thumb_func_start sub_0203BED4 +sub_0203BED4: ; 0x0203BED4 + mov r0, #0x94 + bx lr + thumb_func_end sub_0203BED4 + + thumb_func_start sub_0203BED8 +sub_0203BED8: ; 0x0203BED8 + ldr r0, _0203BEDC ; =0x00000395 + bx lr + .balign 4, 0 +_0203BEDC: .word 0x00000395 + thumb_func_end sub_0203BED8 + + thumb_func_start sub_0203BEE0 +sub_0203BEE0: ; 0x0203BEE0 + mov r0, #0x11 + lsl r0, r0, #4 + bx lr + .balign 4, 0 + thumb_func_end sub_0203BEE0 + + thumb_func_start sub_0203BEE8 +sub_0203BEE8: ; 0x0203BEE8 + ldr r0, _0203BEEC ; =0x00000391 + bx lr + .balign 4, 0 +_0203BEEC: .word 0x00000391 + thumb_func_end sub_0203BEE8 + + thumb_func_start sub_0203BEF0 +sub_0203BEF0: ; 0x0203BEF0 + push {r4, r5, r6, lr} + add r6, r0, #0 + bl sub_0205064C + add r4, r0, #0 + add r0, r6, #0 + bl sub_02050650 + add r5, r0, #0 + ldrh r1, [r5, #0x26] + cmp r1, #0x14 + bls _0203BF0A + b _0203C136 +_0203BF0A: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203BF16: ; jump table + .short _0203BF40 - _0203BF16 - 2 ; case 0 + .short _0203BF60 - _0203BF16 - 2 ; case 1 + .short _0203BF96 - _0203BF16 - 2 ; case 2 + .short _0203BFE2 - _0203BF16 - 2 ; case 3 + .short _0203BFF0 - _0203BF16 - 2 ; case 4 + .short _0203BFF8 - _0203BF16 - 2 ; case 5 + .short _0203C000 - _0203BF16 - 2 ; case 6 + .short _0203C008 - _0203BF16 - 2 ; case 7 + .short _0203C010 - _0203BF16 - 2 ; case 8 + .short _0203C018 - _0203BF16 - 2 ; case 9 + .short _0203C054 - _0203BF16 - 2 ; case 10 + .short _0203C06A - _0203BF16 - 2 ; case 11 + .short _0203C08A - _0203BF16 - 2 ; case 12 + .short _0203C0A6 - _0203BF16 - 2 ; case 13 + .short _0203C0C6 - _0203BF16 - 2 ; case 14 + .short _0203C020 - _0203BF16 - 2 ; case 15 + .short _0203C0E0 - _0203BF16 - 2 ; case 16 + .short _0203C11A - _0203BF16 - 2 ; case 17 + .short _0203C0D2 - _0203BF16 - 2 ; case 18 + .short _0203C128 - _0203BF16 - 2 ; case 19 + .short _0203C130 - _0203BF16 - 2 ; case 20 +_0203BF40: + ldr r0, [r4, #0x3c] + bl sub_0205F574 + add r0, r4, #0 + bl ov01_021F6B00 + cmp r0, #0 + beq _0203BF60 + mov r1, #0 + add r0, r4, #0 + add r2, r1, #0 + bl ov01_021F6A9C + mov r0, #2 + strh r0, [r5, #0x26] + b _0203C136 +_0203BF60: + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r4, #0 + add r1, r5, r1 + bl sub_020649B8 + mov r1, #0x37 + lsl r1, r1, #4 + add r0, r4, #0 + add r1, r5, r1 + bl sub_02067E10 + add r0, r6, #0 + bl sub_0203C14C + add r0, r4, #0 + add r0, #0xd2 + ldrb r1, [r0] + mov r0, #0x3f + add r4, #0xd2 + bic r1, r0 + mov r0, #1 + orr r0, r1 + strb r0, [r4] + mov r0, #3 + strh r0, [r5, #0x26] + b _0203C136 +_0203BF96: + add r0, r4, #0 + bl ov01_021F6B10 + cmp r0, #6 + bne _0203BFBA + add r0, r6, #0 + bl sub_0203C14C + add r0, r4, #0 + add r0, #0xd2 + ldrb r1, [r0] + mov r0, #0x3f + add r4, #0xd2 + bic r1, r0 + mov r0, #1 + orr r0, r1 + strb r0, [r4] + b _0203C136 +_0203BFBA: + add r0, r4, #0 + bl ov01_021F6B10 + cmp r0, #1 + bne _0203C02A + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r4, #0 + add r1, r5, r1 + bl sub_020649B8 + mov r1, #0x37 + lsl r1, r1, #4 + add r0, r4, #0 + add r1, r5, r1 + bl sub_02067E10 + mov r0, #3 + strh r0, [r5, #0x26] + b _0203C136 +_0203BFE2: + add r0, r6, #0 + bl sub_0203C47C + cmp r0, #0 + bne _0203C02A + mov r0, #0 + pop {r4, r5, r6, pc} +_0203BFF0: + add r0, r6, #0 + bl sub_0203C870 + b _0203C136 +_0203BFF8: + add r0, r6, #0 + bl sub_0203C8B0 + b _0203C136 +_0203C000: + add r0, r6, #0 + bl sub_0203D264 + b _0203C136 +_0203C008: + add r0, r6, #0 + bl sub_0203D288 + b _0203C136 +_0203C010: + add r0, r6, #0 + bl sub_0203D9E8 + b _0203C136 +_0203C018: + add r0, r6, #0 + bl sub_0203DAE4 + b _0203C136 +_0203C020: + add r0, r4, #0 + bl sub_020505C8 + cmp r0, #0 + bne _0203C02C +_0203C02A: + b _0203C136 +_0203C02C: + ldr r0, [r4, #0x3c] + bl sub_0205F574 + add r0, r6, #0 + bl sub_0203C14C + add r0, r4, #0 + add r0, #0xd2 + ldrb r1, [r0] + mov r0, #0x3f + add r4, #0xd2 + bic r1, r0 + mov r0, #1 + orr r1, r0 + strb r1, [r4] + bl ov01_021E636C + mov r0, #0x11 + strh r0, [r5, #0x26] + b _0203C136 +_0203C054: + add r0, r4, #0 + bl sub_020505C8 + cmp r0, #0 + beq _0203C136 + mov r0, #1 + bl ov01_021E636C + mov r0, #0xb + strh r0, [r5, #0x26] + b _0203C136 +_0203C06A: + bl sub_0200FB5C + cmp r0, #0 + beq _0203C136 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203C69C + add r0, r5, #0 + bl FreeToHeap + ldr r0, [r4, #0x3c] + bl sub_0205F5A4 + mov r0, #1 + pop {r4, r5, r6, pc} +_0203C08A: + add r0, r4, #0 + bl sub_020505C8 + cmp r0, #0 + beq _0203C136 + ldr r0, [r4, #0x3c] + bl sub_0205F574 + mov r0, #1 + bl ov01_021E636C + mov r0, #0xd + strh r0, [r5, #0x26] + b _0203C136 +_0203C0A6: + bl sub_0200FB5C + cmp r0, #0 + beq _0203C136 + mov r2, #0xd5 + lsl r2, r2, #2 + ldr r1, [r5, r2] + add r2, #0x2c + ldr r2, [r5, r2] + add r0, r6, #0 + bl sub_02050510 + add r0, r5, #0 + bl FreeToHeap + b _0203C136 +_0203C0C6: + mov r1, #0xd5 + lsl r1, r1, #2 + ldr r1, [r5, r1] + add r0, r6, #0 + blx r1 + b _0203C136 +_0203C0D2: + bl FreeToHeap + ldr r0, [r4, #0x3c] + bl sub_0205F5A4 + mov r0, #1 + pop {r4, r5, r6, pc} +_0203C0E0: + add r1, r4, #0 + bl sub_0203C69C + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203C38C + add r0, r4, #0 + add r0, #0xd2 + ldrb r1, [r0] + mov r0, #0x3f + bic r1, r0 + mov r0, #2 + orr r1, r0 + add r0, r4, #0 + add r0, #0xd2 + strb r1, [r0] + ldr r0, [r4, #8] + mov r1, #3 + bl ScheduleBgTilemapBufferTransfer + add r0, r5, #0 + bl FreeToHeap + ldr r0, [r4, #0x3c] + bl sub_0205F5A4 + mov r0, #1 + pop {r4, r5, r6, pc} +_0203C11A: + bl sub_0200FB5C + cmp r0, #0 + beq _0203C136 + mov r0, #3 + strh r0, [r5, #0x26] + b _0203C136 +_0203C128: + add r0, r6, #0 + bl sub_0203D2EC + b _0203C136 +_0203C130: + add r0, r6, #0 + bl sub_0203D304 +_0203C136: + ldr r0, [r5, #0x20] + cmp r0, #0 + beq _0203C146 + mov r0, #0x75 + lsl r0, r0, #2 + ldr r0, [r5, r0] + bl sub_0202457C +_0203C146: + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203BEF0 + + thumb_func_start sub_0203C14C +sub_0203C14C: ; 0x0203C14C + push {r4, r5, r6, lr} + sub sp, #0x10 + add r5, r0, #0 + bl sub_0205064C + add r4, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r5, r0, #0 + add r1, r5, #0 + add r2, r5, #0 + add r1, #0x30 + add r2, #0x3a + bl sub_0203C220 + add r6, r0, #0 + ldr r0, _0203C1F8 ; =0x00000000 + str r6, [r5, #0x2c] + strh r0, [r5, #0x24] + beq _0203C18E +_0203C176: + add r1, r4, #0 + add r1, #0x90 + ldr r2, [r1] + add r1, r5, r0 + add r1, #0x30 + ldrb r1, [r1] + cmp r2, r1 + bne _0203C188 + strh r0, [r5, #0x24] +_0203C188: + add r0, r0, #1 + cmp r0, r6 + blo _0203C176 +_0203C18E: + mov r1, #1 + str r1, [r5, #0x20] + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + str r1, [sp, #8] + mov r0, #0xb + str r0, [sp, #0xc] + ldr r2, [r4, #8] + mov r0, #0xe + mov r1, #0xc + mov r3, #3 + bl GfGfxLoader_LoadCharData + mov r0, #0x20 + str r0, [sp] + mov r0, #0xb + str r0, [sp, #4] + mov r0, #0xe + mov r1, #0xf + mov r2, #0 + lsl r3, r0, #5 + bl GfGfxLoader_GXLoadPal + mov r0, #0 + str r0, [sp] + str r0, [sp, #4] + mov r0, #1 + str r0, [sp, #8] + mov r0, #0xb + str r0, [sp, #0xc] + ldr r2, [r4, #8] + mov r0, #0xe + mov r1, #0xd + mov r3, #3 + bl GfGfxLoader_LoadScrnData + ldr r0, [r4, #0xc] + bl sub_02028E9C + bl PlayerProfile_GetTrainerGender + add r3, r0, #0 + add r0, r5, #0 + add r5, #0x30 + lsl r3, r3, #0x18 + add r1, r5, #0 + add r2, r6, #0 + lsr r3, r3, #0x18 + bl sub_0203C6C8 + add sp, #0x10 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203C1F8: .word 0x00000000 + thumb_func_end sub_0203C14C + + thumb_func_start sub_0203C1FC +sub_0203C1FC: ; 0x0203C1FC + push {r3, r4} + ldr r4, [r2] + strb r3, [r0, r4] + mov r0, #0 + ldr r4, [sp, #8] + mvn r0, r0 + cmp r4, r0 + bne _0203C210 + ldr r0, [r2] + str r0, [sp, #8] +_0203C210: + ldr r0, [sp, #8] + strb r3, [r1, r0] + ldr r0, [r2] + add r0, r0, #1 + str r0, [r2] + pop {r3, r4} + bx lr + .balign 4, 0 + thumb_func_end sub_0203C1FC + + thumb_func_start sub_0203C220 +sub_0203C220: ; 0x0203C220 + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + add r4, r1, #0 + mov r0, #0 + mov r1, #0xd3 + str r0, [sp, #4] + lsl r1, r1, #2 + add r6, r2, #0 + ldr r2, [r5, r1] + mov r1, #1 + lsl r1, r1, #8 + tst r1, r2 + bne _0203C24C + sub r0, r0, #1 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #8 + bl sub_0203C1FC +_0203C24C: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #0x80 + tst r1, r0 + bne _0203C268 + sub r0, #0x81 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #7 + bl sub_0203C1FC +_0203C268: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #1 + tst r1, r0 + bne _0203C284 + sub r0, r0, #2 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #0 + bl sub_0203C1FC +_0203C284: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #2 + tst r1, r0 + bne _0203C2A0 + sub r0, r0, #3 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #1 + bl sub_0203C1FC +_0203C2A0: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #4 + tst r1, r0 + bne _0203C2BC + sub r0, r0, #5 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #2 + bl sub_0203C1FC +_0203C2BC: + mov r0, #0xd3 + lsl r0, r0, #2 + mov r1, #2 + ldr r2, [r5, r0] + lsl r1, r1, #8 + tst r1, r2 + bne _0203C2F6 + add r0, r0, #4 + ldr r0, [r5, r0] + add r2, sp, #4 + cmp r0, #0 + beq _0203C2E6 + mov r0, #0 + mvn r0, r0 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + mov r3, #0xc + bl sub_0203C1FC + b _0203C2F6 +_0203C2E6: + mov r0, #0 + mvn r0, r0 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + mov r3, #0xb + bl sub_0203C1FC +_0203C2F6: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #8 + tst r1, r0 + bne _0203C312 + sub r0, #9 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #3 + bl sub_0203C1FC +_0203C312: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #0x10 + tst r1, r0 + bne _0203C32E + sub r0, #0x11 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #4 + bl sub_0203C1FC +_0203C32E: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #0x20 + tst r1, r0 + bne _0203C34A + sub r0, #0x21 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #5 + bl sub_0203C1FC +_0203C34A: + mov r0, #0xd3 + lsl r0, r0, #2 + ldr r1, [r5, r0] + mov r0, #0x40 + tst r1, r0 + bne _0203C366 + sub r0, #0x41 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #6 + bl sub_0203C1FC +_0203C366: + mov r0, #7 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #9 + bl sub_0203C1FC + mov r0, #8 + str r0, [sp] + add r0, r4, #0 + add r1, r6, #0 + add r2, sp, #4 + mov r3, #0xa + bl sub_0203C1FC + ldr r0, [sp, #4] + add sp, #8 + pop {r4, r5, r6, pc} + thumb_func_end sub_0203C220 + + thumb_func_start sub_0203C38C +sub_0203C38C: ; 0x0203C38C + push {r3, r4, r5, lr} + sub sp, #0x10 + add r5, r0, #0 + add r4, r1, #0 + bl sub_0203C830 + mov r2, #0 + str r2, [sp] + mov r0, #0x20 + str r0, [sp, #4] + mov r0, #0x18 + str r0, [sp, #8] + str r2, [sp, #0xc] + ldr r0, [r4, #8] + mov r1, #3 + add r3, r2, #0 + bl FillBgTilemapRect + mov r0, #0 + str r0, [r5, #0x20] + add sp, #0x10 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203C38C + + thumb_func_start sub_0203C3B8 +sub_0203C3B8: ; 0x0203C3B8 + lsl r2, r1, #2 + ldr r1, _0203C3C4 ; =0x020FA0C4 + ldr r3, _0203C3C8 ; =sub_0203C3CC + ldr r1, [r1, r2] + bx r3 + nop +_0203C3C4: .word 0x020FA0C4 +_0203C3C8: .word sub_0203C3CC + thumb_func_end sub_0203C3B8 + + thumb_func_start sub_0203C3CC +sub_0203C3CC: ; 0x0203C3CC + push {r3, lr} + cmp r1, #7 + bhi _0203C45A + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203C3DE: ; jump table + .short _0203C3EE - _0203C3DE - 2 ; case 0 + .short _0203C3FA - _0203C3DE - 2 ; case 1 + .short _0203C406 - _0203C3DE - 2 ; case 2 + .short _0203C414 - _0203C3DE - 2 ; case 3 + .short _0203C420 - _0203C3DE - 2 ; case 4 + .short _0203C42E - _0203C3DE - 2 ; case 5 + .short _0203C43C - _0203C3DE - 2 ; case 6 + .short _0203C44A - _0203C3DE - 2 ; case 7 +_0203C3EE: + ldr r0, [r0, #0xc] + bl sub_020503D0 + bl sub_02066974 + pop {r3, pc} +_0203C3FA: + ldr r0, [r0, #0xc] + bl sub_020503D0 + bl sub_0206695C + pop {r3, pc} +_0203C406: + ldr r0, [r0, #0xc] + bl sub_020503D0 + mov r1, #0 + bl sub_02066980 + pop {r3, pc} +_0203C414: + ldr r0, [r0, #0xc] + bl sub_020503D0 + bl sub_02066968 + pop {r3, pc} +_0203C420: + ldr r0, [r0, #0xc] + bl sub_020503D0 + mov r1, #1 + bl sub_02066980 + pop {r3, pc} +_0203C42E: + ldr r0, [r0, #0xc] + bl sub_020503D0 + mov r1, #2 + bl sub_02066980 + pop {r3, pc} +_0203C43C: + ldr r0, [r0, #0xc] + bl sub_020503D0 + mov r1, #3 + bl sub_02066980 + pop {r3, pc} +_0203C44A: + ldr r0, [r0, #0xc] + bl sub_0203B9C4 + bl sub_0203B9B4 + bl sub_0205C7C8 + pop {r3, pc} +_0203C45A: + mov r0, #1 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203C3CC + + thumb_func_start sub_0203C460 +sub_0203C460: ; 0x0203C460 + push {r3, lr} + add r1, r0, #0 + add r1, #0xe0 + ldr r1, [r1] + cmp r1, #4 + beq _0203C47A + cmp r1, #0xb + beq _0203C47A + mov r1, #0x45 + lsl r1, r1, #2 + ldr r0, [r0, r1] + bl sub_02092FA8 +_0203C47A: + pop {r3, pc} + thumb_func_end sub_0203C460 + + thumb_func_start sub_0203C47C +sub_0203C47C: ; 0x0203C47C + push {r4, r5, r6, lr} + add r6, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r6, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl ov01_021F6B00 + cmp r0, #0 + bne _0203C4FC + add r0, r5, #0 + bl ov01_021F6B10 + cmp r0, #1 + bne _0203C4FC + ldr r0, _0203C500 ; =gMain + mov r1, #1 + ldr r0, [r0, #0x48] + tst r1, r0 + beq _0203C4C6 + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl sub_0203C508 + cmp r0, #0 + bne _0203C4BE + mov r0, #0 + pop {r4, r5, r6, pc} +_0203C4BE: + add r0, r5, #0 + bl sub_0203C460 + b _0203C4FC +_0203C4C6: + add r1, r5, #0 + add r1, #0xd0 + ldrh r1, [r1] + cmp r1, #0 + bne _0203C4E4 + ldr r1, _0203C504 ; =0x00000402 + tst r0, r1 + beq _0203C4FC + mov r0, #0x25 + lsl r0, r0, #6 + bl PlaySE + mov r0, #0x10 + strh r0, [r4, #0x26] + b _0203C4FC +_0203C4E4: + add r0, r6, #0 + add r1, r5, #0 + add r2, r4, #0 + bl sub_0203C5A4 + cmp r0, #0 + bne _0203C4F6 + mov r0, #0 + pop {r4, r5, r6, pc} +_0203C4F6: + add r0, r5, #0 + bl sub_0203C460 +_0203C4FC: + mov r0, #1 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203C500: .word gMain +_0203C504: .word 0x00000402 + thumb_func_end sub_0203C47C + + thumb_func_start sub_0203C508 +sub_0203C508: ; 0x0203C508 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r7, r0, #0 + add r0, r5, #0 + add r0, #0xd3 + add r4, r2, #0 + ldrb r1, [r0] + ldr r0, [r4, #0x2c] + cmp r1, r0 + bhs _0203C596 + ldr r0, _0203C59C ; =0x000005DC + bl PlaySE + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + mov r1, #0 + bl sub_02018410 + add r0, r5, #0 + add r0, #0xd3 + ldrb r0, [r0] + str r0, [r4, #0x28] + add r0, r4, r0 + add r0, #0x3a + ldrb r1, [r0] + ldr r0, _0203C5A0 ; =0x020FA0F8 + lsl r2, r1, #3 + ldr r2, [r0, r2] + mov r0, #1 + mvn r0, r0 + cmp r2, r0 + bne _0203C550 + mov r0, #0x10 + strh r0, [r4, #0x26] + b _0203C596 +_0203C550: + add r0, r0, #1 + cmp r2, r0 + beq _0203C596 + add r0, r5, #0 + bl sub_0203C3B8 + cmp r0, #0 + beq _0203C596 + ldr r0, [r4, #0x28] + add r0, r4, r0 + add r0, #0x3a + ldrb r0, [r0] + lsl r1, r0, #3 + ldr r0, _0203C5A0 ; =0x020FA0F8 + ldr r6, [r0, r1] + add r0, r5, #0 + mov r1, #0 + bl sub_0203DF64 + add r0, r5, #0 + bl ov01_021F6B50 + add r0, r5, #0 + mov r1, #0 + add r0, #0xd0 + strh r1, [r0] + ldr r0, [r4, #0x28] + add r5, #0xe0 + add r0, r4, r0 + add r0, #0x3a + ldrb r0, [r0] + str r0, [r5] + add r0, r7, #0 + blx r6 + pop {r3, r4, r5, r6, r7, pc} +_0203C596: + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203C59C: .word 0x000005DC +_0203C5A0: .word 0x020FA0F8 + thumb_func_end sub_0203C508 + + thumb_func_start sub_0203C5A4 +sub_0203C5A4: ; 0x0203C5A4 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r7, r0, #0 + add r0, r4, #0 + add r0, #0xd0 + ldrh r0, [r0] + add r5, r2, #0 + cmp r0, #0 + beq _0203C5C2 + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r4, r0 + mov r1, #1 + bl sub_02018410 +_0203C5C2: + add r0, r4, #0 + add r0, #0xd0 + ldrh r0, [r0] + cmp r0, #0xa + bhi _0203C690 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203C5D8: ; jump table + .short _0203C690 - _0203C5D8 - 2 ; case 0 + .short _0203C5EE - _0203C5D8 - 2 ; case 1 + .short _0203C602 - _0203C5D8 - 2 ; case 2 + .short _0203C602 - _0203C5D8 - 2 ; case 3 + .short _0203C602 - _0203C5D8 - 2 ; case 4 + .short _0203C602 - _0203C5D8 - 2 ; case 5 + .short _0203C602 - _0203C5D8 - 2 ; case 6 + .short _0203C602 - _0203C5D8 - 2 ; case 7 + .short _0203C602 - _0203C5D8 - 2 ; case 8 + .short _0203C602 - _0203C5D8 - 2 ; case 9 + .short _0203C602 - _0203C5D8 - 2 ; case 10 +_0203C5EE: + mov r0, #0x25 + lsl r0, r0, #6 + bl PlaySE + mov r0, #0x10 + strh r0, [r5, #0x26] + mov r0, #0 + add r4, #0xd0 + strh r0, [r4] + b _0203C690 +_0203C602: + sub r1, r0, #2 + add r0, r4, #0 + add r0, #0xd3 + strb r1, [r0] + add r0, r4, #0 + add r0, #0xd3 + ldrb r1, [r0] + ldr r0, [r5, #0x2c] + cmp r1, r0 + bhs _0203C690 + ldr r0, _0203C694 ; =0x000005DC + bl PlaySE + add r0, r4, #0 + add r0, #0xd3 + ldrb r0, [r0] + str r0, [r5, #0x28] + add r0, r5, r0 + add r0, #0x3a + ldrb r1, [r0] + ldr r0, _0203C698 ; =0x020FA0F8 + lsl r2, r1, #3 + ldr r2, [r0, r2] + mov r0, #1 + mvn r0, r0 + cmp r2, r0 + bne _0203C644 + mov r0, #0x10 + strh r0, [r5, #0x26] + mov r0, #0 + add r4, #0xd0 + strh r0, [r4] + b _0203C690 +_0203C644: + add r0, r0, #1 + cmp r2, r0 + beq _0203C690 + add r0, r4, #0 + bl sub_0203C3B8 + cmp r0, #0 + beq _0203C68A + ldr r0, [r5, #0x28] + add r0, r5, r0 + add r0, #0x3a + ldrb r0, [r0] + lsl r1, r0, #3 + ldr r0, _0203C698 ; =0x020FA0F8 + ldr r6, [r0, r1] + add r0, r4, #0 + mov r1, #0 + add r0, #0xd0 + strh r1, [r0] + add r0, r4, #0 + mov r1, #1 + bl sub_0203DF64 + add r0, r4, #0 + bl ov01_021F6B50 + ldr r0, [r5, #0x28] + add r4, #0xe0 + add r0, r5, r0 + add r0, #0x3a + ldrb r0, [r0] + str r0, [r4] + add r0, r7, #0 + blx r6 + pop {r3, r4, r5, r6, r7, pc} +_0203C68A: + mov r0, #0 + add r4, #0xd0 + strh r0, [r4] +_0203C690: + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203C694: .word 0x000005DC +_0203C698: .word 0x020FA0F8 + thumb_func_end sub_0203C5A4 + + thumb_func_start sub_0203C69C +sub_0203C69C: ; 0x0203C69C + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + bl sub_02035650 + cmp r0, #0 + beq _0203C6C6 + mov r0, #0x35 + lsl r0, r0, #4 + ldr r0, [r5, r0] + cmp r0, #0 + beq _0203C6C6 + add r4, #0x84 + ldr r0, [r4] + bl sub_0205AD0C + bl sub_02037FF0 + mov r0, #0 + bl sub_0205A904 +_0203C6C6: + pop {r3, r4, r5, pc} + thumb_func_end sub_0203C69C + + thumb_func_start sub_0203C6C8 +sub_0203C6C8: ; 0x0203C6C8 + push {r4, r5, r6, r7, lr} + sub sp, #0x5c + mov r1, #0x76 + add r5, r0, #0 + lsl r1, r1, #2 + mov r0, #1 + add r1, r5, r1 + mov r2, #0xb + bl sub_02009F40 + mov r1, #0x75 + lsl r1, r1, #2 + mov r7, #3 + str r0, [r5, r1] + mov r6, #0 + add r4, r5, #0 + lsl r7, r7, #8 +_0203C6EA: + mov r0, #1 + add r1, r6, #0 + mov r2, #0xb + bl sub_0200A090 + str r0, [r4, r7] + add r6, r6, #1 + add r4, r4, #4 + cmp r6, #4 + blt _0203C6EA + mov r0, #0 + str r0, [sp] + mov r3, #1 + str r3, [sp, #4] + mov r0, #0xb + str r0, [sp, #8] + mov r0, #3 + lsl r0, r0, #8 + ldr r0, [r5, r0] + mov r1, #0xe + mov r2, #0x40 + bl sub_0200A1D8 + mov r1, #0x31 + lsl r1, r1, #4 + str r0, [r5, r1] + mov r3, #0 + str r3, [sp] + mov r0, #1 + str r0, [sp, #4] + str r0, [sp, #8] + mov r0, #0xb + sub r1, #0xc + str r0, [sp, #0xc] + ldr r0, [r5, r1] + mov r1, #0xe + mov r2, #0x3d + bl sub_0200A234 + mov r1, #0xc5 + lsl r1, r1, #2 + str r0, [r5, r1] + mov r0, #0 + str r0, [sp] + mov r0, #2 + str r0, [sp, #4] + mov r0, #0xb + sub r1, #0xc + str r0, [sp, #8] + ldr r0, [r5, r1] + mov r1, #0xe + mov r2, #0x3e + mov r3, #1 + bl sub_0200A294 + mov r1, #0xc6 + lsl r1, r1, #2 + str r0, [r5, r1] + mov r0, #0 + str r0, [sp] + mov r0, #3 + str r0, [sp, #4] + mov r0, #0xb + sub r1, #0xc + str r0, [sp, #8] + ldr r0, [r5, r1] + mov r1, #0xe + mov r2, #0x3f + mov r3, #1 + bl sub_0200A294 + mov r1, #0xc7 + lsl r1, r1, #2 + str r0, [r5, r1] + sub r1, #0xc + ldr r0, [r5, r1] + bl sub_0200ADA4 + mov r0, #0xc5 + lsl r0, r0, #2 + ldr r0, [r5, r0] + bl sub_0200B00C + mov r0, #0xc5 + lsl r0, r0, #2 + ldr r0, [r5, r0] + bl sub_0200A740 + mov r1, #0 + mov r2, #3 + str r1, [sp] + sub r0, r1, #1 + str r0, [sp, #4] + str r0, [sp, #8] + str r1, [sp, #0xc] + str r1, [sp, #0x10] + lsl r2, r2, #8 + ldr r0, [r5, r2] + add r3, r1, #0 + str r0, [sp, #0x14] + add r0, r2, #4 + ldr r0, [r5, r0] + str r0, [sp, #0x18] + add r0, r2, #0 + add r0, #8 + ldr r0, [r5, r0] + str r0, [sp, #0x1c] + add r0, r2, #0 + add r0, #0xc + ldr r0, [r5, r0] + add r2, #0x20 + str r0, [sp, #0x20] + str r1, [sp, #0x24] + add r0, r5, r2 + add r2, r1, #0 + str r1, [sp, #0x28] + bl sub_02009D48 + mov r0, #0x75 + lsl r0, r0, #2 + ldr r0, [r5, r0] + mov r1, #0x32 + mov r2, #1 + lsl r2, r2, #0xc + mov r3, #0 + lsl r1, r1, #4 + str r0, [sp, #0x2c] + add r0, r5, r1 + str r0, [sp, #0x30] + str r3, [sp, #0x3c] + str r2, [sp, #0x40] + str r2, [sp, #0x44] + str r2, [sp, #0x48] + add r2, sp, #0x2c + strh r3, [r2, #0x20] + str r0, [sp, #0x30] + lsl r0, r1, #9 + str r0, [sp, #0x34] + mov r0, #9 + mov r2, #1 + lsl r0, r0, #0x10 + str r2, [sp, #0x54] + mov r2, #0xb + str r0, [sp, #0x38] + add r0, sp, #0x2c + str r3, [sp, #0x50] + str r2, [sp, #0x58] + bl sub_02024624 + mov r1, #0xd1 + lsl r1, r1, #2 + str r0, [r5, r1] + ldr r0, [r5, r1] + mov r1, #1 + bl sub_0202484C + mov r0, #0x10 + mov r1, #1 + bl GX_EngineAToggleLayers + add sp, #0x5c + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203C6C8 + + thumb_func_start sub_0203C830 +sub_0203C830: ; 0x0203C830 + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r0, #0x31 + lsl r0, r0, #4 + ldr r0, [r5, r0] + bl sub_0200AEB0 + mov r0, #0xc5 + lsl r0, r0, #2 + ldr r0, [r5, r0] + bl sub_0200B0A8 + mov r6, #3 + mov r4, #0 + lsl r6, r6, #8 +_0203C84E: + lsl r0, r4, #2 + add r0, r5, r0 + ldr r0, [r0, r6] + bl sub_0200A0D0 + add r0, r4, #1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #4 + blo _0203C84E + mov r0, #0x75 + lsl r0, r0, #2 + ldr r0, [r5, r0] + bl sub_02024504 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203C830 + + thumb_func_start sub_0203C870 +sub_0203C870: ; 0x0203C870 + push {r4, r5, r6, lr} + add r5, r0, #0 + bl sub_0200FB5C + cmp r0, #0 + beq _0203C8AE + add r0, r5, #0 + bl sub_0205064C + add r6, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r1, r6, #0 + add r4, r0, #0 + bl sub_0203C38C + add r0, r6, #0 + add r0, #0xd2 + ldrb r1, [r0] + mov r0, #0x3f + add r6, #0xd2 + bic r1, r0 + strb r1, [r6] + mov r1, #0xd5 + lsl r1, r1, #2 + ldr r1, [r4, r1] + add r0, r5, #0 + blx r1 + mov r0, #5 + strh r0, [r4, #0x26] +_0203C8AE: + pop {r4, r5, r6, pc} + thumb_func_end sub_0203C870 + + thumb_func_start sub_0203C8B0 +sub_0203C8B0: ; 0x0203C8B0 + push {r4, r5, r6, lr} + add r6, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r6, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_020505A0 + cmp r0, #0 + bne _0203C8EE + mov r1, #0xd5 + lsl r1, r1, #2 + ldr r1, [r4, r1] + add r0, r6, #0 + blx r1 + ldrh r0, [r4, #0x26] + cmp r0, #0xf + bne _0203C8EE + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + bl sub_020183F0 + cmp r0, #1 + bne _0203C8EE + mov r0, #0xa + strh r0, [r4, #0x26] +_0203C8EE: + pop {r4, r5, r6, pc} + thumb_func_end sub_0203C8B0 + + thumb_func_start sub_0203C8F0 +sub_0203C8F0: ; 0x0203C8F0 + mov r2, #0xd5 + lsl r2, r2, #2 + str r1, [r0, r2] + mov r1, #5 + strh r1, [r0, #0x26] + bx lr + thumb_func_end sub_0203C8F0 + + thumb_func_start sub_0203C8FC +sub_0203C8FC: ; 0x0203C8FC + push {r4, lr} + bl sub_02050650 + add r4, r0, #0 + mov r0, #0 + bl ov01_021E636C + mov r0, #0xd5 + ldr r1, _0203C91C ; =sub_0203C920 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #4 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r4, pc} + nop +_0203C91C: .word sub_0203C920 + thumb_func_end sub_0203C8FC + + thumb_func_start sub_0203C920 +sub_0203C920: ; 0x0203C920 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + add r5, r0, #0 + bl sub_0205064C + add r4, r0, #0 + add r0, r5, #0 + bl sub_02050650 + str r0, [sp] + ldr r0, [r4, #0xc] + bl sub_0203B9C4 + add r5, r0, #0 + bl sub_0203B958 + str r0, [sp, #4] + add r0, r5, #0 + bl sub_0203B964 + str r0, [sp, #8] + mov r0, #0xb + mov r1, #0x1c + bl AllocFromHeap + mov r1, #0 + mov r2, #0x1c + add r5, r0, #0 + bl MIi_CpuFill8 + ldr r0, [r4, #0xc] + bl sub_0202A634 + str r0, [r5] + ldr r0, [r4, #0xc] + bl sub_02028E9C + str r0, [r5, #4] + add r0, r4, #0 + add r0, #0xa8 + ldr r0, [r0] + str r0, [r5, #8] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r4, r0 + str r0, [r5, #0xc] + ldr r0, [r4, #0x40] + bl sub_0205C67C + add r6, r0, #0 + ldr r0, [r4, #0x40] + bl sub_0205C688 + add r7, r0, #0 + asr r1, r6, #4 + asr r2, r7, #4 + lsr r1, r1, #0x1b + lsr r2, r2, #0x1b + add r1, r6, r1 + add r2, r7, r2 + ldr r0, [r4, #0x30] + asr r1, r1, #5 + asr r2, r2, #5 + bl sub_0203B024 + strh r0, [r5, #0x1a] + ldr r0, [sp, #4] + ldr r0, [r0] + strh r0, [r5, #0x18] + ldrh r0, [r5, #0x1a] + bl sub_0203B564 + cmp r0, #0 + beq _0203C9BA + str r6, [r5, #0x10] + str r7, [r5, #0x14] + b _0203C9F4 +_0203C9BA: + ldrh r0, [r5, #0x1a] + add r1, sp, #0xc + add r1, #2 + add r2, sp, #0xc + bl sub_0203B518 + add r1, sp, #0xc + mov r0, #2 + ldrsh r2, [r1, r0] + cmp r2, #0 + bne _0203C9E6 + mov r0, #0 + ldrsh r0, [r1, r0] + cmp r0, #0 + bne _0203C9E6 + ldr r0, [sp, #8] + ldr r0, [r0, #8] + str r0, [r5, #0x10] + ldr r0, [sp, #8] + ldr r0, [r0, #0xc] + str r0, [r5, #0x14] + b _0203C9F4 +_0203C9E6: + lsl r0, r2, #5 + str r0, [r5, #0x10] + add r1, sp, #0xc + mov r0, #0 + ldrsh r0, [r1, r0] + lsl r0, r0, #5 + str r0, [r5, #0x14] +_0203C9F4: + add r0, r4, #0 + add r1, r5, #0 + bl sub_0203F7F4 + mov r1, #0xe + ldr r0, [sp] + lsl r1, r1, #6 + str r5, [r0, r1] + ldr r2, _0203CA10 ; =sub_0203CA14 + sub r1, #0x2c + str r2, [r0, r1] + mov r0, #0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203CA10: .word sub_0203CA14 + thumb_func_end sub_0203C920 + + thumb_func_start sub_0203CA14 +sub_0203CA14: ; 0x0203CA14 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_020505C0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r1, [r4, r0] + cmp r1, #0 + beq _0203CA3C + mov r0, #0xb + bl FreeToHeapExplicit +_0203CA3C: + mov r0, #0xf + strh r0, [r4, #0x26] + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203CA14 + + thumb_func_start sub_0203CA44 +sub_0203CA44: ; 0x0203CA44 + push {r4, lr} + bl sub_02050650 + add r4, r0, #0 + mov r0, #0 + bl ov01_021E636C + mov r0, #0xd5 + ldr r1, _0203CA64 ; =sub_0203CA68 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #4 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r4, pc} + nop +_0203CA64: .word sub_0203CA68 + thumb_func_end sub_0203CA44 + + thumb_func_start sub_0203CA68 +sub_0203CA68: ; 0x0203CA68 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + mov r1, #0x37 + add r4, r0, #0 + lsl r1, r1, #4 + add r0, r5, #0 + add r1, r4, r1 + mov r2, #0 + bl sub_0203E550 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r0, _0203CA98 ; =sub_0203CA9C + sub r1, #0x2c + str r0, [r4, r1] + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203CA98: .word sub_0203CA9C + thumb_func_end sub_0203CA68 + + thumb_func_start sub_0203CA9C +sub_0203CA9C: ; 0x0203CA9C + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r7, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r7, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xb + mov r1, #0x44 + bl AllocFromHeap + mov r1, #0xe + lsl r1, r1, #6 + ldr r1, [r4, r1] + mov r2, #0x44 + add r6, r0, #0 + bl memcpy + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl FreeToHeap + add r0, r6, #0 + add r0, #0x27 + ldrb r0, [r0] + cmp r0, #0x18 + bls _0203CADC + b _0203CE6C +_0203CADC: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203CAE8: ; jump table + .short _0203CE6C - _0203CAE8 - 2 ; case 0 + .short _0203CB1A - _0203CAE8 - 2 ; case 1 + .short _0203CE6C - _0203CAE8 - 2 ; case 2 + .short _0203CD68 - _0203CAE8 - 2 ; case 3 + .short _0203CBA8 - _0203CAE8 - 2 ; case 4 + .short _0203CC3E - _0203CAE8 - 2 ; case 5 + .short _0203CCD4 - _0203CAE8 - 2 ; case 6 + .short _0203CD2A - _0203CAE8 - 2 ; case 7 + .short _0203CDCA - _0203CAE8 - 2 ; case 8 + .short _0203CDF6 - _0203CAE8 - 2 ; case 9 + .short _0203CE50 - _0203CAE8 - 2 ; case 10 + .short _0203CE2A - _0203CAE8 - 2 ; case 11 + .short _0203CE2A - _0203CAE8 - 2 ; case 12 + .short _0203CE2A - _0203CAE8 - 2 ; case 13 + .short _0203CE2A - _0203CAE8 - 2 ; case 14 + .short _0203CE2A - _0203CAE8 - 2 ; case 15 + .short _0203CE2A - _0203CAE8 - 2 ; case 16 + .short _0203CE2A - _0203CAE8 - 2 ; case 17 + .short _0203CE2A - _0203CAE8 - 2 ; case 18 + .short _0203CE2A - _0203CAE8 - 2 ; case 19 + .short _0203CE2A - _0203CAE8 - 2 ; case 20 + .short _0203CE2A - _0203CAE8 - 2 ; case 21 + .short _0203CE2A - _0203CAE8 - 2 ; case 22 + .short _0203CE2A - _0203CAE8 - 2 ; case 23 + .short _0203CE2A - _0203CAE8 - 2 ; case 24 +_0203CB1A: + mov r0, #0xb + mov r1, #0x3c + bl AllocFromHeap + add r7, r0, #0 + ldr r0, [r5, #0xc] + bl sub_02074904 + str r0, [r7] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r7, #4] + mov r0, #1 + strb r0, [r7, #0x11] + add r0, r6, #0 + add r0, #0x26 + ldrb r0, [r0] + strb r0, [r7, #0x14] + ldr r0, [r7] + bl sub_02074640 + strb r0, [r7, #0x13] + mov r0, #0 + strh r0, [r7, #0x18] + strb r0, [r7, #0x12] + ldr r0, [r5, #0xc] + bl sub_0202D95C + str r0, [r7, #0x20] + ldr r0, [r5, #0xc] + bl sub_02074910 + str r0, [r7, #0x1c] + ldr r0, [r5, #0xc] + bl sub_02088288 + str r0, [r7, #0x2c] + mov r0, #0 + str r0, [r7, #0x28] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r7, #0x30] + ldr r0, [r5, #0xc] + bl sub_0208828C + str r0, [r7, #0x34] + ldr r1, _0203CEDC ; =0x020FA0B0 + add r0, r7, #0 + bl sub_02089D40 + ldr r0, [r5, #0xc] + bl sub_02028E9C + add r1, r0, #0 + add r0, r7, #0 + bl sub_0208AD34 + add r0, r5, #0 + add r1, r7, #0 + bl sub_0203E4EC + mov r0, #0xe + lsl r0, r0, #6 + str r7, [r4, r0] + ldr r1, _0203CEE0 ; =sub_0203D580 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CBA8: + mov r0, #0xb + mov r1, #0x3c + bl AllocFromHeap + add r7, r0, #0 + ldr r0, [r5, #0xc] + bl sub_02074904 + str r0, [r7] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r7, #4] + mov r1, #1 + add r0, r6, #0 + strb r1, [r7, #0x11] + add r0, #0x26 + ldrb r0, [r0] + strb r0, [r7, #0x14] + strb r1, [r7, #0x13] + ldrh r0, [r6, #0x2a] + strh r0, [r7, #0x18] + mov r0, #2 + strb r0, [r7, #0x12] + ldr r0, [r5, #0xc] + bl sub_02074910 + str r0, [r7, #0x1c] + ldr r0, [r5, #0xc] + bl sub_02088288 + str r0, [r7, #0x2c] + mov r0, #0 + str r0, [r7, #0x28] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r7, #0x30] + ldr r0, [r5, #0xc] + bl sub_0208828C + str r0, [r7, #0x34] + ldr r1, _0203CEE4 ; =0x020FA0AC + add r0, r7, #0 + bl sub_02089D40 + ldr r0, [r5, #0xc] + bl sub_02028E9C + add r1, r0, #0 + add r0, r7, #0 + bl sub_0208AD34 + add r0, r5, #0 + add r1, r7, #0 + bl sub_0203E4EC + mov r0, #0xb + mov r1, #4 + bl AllocFromHeap + ldrh r1, [r6, #0x28] + strh r1, [r0] + mov r1, #0 + strh r1, [r0, #2] + mov r1, #0xe1 + lsl r1, r1, #2 + str r0, [r4, r1] + sub r0, r1, #4 + str r7, [r4, r0] + ldr r1, _0203CEE0 ; =sub_0203D580 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CC3E: + mov r0, #0xb + mov r1, #0x3c + bl AllocFromHeap + add r7, r0, #0 + ldr r0, [r5, #0xc] + bl sub_02074904 + str r0, [r7] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r7, #4] + mov r1, #1 + add r0, r6, #0 + strb r1, [r7, #0x11] + add r0, #0x26 + ldrb r0, [r0] + strb r0, [r7, #0x14] + strb r1, [r7, #0x13] + ldrh r0, [r6, #0x2a] + strh r0, [r7, #0x18] + mov r0, #2 + strb r0, [r7, #0x12] + ldr r0, [r5, #0xc] + bl sub_02074910 + str r0, [r7, #0x1c] + ldr r0, [r5, #0xc] + bl sub_02088288 + str r0, [r7, #0x2c] + mov r0, #0 + str r0, [r7, #0x28] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r7, #0x30] + ldr r0, [r5, #0xc] + bl sub_0208828C + str r0, [r7, #0x34] + ldr r1, _0203CEE4 ; =0x020FA0AC + add r0, r7, #0 + bl sub_02089D40 + ldr r0, [r5, #0xc] + bl sub_02028E9C + add r1, r0, #0 + add r0, r7, #0 + bl sub_0208AD34 + add r0, r5, #0 + add r1, r7, #0 + bl sub_0203E4EC + mov r0, #0xb + mov r1, #4 + bl AllocFromHeap + mov r1, #0 + strh r1, [r0] + ldr r1, [r6, #0x38] + strh r1, [r0, #2] + mov r1, #0xe1 + lsl r1, r1, #2 + str r0, [r4, r1] + sub r0, r1, #4 + str r7, [r4, r0] + ldr r1, _0203CEE0 ; =sub_0203D580 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CCD4: + ldrh r0, [r6, #0x28] + bl sub_02078078 + add r3, r0, #0 + mov r0, #0xb + add r2, r6, #0 + str r0, [sp] + add r2, #0x26 + ldrb r2, [r2] + add r0, r5, #0 + mov r1, #2 + bl sub_0203EFEC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + add r0, r6, #0 + add r0, #0x24 + ldrb r0, [r0] + cmp r0, #0xa + ldrh r0, [r6, #0x28] + bne _0203CD0E + add r2, r6, #0 + add r2, #0x26 + ldrb r2, [r2] + mov r1, #0 + bl sub_0203D818 + b _0203CD1A +_0203CD0E: + add r2, r6, #0 + add r2, #0x26 + ldrb r2, [r2] + mov r1, #1 + bl sub_0203D818 +_0203CD1A: + mov r1, #0xe1 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r1, _0203CEE8 ; =sub_0203D830 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CD2A: + ldr r0, [r5, #0xc] + bl sub_02074904 + add r1, r6, #0 + add r1, #0x26 + ldrb r1, [r1] + bl sub_02074644 + add r1, r0, #0 + add r0, r5, #0 + mov r2, #0xb + bl sub_0203F050 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + add r2, r6, #0 + add r2, #0x26 + ldrh r0, [r6, #0x28] + ldrb r2, [r2] + mov r1, #2 + bl sub_0203D818 + mov r1, #0xe1 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r1, _0203CEE8 ; =sub_0203D830 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CD68: + mov r0, #0xb + mov r1, #4 + bl AllocFromHeap + add r1, r6, #0 + add r1, #0x26 + ldrb r1, [r1] + str r1, [r0] + mov r1, #0xe1 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r0, [r5, #0xc] + bl sub_0207879C + add r7, r0, #0 + ldr r0, [r5, #0xc] + bl sub_02028E9C + ldr r1, _0203CEEC ; =0x020FA0B8 + add r0, r7, #0 + mov r2, #0xb + bl sub_02078644 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + add r3, r5, #0 + str r0, [sp] + add r3, #0x94 + ldr r0, [r4, r1] + ldr r1, [r5, #0xc] + ldr r3, [r3] + mov r2, #1 + bl sub_0207789C + mov r1, #0xe + lsl r1, r1, #6 + ldr r1, [r4, r1] + add r0, r5, #0 + bl sub_0203E3D4 + ldr r1, _0203CEF0 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CDCA: + mov r0, #0xb + mov r1, #0xc + bl AllocFromHeap + ldrh r1, [r6, #0x28] + strh r1, [r0, #2] + mov r1, #3 + strb r1, [r0, #1] + add r1, r6, #0 + add r1, #0x26 + ldrb r1, [r1] + strb r1, [r0] + ldrh r1, [r6, #0x3c] + strh r1, [r0, #4] + ldr r1, [r6, #0x40] + str r1, [r0, #8] + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + mov r0, #8 + strh r0, [r4, #0x26] + b _0203CEFE +_0203CDF6: + mov r0, #0xb + mov r1, #0xc + bl AllocFromHeap + add r7, r0, #0 + ldr r0, [r5, #0x20] + ldr r0, [r0] + bl sub_0203B60C + strh r0, [r7, #2] + mov r0, #0 + strb r0, [r7, #1] + add r0, r6, #0 + add r0, #0x26 + ldrb r0, [r0] + strb r0, [r7] + ldrh r0, [r6, #0x3c] + strh r0, [r7, #4] + ldr r0, [r6, #0x40] + str r0, [r7, #8] + mov r0, #0xe + lsl r0, r0, #6 + str r7, [r4, r0] + mov r0, #8 + strh r0, [r4, #0x26] + b _0203CEFE +_0203CE2A: + sub r0, #0xb + add r1, sp, #4 + strh r0, [r1, #6] + add r0, r6, #0 + add r0, #0x26 + ldrb r0, [r0] + strh r0, [r1, #4] + str r7, [sp, #4] + ldrh r1, [r1, #6] + mov r0, #0 + bl sub_02067DF4 + mov r1, #0x37 + lsl r1, r1, #4 + add r2, r0, #0 + add r0, sp, #4 + add r1, r4, r1 + blx r2 + b _0203CEFE +_0203CE50: + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203CEF0 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CE6C: + add r0, r6, #0 + add r0, #0x24 + ldrb r0, [r0] + cmp r0, #5 + beq _0203CE86 + cmp r0, #6 + beq _0203CE86 + cmp r0, #7 + beq _0203CE86 + cmp r0, #0x10 + beq _0203CE86 + cmp r0, #8 + bne _0203CEBA +_0203CE86: + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r2, #0xe + lsl r2, r2, #6 + str r0, [r4, r2] + add r0, r6, #0 + add r0, #0x26 + ldrb r1, [r0] + ldr r0, [r4, r2] + cmp r1, #6 + blo _0203CEAC + mov r1, #0 + bl sub_020778E0 + b _0203CEB0 +_0203CEAC: + bl sub_020778E0 +_0203CEB0: + ldr r1, _0203CEF0 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE +_0203CEBA: + cmp r0, #9 + bne _0203CEF4 + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203CEF0 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203CEFE + nop +_0203CEDC: .word 0x020FA0B0 +_0203CEE0: .word sub_0203D580 +_0203CEE4: .word 0x020FA0AC +_0203CEE8: .word sub_0203D830 +_0203CEEC: .word 0x020FA0B8 +_0203CEF0: .word sub_0203CFC0 +_0203CEF4: + add r0, r5, #0 + bl sub_020505C0 + mov r0, #0xf + strh r0, [r4, #0x26] +_0203CEFE: + add r0, r6, #0 + bl FreeToHeap + mov r0, #0 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203CA9C + + thumb_func_start sub_0203CF0C +sub_0203CF0C: ; 0x0203CF0C + push {r4, lr} + bl sub_02050650 + add r4, r0, #0 + mov r0, #0 + bl ov01_021E636C + mov r0, #0xd5 + ldr r1, _0203CF2C ; =sub_0203CF30 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #4 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r4, pc} + nop +_0203CF2C: .word sub_0203CF30 + thumb_func_end sub_0203CF0C + + thumb_func_start sub_0203CF30 +sub_0203CF30: ; 0x0203CF30 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + mov r1, #0xd6 + add r4, r0, #0 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #0 + bl sub_020778E0 + mov r0, #0xd5 + ldr r1, _0203CF70 ; =sub_0203CFC0 + lsl r0, r0, #2 + str r1, [r4, r0] + add r0, r5, #0 + bl ov01_021F4440 + mov r0, #0 + pop {r3, r4, r5, pc} + nop +_0203CF70: .word sub_0203CFC0 + thumb_func_end sub_0203CF30 + + thumb_func_start sub_0203CF74 +sub_0203CF74: ; 0x0203CF74 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r6, r2, #0 + mov r1, #0 + mov r2, #0x44 + add r5, r0, #0 + bl memset + ldr r0, [r4, #0xc] + bl sub_02074904 + str r0, [r5] + ldr r0, [r4, #0xc] + bl sub_0207879C + str r0, [r5, #4] + ldr r0, [r4, #0xc] + bl sub_0202B50C + str r0, [r5, #8] + ldr r0, [r4, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r5, #0xc] + mov r0, #0x37 + lsl r0, r0, #4 + add r0, r6, r0 + str r0, [r5, #0x18] + add r0, r5, #0 + mov r1, #0 + add r0, #0x25 + strb r1, [r0] + mov r0, #0x43 + lsl r0, r0, #2 + str r4, [r5, #0x1c] + add r0, r4, r0 + str r0, [r5, #0x20] + pop {r4, r5, r6, pc} + thumb_func_end sub_0203CF74 + + thumb_func_start sub_0203CFC0 +sub_0203CFC0: ; 0x0203CFC0 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x18 + add r5, r0, #0 + bl sub_0205064C + str r0, [sp, #8] + add r0, r5, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xb + bl sub_02077878 + add r7, r0, #0 + bl sub_02077890 + mov r1, #0xe + lsl r1, r1, #6 + add r2, r0, #0 + ldr r1, [r4, r1] + add r0, r7, #0 + bl memcpy + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl FreeToHeap + add r0, r7, #0 + bl sub_0207790C + cmp r0, #5 + bls _0203D004 + b _0203D186 +_0203D004: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203D010: ; jump table + .short _0203D01C - _0203D010 - 2 ; case 0 + .short _0203D056 - _0203D010 - 2 ; case 1 + .short _0203D066 - _0203D010 - 2 ; case 2 + .short _0203D186 - _0203D010 - 2 ; case 3 + .short _0203D0AC - _0203D010 - 2 ; case 4 + .short _0203D186 - _0203D010 - 2 ; case 5 +_0203D01C: + add r0, r7, #0 + bl sub_02077904 + add r1, sp, #0x10 + strh r0, [r1, #4] + add r0, r7, #0 + bl sub_02077914 + add r1, sp, #0x10 + strb r0, [r1, #6] + str r5, [sp, #0x10] + ldrh r0, [r1, #4] + mov r1, #6 + mov r2, #0xb + bl sub_02077D88 + add r1, r0, #0 + lsl r1, r1, #0x10 + mov r0, #0 + lsr r1, r1, #0x10 + bl sub_02064980 + mov r1, #0xd6 + lsl r1, r1, #2 + add r2, r0, #0 + add r0, sp, #0x10 + add r1, r4, r1 + blx r2 + b _0203D190 +_0203D056: + add r0, r7, #0 + bl sub_02077904 + add r1, r0, #0 + add r0, r5, #0 + bl sub_0203D664 + b _0203D190 +_0203D066: + mov r0, #0xb + mov r1, #0x44 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x44 + add r5, r0, #0 + bl memset + ldr r1, [sp, #8] + add r0, r5, #0 + add r2, r4, #0 + bl sub_0203CF74 + add r0, r5, #0 + mov r1, #9 + add r0, #0x24 + strb r1, [r0] + add r0, r7, #0 + bl sub_02077904 + strh r0, [r5, #0x28] + ldr r0, [sp, #8] + ldr r1, _0203D19C ; =0x0210159C + add r2, r5, #0 + bl SwitchToPokegearApp + mov r0, #0xe + lsl r0, r0, #6 + str r5, [r4, r0] + ldr r1, _0203D1A0 ; =sub_0203CA9C + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D190 +_0203D0AC: + ldr r0, [sp, #8] + ldr r0, [r0, #0xc] + bl sub_02074904 + str r0, [sp, #4] + mov r0, #0xe1 + lsl r0, r0, #2 + ldr r0, [r4, r0] + ldr r6, [r0] + add r0, r7, #0 + bl sub_02077904 + add r5, r0, #0 + ldr r0, [sp, #4] + add r1, r6, #0 + bl sub_02074644 + str r0, [sp, #0xc] + mov r0, #0xe1 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FreeToHeap + add r0, r5, #0 + bl sub_02078068 + cmp r0, #1 + bne _0203D12C + ldr r0, [sp, #0xc] + mov r1, #6 + mov r2, #0 + bl sub_0206E540 + cmp r0, #0 + bne _0203D12C + add r0, r5, #0 + bl sub_02078078 + add r3, r0, #0 + mov r0, #0xb + str r0, [sp] + lsl r2, r6, #0x18 + ldr r0, [sp, #8] + mov r1, #2 + lsr r2, r2, #0x18 + bl sub_0203EFEC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + lsl r2, r6, #0x18 + add r0, r5, #0 + mov r1, #0 + lsr r2, r2, #0x18 + bl sub_0203D818 + mov r1, #0xe1 + lsl r1, r1, #2 + str r0, [r4, r1] + ldr r1, _0203D1A4 ; =sub_0203D830 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D190 +_0203D12C: + mov r0, #0xb + mov r1, #0x44 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x44 + add r5, r0, #0 + bl memset + ldr r1, [sp, #8] + add r0, r5, #0 + add r2, r4, #0 + bl sub_0203CF74 + ldr r0, [sp, #4] + str r0, [r5] + add r0, r7, #0 + bl sub_02077904 + strh r0, [r5, #0x28] + add r0, r5, #0 + add r0, #0x26 + strb r6, [r0] + ldrh r0, [r5, #0x28] + cmp r0, #0 + bne _0203D164 + mov r1, #0 + b _0203D166 +_0203D164: + mov r1, #0xa +_0203D166: + add r0, r5, #0 + add r0, #0x24 + strb r1, [r0] + ldr r0, [sp, #8] + ldr r1, _0203D19C ; =0x0210159C + add r2, r5, #0 + bl SwitchToPokegearApp + mov r0, #0xe + lsl r0, r0, #6 + str r5, [r4, r0] + ldr r1, _0203D1A0 ; =sub_0203CA9C + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D190 +_0203D186: + ldr r0, [sp, #8] + bl sub_020505C0 + mov r0, #0xf + strh r0, [r4, #0x26] +_0203D190: + add r0, r7, #0 + bl FreeToHeap + mov r0, #0 + add sp, #0x18 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203D19C: .word 0x0210159C +_0203D1A0: .word sub_0203CA9C +_0203D1A4: .word sub_0203D830 + thumb_func_end sub_0203CFC0 + + thumb_func_start sub_0203D1A8 +sub_0203D1A8: ; 0x0203D1A8 + push {r4, lr} + bl sub_02050650 + add r4, r0, #0 + mov r0, #0 + bl ov01_021E636C + mov r0, #0xd5 + ldr r1, _0203D1C8 ; =sub_0203D1CC + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #4 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r4, pc} + nop +_0203D1C8: .word sub_0203D1CC + thumb_func_end sub_0203D1A8 + + thumb_func_start sub_0203D1CC +sub_0203D1CC: ; 0x0203D1CC + push {r4, r5, r6, lr} + sub sp, #8 + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xb + bl sub_020691C4 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r6, [r4, r1] + mov r0, #1 + str r5, [sp] + add r1, r0, #0 + mov r2, #0 + mov r3, #0xff + str r6, [sp, #4] + bl sub_02068FC8 + add r0, r5, #0 + add r1, r6, #0 + bl sub_0203F7B0 + mov r0, #0xd5 + ldr r1, _0203D214 ; =sub_0203D218 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #0 + add sp, #8 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203D214: .word sub_0203D218 + thumb_func_end sub_0203D1CC + + thumb_func_start sub_0203D218 +sub_0203D218: ; 0x0203D218 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl sub_020691E0 + add r0, r5, #0 + bl sub_020505C0 + mov r0, #0xf + strh r0, [r4, #0x26] + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203D218 + + thumb_func_start sub_0203D244 +sub_0203D244: ; 0x0203D244 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0205064C + mov r1, #1 + mov r2, #0 + bl ov01_021F6A9C + mov r0, #6 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203D244 + + thumb_func_start sub_0203D264 +sub_0203D264: ; 0x0203D264 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl ov01_021F6B00 + cmp r0, #1 + bne _0203D284 + mov r0, #7 + strh r0, [r4, #0x26] +_0203D284: + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203D264 + + thumb_func_start sub_0203D288 +sub_0203D288: ; 0x0203D288 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl ov01_021F6B00 + cmp r0, #0 + bne _0203D2C8 + add r0, r5, #0 + bl ov01_021F6B10 + cmp r0, #1 + bne _0203D2C8 + add r0, r5, #0 + add r0, #0xd0 + ldrh r0, [r0] + cmp r0, #1 + bne _0203D2C4 + mov r0, #0 + add r5, #0xd0 + strh r0, [r5] + mov r0, #0x10 + strh r0, [r4, #0x26] + pop {r3, r4, r5, pc} +_0203D2C4: + mov r0, #3 + strh r0, [r4, #0x26] +_0203D2C8: + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203D288 + + thumb_func_start sub_0203D2CC +sub_0203D2CC: ; 0x0203D2CC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0205064C + mov r1, #8 + mov r2, #0 + bl ov01_021F6A9C + mov r0, #0x13 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203D2CC + + thumb_func_start sub_0203D2EC +sub_0203D2EC: ; 0x0203D2EC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0205064C + mov r0, #0x14 + strh r0, [r4, #0x26] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203D2EC + + thumb_func_start sub_0203D304 +sub_0203D304: ; 0x0203D304 + push {r4, lr} + add r4, r0, #0 + bl sub_0205064C + add r0, r4, #0 + bl sub_02050650 + mov r1, #0x10 + strh r1, [r0, #0x26] + pop {r4, pc} + thumb_func_end sub_0203D304 + + thumb_func_start sub_0203D318 +sub_0203D318: ; 0x0203D318 + push {r4, lr} + bl sub_02050650 + add r4, r0, #0 + mov r0, #0 + bl ov01_021E636C + mov r0, #0xd5 + ldr r1, _0203D338 ; =sub_0203D33C + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #4 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r4, pc} + nop +_0203D338: .word sub_0203D33C + thumb_func_end sub_0203D318 + + thumb_func_start sub_0203D33C +sub_0203D33C: ; 0x0203D33C + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203EE24 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r0, _0203D364 ; =sub_0203D368 + sub r1, #0x2c + str r0, [r4, r1] + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203D364: .word sub_0203D368 + thumb_func_end sub_0203D33C + + thumb_func_start sub_0203D368 +sub_0203D368: ; 0x0203D368 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl FreeToHeap + add r0, r5, #0 + bl sub_020505C0 + mov r0, #0xf + strh r0, [r4, #0x26] + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203D368 + + thumb_func_start sub_0203D394 +sub_0203D394: ; 0x0203D394 + push {r4, lr} + bl sub_02050650 + add r4, r0, #0 + mov r0, #0 + bl ov01_021E636C + mov r0, #0xd5 + ldr r1, _0203D3B4 ; =sub_0203D3B8 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #4 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r4, pc} + nop +_0203D3B4: .word sub_0203D3B8 + thumb_func_end sub_0203D394 + + thumb_func_start sub_0203D3B8 +sub_0203D3B8: ; 0x0203D3B8 + push {r4, r5, lr} + sub sp, #0xc + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xb + str r0, [sp] + mov r3, #0x43 + lsl r3, r3, #2 + ldr r2, [r5, #0xc] + mov r0, #2 + mov r1, #0 + add r3, r5, r3 + bl sub_02090C94 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + add r0, sp, #4 + mov r1, #4 + bl MailMsg_init_withBank + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + add r1, sp, #4 + bl sub_02090D20 + mov r1, #0xe + lsl r1, r1, #6 + ldr r1, [r4, r1] + add r0, r5, #0 + bl sub_0203EA24 + mov r0, #0xd5 + ldr r1, _0203D414 ; =sub_0203D418 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #0 + add sp, #0xc + pop {r4, r5, pc} + .balign 4, 0 +_0203D414: .word sub_0203D418 + thumb_func_end sub_0203D3B8 + + thumb_func_start sub_0203D418 +sub_0203D418: ; 0x0203D418 + push {r3, r4, r5, lr} + sub sp, #8 + add r5, r0, #0 + bl sub_0205064C + add r4, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r5, r0, #0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r5, r0] + bl sub_02090D48 + cmp r0, #0 + bne _0203D466 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r5, r0] + add r1, sp, #0 + bl sub_02090D60 + bl sub_02035650 + cmp r0, #0 + beq _0203D460 + add r0, sp, #0 + bl sub_0205AB88 + add r0, r4, #0 + add r0, #0x80 + ldr r0, [r0] + add r1, sp, #0 + bl sub_0205AA6C +_0203D460: + mov r0, #0xa + strh r0, [r5, #0x26] + b _0203D46A +_0203D466: + mov r0, #0xf + strh r0, [r5, #0x26] +_0203D46A: + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r5, r0] + bl sub_02090D0C + add r0, r4, #0 + bl sub_020505C0 + add r4, #0x84 + ldr r0, [r4] + bl sub_0205AD0C + mov r0, #0 + add sp, #8 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203D418 + + thumb_func_start sub_0203D488 +sub_0203D488: ; 0x0203D488 + push {r4, r5, r6, lr} + add r5, r0, #0 + bl sub_0205064C + add r4, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r1, r4, #0 + add r6, r0, #0 + bl sub_0203C38C + add r0, r4, #0 + add r0, #0xd2 + ldrb r1, [r0] + mov r0, #0x3f + bic r1, r0 + add r0, r4, #0 + add r0, #0xd2 + strb r1, [r0] + ldr r0, [r4, #0xc] + bl sub_020503D0 + bl sub_02066860 + cmp r0, #1 + bne _0203D4CA + ldr r1, _0203D4F8 ; =0x00002266 + add r0, r5, #0 + mov r2, #0 + bl sub_0203FF0C + b _0203D4EE +_0203D4CA: + ldr r0, [r4, #0xc] + bl sub_020503D0 + bl sub_02066870 + cmp r0, #1 + bne _0203D4E4 + ldr r1, _0203D4FC ; =0x000028A4 + add r0, r5, #0 + mov r2, #0 + bl sub_0203FF0C + b _0203D4EE +_0203D4E4: + add r0, r5, #0 + mov r1, #4 + mov r2, #0 + bl sub_0203FF0C +_0203D4EE: + add r0, r6, #0 + bl FreeToHeap + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203D4F8: .word 0x00002266 +_0203D4FC: .word 0x000028A4 + thumb_func_end sub_0203D488 + + thumb_func_start sub_0203D500 +sub_0203D500: ; 0x0203D500 + push {r4, lr} + bl sub_02050650 + add r4, r0, #0 + mov r0, #0 + bl ov01_021E636C + mov r0, #0xd5 + ldr r1, _0203D520 ; =sub_0203D524 + lsl r0, r0, #2 + str r1, [r4, r0] + mov r0, #4 + strh r0, [r4, #0x26] + mov r0, #1 + pop {r4, pc} + nop +_0203D520: .word sub_0203D524 + thumb_func_end sub_0203D500 + + thumb_func_start sub_0203D524 +sub_0203D524: ; 0x0203D524 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203EA84 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r0, _0203D54C ; =sub_0203D550 + sub r1, #0x2c + str r0, [r4, r1] + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203D54C: .word sub_0203D550 + thumb_func_end sub_0203D524 + + thumb_func_start sub_0203D550 +sub_0203D550: ; 0x0203D550 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_020505C0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r1, [r4, r0] + cmp r1, #0 + beq _0203D578 + mov r0, #0xb + bl FreeToHeapExplicit +_0203D578: + mov r0, #0xf + strh r0, [r4, #0x26] + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203D550 + + thumb_func_start sub_0203D580 +sub_0203D580: ; 0x0203D580 + push {r3, r4, r5, r6, r7, lr} + add r4, r0, #0 + bl sub_0205064C + str r0, [sp] + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xb + mov r1, #0x3c + bl AllocFromHeap + mov r1, #0xe + lsl r1, r1, #6 + ldr r1, [r4, r1] + mov r2, #0x3c + add r6, r0, #0 + bl memcpy + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl FreeToHeap + ldrb r0, [r6, #0x12] + cmp r0, #2 + bne _0203D634 + mov r0, #0xb + mov r1, #0x44 + bl AllocFromHeap + mov r1, #0xe1 + lsl r1, r1, #2 + ldr r7, [r4, r1] + ldr r1, [sp] + add r2, r4, #0 + add r5, r0, #0 + bl sub_0203CF74 + ldrh r0, [r7] + strh r0, [r5, #0x28] + add r0, r5, #0 + ldrb r1, [r6, #0x14] + add r0, #0x26 + strb r1, [r0] + ldrh r0, [r6, #0x18] + strh r0, [r5, #0x2a] + add r0, r5, #0 + ldrb r1, [r6, #0x16] + add r0, #0x2c + strb r1, [r0] + ldrh r0, [r7] + cmp r0, #0 + beq _0203D5FA + add r0, r5, #0 + mov r1, #7 + add r0, #0x24 + strb r1, [r0] + mov r0, #0 + b _0203D604 +_0203D5FA: + add r0, r5, #0 + mov r1, #8 + add r0, #0x24 + strb r1, [r0] + ldrh r0, [r7, #2] +_0203D604: + str r0, [r5, #0x38] + mov r1, #0x43 + ldr r0, [sp] + lsl r1, r1, #2 + add r0, r0, r1 + str r0, [r5, #0x20] + ldr r0, [sp] + ldr r1, _0203D65C ; =0x0210159C + add r2, r5, #0 + bl SwitchToPokegearApp + mov r0, #0xe1 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FreeToHeap + mov r0, #0xe + lsl r0, r0, #6 + str r5, [r4, r0] + ldr r1, _0203D660 ; =sub_0203CA9C + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D650 +_0203D634: + mov r1, #0x37 + lsl r1, r1, #4 + ldrb r2, [r6, #0x14] + ldr r0, [sp] + add r1, r4, r1 + bl sub_0203E550 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D660 ; =sub_0203CA9C + add r0, r4, #0 + bl sub_0203C8F0 +_0203D650: + add r0, r6, #0 + bl FreeToHeap + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203D65C: .word 0x0210159C +_0203D660: .word sub_0203CA9C + thumb_func_end sub_0203D580 + + thumb_func_start sub_0203D664 +sub_0203D664: ; 0x0203D664 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r4, r0, #0 + bl sub_0205064C + str r0, [sp, #4] + add r0, r4, #0 + bl sub_02050650 + str r0, [sp] + ldr r0, [sp, #4] + ldr r0, [r0, #0xc] + bl sub_0207879C + add r4, r0, #0 + mov r5, #0 + mov r6, #1 + mov r7, #0xb +_0203D688: + add r0, r5, #0 + bl sub_020780F4 + add r1, r0, #0 + add r0, r4, #0 + add r2, r6, #0 + add r3, r7, #0 + bl sub_020784B0 + add r0, r5, #1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x40 + blo _0203D688 + ldr r0, [sp, #4] + add r3, sp, #8 + add r0, #0x94 + str r0, [sp, #4] + ldr r0, [r0] + mov r1, #4 + add r2, sp, #8 + add r3, #1 + bl sub_020787C0 + ldr r0, [sp] + ldr r1, _0203D6C4 ; =sub_0203D6C8 + bl sub_0203C8F0 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0203D6C4: .word sub_0203D6C8 + thumb_func_end sub_0203D664 + + thumb_func_start sub_0203D6C8 +sub_0203D6C8: ; 0x0203D6C8 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + add r0, #0x94 + mov r2, #0 + ldr r0, [r0] + mov r1, #4 + add r3, r2, #0 + bl sub_020787D4 + mov r1, #0xe + lsl r1, r1, #6 + ldr r1, [r4, r1] + mov r0, #0xb + bl FreeToHeapExplicit + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D714 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203D714: .word sub_0203CFC0 + thumb_func_end sub_0203D6C8 + + thumb_func_start sub_0203D718 +sub_0203D718: ; 0x0203D718 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + mov r1, #0xe + add r4, r0, #0 + lsl r1, r1, #6 + ldr r1, [r4, r1] + mov r0, #0xb + bl FreeToHeapExplicit + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D754 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203D754: .word sub_0203CFC0 + thumb_func_end sub_0203D718 + + thumb_func_start sub_0203D758 +sub_0203D758: ; 0x0203D758 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r4, r0, #0 + bl sub_0205064C + add r7, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xe1 + lsl r0, r0, #2 + ldr r1, [r4, r0] + mov r0, #0xb + ldr r6, [r1] + bl FreeToHeapExplicit + mov r0, #0xe + lsl r0, r0, #6 + ldr r5, [r4, r0] + ldr r0, [r5, #0x14] + cmp r0, #0 + bne _0203D7AE + mov r0, #0xb + add r1, r5, #0 + bl FreeToHeapExplicit + mov r1, #0x37 + lsl r1, r1, #4 + lsl r2, r6, #0x18 + add r0, r7, #0 + add r1, r4, r1 + lsr r2, r2, #0x18 + bl sub_0203E550 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D810 ; =sub_0203CA9C + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D808 +_0203D7AE: + ldr r0, [r7, #0xc] + bl sub_02074904 + add r1, r6, #0 + bl sub_02074644 + add r2, r0, #0 + ldrh r0, [r5, #0x20] + lsl r3, r6, #0x10 + add r1, r7, #0 + str r0, [sp] + ldr r0, [r5, #0x18] + lsr r3, r3, #0x10 + lsl r0, r0, #5 + add r0, #0x10 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + str r0, [sp, #4] + ldr r0, [r5, #0x1c] + lsl r0, r0, #5 + add r0, #0x10 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + str r0, [sp, #8] + mov r0, #0xb + bl sub_02067BF8 + mov r1, #0xe + lsl r1, r1, #6 + add r5, r0, #0 + ldr r1, [r4, r1] + mov r0, #0xb + bl FreeToHeapExplicit + add r0, r7, #0 + bl sub_020505C0 + mov r0, #0xd5 + ldr r1, _0203D814 ; =sub_02067C30 + lsl r0, r0, #2 + str r1, [r4, r0] + add r0, #0x2c + str r5, [r4, r0] + mov r0, #0xc + strh r0, [r4, #0x26] +_0203D808: + mov r0, #0 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop +_0203D810: .word sub_0203CA9C +_0203D814: .word sub_02067C30 + thumb_func_end sub_0203D758 + + thumb_func_start sub_0203D818 +sub_0203D818: ; 0x0203D818 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + mov r0, #0xb + mov r1, #4 + add r6, r2, #0 + bl AllocFromHeap + strh r5, [r0] + strb r6, [r0, #2] + strb r4, [r0, #3] + pop {r4, r5, r6, pc} + thumb_func_end sub_0203D818 + + thumb_func_start sub_0203D830 +sub_0203D830: ; 0x0203D830 + push {r4, r5, r6, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xe1 + lsl r0, r0, #2 + ldr r6, [r4, r0] + ldrb r1, [r6, #3] + cmp r1, #3 + bhi _0203D928 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203D85A: ; jump table + .short _0203D8AC - _0203D85A - 2 ; case 0 + .short _0203D8EC - _0203D85A - 2 ; case 1 + .short _0203D886 - _0203D85A - 2 ; case 2 + .short _0203D862 - _0203D85A - 2 ; case 3 +_0203D862: + sub r0, r0, #4 + ldr r0, [r4, r0] + bl sub_02090F90 + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D938 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D928 +_0203D886: + sub r0, r0, #4 + ldr r0, [r4, r0] + bl sub_02090F90 + mov r1, #0x37 + lsl r1, r1, #4 + ldrb r2, [r6, #2] + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E550 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D93C ; =sub_0203CA9C + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D928 +_0203D8AC: + sub r0, r0, #4 + ldr r0, [r4, r0] + bl sub_02090F6C + cmp r0, #1 + bne _0203D8C4 + add r0, r5, #0 + add r1, r4, #0 + mov r2, #0xc + bl sub_0203D940 + b _0203D928 +_0203D8C4: + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl sub_02090F90 + mov r1, #0x37 + lsl r1, r1, #4 + ldrb r2, [r6, #2] + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E550 + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D93C ; =sub_0203CA9C + add r0, r4, #0 + bl sub_0203C8F0 + b _0203D928 +_0203D8EC: + sub r0, r0, #4 + ldr r0, [r4, r0] + bl sub_02090F6C + cmp r0, #1 + bne _0203D904 + add r0, r5, #0 + add r1, r4, #0 + mov r2, #0xb + bl sub_0203D940 + b _0203D928 +_0203D904: + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl sub_02090F90 + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D938 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 +_0203D928: + mov r0, #0xe1 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FreeToHeap + mov r0, #0 + pop {r4, r5, r6, pc} + nop +_0203D938: .word sub_0203CFC0 +_0203D93C: .word sub_0203CA9C + thumb_func_end sub_0203D830 + + thumb_func_start sub_0203D940 +sub_0203D940: ; 0x0203D940 + push {r3, r4, r5, r6, r7, lr} + add r7, r0, #0 + mov r0, #0xe1 + add r5, r1, #0 + str r2, [sp] + lsl r0, r0, #2 + ldr r6, [r5, r0] + mov r0, #0xb + mov r1, #0x44 + bl AllocFromHeap + add r1, r7, #0 + add r2, r5, #0 + add r4, r0, #0 + bl sub_0203CF74 + ldrh r0, [r6] + strh r0, [r4, #0x28] + add r0, r4, #0 + ldrb r1, [r6, #2] + add r0, #0x26 + strb r1, [r0] + add r1, r4, #0 + ldr r0, [sp] + add r1, #0x24 + strb r0, [r1] + ldrb r1, [r6, #2] + ldr r0, [r4] + bl sub_02074644 + add r1, r0, #0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r5, r0] + bl sub_02090F70 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r5, r0] + bl sub_02090F90 + ldr r1, _0203D9AC ; =0x0210159C + add r0, r7, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + mov r0, #0xe + lsl r0, r0, #6 + str r4, [r5, r0] + ldr r1, _0203D9B0 ; =sub_0203CA9C + add r0, r5, #0 + bl sub_0203C8F0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203D9AC: .word 0x0210159C +_0203D9B0: .word sub_0203CA9C + thumb_func_end sub_0203D940 + + thumb_func_start sub_0203D9B4 +sub_0203D9B4: ; 0x0203D9B4 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + mov r1, #0xd6 + add r4, r0, #0 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r1, _0203D9E4 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203D9E4: .word sub_0203CFC0 + thumb_func_end sub_0203D9B4 + + thumb_func_start sub_0203D9E8 +sub_0203D9E8: ; 0x0203D9E8 + push {r4, r5, r6, r7, lr} + sub sp, #0x3c + add r5, r0, #0 + bl sub_0205064C + add r4, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r6, r0, #0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r5, [r6, r0] + bl sub_02005FA0 + mov r0, #3 + mov r1, #0x47 + lsl r2, r0, #0x10 + bl sub_0201A910 + ldr r0, [r4, #0xc] + bl sub_02074904 + ldrb r1, [r5] + str r0, [sp, #0x1c] + bl sub_02074644 + str r0, [sp, #0x20] + ldrb r0, [r5, #1] + cmp r0, #0 + ldr r0, [r4, #0xc] + bne _0203DA72 + bl Sav2_PlayerData_GetOptionsAddr + str r0, [sp, #0x24] + ldr r0, [r4, #0xc] + bl sub_02088288 + add r7, r0, #0 + ldr r0, [r4, #0xc] + bl sub_0202A634 + str r0, [sp, #0x28] + ldr r0, [r4, #0xc] + bl sub_0207879C + str r0, [sp, #0x2c] + ldr r0, [r4, #0xc] + bl sub_0202CF54 + ldr r1, [sp, #0x28] + str r7, [sp] + str r1, [sp, #4] + ldr r1, [sp, #0x2c] + ldr r3, [sp, #0x24] + str r1, [sp, #8] + str r0, [sp, #0xc] + ldr r0, [r5, #8] + ldr r1, [sp, #0x20] + str r0, [sp, #0x10] + mov r0, #1 + str r0, [sp, #0x14] + mov r0, #0x47 + str r0, [sp, #0x18] + ldrh r2, [r5, #4] + ldr r0, [sp, #0x1c] + bl sub_02075A7C + b _0203DABA +_0203DA72: + bl Sav2_PlayerData_GetOptionsAddr + str r0, [sp, #0x30] + ldr r0, [r4, #0xc] + bl sub_02088288 + add r7, r0, #0 + ldr r0, [r4, #0xc] + bl sub_0202A634 + str r0, [sp, #0x34] + ldr r0, [r4, #0xc] + bl sub_0207879C + str r0, [sp, #0x38] + ldr r0, [r4, #0xc] + bl sub_0202CF54 + ldr r1, [sp, #0x34] + str r7, [sp] + str r1, [sp, #4] + ldr r1, [sp, #0x38] + ldr r3, [sp, #0x30] + str r1, [sp, #8] + str r0, [sp, #0xc] + ldr r0, [r5, #8] + ldr r1, [sp, #0x20] + str r0, [sp, #0x10] + mov r0, #0 + str r0, [sp, #0x14] + mov r0, #0x47 + str r0, [sp, #0x18] + ldrh r2, [r5, #4] + ldr r0, [sp, #0x1c] + bl sub_02075A7C +_0203DABA: + add r4, r0, #0 + mov r0, #0xb + mov r1, #4 + bl AllocFromHeap + ldrb r1, [r5] + str r1, [r0] + mov r1, #0xe1 + lsl r1, r1, #2 + str r0, [r6, r1] + sub r0, r1, #4 + ldr r0, [r6, r0] + bl FreeToHeap + mov r0, #0xe + lsl r0, r0, #6 + str r4, [r6, r0] + mov r0, #9 + strh r0, [r6, #0x26] + add sp, #0x3c + pop {r4, r5, r6, r7, pc} + thumb_func_end sub_0203D9E8 + + thumb_func_start sub_0203DAE4 +sub_0203DAE4: ; 0x0203DAE4 + push {r3, r4, r5, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl sub_02075D3C + cmp r0, #1 + bne _0203DB60 + mov r0, #0xe + lsl r0, r0, #6 + ldr r0, [r4, r0] + bl sub_02075D4C + mov r0, #0x47 + bl sub_0201A9C4 + ldr r0, _0203DB64 ; =0x000003F3 + mov r1, #0 + bl sub_02005EB4 + mov r0, #0 + bl sub_02004AD8 + ldr r1, [r5, #0x20] + add r0, r5, #0 + ldr r1, [r1] + bl sub_02055164 + mov r1, #0xd6 + lsl r1, r1, #2 + add r0, r5, #0 + add r1, r4, r1 + bl sub_0203E3FC + mov r1, #0xe + lsl r1, r1, #6 + str r0, [r4, r1] + ldr r0, [r4, r1] + add r1, r1, #4 + ldr r1, [r4, r1] + ldr r1, [r1] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_020778E0 + mov r0, #0xe1 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl FreeToHeap + ldr r1, _0203DB68 ; =sub_0203CFC0 + add r0, r4, #0 + bl sub_0203C8F0 +_0203DB60: + pop {r3, r4, r5, pc} + nop +_0203DB64: .word 0x000003F3 +_0203DB68: .word sub_0203CFC0 + thumb_func_end sub_0203DAE4 + + thumb_func_start sub_0203DB6C +sub_0203DB6C: ; 0x0203DB6C + bx lr + .balign 4, 0 + thumb_func_end sub_0203DB6C + + thumb_func_start sub_0203DB70 +sub_0203DB70: ; 0x0203DB70 + bx lr + .balign 4, 0 + thumb_func_end sub_0203DB70 + + thumb_func_start sub_0203DB74 +sub_0203DB74: ; 0x0203DB74 + mov r0, #1 + bx lr + thumb_func_end sub_0203DB74 + + thumb_func_start sub_0203DB78 +sub_0203DB78: ; 0x0203DB78 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + ldr r0, [r6, #0x40] + add r4, r1, #0 + add r5, r2, #0 + bl sub_0205C654 + add r7, r0, #0 + ldr r0, [r6, #0x40] + bl sub_0205C67C + str r0, [r4] + ldr r0, [r6, #0x40] + bl sub_0205C688 + str r0, [r5] + cmp r7, #3 + bhi _0203DBCE + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203DBA8: ; jump table + .short _0203DBB0 - _0203DBA8 - 2 ; case 0 + .short _0203DBB8 - _0203DBA8 - 2 ; case 1 + .short _0203DBC0 - _0203DBA8 - 2 ; case 2 + .short _0203DBC8 - _0203DBA8 - 2 ; case 3 +_0203DBB0: + ldr r0, [r5] + sub r0, r0, #1 + str r0, [r5] + b _0203DBCE +_0203DBB8: + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + b _0203DBCE +_0203DBC0: + ldr r0, [r4] + sub r0, r0, #1 + str r0, [r4] + b _0203DBCE +_0203DBC8: + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_0203DBCE: + add r0, r7, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203DB78 + + thumb_func_start sub_0203DBD4 +sub_0203DBD4: ; 0x0203DBD4 + push {r3, r4, r5, lr} + add r5, r1, #0 + bl sub_0205C6DC + bl sub_0205F9D0 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0205F9D0 + cmp r4, r0 + bne _0203DBF0 + mov r0, #1 + b _0203DBF2 +_0203DBF0: + mov r0, #0 +_0203DBF2: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203DBD4 + + thumb_func_start sub_0203DBF8 +sub_0203DBF8: ; 0x0203DBF8 + push {r4, r5, r6, lr} + sub sp, #8 + add r6, r1, #0 + add r1, sp, #4 + add r2, sp, #0 + add r5, r0, #0 + bl sub_0203DB78 + add r4, r0, #0 + ldr r1, [sp, #4] + ldr r2, [sp] + add r0, r5, #0 + bl sub_02054918 + bl sub_0205B700 + cmp r0, #1 + bne _0203DC52 + cmp r4, #3 + bhi _0203DC52 + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203DC2C: ; jump table + .short _0203DC34 - _0203DC2C - 2 ; case 0 + .short _0203DC3C - _0203DC2C - 2 ; case 1 + .short _0203DC44 - _0203DC2C - 2 ; case 2 + .short _0203DC4C - _0203DC2C - 2 ; case 3 +_0203DC34: + ldr r0, [sp] + sub r0, r0, #1 + str r0, [sp] + b _0203DC52 +_0203DC3C: + ldr r0, [sp] + add r0, r0, #1 + str r0, [sp] + b _0203DC52 +_0203DC44: + ldr r0, [sp, #4] + sub r0, r0, #1 + str r0, [sp, #4] + b _0203DC52 +_0203DC4C: + ldr r0, [sp, #4] + add r0, r0, #1 + str r0, [sp, #4] +_0203DC52: + ldr r0, [r5, #0x3c] + ldr r1, [sp, #4] + ldr r2, [sp] + mov r3, #0 + bl sub_0205FB58 + str r0, [r6] + add sp, #8 + pop {r4, r5, r6, pc} + thumb_func_end sub_0203DBF8 + + thumb_func_start sub_0203DC64 +sub_0203DC64: ; 0x0203DC64 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + bl sub_0203DBF8 + ldr r0, [r4] + cmp r0, #0 + beq _0203DC8C + bl sub_0205F6C8 + cmp r0, #1 + bne _0203DC8C + ldr r0, [r5, #0x40] + ldr r1, [r4] + bl sub_0203DBD4 + cmp r0, #1 + bne _0203DC8C + mov r0, #1 + pop {r3, r4, r5, pc} +_0203DC8C: + mov r0, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203DC64 + + thumb_func_start sub_0203DC90 +sub_0203DC90: ; 0x0203DC90 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + str r1, [sp] + str r2, [sp, #4] + add r1, sp, #0xc + add r2, sp, #8 + add r6, r0, #0 + bl sub_0203DB78 + ldr r0, [sp, #4] + mov r7, #0 + cmp r0, #0 + ble _0203DD04 + ldr r4, [sp] + add r5, r4, #0 +_0203DCAE: + ldr r1, [sp, #0xc] + ldr r0, [r4, #4] + cmp r1, r0 + bne _0203DCF8 + ldr r1, [sp, #8] + ldr r0, [r4, #8] + cmp r1, r0 + bne _0203DCF8 + ldrh r0, [r4, #2] + cmp r0, #2 + bne _0203DCDE + add r0, r6, #0 + add r1, r5, #0 + bl sub_0203DD10 + cmp r0, #1 + bne _0203DCF8 + mov r0, #0x14 + add r1, r7, #0 + mul r1, r0 + ldr r0, [sp] + add sp, #0x10 + ldrh r0, [r0, r1] + pop {r3, r4, r5, r6, r7, pc} +_0203DCDE: + add r0, r6, #0 + add r1, r5, #0 + bl sub_0203DD3C + cmp r0, #1 + bne _0203DCF8 + mov r0, #0x14 + add r1, r7, #0 + mul r1, r0 + ldr r0, [sp] + add sp, #0x10 + ldrh r0, [r0, r1] + pop {r3, r4, r5, r6, r7, pc} +_0203DCF8: + ldr r0, [sp, #4] + add r7, r7, #1 + add r4, #0x14 + add r5, #0x14 + cmp r7, r0 + blt _0203DCAE +_0203DD04: + ldr r0, _0203DD0C ; =0x0000FFFF + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203DD0C: .word 0x0000FFFF + thumb_func_end sub_0203DC90 + + thumb_func_start sub_0203DD10 +sub_0203DD10: ; 0x0203DD10 + push {r4, lr} + add r4, r0, #0 + ldrh r0, [r1, #2] + cmp r0, #2 + beq _0203DD1E + mov r0, #0 + pop {r4, pc} +_0203DD1E: + ldrh r0, [r1] + bl sub_0204055C + add r1, r0, #0 + add r0, r4, #0 + bl sub_020403FC + cmp r0, #1 + beq _0203DD34 + mov r0, #1 + b _0203DD36 +_0203DD34: + mov r0, #0 +_0203DD36: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r4, pc} + thumb_func_end sub_0203DD10 + + thumb_func_start sub_0203DD3C +sub_0203DD3C: ; 0x0203DD3C + push {r4, lr} + add r4, r1, #0 + ldrh r1, [r4, #0x10] + cmp r1, #4 + bne _0203DD4A + mov r0, #1 + pop {r4, pc} +_0203DD4A: + ldr r0, [r0, #0x40] + bl sub_0205C654 + cmp r0, #3 + bhi _0203DDA0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203DD60: ; jump table + .short _0203DD68 - _0203DD60 - 2 ; case 0 + .short _0203DD76 - _0203DD60 - 2 ; case 1 + .short _0203DD84 - _0203DD60 - 2 ; case 2 + .short _0203DD92 - _0203DD60 - 2 ; case 3 +_0203DD68: + ldrh r0, [r4, #0x10] + cmp r0, #0 + beq _0203DD72 + cmp r0, #6 + bne _0203DDA0 +_0203DD72: + mov r0, #1 + pop {r4, pc} +_0203DD76: + ldrh r0, [r4, #0x10] + cmp r0, #3 + beq _0203DD80 + cmp r0, #6 + bne _0203DDA0 +_0203DD80: + mov r0, #1 + pop {r4, pc} +_0203DD84: + ldrh r0, [r4, #0x10] + cmp r0, #2 + beq _0203DD8E + cmp r0, #5 + bne _0203DDA0 +_0203DD8E: + mov r0, #1 + pop {r4, pc} +_0203DD92: + ldrh r0, [r4, #0x10] + cmp r0, #1 + beq _0203DD9C + cmp r0, #5 + bne _0203DDA0 +_0203DD9C: + mov r0, #1 + pop {r4, pc} +_0203DDA0: + mov r0, #0 + pop {r4, pc} + thumb_func_end sub_0203DD3C + + thumb_func_start sub_0203DDA4 +sub_0203DDA4: ; 0x0203DDA4 + push {r4, r5, r6, lr} + sub sp, #8 + add r5, r0, #0 + ldr r0, [r5, #0x40] + add r6, r1, #0 + add r4, r2, #0 + bl sub_0205C654 + cmp r0, #0 + beq _0203DDBE + add sp, #8 + ldr r0, _0203DE00 ; =0x0000FFFF + pop {r4, r5, r6, pc} +_0203DDBE: + add r0, r5, #0 + add r1, sp, #4 + add r2, sp, #0 + bl sub_0203DB78 + mov r0, #0 + cmp r4, #0 + ble _0203DDF8 + ldr r2, [sp, #4] + ldr r3, [sp] + add r1, r6, #0 +_0203DDD4: + ldr r5, [r1, #4] + cmp r2, r5 + bne _0203DDF0 + ldr r5, [r1, #8] + cmp r3, r5 + bne _0203DDF0 + ldrh r5, [r1, #2] + cmp r5, #1 + bne _0203DDF0 + mov r1, #0x14 + mul r1, r0 + add sp, #8 + ldrh r0, [r6, r1] + pop {r4, r5, r6, pc} +_0203DDF0: + add r0, r0, #1 + add r1, #0x14 + cmp r0, r4 + blt _0203DDD4 +_0203DDF8: + ldr r0, _0203DE00 ; =0x0000FFFF + add sp, #8 + pop {r4, r5, r6, pc} + nop +_0203DE00: .word 0x0000FFFF + thumb_func_end sub_0203DDA4 + + thumb_func_start sub_0203DE04 +sub_0203DE04: ; 0x0203DE04 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r0, [sp] + ldr r0, [r0, #0x40] + str r1, [sp, #4] + str r2, [sp, #8] + bl sub_0205C67C + add r6, r0, #0 + ldr r0, [sp] + ldr r0, [r0, #0x40] + bl sub_0205C688 + add r4, r0, #0 + ldr r0, [sp, #8] + mov r7, #0 + cmp r0, #0 + ble _0203DE68 + ldr r5, [sp, #4] +_0203DE2A: + ldrh r1, [r5, #2] + cmp r6, r1 + blt _0203DE5E + ldrh r0, [r5, #6] + add r0, r1, r0 + cmp r6, r0 + bge _0203DE5E + ldrh r1, [r5, #4] + cmp r4, r1 + blt _0203DE5E + ldrh r0, [r5, #8] + add r0, r1, r0 + cmp r4, r0 + bge _0203DE5E + ldrh r1, [r5, #0xe] + ldr r0, [sp] + bl sub_020403AC + ldrh r1, [r5, #0xc] + cmp r1, r0 + bne _0203DE5E + ldr r0, [sp, #4] + lsl r1, r7, #4 + add sp, #0xc + ldrh r0, [r0, r1] + pop {r4, r5, r6, r7, pc} +_0203DE5E: + ldr r0, [sp, #8] + add r7, r7, #1 + add r5, #0x10 + cmp r7, r0 + blt _0203DE2A +_0203DE68: + ldr r0, _0203DE70 ; =0x0000FFFF + add sp, #0xc + pop {r4, r5, r6, r7, pc} + nop +_0203DE70: .word 0x0000FFFF + thumb_func_end sub_0203DE04 + + thumb_func_start sub_0203DE74 +sub_0203DE74: ; 0x0203DE74 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_020072A4 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203DFE0 + ldr r1, _0203DEA0 ; =0x021D4158 + str r0, [r1] + ldr r1, [r4, #4] + cmp r1, #0 + beq _0203DE94 + bl sub_02053620 + b _0203DE98 +_0203DE94: + bl sub_0205353C +_0203DE98: + mov r0, #0 + str r0, [r4, #4] + mov r0, #1 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203DEA0: .word 0x021D4158 + thumb_func_end sub_0203DE74 + + thumb_func_start sub_0203DEA4 +sub_0203DEA4: ; 0x0203DEA4 + push {r3, lr} + bl sub_0203DFE0 + ldr r1, _0203DEB8 ; =0x021D4158 + str r0, [r1] + bl sub_02053470 + mov r0, #1 + pop {r3, pc} + nop +_0203DEB8: .word 0x021D4158 + thumb_func_end sub_0203DEA4 + + thumb_func_start sub_0203DEBC +sub_0203DEBC: ; 0x0203DEBC + push {r3, lr} + bl sub_02007290 + bl sub_0203E0CC + cmp r0, #0 + beq _0203DECE + mov r0, #1 + pop {r3, pc} +_0203DECE: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203DEBC + + .public ov60_021EAFE0 + + thumb_func_start sub_0203DED4 +sub_0203DED4: ; 0x0203DED4 + push {r3, lr} + bl sub_0203E058 + ldr r0, _0203DEE8 ; =SDK_OVERLAY_OVY_60_ID + ldr r1, _0203DEEC ; =ov60_021EAFE0 + bl RegisterMainOverlay + mov r0, #1 + pop {r3, pc} + nop +_0203DEE8: .word SDK_OVERLAY_OVY_60_ID +_0203DEEC: .word ov60_021EAFE0 + thumb_func_end sub_0203DED4 + + thumb_func_start sub_0203DEF0 +sub_0203DEF0: ; 0x0203DEF0 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + ldr r0, [r0, #4] + cmp r0, #0 + beq _0203DF00 + bl GF_AssertFail +_0203DF00: + ldr r0, [r4] + ldr r0, [r0] + cmp r0, #0 + beq _0203DF0C + bl GF_AssertFail +_0203DF0C: + ldr r0, _0203DF2C ; =SDK_OVERLAY_OVY_1_ID + mov r1, #2 + bl HandleLoadOverlay + mov r1, #0 + str r1, [r4, #0x6c] + ldr r0, [r4] + mov r2, #0xb + str r1, [r0, #8] + ldr r0, _0203DF30 ; =0x02206378 + add r1, r4, #0 + bl OverlayManager_new + ldr r1, [r4] + str r0, [r1] + pop {r4, pc} + .balign 4, 0 +_0203DF2C: .word SDK_OVERLAY_OVY_1_ID +_0203DF30: .word 0x02206378 + thumb_func_end sub_0203DEF0 + + thumb_func_start sub_0203DF34 +sub_0203DF34: ; 0x0203DF34 + mov r1, #0 + str r1, [r0, #0x6c] + bx lr + .balign 4, 0 + thumb_func_end sub_0203DF34 + + thumb_func_start sub_0203DF3C +sub_0203DF3C: ; 0x0203DF3C + push {r4, lr} + add r4, r0, #0 + mov r0, #0x11 + lsl r0, r0, #4 + ldrb r0, [r4, r0] + mov r1, #1 + cmp r0, #0 + beq _0203DF52 + cmp r0, #1 + beq _0203DF52 + mov r1, #0 +_0203DF52: + cmp r1, #0 + bne _0203DF5A + bl GF_AssertFail +_0203DF5A: + mov r0, #0x11 + lsl r0, r0, #4 + ldrb r0, [r4, r0] + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203DF3C + + thumb_func_start sub_0203DF64 +sub_0203DF64: ; 0x0203DF64 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + beq _0203DF74 + cmp r4, #1 + beq _0203DF74 + bl GF_AssertFail +_0203DF74: + mov r0, #0x11 + lsl r0, r0, #4 + strb r4, [r5, r0] + pop {r3, r4, r5, pc} + thumb_func_end sub_0203DF64 + + thumb_func_start sub_0203DF7C +sub_0203DF7C: ; 0x0203DF7C + ldr r0, [r0] + ldr r0, [r0] + cmp r0, #0 + beq _0203DF88 + mov r0, #1 + bx lr +_0203DF88: + mov r0, #0 + bx lr + thumb_func_end sub_0203DF7C + + thumb_func_start sub_0203DF8C +sub_0203DF8C: ; 0x0203DF8C + ldr r1, [r0] + ldr r1, [r1] + cmp r1, #0 + beq _0203DF9E + ldr r0, [r0, #0x6c] + cmp r0, #0 + beq _0203DF9E + mov r0, #1 + bx lr +_0203DF9E: + mov r0, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_0203DF8C + + thumb_func_start sub_0203DFA4 +sub_0203DFA4: ; 0x0203DFA4 + ldr r0, [r0] + ldr r0, [r0, #4] + cmp r0, #0 + beq _0203DFB0 + mov r0, #1 + bx lr +_0203DFB0: + mov r0, #0 + bx lr + thumb_func_end sub_0203DFA4 + + thumb_func_start SwitchToPokegearApp +SwitchToPokegearApp: ; 0x0203DFB4 + push {r4, r5, r6, lr} + add r5, r0, #0 + ldr r0, [r5] + add r4, r1, #0 + ldr r0, [r0, #4] + add r6, r2, #0 + cmp r0, #0 + beq _0203DFC8 + bl GF_AssertFail +_0203DFC8: + add r0, r5, #0 + bl sub_0203DF34 + add r0, r4, #0 + add r1, r6, #0 + mov r2, #0xb + bl OverlayManager_new + ldr r1, [r5] + str r0, [r1, #4] + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end SwitchToPokegearApp + + thumb_func_start sub_0203DFE0 +sub_0203DFE0: ; 0x0203DFE0 + push {r4, r5, r6, lr} + mov r2, #7 + add r5, r0, #0 + mov r0, #3 + mov r1, #0xb + lsl r2, r2, #0xe + bl sub_0201A910 + mov r1, #0x20 + mov r0, #3 + lsl r2, r1, #9 + bl sub_0201A910 + mov r2, #0x57 + mov r0, #0 + mov r1, #0x59 + lsl r2, r2, #4 + bl sub_0201A910 + mov r1, #0x4a + add r0, r5, #0 + lsl r1, r1, #2 + mov r2, #0xb + bl sub_02007280 + mov r2, #0x4a + mov r1, #0 + lsl r2, r2, #2 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r0, #0xb + mov r1, #0x10 + bl AllocFromHeap + str r0, [r4] + mov r1, #0 + str r1, [r0] + ldr r0, [r4] + ldr r6, _0203E054 ; =SDK_OVERLAY_OVY_124_ID + str r1, [r0, #4] + ldr r0, [r4] + str r1, [r0, #8] + ldr r0, [r4] + str r1, [r0, #0xc] + add r0, r6, #0 + mov r1, #2 + bl HandleLoadOverlay + add r0, r5, #0 + add r1, r4, #0 + bl ov124_02260C20 + add r0, r6, #0 + bl UnloadOverlayByID + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203E054: .word SDK_OVERLAY_OVY_124_ID + thumb_func_end sub_0203DFE0 + + thumb_func_start sub_0203E058 +sub_0203E058: ; 0x0203E058 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02007290 + add r4, r0, #0 + ldr r0, [r4, #0x30] + bl sub_0203AFD8 + add r0, r4, #0 + bl sub_0203B630 + add r0, r4, #0 + add r0, #0x94 + ldr r0, [r0] + bl FreeToHeap + add r0, r4, #0 + add r0, #0xa8 + ldr r0, [r0] + bl sub_02092BD0 + mov r0, #0x45 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl sub_02092DD8 + ldr r0, [r4] + bl FreeToHeap + add r0, r5, #0 + bl sub_02007294 + mov r0, #0x59 + bl sub_0201A9C4 + mov r0, #0xb + bl sub_0201A9C4 + mov r0, #0x20 + bl sub_0201A9C4 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203E058 + + thumb_func_start sub_0203E0AC +sub_0203E0AC: ; 0x0203E0AC + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4] + cmp r0, #0 + beq _0203E0C8 + bl OverlayManager_run + cmp r0, #0 + beq _0203E0C8 + ldr r0, [r4] + bl OverlayManager_delete + mov r0, #0 + str r0, [r4] +_0203E0C8: + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203E0AC + + thumb_func_start sub_0203E0CC +sub_0203E0CC: ; 0x0203E0CC + push {r4, lr} + add r4, r0, #0 + bl sub_0203E15C + add r0, r4, #0 + bl sub_02050544 + cmp r0, #1 + bne _0203E0EE + ldr r0, [r4, #4] + cmp r0, #0 + beq _0203E0EE + mov r1, #0 + add r0, r4, #0 + add r2, r1, #0 + bl ov01_021F6830 +_0203E0EE: + ldr r0, [r4] + ldr r1, [r0] + cmp r1, #0 + beq _0203E10A + bl sub_0203E0AC + ldr r0, [r4] + ldr r0, [r0] + cmp r0, #0 + bne _0203E116 + ldr r0, _0203E138 ; =SDK_OVERLAY_OVY_1_ID + bl UnloadOverlayByID + b _0203E116 +_0203E10A: + ldr r1, [r0, #4] + cmp r1, #0 + beq _0203E116 + add r0, r0, #4 + bl sub_0203E0AC +_0203E116: + ldr r1, [r4] + ldr r0, [r1, #0xc] + cmp r0, #0 + beq _0203E134 + ldr r0, [r4, #0x10] + cmp r0, #0 + bne _0203E134 + ldr r0, [r1] + cmp r0, #0 + bne _0203E134 + ldr r0, [r1, #4] + cmp r0, #0 + bne _0203E134 + mov r0, #1 + pop {r4, pc} +_0203E134: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 +_0203E138: .word SDK_OVERLAY_OVY_1_ID + thumb_func_end sub_0203E0CC + + thumb_func_start sub_0203E13C +sub_0203E13C: ; 0x0203E13C + push {r3, lr} + ldr r1, [r0] + ldr r1, [r1, #8] + cmp r1, #0 + bne _0203E158 + ldr r1, [r0, #0x6c] + cmp r1, #0 + beq _0203E158 + bl sub_02050590 + cmp r0, #0 + bne _0203E158 + mov r0, #1 + pop {r3, pc} +_0203E158: + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_0203E13C + + thumb_func_start sub_0203E15C +sub_0203E15C: ; 0x0203E15C + push {r4, r5, lr} + sub sp, #0x14 + add r4, r0, #0 + bl sub_0203E13C + add r5, r0, #0 + beq _0203E186 + ldr r0, [r4, #0x40] + bl sub_0205CE68 + ldr r3, _0203E2EC ; =gMain + add r0, sp, #8 + ldr r2, [r3, #0x48] + ldr r3, [r3, #0x44] + lsl r2, r2, #0x10 + lsl r3, r3, #0x10 + add r1, r4, #0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x10 + bl ov01_021E6928 +_0203E186: + ldr r0, [r4, #0x20] + ldr r2, [r4, #0x70] + ldr r1, [r0] + ldr r0, _0203E2F0 ; =0x00000109 + cmp r1, r0 + bne _0203E194 + mov r2, #0 +_0203E194: + cmp r2, #2 + beq _0203E1CC + cmp r2, #3 + beq _0203E1A2 + cmp r2, #4 + beq _0203E1F8 + b _0203E268 +_0203E1A2: + cmp r5, #0 + beq _0203E1C0 + bl sub_02057A0C + cmp r0, #0 + beq _0203E1BE + add r0, sp, #8 + add r1, r4, #0 + bl ov01_021E6E00 + cmp r0, #1 + bne _0203E1C0 + mov r5, #0 + b _0203E1C0 +_0203E1BE: + mov r5, #0 +_0203E1C0: + add r0, r4, #0 + add r1, r5, #0 + bl sub_020573F0 + add sp, #0x14 + pop {r4, r5, pc} +_0203E1CC: + cmp r5, #0 + beq _0203E1DC + add r0, sp, #8 + add r1, r4, #0 + bl ov01_021E6EFC + cmp r0, #1 + bne _0203E1DE +_0203E1DC: + b _0203E2E8 +_0203E1DE: + add r3, sp, #8 + ldrh r0, [r3, #8] + mov r2, #0 + str r0, [sp] + str r2, [sp, #4] + ldrh r3, [r3, #6] + ldr r0, [r4, #0x40] + ldr r1, [r4, #0x2c] + sub r2, r2, #1 + bl sub_0205CB48 + add sp, #0x14 + pop {r4, r5, pc} +_0203E1F8: + cmp r5, #0 + beq _0203E2E8 + add r0, sp, #8 + add r1, r4, #0 + bl ov01_021E6FD4 + cmp r0, #1 + bne _0203E22C + ldr r0, [r4, #4] + ldr r0, [r0, #8] + bl ov01_021EFACC + add r0, r4, #0 + mov r1, #4 + bl ov01_021F3DFC + ldr r0, [r4, #0x40] + bl ov01_021F2F24 + add r0, r4, #0 + mov r1, #0 + mov r2, #1 + bl ov01_021F6830 + add sp, #0x14 + pop {r4, r5, pc} +_0203E22C: + ldr r0, _0203E2EC ; =gMain + ldr r1, [r0, #0x48] + mov r0, #1 + tst r0, r1 + beq _0203E23E + ldr r0, [r4, #4] + ldr r0, [r0, #8] + bl ov01_021EFACC +_0203E23E: + mov r5, #0 + bl sub_0203E324 + cmp r0, #0 + beq _0203E24E + bl ov35_02259DB8 + add r5, r0, #0 +_0203E24E: + add r3, sp, #8 + ldrh r0, [r3, #8] + mov r2, #0 + mvn r2, r2 + str r0, [sp] + str r5, [sp, #4] + ldrh r3, [r3, #6] + ldr r0, [r4, #0x40] + ldr r1, [r4, #0x2c] + bl sub_0205CB48 + add sp, #0x14 + pop {r4, r5, pc} +_0203E268: + cmp r5, #0 + beq _0203E2E8 + add r0, sp, #8 + add r1, r4, #0 + bl ov01_021E6AF4 + add r5, r0, #0 + beq _0203E2B0 + ldr r0, [r4, #4] + ldr r0, [r0, #8] + bl ov01_021EFACC + add r0, r4, #0 + mov r1, #4 + bl ov01_021F3DFC + ldr r0, [r4, #0x40] + bl sub_0205CF44 + ldr r0, [r4, #0x40] + bl ov01_021F2F24 + add r0, r4, #0 + mov r1, #0 + mov r2, #1 + bl ov01_021F6830 + cmp r5, #2 + beq _0203E2E8 + mov r0, #0x45 + lsl r0, r0, #2 + ldr r0, [r4, r0] + bl sub_02092FA8 + add sp, #0x14 + pop {r4, r5, pc} +_0203E2B0: + ldr r0, _0203E2EC ; =gMain + ldr r1, [r0, #0x48] + mov r0, #1 + tst r0, r1 + beq _0203E2C2 + ldr r0, [r4, #4] + ldr r0, [r0, #8] + bl ov01_021EFACC +_0203E2C2: + mov r5, #0 + bl sub_0203E324 + cmp r0, #0 + beq _0203E2D2 + bl ov35_02259DB8 + add r5, r0, #0 +_0203E2D2: + add r3, sp, #8 + ldrh r0, [r3, #8] + mov r2, #0 + mvn r2, r2 + str r0, [sp] + str r5, [sp, #4] + ldrh r3, [r3, #6] + ldr r0, [r4, #0x40] + ldr r1, [r4, #0x2c] + bl sub_0205CB48 +_0203E2E8: + add sp, #0x14 + pop {r4, r5, pc} + .balign 4, 0 +_0203E2EC: .word gMain +_0203E2F0: .word 0x00000109 + thumb_func_end sub_0203E15C + + thumb_func_start sub_0203E2F4 +sub_0203E2F4: ; 0x0203E2F4 + ldr r0, _0203E304 ; =0x021D4158 + ldr r3, _0203E308 ; =sub_02037504 + ldr r0, [r0] + mov r1, #1 + ldr r0, [r0] + str r1, [r0, #8] + bx r3 + nop +_0203E304: .word 0x021D4158 +_0203E308: .word sub_02037504 + thumb_func_end sub_0203E2F4 + + thumb_func_start sub_0203E30C +sub_0203E30C: ; 0x0203E30C + ldr r0, _0203E31C ; =0x021D4158 + ldr r3, _0203E320 ; =sub_020374E4 + ldr r0, [r0] + mov r1, #0 + ldr r0, [r0] + str r1, [r0, #8] + bx r3 + nop +_0203E31C: .word 0x021D4158 +_0203E320: .word sub_020374E4 + thumb_func_end sub_0203E30C + + thumb_func_start sub_0203E324 +sub_0203E324: ; 0x0203E324 + ldr r0, _0203E338 ; =0x021D4158 + ldr r0, [r0] + ldr r0, [r0, #4] + cmp r0, #0 + bne _0203E332 + mov r0, #0 + bx lr +_0203E332: + ldr r0, [r0, #0x14] + bx lr + nop +_0203E338: .word 0x021D4158 + thumb_func_end sub_0203E324 + + thumb_func_start sub_0203E33C +sub_0203E33C: ; 0x0203E33C + str r1, [r0, #0x1c] + bx lr + thumb_func_end sub_0203E33C + + thumb_func_start sub_0203E340 +sub_0203E340: ; 0x0203E340 + ldr r0, [r0, #8] + bx lr + thumb_func_end sub_0203E340 + + thumb_func_start sub_0203E344 +sub_0203E344: ; 0x0203E344 + ldr r0, [r0, #0xc] + bx lr + thumb_func_end sub_0203E344 + + thumb_func_start sub_0203E348 +sub_0203E348: ; 0x0203E348 + push {r3, lr} + bl LCRandom + bl LCRandom + pop {r3, pc} + thumb_func_end sub_0203E348 + + thumb_func_start sub_0203E354 +sub_0203E354: ; 0x0203E354 + ldr r0, _0203E364 ; =0x021D4158 + mov r1, #1 + ldr r0, [r0] + mvn r1, r1 + add r0, #0xc4 + str r1, [r0] + bx lr + nop +_0203E364: .word 0x021D4158 + thumb_func_end sub_0203E354 + + thumb_func_start sub_0203E368 +sub_0203E368: ; 0x0203E368 + ldr r2, _0203E37C ; =0x020FA17C + add r3, r0, #0 + ldmia r2!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r2!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r2] + str r0, [r3] + bx lr + nop +_0203E37C: .word 0x020FA17C + thumb_func_end sub_0203E368 + + thumb_func_start sub_0203E380 +sub_0203E380: ; 0x0203E380 + ldr r2, _0203E394 ; =0x020FA190 + add r3, r0, #0 + ldmia r2!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r2!, {r0, r1} + stmia r3!, {r0, r1} + ldr r0, [r2] + str r0, [r3] + bx lr + nop +_0203E394: .word 0x020FA190 + thumb_func_end sub_0203E380 + + thumb_func_start sub_0203E398 +sub_0203E398: ; 0x0203E398 + push {r3, lr} + bl sub_0203B9C4 + bl sub_0203B958 + bl sub_0203E368 + pop {r3, pc} + thumb_func_end sub_0203E398 + + thumb_func_start sub_0203E3A8 +sub_0203E3A8: ; 0x0203E3A8 + mov r0, #1 + bx lr + thumb_func_end sub_0203E3A8 + + thumb_func_start sub_0203E3AC +sub_0203E3AC: ; 0x0203E3AC + push {r3, lr} + bl ov12_022378C0 + cmp r0, #0 + beq _0203E3BA + mov r0, #1 + pop {r3, pc} +_0203E3BA: + mov r0, #0 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_0203E3AC + + thumb_func_start sub_0203E3C0 +sub_0203E3C0: ; 0x0203E3C0 + mov r0, #1 + bx lr + thumb_func_end sub_0203E3C0 + + thumb_func_start sub_0203E3C4 +sub_0203E3C4: ; 0x0203E3C4 + ldr r3, _0203E3CC ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203E3D0 ; =0x020FA484 + bx r3 + .balign 4, 0 +_0203E3CC: .word SwitchToPokegearApp +_0203E3D0: .word 0x020FA484 + thumb_func_end sub_0203E3C4 + + thumb_func_start sub_0203E3D4 +sub_0203E3D4: ; 0x0203E3D4 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203E3F8 ; =0x020FA464 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203E3F8: .word 0x020FA464 + thumb_func_end sub_0203E3D4 + + thumb_func_start sub_0203E3FC +sub_0203E3FC: ; 0x0203E3FC + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r5, r0, #0 + ldr r0, [r5, #0xc] + add r6, r1, #0 + bl sub_0207879C + ldr r1, _0203E45C ; =0x020FA1B8 + mov r2, #0xb + bl sub_02078644 + mov r1, #0x43 + lsl r1, r1, #2 + add r1, r5, r1 + add r3, r5, #0 + str r1, [sp] + add r3, #0x94 + ldr r1, [r5, #0xc] + ldr r3, [r3] + mov r2, #0 + add r4, r0, #0 + bl sub_0207789C + ldr r1, [r5, #0x70] + add r0, r4, #0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_020778E8 + ldr r0, [r5, #0x40] + bl sub_0205C700 + cmp r0, #1 + bne _0203E446 + add r0, r4, #0 + bl sub_020778C8 +_0203E446: + add r0, r4, #0 + add r1, r6, #0 + bl sub_020778DC + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203E3D4 + add r0, r4, #0 + add sp, #4 + pop {r3, r4, r5, r6, pc} + .balign 4, 0 +_0203E45C: .word 0x020FA1B8 + thumb_func_end sub_0203E3FC + + thumb_func_start sub_0203E460 +sub_0203E460: ; 0x0203E460 + push {r3, r4, r5, r6, lr} + sub sp, #4 + add r5, r0, #0 + ldr r0, [r5, #0xc] + add r4, r1, #0 + bl sub_0207879C + add r6, r0, #0 + cmp r4, #0 + beq _0203E47A + cmp r4, #1 + beq _0203E482 + b _0203E48A +_0203E47A: + ldr r1, _0203E4C0 ; =0x020FA1A4 + ldr r0, _0203E4C4 ; =0x0210F978 + str r1, [r0] + b _0203E48E +_0203E482: + ldr r1, _0203E4C8 ; =0x020FA1AC + ldr r0, _0203E4C4 ; =0x0210F978 + str r1, [r0] + b _0203E48E +_0203E48A: + bl GF_AssertFail +_0203E48E: + ldr r1, _0203E4C4 ; =0x0210F978 + add r0, r6, #0 + ldr r1, [r1] + mov r2, #0x20 + bl sub_02078644 + mov r1, #0x43 + lsl r1, r1, #2 + add r1, r5, r1 + add r3, r5, #0 + str r1, [sp] + add r3, #0x94 + ldr r1, [r5, #0xc] + ldr r3, [r3] + add r4, r0, #0 + mov r2, #3 + bl sub_0207789C + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203E3D4 + add r0, r4, #0 + add sp, #4 + pop {r3, r4, r5, r6, pc} + .balign 4, 0 +_0203E4C0: .word 0x020FA1A4 +_0203E4C4: .word 0x0210F978 +_0203E4C8: .word 0x020FA1AC + thumb_func_end sub_0203E460 + + thumb_func_start sub_0203E4CC +sub_0203E4CC: ; 0x0203E4CC + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_02077904 + add r4, r0, #0 + beq _0203E4E6 + add r0, r5, #0 + bl sub_0207790C + cmp r0, #5 + bne _0203E4E6 + bl GF_AssertFail +_0203E4E6: + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203E4CC + + thumb_func_start sub_0203E4EC +sub_0203E4EC: ; 0x0203E4EC + ldr r3, _0203E4F4 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203E4F8 ; =0x02103A1C + bx r3 + .balign 4, 0 +_0203E4F4: .word SwitchToPokegearApp +_0203E4F8: .word 0x02103A1C + thumb_func_end sub_0203E4EC + + thumb_func_start sub_0203E4FC +sub_0203E4FC: ; 0x0203E4FC + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + mov r1, #0x44 + add r6, r2, #0 + add r7, r3, #0 + bl AllocFromHeap + add r4, r0, #0 + mov r0, #0 + add r1, r4, #0 + mov r2, #0x44 + bl MIi_CpuClearFast + ldr r0, [r5, #0xc] + bl sub_02074904 + str r0, [r4] + ldr r0, [r5, #0xc] + bl sub_0207879C + str r0, [r4, #4] + ldr r0, [r5, #0xc] + bl sub_0202B50C + str r0, [r4, #8] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0xc] + add r0, r4, #0 + add r0, #0x25 + strb r6, [r0] + add r0, r4, #0 + add r0, #0x24 + strb r7, [r0] + mov r0, #0x43 + lsl r0, r0, #2 + str r5, [r4, #0x1c] + add r0, r5, r0 + str r0, [r4, #0x20] + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203E4FC + + thumb_func_start sub_0203E550 +sub_0203E550: ; 0x0203E550 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r7, r2, #0 + mov r2, #0 + add r6, r1, #0 + mov r0, #0xb + add r1, r5, #0 + add r3, r2, #0 + bl sub_0203E4FC + add r4, r0, #0 + str r6, [r4, #0x18] + add r0, #0x26 + strb r7, [r0] + ldr r1, _0203E57C ; =0x0210159C + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203E57C: .word 0x0210159C + thumb_func_end sub_0203E550 + + thumb_func_start sub_0203E580 +sub_0203E580: ; 0x0203E580 + push {r3, r4, r5, lr} + mov r0, #0xb + mov r2, #0 + mov r3, #3 + add r5, r1, #0 + bl sub_0203E4FC + add r4, r0, #0 + ldr r1, _0203E5A0 ; =0x0210159C + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, pc} + nop +_0203E5A0: .word 0x0210159C + thumb_func_end sub_0203E580 + + thumb_func_start sub_0203E5A4 +sub_0203E5A4: ; 0x0203E5A4 + push {r3, r4, r5, lr} + mov r0, #0xb + mov r2, #0 + mov r3, #0x13 + add r5, r1, #0 + bl sub_0203E4FC + add r4, r0, #0 + ldr r1, _0203E5C4 ; =0x0210159C + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, pc} + nop +_0203E5C4: .word 0x0210159C + thumb_func_end sub_0203E5A4 + + thumb_func_start sub_0203E5C8 +sub_0203E5C8: ; 0x0203E5C8 + add r0, #0x26 + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203E5C8 + + thumb_func_start sub_0203E5D0 +sub_0203E5D0: ; 0x0203E5D0 + push {r4, r5, r6, lr} + add r4, r2, #0 + mov r0, #0xb + mov r2, #0 + mov r3, #0x12 + add r5, r1, #0 + bl sub_0203E4FC + add r6, r0, #0 + add r0, #0x26 + strb r4, [r0] + ldr r1, _0203E5F4 ; =0x0210159C + add r0, r5, #0 + add r2, r6, #0 + bl SwitchToPokegearApp + add r0, r6, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203E5F4: .word 0x0210159C + thumb_func_end sub_0203E5D0 + + thumb_func_start sub_0203E5F8 +sub_0203E5F8: ; 0x0203E5F8 + add r0, #0x27 + ldrb r0, [r0] + bx lr + .balign 4, 0 + thumb_func_end sub_0203E5F8 + + thumb_func_start sub_0203E600 +sub_0203E600: ; 0x0203E600 + ldrb r0, [r0, #0x14] + bx lr + thumb_func_end sub_0203E600 + + thumb_func_start sub_0203E604 +sub_0203E604: ; 0x0203E604 + push {r4, r5, r6, lr} + add r5, r0, #0 + bl sub_0205064C + add r6, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_02050654 + add r5, r0, #0 + ldr r0, [r5] + cmp r0, #4 + bhi _0203E6CC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203E630: ; jump table + .short _0203E63A - _0203E630 - 2 ; case 0 + .short _0203E64A - _0203E630 - 2 ; case 1 + .short _0203E680 - _0203E630 - 2 ; case 2 + .short _0203E6A2 - _0203E630 - 2 ; case 3 + .short _0203E6C2 - _0203E630 - 2 ; case 4 +_0203E63A: + ldr r1, _0203E6D0 ; =0x0210159C + ldr r2, [r4, #4] + add r0, r6, #0 + bl SwitchToPokegearApp + mov r0, #1 + str r0, [r5] + b _0203E6CC +_0203E64A: + add r0, r6, #0 + bl sub_020505A0 + cmp r0, #0 + bne _0203E6CC + ldr r0, [r4, #4] + add r0, #0x26 + ldrb r0, [r0] + cmp r0, #6 + beq _0203E66E + cmp r0, #7 + bne _0203E67A + mov r0, #2 + bl sub_0205A508 + mov r0, #4 + str r0, [r5] + b _0203E6CC +_0203E66E: + mov r0, #1 + bl sub_0205A508 + mov r0, #4 + str r0, [r5] + b _0203E6CC +_0203E67A: + mov r0, #2 + str r0, [r5] + b _0203E6CC +_0203E680: + ldr r1, [r4] + add r0, r6, #0 + mov r2, #0 + bl sub_0203E76C + str r0, [r4, #8] + ldr r1, [r4, #4] + add r1, #0x26 + ldrb r1, [r1] + strb r1, [r0, #0x14] + ldr r1, [r4, #8] + add r0, r6, #0 + bl sub_0203E4EC + mov r0, #3 + str r0, [r5] + b _0203E6CC +_0203E6A2: + add r0, r6, #0 + bl sub_020505A0 + cmp r0, #0 + bne _0203E6CC + ldr r0, [r4, #8] + ldrb r1, [r0, #0x14] + ldr r0, [r4, #4] + add r0, #0x26 + strb r1, [r0] + ldr r0, [r4, #8] + bl FreeToHeap + mov r0, #0 + str r0, [r5] + b _0203E6CC +_0203E6C2: + add r0, r4, #0 + bl FreeToHeap + mov r0, #1 + pop {r4, r5, r6, pc} +_0203E6CC: + mov r0, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203E6D0: .word 0x0210159C + thumb_func_end sub_0203E604 + + thumb_func_start sub_0203E6D4 +sub_0203E6D4: ; 0x0203E6D4 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r7, r0, #0 + bl sub_0205064C + add r6, r0, #0 + add r0, r5, #0 + mov r1, #0xc + bl AllocFromHeap + add r4, r0, #0 + add r0, r5, #0 + add r1, r6, #0 + mov r2, #0 + mov r3, #2 + str r5, [r4] + bl sub_0203E4FC + add r5, r0, #0 + add r0, #0x36 + ldrb r1, [r0] + mov r0, #0xf + add r2, r4, #0 + bic r1, r0 + mov r0, #2 + orr r1, r0 + add r0, r5, #0 + add r0, #0x36 + strb r1, [r0] + add r0, r5, #0 + add r0, #0x36 + ldrb r1, [r0] + mov r0, #0xf0 + bic r1, r0 + mov r0, #0x20 + orr r1, r0 + add r0, r5, #0 + add r0, #0x36 + strb r1, [r0] + add r0, r5, #0 + mov r1, #0x1e + add r0, #0x37 + strb r1, [r0] + mov r0, #0 + str r0, [r5, #0x14] + ldr r1, _0203E73C ; =sub_0203E604 + add r0, r7, #0 + str r5, [r4, #4] + bl sub_02050530 + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203E73C: .word sub_0203E604 + thumb_func_end sub_0203E6D4 + + thumb_func_start sub_0203E740 +sub_0203E740: ; 0x0203E740 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r4, r1, #0 + mov r0, #0xb + add r1, r5, #0 + mov r2, #0 + mov r3, #0x15 + bl sub_0203E4FC + add r6, r0, #0 + add r0, #0x26 + strb r4, [r0] + ldr r1, _0203E768 ; =0x0210159C + add r0, r5, #0 + add r2, r6, #0 + bl SwitchToPokegearApp + add r0, r6, #0 + pop {r4, r5, r6, pc} + nop +_0203E768: .word 0x0210159C + thumb_func_end sub_0203E740 + + thumb_func_start sub_0203E76C +sub_0203E76C: ; 0x0203E76C + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + add r0, r1, #0 + ldr r5, [r6, #0xc] + mov r1, #0x3c + add r7, r2, #0 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x3c + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #4] + add r0, r5, #0 + bl sub_02074904 + str r0, [r4] + mov r0, #1 + strb r0, [r4, #0x11] + mov r0, #0 + strb r0, [r4, #0x14] + ldr r0, [r4] + bl sub_02074640 + strb r0, [r4, #0x13] + mov r0, #0 + strh r0, [r4, #0x18] + strb r7, [r4, #0x12] + add r0, r5, #0 + bl sub_02074910 + str r0, [r4, #0x1c] + add r0, r5, #0 + bl sub_02088288 + str r0, [r4, #0x2c] + add r0, r5, #0 + bl sub_0202D95C + str r0, [r4, #0x20] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r6, r0 + str r0, [r4, #0x30] + ldr r0, [r6, #0xc] + bl sub_0208828C + str r0, [r4, #0x34] + ldr r1, _0203E7F0 ; =0x020FA1B0 + add r0, r4, #0 + bl sub_02089D40 + add r0, r5, #0 + bl sub_02028E9C + add r1, r0, #0 + add r0, r4, #0 + bl sub_0208AD34 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203E7F0: .word 0x020FA1B0 + thumb_func_end sub_0203E76C + + thumb_func_start sub_0203E7F4 +sub_0203E7F4: ; 0x0203E7F4 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + mov r1, #0x3c + add r6, r2, #0 + add r7, r3, #0 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x3c + add r4, r0, #0 + bl MIi_CpuFill8 + ldr r0, [r5, #0xc] + bl sub_02074904 + str r0, [r4] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #4] + mov r0, #1 + strb r0, [r4, #0x11] + strb r6, [r4, #0x14] + strb r0, [r4, #0x13] + strh r7, [r4, #0x18] + mov r0, #2 + strb r0, [r4, #0x12] + ldr r0, [r5, #0xc] + bl sub_02074910 + str r0, [r4, #0x1c] + mov r0, #0 + str r0, [r4, #0x2c] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #0x30] + ldr r1, _0203E860 ; =0x020FA1A8 + add r0, r4, #0 + bl sub_02089D40 + ldr r0, [r5, #0xc] + bl sub_02028E9C + add r1, r0, #0 + add r0, r4, #0 + bl sub_0208AD34 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203E4EC + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203E860: .word 0x020FA1A8 + thumb_func_end sub_0203E7F4 + + thumb_func_start sub_0203E864 +sub_0203E864: ; 0x0203E864 + ldrb r0, [r0, #0x16] + bx lr + thumb_func_end sub_0203E864 + + thumb_func_start sub_0203E868 +sub_0203E868: ; 0x0203E868 + ldr r3, _0203E870 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203E874 ; =0x020FA414 + bx r3 + .balign 4, 0 +_0203E870: .word SwitchToPokegearApp +_0203E874: .word 0x020FA414 + thumb_func_end sub_0203E868 + + thumb_func_start sub_0203E878 +sub_0203E878: ; 0x0203E878 + push {r3, r4, r5, r6, lr} + sub sp, #0xc + add r6, r0, #0 + bl sub_02050654 + add r5, r0, #0 + add r0, r6, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r6, #0 + bl sub_0205064C + ldr r1, [r5] + add r6, r0, #0 + cmp r1, #0 + beq _0203E8A4 + cmp r1, #1 + beq _0203E8B2 + cmp r1, #2 + beq _0203E8C2 + b _0203E958 +_0203E8A4: + ldr r1, [r4, #0xc] + bl sub_0203EA24 + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + b _0203E958 +_0203E8B2: + bl sub_020505A0 + cmp r0, #0 + bne _0203E958 + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + b _0203E958 +_0203E8C2: + ldr r0, [r4, #0xc] + bl sub_02090D48 + cmp r0, #0 + bne _0203E8D6 + ldr r0, [r4, #0xc] + bl sub_02090D4C + cmp r0, #0 + bne _0203E8DE +_0203E8D6: + ldr r0, [r4] + mov r1, #0 + strh r1, [r0] + b _0203E946 +_0203E8DE: + ldr r0, [r4] + mov r1, #1 + strh r1, [r0] + ldr r0, [r4, #0x10] + cmp r0, #5 + bhi _0203E902 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203E8F6: ; jump table + .short _0203E902 - _0203E8F6 - 2 ; case 0 + .short _0203E90E - _0203E8F6 - 2 ; case 1 + .short _0203E926 - _0203E8F6 - 2 ; case 2 + .short _0203E926 - _0203E8F6 - 2 ; case 3 + .short _0203E926 - _0203E8F6 - 2 ; case 4 + .short _0203E926 - _0203E8F6 - 2 ; case 5 +_0203E902: + ldr r0, [r4, #0xc] + bl sub_02090D50 + ldr r1, [r4, #4] + strh r0, [r1] + b _0203E946 +_0203E90E: + ldr r0, [r4, #0xc] + add r1, sp, #8 + bl sub_02090D54 + add r0, sp, #0 + ldrh r2, [r0, #8] + ldr r1, [r4, #4] + strh r2, [r1] + ldrh r1, [r0, #0xa] + ldr r0, [r4, #8] + strh r1, [r0] + b _0203E946 +_0203E926: + ldr r0, [r4, #0xc] + add r1, sp, #0 + bl sub_02090D60 + ldr r1, [r4, #0x10] + ldr r0, [r6, #0xc] + sub r1, r1, #2 + add r2, sp, #0 + bl sub_0202D640 + add r0, sp, #0 + mov r1, #0 + bl MailMsg_GetFieldI + ldr r1, [r4, #4] + strh r0, [r1] +_0203E946: + ldr r0, [r4, #0xc] + bl sub_02090D0C + add r0, r4, #0 + bl FreeToHeap + add sp, #0xc + mov r0, #1 + pop {r3, r4, r5, r6, pc} +_0203E958: + mov r0, #0 + add sp, #0xc + pop {r3, r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203E878 + + thumb_func_start sub_0203E960 +sub_0203E960: ; 0x0203E960 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + str r0, [sp, #4] + add r6, r1, #0 + str r2, [sp, #8] + add r7, r3, #0 + bl sub_0205064C + add r5, r0, #0 + mov r0, #0x20 + mov r1, #0x14 + bl AllocFromHeap + add r4, r0, #0 + ldr r0, [sp, #8] + cmp r6, #5 + str r0, [r4] + ldr r0, [sp, #0x20] + str r7, [r4, #4] + str r0, [r4, #8] + str r6, [r4, #0x10] + bhi _0203E9A4 + add r0, r6, r6 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203E998: ; jump table + .short _0203E9A4 - _0203E998 - 2 ; case 0 + .short _0203E9C0 - _0203E998 - 2 ; case 1 + .short _0203E9E0 - _0203E998 - 2 ; case 2 + .short _0203E9E0 - _0203E998 - 2 ; case 3 + .short _0203E9E0 - _0203E998 - 2 ; case 4 + .short _0203E9E0 - _0203E998 - 2 ; case 5 +_0203E9A4: + mov r3, #0x20 + str r3, [sp] + mov r0, #0 + add r3, #0xec + ldr r2, [r5, #0xc] + add r1, r0, #0 + add r3, r5, r3 + bl sub_02090C94 + str r0, [r4, #0xc] + ldrh r1, [r7] + bl sub_02090D14 + b _0203EA12 +_0203E9C0: + mov r3, #0x20 + str r3, [sp] + add r3, #0xec + ldr r2, [r5, #0xc] + mov r0, #1 + mov r1, #0 + add r3, r5, r3 + bl sub_02090C94 + str r0, [r4, #0xc] + ldr r2, [sp, #0x20] + ldrh r1, [r7] + ldrh r2, [r2] + bl sub_02090D18 + b _0203EA12 +_0203E9E0: + mov r3, #0x20 + str r3, [sp] + add r3, #0xec + ldr r2, [r5, #0xc] + mov r0, #2 + mov r1, #0 + add r3, r5, r3 + bl sub_02090C94 + str r0, [r4, #0xc] + bl sub_02090D40 + sub r1, r6, #2 + lsl r1, r1, #0x18 + ldr r0, [r5, #0xc] + lsr r1, r1, #0x18 + bl sub_0202D660 + add r1, r0, #0 + ldr r0, [r4, #0xc] + bl sub_02090D20 + ldr r0, [r4, #0xc] + bl sub_02090D34 +_0203EA12: + ldr r0, [sp, #4] + ldr r1, _0203EA20 ; =sub_0203E878 + add r2, r4, #0 + bl sub_02050530 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0203EA20: .word sub_0203E878 + thumb_func_end sub_0203E960 + + thumb_func_start sub_0203EA24 +sub_0203EA24: ; 0x0203EA24 + ldr r3, _0203EA2C ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203EA30 ; =0x020FA404 + bx r3 + .balign 4, 0 +_0203EA2C: .word SwitchToPokegearApp +_0203EA30: .word 0x020FA404 + thumb_func_end sub_0203EA24 + + thumb_func_start sub_0203EA34 +sub_0203EA34: ; 0x0203EA34 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203EA58 ; =0x020FA3F4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203EA58: .word 0x020FA3F4 + thumb_func_end sub_0203EA34 + + thumb_func_start SwitchToPokegearApp_Radio +SwitchToPokegearApp_Radio: ; 0x0203EA5C + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203EA80 ; =0x020FA3E4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203EA80: .word 0x020FA3E4 + thumb_func_end SwitchToPokegearApp_Radio + + thumb_func_start sub_0203EA84 +sub_0203EA84: ; 0x0203EA84 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x2c + bl AllocFromHeapAtEnd + add r4, r0, #0 + mov r1, #0 + mov r2, #0x2c + bl MIi_CpuFill8 + add r0, r5, #0 + add r1, r4, #0 + bl sub_02092D80 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EA34 + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203EA84 + + thumb_func_start Radio_new +Radio_new: ; 0x0203EAB0 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r0, #0xb + mov r1, #0x2c + bl AllocFromHeapAtEnd + add r4, r0, #0 + mov r1, #0 + mov r2, #0x2c + bl MIi_CpuFill8 + add r0, r5, #0 + add r1, r4, #0 + bl sub_02092D8C + add r0, r5, #0 + add r1, r4, #0 + strb r6, [r4] + bl SwitchToPokegearApp_Radio + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end Radio_new + + thumb_func_start sub_0203EAE0 +sub_0203EAE0: ; 0x0203EAE0 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203EB04 ; =0x020FA3D4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203EB04: .word 0x020FA3D4 + thumb_func_end sub_0203EAE0 + + thumb_func_start sub_0203EB08 +sub_0203EB08: ; 0x0203EB08 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x24 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x24 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #4] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EAE0 + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203EB08 + + thumb_func_start sub_0203EB3C +sub_0203EB3C: ; 0x0203EB3C + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203EB60 ; =0x020FA3C4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203EB60: .word 0x020FA3C4 + thumb_func_end sub_0203EB3C + + thumb_func_start sub_0203EB64 +sub_0203EB64: ; 0x0203EB64 + push {r3, r4, r5, lr} + mov r1, #0xb + add r5, r0, #0 + bl ov02_0224E4EC + add r4, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EB3C + add r0, r4, #0 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203EB64 + + thumb_func_start sub_0203EB7C +sub_0203EB7C: ; 0x0203EB7C + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203EBA0 ; =0x020FA3B4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203EBA0: .word 0x020FA3B4 + thumb_func_end sub_0203EB7C + + thumb_func_start sub_0203EBA4 +sub_0203EBA4: ; 0x0203EBA4 + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x10 + add r6, r2, #0 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x10 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4, #0xc] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #8] + add r0, r5, #0 + add r1, r4, #0 + strb r6, [r4, #2] + bl sub_0203EB7C + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203EBA4 + + thumb_func_start sub_0203EBDC +sub_0203EBDC: ; 0x0203EBDC + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203EC00 ; =0x020FA3A4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203EC00: .word 0x020FA3A4 + thumb_func_end sub_0203EBDC + + thumb_func_start sub_0203EC04 +sub_0203EC04: ; 0x0203EC04 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r0, #0xb + mov r1, #0x10 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x10 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4, #0xc] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #8] + add r0, r5, #0 + add r1, r4, #0 + strb r6, [r4, #5] + bl sub_0203EBDC + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203EC04 + + thumb_func_start sub_0203EC3C +sub_0203EC3C: ; 0x0203EC3C + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203EC60 ; =0x020FA394 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203EC60: .word 0x020FA394 + thumb_func_end sub_0203EC3C + + thumb_func_start sub_0203EC64 +sub_0203EC64: ; 0x0203EC64 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #8 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #8 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4, #4] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EC3C + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203EC64 + + thumb_func_start sub_0203EC98 +sub_0203EC98: ; 0x0203EC98 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203ECBC ; =0x020FA384 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203ECBC: .word 0x020FA384 + thumb_func_end sub_0203EC98 + + thumb_func_start sub_0203ECC0 +sub_0203ECC0: ; 0x0203ECC0 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x10 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x10 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4, #0xc] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #4] + add r0, r5, #0 + add r0, #0x94 + ldr r0, [r0] + add r1, r4, #0 + str r0, [r4, #8] + add r0, r5, #0 + bl sub_0203EC98 + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203ECC0 + + thumb_func_start sub_0203ECFC +sub_0203ECFC: ; 0x0203ECFC + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203ED20 ; =0x020FA374 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203ED20: .word 0x020FA374 + thumb_func_end sub_0203ECFC + + thumb_func_start sub_0203ED24 +sub_0203ED24: ; 0x0203ED24 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r0, #0xb + mov r1, #0x1c + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x1c + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4, #0x18] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #0x14] + ldr r0, [r4, #0x18] + bl sub_0202CF54 + mov r1, #0 + bl sub_0202D18C + str r0, [r4, #0x10] + cmp r6, #1 + bne _0203ED72 + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_02066A0C + cmp r0, #0 + bne _0203ED72 + mov r0, #0 + strb r0, [r4] + b _0203ED74 +_0203ED72: + strb r6, [r4] +_0203ED74: + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203ECFC + add r0, r4, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0203ED24 + + thumb_func_start sub_0203ED80 +sub_0203ED80: ; 0x0203ED80 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r0, #0xb + mov r1, #0x1c + add r7, r2, #0 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x1c + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4, #0x18] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #0x14] + ldr r0, [r4, #0x18] + bl sub_0202CF54 + mov r1, #0 + bl sub_0202D18C + str r0, [r4, #0x10] + mov r0, #3 + strb r0, [r4] + str r6, [r4, #0xc] + add r0, r5, #0 + add r1, r4, #0 + str r7, [r4, #8] + bl sub_0203ECFC + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203ED80 + + thumb_func_start sub_0203EDCC +sub_0203EDCC: ; 0x0203EDCC + ldr r3, _0203EDD4 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203EDD8 ; =0x020FA364 + bx r3 + .balign 4, 0 +_0203EDD4: .word SwitchToPokegearApp +_0203EDD8: .word 0x020FA364 + thumb_func_end sub_0203EDCC + + thumb_func_start sub_0203EDDC +sub_0203EDDC: ; 0x0203EDDC + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r0, #0xb + mov r1, #0x14 + add r7, r2, #0 + str r3, [sp] + bl AllocFromHeap + add r4, r0, #0 + mov r1, #0 + mov r2, #0x14 + bl MIi_CpuFill8 + str r6, [r4] + ldr r0, [sp] + str r7, [r4, #4] + str r0, [r4, #8] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0xc] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EDCC + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203EDDC + + thumb_func_start sub_0203EE14 +sub_0203EE14: ; 0x0203EE14 + ldr r3, _0203EE1C ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203EE20 ; =0x020FA354 + bx r3 + .balign 4, 0 +_0203EE1C: .word SwitchToPokegearApp +_0203EE20: .word 0x020FA354 + thumb_func_end sub_0203EE14 + + thumb_func_start sub_0203EE24 +sub_0203EE24: ; 0x0203EE24 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0xc + bl AllocFromHeapAtEnd + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203E344 + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #4] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #8] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EE14 + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203EE24 + + thumb_func_start sub_0203EE54 +sub_0203EE54: ; 0x0203EE54 + push {r4, lr} + add r4, r0, #0 + bl sub_020503D0 + mov r1, #0xef + bl sub_020503DC + cmp r0, #0 + beq _0203EE8A + add r0, r4, #0 + bl sub_020503D0 + mov r1, #0xf0 + bl sub_020503DC + cmp r0, #0 + beq _0203EE8A + add r0, r4, #0 + bl sub_020503D0 + mov r1, #0xf1 + bl sub_020503DC + cmp r0, #0 + beq _0203EE8A + mov r0, #1 + pop {r4, pc} +_0203EE8A: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_0203EE54 + + thumb_func_start sub_0203EE90 +sub_0203EE90: ; 0x0203EE90 + ldr r3, _0203EE98 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203EE9C ; =0x020FA344 + bx r3 + .balign 4, 0 +_0203EE98: .word SwitchToPokegearApp +_0203EE9C: .word 0x020FA344 + thumb_func_end sub_0203EE90 + + thumb_func_start sub_0203EEA0 +sub_0203EEA0: ; 0x0203EEA0 + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #8 + bl AllocFromHeapAtEnd + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203E344 + add r6, r0, #0 + bl sub_02031968 + bl sub_02031974 + str r0, [r4] + add r0, r6, #0 + bl sub_0203EE54 + str r0, [r4, #4] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EE90 + add r0, r4, #0 + pop {r4, r5, r6, pc} + thumb_func_end sub_0203EEA0 + + thumb_func_start sub_0203EED4 +sub_0203EED4: ; 0x0203EED4 + ldr r3, _0203EEDC ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203EEE0 ; =0x020FA314 + bx r3 + .balign 4, 0 +_0203EEDC: .word SwitchToPokegearApp +_0203EEE0: .word 0x020FA314 + thumb_func_end sub_0203EED4 + + thumb_func_start sub_0203EEE4 +sub_0203EEE4: ; 0x0203EEE4 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x10 + bl AllocFromHeapAtEnd + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203E344 + add r6, r0, #0 + bl sub_02031968 + add r7, r0, #0 + add r0, r6, #0 + bl sub_0202A634 + str r0, [sp] + str r0, [r4] + add r0, r7, #0 + bl sub_02031978 + str r0, [r4, #4] + ldr r0, [sp] + bl sub_0202A55C + str r0, [r4, #8] + add r0, r6, #0 + bl sub_0203EE54 + str r0, [r4, #0xc] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EED4 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203EEE4 + + thumb_func_start sub_0203EF30 +sub_0203EF30: ; 0x0203EF30 + ldr r3, _0203EF38 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203EF3C ; =0x020FA324 + bx r3 + .balign 4, 0 +_0203EF38: .word SwitchToPokegearApp +_0203EF3C: .word 0x020FA324 + thumb_func_end sub_0203EF30 + + thumb_func_start sub_0203EF40 +sub_0203EF40: ; 0x0203EF40 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x14 + bl AllocFromHeapAtEnd + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203E344 + add r6, r0, #0 + bl sub_02031968 + add r7, r0, #0 + bl sub_0203197C + str r0, [r4] + add r0, r7, #0 + bl sub_02031984 + str r0, [r4, #4] + add r0, r6, #0 + bl sub_02028E9C + str r0, [r4, #0xc] + add r0, r6, #0 + bl sub_0203EE54 + str r0, [r4, #0x10] + add r0, r7, #0 + bl sub_02031990 + str r0, [r4, #8] + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EF30 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203EF40 + + thumb_func_start sub_0203EF90 +sub_0203EF90: ; 0x0203EF90 + ldr r3, _0203EF98 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203EF9C ; =0x020FA424 + bx r3 + .balign 4, 0 +_0203EF98: .word SwitchToPokegearApp +_0203EF9C: .word 0x020FA424 + thumb_func_end sub_0203EF90 + + thumb_func_start sub_0203EFA0 +sub_0203EFA0: ; 0x0203EFA0 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + mov r0, #3 + mov r1, #8 + bl AllocFromHeapAtEnd + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203E344 + add r7, r0, #0 + bl sub_02028E9C + add r6, r0, #0 + add r0, r7, #0 + bl sub_02031968 + str r0, [r4] + add r0, r5, #0 + add r1, r4, #0 + str r6, [r4, #4] + bl sub_0203EF90 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203EFA0 + + thumb_func_start sub_0203EFD4 +sub_0203EFD4: ; 0x0203EFD4 + add r2, r1, #0 + mov r1, #0x43 + lsl r1, r1, #2 + add r1, r0, r1 + str r1, [r2, #0x1c] + ldr r3, _0203EFE4 ; =SwitchToPokegearApp + ldr r1, _0203EFE8 ; =0x020FA434 + bx r3 + .balign 4, 0 +_0203EFE4: .word SwitchToPokegearApp +_0203EFE8: .word 0x020FA434 + thumb_func_end sub_0203EFD4 + + thumb_func_start sub_0203EFEC +sub_0203EFEC: ; 0x0203EFEC + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r4, r1, #0 + add r6, r2, #0 + add r7, r3, #0 + bl sub_0203E344 + mov r1, #0xb + str r1, [sp] + add r1, r4, #0 + add r2, r6, #0 + add r3, r7, #0 + bl sub_02090E68 + add r4, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EFD4 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203EFEC + + thumb_func_start sub_0203F018 +sub_0203F018: ; 0x0203F018 + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r7, r0, #0 + add r4, r2, #0 + add r6, r3, #0 + cmp r5, #3 + bne _0203F034 + bl sub_0203E344 + add r1, r4, #0 + add r2, r6, #0 + bl sub_02090F38 + b _0203F042 +_0203F034: + bl sub_0203E344 + add r1, r5, #0 + add r2, r4, #0 + add r3, r6, #0 + bl sub_02090EC0 +_0203F042: + add r4, r0, #0 + add r0, r7, #0 + add r1, r4, #0 + bl sub_0203EFD4 + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203F018 + + thumb_func_start sub_0203F050 +sub_0203F050: ; 0x0203F050 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r6, r2, #0 + add r5, r0, #0 + bl sub_0203E344 + add r1, r4, #0 + add r2, r6, #0 + bl sub_02090F00 + add r4, r0, #0 + add r0, r5, #0 + add r1, r4, #0 + bl sub_0203EFD4 + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203F050 + + thumb_func_start sub_0203F074 +sub_0203F074: ; 0x0203F074 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r0, r1, #0 + mov r1, #0xc + bl AllocFromHeap + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203E344 + str r0, [r4] + mov r0, #0x43 + lsl r0, r0, #2 + str r5, [r4, #4] + add r0, r5, r0 + str r0, [r4, #8] + ldr r1, _0203F0A4 ; =0x020FA2F4 + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, pc} + nop +_0203F0A4: .word 0x020FA2F4 + thumb_func_end sub_0203F074 + + thumb_func_start sub_0203F0A8 +sub_0203F0A8: ; 0x0203F0A8 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203F0CC ; =0x020FA2E4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203F0CC: .word 0x020FA2E4 + thumb_func_end sub_0203F0A8 + + thumb_func_start sub_0203F0D0 +sub_0203F0D0: ; 0x0203F0D0 + push {r3, r4, r5, r6, r7, lr} + add r6, r1, #0 + mov r1, #0x24 + add r4, r2, #0 + add r7, r3, #0 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x24 + add r5, r0, #0 + bl memset + add r0, r6, #0 + bl sub_02074904 + add r1, r4, #0 + bl sub_02074644 + str r0, [r5] + add r0, r6, #0 + bl sub_0202C028 + str r0, [sp] + mov r1, #0 + bl sub_0202B9B8 + add r4, r0, #0 + ldr r0, [sp] + bl sub_0202B9E0 + str r4, [r5, #4] + str r0, [r5, #8] + add r0, r6, #0 + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r5, #0xc] + add r0, r6, #0 + bl sub_0202CF54 + str r0, [r5, #0x10] + add r0, r6, #0 + bl sub_02028E9C + str r0, [r5, #0x14] + ldr r0, [sp, #0x18] + str r7, [r5, #0x18] + str r0, [r5, #0x1c] + add r0, r5, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_0203F0D0 + + thumb_func_start sub_0203F134 +sub_0203F134: ; 0x0203F134 + push {r3, r4, r5, lr} + add r5, r0, #0 + bl sub_0205064C + add r4, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r5, r0, #0 + ldr r0, [r5] + cmp r0, #0 + beq _0203F152 + cmp r0, #1 + beq _0203F162 + b _0203F192 +_0203F152: + ldr r1, [r5, #0xc] + add r0, r4, #0 + bl sub_0203F1E8 + ldr r0, [r5] + add r0, r0, #1 + str r0, [r5] + b _0203F192 +_0203F162: + add r0, r4, #0 + bl sub_020505A0 + cmp r0, #0 + bne _0203F192 + ldr r1, [r5, #4] + cmp r1, #0 + beq _0203F182 + ldr r0, [r5, #8] + cmp r0, #1 + bne _0203F17E + mov r0, #1 + strh r0, [r1] + b _0203F182 +_0203F17E: + mov r0, #0 + strh r0, [r1] +_0203F182: + ldr r0, [r5, #0xc] + bl FreeToHeap + add r0, r5, #0 + bl FreeToHeap + mov r0, #1 + pop {r3, r4, r5, pc} +_0203F192: + mov r0, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203F134 + + thumb_func_start sub_0203F198 +sub_0203F198: ; 0x0203F198 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r6, r0, #0 + add r5, r1, #0 + mov r0, #0x20 + mov r1, #0x10 + add r7, r2, #0 + str r3, [sp, #4] + bl AllocFromHeap + add r4, r0, #0 + add r2, r4, #0 + mov r1, #0x10 + mov r0, #0 +_0203F1B4: + strb r0, [r2] + add r2, r2, #1 + sub r1, r1, #1 + bne _0203F1B4 + add r0, sp, #0x10 + ldrh r0, [r0, #0x10] + add r3, r4, #0 + add r1, r7, #0 + str r0, [sp] + ldr r2, [sp, #4] + mov r0, #0x20 + add r3, #8 + bl sub_0203F0D0 + str r0, [r4, #0xc] + ldr r1, _0203F1E4 ; =sub_0203F134 + add r0, r6, #0 + add r2, r4, #0 + str r5, [r4, #4] + bl sub_02050530 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203F1E4: .word sub_0203F134 + thumb_func_end sub_0203F198 + + thumb_func_start sub_0203F1E8 +sub_0203F1E8: ; 0x0203F1E8 + push {r3, lr} + add r2, r1, #0 + mov r1, #0x43 + lsl r1, r1, #2 + add r1, r0, r1 + str r1, [r2, #0x20] + ldr r1, _0203F200 ; =0x0210F9AC + bl SwitchToPokegearApp + mov r0, #1 + pop {r3, pc} + nop +_0203F200: .word 0x0210F9AC + thumb_func_end sub_0203F1E8 + + thumb_func_start sub_0203F204 +sub_0203F204: ; 0x0203F204 + push {r3, lr} + add r2, r1, #0 + ldr r1, _0203F214 ; =0x0210F99C + bl SwitchToPokegearApp + mov r0, #1 + pop {r3, pc} + nop +_0203F214: .word 0x0210F99C + thumb_func_end sub_0203F204 + + thumb_func_start sub_0203F218 +sub_0203F218: ; 0x0203F218 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + ldr r0, [r4, #0xc] + bl sub_02028E9C + str r0, [r5, #4] + ldr r0, [r4, #0xc] + bl sub_02074904 + str r0, [r5, #8] + ldr r0, [r4, #0xc] + mov r1, #8 + bl SavArray_get + str r0, [r5, #0xc] + ldr r0, [r4, #0xc] + bl sub_0202CA44 + str r0, [r5, #0x14] + ldr r0, [r4, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r5, #0x18] + ldr r0, [r4, #0xc] + bl sub_0202A634 + str r0, [r5, #0x20] + ldr r0, [r4, #0xc] + bl sub_02074910 + str r0, [r5, #0x2c] + ldr r0, [r4, #0xc] + str r0, [r5, #0x10] + ldr r0, [r4, #0xc] + bl sub_0202CF54 + str r0, [r5, #0x1c] + bl sub_02028ECC + add r1, r0, #0 + mov r0, #0x20 + bl AllocFromHeap + str r0, [r5, #0x34] + bl sub_02070D90 + add r1, r0, #0 + mov r0, #0x20 + bl AllocFromHeap + str r0, [r5, #0x38] + bl sub_02070D90 + add r1, r0, #0 + mov r0, #0x20 + bl AllocFromHeap + str r0, [r5, #0x3c] + str r4, [r5] + mov r0, #0 + str r0, [r5, #0x30] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_0203F218 + + thumb_func_start sub_0203F298 +sub_0203F298: ; 0x0203F298 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x34] + cmp r0, #0 + beq _0203F2AA + bl FreeToHeap + mov r0, #0 + str r0, [r4, #0x34] +_0203F2AA: + ldr r0, [r4, #0x38] + cmp r0, #0 + beq _0203F2B8 + bl FreeToHeap + mov r0, #0 + str r0, [r4, #0x38] +_0203F2B8: + ldr r0, [r4, #0x3c] + cmp r0, #0 + beq _0203F2C6 + bl FreeToHeap + mov r0, #0 + str r0, [r4, #0x3c] +_0203F2C6: + pop {r4, pc} + thumb_func_end sub_0203F298 + + thumb_func_start sub_0203F2C8 +sub_0203F2C8: ; 0x0203F2C8 + push {r4, r5, r6, r7, lr} + sub sp, #0x2c + add r6, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r6, #0 + bl sub_02050650 + add r4, r0, #0 + ldr r0, [r4] + cmp r0, #7 + bls _0203F2E4 + b _0203F49A +_0203F2E4: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0203F2F0: ; jump table + .short _0203F300 - _0203F2F0 - 2 ; case 0 + .short _0203F316 - _0203F2F0 - 2 ; case 1 + .short _0203F324 - _0203F2F0 - 2 ; case 2 + .short _0203F336 - _0203F2F0 - 2 ; case 3 + .short _0203F354 - _0203F2F0 - 2 ; case 4 + .short _0203F3C2 - _0203F2F0 - 2 ; case 5 + .short _0203F446 - _0203F2F0 - 2 ; case 6 + .short _0203F472 - _0203F2F0 - 2 ; case 7 +_0203F300: + bl sub_02039998 + cmp r0, #0 + bne _0203F30E + add r0, r6, #0 + bl sub_0205525C +_0203F30E: + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _0203F49A +_0203F316: + add r0, r4, #4 + add r1, r5, #0 + bl sub_0203F218 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] +_0203F324: + ldr r1, _0203F4A0 ; =0x0210F98C + add r0, r6, #0 + add r2, r4, #4 + bl sub_02050624 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _0203F49A +_0203F336: + ldr r1, [r4, #0x28] + cmp r1, #0 + bne _0203F34E + add r0, r4, #4 + bl sub_0203F298 + add r0, r4, #0 + bl FreeToHeap + add sp, #0x2c + mov r0, #1 + pop {r4, r5, r6, r7, pc} +_0203F34E: + add r0, r0, #1 + str r0, [r4] + b _0203F49A +_0203F354: + ldr r0, [r4, #0x38] + str r0, [r4, #0x4c] + ldr r0, [r4, #0x3c] + bl sub_02070DB0 + str r0, [r4, #0x44] + ldr r0, [r4, #0x40] + bl sub_02070DB0 + str r0, [r4, #0x48] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0x58] + mov r0, #1 + str r0, [r4, #0x54] + add r0, r5, #0 + bl sub_020555E0 + cmp r0, #4 + bhi _0203F394 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203F38A: ; jump table + .short _0203F394 - _0203F38A - 2 ; case 0 + .short _0203F394 - _0203F38A - 2 ; case 1 + .short _0203F39A - _0203F38A - 2 ; case 2 + .short _0203F3A0 - _0203F38A - 2 ; case 3 + .short _0203F3A0 - _0203F38A - 2 ; case 4 +_0203F394: + mov r0, #0 + str r0, [r4, #0x50] + b _0203F3A4 +_0203F39A: + mov r0, #1 + str r0, [r4, #0x50] + b _0203F3A4 +_0203F3A0: + mov r0, #2 + str r0, [r4, #0x50] +_0203F3A4: + bl sub_02039998 + cmp r0, #0 + beq _0203F3B0 + mov r0, #3 + str r0, [r4, #0x50] +_0203F3B0: + add r2, r4, #0 + ldr r1, _0203F4A4 ; =0x020FA2D4 + add r0, r6, #0 + add r2, #0x44 + bl sub_02050624 + mov r0, #5 + str r0, [r4] + b _0203F49A +_0203F3C2: + ldr r0, [r4, #0x40] + mov r1, #6 + mov r2, #0 + bl sub_0206E540 + add r3, r0, #0 + add r0, sp, #0x28 + str r0, [sp] + lsl r3, r3, #0x10 + ldr r1, [r4, #0x40] + mov r0, #0 + mov r2, #1 + lsr r3, r3, #0x10 + bl sub_02070E34 + str r0, [sp, #0x1c] + cmp r0, #0 + beq _0203F440 + mov r0, #3 + mov r1, #0x1a + lsl r2, r0, #0x10 + bl sub_0201A910 + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [sp, #0x20] + ldr r0, [r5, #0xc] + bl sub_02088288 + add r6, r0, #0 + ldr r0, [r5, #0xc] + bl sub_0202A634 + add r7, r0, #0 + ldr r0, [r5, #0xc] + bl sub_0207879C + str r0, [sp, #0x24] + ldr r0, [r5, #0xc] + bl sub_0202CF54 + str r6, [sp] + ldr r1, [sp, #0x24] + str r7, [sp, #4] + str r1, [sp, #8] + str r0, [sp, #0xc] + ldr r0, [sp, #0x28] + ldr r2, [sp, #0x1c] + str r0, [sp, #0x10] + mov r0, #4 + str r0, [sp, #0x14] + mov r0, #0x1a + str r0, [sp, #0x18] + ldr r1, [r4, #0x40] + ldr r3, [sp, #0x20] + mov r0, #0 + bl sub_02075A7C + str r0, [r4, #0x5c] + mov r0, #6 + str r0, [r4] + b _0203F49A +_0203F440: + mov r0, #7 + str r0, [r4] + b _0203F49A +_0203F446: + ldr r0, [r4, #0x5c] + bl sub_02075D3C + cmp r0, #0 + beq _0203F49A + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x2c] + bl sub_02074644 + add r1, r0, #0 + ldr r0, [r4, #0x40] + bl sub_0207188C + ldr r0, [r4, #0x5c] + bl sub_02075D4C + mov r0, #0x1a + bl sub_0201A9C4 + mov r0, #7 + str r0, [r4] + b _0203F49A +_0203F472: + ldr r0, [r4, #0x34] + add r0, r0, #1 + str r0, [r4, #0x34] + mov r0, #2 + str r0, [r4] + ldr r0, [r5, #0xc] + bl sub_0202CF54 + mov r1, #0x10 + add r4, r0, #0 + bl sub_0202D1C0 + bl sub_02039998 + cmp r0, #0 + beq _0203F49A + add r0, r4, #0 + mov r1, #0x72 + bl sub_0202D0FC +_0203F49A: + mov r0, #0 + add sp, #0x2c + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0203F4A0: .word 0x0210F98C +_0203F4A4: .word 0x020FA2D4 + thumb_func_end sub_0203F2C8 + + thumb_func_start sub_0203F4A8 +sub_0203F4A8: ; 0x0203F4A8 + push {r4, lr} + add r4, r0, #0 + mov r0, #0x20 + mov r1, #0x64 + bl AllocFromHeap + add r2, r0, #0 + mov r0, #0 + str r0, [r2] + ldr r1, _0203F4C4 ; =sub_0203F2C8 + add r0, r4, #0 + bl sub_02050530 + pop {r4, pc} + .balign 4, 0 +_0203F4C4: .word sub_0203F2C8 + thumb_func_end sub_0203F4A8 + + thumb_func_start sub_0203F4C8 +sub_0203F4C8: ; 0x0203F4C8 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0x20 + mov r1, #8 + bl AllocFromHeap + add r4, r0, #0 + add r0, r5, #0 + add r0, #0x84 + ldr r0, [r0] + str r0, [r4] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #4] + ldr r1, _0203F4F4 ; =0x020FA2C4 + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + pop {r3, r4, r5, pc} + nop +_0203F4F4: .word 0x020FA2C4 + thumb_func_end sub_0203F4C8 + + thumb_func_start sub_0203F4F8 +sub_0203F4F8: ; 0x0203F4F8 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x14 + bl AllocFromHeap + add r4, r0, #0 + ldr r0, [r5, #0xc] + str r0, [r4] + add r0, r5, #0 + add r0, #0x84 + ldr r0, [r0] + str r0, [r4, #4] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #8] + ldr r0, [r5, #0xc] + bl sub_0202CF54 + str r0, [r4, #0xc] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #0x10] + ldr r1, _0203F538 ; =0x020FA2B4 + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203F538: .word 0x020FA2B4 + thumb_func_end sub_0203F4F8 + + thumb_func_start sub_0203F53C +sub_0203F53C: ; 0x0203F53C + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + add r0, r2, #0 + mov r1, #8 + bl AllocFromHeap + mov r1, #0 + mov r2, #8 + add r4, r0, #0 + bl MIi_CpuFill8 + mov r0, #0x43 + lsl r0, r0, #2 + str r6, [r4] + add r0, r5, r0 + str r0, [r4, #4] + ldr r1, _0203F56C ; =0x020FA2A4 + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203F56C: .word 0x020FA2A4 + thumb_func_end sub_0203F53C + + thumb_func_start sub_0203F570 +sub_0203F570: ; 0x0203F570 + ldr r3, _0203F578 ; =SwitchToPokegearApp + ldr r1, _0203F57C ; =0x02102830 + add r2, r0, #0 + bx r3 + .balign 4, 0 +_0203F578: .word SwitchToPokegearApp +_0203F57C: .word 0x02102830 + thumb_func_end sub_0203F570 + + thumb_func_start sub_0203F580 +sub_0203F580: ; 0x0203F580 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + bl sub_0205064C + add r6, r0, #0 + add r0, r5, #0 + bl sub_02050650 + add r4, r0, #0 + ldr r0, [r4] + cmp r0, #3 + bhi _0203F648 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203F5A4: ; jump table + .short _0203F5AC - _0203F5A4 - 2 ; case 0 + .short _0203F5BA - _0203F5A4 - 2 ; case 1 + .short _0203F5CC - _0203F5A4 - 2 ; case 2 + .short _0203F5DA - _0203F5A4 - 2 ; case 3 +_0203F5AC: + add r0, r5, #0 + bl sub_0205525C + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _0203F648 +_0203F5BA: + ldr r1, _0203F64C ; =0x02102610 + ldr r2, [r4, #0xc] + add r0, r5, #0 + bl sub_02050624 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _0203F648 +_0203F5CC: + add r0, r5, #0 + bl sub_020552A4 + ldr r0, [r4] + add r0, r0, #1 + str r0, [r4] + b _0203F648 +_0203F5DA: + ldr r1, [r4, #0xc] + ldr r0, [r1] + cmp r0, #1 + bne _0203F5F6 + ldr r0, [r1, #0x18] + ldr r1, [r4, #0x10] + bl StringCompare + cmp r0, #0 + bne _0203F618 + ldr r0, [r4, #0xc] + mov r1, #1 + str r1, [r0, #0x14] + b _0203F618 +_0203F5F6: + cmp r0, #5 + bne _0203F618 + ldr r0, [r1, #0x18] + bl String_c_str + add r7, r0, #0 + ldr r0, [r6, #0xc] + bl sub_0202C854 + add r1, r7, #0 + bl sub_0202C88C + cmp r0, #0 + beq _0203F618 + ldr r0, [r4, #0xc] + mov r1, #2 + str r1, [r0, #0x14] +_0203F618: + ldr r0, [r4, #0xc] + ldr r0, [r0, #0x14] + cmp r0, #0 + bne _0203F626 + add r0, r5, #0 + bl sub_0203F650 +_0203F626: + ldr r1, [r4, #8] + cmp r1, #0 + beq _0203F632 + ldr r0, [r4, #0xc] + ldr r0, [r0, #0x14] + strh r0, [r1] +_0203F632: + ldr r0, [r4, #0xc] + bl sub_0208311C + ldr r0, [r4, #0x10] + bl String_dtor + add r0, r4, #0 + bl FreeToHeap + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_0203F648: + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203F64C: .word 0x02102610 + thumb_func_end sub_0203F580 + + thumb_func_start sub_0203F650 +sub_0203F650: ; 0x0203F650 + push {r4, r5, r6, lr} + add r4, r0, #0 + bl sub_0205064C + add r5, r0, #0 + add r0, r4, #0 + bl sub_02050650 + add r4, r0, #0 + ldr r0, [r4, #0xc] + ldr r0, [r0] + cmp r0, #5 + bhi _0203F6DC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203F676: ; jump table + .short _0203F682 - _0203F676 - 2 ; case 0 + .short _0203F6A2 - _0203F676 - 2 ; case 1 + .short _0203F6DC - _0203F676 - 2 ; case 2 + .short _0203F692 - _0203F676 - 2 ; case 3 + .short _0203F6DC - _0203F676 - 2 ; case 4 + .short _0203F6CA - _0203F676 - 2 ; case 5 +_0203F682: + ldr r0, [r5, #0xc] + bl sub_02028E9C + ldr r1, [r4, #0xc] + add r1, #0x1c + bl sub_02028F24 + pop {r4, r5, r6, pc} +_0203F692: + ldr r0, [r5, #0xc] + bl sub_0202A954 + ldr r1, [r4, #0xc] + ldr r1, [r1, #0x18] + bl sub_0202A9B0 + pop {r4, r5, r6, pc} +_0203F6A2: + ldr r6, [r4, #4] + cmp r6, #0xff + bne _0203F6B2 + add r0, r5, #0 + bl sub_0206DB28 + ldr r0, [r0, #0x10] + b _0203F6BE +_0203F6B2: + ldr r0, [r5, #0xc] + bl sub_02074904 + add r1, r6, #0 + bl sub_02074644 +_0203F6BE: + ldr r2, [r4, #0xc] + mov r1, #0x76 + add r2, #0x1c + bl sub_0206EC40 + pop {r4, r5, r6, pc} +_0203F6CA: + ldr r0, [r5, #0xc] + bl sub_0202C854 + ldr r3, [r4, #0xc] + mov r1, #0 + ldr r3, [r3, #0x18] + add r2, r1, #0 + bl sub_0202C7F8 +_0203F6DC: + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203F650 + + thumb_func_start sub_0203F6E0 +sub_0203F6E0: ; 0x0203F6E0 + push {r4, r5, r6, r7, lr} + sub sp, #0x14 + str r0, [sp, #8] + add r7, r1, #0 + str r2, [sp, #0xc] + str r3, [sp, #0x10] + ldr r5, [sp, #0x2c] + bl sub_0205064C + add r6, r0, #0 + mov r0, #0xb + mov r1, #0x14 + bl AllocFromHeapAtEnd + add r4, r0, #0 + mov r0, #0 + str r0, [r4] + ldr r0, [sp, #0x28] + str r0, [r4, #4] + ldr r0, [sp, #0x30] + str r0, [r4, #8] + ldr r0, [r6, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [sp] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r6, r0 + str r0, [sp, #4] + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x10] + mov r0, #0xb + add r1, r7, #0 + bl sub_020830D8 + str r0, [r4, #0xc] + mov r0, #0xc + mov r1, #0xb + bl String_ctor + str r0, [r4, #0x10] + cmp r7, #1 + beq _0203F73C + cmp r7, #5 + beq _0203F784 + b _0203F78E +_0203F73C: + ldr r0, [sp, #0x28] + cmp r0, #0xff + bne _0203F74C + add r0, r6, #0 + bl sub_0206DB28 + ldr r6, [r0, #0x10] + b _0203F75A +_0203F74C: + ldr r0, [r6, #0xc] + bl sub_02074904 + ldr r1, [r4, #4] + bl sub_02074644 + add r6, r0, #0 +_0203F75A: + add r0, r6, #0 + mov r1, #0x6f + mov r2, #0 + bl sub_0206E540 + ldr r1, [r4, #0xc] + mov r2, #0 + str r0, [r1, #0x10] + add r0, r6, #0 + mov r1, #0x70 + bl sub_0206E540 + ldr r1, [r4, #0xc] + cmp r5, #0 + str r0, [r1, #8] + beq _0203F79C + ldr r0, [r4, #0x10] + add r1, r5, #0 + bl CopyU16ArrayToString + b _0203F79C +_0203F784: + ldr r0, [r4, #0x10] + add r1, r5, #0 + bl CopyU16ArrayToString + b _0203F79C +_0203F78E: + cmp r5, #0 + beq _0203F79C + ldr r0, [r4, #0xc] + add r1, r5, #0 + ldr r0, [r0, #0x18] + bl CopyU16ArrayToString +_0203F79C: + ldr r0, [sp, #8] + ldr r1, _0203F7AC ; =sub_0203F580 + add r2, r4, #0 + bl sub_02050530 + add sp, #0x14 + pop {r4, r5, r6, r7, pc} + nop +_0203F7AC: .word sub_0203F580 + thumb_func_end sub_0203F6E0 + + thumb_func_start sub_0203F7B0 +sub_0203F7B0: ; 0x0203F7B0 + push {r3, r4, r5, lr} + add r5, r0, #0 + mov r0, #0x43 + lsl r0, r0, #2 + add r4, r1, #0 + add r1, r5, r0 + ldr r0, _0203F7E8 ; =0x0000066C + str r1, [r4, r0] + ldr r1, [r5, #0xc] + add r0, r0, #4 + str r1, [r4, r0] + ldr r0, [r5, #0xc] + bl sub_020503D0 + bl sub_02066614 + ldr r1, _0203F7EC ; =0x00000678 + mov r2, #0 + str r0, [r4, r1] + sub r0, r1, #4 + str r2, [r4, r0] + ldr r1, _0203F7F0 ; =0x020FA294 + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + pop {r3, r4, r5, pc} + nop +_0203F7E8: .word 0x0000066C +_0203F7EC: .word 0x00000678 +_0203F7F0: .word 0x020FA294 + thumb_func_end sub_0203F7B0 + + thumb_func_start sub_0203F7F4 +sub_0203F7F4: ; 0x0203F7F4 + push {r3, lr} + add r2, r1, #0 + ldr r1, _0203F804 ; =0x020FA284 + bl SwitchToPokegearApp + mov r0, #1 + pop {r3, pc} + nop +_0203F804: .word 0x020FA284 + thumb_func_end sub_0203F7F4 + + thumb_func_start sub_0203F808 +sub_0203F808: ; 0x0203F808 + ldr r3, _0203F810 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203F814 ; =0x020FA274 + bx r3 + .balign 4, 0 +_0203F810: .word SwitchToPokegearApp +_0203F814: .word 0x020FA274 + thumb_func_end sub_0203F808 + + thumb_func_start sub_0203F818 +sub_0203F818: ; 0x0203F818 + push {r3, r4, r5, lr} + sub sp, #0x10 + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl sub_0202C9D8 + ldr r5, _0203F840 ; =0x020FA254 + add r3, sp, #0 + add r2, r3, #0 + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + add r1, r2, #0 + ldr r2, [r4, #0xc] + add r0, r4, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203F840: .word 0x020FA254 + thumb_func_end sub_0203F818 + + thumb_func_start sub_0203F844 +sub_0203F844: ; 0x0203F844 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r3, _0203F8E8 ; =0x020FA264 + add r2, sp, #0 + add r5, r0, #0 + add r6, r1, #0 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + mov r0, #0xb + mov r1, #0x40 + bl AllocFromHeapAtEnd + add r4, r0, #0 + ldr r0, [r5, #0xc] + bl sub_0202DB34 + str r0, [r4] + ldr r0, [r5, #0xc] + bl Sav2_SysInfo_get + str r0, [r4, #4] + ldr r0, [r5, #0xc] + mov r1, #2 + bl SavArray_get + str r0, [r4, #8] + ldr r0, [r5, #0xc] + bl sub_020270D8 + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_0202A634 + str r0, [r4, #0x10] + ldr r0, [r5, #0xc] + bl sub_0202C6F4 + str r0, [r4, #0x14] + ldr r0, [r5, #0xc] + bl sub_0202CA44 + str r0, [r4, #0x18] + ldr r0, [r5, #0xc] + bl sub_02028E9C + str r0, [r4, #0x1c] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0x24] + ldr r0, [r5, #0xc] + bl sub_0202CF54 + str r0, [r4, #0x28] + ldr r0, [r5, #0xc] + bl sub_02088288 + str r0, [r4, #0x38] + ldr r0, [r5, #0xc] + str r0, [r4, #0x20] + ldr r0, [r5, #0xc] + bl sub_02074910 + str r0, [r4, #0x30] + ldr r0, [r4, #0x14] + bl sub_0203A040 + str r0, [r4, #0x34] + ldr r0, [r5, #0xc] + bl sub_0207879C + str r0, [r4, #0x2c] + add r0, r5, #0 + add r1, sp, #0 + add r2, r4, #0 + str r6, [r4, #0x3c] + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203F8E8: .word 0x020FA264 + thumb_func_end sub_0203F844 + + thumb_func_start sub_0203F8EC +sub_0203F8EC: ; 0x0203F8EC + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + ldr r3, _0203F960 ; =0x020FA334 + add r7, r2, #0 + add r2, sp, #0 + add r5, r0, #0 + add r6, r1, #0 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + mov r0, #0xb + mov r1, #0x28 + bl AllocFromHeapAtEnd + add r4, r0, #0 + ldr r0, [r5, #0xc] + bl sub_0202D918 + str r0, [r4] + ldr r0, [r5, #0xc] + bl sub_0202D928 + str r0, [r4, #4] + ldr r0, [r5, #0xc] + bl Sav2_SysInfo_get + str r0, [r4, #8] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0x10] + ldr r0, [r5, #0xc] + bl sub_0202C6F4 + bl sub_0202C08C + str r0, [r4, #0x14] + ldr r0, [r5, #0xc] + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_0202C6F4 + bl sub_0203A040 + str r0, [r4, #0x1c] + str r6, [r4, #0x18] + str r7, [r4, #0x24] + mov r0, #1 + str r0, [r4, #0x20] + add r0, r5, #0 + add r1, sp, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203F960: .word 0x020FA334 + thumb_func_end sub_0203F8EC + + thumb_func_start sub_0203F964 +sub_0203F964: ; 0x0203F964 + ldr r3, _0203F96C ; =SwitchToPokegearApp + ldr r1, _0203F970 ; =0x020FA224 + ldr r2, [r0, #0xc] + bx r3 + .balign 4, 0 +_0203F96C: .word SwitchToPokegearApp +_0203F970: .word 0x020FA224 + thumb_func_end sub_0203F964 + + thumb_func_start sub_0203F974 +sub_0203F974: ; 0x0203F974 + ldr r3, _0203F97C ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203F980 ; =0x020FA214 + bx r3 + .balign 4, 0 +_0203F97C: .word SwitchToPokegearApp +_0203F980: .word 0x020FA214 + thumb_func_end sub_0203F974 + + thumb_func_start sub_0203F984 +sub_0203F984: ; 0x0203F984 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0xc] + mov r1, #0xb + add r2, sp, #0 + bl LoadHallOfFame + ldr r1, [sp] + add r4, r0, #0 + cmp r1, #2 + bne _0203F9A2 + bl FreeToHeap + mov r0, #0 + pop {r3, r4, r5, pc} +_0203F9A2: + ldr r1, _0203F9B0 ; =0x020FA204 + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, pc} + .balign 4, 0 +_0203F9B0: .word 0x020FA204 + thumb_func_end sub_0203F984 + + thumb_func_start sub_0203F9B4 +sub_0203F9B4: ; 0x0203F9B4 + ldr r3, _0203F9BC ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203F9C0 ; =0x020FA1F4 + bx r3 + .balign 4, 0 +_0203F9BC: .word SwitchToPokegearApp +_0203F9C0: .word 0x020FA1F4 + thumb_func_end sub_0203F9B4 + + thumb_func_start sub_0203F9C4 +sub_0203F9C4: ; 0x0203F9C4 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r6, _0203F9F0 ; =0x020FA1E4 + add r5, sp, #0 + add r3, r0, #0 + add r2, r1, #0 + add r4, r5, #0 + ldmia r6!, {r0, r1} + stmia r5!, {r0, r1} + ldmia r6!, {r0, r1} + stmia r5!, {r0, r1} + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r3, r0 + str r0, [r2, #0xc] + add r0, r3, #0 + add r1, r4, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203F9F0: .word 0x020FA1E4 + thumb_func_end sub_0203F9C4 + + thumb_func_start sub_0203F9F4 +sub_0203F9F4: ; 0x0203F9F4 + push {r3, r4, r5, lr} + sub sp, #0x10 + add r4, r0, #0 + ldr r0, [r4, #0xc] + bl sub_02074904 + bl sub_0206CE44 + add r5, r0, #0 + bne _0203FA0C + bl GF_AssertFail +_0203FA0C: + str r5, [sp] + ldr r0, [r4, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [sp, #4] + ldr r0, [r4, #0xc] + bl sub_02028E9C + str r0, [sp, #8] + ldr r1, [r4, #0x20] + add r0, r4, #0 + ldr r1, [r1] + bl sub_02054F60 + add r1, sp, #0 + strh r0, [r1, #0xc] + ldr r0, [r4, #0x10] + add r1, sp, #0 + bl sub_02091240 + add sp, #0x10 + pop {r3, r4, r5, pc} + thumb_func_end sub_0203F9F4 + + thumb_func_start sub_0203FA38 +sub_0203FA38: ; 0x0203FA38 + push {r4, r5, r6, lr} + add r5, r0, #0 + mov r0, #0xb + mov r1, #0x14 + bl AllocFromHeapAtEnd + mov r1, #0 + mov r2, #0x14 + add r4, r0, #0 + bl MIi_CpuFill8 + add r0, r5, #0 + bl sub_0203E344 + add r6, r0, #0 + bl sub_02028EB4 + str r0, [r4, #4] + add r0, r6, #0 + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4] + mov r0, #0x43 + lsl r0, r0, #2 + add r0, r5, r0 + str r0, [r4, #8] + add r0, r6, #0 + bl sub_02028E9C + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + ldr r1, _0203FA88 ; =0x020FA234 + str r0, [r4, #0x10] + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r4, r5, r6, pc} + nop +_0203FA88: .word 0x020FA234 + thumb_func_end sub_0203FA38 + + thumb_func_start sub_0203FA8C +sub_0203FA8C: ; 0x0203FA8C + push {r4, r5, r6, lr} + add r5, r0, #0 + add r0, r1, #0 + mov r1, #8 + add r6, r2, #0 + bl AllocFromHeap + add r4, r0, #0 + str r6, [r4, #4] + ldr r0, [r5, #0xc] + ldr r1, _0203FAB0 ; =0x020FA304 + str r0, [r4] + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r4, r5, r6, pc} + .balign 4, 0 +_0203FAB0: .word 0x020FA304 + thumb_func_end sub_0203FA8C + + thumb_func_start sub_0203FAB4 +sub_0203FAB4: ; 0x0203FAB4 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + ldr r0, [sp, #0x18] + mov r1, #8 + add r7, r2, #0 + str r3, [sp] + bl AllocFromHeap + add r4, r0, #0 + strb r6, [r4, #4] + strb r7, [r4, #5] + ldr r0, [sp] + ldr r1, _0203FAE4 ; =0x0210F9BC + strh r0, [r4, #6] + ldr r0, [r5, #0xc] + add r2, r4, #0 + str r0, [r4] + add r0, r5, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203FAE4: .word 0x0210F9BC + thumb_func_end sub_0203FAB4 + + thumb_func_start sub_0203FAE8 +sub_0203FAE8: ; 0x0203FAE8 + push {r4, r5, r6, lr} + add r5, r0, #0 + add r0, r1, #0 + mov r1, #0x44 + add r6, r2, #0 + bl AllocFromHeap + mov r1, #0 + mov r2, #0x44 + add r4, r0, #0 + bl memset + ldr r0, [r5, #0xc] + bl sub_02074904 + str r0, [r4] + ldr r0, [r5, #0xc] + bl sub_0207879C + str r0, [r4, #4] + ldr r0, [r5, #0xc] + bl sub_0202B50C + str r0, [r4, #8] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_020270C4 + str r0, [r4, #0x10] + mov r0, #0 + add r1, r4, #0 + str r0, [r4, #0x18] + add r1, #0x25 + strb r0, [r1] + add r1, r4, #0 + mov r2, #5 + add r1, #0x24 + strb r2, [r1] + add r1, r4, #0 + strh r6, [r4, #0x28] + add r1, #0x26 + strb r0, [r1] + mov r0, #0x43 + lsl r0, r0, #2 + str r5, [r4, #0x1c] + add r0, r5, r0 + str r0, [r4, #0x20] + ldr r1, _0203FB5C ; =0x0210159C + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r4, r5, r6, pc} + nop +_0203FB5C: .word 0x0210159C + thumb_func_end sub_0203FAE8 + + thumb_func_start sub_0203FB60 +sub_0203FB60: ; 0x0203FB60 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r0, r1, #0 + mov r1, #0x18 + bl AllocFromHeap + add r4, r0, #0 + add r2, r4, #0 + mov r1, #0x18 + mov r0, #0 +_0203FB74: + strb r0, [r2] + add r2, r2, #1 + sub r1, r1, #1 + bne _0203FB74 + ldr r0, [r5, #0xc] + ldr r1, _0203FB90 ; =0x0210F97C + str r0, [r4] + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, pc} + nop +_0203FB90: .word 0x0210F97C + thumb_func_end sub_0203FB60 + + thumb_func_start sub_0203FB94 +sub_0203FB94: ; 0x0203FB94 + push {r4, r5, r6, lr} + add r5, r1, #0 + mov r0, #0xb + mov r1, #0x3c + add r6, r2, #0 + bl AllocFromHeap + add r4, r0, #0 + ldr r0, [r5, #0xc] + bl sub_02074904 + str r0, [r4] + ldr r0, [r5, #0xc] + bl Sav2_PlayerData_GetOptionsAddr + str r0, [r4, #4] + mov r0, #1 + strb r0, [r4, #0x11] + strb r6, [r4, #0x14] + ldr r0, [r4] + bl sub_02074640 + strb r0, [r4, #0x13] + mov r0, #0 + strh r0, [r4, #0x18] + strb r0, [r4, #0x12] + ldr r0, [r5, #0xc] + bl sub_0202D95C + str r0, [r4, #0x20] + ldr r0, [r5, #0xc] + bl sub_02074910 + str r0, [r4, #0x1c] + mov r0, #0 + str r0, [r4, #0x2c] + str r0, [r4, #0x28] + ldr r0, [r5, #0xc] + bl sub_0208828C + str r0, [r4, #0x34] + ldr r1, _0203FC0C ; =0x020FA0B0 + add r0, r4, #0 + bl sub_02089D40 + ldr r0, [r5, #0xc] + bl sub_02028E9C + add r1, r0, #0 + add r0, r4, #0 + bl sub_0208AD34 + ldr r1, _0203FC10 ; =0x02103A1C + add r0, r5, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r4, r5, r6, pc} + nop +_0203FC0C: .word 0x020FA0B0 +_0203FC10: .word 0x02103A1C + thumb_func_end sub_0203FB94 + + thumb_func_start sub_0203FC14 +sub_0203FC14: ; 0x0203FC14 + push {r3, r4, r5, r6, r7, lr} + sub sp, #0x10 + ldr r3, _0203FC54 ; =0x020FA1C4 + add r7, r2, #0 + add r2, sp, #0 + add r5, r0, #0 + add r6, r1, #0 + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + ldmia r3!, {r0, r1} + stmia r2!, {r0, r1} + mov r0, #0xb + mov r1, #0x10 + bl AllocFromHeapAtEnd + add r4, r0, #0 + mov r1, #0 + mov r2, #0x10 + bl MIi_CpuFill8 + str r5, [r4] + ldr r0, [r5, #0xc] + add r1, sp, #0 + str r0, [r4, #4] + str r6, [r4, #8] + add r0, r5, #0 + add r2, r4, #0 + strb r7, [r4, #0xc] + bl SwitchToPokegearApp + add sp, #0x10 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203FC54: .word 0x020FA1C4 + thumb_func_end sub_0203FC14 + + thumb_func_start sub_0203FC58 +sub_0203FC58: ; 0x0203FC58 + ldr r3, _0203FC60 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203FC64 ; =0x020FA244 + bx r3 + .balign 4, 0 +_0203FC60: .word SwitchToPokegearApp +_0203FC64: .word 0x020FA244 + thumb_func_end sub_0203FC58 + + thumb_func_start sub_0203FC68 +sub_0203FC68: ; 0x0203FC68 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203FC8C ; =0x020FA454 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203FC8C: .word 0x020FA454 + thumb_func_end sub_0203FC68 + + thumb_func_start sub_0203FC90 +sub_0203FC90: ; 0x0203FC90 + push {r4, r5, r6, lr} + sub sp, #0x10 + ldr r5, _0203FCB4 ; =0x020FA1D4 + add r4, sp, #0 + add r6, r0, #0 + add r2, r1, #0 + add r3, r4, #0 + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + ldmia r5!, {r0, r1} + stmia r4!, {r0, r1} + add r0, r6, #0 + add r1, r3, #0 + bl SwitchToPokegearApp + add sp, #0x10 + pop {r4, r5, r6, pc} + nop +_0203FCB4: .word 0x020FA1D4 + thumb_func_end sub_0203FC90 + + thumb_func_start sub_0203FCB8 +sub_0203FCB8: ; 0x0203FCB8 + push {r3, r4, r5, r6, r7, lr} + add r6, r0, #0 + add r5, r1, #0 + ldr r0, [sp, #0x18] + mov r1, #0x50 + add r7, r2, #0 + str r3, [sp] + bl AllocFromHeap + mov r1, #0 + mov r2, #0x50 + add r4, r0, #0 + bl memset + add r0, r6, #0 + bl sub_0203E344 + str r0, [r4] + add r3, r4, #4 + mov r2, #9 +_0203FCE0: + ldmia r5!, {r0, r1} + stmia r3!, {r0, r1} + sub r2, r2, #1 + bne _0203FCE0 + add r0, r4, #0 + add r0, #0x4c + strh r7, [r0] + add r1, r4, #0 + ldr r0, [sp] + add r1, #0x4e + strh r0, [r1] + ldr r1, _0203FD04 ; =0x020FA474 + add r0, r6, #0 + add r2, r4, #0 + bl SwitchToPokegearApp + add r0, r4, #0 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203FD04: .word 0x020FA474 + thumb_func_end sub_0203FCB8 + + thumb_func_start sub_0203FD08 +sub_0203FD08: ; 0x0203FD08 + ldr r3, _0203FD10 ; =SwitchToPokegearApp + add r2, r1, #0 + ldr r1, _0203FD14 ; =0x020FA494 + bx r3 + .balign 4, 0 +_0203FD10: .word SwitchToPokegearApp +_0203FD14: .word 0x020FA494 + thumb_func_end sub_0203FD08 + + thumb_func_start sub_0203FD18 +sub_0203FD18: ; 0x0203FD18 + push {r3, r4} + mov r3, #0 + strb r3, [r0, #1] + str r3, [r0, #8] + strb r3, [r0] + strb r3, [r0, #3] + str r3, [r0, #4] + str r1, [r0, #0x5c] + str r2, [r0, #0x60] + add r1, r0, #0 + add r4, r3, #0 +_0203FD2E: + add r3, r3, #1 + str r4, [r1, #0x64] + add r1, r1, #4 + cmp r3, #4 + blo _0203FD2E + add r2, r0, #0 + mov r1, #0 +_0203FD3C: + add r4, r4, #1 + str r1, [r2, #0xc] + add r2, r2, #4 + cmp r4, #0x14 + blo _0203FD3C + str r1, [r0, #0x74] + pop {r3, r4} + bx lr + thumb_func_end sub_0203FD18 + + thumb_func_start sub_0203FD4C +sub_0203FD4C: ; 0x0203FD4C + str r1, [r0, #8] + mov r1, #1 + strb r1, [r0, #1] + add r0, r1, #0 + bx lr + .balign 4, 0 + thumb_func_end sub_0203FD4C + + thumb_func_start sub_0203FD58 +sub_0203FD58: ; 0x0203FD58 + mov r2, #2 + strb r2, [r0, #1] + str r1, [r0, #4] + bx lr + thumb_func_end sub_0203FD58 + + thumb_func_start sub_0203FD60 +sub_0203FD60: ; 0x0203FD60 + mov r1, #0 + strb r1, [r0, #1] + str r1, [r0, #8] + bx lr + thumb_func_end sub_0203FD60 + + thumb_func_start sub_0203FD68 +sub_0203FD68: ; 0x0203FD68 + str r1, [r0, #0x74] + bx lr + thumb_func_end sub_0203FD68 + + thumb_func_start sub_0203FD6C +sub_0203FD6C: ; 0x0203FD6C + push {r4, lr} + add r4, r0, #0 + ldrb r1, [r4, #1] + cmp r1, #0 + bne _0203FD7A + mov r0, #0 + pop {r4, pc} +_0203FD7A: + beq _0203FD86 + cmp r1, #1 + beq _0203FDA2 + cmp r1, #2 + beq _0203FD8A + b _0203FDD4 +_0203FD86: + mov r0, #0 + pop {r4, pc} +_0203FD8A: + ldr r1, [r4, #4] + cmp r1, #0 + beq _0203FD9E + blx r1 + cmp r0, #1 + bne _0203FD9A + mov r0, #1 + strb r0, [r4, #1] +_0203FD9A: + mov r0, #1 + pop {r4, pc} +_0203FD9E: + mov r0, #1 + strb r0, [r4, #1] +_0203FDA2: + ldr r0, [r4, #8] + cmp r0, #0 + bne _0203FDAE + mov r0, #0 + strb r0, [r4, #1] + pop {r4, pc} +_0203FDAE: + add r0, r4, #0 + bl sub_0203FE2C + add r1, r0, #0 + ldr r0, [r4, #0x60] + cmp r1, r0 + blo _0203FDC6 + bl GF_AssertFail + mov r0, #0 + strb r0, [r4, #1] + pop {r4, pc} +_0203FDC6: + ldr r2, [r4, #0x5c] + lsl r1, r1, #2 + ldr r1, [r2, r1] + add r0, r4, #0 + blx r1 + cmp r0, #1 + bne _0203FDA2 +_0203FDD4: + mov r0, #1 + pop {r4, pc} + thumb_func_end sub_0203FD6C + + thumb_func_start sub_0203FDD8 +sub_0203FDD8: ; 0x0203FDD8 + ldrb r3, [r0] + add r2, r3, #1 + cmp r2, #0x14 + blt _0203FDE4 + mov r0, #1 + bx lr +_0203FDE4: + lsl r2, r3, #2 + add r2, r0, r2 + str r1, [r2, #0xc] + ldrb r1, [r0] + add r1, r1, #1 + strb r1, [r0] + mov r0, #0 + bx lr + thumb_func_end sub_0203FDD8 + + thumb_func_start sub_0203FDF4 +sub_0203FDF4: ; 0x0203FDF4 + ldrb r1, [r0] + cmp r1, #0 + bne _0203FDFE + mov r0, #0 + bx lr +_0203FDFE: + sub r1, r1, #1 + strb r1, [r0] + ldrb r1, [r0] + lsl r1, r1, #2 + add r0, r0, r1 + ldr r0, [r0, #0xc] + bx lr + thumb_func_end sub_0203FDF4 + + thumb_func_start sub_0203FE0C +sub_0203FE0C: ; 0x0203FE0C + str r1, [r0, #8] + bx lr + thumb_func_end sub_0203FE0C + + thumb_func_start sub_0203FE10 +sub_0203FE10: ; 0x0203FE10 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + ldr r1, [r5, #8] + bl sub_0203FDD8 + str r4, [r5, #8] + pop {r3, r4, r5, pc} + thumb_func_end sub_0203FE10 + + thumb_func_start sub_0203FE20 +sub_0203FE20: ; 0x0203FE20 + push {r4, lr} + add r4, r0, #0 + bl sub_0203FDF4 + str r0, [r4, #8] + pop {r4, pc} + thumb_func_end sub_0203FE20 + + thumb_func_start sub_0203FE2C +sub_0203FE2C: ; 0x0203FE2C + ldr r1, [r0, #8] + add r3, r1, #1 + str r3, [r0, #8] + ldrb r2, [r1] + add r1, r3, #1 + str r1, [r0, #8] + ldrb r0, [r3] + lsl r0, r0, #8 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + thumb_func_end sub_0203FE2C + + thumb_func_start sub_0203FE44 +sub_0203FE44: ; 0x0203FE44 + push {r4, r5} + ldr r1, [r0, #8] + add r2, r1, #1 + str r2, [r0, #8] + ldrb r3, [r1] + add r1, r2, #1 + add r5, r1, #1 + str r1, [r0, #8] + ldrb r2, [r2] + add r4, r5, #1 + str r5, [r0, #8] + ldrb r1, [r1] + str r4, [r0, #8] + ldrb r0, [r5] + mov r4, #0 + add r0, r4, r0 + lsl r0, r0, #8 + add r0, r0, r1 + lsl r0, r0, #8 + add r0, r0, r2 + lsl r0, r0, #8 + add r0, r0, r3 + pop {r4, r5} + bx lr + thumb_func_end sub_0203FE44 + + thumb_func_start sub_0203FE74 +sub_0203FE74: ; 0x0203FE74 + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + bl sub_0204001C + add r4, r0, #0 + mov r0, #0 + str r0, [sp] + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + add r3, r7, #0 + bl sub_0204005C + ldr r1, _0203FEA0 ; =sub_0203FF44 + add r0, r5, #0 + add r2, r4, #0 + bl sub_020504F0 + pop {r3, r4, r5, r6, r7, pc} + nop +_0203FEA0: .word sub_0203FF44 + thumb_func_end sub_0203FE74 + + thumb_func_start sub_0203FEA4 +sub_0203FEA4: ; 0x0203FEA4 + push {r4, r5, r6, lr} + ldr r0, [r0, #0x10] + add r5, r1, #0 + add r4, r2, #0 + add r6, r3, #0 + bl sub_02050650 + ldr r2, [sp, #0x1c] + mov r1, #0x1c + add r3, r2, #0 + add r0, #0x54 + mul r3, r1 + add r1, r0, r3 + str r4, [r0, r3] + ldr r0, [sp, #0x10] + str r6, [r1, #4] + str r0, [r1, #8] + ldr r0, [sp, #0x14] + str r0, [r1, #0xc] + ldr r0, [sp, #0x18] + str r0, [r1, #0x10] + str r5, [r1, #0x14] + pop {r4, r5, r6, pc} + .balign 4, 0 + thumb_func_end sub_0203FEA4 + + thumb_func_start sub_0203FED4 +sub_0203FED4: ; 0x0203FED4 + push {r4, r5, r6, r7, lr} + sub sp, #0xc + add r6, r0, #0 + add r7, r1, #0 + str r2, [sp, #4] + add r5, r3, #0 + bl sub_0205064C + str r0, [sp, #8] + bl sub_0204001C + add r4, r0, #0 + ldr r0, [sp, #8] + ldr r3, [sp, #4] + add r1, r4, #0 + add r2, r7, #0 + str r5, [sp] + bl sub_0204005C + ldr r1, _0203FF08 ; =sub_0203FF44 + add r0, r6, #0 + add r2, r4, #0 + bl sub_02050530 + add sp, #0xc + pop {r4, r5, r6, r7, pc} + .balign 4, 0 +_0203FF08: .word sub_0203FF44 + thumb_func_end sub_0203FED4 + + thumb_func_start sub_0203FF0C +sub_0203FF0C: ; 0x0203FF0C + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + add r6, r1, #0 + add r7, r2, #0 + bl sub_0205064C + str r0, [sp, #4] + bl sub_0204001C + add r4, r0, #0 + mov r0, #0 + str r0, [sp] + ldr r0, [sp, #4] + add r1, r4, #0 + add r2, r6, #0 + add r3, r7, #0 + bl sub_0204005C + ldr r1, _0203FF40 ; =sub_0203FF44 + add r0, r5, #0 + add r2, r4, #0 + bl sub_02050510 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0203FF40: .word sub_0203FF44 + thumb_func_end sub_0203FF0C + + thumb_func_start sub_0203FF44 +sub_0203FF44: ; 0x0203FF44 + push {r3, r4, r5, r6, r7, lr} + sub sp, #8 + add r5, r0, #0 + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0205064C + ldrb r1, [r4, #4] + str r0, [sp] + cmp r1, #0 + beq _0203FF64 + cmp r1, #1 + beq _0203FF9A + b _02040016 +_0203FF64: + ldrh r1, [r4, #0xa] + bl sub_020400AC + str r0, [r4, #0x38] + mov r0, #1 + strb r0, [r4, #9] + mov r0, #8 + mov r1, #0x40 + mov r2, #0xb + bl ScrStrBufs_new_custom + str r0, [r4, #0x44] + mov r0, #1 + lsl r0, r0, #0xa + mov r1, #0xb + bl String_ctor + str r0, [r4, #0x48] + mov r0, #1 + lsl r0, r0, #0xa + mov r1, #0xb + bl String_ctor + str r0, [r4, #0x4c] + ldrb r0, [r4, #4] + add r0, r0, #1 + strb r0, [r4, #4] +_0203FF9A: + mov r0, #0 + add r7, r4, #0 + str r0, [sp, #4] + add r5, r4, #0 + add r7, #9 +_0203FFA4: + ldr r6, [r5, #0x38] + cmp r6, #0 + beq _0203FFCE + add r0, r6, #0 + bl sub_0203FD6C + cmp r0, #0 + bne _0203FFCE + add r0, r6, #0 + bl sub_02040044 + ldrb r0, [r4, #9] + cmp r0, #0 + bne _0203FFC4 + bl GF_AssertFail +_0203FFC4: + mov r0, #0 + str r0, [r5, #0x38] + ldrb r0, [r7] + sub r0, r0, #1 + strb r0, [r7] +_0203FFCE: + ldr r0, [sp, #4] + add r5, r5, #4 + add r0, r0, #1 + str r0, [sp, #4] + cmp r0, #3 + blt _0203FFA4 + ldrb r0, [r4, #9] + cmp r0, #0 + bne _02040016 + add r0, r4, #0 + add r0, #0xa8 + ldr r5, [r0] + ldr r0, [r4, #0x44] + bl ScrStrBufs_delete + ldr r0, [r4, #0x48] + bl String_dtor + ldr r0, [r4, #0x4c] + bl String_dtor + mov r0, #0 + str r0, [r4] + add r0, r4, #0 + bl FreeToHeap + cmp r5, #0 + beq _02040010 + ldr r0, [sp] + blx r5 + add sp, #8 + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_02040010: + add sp, #8 + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} +_02040016: + mov r0, #0 + add sp, #8 + pop {r3, r4, r5, r6, r7, pc} + thumb_func_end sub_0203FF44 + + thumb_func_start sub_0204001C +sub_0204001C: ; 0x0204001C + push {r4, lr} + mov r0, #0xb + mov r1, #0xe0 + bl AllocFromHeap + add r4, r0, #0 + bne _0204002E + bl GF_AssertFail +_0204002E: + add r0, r4, #0 + mov r1, #0 + mov r2, #0xe0 + bl memset + ldr r0, _02040040 ; =0x0003643F + str r0, [r4] + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 +_02040040: .word 0x0003643F + thumb_func_end sub_0204001C + + thumb_func_start sub_02040044 +sub_02040044: ; 0x02040044 + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #0x78] + bl DestroyMsgData + ldr r0, [r4, #0x7c] + bl FreeToHeap + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + thumb_func_end sub_02040044 + + thumb_func_start sub_0204005C +sub_0204005C: ; 0x0204005C + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r7, r0, #0 + add r0, r5, #0 + mov r1, #0x37 + add r4, r2, #0 + add r6, r3, #0 + bl sub_020401B4 + str r0, [sp] + ldr r0, [r7, #0x40] + bl sub_0205C654 + str r0, [r5, #0x28] + str r6, [r5, #0x2c] + ldr r0, [sp, #0x18] + strh r4, [r5, #0xa] + str r0, [r5, #0x34] + cmp r6, #0 + beq _0204008E + add r0, r6, #0 + bl sub_0205F24C + ldr r1, [sp] + strh r0, [r1] +_0204008E: + mov r0, #0x7d + lsl r0, r0, #6 + cmp r4, r0 + blo _020400A4 + ldr r0, _020400A8 ; =0x0000225F + cmp r4, r0 + bhi _020400A4 + add r0, r5, #0 + add r1, r4, #0 + bl sub_020405AC +_020400A4: + pop {r3, r4, r5, r6, r7, pc} + nop +_020400A8: .word 0x0000225F + thumb_func_end sub_0204005C + + thumb_func_start sub_020400AC +sub_020400AC: ; 0x020400AC + push {r4, r5, r6, lr} + add r5, r0, #0 + add r6, r1, #0 + mov r0, #0xb + mov r1, #0x84 + bl AllocFromHeap + add r4, r0, #0 + bne _020400C2 + bl GF_AssertFail +_020400C2: + ldr r2, _020400E0 ; =0x020FAC90 + ldr r1, _020400E4 ; =0x020FAD00 + ldr r2, [r2] + add r0, r4, #0 + bl sub_0203FD18 + add r0, r5, #0 + add r1, r4, #0 + add r2, r6, #0 + mov r3, #0 + bl sub_020400E8 + add r0, r4, #0 + pop {r4, r5, r6, pc} + nop +_020400E0: .word 0x020FAC90 +_020400E4: .word 0x020FAD00 + thumb_func_end sub_020400AC + + thumb_func_start sub_020400E8 +sub_020400E8: ; 0x020400E8 + push {r4, r5, r6, lr} + add r4, r1, #0 + add r3, r4, #0 + add r5, r0, #0 + add r3, #0x80 + str r5, [r3] + bl sub_02040114 + add r6, r0, #0 + ldr r1, [r4, #0x7c] + add r0, r4, #0 + bl sub_0203FD4C + add r0, r4, #0 + add r1, r6, #0 + bl sub_02040340 + ldr r1, [r5, #0x10] + add r0, r4, #0 + bl sub_0203FD68 + pop {r4, r5, r6, pc} + thumb_func_end sub_020400E8 + + thumb_func_start sub_02040114 +sub_02040114: ; 0x02040114 + push {r4, r5, r6, lr} + ldr r6, _02040164 ; =0x020FA4A4 + add r5, r2, #0 + mov r2, #0 + add r4, r6, #0 +_0204011E: + ldrh r3, [r4] + cmp r5, r3 + blo _0204013E + mov r3, #6 + add r4, r2, #0 + mul r4, r3 + add r3, r6, r4 + ldrh r2, [r3, #2] + ldrh r3, [r3, #4] + bl sub_02040168 + ldrh r0, [r6, r4] + sub r0, r5, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r4, r5, r6, pc} +_0204013E: + add r2, r2, #1 + add r4, r4, #6 + cmp r2, #0x1e + blo _0204011E + cmp r5, #1 + blo _02040156 + bl sub_0204018C + sub r0, r5, #1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r4, r5, r6, pc} +_02040156: + mov r2, #0x8c + mov r3, #0xb8 + bl sub_02040168 + mov r0, #0 + pop {r4, r5, r6, pc} + nop +_02040164: .word 0x020FA4A4 + thumb_func_end sub_02040114 + + thumb_func_start sub_02040168 +sub_02040168: ; 0x02040168 + push {r3, r4, r5, lr} + add r5, r1, #0 + add r1, r2, #0 + add r4, r3, #0 + mov r0, #0xc + mov r2, #0xb + bl AllocAndReadWholeNarcMemberByIdPair + str r0, [r5, #0x7c] + mov r0, #1 + mov r1, #0x1b + add r2, r4, #0 + mov r3, #0xb + bl NewMsgDataFromNarc + str r0, [r5, #0x78] + pop {r3, r4, r5, pc} + .balign 4, 0 + thumb_func_end sub_02040168 + + thumb_func_start sub_0204018C +sub_0204018C: ; 0x0204018C + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x20] + add r4, r1, #0 + ldr r0, [r0] + bl sub_02040358 + str r0, [r4, #0x7c] + ldr r0, [r5, #0x20] + ldr r0, [r0] + bl sub_0204036C + add r2, r0, #0 + mov r0, #1 + mov r1, #0x1b + mov r3, #0xb + bl NewMsgDataFromNarc + str r0, [r4, #0x78] + pop {r3, r4, r5, pc} + thumb_func_end sub_0204018C + + thumb_func_start sub_020401B4 +sub_020401B4: ; 0x020401B4 + push {r3, lr} + cmp r1, #0x37 + bls _020401BC + b _020402E8 +_020401BC: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_020401C8: ; jump table + .short _02040238 - _020401C8 - 2 ; case 0 + .short _0204023C - _020401C8 - 2 ; case 1 + .short _02040240 - _020401C8 - 2 ; case 2 + .short _02040244 - _020401C8 - 2 ; case 3 + .short _02040248 - _020401C8 - 2 ; case 4 + .short _0204024C - _020401C8 - 2 ; case 5 + .short _02040250 - _020401C8 - 2 ; case 6 + .short _02040254 - _020401C8 - 2 ; case 7 + .short _02040258 - _020401C8 - 2 ; case 8 + .short _0204025C - _020401C8 - 2 ; case 9 + .short _02040260 - _020401C8 - 2 ; case 10 + .short _02040264 - _020401C8 - 2 ; case 11 + .short _02040268 - _020401C8 - 2 ; case 12 + .short _0204026C - _020401C8 - 2 ; case 13 + .short _0204026C - _020401C8 - 2 ; case 14 + .short _0204026C - _020401C8 - 2 ; case 15 + .short _02040276 - _020401C8 - 2 ; case 16 + .short _0204027A - _020401C8 - 2 ; case 17 + .short _0204027E - _020401C8 - 2 ; case 18 + .short _02040282 - _020401C8 - 2 ; case 19 + .short _02040286 - _020401C8 - 2 ; case 20 + .short _0204028A - _020401C8 - 2 ; case 21 + .short _0204028E - _020401C8 - 2 ; case 22 + .short _02040292 - _020401C8 - 2 ; case 23 + .short _02040296 - _020401C8 - 2 ; case 24 + .short _0204029A - _020401C8 - 2 ; case 25 + .short _0204029E - _020401C8 - 2 ; case 26 + .short _020402A2 - _020401C8 - 2 ; case 27 + .short _020402A6 - _020401C8 - 2 ; case 28 + .short _020402AA - _020401C8 - 2 ; case 29 + .short _020402AE - _020401C8 - 2 ; case 30 + .short _020402B2 - _020401C8 - 2 ; case 31 + .short _020402B6 - _020401C8 - 2 ; case 32 + .short _020402BA - _020401C8 - 2 ; case 33 + .short _020402BE - _020401C8 - 2 ; case 34 + .short _020402C2 - _020401C8 - 2 ; case 35 + .short _020402C6 - _020401C8 - 2 ; case 36 + .short _020402CA - _020401C8 - 2 ; case 37 + .short _020402CE - _020401C8 - 2 ; case 38 + .short _020402D2 - _020401C8 - 2 ; case 39 + .short _020402D6 - _020401C8 - 2 ; case 40 + .short _020402DA - _020401C8 - 2 ; case 41 + .short _020402DE - _020401C8 - 2 ; case 42 + .short _020402DE - _020401C8 - 2 ; case 43 + .short _020402DE - _020401C8 - 2 ; case 44 + .short _020402DE - _020401C8 - 2 ; case 45 + .short _020402DE - _020401C8 - 2 ; case 46 + .short _020402DE - _020401C8 - 2 ; case 47 + .short _020402DE - _020401C8 - 2 ; case 48 + .short _020402DE - _020401C8 - 2 ; case 49 + .short _020402DE - _020401C8 - 2 ; case 50 + .short _020402DE - _020401C8 - 2 ; case 51 + .short _020402DE - _020401C8 - 2 ; case 52 + .short _020402DE - _020401C8 - 2 ; case 53 + .short _020402DE - _020401C8 - 2 ; case 54 + .short _020402DE - _020401C8 - 2 ; case 55 +_02040238: + add r0, #0x10 + pop {r3, pc} +_0204023C: + add r0, #0x14 + pop {r3, pc} +_02040240: + add r0, #0x24 + pop {r3, pc} +_02040244: + add r0, r0, #5 + pop {r3, pc} +_02040248: + add r0, r0, #6 + pop {r3, pc} +_0204024C: + add r0, r0, #7 + pop {r3, pc} +_02040250: + add r0, #8 + pop {r3, pc} +_02040254: + add r0, #9 + pop {r3, pc} +_02040258: + add r0, #0xa + pop {r3, pc} +_0204025C: + add r0, #0x28 + pop {r3, pc} +_02040260: + add r0, #0x2c + pop {r3, pc} +_02040264: + add r0, #0x30 + pop {r3, pc} +_02040268: + add r0, #0x34 + pop {r3, pc} +_0204026C: + sub r1, #0xd + add r0, #0x38 + lsl r1, r1, #2 + add r0, r0, r1 + pop {r3, pc} +_02040276: + add r0, #0x44 + pop {r3, pc} +_0204027A: + add r0, #0x48 + pop {r3, pc} +_0204027E: + add r0, #0x4c + pop {r3, pc} +_02040282: + add r0, #0x50 + pop {r3, pc} +_02040286: + add r0, #0xac + pop {r3, pc} +_0204028A: + add r0, #0xb0 + pop {r3, pc} +_0204028E: + add r0, #0xb4 + pop {r3, pc} +_02040292: + add r0, #0xb8 + pop {r3, pc} +_02040296: + add r0, #0xc + pop {r3, pc} +_0204029A: + add r0, #0x54 + pop {r3, pc} +_0204029E: + add r0, #0x58 + pop {r3, pc} +_020402A2: + add r0, #0x5c + pop {r3, pc} +_020402A6: + add r0, #0x60 + pop {r3, pc} +_020402AA: + add r0, #0x64 + pop {r3, pc} +_020402AE: + add r0, #0x68 + pop {r3, pc} +_020402B2: + add r0, #0x6c + pop {r3, pc} +_020402B6: + add r0, #0x70 + pop {r3, pc} +_020402BA: + add r0, #0x74 + pop {r3, pc} +_020402BE: + add r0, #0x78 + pop {r3, pc} +_020402C2: + add r0, #0x7c + pop {r3, pc} +_020402C6: + add r0, #0x80 + pop {r3, pc} +_020402CA: + add r0, #0x84 + pop {r3, pc} +_020402CE: + add r0, #0x88 + pop {r3, pc} +_020402D2: + add r0, #0xbc + pop {r3, pc} +_020402D6: + add r0, #0xcc + pop {r3, pc} +_020402DA: + add r0, #0xdc + pop {r3, pc} +_020402DE: + sub r1, #0x2a + add r0, #0x8c + lsl r1, r1, #1 + add r0, r0, r1 + pop {r3, pc} +_020402E8: + bl GF_AssertFail + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_020401B4 + + thumb_func_start sub_020402F0 +sub_020402F0: ; 0x020402F0 + push {r3, r4, r5, lr} + ldr r0, [r0, #0x10] + add r5, r1, #0 + bl sub_02050650 + add r4, r0, #0 + bne _02040302 + bl GF_AssertFail +_02040302: + ldr r1, [r4] + ldr r0, _02040318 ; =0x0003643F + cmp r1, r0 + beq _0204030E + bl GF_AssertFail +_0204030E: + add r0, r4, #0 + add r1, r5, #0 + bl sub_020401B4 + pop {r3, r4, r5, pc} + .balign 4, 0 +_02040318: .word 0x0003643F + thumb_func_end sub_020402F0 + + thumb_func_start sub_0204031C +sub_0204031C: ; 0x0204031C + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0x10] + bl sub_02050650 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0203BC10 + cmp r0, #1 + bne _02040338 + ldr r0, _0204033C ; =sub_0203BD64 + add r4, #0xa8 + str r0, [r4] +_02040338: + pop {r3, r4, r5, pc} + nop +_0204033C: .word sub_0203BD64 + thumb_func_end sub_0204031C + + thumb_func_start sub_02040340 +sub_02040340: ; 0x02040340 + push {r4, lr} + add r4, r0, #0 + ldr r2, [r4, #8] + lsl r1, r1, #2 + add r1, r2, r1 + str r1, [r4, #8] + bl sub_0203FE44 + ldr r1, [r4, #8] + add r0, r1, r0 + str r0, [r4, #8] + pop {r4, pc} + thumb_func_end sub_02040340 + + thumb_func_start sub_02040358 +sub_02040358: ; 0x02040358 + push {r3, lr} + bl sub_0203B2D4 + add r1, r0, #0 + mov r0, #0xc + mov r2, #0xb + bl AllocAndReadWholeNarcMemberByIdPair + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02040358 + + thumb_func_start sub_0204036C +sub_0204036C: ; 0x0204036C + ldr r3, _02040370 ; =sub_0203B2C0 + bx r3 + .balign 4, 0 +_02040370: .word sub_0203B2C0 + thumb_func_end sub_0204036C + + thumb_func_start sub_02040374 +sub_02040374: ; 0x02040374 + push {r3, r4, r5, lr} + add r5, r0, #0 + ldr r0, [r5, #0xc] + add r4, r1, #0 + bl sub_020503D0 + mov r1, #1 + lsl r1, r1, #0xe + cmp r4, r1 + bhs _0204038C + mov r0, #0 + pop {r3, r4, r5, pc} +_0204038C: + lsl r1, r1, #1 + cmp r4, r1 + bhs _0204039A + add r1, r4, #0 + bl sub_020504A4 + pop {r3, r4, r5, pc} +_0204039A: + ldr r1, _020403A8 ; =0x00007FD6 + add r0, r5, #0 + sub r1, r4, r1 + bl sub_020402F0 + pop {r3, r4, r5, pc} + nop +_020403A8: .word 0x00007FD6 + thumb_func_end sub_02040374 + + thumb_func_start sub_020403AC +sub_020403AC: ; 0x020403AC + push {r4, lr} + add r4, r1, #0 + bl sub_02040374 + cmp r0, #0 + beq _020403BA + ldrh r4, [r0] +_020403BA: + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_020403AC + + thumb_func_start sub_020403C0 +sub_020403C0: ; 0x020403C0 + push {r4, lr} + add r4, r2, #0 + bl sub_02040374 + cmp r0, #0 + bne _020403D0 + mov r0, #0 + pop {r4, pc} +_020403D0: + strh r4, [r0] + mov r0, #1 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_020403C0 + + thumb_func_start sub_020403D8 +sub_020403D8: ; 0x020403D8 + push {r3, r4, r5, lr} + add r4, r1, #0 + add r5, r0, #0 + cmp r4, #0x10 + blo _020403E6 + bl GF_AssertFail +_020403E6: + ldr r1, _020403F8 ; =0x00004020 + add r0, r5, #0 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_020403AC + pop {r3, r4, r5, pc} + nop +_020403F8: .word 0x00004020 + thumb_func_end sub_020403D8 + + thumb_func_start sub_020403FC +sub_020403FC: ; 0x020403FC + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0 + bl sub_020503D0 + add r1, r4, #0 + bl sub_020503DC + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_020403FC + + thumb_func_start sub_02040410 +sub_02040410: ; 0x02040410 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0 + bl sub_020503D0 + add r1, r4, #0 + bl sub_02050408 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02040410 + + thumb_func_start sub_02040424 +sub_02040424: ; 0x02040424 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0 + bl sub_020503D0 + add r1, r4, #0 + bl sub_02050430 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02040424 + + thumb_func_start sub_02040438 +sub_02040438: ; 0x02040438 + push {r4, lr} + ldr r0, [r0, #0xc] + bl sub_020503D0 + mov r1, #1 + add r4, r0, #0 + bl sub_0205045C + mov r1, #0 + strb r1, [r0] + strb r1, [r0, #1] + strb r1, [r0, #2] + strb r1, [r0, #3] + strb r1, [r0, #4] + strb r1, [r0, #5] + strb r1, [r0, #6] + strb r1, [r0, #7] + mov r1, #1 + add r0, r4, #0 + lsl r1, r1, #0xe + bl sub_020504A4 + mov r1, #0 + mov r2, #0x40 + bl memset + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02040438 + + thumb_func_start sub_02040470 +sub_02040470: ; 0x02040470 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_020503D0 + mov r1, #0xaa + lsl r1, r1, #4 + bl sub_0205045C + mov r2, #0x18 + mov r1, #0 +_02040484: + strb r1, [r0] + add r0, r0, #1 + sub r2, r2, #1 + bne _02040484 + pop {r3, pc} + .balign 4, 0 + thumb_func_end sub_02040470 + + thumb_func_start sub_02040490 +sub_02040490: ; 0x02040490 + push {r3, r4, r5, r6, r7, lr} + add r4, r1, #0 + add r5, r0, #0 + mov r1, #0x2a + add r6, r2, #0 + add r7, r3, #0 + bl sub_020402F0 + strh r4, [r0] + add r0, r5, #0 + mov r1, #0x2b + bl sub_020402F0 + strh r6, [r0] + add r0, r5, #0 + mov r1, #0x2c + bl sub_020402F0 + strh r7, [r0] + add r0, r5, #0 + mov r1, #0x2d + bl sub_020402F0 + add r1, sp, #8 + ldrh r1, [r1, #0x10] + strh r1, [r0] + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 + thumb_func_end sub_02040490 + + thumb_func_start sub_020404C8 +sub_020404C8: ; 0x020404C8 + ldr r1, _020404E4 ; =0x00001388 + cmp r0, r1 + bhs _020404D8 + ldr r1, _020404E8 ; =0x00000BB7 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_020404D8: + sub r1, r1, #1 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + nop +_020404E4: .word 0x00001388 +_020404E8: .word 0x00000BB7 + thumb_func_end sub_020404C8 + + thumb_func_start sub_020404EC +sub_020404EC: ; 0x020404EC + ldr r1, _020404FC ; =0x00001388 + cmp r0, r1 + blo _020404F6 + mov r0, #1 + bx lr +_020404F6: + mov r0, #0 + bx lr + nop +_020404FC: .word 0x00001388 + thumb_func_end sub_020404EC + + thumb_func_start sub_02040500 +sub_02040500: ; 0x02040500 + push {r3, lr} + mov r1, #9 + bl sub_02073470 + cmp r0, #0 + beq _02040510 + mov r0, #1 + pop {r3, pc} +_02040510: + mov r0, #0 + pop {r3, pc} + thumb_func_end sub_02040500 + + thumb_func_start sub_02040514 +sub_02040514: ; 0x02040514 + push {r4, lr} + add r4, r1, #0 + bl sub_020503D0 + mov r1, #0x55 + lsl r1, r1, #4 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_020503DC + pop {r4, pc} + thumb_func_end sub_02040514 + + thumb_func_start sub_0204052C +sub_0204052C: ; 0x0204052C + push {r4, lr} + add r4, r1, #0 + bl sub_020503D0 + mov r1, #0x55 + lsl r1, r1, #4 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02050408 + pop {r4, pc} + thumb_func_end sub_0204052C + + thumb_func_start sub_02040544 +sub_02040544: ; 0x02040544 + push {r4, lr} + add r4, r1, #0 + bl sub_020503D0 + mov r1, #0x55 + lsl r1, r1, #4 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02050430 + pop {r4, pc} + thumb_func_end sub_02040544 + + thumb_func_start sub_0204055C +sub_0204055C: ; 0x0204055C + ldr r1, _02040568 ; =0x00001C20 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + nop +_02040568: .word 0x00001C20 + thumb_func_end sub_0204055C + + thumb_func_start sub_0204056C +sub_0204056C: ; 0x0204056C + mov r1, #0x7d + lsl r1, r1, #6 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + thumb_func_end sub_0204056C + + thumb_func_start sub_02040578 +sub_02040578: ; 0x02040578 + push {r4, lr} + ldr r4, _020405A8 ; =0x020FA558 + bl sub_0204056C + mov r2, #0 + add r3, r4, #0 +_02040584: + ldrh r1, [r3, #6] + cmp r0, r1 + beq _02040592 + add r2, r2, #1 + add r3, #8 + cmp r2, #0xe7 + blo _02040584 +_02040592: + cmp r2, #0xe7 + blo _0204059E + bl GF_AssertFail + mov r0, #0 + pop {r4, pc} +_0204059E: + lsl r0, r2, #3 + add r0, r4, r0 + ldrb r0, [r0, #3] + pop {r4, pc} + nop +_020405A8: .word 0x020FA558 + thumb_func_end sub_02040578 + + thumb_func_start sub_020405AC +sub_020405AC: ; 0x020405AC + push {r3, r4, r5, r6, r7, lr} + add r5, r1, #0 + add r4, r0, #0 + mov r1, #0x2a + bl sub_020401B4 + add r7, r0, #0 + add r0, r4, #0 + mov r1, #0x2b + bl sub_020401B4 + add r6, r0, #0 + add r0, r4, #0 + mov r1, #0x2c + bl sub_020401B4 + add r4, r0, #0 + add r0, r5, #0 + bl sub_0204056C + ldr r3, _02040610 ; =0x020FA558 + add r2, r0, #0 + mov r1, #0 +_020405DA: + ldrh r0, [r3, #6] + cmp r2, r0 + beq _020405E8 + add r1, r1, #1 + add r3, #8 + cmp r1, #0xe7 + blo _020405DA +_020405E8: + cmp r1, #0xe7 + blo _020405F4 + bl GF_AssertFail + mov r0, #0 + pop {r3, r4, r5, r6, r7, pc} +_020405F4: + lsl r0, r1, #3 + ldr r1, _02040610 ; =0x020FA558 + ldrh r1, [r1, r0] + strh r1, [r7] + ldr r1, _02040610 ; =0x020FA558 + add r0, r1, r0 + ldrb r0, [r0, #2] + strh r0, [r6] + add r0, r5, #0 + bl sub_0204055C + strh r0, [r4] + mov r0, #1 + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_02040610: .word 0x020FA558 + thumb_func_end sub_020405AC + + thumb_func_start sub_02040614 +sub_02040614: ; 0x02040614 + push {r4, r5, r6, r7, lr} + sub sp, #0x24 + str r0, [sp] + add r4, r1, #0 + mov r6, #0 + bl sub_0203B6E0 + add r5, r0, #0 + add r2, r5, #1 + mov r1, #6 + add r0, r4, #0 + mul r1, r2 + bl AllocFromHeap + str r0, [sp, #0x1c] + cmp r5, #0 + bne _02040646 + mov r2, #0xff + add r1, r0, #0 + strb r2, [r1, #4] + sub r2, r6, #1 + strh r2, [r1] + strh r2, [r1, #2] + add sp, #0x24 + pop {r4, r5, r6, r7, pc} +_02040646: + ldr r0, [sp] + bl sub_0203B6D8 + add r4, r0, #0 + bne _02040660 + ldr r0, [sp, #0x1c] + mov r1, #0xff + strb r1, [r0, #4] + sub r1, r6, #1 + strh r1, [r0] + strh r1, [r0, #2] + add sp, #0x24 + pop {r4, r5, r6, r7, pc} +_02040660: + ldr r0, [sp] + ldr r0, [r0, #0x40] + bl sub_0205C67C + str r0, [sp, #0x18] + ldr r0, [sp] + ldr r0, [r0, #0x40] + bl sub_0205C688 + str r0, [sp, #0x14] + ldr r0, [sp, #0x18] + str r0, [sp, #0x10] + sub r0, #0x11 + str r0, [sp, #0x10] + ldr r0, [sp, #0x18] + str r0, [sp, #0xc] + add r0, #0x11 + str r0, [sp, #0xc] + ldr r0, [sp, #0x14] + str r0, [sp, #8] + sub r0, #0x11 + str r0, [sp, #8] + ldr r0, [sp, #0x14] + str r0, [sp, #4] + add r0, #0x11 + str r0, [sp, #4] + ldr r0, [sp, #0x10] + cmp r0, #0 + bge _0204069E + add r0, r6, #0 + str r0, [sp, #0x10] +_0204069E: + ldr r0, [sp, #8] + cmp r0, #0 + bge _020406A8 + mov r0, #0 + str r0, [sp, #8] +_020406A8: + add r0, r5, #1 + mov r7, #0 + str r0, [sp, #0x20] + cmp r0, #0 + ble _0204070E + ldr r5, [sp, #0x1c] +_020406B4: + ldrh r0, [r4, #2] + cmp r0, #2 + bne _02040704 + ldrh r0, [r4] + bl sub_0204055C + add r1, r0, #0 + ldr r0, [sp] + bl sub_020403FC + cmp r0, #0 + bne _02040704 + ldr r1, [r4, #4] + ldr r0, [sp, #0x10] + cmp r1, r0 + blt _02040704 + ldr r0, [sp, #0xc] + cmp r1, r0 + bgt _02040704 + ldr r1, [r4, #8] + ldr r0, [sp, #8] + cmp r1, r0 + blt _02040704 + ldr r0, [sp, #4] + cmp r1, r0 + bgt _02040704 + ldrh r0, [r4] + bl sub_02040578 + strb r0, [r5, #4] + ldr r1, [r4, #4] + ldr r0, [sp, #0x18] + add r6, r6, #1 + sub r0, r1, r0 + strh r0, [r5] + ldr r1, [r4, #8] + ldr r0, [sp, #0x14] + sub r0, r1, r0 + strh r0, [r5, #2] + add r5, r5, #6 +_02040704: + ldr r0, [sp, #0x20] + add r7, r7, #1 + add r4, #0x14 + cmp r7, r0 + blt _020406B4 +_0204070E: + mov r2, #6 + add r0, r6, #0 + mul r0, r2 + ldr r1, [sp, #0x1c] + mov r4, #0xff + add r3, r1, r0 + strb r4, [r3, #4] + sub r2, r2, #7 + strh r2, [r1, r0] + strh r2, [r3, #2] + add r0, r1, #0 + add sp, #0x24 + pop {r4, r5, r6, r7, pc} + thumb_func_end sub_02040614 + + thumb_func_start sub_02040728 +sub_02040728: ; 0x02040728 + ldr r3, _02040730 ; =sub_02040734 + mov r1, #0x96 + lsl r1, r1, #6 + bx r3 + .balign 4, 0 +_02040730: .word sub_02040734 + thumb_func_end sub_02040728 + + thumb_func_start sub_02040734 +sub_02040734: ; 0x02040734 + push {r4, lr} + bl sub_020400AC + add r4, r0, #0 +_0204073C: + add r0, r4, #0 + bl sub_0203FD6C + cmp r0, #1 + beq _0204073C + add r0, r4, #0 + bl sub_02040044 + pop {r4, pc} + .balign 4, 0 + thumb_func_end sub_02040734 + + thumb_func_start sub_02040750 +sub_02040750: ; 0x02040750 + push {r3, r4, r5, lr} + add r5, r0, #0 + add r4, r1, #0 + add r1, r5, #0 + add r1, #0xac + ldr r1, [r1] + cmp r1, #0 + beq _02040764 + mov r0, #0 + pop {r3, r4, r5, pc} +_02040764: + bl sub_0203B904 + add r1, r0, #0 + bne _02040770 + mov r0, #0 + pop {r3, r4, r5, pc} +_02040770: + cmp r4, #1 + bne _0204077E + add r0, r5, #0 + add r2, r4, #0 + bl sub_0204080C + b _02040784 +_0204077E: + add r1, r4, #0 + bl _020407E4 +_02040784: + add r1, r0, #0 + ldr r0, _020407A8 ; =0x0000FFFF + cmp r1, r0 + bne _02040790 + mov r0, #0 + pop {r3, r4, r5, pc} +_02040790: + cmp r4, #1 + bne _0204079E + add r0, r5, #0 + mov r2, #0 + bl sub_0203FE74 + b _020407A4 +_0204079E: + add r0, r5, #0 + bl sub_02040734 +_020407A4: + mov r0, #1 + pop {r3, r4, r5, pc} + .balign 4, 0 +_020407A8: .word 0x0000FFFF + thumb_func_end sub_02040750 + + thumb_func_start sub_020407AC +sub_020407AC: ; 0x020407AC + push {r4, lr} + add r4, r0, #0 + add r1, r4, #0 + add r1, #0xac + ldr r1, [r1] + cmp r1, #0 + beq _020407BE + mov r0, #0 + pop {r4, pc} +_020407BE: + bl sub_0203B904 + add r1, r0, #0 + bne _020407CA + mov r0, #0 + pop {r4, pc} +_020407CA: + add r0, r4, #0 + mov r2, #1 + bl sub_0204080C + ldr r1, _020407E0 ; =0x0000FFFF + cmp r0, r1 + beq _020407DC + mov r0, #1 + pop {r4, pc} +_020407DC: + mov r0, #0 + pop {r4, pc} + .balign 4, 0 +_020407E0: .word 0x0000FFFF +_020407E4: + ldrb r2, [r0] + cmp r2, #0 + bne _020407EE + ldr r0, _02040808 ; =0x0000FFFF + bx lr +_020407EE: + cmp r2, r1 + bne _02040800 + ldrb r1, [r0, #1] + ldrb r0, [r0, #2] + lsl r0, r0, #8 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_02040800: + add r0, r0, #5 + b _020407E4 + thumb_func_end sub_020407AC + + thumb_func_start sub_02040804 +sub_02040804: ; 0x02040804 + bx lr + nop +_02040808: .word 0x0000FFFF + thumb_func_end sub_02040804 + + thumb_func_start sub_0204080C +sub_0204080C: ; 0x0204080C + push {r3, r4, r5, r6, r7, lr} + add r5, r0, #0 + add r4, r1, #0 +_02040812: + ldrb r0, [r4] + cmp r0, #0 + bne _0204081C + ldr r0, _0204088C ; =0x0000FFFF + pop {r3, r4, r5, r6, r7, pc} +_0204081C: + cmp r0, r2 + bne _02040838 + ldrb r0, [r4, #4] + ldrb r2, [r4, #2] + ldrb r3, [r4, #1] + lsl r1, r0, #0x18 + ldrb r0, [r4, #3] + lsl r2, r2, #8 + add r2, r3, r2 + lsl r0, r0, #0x10 + add r0, r0, r2 + add r1, r1, r0 + add r0, r4, #5 + b _0204083C +_02040838: + add r4, r4, #5 + b _02040812 +_0204083C: + cmp r1, #0 + bne _02040844 + ldr r0, _0204088C ; =0x0000FFFF + pop {r3, r4, r5, r6, r7, pc} +_02040844: + add r4, r0, r1 +_02040846: + ldrb r0, [r4, #1] + ldrb r1, [r4] + lsl r0, r0, #8 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + bne _02040858 + ldr r0, _0204088C ; =0x0000FFFF + pop {r3, r4, r5, r6, r7, pc} +_02040858: + ldrb r0, [r4, #3] + ldrb r2, [r4, #2] + lsl r0, r0, #8 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r5, #0 + bl sub_020403AC + add r7, r0, #0 + add r0, r5, #0 + add r1, r6, #0 + bl sub_020403AC + cmp r7, r0 + bne _02040886 + ldrb r0, [r4, #5] + ldrb r1, [r4, #4] + lsl r0, r0, #8 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3, r4, r5, r6, r7, pc} +_02040886: + add r4, r4, #6 + b _02040846 +_0204088A: + pop {r3, r4, r5, r6, r7, pc} + .balign 4, 0 +_0204088C: .word 0x0000FFFF + thumb_func_end sub_0204080C + + .rodata + +_020F677C: + .byte 0x00 +_020F677D: + .byte 0x04, 0x04, 0x02 + .byte 0x06, 0x02, 0x00, 0x00 +_020F6784: + .byte 0x07, 0x05, 0x02, 0x04, 0x03, 0x04, 0x04, 0x05, 0x07, 0x05, 0x07, 0x04 + .byte 0x03, 0x01, 0x03, 0x07, 0x06, 0x04, 0x05, 0x04, 0x02, 0x07, 0x01, 0x04, 0x04, 0x02, 0x03, 0x06 + .byte 0x01, 0x02, 0x06, 0x00 +_020F67A4: + .byte 0xEE, 0x01 +_020F67A6: + .byte 0x1C, 0x02 +_020F67A8: + .byte 0xE7, 0x01 +_020F67AA: + .byte 0x01, 0x00, 0xF3, 0x01, 0x1D, 0x02 + .byte 0xEC, 0x01, 0x01, 0x00, 0xE6, 0x01, 0x1E, 0x02, 0xDF, 0x01, 0x01, 0x00, 0xE6, 0x01, 0x1F, 0x02 + .byte 0xDF, 0x01, 0x02, 0x00, 0xE6, 0x01, 0x20, 0x02, 0xDF, 0x01, 0x03, 0x00, 0xE6, 0x01, 0x21, 0x02 + .byte 0xDF, 0x01, 0x04, 0x00, 0xE6, 0x01, 0x22, 0x02, 0xDF, 0x01, 0x05, 0x00 +_020F67DC: + .byte 0x01, 0x00, 0x01, 0x00 + .byte 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00 + .byte 0x02, 0x00, 0x03, 0x00, 0x03, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x0A, 0x00 + .byte 0x0B, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x14, 0x00, 0x1E, 0x00, 0x23, 0x00, 0x28, 0x00, 0xF4, 0x01 + .byte 0x10, 0x27, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x00, 0xE8, 0x03, 0x0B, 0x00, 0x14, 0x00 + .byte 0x0A, 0x00, 0x0F, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x0A, 0x00, 0x0A, 0x00 +_020F682C: + .byte 0x00, 0x00, 0x04, 0xFF + .byte 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0xFF, 0x21, 0x00, 0x00, 0x00, 0x02, 0x00, 0x08, 0xFF + .byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x04, 0x04, 0xFF, 0x01, 0x00, 0x00, 0x00 +_020F684C: + .byte 0x06 +_020F684D: + .byte 0x00, 0x04, 0x06 + .byte 0x03, 0x0A, 0x00, 0x00 +_020F6854: + .byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00 + .byte 0x06, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00 + .byte 0x0A, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x5D, 0x00, 0x00, 0x00 + .byte 0x5B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00 +_020F6888: + .byte 0x00, 0x07, 0x01, 0x05, 0x03, 0x06, 0x01, 0x08 + .byte 0x05, 0x06, 0x03, 0x07, 0x05, 0x09, 0x06, 0x07, 0x03, 0x08, 0x06, 0x0A, 0x07, 0x08, 0x03, 0x09 + .byte 0x07, 0x02, 0x08, 0x09, 0x03, 0x0A, 0x08, 0x00, 0x09, 0x0A, 0x03, 0x02, 0x09, 0x01, 0x0A, 0x02 + .byte 0x03, 0x00, 0x0A, 0x05, 0x02, 0x00, 0x03, 0x01, 0x02, 0x06, 0x00, 0x01, 0x03, 0x05, 0x00, 0x02 + .byte 0x05, 0x07, 0x03, 0x09 +_020F68C4: + .byte 0x00, 0x02, 0x01, 0x03 +_020F68C8: + .byte 0x00, 0x02, 0x03, 0x01, 0x03, 0x01, 0x00, 0x02 +_020F68D0: + .byte 0xED, 0x01, 0xF2, 0x01, 0xEE, 0x01, 0xF1, 0x01, 0xF0, 0x01, 0xEC, 0x01, 0xEF, 0x01 +_020F68DE: + .byte 0x04, 0xFE + .byte 0x00, 0x00, 0x00, 0x00, 0x04, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFE, 0x00, 0x00, 0x00, 0x00 + .byte 0x04, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x04, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x02, 0x02, 0x02, 0x02 + .byte 0x02, 0x00 +_020F6902: + .byte 0x00, 0x00 +_020F6904: + .byte 0x74, 0x16, 0x0A, 0x00, 0x00, 0x00, 0x96, 0x00, 0x78, 0x00, 0x14, 0x0E + .byte 0x00, 0x00, 0x1C, 0x02, 0x7D, 0x00, 0x00, 0x1C, 0x14, 0x00, 0xC8, 0x00, 0x88, 0x00, 0x00, 0x00 + .byte 0x18, 0x0E, 0x96, 0x00, 0x68, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00 +_020F692C: + .byte 0x01, 0x01, 0x01, 0x01 + .byte 0x03, 0x03, 0x03, 0x04, 0x03, 0x04, 0x07, 0x03, 0x07, 0x04, 0x01, 0x04, 0x01, 0x01, 0x04, 0x01 + .byte 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x04, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x03, 0x01, 0x03 + .byte 0x00, 0x01, 0x01, 0x01, 0x03 +_020F6955: + .byte 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01 + .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00 +_020F6980: + .byte 0x00, 0x00, 0x00, 0x00 +_020F6984: + .byte 0xC1, 0x42, 0x03, 0x02 +_020F6988: + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x77, 0x03, 0x02, 0xC1, 0x42, 0x03, 0x02 + .byte 0x00, 0x00, 0x00, 0x00, 0xD1, 0x45, 0x03, 0x02, 0x21, 0x45, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 + .byte 0x3D, 0x45, 0x03, 0x02, 0x21, 0x45, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x25, 0x45, 0x03, 0x02 + .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x8B, 0x03, 0x02, 0x19, 0x8C, 0x03, 0x02 + .byte 0x00, 0x00, 0x00, 0x00, 0x9D, 0x8B, 0x03, 0x02, 0x19, 0x8C, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x76, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02 + .byte 0x00, 0x00, 0x00, 0x00, 0x41, 0x76, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 + .byte 0x69, 0x76, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0xCD, 0x42, 0x03, 0x02 + .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x11, 0x43, 0x03, 0x02, 0xC1, 0x42, 0x03, 0x02 + .byte 0x00, 0x00, 0x00, 0x00, 0x39, 0x43, 0x03, 0x02, 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 + .byte 0x25, 0x7A, 0x03, 0x02, 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0xAD, 0x7A, 0x03, 0x02 + .byte 0xC5, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x99, 0x7A, 0x03, 0x02, 0xC9, 0x42, 0x03, 0x02 + .byte 0x00, 0x00, 0x00, 0x00, 0x6D, 0x7B, 0x03, 0x02, 0x89, 0x7B, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 + .byte 0x69, 0x7C, 0x03, 0x02, 0x95, 0x7C, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x21, 0x92, 0x03, 0x02 + .byte 0xC1, 0x42, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00 +_020F6A88: + .byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00 +_020F6A90: + .byte 0x7D, 0x82, 0x03, 0x02, 0x99, 0x83, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x14, 0x00 + .byte 0xFF, 0xFF, 0x00, 0x00, 0xF8, 0x01, 0x14, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xF4, 0x01, 0x14, 0x00 + .byte 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x01, 0x14, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xF0, 0x01, 0x14, 0x00 + .byte 0xF4, 0x01, 0x14, 0x00, 0xF8, 0x01, 0x14, 0x00, 0xFC, 0x01, 0x14, 0x00, 0xFF, 0xFF, 0x00, 0x00 +_020F6AD0: + .byte 0x00, 0x03, 0x03, 0x1A, 0x12, 0x01, 0x23, 0x00 +_020F6AD8: + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +_020F6AE8: + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 +_020F6B04: + .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +_020F6B2C: + .byte 0x39, 0x72, 0x09, 0x02 + .byte 0x31, 0x72, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00, 0x49, 0x72, 0x09, 0x02, 0x2D, 0x72, 0x09, 0x02 + .byte 0x00, 0x00, 0x00, 0x00, 0x59, 0x72, 0x09, 0x02, 0x35, 0x72, 0x09, 0x02, 0x00, 0x00, 0x00, 0x00 +_020F6B50: + .byte 0x00, 0x03, 0x03, 0x1A, 0x12, 0x01, 0x23, 0x00 +_020F6B58: + .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +_020F6B68: + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00 +_020F6B84: + .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +_020F6BAC: + .byte 0xF5, 0x01, 0xDB, 0x01 + .byte 0xAC, 0x01, 0xB2, 0x01, 0x66, 0x01, 0x89, 0x01, 0xE2, 0x01, 0xFC, 0x01, 0x97, 0x01, 0x45, 0x00 + .byte 0x9E, 0x00, 0xA6, 0x00, 0xEC, 0x00, 0xB9, 0x00, 0xE2, 0x00, 0x51, 0x00, 0xF6, 0x00, 0x25, 0x01 + .byte 0x02, 0x02, 0xFF, 0x01, 0xD2, 0x01, 0xA9, 0x00, 0x10, 0x02, 0x16, 0x02, 0x00, 0x00, 0x00, 0x00 +_020F6BE0: + .byte 0xFF +_020F6BE1: + .byte 0x00, 0x0F, 0x00 +_020F6BE4: + .byte 0x00, 0x00 +_020F6BE6: + .byte 0x8B, 0x00 +_020F6BE8: + .byte 0x8F, 0x01 +_020F6BEA: + .byte 0x03, 0x00 +_020F6BEC: + .byte 0xE8, 0x03 +_020F6BEE: + .byte 0xE8, 0x03 +_020F6BF0: + .byte 0x00, 0x00, 0x00, 0xA6, 0x00, 0x02, 0x30, 0x0E, 0xFF, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0xE8, 0x03, 0xE8, 0x03, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x00, 0x30, 0x00 + .byte 0xFF, 0x1A, 0x0F, 0x00, 0x4A, 0x00, 0xBD, 0x03, 0xD6, 0x02, 0xE2, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0x01, 0x00, 0x00, 0xA6, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x06, 0x30, 0x00 + .byte 0xFF, 0x1A, 0x0F, 0x00, 0x4B, 0x00, 0x89, 0x00, 0x8D, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x02, 0x00, 0x00, 0xA6, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x1A, 0x0F, 0x00, 0x4C, 0x00, 0x8A, 0x00 + .byte 0x8E, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x03, 0x00, 0x00, 0xA6, 0x00, 0x44, 0x60, 0x00 + .byte 0xFF, 0x58, 0xCF, 0x10, 0x43, 0x00, 0x16, 0x00, 0x1B, 0x01, 0x3B, 0x00, 0xE9, 0x03, 0xE9, 0x03 + .byte 0x04, 0x00, 0xE6, 0x91, 0x00, 0x01, 0x08, 0xF6, 0x1C, 0x4E, 0xBF, 0x10, 0x19, 0x00, 0x17, 0x00 + .byte 0x1C, 0x01, 0x3C, 0x00, 0x34, 0x04, 0x34, 0x04, 0x05, 0x00, 0xCE, 0xA4, 0x00, 0x03, 0x88, 0xEC + .byte 0xFF, 0x03, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x32, 0x04, 0x32, 0x04 + .byte 0x00, 0x00, 0xD1, 0x93, 0x00, 0x02, 0x08, 0xF6, 0x6F, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xA8, 0x00 + .byte 0x9D, 0x01, 0x3F, 0x01, 0x1A, 0x04, 0x1A, 0x04, 0x06, 0x00, 0x95, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x70, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x9E, 0x01, 0x40, 0x01, 0x1B, 0x04, 0x1B, 0x04 + .byte 0x07, 0x00, 0x96, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x71, 0x11, 0x0F, 0x00, 0x00, 0x00, 0xAF, 0x00 + .byte 0xA4, 0x01, 0x46, 0x01, 0x21, 0x04, 0x21, 0x04, 0x08, 0x00, 0x97, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x72, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xB2, 0x00, 0xA7, 0x01, 0x48, 0x01, 0x1D, 0x04, 0x1D, 0x04 + .byte 0x09, 0x00, 0x98, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x73, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xB3, 0x00 + .byte 0xA8, 0x01, 0x49, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0x0A, 0x00, 0x99, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x74, 0x0B, 0x0F, 0x00, 0x00, 0x00, 0xB8, 0x00, 0xAD, 0x01, 0x4E, 0x01, 0x1C, 0x04, 0x1C, 0x04 + .byte 0x0B, 0x00, 0x9A, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x75, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0xBA, 0x00 + .byte 0xAF, 0x01, 0x50, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0x0C, 0x00, 0x9B, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x76, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xBC, 0x00, 0xB1, 0x01, 0x52, 0x01, 0x1E, 0x04, 0x1E, 0x04 + .byte 0x0D, 0x00, 0x9C, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x77, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xBE, 0x00 + .byte 0xB3, 0x01, 0x54, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0x0E, 0x00, 0x9D, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x78, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xBF, 0x00, 0xB4, 0x01, 0x55, 0x01, 0x1D, 0x04, 0x1D, 0x04 + .byte 0x0F, 0x00, 0x9E, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x79, 0x0B, 0x0F, 0x00, 0x00, 0x00, 0xC5, 0x00 + .byte 0xBA, 0x01, 0x5A, 0x01, 0x23, 0x04, 0x23, 0x04, 0x10, 0x00, 0x9F, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x5C, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xC7, 0x00, 0xBC, 0x01, 0x5C, 0x01, 0x24, 0x04, 0x24, 0x04 + .byte 0x11, 0x00, 0xA0, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x7A, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xC9, 0x00 + .byte 0xBE, 0x01, 0x5E, 0x01, 0x24, 0x04, 0x24, 0x04, 0x12, 0x00, 0xA1, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x7B, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xCA, 0x00, 0xBF, 0x01, 0x5F, 0x01, 0x24, 0x04, 0x24, 0x04 + .byte 0x13, 0x00, 0xA2, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x7C, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xCB, 0x00 + .byte 0xC0, 0x01, 0x60, 0x01, 0x24, 0x04, 0x24, 0x04, 0x14, 0x00, 0xA3, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0xFF, 0x10, 0x0F, 0x00, 0x00, 0x00, 0xCD, 0x00, 0xC2, 0x01, 0x62, 0x01, 0x20, 0x04, 0x20, 0x04 + .byte 0x15, 0x00, 0xA4, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x7E, 0x10, 0x0F, 0x00, 0x00, 0x00, 0xD1, 0x00 + .byte 0xC6, 0x01, 0x65, 0x01, 0xC0, 0x04, 0xC0, 0x04, 0x16, 0x00, 0xA5, 0xC3, 0x01, 0x02, 0x28, 0xF6 + .byte 0x7F, 0x10, 0x0F, 0x00, 0x00, 0x00, 0xD2, 0x00, 0xC7, 0x01, 0x66, 0x01, 0x20, 0x04, 0x20, 0x04 + .byte 0x17, 0x00, 0xA6, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x81, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xD4, 0x00 + .byte 0xC9, 0x01, 0x68, 0x01, 0x1B, 0x04, 0x1B, 0x04, 0x18, 0x00, 0xAA, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x82, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xD7, 0x00, 0xCC, 0x01, 0x6A, 0x01, 0x25, 0x04, 0x25, 0x04 + .byte 0x19, 0x00, 0xAC, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x83, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xD8, 0x00 + .byte 0xCD, 0x01, 0x6B, 0x01, 0x25, 0x04, 0x25, 0x04, 0x1A, 0x00, 0xAD, 0xC3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x67, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xDA, 0x00, 0xCF, 0x01, 0x6D, 0x01, 0x26, 0x04, 0x26, 0x04 + .byte 0x1B, 0x00, 0xAE, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x68, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xDD, 0x00 + .byte 0xD2, 0x01, 0x71, 0x01, 0x26, 0x04, 0x26, 0x04, 0x1C, 0x00, 0xAF, 0xA3, 0x01, 0x02, 0x08, 0xF6 + .byte 0x69, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xDF, 0x00, 0xD4, 0x01, 0x73, 0x01, 0x3D, 0x04, 0x3D, 0x04 + .byte 0x1D, 0x00, 0xB0, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0x01, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xE1, 0x00 + .byte 0xD6, 0x01, 0x75, 0x01, 0x04, 0x04, 0x04, 0x04, 0x1E, 0x00, 0xB1, 0xB3, 0x00, 0x02, 0x08, 0xF6 + .byte 0x03, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xE3, 0x00, 0xD8, 0x01, 0x77, 0x01, 0x05, 0x04, 0x05, 0x04 + .byte 0x1F, 0x00, 0xB2, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x04, 0x02, 0x0F, 0x00, 0x00, 0x00, 0xE6, 0x00 + .byte 0xDB, 0x01, 0x7A, 0x01, 0x05, 0x04, 0x05, 0x04, 0x20, 0x00, 0xB3, 0xB3, 0x00, 0x02, 0x08, 0xF6 + .byte 0x08, 0x03, 0x0F, 0x00, 0x00, 0x00, 0xE8, 0x00, 0xDD, 0x01, 0x7C, 0x01, 0x06, 0x04, 0x06, 0x04 + .byte 0x21, 0x00, 0xB4, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x11, 0x04, 0x0F, 0x00, 0x00, 0x00, 0xEC, 0x00 + .byte 0xE1, 0x01, 0x7F, 0x01, 0x07, 0x04, 0x07, 0x04, 0x22, 0x00, 0xB5, 0xB3, 0x02, 0x02, 0x08, 0xF6 + .byte 0x15, 0x05, 0x0F, 0x00, 0x00, 0x00, 0xED, 0x00, 0xE2, 0x01, 0x80, 0x01, 0x08, 0x04, 0x08, 0x04 + .byte 0x23, 0x00, 0xB6, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x16, 0x06, 0x0F, 0x00, 0x00, 0x00, 0xF0, 0x00 + .byte 0xE5, 0x01, 0x83, 0x01, 0x09, 0x04, 0x09, 0x04, 0x24, 0x00, 0xB7, 0xB3, 0x00, 0x02, 0x08, 0xF6 + .byte 0x19, 0x06, 0x0F, 0x00, 0x00, 0x00, 0xF3, 0x00, 0xE8, 0x01, 0x86, 0x01, 0x09, 0x04, 0x09, 0x04 + .byte 0x25, 0x00, 0xB8, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x1A, 0x06, 0x0F, 0x00, 0x00, 0x00, 0xF6, 0x00 + .byte 0xEB, 0x01, 0x89, 0x01, 0x09, 0x04, 0x09, 0x04, 0x26, 0x00, 0xB9, 0xB3, 0x00, 0x02, 0x08, 0xF6 + .byte 0x26, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xF7, 0x00, 0xEC, 0x01, 0x8A, 0x01, 0x0C, 0x04, 0x0C, 0x04 + .byte 0x27, 0x00, 0xBA, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x27, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xF9, 0x00 + .byte 0xEE, 0x01, 0x8C, 0x01, 0x0C, 0x04, 0x0C, 0x04, 0x28, 0x00, 0xBB, 0xB3, 0x00, 0x02, 0x08, 0xF6 + .byte 0x34, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0xF1, 0x01, 0x8F, 0x01, 0x0D, 0x04, 0x0D, 0x04 + .byte 0x29, 0x00, 0xBE, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x39, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00 + .byte 0xF3, 0x01, 0x91, 0x01, 0x0D, 0x04, 0x0D, 0x04, 0x2A, 0x00, 0xBF, 0xB3, 0x00, 0x02, 0x08, 0xF6 + .byte 0x3B, 0x08, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x01, 0xF6, 0x01, 0x94, 0x01, 0x0D, 0x04, 0x0D, 0x04 + .byte 0x2B, 0x00, 0xC0, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x43, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x02, 0x01 + .byte 0xF7, 0x01, 0x95, 0x01, 0x0B, 0x04, 0x0B, 0x04, 0x2C, 0x00, 0xC1, 0xB3, 0x00, 0x02, 0x08, 0xF6 + .byte 0x44, 0x09, 0x0F, 0x00, 0x00, 0x00, 0x03, 0x01, 0xF8, 0x01, 0x96, 0x01, 0x0B, 0x04, 0x0B, 0x04 + .byte 0x2D, 0x00, 0xC2, 0xB3, 0x00, 0x02, 0x08, 0xF6, 0x5F, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xDF, 0x02 + .byte 0xFC, 0x01, 0xBE, 0x01, 0x16, 0x04, 0x16, 0x04, 0x2E, 0x00, 0x8A, 0xC2, 0x01, 0x01, 0x08, 0xF6 + .byte 0x60, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xE5, 0x02, 0x02, 0x02, 0xC4, 0x01, 0x15, 0x04, 0x15, 0x04 + .byte 0x2F, 0x00, 0x8B, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0xFF, 0x11, 0x0F, 0x00, 0x00, 0x00, 0xEE, 0x02 + .byte 0x0B, 0x02, 0xCC, 0x01, 0x14, 0x04, 0x14, 0x04, 0x30, 0x00, 0x8C, 0xC1, 0x01, 0x01, 0x28, 0xF6 + .byte 0x61, 0x0D, 0x0F, 0x00, 0x00, 0x00, 0xF6, 0x02, 0x13, 0x02, 0xD3, 0x01, 0x10, 0x04, 0x10, 0x04 + .byte 0x31, 0x00, 0x8D, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0xFF, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xFF, 0x02 + .byte 0x1C, 0x02, 0xDB, 0x01, 0x11, 0x04, 0x11, 0x04, 0x32, 0x00, 0x8E, 0xC2, 0x01, 0x01, 0x28, 0xF6 + .byte 0x62, 0x0B, 0x0F, 0x00, 0x00, 0x00, 0x08, 0x03, 0x25, 0x02, 0xE3, 0x01, 0x0E, 0x04, 0x0E, 0x04 + .byte 0x33, 0x00, 0x8F, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0x63, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x11, 0x03 + .byte 0x2E, 0x02, 0xEB, 0x01, 0x12, 0x04, 0x12, 0x04, 0x34, 0x00, 0x90, 0xC1, 0x01, 0x01, 0x28, 0xF6 + .byte 0x64, 0x10, 0x0F, 0x00, 0x00, 0x00, 0x27, 0x03, 0x44, 0x02, 0x00, 0x02, 0x13, 0x04, 0x13, 0x04 + .byte 0x35, 0x00, 0x91, 0xC1, 0x01, 0x01, 0x28, 0xF6, 0x65, 0x12, 0x0F, 0x00, 0x00, 0x00, 0x2F, 0x03 + .byte 0x4C, 0x02, 0x07, 0x02, 0x17, 0x04, 0x17, 0x04, 0x36, 0x00, 0x92, 0xC2, 0x01, 0x01, 0x28, 0xF6 + .byte 0xFF, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0x32, 0x03, 0x4F, 0x02, 0x09, 0x02, 0x3D, 0x04, 0x3D, 0x04 + .byte 0x37, 0x00, 0x93, 0xC3, 0x01, 0x02, 0x28, 0xF6, 0xFF, 0x0C, 0x0F, 0x00, 0x00, 0x00, 0x3B, 0x03 + .byte 0x58, 0x02, 0x11, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x38, 0x00, 0x94, 0xC1, 0x01, 0x01, 0x28, 0xF6 + .byte 0x00, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x4A, 0x03, 0x67, 0x02, 0x1E, 0x02, 0xFA, 0x03, 0xFA, 0x03 + .byte 0x39, 0x00, 0x7E, 0x02, 0x00, 0x01, 0x08, 0xF6, 0xFF, 0x19, 0x5F, 0x31, 0x64, 0x00, 0x4B, 0x03 + .byte 0x68, 0x02, 0x1F, 0x02, 0x2A, 0x04, 0x2A, 0x04, 0x3A, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x5F, 0x31, 0x65, 0x00, 0x4C, 0x03, 0x69, 0x02, 0x20, 0x02, 0xFA, 0x03, 0xFA, 0x03 + .byte 0x3B, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x31, 0x47, 0x00, 0x4D, 0x03 + .byte 0x6A, 0x02, 0x21, 0x02, 0xFA, 0x03, 0xFA, 0x03, 0x3C, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x5F, 0x31, 0x48, 0x00, 0x4E, 0x03, 0x6B, 0x02, 0x22, 0x02, 0xFA, 0x03, 0xFA, 0x03 + .byte 0x3D, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x31, 0x42, 0x00, 0x4F, 0x03 + .byte 0x6C, 0x02, 0x23, 0x02, 0xFA, 0x03, 0xFA, 0x03, 0x3E, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x5F, 0x31, 0x47, 0x00, 0x50, 0x03, 0x6D, 0x02, 0x24, 0x02, 0xFA, 0x03, 0xFA, 0x03 + .byte 0x3F, 0x00, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0x02, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x52, 0x03 + .byte 0x6F, 0x02, 0x26, 0x02, 0xFB, 0x03, 0xFB, 0x03, 0x40, 0x00, 0x7F, 0x11, 0x00, 0x01, 0x08, 0xF6 + .byte 0xFF, 0x1B, 0x1F, 0x31, 0x68, 0x00, 0x53, 0x03, 0x70, 0x02, 0x27, 0x02, 0x28, 0x04, 0x28, 0x04 + .byte 0x41, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x1F, 0x31, 0x49, 0x00, 0x54, 0x03 + .byte 0x71, 0x02, 0x28, 0x02, 0x27, 0x04, 0x27, 0x04, 0x42, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x0F, 0x31, 0x61, 0x00, 0x56, 0x03, 0x73, 0x02, 0x29, 0x02, 0xFB, 0x03, 0xFB, 0x03 + .byte 0x43, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x1F, 0x31, 0x60, 0x00, 0x57, 0x03 + .byte 0x74, 0x02, 0x2A, 0x02, 0xFB, 0x03, 0xFB, 0x03, 0x44, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x1F, 0x31, 0x61, 0x00, 0x58, 0x03, 0x75, 0x02, 0x2B, 0x02, 0xFB, 0x03, 0xFB, 0x03 + .byte 0x45, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0x05, 0x03, 0x0F, 0x00, 0x00, 0x00, 0x59, 0x03 + .byte 0x76, 0x02, 0x2C, 0x02, 0xFC, 0x03, 0xFC, 0x03, 0x46, 0x00, 0x80, 0x21, 0x00, 0x01, 0x28, 0xF6 + .byte 0xFF, 0x04, 0x0F, 0x00, 0x00, 0x00, 0x62, 0x03, 0x7F, 0x02, 0x34, 0x02, 0xFD, 0x03, 0xFD, 0x03 + .byte 0x47, 0x00, 0x81, 0x32, 0x00, 0x01, 0x08, 0xF6, 0x33, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x6B, 0x03 + .byte 0x88, 0x02, 0x3C, 0x02, 0x01, 0x04, 0x01, 0x04, 0x48, 0x00, 0x82, 0x41, 0x00, 0x01, 0x28, 0xF6 + .byte 0xFF, 0x05, 0x0F, 0x00, 0x00, 0x00, 0x75, 0x03, 0x92, 0x02, 0x45, 0x02, 0xFE, 0x03, 0xFE, 0x03 + .byte 0x49, 0x00, 0x83, 0x51, 0x00, 0x01, 0x28, 0xF6, 0x28, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x8F, 0x03 + .byte 0xAC, 0x02, 0x5C, 0x02, 0x00, 0x04, 0x00, 0x04, 0x4A, 0x00, 0x84, 0x61, 0x00, 0x01, 0x28, 0xF6 + .byte 0x1B, 0x06, 0x0F, 0x00, 0x00, 0x00, 0x98, 0x03, 0xB5, 0x02, 0x64, 0x02, 0xFF, 0x03, 0xFF, 0x03 + .byte 0x4B, 0x00, 0x85, 0x71, 0x00, 0x01, 0x28, 0xF6, 0xFF, 0x1B, 0xCF, 0x14, 0x68, 0x00, 0x99, 0x03 + .byte 0xB6, 0x02, 0x65, 0x02, 0x28, 0x04, 0x28, 0x04, 0x4C, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1F, 0xBF, 0x14, 0x5A, 0x00, 0x9A, 0x03, 0xB7, 0x02, 0x66, 0x02, 0x29, 0x04, 0x29, 0x04 + .byte 0x4D, 0x00, 0x85, 0x79, 0x00, 0x04, 0x64, 0xA4, 0xFF, 0x1A, 0xCF, 0x14, 0x49, 0x00, 0x9B, 0x03 + .byte 0xB8, 0x02, 0x67, 0x02, 0x27, 0x04, 0x27, 0x04, 0x4E, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFF, 0x03, 0xFF, 0x03 + .byte 0x4F, 0x00, 0x06, 0x79, 0x00, 0x44, 0x64, 0xE0, 0xFF, 0x3D, 0xCF, 0x10, 0x44, 0x00, 0x9E, 0x03 + .byte 0xBB, 0x02, 0x68, 0x02, 0xFF, 0x03, 0xFF, 0x03, 0x50, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0xBF, 0x14, 0x42, 0x00, 0xA1, 0x03, 0xBE, 0x02, 0x6B, 0x02, 0xFF, 0x03, 0xFF, 0x03 + .byte 0x51, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0xBF, 0x14, 0x42, 0x00, 0x9F, 0x03 + .byte 0xBC, 0x02, 0x69, 0x02, 0xFF, 0x03, 0xFF, 0x03, 0x52, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3D, 0xCF, 0x14, 0x7E, 0x00, 0xA0, 0x03, 0xBD, 0x02, 0x6A, 0x02, 0x2C, 0x04, 0x2C, 0x04 + .byte 0x53, 0x00, 0x85, 0x79, 0x00, 0xF4, 0x64, 0xE4, 0xFF, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xA2, 0x03 + .byte 0xBF, 0x02, 0x6C, 0x02, 0x02, 0x04, 0x02, 0x04, 0x54, 0x00, 0x86, 0xA2, 0x00, 0x01, 0x08, 0xF6 + .byte 0x3A, 0x08, 0x0F, 0x00, 0x00, 0x00, 0xAA, 0x03, 0xC7, 0x02, 0x72, 0x02, 0x0D, 0x04, 0x0D, 0x04 + .byte 0x55, 0x00, 0x87, 0x98, 0x02, 0x02, 0x08, 0xF6, 0x41, 0x09, 0x0F, 0x00, 0x00, 0x00, 0xAD, 0x03 + .byte 0xCA, 0x02, 0x75, 0x02, 0x03, 0x04, 0x03, 0x04, 0x56, 0x00, 0x88, 0xA1, 0x00, 0x01, 0x08, 0xF6 + .byte 0x55, 0x0A, 0x0F, 0x00, 0x00, 0x00, 0xB5, 0x03, 0xD2, 0x02, 0x7C, 0x02, 0x3D, 0x04, 0x3D, 0x04 + .byte 0x57, 0x00, 0x89, 0x93, 0x00, 0x01, 0x08, 0xF6, 0x5D, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xBE, 0x03 + .byte 0xD7, 0x02, 0xE4, 0x02, 0x20, 0x04, 0x20, 0x04, 0x58, 0x00, 0xA7, 0xC6, 0x01, 0x02, 0x08, 0xF6 + .byte 0x5E, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xC0, 0x03, 0xD9, 0x02, 0xE6, 0x02, 0x20, 0x04, 0x20, 0x04 + .byte 0x59, 0x00, 0xA8, 0xC6, 0x01, 0x02, 0x18, 0xF6, 0x80, 0x12, 0x0F, 0x00, 0x00, 0x00, 0xC1, 0x03 + .byte 0xDA, 0x02, 0xE7, 0x02, 0x22, 0x04, 0x22, 0x04, 0x5A, 0x00, 0xA9, 0xC6, 0x01, 0x02, 0x18, 0xF6 + .byte 0x29, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xC2, 0x03, 0xDB, 0x02, 0xE8, 0x02, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x5B, 0x00, 0xBC, 0xB6, 0x00, 0x02, 0x18, 0xF6, 0x2A, 0x07, 0x0F, 0x00, 0x00, 0x00, 0xC4, 0x03 + .byte 0xDD, 0x02, 0xEA, 0x02, 0x0A, 0x04, 0x0A, 0x04, 0x5C, 0x00, 0xBD, 0xB6, 0x00, 0x02, 0x18, 0xF6 + .byte 0x17, 0x47, 0xBF, 0x1C, 0x1B, 0x00, 0x19, 0x00, 0x1E, 0x01, 0x3E, 0x00, 0x33, 0x04, 0x33, 0x04 + .byte 0x5D, 0x00, 0xCF, 0x97, 0x00, 0x01, 0x08, 0xF6, 0xFF, 0x3F, 0x0F, 0x21, 0x46, 0x00, 0xE7, 0x00 + .byte 0xDC, 0x01, 0x7B, 0x01, 0x05, 0x04, 0x05, 0x04, 0x5E, 0x00, 0xB3, 0xA9, 0x00, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0xEF, 0x24, 0x46, 0x00, 0xEB, 0x00, 0xE0, 0x01, 0x7E, 0x01, 0x06, 0x04, 0x06, 0x04 + .byte 0x5F, 0x00, 0xB4, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0x0E, 0x57, 0xEF, 0x34, 0x2A, 0x00, 0x38, 0x00 + .byte 0x3D, 0x01, 0x57, 0x00, 0x31, 0x04, 0x31, 0x04, 0x60, 0x00, 0xD2, 0x84, 0x00, 0x03, 0x98, 0xEE + .byte 0xFF, 0x3F, 0xBF, 0x38, 0x46, 0x00, 0x68, 0x03, 0x85, 0x02, 0x39, 0x02, 0x09, 0x04, 0x09, 0x04 + .byte 0x61, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0xBF, 0x24, 0x45, 0x00, 0xF1, 0x00 + .byte 0xE6, 0x01, 0x84, 0x01, 0x09, 0x04, 0x09, 0x04, 0x62, 0x00, 0xB7, 0xA9, 0x00, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0xBF, 0x20, 0xC4, 0x00, 0xF2, 0x00, 0xE7, 0x01, 0x85, 0x01, 0x09, 0x04, 0x09, 0x04 + .byte 0x63, 0x00, 0xB7, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0xDF, 0x1C, 0x45, 0x00, 0xF4, 0x00 + .byte 0xE9, 0x01, 0x87, 0x01, 0x09, 0x04, 0x09, 0x04, 0x64, 0x00, 0xB8, 0xA9, 0x00, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0xCF, 0x1C, 0x46, 0x00, 0xF5, 0x00, 0xEA, 0x01, 0x88, 0x01, 0x09, 0x04, 0x09, 0x04 + .byte 0x65, 0x00, 0xB8, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x0F, 0x00, 0x46, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x09, 0x04, 0x09, 0x04, 0x66, 0x00, 0x06, 0x79, 0x00, 0x44, 0x64, 0xE0 + .byte 0x85, 0x52, 0x0F, 0x12, 0x02, 0x00, 0x05, 0x00, 0x0A, 0x01, 0x2F, 0x00, 0x3A, 0x04, 0x3A, 0x04 + .byte 0x67, 0x00, 0xC5, 0xC4, 0x01, 0x03, 0xA8, 0xEE, 0x6A, 0x46, 0x4F, 0x0E, 0x03, 0x00, 0x07, 0x00 + .byte 0x0C, 0x01, 0x31, 0x00, 0x31, 0x04, 0x31, 0x04, 0x68, 0x00, 0xC6, 0xC4, 0x01, 0x03, 0x78, 0xEE + .byte 0x6C, 0x53, 0xCF, 0x12, 0x06, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 + .byte 0x69, 0x00, 0xC8, 0xC4, 0x17, 0x03, 0x98, 0xEE, 0xFF, 0x4B, 0x5F, 0x32, 0x08, 0x00, 0x0C, 0x00 + .byte 0x11, 0x01, 0x34, 0x00, 0x87, 0x04, 0x87, 0x04, 0x6A, 0x00, 0x37, 0x87, 0x01, 0x02, 0x08, 0xA6 + .byte 0xFF, 0x4D, 0xFF, 0x1C, 0x0C, 0x00, 0x10, 0x00, 0x15, 0x01, 0x36, 0x00, 0x30, 0x04, 0x30, 0x04 + .byte 0x6B, 0x00, 0xCC, 0x94, 0x00, 0x03, 0x88, 0xEC, 0xFF, 0x4D, 0xCF, 0x10, 0x0F, 0x00, 0x13, 0x00 + .byte 0x18, 0x01, 0x39, 0x00, 0x35, 0x04, 0x35, 0x04, 0x6C, 0x00, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC + .byte 0xFF, 0x24, 0xAF, 0x28, 0x1C, 0x00, 0x1D, 0x00, 0x22, 0x01, 0x41, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0x6D, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4, 0x09, 0x14, 0x0F, 0x00, 0x00, 0x00, 0x25, 0x00 + .byte 0x2A, 0x01, 0x48, 0x00, 0x31, 0x04, 0x31, 0x04, 0x6E, 0x00, 0xD1, 0x94, 0x00, 0x02, 0x48, 0xF6 + .byte 0xFF, 0x54, 0xDF, 0x38, 0x2D, 0x00, 0x3B, 0x00, 0x40, 0x01, 0x5A, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x6F, 0x00, 0xD3, 0xB4, 0x00, 0x03, 0x98, 0xEE, 0xFF, 0x2F, 0x9F, 0x20, 0x2F, 0x00, 0x3E, 0x00 + .byte 0x43, 0x01, 0x5D, 0x00, 0x36, 0x04, 0x36, 0x04, 0x70, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x64, 0xEC + .byte 0xFF, 0x1B, 0x0F, 0x15, 0x8A, 0x00, 0x58, 0x00, 0x5D, 0x01, 0x6F, 0x00, 0x02, 0x04, 0x02, 0x04 + .byte 0x71, 0x00, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0x14, 0x4A, 0xBF, 0x38, 0x38, 0x00, 0x5C, 0x00 + .byte 0x61, 0x01, 0x73, 0x00, 0x31, 0x04, 0x31, 0x04, 0x72, 0x00, 0xD6, 0xB5, 0x00, 0x03, 0x38, 0xEE + .byte 0xFF, 0x3E, 0xAF, 0x2C, 0x39, 0x00, 0x5D, 0x00, 0x62, 0x01, 0x74, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0x73, 0x00, 0xD7, 0x59, 0x00, 0x44, 0x64, 0xE4, 0x35, 0x4F, 0xEF, 0x14, 0x3E, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x74, 0x00, 0xD8, 0x84, 0x00, 0x03, 0x98, 0xEE + .byte 0x3C, 0x4C, 0x5F, 0x11, 0x84, 0x00, 0x63, 0x00, 0x68, 0x01, 0x7A, 0x00, 0x38, 0x04, 0x38, 0x04 + .byte 0x75, 0x00, 0xD9, 0x84, 0x00, 0x03, 0x98, 0xEE, 0x2B, 0x55, 0x7F, 0x2C, 0x8D, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x76, 0x00, 0xDA, 0xB4, 0x16, 0x03, 0x98, 0xEE + .byte 0x56, 0x50, 0x9F, 0x21, 0x09, 0x01, 0x69, 0x00, 0x6E, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0x77, 0x00, 0xDB, 0xA4, 0x00, 0x03, 0x98, 0xEE, 0x46, 0x57, 0x4F, 0x19, 0x62, 0x00, 0x6C, 0x00 + .byte 0x71, 0x01, 0x7F, 0x00, 0x38, 0x04, 0x38, 0x04, 0x78, 0x00, 0xDC, 0x84, 0x16, 0x03, 0x98, 0xEE + .byte 0x6E, 0x46, 0xCF, 0x1D, 0xA1, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3C, 0x04, 0x3C, 0x04 + .byte 0x79, 0x00, 0xDD, 0xB4, 0x01, 0x03, 0xB8, 0xEE, 0xFF, 0x56, 0x4F, 0x11, 0x91, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x39, 0x04, 0x39, 0x04, 0x7A, 0x00, 0xDE, 0xB4, 0x00, 0x03, 0x98, 0xEE + .byte 0x84, 0x46, 0x7F, 0x31, 0x97, 0x00, 0x71, 0x00, 0x76, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x7B, 0x00, 0xDF, 0xB4, 0x01, 0x03, 0x98, 0xEE, 0xFF, 0x19, 0x1F, 0x2D, 0x42, 0x00, 0xE4, 0x00 + .byte 0xD9, 0x01, 0x78, 0x01, 0x05, 0x04, 0x05, 0x04, 0x7C, 0x00, 0xB2, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xCF, 0x14, 0x4A, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x7D, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xCF, 0x14, 0x4B, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x7E, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xCF, 0x14, 0x4C, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x00, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xCF, 0x14, 0x4D, 0x00, 0x9C, 0x03 + .byte 0xB9, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x7F, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3F, 0xDF, 0x14, 0x46, 0x00, 0xFD, 0x00, 0xF2, 0x01, 0x90, 0x01, 0x0D, 0x04, 0x0D, 0x04 + .byte 0x80, 0x00, 0xBE, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x19, 0x0F, 0x15, 0x5F, 0x00, 0xA9, 0x03 + .byte 0xC6, 0x02, 0x71, 0x02, 0x02, 0x04, 0x02, 0x04, 0x81, 0x00, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3F, 0x3F, 0x31, 0x45, 0x00, 0xE2, 0x00, 0xD7, 0x01, 0x76, 0x01, 0x04, 0x04, 0x04, 0x04 + .byte 0x82, 0x00, 0xB1, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x1C, 0xEF, 0x20, 0x57, 0x00, 0x5B, 0x03 + .byte 0x78, 0x02, 0x2E, 0x02, 0x29, 0x04, 0x29, 0x04, 0x83, 0x00, 0x80, 0x29, 0x00, 0x14, 0x64, 0xA4 + .byte 0xFF, 0x1D, 0xCF, 0x38, 0x58, 0x00, 0x64, 0x03, 0x81, 0x02, 0x36, 0x02, 0x29, 0x04, 0x29, 0x04 + .byte 0x84, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xA4, 0xFF, 0x1E, 0xBF, 0x28, 0x59, 0x00, 0x76, 0x03 + .byte 0x93, 0x02, 0x46, 0x02, 0x29, 0x04, 0x29, 0x04, 0x85, 0x00, 0x83, 0x59, 0x00, 0x24, 0x64, 0xA4 + .byte 0xFF, 0x20, 0x8F, 0x1C, 0x5B, 0x00, 0x91, 0x03, 0xAE, 0x02, 0x5E, 0x02, 0x29, 0x04, 0x29, 0x04 + .byte 0x86, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xA4, 0xFF, 0x21, 0x5F, 0x2C, 0x5C, 0x00, 0x6D, 0x03 + .byte 0x8A, 0x02, 0x3E, 0x02, 0x29, 0x04, 0x29, 0x04, 0x87, 0x00, 0x82, 0x49, 0x00, 0x04, 0x74, 0xA4 + .byte 0xFF, 0x22, 0x0F, 0x15, 0xE5, 0x00, 0xA4, 0x03, 0xC1, 0x02, 0x6E, 0x02, 0x29, 0x04, 0x29, 0x04 + .byte 0x88, 0x00, 0x86, 0xA9, 0x00, 0x04, 0x74, 0xA4, 0xFF, 0x23, 0x4F, 0x11, 0x5E, 0x00, 0xAF, 0x03 + .byte 0xCC, 0x02, 0x77, 0x02, 0x29, 0x04, 0x29, 0x04, 0x89, 0x00, 0x88, 0xA9, 0x00, 0x04, 0x64, 0xA4 + .byte 0xFF, 0x3F, 0x0F, 0x11, 0x45, 0x00, 0xFF, 0x00, 0xF4, 0x01, 0x92, 0x01, 0x0D, 0x04, 0x0D, 0x04 + .byte 0x8A, 0x00, 0xBF, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x3D, 0x1F, 0x25, 0x67, 0x00, 0xE5, 0x00 + .byte 0xDA, 0x01, 0x79, 0x01, 0x05, 0x04, 0x05, 0x04, 0x8B, 0x00, 0xB2, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x1F, 0x31, 0x4D, 0x00, 0x55, 0x03, 0x72, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x8C, 0x00, 0x7F, 0x19, 0x00, 0x44, 0x64, 0xE4, 0x8B, 0x49, 0x8F, 0x0E, 0x4E, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04, 0x8D, 0x00, 0xC7, 0xA4, 0x17, 0x03, 0x98, 0xEE + .byte 0x4A, 0x46, 0x3F, 0x3E, 0x51, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 + .byte 0x8E, 0x00, 0xCB, 0xA4, 0x01, 0x03, 0x98, 0xEE, 0x89, 0x67, 0x0F, 0x16, 0x56, 0x00, 0x73, 0x00 + .byte 0x78, 0x01, 0x84, 0x00, 0x3B, 0x04, 0x3B, 0x04, 0x8F, 0x00, 0xE0, 0xA5, 0x01, 0x03, 0x38, 0xEE + .byte 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x14, 0x04, 0x14, 0x04 + .byte 0x00, 0x00, 0xC9, 0xC9, 0x01, 0x44, 0x64, 0xE0, 0xFF, 0x3F, 0xDF, 0x1C, 0x46, 0x00, 0x61, 0x03 + .byte 0x7E, 0x02, 0x33, 0x02, 0x09, 0x04, 0x09, 0x04, 0x90, 0x00, 0xB8, 0x29, 0x00, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0xBF, 0x1C, 0x45, 0x00, 0x1C, 0x00, 0x21, 0x01, 0x40, 0x00, 0x6E, 0x04, 0x6E, 0x04 + .byte 0x91, 0x00, 0xE1, 0x99, 0x00, 0x44, 0x64, 0xE4, 0x47, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x01 + .byte 0xF9, 0x01, 0x97, 0x01, 0x85, 0x04, 0x85, 0x04, 0x92, 0x00, 0xC3, 0xA3, 0x00, 0x02, 0x48, 0xF6 + .byte 0x66, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x05, 0x01, 0xFA, 0x01, 0x98, 0x01, 0x85, 0x04, 0x85, 0x04 + .byte 0x93, 0x00, 0xC4, 0xA3, 0x00, 0x02, 0x48, 0xF6, 0x0F, 0x57, 0xEF, 0x34, 0x2B, 0x00, 0x39, 0x00 + .byte 0x3E, 0x01, 0x58, 0x00, 0x31, 0x04, 0x31, 0x04, 0x94, 0x00, 0xD2, 0x84, 0x00, 0x03, 0xA8, 0xEE + .byte 0x10, 0x57, 0xEF, 0x34, 0x2C, 0x00, 0x3A, 0x00, 0x3F, 0x01, 0x59, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x95, 0x00, 0xD2, 0x84, 0x00, 0x03, 0xB8, 0xEE, 0x06, 0x4D, 0xFF, 0x1C, 0x0D, 0x00, 0x11, 0x00 + .byte 0x16, 0x01, 0x37, 0x00, 0x30, 0x04, 0x30, 0x04, 0x96, 0x00, 0xCC, 0x94, 0x00, 0x03, 0x88, 0xEC + .byte 0x07, 0x4D, 0xFF, 0x1C, 0x0E, 0x00, 0x12, 0x00, 0x17, 0x01, 0x38, 0x00, 0x30, 0x04, 0x30, 0x04 + .byte 0x97, 0x00, 0xCC, 0x94, 0x00, 0x03, 0x88, 0xEC, 0xFF, 0x1B, 0xEF, 0x20, 0x68, 0x00, 0x5A, 0x03 + .byte 0x77, 0x02, 0x2D, 0x02, 0x28, 0x04, 0x28, 0x04, 0x98, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xFF, 0x20, 0x49, 0x00, 0x5C, 0x03, 0x79, 0x02, 0x2F, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0x99, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3D, 0xFF, 0x20, 0x66, 0x00, 0x5E, 0x03 + .byte 0x7B, 0x02, 0x30, 0x02, 0xFC, 0x03, 0xFC, 0x03, 0x9A, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0xEF, 0x20, 0x5F, 0x00, 0x5F, 0x03, 0x7C, 0x02, 0x31, 0x02, 0xFC, 0x03, 0xFC, 0x03 + .byte 0x9B, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0xFB, 0x03, 0xFB, 0x03, 0x00, 0x00, 0x06, 0x30, 0x00, 0x44, 0x64, 0xE0 + .byte 0xFF, 0x19, 0xFF, 0x20, 0x5F, 0x00, 0x60, 0x03, 0x7D, 0x02, 0x32, 0x02, 0xFC, 0x03, 0xFC, 0x03 + .byte 0x9C, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3D, 0xDF, 0x38, 0x7D, 0x00, 0x69, 0x03 + .byte 0x86, 0x02, 0x3A, 0x02, 0xFD, 0x03, 0xFD, 0x03, 0x9D, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3D, 0xCF, 0x38, 0x7F, 0x00, 0x6A, 0x03, 0x87, 0x02, 0x3B, 0x02, 0xFD, 0x03, 0xFD, 0x03 + .byte 0x9E, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0xDF, 0x38, 0x68, 0x00, 0x63, 0x03 + .byte 0x80, 0x02, 0x35, 0x02, 0x28, 0x04, 0x28, 0x04, 0x9F, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xCF, 0x38, 0x49, 0x00, 0x66, 0x03, 0x83, 0x02, 0x38, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0xA0, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xFF, 0x20, 0x4D, 0x00, 0x5D, 0x03 + .byte 0x7A, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xA1, 0x00, 0x80, 0x29, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xCF, 0x38, 0x4D, 0x00, 0x67, 0x03, 0x84, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xA2, 0x00, 0x81, 0x39, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xEF, 0x34, 0x49, 0x00, 0xE9, 0x00 + .byte 0xDE, 0x01, 0x7D, 0x01, 0x27, 0x04, 0x27, 0x04, 0xA3, 0x00, 0xB4, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xEF, 0x34, 0x4D, 0x00, 0xEA, 0x00, 0xDF, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xA4, 0x00, 0xB4, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0xBF, 0x38, 0x45, 0x00, 0xEF, 0x00 + .byte 0xE4, 0x01, 0x82, 0x01, 0x08, 0x04, 0x08, 0x04, 0xA5, 0x00, 0xB6, 0xA9, 0x00, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0xAF, 0x14, 0x46, 0x00, 0xF8, 0x00, 0xED, 0x01, 0x8B, 0x01, 0x0C, 0x04, 0x0C, 0x04 + .byte 0xA6, 0x00, 0xBA, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x27, 0x2F, 0x20, 0xE3, 0x00, 0x77, 0x00 + .byte 0x7C, 0x01, 0x87, 0x00, 0x86, 0x04, 0x86, 0x04, 0xA7, 0x00, 0xE3, 0x87, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x13, 0x0F, 0x00, 0x00, 0x00, 0x74, 0x00, 0x79, 0x01, 0x85, 0x00, 0x86, 0x04, 0x86, 0x04 + .byte 0xA8, 0x00, 0xE3, 0x83, 0x00, 0x02, 0x08, 0xF6, 0xFF, 0x19, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0xFF, 0x03, 0xFF, 0x03, 0x00, 0x00, 0x06, 0x79, 0x00, 0x44, 0x64, 0xE0 + .byte 0x45, 0x57, 0x1F, 0x21, 0x63, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 + .byte 0xA9, 0x00, 0xDC, 0x84, 0x16, 0x03, 0x98, 0xEE, 0x12, 0x54, 0xDF, 0x38, 0x2E, 0x00, 0x3C, 0x00 + .byte 0x41, 0x01, 0x5B, 0x00, 0x31, 0x04, 0x31, 0x04, 0xAA, 0x00, 0xD3, 0xB4, 0x00, 0x03, 0xA8, 0xEE + .byte 0x86, 0x46, 0xCF, 0x1D, 0xA2, 0x00, 0x6D, 0x00, 0x72, 0x01, 0x03, 0x00, 0x3C, 0x04, 0x3C, 0x04 + .byte 0xAB, 0x00, 0xDD, 0xB4, 0x01, 0x03, 0xA8, 0xEE, 0x87, 0x46, 0xCF, 0x1D, 0xA3, 0x00, 0x6E, 0x00 + .byte 0x73, 0x01, 0x80, 0x00, 0x3C, 0x04, 0x3C, 0x04, 0xAC, 0x00, 0xDD, 0xB4, 0x01, 0x03, 0xB8, 0xEE + .byte 0xFF, 0x1D, 0xCF, 0x38, 0x69, 0x00, 0x65, 0x03, 0x82, 0x02, 0x37, 0x02, 0x29, 0x04, 0x29, 0x04 + .byte 0xAD, 0x00, 0x81, 0x39, 0x00, 0x54, 0x84, 0xA4, 0x13, 0x54, 0xDF, 0x38, 0x6A, 0x00, 0x3D, 0x00 + .byte 0x42, 0x01, 0x5C, 0x00, 0x31, 0x04, 0x31, 0x04, 0xAE, 0x00, 0xD3, 0xB4, 0x00, 0x03, 0xB8, 0xEE + .byte 0xFF, 0x1B, 0xBF, 0x2C, 0x6B, 0x00, 0x7A, 0x03, 0x97, 0x02, 0x48, 0x02, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xAF, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0xAF, 0x2C, 0x6D, 0x00, 0x8A, 0x03 + .byte 0xA7, 0x02, 0x57, 0x02, 0x2D, 0x04, 0x2D, 0x04, 0xB0, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1B, 0xBF, 0x28, 0x6C, 0x00, 0x80, 0x03, 0x9D, 0x02, 0x4D, 0x02, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xB1, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0xBF, 0x2C, 0x49, 0x00, 0x77, 0x03 + .byte 0x94, 0x02, 0x47, 0x02, 0x27, 0x04, 0x27, 0x04, 0xB2, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x24, 0xAF, 0x28, 0x1D, 0x00, 0x1E, 0x00, 0x23, 0x01, 0x42, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xB3, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x24, 0xAF, 0x28, 0x1E, 0x00, 0x1F, 0x00 + .byte 0x24, 0x01, 0x43, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xB4, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x24, 0xAF, 0x28, 0x1F, 0x00, 0x20, 0x00, 0x25, 0x01, 0x44, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xB5, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x24, 0xAF, 0x28, 0x20, 0x00, 0x21, 0x00 + .byte 0x26, 0x01, 0x45, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xB6, 0x00, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x24, 0xAF, 0x28, 0x6E, 0x00, 0x22, 0x00, 0x27, 0x01, 0x46, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xB7, 0x00, 0xD0, 0x99, 0x00, 0x04, 0x64, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x71, 0x00, 0x83, 0x03 + .byte 0xA0, 0x02, 0x50, 0x02, 0x28, 0x04, 0x28, 0x04, 0xB8, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x72, 0x00, 0x84, 0x03, 0xA1, 0x02, 0x51, 0x02, 0x28, 0x04, 0x28, 0x04 + .byte 0xB9, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x73, 0x00, 0x85, 0x03 + .byte 0xA2, 0x02, 0x52, 0x02, 0x28, 0x04, 0x28, 0x04, 0xBA, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x74, 0x00, 0x86, 0x03, 0xA3, 0x02, 0x53, 0x02, 0x28, 0x04, 0x28, 0x04 + .byte 0xBB, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x75, 0x00, 0x87, 0x03 + .byte 0xA4, 0x02, 0x54, 0x02, 0x28, 0x04, 0x28, 0x04, 0xBC, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x76, 0x00, 0x88, 0x03, 0xA5, 0x02, 0x55, 0x02, 0x28, 0x04, 0x28, 0x04 + .byte 0xBD, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x30, 0xAF, 0x28, 0x6F, 0x00, 0x7D, 0x03 + .byte 0x9A, 0x02, 0x4B, 0x02, 0xFE, 0x03, 0xFE, 0x03, 0xBE, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x30, 0xAF, 0x28, 0x70, 0x00, 0x7E, 0x03, 0x9B, 0x02, 0x4C, 0x02, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xBF, 0x00, 0x83, 0x59, 0x00, 0x44, 0x60, 0xE4, 0xFF, 0x3E, 0xAF, 0x2C, 0x3A, 0x00, 0x5E, 0x00 + .byte 0x63, 0x01, 0x75, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xC0, 0x00, 0xD7, 0x59, 0x00, 0x04, 0x64, 0xE4 + .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x3B, 0x00, 0x5F, 0x00, 0x64, 0x01, 0x76, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xC1, 0x00, 0x83, 0x59, 0x00, 0x44, 0x84, 0xE4, 0xFF, 0x3E, 0xBF, 0x2C, 0x3C, 0x00, 0x60, 0x00 + .byte 0x65, 0x01, 0x77, 0x00, 0x31, 0x04, 0x31, 0x04, 0xC2, 0x00, 0x83, 0x59, 0x00, 0x44, 0x84, 0xE4 + .byte 0xFF, 0x3E, 0xBF, 0x2C, 0x3D, 0x00, 0x61, 0x00, 0x66, 0x01, 0x78, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xC3, 0x00, 0x83, 0x59, 0x00, 0x44, 0x84, 0xE4, 0xFF, 0x19, 0xAF, 0x2C, 0x61, 0x00, 0x7C, 0x03 + .byte 0x99, 0x02, 0x4A, 0x02, 0xFE, 0x03, 0xFE, 0x03, 0xC4, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0xBF, 0x2C, 0x60, 0x00, 0x7B, 0x03, 0x98, 0x02, 0x49, 0x02, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xC5, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0xBF, 0x28, 0x60, 0x00, 0x81, 0x03 + .byte 0x9E, 0x02, 0x4E, 0x02, 0xFE, 0x03, 0xFE, 0x03, 0xC6, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2A, 0xBF, 0x28, 0x8C, 0x00, 0x82, 0x03, 0x9F, 0x02, 0x4F, 0x02, 0xFE, 0x03, 0xFE, 0x03 + .byte 0xC7, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2D, 0x9F, 0x28, 0xED, 0x00, 0x8B, 0x03 + .byte 0xA8, 0x02, 0x58, 0x02, 0x82, 0x04, 0x82, 0x04, 0xC8, 0x00, 0x76, 0x59, 0x00, 0x44, 0x60, 0xE4 + .byte 0xFF, 0x3F, 0x0F, 0x00, 0x77, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0x0F, 0x00, 0x78, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3F, 0x0F, 0x00, 0x79, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0x0F, 0x00, 0x7A, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3F, 0x0F, 0x00, 0x7B, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03 + .byte 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x3F, 0x0F, 0x00, 0x7C, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x00, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2A, 0x8F, 0x14, 0x80, 0x00, 0xFA, 0x00, 0xEF, 0x01, 0x8D, 0x01, 0x0C, 0x04, 0x0C, 0x04 + .byte 0xC9, 0x00, 0xBB, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x8F, 0x14, 0x81, 0x00, 0xFB, 0x00 + .byte 0xF0, 0x01, 0x8E, 0x01, 0x0C, 0x04, 0x0C, 0x04, 0xCA, 0x00, 0xBB, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3D, 0xCF, 0x10, 0x82, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0xFF, 0x03, 0xFF, 0x03 + .byte 0xCB, 0x00, 0x85, 0x79, 0x00, 0x44, 0x64, 0xE4, 0x1D, 0x4E, 0xBF, 0x10, 0x1A, 0x00, 0x18, 0x00 + .byte 0x1D, 0x01, 0x3D, 0x00, 0x34, 0x04, 0x34, 0x04, 0xCC, 0x00, 0xCE, 0xA4, 0x00, 0x03, 0x88, 0xEC + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x32, 0x04, 0x32, 0x04 + .byte 0x00, 0x00, 0xD1, 0x94, 0x00, 0x02, 0x08, 0xE0, 0xFF, 0x1A, 0xBF, 0x2C, 0x4D, 0x00, 0x78, 0x03 + .byte 0x95, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xCD, 0x00, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2F, 0x9F, 0x20, 0x30, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0xCE, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4, 0xFF, 0x4A, 0x9F, 0x20, 0x31, 0x00, 0x3F, 0x00 + .byte 0x44, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0xCF, 0x00, 0xD4, 0x99, 0x00, 0x33, 0x24, 0xF4 + .byte 0xFF, 0x2F, 0x9F, 0x20, 0x32, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0xD0, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4, 0xFF, 0x2F, 0x9F, 0x20, 0x33, 0x00, 0x40, 0x00 + .byte 0x45, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0xD1, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4 + .byte 0xFF, 0x2F, 0x9F, 0x20, 0x34, 0x00, 0x41, 0x00, 0x46, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0xD2, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4, 0xFF, 0x59, 0x9F, 0x20, 0x83, 0x00, 0x42, 0x00 + .byte 0x47, 0x01, 0x5E, 0x00, 0x36, 0x04, 0x36, 0x04, 0xD3, 0x00, 0xD4, 0x99, 0x00, 0x03, 0x84, 0xE4 + .byte 0xFF, 0x1A, 0x8F, 0x20, 0x49, 0x00, 0x92, 0x03, 0xAF, 0x02, 0x5F, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0xD4, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0x8F, 0x20, 0x68, 0x00, 0x90, 0x03 + .byte 0xAD, 0x02, 0x5D, 0x02, 0x28, 0x04, 0x28, 0x04, 0xD5, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x8F, 0x1C, 0x61, 0x00, 0x94, 0x03, 0xB1, 0x02, 0x60, 0x02, 0x00, 0x04, 0x00, 0x04 + .byte 0xD6, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x9F, 0x1C, 0x61, 0x00, 0x95, 0x03 + .byte 0xB2, 0x02, 0x61, 0x02, 0x00, 0x04, 0x00, 0x04, 0xD7, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x8F, 0x1C, 0x61, 0x00, 0x96, 0x03, 0xB3, 0x02, 0x62, 0x02, 0x00, 0x04, 0x00, 0x04 + .byte 0xD8, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x8F, 0x20, 0x88, 0x00, 0x97, 0x03 + .byte 0xB4, 0x02, 0x63, 0x02, 0x00, 0x04, 0x00, 0x04, 0xD9, 0x00, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x5F, 0x2C, 0x5F, 0x00, 0x70, 0x03, 0x8D, 0x02, 0x40, 0x02, 0x01, 0x04, 0x01, 0x04 + .byte 0xDA, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0x5F, 0x2C, 0x8B, 0x00, 0x71, 0x03 + .byte 0x8E, 0x02, 0x41, 0x02, 0x01, 0x04, 0x01, 0x04, 0xDB, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x5F, 0x2C, 0x61, 0x00, 0x72, 0x03, 0x8F, 0x02, 0x42, 0x02, 0x01, 0x04, 0x01, 0x04 + .byte 0xDC, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x2C, 0x5F, 0x00, 0x73, 0x03 + .byte 0x90, 0x02, 0x43, 0x02, 0x01, 0x04, 0x01, 0x04, 0xDD, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x5F, 0x2C, 0x49, 0x00, 0x6E, 0x03, 0x8B, 0x02, 0x3F, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0xDE, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4, 0x3D, 0x4C, 0x5F, 0x11, 0x85, 0x00, 0x64, 0x00 + .byte 0x69, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0xDF, 0x00, 0xD9, 0x84, 0x00, 0x03, 0xA8, 0xEE + .byte 0x3E, 0x4C, 0x5F, 0x11, 0x86, 0x00, 0x65, 0x00, 0x6A, 0x01, 0x7B, 0x00, 0x38, 0x04, 0x38, 0x04 + .byte 0xE0, 0x00, 0xD9, 0x84, 0x00, 0x03, 0xB8, 0xEE, 0x3F, 0x4C, 0x5F, 0x11, 0x87, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0xE1, 0x00, 0xD9, 0x84, 0x00, 0x03, 0xB8, 0xEE + .byte 0xFF, 0x3F, 0x8F, 0x20, 0x89, 0x00, 0x98, 0x00, 0x92, 0x01, 0xFF, 0x00, 0x00, 0x04, 0x00, 0x04 + .byte 0xE2, 0x00, 0x84, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x2C, 0x4D, 0x00, 0x6F, 0x03 + .byte 0x8C, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xE3, 0x00, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 + .byte 0x2C, 0x55, 0x7F, 0x2C, 0x8E, 0x00, 0x66, 0x00, 0x6B, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xE4, 0x00, 0xDA, 0xB4, 0x16, 0x03, 0xA8, 0xEE, 0x2E, 0x55, 0x7F, 0x2C, 0x8F, 0x00, 0x67, 0x00 + .byte 0x6C, 0x01, 0x7C, 0x00, 0x31, 0x04, 0x31, 0x04, 0xE5, 0x00, 0xDA, 0xB4, 0x00, 0x03, 0xB8, 0xAE + .byte 0xFF, 0x62, 0x7F, 0x2C, 0x90, 0x00, 0x68, 0x00, 0x6D, 0x01, 0x7D, 0x00, 0xE9, 0x03, 0xE9, 0x03 + .byte 0xE6, 0x00, 0xDA, 0xB4, 0x00, 0xC3, 0xB0, 0x0C, 0xFF, 0x3F, 0x0F, 0x11, 0x45, 0x00, 0x00, 0x01 + .byte 0xF5, 0x01, 0x93, 0x01, 0x0D, 0x04, 0x0D, 0x04, 0xE7, 0x00, 0xBF, 0xA9, 0x00, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x1A, 0x0F, 0x15, 0x49, 0x00, 0xA7, 0x03, 0xC4, 0x02, 0x70, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0xE8, 0x00, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x40, 0x0F, 0x15, 0x35, 0x00, 0x59, 0x00 + .byte 0x5E, 0x01, 0x70, 0x00, 0x37, 0x04, 0x37, 0x04, 0xE9, 0x00, 0xD5, 0xA9, 0x00, 0x43, 0x64, 0xA4 + .byte 0xFF, 0x40, 0x0F, 0x15, 0x36, 0x00, 0x5A, 0x00, 0x5F, 0x01, 0x71, 0x00, 0x37, 0x04, 0x37, 0x04 + .byte 0xEA, 0x00, 0xD5, 0xA9, 0x00, 0x43, 0x64, 0xA4, 0xFF, 0x40, 0x0F, 0x15, 0x37, 0x00, 0x5B, 0x00 + .byte 0x60, 0x01, 0x72, 0x00, 0x37, 0x04, 0x37, 0x04, 0xEB, 0x00, 0xD5, 0xA9, 0x00, 0x43, 0x64, 0xA4 + .byte 0x36, 0x4F, 0xEF, 0x14, 0x3F, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xEC, 0x00, 0xD8, 0x84, 0x00, 0x03, 0xA8, 0xEE, 0x37, 0x4F, 0xEF, 0x14, 0x40, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0xED, 0x00, 0xD8, 0x84, 0x00, 0x03, 0xA8, 0xEE + .byte 0x38, 0x4F, 0xEF, 0x14, 0x41, 0x00, 0x62, 0x00, 0x67, 0x01, 0x79, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xEE, 0x00, 0xD8, 0x84, 0x00, 0x03, 0xA8, 0xEE, 0x42, 0x56, 0x4F, 0x11, 0x92, 0x00, 0x6F, 0x00 + .byte 0x74, 0x01, 0x81, 0x00, 0x39, 0x04, 0x39, 0x04, 0xEF, 0x00, 0xDE, 0xB4, 0x00, 0x03, 0xA8, 0xEE + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 + .byte 0x00, 0x00, 0x51, 0xA2, 0x00, 0x01, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x28, 0x04, 0x28, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 + .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 + .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4 + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x00, 0x00, 0x51, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x6F, 0xA2, 0x00, 0x44, 0x00, 0xE4 + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 + .byte 0x00, 0x00, 0x6F, 0xA9, 0x00, 0x44, 0x00, 0xE4, 0xFF, 0x38, 0x7F, 0x1C, 0xE8, 0x00, 0x45, 0x00 + .byte 0x4A, 0x01, 0x60, 0x00, 0x2F, 0x04, 0x2F, 0x04, 0xF0, 0x00, 0x50, 0xA9, 0x00, 0x04, 0x61, 0xE4 + .byte 0xFF, 0x2C, 0x7F, 0x1C, 0x06, 0x01, 0x46, 0x00, 0x4B, 0x01, 0x03, 0x00, 0x2F, 0x04, 0x2F, 0x04 + .byte 0xF1, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x04, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00 + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 + .byte 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00 + .byte 0xFF, 0x02, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2E, 0x04, 0x2E, 0x04 + .byte 0x00, 0x00, 0x50, 0xA9, 0x00, 0x44, 0x60, 0x00, 0xFF, 0x26, 0x7F, 0x1C, 0x07, 0x01, 0x4B, 0x00 + .byte 0x50, 0x01, 0x63, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0xF2, 0x00, 0x50, 0xA9, 0x00, 0x04, 0x60, 0xE4 + .byte 0xFF, 0x5C, 0x7F, 0x1C, 0xE6, 0x00, 0x4C, 0x00, 0x51, 0x01, 0x64, 0x00, 0x2E, 0x04, 0x2E, 0x04 + .byte 0xF3, 0x00, 0x70, 0x91, 0x00, 0x81, 0x60, 0xF6, 0xFF, 0x2E, 0x7F, 0x1C, 0xE7, 0x00, 0x50, 0x00 + .byte 0x55, 0x01, 0x67, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0xF4, 0x00, 0x70, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x38, 0x0F, 0x00, 0xE8, 0x00, 0x53, 0x00, 0x58, 0x01, 0x03, 0x00, 0x2F, 0x04, 0x2F, 0x04 + .byte 0xF5, 0x00, 0x50, 0xA9, 0x00, 0x04, 0x60, 0xE0, 0xFF, 0x39, 0x7F, 0x1C, 0xE9, 0x00, 0x54, 0x00 + .byte 0x59, 0x01, 0x6B, 0x00, 0x77, 0x04, 0x77, 0x04, 0xF6, 0x00, 0x71, 0xA9, 0x00, 0x04, 0x61, 0x64 + .byte 0xFF, 0x3A, 0x7F, 0x1C, 0xEA, 0x00, 0x55, 0x00, 0x5A, 0x01, 0x6C, 0x00, 0x78, 0x04, 0x78, 0x04 + .byte 0xF7, 0x00, 0x74, 0xA9, 0x00, 0x04, 0x61, 0x64, 0xFF, 0x3B, 0x7F, 0x1C, 0xEB, 0x00, 0x56, 0x00 + .byte 0x5B, 0x01, 0x6D, 0x00, 0x7A, 0x04, 0x7A, 0x04, 0xF8, 0x00, 0x72, 0xA9, 0x00, 0x04, 0x61, 0x64 + .byte 0xFF, 0x3C, 0x7F, 0x1C, 0xEC, 0x00, 0x57, 0x00, 0x5C, 0x01, 0x6E, 0x00, 0x79, 0x04, 0x79, 0x04 + .byte 0xF9, 0x00, 0x73, 0xA9, 0x1A, 0x04, 0x61, 0x64, 0x52, 0x46, 0x5F, 0x28, 0x98, 0x00, 0x79, 0x00 + .byte 0x7E, 0x01, 0x88, 0x00, 0x09, 0x04, 0x09, 0x04, 0xFA, 0x00, 0xEA, 0xA4, 0x00, 0x03, 0x98, 0xE6 + .byte 0xFF, 0x5A, 0xAF, 0x18, 0x99, 0x00, 0x7A, 0x00, 0x7F, 0x01, 0x89, 0x00, 0x09, 0x04, 0x09, 0x04 + .byte 0xFB, 0x00, 0xE1, 0xD1, 0x00, 0x01, 0x28, 0xF6, 0xFF, 0x25, 0xAF, 0x18, 0x9A, 0x00, 0x7B, 0x00 + .byte 0x80, 0x01, 0x8A, 0x00, 0x6E, 0x04, 0x6E, 0x04, 0xFC, 0x00, 0xE1, 0xD9, 0x00, 0x44, 0x74, 0xE4 + .byte 0xFF, 0x25, 0xAF, 0x18, 0x9B, 0x00, 0x7C, 0x00, 0x81, 0x01, 0x8B, 0x00, 0x6E, 0x04, 0x6E, 0x04 + .byte 0xFD, 0x00, 0xE1, 0xD9, 0x00, 0x74, 0x64, 0xE4, 0xFF, 0x25, 0xAF, 0x18, 0x9C, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x6E, 0x04, 0x6E, 0x04, 0xFE, 0x00, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x25, 0xAF, 0x18, 0x9D, 0x00, 0x7D, 0x00, 0x82, 0x01, 0x8C, 0x00, 0x6E, 0x04, 0x6E, 0x04 + .byte 0xFF, 0x00, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x25, 0xAF, 0x18, 0x9E, 0x00, 0x7E, 0x00 + .byte 0x83, 0x01, 0x8D, 0x00, 0x6E, 0x04, 0x6E, 0x04, 0x00, 0x01, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x25, 0xAF, 0x18, 0x9F, 0x00, 0x7F, 0x00, 0x84, 0x01, 0x8E, 0x00, 0x6E, 0x04, 0x6E, 0x04 + .byte 0x01, 0x01, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x25, 0xAF, 0x18, 0xA0, 0x00, 0x80, 0x00 + .byte 0x85, 0x01, 0x8F, 0x00, 0x75, 0x04, 0x75, 0x04, 0x02, 0x01, 0xE1, 0xD9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2A, 0x4F, 0x11, 0x95, 0x00, 0x70, 0x00, 0x75, 0x01, 0x82, 0x00, 0x39, 0x04, 0x39, 0x04 + .byte 0x03, 0x01, 0xDE, 0xB9, 0x00, 0x44, 0x84, 0xE4, 0xFF, 0x19, 0x4F, 0x15, 0x5F, 0x00, 0xB2, 0x03 + .byte 0xCF, 0x02, 0x79, 0x02, 0x03, 0x04, 0x03, 0x04, 0x04, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x5F, 0x15, 0x5F, 0x00, 0xB3, 0x03, 0xD0, 0x02, 0x7A, 0x02, 0x03, 0x04, 0x03, 0x04 + .byte 0x05, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x4F, 0x15, 0x5F, 0x00, 0xB4, 0x03 + .byte 0xD1, 0x02, 0x7B, 0x02, 0x03, 0x04, 0x03, 0x04, 0x06, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1B, 0x4F, 0x15, 0x68, 0x00, 0xAE, 0x03, 0xCB, 0x02, 0x76, 0x02, 0x28, 0x04, 0x28, 0x04 + .byte 0x07, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x15, 0x49, 0x00, 0xB0, 0x03 + .byte 0xCD, 0x02, 0x78, 0x02, 0x27, 0x04, 0x27, 0x04, 0x08, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0xFF, 0x04, 0x42, 0x00, 0xAB, 0x03, 0xC8, 0x02, 0x73, 0x02, 0x0D, 0x04, 0x0D, 0x04 + .byte 0x09, 0x01, 0x87, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x0F, 0x09, 0x5F, 0x00, 0xAC, 0x03 + .byte 0xC9, 0x02, 0x74, 0x02, 0x0D, 0x04, 0x0D, 0x04, 0x0A, 0x01, 0x87, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0xCF, 0x29, 0x42, 0x00, 0xDB, 0x00, 0xD0, 0x01, 0x6E, 0x01, 0x26, 0x04, 0x26, 0x04 + .byte 0x0B, 0x01, 0xAE, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0xCF, 0x2D, 0x93, 0x00, 0xDC, 0x00 + .byte 0xD1, 0x01, 0x6F, 0x01, 0x26, 0x04, 0x26, 0x04, 0x0C, 0x01, 0xAE, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x46, 0x7F, 0x31, 0xA4, 0x00, 0x72, 0x00, 0x77, 0x01, 0x83, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x0D, 0x01, 0xDF, 0xB4, 0x01, 0x03, 0xA8, 0xAE, 0xFF, 0x3F, 0xCF, 0x21, 0x96, 0x00, 0xD5, 0x00 + .byte 0xCA, 0x01, 0x69, 0x01, 0x26, 0x04, 0x26, 0x04, 0x0E, 0x01, 0xAE, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x1A, 0xCF, 0x19, 0x94, 0x00, 0x33, 0x03, 0x50, 0x02, 0x0A, 0x02, 0x3D, 0x04, 0x3D, 0x04 + .byte 0x0F, 0x01, 0x0F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x29, 0xCF, 0x19, 0xA5, 0x00, 0x34, 0x03 + .byte 0x51, 0x02, 0x0B, 0x02, 0x3D, 0x04, 0x3D, 0x04, 0x10, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xC4, 0x84 + .byte 0xFF, 0x29, 0xCF, 0x19, 0xA6, 0x00, 0x35, 0x03, 0x52, 0x02, 0x0C, 0x02, 0x3D, 0x04, 0x3D, 0x04 + .byte 0x11, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xD4, 0x84, 0xFF, 0x29, 0xCF, 0x19, 0xA7, 0x00, 0x36, 0x03 + .byte 0x53, 0x02, 0x0D, 0x02, 0x3D, 0x04, 0x3D, 0x04, 0x12, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xE4, 0x84 + .byte 0xFF, 0x29, 0xCF, 0x19, 0xA8, 0x00, 0x37, 0x03, 0x54, 0x02, 0x0E, 0x02, 0x3D, 0x04, 0x3D, 0x04 + .byte 0x13, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0xF4, 0x84, 0xFF, 0x41, 0xCF, 0x19, 0xA9, 0x00, 0x38, 0x03 + .byte 0x55, 0x02, 0x0F, 0x02, 0x3D, 0x04, 0x3D, 0x04, 0x14, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0x04, 0x85 + .byte 0xFF, 0x41, 0xCF, 0x19, 0xAA, 0x00, 0x39, 0x03, 0x56, 0x02, 0x10, 0x02, 0x3D, 0x04, 0x3D, 0x04 + .byte 0x15, 0x01, 0x0F, 0xC9, 0x01, 0x04, 0x60, 0x84, 0xFF, 0x2A, 0x9F, 0x39, 0xAB, 0x00, 0x9C, 0x00 + .byte 0x96, 0x01, 0x03, 0x01, 0x48, 0x04, 0x48, 0x04, 0x16, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2A, 0x9F, 0x39, 0xAC, 0x00, 0x9D, 0x00, 0x97, 0x01, 0x04, 0x01, 0x48, 0x04, 0x48, 0x04 + .byte 0x17, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x9F, 0x39, 0xAD, 0x00, 0x9E, 0x00 + .byte 0x98, 0x01, 0x05, 0x01, 0x48, 0x04, 0x48, 0x04, 0x18, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2A, 0x9F, 0x39, 0xAE, 0x00, 0x9F, 0x00, 0x99, 0x01, 0x03, 0x00, 0x48, 0x04, 0x48, 0x04 + .byte 0x19, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x9F, 0x39, 0xAF, 0x00, 0xA0, 0x00 + .byte 0x9A, 0x01, 0x03, 0x00, 0x48, 0x04, 0x48, 0x04, 0x1A, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x48, 0xDF, 0x20, 0x22, 0x00, 0x27, 0x00, 0x2C, 0x01, 0x4A, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x1B, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x20, 0x23, 0x00, 0x28, 0x00 + .byte 0x2D, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x1C, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 + .byte 0xFF, 0x48, 0xDF, 0x24, 0x22, 0x00, 0x29, 0x00, 0x2E, 0x01, 0x4B, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x1D, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0x0A, 0x69, 0xDF, 0x20, 0x25, 0x00, 0x2A, 0x00 + .byte 0x2F, 0x01, 0x4C, 0x00, 0x32, 0x04, 0x32, 0x04, 0x1E, 0x01, 0xD1, 0x94, 0x00, 0x03, 0x88, 0xEC + .byte 0xFF, 0x48, 0xDF, 0x24, 0x22, 0x00, 0x2B, 0x00, 0x30, 0x01, 0x4D, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x1F, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0x27, 0x00, 0x2C, 0x00 + .byte 0x31, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x20, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 + .byte 0xFF, 0x48, 0xDF, 0x24, 0x22, 0x00, 0x2D, 0x00, 0x32, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x21, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0x29, 0x00, 0x2E, 0x00 + .byte 0x33, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04, 0x22, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 + .byte 0xFF, 0x48, 0xDF, 0x24, 0xB4, 0x00, 0x2F, 0x00, 0x34, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x23, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x3D, 0xDF, 0x20, 0x11, 0x01, 0x26, 0x00 + .byte 0x2B, 0x01, 0x49, 0x00, 0x31, 0x04, 0x31, 0x04, 0x24, 0x01, 0xD1, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x7F, 0x31, 0x42, 0x00, 0xDE, 0x00, 0xD3, 0x01, 0x72, 0x01, 0x26, 0x04, 0x26, 0x04 + .byte 0x25, 0x01, 0xAF, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x69, 0xDF, 0x20, 0xB5, 0x00, 0x30, 0x00 + .byte 0x35, 0x01, 0x4F, 0x00, 0x31, 0x04, 0x31, 0x04, 0x26, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 + .byte 0xFF, 0x48, 0xDF, 0x20, 0xB6, 0x00, 0x31, 0x00, 0x36, 0x01, 0x50, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x27, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0xB6, 0x00, 0x32, 0x00 + .byte 0x37, 0x01, 0x51, 0x00, 0x31, 0x04, 0x31, 0x04, 0x28, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 + .byte 0xFF, 0x48, 0xDF, 0x24, 0xB6, 0x00, 0x33, 0x00, 0x38, 0x01, 0x52, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x29, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4, 0xFF, 0x48, 0xDF, 0x24, 0xB6, 0x00, 0x34, 0x00 + .byte 0x39, 0x01, 0x53, 0x00, 0x31, 0x04, 0x31, 0x04, 0x2A, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 + .byte 0xFF, 0x2A, 0x9F, 0x39, 0xB0, 0x00, 0xA1, 0x00, 0x9B, 0x01, 0x06, 0x01, 0x48, 0x04, 0x48, 0x04 + .byte 0x2B, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0x9F, 0x39, 0xB1, 0x00, 0xA2, 0x00 + .byte 0x9C, 0x01, 0x07, 0x01, 0x48, 0x04, 0x48, 0x04, 0x2C, 0x01, 0xE2, 0xA9, 0x00, 0x44, 0x84, 0xE4 + .byte 0xFF, 0x5E, 0x8F, 0x20, 0xB2, 0x00, 0x99, 0x00, 0x93, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x04 + .byte 0x2D, 0x01, 0x84, 0xA1, 0x00, 0x01, 0x28, 0xF4, 0xFF, 0x1B, 0xBF, 0x30, 0xB3, 0x00, 0xEE, 0x00 + .byte 0xE3, 0x01, 0x81, 0x01, 0x08, 0x04, 0x08, 0x04, 0x2E, 0x01, 0xB6, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0x1E, 0x4D, 0xCF, 0x10, 0x10, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 + .byte 0x2F, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x1F, 0x4D, 0xCF, 0x10, 0x11, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x30, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC + .byte 0x20, 0x4D, 0xCF, 0x10, 0x12, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 + .byte 0x31, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x21, 0x4D, 0xCF, 0x10, 0x13, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x32, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC + .byte 0x22, 0x4D, 0xCF, 0x10, 0x14, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 + .byte 0x33, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x23, 0x4D, 0xCF, 0x10, 0x15, 0x00, 0x14, 0x00 + .byte 0x19, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x34, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC + .byte 0x24, 0x4D, 0xCF, 0x10, 0x16, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04 + .byte 0x35, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x25, 0x4D, 0xCF, 0x10, 0x17, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x36, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xEC + .byte 0xFF, 0x5B, 0xCF, 0x10, 0x18, 0x00, 0x15, 0x00, 0x1A, 0x01, 0x3A, 0x00, 0xE9, 0x03, 0xE9, 0x03 + .byte 0x37, 0x01, 0xCD, 0x94, 0x00, 0xD3, 0x20, 0x34, 0x54, 0x4D, 0xCF, 0x10, 0xB7, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x35, 0x04, 0x35, 0x04, 0x38, 0x01, 0xCD, 0x94, 0x00, 0x03, 0x88, 0xAC + .byte 0x53, 0x46, 0x4F, 0x30, 0xB8, 0x00, 0x81, 0x00, 0x86, 0x01, 0x90, 0x00, 0x85, 0x04, 0x85, 0x04 + .byte 0x39, 0x01, 0xE4, 0xB4, 0x00, 0x03, 0x98, 0xEE, 0xFF, 0x4B, 0x0F, 0x00, 0xC5, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 + .byte 0xFF, 0x4B, 0x0F, 0x00, 0xC6, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xC7, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 + .byte 0xFF, 0x4B, 0x0F, 0x00, 0xC8, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xC9, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 + .byte 0xFF, 0x4B, 0x0F, 0x00, 0xCA, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xCB, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 + .byte 0xFF, 0x4B, 0x0F, 0x00, 0xCC, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xCD, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 + .byte 0xFF, 0x4B, 0x0F, 0x00, 0xCE, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xCF, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 + .byte 0xFF, 0x4B, 0x0F, 0x00, 0xD0, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0xFF, 0x4B, 0x0F, 0x00, 0xD1, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04, 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00 + .byte 0xFF, 0x4B, 0x0F, 0x00, 0xD2, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x00, 0x00, 0xCA, 0x87, 0x00, 0x43, 0x08, 0x00, 0x5B, 0x4B, 0x0F, 0x00, 0xD4, 0x00, 0x78, 0x00 + .byte 0x7D, 0x01, 0x03, 0x00, 0x87, 0x04, 0x87, 0x04, 0x3A, 0x01, 0xCA, 0x89, 0x00, 0x02, 0x08, 0xA6 + .byte 0xFF, 0x1A, 0x8F, 0x26, 0x49, 0x00, 0x0B, 0x03, 0x28, 0x02, 0xE6, 0x01, 0x27, 0x04, 0x27, 0x04 + .byte 0x3B, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x8F, 0x26, 0x4D, 0x00, 0x0C, 0x03 + .byte 0x29, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x3C, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1B, 0x8F, 0x26, 0x68, 0x00, 0x09, 0x03, 0x26, 0x02, 0xE4, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0x3D, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x26, 0x5F, 0x00, 0x0D, 0x03 + .byte 0x2A, 0x02, 0xE7, 0x01, 0x0E, 0x04, 0x0E, 0x04, 0x3E, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x28, 0x8F, 0x26, 0xB9, 0x00, 0x0E, 0x03, 0x2B, 0x02, 0xE8, 0x01, 0x0E, 0x04, 0x0E, 0x04 + .byte 0x3F, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x26, 0x5F, 0x00, 0x0F, 0x03 + .byte 0x2C, 0x02, 0xE9, 0x01, 0x0E, 0x04, 0x0E, 0x04, 0x40, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x8F, 0x26, 0x5F, 0x00, 0x10, 0x03, 0x2D, 0x02, 0xEA, 0x01, 0x0E, 0x04, 0x0E, 0x04 + .byte 0x41, 0x01, 0x8F, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x31, 0x8F, 0x26, 0xFF, 0x00, 0x0A, 0x03 + .byte 0x27, 0x02, 0xE5, 0x01, 0x29, 0x04, 0x29, 0x04, 0x42, 0x01, 0x8F, 0xC9, 0x01, 0x94, 0x64, 0xA4 + .byte 0xFF, 0x3F, 0x7F, 0x20, 0x45, 0x00, 0xC3, 0x03, 0xDC, 0x02, 0xE9, 0x02, 0x0A, 0x04, 0x0A, 0x04 + .byte 0x43, 0x01, 0xBC, 0xA9, 0x00, 0x44, 0x64, 0xE6, 0xFF, 0x1A, 0x8F, 0x20, 0x4D, 0x00, 0x93, 0x03 + .byte 0xB0, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x44, 0x01, 0x84, 0x69, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x0F, 0x15, 0x4D, 0x00, 0xA8, 0x03, 0xC5, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x45, 0x01, 0x86, 0xA9, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x15, 0x4D, 0x00, 0xB1, 0x03 + .byte 0xCE, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0x46, 0x01, 0x88, 0xA9, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x27, 0x5F, 0x1E, 0xD7, 0x00, 0x15, 0x03, 0x32, 0x02, 0xEE, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0x47, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x5F, 0x1E, 0xD8, 0x00, 0x16, 0x03 + .byte 0x33, 0x02, 0xEF, 0x01, 0x28, 0x04, 0x28, 0x04, 0x48, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x27, 0x5F, 0x1E, 0xD9, 0x00, 0x17, 0x03, 0x34, 0x02, 0xF0, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0x49, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x5F, 0x1E, 0xDA, 0x00, 0x18, 0x03 + .byte 0x35, 0x02, 0xF1, 0x01, 0x28, 0x04, 0x28, 0x04, 0x4A, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x27, 0x5F, 0x1E, 0xDB, 0x00, 0x19, 0x03, 0x36, 0x02, 0xF2, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0x4B, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x5F, 0x1E, 0xDC, 0x00, 0x1A, 0x03 + .byte 0x37, 0x02, 0xF3, 0x01, 0x28, 0x04, 0x28, 0x04, 0x4C, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x27, 0x6F, 0x1E, 0xDD, 0x00, 0x1C, 0x03, 0x39, 0x02, 0xF5, 0x01, 0x12, 0x04, 0x12, 0x04 + .byte 0x4D, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x6F, 0x1E, 0xDE, 0x00, 0x1D, 0x03 + .byte 0x3A, 0x02, 0xF6, 0x01, 0x12, 0x04, 0x12, 0x04, 0x4E, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x27, 0x6F, 0x1E, 0xDF, 0x00, 0x1E, 0x03, 0x3B, 0x02, 0xF7, 0x01, 0x12, 0x04, 0x12, 0x04 + .byte 0x4F, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x5F, 0x6F, 0x1E, 0xE0, 0x00, 0x1F, 0x03 + .byte 0x3C, 0x02, 0xF8, 0x01, 0x12, 0x04, 0x12, 0x04, 0x50, 0x01, 0x90, 0xC9, 0x01, 0x31, 0x64, 0xF4 + .byte 0xFF, 0x28, 0x6F, 0x1E, 0xE1, 0x00, 0x20, 0x03, 0x3D, 0x02, 0xF9, 0x01, 0x12, 0x04, 0x12, 0x04 + .byte 0x51, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x28, 0x6F, 0x1E, 0xD5, 0x00, 0x23, 0x03 + .byte 0x40, 0x02, 0xFC, 0x01, 0x2D, 0x04, 0x2D, 0x04, 0x52, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x28, 0x6F, 0x1E, 0xD6, 0x00, 0x24, 0x03, 0x41, 0x02, 0xFD, 0x01, 0x2D, 0x04, 0x2D, 0x04 + .byte 0x53, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x28, 0x6F, 0x22, 0xE2, 0x00, 0x25, 0x03 + .byte 0x42, 0x02, 0xFE, 0x01, 0x12, 0x04, 0x12, 0x04, 0x54, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x5F, 0x31, 0x48, 0x00, 0x51, 0x03, 0x6E, 0x02, 0x25, 0x02, 0xFA, 0x03, 0xFA, 0x03 + .byte 0x55, 0x01, 0x7E, 0x09, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x5F, 0x28, 0x5F, 0x00, 0x74, 0x03 + .byte 0x91, 0x02, 0x44, 0x02, 0x01, 0x04, 0x01, 0x04, 0x56, 0x01, 0x82, 0x49, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x27, 0x8F, 0x2A, 0xBA, 0x00, 0x9A, 0x00, 0x94, 0x01, 0x01, 0x01, 0x0E, 0x04, 0x0E, 0x04 + .byte 0x57, 0x01, 0x8F, 0xA9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x5E, 0x8F, 0x2A, 0xD3, 0x00, 0x9B, 0x00 + .byte 0x95, 0x01, 0x02, 0x01, 0x0E, 0x04, 0x0E, 0x04, 0x58, 0x01, 0x8F, 0xA1, 0x01, 0x01, 0x28, 0xF4 + .byte 0xFF, 0x0E, 0x0F, 0x00, 0x00, 0x00, 0xC2, 0x00, 0xB7, 0x01, 0x57, 0x01, 0x1E, 0x04, 0x1E, 0x04 + .byte 0x59, 0x01, 0x9E, 0xC3, 0x01, 0x02, 0x48, 0xF6, 0xFF, 0x3F, 0x8F, 0x22, 0x45, 0x00, 0xB9, 0x00 + .byte 0xAE, 0x01, 0x4F, 0x01, 0x1C, 0x04, 0x1C, 0x04, 0x5A, 0x01, 0x9A, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0xAF, 0x1E, 0x46, 0x00, 0xBD, 0x00, 0xB2, 0x01, 0x53, 0x01, 0x1E, 0x04, 0x1E, 0x04 + .byte 0x5B, 0x01, 0x9C, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x8F, 0x16, 0x45, 0x00, 0xB6, 0x00 + .byte 0xAB, 0x01, 0x4C, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0x5C, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0x7F, 0x36, 0x46, 0x00, 0xCC, 0x00, 0xC1, 0x01, 0x61, 0x01, 0x24, 0x04, 0x24, 0x04 + .byte 0x5D, 0x01, 0xA3, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x1A, 0x6F, 0x1E, 0x49, 0x00, 0x13, 0x03 + .byte 0x30, 0x02, 0xED, 0x01, 0x27, 0x04, 0x27, 0x04, 0x5E, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x6F, 0x1E, 0x4D, 0x00, 0x14, 0x03, 0x31, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x5F, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x34, 0x6F, 0x1E, 0x02, 0x01, 0x12, 0x03 + .byte 0x2F, 0x02, 0xEC, 0x01, 0x29, 0x04, 0x29, 0x04, 0x60, 0x01, 0x90, 0xC9, 0x01, 0x04, 0x64, 0xA4 + .byte 0xFF, 0x22, 0x0F, 0x15, 0xE4, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x29, 0x04, 0x29, 0x04 + .byte 0x61, 0x01, 0x86, 0xA9, 0x00, 0x04, 0x74, 0xA4, 0xFF, 0x22, 0x0F, 0x15, 0x5D, 0x00, 0xA6, 0x03 + .byte 0xC3, 0x02, 0x6F, 0x02, 0x29, 0x04, 0x29, 0x04, 0x62, 0x01, 0x86, 0xA9, 0x00, 0x04, 0x74, 0xA4 + .byte 0xFF, 0x28, 0x9F, 0x1A, 0xC0, 0x00, 0x40, 0x03, 0x5D, 0x02, 0x15, 0x02, 0x0F, 0x04, 0x0F, 0x04 + .byte 0x63, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x9F, 0x1E, 0x61, 0x00, 0x41, 0x03 + .byte 0x5E, 0x02, 0x16, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x64, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x30, 0x8F, 0x1A, 0xBB, 0x00, 0x42, 0x03, 0x5F, 0x02, 0x17, 0x02, 0x0F, 0x04, 0x0F, 0x04 + .byte 0x65, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x30, 0x8F, 0x1A, 0xBC, 0x00, 0x43, 0x03 + .byte 0x60, 0x02, 0x18, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x66, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x60, 0xE4 + .byte 0xFF, 0x27, 0x8F, 0x1E, 0xBD, 0x00, 0x45, 0x03, 0x62, 0x02, 0x19, 0x02, 0x0F, 0x04, 0x0F, 0x04 + .byte 0x67, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x8F, 0x1E, 0xF1, 0x00, 0x46, 0x03 + .byte 0x63, 0x02, 0x1A, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x68, 0x01, 0x79, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x27, 0x8F, 0x1A, 0xBE, 0x00, 0x48, 0x03, 0x65, 0x02, 0x1C, 0x02, 0x0F, 0x04, 0x0F, 0x04 + .byte 0x69, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0x8F, 0x1A, 0xBF, 0x00, 0x49, 0x03 + .byte 0x66, 0x02, 0x1D, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x6A, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x28, 0x0F, 0x00, 0x42, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x0F, 0x04, 0x0F, 0x04 + .byte 0x00, 0x00, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x8F, 0x1E, 0x49, 0x00, 0x3E, 0x03 + .byte 0x5B, 0x02, 0x14, 0x02, 0x27, 0x04, 0x27, 0x04, 0x6B, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x8F, 0x1E, 0x4D, 0x00, 0x3F, 0x03, 0x5C, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0x6C, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0x9F, 0x1A, 0x68, 0x00, 0x3C, 0x03 + .byte 0x59, 0x02, 0x12, 0x02, 0x28, 0x04, 0x28, 0x04, 0x6D, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x32, 0x9F, 0x1A, 0x00, 0x01, 0x3D, 0x03, 0x5A, 0x02, 0x13, 0x02, 0x29, 0x04, 0x29, 0x04 + .byte 0x6E, 0x01, 0x94, 0xC9, 0x01, 0x04, 0x64, 0xA4, 0xFF, 0x5D, 0x7F, 0x1C, 0xF0, 0x00, 0x51, 0x00 + .byte 0x56, 0x01, 0x68, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0x6F, 0x01, 0xE5, 0x91, 0x00, 0x81, 0x28, 0xF2 + .byte 0xFF, 0x2D, 0x9F, 0x28, 0xEE, 0x00, 0x8C, 0x03, 0xA9, 0x02, 0x59, 0x02, 0x82, 0x04, 0x82, 0x04 + .byte 0x70, 0x01, 0x76, 0x59, 0x00, 0x44, 0x60, 0xE4, 0xFF, 0x2D, 0x9F, 0x28, 0xEF, 0x00, 0x8D, 0x03 + .byte 0xAA, 0x02, 0x5A, 0x02, 0x82, 0x04, 0x82, 0x04, 0x71, 0x01, 0x76, 0x59, 0x00, 0x44, 0x60, 0xE4 + .byte 0x88, 0x11, 0x0F, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x9F, 0x01, 0x41, 0x01, 0x21, 0x04, 0x21, 0x04 + .byte 0x72, 0x01, 0x96, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0xFF, 0x19, 0x4F, 0x22, 0x42, 0x00, 0xCE, 0x00 + .byte 0xC3, 0x01, 0x63, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0x73, 0x01, 0xA4, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x10, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x22, 0x04, 0x22, 0x04 + .byte 0x00, 0x00, 0xA8, 0xC6, 0x01, 0x02, 0x68, 0xF6, 0xFF, 0x19, 0x0F, 0x12, 0x42, 0x00, 0xAB, 0x00 + .byte 0xA0, 0x01, 0x42, 0x01, 0x21, 0x04, 0x21, 0x04, 0x74, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x3F, 0x0F, 0x1A, 0x45, 0x00, 0xAC, 0x00, 0xA1, 0x01, 0x43, 0x01, 0x21, 0x04, 0x21, 0x04 + .byte 0x75, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x0F, 0x1A, 0x45, 0x00, 0xAD, 0x00 + .byte 0xA2, 0x01, 0x44, 0x01, 0x21, 0x04, 0x21, 0x04, 0x76, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0x0F, 0x12, 0x45, 0x00, 0xAE, 0x00, 0xA3, 0x01, 0x45, 0x01, 0x21, 0x04, 0x21, 0x04 + .byte 0x77, 0x01, 0x96, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0x4F, 0x22, 0x46, 0x00, 0xCF, 0x00 + .byte 0xC4, 0x01, 0x64, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0x78, 0x01, 0xA4, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0x7D, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0xD0, 0x00, 0xC5, 0x01, 0x03, 0x00, 0x1F, 0x04, 0x1F, 0x04 + .byte 0x79, 0x01, 0xA4, 0xC3, 0x01, 0x02, 0x08, 0xF6, 0xFF, 0x3F, 0x4F, 0x36, 0x46, 0x00, 0xD3, 0x00 + .byte 0xC8, 0x01, 0x67, 0x01, 0x20, 0x04, 0x20, 0x04, 0x7A, 0x01, 0xA6, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x3F, 0x5F, 0x3A, 0x45, 0x00, 0xBF, 0x03, 0xD8, 0x02, 0xE5, 0x02, 0x20, 0x04, 0x20, 0x04 + .byte 0x7B, 0x01, 0xA7, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x3F, 0xBF, 0x26, 0x46, 0x00, 0xC6, 0x00 + .byte 0xBB, 0x01, 0x5B, 0x01, 0x23, 0x04, 0x23, 0x04, 0x7C, 0x01, 0x9F, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x1B, 0x8F, 0x12, 0x68, 0x00, 0xF7, 0x02, 0x14, 0x02, 0xD4, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0x7D, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x33, 0x9F, 0x12, 0x01, 0x01, 0xF8, 0x02 + .byte 0x15, 0x02, 0xD5, 0x01, 0x29, 0x04, 0x29, 0x04, 0x7E, 0x01, 0x8D, 0xC9, 0x01, 0x04, 0x64, 0xA4 + .byte 0xFF, 0x1A, 0x8F, 0x12, 0x49, 0x00, 0xF9, 0x02, 0x16, 0x02, 0xD6, 0x01, 0x27, 0x04, 0x27, 0x04 + .byte 0x7F, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x0E, 0x60, 0x00, 0xFB, 0x02 + .byte 0x18, 0x02, 0xD7, 0x01, 0x10, 0x04, 0x10, 0x04, 0x80, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x9F, 0x0E, 0x61, 0x00, 0xFC, 0x02, 0x19, 0x02, 0xD8, 0x01, 0x10, 0x04, 0x10, 0x04 + .byte 0x81, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x8F, 0x12, 0x60, 0x00, 0xFD, 0x02 + .byte 0x1A, 0x02, 0xD9, 0x01, 0x10, 0x04, 0x10, 0x04, 0x82, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1B, 0x8F, 0x12, 0x12, 0x01, 0xFE, 0x02, 0x1B, 0x02, 0xDA, 0x01, 0x10, 0x04, 0x10, 0x04 + .byte 0x83, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1B, 0xCF, 0x1E, 0x68, 0x00, 0x00, 0x03 + .byte 0x1D, 0x02, 0xDC, 0x01, 0x28, 0x04, 0x28, 0x04, 0x84, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xCF, 0x1E, 0x49, 0x00, 0x01, 0x03, 0x1E, 0x02, 0xDD, 0x01, 0x27, 0x04, 0x27, 0x04 + .byte 0x85, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x28, 0xCF, 0x1E, 0xC1, 0x00, 0x03, 0x03 + .byte 0x20, 0x02, 0xDE, 0x01, 0x11, 0x04, 0x11, 0x04, 0x86, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0xCF, 0x1E, 0x60, 0x00, 0x04, 0x03, 0x21, 0x02, 0xDF, 0x01, 0x11, 0x04, 0x11, 0x04 + .byte 0x87, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2A, 0xCF, 0x1E, 0x8C, 0x00, 0x05, 0x03 + .byte 0x22, 0x02, 0xE0, 0x01, 0x11, 0x04, 0x11, 0x04, 0x88, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x28, 0xCF, 0x1E, 0xC2, 0x00, 0x06, 0x03, 0x23, 0x02, 0xE1, 0x01, 0x11, 0x04, 0x11, 0x04 + .byte 0x89, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x27, 0xCF, 0x1E, 0xC3, 0x00, 0x07, 0x03 + .byte 0x24, 0x02, 0xE2, 0x01, 0x11, 0x04, 0x11, 0x04, 0x8A, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2B, 0xBF, 0x06, 0xFE, 0x00, 0xD9, 0x00, 0xCE, 0x01, 0x6C, 0x01, 0x25, 0x04, 0x25, 0x04 + .byte 0x8B, 0x01, 0xAD, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0xBF, 0x2C, 0x06, 0x01, 0x89, 0x03 + .byte 0xA6, 0x02, 0x56, 0x02, 0x28, 0x04, 0x28, 0x04, 0x8C, 0x01, 0x83, 0x59, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2C, 0x5F, 0x1E, 0x06, 0x01, 0x1B, 0x03, 0x38, 0x02, 0xF4, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0x8D, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0x6F, 0x1E, 0x06, 0x01, 0x21, 0x03 + .byte 0x3E, 0x02, 0xFA, 0x01, 0x12, 0x04, 0x12, 0x04, 0x8E, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2C, 0x6F, 0x1E, 0x06, 0x01, 0x22, 0x03, 0x3F, 0x02, 0xFB, 0x01, 0x12, 0x04, 0x12, 0x04 + .byte 0x8F, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0x8F, 0x1E, 0x06, 0x01, 0x47, 0x03 + .byte 0x64, 0x02, 0x1B, 0x02, 0x0F, 0x04, 0x0F, 0x04, 0x90, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2C, 0x9F, 0x20, 0x06, 0x01, 0x43, 0x00, 0x48, 0x01, 0x5F, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0x91, 0x01, 0xD4, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0xAF, 0x28, 0x06, 0x01, 0x23, 0x00 + .byte 0x28, 0x01, 0x47, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0x92, 0x01, 0xD0, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0x6B, 0x46, 0x4F, 0x0E, 0x04, 0x00, 0x08, 0x00, 0x0D, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0x93, 0x01, 0xC6, 0xC4, 0x01, 0x03, 0x98, 0xEE, 0x48, 0x61, 0x4F, 0x0E, 0x05, 0x00, 0x09, 0x00 + .byte 0x0E, 0x01, 0x32, 0x00, 0x31, 0x04, 0x31, 0x04, 0x94, 0x01, 0xC6, 0xC4, 0x01, 0x02, 0x08, 0xF6 + .byte 0x8C, 0x49, 0x8F, 0x0E, 0x4F, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 + .byte 0x95, 0x01, 0xC7, 0xA4, 0x17, 0x03, 0x98, 0xEE, 0x8D, 0x49, 0x8F, 0x0E, 0x50, 0x00, 0x0B, 0x00 + .byte 0x10, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04, 0x96, 0x01, 0xC7, 0xA4, 0x17, 0x03, 0xA8, 0xEE + .byte 0x6D, 0x53, 0xCF, 0x12, 0x07, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 + .byte 0x97, 0x01, 0xC8, 0xC4, 0x17, 0x03, 0xA8, 0xEE, 0x4B, 0x68, 0x3F, 0x3E, 0x52, 0x00, 0x0D, 0x00 + .byte 0x12, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0x98, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xA8, 0xEE + .byte 0x4C, 0x68, 0x3F, 0x3E, 0x53, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 + .byte 0x99, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xEE, 0x4D, 0x68, 0x3F, 0x3E, 0x54, 0x00, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04, 0x9A, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xEE + .byte 0x4E, 0x68, 0x3F, 0x3E, 0x55, 0x00, 0x0E, 0x00, 0x13, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 + .byte 0x9B, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xEE, 0xFF, 0x51, 0x3F, 0x3E, 0x08, 0x01, 0x0F, 0x00 + .byte 0x14, 0x01, 0x35, 0x00, 0x29, 0x04, 0x29, 0x04, 0x9C, 0x01, 0xCB, 0xA4, 0x01, 0x03, 0xB8, 0xAC + .byte 0xFF, 0x46, 0x0F, 0x00, 0x08, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x38, 0x04, 0x38, 0x04 + .byte 0x00, 0x00, 0xCB, 0xA4, 0x01, 0x03, 0x98, 0xE8, 0x59, 0x60, 0x9F, 0x21, 0x0A, 0x01, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0x9D, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x58, 0xF4 + .byte 0x57, 0x66, 0x9F, 0x21, 0x0B, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0x9E, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x48, 0xF6, 0x58, 0x50, 0x9F, 0x21, 0x0C, 0x01, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0x9F, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0xA8, 0xEE + .byte 0x4F, 0x50, 0x9F, 0x21, 0x0D, 0x01, 0x6A, 0x00, 0x6F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0xA0, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0xA8, 0xEE, 0x50, 0x50, 0x9F, 0x21, 0x0E, 0x01, 0x8B, 0x00 + .byte 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04, 0xA1, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x98, 0xEE + .byte 0x51, 0x50, 0x9F, 0x21, 0x0F, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x36, 0x04, 0x36, 0x04 + .byte 0xA2, 0x01, 0xDB, 0xA4, 0x00, 0x03, 0x98, 0xEE, 0xFF, 0x60, 0x9F, 0x21, 0x10, 0x01, 0x6B, 0x00 + .byte 0x70, 0x01, 0x7E, 0x00, 0xE9, 0x03, 0xE9, 0x03, 0xA3, 0x01, 0xDB, 0xA4, 0x0A, 0x03, 0x58, 0xF4 + .byte 0xFF, 0x1A, 0xCF, 0x12, 0x49, 0x00, 0xC0, 0x00, 0xB5, 0x01, 0x56, 0x01, 0x27, 0x04, 0x27, 0x04 + .byte 0xA4, 0x01, 0x9E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0xCF, 0x16, 0xFB, 0x00, 0xC3, 0x00 + .byte 0xB8, 0x01, 0x58, 0x01, 0x14, 0x04, 0x14, 0x04, 0xA5, 0x01, 0xC9, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2C, 0x0F, 0x00, 0xFC, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x1D, 0x04, 0x1D, 0x04 + .byte 0x00, 0x00, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE0, 0xFF, 0x2C, 0x8F, 0x16, 0xFD, 0x00, 0xB4, 0x00 + .byte 0xA9, 0x01, 0x4A, 0x01, 0x3A, 0x04, 0x3A, 0x04, 0xA6, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x2C, 0x8F, 0x22, 0xFD, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x3A, 0x04, 0x3A, 0x04 + .byte 0xA7, 0x01, 0x9A, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x2C, 0x0F, 0x0A, 0xF2, 0x00, 0xF3, 0x02 + .byte 0x10, 0x02, 0xD0, 0x01, 0x14, 0x04, 0x14, 0x04, 0xA8, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0x0F, 0x0E, 0x42, 0x00, 0xF4, 0x02, 0x11, 0x02, 0xD1, 0x01, 0x14, 0x04, 0x14, 0x04 + .byte 0xA9, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x36, 0x0F, 0x0A, 0x04, 0x01, 0xF0, 0x02 + .byte 0x0D, 0x02, 0xCE, 0x01, 0x29, 0x04, 0x29, 0x04, 0xAA, 0x01, 0x8C, 0xC9, 0x01, 0x04, 0x64, 0xA4 + .byte 0xFF, 0x1B, 0x1F, 0x0E, 0x68, 0x00, 0xEF, 0x02, 0x0C, 0x02, 0xCD, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0xAB, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x0F, 0x0E, 0x49, 0x00, 0xF1, 0x02 + .byte 0x0E, 0x02, 0xCF, 0x01, 0x27, 0x04, 0x27, 0x04, 0xAC, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x0F, 0x0E, 0x4D, 0x00, 0xF2, 0x02, 0x0F, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xAD, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x1F, 0x0A, 0x42, 0x00, 0xF5, 0x02 + .byte 0x12, 0x02, 0xD2, 0x01, 0x14, 0x04, 0x14, 0x04, 0xAE, 0x01, 0x8C, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1B, 0x5F, 0x36, 0x68, 0x00, 0x28, 0x03, 0x45, 0x02, 0x01, 0x02, 0x28, 0x04, 0x28, 0x04 + .byte 0xAF, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2C, 0x5F, 0x32, 0xF3, 0x00, 0x2C, 0x03 + .byte 0x49, 0x02, 0x04, 0x02, 0x13, 0x04, 0x13, 0x04, 0xB0, 0x01, 0x37, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x35, 0x5F, 0x36, 0x03, 0x01, 0x29, 0x03, 0x46, 0x02, 0x02, 0x02, 0x29, 0x04, 0x29, 0x04 + .byte 0xB1, 0x01, 0x91, 0xC9, 0x01, 0xE4, 0x64, 0xA4, 0xFF, 0x19, 0x5F, 0x36, 0x60, 0x00, 0x2D, 0x03 + .byte 0x4A, 0x02, 0x05, 0x02, 0x13, 0x04, 0x13, 0x04, 0xB2, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x5F, 0x36, 0x49, 0x00, 0x2A, 0x03, 0x47, 0x02, 0x03, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0xB3, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x6F, 0x36, 0x61, 0x00, 0x2E, 0x03 + .byte 0x4B, 0x02, 0x06, 0x02, 0x13, 0x04, 0x13, 0x04, 0xB4, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0xCF, 0x12, 0x4D, 0x00, 0xC1, 0x00, 0xB6, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xB5, 0x01, 0x9E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x5F, 0x36, 0x4D, 0x00, 0x2B, 0x03 + .byte 0x48, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xB6, 0x01, 0x91, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0x30, 0x62, 0x7F, 0x2C, 0x13, 0x01, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xB7, 0x01, 0xDA, 0xB4, 0x00, 0xA3, 0xB8, 0x8E, 0x18, 0x47, 0xBF, 0x1C, 0x1B, 0x00, 0x1A, 0x00 + .byte 0x1F, 0x01, 0x3F, 0x00, 0x44, 0x04, 0x44, 0x04, 0xB8, 0x01, 0xCF, 0x97, 0x00, 0x01, 0x08, 0xA4 + .byte 0xFF, 0x47, 0xBF, 0x1C, 0x1B, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x33, 0x04, 0x33, 0x04 + .byte 0x00, 0x00, 0xCF, 0x97, 0x00, 0x01, 0x08, 0xA6, 0xFF, 0x2C, 0xCF, 0x16, 0x14, 0x01, 0xC4, 0x00 + .byte 0xB9, 0x01, 0x59, 0x01, 0x14, 0x04, 0x14, 0x04, 0xB9, 0x01, 0xC9, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0x0B, 0x69, 0xDF, 0x20, 0x25, 0x00, 0x35, 0x00, 0x3A, 0x01, 0x54, 0x00, 0x32, 0x04, 0x32, 0x04 + .byte 0xBA, 0x01, 0xD1, 0x94, 0x00, 0x03, 0x88, 0xEC, 0x0D, 0x69, 0xDF, 0x20, 0xB5, 0x00, 0x36, 0x00 + .byte 0x3B, 0x01, 0x55, 0x00, 0x32, 0x04, 0x32, 0x04, 0xBB, 0x01, 0xD1, 0x94, 0x00, 0x43, 0x84, 0xE4 + .byte 0x0C, 0x69, 0xDF, 0x20, 0x25, 0x00, 0x37, 0x00, 0x3C, 0x01, 0x56, 0x00, 0x32, 0x04, 0x32, 0x04 + .byte 0xBC, 0x01, 0xD1, 0x94, 0x00, 0x03, 0x88, 0xEC, 0xFF, 0x3F, 0x7F, 0x1E, 0x46, 0x00, 0xBB, 0x00 + .byte 0xB0, 0x01, 0x51, 0x01, 0x1F, 0x04, 0x1F, 0x04, 0xBD, 0x01, 0x9B, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x1A, 0xCF, 0x1E, 0x4D, 0x00, 0x02, 0x03, 0x1F, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xBE, 0x01, 0x8E, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x8F, 0x12, 0x4D, 0x00, 0xFA, 0x02 + .byte 0x17, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xBF, 0x01, 0x8D, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x37, 0x0F, 0x1E, 0x05, 0x01, 0xE7, 0x02, 0x04, 0x02, 0xC6, 0x01, 0x29, 0x04, 0x29, 0x04 + .byte 0xC0, 0x01, 0x8B, 0xC9, 0x01, 0x04, 0x64, 0xA4, 0xFF, 0x19, 0x0F, 0x1E, 0x60, 0x00, 0xEA, 0x02 + .byte 0x07, 0x02, 0xC8, 0x01, 0x15, 0x04, 0x15, 0x04, 0xC1, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2B, 0x0F, 0x1E, 0xF4, 0x00, 0xEB, 0x02, 0x08, 0x02, 0xC9, 0x01, 0x15, 0x04, 0x15, 0x04 + .byte 0xC2, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x1E, 0xF5, 0x00, 0xEC, 0x02 + .byte 0x09, 0x02, 0xCA, 0x01, 0x15, 0x04, 0x15, 0x04, 0xC3, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x60, 0xE4 + .byte 0xFF, 0x1B, 0x0F, 0x1E, 0x68, 0x00, 0xE6, 0x02, 0x03, 0x02, 0xC5, 0x01, 0x28, 0x04, 0x28, 0x04 + .byte 0xC4, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x0F, 0x22, 0x49, 0x00, 0xE8, 0x02 + .byte 0x05, 0x02, 0xC7, 0x01, 0x27, 0x04, 0x27, 0x04, 0xC5, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x0F, 0x22, 0x4D, 0x00, 0xE9, 0x02, 0x06, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xC6, 0x01, 0x8B, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x2E, 0xF6, 0x00, 0xE0, 0x02 + .byte 0xFD, 0x01, 0xBF, 0x01, 0x16, 0x04, 0x16, 0x04, 0xC7, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2B, 0x0F, 0x2E, 0xF8, 0x00, 0xE2, 0x02, 0xFF, 0x01, 0xC1, 0x01, 0x16, 0x04, 0x16, 0x04 + .byte 0xC8, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x2E, 0xFA, 0x00, 0xE4, 0x02 + .byte 0x01, 0x02, 0xC3, 0x01, 0x16, 0x04, 0x16, 0x04, 0xC9, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2B, 0x0F, 0x2E, 0xF7, 0x00, 0xE1, 0x02, 0xFE, 0x01, 0xC0, 0x01, 0x16, 0x04, 0x16, 0x04 + .byte 0xCA, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x2B, 0x0F, 0x2E, 0xF9, 0x00, 0xE3, 0x02 + .byte 0x00, 0x02, 0xC2, 0x01, 0x16, 0x04, 0x16, 0x04, 0xCB, 0x01, 0x8A, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x0F, 0x3E, 0x49, 0x00, 0x30, 0x03, 0x4D, 0x02, 0x08, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0xCC, 0x01, 0x92, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x0F, 0x3E, 0x4D, 0x00, 0x31, 0x03 + .byte 0x4E, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xCD, 0x01, 0x92, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x19, 0xAF, 0x21, 0x42, 0x00, 0xE0, 0x00, 0xD5, 0x01, 0x74, 0x01, 0x3D, 0x04, 0x3D, 0x04 + .byte 0xCE, 0x01, 0xB0, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x4F, 0x0E, 0x49, 0x00, 0xB0, 0x00 + .byte 0xA5, 0x01, 0x47, 0x01, 0x27, 0x04, 0x27, 0x04, 0xCF, 0x01, 0x97, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x4F, 0x0E, 0x4D, 0x00, 0xB1, 0x00, 0xA6, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xD0, 0x01, 0x97, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0x49, 0x61, 0x4F, 0x0E, 0x19, 0x01, 0x0A, 0x00 + .byte 0x0F, 0x01, 0x33, 0x00, 0x49, 0x04, 0x49, 0x04, 0xD1, 0x01, 0xC6, 0xC4, 0x01, 0x02, 0x08, 0xF6 + .byte 0xFF, 0x1A, 0x9F, 0x21, 0x49, 0x00, 0xB6, 0x03, 0xD3, 0x02, 0x7D, 0x02, 0x27, 0x04, 0x27, 0x04 + .byte 0xD2, 0x01, 0x89, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x9F, 0x21, 0x4D, 0x00, 0xB7, 0x03 + .byte 0xD4, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xD3, 0x01, 0x89, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2D, 0x0F, 0x00, 0x18, 0x01, 0x93, 0x00, 0x90, 0x01, 0xD4, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xD4, 0x01, 0x00, 0xA9, 0x00, 0x44, 0x64, 0x04, 0xFF, 0x19, 0x8F, 0x16, 0x42, 0x00, 0xB7, 0x00 + .byte 0xAC, 0x01, 0x4D, 0x01, 0x1D, 0x04, 0x1D, 0x04, 0xD5, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1B, 0x4F, 0x0E, 0x8B, 0x00, 0x06, 0x00, 0x0B, 0x01, 0x30, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xD6, 0x01, 0xC6, 0xC9, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x30, 0xAF, 0x28, 0x1A, 0x01, 0x7F, 0x03 + .byte 0x9C, 0x02, 0x03, 0x00, 0xFE, 0x03, 0xFE, 0x03, 0xD7, 0x01, 0x83, 0x59, 0x00, 0x44, 0x60, 0xE4 + .byte 0xFF, 0x30, 0x8F, 0x1A, 0x1B, 0x01, 0x44, 0x03, 0x61, 0x02, 0x03, 0x00, 0x0F, 0x04, 0x0F, 0x04 + .byte 0xD8, 0x01, 0x94, 0xC9, 0x01, 0x44, 0x60, 0xE4, 0xFF, 0x64, 0x4F, 0x05, 0x15, 0x01, 0x82, 0x00 + .byte 0x87, 0x01, 0x91, 0x00, 0x90, 0x04, 0x90, 0x04, 0xD9, 0x01, 0xE7, 0xA3, 0x0A, 0x02, 0x08, 0xA4 + .byte 0xFF, 0x65, 0x4F, 0x05, 0x16, 0x01, 0x83, 0x00, 0x88, 0x01, 0x92, 0x00, 0x90, 0x04, 0x90, 0x04 + .byte 0xDA, 0x01, 0xE7, 0xA4, 0x00, 0x03, 0x98, 0x24, 0xFF, 0x2A, 0x4F, 0x05, 0x1F, 0x01, 0x84, 0x00 + .byte 0x89, 0x01, 0x93, 0x00, 0x90, 0x04, 0x90, 0x04, 0xDB, 0x01, 0xE7, 0xA9, 0x00, 0x44, 0x64, 0xA4 + .byte 0xFF, 0x63, 0x2F, 0x30, 0x17, 0x01, 0x85, 0x00, 0x8A, 0x01, 0x94, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xDC, 0x01, 0xE8, 0xA4, 0x00, 0x03, 0x94, 0xAC, 0xFF, 0x63, 0x2F, 0x30, 0x1C, 0x01, 0x86, 0x00 + .byte 0x8B, 0x01, 0x95, 0x00, 0x31, 0x04, 0x31, 0x04, 0xDD, 0x01, 0xE8, 0xA4, 0x00, 0x03, 0x94, 0xAC + .byte 0xFF, 0x63, 0x2F, 0x30, 0x1D, 0x01, 0x87, 0x00, 0x8C, 0x01, 0x96, 0x00, 0x31, 0x04, 0x31, 0x04 + .byte 0xDE, 0x01, 0xE8, 0xA4, 0x00, 0x03, 0x94, 0xAC, 0xFF, 0x3F, 0x0F, 0x26, 0x45, 0x00, 0xED, 0x02 + .byte 0x0A, 0x02, 0xCB, 0x01, 0x15, 0x04, 0x15, 0x04, 0xDF, 0x01, 0x95, 0xC9, 0x01, 0x44, 0x64, 0xE6 + .byte 0xFF, 0x1A, 0x7F, 0x1C, 0x49, 0x00, 0x4E, 0x00, 0x53, 0x01, 0x66, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xE0, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x7F, 0x1C, 0x4D, 0x00, 0x4F, 0x00 + .byte 0x54, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xE1, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1B, 0x7F, 0x1C, 0x68, 0x00, 0x4D, 0x00, 0x52, 0x01, 0x65, 0x00, 0x28, 0x04, 0x28, 0x04 + .byte 0xE2, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x19, 0x7F, 0x1C, 0x61, 0x00, 0x52, 0x00 + .byte 0x57, 0x01, 0x69, 0x00, 0x2E, 0x04, 0x2E, 0x04, 0xE3, 0x01, 0xE5, 0x99, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x2C, 0x8F, 0x16, 0xFC, 0x00, 0xB5, 0x00, 0xAA, 0x01, 0x4B, 0x01, 0x3A, 0x04, 0x3A, 0x04 + .byte 0xE4, 0x01, 0x99, 0xC9, 0x01, 0x44, 0x64, 0xE6, 0xFF, 0x19, 0xCF, 0x26, 0x42, 0x00, 0xC8, 0x00 + .byte 0xBD, 0x01, 0x5D, 0x01, 0x24, 0x04, 0x24, 0x04, 0xE5, 0x01, 0xA0, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x1A, 0x2F, 0x24, 0x49, 0x00, 0x75, 0x00, 0x7A, 0x01, 0x86, 0x00, 0x27, 0x04, 0x27, 0x04 + .byte 0xE6, 0x01, 0xE3, 0x89, 0x00, 0x44, 0x64, 0xE4, 0xFF, 0x1A, 0x2F, 0x24, 0x4D, 0x00, 0x76, 0x00 + .byte 0x7B, 0x01, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xE7, 0x01, 0xE3, 0x89, 0x00, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x42, 0xAF, 0x2C, 0x1E, 0x01, 0x8E, 0x03, 0xAB, 0x02, 0x5B, 0x02, 0x2D, 0x04, 0x2D, 0x04 + .byte 0xE8, 0x01, 0x83, 0x59, 0x01, 0x44, 0x64, 0xE4, 0xFF, 0x42, 0x6F, 0x1E, 0x1E, 0x01, 0x26, 0x03 + .byte 0x43, 0x02, 0xFF, 0x01, 0x2D, 0x04, 0x2D, 0x04, 0xE9, 0x01, 0x90, 0xC9, 0x01, 0x44, 0x64, 0xE4 + .byte 0xFF, 0x04, 0x0F, 0x00, 0x00, 0x00, 0x8B, 0x00, 0x8F, 0x01, 0x03, 0x00, 0x2D, 0x04, 0x2D, 0x04 + .byte 0x00, 0x00, 0x00, 0xA6, 0x00, 0x02, 0x60, 0x00, 0xFF, 0x1A, 0x0F, 0x00, 0x4D, 0x00, 0x3A, 0x03 + .byte 0x57, 0x02, 0x03, 0x00, 0x27, 0x04, 0x27, 0x04, 0xEA, 0x01, 0x0F, 0xC9, 0x00, 0x44, 0x64, 0xE4 +_020F9E80: + .byte 0x0B, 0x03 +_020F9E82: + .byte 0x3F, 0x00, 0x06, 0x08 +_020F9E86: + .byte 0x3C, 0x00 +_020F9E88: + .byte 0xB7, 0x02 +_020F9E8A: + .byte 0x8D, 0x01 +_020F9E8C: + .byte 0x3C, 0x00 +_020F9E8E: + .byte 0xB7, 0x02 +_020F9E90: + .byte 0x8D, 0x01, 0x0C, 0x03, 0x45, 0x00, 0x08, 0x0D, 0x43, 0x00, 0x34, 0x02, 0x88, 0x01, 0x43, 0x00 + .byte 0x34, 0x02, 0x88, 0x01, 0x0D, 0x03, 0x9E, 0x00, 0x08, 0x0D, 0x49, 0x00, 0xF1, 0x01, 0x10, 0x01 + .byte 0x49, 0x00, 0xF1, 0x01, 0x10, 0x01, 0x0E, 0x03, 0xA6, 0x00, 0x08, 0x0D, 0x4A, 0x00, 0x9A, 0x01 + .byte 0xCD, 0x01, 0x4A, 0x00, 0x9A, 0x01, 0xCD, 0x01, 0x0F, 0x03, 0xEC, 0x00, 0x08, 0x0D, 0x4B, 0x00 + .byte 0xBB, 0x00, 0x72, 0x01, 0x4B, 0x00, 0xBB, 0x00, 0x72, 0x01, 0x10, 0x03, 0xB9, 0x00, 0x08, 0x0D + .byte 0x4C, 0x00, 0x60, 0x01, 0x71, 0x01, 0x4C, 0x00, 0x60, 0x01, 0x71, 0x01, 0x11, 0x03, 0xE2, 0x00 + .byte 0x08, 0x0D, 0x4D, 0x00, 0x10, 0x01, 0x02, 0x01, 0x4D, 0x00, 0x10, 0x01, 0x02, 0x01, 0x12, 0x03 + .byte 0x51, 0x00, 0x08, 0x0D, 0x4E, 0x00, 0x8D, 0x01, 0xB8, 0x00, 0x4E, 0x00, 0x8D, 0x01, 0xB8, 0x00 + .byte 0x13, 0x03, 0xF6, 0x00, 0x08, 0x0D, 0x57, 0x00, 0x16, 0x02, 0xB8, 0x00, 0x57, 0x00, 0x16, 0x02 + .byte 0xB8, 0x00, 0x14, 0x02, 0x58, 0x00, 0x08, 0x0D, 0x58, 0x00, 0x18, 0x02, 0x5A, 0x00, 0x58, 0x00 + .byte 0x18, 0x02, 0x5A, 0x00, 0x15, 0x03, 0x25, 0x01, 0x08, 0x0D, 0x59, 0x00, 0xA2, 0x02, 0xB1, 0x00 + .byte 0x59, 0x00, 0xA2, 0x02, 0xB1, 0x00, 0x16, 0x03, 0x02, 0x02, 0x08, 0x0D, 0x5A, 0x00, 0x34, 0x03 + .byte 0x0A, 0x01, 0x5A, 0x00, 0x34, 0x03, 0x0A, 0x01, 0x00, 0x02, 0x31, 0x00, 0x08, 0x0D, 0x31, 0x00 + .byte 0x09, 0x04, 0x6C, 0x01, 0x31, 0x00, 0x09, 0x04, 0x6C, 0x01, 0x01, 0x03, 0xF5, 0x01, 0x08, 0x0D + .byte 0x32, 0x00, 0x08, 0x04, 0x07, 0x01, 0x32, 0x00, 0x08, 0x04, 0x07, 0x01, 0x02, 0x03, 0xDB, 0x01 + .byte 0x08, 0x0D, 0x33, 0x00, 0x18, 0x04, 0x6B, 0x00, 0x33, 0x00, 0x18, 0x04, 0x6B, 0x00, 0x03, 0x03 + .byte 0xAC, 0x01, 0x08, 0x0D, 0x34, 0x00, 0x1D, 0x05, 0x84, 0x00, 0x34, 0x00, 0x1D, 0x05, 0x84, 0x00 + .byte 0x04, 0x03, 0xB2, 0x01, 0x08, 0x0D, 0x35, 0x00, 0x8A, 0x05, 0xEB, 0x00, 0x35, 0x00, 0x8A, 0x05 + .byte 0xEB, 0x00, 0x05, 0x03, 0x66, 0x01, 0x08, 0x0D, 0x36, 0x00, 0x11, 0x05, 0x27, 0x01, 0x36, 0x00 + .byte 0x11, 0x05, 0x27, 0x01, 0x06, 0x03, 0x89, 0x01, 0x08, 0x0D, 0x37, 0x00, 0xCF, 0x04, 0xEE, 0x00 + .byte 0x37, 0x00, 0xCF, 0x04, 0xEE, 0x00, 0x07, 0x03, 0xE2, 0x01, 0x08, 0x0D, 0x38, 0x00, 0xB9, 0x04 + .byte 0xB8, 0x01, 0x38, 0x00, 0xB9, 0x04, 0xB8, 0x01, 0x08, 0x02, 0xFC, 0x01, 0x08, 0x0D, 0x39, 0x00 + .byte 0x0F, 0x04, 0xF7, 0x01, 0x39, 0x00, 0x0F, 0x04, 0xF7, 0x01, 0x09, 0x03, 0x2C, 0x01, 0x06, 0x15 + .byte 0x3A, 0x00, 0x90, 0x03, 0xC9, 0x00, 0x3A, 0x00, 0x90, 0x03, 0xC9, 0x00, 0x0A, 0x03, 0x97, 0x01 + .byte 0x08, 0x0D, 0x3B, 0x00, 0x0E, 0x05, 0xF3, 0x00, 0x3B, 0x00, 0x0E, 0x05, 0xF3, 0x00, 0x1E, 0x03 + .byte 0x16, 0x02, 0x08, 0x0D, 0xAE, 0x00, 0x52, 0x00, 0x2F, 0x01, 0xAE, 0x00, 0x52, 0x00, 0x2F, 0x01 + .byte 0x1F, 0x03, 0x10, 0x02, 0x08, 0x0D, 0x9B, 0x01, 0x08, 0x00, 0x0F, 0x00, 0x5E, 0x00, 0xED, 0x00 + .byte 0x0B, 0x01, 0x23, 0x00, 0x18, 0x01, 0x08, 0x0D, 0x18, 0x01, 0x2A, 0x00, 0x17, 0x00, 0x27, 0x00 + .byte 0x6A, 0x01, 0x0B, 0x01, 0x21, 0x00, 0x2B, 0x01, 0x08, 0x0D, 0x1E, 0x00, 0x8D, 0x03, 0x29, 0x01 + .byte 0x1E, 0x00, 0x8D, 0x03, 0x29, 0x01, 0x1B, 0x01, 0xA9, 0x00, 0x08, 0x0D, 0x24, 0x00, 0xD4, 0x01 + .byte 0xA3, 0x01, 0x24, 0x00, 0xD4, 0x01, 0xA3, 0x01, 0x24, 0x01, 0xFF, 0x01, 0x08, 0x0D, 0x0B, 0x00 + .byte 0x8F, 0x04, 0x6B, 0x00, 0x0B, 0x00, 0x8F, 0x04, 0x6B, 0x00, 0x25, 0x01, 0xD2, 0x01, 0x08, 0x0D + .byte 0x12, 0x00, 0x92, 0x05, 0xA4, 0x00, 0x12, 0x00, 0x92, 0x05, 0xA4, 0x00 +_020FA09C: + .byte 0x01, 0x01, 0x01, 0x1F + .byte 0x02, 0x01, 0x02, 0x1D, 0x03, 0x0F, 0x0A, 0x0A, 0x0C, 0x03, 0x0C, 0x1F +_020FA0AC: + .byte 0x01, 0x04, 0x00, 0x00 +_020FA0B0: + .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00 +_020FA0B8: + .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 + .byte 0xFF, 0x00, 0x00, 0x00 +_020FA0C4: + .byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 + .byte 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 + .byte 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00 + .byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +_020FA0F8: + .byte 0xFD, 0xC8, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00 + .byte 0x45, 0xCA, 0x03, 0x02, 0x02, 0x00, 0x00, 0x00, 0x0D, 0xCF, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00 + .byte 0xA9, 0xD1, 0x03, 0x02, 0x04, 0x00, 0x00, 0x00, 0x45, 0xD2, 0x03, 0x02, 0x05, 0x00, 0x00, 0x00 + .byte 0x19, 0xD3, 0x03, 0x02, 0x06, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0x00, 0x00 + .byte 0x95, 0xD3, 0x03, 0x02, 0x08, 0x00, 0x00, 0x00, 0x89, 0xD4, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00 + .byte 0x01, 0xD5, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00, 0x01, 0xD5, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00 + .byte 0x01, 0xD5, 0x03, 0x02, 0x0E, 0x00, 0x00, 0x00, 0xCD, 0xD2, 0x03, 0x02 + .public _020FA15C +_020FA15C: + .word sub_0203DEA4, sub_0203DEBC, sub_0203DED4, 0xFFFFFFFF + .public _020FA16C +_020FA16C: + .word sub_0203DE74, sub_0203DEBC, sub_0203DED4, 0xFFFFFFFF +_020FA17C: + .byte 0x40, 0x00, 0x00, 0x00 + .byte 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 +_020FA190: + .byte 0x3C, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xB7, 0x02, 0x00, 0x00, 0x8D, 0x01, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00 +_020FA1A4: + .byte 0x00, 0xFF, 0x00, 0x00 +_020FA1A8: + .byte 0x01, 0x04, 0x00, 0x00 +_020FA1AC: + .byte 0x04, 0xFF, 0x00, 0x00 +_020FA1B0: + .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00 +_020FA1B8: + .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 + .byte 0xFF, 0x00, 0x00, 0x00 +_020FA1C4: + .word sub_020192D0, sub_0201935C, sub_02019490, SDK_OVERLAY_OVY_39_ID +_020FA1D4: + .word ov105_021E5900, ov105_021E59DC, ov105_021E5B14, SDK_OVERLAY_OVY_105_ID +_020FA1E4: + .word ov68_021E5900, ov68_021E5968, ov68_021E5A3C, SDK_OVERLAY_OVY_68_ID +_020FA1F4: + .word ov76_021E5900, ov76_021E5B60, ov76_021E5AA0, SDK_OVERLAY_OVY_76_ID +_020FA204: + .word ov64_021E5900, ov64_021E5A18, ov64_021E59C8, SDK_OVERLAY_OVY_64_ID +_020FA214: + .word ov63_0221BE20, ov63_0221BF88, ov63_0221BF28, SDK_OVERLAY_OVY_63_ID +_020FA224: + .word ov69_021E5900, ov69_021E5A34, ov69_021E6080, SDK_OVERLAY_OVY_69_ID +_020FA234: + .word ov122_021E82A8, ov122_021E8360, ov122_021E8308, SDK_OVERLAY_OVY_122_ID +_020FA244: + .word ov96_021E5900, ov96_021E5A40, ov96_021E5B88, SDK_OVERLAY_OVY_96_ID +_020FA254: + .word ov52_021E80C0, ov52_021E8248, ov52_021E82AC, SDK_OVERLAY_OVY_52_ID +_020FA264: + .word ov70_02238430, ov70_022385C0, ov70_022386F4, SDK_OVERLAY_OVY_70_ID +_020FA274: + .word ov61_021E5900, ov61_021E5A38, ov61_021E5F74, SDK_OVERLAY_OVY_61_ID +_020FA284: + .word ov18_021E5AA0, ov18_021E5B64, ov18_021E5B80, SDK_OVERLAY_OVY_18_ID +_020FA294: + .word ov50_021E5924, ov50_021E595C, ov50_021E59A8, SDK_OVERLAY_OVY_50_ID +_020FA2A4: + .word ov43_02229EE0, ov43_02229FB4, ov43_0222A0AC, SDK_OVERLAY_OVY_43_ID +_020FA2B4: + .word ov73_021E5900, ov73_021E5AB8, ov73_021E5BAC, SDK_OVERLAY_OVY_73_ID +_020FA2C4: + .word ov37_021E5900, ov37_021E5A84, ov37_021E5B94, SDK_OVERLAY_OVY_37_ID +_020FA2D4: + .word ov71_02246960, ov71_02246BB8, ov71_02246B58, SDK_OVERLAY_OVY_71_ID +_020FA2E4: + .word ov67_021E5900, ov67_021E5984, ov67_021E5968, SDK_OVERLAY_OVY_67_ID +_020FA2F4: + .word ov103_021EC940, ov103_021EC988, ov103_021EC9A4, SDK_OVERLAY_OVY_103_ID +_020FA304: + .word ov78_021E5900, ov78_021E59EC, ov78_021E5B24, SDK_OVERLAY_OVY_78_ID +_020FA314: + .word ov99_021E7818, ov99_021E794C, ov99_021E78F0, SDK_OVERLAY_OVY_99_ID +_020FA324: + .word ov99_021E8304, ov99_021E83F4, ov99_021E83AC, SDK_OVERLAY_OVY_99_ID +_020FA334: + .word ov72_02237E20, ov72_02237F9C, ov72_02238070, SDK_OVERLAY_OVY_72_ID +_020FA344: + .word ov99_021E5900, ov99_021E5A38, ov99_021E5A04, SDK_OVERLAY_OVY_99_ID +_020FA354: + .word ov54_021E5900, ov54_021E5B3C, ov54_021E5A10, SDK_OVERLAY_OVY_54_ID +_020FA364: + .word ov111_021E5900, ov111_021E59B8, ov111_021E5960, SDK_OVERLAY_OVY_111_ID +_020FA374: + .word ov58_022378E4, ov58_02237924, ov58_0223799C, SDK_OVERLAY_OVY_58_ID +_020FA384: + .word ov16_0220196C, ov16_022019B8, ov16_02201A04, SDK_OVERLAY_OVY_16_ID +_020FA394: + .word ov113_021E5900, ov113_021E5968, ov113_021E59C8, SDK_OVERLAY_OVY_113_ID +_020FA3A4: + .word ov110_021E5900, ov110_021E5974, ov110_021E59F4, SDK_OVERLAY_OVY_110_ID +_020FA3B4: + .word ov109_021E5900, ov109_021E5968, ov109_021E59F0, SDK_OVERLAY_OVY_109_ID +_020FA3C4: + .word ov108_021E8850, ov108_021E8904, ov108_021E88C4, SDK_OVERLAY_OVY_108_ID +_020FA3D4: + .word ov108_021E5900, ov108_021E5978, ov108_021E5948, SDK_OVERLAY_OVY_108_ID +_020FA3E4: + .word ov101_Radio_OvyInit, ov101_Radio_OvyExec, ov101_Radio_OvyExit, SDK_OVERLAY_OVY_101_ID +_020FA3F4: + .word ov100_021E642C, ov100_021E6520, ov100_021E65BC, SDK_OVERLAY_OVY_100_ID +_020FA404: + .word ov102_021E7740, ov102_021E77B8, ov102_021E7868, SDK_OVERLAY_OVY_102_ID +_020FA414: + .word ov14_021E5900, ov14_021E596C, ov14_021E5988, SDK_OVERLAY_OVY_14_ID +_020FA424: + .word ov99_021E677C, ov99_021E6888, ov99_021E6840, SDK_OVERLAY_OVY_99_ID +_020FA434: + .word ov55_021E5924, ov55_021E598C, ov55_021E5AE8, SDK_OVERLAY_OVY_55_ID +_020FA444: + .word ov73_021E7E4C, ov73_021E7FB8, ov73_021E808C, SDK_OVERLAY_OVY_72_ID +_020FA454: + .word ov104_021E5900, ov104_021E59E4, ov104_021E5B14, SDK_OVERLAY_OVY_104_ID +_020FA464: + .word ov15_021F9380, ov15_021F9608, ov15_021F982C, SDK_OVERLAY_OVY_15_ID +_020FA474: + .word sub_02097B78, sub_02097BAC, sub_02097BD0, SDK_OVERLAY_OVY_106_ID +_020FA484: + .word sub_0203E3A8, sub_0203E3AC, sub_0203E3C0, SDK_OVERLAY_OVY_12_ID +_020FA494: + .word ov121_021E5900, ov121_021E590C, ov121_021E59BC, SDK_OVERLAY_OVY_121_ID +_020FA4A4: + .byte 0xFA, 0x28, 0x07, 0x01, 0xB1, 0x01, 0xD2, 0x28, 0x08, 0x01, 0x13, 0x00 + .byte 0xC8, 0x28, 0x02, 0x00, 0xEC, 0x02, 0xA0, 0x28, 0x97, 0x00, 0xF6, 0x00, 0x6E, 0x28, 0xB8, 0x03 + .byte 0xD6, 0x02, 0x3C, 0x28, 0xDE, 0x02, 0xBC, 0x01, 0xD8, 0x27, 0x90, 0x00, 0xD1, 0x00, 0xA6, 0x27 + .byte 0xBB, 0x03, 0xDC, 0x02, 0x74, 0x27, 0xBA, 0x03, 0xDD, 0x02, 0x10, 0x27, 0x92, 0x00, 0xD3, 0x00 + .byte 0xDE, 0x26, 0x94, 0x00, 0x9A, 0x02, 0xAC, 0x26, 0x88, 0x00, 0x28, 0x00, 0x7A, 0x26, 0xA7, 0x00 + .byte 0x38, 0x01, 0x48, 0x26, 0xA6, 0x00, 0x2B, 0x00, 0xE4, 0x25, 0xA3, 0x00, 0x0A, 0x01, 0x80, 0x25 + .byte 0x95, 0x00, 0x28, 0x00, 0x1C, 0x25, 0x09, 0x01, 0xB7, 0x01, 0x54, 0x24, 0x8F, 0x00, 0xCC, 0x00 + .byte 0xF0, 0x23, 0xA4, 0x00, 0x0B, 0x01, 0x8C, 0x23, 0x00, 0x00, 0x0E, 0x00, 0x28, 0x23, 0x04, 0x00 + .byte 0x2E, 0x00, 0xC4, 0x22, 0xA5, 0x00, 0x0C, 0x01, 0x60, 0x22, 0x06, 0x01, 0xAB, 0x01, 0x40, 0x1F + .byte 0x91, 0x00, 0xD2, 0x00, 0x58, 0x1B, 0x8D, 0x00, 0xC7, 0x00, 0x88, 0x13, 0xB9, 0x03, 0x28, 0x00 + .byte 0xB8, 0x0B, 0xB9, 0x03, 0x28, 0x00, 0xF0, 0x0A, 0x96, 0x00, 0x17, 0x00, 0xC4, 0x09, 0x01, 0x00 + .byte 0x14, 0x00, 0xD0, 0x07, 0x03, 0x00, 0x28, 0x00 +_020FA558: + .byte 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE1, 0x00 + .byte 0x11, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x00 + .byte 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00 + .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x00, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x00 + .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6C, 0x00 + .byte 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x92, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0x93, 0x00 + .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x94, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x95, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x96, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x97, 0x00 + .byte 0x16, 0x00, 0x01, 0x00, 0x00, 0x00, 0x98, 0x00, 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9A, 0x00 + .byte 0x3B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x99, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9B, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9C, 0x00, 0x31, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9D, 0x00 + .byte 0x5D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00 + .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x61, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00 + .byte 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1C, 0x00 + .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1E, 0x00 + .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00 + .byte 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x21, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD3, 0x00 + .byte 0x4F, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD4, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD5, 0x00 + .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD6, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD7, 0x00 + .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00 + .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x16, 0x00, 0x01, 0x00, 0x00, 0x00, 0x34, 0x00 + .byte 0x1A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x35, 0x00, 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x43, 0x00 + .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x15, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B, 0x00 + .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x23, 0x00 + .byte 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9F, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA0, 0x00 + .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0D, 0x00 + .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x84, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00 + .byte 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x00 + .byte 0x12, 0x00, 0x01, 0x00, 0x00, 0x00, 0x41, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x00 + .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7E, 0x00 + .byte 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x80, 0x00 + .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x00 + .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00 + .byte 0x2D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x16, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x00 + .byte 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x87, 0x00, 0x39, 0x00, 0x01, 0x00, 0x00, 0x00, 0x88, 0x00 + .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x17, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x89, 0x00 + .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x42, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x56, 0x00 + .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x9E, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA1, 0x00 + .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x63, 0x00 + .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAB, 0x00 + .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAC, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAD, 0x00 + .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x49, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4A, 0x00 + .byte 0x4C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBF, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC1, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4B, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1A, 0x00 + .byte 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD1, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x27, 0x00 + .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE2, 0x00 + .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x29, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x82, 0x00 + .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x83, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2A, 0x00 + .byte 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2C, 0x00 + .byte 0x4D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x00 + .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8C, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8D, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2F, 0x00 + .byte 0x2D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x30, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8F, 0x00 + .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x90, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x31, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x32, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x33, 0x00 + .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x3E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x37, 0x00 + .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x24, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x25, 0x00 + .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x66, 0x00, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0x00 + .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, 0x47, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x51, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x52, 0x00 + .byte 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x53, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB5, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB6, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB7, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB8, 0x00 + .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4F, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x50, 0x00 + .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB9, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBA, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBB, 0x00 + .byte 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBC, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xBE, 0x00 + .byte 0x2F, 0x00, 0x01, 0x00, 0x00, 0x00, 0x54, 0x00, 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x67, 0x00 + .byte 0x5D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA8, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA2, 0x00 + .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA3, 0x00, 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA4, 0x00 + .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x31, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00 + .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x39, 0x00, 0x3D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3A, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x68, 0x00, 0x3C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3B, 0x00 + .byte 0x3A, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3D, 0x00 + .byte 0x2D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA9, 0x00, 0x30, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC5, 0x00 + .byte 0x26, 0x00, 0x01, 0x00, 0x00, 0x00, 0x69, 0x00, 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6A, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6B, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7A, 0x00 + .byte 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6D, 0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6E, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x86, 0x00, 0x31, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6F, 0x00 + .byte 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x70, 0x00, 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0x55, 0x00 + .byte 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x57, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD8, 0x00 + .byte 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD9, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDA, 0x00 + .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDC, 0x00 + .byte 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x37, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x00 + .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE3, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x91, 0x00 + .byte 0x5B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8A, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8B, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC4, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x71, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC2, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAE, 0x00 + .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xAF, 0x00, 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB0, 0x00 + .byte 0x5A, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB1, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x72, 0x00 + .byte 0x2F, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA6, 0x00, 0x5B, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA7, 0x00 + .byte 0x4E, 0x00, 0x01, 0x00, 0x00, 0x00, 0x58, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0x59, 0x00 + .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5B, 0x00 + .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5C, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD2, 0x00 + .byte 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDF, 0x00, 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB4, 0x00 + .byte 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB2, 0x00, 0x58, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB3, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCF, 0x00, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x00 + .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x73, 0x00, 0x17, 0x00, 0x01, 0x00, 0x00, 0x00, 0x74, 0x00 + .byte 0x38, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4D, 0x00 + .byte 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0xA5, 0x00 + .byte 0x27, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCD, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCA, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCB, 0x00 + .byte 0x18, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x2F, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDE, 0x00 + .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xCE, 0x00, 0x19, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5D, 0x00 + .byte 0x32, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5E, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x5F, 0x00 + .byte 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x33, 0x00, 0x01, 0x00, 0x00, 0x00, 0x75, 0x00 + .byte 0x59, 0x00, 0x01, 0x00, 0x00, 0x00, 0x76, 0x00, 0x34, 0x00, 0x01, 0x00, 0x00, 0x00, 0x77, 0x00 + .byte 0x1B, 0x00, 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDD, 0x00 + .byte 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x79, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7B, 0x00 + .byte 0x5C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7C, 0x00, 0xE2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x26, 0x00 + .byte 0xE3, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE5, 0x00, 0x35, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE6, 0x00 +_020FAC90: + .byte 0x55, 0x03, 0x00, 0x00 +_020FAC94: + .byte 0x03, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x1F, 0x02 +_020FAC9C: + .byte 0x01, 0x00, 0x00, 0x00 + .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00 +_020FACB0: + .byte 0x14, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00 + .byte 0x19, 0x00, 0x00, 0x00 +_020FACC4: + .byte 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07 + .byte 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07 +_020FACDC: + .byte 0x00, 0x30, 0x08, 0x00 + .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 + .byte 0x00, 0x10, 0x04, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x04, 0x00 +gScriptCommandTable: ; 0x020FAD00 + .word sub_02040890 + .word sub_02040894 + .word sub_02040898 + .word sub_020408A4 + .word sub_02040918 + .word sub_02040930 + .word sub_0204094C + .word sub_02040968 + .word sub_02040980 + .word sub_0204099C + .word sub_020409BC + .word sub_020409E8 + .word sub_02040A18 + .word sub_02040A40 + .word sub_02040A68 + .word sub_02040A90 + .word sub_02040AAC + .word sub_02040ACC + .word sub_02040AF8 + .word sub_02040B30 + .word sub_02040B68 + .word sub_02040BFC + .word sub_02040C2C + .word sub_02040C44 + .word sub_02040C7C + .word sub_02040CAC + .word sub_02040CE0 + .word sub_02040CF8 + .word sub_02040D04 + .word sub_02040D38 + .word sub_02040D6C + .word sub_02040D84 + .word sub_02040D9C + .word sub_02040DF4 + .word sub_02040E1C + .word sub_02040DB8 + .word sub_02040E44 + .word sub_02040E68 + .word sub_02040E8C + .word sub_02040EB4 + .word sub_02040EE4 + .word sub_02040F14 + .word sub_02040F38 + .word sub_02040F68 + .word ov01_021EF050 + .word ov01_021EF31C + .word ov01_021EF35C + .word ov01_021EF3E0 + .word sub_02040F94 + .word sub_02040FF0 + .word sub_02041064 + .word sub_020410E0 + .word sub_02041110 + .word sub_02041168 + .word sub_020411A4 + .word sub_02041328 + .word sub_020413D4 + .word sub_02041410 + .word sub_0204142C + .word sub_0204146C + .word sub_020415C4 + .word sub_02041674 + .word sub_020411D8 + .word sub_02041684 + .word sub_020417EC + .word sub_02041808 + .word sub_02041824 + .word sub_02041890 + .word sub_02041950 + .word sub_0204196C + .word sub_02041988 + .word sub_020419E8 + .word sub_02041A98 + .word sub_02049228 + .word sub_02049244 + .word sub_02049260 + .word sub_020492A0 + .word sub_020492E0 + .word sub_02049304 + .word sub_02049320 + .word sub_02049134 + .word sub_02049144 + .word sub_02049158 + .word sub_02049170 + .word sub_02049188 + .word sub_020491C4 + .word sub_020491E8 + .word sub_02049204 + .word sub_02049214 + .word sub_02049344 + .word sub_0204937C + .word sub_020493B4 + .word sub_020493C0 + .word sub_020493D4 + .word sub_02041B04 + .word sub_02041C98 + .word sub_02041D40 + .word sub_02041F50 + .word sub_02041F60 + .word sub_02041F8C + .word sub_02041FB8 + .word sub_02042000 + .word sub_02042034 + .word sub_020420CC + .word sub_0204219C + .word sub_020422B4 + .word sub_020422F8 + .word sub_02042394 + .word sub_02042478 + .word sub_020424AC + .word sub_0204CA50 + .word sub_0204CA74 + .word sub_0204CAC8 + .word ov01_02203138 + .word ov01_02203188 + .word ov01_022031A0 + .word ov20_022598C0 + .word ov22_0225991C + .word ov22_02259934 + .word ov22_02259960 + .word ov22_0225998C + .word ov22_022599B8 + .word ov22_02259ADC + .word ov22_02259B08 + .word ov22_02259B34 + .word sub_0204E9D8 + .word sub_0204EA30 + .word sub_0204EA88 + .word sub_0204EAE0 + .word sub_0204EB7C + .word sub_0204EBB0 + .word sub_02043964 + .word ov01_021EF41C + .word ov01_02202674 + .word ov01_022026B4 + .word ov01_0220271C + .word sub_02042530 + .word sub_0204D088 + .word sub_0204D248 + .word sub_0204D2D0 + .word sub_0204D328 + .word sub_0204D3CC + .word sub_020428D8 + .word sub_020431E4 + .word sub_02046F34 + .word sub_02046F6C + .word sub_02046FC8 + .word sub_02046FFC + .word sub_020472C4 + .word sub_020472E8 + .word sub_02042A10 + .word sub_02042AB0 + .word sub_02042AC0 + .word sub_02042ACC + .word sub_02042D00 + .word sub_02042D58 + .word sub_02042E48 + .word sub_02042E5C + .word sub_02042F04 + .word sub_02042F5C + .word sub_02042F78 + .word sub_02042F88 + .word sub_02042F98 + .word sub_02042FC4 + .word sub_02042FDC + .word sub_02043044 + .word sub_020430A4 + .word sub_020430C4 + .word sub_02049460 + .word sub_0204952C + .word sub_0204959C + .word sub_020495C4 + .word sub_020431B4 + .word sub_02043214 + .word sub_02043400 + .word sub_02043448 + .word sub_0204346C + .word sub_020435E8 + .word sub_02043618 + .word sub_02043648 + .word sub_02043678 + .word sub_020436C4 + .word sub_020436F4 + .word sub_02043724 + .word sub_020437B4 + .word sub_020437E4 + .word sub_02043884 + .word sub_0204389C + .word sub_020438C4 + .word sub_020438DC + .word sub_02048414 + .word sub_02048448 + .word sub_0204846C + .word sub_02048490 + .word sub_02048510 + .word sub_02048548 + .word sub_02048580 + .word sub_020485BC + .word sub_020485F4 + .word sub_020486F0 + .word sub_02048794 + .word sub_020487CC + .word sub_02048818 + .word sub_020488A4 + .word sub_020488F4 + .word sub_02048944 + .word sub_02043938 + .word sub_02048994 + .word sub_020489CC + .word sub_020489F4 + .word sub_02048A1C + .word sub_020438EC + .word sub_02049618 + .word sub_02049648 + .word sub_02043990 + .word sub_02049750 + .word sub_020497D8 + .word sub_02049860 + .word sub_02049894 + .word sub_020498C8 + .word sub_020498D4 + .word sub_02049904 + .word sub_02049980 + .word sub_020499AC + .word sub_020499D8 + .word sub_02049A00 + .word sub_02043A28 + .word sub_02043AC0 + .word sub_02043B58 + .word sub_02043B64 + .word sub_02043B70 + .word sub_02043BA0 + .word sub_0206BB2C + .word sub_0206BB5C + .word sub_0206BBAC + .word sub_0206BC2C + .word sub_0206BC64 + .word sub_0206BC8C + .word sub_0204DB3C + .word sub_0204DBA0 + .word sub_02043BA4 + .word sub_02043C24 + .word sub_02043C54 + .word sub_02043CB4 + .word sub_02043CE4 + .word sub_02043D14 + .word sub_02043D44 + .word sub_02043D74 + .word sub_02043D78 + .word sub_02043E08 + .word sub_02043F0C + .word sub_02043F48 + .word sub_02043F54 + .word sub_02043F70 + .word sub_02043FC4 + .word sub_02042DC0 + .word sub_02042DFC + .word sub_02044024 + .word sub_02044070 + .word sub_0204407C + .word sub_020440AC + .word sub_020440E4 + .word sub_0204435C + .word sub_0204436C + .word sub_02044124 + .word sub_02044190 + .word sub_020441A0 + .word sub_020441D8 + .word sub_02044270 + .word sub_020442FC + .word sub_02044348 + .word sub_02044380 + .word sub_020443BC + .word sub_02044418 + .word sub_020442AC + .word sub_02048060 + .word sub_02048158 + .word sub_02048194 + .word sub_020481DC + .word sub_020445C0 + .word sub_020445CC + .word sub_020445F8 + .word sub_02044628 + .word sub_02044640 + .word sub_0204468C + .word sub_0204469C + .word sub_02044480 + .word sub_02044490 + .word sub_020444CC + .word sub_0204458C + .word sub_0204E610 + .word sub_0204E640 + .word sub_0204E654 + .word sub_0204E684 + .word sub_0204E6A0 + .word sub_0204E6E8 + .word sub_0204E748 + .word sub_0204E71C + .word sub_0204E774 + .word sub_0204E788 + .word sub_0204E7B4 + .word sub_0204E7C8 + .word sub_0204E838 + .word sub_0204E864 + .word sub_0204E878 + .word sub_0204E88C + .word sub_0204E8B8 + .word sub_02044954 + .word sub_020449AC + .word sub_020449C4 + .word sub_020449DC + .word sub_020449F4 + .word sub_0204CB5C + .word sub_0204CB7C + .word sub_02044A0C + .word sub_02044A1C + .word sub_02044A44 + .word sub_02044A6C + .word sub_02044AA8 + .word sub_02044AB8 + .word sub_02044AE0 + .word sub_02044AF0 + .word sub_02044B10 + .word sub_02044B40 + .word sub_02044B50 + .word sub_02044B60 + .word sub_02044B70 + .word sub_02044B80 + .word sub_02044B9C + .word sub_02044BB8 + .word sub_02044BC8 + .word sub_02044BD8 + .word sub_0204D95C + .word sub_020430D4 + .word sub_02043124 + .word sub_020446AC + .word sub_02048A7C + .word sub_02048AF4 + .word sub_020446EC + .word sub_0204473C + .word sub_020447CC + .word sub_02044804 + .word sub_0204483C + .word sub_0204488C + .word sub_020448DC + .word sub_02041728 + .word sub_02041758 + .word sub_02044928 + .word sub_02041018 + .word sub_02042574 + .word sub_020425D4 + .word sub_020425F8 + .word sub_02042860 + .word sub_0204280C + .word sub_0204D180 + .word sub_0204D1DC + .word sub_0204D988 + .word sub_0204D9E0 + .word sub_0204DA68 + .word sub_0204DAE4 + .word sub_0204CA98 + .word sub_0204CBF8 + .word sub_02045394 + .word sub_020453D0 + .word sub_0204D154 + .word sub_0204CBAC + .word sub_0204CBC4 + .word sub_0204CC58 + .word sub_0204CB0C + .word sub_02044C54 + .word sub_02043164 + .word sub_0204CCAC + .word sub_0204CCFC + .word sub_0204CD34 + .word sub_02044C64 + .word sub_02044C98 + .word sub_02044CCC + .word sub_02044CFC + .word sub_02044D28 + .word sub_02044D68 + .word sub_02044D8C + .word sub_02044DC4 + .word sub_0204D6C0 + .word sub_0204D708 + .word sub_0204D7D8 + .word sub_0204CD74 + .word sub_0204236C + .word sub_0204CE00 + .word sub_0204CE30 + .word sub_0204DF54 + .word ov20_02259A88 + .word ov20_02259B40 + .word ov20_02259BF4 + .word ov20_02259B88 + .word sub_0204EBE8 + .word sub_0204EC30 + .word sub_0204DBE8 + .word sub_0204DC90 + .word sub_0204DCD4 + .word sub_02048B64 + .word sub_0204E8CC + .word sub_0204E928 + .word sub_0204E980 + .word sub_02044DFC + .word sub_02044E40 + .word sub_02044E9C + .word sub_02044F00 + .word sub_02044F30 + .word sub_02042E8C + .word sub_02049CD8 + .word sub_02049CA8 + .word sub_02049CE8 + .word sub_02049D04 + .word sub_02049FC8 + .word sub_0204A048 + .word sub_0204A070 + .word sub_0204A098 + .word sub_0204A184 + .word sub_0204A230 + .word sub_0204A27C + .word sub_02045040 + .word sub_02045060 + .word sub_020450B8 + .word sub_02044F74 + .word sub_02044FAC + .word sub_02044FE4 + .word sub_0204DD34 + .word sub_02045028 + .word sub_0204DEE4 + .word ov20_022598C0 + .word sub_02047060 + .word sub_020470F4 + .word ov21_0225990C + .word ov21_02259960 + .word sub_0204D4D0 + .word sub_0204D48C + .word sub_02042A20 + .word sub_02040900 + .word ov01_021EF064 + .word ov01_021EF0A4 + .word ov01_021EF0F0 + .word ov01_021EF154 + .word ov01_021EF194 + .word ov01_021EF1E0 + .word ov01_021EF268 + .word sub_02043548 + .word sub_02043574 + .word sub_02045188 + .word sub_020434DC + .word sub_02043538 + .word sub_02042E2C + .word sub_02042AFC + .word sub_02042B1C + .word sub_02042C2C + .word sub_02042CA8 + .word ov01_021EF488 + .word sub_0204523C + .word sub_0204D5C0 + .word sub_0204D634 + .word sub_02045230 + .word sub_02047120 + .word sub_02047168 + .word sub_0204720C + .word sub_02045254 + .word sub_02045264 + .word sub_02049A6C + .word sub_0204EC7C + .word sub_0204ED3C + .word sub_0204ED7C + .word sub_0204EDDC + .word sub_0204527C + .word sub_020452B0 + .word sub_020452E0 + .word sub_02045340 + .word sub_02045374 + .word sub_02045428 + .word sub_0204542C + .word sub_02045440 + .word sub_0204E150 + .word sub_0204E1C4 + .word sub_0204E26C + .word sub_0204E2D8 + .word sub_02048BCC + .word sub_020454A4 + .word sub_02045540 + .word sub_02045568 + .word sub_02040894 + .word sub_02045588 + .word sub_020455B0 + .word sub_0204BDA4 + .word sub_0204EE20 + .word sub_0204EE38 + .word sub_020432FC + .word sub_0204335C + .word sub_020433BC + .word sub_020455F0 + .word sub_0204D8A0 + .word sub_0204D8F0 + .word sub_0204560C + .word sub_020456D8 + .word sub_02045780 + .word sub_0204579C + .word sub_020457B8 + .word sub_02048EE0 + .word sub_02048F10 + .word sub_0204908C + .word sub_02048738 + .word sub_0204583C + .word sub_0204C874 + .word sub_0204C8D4 + .word sub_0204C91C + .word sub_0204C9C0 + .word sub_02045868 + .word sub_0204588C + .word sub_020458A4 + .word sub_020458CC + .word sub_02048B2C + .word sub_020458EC + .word sub_0204592C + .word sub_020459AC + .word sub_02045A60 + .word sub_02045A74 + .word sub_02045A88 + .word sub_02045AAC + .word sub_02045B40 + .word sub_02045BA4 + .word sub_02045BCC + .word ov01_021EF2E0 + .word sub_02045C64 + .word sub_0204D8C8 + .word sub_02045C84 + .word sub_02045CC4 + .word ov22_02259A10 + .word ov22_02259A9C + .word sub_02045CFC + .word sub_0204D564 + .word sub_02045D28 + .word sub_02045D6C + .word sub_02045D7C + .word sub_02045E1C + .word sub_02045DE8 + .word sub_0204863C + .word sub_0204D840 + .word sub_02045E54 + .word sub_020493E4 + .word sub_02045EA8 + .word sub_02045ED8 + .word sub_02042BAC + .word sub_02042C44 + .word sub_02042C5C + .word sub_02045F18 + .word sub_02045F80 + .word sub_02045FC4 + .word sub_02046038 + .word sub_0204A2EC + .word sub_0204A31C + .word sub_0204A360 + .word sub_0204A3A4 + .word sub_02044534 + .word sub_0204184C + .word sub_02046078 + .word ov01_02201A50 + .word sub_020496DC + .word sub_02041B74 + .word sub_02046108 + .word sub_02046130 + .word sub_020425A4 + .word sub_0204E5BC + .word sub_0204615C + .word ov22_022599E4 + .word ov22_02259A50 + .word sub_020461A0 + .word ov01_02202648 + .word sub_02046290 + .word sub_020424E8 + .word sub_0204910C + .word sub_020462A8 + .word sub_020462D8 + .word sub_020462E4 + .word sub_020462F0 + .word sub_02048C10 + .word sub_02041E84 + .word sub_02046300 + .word sub_02046360 + .word sub_0204E338 + .word sub_020418DC + .word sub_02044230 + .word sub_02044674 + .word sub_02049950 + .word sub_02043E5C + .word sub_0204639C + .word sub_02043870 + .word ov01_021EF398 + .word sub_020463C4 + .word sub_020463F4 + .word sub_02046420 + .word sub_02046B1C + .word sub_02046B48 + .word sub_02046B64 + .word sub_02046BB4 + .word sub_02046BC4 + .word sub_02046BDC + .word sub_02046CB4 + .word sub_02046CF0 + .word sub_02046D10 + .word sub_02046D5C + .word sub_02046DA8 + .word sub_02046DF8 + .word sub_02046E38 + .word sub_02046E5C + .word sub_02046E80 + .word sub_02046E9C + .word sub_02045310 + .word sub_0204723C + .word sub_0204727C + .word sub_02047304 + .word sub_0204731C + .word sub_02047348 + .word ov01_02202308 + .word sub_0204E7DC + .word sub_0204E808 + .word sub_02047358 + .word sub_020473D8 + .word sub_0204BC98 + .word sub_0204BCCC + .word sub_0204BD04 + .word sub_02048C80 + .word sub_02046438 + .word sub_0204EE50 + .word sub_020432A0 + .word sub_020432CC + .word sub_020464E0 + .word sub_0204DFE4 + .word sub_0204EF40 + .word sub_0204F1AC + .word sub_02042644 + .word sub_0204F174 + .word sub_0204F8DC + .word sub_0204FAD4 + .word sub_020426C4 + .word sub_0204F9DC + .word sub_02043FEC + .word sub_02043FFC + .word sub_0204FE78 + .word sub_02050014 + .word sub_02042768 + .word sub_0204FF78 + .word sub_0204E0BC + .word ov01_02200AF0 + .word sub_02046554 + .word sub_02046584 + .word sub_020465A0 + .word ov01_02202B00 + .word ov01_02202E68 + .word ov01_02202B78 + .word ov01_02202BD0 + .word ov01_02202C28 + .word ov01_022011D4 + .word sub_020483D8 + .word ov01_02201424 + .word sub_02048C48 + .word sub_0204869C + .word sub_020465FC + .word sub_02046674 + .word sub_02049418 + .word sub_0204941C + .word sub_02049440 + .word sub_020466A8 + .word sub_020484D8 + .word sub_0204EB38 + .word ov01_02201594 + .word ov01_0220178C + .word ov01_022017DC + .word sub_020466E0 + .word ov01_02201470 + .word ov01_02201518 + .word ov01_02201844 + .word sub_02041A48 + .word sub_02042110 + .word sub_02042184 + .word sub_020468F4 + .word sub_02042CE0 + .word sub_02046914 + .word sub_02049A44 + .word sub_02042948 + .word sub_02044BE8 + .word sub_02043EB8 + .word sub_02045818 + .word sub_0204E3CC + .word ov01_02201304 + .word sub_0204CFB8 + .word sub_02046970 + .word sub_0204F500 + .word sub_0204F6D0 + .word sub_0204F778 + .word sub_02041A0C + .word sub_020469B4 + .word sub_0204F7FC + .word sub_02046A1C + .word ov01_0220188C + .word ov01_0220192C + .word sub_0204E470 + .word ov01_0220197C + .word ov01_02201990 + .word sub_0204512C + .word sub_02045160 + .word sub_02043008 + .word ov01_022019B0 + .word ov01_022019F0 + .word ov01_02201A40 + .word ov03_02256B88 + .word sub_02047414 + .word sub_02047424 + .word sub_0204749C + .word ov01_02201B14 + .word sub_0204CE60 + .word ov03_0225894C + .word ov03_02258978 + .word ov03_02258998 + .word ov03_022589D4 + .word ov03_02258A18 + .word ov03_02258BDC + .word sub_020474D8 + .word sub_02047518 + .word ov01_02201B40 + .word ov01_02201C08 + .word ov01_02201C60 + .word sub_02047570 + .word sub_0204759C + .word sub_020475C0 + .word sub_020475F0 + .word sub_02047634 + .word sub_02047644 + .word sub_02047664 + .word sub_0204769C + .word ov01_02201C70 + .word ov01_02201C9C + .word ov01_02201CB4 + .word ov01_02201CE0 + .word ov01_02201D1C + .word ov01_02201D4C + .word ov01_02201DA4 + .word ov01_02203094 + .word ov01_02201F10 + .word ov01_02201F30 + .word ov01_02202480 + .word sub_020476B4 + .word sub_0204771C + .word sub_02047790 + .word sub_020477F8 + .word sub_02047814 + .word sub_02047830 + .word sub_02047888 + .word sub_02047AE8 + .word sub_02047B38 + .word sub_02047B5C + .word sub_02047B6C + .word sub_02047B7C + .word sub_02047B8C + .word sub_02047BA4 + .word sub_02047BB4 + .word sub_02047BC4 + .word sub_02047BDC + .word sub_02047BF4 + .word sub_02047C04 + .word sub_02047C14 + .word sub_02047C24 + .word sub_02047C34 + .word sub_02047C44 + .word sub_02047C54 + .word ov01_0220205C + .word sub_02048218 + .word sub_02048298 + .word sub_02047558 + .word ov01_02201A18 + .word ov01_02201AB8 + .word ov01_022020CC + .word ov01_022021AC + .word ov01_022021F8 + .word ov01_0220233C + .word ov01_02202430 + .word sub_0204DDE4 + .word sub_0204812C + .word sub_02047C64 + .word sub_02047C80 + .word ov01_02202930 + .word ov01_02202980 + .word ov01_022029B0 + .word ov01_02202A28 + .word ov01_02202A70 + .word ov01_02202ABC + .word ov03_02258C00 + .word ov03_02258CDC + .word sub_02047964 + .word sub_02047CBC + .word ov01_02205164 + .word ov01_022051B4 + .word ov01_022051CC + .word sub_02047CFC + .word sub_02047D24 + .word sub_02047D58 + .word sub_02047D7C + .word sub_02047DB0 + .word sub_02047DC8 + .word sub_02046FAC + .word sub_02047E14 + .word sub_02047E20 + .word sub_0206DC50 + .word ov01_022053EC + .word ov25_02259A30 + .word sub_02047E30 + .word ov01_022024B8 + .word ov01_022024FC + .word sub_0204C83C + .word sub_02047E40 + .word sub_02047778 + .word sub_02047E54 + .word sub_02047E64 + .word sub_02047E7C + .word sub_02047E8C + .word sub_02047E9C + .word ov01_02202510 + .word sub_02047EB4 + .word sub_02047EC4 + .word sub_02047F14 + .word ov01_022025A8 + .word ov01_022025EC + .word sub_0204E4E0 + .word sub_0204E528 + .word sub_02047F54 + .word sub_02047F84 + .word sub_02047FB4 + .word sub_02047FD4 + .word sub_02048004 + .word sub_020482F4 + .word sub_0204839C + .word ov01_02202834 + .word sub_0204802C + .word sub_02047A7C + .word ov01_02202908 + .word sub_02043598 + .word sub_02041AC4 + .word sub_02041AE4 + .word sub_02048CBC + .word sub_02048CF4 + .word sub_02048D2C + .word sub_02048D74 + .word sub_02048DBC + .word sub_02048DF0 + .word sub_02048E28 + .word sub_02048E60 + .word sub_02048E98 + .word sub_02048EB8 diff --git a/global.inc b/global.inc index f22ff866b..613acd12b 100644 --- a/global.inc +++ b/global.inc @@ -27317,7 +27317,7 @@ .public sub_020D48B4 .public MI_Copy36B .public sub_020D4968 -.public sub_020D4A50 +.public MIi_CpuCopy8 .public sub_020D4BD0 .public MI_UncompressLZ8 .public sub_020D4D5C @@ -28971,3 +28971,4 @@ .public sub_02055408 .public sub_020669F0 .public sub_0206D328 +.public sub_0202ADEC diff --git a/lib/asm/nitro.s b/lib/asm/nitro.s index 2a8380799..51bfa937b 100644 --- a/lib/asm/nitro.s +++ b/lib/asm/nitro.s @@ -11371,13 +11371,13 @@ _020D3C3C: .word 0x00000800 arm_func_start OS_GetMacAddress OS_GetMacAddress: ; 0x020D3C40 - ldr ip, _020D3C54 ; =sub_020D4A50 + ldr ip, _020D3C54 ; =MIi_CpuCopy8 mov r1, r0 ldr r0, _020D3C58 ; =0x027FFCF4 mov r2, #6 bx ip .align 2, 0 -_020D3C54: .word sub_020D4A50 +_020D3C54: .word MIi_CpuCopy8 _020D3C58: .word 0x027FFCF4 arm_func_end OS_GetMacAddress @@ -12528,8 +12528,8 @@ _020D4A38: bx lr arm_func_end MIi_CpuFill8 - arm_func_start sub_020D4A50 -sub_020D4A50: ; 0x020D4A50 + arm_func_start MIi_CpuCopy8 +MIi_CpuCopy8: ; 0x020D4A50 cmp r2, #0 beq _020D4A5C b _020D4A60 @@ -12653,7 +12653,7 @@ _020D4BB4: orr r0, r2, r0 strh r0, [r1] bx lr - arm_func_end sub_020D4A50 + arm_func_end MIi_CpuCopy8 thumb_func_start sub_020D4BD0 sub_020D4BD0: ; 0x020D4BD0 @@ -15687,12 +15687,12 @@ _020D71C8: ldr r0, [sp] mov r1, r5 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r7, r8 ldr r0, _020D733C ; =_02110C98 add r1, r5, r1 mov r2, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, sp, #4 mov r1, sb bl sub_020D6B60 @@ -15727,7 +15727,7 @@ _020D7254: add r0, sp, #0x60 mov r2, r6 sub r1, r1, r6 - bl sub_020D4A50 + bl MIi_CpuCopy8 sub r4, r4, r6 b _020D7288 _020D7278: @@ -15769,7 +15769,7 @@ _020D72D8: add r0, sp, #0x60 mov r2, sb sub r1, r1, sb - bl sub_020D4A50 + bl MIi_CpuCopy8 sub r4, r4, sb b _020D7324 _020D7310: @@ -15880,7 +15880,7 @@ sub_020D7448: ; 0x020D7448 ldr r0, [r0, #0x28] add r0, r0, r2 mov r2, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020D7448 @@ -15892,7 +15892,7 @@ sub_020D7464: ; 0x020D7464 mov r0, r1 add r1, ip, r2 mov r2, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020D7464 @@ -15902,7 +15902,7 @@ sub_020D7484: ; 0x020D7484 stmdb sp!, {r3, lr} mov r0, r2 mov r2, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 ldmia sp!, {r3, pc} arm_func_end sub_020D7484 @@ -17478,7 +17478,7 @@ FS_LoadOverlayInfo: ; 0x020D88C0 mov r1, r5 add r0, ip, r3 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, sp, #0x18 str r4, [r5, #0x20] bl FS_InitFile @@ -17621,7 +17621,7 @@ FSi_CompareDigest: ; 0x020D8AD8 ldr r2, _020D8B68 ; =_02110CA0 add r1, sp, #4 ldmia r2, {r0, r2} - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r3, _020D8B68 ; =_02110CA0 mov r1, r6 ldr ip, [r3, #4] @@ -17899,14 +17899,14 @@ sub_020D8E40: ; 0x020D8E40 add r1, r6, #0x18 mov r0, r5 add r1, r1, ip - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020D8E94: add r1, r6, #0x18 mov r0, r5 mov r2, r7 add r1, r1, ip - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r6 bl sub_020D8FC0 sub r4, r4, r7 @@ -17919,7 +17919,7 @@ _020D8EC8: mov r0, r7 mov r2, r5 add r1, r6, #0x18 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r6 add r7, r7, #0x40 bl sub_020D8FC0 @@ -17931,7 +17931,7 @@ _020D8EF0: ldmeqia sp!, {r4, r5, r6, r7, r8, pc} mov r0, r7 add r1, r6, #0x18 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_020D8E40 @@ -17978,7 +17978,7 @@ _020D8F88: mov r0, r4 mov r1, r5 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r4 mov r1, #0 mov r2, #0x58 @@ -18287,7 +18287,7 @@ sub_020D93C4: ; 0x020D93C4 mov r0, sb mov r2, r4 add r1, r6, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _020D9514 ; =_02110E70 mov r0, sl ldr r3, [r1] @@ -18303,7 +18303,7 @@ _020D945C: mov r0, sb mov r2, r8 add r1, r6, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sl, #0x1c] add r0, r0, r8 str r0, [sl, #0x1c] @@ -18331,7 +18331,7 @@ _020D94C0: mov r0, sb mov r1, r6 mov r2, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r3, [r4] mov r0, sl mov r1, r6 @@ -18348,7 +18348,7 @@ _020D94F4: mov r0, sb mov r1, r6 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 _020D9514: .word _02110E70 @@ -22286,7 +22286,7 @@ sub_020DC7A8: ; 0x020DC7A8 ldr r0, _020DC8A8 ; =0x027FFE00 mov r2, #0x160 sub r1, r0, #0x380 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020DC81C: mov r2, #0 mov r0, #4 @@ -22773,7 +22773,7 @@ _020DCE3C: ldr r0, [sb, #0x1c] mov r1, r6 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r6 mov r1, r8 bl DC_FlushRange @@ -22813,7 +22813,7 @@ _020DCEC8: ldr r1, [sb, #0x20] mov r0, r6 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020DCEE0: ldr r0, [sb, #0x1c] add r0, r0, r8 @@ -23068,7 +23068,7 @@ sub_020DD1D4: ; 0x020DD1D4 ldr r1, [r4, #0x20] mov r2, r5 add r0, r0, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, [r4, #0x1c] ldr r1, [r4, #0x20] ldr r0, [r4, #0x24] @@ -24604,7 +24604,7 @@ sub_020DE5E4: ; 0x020DE5E4 mov r0, r6 mov r1, r5 mov r2, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r5 mov r1, r4 bl sub_020D2878 @@ -24902,7 +24902,7 @@ _020DE988: ldr r1, _020DEB00 ; =0x021E4284 mov r2, #6 strh r3, [ip, #0x8c] - bl sub_020D4A50 + bl MIi_CpuCopy8 cmp fp, #0 mov r2, #0x18 beq _020DEA40 @@ -26023,7 +26023,7 @@ _020DF884: strh r3, [sp, #8] ldrh r3, [r4, #8] strh r3, [sp, #0xa] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrh r2, [r4, #0x10] add r1, sp, #0x16 add r0, r4, #0x14 @@ -26033,7 +26033,7 @@ _020DF884: strh r3, [sp, #0x36] ldrh r3, [r4, #0x12] strh r3, [sp, #0x14] - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, sp, #0 mov r1, #0x3c bl sub_020DE5E4 @@ -26101,7 +26101,7 @@ sub_020DF94C: ; 0x020DF94C beq _020DF9E4 add r1, sp, #8 mov r0, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _020DF9F0 _020DF9E4: add r0, sp, #8 @@ -26556,7 +26556,7 @@ sub_020DFFBC: ; 0x020DFFBC add r1, sp, #8 mov r0, r6 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 str r5, [sp] str r4, [sp, #4] ldr r2, [sp, #8] diff --git a/lib/asm/nnsys.s b/lib/asm/nnsys.s index 9c330eb66..73e142b4f 100644 --- a/lib/asm/nnsys.s +++ b/lib/asm/nnsys.s @@ -26161,7 +26161,7 @@ _020CA4DC: add r0, r5, #0x3c mov r2, r6 add r1, r0, r1, lsl #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r2, r6 add r0, r5, #0x3c mov r1, #0 diff --git a/lib/asm/sdk.s b/lib/asm/sdk.s index a879bce7f..63aa1f00c 100644 --- a/lib/asm/sdk.s +++ b/lib/asm/sdk.s @@ -6925,7 +6925,7 @@ sub_0209E430: ; 0x0209E430 ldr r0, _0209E4F0 ; =0x021D43D4 mov r1, r4 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _0209E4F4 ; =0x000007FF ldr r3, [r4] sub r0, r1, #0x800 @@ -6937,7 +6937,7 @@ sub_0209E430: ; 0x0209E430 ldr r0, _0209E4F8 ; =0x021D43D9 add r1, r4, #8 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [r4, #8] ldr r0, [r4, #0xc] mov r1, r1, lsr #3 @@ -6955,7 +6955,7 @@ sub_0209E430: ; 0x0209E430 ldr r0, _0209E4FC ; =0x021D43DE add r1, r4, #0x10 mov r2, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrh r1, [r4, #0x10] ldr r3, _0209E500 ; =0x000003FF ldr r0, _0209E504 ; =0x021D43E0 @@ -6966,7 +6966,7 @@ sub_0209E430: ; 0x0209E430 mov r2, #2 and r3, ip, r3 strh r3, [r4, #0x10] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r4, pc} .align 2, 0 _0209E4F0: .word 0x021D43D4 @@ -7007,7 +7007,7 @@ _0209E564: mov r0, r6 mov r2, fp add r1, sl, #0xf0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, sl mov r2, #0xfe add r0, sl, #0x200 @@ -7166,12 +7166,12 @@ _0209E76C: .word 0x021D43C8 arm_func_start sub_0209E770 sub_0209E770: ; 0x0209E770 - ldr ip, _0209E780 ; =sub_020D4A50 + ldr ip, _0209E780 ; =MIi_CpuCopy8 ldr r1, _0209E784 ; =0x021D43D4 mov r2, #0xe bx ip .align 2, 0 -_0209E780: .word sub_020D4A50 +_0209E780: .word MIi_CpuCopy8 _0209E784: .word 0x021D43D4 arm_func_end sub_0209E770 @@ -7244,11 +7244,11 @@ sub_0209E824: ; 0x0209E824 add r1, sp, #4 mov r0, r5 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, sp, #0 mov r0, r4 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r3, [sp] ldr r2, [sp, #4] mvn r0, #1 @@ -7761,7 +7761,7 @@ sub_0209EF2C: ; 0x0209EF2C str r2, [sp, #4] str r3, [sp] mov r2, #5 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, [sp] ldr r1, [sp, #4] mov ip, r2, lsr #5 @@ -7779,7 +7779,7 @@ sub_0209EF2C: ; 0x0209EF2C str ip, [sp] str r3, [sp, #4] mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrh r0, [r4, #0x10] ldr r1, [sp, #4] ldr r3, _0209EFE0 ; =0x021D43D4 @@ -7793,7 +7793,7 @@ sub_0209EF2C: ; 0x0209EF2C mov r4, r2, asr #2 mov r2, #2 strb r4, [r3, #0xb] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _0209EFE0 ; =0x021D43D4 add sp, sp, #8 ldmia sp!, {r4, pc} @@ -7946,7 +7946,7 @@ _0209F1D4: add r0, r8, #0x1f0 add r1, r8, #0xf0 mov r2, #0xe - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r0, [r8, #0x1ef] strb r0, [r8, #0xef] b _0209F234 @@ -7960,7 +7960,7 @@ _0209F204: add r0, r8, #0xf0 add r1, r8, #0x1f0 mov r2, #0xe - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r0, [r8, #0xef] strb r0, [r8, #0x1ef] _0209F234: @@ -8121,7 +8121,7 @@ _0209F454: mov r0, r5 mov r2, r4 add r1, r7, #0xf0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r6, r6, #1 cmp r6, #2 add r7, r7, #0x100 @@ -8198,7 +8198,7 @@ _0209F534: add r0, sp, #8 add r1, sp, #0 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r4, _0209F62C ; =0x02108FA0 add r3, sp, #0 mov r5, #0 @@ -10968,7 +10968,7 @@ sub_020A181C: ; 0x020A181C mov r1, r8 mov r2, r7 movne r5, r7 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [sb, #0x64] ldrsb r0, [r1, #0xfe] cmp r0, #0 @@ -11125,7 +11125,7 @@ _020A1A78: movhi sl, r1 ldr r1, [sp, #0xc] mov r2, sl - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, sl bl sub_020A6E4C add sp, sp, #0x14 @@ -11268,7 +11268,7 @@ _020A1C68: ldr r1, [sp] ldr r2, [sp, #4] add r0, r7, #0xc - bl sub_020D4A50 + bl MIi_CpuCopy8 cmp fp, #0 ldrneh r0, [r7, #6] ldr r1, [sp, #0x30] @@ -11341,7 +11341,7 @@ sub_020A1D10: ; 0x020A1D10 strh r3, [r5, #6] ldr r3, [r7, #0x1c] str r3, [r5, #8] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r4, #0x100] cmp r0, #0 ldrne r0, [r4, #0x100] @@ -11636,12 +11636,12 @@ _020A216C: ldr r1, [r5, #0x18] mov r2, r7 add r0, r6, r0 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020A2198: ldr r1, [r5, #0x10] ldr r2, [r5, #0x14] mov r0, r6 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0x100 ldrh r6, [r0] strh r7, [r5, #0x20] @@ -11851,7 +11851,7 @@ _020A245C: ldr r0, [r6, #0x10] mov r1, r7 mov r2, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r6, #0x10] add r0, r0, r4 str r0, [r6, #0x10] @@ -11864,7 +11864,7 @@ _020A248C: ldr r0, [r6, #0x18] mov r2, r5 add r1, r7, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r6, #0x18] add r0, r0, r5 str r0, [r6, #0x18] @@ -13269,7 +13269,7 @@ sub_020A35FC: ; 0x020A35FC mov r0, r1 add r1, sp, #0x10 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0x10] add r1, sp, #0xc bl sub_020A3680 @@ -14012,7 +14012,7 @@ sub_020A3F64: ; 0x020A3F64 add r1, r7, #6 mov r2, #6 mov r4, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r7 mov r3, r5 add r1, r7, #6 @@ -14126,7 +14126,7 @@ _020A4100: ldr r1, [ip, #0x28] add r1, r3, r1 add r1, r1, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _020A41A8 ; =0x021D4620 mov r0, r7 ldr r3, [r1, #0x58] @@ -14134,7 +14134,7 @@ _020A4100: mov r2, #6 add r1, r3, r1 add r1, r1, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _020A41A8 ; =0x021D4620 add r0, r6, #6 ldr r3, [r1, #0x58] @@ -14142,7 +14142,7 @@ _020A4100: sub r2, r5, #6 add r1, r3, r1 add r1, r1, #0xe - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0x18] cmp r0, #0 ldrne r2, [sp, #0x1c] @@ -14154,7 +14154,7 @@ _020A4100: add r1, r3, r1 add r1, r1, #8 add r1, r1, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020A419C: ldr r0, _020A41A8 ; =0x021D4620 str r4, [r0, #0x28] @@ -14348,7 +14348,7 @@ sub_020A43E0: ; 0x020A43E0 ldr r0, _020A44CC ; =0x021D4B08 add r1, sp, #6 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 ldr r1, _020A44D0 ; =0x00000608 strb r0, [sp, #0xf] @@ -14361,7 +14361,7 @@ sub_020A43E0: ; 0x020A43E0 ldr r0, _020A44CC ; =0x021D4B08 add r1, sp, #0x16 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _020A44D8 ; =0x021D4620 mov r1, r4, lsr #0x10 ldr r3, [r0, #0x50] @@ -14475,7 +14475,7 @@ _020A45B0: add r1, r1, #4 mov r2, #6 strh r4, [r3, r5] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020A45E8: add r1, r1, #1 @@ -14512,7 +14512,7 @@ _020A4648: add r1, r1, #4 mov r2, #6 str r6, [r3, r5] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _020A4684 ; =0x021D46AA strh r4, [r0, r5] ldmia sp!, {r3, r4, r5, r6, r7, pc} @@ -14553,7 +14553,7 @@ _020A46E4: ldmeqia sp!, {r4, r5, r6, r7, r8, pc} sub r1, r8, #0xe mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _020A472C _020A46FC: mov r0, #1 @@ -14572,7 +14572,7 @@ _020A472C: ldr r0, _020A4754 ; =0x021D4B08 sub r1, r8, #8 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r2, r6 mov r3, r5 sub r0, r8, #0xe @@ -14643,7 +14643,7 @@ _020A482C: ldr r0, _020A4878 ; =_02110690 sub r1, r8, #0x1c mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 bl sub_020D3A38 mov r4, r0 ldr r0, _020A487C ; =0x021D4B08 @@ -15107,11 +15107,11 @@ sub_020A4ED8: ; 0x020A4ED8 add r1, r4, #0x12 mov r2, #0xa strh r3, [r4, #6] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _020A4F78 ; =0x021D4B08 add r1, r4, #8 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r3, _020A4F7C ; =0x021D4620 add r0, r4, #0x12 ldr r2, [r3, #0x50] @@ -15129,11 +15129,11 @@ sub_020A4ED8: ; 0x020A4ED8 mov r3, ip, lsl #8 orr r3, r3, ip, asr #8 strh r3, [r4, #0x10] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _020A4F78 ; =0x021D4B08 sub r1, r4, #8 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 sub r0, r4, #0xe mov r1, #0x2a mov r2, #0 @@ -15346,7 +15346,7 @@ _020A51D0: ldr r1, [r4, #0x40] ldr r2, [r4, #0x44] add r0, r7, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r4, #4] cmp r0, #3 bne _020A5298 @@ -16127,7 +16127,7 @@ _020A5C94: mov r2, r8 add r0, sb, r1, asr #2 add r1, ip, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [r5, #0x44] mov r0, r4 add r1, r1, r8 @@ -16499,7 +16499,7 @@ _020A61F4: ldr r1, [r4, #0x40] ldr r2, [r4, #0x44] add r0, r7, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r4, #4] cmp r0, #3 bne _020A6244 @@ -16633,7 +16633,7 @@ _020A639C: ldr r1, [r6, #0x34] mov r2, r5 add r1, r1, #0xe - bl sub_020D4A50 + bl MIi_CpuCopy8 _020A6408: ldrh r0, [r7, #4] cmp r0, #8 @@ -16671,7 +16671,7 @@ _020A6440: strh r1, [r7, #4] ldr r1, [r7, #0x30] add r1, r1, fp, lsl #3 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrh r4, [r7, #8] cmp r4, #0 addeq sp, sp, #0xc @@ -18220,7 +18220,7 @@ sub_020A77B8: ; 0x020A77B8 orr r3, r2, r3, asr #8 mov r2, #6 strh r3, [r6, #0xe] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _020A7934 ; =0x00008263 ldr r1, _020A7938 ; =0x00006353 strh r0, [r6, #0xec] @@ -18237,14 +18237,14 @@ sub_020A77B8: ; 0x020A77B8 add r1, r6, #0xf6 mov r2, #6 strb r3, [r6, #0xf5] - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xc strb r1, [r6, #0xfc] mov r2, #0xa ldr r0, _020A7940 ; =_0211069C add r1, r6, #0xfe strb r2, [r6, #0xfd] - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x37 strb r1, [r6, #0x108] mov r2, #3 @@ -18955,7 +18955,7 @@ _020A82AC: bhi _020A82DC mov r1, fp add r0, r0, #0xa - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r4, #1 b _020A82DC _020A82CC: @@ -19197,7 +19197,7 @@ _020A85B8: mov r1, r7 add r0, r6, #0x20 mov r2, #0x30 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 strb r0, [r7, #0x30] b _020A861C @@ -19237,11 +19237,11 @@ _020A8650: mov r0, r5 add r1, r8, #0x74 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, r8 add r0, r5, #0x20 mov r2, #0x30 - bl sub_020D4A50 + bl MIi_CpuCopy8 bl sub_020D34B0 mov r0, r0, lsr #0x10 orr r0, r0, r1, lsl #16 @@ -19313,11 +19313,11 @@ _020A8774: mov r1, sb add r0, r8, #0x74 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r8 add r1, sb, #0x20 mov r2, #0x30 - bl sub_020D4A50 + bl MIi_CpuCopy8 str r5, [sb, #0x50] mov r0, #1 strb r0, [sb, #0x5a] @@ -19661,7 +19661,7 @@ _020A8BAC: add r1, sb, #0x94 mov r2, r4 add r1, r1, #0x400 - bl sub_020D4A50 + bl MIi_CpuCopy8 str r4, [sb, #0x594] b _020A8C44 _020A8BCC: @@ -19697,7 +19697,7 @@ _020A8C28: add r1, sb, #0x198 mov r2, r4 add r1, r1, #0x400 - bl sub_020D4A50 + bl MIi_CpuCopy8 str r4, [sb, #0x5a0] _020A8C44: ldr r0, [sp, #4] @@ -19803,7 +19803,7 @@ _020A8D6C: ldr r0, [sp, #4] mov r2, r4 add r1, sb, #0x7b0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, sb, r4 mov r1, #0 strb r1, [r0, #0x7b0] @@ -20327,7 +20327,7 @@ sub_020A94C8: ; 0x020A94C8 add r0, r5, #2 add r1, r6, #0x54 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r7, [r6, #0x30] ldrb r4, [r5, #0x22] add r5, r5, #0x23 @@ -20355,7 +20355,7 @@ _020A9530: mov r0, r5 add r1, r6, #0x74 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 _020A9550: strb r0, [r6, #0x30] @@ -20474,7 +20474,7 @@ sub_020A9638: ; 0x020A9638 add r0, r6, r4 add r1, r7, #0x34 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _020A96F0 _020A96D0: add r0, r7, #0x34 @@ -20484,7 +20484,7 @@ _020A96D0: mov r2, r5 add r0, r6, r4 sub r1, r1, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020A96F0: mov r0, #1 strb r0, [r7, #0x455] @@ -20506,7 +20506,7 @@ sub_020A9700: ; 0x020A9700 add r0, r6, #2 add r1, r4, #0x34 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r5, [r6, #0x22] add r6, r6, #0x23 cmp r5, #0x20 @@ -20516,7 +20516,7 @@ sub_020A9700: ; 0x020A9700 mov r0, r6 add r1, r4, #0x74 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r4 bl sub_020A8598 _020A9760: @@ -20751,7 +20751,7 @@ sub_020A9A78: ; 0x020A9A78 add r0, sp, #0 mov r1, r4 mov r2, #0x30 - bl sub_020D4A50 + bl MIi_CpuCopy8 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 @@ -21040,7 +21040,7 @@ sub_020A9E98: ; 0x020A9E98 add r0, r5, #0x3a4 add r1, r5, #0x3fc mov r2, #0x58 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, sp, #0 mov r0, r5 mov r2, #1 @@ -21048,7 +21048,7 @@ sub_020A9E98: ; 0x020A9E98 add r0, r5, #0x3fc add r1, r5, #0x3a4 mov r2, #0x58 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, sp, #0 mov r0, r4 mov r2, #0x10 @@ -21061,7 +21061,7 @@ sub_020A9E98: ; 0x020A9E98 add r0, r5, #0x2ec add r1, r5, #0x348 mov r2, #0x5c - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, sp, #0 mov r0, r5 mov r2, #1 @@ -21069,7 +21069,7 @@ sub_020A9E98: ; 0x020A9E98 add r0, r5, #0x348 add r1, r5, #0x2ec mov r2, #0x5c - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, sp, #0 add r0, r4, #0x10 mov r2, #0x14 @@ -21409,7 +21409,7 @@ _020AA3DC: strhi r6, [sp] ldr r2, [sp] mov r1, r7 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp] mov r1, r5 bl sub_020A6DBC @@ -21902,7 +21902,7 @@ _020AAA90: add r1, r5, #0xb mov r2, #0x20 strb r3, [r5, #0xa] - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r2, #0x20 strb r2, [r5, #0x2b] ldrb r0, [r4, #0x30] @@ -21910,7 +21910,7 @@ _020AAA90: beq _020AAAF8 add r0, r4, #0x74 add r1, r5, #0x2c - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 strb r0, [r4, #0x31] add r6, r5, #0x4c @@ -21932,7 +21932,7 @@ _020AAAF8: add r1, r4, #0x74 mov r2, #0x20 strb r3, [r5, #0x4b] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _020AAC78 ; =0x021D5E60 mov r1, #0 ldr r2, [r0, #4] @@ -21976,7 +21976,7 @@ _020AAB54: ldr r0, [r7, #4] mov r1, r6 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r6, r6, r8 _020AABEC: mov r0, #0xe @@ -22066,7 +22066,7 @@ sub_020AAC80: ; 0x020AAC80 add r1, r5, #0x3fc mov r2, #0x58 strb r3, [r4, #0xe] - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r5 add r1, r4, #0xf mov r2, #0 @@ -22074,11 +22074,11 @@ sub_020AAC80: ; 0x020AAC80 add r0, r5, #0x3fc add r1, r5, #0x3a4 mov r2, #0x58 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x2ec add r1, r5, #0x348 mov r2, #0x5c - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r5 add r1, r4, #0x1f mov r2, #0 @@ -22086,7 +22086,7 @@ sub_020AAC80: ; 0x020AAC80 add r0, r5, #0x348 add r1, r5, #0x2ec mov r2, #0x5c - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r5 add r1, r4, #0xb mov r2, #0x28 @@ -22142,7 +22142,7 @@ sub_020AADD8: ; 0x020AADD8 add r0, r4, #0x34 add r1, r5, #0xb mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrh r2, [r7, #0x18] ldr r1, [r7, #0x1c] mov r0, r4 @@ -22157,7 +22157,7 @@ sub_020AADD8: ; 0x020AADD8 add r0, r4, #0x74 add r1, r5, #0x2c strb r2, [r5, #0x2b] - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x4c _020AAE90: mov r6, #0 @@ -22269,7 +22269,7 @@ _020AAFA0: sub r1, r1, #0x30 mov r2, #0x30 strb r5, [r8, r3] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _020AB224 ; =0x021D4634 mov r0, r7, lsl #3 ldr r1, [r1] @@ -22737,7 +22737,7 @@ _020AB648: ldr r2, [sp] add r1, r3, r1 movlo r6, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp] mov r1, r5 bl sub_020A6DBC @@ -22836,14 +22836,14 @@ _020AB790: add r1, r4, #5 mov r2, r7 sub fp, r6, r7 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r1, r4, #5 mov r0, r8 add r1, r1, r7 mov r2, fp add sl, sl, r7 sub sb, sb, r7 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0x17 strb r0, [r4] mov r0, #3 @@ -23040,24 +23040,24 @@ _020ABA70: .word 0x021D5E68 arm_func_start sub_020ABA74 sub_020ABA74: ; 0x020ABA74 - ldr ip, _020ABA88 ; =sub_020D4A50 + ldr ip, _020ABA88 ; =MIi_CpuCopy8 mov r3, r0 mov r0, r1 mov r1, r3 bx ip .align 2, 0 -_020ABA88: .word sub_020D4A50 +_020ABA88: .word MIi_CpuCopy8 arm_func_end sub_020ABA74 arm_func_start sub_020ABA8C sub_020ABA8C: ; 0x020ABA8C - ldr ip, _020ABAA0 ; =sub_020D4A50 + ldr ip, _020ABAA0 ; =MIi_CpuCopy8 mov r3, r0 mov r0, r1 mov r1, r3 bx ip .align 2, 0 -_020ABAA0: .word sub_020D4A50 +_020ABAA0: .word MIi_CpuCopy8 arm_func_end sub_020ABA8C arm_func_start sub_020ABAA4 @@ -23380,7 +23380,7 @@ sub_020ABF08: ; 0x020ABF08 mov r0, r7 mov r2, r5 add r1, r1, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r8 add r1, r8, #0x18 mov r4, #0 @@ -23404,7 +23404,7 @@ _020ABFA8: add r0, r7, r5 add r1, r1, r4 sub r2, r6, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_020ABF08 @@ -23983,7 +23983,7 @@ sub_020AC7D4: ; 0x020AC7D4 mov r0, r7 mov r2, r5 add r1, r1, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r8 add r1, r8, #0x1c mov r4, #0 @@ -24007,7 +24007,7 @@ _020AC874: add r0, r7, r5 add r1, r1, r4 sub r2, r6, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end sub_020AC7D4 @@ -24626,13 +24626,13 @@ sub_020ACFBC: ; 0x020ACFBC ldr r0, [sp, #4] mov r1, r7 mov r2, sb, lsl #1 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _020AD154 _020AD048: ldr r0, [sp, #4] add r1, r6, r4, lsl #1 mov r2, fp, lsl #1 - bl sub_020D4A50 + bl MIi_CpuCopy8 cmp r5, #2 ble _020AD07C add r0, sl, r5, lsl #1 @@ -24708,7 +24708,7 @@ _020AD154: ldr r1, [sp] mov r0, r6 mov r2, sb, lsl #1 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020AD170: ldr r0, [sp, #8] cmp r0, #0 @@ -24717,7 +24717,7 @@ _020AD170: ldr r1, [sp, #8] mov r0, r7 mov r2, sb, lsl #1 - bl sub_020D4A50 + bl MIi_CpuCopy8 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} .align 2, 0 @@ -24766,7 +24766,7 @@ _020AD214: ldr r0, [sp, #8] mov r1, sl mov r2, r8, lsl #1 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r6, r6, #1 b _020AD250 _020AD244: @@ -24785,7 +24785,7 @@ _020AD25C: mov r0, r4 mov r1, sl mov r2, fp - bl sub_020D4A50 + bl MIi_CpuCopy8 cmp r7, #0 beq _020AD2A0 str r8, [sp] @@ -24811,7 +24811,7 @@ _020AD2A0: mov r0, r4 mov r1, sl mov r2, fp - bl sub_020D4A50 + bl MIi_CpuCopy8 cmp r7, #0 beq _020AD304 str r8, [sp] @@ -24856,11 +24856,11 @@ sub_020AD330: ; 0x020AD330 str r2, [sp, #0xc] mov r1, sb mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0xc] mov r1, r4 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 strh r0, [r4, r8] mov r0, sb @@ -24880,11 +24880,11 @@ _020AD3A4: mov r0, sb mov r1, r4 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r7 mov r1, sb mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r7 mov r1, fp mov r2, r5 @@ -24898,11 +24898,11 @@ _020AD3A4: mov r0, r5 mov r1, r6 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r7 mov r1, r5 mov r2, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, sb mov r1, sl bl sub_020ACA2C @@ -24936,7 +24936,7 @@ sub_020AD47C: ; 0x020AD47C mov r7, r0 mov sb, r1 ldr r5, [sp, #0x20] - bl sub_020D4A50 + bl MIi_CpuCopy8 cmp r8, #1 bne _020AD4BC mov r0, r7 @@ -25776,7 +25776,7 @@ _020ADFA0: _020ADFDC: add r0, r6, #2 add r1, r1, #0x2200 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _020ADFFC _020ADFEC: add r0, ip, #0x2200 @@ -25789,7 +25789,7 @@ _020ADFFC: ldr r1, [r1] mov r2, #0xc0 add r1, r1, #0x2140 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _020AE0E8 ; =0x021D5FEC mov r0, r5 ldr r1, [r1] @@ -26302,7 +26302,7 @@ _020AE690: ldr r1, [r1] add r1, r1, #0x92 add r1, r1, #0x2200 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _020AE704 _020AE6EC: ldr r1, _020AE7A8 ; =0x021D5FEC @@ -26310,7 +26310,7 @@ _020AE6EC: ldr r1, [r1] add r1, r1, #0x92 add r1, r1, #0x2200 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020AE704: cmp r4, #0 ldrne r0, _020AE7B0 ; =0x02108FC8 @@ -26322,7 +26322,7 @@ _020AE704: ldr r1, [r1] add r1, r1, #0x29c add r1, r1, #0x2000 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _020AE7A8 ; =0x021D5FEC mov r1, #0 ldr r0, [r0] @@ -26335,7 +26335,7 @@ _020AE748: ldr r1, [r1] add r1, r1, #0x29c add r1, r1, #0x2000 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0 _020AE764: ldrb r0, [r4] @@ -28236,14 +28236,14 @@ _020B007C: mov r0, sb mov r2, r8 add r1, r7, #0xf00 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, [sp, #0x20] cmp r2, #0 ble _020B00A8 add r1, r7, #0xf00 mov r0, r6 add r1, r1, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 _020B00A8: ldr r1, [sp, #0x20] ldr r0, _020B0160 ; =sub_020B016C @@ -30642,7 +30642,7 @@ _020B2174: sub r1, r0, r2 add r0, sb, #0xc str r1, [sp] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r5, #0x34] sub r1, r8, #0xc strb r0, [r4, #0x11] @@ -33145,7 +33145,7 @@ sub_020B41A8: ; 0x020B41A8 ldmeqia sp!, {r3, pc} ldr r0, _020B41C4 ; =_02110904 mov r2, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r3, pc} .align 2, 0 _020B41C4: .word _02110904 diff --git a/lib/dwc/asm/overlay_00_arm.s b/lib/dwc/asm/overlay_00_arm.s index 2e47d55ce..af039e98a 100644 --- a/lib/dwc/asm/overlay_00_arm.s +++ b/lib/dwc/asm/overlay_00_arm.s @@ -270,7 +270,7 @@ _021E7ECC: mov r2, #0x1c4 add r0, r0, #8 add r0, r0, #0x1000 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [r4] ldr r0, _021E7F28 ; =0x00004E20 cmp r1, r0 @@ -1081,7 +1081,7 @@ _021E8A30: ldr r0, _021E8C44 ; =0x027FFE0C add r1, r4, #0x15 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021E8C48 ; =0x027FFE10 ldrb r0, [r0] cmp r0, #0 @@ -1091,7 +1091,7 @@ _021E8A54: ldr r0, _021E8C48 ; =0x027FFE10 add r1, r4, #0x1a mov r2, #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0x30 add r0, sp, #0x16 strb r1, [r4, #0x1d] @@ -1123,7 +1123,7 @@ _021E8A84: add r0, sp, #0x3c add r1, r4, #0x7e mov r2, #0x14 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r1, [sp, #0x3b] ldr r2, _021E8C50 ; =_02216568 add r0, r4, #0x2f @@ -1208,7 +1208,7 @@ _021E8C10: mov r0, r5 add r1, r4, #0x4e mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0x72 bl ov00_021FAA70 mov r0, r6 @@ -1910,7 +1910,7 @@ _021E95D4: cmp sb, r2 movge sb, r2 mov r2, sb - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r7, #4] cmp fp, #1 add r1, r0, sb @@ -2353,7 +2353,7 @@ ov00_021E9BDC: ; 0x021E9BDC ldr r0, [r6] ldr r2, [r6, #0xc] mov r1, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [r6] ldr r0, _021E9C80 ; =_022167CC mov r2, #0 @@ -4810,7 +4810,7 @@ _021EBE84: mov r0, sl add r1, sp, #4 mov r2, sb - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r0, [sp, #4] ldr r1, [r5] cmp r6, #2 @@ -5206,7 +5206,7 @@ ov00_021EC33C: ; 0x021EC33C mov r0, r7 mov r1, r4 mov r2, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r8 mov r1, r7 mov r2, r6 @@ -5755,7 +5755,7 @@ _021ECA74: mov r0, r5 add r1, r4, #0x33 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r4] cmp r0, #0 blt _021ECAD8 @@ -5777,7 +5777,7 @@ _021ECAC8: ldrh r2, [sp] mov r0, r5 add r1, r4, #0x12 - bl sub_020D4A50 + bl MIi_CpuCopy8 _021ECAD8: mov r0, r6 bl sub_020D3A4C @@ -5799,7 +5799,7 @@ _021ECB08: add r1, r4, #8 mov r2, #9 str r3, [r4, #4] - bl sub_020D4A50 + bl MIi_CpuCopy8 b _021ECB34 _021ECB2C: mov r0, #0xff @@ -5982,7 +5982,7 @@ _021ECD4C: mov r2, #9 add r1, r1, #0x48 add r1, r1, #0x1c00 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021ECDB0 ; =_0221A764 ldr r3, _021ECDC0 ; =ov00_021EC2A8 ldr r0, [r1] @@ -6871,7 +6871,7 @@ _021ED934: ldr r1, _021ED9A8 ; =_0221B430 mov r0, r4 mov r2, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sp, #0x20] ldr r1, _021ED9A8 ; =_0221B430 mov r2, #0 @@ -6887,7 +6887,7 @@ _021ED970: ldr r0, [sp, #0x20] ldr r1, _021ED9AC ; =_0221B530 mov r2, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021ED9AC ; =_0221B530 mov r1, #0 strb r1, [r0, r4] @@ -9242,7 +9242,7 @@ _021EF808: add r2, r2, #2 ldr r0, [r1, #0x10] add r1, sp, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021EF8A4 ; =_0221A90C add r0, sp, #0x34 ldr r1, [r1, #4] @@ -9392,7 +9392,7 @@ _021EFA2C: add r2, r2, #2 ldr r0, [r1, #0x10] add r1, sp, #0 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021EFAB0 ; =_0221A90C add r0, sp, #0x34 ldr r1, [r1, #4] @@ -11733,7 +11733,7 @@ _021F1978: _021F19D8: mov r0, r7 mov r2, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021F1B10 ; =_0221A928 mov r1, #0 ldr r0, [r0, #8] @@ -14697,7 +14697,7 @@ _021F43B8: mov r0, r5 add r1, fp, r6 mov r2, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r7, r7, #1 add r6, r6, r4 cmp r7, r8 @@ -14874,7 +14874,7 @@ ov00_021F45E0: ; 0x021F45E0 mov r0, r7 mov r1, r6 mov r2, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 strb r0, [r6, r5] _021F467C: @@ -14929,7 +14929,7 @@ _021F46FC: mov r0, sb mov r1, r4 mov r2, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0 mov r0, r5 strb r1, [r4, r5] @@ -20231,7 +20231,7 @@ _021F9068: mov r0, sl mov r1, r7 mov r2, r6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r7 mov r1, r5 mov r2, fp @@ -20244,7 +20244,7 @@ _021F9068: ldrb r2, [sp, #0x11] mov r1, r4 add r0, sl, #0x14 - bl sub_020D4A50 + bl MIi_CpuCopy8 str r4, [sp] ldrb r0, [sp, #0x11] mov r0, r0, asr #2 @@ -20902,7 +20902,7 @@ ov00_021F992C: ; 0x021F992C sub sp, sp, #8 add r1, sp, #0 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021F9964 ; =_02217B88 add r0, sp, #6 mov r2, #2 @@ -21364,7 +21364,7 @@ _021F9EFC: add r1, sp, #0 mov r0, r7 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, [sp] mov r0, #0 str r1, [r4, #0x18] @@ -21420,7 +21420,7 @@ _021F9FC0: mov r0, r6 mov r2, r5 add r1, r1, r3 - bl sub_020D4A50 + bl MIi_CpuCopy8 _021F9FD4: ldr r0, [r4, #0x10] add r0, r0, r5 @@ -22256,7 +22256,7 @@ ov00_021FAA70: ; 0x021FAA70 mov r1, r5 add r0, r2, #0x18 mov r2, #0xa - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r4, #1 _021FAABC: mov r0, r4 @@ -22300,7 +22300,7 @@ ov00_021FAB04: ; 0x021FAB04 beq _021FAB40 mov r0, r5 add r1, r4, #0x18 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _021FAB4C _021FAB40: add r0, r4, #0x18 @@ -22360,7 +22360,7 @@ _021FABE0: _021FABF8: mov r0, r6 add r1, r4, #0x80 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r1, [r4, #0xe6] and r0, r5, #0xff and r0, r0, #3 @@ -23537,7 +23537,7 @@ _021FBB48: mov r3, r2, lsr #0x1e mov r2, #0x10 strb r3, [r4] - bl sub_020D4A50 + bl MIi_CpuCopy8 b _021FBBDC _021FBB6C: add r0, r0, #0x100 @@ -23549,7 +23549,7 @@ _021FBB74: add r1, r4, #2 mov r2, #5 strb r3, [r4] - bl sub_020D4A50 + bl MIi_CpuCopy8 b _021FBBDC _021FBB90: mov r1, #2 @@ -23933,7 +23933,7 @@ ov00_021FC004: ; 0x021FC004 ldr r0, _021FC060 ; =_02216060 add r1, r4, #4 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #8 strb r1, [r4, #3] add r0, r5, #1 @@ -23963,7 +23963,7 @@ ov00_021FC064: ; 0x021FC064 ldr r0, _021FC144 ; =_02217B8C add r1, r5, #4 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #8 add r0, r4, #1 strb r1, [r5, #3] @@ -23980,7 +23980,7 @@ _021FC0C0: ldr r0, _021FC148 ; =_02216058 add r1, r5, #4 mov r2, #8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #8 add r0, r4, #1 strb r1, [r5, #3] @@ -23997,7 +23997,7 @@ _021FC100: ldr r0, _021FC14C ; =_02216068 add r1, r5, #4 mov r2, #0xb - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, #0xb add r0, r4, #1 strb r1, [r5, #3] @@ -25091,7 +25091,7 @@ ov00_021FCF2C: ; 0x021FCF2C ldr r0, _021FCFE8 ; =_022160A8 mov r1, r4 mov r2, #0x58 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r6] str r0, [r4, #4] ldr r0, [r6, #4] @@ -25276,7 +25276,7 @@ ov00_021FD17C: ; 0x021FD17C add r0, sp, #8 mov r1, r4 mov r2, #0xa - bl sub_020D4A50 + bl MIi_CpuCopy8 add sp, sp, #0x18 ldmia sp!, {r4, pc} .balign 4, 0 @@ -25400,7 +25400,7 @@ ov00_021FD300: ; 0x021FD300 add r0, sp, #3 mov r1, r4 mov r2, #0xd - bl sub_020D4A50 + bl MIi_CpuCopy8 add sp, sp, #0x6c ldmia sp!, {r4, r5, pc} arm_func_end ov00_021FD300 @@ -25453,7 +25453,7 @@ _021FD3CC: add r1, sp, #0 mov r0, r4 mov r2, #0xd - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r3, _021FD4F0 ; =_0221611C add r2, sp, #0 mov ip, #0 @@ -25732,17 +25732,17 @@ _021FD794: ldr r3, [r3, #0xa8c] add r1, r1, #0x1000 mla r1, r3, r2, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _021FD9BC ; =_0221613C add r1, sp, #0 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r6, r5, lsl #2 ldr r0, [r0, #0x10] add r1, sp, #4 add r0, r0, #6 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, sp, #8 add r1, sp, #0 mov r2, #8 @@ -26049,7 +26049,7 @@ _021FDBE0: add r0, r0, #0x348 add r0, r0, #0x1000 mla r0, r5, r2, r0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .balign 4, 0 @@ -26302,7 +26302,7 @@ _021FDF80: mla r0, r2, r0, r1 ldr r1, [r4] mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021FE050 ; =_0221B0C4 mov r0, #0x78 ldr r4, [r1] @@ -26312,7 +26312,7 @@ _021FDF80: add r4, r4, #0x56 mla r0, r3, r0, r4 add r1, r1, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r1, _021FE050 ; =_0221B0C4 mov r0, #0x78 ldr r4, [r1] @@ -26328,7 +26328,7 @@ _021FDF80: add r4, r4, #0x32 mla r0, r3, r0, r4 add r1, r1, #0x44 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r6, #2 b _021FE048 _021FE01C: diff --git a/lib/dwc/asm/overlay_13_arm_1.s b/lib/dwc/asm/overlay_13_arm_1.s index 8ee2983a1..50e73a145 100644 --- a/lib/dwc/asm/overlay_13_arm_1.s +++ b/lib/dwc/asm/overlay_13_arm_1.s @@ -40,7 +40,7 @@ ov13_0221BA98: ; 0x0221BA98 mla r0, r1, r2, r0 add r1, r3, #0x72 add r1, r1, #0x1700 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r4 bl sub_020D3A4C ldr r0, _0221BB18 ; =0x0224CF4C @@ -563,7 +563,7 @@ _0221C1F0: ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} add r1, sp, #0 mov r2, #0x1d - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, _0221C63C ; =0x0224CF4C sub r0, r6, #1 ldr r1, [r2] @@ -581,7 +581,7 @@ _0221C1F0: add r1, r1, #0x1340 mla r1, r0, r2, r1 add r0, sp, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _0221C63C ; =0x0224CF4C sub r2, r6, #1 ldr r3, [r0] @@ -1022,7 +1022,7 @@ _0221C854: add r0, r0, #0x388 add r0, r0, #0x1400 mla r0, r4, r3, r0 - bl sub_020D4A50 + bl MIi_CpuCopy8 _0221C8A4: ldr r0, _0221C8C0 ; =0x0224CF4C mov r1, r5 @@ -1544,7 +1544,7 @@ _0221CF44: mov r1, sb mov r2, #0x160 add sl, sp, #0x24 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sb, #0x60] orr r0, r0, #0x6000 orr r0, r0, #0x400000 @@ -1594,7 +1594,7 @@ _0221D054: mov r0, r8 mov r2, r7 add r1, r6, #0x10 - bl sub_020D4A50 + bl MIi_CpuCopy8 str r7, [r6, #0x14] str r8, [r6, #0x18] b _0221D074 @@ -1822,7 +1822,7 @@ _0221D3A0: add r0, r3, lr add r1, r1, lr sub r2, r2, lr - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r3, pc} arm_func_end ov13_0221D344 @@ -1899,7 +1899,7 @@ _0221D480: add r0, r8, #0x1c add r1, sb, #0xc4 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _0221D640 ; =0x0224CF4C mov r1, sb ldr r0, [r0] @@ -2032,7 +2032,7 @@ _0221D680: add r0, r4, #0x160 add r1, r5, #0x3c mov r2, #0x88 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc} .balign 4, 0 _0221D6BC: .word _02242658 @@ -4457,7 +4457,7 @@ _0221F7D0: mov r0, sb add r1, r5, #0x1300 mov r2, #0x16 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r0, [sb, #1] cmp r0, #0xa bhs _0221F7FC @@ -5241,7 +5241,7 @@ _022201E0: mov r1, r7 mov r2, r6 add r0, r3, r0 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #0 str r0, [sb] mov r4, #1 @@ -5667,7 +5667,7 @@ _02220744: ldr r2, [r0, #8] add r0, r6, #2 add r1, r5, #3 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r5 mov r1, r4 bl ov13_02220808 @@ -5698,7 +5698,7 @@ _022207AC: strh r2, [r5, #2] ldr r2, [r1, #8] add r1, r5, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _02220804 ; =0x0224CF84 ldr r0, [r0, #8] add r4, r4, r0 @@ -5732,7 +5732,7 @@ ov13_02220808: ; 0x02220808 add r1, r3, r4, lsl #5 mla r1, r5, r2, r1 add r0, r0, #3 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _02220890 ; =0x0224CF84 mov r1, #1 ldr r2, [r0, #4] diff --git a/lib/dwc/asm/overlay_13_arm_2.s b/lib/dwc/asm/overlay_13_arm_2.s index 57f27d601..138ae378b 100644 --- a/lib/dwc/asm/overlay_13_arm_2.s +++ b/lib/dwc/asm/overlay_13_arm_2.s @@ -5016,7 +5016,7 @@ ov13_0222B254: ; 0x0222B254 add r1, sp, #4 strb r3, [sp] strh r2, [sp, #2] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _0222B354 ; =0x0224F4C4 mov r2, #3 ldr r1, [r0, #4] @@ -7841,7 +7841,7 @@ _0222D5FC: mov r0, r5 mov r1, r6 mov r2, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r7, r7, #1 cmp r7, #2 add r5, r5, #0x20 @@ -13788,7 +13788,7 @@ ov13_02232168: ; 0x02232168 add r0, r3, r2 add r1, sp, #0 mov r2, #3 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r2, #0 add r3, sp, #0 strb r2, [sp, #3] @@ -21083,11 +21083,11 @@ ov13_022380A8: ; 0x022380A8 bl sub_0209EFEC add r1, r4, #0xf0 mov r2, #0xe - bl sub_020D4A50 + bl MIi_CpuCopy8 bl sub_0209EFEC add r1, r4, #0x1f0 mov r2, #0xe - bl sub_020D4A50 + bl MIi_CpuCopy8 bl ov13_02227028 mov r0, #0 bl ov13_02240B04 @@ -23518,11 +23518,11 @@ _02239EA0: add r0, r4, #4 add r1, sb, #0x20 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, sb add r0, r4, #0xc mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, fp, sl, lsl #1 ldrh r0, [r0, #0x50] strh r0, [sb, #0x26] @@ -23649,7 +23649,7 @@ ov13_0223A02C: ; 0x0223A02C mov r2, #0x20 ldr r1, [r1] add r1, r1, #0x440 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _0223A058 ; =0x0224F5A4 mov r1, #0 ldr r0, [r0] @@ -23722,7 +23722,7 @@ _0223A114: strb r3, [r4, #0x4e6] ldr r1, [r1] add r1, r1, #0x480 - bl sub_020D4A50 + bl MIi_CpuCopy8 _0223A140: cmp r5, #5 bgt _0223A158 @@ -23846,13 +23846,13 @@ ov13_0223A28C: ; 0x0223A28C ldr r2, _0223A2A8 ; =0x0224F5A4 mov r1, r0 ldr r0, [r2] - ldr ip, _0223A2AC ; =sub_020D4A50 + ldr ip, _0223A2AC ; =MIi_CpuCopy8 mov r2, #0x20 add r0, r0, #0x440 bx ip .balign 4, 0 _0223A2A8: .word 0x0224F5A4 -_0223A2AC: .word sub_020D4A50 +_0223A2AC: .word MIi_CpuCopy8 arm_func_end ov13_0223A28C arm_func_start ov13_0223A2B0 @@ -24075,11 +24075,11 @@ _0223A518: _0223A56C: add r0, r4, #0xc0 add r1, r5, #0xc0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0xc4 add r1, r5, #0xc4 mov r2, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r4, #0xf0 bl sub_0209E788 _0223A590: @@ -24095,7 +24095,7 @@ _0223A590: _0223A5B4: add r0, r4, #0xc8 add r1, r5, #0xc8 - bl sub_020D4A50 + bl MIi_CpuCopy8 _0223A5C0: ldrb r0, [r4, #0xf4] bl ov13_0223A8F0 @@ -24117,7 +24117,7 @@ ov13_0223A5D0: ; 0x0223A5D0 mov r0, r6 add r1, r4, #0x440 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r6, #0x20] cmp r0, #1 beq _0223A620 @@ -24163,7 +24163,7 @@ _0223A690: mov r0, r8 mov r1, r7 mov r2, r5 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r6, r6, #1 cmp r6, #4 add r7, r7, #0x10 @@ -24198,43 +24198,43 @@ ov13_0223A6E4: ; 0x0223A6E4 mov r0, r5 add r1, r4, #0xd1 mov r2, #5 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #6 add r1, r4, #0xd6 mov r2, #5 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0xc add r1, r4, #0xdb mov r2, #5 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x12 add r1, r4, #0xe0 mov r2, #5 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x18 add r1, r4, #0x60 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x39 add r1, r4, #0x80 mov r2, #0xd - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x47 add r1, r4, #0x90 mov r2, #0xd - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x55 add r1, r4, #0xa0 mov r2, #0xd - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x63 add r1, r4, #0xb0 mov r2, #0xd - bl sub_020D4A50 + bl MIi_CpuCopy8 add r0, r5, #0x71 add r1, r4, #0x40 mov r2, #0x20 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r2, [r4, #0xe6] mov r1, #1 add r0, r4, #0xf0 @@ -24320,7 +24320,7 @@ _0223A8A4: add r1, r1, r7 mov r2, r5 add r1, r1, #0xf0 - bl sub_020D4A50 + bl MIi_CpuCopy8 add r8, r8, #1 cmp r8, #2 add r7, r7, #0x100 @@ -24456,7 +24456,7 @@ _0223AA8C: mov r1, r6 mov r2, r5 add r0, sl, r8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r1, fp mov r2, r6 _0223AAA4: @@ -25510,7 +25510,7 @@ _0223B814: mov r2, #8 add r1, r1, #0x388 add r1, r1, #0x1000 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r2, _0223B8F4 ; =0x0224F5B4 mov r3, #1 ldr r1, [r2] @@ -25522,7 +25522,7 @@ _0223B814: add r1, r1, #0x394 add r1, r1, #0x1000 mov r2, r2, lsl #1 - bl sub_020D4A50 + bl MIi_CpuCopy8 bl ov13_0223B90C cmp r0, #0 beq _0223B8DC @@ -25764,7 +25764,7 @@ _0223BB9C: add r0, r6, #4 add r1, r1, r4 mov r2, #6 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r0, [r6, #0x15] tst r0, #1 ldr r0, _0223BC1C ; =0x0224F5B4 @@ -26826,7 +26826,7 @@ ov13_0223CA14: ; 0x0223CA14 add r1, sp, #0x14 mov r2, r3, lsl #1 strb r3, [sp, #0x13] - bl sub_020D4A50 + bl MIi_CpuCopy8 ldrb r2, [sp, #0x12] ldr r0, _0223CB2C ; =0x0224F5BC add lr, sp, #4 @@ -27450,7 +27450,7 @@ _0223D2A4: add r3, r3, #0xe mla r1, r2, r1, r3 mov r2, #0x16 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldmia sp!, {r4, r5, r6, pc} _0223D2F8: ldr r0, _0223D444 ; =0x0224F5BC @@ -27619,7 +27619,7 @@ _0223D50C: mov r0, r2 add r1, sp, #0 mov r2, #0xe - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, r5 bl sub_020D3A4C ldrh r0, [sp, #4] @@ -29279,7 +29279,7 @@ ov13_0223E9D8: ; 0x0223E9D8 ldr r1, [r3] ldr r0, [r1, #0xaa4] add r1, r1, #0xa50 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, _0223EA54 ; =0x0224F5C8 mov r2, #0 ldr r1, [r0] @@ -30058,7 +30058,7 @@ ov13_0223F400: ; 0x0223F400 ldr r1, [r3] ldr r1, [r1, #0xab0] add r1, r1, #4 - bl sub_020D4A50 + bl MIi_CpuCopy8 b _0223F474 _0223F448: ldr r0, [r5, #0x204] @@ -30127,7 +30127,7 @@ _0223F510: mov r2, r6 add r1, r1, #0x100 mla r1, r7, r8, r1 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [sb] add r0, r0, r7, lsl #2 str r5, [r0, #0x208] diff --git a/lib/dwc/asm/overlay_45_arm.s b/lib/dwc/asm/overlay_45_arm.s index fdee325a4..97927e498 100644 --- a/lib/dwc/asm/overlay_45_arm.s +++ b/lib/dwc/asm/overlay_45_arm.s @@ -355,7 +355,7 @@ ov45_02231514: ; 0x02231514 ldr r2, [sp, #0x10] mov r0, r5 mov r1, r4 - bl sub_020D4A50 + bl MIi_CpuCopy8 _02231580: cmp r4, #0 beq _022315C8 @@ -8948,7 +8948,7 @@ _02238BAC: ldr r2, [r5, #0x30] add r1, r4, #0x10 mov r2, r2, lsl #3 - bl sub_020D4A50 + bl MIi_CpuCopy8 _02238C00: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} @@ -11448,7 +11448,7 @@ ov45_0223AEDC: ; 0x0223AEDC ldmeqia sp!, {r3, pc} add r0, r0, #0x5c mov r2, #0x2d8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 ldmia sp!, {r3, pc} arm_func_end ov45_0223AEDC @@ -11460,7 +11460,7 @@ ov45_0223AF04: ; 0x0223AF04 mov r0, r1 add r1, r4, #0x5c mov r2, #0x2d8 - bl sub_020D4A50 + bl MIi_CpuCopy8 mov r0, #1 str r0, [r4, #0x334] ldmia sp!, {r4, pc} diff --git a/lib/dwc/asm/overlay_74_arm.s b/lib/dwc/asm/overlay_74_arm.s index 71d816db6..3c27632f1 100644 --- a/lib/dwc/asm/overlay_74_arm.s +++ b/lib/dwc/asm/overlay_74_arm.s @@ -823,7 +823,7 @@ _02237C20: ldr r0, [r0, r2, lsl #2] mov r1, r8 mov r2, sl, lsl #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 cmp sb, #0 beq _02237DF8 mov r0, #0xff @@ -4431,7 +4431,7 @@ _0223AE50: ldr r0, [r4] ldr r1, [r5] mov r2, r2, lsl #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r4, #4] str r0, [r5, #4] ldr r0, [r5, #4] @@ -4476,7 +4476,7 @@ ov74_0223AEB4: ; 0x0223AEB4 ldr r2, [r5, #4] mov r1, r6 mov r2, r2, lsl #2 - bl sub_020D4A50 + bl MIi_CpuCopy8 ldr r0, [r5] bl ov74_0223B230 _0223AF20: diff --git a/main.lsf b/main.lsf index e017c5b1c..c68c45d0b 100644 --- a/main.lsf +++ b/main.lsf @@ -90,6 +90,10 @@ Static main Object player_data.o Object unk_020290B4.o Object daycare.o + Object pokedex.o + Object unk_0202A888.o + Object options.o + Object unk_0202ADEC.o Object scrcmd.o Object pokemon.o ### Vendor libraries ###