140d59669:	33 c0                	xor    %eax,%eax
140d5966b:	48 83 c4 30          	add    $0x30,%rsp
140d5966f:	5b                   	pop    %rbx
140d59670:	c3                   	ret
140d59671:	cc                   	int3
140d59672:	cc                   	int3
140d59673:	cc                   	int3
140d59674:	cc                   	int3
140d59675:	cc                   	int3
140d59676:	cc                   	int3
140d59677:	cc                   	int3
140d59678:	cc                   	int3
140d59679:	cc                   	int3
140d5967a:	cc                   	int3
140d5967b:	cc                   	int3
140d5967c:	cc                   	int3
140d5967d:	cc                   	int3
140d5967e:	cc                   	int3
140d5967f:	cc                   	int3
140d59680:	48 85 c9             	test   %rcx,%rcx
140d59683:	74 5f                	je     0x140d596e4
140d59685:	b8 28 00 00 00       	mov    $0x28,%eax
140d5968a:	e8 11 1e 0c 00       	call   0x140e1b4a0
140d5968f:	48 2b e0             	sub    %rax,%rsp
140d59692:	48 8b 09             	mov    (%rcx),%rcx
140d59695:	48 85 c9             	test   %rcx,%rcx
140d59698:	74 46                	je     0x140d596e0
140d5969a:	48 8b 42 18          	mov    0x18(%rdx),%rax
140d5969e:	48 85 c0             	test   %rax,%rax
140d596a1:	74 3d                	je     0x140d596e0
140d596a3:	f6 40 08 02          	testb  $0x2,0x8(%rax)
140d596a7:	74 37                	je     0x140d596e0
140d596a9:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140d596ae:	48 63 58 20          	movslq 0x20(%rax),%rbx
140d596b2:	48 03 d9             	add    %rcx,%rbx
140d596b5:	74 24                	je     0x140d596db
140d596b7:	48 8b 0b             	mov    (%rbx),%rcx
140d596ba:	48 8d 15 d7 7d 42 00 	lea    0x427dd7(%rip),%rdx        # 0x141181498
140d596c1:	41 b8 83 00 00 00    	mov    $0x83,%r8d
140d596c7:	e8 44 83 f6 ff       	call   0x140cc1a10
140d596cc:	33 c0                	xor    %eax,%eax
140d596ce:	c7 43 0c 01 00 00 00 	movl   $0x1,0xc(%rbx)
140d596d5:	48 89 03             	mov    %rax,(%rbx)
140d596d8:	89 43 08             	mov    %eax,0x8(%rbx)
140d596db:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
140d596e0:	48 83 c4 28          	add    $0x28,%rsp
140d596e4:	c3                   	ret
140d596e5:	cc                   	int3
140d596e6:	cc                   	int3
140d596e7:	cc                   	int3
140d596e8:	cc                   	int3
140d596e9:	cc                   	int3
140d596ea:	cc                   	int3
140d596eb:	cc                   	int3
140d596ec:	cc                   	int3
140d596ed:	cc                   	int3
140d596ee:	cc                   	int3
140d596ef:	cc                   	int3
140d596f0:	48 85 c9             	test   %rcx,%rcx
140d596f3:	74 2f                	je     0x140d59724
140d596f5:	48 8b 09             	mov    (%rcx),%rcx
140d596f8:	48 85 c9             	test   %rcx,%rcx
140d596fb:	74 27                	je     0x140d59724
140d596fd:	48 8b 42 18          	mov    0x18(%rdx),%rax
140d59701:	48 85 c0             	test   %rax,%rax
140d59704:	74 1e                	je     0x140d59724
140d59706:	f6 40 08 02          	testb  $0x2,0x8(%rax)
140d5970a:	74 18                	je     0x140d59724
140d5970c:	48 63 40 20          	movslq 0x20(%rax),%rax
140d59710:	48 03 c1             	add    %rcx,%rax
140d59713:	74 0f                	je     0x140d59724
140d59715:	33 c9                	xor    %ecx,%ecx
140d59717:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%rax)
140d5971e:	48 89 08             	mov    %rcx,(%rax)
140d59721:	89 48 08             	mov    %ecx,0x8(%rax)
140d59724:	c3                   	ret
140d59725:	cc                   	int3
140d59726:	cc                   	int3
140d59727:	cc                   	int3
140d59728:	cc                   	int3
140d59729:	cc                   	int3
140d5972a:	cc                   	int3
140d5972b:	cc                   	int3
140d5972c:	cc                   	int3
140d5972d:	cc                   	int3
140d5972e:	cc                   	int3
140d5972f:	cc                   	int3
140d59730:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d59735:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140d5973a:	57                   	push   %rdi
140d5973b:	b8 20 00 00 00       	mov    $0x20,%eax
140d59740:	e8 5b 1d 0c 00       	call   0x140e1b4a0
140d59745:	48 2b e0             	sub    %rax,%rsp
140d59748:	48 8b fa             	mov    %rdx,%rdi
140d5974b:	48 8b f1             	mov    %rcx,%rsi
140d5974e:	4d 85 c0             	test   %r8,%r8
140d59751:	74 60                	je     0x140d597b3
140d59753:	49 8b 10             	mov    (%r8),%rdx
140d59756:	48 85 d2             	test   %rdx,%rdx
140d59759:	74 58                	je     0x140d597b3
140d5975b:	49 8b 41 18          	mov    0x18(%r9),%rax
140d5975f:	48 85 c0             	test   %rax,%rax
140d59762:	74 4f                	je     0x140d597b3
140d59764:	f6 40 08 02          	testb  $0x2,0x8(%rax)
140d59768:	74 49                	je     0x140d597b3
140d5976a:	48 63 58 20          	movslq 0x20(%rax),%rbx
140d5976e:	48 03 da             	add    %rdx,%rbx
140d59771:	74 40                	je     0x140d597b3
140d59773:	83 7b 0c 00          	cmpl   $0x0,0xc(%rbx)
140d59777:	75 3a                	jne    0x140d597b3
140d59779:	48 85 ff             	test   %rdi,%rdi
140d5977c:	74 16                	je     0x140d59794
140d5977e:	4c 63 43 08          	movslq 0x8(%rbx),%r8
140d59782:	48 8b 13             	mov    (%rbx),%rdx
140d59785:	48 8b 0f             	mov    (%rdi),%rcx
140d59788:	e8 83 58 18 00       	call   0x140edf010
140d5978d:	48 63 43 08          	movslq 0x8(%rbx),%rax
140d59791:	48 01 07             	add    %rax,(%rdi)
140d59794:	48 85 f6             	test   %rsi,%rsi
140d59797:	74 05                	je     0x140d5979e
140d59799:	8b 43 08             	mov    0x8(%rbx),%eax
140d5979c:	89 06                	mov    %eax,(%rsi)
140d5979e:	b8 01 00 00 00       	mov    $0x1,%eax
140d597a3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140d597a8:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140d597ad:	48 83 c4 20          	add    $0x20,%rsp
140d597b1:	5f                   	pop    %rdi
140d597b2:	c3                   	ret
140d597b3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140d597b8:	33 c0                	xor    %eax,%eax
140d597ba:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140d597bf:	48 83 c4 20          	add    $0x20,%rsp
140d597c3:	5f                   	pop    %rdi
140d597c4:	c3                   	ret
140d597c5:	cc                   	int3
140d597c6:	cc                   	int3
140d597c7:	cc                   	int3
140d597c8:	cc                   	int3
140d597c9:	cc                   	int3
140d597ca:	cc                   	int3
140d597cb:	cc                   	int3
140d597cc:	cc                   	int3
140d597cd:	cc                   	int3
140d597ce:	cc                   	int3
140d597cf:	cc                   	int3
140d597d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140d597d5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140d597da:	57                   	push   %rdi
140d597db:	b8 30 00 00 00       	mov    $0x30,%eax
140d597e0:	e8 bb 1c 0c 00       	call   0x140e1b4a0
140d597e5:	48 2b e0             	sub    %rax,%rsp
140d597e8:	49 63 f8             	movslq %r8d,%rdi
140d597eb:	48 8b ea             	mov    %rdx,%rbp
140d597ee:	48 85 c9             	test   %rcx,%rcx
140d597f1:	0f 84 bb 00 00 00    	je     0x140d598b2
140d597f7:	48 8b 09             	mov    (%rcx),%rcx
140d597fa:	48 85 c9             	test   %rcx,%rcx
140d597fd:	0f 84 af 00 00 00    	je     0x140d598b2
140d59803:	49 8b 41 18          	mov    0x18(%r9),%rax
140d59807:	48 85 c0             	test   %rax,%rax
140d5980a:	0f 84 a2 00 00 00    	je     0x140d598b2
140d59810:	f6 40 08 02          	testb  $0x2,0x8(%rax)
140d59814:	0f 84 98 00 00 00    	je     0x140d598b2
140d5981a:	48 63 58 20          	movslq 0x20(%rax),%rbx
140d5981e:	48 03 d9             	add    %rcx,%rbx
140d59821:	0f 84 8b 00 00 00    	je     0x140d598b2
140d59827:	48 8b 0b             	mov    (%rbx),%rcx
140d5982a:	48 8d 15 67 7c 42 00 	lea    0x427c67(%rip),%rdx        # 0x141181498
140d59831:	41 b8 92 00 00 00    	mov    $0x92,%r8d
140d59837:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140d5983c:	e8 cf 81 f6 ff       	call   0x140cc1a10
140d59841:	41 b8 93 00 00 00    	mov    $0x93,%r8d
140d59847:	48 8d 15 4a 7c 42 00 	lea    0x427c4a(%rip),%rdx        # 0x141181498
140d5984e:	48 8b cf             	mov    %rdi,%rcx
140d59851:	e8 5a 81 f6 ff       	call   0x140cc19b0
140d59856:	48 89 03             	mov    %rax,(%rbx)
140d59859:	48 85 c0             	test   %rax,%rax
140d5985c:	75 35                	jne    0x140d59893
140d5985e:	4c 8d 0d 33 7c 42 00 	lea    0x427c33(%rip),%r9        # 0x141181498
140d59865:	c7 44 24 20 94 00 00 	movl   $0x94,0x20(%rsp)
140d5986c:	00
140d5986d:	8d 50 73             	lea    0x73(%rax),%edx
140d59870:	8d 48 0d             	lea    0xd(%rax),%ecx
140d59873:	44 8d 40 41          	lea    0x41(%rax),%r8d
140d59877:	e8 04 74 f7 ff       	call   0x140cd0c80
140d5987c:	33 c0                	xor    %eax,%eax
140d5987e:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140d59883:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140d59888:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d5988d:	48 83 c4 30          	add    $0x30,%rsp
140d59891:	5f                   	pop    %rdi
140d59892:	c3                   	ret
140d59893:	4c 8b c7             	mov    %rdi,%r8
140d59896:	48 8b d5             	mov    %rbp,%rdx
140d59899:	48 8b c8             	mov    %rax,%rcx
140d5989c:	e8 6f 57 18 00       	call   0x140edf010
140d598a1:	b8 01 00 00 00       	mov    $0x1,%eax
140d598a6:	89 7b 08             	mov    %edi,0x8(%rbx)
140d598a9:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%rbx)
140d598b0:	eb cc                	jmp    0x140d5987e
140d598b2:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140d598b7:	b8 01 00 00 00       	mov    $0x1,%eax
140d598bc:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d598c1:	48 83 c4 30          	add    $0x30,%rsp
140d598c5:	5f                   	pop    %rdi
140d598c6:	c3                   	ret
140d598c7:	cc                   	int3
140d598c8:	cc                   	int3
140d598c9:	cc                   	int3
140d598ca:	cc                   	int3
140d598cb:	cc                   	int3
140d598cc:	cc                   	int3
140d598cd:	cc                   	int3
140d598ce:	cc                   	int3
140d598cf:	cc                   	int3
140d598d0:	48 63 52 04          	movslq 0x4(%rdx),%rdx
140d598d4:	48 8b 01             	mov    (%rcx),%rax
140d598d7:	8b 04 02             	mov    (%rdx,%rax,1),%eax
140d598da:	c3                   	ret
140d598db:	cc                   	int3
140d598dc:	cc                   	int3
140d598dd:	cc                   	int3
140d598de:	cc                   	int3
140d598df:	cc                   	int3
140d598e0:	8b 42 08             	mov    0x8(%rdx),%eax
140d598e3:	48 03 01             	add    (%rcx),%rax
140d598e6:	c3                   	ret
140d598e7:	cc                   	int3
140d598e8:	cc                   	int3
140d598e9:	cc                   	int3
140d598ea:	cc                   	int3
140d598eb:	cc                   	int3
140d598ec:	cc                   	int3
140d598ed:	cc                   	int3
140d598ee:	cc                   	int3
140d598ef:	cc                   	int3
140d598f0:	4d 63 48 04          	movslq 0x4(%r8),%r9
140d598f4:	4c 03 09             	add    (%rcx),%r9
140d598f7:	41 8b 01             	mov    (%r9),%eax
140d598fa:	41 89 11             	mov    %edx,(%r9)
140d598fd:	c3                   	ret
140d598fe:	cc                   	int3
140d598ff:	cc                   	int3
140d59900:	44 8b ca             	mov    %edx,%r9d
140d59903:	48 85 c9             	test   %rcx,%rcx
140d59906:	74 3f                	je     0x140d59947
140d59908:	8b c2                	mov    %edx,%eax
140d5990a:	99                   	cltd
140d5990b:	83 e2 07             	and    $0x7,%edx
140d5990e:	03 c2                	add    %edx,%eax
140d59910:	c1 f8 03             	sar    $0x3,%eax
140d59913:	44 8d 40 01          	lea    0x1(%rax),%r8d
140d59917:	44 39 01             	cmp    %r8d,(%rcx)
140d5991a:	7c 2b                	jl     0x140d59947
140d5991c:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140d59920:	4d 85 c0             	test   %r8,%r8
140d59923:	74 22                	je     0x140d59947
140d59925:	48 98                	cltq
140d59927:	41 83 e1 07          	and    $0x7,%r9d
140d5992b:	b9 07 00 00 00       	mov    $0x7,%ecx
140d59930:	ba 01 00 00 00       	mov    $0x1,%edx
140d59935:	41 2b c9             	sub    %r9d,%ecx
140d59938:	d3 e2                	shl    %cl,%edx
140d5993a:	42 84 14 00          	test   %dl,(%rax,%r8,1)
140d5993e:	b8 00 00 00 00       	mov    $0x0,%eax
140d59943:	0f 95 c0             	setne  %al
140d59946:	c3                   	ret
140d59947:	33 c0                	xor    %eax,%eax
140d59949:	c3                   	ret
140d5994a:	cc                   	int3
140d5994b:	cc                   	int3
140d5994c:	cc                   	int3
140d5994d:	cc                   	int3
140d5994e:	cc                   	int3
140d5994f:	cc                   	int3
140d59950:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140d59955:	55                   	push   %rbp
140d59956:	41 56                	push   %r14
140d59958:	41 57                	push   %r15
140d5995a:	b8 30 00 00 00       	mov    $0x30,%eax
140d5995f:	e8 3c 1b 0c 00       	call   0x140e1b4a0
140d59964:	48 2b e0             	sub    %rax,%rsp
140d59967:	44 8b ca             	mov    %edx,%r9d
140d5996a:	8b c2                	mov    %edx,%eax
140d5996c:	99                   	cltd
140d5996d:	48 8b d9             	mov    %rcx,%rbx
140d59970:	83 e2 07             	and    $0x7,%edx
140d59973:	41 83 e1 07          	and    $0x7,%r9d
140d59977:	03 c2                	add    %edx,%eax
140d59979:	45 33 ff             	xor    %r15d,%r15d
140d5997c:	c1 f8 03             	sar    $0x3,%eax
140d5997f:	b9 07 00 00 00       	mov    $0x7,%ecx
140d59984:	41 2b c9             	sub    %r9d,%ecx
140d59987:	4c 63 f0             	movslq %eax,%r14
140d5998a:	ba 01 00 00 00       	mov    $0x1,%edx
140d5998f:	d3 e2                	shl    %cl,%edx
140d59991:	45 85 c0             	test   %r8d,%r8d
140d59994:	8b ea                	mov    %edx,%ebp
140d59996:	f7 d5                	not    %ebp
140d59998:	44 0f 45 fa          	cmovne %edx,%r15d
140d5999c:	48 85 db             	test   %rbx,%rbx
140d5999f:	75 11                	jne    0x140d599b2
140d599a1:	33 c0                	xor    %eax,%eax
140d599a3:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140d599a8:	48 83 c4 30          	add    $0x30,%rsp
140d599ac:	41 5f                	pop    %r15
140d599ae:	41 5e                	pop    %r14
140d599b0:	5d                   	pop    %rbp
140d599b1:	c3                   	ret
140d599b2:	83 63 10 f0          	andl   $0xfffffff0,0x10(%rbx)
140d599b6:	41 8d 46 01          	lea    0x1(%r14),%eax
140d599ba:	48 63 0b             	movslq (%rbx),%rcx
140d599bd:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140d599c2:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
140d599c7:	3b c8                	cmp    %eax,%ecx
140d599c9:	7c 09                	jl     0x140d599d4
140d599cb:	48 8b 73 08          	mov    0x8(%rbx),%rsi
140d599cf:	48 85 f6             	test   %rsi,%rsi
140d599d2:	75 78                	jne    0x140d59a4c
140d599d4:	45 85 c0             	test   %r8d,%r8d
140d599d7:	0f 84 96 00 00 00    	je     0x140d59a73
140d599dd:	48 8b d1             	mov    %rcx,%rdx
140d599e0:	4c 63 c0             	movslq %eax,%r8
140d599e3:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140d599e7:	4c 8d 0d c2 7a 42 00 	lea    0x427ac2(%rip),%r9        # 0x1411814b0
140d599ee:	c7 44 24 20 a5 00 00 	movl   $0xa5,0x20(%rsp)
140d599f5:	00
140d599f6:	e8 b5 81 f6 ff       	call   0x140cc1bb0
140d599fb:	48 8b f0             	mov    %rax,%rsi
140d599fe:	48 85 c0             	test   %rax,%rax
140d59a01:	75 24                	jne    0x140d59a27
140d59a03:	4c 8d 0d a6 7a 42 00 	lea    0x427aa6(%rip),%r9        # 0x1411814b0
140d59a0a:	c7 44 24 20 a7 00 00 	movl   $0xa7,0x20(%rsp)
140d59a11:	00
140d59a12:	ba b7 00 00 00       	mov    $0xb7,%edx
140d59a17:	8d 48 0d             	lea    0xd(%rax),%ecx
140d59a1a:	44 8d 40 41          	lea    0x41(%rax),%r8d
140d59a1e:	e8 5d 72 f7 ff       	call   0x140cd0c80
140d59a23:	33 c0                	xor    %eax,%eax
140d59a25:	eb 51                	jmp    0x140d59a78
140d59a27:	48 63 0b             	movslq (%rbx),%rcx
140d59a2a:	41 8b c6             	mov    %r14d,%eax
140d59a2d:	2b c1                	sub    %ecx,%eax
140d59a2f:	ff c0                	inc    %eax
140d59a31:	85 c0                	test   %eax,%eax
140d59a33:	7e 0d                	jle    0x140d59a42
140d59a35:	4c 63 c0             	movslq %eax,%r8
140d59a38:	48 03 ce             	add    %rsi,%rcx
140d59a3b:	33 d2                	xor    %edx,%edx
140d59a3d:	e8 6e 5c 18 00       	call   0x140edf6b0