140d047c9:	ff 15 51 f2 27 00    	call   *0x27f251(%rip)        # 0x140f83a20
140d047cf:	85 c0                	test   %eax,%eax
140d047d1:	7f 0d                	jg     0x140d047e0
140d047d3:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
140d047da:	48 83 c4 20          	add    $0x20,%rsp
140d047de:	5b                   	pop    %rbx
140d047df:	c3                   	ret
140d047e0:	48 98                	cltq
140d047e2:	48 89 03             	mov    %rax,(%rbx)
140d047e5:	b8 01 00 00 00       	mov    $0x1,%eax
140d047ea:	48 83 c4 20          	add    $0x20,%rsp
140d047ee:	5b                   	pop    %rbx
140d047ef:	c3                   	ret
140d047f0:	40 53                	rex push %rbx
140d047f2:	b8 20 00 00 00       	mov    $0x20,%eax
140d047f7:	e8 a4 6c 11 00       	call   0x140e1b4a0
140d047fc:	48 2b e0             	sub    %rax,%rsp
140d047ff:	48 8b da             	mov    %rdx,%rbx
140d04802:	48 8b d1             	mov    %rcx,%rdx
140d04805:	48 8b cb             	mov    %rbx,%rcx
140d04808:	e8 57 db 13 00       	call   0x140e42364
140d0480d:	33 c9                	xor    %ecx,%ecx
140d0480f:	85 c0                	test   %eax,%eax
140d04811:	48 0f 45 d9          	cmovne %rcx,%rbx
140d04815:	48 8b c3             	mov    %rbx,%rax
140d04818:	48 83 c4 20          	add    $0x20,%rsp
140d0481c:	5b                   	pop    %rbx
140d0481d:	c3                   	ret
140d0481e:	cc                   	int3
140d0481f:	cc                   	int3
140d04820:	40 53                	rex push %rbx
140d04822:	b8 40 00 00 00       	mov    $0x40,%eax
140d04827:	e8 74 6c 11 00       	call   0x140e1b4a0
140d0482c:	48 2b e0             	sub    %rax,%rsp
140d0482f:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140d04834:	48 8b d9             	mov    %rcx,%rbx
140d04837:	4c 8d 4c 24 68       	lea    0x68(%rsp),%r9
140d0483c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140d04841:	e8 4a 02 00 00       	call   0x140d04a90
140d04846:	85 c0                	test   %eax,%eax
140d04848:	0f 84 63 01 00 00    	je     0x140d049b1
140d0484e:	44 8b 5c 24 68       	mov    0x68(%rsp),%r11d
140d04853:	b8 bd 06 6b 39       	mov    $0x396b06bd,%eax
140d04858:	41 81 c3 d9 0b 01 00 	add    $0x10bd9,%r11d
140d0485f:	42 8d 0c 9d 00 00 00 	lea    0x0(,%r11,4),%ecx
140d04866:	00
140d04867:	f7 e9                	imul   %ecx
140d04869:	44 8b ca             	mov    %edx,%r9d
140d0486c:	41 c1 f9 0f          	sar    $0xf,%r9d
140d04870:	41 8b c1             	mov    %r9d,%eax
140d04873:	c1 e8 1f             	shr    $0x1f,%eax
140d04876:	44 03 c8             	add    %eax,%r9d
140d04879:	41 69 c1 b1 3a 02 00 	imul   $0x23ab1,%r9d,%eax
140d04880:	83 c0 03             	add    $0x3,%eax
140d04883:	99                   	cltd
140d04884:	83 e2 03             	and    $0x3,%edx
140d04887:	03 c2                	add    %edx,%eax
140d04889:	c1 f8 02             	sar    $0x2,%eax
140d0488c:	f7 d8                	neg    %eax
140d0488e:	44 03 d8             	add    %eax,%r11d
140d04891:	41 8d 43 01          	lea    0x1(%r11),%eax
140d04895:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
140d0489b:	b8 dd e2 bb b7       	mov    $0xb7bbe2dd,%eax
140d048a0:	f7 e9                	imul   %ecx
140d048a2:	44 8d 04 11          	lea    (%rcx,%rdx,1),%r8d
140d048a6:	b9 1f 00 00 00       	mov    $0x1f,%ecx
140d048ab:	41 c1 f8 14          	sar    $0x14,%r8d
140d048af:	41 8b c0             	mov    %r8d,%eax
140d048b2:	c1 e8 1f             	shr    $0x1f,%eax
140d048b5:	44 03 c0             	add    %eax,%r8d
140d048b8:	41 69 c0 b5 05 00 00 	imul   $0x5b5,%r8d,%eax
140d048bf:	99                   	cltd
140d048c0:	83 e2 03             	and    $0x3,%edx
140d048c3:	03 c2                	add    %edx,%eax
140d048c5:	c1 f8 02             	sar    $0x2,%eax
140d048c8:	2b c8                	sub    %eax,%ecx
140d048ca:	b8 19 3d c8 1a       	mov    $0x1ac83d19,%eax
140d048cf:	44 03 d9             	add    %ecx,%r11d
140d048d2:	43 8d 0c 9b          	lea    (%r11,%r11,4),%ecx
140d048d6:	c1 e1 04             	shl    $0x4,%ecx
140d048d9:	f7 e9                	imul   %ecx
140d048db:	44 8b d2             	mov    %edx,%r10d
140d048de:	41 c1 fa 08          	sar    $0x8,%r10d
140d048e2:	41 8b c2             	mov    %r10d,%eax
140d048e5:	c1 e8 1f             	shr    $0x1f,%eax
140d048e8:	44 03 d0             	add    %eax,%r10d
140d048eb:	b8 67 66 66 66       	mov    $0x66666667,%eax
140d048f0:	41 69 ca 8f 09 00 00 	imul   $0x98f,%r10d,%ecx
140d048f7:	f7 e9                	imul   %ecx
140d048f9:	c1 fa 05             	sar    $0x5,%edx
140d048fc:	8b c2                	mov    %edx,%eax
140d048fe:	c1 e8 1f             	shr    $0x1f,%eax
140d04901:	03 d0                	add    %eax,%edx
140d04903:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
140d04908:	44 2b da             	sub    %edx,%r11d
140d0490b:	41 f7 ea             	imul   %r10d
140d0490e:	d1 fa                	sar    $1,%edx
140d04910:	8b c2                	mov    %edx,%eax
140d04912:	c1 e8 1f             	shr    $0x1f,%eax
140d04915:	03 d0                	add    %eax,%edx
140d04917:	41 8d 41 bc          	lea    -0x44(%r9),%eax
140d0491b:	6b c8 64             	imul   $0x64,%eax,%ecx
140d0491e:	03 ca                	add    %edx,%ecx
140d04920:	41 03 c8             	add    %r8d,%ecx
140d04923:	81 f9 a3 1f 00 00    	cmp    $0x1fa3,%ecx
140d04929:	0f 87 82 00 00 00    	ja     0x140d049b1
140d0492f:	44 8b 4c 24 30       	mov    0x30(%rsp),%r9d
140d04934:	8d 04 52             	lea    (%rdx,%rdx,2),%eax
140d04937:	c1 e0 02             	shl    $0x2,%eax
140d0493a:	44 2b d0             	sub    %eax,%r10d
140d0493d:	89 4b 14             	mov    %ecx,0x14(%rbx)
140d04940:	b8 c5 b3 a2 91       	mov    $0x91a2b3c5,%eax
140d04945:	44 89 5b 0c          	mov    %r11d,0xc(%rbx)
140d04949:	41 f7 e9             	imul   %r9d
140d0494c:	41 ff c2             	inc    %r10d
140d0494f:	41 03 d1             	add    %r9d,%edx
140d04952:	44 89 53 10          	mov    %r10d,0x10(%rbx)
140d04956:	c1 fa 0b             	sar    $0xb,%edx
140d04959:	8b c2                	mov    %edx,%eax
140d0495b:	c1 e8 1f             	shr    $0x1f,%eax
140d0495e:	03 d0                	add    %eax,%edx
140d04960:	b8 89 88 88 88       	mov    $0x88888889,%eax
140d04965:	89 53 08             	mov    %edx,0x8(%rbx)
140d04968:	41 f7 e9             	imul   %r9d
140d0496b:	b8 89 88 88 88       	mov    $0x88888889,%eax
140d04970:	45 8d 04 11          	lea    (%r9,%rdx,1),%r8d
140d04974:	41 c1 f8 05          	sar    $0x5,%r8d
140d04978:	41 8b c8             	mov    %r8d,%ecx
140d0497b:	c1 e9 1f             	shr    $0x1f,%ecx
140d0497e:	44 03 c1             	add    %ecx,%r8d
140d04981:	41 f7 e8             	imul   %r8d
140d04984:	41 8b c8             	mov    %r8d,%ecx
140d04987:	41 03 d0             	add    %r8d,%edx
140d0498a:	c1 fa 05             	sar    $0x5,%edx
140d0498d:	8b c2                	mov    %edx,%eax
140d0498f:	c1 e8 1f             	shr    $0x1f,%eax
140d04992:	03 d0                	add    %eax,%edx
140d04994:	6b c2 3c             	imul   $0x3c,%edx,%eax
140d04997:	2b c8                	sub    %eax,%ecx
140d04999:	41 6b c0 3c          	imul   $0x3c,%r8d,%eax
140d0499d:	89 4b 04             	mov    %ecx,0x4(%rbx)
140d049a0:	44 2b c8             	sub    %eax,%r9d
140d049a3:	b8 01 00 00 00       	mov    $0x1,%eax
140d049a8:	44 89 0b             	mov    %r9d,(%rbx)
140d049ab:	48 83 c4 40          	add    $0x40,%rsp
140d049af:	5b                   	pop    %rbx
140d049b0:	c3                   	ret
140d049b1:	33 c0                	xor    %eax,%eax
140d049b3:	48 83 c4 40          	add    $0x40,%rsp
140d049b7:	5b                   	pop    %rbx
140d049b8:	c3                   	ret
140d049b9:	cc                   	int3
140d049ba:	cc                   	int3
140d049bb:	cc                   	int3
140d049bc:	cc                   	int3
140d049bd:	cc                   	int3
140d049be:	cc                   	int3
140d049bf:	cc                   	int3
140d049c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d049c5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140d049ca:	57                   	push   %rdi
140d049cb:	b8 40 00 00 00       	mov    $0x40,%eax
140d049d0:	e8 cb 6a 11 00       	call   0x140e1b4a0
140d049d5:	48 2b e0             	sub    %rax,%rsp
140d049d8:	48 8b f9             	mov    %rcx,%rdi
140d049db:	49 8b c0             	mov    %r8,%rax
140d049de:	48 8d 4c 24 3c       	lea    0x3c(%rsp),%rcx
140d049e3:	49 8b f1             	mov    %r9,%rsi
140d049e6:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140d049eb:	4c 8d 4c 24 34       	lea    0x34(%rsp),%r9
140d049f0:	48 8b da             	mov    %rdx,%rbx
140d049f3:	48 8b c8             	mov    %rax,%rcx
140d049f6:	45 33 c0             	xor    %r8d,%r8d
140d049f9:	33 d2                	xor    %edx,%edx
140d049fb:	e8 90 00 00 00       	call   0x140d04a90
140d04a00:	85 c0                	test   %eax,%eax
140d04a02:	74 71                	je     0x140d04a75
140d04a04:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
140d04a09:	45 33 c0             	xor    %r8d,%r8d
140d04a0c:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
140d04a11:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140d04a16:	33 d2                	xor    %edx,%edx
140d04a18:	48 8b ce             	mov    %rsi,%rcx
140d04a1b:	e8 70 00 00 00       	call   0x140d04a90
140d04a20:	85 c0                	test   %eax,%eax
140d04a22:	74 51                	je     0x140d04a75
140d04a24:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140d04a28:	8b 44 24 38          	mov    0x38(%rsp),%eax
140d04a2c:	2b 4c 24 34          	sub    0x34(%rsp),%ecx
140d04a30:	2b 44 24 3c          	sub    0x3c(%rsp),%eax
140d04a34:	85 c9                	test   %ecx,%ecx
140d04a36:	7e 0d                	jle    0x140d04a45
140d04a38:	85 c0                	test   %eax,%eax
140d04a3a:	79 16                	jns    0x140d04a52
140d04a3c:	ff c9                	dec    %ecx
140d04a3e:	05 80 51 01 00       	add    $0x15180,%eax
140d04a43:	85 c9                	test   %ecx,%ecx
140d04a45:	79 0b                	jns    0x140d04a52
140d04a47:	85 c0                	test   %eax,%eax
140d04a49:	7e 07                	jle    0x140d04a52
140d04a4b:	ff c1                	inc    %ecx
140d04a4d:	2d 80 51 01 00       	sub    $0x15180,%eax
140d04a52:	48 85 ff             	test   %rdi,%rdi
140d04a55:	74 02                	je     0x140d04a59
140d04a57:	89 0f                	mov    %ecx,(%rdi)
140d04a59:	48 85 db             	test   %rbx,%rbx
140d04a5c:	74 02                	je     0x140d04a60
140d04a5e:	89 03                	mov    %eax,(%rbx)
140d04a60:	b8 01 00 00 00       	mov    $0x1,%eax
140d04a65:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140d04a6a:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d04a6f:	48 83 c4 40          	add    $0x40,%rsp
140d04a73:	5f                   	pop    %rdi
140d04a74:	c3                   	ret
140d04a75:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140d04a7a:	33 c0                	xor    %eax,%eax
140d04a7c:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140d04a81:	48 83 c4 40          	add    $0x40,%rsp
140d04a85:	5f                   	pop    %rdi
140d04a86:	c3                   	ret
140d04a87:	cc                   	int3
140d04a88:	cc                   	int3
140d04a89:	cc                   	int3
140d04a8a:	cc                   	int3
140d04a8b:	cc                   	int3
140d04a8c:	cc                   	int3
140d04a8d:	cc                   	int3
140d04a8e:	cc                   	int3
140d04a8f:	cc                   	int3
140d04a90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d04a95:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140d04a9a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140d04a9f:	44 8b d2             	mov    %edx,%r10d
140d04aa2:	b8 07 45 2e c2       	mov    $0xc22e4507,%eax
140d04aa7:	41 f7 e8             	imul   %r8d
140d04aaa:	48 8b f9             	mov    %rcx,%rdi
140d04aad:	41 8b d8             	mov    %r8d,%ebx
140d04ab0:	49 8b f1             	mov    %r9,%rsi
140d04ab3:	45 8d 1c 10          	lea    (%r8,%rdx,1),%r11d
140d04ab7:	41 c1 fb 10          	sar    $0x10,%r11d
140d04abb:	41 8b c3             	mov    %r11d,%eax
140d04abe:	c1 e8 1f             	shr    $0x1f,%eax
140d04ac1:	44 03 d8             	add    %eax,%r11d
140d04ac4:	41 69 c3 80 51 01 00 	imul   $0x15180,%r11d,%eax
140d04acb:	45 03 da             	add    %r10d,%r11d
140d04ace:	2b d8                	sub    %eax,%ebx
140d04ad0:	6b 41 08 3c          	imul   $0x3c,0x8(%rcx),%eax
140d04ad4:	03 41 04             	add    0x4(%rcx),%eax
140d04ad7:	6b c8 3c             	imul   $0x3c,%eax,%ecx
140d04ada:	03 0f                	add    (%rdi),%ecx
140d04adc:	03 d9                	add    %ecx,%ebx
140d04ade:	81 fb 80 51 01 00    	cmp    $0x15180,%ebx
140d04ae4:	7c 0b                	jl     0x140d04af1
140d04ae6:	41 ff c3             	inc    %r11d
140d04ae9:	81 eb 80 51 01 00    	sub    $0x15180,%ebx
140d04aef:	eb 0d                	jmp    0x140d04afe
140d04af1:	85 db                	test   %ebx,%ebx
140d04af3:	79 09                	jns    0x140d04afe
140d04af5:	41 ff cb             	dec    %r11d
140d04af8:	81 c3 80 51 01 00    	add    $0x15180,%ebx
140d04afe:	44 8b 47 10          	mov    0x10(%rdi),%r8d
140d04b02:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
140d04b07:	44 8b 4f 14          	mov    0x14(%rdi),%r9d
140d04b0b:	41 ff c0             	inc    %r8d
140d04b0e:	41 8d 48 f2          	lea    -0xe(%r8),%ecx
140d04b12:	f7 e9                	imul   %ecx
140d04b14:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
140d04b19:	d1 fa                	sar    $1,%edx
140d04b1b:	8b ca                	mov    %edx,%ecx
140d04b1d:	c1 e9 1f             	shr    $0x1f,%ecx
140d04b20:	03 d1                	add    %ecx,%edx
140d04b22:	44 03 ca             	add    %edx,%r9d
140d04b25:	8d 0c 52             	lea    (%rdx,%rdx,2),%ecx
140d04b28:	c1 e1 02             	shl    $0x2,%ecx
140d04b2b:	44 2b c1             	sub    %ecx,%r8d
140d04b2e:	41 83 e8 02          	sub    $0x2,%r8d
140d04b32:	41 69 c8 6f 01 00 00 	imul   $0x16f,%r8d,%ecx
140d04b39:	f7 e9                	imul   %ecx
140d04b3b:	41 8d 89 90 1a 00 00 	lea    0x1a90(%r9),%ecx
140d04b42:	44 8b c2             	mov    %edx,%r8d
140d04b45:	41 d1 f8             	sar    $1,%r8d
140d04b48:	41 8b c0             	mov    %r8d,%eax
140d04b4b:	c1 e8 1f             	shr    $0x1f,%eax
140d04b4e:	44 03 c0             	add    %eax,%r8d
140d04b51:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140d04b56:	f7 e9                	imul   %ecx
140d04b58:	c1 fa 05             	sar    $0x5,%edx
140d04b5b:	8b c2                	mov    %edx,%eax
140d04b5d:	c1 e8 1f             	shr    $0x1f,%eax
140d04b60:	03 d0                	add    %eax,%edx
140d04b62:	8d 04 52             	lea    (%rdx,%rdx,2),%eax
140d04b65:	99                   	cltd
140d04b66:	83 e2 03             	and    $0x3,%edx
140d04b69:	03 c2                	add    %edx,%eax
140d04b6b:	c1 f8 02             	sar    $0x2,%eax
140d04b6e:	44 2b c0             	sub    %eax,%r8d
140d04b71:	41 8d 81 2c 1a 00 00 	lea    0x1a2c(%r9),%eax
140d04b78:	69 c0 b5 05 00 00    	imul   $0x5b5,%eax,%eax
140d04b7e:	99                   	cltd
140d04b7f:	83 e2 03             	and    $0x3,%edx
140d04b82:	03 c2                	add    %edx,%eax
140d04b84:	c1 f8 02             	sar    $0x2,%eax
140d04b87:	05 b5 82 ff ff       	add    $0xffff82b5,%eax
140d04b8c:	41 03 c0             	add    %r8d,%eax
140d04b8f:	03 47 0c             	add    0xc(%rdi),%eax
140d04b92:	41 03 c3             	add    %r11d,%eax
140d04b95:	79 12                	jns    0x140d04ba9
140d04b97:	33 c0                	xor    %eax,%eax
140d04b99:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140d04b9e:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140d04ba3:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140d04ba8:	c3                   	ret
140d04ba9:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140d04bae:	89 06                	mov    %eax,(%rsi)
140d04bb0:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140d04bb5:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
140d04bba:	89 18                	mov    %ebx,(%rax)
140d04bbc:	b8 01 00 00 00       	mov    $0x1,%eax
140d04bc1:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140d04bc6:	c3                   	ret
140d04bc7:	cc                   	int3
140d04bc8:	cc                   	int3
140d04bc9:	cc                   	int3
140d04bca:	cc                   	int3
140d04bcb:	cc                   	int3
140d04bcc:	cc                   	int3
140d04bcd:	cc                   	int3
140d04bce:	cc                   	int3
140d04bcf:	cc                   	int3
140d04bd0:	40 53                	rex push %rbx
140d04bd2:	55                   	push   %rbp
140d04bd3:	56                   	push   %rsi
140d04bd4:	57                   	push   %rdi
140d04bd5:	b8 78 00 00 00       	mov    $0x78,%eax
140d04bda:	e8 c1 68 11 00       	call   0x140e1b4a0
140d04bdf:	48 2b e0             	sub    %rax,%rsp
140d04be2:	48 8b 05 17 43 6b 00 	mov    0x6b4317(%rip),%rax        # 0x1413b8f00
140d04be9:	48 33 c4             	xor    %rsp,%rax
140d04bec:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140d04bf1:	48 8b e9             	mov    %rcx,%rbp
140d04bf4:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
140d04bf9:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140d04bfe:	41 8b f1             	mov    %r9d,%esi
140d04c01:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140d04c06:	41 8b f8             	mov    %r8d,%edi
140d04c09:	e8 e2 fb ff ff       	call   0x140d047f0
140d04c0e:	48 8b d8             	mov    %rax,%rbx
140d04c11:	48 85 c0             	test   %rax,%rax
140d04c14:	75 24                	jne    0x140d04c3a
140d04c16:	ba d9 00 00 00       	mov    $0xd9,%edx