Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 0000000000000000 eb04 jmp 0x6 <- Goes to 0000000000000006
- 0000000000000002 af scasd
- 0000000000000003 c2bfa3 ret 0xa3bf
- 0000000000000006 81ec00010000 sub esp, 0x100 <- Subtract 0x100 from stack pointer
- 000000000000000c 31c9 xor ecx, ecx <- XORs register ecx with itself
- 000000000000000e 880c0c mov [esp+ecx], cl <- Copies the content of CL register (what's this?!) to address of stack pointer + address of register ecx
- 0000000000000011 fec1 inc cl <- increment CL register by 1
- 0000000000000013 75f9 jnz 0xe <- Jump to 0xe if condition is met (damn, not familiar with x86. does something like ARM's status flags exist?)
- 0000000000000015 31c0 xor eax, eax <- XORs register ecx with itself
- 0000000000000017 baefbeadde mov edx, 0xdeadbeef <- Copies 0xdeadbeef to register edx
- 000000000000001c 02040c add al, [esp+ecx] <- Adds contents of address referenced by stack pointer + register ecx to register AL (what's this again?!!)
- 000000000000001f 00d0 add al, dl <- Adds register dl to register al
- 0000000000000021 c1ca08 ror edx, 0x8 <- Rotates bits of register edx by 8 to the right
- 0000000000000024 8a1c0c mov bl, [esp+ecx] <- Copies contents of address referenced by stack pointer + register ecx to register BL
- 0000000000000027 8a3c04 mov bh, [esp+eax] <- Copies contents of address referenced by stack pointer + register eax to register BH
- 000000000000002a 881c04 mov [esp+eax], bl <- Copies register BL to address of stack pointer + address of register eax
- 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)
- 0000000000000030 fec1 inc cl <- Increment CL register by 1
- 0000000000000032 75e8 jnz 0x1c <- Jump to 0x1c if condition is met (this may imply a loop is involved)
- 0000000000000034 e95c000000 jmp 0x95 <- Goes to 0x95
- 0000000000000039 89e3 mov ebx, esp <- Copies stack pointer to register ebx
- 000000000000003b 81c304000000 add ebx, 0x4 <- Adds 0x4 to register ebx
- 0000000000000041 5c pop esp <- Pops the stack pointer off the stack
- 0000000000000042 58 pop eax <- Pops the eax register off the stack
- 0000000000000043 3d41414141 cmp eax, 0x41414141 <- Compare 0x41414141 with register eax
- 0000000000000048 7543 jnz 0x8d <- Jump to 0x8d if condition is met
- 000000000000004a 58 pop eax <- Pops eax register off the stack
- 000000000000004b 3d42424242 cmp eax, 0x42424242 <- Compare 0x42424242 with register eax
- 0000000000000050 753b jnz 0x8d <- Jump to 0x8d if condition is met
- 0000000000000052 5a pop edx <- Pops edx register off the stack
- 0000000000000053 89d1 mov ecx, edx <- Moves register edx to register ecx
- 0000000000000055 89e6 mov esi, esp <- Moves stack pointer to register esi (what's this?)
- 0000000000000057 89df mov edi, ebx <- Moves register ebx to register edi
- 0000000000000059 29cf sub edi, ecx <- Subtracts register ecx from register edi
- 000000000000005b f3a4 rep movsb <- repeat … (move byte from string to string - according to wikipedia?)
- 000000000000005d 89de mov esi, ebx <- Moves register ebx to register esi
- 000000000000005f 89d1 mov ecx, edx <- Moves register edx to register ecx
- 0000000000000061 89df mov edi, ebx <- Moves register ebx to register edi
- 0000000000000063 29cf sub edi, ecx <- Subtracts register ecx from register edi
- 0000000000000065 31c0 xor eax, eax <- XORs register eax with itself
- 0000000000000067 31db xor ebx, ebx <- XORs register ebx with itself
- 0000000000000069 31d2 xor edx, edx <- XORs register edx with itself
- 000000000000006b fec0 inc al <- Increment register AL by 1
- 000000000000006d 021c06 add bl, [esi+eax] <- Adds contents of address referenced by register esi + eax to register BL.
- 0000000000000070 8a1406 mov dl, [esi+eax] <- Copies contents of address referenced by register esi + eax to register DL.
- 0000000000000073 8a341e mov dh, [esi+ebx] <- Copies contents of address referenced by register ebx + esi to register DH.
- 0000000000000076 883406 mov [esi+eax], dh <- Copies register DH to address referenced by register esi + eax.
- 0000000000000079 88141e mov [esi+ebx], dl <- Copies register DL to address referenced by register esi + ebx. (again, swapping?)
- 000000000000007c 00f2 add dl, dh <- Adds register DH to register DL.
- 000000000000007e 30f6 xor dh, dh <- XORs register DH with itself.
- 0000000000000080 8a1c16 mov bl, [esi+edx] <- Copies contents of address referenced by register esi + edx to register BL.
- 0000000000000083 8a17 mov dl, [edi] <- Copies contents of address referenced by register edi to register DL.
- 0000000000000085 30da xor dl, bl <- XORs register DL with BL (I think).
- 0000000000000087 8817 mov [edi], dl <- Copies register DL to address referenced by register edi.
- 0000000000000089 47 inc edi <- Increment register edi by 1.
- 000000000000008a 49 dec ecx <- Decrement register ecx by 1.
- 000000000000008b 75de jnz 0x6b <- Jump to 0x6b if condition is met.
- 000000000000008d 31db xor ebx, ebx <- XORs register ebx with itself.
- 000000000000008f 89d8 mov eax, ebx <- Copies register ebx to register eax.
- 0000000000000091 fec0 inc al <- Increment register AL by 1.
- 0000000000000093 cd80 int 0x80 <- Call to interrupt vector 80. (SYSCALL)
- 0000000000000095 90 nop <- No operation.
- 0000000000000096 90 nop <- No operation.
- 0000000000000097 e89dffffff call 0x39 <- Calls 0x39 (loop? o.O x86 is weird to me)
- 000000000000009c 41 inc ecx <- dead code, I guess.
- 000000000000009d 41 inc ecx
- 000000000000009e 41 inc ecx
- 000000000000009f 11 invalid
Add Comment
Please, Sign In to add comment