Advertisement
TeRackSito

Untitled

Nov 11th, 2023
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Disassembly of file: main.o
  2. ; Sat Nov 11 11:24:23 2023
  3. ; Mode: 64 bits
  4. ; Syntax: YASM/NASM
  5. ; Instruction set: SSE2, x64
  6.  
  7. default rel
  8.  
  9. global main: function
  10.  
  11. extern __mingw_vfscanf                                  ; near
  12. extern __mingw_vfprintf                                 ; near
  13. extern __main                                           ; near
  14. extern __imp___acrt_iob_func                            ; qword
  15.  
  16.  
  17. SECTION .text   align=16 execute                        ; section number 1, code
  18.  
  19. .text:  ; Local function
  20. printf: push    rsi                                     ; 0000 _ 56
  21.         push    rbx                                     ; 0001 _ 53
  22.         mov     rbx, rcx                                ; 0002 _ 48: 89. CB
  23.         mov     ecx, 1                                  ; 0005 _ B9, 00000001
  24.         sub     rsp, 56                                 ; 000A _ 48: 83. EC, 38
  25.         lea     rsi, [rsp+58H]                          ; 000E _ 48: 8D. 74 24, 58
  26.         mov     qword [rsp+58H], rdx                    ; 0013 _ 48: 89. 54 24, 58
  27.         mov     qword [rsp+60H], r8                     ; 0018 _ 4C: 89. 44 24, 60
  28.         mov     qword [rsp+68H], r9                     ; 001D _ 4C: 89. 4C 24, 68
  29.         mov     qword [rsp+28H], rsi                    ; 0022 _ 48: 89. 74 24, 28
  30.         call    near [rel __imp___acrt_iob_func]        ; 0027 _ FF. 15, 00000000(rel)
  31.         mov     r8, rsi                                 ; 002D _ 49: 89. F0
  32.         mov     rdx, rbx                                ; 0030 _ 48: 89. DA
  33.         mov     rcx, rax                                ; 0033 _ 48: 89. C1
  34.         call    __mingw_vfprintf                        ; 0036 _ E8, 00000000(rel)
  35.         add     rsp, 56                                 ; 003B _ 48: 83. C4, 38
  36.         pop     rbx                                     ; 003F _ 5B
  37.         pop     rsi                                     ; 0040 _ 5E
  38.         ret                                             ; 0041 _ C3
  39.  
  40. ; Filling space: 0EH
  41. ; Filler type: Multi-byte NOP
  42. ;       db 66H, 66H, 2EH, 0FH, 1FH, 84H, 00H, 00H
  43. ;       db 00H, 00H, 00H, 0FH, 1FH, 00H
  44.  
  45. ALIGN   16
  46.  
  47. scanf.constprop.0:; Local function
  48.         push    rbx                                     ; 0050 _ 53
  49.         xor     ecx, ecx                                ; 0051 _ 31. C9
  50.         sub     rsp, 48                                 ; 0053 _ 48: 83. EC, 30
  51.         lea     rbx, [rsp+48H]                          ; 0057 _ 48: 8D. 5C 24, 48
  52.         mov     qword [rsp+48H], rdx                    ; 005C _ 48: 89. 54 24, 48
  53.         mov     qword [rsp+50H], r8                     ; 0061 _ 4C: 89. 44 24, 50
  54.         mov     qword [rsp+58H], r9                     ; 0066 _ 4C: 89. 4C 24, 58
  55.         mov     qword [rsp+28H], rbx                    ; 006B _ 48: 89. 5C 24, 28
  56.         call    near [rel __imp___acrt_iob_func]        ; 0070 _ FF. 15, 00000000(rel)
  57.         mov     r8, rbx                                 ; 0076 _ 49: 89. D8
  58.         lea     rdx, [rel ?_001]                        ; 0079 _ 48: 8D. 15, 00000000(rel)
  59.         mov     rcx, rax                                ; 0080 _ 48: 89. C1
  60.         call    __mingw_vfscanf                         ; 0083 _ E8, 00000000(rel)
  61.         add     rsp, 48                                 ; 0088 _ 48: 83. C4, 30
  62.         pop     rbx                                     ; 008C _ 5B
  63.         ret                                             ; 008D _ C3
  64.  
  65.         nop                                             ; 008E _ 90
  66.         nop                                             ; 008F _ 90
  67.  
  68.  
  69. SECTION .data   align=16 noexecute                      ; section number 2, data
  70.  
  71.  
  72. SECTION .bss    align=16 noexecute                      ; section number 3, bss
  73.  
  74.  
  75. SECTION .rdata  align=16 noexecute                      ; section number 4, const
  76.  
  77. ?_001:                                                  ; byte
  78.         db 25H, 64H, 00H                                ; 0000 _ %d.
  79.  
  80. ?_002:                                                  ; byte
  81.         db 49H, 6EH, 74H, 72H, 6FH, 64H, 75H, 7AH       ; 0003 _ Introduz
  82.         db 63H, 61H, 20H, 75H, 6EH, 20H, 6EH, 0C3H      ; 000B _ ca un n.
  83.         db 0BAH, 6DH, 65H, 72H, 6FH, 3AH, 20H, 00H      ; 0013 _ .mero: .
  84.         db 00H, 00H, 00H, 00H, 00H                      ; 001B _ .....
  85.  
  86. ?_003:                                                  ; byte
  87.         db 45H, 6CH, 20H, 6EH, 0C3H, 0BAH, 6DH, 65H     ; 0020 _ El n..me
  88.         db 72H, 6FH, 20H, 64H, 65H, 62H, 65H, 20H       ; 0028 _ ro debe
  89.         db 73H, 65H, 72H, 20H, 70H, 6FH, 73H, 69H       ; 0030 _ ser posi
  90.         db 74H, 69H, 76H, 6FH, 2EH, 0AH, 00H            ; 0038 _ tivo...
  91.  
  92. ?_004:                                                  ; byte
  93.         db 45H, 6CH, 20H, 66H, 61H, 63H, 74H, 6FH       ; 003F _ El facto
  94.         db 72H, 69H, 61H, 6CH, 20H, 64H, 65H, 20H       ; 0047 _ rial de
  95.         db 25H, 64H, 20H, 65H, 73H, 3AH, 20H, 25H       ; 004F _ %d es: %
  96.         db 2EH, 30H, 66H, 0AH, 00H, 00H, 00H, 00H       ; 0057 _ .0f.....
  97.         db 00H                                          ; 005F _ .
  98.  
  99. ?_005:  dq 3FF0000000000000H                            ; 0060 _ 1.0
  100.         dq 0000000000000000H                            ; 0068 _ 0.0
  101.  
  102.  
  103. SECTION .text.startup align=16 execute                  ; section number 5, code
  104.  
  105. .text.startup:; Local function
  106.  
  107. main:
  108.         sub     rsp, 56                                 ; 0000 _ 48: 83. EC, 38
  109.         call    __main                                  ; 0004 _ E8, 00000000(rel)
  110.         lea     rcx, [rel ?_002]                        ; 0009 _ 48: 8D. 0D, 00000003(rel)
  111.         call    printf                                  ; 0010 _ E8, 00000000(rel)
  112.         lea     rdx, [rsp+2CH]                          ; 0015 _ 48: 8D. 54 24, 2C
  113.         lea     rcx, [rel ?_001]                        ; 001A _ 48: 8D. 0D, 00000000(rel)
  114.         call    scanf.constprop.0                       ; 0021 _ E8, 00000050(rel)
  115.         mov     edx, dword [rsp+2CH]                    ; 0026 _ 8B. 54 24, 2C
  116.         test    edx, edx                                ; 002A _ 85. D2
  117.         js      ?_009                                   ; 002C _ 78, 3B
  118.         movsd   xmm2, qword [rel ?_005]                 ; 002E _ F2: 0F 10. 15, 00000060(rel)
  119.         mov     eax, edx                                ; 0036 _ 89. D0
  120.         jz      ?_007                                   ; 0038 _ 74, 17
  121. ; Filling space: 6H
  122. ; Filler type: Multi-byte NOP
  123. ;       db 66H, 0FH, 1FH, 44H, 00H, 00H
  124.  
  125. ALIGN   8
  126. ?_006:  pxor    xmm0, xmm0                              ; 0040 _ 66: 0F EF. C0
  127.         cvtsi2sd xmm0, eax                              ; 0044 _ F2: 0F 2A. C0
  128.         mulsd   xmm2, xmm0                              ; 0048 _ F2: 0F 59. D0
  129.         sub     eax, 1                                  ; 004C _ 83. E8, 01
  130.         jnz     ?_006                                   ; 004F _ 75, EF
  131. ?_007:  movq    r8, xmm2                                ; 0051 _ 66 49: 0F 7E. D0
  132.         lea     rcx, [rel ?_004]                        ; 0056 _ 48: 8D. 0D, 0000003F(rel)
  133.         call    printf                                  ; 005D _ E8, 00000000(rel)
  134.         xor     eax, eax                                ; 0062 _ 31. C0
  135. ?_008:  add     rsp, 56                                 ; 0064 _ 48: 83. C4, 38
  136.         ret                                             ; 0068 _ C3
  137.  
  138. ?_009:  ; Local function
  139.         lea     rcx, [rel ?_003]                        ; 0069 _ 48: 8D. 0D, 00000020(rel)
  140.         call    printf                                  ; 0070 _ E8, 00000000(rel)
  141.         mov     eax, 1                                  ; 0075 _ B8, 00000001
  142.         jmp     ?_008                                   ; 007A _ EB, E8
  143.  
  144.         nop                                             ; 007C _ 90
  145.         nop                                             ; 007D _ 90
  146.         nop                                             ; 007E _ 90
  147.         nop                                             ; 007F _ 90
  148.  
  149.  
  150. SECTION .rdata$zzz align=16 noexecute                   ; section number 6, const
  151.  
  152.         db 47H, 43H, 43H, 3AH, 20H, 28H, 52H, 65H       ; 0000 _ GCC: (Re
  153.         db 76H, 36H, 2CH, 20H, 42H, 75H, 69H, 6CH       ; 0008 _ v6, Buil
  154.         db 74H, 20H, 62H, 79H, 20H, 4DH, 53H, 59H       ; 0010 _ t by MSY
  155.         db 53H, 32H, 20H, 70H, 72H, 6FH, 6AH, 65H       ; 0018 _ S2 proje
  156.         db 63H, 74H, 29H, 20H, 31H, 33H, 2EH, 31H       ; 0020 _ ct) 13.1
  157.         db 2EH, 30H, 00H, 00H, 00H, 00H, 00H, 00H       ; 0028 _ .0......
  158.  
  159.  
  160.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement