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
140167610:	48 89 01             	mov    %rax,(%rcx)
140167613:	48 8d 51 08          	lea    0x8(%rcx),%rdx
140167617:	48 8b f9             	mov    %rcx,%rdi
14016761a:	0f 57 c0             	xorps  %xmm0,%xmm0
14016761d:	0f 11 02             	movups %xmm0,(%rdx)
140167620:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140167624:	e8 d7 15 02 00       	call   0x140188c00
140167629:	48 8d 05 88 6f 0b 00 	lea    0xb6f88(%rip),%rax        # 0x14021e5b8
140167630:	48 89 07             	mov    %rax,(%rdi)
140167633:	48 8b c7             	mov    %rdi,%rax
140167636:	0f 10 43 18          	movups 0x18(%rbx),%xmm0
14016763a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14016763f:	f3 0f 7f 47 18       	movdqu %xmm0,0x18(%rdi)
140167644:	48 83 c4 20          	add    $0x20,%rsp
140167648:	5f                   	pop    %rdi
140167649:	c3                   	ret
14016764a:	cc                   	int3
14016764b:	cc                   	int3
14016764c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140167651:	57                   	push   %rdi
140167652:	48 83 ec 30          	sub    $0x30,%rsp
140167656:	48 8d 05 fb 66 0b 00 	lea    0xb66fb(%rip),%rax        # 0x14021dd58
14016765d:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
140167662:	48 89 01             	mov    %rax,(%rcx)
140167665:	48 8b da             	mov    %rdx,%rbx
140167668:	48 8d 51 08          	lea    0x8(%rcx),%rdx
14016766c:	48 8b f9             	mov    %rcx,%rdi
14016766f:	48 8d 05 02 63 0c 00 	lea    0xc6302(%rip),%rax        # 0x14022d978
140167676:	0f 57 c0             	xorps  %xmm0,%xmm0
140167679:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14016767e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140167683:	0f 11 02             	movups %xmm0,(%rdx)
140167686:	e8 75 15 02 00       	call   0x140188c00
14016768b:	0f 10 03             	movups (%rbx),%xmm0
14016768e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140167693:	48 8d 05 1e 6f 0b 00 	lea    0xb6f1e(%rip),%rax        # 0x14021e5b8
14016769a:	48 89 07             	mov    %rax,(%rdi)
14016769d:	48 8b c7             	mov    %rdi,%rax
1401676a0:	f3 0f 7f 47 18       	movdqu %xmm0,0x18(%rdi)
1401676a5:	48 83 c4 30          	add    $0x30,%rsp
1401676a9:	5f                   	pop    %rdi
1401676aa:	c3                   	ret
1401676ab:	cc                   	int3
1401676ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401676b1:	57                   	push   %rdi
1401676b2:	48 83 ec 20          	sub    $0x20,%rsp
1401676b6:	48 8d 05 9b 66 0b 00 	lea    0xb669b(%rip),%rax        # 0x14021dd58
1401676bd:	48 8b f9             	mov    %rcx,%rdi
1401676c0:	48 89 01             	mov    %rax,(%rcx)
1401676c3:	8b da                	mov    %edx,%ebx
1401676c5:	48 83 c1 08          	add    $0x8,%rcx
1401676c9:	e8 c2 15 02 00       	call   0x140188c90
1401676ce:	f6 c3 01             	test   $0x1,%bl
1401676d1:	74 0d                	je     0x1401676e0
1401676d3:	ba 28 00 00 00       	mov    $0x28,%edx
1401676d8:	48 8b cf             	mov    %rdi,%rcx
1401676db:	e8 6c ef 01 00       	call   0x14018664c
1401676e0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401676e5:	48 8b c7             	mov    %rdi,%rax
1401676e8:	48 83 c4 20          	add    $0x20,%rsp
1401676ec:	5f                   	pop    %rdi
1401676ed:	c3                   	ret
1401676ee:	cc                   	int3
1401676ef:	cc                   	int3
1401676f0:	48 83 ec 68          	sub    $0x68,%rsp
1401676f4:	0f 10 01             	movups (%rcx),%xmm0
1401676f7:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401676fc:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140167701:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
140167707:	e8 40 ff ff ff       	call   0x14016764c
14016770c:	48 8d 15 45 15 14 00 	lea    0x141545(%rip),%rdx        # 0x1402a8c58
140167713:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140167718:	e8 9b 15 02 00       	call   0x140188cb8
14016771d:	cc                   	int3
14016771e:	cc                   	int3
14016771f:	cc                   	int3
140167720:	8b 51 18             	mov    0x18(%rcx),%edx
140167723:	83 ea 01             	sub    $0x1,%edx
140167726:	74 2a                	je     0x140167752
140167728:	83 ea 01             	sub    $0x1,%edx
14016772b:	74 1d                	je     0x14016774a
14016772d:	83 ea 01             	sub    $0x1,%edx
140167730:	74 10                	je     0x140167742
140167732:	83 fa 01             	cmp    $0x1,%edx
140167735:	74 03                	je     0x14016773a
140167737:	33 c0                	xor    %eax,%eax
140167739:	c3                   	ret
14016773a:	48 8d 05 af 02 0d 00 	lea    0xd02af(%rip),%rax        # 0x1402379f0
140167741:	c3                   	ret
140167742:	48 8d 05 87 02 0d 00 	lea    0xd0287(%rip),%rax        # 0x1402379d0
140167749:	c3                   	ret
14016774a:	48 8d 05 5f 02 0d 00 	lea    0xd025f(%rip),%rax        # 0x1402379b0
140167751:	c3                   	ret
140167752:	48 8d 05 47 02 0d 00 	lea    0xd0247(%rip),%rax        # 0x1402379a0
140167759:	c3                   	ret
14016775a:	cc                   	int3
14016775b:	cc                   	int3
14016775c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140167761:	57                   	push   %rdi
140167762:	48 83 ec 20          	sub    $0x20,%rsp
140167766:	48 8b f9             	mov    %rcx,%rdi
140167769:	f0 ff 05 54 3a 14 00 	lock incl 0x143a54(%rip)        # 0x1402ab1c4
140167770:	75 1f                	jne    0x140167791
140167772:	48 8d 1d 67 4e 1b 00 	lea    0x1b4e67(%rip),%rbx        # 0x14031c5e0
140167779:	48 8b cb             	mov    %rbx,%rcx
14016777c:	e8 af 2c 00 00       	call   0x14016a430
140167781:	48 8d 05 98 4f 1b 00 	lea    0x1b4f98(%rip),%rax        # 0x14031c720
140167788:	48 83 c3 28          	add    $0x28,%rbx
14016778c:	48 3b d8             	cmp    %rax,%rbx
14016778f:	75 e8                	jne    0x140167779
140167791:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140167796:	48 8b c7             	mov    %rdi,%rax
140167799:	48 83 c4 20          	add    $0x20,%rsp
14016779d:	5f                   	pop    %rdi
14016779e:	c3                   	ret
14016779f:	cc                   	int3
1401677a0:	40 53                	rex push %rbx
1401677a2:	48 83 ec 20          	sub    $0x20,%rsp
1401677a6:	89 11                	mov    %edx,(%rcx)
1401677a8:	48 8b d9             	mov    %rcx,%rbx
1401677ab:	85 d2                	test   %edx,%edx
1401677ad:	75 07                	jne    0x1401677b6
1401677af:	e8 04 7d 03 00       	call   0x14019f4b8
1401677b4:	eb 1c                	jmp    0x1401677d2
1401677b6:	83 fa 08             	cmp    $0x8,%edx
1401677b9:	7d 17                	jge    0x1401677d2
1401677bb:	48 63 c2             	movslq %edx,%rax
1401677be:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
1401677c2:	48 8d 05 17 4e 1b 00 	lea    0x1b4e17(%rip),%rax        # 0x14031c5e0
1401677c9:	48 8d 0c c8          	lea    (%rax,%rcx,8),%rcx
1401677cd:	e8 6e 2c 00 00       	call   0x14016a440
1401677d2:	48 8b c3             	mov    %rbx,%rax
1401677d5:	48 83 c4 20          	add    $0x20,%rsp
1401677d9:	5b                   	pop    %rbx
1401677da:	c3                   	ret
1401677db:	cc                   	int3
1401677dc:	40 53                	rex push %rbx
1401677de:	48 83 ec 20          	sub    $0x20,%rsp
1401677e2:	83 c8 ff             	or     $0xffffffff,%eax
1401677e5:	f0 0f c1 05 d7 39 14 	lock xadd %eax,0x1439d7(%rip)        # 0x1402ab1c4
1401677ec:	00
1401677ed:	83 f8 01             	cmp    $0x1,%eax
1401677f0:	79 1f                	jns    0x140167811
1401677f2:	48 8d 1d e7 4d 1b 00 	lea    0x1b4de7(%rip),%rbx        # 0x14031c5e0
1401677f9:	48 8b cb             	mov    %rbx,%rcx
1401677fc:	e8 27 2c 00 00       	call   0x14016a428
140167801:	48 8d 05 18 4f 1b 00 	lea    0x1b4f18(%rip),%rax        # 0x14031c720
140167808:	48 83 c3 28          	add    $0x28,%rbx
14016780c:	48 3b d8             	cmp    %rax,%rbx
14016780f:	75 e8                	jne    0x1401677f9
140167811:	48 83 c4 20          	add    $0x20,%rsp
140167815:	5b                   	pop    %rbx
140167816:	c3                   	ret
140167817:	cc                   	int3
140167818:	48 83 ec 28          	sub    $0x28,%rsp
14016781c:	48 63 01             	movslq (%rcx),%rax
14016781f:	85 c0                	test   %eax,%eax
140167821:	75 09                	jne    0x14016782c
140167823:	48 83 c4 28          	add    $0x28,%rsp
140167827:	e9 9c 7c 03 00       	jmp    0x14019f4c8
14016782c:	83 f8 08             	cmp    $0x8,%eax
14016782f:	7d 14                	jge    0x140167845
140167831:	48 8d 0c 80          	lea    (%rax,%rax,4),%rcx
140167835:	48 8d 05 a4 4d 1b 00 	lea    0x1b4da4(%rip),%rax        # 0x14031c5e0
14016783c:	48 8d 0c c8          	lea    (%rax,%rcx,8),%rcx
140167840:	e8 03 2c 00 00       	call   0x14016a448
140167845:	48 83 c4 28          	add    $0x28,%rsp
140167849:	c3                   	ret
14016784a:	cc                   	int3
14016784b:	cc                   	int3
14016784c:	48 8d 0d 2d 4e 1b 00 	lea    0x1b4e2d(%rip),%rcx        # 0x14031c680
140167853:	e9 e8 2b 00 00       	jmp    0x14016a440
140167858:	48 8d 0d 21 4e 1b 00 	lea    0x1b4e21(%rip),%rcx        # 0x14031c680
14016785f:	e9 e4 2b 00 00       	jmp    0x14016a448
140167864:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)