Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ./libash/.build/lin_release_x64/libash_test_math.out: file format elf64-x86-64
- Disassembly of section .init:
- 0000000000001000 <_init>:
- 1000: sub rsp,0x8
- 1004: mov rax,QWORD PTR [rip+0x2fe5] # 3ff0 <__gmon_start__>
- 100b: test rax,rax
- 100e: je 1012 <_init+0x12>
- 1010: call rax
- 1012: add rsp,0x8
- 1016: ret
- Disassembly of section .plt:
- 0000000000001020 <.plt>:
- 1020: push QWORD PTR [rip+0x2f0a] # 3f30 <_GLOBAL_OFFSET_TABLE_+0x8>
- 1026: jmp QWORD PTR [rip+0x2f0c] # 3f38 <_GLOBAL_OFFSET_TABLE_+0x10>
- 102c: nop DWORD PTR [rax+0x0]
- 0000000000001030 <__printf_chk@plt>:
- 1030: jmp QWORD PTR [rip+0x2f0a] # 3f40 <__printf_chk@GLIBC_2.3.4>
- 1036: push 0x0
- 103b: jmp 1020 <.plt>
- 0000000000001040 <operator new[](unsigned long)@plt>:
- 1040: jmp QWORD PTR [rip+0x2f02] # 3f48 <operator new[](unsigned long)@GLIBCXX_3.4>
- 1046: push 0x1
- 104b: jmp 1020 <.plt>
- 0000000000001050 <std::chrono::_V2::system_clock::now()@plt>:
- 1050: jmp QWORD PTR [rip+0x2efa] # 3f50 <std::chrono::_V2::system_clock::now()@GLIBCXX_3.4.19>
- 1056: push 0x2
- 105b: jmp 1020 <.plt>
- 0000000000001060 <pthread_setname_np@plt>:
- 1060: jmp QWORD PTR [rip+0x2ef2] # 3f58 <pthread_setname_np@GLIBC_2.12>
- 1066: push 0x3
- 106b: jmp 1020 <.plt>
- 0000000000001070 <std::__throw_length_error(char const*)@plt>:
- 1070: jmp QWORD PTR [rip+0x2eea] # 3f60 <std::__throw_length_error(char const*)@GLIBCXX_3.4>
- 1076: push 0x4
- 107b: jmp 1020 <.plt>
- 0000000000001080 <pthread_setschedparam@plt>:
- 1080: jmp QWORD PTR [rip+0x2ee2] # 3f68 <pthread_setschedparam@GLIBC_2.2.5>
- 1086: push 0x5
- 108b: jmp 1020 <.plt>
- 0000000000001090 <std::__throw_logic_error(char const*)@plt>:
- 1090: jmp QWORD PTR [rip+0x2eda] # 3f70 <std::__throw_logic_error(char const*)@GLIBCXX_3.4>
- 1096: push 0x6
- 109b: jmp 1020 <.plt>
- 00000000000010a0 <memcpy@plt>:
- 10a0: jmp QWORD PTR [rip+0x2ed2] # 3f78 <memcpy@GLIBC_2.14>
- 10a6: push 0x7
- 10ab: jmp 1020 <.plt>
- 00000000000010b0 <pthread_self@plt>:
- 10b0: jmp QWORD PTR [rip+0x2eca] # 3f80 <pthread_self@GLIBC_2.2.5>
- 10b6: push 0x8
- 10bb: jmp 1020 <.plt>
- 00000000000010c0 <operator delete(void*)@plt>:
- 10c0: jmp QWORD PTR [rip+0x2ec2] # 3f88 <operator delete(void*)@GLIBCXX_3.4>
- 10c6: push 0x9
- 10cb: jmp 1020 <.plt>
- 00000000000010d0 <sched_get_priority_max@plt>:
- 10d0: jmp QWORD PTR [rip+0x2eba] # 3f90 <sched_get_priority_max@GLIBC_2.2.5>
- 10d6: push 0xa
- 10db: jmp 1020 <.plt>
- 00000000000010e0 <operator new(unsigned long)@plt>:
- 10e0: jmp QWORD PTR [rip+0x2eb2] # 3f98 <operator new(unsigned long)@GLIBCXX_3.4>
- 10e6: push 0xb
- 10eb: jmp 1020 <.plt>
- 00000000000010f0 <operator delete[](void*)@plt>:
- 10f0: jmp QWORD PTR [rip+0x2eaa] # 3fa0 <operator delete[](void*)@GLIBCXX_3.4>
- 10f6: push 0xc
- 10fb: jmp 1020 <.plt>
- 0000000000001100 <sched_get_priority_min@plt>:
- 1100: jmp QWORD PTR [rip+0x2ea2] # 3fa8 <sched_get_priority_min@GLIBC_2.2.5>
- 1106: push 0xd
- 110b: jmp 1020 <.plt>
- 0000000000001110 <sched_yield@plt>:
- 1110: jmp QWORD PTR [rip+0x2e9a] # 3fb0 <sched_yield@GLIBC_2.2.5>
- 1116: push 0xe
- 111b: jmp 1020 <.plt>
- 0000000000001120 <pthread_setaffinity_np@plt>:
- 1120: jmp QWORD PTR [rip+0x2e92] # 3fb8 <pthread_setaffinity_np@GLIBC_2.3.4>
- 1126: push 0xf
- 112b: jmp 1020 <.plt>
- 0000000000001130 <pthread_getschedparam@plt>:
- 1130: jmp QWORD PTR [rip+0x2e8a] # 3fc0 <pthread_getschedparam@GLIBC_2.2.5>
- 1136: push 0x10
- 113b: jmp 1020 <.plt>
- 0000000000001140 <_Unwind_Resume@plt>:
- 1140: jmp QWORD PTR [rip+0x2e82] # 3fc8 <_Unwind_Resume@GCC_3.0>
- 1146: push 0x11
- 114b: jmp 1020 <.plt>
- 0000000000001150 <sqrtf@plt>:
- 1150: jmp QWORD PTR [rip+0x2e7a] # 3fd0 <sqrtf@GLIBC_2.2.5>
- 1156: push 0x12
- 115b: jmp 1020 <.plt>
- Disassembly of section .plt.got:
- 0000000000001160 <__cxa_finalize@plt>:
- 1160: jmp QWORD PTR [rip+0x2e72] # 3fd8 <__cxa_finalize@GLIBC_2.2.5>
- 1166: xchg ax,ax
- Disassembly of section .text:
- 0000000000001170 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [clone .cold.25]>:
- 1170: mov rdi,QWORD PTR [rsp+0x10]
- 1175: add rbp,0x10
- 1179: cmp rdi,rbp
- 117c: je 1183 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [clone .cold.25]+0x13>
- 117e: call 10c0 <operator delete(void*)@plt>
- 1183: mov rdi,rbx
- 1186: call 1140 <_Unwind_Resume@plt>
- 118b: nop DWORD PTR [rax+rax*1+0x0]
- 0000000000001190 <main>:
- 1190: sub rsp,0x8
- 1194: lea rsi,[rip+0xea0] # 203b <_IO_stdin_used+0x3b>
- 119b: lea rdi,[rip+0x3be] # 1560 <sqrt_std(float)>
- 11a2: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 11a7: lea rsi,[rip+0xea3] # 2051 <_IO_stdin_used+0x51>
- 11ae: mov edi,0x1
- 11b3: xor eax,eax
- 11b5: call 1030 <__printf_chk@plt>
- 11ba: lea rsi,[rip+0xe92] # 2053 <_IO_stdin_used+0x53>
- 11c1: lea rdi,[rip+0x388] # 1550 <sqrt_sseintrin(float)>
- 11c8: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 11cd: lea rsi,[rip+0xe95] # 2069 <_IO_stdin_used+0x69>
- 11d4: lea rdi,[rip+0x225] # 1400 <sqrt_sseinstr(float)>
- 11db: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 11e0: lea rsi,[rip+0xe6a] # 2051 <_IO_stdin_used+0x51>
- 11e7: mov edi,0x1
- 11ec: xor eax,eax
- 11ee: call 1030 <__printf_chk@plt>
- 11f3: lea rsi,[rip+0xe85] # 207f <_IO_stdin_used+0x7f>
- 11fa: lea rdi,[rip+0x2ef] # 14f0 <sqrt_rcpsseintrin(float)>
- 1201: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 1206: lea rsi,[rip+0xe88] # 2095 <_IO_stdin_used+0x95>
- 120d: lea rdi,[rip+0x1fc] # 1410 <sqrt_rcpsseinstr(float)>
- 1214: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 1219: lea rsi,[rip+0xe31] # 2051 <_IO_stdin_used+0x51>
- 1220: mov edi,0x1
- 1225: xor eax,eax
- 1227: call 1030 <__printf_chk@plt>
- 122c: lea rsi,[rip+0xe78] # 20ab <_IO_stdin_used+0xab>
- 1233: lea rdi,[rip+0x2c6] # 1500 <sqrt_rcpsseintrin_nr1(float)>
- 123a: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 123f: lea rsi,[rip+0xe7b] # 20c1 <_IO_stdin_used+0xc1>
- 1246: lea rdi,[rip+0x2d3] # 1520 <sqrt_rcpsseintrin_nr2(float)>
- 124d: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 1252: lea rsi,[rip+0xe7e] # 20d7 <_IO_stdin_used+0xd7>
- 1259: lea rdi,[rip+0x1c0] # 1420 <sqrt_rcpsseinstr_nr1(float)>
- 1260: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 1265: lea rsi,[rip+0xe81] # 20ed <_IO_stdin_used+0xed>
- 126c: lea rdi,[rip+0x1cd] # 1440 <sqrt_rcpsseinstr_nr2(float)>
- 1273: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 1278: lea rsi,[rip+0xdd2] # 2051 <_IO_stdin_used+0x51>
- 127f: mov edi,0x1
- 1284: xor eax,eax
- 1286: call 1030 <__printf_chk@plt>
- 128b: lea rsi,[rip+0xe71] # 2103 <_IO_stdin_used+0x103>
- 1292: lea rdi,[rip+0x1d7] # 1470 <sqrt_bithack(float)>
- 1299: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 129e: lea rsi,[rip+0xe74] # 2119 <_IO_stdin_used+0x119>
- 12a5: lea rdi,[rip+0x1e4] # 1490 <sqrt_bithackavg(float)>
- 12ac: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 12b1: lea rsi,[rip+0xe77] # 212f <_IO_stdin_used+0x12f>
- 12b8: lea rdi,[rip+0x1f1] # 14b0 <sqrt_bithackmax(float)>
- 12bf: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 12c4: lea rsi,[rip+0xd86] # 2051 <_IO_stdin_used+0x51>
- 12cb: mov edi,0x1
- 12d0: xor eax,eax
- 12d2: call 1030 <__printf_chk@plt>
- 12d7: lea rsi,[rip+0xe67] # 2145 <_IO_stdin_used+0x145>
- 12de: lea rdi,[rip+0x1eb] # 14d0 <sqrt_x87instr(float)>
- 12e5: call 15e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>
- 12ea: xor eax,eax
- 12ec: add rsp,0x8
- 12f0: ret
- 12f1: data16 nop WORD PTR cs:[rax+rax*1+0x0]
- 12fc: nop DWORD PTR [rax+0x0]
- 0000000000001300 <_GLOBAL__sub_I_main>:
- 1300: ret
- 1301: nop WORD PTR cs:[rax+rax*1+0x0]
- 130b: nop DWORD PTR [rax+rax*1+0x0]
- 0000000000001310 <_start>:
- 1310: xor ebp,ebp
- 1312: mov r9,rdx
- 1315: pop rsi
- 1316: mov rdx,rsp
- 1319: and rsp,0xfffffffffffffff0
- 131d: push rax
- 131e: push rsp
- 131f: lea r8,[rip+0x94a] # 1c70 <__libc_csu_fini>
- 1326: lea rcx,[rip+0x8e3] # 1c10 <__libc_csu_init>
- 132d: lea rdi,[rip+0xfffffffffffffe5c] # 1190 <main>
- 1334: call QWORD PTR [rip+0x2cae] # 3fe8 <__libc_start_main@GLIBC_2.2.5>
- 133a: hlt
- 133b: nop DWORD PTR [rax+rax*1+0x0]
- 0000000000001340 <deregister_tm_clones>:
- 1340: lea rdi,[rip+0x2cd1] # 4018 <__TMC_END__>
- 1347: lea rax,[rip+0x2cca] # 4018 <__TMC_END__>
- 134e: cmp rax,rdi
- 1351: je 1368 <deregister_tm_clones+0x28>
- 1353: mov rax,QWORD PTR [rip+0x2c86] # 3fe0 <_ITM_deregisterTMCloneTable>
- 135a: test rax,rax
- 135d: je 1368 <deregister_tm_clones+0x28>
- 135f: jmp rax
- 1361: nop DWORD PTR [rax+0x0]
- 1368: ret
- 1369: nop DWORD PTR [rax+0x0]
- 0000000000001370 <register_tm_clones>:
- 1370: lea rdi,[rip+0x2ca1] # 4018 <__TMC_END__>
- 1377: lea rsi,[rip+0x2c9a] # 4018 <__TMC_END__>
- 137e: sub rsi,rdi
- 1381: sar rsi,0x3
- 1385: mov rax,rsi
- 1388: shr rax,0x3f
- 138c: add rsi,rax
- 138f: sar rsi,1
- 1392: je 13a8 <register_tm_clones+0x38>
- 1394: mov rax,QWORD PTR [rip+0x2c5d] # 3ff8 <_ITM_registerTMCloneTable>
- 139b: test rax,rax
- 139e: je 13a8 <register_tm_clones+0x38>
- 13a0: jmp rax
- 13a2: nop WORD PTR [rax+rax*1+0x0]
- 13a8: ret
- 13a9: nop DWORD PTR [rax+0x0]
- 00000000000013b0 <__do_global_dtors_aux>:
- 13b0: cmp BYTE PTR [rip+0x2c61],0x0 # 4018 <__TMC_END__>
- 13b7: jne 13e8 <__do_global_dtors_aux+0x38>
- 13b9: push rbp
- 13ba: cmp QWORD PTR [rip+0x2c16],0x0 # 3fd8 <__cxa_finalize@GLIBC_2.2.5>
- 13c2: mov rbp,rsp
- 13c5: je 13d3 <__do_global_dtors_aux+0x23>
- 13c7: mov rdi,QWORD PTR [rip+0x2c3a] # 4008 <__dso_handle>
- 13ce: call 1160 <__cxa_finalize@plt>
- 13d3: call 1340 <deregister_tm_clones>
- 13d8: mov BYTE PTR [rip+0x2c39],0x1 # 4018 <__TMC_END__>
- 13df: pop rbp
- 13e0: ret
- 13e1: nop DWORD PTR [rax+0x0]
- 13e8: ret
- 13e9: nop DWORD PTR [rax+0x0]
- 00000000000013f0 <frame_dummy>:
- 13f0: jmp 1370 <register_tm_clones>
- 13f5: nop WORD PTR cs:[rax+rax*1+0x0]
- 13ff: nop
- 0000000000001400 <sqrt_sseinstr(float)>:
- 1400: sqrtss xmm0,xmm0
- 1404: ret
- 1405: data16 nop WORD PTR cs:[rax+rax*1+0x0]
- 0000000000001410 <sqrt_rcpsseinstr(float)>:
- 1410: movaps xmm1,xmm0
- 1413: rsqrtss xmm1,xmm0
- 1417: mulss xmm0,xmm1
- 141b: ret
- 141c: nop DWORD PTR [rax+0x0]
- 0000000000001420 <sqrt_rcpsseinstr_nr1(float)>:
- 1420: movaps xmm2,xmm0
- 1423: call 1410 <sqrt_rcpsseinstr(float)>
- 1428: divss xmm2,xmm0
- 142c: addss xmm2,xmm0
- 1430: mulss xmm2,DWORD PTR [rip+0xd24] # 215c <_IO_stdin_used+0x15c>
- 1438: movaps xmm0,xmm2
- 143b: ret
- 143c: nop DWORD PTR [rax+0x0]
- 0000000000001440 <sqrt_rcpsseinstr_nr2(float)>:
- 1440: movaps xmm2,xmm0
- 1443: call 1410 <sqrt_rcpsseinstr(float)>
- 1448: movaps xmm1,xmm0
- 144b: rcpss xmm1,xmm0
- 144f: mulss xmm2,xmm1
- 1453: addss xmm2,xmm0
- 1457: mulss xmm2,DWORD PTR [rip+0xcfd] # 215c <_IO_stdin_used+0x15c>
- 145f: movaps xmm0,xmm2
- 1462: ret
- 1463: data16 nop WORD PTR cs:[rax+rax*1+0x0]
- 146e: xchg ax,ax
- 0000000000001470 <sqrt_bithack(float)>:
- 1470: movd eax,xmm0
- 1474: shr eax,1
- 1476: add eax,0x1fc00000
- 147b: mov DWORD PTR [rsp-0x4],eax
- 147f: movss xmm0,DWORD PTR [rsp-0x4]
- 1485: ret
- 1486: nop WORD PTR cs:[rax+rax*1+0x0]
- 0000000000001490 <sqrt_bithackavg(float)>:
- 1490: movd eax,xmm0
- 1494: shr eax,1
- 1496: add eax,0x1fbd2b54
- 149b: mov DWORD PTR [rsp-0x4],eax
- 149f: movss xmm0,DWORD PTR [rsp-0x4]
- 14a5: ret
- 14a6: nop WORD PTR cs:[rax+rax*1+0x0]
- 00000000000014b0 <sqrt_bithackmax(float)>:
- 14b0: movd eax,xmm0
- 14b4: shr eax,1
- 14b6: add eax,0x1fbb4f2e
- 14bb: mov DWORD PTR [rsp-0x4],eax
- 14bf: movss xmm0,DWORD PTR [rsp-0x4]
- 14c5: ret
- 14c6: nop WORD PTR cs:[rax+rax*1+0x0]
- 00000000000014d0 <sqrt_x87instr(float)>:
- 14d0: movss DWORD PTR [rsp-0x4],xmm0
- 14d6: fld DWORD PTR [rsp-0x4]
- 14da: fsqrt
- 14dc: fstp DWORD PTR [rsp-0x8]
- 14e0: movss xmm0,DWORD PTR [rsp-0x8]
- 14e6: ret
- 14e7: nop WORD PTR [rax+rax*1+0x0]
- 00000000000014f0 <sqrt_rcpsseintrin(float)>:
- 14f0: movaps xmm1,xmm0
- 14f3: shufps xmm1,xmm1,0x0
- 14f7: rsqrtss xmm1,xmm1
- 14fb: mulss xmm0,xmm1
- 14ff: ret
- 0000000000001500 <sqrt_rcpsseintrin_nr1(float)>:
- 1500: movaps xmm1,xmm0
- 1503: shufps xmm1,xmm1,0x0
- 1507: rsqrtss xmm1,xmm1
- 150b: mulss xmm1,xmm0
- 150f: divss xmm0,xmm1
- 1513: addss xmm0,xmm1
- 1517: mulss xmm0,DWORD PTR [rip+0xc3d] # 215c <_IO_stdin_used+0x15c>
- 151f: ret
- 0000000000001520 <sqrt_rcpsseintrin_nr2(float)>:
- 1520: movaps xmm2,xmm0
- 1523: shufps xmm2,xmm2,0x0
- 1527: rsqrtss xmm2,xmm2
- 152b: mulss xmm2,xmm0
- 152f: movaps xmm1,xmm2
- 1532: shufps xmm1,xmm1,0x0
- 1536: rcpss xmm1,xmm1
- 153a: mulss xmm0,xmm1
- 153e: addss xmm0,xmm2
- 1542: mulss xmm0,DWORD PTR [rip+0xc12] # 215c <_IO_stdin_used+0x15c>
- 154a: ret
- 154b: nop DWORD PTR [rax+rax*1+0x0]
- 0000000000001550 <sqrt_sseintrin(float)>:
- 1550: shufps xmm0,xmm0,0x0
- 1554: sqrtss xmm0,xmm0
- 1558: ret
- 1559: nop DWORD PTR [rax+0x0]
- 0000000000001560 <sqrt_std(float)>:
- 1560: pxor xmm2,xmm2
- 1564: sqrtss xmm1,xmm0
- 1568: ucomiss xmm2,xmm0
- 156b: ja 1571 <sqrt_std(float)+0x11>
- 156d: movaps xmm0,xmm1
- 1570: ret
- 1571: sub rsp,0x18
- 1575: movss DWORD PTR [rsp+0xc],xmm1
- 157b: call 1150 <sqrtf@plt>
- 1580: movss xmm1,DWORD PTR [rsp+0xc]
- 1586: add rsp,0x18
- 158a: movaps xmm0,xmm1
- 158d: ret
- 158e: xchg ax,ax
- 0000000000001590 <double Ash::Profile::_profile_helper2<double, float (*)(float), float>(unsigned long, float (*)(float), float) [clone .constprop.6]>:
- 1590: push r12
- 1592: push rbp
- 1593: mov rbp,rdi
- 1596: push rbx
- 1597: mov ebx,0x5f5e100
- 159c: call 1ba0 <IB::Arch::invalidate_caches()>
- 15a1: call 1110 <sched_yield@plt>
- 15a6: call 1050 <std::chrono::_V2::system_clock::now()@plt>
- 15ab: mov r12,rax
- 15ae: xchg ax,ax
- 15b0: movss xmm0,DWORD PTR [rip+0xba4] # 215c <_IO_stdin_used+0x15c>
- 15b8: call rbp
- 15ba: sub rbx,0x1
- 15be: jne 15b0 <double Ash::Profile::_profile_helper2<double, float (*)(float), float>(unsigned long, float (*)(float), float) [clone .constprop.6]+0x20>
- 15c0: call 1050 <std::chrono::_V2::system_clock::now()@plt>
- 15c5: pxor xmm0,xmm0
- 15c9: pop rbx
- 15ca: pop rbp
- 15cb: sub rax,r12
- 15ce: pop r12
- 15d0: cvtsi2sd xmm0,rax
- 15d5: divsd xmm0,QWORD PTR [rip+0xb83] # 2160 <_IO_stdin_used+0x160>
- 15dd: ret
- 15de: xchg ax,ax
- 00000000000015e0 <_sqrt_benchmark_helper(float (*)(float), char const*)>:
- 15e0: push r15
- 15e2: mov r15,rdi
- 15e5: xor edi,edi
- 15e7: push r14
- 15e9: lea r14,[rip+0x160] # 1750 <float Ash::Profile::empty_function<float, float>(float)>
- 15f0: push r13
- 15f2: push r12
- 15f4: push rbp
- 15f5: push rbx
- 15f6: sub rsp,0x38
- 15fa: mov QWORD PTR [rsp+0x10],rsi
- 15ff: mov esi,0x1
- 1604: call 1a40 <ST::ThreadWrapper::set_affinity(ST::ThreadWrapper*, unsigned long)>
- 1609: mov esi,0x3
- 160e: xor edi,edi
- 1610: call 19b0 <ST::ThreadWrapper::set_priority(ST::ThreadWrapper*, int)>
- 1615: mov edi,0x320
- 161a: call 1040 <operator new[](unsigned long)@plt>
- 161f: mov rbx,rax
- 1622: mov rbp,rax
- 1625: lea r13,[rax+0x320]
- 162c: mov r12,rax
- 162f: nop
- 1630: mov QWORD PTR [rsp+0x28],r14
- 1635: mov rdi,QWORD PTR [rsp+0x28]
- 163a: add r12,0x8
- 163e: call 1590 <double Ash::Profile::_profile_helper2<double, float (*)(float), float>(unsigned long, float (*)(float), float) [clone .constprop.6]>
- 1643: mov rdi,r15
- 1646: movsd QWORD PTR [rsp+0x8],xmm0
- 164c: call 1590 <double Ash::Profile::_profile_helper2<double, float (*)(float), float>(unsigned long, float (*)(float), float) [clone .constprop.6]>
- 1651: subsd xmm0,QWORD PTR [rsp+0x8]
- 1657: divsd xmm0,QWORD PTR [rip+0xb09] # 2168 <_IO_stdin_used+0x168>
- 165f: movsd QWORD PTR [r12-0x8],xmm0
- 1666: cmp r12,r13
- 1669: jne 1630 <_sqrt_benchmark_helper(float (*)(float), char const*)+0x50>
- 166b: mov rax,rbx
- 166e: pxor xmm2,xmm2
- 1672: nop WORD PTR [rax+rax*1+0x0]
- 1678: movsd xmm0,QWORD PTR [rax]
- 167c: add rax,0x10
- 1680: addsd xmm2,xmm0
- 1684: movsd xmm0,QWORD PTR [rax-0x8]
- 1689: addsd xmm2,xmm0
- 168d: cmp rax,r13
- 1690: jne 1678 <_sqrt_benchmark_helper(float (*)(float), char const*)+0x98>
- 1692: divsd xmm2,QWORD PTR [rip+0xad6] # 2170 <_IO_stdin_used+0x170>
- 169a: pxor xmm1,xmm1
- 169e: movddup xmm3,xmm2
- 16a2: nop WORD PTR [rax+rax*1+0x0]
- 16a8: movupd xmm0,XMMWORD PTR [rbp+0x0]
- 16ad: add rbp,0x10
- 16b1: subpd xmm0,xmm3
- 16b5: mulpd xmm0,xmm0
- 16b9: addsd xmm1,xmm0
- 16bd: unpckhpd xmm0,xmm0
- 16c1: addsd xmm1,xmm0
- 16c5: cmp rbp,r13
- 16c8: jne 16a8 <_sqrt_benchmark_helper(float (*)(float), char const*)+0xc8>
- 16ca: mov rdi,rbx
- 16cd: movsd QWORD PTR [rsp+0x18],xmm2
- 16d3: divsd xmm1,QWORD PTR [rip+0xa9d] # 2178 <_IO_stdin_used+0x178>
- 16db: sqrtsd xmm1,xmm1
- 16df: movsd QWORD PTR [rsp+0x8],xmm1
- 16e5: call 10f0 <operator delete[](void*)@plt>
- 16ea: movsd xmm2,QWORD PTR [rsp+0x18]
- 16f0: movsd xmm1,QWORD PTR [rsp+0x8]
- 16f6: lea rsi,[rip+0x90b] # 2008 <_IO_stdin_used+0x8>
- 16fd: mov rdx,QWORD PTR [rsp+0x10]
- 1702: mov edi,0x1
- 1707: mov eax,0x4
- 170c: movsd xmm5,QWORD PTR [rip+0xa6c] # 2180 <_IO_stdin_used+0x180>
- 1714: movsd xmm4,QWORD PTR [rip+0xa44] # 2160 <_IO_stdin_used+0x160>
- 171c: movapd xmm0,xmm2
- 1720: movapd xmm3,xmm1
- 1724: add rsp,0x38
- 1728: mulsd xmm3,xmm5
- 172c: pop rbx
- 172d: pop rbp
- 172e: mulsd xmm0,xmm4
- 1732: pop r12
- 1734: pop r13
- 1736: mulsd xmm2,xmm5
- 173a: pop r14
- 173c: pop r15
- 173e: mulsd xmm1,xmm4
- 1742: jmp 1030 <__printf_chk@plt>
- 1747: nop WORD PTR [rax+rax*1+0x0]
- 0000000000001750 <float Ash::Profile::empty_function<float, float>(float)>:
- 1750: ret
- 1751: nop WORD PTR cs:[rax+rax*1+0x0]
- 175b: nop DWORD PTR [rax+rax*1+0x0]
- 0000000000001760 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>:
- 1760: push r15
- 1762: push r14
- 1764: push r13
- 1766: push r12
- 1768: mov r12,rsi
- 176b: push rbp
- 176c: push rbx
- 176d: mov rbx,rdi
- 1770: sub rsp,0x38
- 1774: test rdi,rdi
- 1777: je 18a0 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x140>
- 177d: mov rdi,QWORD PTR [rdi+0x28]
- 1781: mov rcx,QWORD PTR [r12+0x8]
- 1786: lea rbp,[rsp+0x10]
- 178b: mov rsi,QWORD PTR [r12]
- 178f: lea rdx,[rbp+0x10]
- 1793: cmp rcx,0xf
- 1797: mov QWORD PTR [rsp+0x10],rdx
- 179c: mov edx,0xf
- 17a1: mov rax,rsi
- 17a4: cmovbe rdx,rcx
- 17a8: add rax,rdx
- 17ab: je 17b6 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x56>
- 17ad: test rsi,rsi
- 17b0: je 198f <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x22f>
- 17b6: cmp rcx,0x1
- 17ba: je 1890 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x130>
- 17c0: test rcx,rcx
- 17c3: jne 1858 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xf8>
- 17c9: mov QWORD PTR [rsp+0x18],rdx
- 17ce: mov BYTE PTR [rsp+rdx*1+0x20],0x0
- 17d3: mov rsi,QWORD PTR [rsp+0x10]
- 17d8: call 1060 <pthread_setname_np@plt>
- 17dd: test rbx,rbx
- 17e0: je 1833 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xd3>
- 17e2: cmp rbx,r12
- 17e5: je 1833 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xd3>
- 17e7: mov rax,QWORD PTR [rbx]
- 17ea: lea r15,[rbx+0x10]
- 17ee: mov r13,QWORD PTR [r12+0x8]
- 17f3: cmp rax,r15
- 17f6: je 1950 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x1f0>
- 17fc: mov r14,QWORD PTR [rbx+0x10]
- 1800: cmp r13,r14
- 1803: ja 1910 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x1b0>
- 1809: test r13,r13
- 180c: je 182a <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xca>
- 180e: mov rsi,QWORD PTR [r12]
- 1812: cmp r13,0x1
- 1816: je 1960 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x200>
- 181c: mov rdx,r13
- 181f: mov rdi,rax
- 1822: call 10a0 <memcpy@plt>
- 1827: mov rax,QWORD PTR [rbx]
- 182a: mov QWORD PTR [rbx+0x8],r13
- 182e: mov BYTE PTR [rax+r13*1],0x0
- 1833: mov rdi,QWORD PTR [rsp+0x10]
- 1838: add rbp,0x10
- 183c: cmp rdi,rbp
- 183f: je 1846 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xe6>
- 1841: call 10c0 <operator delete(void*)@plt>
- 1846: add rsp,0x38
- 184a: pop rbx
- 184b: pop rbp
- 184c: pop r12
- 184e: pop r13
- 1850: pop r14
- 1852: pop r15
- 1854: ret
- 1855: nop DWORD PTR [rax]
- 1858: lea r8,[rbp+0x10]
- 185c: mov rcx,rsi
- 185f: mov r9,r8
- 1862: cmp edx,0x8
- 1865: jae 18e0 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x180>
- 1867: xor eax,eax
- 1869: test dl,0x4
- 186c: jne 18b0 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x150>
- 186e: test dl,0x2
- 1871: jne 18bf <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x15f>
- 1873: test dl,0x1
- 1876: je 17c9 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x69>
- 187c: movzx ecx,BYTE PTR [rcx+rax*1]
- 1880: mov BYTE PTR [r9+rax*1],cl
- 1884: jmp 17c9 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x69>
- 1889: nop DWORD PTR [rax+0x0]
- 1890: movzx eax,BYTE PTR [rsi]
- 1893: mov BYTE PTR [rsp+0x20],al
- 1897: jmp 17c9 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x69>
- 189c: nop DWORD PTR [rax+0x0]
- 18a0: call 10b0 <pthread_self@plt>
- 18a5: mov rdi,rax
- 18a8: jmp 1781 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x21>
- 18ad: nop DWORD PTR [rax]
- 18b0: mov eax,DWORD PTR [rcx]
- 18b2: mov DWORD PTR [r9],eax
- 18b5: mov eax,0x4
- 18ba: test dl,0x2
- 18bd: je 1873 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x113>
- 18bf: movzx esi,WORD PTR [rcx+rax*1]
- 18c3: mov WORD PTR [r9+rax*1],si
- 18c8: add rax,0x2
- 18cc: test dl,0x1
- 18cf: je 17c9 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x69>
- 18d5: jmp 187c <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x11c>
- 18d7: nop WORD PTR [rax+rax*1+0x0]
- 18e0: mov r10d,edx
- 18e3: xor ecx,ecx
- 18e5: and r10d,0xfffffff8
- 18e9: mov eax,ecx
- 18eb: add ecx,0x8
- 18ee: mov r9,QWORD PTR [rsi+rax*1]
- 18f2: mov QWORD PTR [r8+rax*1],r9
- 18f6: cmp ecx,r10d
- 18f9: jb 18e9 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x189>
- 18fb: lea r9,[r8+rcx*1]
- 18ff: add rcx,rsi
- 1902: jmp 1867 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x107>
- 1907: nop WORD PTR [rax+rax*1+0x0]
- 1910: test r13,r13
- 1913: js 199b <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x23b>
- 1919: add r14,r14
- 191c: cmp r13,r14
- 191f: jb 1970 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x210>
- 1921: lea rdi,[r13+0x1]
- 1925: mov r14,r13
- 1928: call 10e0 <operator new(unsigned long)@plt>
- 192d: mov rdi,QWORD PTR [rbx]
- 1930: cmp r15,rdi
- 1933: je 1944 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x1e4>
- 1935: mov QWORD PTR [rsp+0x8],rax
- 193a: call 10c0 <operator delete(void*)@plt>
- 193f: mov rax,QWORD PTR [rsp+0x8]
- 1944: mov QWORD PTR [rbx],rax
- 1947: mov QWORD PTR [rbx+0x10],r14
- 194b: jmp 1809 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xa9>
- 1950: mov r14d,0xf
- 1956: jmp 1800 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xa0>
- 195b: nop DWORD PTR [rax+rax*1+0x0]
- 1960: movzx edx,BYTE PTR [rsi]
- 1963: mov BYTE PTR [rax],dl
- 1965: mov rax,QWORD PTR [rbx]
- 1968: jmp 182a <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xca>
- 196d: nop DWORD PTR [rax]
- 1970: lea rdi,[r14+0x1]
- 1974: test r14,r14
- 1977: jns 1928 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x1c8>
- 1979: movabs rdi,0x8000000000000000
- 1983: movabs r14,0x7fffffffffffffff
- 198d: jmp 1928 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x1c8>
- 198f: lea rdi,[rip+0x7f2] # 2188 <_IO_stdin_used+0x188>
- 1996: call 1090 <std::__throw_logic_error(char const*)@plt>
- 199b: lea rdi,[rip+0x816] # 21b8 <_IO_stdin_used+0x1b8>
- 19a2: call 1070 <std::__throw_length_error(char const*)@plt>
- 19a7: mov rbx,rax
- 19aa: jmp 1170 <ST::ThreadWrapper::set_name(ST::ThreadWrapper*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [clone .cold.25]>
- 19af: nop
- 00000000000019b0 <ST::ThreadWrapper::set_priority(ST::ThreadWrapper*, int)>:
- 19b0: push r13
- 19b2: mov r13d,esi
- 19b5: push r12
- 19b7: push rbp
- 19b8: push rbx
- 19b9: sub rsp,0x18
- 19bd: test rdi,rdi
- 19c0: je 1a30 <ST::ThreadWrapper::set_priority(ST::ThreadWrapper*, int)+0x80>
- 19c2: mov rbp,QWORD PTR [rdi+0x28]
- 19c6: lea rsi,[rsp+0x4]
- 19cb: lea rdx,[rsp+0x8]
- 19d0: mov rdi,rbp
- 19d3: call 1130 <pthread_getschedparam@plt>
- 19d8: mov edi,DWORD PTR [rsp+0x4]
- 19dc: call 1100 <sched_get_priority_min@plt>
- 19e1: mov ebx,DWORD PTR [rsp+0x8]
- 19e5: mov edi,DWORD PTR [rsp+0x4]
- 19e9: mov r12d,eax
- 19ec: call 10d0 <sched_get_priority_max@plt>
- 19f1: lea esi,[rbx+r13*1]
- 19f5: cmp r12d,esi
- 19f8: jge 1a20 <ST::ThreadWrapper::set_priority(ST::ThreadWrapper*, int)+0x70>
- 19fa: cmp eax,esi
- 19fc: cmovg eax,esi
- 19ff: mov DWORD PTR [rsp+0xc],eax
- 1a03: mov esi,DWORD PTR [rsp+0x4]
- 1a07: lea rdx,[rsp+0xc]
- 1a0c: mov rdi,rbp
- 1a0f: call 1080 <pthread_setschedparam@plt>
- 1a14: add rsp,0x18
- 1a18: pop rbx
- 1a19: pop rbp
- 1a1a: pop r12
- 1a1c: pop r13
- 1a1e: ret
- 1a1f: nop
- 1a20: mov DWORD PTR [rsp+0xc],r12d
- 1a25: jmp 1a03 <ST::ThreadWrapper::set_priority(ST::ThreadWrapper*, int)+0x53>
- 1a27: nop WORD PTR [rax+rax*1+0x0]
- 1a30: call 10b0 <pthread_self@plt>
- 1a35: mov rbp,rax
- 1a38: jmp 19c6 <ST::ThreadWrapper::set_priority(ST::ThreadWrapper*, int)+0x16>
- 1a3a: nop WORD PTR [rax+rax*1+0x0]
- 0000000000001a40 <ST::ThreadWrapper::set_affinity(ST::ThreadWrapper*, unsigned long)>:
- 1a40: push rbx
- 1a41: mov r9,rdi
- 1a44: mov ecx,0x10
- 1a49: xor eax,eax
- 1a4b: mov r8d,0x1
- 1a51: add rsp,0xffffffffffffff80
- 1a55: mov rbx,rsp
- 1a58: mov rdi,rbx
- 1a5b: rep stos QWORD PTR es:[rdi],rax
- 1a5e: xor edi,edi
- 1a60: bt rsi,rcx
- 1a64: jae 1a74 <ST::ThreadWrapper::set_affinity(ST::ThreadWrapper*, unsigned long)+0x34>
- 1a66: mov rdi,r8
- 1a69: shl rdi,cl
- 1a6c: or rax,rdi
- 1a6f: mov edi,0x1
- 1a74: add rcx,0x1
- 1a78: cmp rcx,0x40
- 1a7c: jne 1a60 <ST::ThreadWrapper::set_affinity(ST::ThreadWrapper*, unsigned long)+0x20>
- 1a7e: test dil,dil
- 1a81: je 1a87 <ST::ThreadWrapper::set_affinity(ST::ThreadWrapper*, unsigned long)+0x47>
- 1a83: mov QWORD PTR [rsp],rax
- 1a87: test r9,r9
- 1a8a: je 1aa3 <ST::ThreadWrapper::set_affinity(ST::ThreadWrapper*, unsigned long)+0x63>
- 1a8c: mov rdi,QWORD PTR [r9+0x28]
- 1a90: mov rdx,rbx
- 1a93: mov esi,0x80
- 1a98: call 1120 <pthread_setaffinity_np@plt>
- 1a9d: sub rsp,0xffffffffffffff80
- 1aa1: pop rbx
- 1aa2: ret
- 1aa3: call 10b0 <pthread_self@plt>
- 1aa8: mov rdi,rax
- 1aab: jmp 1a90 <ST::ThreadWrapper::set_affinity(ST::ThreadWrapper*, unsigned long)+0x50>
- 1aad: nop DWORD PTR [rax]
- 0000000000001ab0 <IB::Arch::cpuid(unsigned int)>:
- 1ab0: push rbx
- 1ab1: mov eax,edi
- 1ab3: cpuid
- 1ab5: mov DWORD PTR [rsp-0x4],eax
- 1ab9: movd xmm0,DWORD PTR [rsp-0x4]
- 1abf: pinsrd xmm0,ebx,0x1
- 1ac5: pop rbx
- 1ac6: pinsrd xmm0,ecx,0x2
- 1acc: pinsrd xmm0,edx,0x3
- 1ad2: movq rax,xmm0
- 1ad7: pextrq rdx,xmm0,0x1
- 1ade: ret
- 1adf: nop
- 0000000000001ae0 <IB::Arch::cpuid(unsigned int, unsigned int)>:
- 1ae0: push rbx
- 1ae1: mov eax,edi
- 1ae3: mov ecx,esi
- 1ae5: cpuid
- 1ae7: mov DWORD PTR [rsp-0x4],eax
- 1aeb: movd xmm0,DWORD PTR [rsp-0x4]
- 1af1: pinsrd xmm0,ebx,0x1
- 1af7: pop rbx
- 1af8: pinsrd xmm0,ecx,0x2
- 1afe: pinsrd xmm0,edx,0x3
- 1b04: movq rax,xmm0
- 1b09: pextrq rdx,xmm0,0x1
- 1b10: ret
- 1b11: data16 nop WORD PTR cs:[rax+rax*1+0x0]
- 1b1c: nop DWORD PTR [rax+0x0]
- 0000000000001b20 <IB::Arch::get_cache_info(IB::Arch::CacheType)>:
- 1b20: push rbx
- 1b21: mov ecx,esi
- 1b23: mov eax,0x4
- 1b28: cpuid
- 1b2a: mov eax,ebx
- 1b2c: add ecx,0x1
- 1b2f: shr eax,0x16
- 1b32: add eax,0x1
- 1b35: mov DWORD PTR [rsp-0x8],eax
- 1b39: mov eax,ebx
- 1b3b: movd xmm0,DWORD PTR [rsp-0x8]
- 1b41: and ebx,0xfff
- 1b47: shr eax,0xc
- 1b4a: mov QWORD PTR [rsp-0x8],rcx
- 1b4f: and eax,0x3ff
- 1b54: movdqa xmm1,xmm0
- 1b58: movq rsi,xmm0
- 1b5d: lea rdx,[rax+0x1]
- 1b61: lea rax,[rbx+0x1]
- 1b65: pinsrq xmm1,rdx,0x1
- 1b6c: imul rsi,rax
- 1b70: movups XMMWORD PTR [rdi],xmm1
- 1b73: movq xmm1,QWORD PTR [rsp-0x8]
- 1b79: pop rbx
- 1b7a: pinsrq xmm1,rax,0x1
- 1b81: mov rax,rsi
- 1b84: imul rax,rcx
- 1b88: movups XMMWORD PTR [rdi+0x10],xmm1
- 1b8c: imul rax,rdx
- 1b90: mov QWORD PTR [rdi+0x20],rax
- 1b94: mov rax,rdi
- 1b97: ret
- 1b98: nop DWORD PTR [rax+rax*1+0x0]
- 0000000000001ba0 <IB::Arch::invalidate_caches()>:
- 1ba0: push rbx
- 1ba1: mov eax,0x4
- 1ba6: mov ecx,0x3
- 1bab: cpuid
- 1bad: mov eax,ebx
- 1baf: mov edx,ebx
- 1bb1: shr ebx,0xc
- 1bb4: shr eax,0x16
- 1bb7: and edx,0xfff
- 1bbd: and ebx,0x3ff
- 1bc3: add rdx,0x1
- 1bc7: add eax,0x1
- 1bca: add rbx,0x1
- 1bce: imul rax,rdx
- 1bd2: lea edx,[rcx+0x1]
- 1bd5: imul rax,rdx
- 1bd9: imul rbx,rax
- 1bdd: mov rdi,rbx
- 1be0: call 1040 <operator new[](unsigned long)@plt>
- 1be5: test rbx,rbx
- 1be8: je 1bff <IB::Arch::invalidate_caches()+0x5f>
- 1bea: xor edx,edx
- 1bec: nop DWORD PTR [rax+0x0]
- 1bf0: lea rcx,[rax+rdx*1]
- 1bf4: mov BYTE PTR [rcx],dl
- 1bf6: add rdx,0x1
- 1bfa: cmp rdx,rbx
- 1bfd: jne 1bf0 <IB::Arch::invalidate_caches()+0x50>
- 1bff: mov rdi,rax
- 1c02: pop rbx
- 1c03: jmp 10f0 <operator delete[](void*)@plt>
- 1c08: nop DWORD PTR [rax+rax*1+0x0]
- 0000000000001c10 <__libc_csu_init>:
- 1c10: push r15
- 1c12: mov r15,rdx
- 1c15: push r14
- 1c17: mov r14,rsi
- 1c1a: push r13
- 1c1c: mov r13d,edi
- 1c1f: push r12
- 1c21: lea r12,[rip+0x20c0] # 3ce8 <__frame_dummy_init_array_entry>
- 1c28: push rbp
- 1c29: lea rbp,[rip+0x20c0] # 3cf0 <__init_array_end>
- 1c30: push rbx
- 1c31: sub rbp,r12
- 1c34: sub rsp,0x8
- 1c38: call 1000 <_init>
- 1c3d: sar rbp,0x3
- 1c41: je 1c5e <__libc_csu_init+0x4e>
- 1c43: xor ebx,ebx
- 1c45: nop DWORD PTR [rax]
- 1c48: mov rdx,r15
- 1c4b: mov rsi,r14
- 1c4e: mov edi,r13d
- 1c51: call QWORD PTR [r12+rbx*8]
- 1c55: add rbx,0x1
- 1c59: cmp rbp,rbx
- 1c5c: jne 1c48 <__libc_csu_init+0x38>
- 1c5e: add rsp,0x8
- 1c62: pop rbx
- 1c63: pop rbp
- 1c64: pop r12
- 1c66: pop r13
- 1c68: pop r14
- 1c6a: pop r15
- 1c6c: ret
- 1c6d: nop DWORD PTR [rax]
- 0000000000001c70 <__libc_csu_fini>:
- 1c70: ret
- Disassembly of section .fini:
- 0000000000001c74 <_fini>:
- 1c74: sub rsp,0x8
- 1c78: add rsp,0x8
- 1c7c: ret
Add Comment
Please, Sign In to add comment