Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dump of assembler code for function bigint_sherlock::mul: Dump of assembler code for function bigint_sherlock::mul:
- <+0>: push %rbp <+0>: push %rbp
- <+1>: mov %rsp,%rbp <+1>: mov %rsp,%rbp
- <+4>: sub $0x40,%rsp | <+4>: push %r15
- <+8>: mov 0x10(%rbp),%rax | <+6>: push %r14
- <+12>: mov 0x18(%rbp),%rcx | <+8>: push %r13
- <+16>: mov 0x20(%rbp),%rdx | <+10>: push %r12
- <+20>: mov 0x28(%rbp),%rsi | <+12>: push %rbx
- <+24>: mov 0x30(%rbp),%r8 | <+13>: sub $0x38,%rsp
- <+28>: mov 0x38(%rbp),%r9 | <+17>: mov %rdi,-0x58(%rbp)
- <+32>: mov 0x40(%rbp),%r10 | <+21>: mov 0x10(%rbp),%r11
- <+36>: mov 0x48(%rbp),%r11 | <+25>: mov 0x18(%rbp),%rsi
- <+40>: mov %rax,-0x40(%rbp) | <+29>: mov 0x20(%rbp),%rax
- <+44>: mov %rcx,-0x38(%rbp) | <+33>: mov %rax,-0x30(%rbp)
- <+48>: mov %rdx,-0x30(%rbp) | <+37>: mov 0x28(%rbp),%rax
- <+52>: mov %rsi,-0x28(%rbp) | <+41>: mov %rax,-0x48(%rbp)
- <+56>: mov %r8,-0x20(%rbp) | <+45>: mov 0x30(%rbp),%rcx
- <+60>: mov %r9,-0x18(%rbp) | <+49>: mov 0x38(%rbp),%r12
- <+64>: mov %r10,-0x10(%rbp) | <+53>: mov 0x40(%rbp),%rax
- <+68>: mov %r11,-0x8(%rbp) | <+57>: mov %rax,-0x38(%rbp)
- <+72>: mov -0x40(%rbp),%rax | <+61>: mov 0x48(%rbp),%rax
- <+76>: mulq -0x20(%rbp) | <+65>: mov %rax,-0x60(%rbp)
- <+80>: mov %rax,%r8 | <+69>: mov %ecx,%r10d
- <+83>: mov %rdx,%r9 | <+72>: shr $0x20,%rcx
- <+86>: mov -0x40(%rbp),%rax | <+76>: test %r11,%r11
- <+90>: mulq -0x18(%rbp) | <+79>: mov %rsi,-0x40(%rbp)
- <+94>: add %rax,%r9 | <+83>: je 0x58276 <bigint_sherlock::mul+198>
- <+97>: adc $0x0,%rdx | <+198>: xor %eax,%eax
- <+101>: mov %rdx,%r10 | <+200>: mov %rax,-0x50(%rbp)
- <+104>: mov -0x40(%rbp),%rax | <+204>: xor %r13d,%r13d
- <+108>: mulq -0x10(%rbp) | <+207>: xor %r14d,%r14d
- <+112>: add %rax,%r10 | <+210>: mov %r14,%rax
- <+115>: adc $0x0,%rdx | <+213>: or %rsi,%rax
- <+119>: mov %rdx,%r11 | <+216>: je 0x582fc <bigint_sherlock::mul+332>
- <+122>: mov -0x40(%rbp),%rax | <+332>: xor %r8d,%r8d
- <+126>: mulq -0x8(%rbp) | <+335>: mov -0x30(%rbp),%rdx
- <+130>: add %rax,%r11 | <+339>: mov %r14,%rax
- <+133>: adc $0x0,%rdx | <+342>: or %rdx,%rax
- <+137>: mov %rdx,%rcx | <+345>: je 0x5837d <bigint_sherlock::mul+461>
- <+140>: mov -0x38(%rbp),%rax | <+461>: xor %r15d,%r15d
- <+144>: mulq -0x20(%rbp) | <+464>: mov %r14,%rax
- <+148>: add %rax,%r9 | <+467>: mov -0x48(%rbp),%rdx
- <+151>: adc %rdx,%r10 | <+471>: or %rdx,%rax
- <+154>: adc $0x0,%r11 | <+474>: je 0x583f4 <bigint_sherlock::mul+580>
- <+158>: adc $0x0,%rcx | <+580>: xor %r9d,%r9d
- <+162>: mov -0x38(%rbp),%rax | <+583>: mov -0x38(%rbp),%r10
- <+166>: mulq -0x18(%rbp) | <+587>: mov %r12,%r14
- <+170>: add %rax,%r10 | <+590>: shr $0x20,%r14
- <+173>: adc %rdx,%r11 | <+594>: mov %r12d,%r12d
- <+176>: adc $0x0,%rcx | <+597>: test %r11,%r11
- <+180>: adc $0x0,%r11 | <+600>: je 0x5847f <bigint_sherlock::mul+719>
- <+184>: adc $0x0,%rcx | <+719>: xor %edi,%edi
- <+188>: mov -0x38(%rbp),%rax | <+721>: mov %rdi,%rax
- <+192>: mulq -0x10(%rbp) | <+724>: mov -0x40(%rbp),%rcx
- <+196>: add %rax,%r11 | <+728>: or %rcx,%rax
- <+199>: adc $0x0,%rdx | <+731>: je 0x58503 <bigint_sherlock::mul+851>
- <+203>: or %rdx,%rcx | <+851>: mov %rdi,%rax
- <+206>: mov -0x30(%rbp),%rax | <+854>: mov -0x30(%rbp),%rcx
- <+210>: mulq -0x20(%rbp) | <+858>: or %rcx,%rax
- <+214>: add %rax,%r10 | <+861>: je 0x58585 <bigint_sherlock::mul+981>
- <+217>: adc %rdx,%r11 | <+981>: mov %r13,-0x38(%rbp)
- <+220>: adc $0x0,%rcx | <+985>: mov %rdi,%rax
- <+224>: mov -0x30(%rbp),%rax | <+988>: mov -0x48(%rbp),%rdx
- <+228>: mulq -0x18(%rbp) | <+992>: or %rdx,%rax
- <+232>: add %rax,%r11 | <+995>: je 0x585fd <bigint_sherlock::mul+1101>
- <+235>: adc $0x0,%rdx | <+1101>: xor %r13d,%r13d
- <+239>: or %rdx,%rcx | <+1104>: mov %r10,%r12
- <+242>: mov -0x28(%rbp),%rax | <+1107>: shr $0x20,%r12
- <+246>: mulq -0x20(%rbp) | <+1111>: mov %r10d,%r14d
- <+250>: add %rax,%r11 | <+1114>: test %r11,%r11
- <+253>: or %rdx,%rcx | <+1117>: je 0x58684 <bigint_sherlock::mul+1236>
- <+256>: cmp $0x0,%rcx | <+1236>: xor %edi,%edi
- <+260>: jne 0x58351 <bigint_sherlock::mul+321> | <+1238>: mov %rdi,%rax
- <+262>: mov -0x28(%rbp),%rcx | <+1241>: mov -0x40(%rbp),%rsi
- <+266>: jrcxz 0x58330 <bigint_sherlock::mul+288> | <+1245>: or %rsi,%rax
- <+268>: mov -0x8(%rbp),%rcx | <+1248>: je 0x58709 <bigint_sherlock::mul+1369>
- <+272>: mov -0x10(%rbp),%rax | <+1369>: mov %rdi,%rax
- <+276>: or %rax,%rcx | <+1372>: mov -0x30(%rbp),%rsi
- <+279>: mov -0x18(%rbp),%rax | <+1376>: or %rsi,%rax
- <+283>: or %rax,%rcx | <+1379>: je 0x5878c <bigint_sherlock::mul+1500>
- <+286>: jmp 0x58351 <bigint_sherlock::mul+321> | <+1500>: mov %rdi,%rax
- <+288>: mov -0x8(%rbp),%rcx | <+1503>: or %rdx,%rax
- <+292>: jrcxz 0x58347 <bigint_sherlock::mul+311> | <+1506>: je 0x587fb <bigint_sherlock::mul+1611>
- <+294>: mov -0x30(%rbp),%rcx | <+1611>: xor %ecx,%ecx
- <+298>: mov -0x38(%rbp),%rax | <+1613>: mov -0x60(%rbp),%rax
- <+302>: or %rax,%rcx | <+1617>: mov %rax,%r14
- <+305>: cmp $0x0,%rcx | <+1620>: shr $0x20,%r14
- <+309>: jne 0x58351 <bigint_sherlock::mul+321> | <+1624>: mov %eax,%r12d
- <+311>: mov -0x10(%rbp),%rcx | <+1627>: test %r11,%r11
- <+315>: jrcxz 0x58351 <bigint_sherlock::mul+321> | <+1630>: je 0x58885 <bigint_sherlock::mul+1749>
- <+317>: mov -0x30(%rbp),%rcx | <+1749>: xor %edi,%edi
- <+321>: test %rcx,%rcx | <+1751>: mov %rdi,%rax
- <+324>: jne 0x5836e <bigint_sherlock::mul+350> | <+1754>: mov -0x40(%rbp),%rdx
- <+326>: mov %r8,(%rdi) | <+1758>: or %rdx,%rax
- <+329>: mov %r9,0x8(%rdi) | <+1761>: je 0x58909 <bigint_sherlock::mul+1881>
- <+333>: mov %r10,0x10(%rdi) | <+1881>: mov %rdi,%rax
- <+337>: mov %r11,0x18(%rdi) | <+1884>: mov -0x30(%rbp),%rdx
- <+341>: mov %rdi,%rax | <+1888>: or %rdx,%rax
- <+344>: add $0x40,%rsp | <+1891>: je 0x5898b <bigint_sherlock::mul+2011>
- <+348>: pop %rbp | <+2011>: mov %rdi,%rax
- <+349>: retq | <+2014>: mov -0x48(%rbp),%rdx
- <+350>: mov 0x3ff29b(%rip),%rdi # 0x457610 | <+2018>: or %rdx,%rax
- <+357>: callq 0x57a38 | <+2021>: je 0x58a05 <bigint_sherlock::mul+2133>
- > <+2133>: xor %eax,%eax
- > <+2135>: test %al,%al
- > <+2137>: jne 0x58a3d <bigint_sherlock::mul+2189>
- > <+2189>: mov 0x44dbcc(%rip),%rdi # 0x4a6610
- > <+2196>: callq 0x579d8
- End of assembler dump. End of assembler dump.
- Dump of assembler code for function bigint_sherlock::add: Dump of assembler code for function bigint_sherlock::add:
- <+0>: push %rbp <+0>: push %rbp
- <+1>: mov %rsp,%rbp <+1>: mov %rsp,%rbp
- <+4>: sub $0x20,%rsp | <+4>: mov 0x10(%rbp),%r9
- <+8>: mov 0x10(%rbp),%rcx | <+8>: mov 0x18(%rbp),%rcx
- <+12>: mov 0x18(%rbp),%rdx | <+12>: mov 0x20(%rbp),%rsi
- <+16>: mov 0x20(%rbp),%rsi | <+16>: mov 0x28(%rbp),%rdx
- <+20>: mov 0x28(%rbp),%r8 | <+20>: mov 0x40(%rbp),%r10
- <+24>: mov 0x30(%rbp),%rax | <+24>: mov 0x48(%rbp),%r8
- <+28>: mov 0x38(%rbp),%r9 | <+28>: add 0x38(%rbp),%rcx
- <+32>: mov 0x40(%rbp),%r10 | <+32>: setb %al
- <+36>: mov 0x48(%rbp),%r11 | <+35>: add 0x30(%rbp),%r9
- <+40>: mov %rax,-0x20(%rbp) | <+39>: jae 0x58a7f <bigint_sherlock::add+47>
- <+44>: mov %r9,-0x18(%rbp) | <+41>: add $0x1,%rcx
- <+48>: mov %r10,-0x10(%rbp) | <+45>: adc $0x0,%al
- <+52>: mov %r11,-0x8(%rbp) | <+47>: test %al,%al
- <+56>: add -0x20(%rbp),%rcx | <+49>: je 0x58a9b <bigint_sherlock::add+75>
- <+60>: adc -0x18(%rbp),%rdx | <+51>: movzbl %al,%eax
- <+64>: adc -0x10(%rbp),%rsi | <+54>: lea (%rsi,%r10,1),%r11
- <+68>: adc -0x8(%rbp),%r8 | <+58>: add %rax,%r11
- <+72>: setb %al | <+61>: setb %al
- <+75>: test %al,%al | <+64>: add %r10,%rsi
- <+77>: jne 0x583e7 <bigint_sherlock::add+103> | <+67>: adc $0x0,%al
- <+79>: mov %rcx,(%rdi) | <+69>: test %al,%al
- <+82>: mov %rdx,0x8(%rdi) | <+71>: jne 0x58aa8 <bigint_sherlock::add+88>
- <+86>: mov %rsi,0x10(%rdi) | <+73>: jmp 0x58ac0 <bigint_sherlock::add+112>
- <+90>: mov %r8,0x18(%rdi) | <+75>: add %r10,%rsi
- <+94>: mov %rdi,%rax | <+78>: setb %al
- <+97>: add $0x20,%rsp | <+81>: mov %rsi,%r11
- <+101>: pop %rbp | <+84>: test %al,%al
- <+102>: retq | <+86>: je 0x58ac0 <bigint_sherlock::add+112>
- <+103>: mov 0x3ff142(%rip),%rdi # 0x457530 | <+88>: movzbl %al,%eax
- <+110>: callq 0x57a38 | <+91>: lea (%rdx,%r8,1),%rsi
- > <+95>: add %rax,%rsi
- > <+98>: setb %al
- > <+101>: add %r8,%rdx
- > <+104>: adc $0x0,%al
- > <+106>: test %al,%al
- > <+108>: je 0x58acd <bigint_sherlock::add+125>
- > <+110>: jmp 0x58ae1 <bigint_sherlock::add+145>
- > <+112>: add %r8,%rdx
- > <+115>: setb %al
- > <+118>: mov %rdx,%rsi
- > <+121>: test %al,%al
- > <+123>: jne 0x58ae1 <bigint_sherlock::add+145>
- > <+125>: mov %r9,(%rdi)
- > <+128>: mov %rcx,0x8(%rdi)
- > <+132>: mov %r11,0x10(%rdi)
- > <+136>: mov %rsi,0x18(%rdi)
- > <+140>: mov %rdi,%rax
- > <+143>: pop %rbp
- > <+144>: retq
- > <+145>: mov 0x44da48(%rip),%rdi # 0x4a6530
- > <+152>: callq 0x579d8
- End of assembler dump. End of assembler dump.
- Dump of assembler code for function bigint_sherlock::sub: Dump of assembler code for function bigint_sherlock::sub:
- <+0>: push %rbp <+0>: push %rbp
- <+1>: mov %rsp,%rbp <+1>: mov %rsp,%rbp
- <+4>: sub $0x20,%rsp | <+4>: mov 0x10(%rbp),%r9
- <+8>: mov 0x10(%rbp),%rcx | <+8>: mov 0x18(%rbp),%rcx
- <+12>: mov 0x18(%rbp),%rdx | <+12>: mov 0x20(%rbp),%rsi
- <+16>: mov 0x20(%rbp),%rsi | <+16>: mov 0x28(%rbp),%rdx
- <+20>: mov 0x28(%rbp),%r8 | <+20>: mov 0x40(%rbp),%r10
- <+24>: mov 0x30(%rbp),%rax | <+24>: mov 0x48(%rbp),%r8
- <+28>: mov 0x38(%rbp),%r9 | <+28>: add 0x38(%rbp),%rcx
- <+32>: mov 0x40(%rbp),%r10 | <+32>: setb %al
- <+36>: mov 0x48(%rbp),%r11 | <+35>: add 0x30(%rbp),%r9
- <+40>: mov %rax,-0x20(%rbp) | <+39>: jae 0x58b1f <bigint_sherlock::sub+47>
- <+44>: mov %r9,-0x18(%rbp) | <+41>: add $0x1,%rcx
- <+48>: mov %r10,-0x10(%rbp) | <+45>: adc $0x0,%al
- <+52>: mov %r11,-0x8(%rbp) | <+47>: test %al,%al
- <+56>: add -0x20(%rbp),%rcx | <+49>: je 0x58b3b <bigint_sherlock::sub+75>
- <+60>: adc -0x18(%rbp),%rdx | <+51>: movzbl %al,%eax
- <+64>: adc -0x10(%rbp),%rsi | <+54>: lea (%rsi,%r10,1),%r11
- <+68>: adc -0x8(%rbp),%r8 | <+58>: add %rax,%r11
- <+72>: setb %al | <+61>: setb %al
- <+75>: test %al,%al | <+64>: add %r10,%rsi
- <+77>: jne 0x58467 <bigint_sherlock::sub+103> | <+67>: adc $0x0,%al
- <+79>: mov %rcx,(%rdi) | <+69>: test %al,%al
- <+82>: mov %rdx,0x8(%rdi) | <+71>: jne 0x58b48 <bigint_sherlock::sub+88>
- <+86>: mov %rsi,0x10(%rdi) | <+73>: jmp 0x58b60 <bigint_sherlock::sub+112>
- <+90>: mov %r8,0x18(%rdi) | <+75>: add %r10,%rsi
- <+94>: mov %rdi,%rax | <+78>: setb %al
- <+97>: add $0x20,%rsp | <+81>: mov %rsi,%r11
- <+101>: pop %rbp | <+84>: test %al,%al
- <+102>: retq | <+86>: je 0x58b60 <bigint_sherlock::sub+112>
- <+103>: mov 0x3ff0c2(%rip),%rdi # 0x457530 | <+88>: movzbl %al,%eax
- <+110>: callq 0x57a38 | <+91>: lea (%rdx,%r8,1),%rsi
- > <+95>: add %rax,%rsi
- > <+98>: setb %al
- > <+101>: add %r8,%rdx
- > <+104>: adc $0x0,%al
- > <+106>: test %al,%al
- > <+108>: je 0x58b6d <bigint_sherlock::sub+125>
- > <+110>: jmp 0x58b81 <bigint_sherlock::sub+145>
- > <+112>: add %r8,%rdx
- > <+115>: setb %al
- > <+118>: mov %rdx,%rsi
- > <+121>: test %al,%al
- > <+123>: jne 0x58b81 <bigint_sherlock::sub+145>
- > <+125>: mov %r9,(%rdi)
- > <+128>: mov %rcx,0x8(%rdi)
- > <+132>: mov %r11,0x10(%rdi)
- > <+136>: mov %rsi,0x18(%rdi)
- > <+140>: mov %rdi,%rax
- > <+143>: pop %rbp
- > <+144>: retq
- > <+145>: mov 0x44d9a8(%rip),%rdi # 0x4a6530
- > <+152>: callq 0x579d8
- End of assembler dump. End of assembler dump.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement