14000276c:	4c 8b d1             	mov    %rcx,%r10
14000276f:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140002773:	48 3d fe ff ff 7f    	cmp    $0x7ffffffe,%rax
140002779:	44 0f 47 cb          	cmova  %ebx,%r9d
14000277d:	45 85 c9             	test   %r9d,%r9d
140002780:	78 56                	js     0x1400027d8
140002782:	48 8b ca             	mov    %rdx,%rcx
140002785:	49 8b c2             	mov    %r10,%rax
140002788:	48 85 d2             	test   %rdx,%rdx
14000278b:	74 10                	je     0x14000279d
14000278d:	66 44 39 18          	cmp    %r11w,(%rax)
140002791:	74 0a                	je     0x14000279d
140002793:	48 83 c0 02          	add    $0x2,%rax
140002797:	48 83 e9 01          	sub    $0x1,%rcx
14000279b:	75 f0                	jne    0x14000278d
14000279d:	48 8b c1             	mov    %rcx,%rax
1400027a0:	48 f7 d8             	neg    %rax
1400027a3:	45 1b c9             	sbb    %r9d,%r9d
1400027a6:	41 f7 d1             	not    %r9d
1400027a9:	44 23 cb             	and    %ebx,%r9d
1400027ac:	48 85 c9             	test   %rcx,%rcx
1400027af:	74 27                	je     0x1400027d8
1400027b1:	48 8b c2             	mov    %rdx,%rax
1400027b4:	48 2b c1             	sub    %rcx,%rax
1400027b7:	45 85 c9             	test   %r9d,%r9d
1400027ba:	78 12                	js     0x1400027ce
1400027bc:	48 2b d0             	sub    %rax,%rdx
1400027bf:	49 8d 0c 42          	lea    (%r10,%rax,2),%rcx
1400027c3:	4d 8b c8             	mov    %r8,%r9
1400027c6:	e8 19 00 00 00       	call   0x1400027e4
1400027cb:	44 8b c8             	mov    %eax,%r9d
1400027ce:	41 8b c1             	mov    %r9d,%eax
1400027d1:	48 83 c4 30          	add    $0x30,%rsp
1400027d5:	5b                   	pop    %rbx
1400027d6:	c3                   	ret
1400027d7:	cc                   	int3
1400027d8:	49 8b c3             	mov    %r11,%rax
1400027db:	eb da                	jmp    0x1400027b7
1400027dd:	cc                   	int3
1400027de:	cc                   	int3
1400027df:	cc                   	int3
1400027e0:	cc                   	int3
1400027e1:	cc                   	int3
1400027e2:	cc                   	int3
1400027e3:	cc                   	int3
1400027e4:	45 33 d2             	xor    %r10d,%r10d
1400027e7:	4c 8b c1             	mov    %rcx,%r8
1400027ea:	48 85 d2             	test   %rdx,%rdx
1400027ed:	74 28                	je     0x140002817
1400027ef:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
1400027f4:	4c 2b c9             	sub    %rcx,%r9
1400027f7:	48 85 c0             	test   %rax,%rax
1400027fa:	74 1b                	je     0x140002817
1400027fc:	43 0f b7 0c 01       	movzwl (%r9,%r8,1),%ecx
140002801:	66 85 c9             	test   %cx,%cx
140002804:	74 11                	je     0x140002817
140002806:	66 41 89 08          	mov    %cx,(%r8)
14000280a:	48 ff c8             	dec    %rax
14000280d:	49 83 c0 02          	add    $0x2,%r8
140002811:	48 83 ea 01          	sub    $0x1,%rdx
140002815:	75 e0                	jne    0x1400027f7
140002817:	48 8b c2             	mov    %rdx,%rax
14000281a:	49 8d 48 fe          	lea    -0x2(%r8),%rcx
14000281e:	48 f7 d8             	neg    %rax
140002821:	1b c0                	sbb    %eax,%eax
140002823:	f7 d0                	not    %eax
140002825:	25 7a 00 07 80       	and    $0x8007007a,%eax
14000282a:	48 85 d2             	test   %rdx,%rdx
14000282d:	49 0f 45 c8          	cmovne %r8,%rcx
140002831:	66 44 89 11          	mov    %r10w,(%rcx)
140002835:	c3                   	ret
140002836:	cc                   	int3
140002837:	cc                   	int3
140002838:	cc                   	int3
140002839:	cc                   	int3
14000283a:	cc                   	int3
14000283b:	cc                   	int3
14000283c:	cc                   	int3
14000283d:	cc                   	int3
14000283e:	cc                   	int3
14000283f:	cc                   	int3
140002840:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140002845:	55                   	push   %rbp
140002846:	56                   	push   %rsi
140002847:	57                   	push   %rdi
140002848:	41 56                	push   %r14
14000284a:	41 57                	push   %r15
14000284c:	48 8d ac 24 c0 ef ff 	lea    -0x1040(%rsp),%rbp
140002853:	ff
140002854:	b8 40 11 00 00       	mov    $0x1140,%eax
140002859:	e8 b2 5c 03 00       	call   0x140038510
14000285e:	48 2b e0             	sub    %rax,%rsp
140002861:	48 8b 05 58 c9 09 00 	mov    0x9c958(%rip),%rax        # 0x14009f1c0
140002868:	48 33 c4             	xor    %rsp,%rax
14000286b:	48 89 85 30 10 00 00 	mov    %rax,0x1030(%rbp)
140002872:	33 f6                	xor    %esi,%esi
140002874:	4c 8d 3c d1          	lea    (%rcx,%rdx,8),%r15
140002878:	48 21 74 24 50       	and    %rsi,0x50(%rsp)
14000287d:	4d 8b f0             	mov    %r8,%r14
140002880:	48 8b f9             	mov    %rcx,%rdi
140002883:	41 8a 46 08          	mov    0x8(%r14),%al
140002887:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
14000288c:	45 8a 4e 04          	mov    0x4(%r14),%r9b
140002890:	45 0f b7 46 02       	movzwl 0x2(%r14),%r8d
140002895:	41 0f b7 16          	movzwl (%r14),%edx
140002899:	88 44 24 28          	mov    %al,0x28(%rsp)
14000289d:	41 0f b7 46 06       	movzwl 0x6(%r14),%eax
1400028a2:	66 89 44 24 20       	mov    %ax,0x20(%rsp)
1400028a7:	e8 3c 0c 00 00       	call   0x1400034e8
1400028ac:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1400028b1:	c7 44 24 40 00 10 00 	movl   $0x1000,0x40(%rsp)
1400028b8:	00
1400028b9:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400028be:	4c 8d 4c 24 44       	lea    0x44(%rsp),%r9
1400028c3:	48 8d 45 30          	lea    0x30(%rbp),%rax
1400028c7:	48 8b cf             	mov    %rdi,%rcx
1400028ca:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400028cf:	e8 20 30 03 00       	call   0x1400358f4
1400028d4:	8b c8                	mov    %eax,%ecx
1400028d6:	8b d8                	mov    %eax,%ebx
1400028d8:	e8 ab 15 00 00       	call   0x140003e88
1400028dd:	85 db                	test   %ebx,%ebx
1400028df:	0f 85 57 7b 03 00    	jne    0x14003a43c
1400028e5:	8b 44 24 40          	mov    0x40(%rsp),%eax
1400028e9:	44 8b c0             	mov    %eax,%r8d
1400028ec:	48 8d 55 30          	lea    0x30(%rbp),%rdx
1400028f0:	41 b9 00 10 00 00    	mov    $0x1000,%r9d
1400028f6:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
1400028fb:	e8 80 14 00 00       	call   0x140003d80
140002900:	80 7d a9 00          	cmpb   $0x0,-0x57(%rbp)
140002904:	0f 85 b8 7b 03 00    	jne    0x14003a4c2
14000290a:	48 83 64 24 48 00    	andq   $0x0,0x48(%rsp)
140002910:	48 8d 44 24 48       	lea    0x48(%rsp),%rax
140002915:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14000291a:	48 8d 55 b0          	lea    -0x50(%rbp),%rdx
14000291e:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140002923:	49 8b ce             	mov    %r14,%rcx
140002926:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14000292b:	48 8d 44 24 70       	lea    0x70(%rsp),%rax
140002930:	0f 10 44 24 58       	movups 0x58(%rsp),%xmm0
140002935:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
14000293a:	48 8d 05 f7 f7 07 00 	lea    0x7f7f7(%rip),%rax        # 0x140082138
140002941:	f2 0f 10 4c 24 68    	movsd  0x68(%rsp),%xmm1
140002947:	48 89 45 b8          	mov    %rax,-0x48(%rbp)
14000294b:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
14000294f:	48 89 45 20          	mov    %rax,0x20(%rbp)
140002953:	0f 11 45 c0          	movups %xmm0,-0x40(%rbp)
140002957:	f2 0f 11 4d d0       	movsd  %xmm1,-0x30(%rbp)
14000295c:	e8 87 02 00 00       	call   0x140002be8
140002961:	80 7d a8 00          	cmpb   $0x0,-0x58(%rbp)
140002965:	8a d8                	mov    %al,%bl
140002967:	0f 85 de 7a 03 00    	jne    0x14003a44b
14000296d:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140002972:	48 83 c7 08          	add    $0x8,%rdi
140002976:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14000297b:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
14000297f:	48 83 65 a0 00       	andq   $0x0,-0x60(%rbp)
140002984:	48 85 c9             	test   %rcx,%rcx
140002987:	75 2f                	jne    0x1400029b8
140002989:	84 db                	test   %bl,%bl
14000298b:	0f 84 19 7b 03 00    	je     0x14003a4aa
140002991:	48 8b 8d 30 10 00 00 	mov    0x1030(%rbp),%rcx
140002998:	48 33 cc             	xor    %rsp,%rcx
14000299b:	e8 10 12 03 00       	call   0x140033bb0
1400029a0:	48 8b 9c 24 78 11 00 	mov    0x1178(%rsp),%rbx
1400029a7:	00
1400029a8:	48 81 c4 40 11 00 00 	add    $0x1140,%rsp
1400029af:	41 5f                	pop    %r15
1400029b1:	41 5e                	pop    %r14
1400029b3:	5f                   	pop    %rdi
1400029b4:	5e                   	pop    %rsi
1400029b5:	5d                   	pop    %rbp
1400029b6:	c3                   	ret
1400029b7:	cc                   	int3
1400029b8:	e8 87 28 00 00       	call   0x140005244
1400029bd:	eb ca                	jmp    0x140002989
1400029bf:	cc                   	int3
1400029c0:	cc                   	int3
1400029c1:	cc                   	int3
1400029c2:	cc                   	int3
1400029c3:	cc                   	int3
1400029c4:	cc                   	int3
1400029c5:	cc                   	int3
1400029c6:	cc                   	int3
1400029c7:	cc                   	int3
1400029c8:	cc                   	int3
1400029c9:	cc                   	int3
1400029ca:	cc                   	int3
1400029cb:	cc                   	int3
1400029cc:	cc                   	int3
1400029cd:	cc                   	int3
1400029ce:	cc                   	int3
1400029cf:	cc                   	int3
1400029d0:	40 53                	rex push %rbx
1400029d2:	48 83 ec 30          	sub    $0x30,%rsp
1400029d6:	48 8b 41 10          	mov    0x10(%rcx),%rax
1400029da:	48 8b d9             	mov    %rcx,%rbx
1400029dd:	4c 8b 51 08          	mov    0x8(%rcx),%r10
1400029e1:	48 8b 00             	mov    (%rax),%rax
1400029e4:	49 39 02             	cmp    %rax,(%r10)
1400029e7:	72 32                	jb     0x140002a1b
1400029e9:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1400029ee:	4d 8b 09             	mov    (%r9),%r9
1400029f1:	4d 8b 00             	mov    (%r8),%r8
1400029f4:	48 8b 12             	mov    (%rdx),%rdx
1400029f7:	44 8b 18             	mov    (%rax),%r11d
1400029fa:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
1400029ff:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140002a03:	44 89 5c 24 28       	mov    %r11d,0x28(%rsp)
140002a08:	4c 8b 10             	mov    (%rax),%r10
140002a0b:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
140002a10:	e8 03 03 00 00       	call   0x140002d18
140002a15:	32 d2                	xor    %dl,%dl
140002a17:	84 c0                	test   %al,%al
140002a19:	74 0c                	je     0x140002a27
140002a1b:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140002a1f:	ba 01 00 00 00       	mov    $0x1,%edx
140002a24:	48 01 11             	add    %rdx,(%rcx)
140002a27:	8a c2                	mov    %dl,%al
140002a29:	48 83 c4 30          	add    $0x30,%rsp
140002a2d:	5b                   	pop    %rbx
140002a2e:	c3                   	ret
140002a2f:	cc                   	int3
140002a30:	cc                   	int3
140002a31:	cc                   	int3
140002a32:	cc                   	int3
140002a33:	cc                   	int3
140002a34:	cc                   	int3
140002a35:	cc                   	int3
140002a36:	cc                   	int3
140002a37:	cc                   	int3
140002a38:	48 8b c4             	mov    %rsp,%rax
140002a3b:	44 89 40 18          	mov    %r8d,0x18(%rax)
140002a3f:	89 50 10             	mov    %edx,0x10(%rax)
140002a42:	48 83 ec 38          	sub    $0x38,%rsp
140002a46:	41 b8 04 00 00 00    	mov    $0x4,%r8d
140002a4c:	c7 40 f0 01 00 00 00 	movl   $0x1,-0x10(%rax)
140002a53:	4c 8d 48 18          	lea    0x18(%rax),%r9
140002a57:	4c 89 40 e8          	mov    %r8,-0x18(%rax)
140002a5b:	48 8d 50 10          	lea    0x10(%rax),%rdx
140002a5f:	e8 b4 02 00 00       	call   0x140002d18
140002a64:	48 83 c4 38          	add    $0x38,%rsp
140002a68:	c3                   	ret
140002a69:	cc                   	int3
140002a6a:	cc                   	int3
140002a6b:	cc                   	int3
140002a6c:	cc                   	int3
140002a6d:	cc                   	int3
140002a6e:	cc                   	int3
140002a6f:	cc                   	int3
140002a70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140002a75:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140002a7a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140002a7f:	55                   	push   %rbp
140002a80:	41 54                	push   %r12
140002a82:	41 55                	push   %r13
140002a84:	41 56                	push   %r14
140002a86:	41 57                	push   %r15
140002a88:	48 8b ec             	mov    %rsp,%rbp
140002a8b:	48 83 ec 50          	sub    $0x50,%rsp
140002a8f:	0f b7 41 06          	movzwl 0x6(%rcx),%eax
140002a93:	33 db                	xor    %ebx,%ebx
140002a95:	4c 8b 79 10          	mov    0x10(%rcx),%r15
140002a99:	41 83 cc ff          	or     $0xffffffff,%r12d
140002a9d:	66 89 45 e0          	mov    %ax,-0x20(%rbp)
140002aa1:	0f 57 c0             	xorps  %xmm0,%xmm0
140002aa4:	8a 41 08             	mov    0x8(%rcx),%al
140002aa7:	4d 8b e9             	mov    %r9,%r13
140002aaa:	88 45 e2             	mov    %al,-0x1e(%rbp)
140002aad:	49 8b f0             	mov    %r8,%rsi
140002ab0:	89 5d e4             	mov    %ebx,-0x1c(%rbp)
140002ab3:	4c 8b f2             	mov    %rdx,%r14
140002ab6:	66 89 5d e8          	mov    %bx,-0x18(%rbp)
140002aba:	48 8b f9             	mov    %rcx,%rdi
140002abd:	f3 0f 7f 45 f0       	movdqu %xmm0,-0x10(%rbp)
140002ac2:	4d 85 ff             	test   %r15,%r15
140002ac5:	74 7d                	je     0x140002b44
140002ac7:	48 8b 41 20          	mov    0x20(%rcx),%rax
140002acb:	33 d2                	xor    %edx,%edx
140002acd:	41 8b 4e 04          	mov    0x4(%r14),%ecx
140002ad1:	49 2b c0             	sub    %r8,%rax
140002ad4:	49 f7 f7             	div    %r15
140002ad7:	48 3b c8             	cmp    %rax,%rcx
140002ada:	76 12                	jbe    0x140002aee
140002adc:	8b d0                	mov    %eax,%edx
140002ade:	49 8b ce             	mov    %r14,%rcx
140002ae1:	e8 36 10 00 00       	call   0x140003b1c
140002ae6:	41 8b 4e 04          	mov    0x4(%r14),%ecx
140002aea:	4c 8b 7f 10          	mov    0x10(%rdi),%r15
140002aee:	4c 8b 75 50          	mov    0x50(%rbp),%r14
140002af2:	4d 8b cd             	mov    %r13,%r9
140002af5:	44 8b c1             	mov    %ecx,%r8d
140002af8:	48 8b d6             	mov    %rsi,%rdx
140002afb:	4d 0f af f8          	imul   %r8,%r15
140002aff:	48 8b cf             	mov    %rdi,%rcx
140002b02:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140002b07:	4c 03 fe             	add    %rsi,%r15
140002b0a:	e8 49 05 00 00       	call   0x140003058
140002b0f:	48 8b f0             	mov    %rax,%rsi
140002b12:	49 3b c7             	cmp    %r15,%rax
140002b15:	0f 83 a4 00 00 00    	jae    0x140002bbf
140002b1b:	4c 8b 47 20          	mov    0x20(%rdi),%r8
140002b1f:	48 8d 55 30          	lea    0x30(%rbp),%rdx
140002b23:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140002b27:	48 89 45 30          	mov    %rax,0x30(%rbp)
140002b2b:	e8 28 06 00 00       	call   0x140003158
140002b30:	4d 8b c6             	mov    %r14,%r8
140002b33:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140002b37:	49 8b d5             	mov    %r13,%rdx
140002b3a:	e8 e5 05 00 00       	call   0x140003124
140002b3f:	44 8b e0             	mov    %eax,%r12d
140002b42:	eb 52                	jmp    0x140002b96
140002b44:	44 8b fb             	mov    %ebx,%r15d
140002b47:	39 5a 04             	cmp    %ebx,0x4(%rdx)
140002b4a:	76 73                	jbe    0x140002bbf
140002b4c:	4c 8b 47 20          	mov    0x20(%rdi),%r8
140002b50:	48 8d 55 30          	lea    0x30(%rbp),%rdx
140002b54:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140002b58:	48 89 75 30          	mov    %rsi,0x30(%rbp)
140002b5c:	e8 f7 05 00 00       	call   0x140003158
140002b61:	84 c0                	test   %al,%al
140002b63:	74 26                	je     0x140002b8b
140002b65:	4c 8b 45 50          	mov    0x50(%rbp),%r8
140002b69:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140002b6d:	49 8b d5             	mov    %r13,%rdx
140002b70:	e8 af 05 00 00       	call   0x140003124
140002b75:	44 8b e0             	mov    %eax,%r12d
140002b78:	85 c0                	test   %eax,%eax
140002b7a:	7e 1a                	jle    0x140002b96
140002b7c:	48 8b 75 30          	mov    0x30(%rbp),%rsi
140002b80:	41 ff c7             	inc    %r15d
140002b83:	45 3b 7e 04          	cmp    0x4(%r14),%r15d
140002b87:	72 c3                	jb     0x140002b4c
140002b89:	eb 0b                	jmp    0x140002b96
140002b8b:	41 8b d7             	mov    %r15d,%edx
140002b8e:	49 8b ce             	mov    %r14,%rcx
140002b91:	e8 86 0f 00 00       	call   0x140003b1c
140002b96:	45 85 e4             	test   %r12d,%r12d
140002b99:	75 24                	jne    0x140002bbf
140002b9b:	38 5d e2             	cmp    %bl,-0x1e(%rbp)
140002b9e:	74 11                	je     0x140002bb1
140002ba0:	8b 55 e4             	mov    -0x1c(%rbp),%edx
140002ba3:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140002ba7:	03 55 58             	add    0x58(%rbp),%edx
140002baa:	e8 6d 0f 00 00       	call   0x140003b1c
140002baf:	eb 05                	jmp    0x140002bb6
140002bb1:	38 5f 38             	cmp    %bl,0x38(%rdi)
140002bb4:	74 02                	je     0x140002bb8
140002bb6:	b3 01                	mov    $0x1,%bl
140002bb8:	88 5f 38             	mov    %bl,0x38(%rdi)