diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/rom_803D1FC.s | 900 |
1 files changed, 0 insertions, 900 deletions
diff --git a/asm/rom_803D1FC.s b/asm/rom_803D1FC.s index e25cf776f..ed89d9d89 100644 --- a/asm/rom_803D1FC.s +++ b/asm/rom_803D1FC.s @@ -6,906 +6,6 @@ .text - thumb_func_start SetMonData -SetMonData: @ 803D1FC - push {lr} - adds r3, r0, 0 - adds r0, r1, 0 - subs r0, 0x37 - cmp r0, 0xA - bhi _0803D2E0 - lsls r0, 2 - ldr r1, _0803D214 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803D214: .4byte _0803D218 - .align 2, 0 -_0803D218: - .4byte _0803D244 - .4byte _0803D25C - .4byte _0803D266 - .4byte _0803D276 - .4byte _0803D286 - .4byte _0803D296 - .4byte _0803D2A6 - .4byte _0803D2B6 - .4byte _0803D2C6 - .4byte _0803D2D6 - .4byte _0803D2E6 -_0803D244: - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3, 0x50] - b _0803D2E6 -_0803D25C: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x54 - strb r1, [r0] - b _0803D2E6 -_0803D266: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x56 - strh r0, [r1] - b _0803D2E6 -_0803D276: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x58 - strh r0, [r1] - b _0803D2E6 -_0803D286: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5A - strh r0, [r1] - b _0803D2E6 -_0803D296: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5C - strh r0, [r1] - b _0803D2E6 -_0803D2A6: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x5E - strh r0, [r1] - b _0803D2E6 -_0803D2B6: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x60 - strh r0, [r1] - b _0803D2E6 -_0803D2C6: - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - adds r0, r1 - adds r1, r3, 0 - adds r1, 0x62 - strh r0, [r1] - b _0803D2E6 -_0803D2D6: - ldrb r1, [r2] - adds r0, r3, 0 - adds r0, 0x55 - strb r1, [r0] - b _0803D2E6 -_0803D2E0: - adds r0, r3, 0 - bl SetBoxMonData -_0803D2E6: - pop {r0} - bx r0 - thumb_func_end SetMonData - - thumb_func_start SetBoxMonData -SetBoxMonData: @ 803D2EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r7, r0, 0 - mov r10, r1 - adds r4, r2, 0 - movs r0, 0 - mov r8, r0 - mov r9, r0 - movs r6, 0 - movs r5, 0 - cmp r1, 0xA - ble _0803D36C - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0 - bl GetSubstruct - mov r8, r0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x1 - bl GetSubstruct - mov r9, r0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x2 - bl GetSubstruct - adds r6, r0, 0 - ldr r1, [r7] - adds r0, r7, 0 - movs r2, 0x3 - bl GetSubstruct - adds r5, r0, 0 - adds r0, r7, 0 - bl DecryptBoxMon - adds r0, r7, 0 - bl CalculateBoxMonChecksum - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r7, 0x1C] - cmp r0, r1 - beq _0803D36C - ldrb r0, [r7, 0x13] - movs r1, 0x1 - orrs r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r7, 0x13] - ldrb r0, [r5, 0x7] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r5, 0x7] - adds r0, r7, 0 - bl EncryptBoxMon - b _0803D8F6 -_0803D36C: - mov r0, r10 - cmp r0, 0x4F - bls _0803D374 - b _0803D8E2 -_0803D374: - lsls r0, 2 - ldr r1, _0803D380 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803D380: .4byte _0803D384 - .align 2, 0 -_0803D384: - .4byte _0803D4C4 - .4byte _0803D4DC - .4byte _0803D4F4 - .4byte _0803D50A - .4byte _0803D510 - .4byte _0803D520 - .4byte _0803D532 - .4byte _0803D544 - .4byte _0803D55A - .4byte _0803D560 - .4byte _0803D56C - .4byte _0803D578 - .4byte _0803D598 - .4byte _0803D5D0 - .4byte _0803D5D0 - .4byte _0803D5D0 - .4byte _0803D5D0 - .4byte _0803D5E4 - .4byte _0803D5E4 - .4byte _0803D5E4 - .4byte _0803D5E4 - .4byte _0803D5C0 - .4byte _0803D614 - .4byte _0803D61A - .4byte _0803D620 - .4byte _0803D5A6 - .4byte _0803D5F0 - .4byte _0803D5F6 - .4byte _0803D5FC - .4byte _0803D602 - .4byte _0803D608 - .4byte _0803D60E - .4byte _0803D5C8 - .4byte _0803D626 - .4byte _0803D638 - .4byte _0803D63E - .4byte _0803D644 - .4byte _0803D658 - .4byte _0803D670 - .4byte _0803D696 - .4byte _0803D6AA - .4byte _0803D6C4 - .4byte _0803D6DA - .4byte _0803D6F4 - .4byte _0803D70C - .4byte _0803D720 - .4byte _0803D750 - .4byte _0803D62C - .4byte _0803D632 - .4byte _0803D686 - .4byte _0803D760 - .4byte _0803D76E - .4byte _0803D784 - .4byte _0803D79C - .4byte _0803D7AC - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D8E2 - .4byte _0803D89A - .4byte _0803D7C2 - .4byte _0803D7D2 - .4byte _0803D7E0 - .4byte _0803D7F0 - .4byte _0803D800 - .4byte _0803D810 - .4byte _0803D820 - .4byte _0803D830 - .4byte _0803D846 - .4byte _0803D856 - .4byte _0803D864 - .4byte _0803D874 - .4byte _0803D88A -_0803D4C4: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r7] - b _0803D8E2 -_0803D4DC: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r7, 0x4] - b _0803D8E2 -_0803D4F4: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x8 -_0803D4FA: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x9 - ble _0803D4FA - b _0803D8E2 -_0803D50A: - ldrb r0, [r4] - strb r0, [r7, 0x12] - b _0803D8E2 -_0803D510: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - ldrb r2, [r7, 0x13] - movs r0, 0x2 - negs r0, r0 - ands r0, r2 - b _0803D73E -_0803D520: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r7, 0x13] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - b _0803D73E -_0803D532: - ldrb r0, [r4] - movs r1, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r7, 0x13] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - b _0803D73E -_0803D544: - movs r2, 0 - adds r3, r7, 0 - adds r3, 0x14 -_0803D54A: - adds r0, r3, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x6 - ble _0803D54A - b _0803D8E2 -_0803D55A: - ldrb r0, [r4] - strb r0, [r7, 0x1B] - b _0803D8E2 -_0803D560: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1C] - b _0803D8E2 -_0803D56C: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r7, 0x1E] - b _0803D8E2 -_0803D578: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - mov r0, r8 - strh r1, [r0] - lsls r1, 16 - cmp r1, 0 - beq _0803D590 - ldrb r0, [r7, 0x13] - movs r1, 0x2 - b _0803D73E -_0803D590: - ldrb r1, [r7, 0x13] - movs r0, 0x3 - negs r0, r0 - b _0803D74A -_0803D598: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - mov r0, r8 - strh r1, [r0, 0x2] - b _0803D8E2 -_0803D5A6: - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r4, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r4, 0x3] - lsls r0, 24 - adds r1, r0 - mov r0, r8 - str r1, [r0, 0x4] - b _0803D8E2 -_0803D5C0: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x8] - b _0803D8E2 -_0803D5C8: - ldrb r0, [r4] - mov r1, r8 - strb r0, [r1, 0x9] - b _0803D8E2 -_0803D5D0: - mov r2, r10 - subs r2, 0xD - lsls r2, 1 - add r2, r9 - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - lsls r0, 8 - adds r1, r0 - strh r1, [r2] - b _0803D8E2 -_0803D5E4: - mov r0, r9 - add r0, r10 - subs r0, 0x9 - ldrb r1, [r4] - strb r1, [r0] - b _0803D8E2 -_0803D5F0: - ldrb r0, [r4] - strb r0, [r6] - b _0803D8E2 -_0803D5F6: - ldrb r0, [r4] - strb r0, [r6, 0x1] - b _0803D8E2 -_0803D5FC: - ldrb r0, [r4] - strb r0, [r6, 0x2] - b _0803D8E2 -_0803D602: - ldrb r0, [r4] - strb r0, [r6, 0x3] - b _0803D8E2 -_0803D608: - ldrb r0, [r4] - strb r0, [r6, 0x4] - b _0803D8E2 -_0803D60E: - ldrb r0, [r4] - strb r0, [r6, 0x5] - b _0803D8E2 -_0803D614: - ldrb r0, [r4] - strb r0, [r6, 0x6] - b _0803D8E2 -_0803D61A: - ldrb r0, [r4] - strb r0, [r6, 0x7] - b _0803D8E2 -_0803D620: - ldrb r0, [r4] - strb r0, [r6, 0x8] - b _0803D8E2 -_0803D626: - ldrb r0, [r4] - strb r0, [r6, 0x9] - b _0803D8E2 -_0803D62C: - ldrb r0, [r4] - strb r0, [r6, 0xA] - b _0803D8E2 -_0803D632: - ldrb r0, [r4] - strb r0, [r6, 0xB] - b _0803D8E2 -_0803D638: - ldrb r0, [r4] - strb r0, [r5] - b _0803D8E2 -_0803D63E: - ldrb r0, [r4] - strb r0, [r5, 0x1] - b _0803D8E2 -_0803D644: - ldrb r1, [r4] - movs r0, 0x7F - ands r1, r0 - ldrb r2, [r5, 0x2] - movs r0, 0x80 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x2] - b _0803D8E2 -_0803D658: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 7 - ldrh r2, [r5, 0x2] - ldr r0, _0803D66C - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x2] - b _0803D8E2 - .align 2, 0 -_0803D66C: .4byte 0xfffff87f -_0803D670: - ldrb r1, [r4] - movs r0, 0xF - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0x3] - movs r0, 0x79 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - b _0803D8E2 -_0803D686: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x3] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x3] - b _0803D8E2 -_0803D696: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - ldrb r2, [r5, 0x4] - movs r0, 0x20 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x4] - b _0803D8E2 -_0803D6AA: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, _0803D6C0 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - b _0803D8E2 - .align 2, 0 -_0803D6C0: .4byte 0xfffffc1f -_0803D6C4: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0x5] - movs r0, 0x7D - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - b _0803D8E2 -_0803D6DA: - ldrb r2, [r4] - movs r0, 0x1F - ands r2, r0 - lsls r2, 15 - ldr r0, [r5, 0x4] - ldr r1, _0803D6F0 - ands r0, r1 - orrs r0, r2 - str r0, [r5, 0x4] - b _0803D8E2 - .align 2, 0 -_0803D6F0: .4byte 0xfff07fff -_0803D6F4: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 4 - ldrh r2, [r5, 0x6] - ldr r0, _0803D708 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x6] - b _0803D8E2 - .align 2, 0 -_0803D708: .4byte 0xfffffe0f -_0803D70C: - ldrb r1, [r4] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x7] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - b _0803D8E0 -_0803D720: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r5, 0x7] - movs r0, 0x41 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x7] - lsls r0, 25 - cmp r0, 0 - bge _0803D744 - ldrb r0, [r7, 0x13] - movs r1, 0x4 -_0803D73E: - orrs r0, r1 - strb r0, [r7, 0x13] - b _0803D8E2 -_0803D744: - ldrb r1, [r7, 0x13] - movs r0, 0x5 - negs r0, r0 -_0803D74A: - ands r0, r1 - strb r0, [r7, 0x13] - b _0803D8E2 -_0803D750: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x7] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x7] - b _0803D8E2 -_0803D760: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - ldrb r2, [r5, 0x8] - movs r0, 0x8 - negs r0, r0 - b _0803D77C -_0803D76E: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0x8] - movs r0, 0x39 - negs r0, r0 -_0803D77C: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x8] - b _0803D8E2 -_0803D784: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 6 - ldrh r2, [r5, 0x8] - ldr r0, _0803D798 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x8] - b _0803D8E2 - .align 2, 0 -_0803D798: .4byte 0xfffffe3f -_0803D79C: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x9] - movs r0, 0xF - negs r0, r0 - b _0803D7BA -_0803D7AC: - ldrb r1, [r4] - movs r0, 0x7 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0x9] - movs r0, 0x71 - negs r0, r0 -_0803D7BA: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x9] - b _0803D8E2 -_0803D7C2: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0x9] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x9] - b _0803D8E2 -_0803D7D2: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xA] - movs r0, 0x2 - negs r0, r0 - b _0803D83E -_0803D7E0: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xA] - movs r0, 0x3 - negs r0, r0 - b _0803D83E -_0803D7F0: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xA] - movs r0, 0x5 - negs r0, r0 - b _0803D83E -_0803D800: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 3 - ldrb r2, [r5, 0xA] - movs r0, 0x9 - negs r0, r0 - b _0803D83E -_0803D810: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 4 - ldrb r2, [r5, 0xA] - movs r0, 0x11 - negs r0, r0 - b _0803D83E -_0803D820: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 5 - ldrb r2, [r5, 0xA] - movs r0, 0x21 - negs r0, r0 - b _0803D83E -_0803D830: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 6 - ldrb r2, [r5, 0xA] - movs r0, 0x41 - negs r0, r0 -_0803D83E: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xA] - b _0803D8E2 -_0803D846: - ldrb r0, [r4] - lsls r0, 7 - ldrb r2, [r5, 0xA] - movs r1, 0x7F - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xA] - b _0803D8E2 -_0803D856: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - ldrb r2, [r5, 0xB] - movs r0, 0x2 - negs r0, r0 - b _0803D882 -_0803D864: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0xB] - movs r0, 0x3 - negs r0, r0 - b _0803D882 -_0803D874: - ldrb r1, [r4] - movs r0, 0x1 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r5, 0xB] - movs r0, 0x5 - negs r0, r0 -_0803D882: - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0xB] - b _0803D8E2 -_0803D88A: - ldrb r0, [r4] - lsls r0, 3 - ldrb r2, [r5, 0xB] - movs r1, 0x7 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0xB] - b _0803D8E2 -_0803D89A: - ldrb r1, [r4] - movs r4, 0x1F - adds r2, r1, 0 - ands r2, r4 - ldrb r3, [r5, 0x4] - movs r0, 0x20 - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, 0x4] - lsrs r1, 5 - ands r1, r4 - lsls r1, 5 - ldrh r2, [r5, 0x4] - ldr r0, _0803D904 - ands r0, r2 - orrs r0, r1 - strh r0, [r5, 0x4] - ldrb r1, [r5, 0x5] - movs r0, 0x7D - negs r0, r0 - ands r0, r1 - strb r0, [r5, 0x5] - ldr r0, [r5, 0x4] - ldr r1, _0803D908 - ands r0, r1 - str r0, [r5, 0x4] - ldrh r1, [r5, 0x6] - ldr r0, _0803D90C - ands r0, r1 - strh r0, [r5, 0x6] - ldrb r1, [r5, 0x7] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 -_0803D8E0: - strb r0, [r5, 0x7] -_0803D8E2: - mov r0, r10 - cmp r0, 0xA - ble _0803D8F6 - adds r0, r7, 0 - bl CalculateBoxMonChecksum - strh r0, [r7, 0x1C] - adds r0, r7, 0 - bl EncryptBoxMon -_0803D8F6: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803D904: .4byte 0xfffffc1f -_0803D908: .4byte 0xfff07fff -_0803D90C: .4byte 0xfffffe0f - thumb_func_end SetBoxMonData - thumb_func_start CopyMon CopyMon: @ 803D910 push {lr} |