Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;W595 R3EF001
  2. ;Add question about replacement of file (if file name already exist)
  3. ;Work for copy/move one/several files
  4. ;"Yes" - replace coinciding file
  5. ;"No" - standart copy/move with file name changing to "file name (N)"
  6. ;When copy/move several files question will be asked for each coinciding
  7. ;Added "Yes, All files" and "No, All files" for copy/move several files
  8. ;(c) RaANdOoM
  9. ;(p) Thilina
  10.  
  11. include "x.inc"
  12. include "lib_r3ef.asm"
  13.  
  14. loc_10FFFE8C = 0x10F62178
  15. loc_10FFFB50 = 0x10F61E3C
  16. loc_11884558 = 0x117DCBFC
  17. loc_11888802 = 0x117E0EA6
  18. loc_118887D8 = 0x117E0E7C
  19. loc_11888324 = 0x117E09C8
  20. loc_118882DC = 0x117E0980
  21. loc_1189C696 = 0x117F4C2E
  22. loc_1189C7D8 = 0x117F4D70
  23.  
  24. loc_1188878A = 0x117E0E2E
  25. loc_11888878 = 0x117E0F1C
  26. loc_1189C346 = 0x117F48DE
  27. loc_1189C33C = 0x117F48D4
  28.  
  29. hook1 = 0x117E0934
  30. hook2 = 0x117E0976
  31. hook3 = 0x117E09DA
  32. hook4 = 0x117E0E16
  33. hook5 = 0x117E0E5C
  34. hook6 = 0x117E0E72
  35. hook7 = 0x117E0F0A
  36. hook8 = 0x117F4D66
  37. hook9 = 0x117F48C8
  38. body  = 0x12787C60
  39.  
  40.  
  41. org hook1
  42.         PUSH    {R4-R7,LR}
  43.        
  44. org hook2
  45.         LDR R3, off_118882D8
  46.         BLX R3
  47.         B   loc_11888324
  48.  
  49. off_118882D8    dw loc_1283CF96+1
  50.  
  51. org hook3
  52.         POP     {R4-R7,PC}
  53.  
  54. org hook4
  55.         B       loc_1188878A
  56.  
  57. org hook5
  58.         NOP
  59.         B       hook6
  60.  
  61. org hook6
  62. loc_118887CE:  
  63.         LDR R3, off_118887D4
  64.         BLX R3
  65.         B   loc_11888802
  66.  
  67. off_118887D4    dw loc_1283CF8C+1
  68.  
  69. org hook7
  70.         NOP
  71.         B       loc_11888878
  72.  
  73. org hook8
  74.         LDR R3, off_1189C7D4
  75.         BLX R3
  76.         B   loc_1189C696
  77.  
  78. off_1189C7D4    dw body+1
  79.  
  80. org hook9
  81.         LDR R0, off_1189C338
  82.         BLX R0
  83.         B   loc_1189C346
  84.         B   loc_1189C33C
  85.  
  86. off_1189C338    dw loc_1283D348+1
  87.    
  88. org body
  89. loc_1283CF80:  
  90.         MOV R1, SP
  91.         STRB    R5, [R1,2]
  92.         STRB    R6, [R1,3]
  93.         LDR R6, [R1,8]
  94.         MOV R7, 2
  95.         B   loc_1283CF98
  96.  
  97. loc_1283CF8C:  
  98.         LDR R0, [R5,0x58]
  99.         ADD R6, R4, 0
  100.         ADD R4, R5, 0
  101.         MOV R7, 1
  102.         B   loc_1283CF98
  103.  
  104. loc_1283CF96:  
  105.         MOV R7, 0
  106.  
  107. loc_1283CF98:  
  108.         PUSH    {R0-R7,LR}
  109.         MOV R2, 0
  110.         LDR R1, [R0]
  111.         LDR R0, [R0,4]
  112.         LDR R3, dword_1283D368
  113.         BLX R3     
  114.         CMP R0, 0
  115.         BMI loc_1283CFB4
  116.         B   loc_1283CFE4
  117.  
  118. loc_1283CFAA:  
  119.         LDR R0, [SP]
  120.         LDR R1, [R0]
  121.         LDR R0, [R0,4]
  122.         LDR R3, dword_1283D36C
  123.         BLX R3     
  124.  
  125. loc_1283CFB4:  
  126.         LDR R0, [SP]
  127.         LDR R3, off_1283D370
  128.         BLX R3
  129.         CMP R0, 0
  130.         BEQ loc_1283CFC4
  131.         LDR R3, [SP,0x20]
  132.         ADD R3, 6
  133.         STR R3, [SP,0x20]
  134.  
  135. loc_1283CFC4:  
  136.         CMP R7, 0
  137.         BEQ loc_1283CFDE
  138.         CMP R7, 2
  139.         BEQ loc_1283CFD6
  140.         LDR R7, [SP,0x10]
  141.         STR R7, [SP,0x14]
  142.         LDR R7, [SP,0x18]
  143.         STR R7, [SP,0x10]
  144.         B   loc_1283CFDE
  145.  
  146. loc_1283CFD6:  
  147.         MOV R7, SP
  148.         ADD R6, SP, 0x24
  149.         LDRB    R6, [R6,3]
  150.         STR R6, [R7,0x18]
  151.  
  152. loc_1283CFDE:  
  153.         MOV R1, 0
  154.         ADD SP, SP, 8
  155.         POP {R2-R7,PC}
  156.  
  157. loc_1283CFE4:  
  158.         LDR R7, [SP,0x1C]
  159.         CMP R7, 2
  160.         BEQ loc_1283CFFA
  161.         LDR R4, [SP,0x10]
  162.         LDR R0, [R4,0x14]
  163.         CMP R0, 0
  164.         BEQ loc_1283D00A
  165.         LDR R3, dword_1283D374
  166.         BLX R3     
  167.         STR R0, [R4,0x14]
  168.         B   loc_1283D00A
  169.  
  170. loc_1283CFFA:  
  171.         adr R1, aSameforall
  172.         MOV R0, 0
  173.         LDR R3, dword_1283D378
  174.         BLX R3     
  175.         CMP R0, 0xA
  176.         BEQ loc_1283CFAA
  177.         CMP R0, 0xB
  178.         BEQ loc_1283CFB4
  179.  
  180. loc_1283D00A:  
  181.         LDR R7, [SP,0x1C]
  182.         LSL R7, R7, 2
  183.         adr R6, dword_1283D28C
  184.         adr R5, loc_1283D068
  185.         ADD R5, 1
  186.         MOV R3, 0
  187.         ADD R2, R5, R7
  188.         CMP R7, 8
  189.         BEQ loc_1283D020
  190.         MOV R1, 8
  191.         B   loc_1283D022
  192.  
  193. loc_1283D020:  
  194.         MOV R1, 0xC
  195.  
  196. loc_1283D022:  
  197.         ADD R1, R6, R1
  198.         ADD R0, R2, 2
  199.         PUSH    {R0-R3}
  200.         CMP R7, 8
  201.         BEQ loc_1283D030
  202.         MOV R3, 6
  203.         B   loc_1283D032
  204.  
  205. loc_1283D030:  
  206.         MOV R3, 0xA
  207.  
  208. loc_1283D032:  
  209.         ADD R3, R6, R3
  210.         LDR R2, [SP,0x28]
  211.         ADD R1, R6, 4
  212.         BL  loc_1283D29C
  213.         PUSH    {R0-R3}
  214.         ADD R3, R6, 2
  215.         LDR R0, [SP,0x20]
  216.         LDR R0, [R0]
  217.         BL  loc_1283D2CA
  218.         ADD R2, R0, 0
  219.         ADD R1, R6, 0
  220.         MOV R0, 0
  221.         PUSH    {R3}
  222.         LDR R3, dword_1283D384
  223.         MOV R12, R3
  224.         POP {R3}
  225.         BLX R12    
  226.         ADD SP, SP, 0x20
  227.         CMP R7, 8
  228.         BEQ loc_1283D074
  229.         STR R0, [R4,0x14]
  230.         POP {R0-R7}
  231.         MOV R0, 1
  232.         POP {R3-R7,PC}
  233.         align 4
  234.  
  235. loc_1283D068:  
  236.         B   loc_1283D1AE
  237.         B   loc_1283D196
  238.         B   loc_1283D1B8
  239.         B   loc_1283D1A2
  240.         B   loc_1283D1C4
  241.         B   loc_1283D1C4
  242.  
  243. loc_1283D074:  
  244.         ADD R4, R0, 0
  245.         MOVL    R1, 0xFC0
  246.         ADD R1, 5
  247.         MOV R2, 0
  248.         LDR R3, dword_1283D388
  249.         BLX R3     
  250.         ADD R0, R4, 0
  251.         MOVL    R1, 0xFC0
  252.         ADD R1, 5
  253.         MOVL    R2, 0x540
  254.         ADD R2, 7
  255.         LDR R3, dword_1283D38C
  256.         BLX R3     
  257.         ADD R0, R4, 0
  258.         MOVL    R1, 0xFB0
  259.         ADD R1, 0xE
  260.         MOV R2, 0
  261.         LDR R3, dword_1283D388
  262.         BLX R3     
  263.         ADD R0, R4, 0
  264.         MOVL    R1, 0xFB0
  265.         ADD R1, 0xE
  266.         MOVL    R2, 0x540
  267.         ADD R2, 4
  268.         LDR R3, dword_1283D38C
  269.         BLX R3     
  270.         ADD R0, R4, 0
  271.         MOV R1, 0
  272.         adr R2, loc_1283D1D0
  273.         ADD R2, 1
  274.         LDR R3, dword_1283D388
  275.         BLX R3     
  276.         ADD R0, R4, 0
  277.         MOV R1, 1
  278.         adr R2, loc_1283D184
  279.         ADD R2, 1
  280.         LDR R3, dword_1283D388
  281.         BLX R3     
  282.         ADD R0, R4, 0
  283.         MOV R1, 0
  284.         MOVL    R2, 0x540
  285.         ADD R2, 7
  286.         LDR R3, dword_1283D38C
  287.         BLX R3     
  288.         ADD R0, R4, 0
  289.         MOV R1, 1
  290.         BL  loc_1283D2E8
  291.         LDR R3, dword_1283D38C
  292.         BLX R3     
  293.         ADD R0, R4, 0
  294.         MOV R1, 2
  295.         adr R2, loc_1283D1C4
  296.         ADD R2, 1
  297.         LDR R3, dword_1283D388
  298.         BLX R3     
  299.         ADD R0, R4, 0
  300.         MOV R1, 3
  301.         adr R2, loc_1283D170
  302.         ADD R2, 1
  303.         LDR R3, dword_1283D388
  304.         BLX R3     
  305.         ADD R0, R4, 0
  306.         MOV R1, 2
  307.         MOVL    R2, 0x540
  308.         ADD R2, 4
  309.         LDR R3, dword_1283D38C
  310.         BLX R3     
  311.         ADD R0, R4, 0
  312.         MOV R1, 3
  313.         BL  loc_1283D33C
  314.         LDR R3, dword_1283D38C
  315.         BLX R3     
  316.         ADD R0, R4, 0
  317.         MOVL    R1, 0xFC0
  318.         ADD R1, 5
  319.         MOV R2, 0
  320.         LDR R3, dword_1283D390
  321.         BLX R3     
  322.         ADD R0, R4, 0
  323.         MOVL    R1, 0xFC0
  324.         ADD R1, 5
  325.         MOV R2, 1
  326.         LDR R3, dword_1283D390
  327.         BLX R3     
  328.         ADD R0, R4, 0
  329.         MOVL    R1, 0xFB0
  330.         ADD R1, 0xE
  331.         MOV R2, 2
  332.         LDR R3, dword_1283D390
  333.         BLX R3     
  334.         ADD R0, R4, 0
  335.         MOVL    R1, 0xFB0
  336.         ADD R1, 0xE
  337.         MOV R2, 3
  338.         LDR R3, dword_1283D390
  339.         BLX R3     
  340.         ADD R0, R4, 0
  341.         LDR R3, dword_1283D394
  342.         BLX R3     
  343.         ADD R2, R4, 0
  344.         adr R1, aFileexistynqgu
  345.         MOV R0, 0
  346.         LDR R3, dword_1283D398
  347.         BLX R3     
  348.         POP {R0-R7}
  349.         ADD SP, SP, 4
  350.         LDR R2, [SP]
  351.         adr R1, aSp_regs   
  352.         MOV R0, 0
  353.         LDR R3, dword_1283D398
  354.         BLX R3     
  355.         POP {R1-R7,PC}
  356.  
  357. loc_1283D170:  
  358.         PUSH    {R0,R3-R7,LR}
  359.         MOV R2, 0xB
  360.         adr R1, aSameforall
  361.         MOV R0, 0
  362.         LDR R3, dword_1283D398
  363.         BLX R3     
  364.         LDR R0, [SP]
  365.         ADD SP, SP, 4
  366.         B   loc_1283D1C6
  367.         align 4
  368.  
  369. loc_1283D184:  
  370.         PUSH    {R0,R3-R7,LR}
  371.         MOV R2, 0xA
  372.         adr R1, aSameforall
  373.         MOV R0, 0
  374.         LDR R3, dword_1283D398
  375.         BLX R3     
  376.         LDR R0, [SP]
  377.         ADD SP, SP, 4
  378.         B   loc_1283D1D2
  379.  
  380. loc_1283D196:  
  381.         PUSH    {R4-R7,LR}
  382.         MOV R5, 0
  383.         ADD R6, R0, 0
  384.         LDR R4, [R0,0x18]
  385.         LDR R0, [R4,0x58]
  386.         B   loc_1283D1E0
  387.  
  388. loc_1283D1A2:  
  389.         PUSH    {R4-R7,LR}
  390.         MOV R5, 1
  391.         ADD R6, R0, 0
  392.         LDR R4, [R0,0x18]
  393.         LDR R0, [R4,0x58]
  394.         B   loc_1283D1E0
  395.  
  396. loc_1283D1AE:  
  397.         PUSH    {R4-R7,LR}
  398.         MOV R5, 0
  399.         ADD R6, R0, 0
  400.         LDR R4, [R0,0x18]
  401.         B   loc_1283D24C
  402.  
  403. loc_1283D1B8:  
  404.         PUSH    {R4-R7,LR}
  405.         MOV R5, 1
  406.         ADD R6, R0, 0
  407.         LDR R4, [R0,0x18]
  408.         B   loc_1283D24C
  409.         align 4
  410.  
  411. loc_1283D1C4:  
  412.         PUSH    {R3-R7,LR}
  413.  
  414. loc_1283D1C6:  
  415.         MOV R5, 2
  416.         MOVL    R4, 0x290
  417.         ADD R4, R0, R4
  418.         B   loc_1283D1EE
  419.  
  420. loc_1283D1D0:  
  421.         PUSH    {R3-R7,LR}
  422.  
  423. loc_1283D1D2:  
  424.         MOV R5, 2
  425.         MOVL    R4, 0x290
  426.         ADD R4, R0, R4
  427.         LDR R0, [R4]
  428.         LDR R0, [R0,0x18]
  429.         LDR R0, [R0,0x58]
  430.  
  431. loc_1283D1E0:  
  432.         MOV R2, 0
  433.         LDR R1, [R0]
  434.         LDR R0, [R0,4]
  435.         LDR R3, dword_1283D36C
  436.         BLX R3     
  437.         CMP R5, 2
  438.         BNE loc_1283D24C
  439.  
  440. loc_1283D1EE:  
  441.         adr R1, aFileexistynqgu
  442.         MOV R0, 0
  443.         LDR R3, dword_1283D378
  444.         BLX R3     
  445.         LDR R3, dword_1283D374
  446.         BLX R3     
  447.         adr R1, aYesforall_stri
  448.         MOV R0, 0
  449.         LDR R3, dword_1283D378
  450.         BLX R3     
  451.         MOV R2, 0
  452.         ADD R1, R2, 0
  453.         LDR R3, dword_1283D39C
  454.         BLX R3
  455.         adr R1, aNoforall_strid
  456.         MOV R0, 0
  457.         LDR R3, dword_1283D378
  458.         BLX R3     
  459.         MOV R2, 0
  460.         ADD R1, R2, 0
  461.         LDR R3, dword_1283D39C
  462.         BLX R3
  463.         LDR R0, [R4]
  464.         LDR R0, [R0,0x18]
  465.         LDR R0, [R0,0x58]
  466.         LDR R3, off_1283D370
  467.         BLX R3
  468.         ADD R7, R0, 0
  469.         SUB SP, SP, 8
  470.         adr R1, aSp_regs   
  471.         MOV R0, 0
  472.         LDR R3, dword_1283D378
  473.         BLX R3     
  474.         STR R0, [SP]
  475.         MOV R6, SP
  476.         LDRB    R5, [R6,2]
  477.         LDRB    R6, [R6,3]
  478.         CMP R7, 0
  479.         BEQ loc_1283D244
  480.         LDR R0, dword_1283D240
  481.         BX  R0
  482.  
  483. dword_1283D240  dw loc_1189C7D8+1      
  484.  
  485. loc_1283D244:  
  486.         LDR R0, dword_1283D248
  487.         BX  R0
  488.  
  489. dword_1283D248  dw loc_1189C696+1      
  490.  
  491. loc_1283D24C:  
  492.  
  493.         LDR R0, [R4,0x14]
  494.         LDR R3, dword_1283D374
  495.         BLX R3     
  496.         STR R0, [R4,0x14]
  497.         LDR R0, [R4,0x58]
  498.         LDR R3, off_1283D370
  499.         BLX R3
  500.         CMP R5, 1
  501.         BEQ loc_1283D274
  502.         CMP R0, 0
  503.         BEQ loc_1283D26C
  504.         MOV R1, 0
  505.         LDR R0, off_1283D268
  506.         BX  R0
  507.  
  508. off_1283D268    dw loc_118882DC+1  
  509.  
  510. loc_1283D26C:  
  511.         LDR R0, dword_1283D270
  512.         BX  R0
  513.  
  514. dword_1283D270  dw loc_11888324+1      
  515.  
  516.  
  517. loc_1283D274:  
  518.         ADD R5, R4, 0
  519.         ADD R4, R6, 0
  520.         CMP R0, 0
  521.         BEQ loc_1283D284
  522.         LDR R0, off_1283D280
  523.         BX  R0
  524.  
  525. off_1283D280    dw loc_118887D8+1  
  526.  
  527. loc_1283D284:  
  528.         LDR R0, dword_1283D288
  529.         BX  R0
  530.  
  531. dword_1283D288  dw loc_11888802+1      
  532. dword_1283D28C  dw 0xAD006B    
  533.         dw 0xC70051
  534.         dw 0xAC009D
  535.         dw 0x56
  536.  
  537. loc_1283D29C:  
  538.         PUSH    {R0-R7,LR}
  539.         SUB SP, SP, 0xC
  540.         MOVL    R0, 0x840
  541.         STR R0, [SP,8]
  542.         SUB R0, 1
  543.         STR R0, [SP]
  544.         MOVL    R0, 0x78000000
  545.         ADD R0, 0xA
  546.         STR R0, [SP,4]
  547.         MOV R3, 0
  548.         MOV R2, 3
  549.         MOV R1, 5
  550.         MOV R0, SP
  551.         PUSH    {R3}
  552.         PUSH    {R3}
  553.         LDR R3, dword_1283D380
  554.         MOV R12, R3
  555.         POP {R3}
  556.         BLX R12
  557.         ADD SP, SP, 0x14
  558.         POP {R1-R7,PC}
  559.  
  560. loc_1283D2CA:  
  561.         PUSH    {R0-R7,LR}
  562.         LDR R3, dword_1283D37C
  563.         BLX R3     
  564.         MOV R3, 0
  565.         ADD R2, R0, 0
  566.         MOV R1, 0
  567.         LDR R0, [SP]
  568.         PUSH    {R3}
  569.         PUSH    {R3}
  570.         LDR R3, dword_1283D380
  571.         MOV R12, R3
  572.         POP {R3}
  573.         BLX R12
  574.         ADD SP, SP, 8
  575.         POP {R1-R7,PC}
  576.  
  577.  
  578. loc_1283D2E8:  
  579.         PUSH    {R0-R7,LR}
  580.         SUB SP, SP, 0x10
  581.         MOVL    R0, 0x540
  582.         ADD R0, 7
  583.  
  584. loc_1283D2F2:  
  585.         STR R0, [SP]
  586.         MOVL    R0, 0x78000000
  587.         ADD R0, 0x20
  588.         STR R0, [SP,8]
  589.         ADD R0, 0xC
  590.         STR R0, [SP,4]
  591.         MOVL    R0, 0x650
  592.         ADD R0, 6
  593.         STR R0, [SP,0xC]
  594.         MOV R3, 0
  595.         MOV R2, 4
  596.         MOV R1, 5
  597.         MOV R0, SP
  598.         PUSH    {R3}
  599.         PUSH    {R3}
  600.         LDR R3, dword_1283D380
  601.         MOV R12, R3
  602.         POP {R3}
  603.         BLX R12
  604.         STR R0, [SP,0x1C]
  605.         ADD R2, R0, 0
  606.         MOV R0, 0
  607.         LDR R1, [SP,4]
  608.         MOVL    R3, 0x540
  609.         ADD R3, 4
  610.         CMP R1, R3
  611.         BEQ loc_1283D332
  612.         adr R1, aYesforall_stri
  613.         B   loc_1283D334
  614.  
  615. loc_1283D332:  
  616.         adr R1, aNoforall_strid
  617.  
  618. loc_1283D334:  
  619.         LDR R3, dword_1283D398
  620.         BLX R3     
  621.         ADD SP, SP, 0x14
  622.         POP {R0-R7,PC}
  623.  
  624. loc_1283D33C:  
  625.         PUSH    {R0-R7,LR}
  626.         SUB SP, SP, 0x10
  627.         MOVL    R0, 0x540
  628.         ADD R0, 4
  629.         B   loc_1283D2F2
  630.  
  631. loc_1283D348:  
  632.         PUSH    {LR}
  633.         MOV R2, 0
  634.         adr R1, aSameforall
  635.         MOV R0, 0
  636.         LDR R3, dword_1283D398
  637.         BLX R3     
  638.         LDR R0, [R4]
  639.         CMP R0, 0
  640.         BEQ locret_1283D366
  641.         LDR R1, [R0,0x14]
  642.         CMP R1, 0
  643.         BEQ locret_1283D366
  644.         LDR R0, [SP]
  645.         ADD R0, 2
  646.         STR R0, [SP]
  647.  
  648. locret_1283D366:   
  649.         POP {PC}
  650.  
  651. dword_1283D368  dw fstat       
  652. dword_1283D36C  dw FileDelete      
  653. off_1283D370    dw loc_11884558+1  
  654. dword_1283D374  dw GUIObject_Destroy       
  655. dword_1283D378  dw get_envp    
  656. dword_1283D37C  dw wstrlen     
  657. dword_1283D380  dw loc_10FFFB50+1      
  658. dword_1283D384  dw CreateYesNoQuestionVA   
  659. dword_1283D388  dw GUIObject_SoftKeys_SetAction
  660. dword_1283D38C  dw GUIObject_SoftKeys_SetText      
  661. dword_1283D390  dw GUIObject_SoftKeys_SetItemAsSubItem 
  662. dword_1283D394  dw GUIObject_Show      
  663. dword_1283D398  dw set_envp    
  664. dword_1283D39C  dw loc_10FFFE8C+1      
  665.  
  666. aYesforall_stri db "YesForAll_strID",0
  667. aNoforall_strid db "NoForAll_strID",0  
  668.         db    0
  669. aSameforall db "SameForAll",0      
  670.         db    0
  671. aFileexistynqgu db "FileExistYNQGUI",0
  672. aSp_regs    db "SP_Regs",0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement