profile

job_140367_1777961457300517389_3
samples10,074
eventcpu_core/cycles/P
file/box/solution-bin
hot lines19
instructions594
hot source linesself samples
27.01%
library/core/src/num/mod.rs:1754
22.59%
library/core/src/num/mod.rs:1755
17.16%
library/core/src/num/mod.rs:1757
2.87%
library/core/src/num/uint_macros.rs:2494
2.57%
library/core/src/num/mod.rs:1723
2.54%
library/core/src/iter/adapters/filter.rs:79
2.45%
library/core/src/str/pattern.rs:0
2.41%
library/core/src/slice/memchr.rs:27
2.37%
library/core/src/str/pattern.rs:439
2.36%
library/core/src/num/mod.rs:1716
2.32%
library/core/src/str/pattern.rs:458
2.29%
library/core/src/num/mod.rs:0
2.26%
library/core/src/slice/memchr.rs:31
2.11%
library/core/src/num/uint_macros.rs:923
1.82%
library/core/src/str/iter.rs:658
1.63%
library/core/src/num/mod.rs:1756
1.44%
library/core/src/iter/traits/accum.rs:53
0.60%
library/core/src/str/iter.rs:0
0.59%
library/core/src/char/methods.rs:423
annotated source and assemblyperf annotate
sampleslinesource / instruction
33 Disassembly of section .text:
55 0000000000014c50 <solution::main>:
66 use std::io::Read;
88 fn main() {
014c50: push rbp
014c51: mov rbp,rsp
014c54: push r15
014c56: push r14
014c58: push r13
014c5a: push r12
014c5c: push rbx
014c5d: sub rsp,0x48
014c61: mov QWORD PTR [rbp-0x60],0x0
014c69: mov QWORD PTR [rbp-0x58],0x1
014c71: mov QWORD PTR [rbp-0x50],0x0
2020 let mut input = String::new();
2121 std::io::stdin().read_to_string(&mut input).unwrap();
014c79: call QWORD PTR [rip+0x417c1] # 56440 <_DYNAMIC+0x248>
014c7f: mov QWORD PTR [rbp-0x38],rax
014c83: lea rdi,[rbp-0x38]
014c87: lea rsi,[rbp-0x60]
014c8b: call QWORD PTR [rip+0x417b7] # 56448 <_DYNAMIC+0x250>
014c91: cmp rax,0x1
014c95: je 14ef4 <solution::main+0x2a4>
014c9b: mov r14,QWORD PTR [rbp-0x58]
014c9f: mov rbx,QWORD PTR [rbp-0x50]
014ca3: xor r15d,r15d
014ca6: mov r12d,0xa
014cac: mov QWORD PTR [rbp-0x68],0x0
014cb4: xor r13d,r13d
014cb7: jmp 14cd1 <solution::main+0x81>
014cb9: xor eax,eax
014cbb: nop DWORD PTR [rax+rax*1+0x0]
14514cc0: add QWORD PTR [rbp-0x68],rax // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/accum.rs:53
014cc4: mov r13,rsi
18314cc7: cmp BYTE PTR [rbp-0x2c],0x0 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:658
114ccb: jne 14e6e <solution::main+0x21e>
6014cd1: mov al,0x1 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:0
014cd3: mov DWORD PTR [rbp-0x2c],eax
014cd6: cmp rbx,r15
21214cd9: jae 14cec <solution::main+0x9c> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/uint_macros.rs:923
014cdb: jmp 14da8 <solution::main+0x158>
014ce0: mov r15,rsi
014ce3: cmp rsi,rbx
014ce6: ja 14da5 <solution::main+0x155>
014cec: mov rdx,rbx
014cef: sub rdx,r15
014cf2: lea rsi,[r14+r15*1]
014cf6: cmp rdx,0x10
24314cfa: jae 14d30 <solution::main+0xe0> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:27
014cfc: xor ecx,ecx
014cfe: test rdx,rdx
014d01: je 14d21 <solution::main+0xd1>
014d03: data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0]
014d10: cmp BYTE PTR [rsi+rcx*1],0xa
014d14: je 14d46 <solution::main+0xf6>
014d16: inc rcx
014d19: cmp rdx,rcx
014d1c: jne 14d10 <solution::main+0xc0>
014d1e: mov rcx,rdx
014d21: xor eax,eax
014d23: cmp rax,0x1
014d27: je 14d60 <solution::main+0x110>
014d29: jmp 14da0 <solution::main+0x150>
014d2b: nop DWORD PTR [rax+rax*1+0x0]
014d30: mov edi,0xa
22714d35: call QWORD PTR [rip+0x41715] # 56450 <_DYNAMIC+0x258> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:31
014d3b: mov rcx,rdx
014d3e: cmp rax,0x1
23914d42: je 14d60 <solution::main+0x110> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:439
014d44: jmp 14da0 <solution::main+0x150>
014d46: mov eax,0x1
014d4b: cmp rax,0x1
014d4f: jne 14da0 <solution::main+0x150>
014d51: data16 data16 data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0]
014d60: lea rsi,[rcx+r15*1]
014d64: inc rsi
014d67: add rcx,r15
23414d6a: cmp rcx,rbx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:458
014d6d: jae 14ce0 <solution::main+0x90>
714d73: cmp BYTE PTR [r14+rcx*1],0xa
1014d78: jne 14ce0 <solution::main+0x90>
24714d7e: mov DWORD PTR [rbp-0x2c],0x0 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:0
014d85: mov r15,rsi
214d88: sub rcx,r13
014d8b: je 14cc4 <solution::main+0x74>
25614d91: jmp 14db7 <solution::main+0x167> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/adapters/filter.rs:79
014d93: data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0]
014da0: mov r15,rbx
014da3: jmp 14da8 <solution::main+0x158>
014da5: mov r15,rsi
014da8: mov rsi,r13
014dab: mov rcx,rbx
014dae: sub rcx,r13
014db1: je 14cc4 <solution::main+0x74>
014db7: add r13,r14
314dba: movzx eax,BYTE PTR [r13+0x0]
014dbf: cmp rcx,0x1
23714dc3: jne 14dd7 <solution::main+0x187> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1716
014dc5: cmp eax,0x2b
014dc8: je 14f1e <solution::main+0x2ce>
014dce: cmp eax,0x2d
014dd1: je 14f1e <solution::main+0x2ce>
014dd7: xor edx,edx
014dd9: cmp eax,0x2b
714ddc: sete dl
25914ddf: sub rcx,rdx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1723
014de2: add r13,rdx
1614de5: cmp rcx,0x11
014de9: jae 14e30 <solution::main+0x1e0>
1514deb: test rcx,rcx
014dee: je 14cb9 <solution::main+0x69>
23114df4: xor edx,edx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:0
014df6: xor eax,eax
014df8: nop DWORD PTR [rax+rax*1+0x0]
16414e00: movzx edi,BYTE PTR [r13+rdx*1+0x0] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1756
28914e06: add edi,0xffffffd0 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/uint_macros.rs:2494
5914e09: cmp edi,0x9 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/char/methods.rs:423
014e0c: ja 14f1e <solution::main+0x2ce>
2,27714e12: lea rax,[rax+rax*4] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1755
114e16: mov edi,edi
1,72914e18: lea rax,[rdi+rax*2] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1757
014e1c: inc rdx
17514e1f: cmp rcx,rdx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1754
2,29214e22: jne 14e00 <solution::main+0x1b0>
25414e24: jmp 14cc0 <solution::main+0x70>
014e29: nop DWORD PTR [rax+0x0]
014e30: xor edi,edi
014e32: xor eax,eax
014e34: data16 data16 cs nop WORD PTR [rax+rax*1+0x0]
014e40: cmp rcx,rdi
014e43: je 14cc0 <solution::main+0x70>
014e49: mul r12
014e4c: movzx edx,BYTE PTR [r13+rdi*1+0x0]
014e52: jo 14ec1 <solution::main+0x271>
014e54: add edx,0xffffffd0
014e57: cmp edx,0xa
014e5a: jae 14f1e <solution::main+0x2ce>
014e60: mov edx,edx
014e62: inc rdi
014e65: add rax,rdx
014e68: jae 14e40 <solution::main+0x1f0>
014e6a: mov al,0x2
014e6c: jmp 14ecb <solution::main+0x27b>
014e6e: mov rax,QWORD PTR [rbp-0x68]
014e72: mov QWORD PTR [rbp-0x38],rax
151151 let sum: u64 = input
152152 .split('\n')
153153 .filter(|line| !line.is_empty())
154154 .map(|line| line.parse::<u64>().unwrap())
155155 .sum();
156156 print!("{sum}");
014e76: lea rax,[rbp-0x38]
014e7a: mov QWORD PTR [rbp-0x48],rax
014e7e: mov rax,QWORD PTR [rip+0x415d3] # 56458 <_DYNAMIC+0x260>
014e85: mov QWORD PTR [rbp-0x40],rax
014e89: lea rdi,[rip+0xffffffffffff33d8] # 8268 <GCC_except_table141+0x794>
014e90: lea rsi,[rbp-0x48]
014e94: call QWORD PTR [rip+0x415c6] # 56460 <_DYNAMIC+0x268>
014e9a: mov rsi,QWORD PTR [rbp-0x60]
014e9e: test rsi,rsi
014ea1: je 14eb2 <solution::main+0x262>
014ea3: mov rdi,QWORD PTR [rbp-0x58]
014ea7: mov edx,0x1
014eac: call QWORD PTR [rip+0x41586] # 56438 <_DYNAMIC+0x240>
014eb2: add rsp,0x48
014eb6: pop rbx
014eb7: pop r12
014eb9: pop r13
014ebb: pop r14
014ebd: pop r15
014ebf: pop rbp
014ec0: ret
014ec1: add dl,0xd0
014ec4: xor eax,eax
014ec6: cmp dl,0xa
014ec9: adc al,0x1
014ecb: mov BYTE PTR [rbp-0x48],al
014ece: lea rdi,[rip+0xffffffffffff2ca2] # 7b77 <GCC_except_table141+0xa3>
014ed5: lea rcx,[rip+0x3f57c] # 54458 <__frame_dummy_init_array_entry+0x58>
014edc: lea r8,[rip+0x3f5cd] # 544b0 <__frame_dummy_init_array_entry+0xb0>
014ee3: lea rdx,[rbp-0x48]
014ee7: mov esi,0x2b
014eec: call QWORD PTR [rip+0x41576] # 56468 <_DYNAMIC+0x270>
014ef2: jmp 14f1c <solution::main+0x2cc>
014ef4: mov QWORD PTR [rbp-0x48],rdx
014ef8: lea rdi,[rip+0xffffffffffff2c78] # 7b77 <GCC_except_table141+0xa3>
014eff: lea rcx,[rip+0x3f572] # 54478 <__frame_dummy_init_array_entry+0x78>
014f06: lea r8,[rip+0x3f58b] # 54498 <__frame_dummy_init_array_entry+0x98>
014f0d: lea rdx,[rbp-0x48]
014f11: mov esi,0x2b
014f16: call QWORD PTR [rip+0x4154c] # 56468 <_DYNAMIC+0x270>
014f1c: ud2
014f1e: mov al,0x1
014f20: jmp 14ecb <solution::main+0x27b>
014f22: jmp 14f38 <solution::main+0x2e8>
014f24: mov rbx,rax
014f27: lea rdi,[rbp-0x48]
014f2b: call 14ba0 <core::ptr::drop_in_place<std::io::error::Error>>
014f30: jmp 14f3b <solution::main+0x2eb>
014f32: call QWORD PTR [rip+0x41538] # 56470 <_DYNAMIC+0x278>
014f38: mov rbx,rax
014f3b: mov rsi,QWORD PTR [rbp-0x60]
014f3f: test rsi,rsi
014f42: je 14f53 <solution::main+0x303>
014f44: mov rdi,QWORD PTR [rbp-0x58]
014f48: mov edx,0x1
014f4d: call QWORD PTR [rip+0x414e5] # 56438 <_DYNAMIC+0x240>
014f53: mov rdi,rbx
014f56: call 533c0 <_Unwind_Resume@plt>
39
19
40
0
91
107
2292
71
0
1433
89
81
33 Disassembly of section .text:
55 0000000000051060 <core::slice::memchr::memchr_aligned>:
051060: push r14
051062: push rbx
051063: mov rcx,rdx
23551066: lea rdx,[rsi+0x7] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ptr/mod.rs:2292
05106a: and rdx,0xfffffffffffffff8
05106e: sub rdx,rsi
22551071: jne 5107b <core::slice::memchr::memchr_aligned+0x1b> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:71
051073: lea rax,[rcx-0x10]
2951077: xor edx,edx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:0
3351079: jmp 510ab <core::slice::memchr::memchr_aligned+0x4b> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:81
05107b: cmp rcx,rdx
05107e: cmovb rdx,rcx
051082: test rcx,rcx
051085: je 510a2 <core::slice::memchr::memchr_aligned+0x42>
20851087: xor r8d,r8d // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:0
05108a: nop WORD PTR [rax+rax*1+0x0]
051090: cmp BYTE PTR [rsi+r8*1],dil
051094: je 5112b <core::slice::memchr::memchr_aligned+0xcb>
05109a: inc r8
375109d: cmp rdx,r8 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:39
622510a0: jne 51090 <core::slice::memchr::memchr_aligned+0x30>
174510a2: lea rax,[rcx-0x10] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:0
0510a6: cmp rdx,rax
0510a9: ja 51105 <core::slice::memchr::memchr_aligned+0xa5>
0510ab: movabs r8,0x8080808080808080
28510b5: movabs r9,0x101010101010100
204510bf: movzx r11d,dil // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1433
18510c3: lea r10,[r9+0x1]
0510c7: imul r10,r11
31510cb: nop DWORD PTR [rax+rax*1+0x0] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:0
188510d0: mov r11,QWORD PTR [rsi+rdx*1]
38510d4: xor r11,r10 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:89
0510d7: mov rbx,r9
31510da: sub rbx,r11 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:19
195510dd: or rbx,r11
37510e0: mov r11,QWORD PTR [rsi+rdx*1+0x8]
0510e5: xor r11,r10
30510e8: mov r14,r9
181510eb: sub r14,r11
36510ee: or r14,r11
0510f1: and rbx,r8
30510f4: and rbx,r14 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:91
0510f7: cmp rbx,r8
258510fa: jne 51105 <core::slice::memchr::memchr_aligned+0xa5>
0510fc: add rdx,0x10
051100: cmp rdx,rax
051103: jbe 510d0 <core::slice::memchr::memchr_aligned+0x70>
051105: xor eax,eax
051107: cmp rcx,rdx
05110a: je 5111e <core::slice::memchr::memchr_aligned+0xbe>
05110c: nop DWORD PTR [rax+0x0]
24051110: cmp BYTE PTR [rsi+rdx*1],dil // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:40
22651114: je 51122 <core::slice::memchr::memchr_aligned+0xc2>
251116: inc rdx
051119: cmp rcx,rdx
1,3835111c: jne 51110 <core::slice::memchr::memchr_aligned+0xb0> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:39
05111e: pop rbx
05111f: pop r14
051121: ret
051122: mov eax,0x1
251127: pop rbx
051128: pop r14
2445112a: ret // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:107
05112b: mov eax,0x1
051130: mov rdx,r8
051133: pop rbx
051134: pop r14
051136: ret
234
233
33 Disassembly of section .text:
55 0000000000050d90 <core::str::converts::from_utf8>:
050d90: push r15
050d92: push r14
050d94: push rbx
050d95: mov rax,rdi
050d98: xor edi,edi
050d9a: mov rcx,rdx
050d9d: sub rcx,0xf
050da1: cmovae rdi,rcx
050da5: test rdx,rdx
050da8: je 50f57 <core::str::converts::from_utf8+0x1c7>
050dae: lea r8,[rsi+0x7]
050db2: and r8,0xfffffffffffffff8
050db6: sub r8,rsi
050db9: xor ecx,ecx
050dbb: lea r10,[rip+0xfffffffffffbbe2d] # cbef <core::unicode::unicode_data::grapheme_extend::OFFSETS+0x463>
050dc2: movabs r11,0x8080808080808080
050dcc: jmp 50ddf <core::str::converts::from_utf8+0x4f>
050dce: xchg ax,ax
050dd0: inc r14
050dd3: mov rcx,r14
050dd6: cmp rcx,rdx
050dd9: jae 50f57 <core::str::converts::from_utf8+0x1c7>
050ddf: movzx ebx,BYTE PTR [rsi+rcx*1]
050de3: test bl,bl
050de5: js 50e40 <core::str::converts::from_utf8+0xb0>
050de7: mov r9d,r8d
050dea: sub r9d,ecx
050ded: test r9b,0x7
050df1: je 50e04 <core::str::converts::from_utf8+0x74>
050df3: inc rcx
050df6: jmp 50dd6 <core::str::converts::from_utf8+0x46>
050df8: nop DWORD PTR [rax+rax*1+0x0]
050e00: add rcx,0x10
050e04: cmp rcx,rdi
050e07: jae 50e17 <core::str::converts::from_utf8+0x87>
25450e09: mov r9,QWORD PTR [rsi+rcx*1+0x8] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/validations.rs:233
14550e0e: or r9,QWORD PTR [rsi+rcx*1] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/validations.rs:234
050e12: test r9,r11
12650e15: je 50e00 <core::str::converts::from_utf8+0x70>
050e17: cmp rcx,rdx
050e1a: jae 50dd6 <core::str::converts::from_utf8+0x46>
050e1c: nop DWORD PTR [rax+0x0]
050e20: cmp BYTE PTR [rsi+rcx*1],0x0
050e24: js 50dd6 <core::str::converts::from_utf8+0x46>
050e26: inc rcx
050e29: cmp rdx,rcx
050e2c: jne 50e20 <core::str::converts::from_utf8+0x90>
050e2e: jmp 50f57 <core::str::converts::from_utf8+0x1c7>
050e33: data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0]
050e40: movzx r14d,BYTE PTR [rbx+r10*1]
050e45: mov r9b,0x1
050e48: cmp r14d,0x4
050e4c: je 50eab <core::str::converts::from_utf8+0x11b>
050e4e: cmp r14d,0x3
050e52: je 50e7d <core::str::converts::from_utf8+0xed>
050e54: cmp r14d,0x2
050e58: jne 50f68 <core::str::converts::from_utf8+0x1d8>
050e5e: lea r14,[rcx+0x1]
050e62: cmp r14,rdx
050e65: jae 50f63 <core::str::converts::from_utf8+0x1d3>
050e6b: cmp BYTE PTR [rsi+r14*1],0xbf
050e70: mov bl,0x1
050e72: jle 50dd0 <core::str::converts::from_utf8+0x40>
050e78: jmp 50f6e <core::str::converts::from_utf8+0x1de>
050e7d: lea r14,[rcx+0x1]
050e81: cmp r14,rdx
050e84: jae 50f63 <core::str::converts::from_utf8+0x1d3>
050e8a: movzx r14d,BYTE PTR [rsi+r14*1]
050e8f: cmp rbx,0xe0
050e96: je 50ed9 <core::str::converts::from_utf8+0x149>
050e98: cmp ebx,0xed
050e9e: jne 50ef4 <core::str::converts::from_utf8+0x164>
050ea0: cmp r14b,0x9f
050ea4: jle 50f0c <core::str::converts::from_utf8+0x17c>
050ea6: jmp 50f68 <core::str::converts::from_utf8+0x1d8>
050eab: lea r14,[rcx+0x1]
050eaf: cmp r14,rdx
050eb2: jae 50f63 <core::str::converts::from_utf8+0x1d3>
050eb8: movzx r14d,BYTE PTR [rsi+r14*1]
050ebd: cmp rbx,0xf0
050ec4: je 50ee8 <core::str::converts::from_utf8+0x158>
050ec6: cmp ebx,0xf4
050ecc: jne 50f22 <core::str::converts::from_utf8+0x192>
050ece: cmp r14b,0x8f
050ed2: jle 50f30 <core::str::converts::from_utf8+0x1a0>
050ed4: jmp 50f68 <core::str::converts::from_utf8+0x1d8>
050ed9: and r14b,0xe0
050edd: cmp r14b,0xa0
050ee1: je 50f0c <core::str::converts::from_utf8+0x17c>
050ee3: jmp 50f68 <core::str::converts::from_utf8+0x1d8>
050ee8: add r14b,0x70
050eec: cmp r14b,0x30
050ef0: jb 50f30 <core::str::converts::from_utf8+0x1a0>
050ef2: jmp 50f68 <core::str::converts::from_utf8+0x1d8>
050ef4: lea r15d,[rbx+0x1f]
050ef8: cmp r15b,0xc
050efc: jb 50f06 <core::str::converts::from_utf8+0x176>
050efe: and bl,0xfe
050f01: cmp bl,0xee
050f04: jne 50f68 <core::str::converts::from_utf8+0x1d8>
050f06: cmp r14b,0xc0
050f0a: jge 50f68 <core::str::converts::from_utf8+0x1d8>
050f0c: lea r14,[rcx+0x2]
050f10: cmp r14,rdx
050f13: jae 50f63 <core::str::converts::from_utf8+0x1d3>
050f15: cmp BYTE PTR [rsi+r14*1],0xbf
050f1a: jle 50dd0 <core::str::converts::from_utf8+0x40>
050f20: jmp 50f6c <core::str::converts::from_utf8+0x1dc>
050f22: add bl,0xf
050f25: cmp bl,0x2
050f28: ja 50f68 <core::str::converts::from_utf8+0x1d8>
050f2a: cmp r14b,0xc0
050f2e: jge 50f68 <core::str::converts::from_utf8+0x1d8>
050f30: lea rbx,[rcx+0x2]
050f34: cmp rbx,rdx
050f37: jae 50f63 <core::str::converts::from_utf8+0x1d3>
050f39: cmp BYTE PTR [rsi+rbx*1],0xbf
050f3d: jg 50f6c <core::str::converts::from_utf8+0x1dc>
050f3f: lea r14,[rcx+0x3]
050f43: cmp r14,rdx
050f46: jae 50f63 <core::str::converts::from_utf8+0x1d3>
050f48: cmp BYTE PTR [rsi+r14*1],0xc0
050f4d: jl 50dd0 <core::str::converts::from_utf8+0x40>
050f53: mov bl,0x3
050f55: jmp 50f6e <core::str::converts::from_utf8+0x1de>
050f57: mov QWORD PTR [rax+0x8],rsi
050f5b: mov QWORD PTR [rax+0x10],rdx
050f5f: xor ecx,ecx
050f61: jmp 50f7e <core::str::converts::from_utf8+0x1ee>
050f63: xor r9d,r9d
050f66: jmp 50f6e <core::str::converts::from_utf8+0x1de>
050f68: mov bl,0x1
050f6a: jmp 50f6e <core::str::converts::from_utf8+0x1de>
050f6c: mov bl,0x2
050f6e: mov QWORD PTR [rax+0x8],rcx
050f72: mov BYTE PTR [rax+0x10],r9b
050f76: mov BYTE PTR [rax+0x11],bl
050f79: mov ecx,0x1
050f7e: mov QWORD PTR [rax],rcx
050f81: pop rbx
050f82: pop r14
050f84: pop r15
050f86: ret
2173
33 Disassembly of section .text:
55 000000000001fac0 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>>:
01fac0: push rbp
01fac1: mov rbp,rsp
01fac4: push r15
01fac6: push r14
01fac8: push r13
01faca: push r12
01facc: push rbx
01facd: sub rsp,0x58
01fad1: mov r13,rsi
01fad4: mov r14,rdi
01fad7: mov r12,QWORD PTR [rdi]
01fada: mov rbx,QWORD PTR [rdi+0x10]
01fade: mov eax,0x2000
01fae3: mov QWORD PTR [rbp-0x30],rax
01fae7: cmp rsi,0x1
01faeb: jne 1fb3c <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x7c>
01faed: cmp rdx,0xfffffffffffffbff
01faf4: ja 1fd7a <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x2ba>
01fafa: lea rax,[rdx+0x400]
01fb01: mov ecx,eax
01fb03: and ecx,0x1fff
01fb09: mov rsi,rdx
01fb0c: sub rsi,rcx
01fb0f: add rsi,0x2400
01fb16: cmp rsi,rax
01fb19: mov edi,0x2000
01fb1e: cmovae rdi,rsi
01fb22: test rcx,rcx
01fb25: cmove rdi,rax
01fb29: mov QWORD PTR [rbp-0x30],rdi
01fb2d: test rdx,rdx
01fb30: je 1fb3c <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x7c>
01fb32: mov QWORD PTR [rbp-0x48],0x0
01fb3a: jmp 1fb6d <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xad>
01fb3c: xor r13b,0x1
01fb40: mov rax,r12
01fb43: sub rax,rbx
01fb46: cmp rax,0x20
01fb4a: jae 1fb69 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xa9>
01fb4c: mov rdi,r14
01fb4f: call 29ba0 <std::io::default_read_to_end::small_probe_read::<std::sys::stdio::unix::Stdin>>
01fb54: mov r15,rdx
01fb57: test al,0x1
01fb59: je 1fd41 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x281>
01fb5f: mov eax,0x1
01fb64: jmp 1fd2f <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x26f>
01fb69: mov QWORD PTR [rbp-0x48],r13
01fb6d: mov rsi,r12
01fb70: mov QWORD PTR [rbp-0x40],rbx
01fb74: mov r15,rbx
01fb77: mov rbx,QWORD PTR [rip+0x36b5a] # 566d8 <read@GLIBC_2.2.5>
01fb7e: mov DWORD PTR [rbp-0x34],0x0
01fb85: mov QWORD PTR [rbp-0x58],0x0
01fb8d: mov QWORD PTR [rbp-0x50],r14
01fb91: mov QWORD PTR [rbp-0x60],r12
01fb95: cmp r15,rsi
01fb98: jne 1fbc0 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x100>
01fb9a: cmp rsi,r12
01fb9d: jne 1fbc0 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x100>
01fb9f: mov rdi,r14
01fba2: call 29ba0 <std::io::default_read_to_end::small_probe_read::<std::sys::stdio::unix::Stdin>>
01fba7: mov r15,rdx
01fbaa: cmp rax,0x1
01fbae: je 1fb5f <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x9f>
01fbb0: test r15,r15
01fbb3: mov r15,QWORD PTR [r14+0x10]
01fbb7: je 1fd61 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x2a1>
01fbbd: mov rsi,QWORD PTR [r14]
01fbc0: mov r12,QWORD PTR [r14+0x8]
01fbc4: cmp r15,rsi
01fbc7: je 1fcd3 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x213>
01fbcd: mov r13,QWORD PTR [r14]
01fbd0: add r12,r15
01fbd3: mov QWORD PTR [rbp-0x68],r13
01fbd7: sub r13,r15
01fbda: mov rax,QWORD PTR [rbp-0x30]
01fbde: cmp rax,r13
01fbe1: cmovb r13,rax
01fbe5: movabs r14,0x7fffffffffffffff
01fbef: cmp r13,r14
01fbf2: cmovb r14,r13
01fbf6: cs nop WORD PTR [rax+rax*1+0x0]
01fc00: xor edi,edi
01fc02: mov rsi,r12
01fc05: mov rdx,r14
01fc08: call rbx
01fc0a: cmp rax,0xffffffffffffffff
01fc0e: jne 1fc30 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x170>
01fc10: call QWORD PTR [rip+0x36aca] # 566e0 <__errno_location@GLIBC_2.2.5>
01fc16: movsxd rcx,DWORD PTR [rax]
01fc19: cmp rcx,0x4
01fc1d: je 1fc00 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x140>
01fc1f: jmp 1fd17 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x257>
01fc24: data16 data16 cs nop WORD PTR [rax+rax*1+0x0]
01fc30: add r15,rax
01fc33: mov r14,QWORD PTR [rbp-0x50]
01fc37: mov QWORD PTR [r14+0x10],r15
01fc3b: test rax,rax
01fc3e: je 1fd61 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x2a1>
01fc44: mov rdx,QWORD PTR [rbp-0x58]
01fc48: cmp rax,rdx
01fc4b: cmova rdx,rax
01fc4f: mov rcx,rdx
01fc52: sub rcx,rax
01fc55: mov QWORD PTR [rbp-0x58],rcx
01fc59: mov esi,DWORD PTR [rbp-0x34]
01fc5c: inc esi
01fc5e: cmp rax,r13
01fc61: mov ecx,0x0
01fc66: cmovae esi,ecx
01fc69: mov DWORD PTR [rbp-0x34],esi
01fc6c: test BYTE PTR [rbp-0x48],0x1
01fc70: mov r12,QWORD PTR [rbp-0x60]
01fc74: mov rsi,QWORD PTR [rbp-0x68]
01fc78: je 1fb95 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xd5>
01fc7e: cmp DWORD PTR [rbp-0x34],0x2
01fc82: mov rdi,QWORD PTR [rbp-0x30]
01fc86: mov rcx,rdi
01fc89: mov r8,0xffffffffffffffff
01fc90: cmovge rcx,r8
01fc94: cmp rdx,r13
01fc97: cmove rcx,rdi
01fc9b: mov QWORD PTR [rbp-0x30],rcx
01fc9f: cmp rax,r13
01fca2: jne 1fb95 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xd5>
01fca8: mov QWORD PTR [rbp-0x30],rcx
01fcac: cmp r13,rcx
01fcaf: jb 1fb95 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xd5>
01fcb5: lea rax,[rcx+rcx*1]
01fcb9: mov QWORD PTR [rbp-0x30],rax
01fcbd: test rcx,rcx
01fcc0: jns 1fb95 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xd5>
01fcc6: mov QWORD PTR [rbp-0x30],0xffffffffffffffff
01fcce: jmp 1fb95 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xd5>
01fcd3: lea rax,[rsi+0x20]
01fcd7: lea r13,[rsi+rsi*1]
01fcdb: cmp rax,r13
01fcde: cmova r13,rax
01fce2: mov r8d,0x1
01fce8: mov r9d,0x1
01fcee: lea rdi,[rbp-0x80]
01fcf2: mov rdx,r12
01fcf5: mov rcx,r13
01fcf8: call 2fd40 <<alloc::raw_vec::RawVecInner>::finish_grow>
11fcfd: cmp DWORD PTR [rbp-0x80],0x1 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:2173
01fd01: je 1fd69 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x2a9>
01fd03: mov r12,QWORD PTR [rbp-0x78]
01fd07: mov rax,QWORD PTR [rbp-0x50]
01fd0b: mov QWORD PTR [rax+0x8],r12
01fd0f: mov QWORD PTR [rax],r13
01fd12: jmp 1fbd0 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x110>
01fd17: shl rcx,0x20
01fd1b: or rcx,0x2
01fd1f: mov rax,QWORD PTR [rbp-0x50]
01fd23: mov QWORD PTR [rax+0x10],r15
01fd27: mov eax,0x1
01fd2c: mov r15,rcx
01fd2f: mov rdx,r15
01fd32: add rsp,0x58
01fd36: pop rbx
01fd37: pop r12
01fd39: pop r13
01fd3b: pop r14
01fd3d: pop r15
01fd3f: pop rbp
01fd40: ret
01fd41: test r15,r15
01fd44: je 1fd5a <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x29a>
01fd46: mov QWORD PTR [rbp-0x48],r13
01fd4a: mov QWORD PTR [rbp-0x40],rbx
01fd4e: mov rsi,QWORD PTR [r14]
01fd51: mov r15,QWORD PTR [r14+0x10]
01fd55: jmp 1fb77 <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xb7>
01fd5a: xor r15d,r15d
01fd5d: xor eax,eax
01fd5f: jmp 1fd2f <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x26f>
01fd61: sub r15,QWORD PTR [rbp-0x40]
01fd65: xor eax,eax
01fd67: jmp 1fd2f <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x26f>
01fd69: mov eax,0x1
01fd6e: movabs r15,0x2600000003
01fd78: jmp 1fd2f <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0x26f>
01fd7a: mov QWORD PTR [rbp-0x30],rax
01fd7e: mov QWORD PTR [rbp-0x48],0x0
01fd86: jmp 1fb6d <std::io::default_read_to_end::<std::sys::stdio::unix::Stdin>+0xad>