Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- main:
- push rbp
- mov rbp, rsp
- sub rsp, 48
- mov DWORD PTR [rbp-36], edi
- mov QWORD PTR [rbp-48], rsi
- mov rax, QWORD PTR [rbp-48]
- mov rax, QWORD PTR [rax+8]
- mov QWORD PTR [rbp-16], rax
- mov rax, QWORD PTR [rbp-16]
- mov rdi, rax
- call strlen
- sub eax, 1
- mov DWORD PTR [rbp-4], eax
- .L5:
- cmp DWORD PTR [rbp-4], 0
- js .L2
- mov eax, DWORD PTR [rbp-4]
- mov DWORD PTR [rbp-8], eax
- .L4:
- cmp DWORD PTR [rbp-8], 0
- jle .L3
- mov eax, DWORD PTR [rbp-4]
- movsx rdx, eax
- mov rax, QWORD PTR [rbp-16]
- add rax, rdx
- movzx eax, BYTE PTR [rax]
- movsx eax, al
- mov esi, eax
- mov edi, OFFSET FLAT:_ZSt4cout
- call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)
- sub DWORD PTR [rbp-8], 1
- jmp .L4
- .L3:
- mov eax, DWORD PTR [rbp-4]
- movsx rdx, eax
- mov rax, QWORD PTR [rbp-16]
- add rax, rdx
- movzx eax, BYTE PTR [rax]
- movsx eax, al
- mov esi, eax
- mov edi, OFFSET FLAT:_ZSt4cout
- call std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)
- mov esi, OFFSET FLAT:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
- mov edi, OFFSET FLAT:_ZSt4cout
- 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> >&))
- sub DWORD PTR [rbp-4], 1
- jmp .L5
- .L2:
- mov DWORD PTR [rbp-20], 0
- .L7:
- mov edi, OFFSET FLAT:_ZSt3cin
- call std::basic_istream<char, std::char_traits<char> >::get()
- mov DWORD PTR [rbp-20], eax
- cmp DWORD PTR [rbp-20], 37
- je .L6
- jmp .L7
- .L6:
- mov eax, 0
- leave
- ret
- __static_initialization_and_destruction_0(int, int):
- push rbp
- mov rbp, rsp
- sub rsp, 16
- mov DWORD PTR [rbp-4], edi
- mov DWORD PTR [rbp-8], esi
- cmp DWORD PTR [rbp-4], 1
- jne .L11
- cmp DWORD PTR [rbp-8], 65535
- jne .L11
- mov edi, OFFSET FLAT:_ZStL8__ioinit
- call std::ios_base::Init::Init() [complete object constructor]
- mov edx, OFFSET FLAT:__dso_handle
- mov esi, OFFSET FLAT:_ZStL8__ioinit
- mov edi, OFFSET FLAT:_ZNSt8ios_base4InitD1Ev
- call __cxa_atexit
- .L11:
- nop
- leave
- ret
- _GLOBAL__sub_I_main:
- push rbp
- mov rbp, rsp
- mov esi, 65535
- mov edi, 1
- call __static_initialization_and_destruction_0(int, int)
- pop rbp
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement