Advertisement
_takumi

raw

Dec 23rd, 2022
1,716
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .file   "main.c"
  2.     .intel_syntax noprefix
  3.     .text
  4.     .section    .rodata
  5. .LC0:
  6.     .string "%[^\n]dest"
  7.     .text
  8.     .globl  main
  9.     .type   main, @function
  10. main:
  11.     push    rbp
  12.     mov rbp, rsp
  13.     sub rsp, 96
  14.     mov rax, QWORD PTR fs:40
  15.     mov QWORD PTR -8[rbp], rax
  16.     xor eax, eax
  17.     mov DWORD PTR -84[rbp], 0
  18.     mov DWORD PTR -92[rbp], 0
  19.     mov DWORD PTR -64[rbp], 73
  20.     mov BYTE PTR -60[rbp], 0
  21.     mov DWORD PTR -59[rbp], 18761
  22.     mov BYTE PTR -55[rbp], 0
  23.     mov DWORD PTR -54[rbp], 4802889
  24.     mov BYTE PTR -50[rbp], 0
  25.     mov DWORD PTR -49[rbp], 22089
  26.     mov BYTE PTR -45[rbp], 0
  27.     mov DWORD PTR -44[rbp], 86
  28.     mov BYTE PTR -40[rbp], 0
  29.     mov DWORD PTR -39[rbp], 18774
  30.     mov BYTE PTR -35[rbp], 0
  31.     mov DWORD PTR -34[rbp], 4802902
  32.     mov BYTE PTR -30[rbp], 0
  33.     mov DWORD PTR -29[rbp], 1229539670
  34.     mov BYTE PTR -25[rbp], 0
  35.     mov DWORD PTR -24[rbp], 22601
  36.     mov BYTE PTR -20[rbp], 0
  37.     mov edi, 1024
  38.     call    malloc@PLT
  39.     mov QWORD PTR -80[rbp], rax
  40.     mov rax, QWORD PTR -80[rbp]
  41.     mov rsi, rax
  42.     lea rdi, .LC0[rip]
  43.     mov eax, 0
  44.     call    __isoc99_scanf@PLT
  45.     mov rax, QWORD PTR -80[rbp]
  46.     mov rdi, rax
  47.     call    strlen@PLT
  48.     mov DWORD PTR -84[rbp], eax
  49.     mov eax, DWORD PTR -84[rbp]
  50.     sal eax, 2
  51.     add eax, 1
  52.     cdqe
  53.     mov rdi, rax
  54.     call    malloc@PLT
  55.     mov QWORD PTR -72[rbp], rax
  56.     mov DWORD PTR -88[rbp], 0
  57.     jmp .L2
  58. .L3:
  59.     mov eax, DWORD PTR -88[rbp]
  60.     movsx   rdx, eax
  61.     mov rax, QWORD PTR -80[rbp]
  62.     add rax, rdx
  63.     movzx   eax, BYTE PTR [rax]
  64.     movsx   eax, al
  65.     sub eax, 49
  66.     lea rcx, -64[rbp]
  67.     movsx   rdx, eax
  68.     mov rax, rdx
  69.     sal rax, 2
  70.     add rax, rdx
  71.     lea rdx, [rcx+rax]
  72.     mov eax, DWORD PTR -92[rbp]
  73.     movsx   rcx, eax
  74.     mov rax, QWORD PTR -72[rbp]
  75.     add rax, rcx
  76.     mov rsi, rdx
  77.     mov rdi, rax
  78.     call    strcpy@PLT
  79.     mov eax, DWORD PTR -88[rbp]
  80.     movsx   rdx, eax
  81.     mov rax, QWORD PTR -80[rbp]
  82.     add rax, rdx
  83.     movzx   eax, BYTE PTR [rax]
  84.     movsx   eax, al
  85.     sub eax, 49
  86.     lea rcx, -64[rbp]
  87.     movsx   rdx, eax
  88.     mov rax, rdx
  89.     sal rax, 2
  90.     add rax, rdx
  91.     add rax, rcx
  92.     mov rdi, rax
  93.     call    strlen@PLT
  94.     mov edx, eax
  95.     mov eax, DWORD PTR -92[rbp]
  96.     add eax, edx
  97.     mov DWORD PTR -92[rbp], eax
  98.     add DWORD PTR -88[rbp], 1
  99. .L2:
  100.     mov eax, DWORD PTR -88[rbp]
  101.     cmp eax, DWORD PTR -84[rbp]
  102.     jl  .L3
  103.     mov rax, QWORD PTR -72[rbp]
  104.     mov rdi, rax
  105.     call    puts@PLT
  106.     mov eax, 0
  107.     mov rsi, QWORD PTR -8[rbp]
  108.     xor rsi, QWORD PTR fs:40
  109.     je  .L5
  110.     call    __stack_chk_fail@PLT
  111. .L5:
  112.     leave
  113.     ret
  114.     .size   main, .-main
  115.     .ident  "GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0"
  116.     .section    .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement