Guest User

Untitled

a guest
Apr 20th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.94 KB | None | 0 0
  1. 0000000000000000 eb04 jmp 0x6 <- Goes to 0000000000000006
  2. 0000000000000002 af scasd
  3. 0000000000000003 c2bfa3 ret 0xa3bf
  4. 0000000000000006 81ec00010000 sub esp, 0x100 <- Subtract 0x100 from stack pointer
  5. 000000000000000c 31c9 xor ecx, ecx <- XORs register ecx with itself
  6. 000000000000000e 880c0c mov [esp+ecx], cl <- Copies the content of CL register (what's this?!) to address of stack pointer + address of register ecx
  7. 0000000000000011 fec1 inc cl <- increment CL register by 1
  8. 0000000000000013 75f9 jnz 0xe <- Jump to 0xe if condition is met (damn, not familiar with x86. does something like ARM's status flags exist?)
  9. 0000000000000015 31c0 xor eax, eax <- XORs register ecx with itself
  10. 0000000000000017 baefbeadde mov edx, 0xdeadbeef <- Copies 0xdeadbeef to register edx
  11. 000000000000001c 02040c add al, [esp+ecx] <- Adds contents of address referenced by stack pointer + register ecx to register AL (what's this again?!!)
  12. 000000000000001f 00d0 add al, dl <- Adds register dl to register al
  13. 0000000000000021 c1ca08 ror edx, 0x8 <- Rotates bits of register edx by 8 to the right
  14. 0000000000000024 8a1c0c mov bl, [esp+ecx] <- Copies contents of address referenced by stack pointer + register ecx to register BL
  15. 0000000000000027 8a3c04 mov bh, [esp+eax] <- Copies contents of address referenced by stack pointer + register eax to register BH
  16. 000000000000002a 881c04 mov [esp+eax], bl <- Copies register BL to address of stack pointer + address of register eax
  17. 000000000000002d 883c0c mov [esp+ecx], bh <- Copies register BH to address of stack pointer + address of register ecx (this line and 3 above seems to be doing a swapping operation)
  18. 0000000000000030 fec1 inc cl <- Increment CL register by 1
  19. 0000000000000032 75e8 jnz 0x1c <- Jump to 0x1c if condition is met (this may imply a loop is involved)
  20. 0000000000000034 e95c000000 jmp 0x95 <- Goes to 0x95
  21. 0000000000000039 89e3 mov ebx, esp <- Copies stack pointer to register ebx
  22. 000000000000003b 81c304000000 add ebx, 0x4 <- Adds 0x4 to register ebx
  23. 0000000000000041 5c pop esp <- Pops the stack pointer off the stack
  24. 0000000000000042 58 pop eax <- Pops the eax register off the stack
  25. 0000000000000043 3d41414141 cmp eax, 0x41414141 <- Compare 0x41414141 with register eax
  26. 0000000000000048 7543 jnz 0x8d <- Jump to 0x8d if condition is met
  27. 000000000000004a 58 pop eax <- Pops eax register off the stack
  28. 000000000000004b 3d42424242 cmp eax, 0x42424242 <- Compare 0x42424242 with register eax
  29. 0000000000000050 753b jnz 0x8d <- Jump to 0x8d if condition is met
  30. 0000000000000052 5a pop edx <- Pops edx register off the stack
  31. 0000000000000053 89d1 mov ecx, edx <- Moves register edx to register ecx
  32. 0000000000000055 89e6 mov esi, esp <- Moves stack pointer to register esi (what's this?)
  33. 0000000000000057 89df mov edi, ebx <- Moves register ebx to register edi
  34. 0000000000000059 29cf sub edi, ecx <- Subtracts register ecx from register edi
  35. 000000000000005b f3a4 rep movsb <- repeat … (move byte from string to string - according to wikipedia?)
  36. 000000000000005d 89de mov esi, ebx <- Moves register ebx to register esi
  37. 000000000000005f 89d1 mov ecx, edx <- Moves register edx to register ecx
  38. 0000000000000061 89df mov edi, ebx <- Moves register ebx to register edi
  39. 0000000000000063 29cf sub edi, ecx <- Subtracts register ecx from register edi
  40. 0000000000000065 31c0 xor eax, eax <- XORs register eax with itself
  41. 0000000000000067 31db xor ebx, ebx <- XORs register ebx with itself
  42. 0000000000000069 31d2 xor edx, edx <- XORs register edx with itself
  43. 000000000000006b fec0 inc al <- Increment register AL by 1
  44. 000000000000006d 021c06 add bl, [esi+eax] <- Adds contents of address referenced by register esi + eax to register BL.
  45. 0000000000000070 8a1406 mov dl, [esi+eax] <- Copies contents of address referenced by register esi + eax to register DL.
  46. 0000000000000073 8a341e mov dh, [esi+ebx] <- Copies contents of address referenced by register ebx + esi to register DH.
  47. 0000000000000076 883406 mov [esi+eax], dh <- Copies register DH to address referenced by register esi + eax.
  48. 0000000000000079 88141e mov [esi+ebx], dl <- Copies register DL to address referenced by register esi + ebx. (again, swapping?)
  49. 000000000000007c 00f2 add dl, dh <- Adds register DH to register DL.
  50. 000000000000007e 30f6 xor dh, dh <- XORs register DH with itself.
  51. 0000000000000080 8a1c16 mov bl, [esi+edx] <- Copies contents of address referenced by register esi + edx to register BL.
  52. 0000000000000083 8a17 mov dl, [edi] <- Copies contents of address referenced by register edi to register DL.
  53. 0000000000000085 30da xor dl, bl <- XORs register DL with BL (I think).
  54. 0000000000000087 8817 mov [edi], dl <- Copies register DL to address referenced by register edi.
  55. 0000000000000089 47 inc edi <- Increment register edi by 1.
  56. 000000000000008a 49 dec ecx <- Decrement register ecx by 1.
  57. 000000000000008b 75de jnz 0x6b <- Jump to 0x6b if condition is met.
  58. 000000000000008d 31db xor ebx, ebx <- XORs register ebx with itself.
  59. 000000000000008f 89d8 mov eax, ebx <- Copies register ebx to register eax.
  60. 0000000000000091 fec0 inc al <- Increment register AL by 1.
  61. 0000000000000093 cd80 int 0x80 <- Call to interrupt vector 80. (SYSCALL)
  62. 0000000000000095 90 nop <- No operation.
  63. 0000000000000096 90 nop <- No operation.
  64. 0000000000000097 e89dffffff call 0x39 <- Calls 0x39 (loop? o.O x86 is weird to me)
  65. 000000000000009c 41 inc ecx <- dead code, I guess.
  66. 000000000000009d 41 inc ecx
  67. 000000000000009e 41 inc ecx
  68. 000000000000009f 11 invalid
Add Comment
Please, Sign In to add comment