140016f79:	69 f2 4f 93 1a 00    	imul   $0x1a934f,%edx,%esi
140016f7f:	c1 fe 13             	sar    $0x13,%esi
140016f82:	03 f5                	add    %ebp,%esi
140016f84:	e8 77 ce fe ff       	call   0x140003e00
140016f89:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
140016f8e:	b9 0b 00 00 00       	mov    $0xb,%ecx
140016f93:	2b ce                	sub    %esi,%ecx
140016f95:	49 8b c1             	mov    %r9,%rax
140016f98:	48 c1 e8 36          	shr    $0x36,%rax
140016f9c:	4d 8b c1             	mov    %r9,%r8
140016f9f:	4c 2b c0             	sub    %rax,%r8
140016fa2:	49 8b d1             	mov    %r9,%rdx
140016fa5:	48 c1 ea 35          	shr    $0x35,%rdx
140016fa9:	8d 45 fe             	lea    -0x2(%rbp),%eax
140016fac:	49 03 d1             	add    %r9,%rdx
140016faf:	49 d3 e8             	shr    %cl,%r8
140016fb2:	48 d3 ea             	shr    %cl,%rdx
140016fb5:	83 f8 01             	cmp    $0x1,%eax
140016fb8:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
140016fbf:	cc cc cc
140016fc2:	4d 8d 50 01          	lea    0x1(%r8),%r10
140016fc6:	4d 0f 46 d0          	cmovbe %r8,%r10
140016fca:	48 f7 e2             	mul    %rdx
140016fcd:	48 c1 ea 03          	shr    $0x3,%rdx
140016fd1:	48 89 17             	mov    %rdx,(%rdi)
140016fd4:	48 8d 04 92          	lea    (%rdx,%rdx,4),%rax
140016fd8:	48 03 c0             	add    %rax,%rax
140016fdb:	49 3b c2             	cmp    %r10,%rax
140016fde:	72 16                	jb     0x140016ff6
140016fe0:	8d 43 01             	lea    0x1(%rbx),%eax
140016fe3:	48 8b cf             	mov    %rdi,%rcx
140016fe6:	89 47 08             	mov    %eax,0x8(%rdi)
140016fe9:	e8 22 cf fe ff       	call   0x140003f10
140016fee:	01 47 08             	add    %eax,0x8(%rdi)
140016ff1:	e9 b7 01 00 00       	jmp    0x1400171ad
140016ff6:	b9 0a 00 00 00       	mov    $0xa,%ecx
140016ffb:	89 5f 08             	mov    %ebx,0x8(%rdi)
140016ffe:	2b ce                	sub    %esi,%ecx
140017000:	8d 45 4d             	lea    0x4d(%rbp),%eax
140017003:	49 d3 e9             	shr    %cl,%r9
140017006:	49 ff c1             	inc    %r9
140017009:	49 d1 e9             	shr    $1,%r9
14001700c:	4c 89 0f             	mov    %r9,(%rdi)
14001700f:	85 c0                	test   %eax,%eax
140017011:	75 14                	jne    0x140017027
140017013:	41 f6 c1 01          	test   $0x1,%r9b
140017017:	49 8d 41 ff          	lea    -0x1(%r9),%rax
14001701b:	4c 0f 45 c8          	cmovne %rax,%r9
14001701f:	4c 89 0f             	mov    %r9,(%rdi)
140017022:	e9 86 01 00 00       	jmp    0x1400171ad
140017027:	4d 3b ca             	cmp    %r10,%r9
14001702a:	0f 83 7d 01 00 00    	jae    0x1400171ad
140017030:	49 8d 41 01          	lea    0x1(%r9),%rax
140017034:	e9 71 01 00 00       	jmp    0x1400171aa
140017039:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
140017040:	00 10 00
140017043:	48 0b f0             	or     %rax,%rsi
140017046:	eb 19                	jmp    0x140017061
140017048:	48 85 f6             	test   %rsi,%rsi
14001704b:	75 0f                	jne    0x14001705c
14001704d:	45 33 db             	xor    %r11d,%r11d
140017050:	4c 89 1f             	mov    %r11,(%rdi)
140017053:	44 89 5f 08          	mov    %r11d,0x8(%rdi)
140017057:	e9 51 01 00 00       	jmp    0x1400171ad
14001705c:	bd ce fb ff ff       	mov    $0xfffffbce,%ebp
140017061:	40 0f b6 c6          	movzbl %sil,%eax
140017065:	44 69 ed 05 d1 04 00 	imul   $0x4d105,%ebp,%r13d
14001706c:	f6 d0                	not    %al
14001706e:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140017073:	bb 02 00 00 00       	mov    $0x2,%ebx
140017078:	88 44 24 20          	mov    %al,0x20(%rsp)
14001707c:	41 c1 fd 14          	sar    $0x14,%r13d
140017080:	41 2b dd             	sub    %r13d,%ebx
140017083:	8b d3                	mov    %ebx,%edx
140017085:	e8 76 cd fe ff       	call   0x140003e00
14001708a:	44 69 e3 4f 93 1a 00 	imul   $0x1a934f,%ebx,%r12d
140017091:	4c 8d 0c 36          	lea    (%rsi,%rsi,1),%r9
140017095:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14001709a:	45 33 db             	xor    %r11d,%r11d
14001709d:	b9 3f 00 00 00       	mov    $0x3f,%ecx
1400170a2:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
1400170a7:	4d 8b c1             	mov    %r9,%r8
1400170aa:	48 8b c3             	mov    %rbx,%rax
1400170ad:	49 83 c8 01          	or     $0x1,%r8
1400170b1:	41 c1 fc 13          	sar    $0x13,%r12d
1400170b5:	45 8d 7b 40          	lea    0x40(%r11),%r15d
1400170b9:	44 03 e5             	add    %ebp,%r12d
1400170bc:	48 8b eb             	mov    %rbx,%rbp
1400170bf:	41 2b cc             	sub    %r12d,%ecx
1400170c2:	48 d3 ed             	shr    %cl,%rbp
1400170c5:	41 8b cc             	mov    %r12d,%ecx
1400170c8:	49 d3 e0             	shl    %cl,%r8
1400170cb:	49 f7 e0             	mul    %r8
1400170ce:	48 8b c8             	mov    %rax,%rcx
1400170d1:	4c 8b d2             	mov    %rdx,%r10
1400170d4:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1400170d9:	49 f7 e0             	mul    %r8
1400170dc:	48 b8 cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%rax
1400170e3:	9b c4 20
1400170e6:	48 03 ca             	add    %rdx,%rcx
1400170e9:	4d 13 d3             	adc    %r11,%r10
1400170ec:	48 85 c9             	test   %rcx,%rcx
1400170ef:	0f 94 c1             	sete   %cl
1400170f2:	49 f7 e2             	mul    %r10
1400170f5:	4c 8b f2             	mov    %rdx,%r14
1400170f8:	49 c1 ee 07          	shr    $0x7,%r14
1400170fc:	41 69 c6 e8 03 00 00 	imul   $0x3e8,%r14d,%eax
140017103:	4c 89 37             	mov    %r14,(%rdi)
140017106:	44 2b d0             	sub    %eax,%r10d
140017109:	44 3b d5             	cmp    %ebp,%r10d
14001710c:	0f 83 c9 00 00 00    	jae    0x1400171db
140017112:	45 85 d2             	test   %r10d,%r10d
140017115:	0f 85 0f 01 00 00    	jne    0x14001722a
14001711b:	40 84 f1             	test   %sil,%cl
14001711e:	0f 84 06 01 00 00    	je     0x14001722a
140017124:	41 ba e8 03 00 00    	mov    $0x3e8,%r10d
14001712a:	49 ff ce             	dec    %r14
14001712d:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140017132:	d1 ed                	shr    $1,%ebp
140017134:	4b 8d 04 b6          	lea    (%r14,%r14,4),%rax
140017138:	44 2b d5             	sub    %ebp,%r10d
14001713b:	44 89 6f 08          	mov    %r13d,0x8(%rdi)
14001713f:	41 83 c2 32          	add    $0x32,%r10d
140017143:	41 69 d2 90 02 00 00 	imul   $0x290,%r10d,%edx
14001714a:	45 0f b6 ca          	movzbl %r10b,%r9d
14001714e:	41 80 e1 01          	and    $0x1,%r9b
140017152:	8b ca                	mov    %edx,%ecx
140017154:	48 c1 e9 10          	shr    $0x10,%rcx
140017158:	4c 8d 04 41          	lea    (%rcx,%rax,2),%r8
14001715c:	4c 89 07             	mov    %r8,(%rdi)
14001715f:	66 81 fa 90 02       	cmp    $0x290,%dx
140017164:	73 47                	jae    0x1400171ad
140017166:	48 0f af 5c 24 28    	imul   0x28(%rsp),%rbx
14001716c:	45 2b fc             	sub    %r12d,%r15d
14001716f:	48 8b c6             	mov    %rsi,%rax
140017172:	48 f7 64 24 28       	mulq   0x28(%rsp)
140017177:	41 8b cf             	mov    %r15d,%ecx
14001717a:	48 03 da             	add    %rdx,%rbx
14001717d:	48 8b d3             	mov    %rbx,%rdx
140017180:	48 d3 ea             	shr    %cl,%rdx
140017183:	41 8b cc             	mov    %r12d,%ecx
140017186:	48 d3 e3             	shl    %cl,%rbx
140017189:	80 e2 01             	and    $0x1,%dl
14001718c:	41 8b cf             	mov    %r15d,%ecx
14001718f:	48 d3 e8             	shr    %cl,%rax
140017192:	48 0b d8             	or     %rax,%rbx
140017195:	41 3a d1             	cmp    %r9b,%dl
140017198:	75 0c                	jne    0x1400171a6
14001719a:	48 85 db             	test   %rbx,%rbx
14001719d:	41 0f 94 c3          	sete   %r11b
1400171a1:	45 85 d8             	test   %r11d,%r8d
1400171a4:	74 07                	je     0x1400171ad
1400171a6:	49 8d 40 ff          	lea    -0x1(%r8),%rax
1400171aa:	48 89 07             	mov    %rax,(%rdi)
1400171ad:	48 8b c7             	mov    %rdi,%rax
1400171b0:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400171b5:	48 33 cc             	xor    %rsp,%rcx
1400171b8:	e8 43 26 04 00       	call   0x140059800
1400171bd:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
1400171c2:	49 8b 5b 30          	mov    0x30(%r11),%rbx
1400171c6:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1400171ca:	49 8b 73 48          	mov    0x48(%r11),%rsi
1400171ce:	49 8b e3             	mov    %r11,%rsp
1400171d1:	41 5f                	pop    %r15
1400171d3:	41 5e                	pop    %r14
1400171d5:	41 5d                	pop    %r13
1400171d7:	41 5c                	pop    %r12
1400171d9:	5f                   	pop    %rdi
1400171da:	c3                   	ret
1400171db:	0f 87 4c ff ff ff    	ja     0x14001712d
1400171e1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400171e6:	49 8d 49 ff          	lea    -0x1(%r9),%rcx
1400171ea:	48 8b c6             	mov    %rsi,%rax
1400171ed:	4c 8b cb             	mov    %rbx,%r9
1400171f0:	48 f7 e1             	mul    %rcx
1400171f3:	4c 0f af c9          	imul   %rcx,%r9
1400171f7:	4c 03 ca             	add    %rdx,%r9
1400171fa:	41 8b d7             	mov    %r15d,%edx
1400171fd:	41 2b d4             	sub    %r12d,%edx
140017200:	4d 8b c1             	mov    %r9,%r8
140017203:	8b ca                	mov    %edx,%ecx
140017205:	49 d3 e8             	shr    %cl,%r8
140017208:	41 8b cc             	mov    %r12d,%ecx
14001720b:	49 d3 e1             	shl    %cl,%r9
14001720e:	41 80 e0 01          	and    $0x1,%r8b
140017212:	8b ca                	mov    %edx,%ecx
140017214:	48 d3 e8             	shr    %cl,%rax
140017217:	4c 0b c8             	or     %rax,%r9
14001721a:	0f 94 c0             	sete   %al
14001721d:	22 44 24 20          	and    0x20(%rsp),%al
140017221:	41 0a c0             	or     %r8b,%al
140017224:	0f 84 08 ff ff ff    	je     0x140017132
14001722a:	41 8d 45 01          	lea    0x1(%r13),%eax
14001722e:	48 8b cf             	mov    %rdi,%rcx
140017231:	89 47 08             	mov    %eax,0x8(%rdi)
140017234:	e8 d7 cc fe ff       	call   0x140003f10
140017239:	01 47 08             	add    %eax,0x8(%rdi)
14001723c:	e9 6c ff ff ff       	jmp    0x1400171ad
140017241:	cc                   	int3
140017242:	cc                   	int3
140017243:	cc                   	int3
140017244:	cc                   	int3
140017245:	cc                   	int3
140017246:	cc                   	int3
140017247:	cc                   	int3
140017248:	cc                   	int3
140017249:	cc                   	int3
14001724a:	cc                   	int3
14001724b:	cc                   	int3
14001724c:	cc                   	int3
14001724d:	cc                   	int3
14001724e:	cc                   	int3
14001724f:	cc                   	int3
140017250:	40 53                	rex push %rbx
140017252:	41 55                	push   %r13
140017254:	41 56                	push   %r14
140017256:	48 83 ec 60          	sub    $0x60,%rsp
14001725a:	4d 8b e9             	mov    %r9,%r13
14001725d:	4c 8b f1             	mov    %rcx,%r14
140017260:	45 33 c9             	xor    %r9d,%r9d
140017263:	48 8b da             	mov    %rdx,%rbx
140017266:	41 8b c9             	mov    %r9d,%ecx
140017269:	49 8b c0             	mov    %r8,%rax
14001726c:	0f 1f 40 00          	nopl   0x0(%rax)
140017270:	ff c1                	inc    %ecx
140017272:	48 c1 e8 04          	shr    $0x4,%rax
140017276:	48 85 c0             	test   %rax,%rax
140017279:	75 f5                	jne    0x140017270
14001727b:	8b d1                	mov    %ecx,%edx
14001727d:	48 83 c2 02          	add    $0x2,%rdx
140017281:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140017286:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
14001728a:	4d 85 ed             	test   %r13,%r13
14001728d:	0f 84 f6 00 00 00    	je     0x140017389
140017293:	41 8b 45 00          	mov    0x0(%r13),%eax
140017297:	41 0f b6 4d 09       	movzbl 0x9(%r13),%ecx
14001729c:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
1400172a1:	4c 89 7c 24 40       	mov    %r15,0x40(%rsp)
1400172a6:	44 8b f8             	mov    %eax,%r15d
1400172a9:	4c 2b fa             	sub    %rdx,%r15
1400172ac:	48 3b c2             	cmp    %rdx,%rax
1400172af:	48 8d 05 6e 91 04 00 	lea    0x4916e(%rip),%rax        # 0x140060424
1400172b6:	4d 0f 46 f9          	cmovbe %r9,%r15
1400172ba:	83 e1 0f             	and    $0xf,%ecx
1400172bd:	49 8b ff             	mov    %r15,%rdi
1400172c0:	0f b6 0c 01          	movzbl (%rcx,%rax,1),%ecx
1400172c4:	48 d3 ef             	shr    %cl,%rdi
1400172c7:	4c 2b ff             	sub    %rdi,%r15
1400172ca:	48 85 ff             	test   %rdi,%rdi
1400172cd:	74 6f                	je     0x14001733e
1400172cf:	41 0f b6 45 0f       	movzbl 0xf(%r13),%eax
1400172d4:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
1400172d9:	49 8d 75 0b          	lea    0xb(%r13),%rsi
1400172dd:	48 83 f8 01          	cmp    $0x1,%rax
1400172e1:	75 2f                	jne    0x140017312
1400172e3:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1400172e7:	48 ff c2             	inc    %rdx
1400172ea:	48 3b 53 18          	cmp    0x18(%rbx),%rdx
1400172ee:	76 08                	jbe    0x1400172f8
1400172f0:	48 8b 03             	mov    (%rbx),%rax
1400172f3:	48 8b cb             	mov    %rbx,%rcx
1400172f6:	ff 10                	call   *(%rax)
1400172f8:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1400172fc:	0f b6 06             	movzbl (%rsi),%eax
1400172ff:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140017303:	88 04 0a             	mov    %al,(%rdx,%rcx,1)
140017306:	48 ff 43 10          	incq   0x10(%rbx)
14001730a:	48 83 ef 01          	sub    $0x1,%rdi
14001730e:	75 d3                	jne    0x1400172e3
140017310:	eb 27                	jmp    0x140017339
140017312:	48 89 6c 24 58       	mov    %rbp,0x58(%rsp)
140017317:	48 8d 2c 30          	lea    (%rax,%rsi,1),%rbp
14001731b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140017320:	4c 8b c5             	mov    %rbp,%r8
140017323:	48 8b d6             	mov    %rsi,%rdx
140017326:	48 8b cb             	mov    %rbx,%rcx
140017329:	e8 b2 22 ff ff       	call   0x1400095e0
14001732e:	48 83 ef 01          	sub    $0x1,%rdi
140017332:	75 ec                	jne    0x140017320
140017334:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140017339:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14001733e:	4c 8b c3             	mov    %rbx,%r8
140017341:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140017346:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14001734b:	e8 60 00 00 00       	call   0x1400173b0
140017350:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140017355:	48 8b 08             	mov    (%rax),%rcx
140017358:	4d 85 ff             	test   %r15,%r15
14001735b:	74 17                	je     0x140017374
14001735d:	48 8b d1             	mov    %rcx,%rdx
140017360:	4d 8d 4d 0b          	lea    0xb(%r13),%r9
140017364:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140017369:	4d 8b c7             	mov    %r15,%r8
14001736c:	e8 5f 5b 00 00       	call   0x14001ced0
140017371:	48 8b 08             	mov    (%rax),%rcx
140017374:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
140017379:	49 8b c6             	mov    %r14,%rax
14001737c:	49 89 0e             	mov    %rcx,(%r14)
14001737f:	48 83 c4 60          	add    $0x60,%rsp
140017383:	41 5e                	pop    %r14
140017385:	41 5d                	pop    %r13
140017387:	5b                   	pop    %rbx
140017388:	c3                   	ret
140017389:	4c 8b c3             	mov    %rbx,%r8
14001738c:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140017391:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140017396:	e8 15 00 00 00       	call   0x1400173b0
14001739b:	48 8b 08             	mov    (%rax),%rcx
14001739e:	49 8b c6             	mov    %r14,%rax
1400173a1:	49 89 0e             	mov    %rcx,(%r14)
1400173a4:	48 83 c4 60          	add    $0x60,%rsp
1400173a8:	41 5e                	pop    %r14
1400173aa:	41 5d                	pop    %r13
1400173ac:	5b                   	pop    %rbx
1400173ad:	c3                   	ret
1400173ae:	cc                   	int3
1400173af:	cc                   	int3
1400173b0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400173b5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400173ba:	57                   	push   %rdi
1400173bb:	48 83 ec 40          	sub    $0x40,%rsp
1400173bf:	48 8b 05 7a 0c 06 00 	mov    0x60c7a(%rip),%rax        # 0x140078040
1400173c6:	48 33 c4             	xor    %rsp,%rax
1400173c9:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1400173ce:	48 8b fa             	mov    %rdx,%rdi
1400173d1:	49 8b d8             	mov    %r8,%rbx
1400173d4:	49 8b 50 10          	mov    0x10(%r8),%rdx
1400173d8:	48 8b f1             	mov    %rcx,%rsi
1400173db:	48 ff c2             	inc    %rdx
1400173de:	49 3b 50 18          	cmp    0x18(%r8),%rdx
1400173e2:	76 08                	jbe    0x1400173ec
1400173e4:	49 8b 00             	mov    (%r8),%rax
1400173e7:	48 8b cb             	mov    %rbx,%rcx
1400173ea:	ff 10                	call   *(%rax)
1400173ec:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1400173f0:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400173f4:	c6 04 01 30          	movb   $0x30,(%rcx,%rax,1)
1400173f8:	48 ff 43 10          	incq   0x10(%rbx)
1400173fc:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140017400:	48 ff c2             	inc    %rdx
140017403:	48 3b 53 18          	cmp    0x18(%rbx),%rdx
140017407:	76 08                	jbe    0x140017411
140017409:	48 8b 03             	mov    (%rbx),%rax
14001740c:	48 8b cb             	mov    %rbx,%rcx
14001740f:	ff 10                	call   *(%rax)
140017411:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140017415:	48 8b 43 08          	mov    0x8(%rbx),%rax
140017419:	c6 04 01 78          	movb   $0x78,(%rcx,%rax,1)
14001741d:	48 ff 43 10          	incq   0x10(%rbx)
140017421:	48 63 56 08          	movslq 0x8(%rsi),%rdx