140160876:	48 3b fd             	cmp    %rbp,%rdi
140160879:	72 c5                	jb     0x140160840
14016087b:	49 8b 46 68          	mov    0x68(%r14),%rax
14016087f:	4c 8b c6             	mov    %rsi,%r8
140160882:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140160887:	49 8b ce             	mov    %r14,%rcx
14016088a:	ff d0                	call   *%rax
14016088c:	48 8b cb             	mov    %rbx,%rcx
14016088f:	e8 9c 05 00 00       	call   0x140160e30
140160894:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140160899:	48 85 c0             	test   %rax,%rax
14016089c:	74 79                	je     0x140160917
14016089e:	48 85 f6             	test   %rsi,%rsi
1401608a1:	74 74                	je     0x140160917
1401608a3:	49 8b ff             	mov    %r15,%rdi
1401608a6:	48 85 c0             	test   %rax,%rax
1401608a9:	74 64                	je     0x14016090f
1401608ab:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401608b0:	48 8b 14 fe          	mov    (%rsi,%rdi,8),%rdx
1401608b4:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
1401608b9:	e8 a2 be fd ff       	call   0x14013c760
1401608be:	90                   	nop
1401608bf:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1401608c3:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
1401608c7:	74 10                	je     0x1401608d9
1401608c9:	48 8b 08             	mov    (%rax),%rcx
1401608cc:	48 89 0a             	mov    %rcx,(%rdx)
1401608cf:	4c 89 38             	mov    %r15,(%rax)
1401608d2:	48 83 43 08 08       	addq   $0x8,0x8(%rbx)
1401608d7:	eb 0c                	jmp    0x1401608e5
1401608d9:	4c 8b c0             	mov    %rax,%r8
1401608dc:	48 8b cb             	mov    %rbx,%rcx
1401608df:	e8 1c fb ff ff       	call   0x140160400
1401608e4:	90                   	nop
1401608e5:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1401608ea:	48 85 c0             	test   %rax,%rax
1401608ed:	74 16                	je     0x140160905
1401608ef:	48 8b 48 08          	mov    0x8(%rax),%rcx
1401608f3:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401608f7:	48 83 c0 08          	add    $0x8,%rax
1401608fb:	48 03 c8             	add    %rax,%rcx
1401608fe:	48 8b 01             	mov    (%rcx),%rax
140160901:	ff 50 08             	call   *0x8(%rax)
140160904:	90                   	nop
140160905:	48 ff c7             	inc    %rdi
140160908:	48 3b 7c 24 50       	cmp    0x50(%rsp),%rdi
14016090d:	72 a1                	jb     0x1401608b0
14016090f:	48 8b ce             	mov    %rsi,%rcx
140160912:	e8 35 5d 02 00       	call   0x14018664c
140160917:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
14016091c:	48 83 c4 20          	add    $0x20,%rsp
140160920:	41 5f                	pop    %r15
140160922:	41 5e                	pop    %r14
140160924:	5f                   	pop    %rdi
140160925:	5e                   	pop    %rsi
140160926:	5d                   	pop    %rbp
140160927:	c3                   	ret
140160928:	cc                   	int3
140160929:	cc                   	int3
14016092a:	cc                   	int3
14016092b:	cc                   	int3
14016092c:	cc                   	int3
14016092d:	cc                   	int3
14016092e:	cc                   	int3
14016092f:	cc                   	int3
140160930:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140160935:	57                   	push   %rdi
140160936:	48 83 ec 30          	sub    $0x30,%rsp
14016093a:	48 8b fa             	mov    %rdx,%rdi
14016093d:	48 8b d9             	mov    %rcx,%rbx
140160940:	e8 8b 55 f6 ff       	call   0x1400c5ed0
140160945:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140160949:	48 83 39 38          	cmpq   $0x38,(%rcx)
14016094d:	72 24                	jb     0x140160973
14016094f:	48 8b 41 30          	mov    0x30(%rcx),%rax
140160953:	48 85 c0             	test   %rax,%rax
140160956:	74 1b                	je     0x140160973
140160958:	ff d0                	call   *%rax
14016095a:	48 8b d0             	mov    %rax,%rdx
14016095d:	48 8b cf             	mov    %rdi,%rcx
140160960:	e8 1b 04 00 00       	call   0x140160d80
140160965:	48 8b c7             	mov    %rdi,%rax
140160968:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14016096d:	48 83 c4 30          	add    $0x30,%rsp
140160971:	5f                   	pop    %rdi
140160972:	c3                   	ret
140160973:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140160978:	48 8b c7             	mov    %rdi,%rax
14016097b:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
140160982:	48 83 c4 30          	add    $0x30,%rsp
140160986:	5f                   	pop    %rdi
140160987:	c3                   	ret
140160988:	cc                   	int3
140160989:	cc                   	int3
14016098a:	cc                   	int3
14016098b:	cc                   	int3
14016098c:	cc                   	int3
14016098d:	cc                   	int3
14016098e:	cc                   	int3
14016098f:	cc                   	int3
140160990:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140160995:	57                   	push   %rdi
140160996:	48 83 ec 30          	sub    $0x30,%rsp
14016099a:	48 8b fa             	mov    %rdx,%rdi
14016099d:	48 8b d9             	mov    %rcx,%rbx
1401609a0:	e8 2b 55 f6 ff       	call   0x1400c5ed0
1401609a5:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
1401609a9:	48 83 39 60          	cmpq   $0x60,(%rcx)
1401609ad:	72 24                	jb     0x1401609d3
1401609af:	48 8b 41 58          	mov    0x58(%rcx),%rax
1401609b3:	48 85 c0             	test   %rax,%rax
1401609b6:	74 1b                	je     0x1401609d3
1401609b8:	ff d0                	call   *%rax
1401609ba:	48 8b d0             	mov    %rax,%rdx
1401609bd:	48 8b cf             	mov    %rdi,%rcx
1401609c0:	e8 9b bd fd ff       	call   0x14013c760
1401609c5:	48 8b c7             	mov    %rdi,%rax
1401609c8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401609cd:	48 83 c4 30          	add    $0x30,%rsp
1401609d1:	5f                   	pop    %rdi
1401609d2:	c3                   	ret
1401609d3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401609d8:	48 8b c7             	mov    %rdi,%rax
1401609db:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
1401609e2:	48 83 c4 30          	add    $0x30,%rsp
1401609e6:	5f                   	pop    %rdi
1401609e7:	c3                   	ret
1401609e8:	cc                   	int3
1401609e9:	cc                   	int3
1401609ea:	cc                   	int3
1401609eb:	cc                   	int3
1401609ec:	cc                   	int3
1401609ed:	cc                   	int3
1401609ee:	cc                   	int3
1401609ef:	cc                   	int3
1401609f0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401609f5:	55                   	push   %rbp
1401609f6:	56                   	push   %rsi
1401609f7:	57                   	push   %rdi
1401609f8:	41 56                	push   %r14
1401609fa:	41 57                	push   %r15
1401609fc:	48 83 ec 20          	sub    $0x20,%rsp
140160a00:	48 8b da             	mov    %rdx,%rbx
140160a03:	48 8b f9             	mov    %rcx,%rdi
140160a06:	45 33 ff             	xor    %r15d,%r15d
140160a09:	e8 c2 54 f6 ff       	call   0x1400c5ed0
140160a0e:	4c 8b 77 f8          	mov    -0x8(%rdi),%r14
140160a12:	49 83 3e 78          	cmpq   $0x78,(%r14)
140160a16:	0f 82 5b 01 00 00    	jb     0x140160b77
140160a1c:	4d 39 7e 70          	cmp    %r15,0x70(%r14)
140160a20:	0f 84 51 01 00 00    	je     0x140160b77
140160a26:	48 8b 6b 08          	mov    0x8(%rbx),%rbp
140160a2a:	48 2b 2b             	sub    (%rbx),%rbp
140160a2d:	48 c1 fd 03          	sar    $0x3,%rbp
140160a31:	48 8b 07             	mov    (%rdi),%rax
140160a34:	48 8b cf             	mov    %rdi,%rcx
140160a37:	ff 50 38             	call   *0x38(%rax)
140160a3a:	48 8b c8             	mov    %rax,%rcx
140160a3d:	48 3b c5             	cmp    %rbp,%rax
140160a40:	48 0f 42 cd          	cmovb  %rbp,%rcx
140160a44:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
140160a49:	41 8b f7             	mov    %r15d,%esi
140160a4c:	48 85 c9             	test   %rcx,%rcx
140160a4f:	0f 84 86 00 00 00    	je     0x140160adb
140160a55:	b8 08 00 00 00       	mov    $0x8,%eax
140160a5a:	48 f7 e1             	mul    %rcx
140160a5d:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140160a64:	48 0f 40 c1          	cmovo  %rcx,%rax
140160a68:	48 8b c8             	mov    %rax,%rcx
140160a6b:	e8 a8 5e 02 00       	call   0x140186918
140160a70:	48 8b f0             	mov    %rax,%rsi
140160a73:	48 85 c0             	test   %rax,%rax
140160a76:	74 63                	je     0x140160adb
140160a78:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140160a7d:	4e 8d 04 c5 00 00 00 	lea    0x0(,%r8,8),%r8
140160a84:	00
140160a85:	33 d2                	xor    %edx,%edx
140160a87:	48 8b c8             	mov    %rax,%rcx
140160a8a:	e8 e1 7f 02 00       	call   0x140188a70
140160a8f:	48 85 ed             	test   %rbp,%rbp
140160a92:	74 47                	je     0x140160adb
140160a94:	41 8b ff             	mov    %r15d,%edi
140160a97:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140160a9e:	00 00
140160aa0:	48 8b 03             	mov    (%rbx),%rax
140160aa3:	48 8b 14 f8          	mov    (%rax,%rdi,8),%rdx
140160aa7:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
140160aac:	48 85 d2             	test   %rdx,%rdx
140160aaf:	74 14                	je     0x140160ac5
140160ab1:	48 8b 42 08          	mov    0x8(%rdx),%rax
140160ab5:	48 63 48 04          	movslq 0x4(%rax),%rcx
140160ab9:	48 83 c2 08          	add    $0x8,%rdx
140160abd:	48 03 ca             	add    %rdx,%rcx
140160ac0:	48 8b 01             	mov    (%rcx),%rax
140160ac3:	ff 10                	call   *(%rax)
140160ac5:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140160aca:	e8 e1 10 fe ff       	call   0x140141bb0
140160acf:	48 89 04 fe          	mov    %rax,(%rsi,%rdi,8)
140160ad3:	48 ff c7             	inc    %rdi
140160ad6:	48 3b fd             	cmp    %rbp,%rdi
140160ad9:	72 c5                	jb     0x140160aa0
140160adb:	49 8b 46 70          	mov    0x70(%r14),%rax
140160adf:	4c 8b c6             	mov    %rsi,%r8
140160ae2:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140160ae7:	49 8b ce             	mov    %r14,%rcx
140160aea:	ff d0                	call   *%rax
140160aec:	48 8b cb             	mov    %rbx,%rcx
140160aef:	e8 3c 03 00 00       	call   0x140160e30
140160af4:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140160af9:	48 85 c0             	test   %rax,%rax
140160afc:	74 79                	je     0x140160b77
140160afe:	48 85 f6             	test   %rsi,%rsi
140160b01:	74 74                	je     0x140160b77
140160b03:	49 8b ff             	mov    %r15,%rdi
140160b06:	48 85 c0             	test   %rax,%rax
140160b09:	74 64                	je     0x140160b6f
140160b0b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140160b10:	48 8b 14 fe          	mov    (%rsi,%rdi,8),%rdx
140160b14:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140160b19:	e8 42 bc fd ff       	call   0x14013c760
140160b1e:	90                   	nop
140160b1f:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140160b23:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
140160b27:	74 10                	je     0x140160b39
140160b29:	48 8b 08             	mov    (%rax),%rcx
140160b2c:	48 89 0a             	mov    %rcx,(%rdx)
140160b2f:	4c 89 38             	mov    %r15,(%rax)
140160b32:	48 83 43 08 08       	addq   $0x8,0x8(%rbx)
140160b37:	eb 0c                	jmp    0x140160b45
140160b39:	4c 8b c0             	mov    %rax,%r8
140160b3c:	48 8b cb             	mov    %rbx,%rcx
140160b3f:	e8 bc f8 ff ff       	call   0x140160400
140160b44:	90                   	nop
140160b45:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
140160b4a:	48 85 c0             	test   %rax,%rax
140160b4d:	74 16                	je     0x140160b65
140160b4f:	48 8b 48 08          	mov    0x8(%rax),%rcx
140160b53:	48 63 49 04          	movslq 0x4(%rcx),%rcx
140160b57:	48 83 c0 08          	add    $0x8,%rax
140160b5b:	48 03 c8             	add    %rax,%rcx
140160b5e:	48 8b 01             	mov    (%rcx),%rax
140160b61:	ff 50 08             	call   *0x8(%rax)
140160b64:	90                   	nop
140160b65:	48 ff c7             	inc    %rdi
140160b68:	48 3b 7c 24 50       	cmp    0x50(%rsp),%rdi
140160b6d:	72 a1                	jb     0x140160b10
140160b6f:	48 8b ce             	mov    %rsi,%rcx
140160b72:	e8 d5 5a 02 00       	call   0x14018664c
140160b77:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140160b7c:	48 83 c4 20          	add    $0x20,%rsp
140160b80:	41 5f                	pop    %r15
140160b82:	41 5e                	pop    %r14
140160b84:	5f                   	pop    %rdi
140160b85:	5e                   	pop    %rsi
140160b86:	5d                   	pop    %rbp
140160b87:	c3                   	ret
140160b88:	cc                   	int3
140160b89:	cc                   	int3
140160b8a:	cc                   	int3
140160b8b:	cc                   	int3
140160b8c:	cc                   	int3
140160b8d:	cc                   	int3
140160b8e:	cc                   	int3
140160b8f:	cc                   	int3
140160b90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140160b95:	57                   	push   %rdi
140160b96:	48 83 ec 30          	sub    $0x30,%rsp
140160b9a:	48 8b fa             	mov    %rdx,%rdi
140160b9d:	48 8b d9             	mov    %rcx,%rbx
140160ba0:	e8 2b 53 f6 ff       	call   0x1400c5ed0
140160ba5:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140160ba9:	48 83 39 40          	cmpq   $0x40,(%rcx)
140160bad:	72 24                	jb     0x140160bd3
140160baf:	48 8b 41 38          	mov    0x38(%rcx),%rax
140160bb3:	48 85 c0             	test   %rax,%rax
140160bb6:	74 1b                	je     0x140160bd3
140160bb8:	ff d0                	call   *%rax
140160bba:	48 8b d0             	mov    %rax,%rdx
140160bbd:	48 8b cf             	mov    %rdi,%rcx
140160bc0:	e8 9b bb fd ff       	call   0x14013c760
140160bc5:	48 8b c7             	mov    %rdi,%rax
140160bc8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140160bcd:	48 83 c4 30          	add    $0x30,%rsp
140160bd1:	5f                   	pop    %rdi
140160bd2:	c3                   	ret
140160bd3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140160bd8:	48 8b c7             	mov    %rdi,%rax
140160bdb:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
140160be2:	48 83 c4 30          	add    $0x30,%rsp
140160be6:	5f                   	pop    %rdi
140160be7:	c3                   	ret
140160be8:	cc                   	int3
140160be9:	cc                   	int3
140160bea:	cc                   	int3
140160beb:	cc                   	int3
140160bec:	cc                   	int3
140160bed:	cc                   	int3
140160bee:	cc                   	int3
140160bef:	cc                   	int3
140160bf0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140160bf5:	57                   	push   %rdi
140160bf6:	48 83 ec 30          	sub    $0x30,%rsp
140160bfa:	48 8b fa             	mov    %rdx,%rdi
140160bfd:	48 8b d9             	mov    %rcx,%rbx
140160c00:	e8 cb 52 f6 ff       	call   0x1400c5ed0
140160c05:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140160c09:	48 83 39 30          	cmpq   $0x30,(%rcx)
140160c0d:	72 24                	jb     0x140160c33
140160c0f:	48 8b 41 28          	mov    0x28(%rcx),%rax
140160c13:	48 85 c0             	test   %rax,%rax
140160c16:	74 1b                	je     0x140160c33
140160c18:	ff d0                	call   *%rax
140160c1a:	48 8b d0             	mov    %rax,%rdx
140160c1d:	48 8b cf             	mov    %rdi,%rcx
140160c20:	e8 5b 01 00 00       	call   0x140160d80
140160c25:	48 8b c7             	mov    %rdi,%rax
140160c28:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140160c2d:	48 83 c4 30          	add    $0x30,%rsp
140160c31:	5f                   	pop    %rdi
140160c32:	c3                   	ret
140160c33:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140160c38:	48 8b c7             	mov    %rdi,%rax
140160c3b:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
140160c42:	48 83 c4 30          	add    $0x30,%rsp
140160c46:	5f                   	pop    %rdi
140160c47:	c3                   	ret
140160c48:	cc                   	int3
140160c49:	cc                   	int3
140160c4a:	cc                   	int3
140160c4b:	cc                   	int3
140160c4c:	cc                   	int3
140160c4d:	cc                   	int3
140160c4e:	cc                   	int3
140160c4f:	cc                   	int3
140160c50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140160c55:	57                   	push   %rdi
140160c56:	48 83 ec 20          	sub    $0x20,%rsp
140160c5a:	48 8b fa             	mov    %rdx,%rdi
140160c5d:	48 8b d9             	mov    %rcx,%rbx
140160c60:	e8 6b 52 f6 ff       	call   0x1400c5ed0
140160c65:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
140160c69:	48 83 39 50          	cmpq   $0x50,(%rcx)
140160c6d:	72 1c                	jb     0x140160c8b
140160c6f:	48 8b 41 48          	mov    0x48(%rcx),%rax
140160c73:	48 85 c0             	test   %rax,%rax
140160c76:	74 13                	je     0x140160c8b
140160c78:	ff d0                	call   *%rax
140160c7a:	48 89 07             	mov    %rax,(%rdi)
140160c7d:	48 8b c7             	mov    %rdi,%rax
140160c80:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx