1 .text 2 .globl main 3 .type main, %function 4main: 5 .cfi_startproc 6 pushq %rbp 7 .cfi_def_cfa_offset 16 8 .cfi_offset %rbp, -16 9 movq %rsp, %rbp 10 .cfi_def_cfa_register %rbp 11 pushq %rbx 12 subq $0x18, %rsp 13 .cfi_offset %rbx, -24 14 movl $0x0, -0x14(%rbp) 15 movl $0x0, -0x18(%rbp) 16 jmp Ltmp16 17 18Ltmp17: 19 callq rand@PLT 20 movl %eax, %ecx 21 movl $0x92492493, %edx 22 movl %ecx, %eax 23 imull %edx 24 leal (%rdx,%rcx), %eax 25 sarl $0x2, %eax 26 movl %eax, %edx 27 movl %ecx, %eax 28 sarl $0x1f, %eax 29 subl %eax, %edx 30 movl %edx, %eax 31 movl %eax, -0x1c(%rbp) 32 movl -0x1c(%rbp), %edx 33 movl %edx, %eax 34 shll $0x3, %eax 35 subl %edx, %eax 36 subl %eax, %ecx 37 movl %ecx, %eax 38 movl %eax, -0x1c(%rbp) 39 callq rand@PLT 40 movl %eax, %ecx 41 movl $0x92492493, %edx 42 movl %ecx, %eax 43 imull %edx 44 leal (%rdx,%rcx), %eax 45 sarl $0x2, %eax 46 movl %eax, %edx 47 movl %ecx, %eax 48 sarl $0x1f, %eax 49 subl %eax, %edx 50 movl %edx, %eax 51 movl %eax, -0x20(%rbp) 52 movl -0x20(%rbp), %edx 53 movl %edx, %eax 54 shll $0x3, %eax 55 subl %edx, %eax 56 subl %eax, %ecx 57 movl %ecx, %eax 58 movl %eax, -0x20(%rbp) 59 movl -0x1c(%rbp), %eax 60 movl %eax, %edi 61Ltmp17_inc: 62 callq _Z3inci 63# FDATA: 1 main #Ltmp17_inc# 1 _Z3inci 0 0 1073 64 movl %eax, %ebx 65 movl -0x20(%rbp), %eax 66 movl %eax, %edi 67Ltmp17_dup: 68 callq _Z7inc_dupi 69# FDATA: 1 main #Ltmp17_dup# 1 _Z7inc_dupi 0 0 1064 70 movl %eax, %edx 71 movl $0x0, %eax 72 subl %edx, %eax 73 addl %eax, %eax 74 addl %ebx, %eax 75 addl %eax, -0x14(%rbp) 76 addl $0x1, -0x18(%rbp) 77 78Ltmp16: 79 cmpl $0x98967f, -0x18(%rbp) 80Ltmp16_br: 81 jle Ltmp17 82# FDATA: 1 main #Ltmp16_br# 1 main #Ltmp17# 0 651 83 84 cmpl $0x0, -0x14(%rbp) 85 sete %al 86 movzbl %al, %eax 87 addq $0x18, %rsp 88 popq %rbx 89 popq %rbp 90 .cfi_def_cfa %rsp, 8 91 retq 92 93 .cfi_endproc 94.size main, .-main 95 96 .globl _Z3inci 97 .type _Z3inci, %function 98_Z3inci: 99 .cfi_startproc 100LBB00: 101 pushq %rbp 102 .cfi_def_cfa_offset 16 103 .cfi_offset %rbp, -16 104 movq %rsp, %rbp 105 .cfi_def_cfa_register %rbp 106 movl %edi, -0x4(%rbp) 107 cmpl $0x5, -0x4(%rbp) 108LBB00_br: 109 ja Ltmp12 110# FDATA: 1 _Z3inci #LBB00_br# 1 _Z3inci #Ltmp12# 189 189 111# FDATA: 1 _Z3inci #LBB00_br# 1 _Z3inci #LFT0# 0 881 112 113LFT0: 114 movl -0x4(%rbp), %eax 115 movq "JUMP_TABLE/_Z3inci.0"(,%rax,8), %rax 116LFT0_br: 117 jmpq *%rax 118# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp0# 146 163 119# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp1# 140 156 120# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp2# 126 157 121# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp3# 129 148 122# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp4# 137 150 123# FDATA: 1 _Z3inci #LFT0_br# 1 _Z3inci #Ltmp5# 134 152 124 125Ltmp0: 126 movl total(%rip), %eax 127 addl $0x1, %eax 128 movl %eax, total(%rip) 129 movl $0x1, %eax 130Ltmp0_br: 131 jmp Ltmp13 132# FDATA: 1 _Z3inci #Ltmp0_br# 1 _Z3inci #Ltmp13# 0 167 133 134Ltmp1: 135 movl total(%rip), %eax 136 addl $0x2, %eax 137 movl %eax, total(%rip) 138 movl $0x2, %eax 139Ltmp1_br: 140 jmp Ltmp13 141# FDATA: 1 _Z3inci #Ltmp1_br# 1 _Z3inci #Ltmp13# 0 151 142 143Ltmp2: 144 movl total(%rip), %eax 145 addl $0x3, %eax 146 movl %eax, total(%rip) 147 movl $0x3, %eax 148Ltmp2_br: 149 jmp Ltmp13 150# FDATA: 1 _Z3inci #Ltmp2_br# 1 _Z3inci #Ltmp13# 0 152 151 152Ltmp3: 153 movl total(%rip), %eax 154 addl $0x4, %eax 155 movl %eax, total(%rip) 156 movl $0x4, %eax 157Ltmp3_br: 158 jmp Ltmp13 159# FDATA: 1 _Z3inci #Ltmp3_br# 1 _Z3inci #Ltmp13# 0 146 160 161Ltmp4: 162 movl total(%rip), %eax 163 addl $0x5, %eax 164 movl %eax, total(%rip) 165 movl $0x5, %eax 166Ltmp4_br: 167 jmp Ltmp13 168# FDATA: 1 _Z3inci #Ltmp4_br# 1 _Z3inci #Ltmp13# 0 149 169 170Ltmp5: 171 movl total(%rip), %eax 172 addl $0x6, %eax 173 movl %eax, total(%rip) 174 movl $0x6, %eax 175Ltmp5_br: 176 jmp Ltmp13 177# FDATA: 1 _Z3inci #Ltmp5_br# 1 _Z3inci #Ltmp13# 0 150 178 179Ltmp12: 180 movl -0x4(%rbp), %eax 181 addl $0x1, %eax 182 183Ltmp13: 184 popq %rbp 185 .cfi_def_cfa %rsp, 8 186 retq 187 188 .cfi_endproc 189.size _Z3inci, .-_Z3inci 190# Jump tables 191.section .rodata 192"JUMP_TABLE/_Z3inci.0": 193 .quad Ltmp0 194 .quad Ltmp1 195 .quad Ltmp2 196 .quad Ltmp3 197 .quad Ltmp4 198 .quad Ltmp5 199 200# BinaryData 201.section .bss 202"total": 203 204 .text 205 .globl _Z7inc_dupi 206 .type _Z7inc_dupi, %function 207_Z7inc_dupi: 208 .cfi_startproc 209LBB01: 210 pushq %rbp 211 .cfi_def_cfa_offset 16 212 .cfi_offset %rbp, -16 213 movq %rsp, %rbp 214 .cfi_def_cfa_register %rbp 215 movl %edi, -0x4(%rbp) 216 cmpl $0x5, -0x4(%rbp) 217LBB01_br: 218 ja Ltmp14 219# FDATA: 1 _Z7inc_dupi #LBB01_br# 1 _Z7inc_dupi #Ltmp14# 143 144 220# FDATA: 1 _Z7inc_dupi #LBB01_br# 1 _Z7inc_dupi #LFT1# 0 777 221 222LFT1: 223 movl -0x4(%rbp), %eax 224 movq "JUMP_TABLE/_Z7inc_dupi.0"(,%rax,8), %rax 225LFT1_br: 226 jmpq *%rax 227# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp6# 130 137 228# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp7# 126 136 229# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp8# 122 130 230# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp9# 111 130 231# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp10# 122 140 232# FDATA: 1 _Z7inc_dupi #LFT1_br# 1 _Z7inc_dupi #Ltmp11# 104 114 233 234Ltmp6: 235 movl total(%rip), %eax 236 addl $0x2, %eax 237 movl %eax, total(%rip) 238 movl $0x1, %eax 239Ltmp6_br: 240 jmp Ltmp15 241# FDATA: 1 _Z7inc_dupi #Ltmp6_br# 1 _Z7inc_dupi #Ltmp15# 0 106 242 243Ltmp7: 244 movl total(%rip), %eax 245 addl $0x3, %eax 246 movl %eax, total(%rip) 247 movl $0x2, %eax 248Ltmp7_br: 249 jmp Ltmp15 250# FDATA: 1 _Z7inc_dupi #Ltmp7_br# 1 _Z7inc_dupi #Ltmp15# 0 113 251 252Ltmp8: 253 movl total(%rip), %eax 254 addl $0x4, %eax 255 movl %eax, total(%rip) 256 movl $0x3, %eax 257Ltmp8_br: 258 jmp Ltmp15 259# FDATA: 1 _Z7inc_dupi #Ltmp8_br# 1 _Z7inc_dupi #Ltmp15# 0 97 260 261Ltmp9: 262 movl total(%rip), %eax 263 addl $0x5, %eax 264 movl %eax, total(%rip) 265 movl $0x4, %eax 266Ltmp9_br: 267 jmp Ltmp15 268# FDATA: 1 _Z7inc_dupi #Ltmp9_br# 1 _Z7inc_dupi #Ltmp15# 0 105 269 270Ltmp10: 271 movl total(%rip), %eax 272 addl $0x6, %eax 273 movl %eax, total(%rip) 274 movl $0x5, %eax 275Ltmp10_br: 276 jmp Ltmp15 277# FDATA: 1 _Z7inc_dupi #Ltmp10_br# 1 _Z7inc_dupi #Ltmp15# 0 98 278 279Ltmp11: 280 movl total(%rip), %eax 281 addl $0x7, %eax 282 movl %eax, total(%rip) 283 movl $0x6, %eax 284Ltmp11_br: 285 jmp Ltmp15 286# FDATA: 1 _Z7inc_dupi #Ltmp11_br# 1 _Z7inc_dupi #Ltmp15# 0 92 287 288Ltmp14: 289 movl -0x4(%rbp), %eax 290 addl $0x1, %eax 291 292Ltmp15: 293 popq %rbp 294 .cfi_def_cfa %rsp, 8 295 retq 296 297 .cfi_endproc 298.size _Z7inc_dupi, .-_Z7inc_dupi 299# Jump tables 300.section .rodata 301"JUMP_TABLE/_Z7inc_dupi.0": 302 .quad Ltmp6 303 .quad Ltmp7 304 .quad Ltmp8 305 .quad Ltmp9 306 .quad Ltmp10 307 .quad Ltmp11 308