14031093b:	57                   	push   %rdi
14031093c:	41 56                	push   %r14
14031093e:	48 83 ec 30          	sub    $0x30,%rsp
140310942:	49 8b e8             	mov    %r8,%rbp
140310945:	8b fa                	mov    %edx,%edi
140310947:	4c 8b f1             	mov    %rcx,%r14
14031094a:	83 fa 03             	cmp    $0x3,%edx
14031094d:	0f 84 c5 00 00 00    	je     0x140310a18
140310953:	45 33 c0             	xor    %r8d,%r8d
140310956:	48 8b d1             	mov    %rcx,%rdx
140310959:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
14031095e:	e8 3d 22 06 00       	call   0x140372ba0
140310963:	48 8b 18             	mov    (%rax),%rbx
140310966:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
14031096d:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140310972:	48 8b d5             	mov    %rbp,%rdx
140310975:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14031097a:	e8 41 86 00 00       	call   0x140318fc0
14031097f:	0f b6 f0             	movzbl %al,%esi
140310982:	48 85 db             	test   %rbx,%rbx
140310985:	74 27                	je     0x1403109ae
140310987:	8b 4b 10             	mov    0x10(%rbx),%ecx
14031098a:	ff c9                	dec    %ecx
14031098c:	89 4b 10             	mov    %ecx,0x10(%rbx)
14031098f:	85 c9                	test   %ecx,%ecx
140310991:	7f 1b                	jg     0x1403109ae
140310993:	0f 88 c0 00 00 00    	js     0x140310a59
140310999:	48 8b 03             	mov    (%rbx),%rax
14031099c:	ba 01 00 00 00       	mov    $0x1,%edx
1403109a1:	48 8b cb             	mov    %rbx,%rcx
1403109a4:	48 8b 00             	mov    (%rax),%rax
1403109a7:	ff 15 73 30 c7 00    	call   *0xc73073(%rip)        # 0x140f83a20
1403109ad:	90                   	nop
1403109ae:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1403109b4:	49 8b d6             	mov    %r14,%rdx
1403109b7:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
1403109bc:	e8 df 21 06 00       	call   0x140372ba0
1403109c1:	4c 8b 30             	mov    (%rax),%r14
1403109c4:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1403109cb:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1403109d0:	48 8b d5             	mov    %rbp,%rdx
1403109d3:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1403109d8:	e8 e3 85 00 00       	call   0x140318fc0
1403109dd:	0f b6 d8             	movzbl %al,%ebx
1403109e0:	4d 85 f6             	test   %r14,%r14
1403109e3:	74 25                	je     0x140310a0a
1403109e5:	41 8b 4e 10          	mov    0x10(%r14),%ecx
1403109e9:	ff c9                	dec    %ecx
1403109eb:	41 89 4e 10          	mov    %ecx,0x10(%r14)
1403109ef:	85 c9                	test   %ecx,%ecx
1403109f1:	7f 17                	jg     0x140310a0a
1403109f3:	78 59                	js     0x140310a4e
1403109f5:	49 8b 06             	mov    (%r14),%rax
1403109f8:	ba 01 00 00 00       	mov    $0x1,%edx
1403109fd:	49 8b ce             	mov    %r14,%rcx
140310a00:	48 8b 00             	mov    (%rax),%rax
140310a03:	ff 15 17 30 c7 00    	call   *0xc73017(%rip)        # 0x140f83a20
140310a09:	90                   	nop
140310a0a:	83 ff 02             	cmp    $0x2,%edi
140310a0d:	75 1e                	jne    0x140310a2d
140310a0f:	40 84 f6             	test   %sil,%sil
140310a12:	74 32                	je     0x140310a46
140310a14:	84 db                	test   %bl,%bl
140310a16:	74 32                	je     0x140310a4a
140310a18:	32 c0                	xor    %al,%al
140310a1a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140310a1f:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140310a24:	48 83 c4 30          	add    $0x30,%rsp
140310a28:	41 5e                	pop    %r14
140310a2a:	5f                   	pop    %rdi
140310a2b:	5e                   	pop    %rsi
140310a2c:	c3                   	ret
140310a2d:	83 ff 01             	cmp    $0x1,%edi
140310a30:	75 0f                	jne    0x140310a41
140310a32:	40 84 f6             	test   %sil,%sil
140310a35:	74 e1                	je     0x140310a18
140310a37:	84 db                	test   %bl,%bl
140310a39:	75 dd                	jne    0x140310a18
140310a3b:	40 0f b6 c7          	movzbl %dil,%eax
140310a3f:	eb d9                	jmp    0x140310a1a
140310a41:	40 84 f6             	test   %sil,%sil
140310a44:	75 d2                	jne    0x140310a18
140310a46:	84 db                	test   %bl,%bl
140310a48:	74 ce                	je     0x140310a18
140310a4a:	b0 01                	mov    $0x1,%al
140310a4c:	eb cc                	jmp    0x140310a1a
140310a4e:	b9 02 00 00 00       	mov    $0x2,%ecx
140310a53:	e8 a8 9c 47 00       	call   0x14078a700
140310a58:	90                   	nop
140310a59:	b9 02 00 00 00       	mov    $0x2,%ecx
140310a5e:	e8 9d 9c 47 00       	call   0x14078a700
140310a63:	cc                   	int3
140310a64:	cc                   	int3
140310a65:	cc                   	int3
140310a66:	cc                   	int3
140310a67:	cc                   	int3
140310a68:	cc                   	int3
140310a69:	cc                   	int3
140310a6a:	cc                   	int3
140310a6b:	cc                   	int3
140310a6c:	cc                   	int3
140310a6d:	cc                   	int3
140310a6e:	cc                   	int3
140310a6f:	cc                   	int3
140310a70:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140310a75:	55                   	push   %rbp
140310a76:	56                   	push   %rsi
140310a77:	57                   	push   %rdi
140310a78:	41 54                	push   %r12
140310a7a:	41 55                	push   %r13
140310a7c:	41 56                	push   %r14
140310a7e:	41 57                	push   %r15
140310a80:	48 8d 6c 24 b0       	lea    -0x50(%rsp),%rbp
140310a85:	48 81 ec 50 01 00 00 	sub    $0x150,%rsp
140310a8c:	48 8b 05 6d 84 0a 01 	mov    0x10a846d(%rip),%rax        # 0x1413b8f00
140310a93:	48 33 c4             	xor    %rsp,%rax
140310a96:	48 89 45 40          	mov    %rax,0x40(%rbp)
140310a9a:	4d 8b f8             	mov    %r8,%r15
140310a9d:	4c 8b f2             	mov    %rdx,%r14
140310aa0:	4c 8b e1             	mov    %rcx,%r12
140310aa3:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140310aa8:	45 33 ed             	xor    %r13d,%r13d
140310aab:	4c 89 6d a0          	mov    %r13,-0x60(%rbp)
140310aaf:	4c 89 6d 88          	mov    %r13,-0x78(%rbp)
140310ab3:	4c 89 6d 80          	mov    %r13,-0x80(%rbp)
140310ab7:	48 8b 05 8a b5 10 01 	mov    0x110b58a(%rip),%rax        # 0x14141c048
140310abe:	48 8d b0 e8 00 00 00 	lea    0xe8(%rax),%rsi
140310ac5:	0f 57 c0             	xorps  %xmm0,%xmm0
140310ac8:	f3 0f 7f 44 24 50    	movdqu %xmm0,0x50(%rsp)
140310ace:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
140310ad3:	f3 0f 7f 44 24 68    	movdqu %xmm0,0x68(%rsp)
140310ad9:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
140310ade:	48 8b 88 68 15 00 00 	mov    0x1568(%rax),%rcx
140310ae5:	48 85 c9             	test   %rcx,%rcx
140310ae8:	74 1c                	je     0x140310b06
140310aea:	8b 41 10             	mov    0x10(%rcx),%eax
140310aed:	ff c0                	inc    %eax
140310aef:	89 41 10             	mov    %eax,0x10(%rcx)
140310af2:	83 f8 01             	cmp    $0x1,%eax
140310af5:	0f 8e d1 07 00 00    	jle    0x1403112cc
140310afb:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140310b00:	0f 84 ce 07 00 00    	je     0x1403112d4
140310b06:	4c 89 6c 24 48       	mov    %r13,0x48(%rsp)
140310b0b:	48 89 4d f8          	mov    %rcx,-0x8(%rbp)
140310b0f:	f3 0f 7f 45 20       	movdqu %xmm0,0x20(%rbp)
140310b14:	4c 89 6d 30          	mov    %r13,0x30(%rbp)
140310b18:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140310b1d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140310b22:	4c 8d 4c 24 68       	lea    0x68(%rsp),%r9
140310b27:	4c 8d 45 f8          	lea    -0x8(%rbp),%r8
140310b2b:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140310b2f:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140310b34:	e8 97 c4 39 00       	call   0x1406acfd0
140310b39:	48 8b 38             	mov    (%rax),%rdi
140310b3c:	4c 89 28             	mov    %r13,(%rax)
140310b3f:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140310b44:	4c 8b c6             	mov    %rsi,%r8
140310b47:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
140310b4c:	48 8d 4d a8          	lea    -0x58(%rbp),%rcx
140310b50:	e8 eb 47 06 00       	call   0x140375340
140310b55:	48 8b 18             	mov    (%rax),%rbx
140310b58:	4c 89 28             	mov    %r13,(%rax)
140310b5b:	48 89 5d 90          	mov    %rbx,-0x70(%rbp)
140310b5f:	4c 8b c6             	mov    %rsi,%r8
140310b62:	48 8d 55 90          	lea    -0x70(%rbp),%rdx
140310b66:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140310b6b:	e8 d0 47 06 00       	call   0x140375340
140310b70:	48 8b 30             	mov    (%rax),%rsi
140310b73:	48 89 75 a0          	mov    %rsi,-0x60(%rbp)
140310b77:	4c 89 28             	mov    %r13,(%rax)
140310b7a:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140310b7f:	48 85 c9             	test   %rcx,%rcx
140310b82:	74 24                	je     0x140310ba8
140310b84:	8b 41 10             	mov    0x10(%rcx),%eax
140310b87:	ff c8                	dec    %eax
140310b89:	89 41 10             	mov    %eax,0x10(%rcx)
140310b8c:	85 c0                	test   %eax,%eax
140310b8e:	7f 18                	jg     0x140310ba8
140310b90:	0f 88 49 07 00 00    	js     0x1403112df
140310b96:	48 8b 01             	mov    (%rcx),%rax
140310b99:	ba 01 00 00 00       	mov    $0x1,%edx
140310b9e:	48 8b 00             	mov    (%rax),%rax
140310ba1:	ff 15 79 2e c7 00    	call   *0xc72e79(%rip)        # 0x140f83a20
140310ba7:	90                   	nop
140310ba8:	48 85 db             	test   %rbx,%rbx
140310bab:	74 27                	je     0x140310bd4
140310bad:	8b 43 10             	mov    0x10(%rbx),%eax
140310bb0:	ff c8                	dec    %eax
140310bb2:	89 43 10             	mov    %eax,0x10(%rbx)
140310bb5:	85 c0                	test   %eax,%eax
140310bb7:	7f 1b                	jg     0x140310bd4
140310bb9:	0f 88 2b 07 00 00    	js     0x1403112ea
140310bbf:	48 8b 03             	mov    (%rbx),%rax
140310bc2:	ba 01 00 00 00       	mov    $0x1,%edx
140310bc7:	48 8b cb             	mov    %rbx,%rcx
140310bca:	48 8b 00             	mov    (%rax),%rax
140310bcd:	ff 15 4d 2e c7 00    	call   *0xc72e4d(%rip)        # 0x140f83a20
140310bd3:	90                   	nop
140310bd4:	48 85 ff             	test   %rdi,%rdi
140310bd7:	74 27                	je     0x140310c00
140310bd9:	8b 47 10             	mov    0x10(%rdi),%eax
140310bdc:	ff c8                	dec    %eax
140310bde:	89 47 10             	mov    %eax,0x10(%rdi)
140310be1:	85 c0                	test   %eax,%eax
140310be3:	7f 1b                	jg     0x140310c00
140310be5:	0f 88 0a 07 00 00    	js     0x1403112f5
140310beb:	48 8b 07             	mov    (%rdi),%rax
140310bee:	ba 01 00 00 00       	mov    $0x1,%edx
140310bf3:	48 8b cf             	mov    %rdi,%rcx
140310bf6:	48 8b 00             	mov    (%rax),%rax
140310bf9:	ff 15 21 2e c7 00    	call   *0xc72e21(%rip)        # 0x140f83a20
140310bff:	90                   	nop
140310c00:	49 8b 0e             	mov    (%r14),%rcx
140310c03:	48 85 c9             	test   %rcx,%rcx
140310c06:	74 1c                	je     0x140310c24
140310c08:	8b 41 10             	mov    0x10(%rcx),%eax
140310c0b:	ff c0                	inc    %eax
140310c0d:	89 41 10             	mov    %eax,0x10(%rcx)
140310c10:	83 f8 01             	cmp    $0x1,%eax
140310c13:	0f 8e e7 06 00 00    	jle    0x140311300
140310c19:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140310c1e:	0f 84 e4 06 00 00    	je     0x140311308
140310c24:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140310c29:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
140310c2e:	48 8b 05 83 b3 10 01 	mov    0x110b383(%rip),%rax        # 0x14141bfb8
140310c35:	48 8b 88 80 00 00 00 	mov    0x80(%rax),%rcx
140310c3c:	48 85 c9             	test   %rcx,%rcx
140310c3f:	74 1c                	je     0x140310c5d
140310c41:	8b 41 10             	mov    0x10(%rcx),%eax
140310c44:	ff c0                	inc    %eax
140310c46:	89 41 10             	mov    %eax,0x10(%rcx)
140310c49:	83 f8 01             	cmp    $0x1,%eax
140310c4c:	0f 8e c1 06 00 00    	jle    0x140311313
140310c52:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140310c57:	0f 84 be 06 00 00    	je     0x14031131b
140310c5d:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140310c62:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
140310c67:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
140310c6e:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140310c73:	48 8b 0d fe 21 12 01 	mov    0x11221fe(%rip),%rcx        # 0x141432e78
140310c7a:	e8 f1 e2 ef ff       	call   0x14020ef70
140310c7f:	90                   	nop
140310c80:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140310c85:	48 89 45 20          	mov    %rax,0x20(%rbp)
140310c89:	48 8d 44 24 68       	lea    0x68(%rsp),%rax
140310c8e:	48 89 45 28          	mov    %rax,0x28(%rbp)
140310c92:	0f 28 45 20          	movaps 0x20(%rbp),%xmm0
140310c96:	66 0f 7f 45 20       	movdqa %xmm0,0x20(%rbp)
140310c9b:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
140310ca0:	48 8d 55 20          	lea    0x20(%rbp),%rdx
140310ca4:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140310ca9:	e8 a2 f1 e8 ff       	call   0x14019fe50
140310cae:	48 8b d8             	mov    %rax,%rbx
140310cb1:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140310cb6:	48 8b 0d c3 a9 10 01 	mov    0x110a9c3(%rip),%rcx        # 0x14141b680
140310cbd:	4d 85 ff             	test   %r15,%r15
140310cc0:	74 04                	je     0x140310cc6
140310cc2:	4d 89 6f 60          	mov    %r13,0x60(%r15)
140310cc6:	48 8b 01             	mov    (%rcx),%rax
140310cc9:	4d 8b cf             	mov    %r15,%r9
140310ccc:	4c 8b c3             	mov    %rbx,%r8
140310ccf:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140310cd4:	48 8b 40 38          	mov    0x38(%rax),%rax
140310cd8:	ff 15 42 2d c7 00    	call   *0xc72d42(%rip)        # 0x140f83a20
140310cde:	90                   	nop
140310cdf:	48 8b cb             	mov    %rbx,%rcx
140310ce2:	e8 59 e8 e8 ff       	call   0x14019f540
140310ce7:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140310cec:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140310cf1:	48 89 5d 80          	mov    %rbx,-0x80(%rbp)
140310cf5:	4c 8d 0d f4 d7 e8 ff 	lea    -0x17280c(%rip),%r9        # 0x14019e4f0
140310cfc:	ba 08 00 00 00       	mov    $0x8,%edx
140310d01:	41 b8 03 00 00 00    	mov    $0x3,%r8d
140310d07:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140310d0c:	e8 3b a8 b0 00       	call   0x140e1b54c
140310d11:	90                   	nop
140310d12:	48 89 5d a8          	mov    %rbx,-0x58(%rbp)
140310d16:	48 85 db             	test   %rbx,%rbx
140310d19:	74 1c                	je     0x140310d37
140310d1b:	8b 43 10             	mov    0x10(%rbx),%eax
140310d1e:	ff c0                	inc    %eax
140310d20:	89 43 10             	mov    %eax,0x10(%rbx)
140310d23:	83 f8 01             	cmp    $0x1,%eax
140310d26:	0f 8e fa 05 00 00    	jle    0x140311326
140310d2c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140310d31:	0f 84 f7 05 00 00    	je     0x14031132e
140310d37:	4c 8b b3 a8 00 00 00 	mov    0xa8(%rbx),%r14
140310d3e:	41 83 7e 14 00       	cmpl   $0x0,0x14(%r14)
140310d43:	0f 8e c1 04 00 00    	jle    0x14031120a
140310d49:	0f 57 c0             	xorps  %xmm0,%xmm0
140310d4c:	0f 11 45 00          	movups %xmm0,0x0(%rbp)
140310d50:	0f 11 45 10          	movups %xmm0,0x10(%rbp)
140310d54:	49 8b 5e 50          	mov    0x50(%r14),%rbx
140310d58:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140310d5d:	48 85 db             	test   %rbx,%rbx
140310d60:	74 17                	je     0x140310d79
140310d62:	48 8b 1b             	mov    (%rbx),%rbx
140310d65:	f3 0f 7f 45 08       	movdqu %xmm0,0x8(%rbp)
140310d6a:	48 89 5d 18          	mov    %rbx,0x18(%rbp)
140310d6e:	4c 89 75 00          	mov    %r14,0x0(%rbp)
140310d72:	66 48 0f 7e c7       	movq   %xmm0,%rdi
140310d77:	eb 49                	jmp    0x140310dc2
140310d79:	49 8b 7e 40          	mov    0x40(%r14),%rdi
140310d7d:	48 85 ff             	test   %rdi,%rdi
140310d80:	74 06                	je     0x140310d88
140310d82:	41 8b 46 04          	mov    0x4(%r14),%eax
140310d86:	eb 03                	jmp    0x140310d8b
140310d88:	41 8b c5             	mov    %r13d,%eax
140310d8b:	48 98                	cltq
140310d8d:	48 c1 e0 05          	shl    $0x5,%rax
140310d91:	48 03 c7             	add    %rdi,%rax
140310d94:	48 89 7d 08          	mov    %rdi,0x8(%rbp)
140310d98:	48 89 45 10          	mov    %rax,0x10(%rbp)
140310d9c:	49 8b dd             	mov    %r13,%rbx
140310d9f:	48 89 5d 18          	mov    %rbx,0x18(%rbp)
140310da3:	4c 89 75 00          	mov    %r14,0x0(%rbp)
140310da7:	48 3b f8             	cmp    %rax,%rdi
140310daa:	74 16                	je     0x140310dc2
140310dac:	0f 1f 40 00          	nopl   0x0(%rax)
140310db0:	66 39 0f             	cmp    %cx,(%rdi)
140310db3:	75 0d                	jne    0x140310dc2
140310db5:	48 83 c7 20          	add    $0x20,%rdi
140310db9:	48 89 7d 08          	mov    %rdi,0x8(%rbp)
140310dbd:	48 3b f8             	cmp    %rax,%rdi
140310dc0:	75 ee                	jne    0x140310db0
140310dc2:	66 41 ff 46 0c       	incw   0xc(%r14)
140310dc7:	0f 57 c0             	xorps  %xmm0,%xmm0
140310dca:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
140310dce:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
140310dd2:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
140310dd6:	49 8b ce             	mov    %r14,%rcx
140310dd9:	e8 22 1d 06 00       	call   0x140372b00
140310dde:	90                   	nop
140310ddf:	90                   	nop
140310de0:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
140310de4:	4c 3b f1             	cmp    %rcx,%r14
140310de7:	75 1c                	jne    0x140310e05
140310de9:	49 83 7e 50 00       	cmpq   $0x0,0x50(%r14)
140310dee:	74 06                	je     0x140310df6
140310df0:	48 3b 5d e8          	cmp    -0x18(%rbp),%rbx
140310df4:	eb 04                	jmp    0x140310dfa
140310df6:	48 3b 7d d8          	cmp    -0x28(%rbp),%rdi
140310dfa:	0f 94 c0             	sete   %al
140310dfd:	84 c0                	test   %al,%al
140310dff:	0f 85 e6 03 00 00    	jne    0x1403111eb
140310e05:	49 83 7e 50 00       	cmpq   $0x0,0x50(%r14)
140310e0a:	74 3c                	je     0x140310e48
140310e0c:	48 8b cb             	mov    %rbx,%rcx
140310e0f:	e8 4c 16 49 00       	call   0x1407a2460
140310e14:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)