14016719b:	ff 15 7f 74 09 00    	call   *0x9747f(%rip)        # 0x1401fe620
1401671a1:	e9 88 00 00 00       	jmp    0x14016722e
1401671a6:	48 83 3a 00          	cmpq   $0x0,(%rdx)
1401671aa:	7c 62                	jl     0x14016720e
1401671ac:	75 06                	jne    0x1401671b4
1401671ae:	83 7a 08 00          	cmpl   $0x0,0x8(%rdx)
1401671b2:	7e 5a                	jle    0x14016720e
1401671b4:	ba 01 00 00 00       	mov    $0x1,%edx
1401671b9:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401671be:	e8 e1 03 00 00       	call   0x1401675a4
1401671c3:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
1401671c8:	49 3b 06             	cmp    (%r14),%rax
1401671cb:	7c 0c                	jl     0x1401671d9
1401671cd:	75 7d                	jne    0x14016724c
1401671cf:	41 8b 46 08          	mov    0x8(%r14),%eax
1401671d3:	39 44 24 28          	cmp    %eax,0x28(%rsp)
1401671d7:	7d 73                	jge    0x14016724c
1401671d9:	ff 15 e1 70 09 00    	call   *0x970e1(%rip)        # 0x1401fe2c0
1401671df:	39 46 48             	cmp    %eax,0x48(%rsi)
1401671e2:	74 4a                	je     0x14016722e
1401671e4:	48 8b 46 08          	mov    0x8(%rsi),%rax
1401671e8:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401671ed:	49 8b ce             	mov    %r14,%rcx
1401671f0:	48 8b 58 10          	mov    0x10(%rax),%rbx
1401671f4:	e8 a7 02 00 00       	call   0x1401674a0
1401671f9:	8b d0                	mov    %eax,%edx
1401671fb:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
1401671ff:	48 8b c3             	mov    %rbx,%rax
140167202:	ff 15 18 74 09 00    	call   *0x97418(%rip)        # 0x1401fe620
140167208:	84 c0                	test   %al,%al
14016720a:	75 22                	jne    0x14016722e
14016720c:	eb a6                	jmp    0x1401671b4
14016720e:	ff 15 ac 70 09 00    	call   *0x970ac(%rip)        # 0x1401fe2c0
140167214:	39 46 48             	cmp    %eax,0x48(%rsi)
140167217:	74 15                	je     0x14016722e
140167219:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
14016721d:	48 8b 01             	mov    (%rcx),%rax
140167220:	48 8b 40 08          	mov    0x8(%rax),%rax
140167224:	ff 15 f6 73 09 00    	call   *0x973f6(%rip)        # 0x1401fe620
14016722a:	84 c0                	test   %al,%al
14016722c:	74 1e                	je     0x14016724c
14016722e:	8b 4e 4c             	mov    0x4c(%rsi),%ecx
140167231:	8d 41 01             	lea    0x1(%rcx),%eax
140167234:	89 46 4c             	mov    %eax,0x4c(%rsi)
140167237:	83 f8 01             	cmp    $0x1,%eax
14016723a:	7e 2b                	jle    0x140167267
14016723c:	f7 06 00 01 00 00    	testl  $0x100,(%rsi)
140167242:	75 2c                	jne    0x140167270
140167244:	89 4e 4c             	mov    %ecx,0x4c(%rsi)
140167247:	4d 85 f6             	test   %r14,%r14
14016724a:	74 14                	je     0x140167260
14016724c:	49 83 3e 00          	cmpq   $0x0,(%r14)
140167250:	75 07                	jne    0x140167259
140167252:	41 83 7e 08 00       	cmpl   $0x0,0x8(%r14)
140167257:	74 07                	je     0x140167260
140167259:	b8 02 00 00 00       	mov    $0x2,%eax
14016725e:	eb 12                	jmp    0x140167272
140167260:	b8 03 00 00 00       	mov    $0x3,%eax
140167265:	eb 0b                	jmp    0x140167272
140167267:	ff 15 53 70 09 00    	call   *0x97053(%rip)        # 0x1401fe2c0
14016726d:	89 46 48             	mov    %eax,0x48(%rsi)
140167270:	33 c0                	xor    %eax,%eax
140167272:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140167277:	48 33 cc             	xor    %rsp,%rcx
14016727a:	e8 51 f0 01 00       	call   0x1401862d0
14016727f:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140167284:	48 83 c4 40          	add    $0x40,%rsp
140167288:	41 5e                	pop    %r14
14016728a:	5f                   	pop    %rdi
14016728b:	5e                   	pop    %rsi
14016728c:	c3                   	ret
14016728d:	cc                   	int3
14016728e:	cc                   	int3
14016728f:	cc                   	int3
140167290:	48 83 ec 28          	sub    $0x28,%rsp
140167294:	48 83 c1 08          	add    $0x8,%rcx
140167298:	ff 15 9a 70 09 00    	call   *0x9709a(%rip)        # 0x1401fe338
14016729e:	85 c0                	test   %eax,%eax
1401672a0:	0f 95 c0             	setne  %al
1401672a3:	48 83 c4 28          	add    $0x28,%rsp
1401672a7:	c3                   	ret
1401672a8:	48 83 ec 28          	sub    $0x28,%rsp
1401672ac:	48 83 c1 08          	add    $0x8,%rcx
1401672b0:	e8 63 31 00 00       	call   0x14016a418
1401672b5:	84 c0                	test   %al,%al
1401672b7:	0f 95 c0             	setne  %al
1401672ba:	48 83 c4 28          	add    $0x28,%rsp
1401672be:	c3                   	ret
1401672bf:	cc                   	int3
1401672c0:	48 83 c1 08          	add    $0x8,%rcx
1401672c4:	48 ff 25 5d 6f 09 00 	rex.W jmp *0x96f5d(%rip)        # 0x1401fe228
1401672cb:	cc                   	int3
1401672cc:	48 83 c1 08          	add    $0x8,%rcx
1401672d0:	48 ff 25 79 70 09 00 	rex.W jmp *0x97079(%rip)        # 0x1401fe350
1401672d7:	cc                   	int3
1401672d8:	83 49 48 ff          	orl    $0xffffffff,0x48(%rcx)
1401672dc:	ff 49 4c             	decl   0x4c(%rcx)
1401672df:	c3                   	ret
1401672e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401672e5:	57                   	push   %rdi
1401672e6:	48 83 ec 20          	sub    $0x20,%rsp
1401672ea:	33 db                	xor    %ebx,%ebx
1401672ec:	48 8b f9             	mov    %rcx,%rdi
1401672ef:	39 59 4c             	cmp    %ebx,0x4c(%rcx)
1401672f2:	74 10                	je     0x140167304
1401672f4:	ff 15 c6 6f 09 00    	call   *0x96fc6(%rip)        # 0x1401fe2c0
1401672fa:	39 47 48             	cmp    %eax,0x48(%rdi)
1401672fd:	75 05                	jne    0x140167304
1401672ff:	bb 01 00 00 00       	mov    $0x1,%ebx
140167304:	8b c3                	mov    %ebx,%eax
140167306:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14016730b:	48 83 c4 20          	add    $0x20,%rsp
14016730f:	5f                   	pop    %rdi
140167310:	c3                   	ret
140167311:	cc                   	int3
140167312:	cc                   	int3
140167313:	cc                   	int3
140167314:	48 83 c1 08          	add    $0x8,%rcx
140167318:	48 8b 01             	mov    (%rcx),%rax
14016731b:	48 8b 40 20          	mov    0x20(%rax),%rax
14016731f:	48 ff 25 fa 72 09 00 	rex.W jmp *0x972fa(%rip)        # 0x1401fe620
140167326:	cc                   	int3
140167327:	cc                   	int3
140167328:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14016732d:	57                   	push   %rdi
14016732e:	48 83 ec 20          	sub    $0x20,%rsp
140167332:	48 8b f9             	mov    %rcx,%rdi
140167335:	8b da                	mov    %edx,%ebx
140167337:	48 83 c1 08          	add    $0x8,%rcx
14016733b:	e8 5c fd ff ff       	call   0x14016709c
140167340:	83 4f 48 ff          	orl    $0xffffffff,0x48(%rdi)
140167344:	83 67 4c 00          	andl   $0x0,0x4c(%rdi)
140167348:	89 1f                	mov    %ebx,(%rdi)
14016734a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14016734f:	48 83 c4 20          	add    $0x20,%rsp
140167353:	5f                   	pop    %rdi
140167354:	c3                   	ret
140167355:	cc                   	int3
140167356:	cc                   	int3
140167357:	cc                   	int3
140167358:	33 d2                	xor    %edx,%edx
14016735a:	e9 c5 fd ff ff       	jmp    0x140167124
14016735f:	cc                   	int3
140167360:	40 53                	rex push %rbx
140167362:	48 83 ec 20          	sub    $0x20,%rsp
140167366:	48 8b d9             	mov    %rcx,%rbx
140167369:	ff 15 51 6f 09 00    	call   *0x96f51(%rip)        # 0x1401fe2c0
14016736f:	ff 43 4c             	incl   0x4c(%rbx)
140167372:	89 43 48             	mov    %eax,0x48(%rbx)
140167375:	48 83 c4 20          	add    $0x20,%rsp
140167379:	5b                   	pop    %rbx
14016737a:	c3                   	ret
14016737b:	cc                   	int3
14016737c:	48 83 ec 28          	sub    $0x28,%rsp
140167380:	83 69 4c 01          	subl   $0x1,0x4c(%rcx)
140167384:	75 15                	jne    0x14016739b
140167386:	83 49 48 ff          	orl    $0xffffffff,0x48(%rcx)
14016738a:	48 83 c1 08          	add    $0x8,%rcx
14016738e:	48 8b 01             	mov    (%rcx),%rax
140167391:	48 8b 40 18          	mov    0x18(%rax),%rax
140167395:	ff 15 85 72 09 00    	call   *0x97285(%rip)        # 0x1401fe620
14016739b:	33 c0                	xor    %eax,%eax
14016739d:	48 83 c4 28          	add    $0x28,%rsp
1401673a1:	c3                   	ret
1401673a2:	cc                   	int3
1401673a3:	cc                   	int3
1401673a4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401673a9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401673ae:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401673b3:	57                   	push   %rdi
1401673b4:	48 83 ec 20          	sub    $0x20,%rsp
1401673b8:	48 8d 1d d1 4e 1b 00 	lea    0x1b4ed1(%rip),%rbx        # 0x14031c290
1401673bf:	e8 d0 13 00 00       	call   0x140168794
1401673c4:	8b e8                	mov    %eax,%ebp
1401673c6:	e8 81 04 00 00       	call   0x14016784c
1401673cb:	8b 8b 20 03 00 00    	mov    0x320(%rbx),%ecx
1401673d1:	33 f6                	xor    %esi,%esi
1401673d3:	85 c9                	test   %ecx,%ecx
1401673d5:	74 59                	je     0x140167430
1401673d7:	48 8d 7b 10          	lea    0x10(%rbx),%rdi
1401673db:	48 83 fe 14          	cmp    $0x14,%rsi
1401673df:	7d 4f                	jge    0x140167430
1401673e1:	48 8b 17             	mov    (%rdi),%rdx
1401673e4:	8b c1                	mov    %ecx,%eax
1401673e6:	48 85 d2             	test   %rdx,%rdx
1401673e9:	74 38                	je     0x140167423
1401673eb:	39 6f f8             	cmp    %ebp,-0x8(%rdi)
1401673ee:	75 33                	jne    0x140167423
1401673f0:	48 8b 47 10          	mov    0x10(%rdi),%rax
1401673f4:	48 85 c0             	test   %rax,%rax
1401673f7:	74 09                	je     0x140167402
1401673f9:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
1401673ff:	48 8b 17             	mov    (%rdi),%rdx
140167402:	48 8b ca             	mov    %rdx,%rcx
140167405:	e8 72 ff ff ff       	call   0x14016737c
14016740a:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14016740e:	e8 c1 f9 ff ff       	call   0x140166dd4
140167413:	48 83 27 00          	andq   $0x0,(%rdi)
140167417:	ff 8b 20 03 00 00    	decl   0x320(%rbx)
14016741d:	8b 83 20 03 00 00    	mov    0x320(%rbx),%eax
140167423:	48 ff c6             	inc    %rsi
140167426:	48 83 c7 28          	add    $0x28,%rdi
14016742a:	8b c8                	mov    %eax,%ecx
14016742c:	85 c0                	test   %eax,%eax
14016742e:	75 ab                	jne    0x1401673db
140167430:	48 8b 9b 28 03 00 00 	mov    0x328(%rbx),%rbx
140167437:	48 85 db             	test   %rbx,%rbx
14016743a:	75 8f                	jne    0x1401673cb
14016743c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140167441:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140167446:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14016744b:	48 83 c4 20          	add    $0x20,%rsp
14016744f:	5f                   	pop    %rdi
140167450:	e9 03 04 00 00       	jmp    0x140167858
140167455:	cc                   	int3
140167456:	cc                   	int3
140167457:	cc                   	int3
140167458:	48 83 ec 28          	sub    $0x28,%rsp
14016745c:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140167461:	ff 15 c9 6e 09 00    	call   *0x96ec9(%rip)        # 0x1401fe330
140167467:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14016746c:	48 83 c4 28          	add    $0x28,%rsp
140167470:	c3                   	ret
140167471:	cc                   	int3
140167472:	cc                   	int3
140167473:	cc                   	int3
140167474:	48 83 ec 28          	sub    $0x28,%rsp
140167478:	48 8b 05 41 51 1b 00 	mov    0x1b5141(%rip),%rax        # 0x14031c5c0
14016747f:	48 85 c0             	test   %rax,%rax
140167482:	75 17                	jne    0x14016749b
140167484:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140167489:	ff 15 99 6e 09 00    	call   *0x96e99(%rip)        # 0x1401fe328
14016748f:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140167494:	48 89 05 25 51 1b 00 	mov    %rax,0x1b5125(%rip)        # 0x14031c5c0
14016749b:	48 83 c4 28          	add    $0x28,%rsp
14016749f:	c3                   	ret
1401674a0:	48 83 ec 18          	sub    $0x18,%rsp
1401674a4:	0f 10 01             	movups (%rcx),%xmm0
1401674a7:	4c 8b da             	mov    %rdx,%r11
1401674aa:	0f 11 04 24          	movups %xmm0,(%rsp)
1401674ae:	4c 8b 0c 24          	mov    (%rsp),%r9
1401674b2:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
1401674b7:	66 41 0f 7e c0       	movd   %xmm0,%r8d
1401674bc:	45 85 c0             	test   %r8d,%r8d
1401674bf:	79 26                	jns    0x1401674e7
1401674c1:	83 c9 ff             	or     $0xffffffff,%ecx
1401674c4:	b8 83 be e0 12       	mov    $0x12e0be83,%eax
1401674c9:	41 2b c8             	sub    %r8d,%ecx
1401674cc:	f7 e1                	mul    %ecx
1401674ce:	2b ca                	sub    %edx,%ecx
1401674d0:	d1 e9                	shr    $1,%ecx
1401674d2:	03 ca                	add    %edx,%ecx
1401674d4:	c1 e9 1d             	shr    $0x1d,%ecx
1401674d7:	ff c1                	inc    %ecx
1401674d9:	69 c1 00 ca 9a 3b    	imul   $0x3b9aca00,%ecx,%eax
1401674df:	44 03 c0             	add    %eax,%r8d
1401674e2:	8b c1                	mov    %ecx,%eax
1401674e4:	4c 2b c8             	sub    %rax,%r9
1401674e7:	41 ba 00 ca 9a 3b    	mov    $0x3b9aca00,%r10d
1401674ed:	45 3b c2             	cmp    %r10d,%r8d
1401674f0:	7c 22                	jl     0x140167514
1401674f2:	b8 83 be e0 12       	mov    $0x12e0be83,%eax
1401674f7:	41 f7 e0             	mul    %r8d
1401674fa:	41 8b c0             	mov    %r8d,%eax
1401674fd:	2b c2                	sub    %edx,%eax
1401674ff:	d1 e8                	shr    $1,%eax
140167501:	03 c2                	add    %edx,%eax
140167503:	c1 e8 1d             	shr    $0x1d,%eax
140167506:	8b c8                	mov    %eax,%ecx
140167508:	69 c0 00 36 65 c4    	imul   $0xc4653600,%eax,%eax
14016750e:	44 03 c0             	add    %eax,%r8d
140167511:	4c 03 c9             	add    %rcx,%r9
140167514:	45 3b 43 08          	cmp    0x8(%r11),%r8d
140167518:	7d 13                	jge    0x14016752d
14016751a:	45 2b 53 08          	sub    0x8(%r11),%r10d
14016751e:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140167522:	49 2b 03             	sub    (%r11),%rax
140167525:	4c 03 c8             	add    %rax,%r9
140167528:	45 03 c2             	add    %r10d,%r8d
14016752b:	eb 07                	jmp    0x140167534
14016752d:	4d 2b 0b             	sub    (%r11),%r9
140167530:	45 2b 43 08          	sub    0x8(%r11),%r8d
140167534:	4c 89 0c 24          	mov    %r9,(%rsp)
140167538:	4d 85 c9             	test   %r9,%r9
14016753b:	78 07                	js     0x140167544
14016753d:	75 0d                	jne    0x14016754c
14016753f:	45 85 c0             	test   %r8d,%r8d
140167542:	7f 08                	jg     0x14016754c
140167544:	48 83 24 24 00       	andq   $0x0,(%rsp)
140167549:	45 33 c0             	xor    %r8d,%r8d
14016754c:	41 8d 88 3f 42 0f 00 	lea    0xf423f(%r8),%ecx
140167553:	b8 83 de 1b 43       	mov    $0x431bde83,%eax
140167558:	f7 e9                	imul   %ecx
14016755a:	69 0c 24 e8 03 00 00 	imul   $0x3e8,(%rsp),%ecx
140167561:	c1 fa 12             	sar    $0x12,%edx
140167564:	8b c2                	mov    %edx,%eax
140167566:	c1 e8 1f             	shr    $0x1f,%eax
140167569:	03 c2                	add    %edx,%eax
14016756b:	03 c1                	add    %ecx,%eax
14016756d:	48 83 c4 18          	add    $0x18,%rsp
140167571:	c3                   	ret
140167572:	cc                   	int3
140167573:	cc                   	int3
140167574:	48 83 ec 28          	sub    $0x28,%rsp
140167578:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14016757d:	e8 7a 2e 00 00       	call   0x14016a3fc
140167582:	8b 44 24 34          	mov    0x34(%rsp),%eax
140167586:	48 ba 00 80 c1 2a 21 	movabs $0xfe624e212ac18000,%rdx
14016758d:	4e 62 fe
140167590:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140167594:	48 c1 e0 20          	shl    $0x20,%rax
140167598:	48 03 c2             	add    %rdx,%rax
14016759b:	48 03 c1             	add    %rcx,%rax
14016759e:	48 83 c4 28          	add    $0x28,%rsp
1401675a2:	c3                   	ret
1401675a3:	cc                   	int3
1401675a4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401675a9:	57                   	push   %rdi
1401675aa:	48 83 ec 20          	sub    $0x20,%rsp
1401675ae:	8b da                	mov    %edx,%ebx
1401675b0:	48 8b f9             	mov    %rcx,%rdi
1401675b3:	83 fa 01             	cmp    $0x1,%edx
1401675b6:	75 33                	jne    0x1401675eb
1401675b8:	48 85 c9             	test   %rcx,%rcx
1401675bb:	74 2e                	je     0x1401675eb
1401675bd:	e8 b2 ff ff ff       	call   0x140167574
1401675c2:	4c 8b c0             	mov    %rax,%r8
1401675c5:	48 b8 bd 42 7a e5 d5 	movabs $0xd6bf94d5e57a42bd,%rax
1401675cc:	94 bf d6
1401675cf:	49 f7 e0             	mul    %r8
1401675d2:	48 c1 ea 17          	shr    $0x17,%rdx
1401675d6:	69 ca 80 96 98 00    	imul   $0x989680,%edx,%ecx
1401675dc:	48 89 17             	mov    %rdx,(%rdi)
1401675df:	44 2b c1             	sub    %ecx,%r8d
1401675e2:	41 6b c0 64          	imul   $0x64,%r8d,%eax
1401675e6:	89 47 08             	mov    %eax,0x8(%rdi)
1401675e9:	eb 02                	jmp    0x1401675ed
1401675eb:	33 db                	xor    %ebx,%ebx
1401675ed:	8b c3                	mov    %ebx,%eax
1401675ef:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401675f4:	48 83 c4 20          	add    $0x20,%rsp
1401675f8:	5f                   	pop    %rdi
1401675f9:	c3                   	ret
1401675fa:	cc                   	int3
1401675fb:	cc                   	int3
1401675fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140167601:	57                   	push   %rdi
140167602:	48 83 ec 20          	sub    $0x20,%rsp
140167606:	48 8b da             	mov    %rdx,%rbx
140167609:	48 8d 05 48 67 0b 00 	lea    0xb6748(%rip),%rax        # 0x14021dd58