Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;W595 R3EF001
  2. ;Show transfer speed, percent, time elapsed/left in OBEX, Download pages
  3. ;(!) Heap shift (4BBF59D8)
  4. ;(!) remove V1,used free space of it
  5. ;v 2.0(A2)
  6. ;(c) Amir_82111
  7. ;(p) Thilina
  8. ;
  9.  
  10.  
  11. include "x.inc"
  12. include "lib_r3ef.asm"
  13.  
  14. loc_14E0E690 = 0x1089E72C
  15. loc_1520EDBC = 0x108A0D9A
  16. loc_142D2104 = 0x1077C018
  17. TextID_Create = 0x10F61E3C
  18. TextID_CreateIntegerID = 0x10F61C68
  19. TextID_Copy = 0x10F6201C
  20. heap1 = 0x4BBF59D8
  21.  
  22. hook1 equ 0x1089E722
  23. hook2 equ 0x108A0D90
  24. hook3 equ 0x1077C010
  25. patch equ 0x127897F0;free space
  26.  
  27. org hook1
  28.  
  29. LDR     R1, off_14E0E68C
  30. BX      R1
  31. DCB 0xFF
  32. DCB 0xFF
  33. off_14E0E68C    DCD loc_15DBAA00+1
  34.  
  35. org hook2
  36.  
  37. LDR     R1, off_1520EDB8
  38. BX      R1
  39. align 4
  40. off_1520EDB8    DCD loc_15DBAA2E+1
  41. NOP
  42.  
  43. org hook3
  44.  
  45. LDR     R2, off_142D2100
  46. BX      R2
  47. off_142D2100    DCD loc_15DBAA5E+1
  48.  
  49. org patch
  50.  
  51.  
  52.  
  53.  
  54. loc_15DBAA00:    
  55.  
  56.         BL    sub_15DBAA18
  57.         ADD    R1, R0,    0
  58.         LDR    R0, [R5]
  59.         BL    sub_15DBAC6C
  60.         LDR    R4, [R5,0x24]
  61.         LDR    R0, off_15DBAA14
  62.         BX    R0
  63.  
  64.         align 4
  65. off_15DBAA14    dw loc_14E0E690+1    
  66.  
  67.  
  68.  
  69.  
  70. sub_15DBAA18:    
  71.         PUSH    {R1-R7,LR}
  72.         LDR    R1, [R5,0x2C]
  73.         ASR    R1, R1,    0xA
  74.         LDR    R3, [R5,0x24]
  75.         ASR    R3, R3,    0xA
  76.         LDR    R2, dword_15DBAC24
  77.         ADD    R4, R2,    0
  78.         ADD    R4, 8
  79.         BL    sub_15DBAA8A
  80.         POP    {R1-R7,PC}
  81.  
  82.  
  83.  
  84.  
  85. loc_15DBAA2E:    
  86.  
  87.         BL    sub_15DBAA44
  88.         ADD    R1, R0,    0
  89.         LDR    R0, [R5]
  90.         BL    sub_15DBAC6C
  91.         LDR    R0, dword_15DBAC20
  92.         LDR    R1, off_15DBAA40
  93.         BX    R1
  94.  
  95. off_15DBAA40    dw loc_1520EDBC+1    
  96.  
  97.  
  98.  
  99.  
  100. sub_15DBAA44:    
  101.         PUSH    {R1-R7,LR}
  102.         LDR    R1, dword_15DBAC20
  103.         ADD    R5, R4,    R1
  104.         LDR    R1, [R5,4]
  105.         ASR    R1, R1,    0xA
  106.         LDR    R3, [R5,8]
  107.         ASR    R3, R3,    0xA
  108.         LDR    R2, dword_15DBAC24
  109.         ADD    R2, 4
  110.         ADD    R4, R2,    6
  111.         BL    sub_15DBAA8A
  112.         POP    {R1-R7,PC}
  113.  
  114.  
  115.  
  116.  
  117.  
  118. loc_15DBAA5E:    
  119.  
  120.         BL    sub_15DBAA74
  121.         MOV    R2, 0
  122.         ADD    R1, R2,    0
  123.         BL    sub_15DBAC7C
  124.         LDR    R1, off_15DBAA70
  125.         BX    R1
  126.  
  127.  
  128.         align 4
  129. off_15DBAA70    dw loc_142D2104+1    
  130.  
  131.  
  132.  
  133.  
  134. sub_15DBAA74:    
  135.         PUSH    {R1-R7,LR}
  136.         LDR    R1, [R5,8]
  137.         ASR    R1, R1,    0xA
  138.         LDR    R3, [R5,0xC]
  139.         ASR    R3, R3,    0xA
  140.         LDR    R2, dword_15DBAC24
  141.         ADD    R2, 0xC
  142.         ADD    R4, R2,    4
  143.         BL    sub_15DBAA8A
  144.         POP    {R1-R7,PC}
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151. sub_15DBAA8A:    
  152.  
  153.  
  154. var_48        = -0x48
  155.  
  156.         PUSH    {R1-R7,LR}
  157.         SUB    SP, SP,    0x28
  158.         MOV    R7, SP
  159.         ADD    R5, R1,    0
  160.         ADD    R6, R2,    0
  161.         STR    R0, [R7,0x48+var_48]
  162.         LDR    R1, [R6]
  163.         STR    R5, [R6]
  164.         SUB    R0, R5,    R1
  165.         BPL    loc_15DBAAA4
  166.         ADD    R0, R5,    0
  167.         MOV    R1, 0
  168.         STRH    R1, [R4]
  169.  
  170. loc_15DBAAA4:    
  171.         ADD    R6, R0,    0
  172.         SUB    R1, R3,    R5
  173.         BL    sub_15DBAB20
  174.         STR    R0, [R7,0x24]
  175.         ADD    R0, R5,    0
  176.         ADD    R1, R3,    0
  177.         BL    sub_15DBABF4
  178.         BL    sub_15DBAC5C
  179.         STR    R0, [R7,0x10]
  180.         MOV    R3, 0
  181.         PUSH    {R3}
  182.         adr    R0, asc_15DBAC48
  183.         MOV    R1, 6
  184.         MOV    R2, 1
  185.         BL    sub_15DBAC4E
  186.         ADD    SP, SP,    4
  187.         STR    R0, [R7,0x14]
  188.         ADD    R0, R6,    0
  189.         BL    sub_15DBAC5C
  190.         STR    R0, [R7,8]
  191.         LDRH    R0, [R4]
  192.         ADD    R0, 1
  193.         STRH    R0, [R4]
  194.         BL    sub_15DBAB6C
  195.         STR    R0, [R7,0x1C]
  196.         MOV    R3, 0
  197.         PUSH    {R3}
  198.         adr    R0, aKbS    
  199.         MOV    R1, 6
  200.         MOV    R2, 7
  201.         BL    sub_15DBAC4E
  202.         ADD    SP, SP,    4
  203.         STR    R0, [R7,0xC]
  204.         LDR    R0, dword_15DBAC28
  205.         STR    R0, [R7,4]
  206.         STR    R0, [R7,0x18]
  207.         MOV    R3, 0
  208.         PUSH    {R3}
  209.         adr    R0, aKbS    
  210.         ADD    R0, 4
  211.         MOV    R1, 6
  212.         MOV    R2, 3
  213.         BL    sub_15DBAC4E
  214.         ADD    SP, SP,    4
  215.         STR    R0, [R7,0x20]
  216.         MOV    R0, SP
  217.         MOV    R1, 5
  218.         MOV    R2, 0xA
  219.         MOV    R3, 0
  220.         PUSH    {R3}
  221.         BL    sub_15DBAC4E
  222.         ADD    SP, SP,    0x2C
  223.         POP    {R1-R7,PC}
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230. sub_15DBAB20:    
  231.  
  232. var_28        = -0x28
  233. var_24        = -0x24
  234.  
  235.         PUSH    {R1-R7,LR}
  236.         SUB    SP, SP,    8
  237.         ADD    R6, R0,    0
  238.         ADD    R5, R1,    0
  239.         CMP    R6, 0
  240.         BNE    loc_15DBAB3E
  241.         MOV    R3, 0
  242.         PUSH    {R3}
  243.         adr    R0, aUnknown_1    
  244.         MOV    R1, 6
  245.         MOV    R2, 7
  246.         BL    sub_15DBAC4E
  247.         ADD    SP, SP,    4
  248.         B    loc_15DBAB68
  249.  
  250.  
  251. loc_15DBAB3E:    
  252.         MOV    R0, 0
  253.         ADD    R1, R6,    0
  254.  
  255. loc_15DBAB42:    
  256.         CMP    R5, R1
  257.         BLT    loc_15DBAB4C
  258.         ADD    R0, 1
  259.         ADD    R1, R1,    R6
  260.         B    loc_15DBAB42
  261.  
  262.  
  263. loc_15DBAB4C:    
  264.         BL    sub_15DBAB6C
  265.         MOV    R7, SP
  266.         STR    R0, [R7,0x28+var_24]
  267.         LDR    R0, dword_15DBAC2C
  268.         STR    R0, [R7,0x28+var_28]
  269.         MOV    R0, SP
  270.         MOV    R1, 5
  271.         MOV    R2, 2
  272.         MOV    R3, 0
  273.         PUSH    {R3}
  274.         BL    sub_15DBAC4E
  275.         ADD    SP, SP,    4
  276.  
  277. loc_15DBAB68:    
  278.         ADD    SP, SP,    8
  279.         POP    {R1-R7,PC}
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286. sub_15DBAB6C:    
  287.  
  288.         PUSH    {R1-R7,LR}
  289.         SUB    SP, SP,    0x20
  290.         MOV    R1, SP
  291.         BL    sub_15DBAC74
  292.         MOV    R4, SP
  293.         BL    sub_15DBAB80
  294.         ADD    SP, SP,    0x20
  295.         POP    {R1-R7,PC}
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302. sub_15DBAB80:    
  303.  
  304. var_34        = -0x34
  305. var_30        = -0x30
  306. var_2C        = -0x2C
  307. var_28        = -0x28
  308. var_24        = -0x24
  309.  
  310.         PUSH    {R1-R7,LR}
  311.         SUB    SP, SP,    0x14
  312.         MOV    R7, SP
  313.         LDRB    R0, [R4,4]
  314.         ADD    R5, R0,    0
  315.         BL    sub_15DBAC5C
  316.         BL    sub_15DBABD2
  317.         STR    R0, [R7,0x34+var_34]
  318.         LDRB    R0, [R4,5]
  319.         ADD    R5, R0,    0
  320.         BL    sub_15DBAC5C
  321.         BL    sub_15DBABD2
  322.         STR    R0, [R7,0x34+var_2C]
  323.         LDRB    R0, [R4,6]
  324.         ADD    R5, R0,    0
  325.         BL    sub_15DBAC5C
  326.         BL    sub_15DBABD2
  327.         STR    R0, [R7,0x34+var_24]
  328.         LDR    R0, dword_15DBAC30
  329.         STR    R0, [R7,0x34+var_30]
  330.         STR    R0, [R7,0x34+var_28]
  331.         MOV    R0, SP
  332.         MOV    R2, 5
  333.         LDRB    R1, [R4,4]
  334.         CMP    R1, 0
  335.         BNE    loc_15DBABC4
  336.         ADD    R0, SP,    0x34+var_2C
  337.         MOV    R2, 3
  338.  
  339. loc_15DBABC4:    
  340.         MOV    R1, 5
  341.         MOV    R3, 0
  342.         PUSH    {R3}
  343.         BL    sub_15DBAC4E
  344.         ADD    SP, SP,    0x18
  345.         POP    {R1-R7,PC}
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352. sub_15DBABD2:    
  353.  
  354.  
  355. var_28        = -0x28
  356. var_24        = -0x24
  357.  
  358.         PUSH    {R1-R7,LR}
  359.         CMP    R5, 0xA
  360.         BGE    locret_15DBABF2
  361.         SUB    SP, SP,    8
  362.         MOV    R7, SP
  363.         STR    R0, [R7,0x28+var_24]
  364.         LDR    R0, dword_15DBAC34
  365.         STR    R0, [R7,0x28+var_28]
  366.         MOV    R0, SP
  367.         MOV    R1, 5
  368.         MOV    R2, 2
  369.         MOV    R3, 0
  370.         PUSH    {R3}
  371.         BL    sub_15DBAC4E
  372.         ADD    SP, SP,    0xC
  373.  
  374. locret_15DBABF2:    
  375.         POP    {R1-R7,PC}
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382. sub_15DBABF4:    
  383.         PUSH    {R1-R7,LR}
  384.         ADD    R4, R0,    0
  385.         ADD    R5, R1,    0
  386.         MOV    R0, 0
  387.         CMP    R4, 0
  388.         BEQ    locret_15DBAC1E
  389.         CMP    R5, 0
  390.         BEQ    locret_15DBAC1E
  391.         CMP    R4, R5
  392.         BCC    loc_15DBAC0C
  393.         MOV    R0, 0x64
  394.         B    locret_15DBAC1E
  395.  
  396.  
  397. loc_15DBAC0C:    
  398.         MOV    R0, 0x64
  399.         MUL    R4, R0
  400.         MOV    R0, 0
  401.         ADD    R1, R5,    0
  402.  
  403. loc_15DBAC14:    
  404.         CMP    R4, R1
  405.         BLT    locret_15DBAC1E
  406.         ADD    R0, 1
  407.         ADD    R1, R1,    R5
  408.         B    loc_15DBAC14
  409.  
  410.  
  411. locret_15DBAC1E:    
  412.  
  413.         POP    {R1-R7,PC}
  414.  
  415.  
  416.  
  417. dword_15DBAC20    dw 0x43C        
  418.  
  419. dword_15DBAC24    dw heap1        
  420.  
  421. dword_15DBAC28    dw 0x7800000A        
  422. dword_15DBAC2C    dw 0x78000020        
  423. dword_15DBAC30    dw 0x7800003A        
  424. dword_15DBAC34    dw 0x78000030        
  425. aKbS        db "KB/s   ",0        
  426.  
  427. aUnknown_1    db "unknown",0        
  428. asc_15DBAC48    du    "%",0    
  429.         align 4
  430.  
  431.  
  432.  
  433.  
  434. sub_15DBAC4E:    
  435.  
  436.         PUSH    {R3}
  437.         LDR    R3, off_15DBAC58
  438.         MOV    R12, R3
  439.         POP    {R3}
  440.         BX    R12
  441.  
  442.  
  443. align 4
  444. off_15DBAC58    dw TextID_Create+1    
  445.  
  446.  
  447.  
  448.  
  449. sub_15DBAC5C:    
  450.  
  451.         PUSH    {R3}
  452.         LDR    R3, off_15DBAC68
  453.         MOV    R12, R3
  454.         POP    {R3}
  455.         BX    R12
  456.  
  457.  
  458.  
  459.         align 4
  460. off_15DBAC68    dw TextID_CreateIntegerID+1    
  461.  
  462.  
  463.  
  464.  
  465. sub_15DBAC6C:    
  466.  
  467.         LDR    R3, off_15DBAC70
  468.         BX    R3
  469.  
  470.  
  471.  
  472. off_15DBAC70    dw ProgressBar_SetText
  473.  
  474.  
  475.  
  476.  
  477. sub_15DBAC74:    
  478.         LDR    R3, off_15DBAC78
  479.         BX    R3
  480.  
  481.  
  482.  
  483. off_15DBAC78    dw unixtime2datetime  
  484.  
  485.  
  486.  
  487.  
  488. sub_15DBAC7C:    
  489.         LDR    R3, off_15DBAC80
  490.         BX    R3
  491.  
  492.  
  493.  
  494. off_15DBAC80    dw TextID_Copy+1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement