14005186c:	cc                   	int3
14005186d:	cc                   	int3
14005186e:	cc                   	int3
14005186f:	cc                   	int3
140051870:	41 57                	push   %r15
140051872:	41 56                	push   %r14
140051874:	56                   	push   %rsi
140051875:	57                   	push   %rdi
140051876:	53                   	push   %rbx
140051877:	48 83 ec 20          	sub    $0x20,%rsp
14005187b:	48 89 ce             	mov    %rcx,%rsi
14005187e:	49 bf f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%r15
140051885:	ff ff 7f
140051888:	48 8b 7a 08          	mov    0x8(%rdx),%rdi
14005188c:	4c 39 ff             	cmp    %r15,%rdi
14005188f:	0f 87 81 00 00 00    	ja     0x140051916
140051895:	48 8b 1a             	mov    (%rdx),%rbx
140051898:	48 83 ff 16          	cmp    $0x16,%rdi
14005189c:	77 3e                	ja     0x1400518dc
14005189e:	40 88 7e 17          	mov    %dil,0x17(%rsi)
1400518a2:	48 89 f1             	mov    %rsi,%rcx
1400518a5:	4c 8d 34 39          	lea    (%rcx,%rdi,1),%r14
1400518a9:	48 39 cb             	cmp    %rcx,%rbx
1400518ac:	0f 92 c0             	setb   %al
1400518af:	4c 39 f3             	cmp    %r14,%rbx
1400518b2:	0f 93 c2             	setae  %dl
1400518b5:	08 c2                	or     %al,%dl
1400518b7:	74 5b                	je     0x140051914
1400518b9:	48 85 ff             	test   %rdi,%rdi
1400518bc:	74 0b                	je     0x1400518c9
1400518be:	48 89 da             	mov    %rbx,%rdx
1400518c1:	49 89 f8             	mov    %rdi,%r8
1400518c4:	e8 a7 c2 04 00       	call   0x14009db70
1400518c9:	41 c6 06 00          	movb   $0x0,(%r14)
1400518cd:	48 89 f0             	mov    %rsi,%rax
1400518d0:	48 83 c4 20          	add    $0x20,%rsp
1400518d4:	5b                   	pop    %rbx
1400518d5:	5f                   	pop    %rdi
1400518d6:	5e                   	pop    %rsi
1400518d7:	41 5e                	pop    %r14
1400518d9:	41 5f                	pop    %r15
1400518db:	c3                   	ret
1400518dc:	48 89 f8             	mov    %rdi,%rax
1400518df:	48 83 c8 07          	or     $0x7,%rax
1400518e3:	48 8d 48 01          	lea    0x1(%rax),%rcx
1400518e7:	48 83 f8 17          	cmp    $0x17,%rax
1400518eb:	41 be 19 00 00 00    	mov    $0x19,%r14d
1400518f1:	4c 0f 45 f1          	cmovne %rcx,%r14
1400518f5:	4c 89 f1             	mov    %r14,%rcx
1400518f8:	e8 97 c5 01 00       	call   0x14006de94
1400518fd:	48 89 c1             	mov    %rax,%rcx
140051900:	48 89 06             	mov    %rax,(%rsi)
140051903:	49 83 c7 09          	add    $0x9,%r15
140051907:	4d 09 f7             	or     %r14,%r15
14005190a:	4c 89 7e 10          	mov    %r15,0x10(%rsi)
14005190e:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140051912:	eb 91                	jmp    0x1400518a5
140051914:	0f 0b                	ud2
140051916:	48 89 f1             	mov    %rsi,%rcx
140051919:	e8 22 da 04 00       	call   0x14009f340
14005191e:	cc                   	int3
14005191f:	cc                   	int3
140051920:	41 57                	push   %r15
140051922:	41 56                	push   %r14
140051924:	41 55                	push   %r13
140051926:	41 54                	push   %r12
140051928:	56                   	push   %rsi
140051929:	57                   	push   %rdi
14005192a:	55                   	push   %rbp
14005192b:	53                   	push   %rbx
14005192c:	48 83 ec 28          	sub    $0x28,%rsp
140051930:	48 89 ce             	mov    %rcx,%rsi
140051933:	48 c7 41 58 00 00 00 	movq   $0x0,0x58(%rcx)
14005193a:	00
14005193b:	48 8d 79 40          	lea    0x40(%rcx),%rdi
14005193f:	48 0f be 49 57       	movsbq 0x57(%rcx),%rcx
140051944:	48 85 c9             	test   %rcx,%rcx
140051947:	0f 88 aa 01 00 00    	js     0x140051af7
14005194d:	49 89 fd             	mov    %rdi,%r13
140051950:	48 89 cd             	mov    %rcx,%rbp
140051953:	8b 46 60             	mov    0x60(%rsi),%eax
140051956:	a8 08                	test   $0x8,%al
140051958:	74 1f                	je     0x140051979
14005195a:	4c 89 ea             	mov    %r13,%rdx
14005195d:	48 01 ea             	add    %rbp,%rdx
140051960:	48 89 56 58          	mov    %rdx,0x58(%rsi)
140051964:	48 85 ed             	test   %rbp,%rbp
140051967:	0f 88 88 01 00 00    	js     0x140051af5
14005196d:	4c 89 6e 10          	mov    %r13,0x10(%rsi)
140051971:	4c 89 6e 18          	mov    %r13,0x18(%rsi)
140051975:	48 89 56 20          	mov    %rdx,0x20(%rsi)
140051979:	a8 10                	test   $0x10,%al
14005197b:	0f 84 11 01 00 00    	je     0x140051a92
140051981:	4c 89 e8             	mov    %r13,%rax
140051984:	48 01 e8             	add    %rbp,%rax
140051987:	48 89 46 58          	mov    %rax,0x58(%rsi)
14005198b:	b8 16 00 00 00       	mov    $0x16,%eax
140051990:	84 c9                	test   %cl,%cl
140051992:	0f 88 e5 01 00 00    	js     0x140051b7d
140051998:	0f b6 d9             	movzbl %cl,%ebx
14005199b:	49 89 c6             	mov    %rax,%r14
14005199e:	49 29 de             	sub    %rbx,%r14
1400519a1:	0f 86 01 01 00 00    	jbe    0x140051aa8
1400519a7:	b9 16 00 00 00       	mov    $0x16,%ecx
1400519ac:	ba 16 00 00 00       	mov    $0x16,%edx
1400519b1:	48 29 da             	sub    %rbx,%rdx
1400519b4:	4c 39 f2             	cmp    %r14,%rdx
1400519b7:	0f 83 e6 00 00 00    	jae    0x140051aa3
1400519bd:	48 ba ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdx
1400519c4:	ff ff 7f
1400519c7:	4c 8d 04 10          	lea    (%rax,%rdx,1),%r8
1400519cb:	49 83 c0 09          	add    $0x9,%r8
1400519cf:	48 83 c2 1f          	add    $0x1f,%rdx
1400519d3:	49 39 d0             	cmp    %rdx,%r8
1400519d6:	0f 82 28 01 00 00    	jb     0x140051b04
1400519dc:	48 8d 14 09          	lea    (%rcx,%rcx,1),%rdx
1400519e0:	48 39 d0             	cmp    %rdx,%rax
1400519e3:	48 0f 47 d0          	cmova  %rax,%rdx
1400519e7:	48 89 d0             	mov    %rdx,%rax
1400519ea:	48 83 c8 07          	or     $0x7,%rax
1400519ee:	4c 8d 40 01          	lea    0x1(%rax),%r8
1400519f2:	48 83 f8 17          	cmp    $0x17,%rax
1400519f6:	b8 19 00 00 00       	mov    $0x19,%eax
1400519fb:	49 0f 45 c0          	cmovne %r8,%rax
1400519ff:	48 83 fa 17          	cmp    $0x17,%rdx
140051a03:	41 bf 17 00 00 00    	mov    $0x17,%r15d
140051a09:	4c 0f 43 f8          	cmovae %rax,%r15
140051a0d:	48 83 f9 16          	cmp    $0x16,%rcx
140051a11:	0f 94 c0             	sete   %al
140051a14:	89 44 24 24          	mov    %eax,0x24(%rsp)
140051a18:	4c 89 f9             	mov    %r15,%rcx
140051a1b:	e8 74 c4 01 00       	call   0x14006de94
140051a20:	49 89 c4             	mov    %rax,%r12
140051a23:	48 85 db             	test   %rbx,%rbx
140051a26:	0f 85 9b 00 00 00    	jne    0x140051ac7
140051a2c:	80 7c 24 24 00       	cmpb   $0x0,0x24(%rsp)
140051a31:	0f 84 83 00 00 00    	je     0x140051aba
140051a37:	4c 89 66 40          	mov    %r12,0x40(%rsi)
140051a3b:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140051a42:	ff ff 7f
140051a45:	48 ff c0             	inc    %rax
140051a48:	49 09 c7             	or     %rax,%r15
140051a4b:	4c 89 7e 50          	mov    %r15,0x50(%rsi)
140051a4f:	48 89 5e 48          	mov    %rbx,0x48(%rsi)
140051a53:	49 8d 0c 1c          	lea    (%r12,%rbx,1),%rcx
140051a57:	31 d2                	xor    %edx,%edx
140051a59:	4d 89 f0             	mov    %r14,%r8
140051a5c:	e8 af c7 04 00       	call   0x14009e210
140051a61:	4c 01 f3             	add    %r14,%rbx
140051a64:	80 7e 57 00          	cmpb   $0x0,0x57(%rsi)
140051a68:	79 47                	jns    0x140051ab1
140051a6a:	48 89 5e 48          	mov    %rbx,0x48(%rsi)
140051a6e:	41 c6 04 1c 00       	movb   $0x0,(%r12,%rbx,1)
140051a73:	48 0f be 46 57       	movsbq 0x57(%rsi),%rax
140051a78:	48 85 c0             	test   %rax,%rax
140051a7b:	78 6f                	js     0x140051aec
140051a7d:	4c 01 e8             	add    %r13,%rax
140051a80:	4c 89 6e 30          	mov    %r13,0x30(%rsi)
140051a84:	4c 89 6e 28          	mov    %r13,0x28(%rsi)
140051a88:	48 89 46 38          	mov    %rax,0x38(%rsi)
140051a8c:	f6 46 60 03          	testb  $0x3,0x60(%rsi)
140051a90:	75 7a                	jne    0x140051b0c
140051a92:	48 83 c4 28          	add    $0x28,%rsp
140051a96:	5b                   	pop    %rbx
140051a97:	5d                   	pop    %rbp
140051a98:	5f                   	pop    %rdi
140051a99:	5e                   	pop    %rsi
140051a9a:	41 5c                	pop    %r12
140051a9c:	41 5d                	pop    %r13
140051a9e:	41 5e                	pop    %r14
140051aa0:	41 5f                	pop    %r15
140051aa2:	c3                   	ret
140051aa3:	49 89 fc             	mov    %rdi,%r12
140051aa6:	eb ab                	jmp    0x140051a53
140051aa8:	88 46 57             	mov    %al,0x57(%rsi)
140051aab:	c6 04 07 00          	movb   $0x0,(%rdi,%rax,1)
140051aaf:	eb c2                	jmp    0x140051a73
140051ab1:	89 d8                	mov    %ebx,%eax
140051ab3:	24 7f                	and    $0x7f,%al
140051ab5:	88 46 57             	mov    %al,0x57(%rsi)
140051ab8:	eb b4                	jmp    0x140051a6e
140051aba:	48 89 f9             	mov    %rdi,%rcx
140051abd:	e8 0e c4 01 00       	call   0x14006ded0
140051ac2:	e9 70 ff ff ff       	jmp    0x140051a37
140051ac7:	78 2c                	js     0x140051af5
140051ac9:	4c 39 e7             	cmp    %r12,%rdi
140051acc:	72 0b                	jb     0x140051ad9
140051ace:	4c 89 e0             	mov    %r12,%rax
140051ad1:	48 01 d8             	add    %rbx,%rax
140051ad4:	48 39 c7             	cmp    %rax,%rdi
140051ad7:	72 1c                	jb     0x140051af5
140051ad9:	4c 89 e1             	mov    %r12,%rcx
140051adc:	48 89 fa             	mov    %rdi,%rdx
140051adf:	49 89 d8             	mov    %rbx,%r8
140051ae2:	e8 89 c0 04 00       	call   0x14009db70
140051ae7:	e9 40 ff ff ff       	jmp    0x140051a2c
140051aec:	48 8b 46 48          	mov    0x48(%rsi),%rax
140051af0:	48 85 c0             	test   %rax,%rax
140051af3:	79 88                	jns    0x140051a7d
140051af5:	0f 0b                	ud2
140051af7:	4c 8b 6e 40          	mov    0x40(%rsi),%r13
140051afb:	48 8b 6e 48          	mov    0x48(%rsi),%rbp
140051aff:	e9 4f fe ff ff       	jmp    0x140051953
140051b04:	48 89 f9             	mov    %rdi,%rcx
140051b07:	e8 34 d8 04 00       	call   0x14009f340
140051b0c:	48 89 e8             	mov    %rbp,%rax
140051b0f:	48 c1 e8 1f          	shr    $0x1f,%rax
140051b13:	74 46                	je     0x140051b5b
140051b15:	48 8d 8d 00 00 00 80 	lea    -0x80000000(%rbp),%rcx
140051b1c:	48 ba 05 00 00 00 02 	movabs $0x200000005,%rdx
140051b23:	00 00 00
140051b26:	48 89 c8             	mov    %rcx,%rax
140051b29:	48 f7 e2             	mul    %rdx
140051b2c:	48 29 d1             	sub    %rdx,%rcx
140051b2f:	48 d1 e9             	shr    $1,%rcx
140051b32:	48 01 d1             	add    %rdx,%rcx
140051b35:	48 c1 e9 1e          	shr    $0x1e,%rcx
140051b39:	48 89 c8             	mov    %rcx,%rax
140051b3c:	48 c1 e0 1f          	shl    $0x1f,%rax
140051b40:	48 29 c8             	sub    %rcx,%rax
140051b43:	49 01 c5             	add    %rax,%r13
140051b46:	49 81 c5 ff ff ff 7f 	add    $0x7fffffff,%r13
140051b4d:	48 29 c5             	sub    %rax,%rbp
140051b50:	48 81 c5 01 00 00 80 	add    $0xffffffff80000001,%rbp
140051b57:	4c 89 6e 30          	mov    %r13,0x30(%rsi)
140051b5b:	48 85 ed             	test   %rbp,%rbp
140051b5e:	0f 84 2e ff ff ff    	je     0x140051a92
140051b64:	49 01 ed             	add    %rbp,%r13
140051b67:	4c 89 6e 30          	mov    %r13,0x30(%rsi)
140051b6b:	e9 22 ff ff ff       	jmp    0x140051a92
140051b70:	48 8b 7e 40          	mov    0x40(%rsi),%rdi
140051b74:	48 89 46 48          	mov    %rax,0x48(%rsi)
140051b78:	e9 2e ff ff ff       	jmp    0x140051aab
140051b7d:	48 8b 4e 50          	mov    0x50(%rsi),%rcx
140051b81:	48 89 ca             	mov    %rcx,%rdx
140051b84:	48 0f ba f2 3f       	btr    $0x3f,%rdx
140051b89:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
140051b8d:	48 85 c9             	test   %rcx,%rcx
140051b90:	79 6e                	jns    0x140051c00
140051b92:	48 8b 5e 48          	mov    0x48(%rsi),%rbx
140051b96:	49 89 c6             	mov    %rax,%r14
140051b99:	49 29 de             	sub    %rbx,%r14
140051b9c:	76 d2                	jbe    0x140051b70
140051b9e:	49 bf ff ff ff ff ff 	movabs $0x7fffffffffffffff,%r15
140051ba5:	ff ff 7f
140051ba8:	4c 8b 4e 50          	mov    0x50(%rsi),%r9
140051bac:	4d 89 c8             	mov    %r9,%r8
140051baf:	4d 21 f8             	and    %r15,%r8
140051bb2:	49 8d 48 ff          	lea    -0x1(%r8),%rcx
140051bb6:	49 89 ca             	mov    %rcx,%r10
140051bb9:	49 29 da             	sub    %rbx,%r10
140051bbc:	4d 39 f2             	cmp    %r14,%r10
140051bbf:	73 2e                	jae    0x140051bef
140051bc1:	4c 29 c2             	sub    %r8,%rdx
140051bc4:	4d 89 f9             	mov    %r15,%r9
140051bc7:	4d 29 c1             	sub    %r8,%r9
140051bca:	49 83 c1 f9          	add    $0xfffffffffffffff9,%r9
140051bce:	4c 39 ca             	cmp    %r9,%rdx
140051bd1:	0f 87 2d ff ff ff    	ja     0x140051b04
140051bd7:	48 8b 3f             	mov    (%rdi),%rdi
140051bda:	48 ba f2 ff ff ff ff 	movabs $0x3ffffffffffffff2,%rdx
140051be1:	ff ff 3f
140051be4:	48 39 d1             	cmp    %rdx,%rcx
140051be7:	0f 86 ef fd ff ff    	jbe    0x1400519dc
140051bed:	eb 1a                	jmp    0x140051c09
140051bef:	4d 85 c9             	test   %r9,%r9
140051bf2:	0f 89 ab fe ff ff    	jns    0x140051aa3
140051bf8:	4c 8b 27             	mov    (%rdi),%r12
140051bfb:	e9 53 fe ff ff       	jmp    0x140051a53
140051c00:	48 c1 e9 38          	shr    $0x38,%rcx
140051c04:	e9 8f fd ff ff       	jmp    0x140051998
140051c09:	49 83 c7 f8          	add    $0xfffffffffffffff8,%r15
140051c0d:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%rsp)
140051c14:	00
140051c15:	e9 fe fd ff ff       	jmp    0x140051a18
140051c1a:	cc                   	int3
140051c1b:	cc                   	int3
140051c1c:	cc                   	int3
140051c1d:	cc                   	int3
140051c1e:	cc                   	int3
140051c1f:	cc                   	int3
140051c20:	41 57                	push   %r15
140051c22:	41 56                	push   %r14
140051c24:	41 54                	push   %r12
140051c26:	56                   	push   %rsi
140051c27:	57                   	push   %rdi
140051c28:	53                   	push   %rbx
140051c29:	48 83 ec 28          	sub    $0x28,%rsp
140051c2d:	48 89 ce             	mov    %rcx,%rsi
140051c30:	49 bc f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%r12
140051c37:	ff ff 7f
140051c3a:	4c 39 e2             	cmp    %r12,%rdx
140051c3d:	77 73                	ja     0x140051cb2
140051c3f:	44 89 c3             	mov    %r8d,%ebx
140051c42:	48 89 d7             	mov    %rdx,%rdi
140051c45:	48 83 fa 17          	cmp    $0x17,%rdx
140051c49:	73 2f                	jae    0x140051c7a
140051c4b:	40 88 7e 17          	mov    %dil,0x17(%rsi)
140051c4f:	49 89 f6             	mov    %rsi,%r14
140051c52:	48 85 ff             	test   %rdi,%rdi
140051c55:	74 0d                	je     0x140051c64
140051c57:	4c 89 f1             	mov    %r14,%rcx
140051c5a:	89 da                	mov    %ebx,%edx
140051c5c:	49 89 f8             	mov    %rdi,%r8
140051c5f:	e8 ac c5 04 00       	call   0x14009e210
140051c64:	41 c6 04 3e 00       	movb   $0x0,(%r14,%rdi,1)
140051c69:	48 89 f0             	mov    %rsi,%rax
140051c6c:	48 83 c4 28          	add    $0x28,%rsp
140051c70:	5b                   	pop    %rbx
140051c71:	5f                   	pop    %rdi
140051c72:	5e                   	pop    %rsi
140051c73:	41 5c                	pop    %r12
140051c75:	41 5e                	pop    %r14
140051c77:	41 5f                	pop    %r15
140051c79:	c3                   	ret
140051c7a:	48 89 f8             	mov    %rdi,%rax
140051c7d:	48 83 c8 07          	or     $0x7,%rax
140051c81:	48 8d 48 01          	lea    0x1(%rax),%rcx
140051c85:	48 83 f8 17          	cmp    $0x17,%rax
140051c89:	41 bf 19 00 00 00    	mov    $0x19,%r15d
140051c8f:	4c 0f 45 f9          	cmovne %rcx,%r15
140051c93:	4c 89 f9             	mov    %r15,%rcx
140051c96:	e8 f9 c1 01 00       	call   0x14006de94
140051c9b:	49 89 c6             	mov    %rax,%r14
140051c9e:	48 89 06             	mov    %rax,(%rsi)
140051ca1:	49 83 c4 09          	add    $0x9,%r12
140051ca5:	4d 09 fc             	or     %r15,%r12
140051ca8:	4c 89 66 10          	mov    %r12,0x10(%rsi)
140051cac:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140051cb0:	eb a5                	jmp    0x140051c57
140051cb2:	48 89 f1             	mov    %rsi,%rcx
140051cb5:	e8 86 d6 04 00       	call   0x14009f340
140051cba:	cc                   	int3
140051cbb:	cc                   	int3
140051cbc:	cc                   	int3
140051cbd:	cc                   	int3
140051cbe:	cc                   	int3
140051cbf:	cc                   	int3
140051cc0:	41 56                	push   %r14
140051cc2:	56                   	push   %rsi
140051cc3:	57                   	push   %rdi
140051cc4:	53                   	push   %rbx
140051cc5:	48 83 ec 38          	sub    $0x38,%rsp
140051cc9:	48 8b 05 70 f3 0a 00 	mov    0xaf370(%rip),%rax        # 0x140101040
140051cd0:	48 31 e0             	xor    %rsp,%rax
140051cd3:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140051cd8:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
140051cdc:	48 85 db             	test   %rbx,%rbx
140051cdf:	74 2e                	je     0x140051d0f
140051ce1:	48 89 d7             	mov    %rdx,%rdi