14000884e:	66 44 39 3e          	cmp    %r15w,(%rsi)
140008852:	74 2b                	je     0x14000887f
140008854:	4c 8b a4 24 88 00 00 	mov    0x88(%rsp),%r12
14000885b:	00
14000885c:	33 ff                	xor    %edi,%edi
14000885e:	e9 a5 fe ff ff       	jmp    0x140008708
140008863:	48 ff 15 16 ac 00 00 	rex.W call *0xac16(%rip)        # 0x140013480
14000886a:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000886f:	0f b7 f8             	movzwl %ax,%edi
140008872:	81 cf 00 00 07 80    	or     $0x80070000,%edi
140008878:	85 c0                	test   %eax,%eax
14000887a:	0f 4e f8             	cmovle %eax,%edi
14000887d:	eb 2e                	jmp    0x1400088ad
14000887f:	48 8d 1c 4d 02 00 00 	lea    0x2(,%rcx,2),%rbx
140008886:	00
140008887:	48 8b cb             	mov    %rbx,%rcx
14000888a:	e8 51 8d ff ff       	call   0x1400015e0
14000888f:	49 89 45 00          	mov    %rax,0x0(%r13)
140008893:	48 85 c0             	test   %rax,%rax
140008896:	75 07                	jne    0x14000889f
140008898:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
14000889d:	eb 0e                	jmp    0x1400088ad
14000889f:	4c 8b c3             	mov    %rbx,%r8
1400088a2:	48 8b d5             	mov    %rbp,%rdx
1400088a5:	48 8b c8             	mov    %rax,%rcx
1400088a8:	e8 a4 67 00 00       	call   0x14000f051
1400088ad:	48 8b cd             	mov    %rbp,%rcx
1400088b0:	e8 6b 8d ff ff       	call   0x140001620
1400088b5:	8b c7                	mov    %edi,%eax
1400088b7:	48 83 c4 38          	add    $0x38,%rsp
1400088bb:	41 5f                	pop    %r15
1400088bd:	41 5e                	pop    %r14
1400088bf:	41 5d                	pop    %r13
1400088c1:	41 5c                	pop    %r12
1400088c3:	5f                   	pop    %rdi
1400088c4:	5e                   	pop    %rsi
1400088c5:	5d                   	pop    %rbp
1400088c6:	5b                   	pop    %rbx
1400088c7:	c3                   	ret
1400088c8:	cc                   	int3
1400088c9:	cc                   	int3
1400088ca:	cc                   	int3
1400088cb:	cc                   	int3
1400088cc:	cc                   	int3
1400088cd:	cc                   	int3
1400088ce:	cc                   	int3
1400088cf:	cc                   	int3
1400088d0:	48 8b c4             	mov    %rsp,%rax
1400088d3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400088d7:	4c 89 40 18          	mov    %r8,0x18(%rax)
1400088db:	55                   	push   %rbp
1400088dc:	56                   	push   %rsi
1400088dd:	57                   	push   %rdi
1400088de:	41 56                	push   %r14
1400088e0:	41 57                	push   %r15
1400088e2:	48 83 ec 30          	sub    $0x30,%rsp
1400088e6:	33 ff                	xor    %edi,%edi
1400088e8:	4c 8d 40 18          	lea    0x18(%rax),%r8
1400088ec:	48 21 78 c8          	and    %rdi,-0x38(%rax)
1400088f0:	48 8b ea             	mov    %rdx,%rbp
1400088f3:	48 21 78 18          	and    %rdi,0x18(%rax)
1400088f7:	41 bb fe ff ff ff    	mov    $0xfffffffe,%r11d
1400088fd:	48 21 78 20          	and    %rdi,0x20(%rax)
140008901:	41 8b d3             	mov    %r11d,%edx
140008904:	4d 8b f9             	mov    %r9,%r15
140008907:	4c 8b f1             	mov    %rcx,%r14
14000890a:	e8 ed ab ff ff       	call   0x1400034fc
14000890f:	8b d8                	mov    %eax,%ebx
140008911:	85 c0                	test   %eax,%eax
140008913:	0f 85 ab 00 00 00    	jne    0x1400089c4
140008919:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
14000891e:	41 8b d3             	mov    %r11d,%edx
140008921:	48 8b cd             	mov    %rbp,%rcx
140008924:	e8 d3 ab ff ff       	call   0x1400034fc
140008929:	8b d8                	mov    %eax,%ebx
14000892b:	85 c0                	test   %eax,%eax
14000892d:	0f 85 91 00 00 00    	jne    0x1400089c4
140008933:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
140008938:	41 8b d3             	mov    %r11d,%edx
14000893b:	48 8d 0d be d7 00 00 	lea    0xd7be(%rip),%rcx        # 0x140016100
140008942:	e8 b5 ab ff ff       	call   0x1400034fc
140008947:	8b d8                	mov    %eax,%ebx
140008949:	85 c0                	test   %eax,%eax
14000894b:	75 77                	jne    0x1400089c4
14000894d:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
140008952:	48 03 54 24 70       	add    0x70(%rsp),%rdx
140008957:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
14000895c:	48 83 c6 02          	add    $0x2,%rsi
140008960:	48 03 f2             	add    %rdx,%rsi
140008963:	48 8b ce             	mov    %rsi,%rcx
140008966:	e8 75 8c ff ff       	call   0x1400015e0
14000896b:	48 8b f8             	mov    %rax,%rdi
14000896e:	48 85 c0             	test   %rax,%rax
140008971:	75 07                	jne    0x14000897a
140008973:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
140008978:	eb 4a                	jmp    0x1400089c4
14000897a:	4d 8b c6             	mov    %r14,%r8
14000897d:	48 8b d6             	mov    %rsi,%rdx
140008980:	48 8b cf             	mov    %rdi,%rcx
140008983:	e8 e8 aa ff ff       	call   0x140003470
140008988:	8b d8                	mov    %eax,%ebx
14000898a:	85 c0                	test   %eax,%eax
14000898c:	75 2c                	jne    0x1400089ba
14000898e:	4c 8d 05 6b d7 00 00 	lea    0xd76b(%rip),%r8        # 0x140016100
140008995:	48 8b d6             	mov    %rsi,%rdx
140008998:	48 8b cf             	mov    %rdi,%rcx
14000899b:	e8 9c 02 00 00       	call   0x140008c3c
1400089a0:	8b d8                	mov    %eax,%ebx
1400089a2:	85 c0                	test   %eax,%eax
1400089a4:	75 14                	jne    0x1400089ba
1400089a6:	4c 8b c5             	mov    %rbp,%r8
1400089a9:	48 8b d6             	mov    %rsi,%rdx
1400089ac:	48 8b cf             	mov    %rdi,%rcx
1400089af:	e8 88 02 00 00       	call   0x140008c3c
1400089b4:	8b d8                	mov    %eax,%ebx
1400089b6:	85 c0                	test   %eax,%eax
1400089b8:	74 0a                	je     0x1400089c4
1400089ba:	48 8b cf             	mov    %rdi,%rcx
1400089bd:	e8 5e 8c ff ff       	call   0x140001620
1400089c2:	33 ff                	xor    %edi,%edi
1400089c4:	8b c3                	mov    %ebx,%eax
1400089c6:	49 89 3f             	mov    %rdi,(%r15)
1400089c9:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400089ce:	48 83 c4 30          	add    $0x30,%rsp
1400089d2:	41 5f                	pop    %r15
1400089d4:	41 5e                	pop    %r14
1400089d6:	5f                   	pop    %rdi
1400089d7:	5e                   	pop    %rsi
1400089d8:	5d                   	pop    %rbp
1400089d9:	c3                   	ret
1400089da:	cc                   	int3
1400089db:	cc                   	int3
1400089dc:	cc                   	int3
1400089dd:	cc                   	int3
1400089de:	cc                   	int3
1400089df:	cc                   	int3
1400089e0:	cc                   	int3
1400089e1:	cc                   	int3
1400089e2:	cc                   	int3
1400089e3:	cc                   	int3
1400089e4:	48 8b c4             	mov    %rsp,%rax
1400089e7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400089eb:	48 89 68 10          	mov    %rbp,0x10(%rax)
1400089ef:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400089f3:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400089f7:	41 56                	push   %r14
1400089f9:	48 83 ec 20          	sub    $0x20,%rsp
1400089fd:	33 ed                	xor    %ebp,%ebp
1400089ff:	4c 8b f2             	mov    %rdx,%r14
140008a02:	44 8b c5             	mov    %ebp,%r8d
140008a05:	8b fd                	mov    %ebp,%edi
140008a07:	48 89 2a             	mov    %rbp,(%rdx)
140008a0a:	66 39 29             	cmp    %bp,(%rcx)
140008a0d:	74 1a                	je     0x140008a29
140008a0f:	45 85 c0             	test   %r8d,%r8d
140008a12:	74 0b                	je     0x140008a1f
140008a14:	41 8d 40 ff          	lea    -0x1(%r8),%eax
140008a18:	66 83 3c 41 23       	cmpw   $0x23,(%rcx,%rax,2)
140008a1d:	74 0a                	je     0x140008a29
140008a1f:	41 ff c0             	inc    %r8d
140008a22:	66 42 39 2c 41       	cmp    %bp,(%rcx,%r8,2)
140008a27:	75 e6                	jne    0x140008a0f
140008a29:	41 8b c0             	mov    %r8d,%eax
140008a2c:	48 8d 34 41          	lea    (%rcx,%rax,2),%rsi
140008a30:	48 85 f6             	test   %rsi,%rsi
140008a33:	74 38                	je     0x140008a6d
140008a35:	bf 00 02 00 00       	mov    $0x200,%edi
140008a3a:	48 8b c6             	mov    %rsi,%rax
140008a3d:	8b cf                	mov    %edi,%ecx
140008a3f:	66 39 28             	cmp    %bp,(%rax)
140008a42:	74 0a                	je     0x140008a4e
140008a44:	48 83 c0 02          	add    $0x2,%rax
140008a48:	48 83 e9 01          	sub    $0x1,%rcx
140008a4c:	75 f1                	jne    0x140008a3f
140008a4e:	48 8b c1             	mov    %rcx,%rax
140008a51:	48 f7 d8             	neg    %rax
140008a54:	1b db                	sbb    %ebx,%ebx
140008a56:	f7 d3                	not    %ebx
140008a58:	81 e3 57 00 07 80    	and    $0x80070057,%ebx
140008a5e:	48 85 c9             	test   %rcx,%rcx
140008a61:	74 05                	je     0x140008a68
140008a63:	48 2b f9             	sub    %rcx,%rdi
140008a66:	eb 0a                	jmp    0x140008a72
140008a68:	48 8b fd             	mov    %rbp,%rdi
140008a6b:	eb 05                	jmp    0x140008a72
140008a6d:	bb 57 00 07 80       	mov    $0x80070057,%ebx
140008a72:	85 db                	test   %ebx,%ebx
140008a74:	48 0f 48 fd          	cmovs  %rbp,%rdi
140008a78:	75 2f                	jne    0x140008aa9
140008a7a:	48 8d 0c 7d 02 00 00 	lea    0x2(,%rdi,2),%rcx
140008a81:	00
140008a82:	e8 59 8b ff ff       	call   0x1400015e0
140008a87:	49 89 06             	mov    %rax,(%r14)
140008a8a:	48 85 c0             	test   %rax,%rax
140008a8d:	75 07                	jne    0x140008a96
140008a8f:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
140008a94:	eb 13                	jmp    0x140008aa9
140008a96:	4c 8d 04 7d 02 00 00 	lea    0x2(,%rdi,2),%r8
140008a9d:	00
140008a9e:	48 8b d6             	mov    %rsi,%rdx
140008aa1:	48 8b c8             	mov    %rax,%rcx
140008aa4:	e8 a8 65 00 00       	call   0x14000f051
140008aa9:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140008aae:	8b c3                	mov    %ebx,%eax
140008ab0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140008ab5:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140008aba:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140008abf:	48 83 c4 20          	add    $0x20,%rsp
140008ac3:	41 5e                	pop    %r14
140008ac5:	c3                   	ret
140008ac6:	cc                   	int3
140008ac7:	cc                   	int3
140008ac8:	cc                   	int3
140008ac9:	cc                   	int3
140008aca:	cc                   	int3
140008acb:	cc                   	int3
140008acc:	cc                   	int3
140008acd:	cc                   	int3
140008ace:	cc                   	int3
140008acf:	cc                   	int3
140008ad0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140008ad5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140008ada:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140008adf:	57                   	push   %rdi
140008ae0:	41 56                	push   %r14
140008ae2:	41 57                	push   %r15
140008ae4:	48 83 ec 20          	sub    $0x20,%rsp
140008ae8:	33 ed                	xor    %ebp,%ebp
140008aea:	4c 8b fa             	mov    %rdx,%r15
140008aed:	48 89 2a             	mov    %rbp,(%rdx)
140008af0:	4c 8b f1             	mov    %rcx,%r14
140008af3:	44 8b c5             	mov    %ebp,%r8d
140008af6:	8b fd                	mov    %ebp,%edi
140008af8:	48 85 c9             	test   %rcx,%rcx
140008afb:	74 3b                	je     0x140008b38
140008afd:	41 b8 00 03 00 00    	mov    $0x300,%r8d
140008b03:	48 8b c1             	mov    %rcx,%rax
140008b06:	45 8b c8             	mov    %r8d,%r9d
140008b09:	66 39 28             	cmp    %bp,(%rax)
140008b0c:	74 0a                	je     0x140008b18
140008b0e:	48 83 c0 02          	add    $0x2,%rax
140008b12:	49 83 e9 01          	sub    $0x1,%r9
140008b16:	75 f1                	jne    0x140008b09
140008b18:	49 8b c1             	mov    %r9,%rax
140008b1b:	be 57 00 07 80       	mov    $0x80070057,%esi
140008b20:	48 f7 d8             	neg    %rax
140008b23:	1b db                	sbb    %ebx,%ebx
140008b25:	f7 d3                	not    %ebx
140008b27:	23 de                	and    %esi,%ebx
140008b29:	4d 85 c9             	test   %r9,%r9
140008b2c:	74 05                	je     0x140008b33
140008b2e:	4d 2b c1             	sub    %r9,%r8
140008b31:	eb 0c                	jmp    0x140008b3f
140008b33:	4c 8b c5             	mov    %rbp,%r8
140008b36:	eb 07                	jmp    0x140008b3f
140008b38:	be 57 00 07 80       	mov    $0x80070057,%esi
140008b3d:	8b de                	mov    %esi,%ebx
140008b3f:	85 db                	test   %ebx,%ebx
140008b41:	4c 0f 48 c5          	cmovs  %rbp,%r8
140008b45:	0f 85 be 00 00 00    	jne    0x140008c09
140008b4b:	8b de                	mov    %esi,%ebx
140008b4d:	8b cd                	mov    %ebp,%ecx
140008b4f:	4d 85 c0             	test   %r8,%r8
140008b52:	0f 84 b1 00 00 00    	je     0x140008c09
140008b58:	48 8b c5             	mov    %rbp,%rax
140008b5b:	48 ff c7             	inc    %rdi
140008b5e:	ba 23 00 00 00       	mov    $0x23,%edx
140008b63:	66 41 3b 14 46       	cmp    (%r14,%rax,2),%dx
140008b68:	74 0e                	je     0x140008b78
140008b6a:	ff c1                	inc    %ecx
140008b6c:	8b c1                	mov    %ecx,%eax
140008b6e:	49 3b c0             	cmp    %r8,%rax
140008b71:	72 e8                	jb     0x140008b5b
140008b73:	e9 91 00 00 00       	jmp    0x140008c09
140008b78:	48 8d 0c 3f          	lea    (%rdi,%rdi,1),%rcx
140008b7c:	e8 5f 8a ff ff       	call   0x1400015e0
140008b81:	49 89 07             	mov    %rax,(%r15)
140008b84:	48 8b c8             	mov    %rax,%rcx
140008b87:	48 85 c0             	test   %rax,%rax
140008b8a:	75 07                	jne    0x140008b93
140008b8c:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
140008b91:	eb 76                	jmp    0x140008c09
140008b93:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140008b97:	41 b8 fe ff ff 7f    	mov    $0x7ffffffe,%r8d
140008b9d:	49 3b c0             	cmp    %r8,%rax
140008ba0:	48 8d 57 ff          	lea    -0x1(%rdi),%rdx
140008ba4:	8b dd                	mov    %ebp,%ebx
140008ba6:	0f 47 de             	cmova  %esi,%ebx
140008ba9:	85 db                	test   %ebx,%ebx
140008bab:	78 50                	js     0x140008bfd
140008bad:	49 3b d0             	cmp    %r8,%rdx
140008bb0:	76 07                	jbe    0x140008bb9
140008bb2:	66 89 29             	mov    %bp,(%rcx)
140008bb5:	8b de                	mov    %esi,%ebx
140008bb7:	eb 50                	jmp    0x140008c09
140008bb9:	48 85 ff             	test   %rdi,%rdi
140008bbc:	74 22                	je     0x140008be0
140008bbe:	4c 2b f1             	sub    %rcx,%r14
140008bc1:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140008bc5:	48 85 c0             	test   %rax,%rax
140008bc8:	74 16                	je     0x140008be0
140008bca:	41 0f b7 04 0e       	movzwl (%r14,%rcx,1),%eax
140008bcf:	66 85 c0             	test   %ax,%ax
140008bd2:	74 0c                	je     0x140008be0
140008bd4:	66 89 01             	mov    %ax,(%rcx)
140008bd7:	48 83 c1 02          	add    $0x2,%rcx
140008bdb:	48 ff cf             	dec    %rdi
140008bde:	eb e1                	jmp    0x140008bc1
140008be0:	48 85 ff             	test   %rdi,%rdi
140008be3:	48 8d 41 fe          	lea    -0x2(%rcx),%rax
140008be7:	48 0f 45 c1          	cmovne %rcx,%rax
140008beb:	48 f7 df             	neg    %rdi
140008bee:	1b db                	sbb    %ebx,%ebx
140008bf0:	f7 d3                	not    %ebx
140008bf2:	81 e3 7a 00 07 80    	and    $0x8007007a,%ebx
140008bf8:	66 89 28             	mov    %bp,(%rax)
140008bfb:	eb 08                	jmp    0x140008c05
140008bfd:	48 85 ff             	test   %rdi,%rdi
140008c00:	74 03                	je     0x140008c05
140008c02:	66 89 29             	mov    %bp,(%rcx)
140008c05:	85 db                	test   %ebx,%ebx
140008c07:	74 10                	je     0x140008c19
140008c09:	49 8b 0f             	mov    (%r15),%rcx
140008c0c:	48 85 c9             	test   %rcx,%rcx
140008c0f:	74 08                	je     0x140008c19
140008c11:	e8 0a 8a ff ff       	call   0x140001620
140008c16:	49 89 2f             	mov    %rbp,(%r15)
140008c19:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140008c1e:	8b c3                	mov    %ebx,%eax
140008c20:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140008c25:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140008c2a:	48 83 c4 20          	add    $0x20,%rsp
140008c2e:	41 5f                	pop    %r15
140008c30:	41 5e                	pop    %r14
140008c32:	5f                   	pop    %rdi
140008c33:	c3                   	ret
140008c34:	cc                   	int3
140008c35:	cc                   	int3
140008c36:	cc                   	int3
140008c37:	cc                   	int3
140008c38:	cc                   	int3
140008c39:	cc                   	int3
140008c3a:	cc                   	int3
140008c3b:	cc                   	int3
140008c3c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140008c41:	33 db                	xor    %ebx,%ebx
140008c43:	4c 8b d2             	mov    %rdx,%r10
140008c46:	49 d1 ea             	shr    $1,%r10
140008c49:	4d 8b d8             	mov    %r8,%r11
140008c4c:	44 8b cb             	mov    %ebx,%r9d