14016179b:	57                   	push   %rdi
14016179c:	41 56                	push   %r14
14016179e:	41 57                	push   %r15
1401617a0:	48 83 ec 50          	sub    $0x50,%rsp
1401617a4:	49 8b f0             	mov    %r8,%rsi
1401617a7:	48 8b fa             	mov    %rdx,%rdi
1401617aa:	48 8b 2d 7f 90 bc 00 	mov    0xbc907f(%rip),%rbp        # 0x140d2a830
1401617b1:	48 8b 45 08          	mov    0x8(%rbp),%rax
1401617b5:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401617ba:	33 db                	xor    %ebx,%ebx
1401617bc:	89 5c 24 38          	mov    %ebx,0x38(%rsp)
1401617c0:	4c 8b cd             	mov    %rbp,%r9
1401617c3:	b9 ff 00 00 00       	mov    $0xff,%ecx
1401617c8:	44 8d 7b 01          	lea    0x1(%rbx),%r15d
1401617cc:	38 58 19             	cmp    %bl,0x19(%rax)
1401617cf:	75 4e                	jne    0x14016181f
1401617d1:	45 8b 00             	mov    (%r8),%r8d
1401617d4:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401617d9:	44 39 40 1c          	cmp    %r8d,0x1c(%rax)
1401617dd:	75 04                	jne    0x1401617e3
1401617df:	8a d3                	mov    %bl,%dl
1401617e1:	eb 06                	jmp    0x1401617e9
1401617e3:	8b d1                	mov    %ecx,%edx
1401617e5:	41 0f 4d d7          	cmovge %r15d,%edx
1401617e9:	84 d2                	test   %dl,%dl
1401617eb:	75 16                	jne    0x140161803
1401617ed:	8b 56 04             	mov    0x4(%rsi),%edx
1401617f0:	39 50 20             	cmp    %edx,0x20(%rax)
1401617f3:	75 04                	jne    0x1401617f9
1401617f5:	8a d3                	mov    %bl,%dl
1401617f7:	eb 08                	jmp    0x140161801
1401617f9:	1a d2                	sbb    %dl,%dl
1401617fb:	80 e2 fe             	and    $0xfe,%dl
1401617fe:	41 02 d7             	add    %r15b,%dl
140161801:	84 d2                	test   %dl,%dl
140161803:	79 0a                	jns    0x14016180f
140161805:	89 5c 24 38          	mov    %ebx,0x38(%rsp)
140161809:	48 8b 40 10          	mov    0x10(%rax),%rax
14016180d:	eb 0b                	jmp    0x14016181a
14016180f:	44 89 7c 24 38       	mov    %r15d,0x38(%rsp)
140161814:	4c 8b c8             	mov    %rax,%r9
140161817:	48 8b 00             	mov    (%rax),%rax
14016181a:	38 58 19             	cmp    %bl,0x19(%rax)
14016181d:	74 b5                	je     0x1401617d4
14016181f:	41 38 59 19          	cmp    %bl,0x19(%r9)
140161823:	75 2e                	jne    0x140161853
140161825:	41 8b 41 1c          	mov    0x1c(%r9),%eax
140161829:	39 06                	cmp    %eax,(%rsi)
14016182b:	75 04                	jne    0x140161831
14016182d:	8a cb                	mov    %bl,%cl
14016182f:	eb 04                	jmp    0x140161835
140161831:	41 0f 4d cf          	cmovge %r15d,%ecx
140161835:	84 c9                	test   %cl,%cl
140161837:	75 18                	jne    0x140161851
140161839:	41 8b 41 20          	mov    0x20(%r9),%eax
14016183d:	39 46 04             	cmp    %eax,0x4(%rsi)
140161840:	75 04                	jne    0x140161846
140161842:	8a c3                	mov    %bl,%al
140161844:	eb 07                	jmp    0x14016184d
140161846:	1a c0                	sbb    %al,%al
140161848:	24 fe                	and    $0xfe,%al
14016184a:	41 02 c7             	add    %r15b,%al
14016184d:	8a c8                	mov    %al,%cl
14016184f:	84 c0                	test   %al,%al
140161851:	79 77                	jns    0x1401618ca
140161853:	48 b8 66 66 66 66 66 	movabs $0x666666666666666,%rax
14016185a:	66 66 06
14016185d:	48 39 05 d4 8f bc 00 	cmp    %rax,0xbc8fd4(%rip)        # 0x140d2a838
140161864:	0f 84 83 00 00 00    	je     0x1401618ed
14016186a:	4c 8d 35 bf 8f bc 00 	lea    0xbc8fbf(%rip),%r14        # 0x140d2a830
140161871:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140161876:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
14016187b:	b9 28 00 00 00       	mov    $0x28,%ecx
140161880:	ff 15 42 b0 9a 00    	call   *0x9ab042(%rip)        # 0x140b0c8c8
140161886:	4c 8b c0             	mov    %rax,%r8
140161889:	48 85 c0             	test   %rax,%rax
14016188c:	75 07                	jne    0x140161895
14016188e:	ff 15 04 ac 9a 00    	call   *0x9aac04(%rip)        # 0x140b0c498
140161894:	90                   	nop
140161895:	48 8b 06             	mov    (%rsi),%rax
140161898:	49 89 40 1c          	mov    %rax,0x1c(%r8)
14016189c:	49 89 28             	mov    %rbp,(%r8)
14016189f:	49 89 68 08          	mov    %rbp,0x8(%r8)
1401618a3:	49 89 68 10          	mov    %rbp,0x10(%r8)
1401618a7:	66 41 89 58 18       	mov    %bx,0x18(%r8)
1401618ac:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
1401618b1:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
1401618b7:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401618bc:	49 8b ce             	mov    %r14,%rcx
1401618bf:	e8 1c 56 ea ff       	call   0x140006ee0
1401618c4:	4c 8b c8             	mov    %rax,%r9
1401618c7:	41 8a df             	mov    %r15b,%bl
1401618ca:	4c 89 0f             	mov    %r9,(%rdi)
1401618cd:	88 5f 08             	mov    %bl,0x8(%rdi)
1401618d0:	48 8b c7             	mov    %rdi,%rax
1401618d3:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1401618d8:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1401618dc:	49 8b 6b 28          	mov    0x28(%r11),%rbp
1401618e0:	49 8b 73 30          	mov    0x30(%r11),%rsi
1401618e4:	49 8b e3             	mov    %r11,%rsp
1401618e7:	41 5f                	pop    %r15
1401618e9:	41 5e                	pop    %r14
1401618eb:	5f                   	pop    %rdi
1401618ec:	c3                   	ret
1401618ed:	e8 e2 24 ea ff       	call   0x140003dd4
1401618f2:	cc                   	int3
1401618f3:	90                   	nop
1401618f4:	40 53                	rex push %rbx
1401618f6:	48 83 ec 20          	sub    $0x20,%rsp
1401618fa:	4c 8d 51 18          	lea    0x18(%rcx),%r10
1401618fe:	45 33 db             	xor    %r11d,%r11d
140161901:	4d 8b 0a             	mov    (%r10),%r9
140161904:	49 8b d8             	mov    %r8,%rbx
140161907:	49 8b c9             	mov    %r9,%rcx
14016190a:	49 8b 41 08          	mov    0x8(%r9),%rax
14016190e:	44 38 58 19          	cmp    %r11b,0x19(%rax)
140161912:	75 1b                	jne    0x14016192f
140161914:	44 8b 02             	mov    (%rdx),%r8d
140161917:	44 39 40 20          	cmp    %r8d,0x20(%rax)
14016191b:	7d 06                	jge    0x140161923
14016191d:	48 8b 40 10          	mov    0x10(%rax),%rax
140161921:	eb 06                	jmp    0x140161929
140161923:	48 8b c8             	mov    %rax,%rcx
140161926:	48 8b 00             	mov    (%rax),%rax
140161929:	44 38 58 19          	cmp    %r11b,0x19(%rax)
14016192d:	74 e8                	je     0x140161917
14016192f:	44 38 59 19          	cmp    %r11b,0x19(%rcx)
140161933:	75 07                	jne    0x14016193c
140161935:	8b 41 20             	mov    0x20(%rcx),%eax
140161938:	39 02                	cmp    %eax,(%rdx)
14016193a:	7d 03                	jge    0x14016193f
14016193c:	49 8b c9             	mov    %r9,%rcx
14016193f:	49 3b c9             	cmp    %r9,%rcx
140161942:	49 8b ca             	mov    %r10,%rcx
140161945:	75 0a                	jne    0x140161951
140161947:	e8 48 00 00 00       	call   0x140161994
14016194c:	48 89 18             	mov    %rbx,(%rax)
14016194f:	eb 08                	jmp    0x140161959
140161951:	e8 3e 00 00 00       	call   0x140161994
140161956:	48 09 18             	or     %rbx,(%rax)
140161959:	48 83 c4 20          	add    $0x20,%rsp
14016195d:	5b                   	pop    %rbx
14016195e:	c3                   	ret
14016195f:	90                   	nop
140161960:	40 53                	rex push %rbx
140161962:	48 83 ec 30          	sub    $0x30,%rsp
140161966:	33 c0                	xor    %eax,%eax
140161968:	48 8b da             	mov    %rdx,%rbx
14016196b:	0f 57 c0             	xorps  %xmm0,%xmm0
14016196e:	45 33 c0             	xor    %r8d,%r8d
140161971:	0f 11 02             	movups %xmm0,(%rdx)
140161974:	48 89 42 10          	mov    %rax,0x10(%rdx)
140161978:	48 8b cb             	mov    %rbx,%rcx
14016197b:	48 89 42 18          	mov    %rax,0x18(%rdx)
14016197f:	48 8d 15 32 d3 9d 00 	lea    0x9dd332(%rip),%rdx        # 0x140b3ecb8
140161986:	e8 95 24 ea ff       	call   0x140003e20
14016198b:	48 8b c3             	mov    %rbx,%rax
14016198e:	48 83 c4 30          	add    $0x30,%rsp
140161992:	5b                   	pop    %rbx
140161993:	c3                   	ret
140161994:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161999:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14016199e:	57                   	push   %rdi
14016199f:	48 83 ec 50          	sub    $0x50,%rsp
1401619a3:	48 8b f2             	mov    %rdx,%rsi
1401619a6:	48 8b d9             	mov    %rcx,%rbx
1401619a9:	48 8b 39             	mov    (%rcx),%rdi
1401619ac:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401619b0:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401619b5:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
1401619ba:	4c 8b c7             	mov    %rdi,%r8
1401619bd:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1401619c1:	75 2b                	jne    0x1401619ee
1401619c3:	8b 0a                	mov    (%rdx),%ecx
1401619c5:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401619ca:	39 48 20             	cmp    %ecx,0x20(%rax)
1401619cd:	7d 0b                	jge    0x1401619da
1401619cf:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
1401619d4:	48 8b 40 10          	mov    0x10(%rax),%rax
1401619d8:	eb 0e                	jmp    0x1401619e8
1401619da:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1401619e1:	00
1401619e2:	4c 8b c0             	mov    %rax,%r8
1401619e5:	48 8b 00             	mov    (%rax),%rax
1401619e8:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
1401619ec:	74 d7                	je     0x1401619c5
1401619ee:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
1401619f3:	75 08                	jne    0x1401619fd
1401619f5:	41 8b 40 20          	mov    0x20(%r8),%eax
1401619f9:	39 02                	cmp    %eax,(%rdx)
1401619fb:	7d 6c                	jge    0x140161a69
1401619fd:	48 b8 55 55 55 55 55 	movabs $0x555555555555555,%rax
140161a04:	55 55 05
140161a07:	48 39 43 08          	cmp    %rax,0x8(%rbx)
140161a0b:	74 70                	je     0x140161a7d
140161a0d:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140161a12:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140161a18:	b9 30 00 00 00       	mov    $0x30,%ecx
140161a1d:	ff 15 a5 ae 9a 00    	call   *0x9aaea5(%rip)        # 0x140b0c8c8
140161a23:	4c 8b c0             	mov    %rax,%r8
140161a26:	48 85 c0             	test   %rax,%rax
140161a29:	75 07                	jne    0x140161a32
140161a2b:	ff 15 67 aa 9a 00    	call   *0x9aaa67(%rip)        # 0x140b0c498
140161a31:	90                   	nop
140161a32:	8b 06                	mov    (%rsi),%eax
140161a34:	41 89 40 20          	mov    %eax,0x20(%r8)
140161a38:	49 83 60 28 00       	andq   $0x0,0x28(%r8)
140161a3d:	49 89 38             	mov    %rdi,(%r8)
140161a40:	49 89 78 08          	mov    %rdi,0x8(%r8)
140161a44:	49 89 78 10          	mov    %rdi,0x10(%r8)
140161a48:	66 41 83 60 18 00    	andw   $0x0,0x18(%r8)
140161a4e:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
140161a53:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
140161a59:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140161a5e:	48 8b cb             	mov    %rbx,%rcx
140161a61:	e8 7a 54 ea ff       	call   0x140006ee0
140161a66:	4c 8b c0             	mov    %rax,%r8
140161a69:	49 8d 40 28          	lea    0x28(%r8),%rax
140161a6d:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140161a72:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140161a77:	48 83 c4 50          	add    $0x50,%rsp
140161a7b:	5f                   	pop    %rdi
140161a7c:	c3                   	ret
140161a7d:	e8 52 23 ea ff       	call   0x140003dd4
140161a82:	cc                   	int3
140161a83:	90                   	nop
140161a84:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161a89:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140161a8e:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140161a93:	56                   	push   %rsi
140161a94:	57                   	push   %rdi
140161a95:	41 55                	push   %r13
140161a97:	41 56                	push   %r14
140161a99:	41 57                	push   %r15
140161a9b:	48 83 ec 30          	sub    $0x30,%rsp
140161a9f:	4d 8b f8             	mov    %r8,%r15
140161aa2:	48 8b ea             	mov    %rdx,%rbp
140161aa5:	48 8b f1             	mov    %rcx,%rsi
140161aa8:	49 8b 38             	mov    (%r8),%rdi
140161aab:	41 83 cd ff          	or     $0xffffffff,%r13d
140161aaf:	48 85 ff             	test   %rdi,%rdi
140161ab2:	0f 84 06 02 00 00    	je     0x140161cbe
140161ab8:	4c 8b 0d 69 97 bc 00 	mov    0xbc9769(%rip),%r9        # 0x140d2b228
140161abf:	49 8b 41 08          	mov    0x8(%r9),%rax
140161ac3:	49 8b c9             	mov    %r9,%rcx
140161ac6:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140161aca:	75 19                	jne    0x140161ae5
140161acc:	8b 16                	mov    (%rsi),%edx
140161ace:	39 50 1c             	cmp    %edx,0x1c(%rax)
140161ad1:	7d 06                	jge    0x140161ad9
140161ad3:	48 8b 40 10          	mov    0x10(%rax),%rax
140161ad7:	eb 06                	jmp    0x140161adf
140161ad9:	48 8b c8             	mov    %rax,%rcx
140161adc:	48 8b 00             	mov    (%rax),%rax
140161adf:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140161ae3:	74 e9                	je     0x140161ace
140161ae5:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
140161ae9:	75 07                	jne    0x140161af2
140161aeb:	8b 41 1c             	mov    0x1c(%rcx),%eax
140161aee:	39 06                	cmp    %eax,(%rsi)
140161af0:	7d 03                	jge    0x140161af5
140161af2:	49 8b c9             	mov    %r9,%rcx
140161af5:	49 3b c9             	cmp    %r9,%rcx
140161af8:	0f 84 c0 01 00 00    	je     0x140161cbe
140161afe:	49 8b 40 08          	mov    0x8(%r8),%rax
140161b02:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140161b08:	48 85 c0             	test   %rax,%rax
140161b0b:	74 05                	je     0x140161b12
140161b0d:	f0 44 01 40 08       	lock add %r8d,0x8(%rax)
140161b12:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140161b17:	4d 8b 77 08          	mov    0x8(%r15),%r14
140161b1b:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140161b20:	8b 0e                	mov    (%rsi),%ecx
140161b22:	83 f9 28             	cmp    $0x28,%ecx
140161b25:	0f 8f b7 00 00 00    	jg     0x140161be2
140161b2b:	0f 84 d3 00 00 00    	je     0x140161c04
140161b31:	83 f9 21             	cmp    $0x21,%ecx
140161b34:	7f 3c                	jg     0x140161b72
140161b36:	74 46                	je     0x140161b7e
140161b38:	8b d1                	mov    %ecx,%edx
140161b3a:	83 ea 1b             	sub    $0x1b,%edx
140161b3d:	74 2b                	je     0x140161b6a
140161b3f:	83 ea 01             	sub    $0x1,%edx
140161b42:	74 13                	je     0x140161b57
140161b44:	83 ea 01             	sub    $0x1,%edx
140161b47:	0f 84 b7 00 00 00    	je     0x140161c04
140161b4d:	83 ea 01             	sub    $0x1,%edx
140161b50:	74 2c                	je     0x140161b7e
140161b52:	e9 a8 00 00 00       	jmp    0x140161bff
140161b57:	4c 8b c5             	mov    %rbp,%r8
140161b5a:	48 8b d6             	mov    %rsi,%rdx
140161b5d:	48 8b cf             	mov    %rdi,%rcx
140161b60:	e8 8f fd ff ff       	call   0x1401618f4
140161b65:	e9 0d 01 00 00       	jmp    0x140161c77
140161b6a:	48 8b cd             	mov    %rbp,%rcx
140161b6d:	49 d3 e0             	shl    %cl,%r8
140161b70:	eb e8                	jmp    0x140161b5a
140161b72:	8b d1                	mov    %ecx,%edx
140161b74:	83 ea 22             	sub    $0x22,%edx
140161b77:	74 05                	je     0x140161b7e
140161b79:	83 ea 02             	sub    $0x2,%edx
140161b7c:	75 77                	jne    0x140161bf5
140161b7e:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140161b82:	48 8b 42 08          	mov    0x8(%rdx),%rax
140161b86:	eb 11                	jmp    0x140161b99
140161b88:	39 48 20             	cmp    %ecx,0x20(%rax)
140161b8b:	7d 06                	jge    0x140161b93
140161b8d:	48 8b 40 10          	mov    0x10(%rax),%rax
140161b91:	eb 06                	jmp    0x140161b99
140161b93:	48 8b d0             	mov    %rax,%rdx
140161b96:	48 8b 00             	mov    (%rax),%rax
140161b99:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140161b9d:	74 e9                	je     0x140161b88
140161b9f:	80 7a 19 00          	cmpb   $0x0,0x19(%rdx)
140161ba3:	75 05                	jne    0x140161baa
140161ba5:	3b 4a 20             	cmp    0x20(%rdx),%ecx
140161ba8:	7d 04                	jge    0x140161bae
140161baa:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140161bae:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140161bb2:	48 3b 57 18          	cmp    0x18(%rdi),%rdx
140161bb6:	48 8b d6             	mov    %rsi,%rdx
140161bb9:	0f 84 a6 00 00 00    	je     0x140161c65
140161bbf:	e8 d0 fd ff ff       	call   0x140161994
140161bc4:	48 8b 18             	mov    (%rax),%rbx
140161bc7:	48 3b dd             	cmp    %rbp,%rbx
140161bca:	48 0f 42 dd          	cmovb  %rbp,%rbx
140161bce:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140161bd2:	48 8b d6             	mov    %rsi,%rdx
140161bd5:	e8 ba fd ff ff       	call   0x140161994
140161bda:	48 89 18             	mov    %rbx,(%rax)
140161bdd:	e9 95 00 00 00       	jmp    0x140161c77
140161be2:	83 f9 2e             	cmp    $0x2e,%ecx
140161be5:	7f 27                	jg     0x140161c0e
140161be7:	74 1b                	je     0x140161c04
140161be9:	8b d1                	mov    %ecx,%edx
140161beb:	83 ea 29             	sub    $0x29,%edx
140161bee:	74 14                	je     0x140161c04
140161bf0:	83 ea 01             	sub    $0x1,%edx
140161bf3:	74 0f                	je     0x140161c04
140161bf5:	83 ea 01             	sub    $0x1,%edx
140161bf8:	74 0a                	je     0x140161c04
140161bfa:	83 ea 01             	sub    $0x1,%edx
140161bfd:	74 05                	je     0x140161c04
140161bff:	83 fa 01             	cmp    $0x1,%edx
140161c02:	75 73                	jne    0x140161c77
140161c04:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140161c08:	48 8b 42 08          	mov    0x8(%rdx),%rax
140161c0c:	eb 35                	jmp    0x140161c43
140161c0e:	8b d1                	mov    %ecx,%edx
140161c10:	83 ea 2f             	sub    $0x2f,%edx