14015092d:	4c 8b 05 8c f7 2b 00 	mov    0x2bf78c(%rip),%r8        # 0x1404100c0
140150934:	48 8b 45 a7          	mov    -0x59(%rbp),%rax
140150938:	48 99                	cqto
14015093a:	49 f7 f8             	idiv   %r8
14015093d:	48 89 45 07          	mov    %rax,0x7(%rbp)
140150941:	48 8b 45 a7          	mov    -0x59(%rbp),%rax
140150945:	48 99                	cqto
140150947:	49 f7 f8             	idiv   %r8
14015094a:	48 69 c2 40 42 0f 00 	imul   $0xf4240,%rdx,%rax
140150951:	48 99                	cqto
140150953:	49 f7 f8             	idiv   %r8
140150956:	eb 26                	jmp    0x14015097e
140150958:	ff 15 22 8b 1d 00    	call   *0x1d8b22(%rip)        # 0x140329480
14015095e:	8b c8                	mov    %eax,%ecx
140150960:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
140150965:	f7 e1                	mul    %ecx
140150967:	c1 ea 06             	shr    $0x6,%edx
14015096a:	8b c2                	mov    %edx,%eax
14015096c:	48 89 45 07          	mov    %rax,0x7(%rbp)
140150970:	69 c2 e8 03 00 00    	imul   $0x3e8,%edx,%eax
140150976:	2b c8                	sub    %eax,%ecx
140150978:	69 c1 e8 03 00 00    	imul   $0x3e8,%ecx,%eax
14015097e:	89 45 0f             	mov    %eax,0xf(%rbp)
140150981:	4c 8d 4d c7          	lea    -0x39(%rbp),%r9
140150985:	0f 10 45 07          	movups 0x7(%rbp),%xmm0
140150989:	45 8b c4             	mov    %r12d,%r8d
14015098c:	49 8b d7             	mov    %r15,%rdx
14015098f:	48 8b cb             	mov    %rbx,%rcx
140150992:	0f 11 07             	movups %xmm0,(%rdi)
140150995:	e8 26 5c 01 00       	call   0x1401665c0
14015099a:	84 c0                	test   %al,%al
14015099c:	74 07                	je     0x1401509a5
14015099e:	b8 01 00 00 00       	mov    $0x1,%eax
1401509a3:	eb 12                	jmp    0x1401509b7
1401509a5:	48 8d 15 c4 b0 1e 00 	lea    0x1eb0c4(%rip),%rdx        # 0x14033ba70
1401509ac:	48 8b cb             	mov    %rbx,%rcx
1401509af:	e8 7c 1d ff ff       	call   0x140142730
1401509b4:	8b 45 af             	mov    -0x51(%rbp),%eax
1401509b7:	85 c0                	test   %eax,%eax
1401509b9:	74 39                	je     0x1401509f4
1401509bb:	48 8b 43 18          	mov    0x18(%rbx),%rax
1401509bf:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
1401509c3:	48 8b cb             	mov    %rbx,%rcx
1401509c6:	80 b8 e6 03 00 00 00 	cmpb   $0x0,0x3e6(%rax)
1401509cd:	74 07                	je     0x1401509d6
1401509cf:	e8 5c 10 ff ff       	call   0x140141a30
1401509d4:	eb 05                	jmp    0x1401509db
1401509d6:	e8 65 01 00 00       	call   0x140150b40
1401509db:	85 c0                	test   %eax,%eax
1401509dd:	74 07                	je     0x1401509e6
1401509df:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401509e4:	eb 18                	jmp    0x1401509fe
1401509e6:	4c 8b 75 b7          	mov    -0x49(%rbp),%r14
1401509ea:	45 33 ed             	xor    %r13d,%r13d
1401509ed:	4d 85 f6             	test   %r14,%r14
1401509f0:	41 0f 94 c5          	sete   %r13b
1401509f4:	48 8b 45 bf          	mov    -0x41(%rbp),%rax
1401509f8:	4c 89 30             	mov    %r14,(%rax)
1401509fb:	41 8b c5             	mov    %r13d,%eax
1401509fe:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
140150a02:	48 33 cc             	xor    %rsp,%rcx
140150a05:	e8 36 9c 1a 00       	call   0x1402fa640
140150a0a:	48 8b 9c 24 f8 00 00 	mov    0xf8(%rsp),%rbx
140150a11:	00
140150a12:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
140150a19:	41 5f                	pop    %r15
140150a1b:	41 5e                	pop    %r14
140150a1d:	41 5d                	pop    %r13
140150a1f:	41 5c                	pop    %r12
140150a21:	5f                   	pop    %rdi
140150a22:	5e                   	pop    %rsi
140150a23:	5d                   	pop    %rbp
140150a24:	c3                   	ret
140150a25:	cc                   	int3
140150a26:	cc                   	int3
140150a27:	cc                   	int3
140150a28:	cc                   	int3
140150a29:	cc                   	int3
140150a2a:	cc                   	int3
140150a2b:	cc                   	int3
140150a2c:	cc                   	int3
140150a2d:	cc                   	int3
140150a2e:	cc                   	int3
140150a2f:	cc                   	int3
140150a30:	40 57                	rex push %rdi
140150a32:	48 83 ec 20          	sub    $0x20,%rsp
140150a36:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140150a3b:	48 8b f2             	mov    %rdx,%rsi
140150a3e:	48 8b f9             	mov    %rcx,%rdi
140150a41:	48 85 c9             	test   %rcx,%rcx
140150a44:	74 2d                	je     0x140150a73
140150a46:	4c 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%r9
140150a4d:	4d 85 c9             	test   %r9,%r9
140150a50:	74 21                	je     0x140150a73
140150a52:	41 f6 41 04 08       	testb  $0x8,0x4(%r9)
140150a57:	74 1a                	je     0x140150a73
140150a59:	49 8b 41 10          	mov    0x10(%r9),%rax
140150a5d:	48 85 c0             	test   %rax,%rax
140150a60:	74 11                	je     0x140150a73
140150a62:	4d 8b 49 20          	mov    0x20(%r9),%r9
140150a66:	ba 03 00 00 00       	mov    $0x3,%edx
140150a6b:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140150a71:	ff d0                	call   *%rax
140150a73:	83 6e 10 01          	subl   $0x1,0x10(%rsi)
140150a77:	75 2d                	jne    0x140150aa6
140150a79:	48 8b 0e             	mov    (%rsi),%rcx
140150a7c:	48 85 c9             	test   %rcx,%rcx
140150a7f:	74 1c                	je     0x140150a9d
140150a81:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140150a86:	48 8b 59 28          	mov    0x28(%rcx),%rbx
140150a8a:	ff 15 80 22 2b 00    	call   *0x2b2280(%rip)        # 0x140402d10
140150a90:	48 8b cb             	mov    %rbx,%rcx
140150a93:	48 85 db             	test   %rbx,%rbx
140150a96:	75 ee                	jne    0x140150a86
140150a98:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140150a9d:	48 8b ce             	mov    %rsi,%rcx
140150aa0:	ff 15 6a 22 2b 00    	call   *0x2b226a(%rip)        # 0x140402d10
140150aa6:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140150aab:	48 85 ff             	test   %rdi,%rdi
140150aae:	74 30                	je     0x140150ae0
140150ab0:	4c 8b 87 e0 00 00 00 	mov    0xe0(%rdi),%r8
140150ab7:	4d 85 c0             	test   %r8,%r8
140150aba:	74 24                	je     0x140150ae0
140150abc:	41 f6 40 04 08       	testb  $0x8,0x4(%r8)
140150ac1:	74 1d                	je     0x140150ae0
140150ac3:	49 8b 40 18          	mov    0x18(%r8),%rax
140150ac7:	48 85 c0             	test   %rax,%rax
140150aca:	74 14                	je     0x140150ae0
140150acc:	4d 8b 40 20          	mov    0x20(%r8),%r8
140150ad0:	ba 03 00 00 00       	mov    $0x3,%edx
140150ad5:	48 8b cf             	mov    %rdi,%rcx
140150ad8:	48 83 c4 20          	add    $0x20,%rsp
140150adc:	5f                   	pop    %rdi
140150add:	48 ff e0             	rex.W jmp *%rax
140150ae0:	48 83 c4 20          	add    $0x20,%rsp
140150ae4:	5f                   	pop    %rdi
140150ae5:	c3                   	ret
140150ae6:	cc                   	int3
140150ae7:	cc                   	int3
140150ae8:	cc                   	int3
140150ae9:	cc                   	int3
140150aea:	cc                   	int3
140150aeb:	cc                   	int3
140150aec:	cc                   	int3
140150aed:	cc                   	int3
140150aee:	cc                   	int3
140150aef:	cc                   	int3
140150af0:	40 53                	rex push %rbx
140150af2:	48 83 ec 20          	sub    $0x20,%rsp
140150af6:	48 8b 41 18          	mov    0x18(%rcx),%rax
140150afa:	4c 8d 05 e3 ba 1e 00 	lea    0x1ebae3(%rip),%r8        # 0x14033c5e4
140150b01:	4c 8b 89 80 0e 00 00 	mov    0xe80(%rcx),%r9
140150b08:	0f b6 90 cc 03 00 00 	movzbl 0x3cc(%rax),%edx
140150b0f:	0f b6 c2             	movzbl %dl,%eax
140150b12:	f6 d8                	neg    %al
140150b14:	48 8d 05 d1 ba 1e 00 	lea    0x1ebad1(%rip),%rax        # 0x14033c5ec
140150b1b:	1b db                	sbb    %ebx,%ebx
140150b1d:	84 d2                	test   %dl,%dl
140150b1f:	48 8d 15 d2 ba 1e 00 	lea    0x1ebad2(%rip),%rdx        # 0x14033c5f8
140150b26:	4c 0f 44 c0          	cmove  %rax,%r8
140150b2a:	e8 01 1c ff ff       	call   0x140142730
140150b2f:	8d 43 06             	lea    0x6(%rbx),%eax
140150b32:	48 83 c4 20          	add    $0x20,%rsp
140150b36:	5b                   	pop    %rbx
140150b37:	c3                   	ret
140150b38:	cc                   	int3
140150b39:	cc                   	int3
140150b3a:	cc                   	int3
140150b3b:	cc                   	int3
140150b3c:	cc                   	int3
140150b3d:	cc                   	int3
140150b3e:	cc                   	int3
140150b3f:	cc                   	int3
140150b40:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140150b45:	56                   	push   %rsi
140150b46:	57                   	push   %rdi
140150b47:	41 56                	push   %r14
140150b49:	48 83 ec 30          	sub    $0x30,%rsp
140150b4d:	48 8b b9 90 0e 00 00 	mov    0xe90(%rcx),%rdi
140150b54:	33 ed                	xor    %ebp,%ebp
140150b56:	48 89 2a             	mov    %rbp,(%rdx)
140150b59:	4c 8b f2             	mov    %rdx,%r14
140150b5c:	48 8b f1             	mov    %rcx,%rsi
140150b5f:	48 85 ff             	test   %rdi,%rdi
140150b62:	75 13                	jne    0x140150b77
140150b64:	b8 06 00 00 00       	mov    $0x6,%eax
140150b69:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140150b6e:	48 83 c4 30          	add    $0x30,%rsp
140150b72:	41 5e                	pop    %r14
140150b74:	5f                   	pop    %rdi
140150b75:	5e                   	pop    %rsi
140150b76:	c3                   	ret
140150b77:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140150b7b:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
140150b80:	ff 15 92 88 1d 00    	call   *0x1d8892(%rip)        # 0x140329418
140150b86:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140150b8a:	8b 5f 20             	mov    0x20(%rdi),%ebx
140150b8d:	ff 15 8d 88 1d 00    	call   *0x1d888d(%rip)        # 0x140329420
140150b93:	85 db                	test   %ebx,%ebx
140150b95:	74 49                	je     0x140150be0
140150b97:	48 8b ce             	mov    %rsi,%rcx
140150b9a:	e8 91 45 01 00       	call   0x140165130
140150b9f:	48 39 ae 88 0e 00 00 	cmp    %rbp,0xe88(%rsi)
140150ba6:	75 1d                	jne    0x140150bc5
140150ba8:	48 8b ce             	mov    %rsi,%rcx
140150bab:	e8 40 ff ff ff       	call   0x140150af0
140150bb0:	48 8d 8e 80 0e 00 00 	lea    0xe80(%rsi),%rcx
140150bb7:	8b d8                	mov    %eax,%ebx
140150bb9:	e8 72 f4 00 00       	call   0x140160030
140150bbe:	8b c3                	mov    %ebx,%eax
140150bc0:	e9 4c 01 00 00       	jmp    0x140150d11
140150bc5:	48 8d 8e 80 0e 00 00 	lea    0xe80(%rsi),%rcx
140150bcc:	e8 5f f4 00 00       	call   0x140160030
140150bd1:	48 8b 86 88 0e 00 00 	mov    0xe88(%rsi),%rax
140150bd8:	49 89 06             	mov    %rax,(%r14)
140150bdb:	e9 2f 01 00 00       	jmp    0x140150d0f
140150be0:	40 38 2d d1 f4 2b 00 	cmp    %bpl,0x2bf4d1(%rip)        # 0x1404100b8
140150be7:	0f 10 86 e0 0b 00 00 	movups 0xbe0(%rsi),%xmm0
140150bee:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
140150bf3:	74 31                	je     0x140150c26
140150bf5:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140150bfa:	ff 15 00 88 1d 00    	call   *0x1d8800(%rip)        # 0x140329400
140150c00:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140150c05:	48 99                	cqto
140150c07:	48 f7 3d b2 f4 2b 00 	idivq  0x2bf4b2(%rip)        # 0x1404100c0
140150c0e:	4c 8b c8             	mov    %rax,%r9
140150c11:	48 69 c2 40 42 0f 00 	imul   $0xf4240,%rdx,%rax
140150c18:	48 99                	cqto
140150c1a:	48 f7 3d 9f f4 2b 00 	idivq  0x2bf49f(%rip)        # 0x1404100c0
140150c21:	4c 8b c0             	mov    %rax,%r8
140150c24:	eb 27                	jmp    0x140150c4d
140150c26:	ff 15 54 88 1d 00    	call   *0x1d8854(%rip)        # 0x140329480
140150c2c:	44 8b c0             	mov    %eax,%r8d
140150c2f:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
140150c34:	41 f7 e0             	mul    %r8d
140150c37:	c1 ea 06             	shr    $0x6,%edx
140150c3a:	69 ca e8 03 00 00    	imul   $0x3e8,%edx,%ecx
140150c40:	44 8b ca             	mov    %edx,%r9d
140150c43:	44 2b c1             	sub    %ecx,%r8d
140150c46:	45 69 c0 e8 03 00 00 	imul   $0x3e8,%r8d,%r8d
140150c4d:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140150c52:	66 48 0f 7e c0       	movq   %xmm0,%rax
140150c57:	4c 2b c8             	sub    %rax,%r9
140150c5a:	48 b8 f7 53 e3 a5 9b 	movabs $0x20c49ba5e353f7,%rax
140150c61:	c4 20 00
140150c64:	4c 3b c8             	cmp    %rax,%r9
140150c67:	7c 0c                	jl     0x140150c75
140150c69:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
140150c70:	ff ff 7f
140150c73:	eb 46                	jmp    0x140150cbb
140150c75:	48 b8 09 ac 1c 5a 64 	movabs $0xffdf3b645a1cac09,%rax
140150c7c:	3b df ff
140150c7f:	4c 3b c8             	cmp    %rax,%r9
140150c82:	7f 0c                	jg     0x140150c90
140150c84:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140150c8b:	00 00 80
140150c8e:	eb 2b                	jmp    0x140150cbb
140150c90:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
140150c95:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
140150c9a:	66 0f 7e c1          	movd   %xmm0,%ecx
140150c9e:	44 2b c1             	sub    %ecx,%r8d
140150ca1:	41 f7 e8             	imul   %r8d
140150ca4:	c1 fa 06             	sar    $0x6,%edx
140150ca7:	8b c2                	mov    %edx,%eax
140150ca9:	c1 e8 1f             	shr    $0x1f,%eax
140150cac:	03 d0                	add    %eax,%edx
140150cae:	49 69 c1 e8 03 00 00 	imul   $0x3e8,%r9,%rax
140150cb5:	48 63 ca             	movslq %edx,%rcx
140150cb8:	48 03 c8             	add    %rax,%rcx
140150cbb:	8b 47 08             	mov    0x8(%rdi),%eax
140150cbe:	48 85 c9             	test   %rcx,%rcx
140150cc1:	48 0f 49 e9          	cmovns %rcx,%rbp
140150cc5:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140150cc9:	85 c0                	test   %eax,%eax
140150ccb:	75 0e                	jne    0x140150cdb
140150ccd:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%rdi)
140150cd4:	b8 01 00 00 00       	mov    $0x1,%eax
140150cd9:	eb 1d                	jmp    0x140150cf8
140150cdb:	48 3b 29             	cmp    (%rcx),%rbp
140150cde:	7c 05                	jl     0x140150ce5
140150ce0:	03 c0                	add    %eax,%eax
140150ce2:	89 47 08             	mov    %eax,0x8(%rdi)
140150ce5:	3d fa 00 00 00       	cmp    $0xfa,%eax
140150cea:	76 0c                	jbe    0x140150cf8
140150cec:	c7 47 08 fa 00 00 00 	movl   $0xfa,0x8(%rdi)
140150cf3:	b8 fa 00 00 00       	mov    $0xfa,%eax
140150cf8:	8b d0                	mov    %eax,%edx
140150cfa:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140150d00:	48 8d 04 2a          	lea    (%rdx,%rbp,1),%rax
140150d04:	48 89 01             	mov    %rax,(%rcx)
140150d07:	48 8b ce             	mov    %rsi,%rcx
140150d0a:	e8 e1 14 ff ff       	call   0x1401421f0
140150d0f:	33 c0                	xor    %eax,%eax
140150d11:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140150d16:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140150d1b:	48 83 c4 30          	add    $0x30,%rsp
140150d1f:	41 5e                	pop    %r14
140150d21:	5f                   	pop    %rdi
140150d22:	5e                   	pop    %rsi
140150d23:	c3                   	ret
140150d24:	cc                   	int3
140150d25:	cc                   	int3
140150d26:	cc                   	int3
140150d27:	cc                   	int3
140150d28:	cc                   	int3
140150d29:	cc                   	int3
140150d2a:	cc                   	int3
140150d2b:	cc                   	int3
140150d2c:	cc                   	int3
140150d2d:	cc                   	int3
140150d2e:	cc                   	int3
140150d2f:	cc                   	int3
140150d30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140150d35:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140150d3a:	57                   	push   %rdi
140150d3b:	48 83 ec 20          	sub    $0x20,%rsp
140150d3f:	48 8b 79 18          	mov    0x18(%rcx),%rdi
140150d43:	48 8b f2             	mov    %rdx,%rsi
140150d46:	48 c7 02 00 00 00 00 	movq   $0x0,(%rdx)
140150d4d:	48 8b d9             	mov    %rcx,%rbx
140150d50:	80 b9 10 0b 00 00 00 	cmpb   $0x0,0xb10(%rcx)
140150d57:	74 17                	je     0x140150d70
140150d59:	48 8b 87 10 04 00 00 	mov    0x410(%rdi),%rax
140150d60:	f7 80 84 00 00 00 03 	testl  $0x40003,0x84(%rax)
140150d67:	00 04 00
140150d6a:	0f 84 43 01 00 00    	je     0x140150eb3
140150d70:	48 8b 91 08 01 00 00 	mov    0x108(%rcx),%rdx
140150d77:	48 03 91 f8 00 00 00 	add    0xf8(%rcx),%rdx
140150d7e:	75 29                	jne    0x140150da9
140150d80:	38 97 d2 03 00 00    	cmp    %dl,0x3d2(%rdi)
140150d86:	74 21                	je     0x140150da9
140150d88:	38 91 0f 0b 00 00    	cmp    %dl,0xb0f(%rcx)
140150d8e:	74 10                	je     0x140150da0
140150d90:	48 8b 87 10 04 00 00 	mov    0x410(%rdi),%rax
140150d97:	f6 80 84 00 00 00 03 	testb  $0x3,0x84(%rax)
140150d9e:	74 09                	je     0x140150da9
140150da0:	83 b9 58 0a 00 00 0b 	cmpl   $0xb,0xa58(%rcx)
140150da7:	75 29                	jne    0x140150dd2
140150da9:	80 b9 02 13 00 00 00 	cmpb   $0x0,0x1302(%rcx)
140150db0:	0f 84 fd 00 00 00    	je     0x140150eb3
140150db6:	48 85 d2             	test   %rdx,%rdx
140150db9:	0f 85 f4 00 00 00    	jne    0x140150eb3
140150dbf:	48 8d 15 8a f3 1e 00 	lea    0x1ef38a(%rip),%rdx        # 0x140340150
140150dc6:	e8 55 9f ff ff       	call   0x14014ad20
140150dcb:	c6 83 02 13 00 00 00 	movb   $0x0,0x1302(%rbx)
140150dd2:	8b 83 38 0d 00 00    	mov    0xd38(%rbx),%eax
140150dd8:	48 8b cb             	mov    %rbx,%rcx
140150ddb:	44 8d 40 01          	lea    0x1(%rax),%r8d
140150ddf:	44 89 83 38 0d 00 00 	mov    %r8d,0xd38(%rbx)
140150de6:	83 f8 05             	cmp    $0x5,%eax