```c= 0000000000000380 <bn_to_string>: 380: e8 00 00 00 00 callq 385 <bn_to_string+0x5> 385: 48 b9 ab aa aa aa aa movabs $0xaaaaaaaaaaaaaaab,%rcx 38c: aa aa aa 38f: 89 f2 mov %esi,%edx 391: 55 push %rbp 392: 48 c1 e2 05 shl $0x5,%rdx 396: 48 89 d0 mov %rdx,%rax 399: 48 f7 e1 mul %rcx 39c: 48 89 e5 mov %rsp,%rbp 39f: 41 57 push %r15 3a1: 49 89 ff mov %rdi,%r15 3a4: 41 56 push %r14 3a6: 41 55 push %r13 3a8: 49 89 f5 mov %rsi,%r13 3ab: 41 54 push %r12 3ad: 48 d1 ea shr %rdx 3b0: 53 push %rbx 3b1: 48 89 f3 mov %rsi,%rbx 3b4: be c0 0c 00 00 mov $0xcc0,%esi 3b9: 48 c1 fb 20 sar $0x20,%rbx 3bd: 49 89 de mov %rbx,%r14 3c0: 49 01 d6 add %rdx,%r14 3c3: 48 83 ec 08 sub $0x8,%rsp 3c7: 4d 8d 4e 02 lea 0x2(%r14),%r9 3cb: 4c 89 cf mov %r9,%rdi 3ce: 4c 89 0c 24 mov %r9,(%rsp) 3d2: e8 00 00 00 00 callq 3d7 <bn_to_string+0x57> 3d7: 49 8d 56 01 lea 0x1(%r14),%rdx 3db: be 30 00 00 00 mov $0x30,%esi 3e0: 48 89 c7 mov %rax,%rdi 3e3: 49 89 c4 mov %rax,%r12 3e6: e8 00 00 00 00 callq 3eb <bn_to_string+0x6b> 3eb: 41 83 ed 01 sub $0x1,%r13d 3ef: 43 c6 44 34 01 00 movb $0x0,0x1(%r12,%r14,1) 3f5: 4c 8b 0c 24 mov (%rsp),%r9 3f9: 78 72 js 46d <bn_to_string+0xed> 3fb: 41 83 e9 02 sub $0x2,%r9d 3ff: 49 63 c5 movslq %r13d,%rax 402: 4d 8d 14 87 lea (%r15,%rax,4),%r10 406: 4d 63 d9 movslq %r9d,%r11 409: 41 b8 20 00 00 00 mov $0x20,%r8d 40f: bf 00 00 00 80 mov $0x80000000,%edi 414: 31 f6 xor %esi,%esi 416: 41 85 3a test %edi,(%r10) 419: 4b 8d 14 1c lea (%r12,%r11,1),%rdx 41d: 44 89 c9 mov %r9d,%ecx 420: 40 0f 95 c6 setne %sil 424: 45 85 c9 test %r9d,%r9d 427: 78 2e js 457 <bn_to_string+0xd7> 429: 0f b6 02 movzbl (%rdx),%eax 42c: 8d 04 46 lea (%rsi,%rax,2),%eax 42f: 31 f6 xor %esi,%esi 431: 44 8d 70 d0 lea -0x30(%rax),%r14d 435: 41 80 fe 39 cmp $0x39,%r14b 439: 40 0f 9f c6 setg %sil 43d: 83 e8 3a sub $0x3a,%eax 440: 41 80 fe 3a cmp $0x3a,%r14b 444: 41 0f 4c c6 cmovl %r14d,%eax 448: 83 e9 01 sub $0x1,%ecx 44b: 48 83 ea 01 sub $0x1,%rdx 44f: 88 42 01 mov %al,0x1(%rdx) 452: 83 f9 ff cmp $0xffffffff,%ecx 455: 75 d2 jne 429 <bn_to_string+0xa9> 457: d1 ef shr %edi 459: 41 83 e8 01 sub $0x1,%r8d 45d: 75 b5 jne 414 <bn_to_string+0x94> 45f: 41 83 ed 01 sub $0x1,%r13d 463: 49 83 ea 04 sub $0x4,%r10 467: 41 83 fd ff cmp $0xffffffff,%r13d 46b: 75 9c jne 409 <bn_to_string+0x89> 46d: 41 80 3c 24 30 cmpb $0x30,(%r12) 472: 4d 89 e5 mov %r12,%r13 475: 74 0a je 481 <bn_to_string+0x101> 477: eb 11 jmp 48a <bn_to_string+0x10a> 479: 49 83 c5 01 add $0x1,%r13 47d: 3c 30 cmp $0x30,%al 47f: 75 09 jne 48a <bn_to_string+0x10a> 481: 41 0f b6 45 01 movzbl 0x1(%r13),%eax 486: 84 c0 test %al,%al 488: 75 ef jne 479 <bn_to_string+0xf9> 48a: 85 db test %ebx,%ebx 48c: 74 09 je 497 <bn_to_string+0x117> 48e: 41 c6 45 ff 2d movb $0x2d,-0x1(%r13) 493: 49 83 ed 01 sub $0x1,%r13 497: 4c 89 ef mov %r13,%rdi 49a: e8 00 00 00 00 callq 49f <bn_to_string+0x11f> 49f: 4c 89 ee mov %r13,%rsi 4a2: 4c 89 e7 mov %r12,%rdi 4a5: 48 8d 50 01 lea 0x1(%rax),%rdx 4a9: e8 00 00 00 00 callq 4ae <bn_to_string+0x12e> 4ae: 48 83 c4 08 add $0x8,%rsp 4b2: 5b pop %rbx 4b3: 41 5c pop %r12 4b5: 41 5d pop %r13 4b7: 41 5e pop %r14 4b9: 41 5f pop %r15 4bb: 5d pop %rbp 4bc: e9 00 00 00 00 jmpq 4c1 <bn_to_string+0x141> 4c1: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1) 4c8: 00 00 00 00 4cc: 0f 1f 40 00 nopl 0x0(%rax) ``` ```c= 0000000000001289 <bn_to_str>: 1289: f3 0f 1e fa endbr64 128d: 55 push %rbp 128e: 48 89 e5 mov %rsp,%rbp 1291: 48 83 ec 50 sub $0x50,%rsp 1295: 48 89 7d b8 mov %rdi,-0x48(%rbp) 1299: 89 75 b4 mov %esi,-0x4c(%rbp) 129c: 89 55 b0 mov %edx,-0x50(%rbp) 129f: 48 8b 45 b8 mov -0x48(%rbp),%rax 12a3: 48 89 45 e8 mov %rax,-0x18(%rbp) 12a7: 8b 45 b4 mov -0x4c(%rbp),%eax 12aa: 48 c1 e0 05 shl $0x5,%rax 12ae: 48 ba ab aa aa aa aa movabs $0xaaaaaaaaaaaaaaab,%rdx 12b5: aa aa aa 12b8: 48 f7 e2 mul %rdx 12bb: 48 d1 ea shr %rdx 12be: 8b 45 b0 mov -0x50(%rbp),%eax 12c1: 48 98 cltq 12c3: 48 01 d0 add %rdx,%rax 12c6: 48 83 c0 02 add $0x2,%rax 12ca: 48 89 45 f0 mov %rax,-0x10(%rbp) 12ce: 48 8b 45 f0 mov -0x10(%rbp),%rax 12d2: 48 89 c7 mov %rax,%rdi 12d5: e8 76 fe ff ff callq 1150 <malloc@plt> 12da: 48 89 45 f8 mov %rax,-0x8(%rbp) 12de: 48 8b 45 f8 mov -0x8(%rbp),%rax 12e2: 48 89 45 e0 mov %rax,-0x20(%rbp) 12e6: 48 8b 45 f0 mov -0x10(%rbp),%rax 12ea: 48 8d 50 ff lea -0x1(%rax),%rdx 12ee: 48 8b 45 f8 mov -0x8(%rbp),%rax 12f2: be 30 00 00 00 mov $0x30,%esi 12f7: 48 89 c7 mov %rax,%rdi 12fa: e8 21 fe ff ff callq 1120 <memset@plt> 12ff: 48 8b 45 f0 mov -0x10(%rbp),%rax 1303: 48 8d 50 ff lea -0x1(%rax),%rdx 1307: 48 8b 45 f8 mov -0x8(%rbp),%rax 130b: 48 01 d0 add %rdx,%rax 130e: c6 00 00 movb $0x0,(%rax) 1311: 48 8b 45 e8 mov -0x18(%rbp),%rax 1315: 8b 00 mov (%rax),%eax 1317: 89 45 dc mov %eax,-0x24(%rbp) 131a: 8b 45 b4 mov -0x4c(%rbp),%eax 131d: 83 e8 01 sub $0x1,%eax 1320: 89 45 cc mov %eax,-0x34(%rbp) 1323: e9 e2 00 00 00 jmpq 140a <bn_to_str+0x181> 1328: c7 45 d0 00 00 00 80 movl $0x80000000,-0x30(%rbp) 132f: e9 c8 00 00 00 jmpq 13fc <bn_to_str+0x173> 1334: 8b 45 cc mov -0x34(%rbp),%eax 1337: 48 98 cltq 1339: 48 8d 14 85 00 00 00 lea 0x0(,%rax,4),%rdx 1340: 00 1341: 48 8b 45 e8 mov -0x18(%rbp),%rax 1345: 48 01 d0 add %rdx,%rax 1348: 8b 00 mov (%rax),%eax 134a: 23 45 d0 and -0x30(%rbp),%eax 134d: 85 c0 test %eax,%eax 134f: 0f 95 c0 setne %al 1352: 0f b6 c0 movzbl %al,%eax 1355: 89 45 d4 mov %eax,-0x2c(%rbp) 1358: 48 8b 45 f0 mov -0x10(%rbp),%rax 135c: 83 e8 02 sub $0x2,%eax 135f: 89 45 d8 mov %eax,-0x28(%rbp) 1362: e9 88 00 00 00 jmpq 13ef <bn_to_str+0x166> 1367: 8b 45 d8 mov -0x28(%rbp),%eax 136a: 48 63 d0 movslq %eax,%rdx 136d: 48 8b 45 f8 mov -0x8(%rbp),%rax 1371: 48 01 d0 add %rdx,%rax 1374: 0f b6 00 movzbl (%rax),%eax 1377: 89 c1 mov %eax,%ecx 1379: 8b 45 d8 mov -0x28(%rbp),%eax 137c: 48 63 d0 movslq %eax,%rdx 137f: 48 8b 45 f8 mov -0x8(%rbp),%rax 1383: 48 01 d0 add %rdx,%rax 1386: 0f b6 00 movzbl (%rax),%eax 1389: 89 c2 mov %eax,%edx 138b: 8b 45 d4 mov -0x2c(%rbp),%eax 138e: 01 d0 add %edx,%eax 1390: 01 c8 add %ecx,%eax 1392: 8d 48 d0 lea -0x30(%rax),%ecx 1395: 8b 45 d8 mov -0x28(%rbp),%eax 1398: 48 63 d0 movslq %eax,%rdx 139b: 48 8b 45 f8 mov -0x8(%rbp),%rax 139f: 48 01 d0 add %rdx,%rax 13a2: 89 ca mov %ecx,%edx 13a4: 88 10 mov %dl,(%rax) 13a6: 8b 45 d8 mov -0x28(%rbp),%eax 13a9: 48 63 d0 movslq %eax,%rdx 13ac: 48 8b 45 f8 mov -0x8(%rbp),%rax 13b0: 48 01 d0 add %rdx,%rax 13b3: 0f b6 00 movzbl (%rax),%eax 13b6: 3c 39 cmp $0x39,%al 13b8: 0f 9f c0 setg %al 13bb: 0f b6 c0 movzbl %al,%eax 13be: 89 45 d4 mov %eax,-0x2c(%rbp) 13c1: 83 7d d4 00 cmpl $0x0,-0x2c(%rbp) 13c5: 74 24 je 13eb <bn_to_str+0x162> 13c7: 8b 45 d8 mov -0x28(%rbp),%eax 13ca: 48 63 d0 movslq %eax,%rdx 13cd: 48 8b 45 f8 mov -0x8(%rbp),%rax 13d1: 48 01 d0 add %rdx,%rax 13d4: 0f b6 00 movzbl (%rax),%eax 13d7: 8d 48 f6 lea -0xa(%rax),%ecx 13da: 8b 45 d8 mov -0x28(%rbp),%eax 13dd: 48 63 d0 movslq %eax,%rdx 13e0: 48 8b 45 f8 mov -0x8(%rbp),%rax 13e4: 48 01 d0 add %rdx,%rax 13e7: 89 ca mov %ecx,%edx 13e9: 88 10 mov %dl,(%rax) 13eb: 83 6d d8 01 subl $0x1,-0x28(%rbp) 13ef: 83 7d d8 00 cmpl $0x0,-0x28(%rbp) 13f3: 0f 89 6e ff ff ff jns 1367 <bn_to_str+0xde> 13f9: d1 6d d0 shrl -0x30(%rbp) 13fc: 83 7d d0 00 cmpl $0x0,-0x30(%rbp) 1400: 0f 85 2e ff ff ff jne 1334 <bn_to_str+0xab> 1406: 83 6d cc 01 subl $0x1,-0x34(%rbp) 140a: 83 7d cc 00 cmpl $0x0,-0x34(%rbp) 140e: 0f 89 14 ff ff ff jns 1328 <bn_to_str+0x9f> 1414: eb 05 jmp 141b <bn_to_str+0x192> 1416: 48 83 45 e0 01 addq $0x1,-0x20(%rbp) 141b: 48 8b 45 e0 mov -0x20(%rbp),%rax 141f: 0f b6 00 movzbl (%rax),%eax 1422: 3c 30 cmp $0x30,%al 1424: 75 0f jne 1435 <bn_to_str+0x1ac> 1426: 48 8b 45 e0 mov -0x20(%rbp),%rax 142a: 48 83 c0 01 add $0x1,%rax 142e: 0f b6 00 movzbl (%rax),%eax 1431: 84 c0 test %al,%al 1433: 75 e1 jne 1416 <bn_to_str+0x18d> 1435: 83 7d b0 00 cmpl $0x0,-0x50(%rbp) 1439: 74 0c je 1447 <bn_to_str+0x1be> 143b: 48 83 6d e0 01 subq $0x1,-0x20(%rbp) 1440: 48 8b 45 e0 mov -0x20(%rbp),%rax 1444: c6 00 2d movb $0x2d,(%rax) 1447: 48 8b 45 e0 mov -0x20(%rbp),%rax 144b: 48 89 c7 mov %rax,%rdi 144e: e8 9d fc ff ff callq 10f0 <strlen@plt> 1453: 48 8d 50 01 lea 0x1(%rax),%rdx 1457: 48 8b 4d e0 mov -0x20(%rbp),%rcx 145b: 48 8b 45 f8 mov -0x8(%rbp),%rax 145f: 48 89 ce mov %rcx,%rsi 1462: 48 89 c7 mov %rax,%rdi 1465: e8 f6 fc ff ff callq 1160 <memmove@plt> 146a: 48 8b 45 f8 mov -0x8(%rbp),%rax 146e: c9 leaveq 146f: c3 retq ```