14031228c:	cc                   	int3
14031228d:	cc                   	int3
14031228e:	cc                   	int3
14031228f:	cc                   	int3
140312290:	40 57                	rex push %rdi
140312292:	48 83 ec 20          	sub    $0x20,%rsp
140312296:	48 8b f9             	mov    %rcx,%rdi
140312299:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14031229d:	48 85 c9             	test   %rcx,%rcx
1403122a0:	0f 84 a7 00 00 00    	je     0x14031234d
1403122a6:	48 8b 47 38          	mov    0x38(%rdi),%rax
1403122aa:	48 c1 e8 03          	shr    $0x3,%rax
1403122ae:	48 3b c1             	cmp    %rcx,%rax
1403122b1:	76 17                	jbe    0x1403122ca
1403122b3:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1403122b7:	48 8b cf             	mov    %rdi,%rcx
1403122ba:	4c 8b c2             	mov    %rdx,%r8
1403122bd:	48 8b 12             	mov    (%rdx),%rdx
1403122c0:	48 83 c4 20          	add    $0x20,%rsp
1403122c4:	5f                   	pop    %rdi
1403122c5:	e9 d6 ee da ff       	jmp    0x1400c11a0
1403122ca:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1403122ce:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
1403122d3:	48 8b 41 08          	mov    0x8(%rcx),%rax
1403122d7:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1403122de:	48 8b 31             	mov    (%rcx),%rsi
1403122e1:	48 85 f6             	test   %rsi,%rsi
1403122e4:	74 30                	je     0x140312316
1403122e6:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
1403122eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1403122f0:	48 8b 1e             	mov    (%rsi),%rbx
1403122f3:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
1403122f7:	e8 84 67 d8 ff       	call   0x140098a80
1403122fc:	ba 48 00 00 00       	mov    $0x48,%edx
140312301:	48 8b ce             	mov    %rsi,%rcx
140312304:	e8 7b 7f fe ff       	call   0x1402fa284
140312309:	48 8b f3             	mov    %rbx,%rsi
14031230c:	48 85 db             	test   %rbx,%rbx
14031230f:	75 df                	jne    0x1403122f0
140312311:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140312316:	48 8b 47 08          	mov    0x8(%rdi),%rax
14031231a:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14031231f:	48 89 00             	mov    %rax,(%rax)
140312322:	48 8b 47 08          	mov    0x8(%rdi),%rax
140312326:	48 89 40 08          	mov    %rax,0x8(%rax)
14031232a:	48 c7 47 10 00 00 00 	movq   $0x0,0x10(%rdi)
140312331:	00
140312332:	48 8b 47 08          	mov    0x8(%rdi),%rax
140312336:	48 8b 57 20          	mov    0x20(%rdi),%rdx
14031233a:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
14031233e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140312343:	e8 a8 24 d8 ff       	call   0x1400947f0
140312348:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14031234d:	48 83 c4 20          	add    $0x20,%rsp
140312351:	5f                   	pop    %rdi
140312352:	c3                   	ret
140312353:	cc                   	int3
140312354:	cc                   	int3
140312355:	cc                   	int3
140312356:	cc                   	int3
140312357:	cc                   	int3
140312358:	cc                   	int3
140312359:	cc                   	int3
14031235a:	cc                   	int3
14031235b:	cc                   	int3
14031235c:	cc                   	int3
14031235d:	cc                   	int3
14031235e:	cc                   	int3
14031235f:	cc                   	int3
140312360:	48 83 ec 28          	sub    $0x28,%rsp
140312364:	49 c1 e0 07          	shl    $0x7,%r8
140312368:	48 8b c2             	mov    %rdx,%rax
14031236b:	49 81 f8 00 10 00 00 	cmp    $0x1000,%r8
140312372:	72 18                	jb     0x14031238c
140312374:	48 8b 4a f8          	mov    -0x8(%rdx),%rcx
140312378:	49 83 c0 27          	add    $0x27,%r8
14031237c:	48 2b c1             	sub    %rcx,%rax
14031237f:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140312383:	48 83 f8 1f          	cmp    $0x1f,%rax
140312387:	77 12                	ja     0x14031239b
140312389:	48 8b c1             	mov    %rcx,%rax
14031238c:	49 8b d0             	mov    %r8,%rdx
14031238f:	48 8b c8             	mov    %rax,%rcx
140312392:	48 83 c4 28          	add    $0x28,%rsp
140312396:	e9 e9 7e fe ff       	jmp    0x1402fa284
14031239b:	ff 15 57 7c 01 00    	call   *0x17c57(%rip)        # 0x140329ff8
1403123a1:	cc                   	int3
1403123a2:	cc                   	int3
1403123a3:	cc                   	int3
1403123a4:	cc                   	int3
1403123a5:	cc                   	int3
1403123a6:	cc                   	int3
1403123a7:	cc                   	int3
1403123a8:	cc                   	int3
1403123a9:	cc                   	int3
1403123aa:	cc                   	int3
1403123ab:	cc                   	int3
1403123ac:	cc                   	int3
1403123ad:	cc                   	int3
1403123ae:	cc                   	int3
1403123af:	cc                   	int3
1403123b0:	48 83 ec 28          	sub    $0x28,%rsp
1403123b4:	48 8b c2             	mov    %rdx,%rax
1403123b7:	4b 8d 14 80          	lea    (%r8,%r8,4),%rdx
1403123bb:	48 c1 e2 05          	shl    $0x5,%rdx
1403123bf:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403123c6:	72 18                	jb     0x1403123e0
1403123c8:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1403123cc:	48 83 c2 27          	add    $0x27,%rdx
1403123d0:	48 2b c1             	sub    %rcx,%rax
1403123d3:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1403123d7:	48 83 f8 1f          	cmp    $0x1f,%rax
1403123db:	77 0f                	ja     0x1403123ec
1403123dd:	48 8b c1             	mov    %rcx,%rax
1403123e0:	48 8b c8             	mov    %rax,%rcx
1403123e3:	48 83 c4 28          	add    $0x28,%rsp
1403123e7:	e9 98 7e fe ff       	jmp    0x1402fa284
1403123ec:	ff 15 06 7c 01 00    	call   *0x17c06(%rip)        # 0x140329ff8
1403123f2:	cc                   	int3
1403123f3:	cc                   	int3
1403123f4:	cc                   	int3
1403123f5:	cc                   	int3
1403123f6:	cc                   	int3
1403123f7:	cc                   	int3
1403123f8:	cc                   	int3
1403123f9:	cc                   	int3
1403123fa:	cc                   	int3
1403123fb:	cc                   	int3
1403123fc:	cc                   	int3
1403123fd:	cc                   	int3
1403123fe:	cc                   	int3
1403123ff:	cc                   	int3
140312400:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140312405:	48 83 ec 28          	sub    $0x28,%rsp
140312409:	4c 8b 41 10          	mov    0x10(%rcx),%r8
14031240d:	4c 8b ca             	mov    %rdx,%r9
140312410:	4c 2b 01             	sub    (%rcx),%r8
140312413:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
14031241a:	66 66 66
14031241d:	49 f7 e8             	imul   %r8
140312420:	48 c1 fa 06          	sar    $0x6,%rdx
140312424:	48 8b c2             	mov    %rdx,%rax
140312427:	48 c1 e8 3f          	shr    $0x3f,%rax
14031242b:	48 03 d0             	add    %rax,%rdx
14031242e:	4c 3b ca             	cmp    %rdx,%r9
140312431:	76 19                	jbe    0x14031244c
140312433:	48 b8 99 99 99 99 99 	movabs $0x199999999999999,%rax
14031243a:	99 99 01
14031243d:	4c 3b c8             	cmp    %rax,%r9
140312440:	77 0f                	ja     0x140312451
140312442:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140312447:	e8 94 7b ff ff       	call   0x140309fe0
14031244c:	48 83 c4 28          	add    $0x28,%rsp
140312450:	c3                   	ret
140312451:	e8 8a f1 da ff       	call   0x1400c15e0
140312456:	cc                   	int3
140312457:	cc                   	int3
140312458:	cc                   	int3
140312459:	cc                   	int3
14031245a:	cc                   	int3
14031245b:	cc                   	int3
14031245c:	cc                   	int3
14031245d:	cc                   	int3
14031245e:	cc                   	int3
14031245f:	cc                   	int3
140312460:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140312465:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14031246a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14031246f:	57                   	push   %rdi
140312470:	48 83 ec 20          	sub    $0x20,%rsp
140312474:	49 8b f8             	mov    %r8,%rdi
140312477:	48 8b f1             	mov    %rcx,%rsi
14031247a:	e8 51 39 d7 ff       	call   0x140085dd0
14031247f:	90                   	nop
140312480:	48 8d 5e 20          	lea    0x20(%rsi),%rbx
140312484:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140312489:	48 8b d7             	mov    %rdi,%rdx
14031248c:	48 8b cb             	mov    %rbx,%rcx
14031248f:	e8 3c 39 d7 ff       	call   0x140085dd0
140312494:	90                   	nop
140312495:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140312499:	48 8d 57 20          	lea    0x20(%rdi),%rdx
14031249d:	e8 9e 05 00 00       	call   0x140312a40
1403124a2:	90                   	nop
1403124a3:	48 8d 8b 58 01 00 00 	lea    0x158(%rbx),%rcx
1403124aa:	48 8d 97 58 01 00 00 	lea    0x158(%rdi),%rdx
1403124b1:	e8 9a 2d d8 ff       	call   0x140095250
1403124b6:	90                   	nop
1403124b7:	48 8b c6             	mov    %rsi,%rax
1403124ba:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1403124bf:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1403124c4:	48 83 c4 20          	add    $0x20,%rsp
1403124c8:	5f                   	pop    %rdi
1403124c9:	c3                   	ret
1403124ca:	cc                   	int3
1403124cb:	cc                   	int3
1403124cc:	cc                   	int3
1403124cd:	cc                   	int3
1403124ce:	cc                   	int3
1403124cf:	cc                   	int3
1403124d0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1403124d5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1403124da:	56                   	push   %rsi
1403124db:	48 83 ec 20          	sub    $0x20,%rsp
1403124df:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
1403124e4:	49 8b d8             	mov    %r8,%rbx
1403124e7:	48 8b f2             	mov    %rdx,%rsi
1403124ea:	48 8b e9             	mov    %rcx,%rbp
1403124ed:	75 47                	jne    0x140312536
1403124ef:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1403124f4:	0f 1f 40 00          	nopl   0x0(%rax)
1403124f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1403124ff:	00
140312500:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140312504:	48 8b d6             	mov    %rsi,%rdx
140312507:	48 8b cd             	mov    %rbp,%rcx
14031250a:	e8 c1 ff ff ff       	call   0x1403124d0
14031250f:	48 8b fb             	mov    %rbx,%rdi
140312512:	48 8b 1b             	mov    (%rbx),%rbx
140312515:	48 8d 4f 20          	lea    0x20(%rdi),%rcx
140312519:	e8 c2 06 00 00       	call   0x140312be0
14031251e:	ba b0 01 00 00       	mov    $0x1b0,%edx
140312523:	48 8b cf             	mov    %rdi,%rcx
140312526:	e8 59 7d fe ff       	call   0x1402fa284
14031252b:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14031252f:	74 cf                	je     0x140312500
140312531:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140312536:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14031253b:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140312540:	48 83 c4 20          	add    $0x20,%rsp
140312544:	5e                   	pop    %rsi
140312545:	c3                   	ret
140312546:	cc                   	int3
140312547:	cc                   	int3
140312548:	cc                   	int3
140312549:	cc                   	int3
14031254a:	cc                   	int3
14031254b:	cc                   	int3
14031254c:	cc                   	int3
14031254d:	cc                   	int3
14031254e:	cc                   	int3
14031254f:	cc                   	int3
140312550:	40 53                	rex push %rbx
140312552:	56                   	push   %rsi
140312553:	57                   	push   %rdi
140312554:	41 55                	push   %r13
140312556:	41 56                	push   %r14
140312558:	48 83 ec 40          	sub    $0x40,%rsp
14031255c:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140312561:	4d 8b f1             	mov    %r9,%r14
140312564:	48 8b 01             	mov    (%rcx),%rax
140312567:	49 8b f0             	mov    %r8,%rsi
14031256a:	48 8b fa             	mov    %rdx,%rdi
14031256d:	4c 8b e9             	mov    %rcx,%r13
140312570:	74 43                	je     0x1403125b5
140312572:	48 8d 58 10          	lea    0x10(%rax),%rbx
140312576:	48 8b 40 08          	mov    0x8(%rax),%rax
14031257a:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14031257e:	75 17                	jne    0x140312597
140312580:	48 8b 13             	mov    (%rbx),%rdx
140312583:	4d 8b c1             	mov    %r9,%r8
140312586:	48 83 c2 20          	add    $0x20,%rdx
14031258a:	e8 a1 9b d8 ff       	call   0x14009c130
14031258f:	84 c0                	test   %al,%al
140312591:	0f 84 b9 01 00 00    	je     0x140312750
140312597:	48 8b 03             	mov    (%rbx),%rax
14031259a:	33 f6                	xor    %esi,%esi
14031259c:	48 89 07             	mov    %rax,(%rdi)
14031259f:	48 8b c7             	mov    %rdi,%rax
1403125a2:	89 77 08             	mov    %esi,0x8(%rdi)
1403125a5:	40 88 77 10          	mov    %sil,0x10(%rdi)
1403125a9:	48 83 c4 40          	add    $0x40,%rsp
1403125ad:	41 5e                	pop    %r14
1403125af:	41 5d                	pop    %r13
1403125b1:	5f                   	pop    %rdi
1403125b2:	5e                   	pop    %rsi
1403125b3:	5b                   	pop    %rbx
1403125b4:	c3                   	ret
1403125b5:	49 83 c0 20          	add    $0x20,%r8
1403125b9:	49 8b d6             	mov    %r14,%rdx
1403125bc:	48 3b 30             	cmp    (%rax),%rsi
1403125bf:	75 2a                	jne    0x1403125eb
1403125c1:	e8 6a 9b d8 ff       	call   0x14009c130
1403125c6:	84 c0                	test   %al,%al
1403125c8:	0f 84 82 01 00 00    	je     0x140312750
1403125ce:	48 89 37             	mov    %rsi,(%rdi)
1403125d1:	48 8b c7             	mov    %rdi,%rax
1403125d4:	c7 47 08 01 00 00 00 	movl   $0x1,0x8(%rdi)
1403125db:	c6 47 10 00          	movb   $0x0,0x10(%rdi)
1403125df:	48 83 c4 40          	add    $0x40,%rsp
1403125e3:	41 5e                	pop    %r14
1403125e5:	41 5d                	pop    %r13
1403125e7:	5f                   	pop    %rdi
1403125e8:	5e                   	pop    %rsi
1403125e9:	5b                   	pop    %rbx
1403125ea:	c3                   	ret
1403125eb:	e8 40 9b d8 ff       	call   0x14009c130
1403125f0:	84 c0                	test   %al,%al
1403125f2:	0f 84 c9 00 00 00    	je     0x1403126c1
1403125f8:	48 8b 1e             	mov    (%rsi),%rbx
1403125fb:	48 8b c6             	mov    %rsi,%rax
1403125fe:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140312602:	74 4d                	je     0x140312651
140312604:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140312608:	48 8b ce             	mov    %rsi,%rcx
14031260b:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14031260f:	75 36                	jne    0x140312647
140312611:	48 8b d6             	mov    %rsi,%rdx
140312614:	4c 8b c6             	mov    %rsi,%r8
140312617:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14031261e:	00 00
140312620:	4c 8b cb             	mov    %rbx,%r9
140312623:	4c 8b d3             	mov    %rbx,%r10
140312626:	4c 8b db             	mov    %rbx,%r11
140312629:	49 8b c8             	mov    %r8,%rcx
14031262c:	48 3b 13             	cmp    (%rbx),%rdx
14031262f:	75 16                	jne    0x140312647
140312631:	48 8b c3             	mov    %rbx,%rax
140312634:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140312638:	48 8b d0             	mov    %rax,%rdx
14031263b:	4c 8b c0             	mov    %rax,%r8
14031263e:	48 8b c8             	mov    %rax,%rcx
140312641:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140312645:	74 d9                	je     0x140312620
140312647:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
14031264b:	48 0f 45 d8          	cmovne %rax,%rbx
14031264f:	eb 1c                	jmp    0x14031266d
140312651:	48 8b 43 10          	mov    0x10(%rbx),%rax
140312655:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140312659:	75 12                	jne    0x14031266d
14031265b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140312660:	48 8b d8             	mov    %rax,%rbx
140312663:	48 8b 40 10          	mov    0x10(%rax),%rax
140312667:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
14031266b:	74 f3                	je     0x140312660
14031266d:	48 8d 53 20          	lea    0x20(%rbx),%rdx
140312671:	4d 8b c6             	mov    %r14,%r8
140312674:	49 8b cd             	mov    %r13,%rcx
140312677:	e8 b4 9a d8 ff       	call   0x14009c130
14031267c:	84 c0                	test   %al,%al
14031267e:	0f 84 cc 00 00 00    	je     0x140312750
140312684:	48 8b 43 10          	mov    0x10(%rbx),%rax
140312688:	0f b6 48 19          	movzbl 0x19(%rax),%ecx
14031268c:	48 8b c7             	mov    %rdi,%rax
14031268f:	c6 47 10 00          	movb   $0x0,0x10(%rdi)
140312693:	84 c9                	test   %cl,%cl
140312695:	74 14                	je     0x1403126ab
140312697:	33 f6                	xor    %esi,%esi
140312699:	48 89 1f             	mov    %rbx,(%rdi)
14031269c:	89 77 08             	mov    %esi,0x8(%rdi)