Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;W595 R3EF001
- ;Add question about replacement of file (if file name already exist)
- ;Work for copy/move one/several files
- ;"Yes" - replace coinciding file
- ;"No" - standart copy/move with file name changing to "file name (N)"
- ;When copy/move several files question will be asked for each coinciding
- ;Added "Yes, All files" and "No, All files" for copy/move several files
- ;(c) RaANdOoM
- ;(p) Thilina
- include "x.inc"
- include "lib_r3ef.asm"
- loc_10FFFE8C = 0x10F62178
- loc_10FFFB50 = 0x10F61E3C
- loc_11884558 = 0x117DCBFC
- loc_11888802 = 0x117E0EA6
- loc_118887D8 = 0x117E0E7C
- loc_11888324 = 0x117E09C8
- loc_118882DC = 0x117E0980
- loc_1189C696 = 0x117F4C2E
- loc_1189C7D8 = 0x117F4D70
- loc_1188878A = 0x117E0E2E
- loc_11888878 = 0x117E0F1C
- loc_1189C346 = 0x117F48DE
- loc_1189C33C = 0x117F48D4
- hook1 = 0x117E0934
- hook2 = 0x117E0976
- hook3 = 0x117E09DA
- hook4 = 0x117E0E16
- hook5 = 0x117E0E5C
- hook6 = 0x117E0E72
- hook7 = 0x117E0F0A
- hook8 = 0x117F4D66
- hook9 = 0x117F48C8
- body = 0x12787C60
- org hook1
- PUSH {R4-R7,LR}
- org hook2
- LDR R3, off_118882D8
- BLX R3
- B loc_11888324
- off_118882D8 dw loc_1283CF96+1
- org hook3
- POP {R4-R7,PC}
- org hook4
- B loc_1188878A
- org hook5
- NOP
- B hook6
- org hook6
- loc_118887CE:
- LDR R3, off_118887D4
- BLX R3
- B loc_11888802
- off_118887D4 dw loc_1283CF8C+1
- org hook7
- NOP
- B loc_11888878
- org hook8
- LDR R3, off_1189C7D4
- BLX R3
- B loc_1189C696
- off_1189C7D4 dw body+1
- org hook9
- LDR R0, off_1189C338
- BLX R0
- B loc_1189C346
- B loc_1189C33C
- off_1189C338 dw loc_1283D348+1
- org body
- loc_1283CF80:
- MOV R1, SP
- STRB R5, [R1,2]
- STRB R6, [R1,3]
- LDR R6, [R1,8]
- MOV R7, 2
- B loc_1283CF98
- loc_1283CF8C:
- LDR R0, [R5,0x58]
- ADD R6, R4, 0
- ADD R4, R5, 0
- MOV R7, 1
- B loc_1283CF98
- loc_1283CF96:
- MOV R7, 0
- loc_1283CF98:
- PUSH {R0-R7,LR}
- MOV R2, 0
- LDR R1, [R0]
- LDR R0, [R0,4]
- LDR R3, dword_1283D368
- BLX R3
- CMP R0, 0
- BMI loc_1283CFB4
- B loc_1283CFE4
- loc_1283CFAA:
- LDR R0, [SP]
- LDR R1, [R0]
- LDR R0, [R0,4]
- LDR R3, dword_1283D36C
- BLX R3
- loc_1283CFB4:
- LDR R0, [SP]
- LDR R3, off_1283D370
- BLX R3
- CMP R0, 0
- BEQ loc_1283CFC4
- LDR R3, [SP,0x20]
- ADD R3, 6
- STR R3, [SP,0x20]
- loc_1283CFC4:
- CMP R7, 0
- BEQ loc_1283CFDE
- CMP R7, 2
- BEQ loc_1283CFD6
- LDR R7, [SP,0x10]
- STR R7, [SP,0x14]
- LDR R7, [SP,0x18]
- STR R7, [SP,0x10]
- B loc_1283CFDE
- loc_1283CFD6:
- MOV R7, SP
- ADD R6, SP, 0x24
- LDRB R6, [R6,3]
- STR R6, [R7,0x18]
- loc_1283CFDE:
- MOV R1, 0
- ADD SP, SP, 8
- POP {R2-R7,PC}
- loc_1283CFE4:
- LDR R7, [SP,0x1C]
- CMP R7, 2
- BEQ loc_1283CFFA
- LDR R4, [SP,0x10]
- LDR R0, [R4,0x14]
- CMP R0, 0
- BEQ loc_1283D00A
- LDR R3, dword_1283D374
- BLX R3
- STR R0, [R4,0x14]
- B loc_1283D00A
- loc_1283CFFA:
- adr R1, aSameforall
- MOV R0, 0
- LDR R3, dword_1283D378
- BLX R3
- CMP R0, 0xA
- BEQ loc_1283CFAA
- CMP R0, 0xB
- BEQ loc_1283CFB4
- loc_1283D00A:
- LDR R7, [SP,0x1C]
- LSL R7, R7, 2
- adr R6, dword_1283D28C
- adr R5, loc_1283D068
- ADD R5, 1
- MOV R3, 0
- ADD R2, R5, R7
- CMP R7, 8
- BEQ loc_1283D020
- MOV R1, 8
- B loc_1283D022
- loc_1283D020:
- MOV R1, 0xC
- loc_1283D022:
- ADD R1, R6, R1
- ADD R0, R2, 2
- PUSH {R0-R3}
- CMP R7, 8
- BEQ loc_1283D030
- MOV R3, 6
- B loc_1283D032
- loc_1283D030:
- MOV R3, 0xA
- loc_1283D032:
- ADD R3, R6, R3
- LDR R2, [SP,0x28]
- ADD R1, R6, 4
- BL loc_1283D29C
- PUSH {R0-R3}
- ADD R3, R6, 2
- LDR R0, [SP,0x20]
- LDR R0, [R0]
- BL loc_1283D2CA
- ADD R2, R0, 0
- ADD R1, R6, 0
- MOV R0, 0
- PUSH {R3}
- LDR R3, dword_1283D384
- MOV R12, R3
- POP {R3}
- BLX R12
- ADD SP, SP, 0x20
- CMP R7, 8
- BEQ loc_1283D074
- STR R0, [R4,0x14]
- POP {R0-R7}
- MOV R0, 1
- POP {R3-R7,PC}
- align 4
- loc_1283D068:
- B loc_1283D1AE
- B loc_1283D196
- B loc_1283D1B8
- B loc_1283D1A2
- B loc_1283D1C4
- B loc_1283D1C4
- loc_1283D074:
- ADD R4, R0, 0
- MOVL R1, 0xFC0
- ADD R1, 5
- MOV R2, 0
- LDR R3, dword_1283D388
- BLX R3
- ADD R0, R4, 0
- MOVL R1, 0xFC0
- ADD R1, 5
- MOVL R2, 0x540
- ADD R2, 7
- LDR R3, dword_1283D38C
- BLX R3
- ADD R0, R4, 0
- MOVL R1, 0xFB0
- ADD R1, 0xE
- MOV R2, 0
- LDR R3, dword_1283D388
- BLX R3
- ADD R0, R4, 0
- MOVL R1, 0xFB0
- ADD R1, 0xE
- MOVL R2, 0x540
- ADD R2, 4
- LDR R3, dword_1283D38C
- BLX R3
- ADD R0, R4, 0
- MOV R1, 0
- adr R2, loc_1283D1D0
- ADD R2, 1
- LDR R3, dword_1283D388
- BLX R3
- ADD R0, R4, 0
- MOV R1, 1
- adr R2, loc_1283D184
- ADD R2, 1
- LDR R3, dword_1283D388
- BLX R3
- ADD R0, R4, 0
- MOV R1, 0
- MOVL R2, 0x540
- ADD R2, 7
- LDR R3, dword_1283D38C
- BLX R3
- ADD R0, R4, 0
- MOV R1, 1
- BL loc_1283D2E8
- LDR R3, dword_1283D38C
- BLX R3
- ADD R0, R4, 0
- MOV R1, 2
- adr R2, loc_1283D1C4
- ADD R2, 1
- LDR R3, dword_1283D388
- BLX R3
- ADD R0, R4, 0
- MOV R1, 3
- adr R2, loc_1283D170
- ADD R2, 1
- LDR R3, dword_1283D388
- BLX R3
- ADD R0, R4, 0
- MOV R1, 2
- MOVL R2, 0x540
- ADD R2, 4
- LDR R3, dword_1283D38C
- BLX R3
- ADD R0, R4, 0
- MOV R1, 3
- BL loc_1283D33C
- LDR R3, dword_1283D38C
- BLX R3
- ADD R0, R4, 0
- MOVL R1, 0xFC0
- ADD R1, 5
- MOV R2, 0
- LDR R3, dword_1283D390
- BLX R3
- ADD R0, R4, 0
- MOVL R1, 0xFC0
- ADD R1, 5
- MOV R2, 1
- LDR R3, dword_1283D390
- BLX R3
- ADD R0, R4, 0
- MOVL R1, 0xFB0
- ADD R1, 0xE
- MOV R2, 2
- LDR R3, dword_1283D390
- BLX R3
- ADD R0, R4, 0
- MOVL R1, 0xFB0
- ADD R1, 0xE
- MOV R2, 3
- LDR R3, dword_1283D390
- BLX R3
- ADD R0, R4, 0
- LDR R3, dword_1283D394
- BLX R3
- ADD R2, R4, 0
- adr R1, aFileexistynqgu
- MOV R0, 0
- LDR R3, dword_1283D398
- BLX R3
- POP {R0-R7}
- ADD SP, SP, 4
- LDR R2, [SP]
- adr R1, aSp_regs
- MOV R0, 0
- LDR R3, dword_1283D398
- BLX R3
- POP {R1-R7,PC}
- loc_1283D170:
- PUSH {R0,R3-R7,LR}
- MOV R2, 0xB
- adr R1, aSameforall
- MOV R0, 0
- LDR R3, dword_1283D398
- BLX R3
- LDR R0, [SP]
- ADD SP, SP, 4
- B loc_1283D1C6
- align 4
- loc_1283D184:
- PUSH {R0,R3-R7,LR}
- MOV R2, 0xA
- adr R1, aSameforall
- MOV R0, 0
- LDR R3, dword_1283D398
- BLX R3
- LDR R0, [SP]
- ADD SP, SP, 4
- B loc_1283D1D2
- loc_1283D196:
- PUSH {R4-R7,LR}
- MOV R5, 0
- ADD R6, R0, 0
- LDR R4, [R0,0x18]
- LDR R0, [R4,0x58]
- B loc_1283D1E0
- loc_1283D1A2:
- PUSH {R4-R7,LR}
- MOV R5, 1
- ADD R6, R0, 0
- LDR R4, [R0,0x18]
- LDR R0, [R4,0x58]
- B loc_1283D1E0
- loc_1283D1AE:
- PUSH {R4-R7,LR}
- MOV R5, 0
- ADD R6, R0, 0
- LDR R4, [R0,0x18]
- B loc_1283D24C
- loc_1283D1B8:
- PUSH {R4-R7,LR}
- MOV R5, 1
- ADD R6, R0, 0
- LDR R4, [R0,0x18]
- B loc_1283D24C
- align 4
- loc_1283D1C4:
- PUSH {R3-R7,LR}
- loc_1283D1C6:
- MOV R5, 2
- MOVL R4, 0x290
- ADD R4, R0, R4
- B loc_1283D1EE
- loc_1283D1D0:
- PUSH {R3-R7,LR}
- loc_1283D1D2:
- MOV R5, 2
- MOVL R4, 0x290
- ADD R4, R0, R4
- LDR R0, [R4]
- LDR R0, [R0,0x18]
- LDR R0, [R0,0x58]
- loc_1283D1E0:
- MOV R2, 0
- LDR R1, [R0]
- LDR R0, [R0,4]
- LDR R3, dword_1283D36C
- BLX R3
- CMP R5, 2
- BNE loc_1283D24C
- loc_1283D1EE:
- adr R1, aFileexistynqgu
- MOV R0, 0
- LDR R3, dword_1283D378
- BLX R3
- LDR R3, dword_1283D374
- BLX R3
- adr R1, aYesforall_stri
- MOV R0, 0
- LDR R3, dword_1283D378
- BLX R3
- MOV R2, 0
- ADD R1, R2, 0
- LDR R3, dword_1283D39C
- BLX R3
- adr R1, aNoforall_strid
- MOV R0, 0
- LDR R3, dword_1283D378
- BLX R3
- MOV R2, 0
- ADD R1, R2, 0
- LDR R3, dword_1283D39C
- BLX R3
- LDR R0, [R4]
- LDR R0, [R0,0x18]
- LDR R0, [R0,0x58]
- LDR R3, off_1283D370
- BLX R3
- ADD R7, R0, 0
- SUB SP, SP, 8
- adr R1, aSp_regs
- MOV R0, 0
- LDR R3, dword_1283D378
- BLX R3
- STR R0, [SP]
- MOV R6, SP
- LDRB R5, [R6,2]
- LDRB R6, [R6,3]
- CMP R7, 0
- BEQ loc_1283D244
- LDR R0, dword_1283D240
- BX R0
- dword_1283D240 dw loc_1189C7D8+1
- loc_1283D244:
- LDR R0, dword_1283D248
- BX R0
- dword_1283D248 dw loc_1189C696+1
- loc_1283D24C:
- LDR R0, [R4,0x14]
- LDR R3, dword_1283D374
- BLX R3
- STR R0, [R4,0x14]
- LDR R0, [R4,0x58]
- LDR R3, off_1283D370
- BLX R3
- CMP R5, 1
- BEQ loc_1283D274
- CMP R0, 0
- BEQ loc_1283D26C
- MOV R1, 0
- LDR R0, off_1283D268
- BX R0
- off_1283D268 dw loc_118882DC+1
- loc_1283D26C:
- LDR R0, dword_1283D270
- BX R0
- dword_1283D270 dw loc_11888324+1
- loc_1283D274:
- ADD R5, R4, 0
- ADD R4, R6, 0
- CMP R0, 0
- BEQ loc_1283D284
- LDR R0, off_1283D280
- BX R0
- off_1283D280 dw loc_118887D8+1
- loc_1283D284:
- LDR R0, dword_1283D288
- BX R0
- dword_1283D288 dw loc_11888802+1
- dword_1283D28C dw 0xAD006B
- dw 0xC70051
- dw 0xAC009D
- dw 0x56
- loc_1283D29C:
- PUSH {R0-R7,LR}
- SUB SP, SP, 0xC
- MOVL R0, 0x840
- STR R0, [SP,8]
- SUB R0, 1
- STR R0, [SP]
- MOVL R0, 0x78000000
- ADD R0, 0xA
- STR R0, [SP,4]
- MOV R3, 0
- MOV R2, 3
- MOV R1, 5
- MOV R0, SP
- PUSH {R3}
- PUSH {R3}
- LDR R3, dword_1283D380
- MOV R12, R3
- POP {R3}
- BLX R12
- ADD SP, SP, 0x14
- POP {R1-R7,PC}
- loc_1283D2CA:
- PUSH {R0-R7,LR}
- LDR R3, dword_1283D37C
- BLX R3
- MOV R3, 0
- ADD R2, R0, 0
- MOV R1, 0
- LDR R0, [SP]
- PUSH {R3}
- PUSH {R3}
- LDR R3, dword_1283D380
- MOV R12, R3
- POP {R3}
- BLX R12
- ADD SP, SP, 8
- POP {R1-R7,PC}
- loc_1283D2E8:
- PUSH {R0-R7,LR}
- SUB SP, SP, 0x10
- MOVL R0, 0x540
- ADD R0, 7
- loc_1283D2F2:
- STR R0, [SP]
- MOVL R0, 0x78000000
- ADD R0, 0x20
- STR R0, [SP,8]
- ADD R0, 0xC
- STR R0, [SP,4]
- MOVL R0, 0x650
- ADD R0, 6
- STR R0, [SP,0xC]
- MOV R3, 0
- MOV R2, 4
- MOV R1, 5
- MOV R0, SP
- PUSH {R3}
- PUSH {R3}
- LDR R3, dword_1283D380
- MOV R12, R3
- POP {R3}
- BLX R12
- STR R0, [SP,0x1C]
- ADD R2, R0, 0
- MOV R0, 0
- LDR R1, [SP,4]
- MOVL R3, 0x540
- ADD R3, 4
- CMP R1, R3
- BEQ loc_1283D332
- adr R1, aYesforall_stri
- B loc_1283D334
- loc_1283D332:
- adr R1, aNoforall_strid
- loc_1283D334:
- LDR R3, dword_1283D398
- BLX R3
- ADD SP, SP, 0x14
- POP {R0-R7,PC}
- loc_1283D33C:
- PUSH {R0-R7,LR}
- SUB SP, SP, 0x10
- MOVL R0, 0x540
- ADD R0, 4
- B loc_1283D2F2
- loc_1283D348:
- PUSH {LR}
- MOV R2, 0
- adr R1, aSameforall
- MOV R0, 0
- LDR R3, dword_1283D398
- BLX R3
- LDR R0, [R4]
- CMP R0, 0
- BEQ locret_1283D366
- LDR R1, [R0,0x14]
- CMP R1, 0
- BEQ locret_1283D366
- LDR R0, [SP]
- ADD R0, 2
- STR R0, [SP]
- locret_1283D366:
- POP {PC}
- dword_1283D368 dw fstat
- dword_1283D36C dw FileDelete
- off_1283D370 dw loc_11884558+1
- dword_1283D374 dw GUIObject_Destroy
- dword_1283D378 dw get_envp
- dword_1283D37C dw wstrlen
- dword_1283D380 dw loc_10FFFB50+1
- dword_1283D384 dw CreateYesNoQuestionVA
- dword_1283D388 dw GUIObject_SoftKeys_SetAction
- dword_1283D38C dw GUIObject_SoftKeys_SetText
- dword_1283D390 dw GUIObject_SoftKeys_SetItemAsSubItem
- dword_1283D394 dw GUIObject_Show
- dword_1283D398 dw set_envp
- dword_1283D39C dw loc_10FFFE8C+1
- aYesforall_stri db "YesForAll_strID",0
- aNoforall_strid db "NoForAll_strID",0
- db 0
- aSameforall db "SameForAll",0
- db 0
- aFileexistynqgu db "FileExistYNQGUI",0
- aSp_regs db "SP_Regs",0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement