Advertisement
Guest User

Untitled

a guest
Nov 26th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. main:
  2.   push rbp
  3.   mov rbp, rsp
  4.   sub rsp, 32
  5.   mov DWORD PTR [rbp-20], edi
  6.   mov QWORD PTR [rbp-32], rsi
  7.   mov rax, QWORD PTR [rbp-32]
  8.   mov rax, QWORD PTR [rax+8]
  9.   mov QWORD PTR [rbp-16], rax
  10.   mov rax, QWORD PTR [rbp-16]
  11.   mov rdi, rax
  12.   call strlen
  13.   sub eax, 1
  14.   mov DWORD PTR [rbp-4], eax
  15. .L5:
  16.   cmp DWORD PTR [rbp-4], 0
  17.   js .L2
  18.   mov eax, DWORD PTR [rbp-4]
  19.   mov DWORD PTR [rbp-8], eax
  20. .L4:
  21.   cmp DWORD PTR [rbp-8], 0
  22.   jle .L3
  23.   mov eax, DWORD PTR [rbp-4]
  24.   movsx rdx, eax
  25.   mov rax, QWORD PTR [rbp-16]
  26.   add rax, rdx
  27.   movzx eax, BYTE PTR [rax]
  28.   movsx eax, al
  29.   mov esi, eax
  30.   mov edi, OFFSET FLAT:_ZSt4cout
  31.   call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)
  32.   sub DWORD PTR [rbp-8], 1
  33.   jmp .L4
  34. .L3:
  35.   mov eax, DWORD PTR [rbp-4]
  36.   movsx rdx, eax
  37.   mov rax, QWORD PTR [rbp-16]
  38.   add rax, rdx
  39.   movzx eax, BYTE PTR [rax]
  40.   movsx eax, al
  41.   mov esi, eax
  42.   mov edi, OFFSET FLAT:_ZSt4cout
  43.   call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)
  44.   mov esi, OFFSET FLAT:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
  45.   mov edi, OFFSET FLAT:_ZSt4cout
  46.   call std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))
  47.   sub DWORD PTR [rbp-4], 1
  48.   jmp .L5
  49. .L2:
  50.   mov eax, 0
  51.   leave
  52.   ret
  53. __static_initialization_and_destruction_0(int, int):
  54.   push rbp
  55.   mov rbp, rsp
  56.   sub rsp, 16
  57.   mov DWORD PTR [rbp-4], edi
  58.   mov DWORD PTR [rbp-8], esi
  59.   cmp DWORD PTR [rbp-4], 1
  60.   jne .L9
  61.   cmp DWORD PTR [rbp-8], 65535
  62.   jne .L9
  63.   mov edi, OFFSET FLAT:_ZStL8__ioinit
  64.   call std::ios_base::Init::Init() [complete object constructor]
  65.   mov edx, OFFSET FLAT:__dso_handle
  66.   mov esi, OFFSET FLAT:_ZStL8__ioinit
  67.   mov edi, OFFSET FLAT:_ZNSt8ios_base4InitD1Ev
  68.   call __cxa_atexit
  69. .L9:
  70.   nop
  71.   leave
  72.   ret
  73. _GLOBAL__sub_I_main:
  74.   push rbp
  75.   mov rbp, rsp
  76.   mov esi, 65535
  77.   mov edi, 1
  78.   call __static_initialization_and_destruction_0(int, int)
  79.   pop rbp
  80.   ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement