140027864:	74 5e                	je     0x1400278c4
140027866:	8b 45 70             	mov    0x70(%rbp),%eax
140027869:	44 8b ce             	mov    %esi,%r9d
14002786c:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
140027871:	4c 8b c7             	mov    %rdi,%r8
140027874:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
140027879:	41 8b ce             	mov    %r14d,%ecx
14002787c:	85 c0                	test   %eax,%eax
14002787e:	75 16                	jne    0x140027896
140027880:	89 54 24 28          	mov    %edx,0x28(%rsp)
140027884:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140027889:	e8 6a 18 00 00       	call   0x1400290f8
14002788e:	8b f0                	mov    %eax,%esi
140027890:	85 c0                	test   %eax,%eax
140027892:	75 1a                	jne    0x1400278ae
140027894:	eb 2e                	jmp    0x1400278c4
140027896:	89 44 24 28          	mov    %eax,0x28(%rsp)
14002789a:	48 8b 45 68          	mov    0x68(%rbp),%rax
14002789e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400278a3:	e8 50 18 00 00       	call   0x1400290f8
1400278a8:	8b f0                	mov    %eax,%esi
1400278aa:	85 c0                	test   %eax,%eax
1400278ac:	74 1b                	je     0x1400278c9
1400278ae:	48 8d 4f f0          	lea    -0x10(%rdi),%rcx
1400278b2:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
1400278b8:	75 2e                	jne    0x1400278e8
1400278ba:	e8 21 9c fd ff       	call   0x1400014e0
1400278bf:	eb 27                	jmp    0x1400278e8
1400278c1:	48 8b fa             	mov    %rdx,%rdi
1400278c4:	48 85 ff             	test   %rdi,%rdi
1400278c7:	74 11                	je     0x1400278da
1400278c9:	48 8d 4f f0          	lea    -0x10(%rdi),%rcx
1400278cd:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
1400278d3:	75 05                	jne    0x1400278da
1400278d5:	e8 06 9c fd ff       	call   0x1400014e0
1400278da:	33 f6                	xor    %esi,%esi
1400278dc:	eb 0a                	jmp    0x1400278e8
1400278de:	48 8b da             	mov    %rdx,%rbx
1400278e1:	8b f2                	mov    %edx,%esi
1400278e3:	48 85 db             	test   %rbx,%rbx
1400278e6:	74 11                	je     0x1400278f9
1400278e8:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
1400278ec:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
1400278f2:	75 05                	jne    0x1400278f9
1400278f4:	e8 e7 9b fd ff       	call   0x1400014e0
1400278f9:	8b c6                	mov    %esi,%eax
1400278fb:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
1400278ff:	48 33 cd             	xor    %rbp,%rcx
140027902:	e8 99 1a fe ff       	call   0x1400093a0
140027907:	48 8b 5d 40          	mov    0x40(%rbp),%rbx
14002790b:	48 8b 75 48          	mov    0x48(%rbp),%rsi
14002790f:	48 8b 7d 50          	mov    0x50(%rbp),%rdi
140027913:	48 8d 65 10          	lea    0x10(%rbp),%rsp
140027917:	41 5f                	pop    %r15
140027919:	41 5e                	pop    %r14
14002791b:	41 5d                	pop    %r13
14002791d:	41 5c                	pop    %r12
14002791f:	5d                   	pop    %rbp
140027920:	c3                   	ret
140027921:	cc                   	int3
140027922:	cc                   	int3
140027923:	cc                   	int3
140027924:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140027929:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14002792e:	57                   	push   %rdi
14002792f:	48 83 ec 70          	sub    $0x70,%rsp
140027933:	48 8b f2             	mov    %rdx,%rsi
140027936:	49 8b d9             	mov    %r9,%rbx
140027939:	48 8b d1             	mov    %rcx,%rdx
14002793c:	41 8b f8             	mov    %r8d,%edi
14002793f:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140027944:	e8 93 ec fe ff       	call   0x1400165dc
140027949:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
140027950:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140027955:	89 44 24 40          	mov    %eax,0x40(%rsp)
140027959:	4c 8b cb             	mov    %rbx,%r9
14002795c:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
140027963:	44 8b c7             	mov    %edi,%r8d
140027966:	89 44 24 38          	mov    %eax,0x38(%rsp)
14002796a:	48 8b d6             	mov    %rsi,%rdx
14002796d:	8b 84 24 b0 00 00 00 	mov    0xb0(%rsp),%eax
140027974:	89 44 24 30          	mov    %eax,0x30(%rsp)
140027978:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
14002797f:	00
140027980:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140027985:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
14002798c:	89 44 24 20          	mov    %eax,0x20(%rsp)
140027990:	e8 5b fc ff ff       	call   0x1400275f0
140027995:	80 7c 24 68 00       	cmpb   $0x0,0x68(%rsp)
14002799a:	74 0c                	je     0x1400279a8
14002799c:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1400279a1:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
1400279a8:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1400279ad:	49 8b 5b 10          	mov    0x10(%r11),%rbx
1400279b1:	49 8b 73 18          	mov    0x18(%r11),%rsi
1400279b5:	49 8b e3             	mov    %r11,%rsp
1400279b8:	5f                   	pop    %rdi
1400279b9:	c3                   	ret
1400279ba:	cc                   	int3
1400279bb:	cc                   	int3
1400279bc:	40 53                	rex push %rbx
1400279be:	48 83 ec 20          	sub    $0x20,%rsp
1400279c2:	33 db                	xor    %ebx,%ebx
1400279c4:	4c 8b c9             	mov    %rcx,%r9
1400279c7:	48 85 c9             	test   %rcx,%rcx
1400279ca:	74 0d                	je     0x1400279d9
1400279cc:	48 85 d2             	test   %rdx,%rdx
1400279cf:	74 08                	je     0x1400279d9
1400279d1:	4d 85 c0             	test   %r8,%r8
1400279d4:	75 1c                	jne    0x1400279f2
1400279d6:	66 89 19             	mov    %bx,(%rcx)
1400279d9:	e8 fe 96 ff ff       	call   0x1400210dc
1400279de:	bb 16 00 00 00       	mov    $0x16,%ebx
1400279e3:	89 18                	mov    %ebx,(%rax)
1400279e5:	e8 6a 75 fe ff       	call   0x14000ef54
1400279ea:	8b c3                	mov    %ebx,%eax
1400279ec:	48 83 c4 20          	add    $0x20,%rsp
1400279f0:	5b                   	pop    %rbx
1400279f1:	c3                   	ret
1400279f2:	66 39 19             	cmp    %bx,(%rcx)
1400279f5:	74 10                	je     0x140027a07
1400279f7:	48 83 c1 02          	add    $0x2,%rcx
1400279fb:	48 83 ea 01          	sub    $0x1,%rdx
1400279ff:	75 f1                	jne    0x1400279f2
140027a01:	66 41 89 19          	mov    %bx,(%r9)
140027a05:	eb d2                	jmp    0x1400279d9
140027a07:	4c 2b c1             	sub    %rcx,%r8
140027a0a:	41 0f b7 04 08       	movzwl (%r8,%rcx,1),%eax
140027a0f:	66 89 01             	mov    %ax,(%rcx)
140027a12:	48 8d 49 02          	lea    0x2(%rcx),%rcx
140027a16:	66 85 c0             	test   %ax,%ax
140027a19:	74 cf                	je     0x1400279ea
140027a1b:	48 83 ea 01          	sub    $0x1,%rdx
140027a1f:	75 e9                	jne    0x140027a0a
140027a21:	66 41 89 19          	mov    %bx,(%r9)
140027a25:	e8 b2 96 ff ff       	call   0x1400210dc
140027a2a:	bb 22 00 00 00       	mov    $0x22,%ebx
140027a2f:	eb b2                	jmp    0x1400279e3
140027a31:	cc                   	int3
140027a32:	cc                   	int3
140027a33:	cc                   	int3
140027a34:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140027a39:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140027a3e:	57                   	push   %rdi
140027a3f:	48 83 ec 20          	sub    $0x20,%rsp
140027a43:	45 33 d2             	xor    %r10d,%r10d
140027a46:	49 8b d8             	mov    %r8,%rbx
140027a49:	4c 8b da             	mov    %rdx,%r11
140027a4c:	4d 85 c9             	test   %r9,%r9
140027a4f:	75 31                	jne    0x140027a82
140027a51:	48 85 c9             	test   %rcx,%rcx
140027a54:	75 31                	jne    0x140027a87
140027a56:	48 85 d2             	test   %rdx,%rdx
140027a59:	74 14                	je     0x140027a6f
140027a5b:	e8 7c 96 ff ff       	call   0x1400210dc
140027a60:	bb 16 00 00 00       	mov    $0x16,%ebx
140027a65:	89 18                	mov    %ebx,(%rax)
140027a67:	e8 e8 74 fe ff       	call   0x14000ef54
140027a6c:	44 8b d3             	mov    %ebx,%r10d
140027a6f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140027a74:	41 8b c2             	mov    %r10d,%eax
140027a77:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140027a7c:	48 83 c4 20          	add    $0x20,%rsp
140027a80:	5f                   	pop    %rdi
140027a81:	c3                   	ret
140027a82:	48 85 c9             	test   %rcx,%rcx
140027a85:	74 d4                	je     0x140027a5b
140027a87:	4d 85 db             	test   %r11,%r11
140027a8a:	74 cf                	je     0x140027a5b
140027a8c:	4d 85 c9             	test   %r9,%r9
140027a8f:	75 06                	jne    0x140027a97
140027a91:	66 44 89 11          	mov    %r10w,(%rcx)
140027a95:	eb d8                	jmp    0x140027a6f
140027a97:	48 85 db             	test   %rbx,%rbx
140027a9a:	75 06                	jne    0x140027aa2
140027a9c:	66 44 89 11          	mov    %r10w,(%rcx)
140027aa0:	eb b9                	jmp    0x140027a5b
140027aa2:	48 2b d9             	sub    %rcx,%rbx
140027aa5:	48 8b d1             	mov    %rcx,%rdx
140027aa8:	4d 8b c3             	mov    %r11,%r8
140027aab:	49 8b f9             	mov    %r9,%rdi
140027aae:	49 83 f9 ff          	cmp    $0xffffffffffffffff,%r9
140027ab2:	75 18                	jne    0x140027acc
140027ab4:	0f b7 04 13          	movzwl (%rbx,%rdx,1),%eax
140027ab8:	66 89 02             	mov    %ax,(%rdx)
140027abb:	48 8d 52 02          	lea    0x2(%rdx),%rdx
140027abf:	66 85 c0             	test   %ax,%ax
140027ac2:	74 ab                	je     0x140027a6f
140027ac4:	49 83 e8 01          	sub    $0x1,%r8
140027ac8:	75 ea                	jne    0x140027ab4
140027aca:	eb 33                	jmp    0x140027aff
140027acc:	0f b7 04 13          	movzwl (%rbx,%rdx,1),%eax
140027ad0:	48 8b f7             	mov    %rdi,%rsi
140027ad3:	66 89 02             	mov    %ax,(%rdx)
140027ad6:	48 8d 52 02          	lea    0x2(%rdx),%rdx
140027ada:	66 85 c0             	test   %ax,%ax
140027add:	74 90                	je     0x140027a6f
140027adf:	49 83 e8 01          	sub    $0x1,%r8
140027ae3:	74 06                	je     0x140027aeb
140027ae5:	48 83 ef 01          	sub    $0x1,%rdi
140027ae9:	75 e1                	jne    0x140027acc
140027aeb:	4d 85 c0             	test   %r8,%r8
140027aee:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
140027af2:	48 0f 44 c6          	cmove  %rsi,%rax
140027af6:	48 85 c0             	test   %rax,%rax
140027af9:	75 04                	jne    0x140027aff
140027afb:	66 44 89 12          	mov    %r10w,(%rdx)
140027aff:	4d 85 c0             	test   %r8,%r8
140027b02:	0f 85 67 ff ff ff    	jne    0x140027a6f
140027b08:	49 83 f9 ff          	cmp    $0xffffffffffffffff,%r9
140027b0c:	75 0f                	jne    0x140027b1d
140027b0e:	66 46 89 54 59 fe    	mov    %r10w,-0x2(%rcx,%r11,2)
140027b14:	45 8d 50 50          	lea    0x50(%r8),%r10d
140027b18:	e9 52 ff ff ff       	jmp    0x140027a6f
140027b1d:	66 44 89 11          	mov    %r10w,(%rcx)
140027b21:	e8 b6 95 ff ff       	call   0x1400210dc
140027b26:	bb 22 00 00 00       	mov    $0x22,%ebx
140027b2b:	e9 35 ff ff ff       	jmp    0x140027a65
140027b30:	48 3b ca             	cmp    %rdx,%rcx
140027b33:	73 04                	jae    0x140027b39
140027b35:	83 c8 ff             	or     $0xffffffff,%eax
140027b38:	c3                   	ret
140027b39:	33 c0                	xor    %eax,%eax
140027b3b:	48 3b ca             	cmp    %rdx,%rcx
140027b3e:	0f 97 c0             	seta   %al
140027b41:	c3                   	ret
140027b42:	cc                   	int3
140027b43:	cc                   	int3
140027b44:	48 8b c4             	mov    %rsp,%rax
140027b47:	48 89 58 08          	mov    %rbx,0x8(%rax)
140027b4b:	48 89 68 10          	mov    %rbp,0x10(%rax)
140027b4f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140027b53:	48 89 78 20          	mov    %rdi,0x20(%rax)
140027b57:	41 56                	push   %r14
140027b59:	48 83 ec 40          	sub    $0x40,%rsp
140027b5d:	45 33 f6             	xor    %r14d,%r14d
140027b60:	41 8b e9             	mov    %r9d,%ebp
140027b63:	48 8b da             	mov    %rdx,%rbx
140027b66:	48 8b f9             	mov    %rcx,%rdi
140027b69:	48 85 c9             	test   %rcx,%rcx
140027b6c:	75 24                	jne    0x140027b92
140027b6e:	44 38 72 28          	cmp    %r14b,0x28(%rdx)
140027b72:	74 0d                	je     0x140027b81
140027b74:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
140027b78:	e8 63 99 fd ff       	call   0x1400014e0
140027b7d:	44 88 73 28          	mov    %r14b,0x28(%rbx)
140027b81:	4c 89 73 10          	mov    %r14,0x10(%rbx)
140027b85:	4c 89 73 18          	mov    %r14,0x18(%rbx)
140027b89:	4c 89 73 20          	mov    %r14,0x20(%rbx)
140027b8d:	e9 20 01 00 00       	jmp    0x140027cb2
140027b92:	66 44 39 31          	cmp    %r14w,(%rcx)
140027b96:	75 54                	jne    0x140027bec
140027b98:	4c 39 72 18          	cmp    %r14,0x18(%rdx)
140027b9c:	75 45                	jne    0x140027be3
140027b9e:	44 38 72 28          	cmp    %r14b,0x28(%rdx)
140027ba2:	74 0d                	je     0x140027bb1
140027ba4:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
140027ba8:	e8 33 99 fd ff       	call   0x1400014e0
140027bad:	44 88 73 28          	mov    %r14b,0x28(%rbx)
140027bb1:	b9 01 00 00 00       	mov    $0x1,%ecx
140027bb6:	e8 45 99 fd ff       	call   0x140001500
140027bbb:	48 89 43 10          	mov    %rax,0x10(%rbx)
140027bbf:	49 8b d6             	mov    %r14,%rdx
140027bc2:	48 f7 d8             	neg    %rax
140027bc5:	1b c0                	sbb    %eax,%eax
140027bc7:	f7 d0                	not    %eax
140027bc9:	83 e0 0c             	and    $0xc,%eax
140027bcc:	0f 94 c2             	sete   %dl
140027bcf:	85 c0                	test   %eax,%eax
140027bd1:	0f 94 c1             	sete   %cl
140027bd4:	88 4b 28             	mov    %cl,0x28(%rbx)
140027bd7:	48 89 53 18          	mov    %rdx,0x18(%rbx)
140027bdb:	85 c0                	test   %eax,%eax
140027bdd:	0f 85 d1 00 00 00    	jne    0x140027cb4
140027be3:	48 8b 43 10          	mov    0x10(%rbx),%rax
140027be7:	44 88 30             	mov    %r14b,(%rax)
140027bea:	eb 9d                	jmp    0x140027b89
140027bec:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140027bf1:	41 83 c9 ff          	or     $0xffffffff,%r9d
140027bf5:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140027bfa:	4c 8b c7             	mov    %rdi,%r8
140027bfd:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
140027c02:	33 d2                	xor    %edx,%edx
140027c04:	8b cd                	mov    %ebp,%ecx
140027c06:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140027c0b:	e8 e8 14 00 00       	call   0x1400290f8
140027c10:	48 63 f0             	movslq %eax,%rsi
140027c13:	85 c0                	test   %eax,%eax
140027c15:	75 19                	jne    0x140027c30
140027c17:	ff 15 ab 45 01 00    	call   *0x145ab(%rip)        # 0x14003c1c8
140027c1d:	8b c8                	mov    %eax,%ecx
140027c1f:	e8 2c 94 ff ff       	call   0x140021050
140027c24:	e8 b3 94 ff ff       	call   0x1400210dc
140027c29:	8b 00                	mov    (%rax),%eax
140027c2b:	e9 84 00 00 00       	jmp    0x140027cb4
140027c30:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140027c34:	48 3b f2             	cmp    %rdx,%rsi
140027c37:	76 40                	jbe    0x140027c79
140027c39:	44 38 73 28          	cmp    %r14b,0x28(%rbx)
140027c3d:	74 0d                	je     0x140027c4c
140027c3f:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140027c43:	e8 98 98 fd ff       	call   0x1400014e0
140027c48:	44 88 73 28          	mov    %r14b,0x28(%rbx)
140027c4c:	48 8b ce             	mov    %rsi,%rcx
140027c4f:	e8 ac 98 fd ff       	call   0x140001500
140027c54:	48 89 43 10          	mov    %rax,0x10(%rbx)
140027c58:	49 8b d6             	mov    %r14,%rdx
140027c5b:	48 f7 d8             	neg    %rax
140027c5e:	1b c0                	sbb    %eax,%eax
140027c60:	f7 d0                	not    %eax
140027c62:	83 e0 0c             	and    $0xc,%eax
140027c65:	48 0f 44 d6          	cmove  %rsi,%rdx
140027c69:	85 c0                	test   %eax,%eax
140027c6b:	0f 94 c1             	sete   %cl
140027c6e:	88 4b 28             	mov    %cl,0x28(%rbx)
140027c71:	48 89 53 18          	mov    %rdx,0x18(%rbx)
140027c75:	85 c0                	test   %eax,%eax
140027c77:	75 3b                	jne    0x140027cb4
140027c79:	48 8b 43 10          	mov    0x10(%rbx),%rax
140027c7d:	41 83 c9 ff          	or     $0xffffffff,%r9d
140027c81:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140027c86:	4c 8b c7             	mov    %rdi,%r8
140027c89:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140027c8e:	8b cd                	mov    %ebp,%ecx
140027c90:	89 54 24 28          	mov    %edx,0x28(%rsp)
140027c94:	33 d2                	xor    %edx,%edx
140027c96:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140027c9b:	e8 58 14 00 00       	call   0x1400290f8
140027ca0:	48 98                	cltq
140027ca2:	48 85 c0             	test   %rax,%rax
140027ca5:	0f 84 6c ff ff ff    	je     0x140027c17
140027cab:	48 ff c8             	dec    %rax
140027cae:	48 89 43 20          	mov    %rax,0x20(%rbx)
140027cb2:	33 c0                	xor    %eax,%eax
140027cb4:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140027cb9:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140027cbe:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140027cc3:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140027cc8:	48 83 c4 40          	add    $0x40,%rsp
140027ccc:	41 5e                	pop    %r14
140027cce:	c3                   	ret
140027ccf:	cc                   	int3
140027cd0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140027cd5:	55                   	push   %rbp
140027cd6:	56                   	push   %rsi
140027cd7:	57                   	push   %rdi
140027cd8:	41 54                	push   %r12
140027cda:	41 55                	push   %r13
140027cdc:	41 56                	push   %r14
140027cde:	41 57                	push   %r15