1401582aa:	49 89 f0             	mov    %rsi,%r8
1401582ad:	4c 89 e1             	mov    %r12,%rcx
1401582b0:	e8 2b 1b 09 00       	call   0x1401e9de0
1401582b5:	48 85 c0             	test   %rax,%rax
1401582b8:	0f 84 63 ff ff ff    	je     0x140158221
1401582be:	48 8b 05 1b 0d 0e 00 	mov    0xe0d1b(%rip),%rax        # 0x140238fe0
1401582c5:	48 8d 0d bc a6 0c 00 	lea    0xca6bc(%rip),%rcx        # 0x140222988
1401582cc:	83 38 00             	cmpl   $0x0,(%rax)
1401582cf:	74 08                	je     0x1401582d9
1401582d1:	e8 92 b0 08 00       	call   0x1401e3368
1401582d6:	48 89 c1             	mov    %rax,%rcx
1401582d9:	e8 b2 b0 f6 ff       	call   0x1400c3390
1401582de:	66 90                	xchg   %ax,%ax
1401582e0:	ba 01 00 00 00       	mov    $0x1,%edx
1401582e5:	0f b6 83 94 00 00 00 	movzbl 0x94(%rbx),%eax
1401582ec:	01 d2                	add    %edx,%edx
1401582ee:	83 e0 fd             	and    $0xfffffffd,%eax
1401582f1:	09 d0                	or     %edx,%eax
1401582f3:	88 83 94 00 00 00    	mov    %al,0x94(%rbx)
1401582f9:	89 c2                	mov    %eax,%edx
1401582fb:	a8 03                	test   $0x3,%al
1401582fd:	74 39                	je     0x140158338
1401582ff:	83 e2 02             	and    $0x2,%edx
140158302:	0f 84 b8 00 00 00    	je     0x1401583c0
140158308:	48 8b 84 24 48 04 00 	mov    0x448(%rsp),%rax
14015830f:	00
140158310:	48 2b 45 00          	sub    0x0(%rbp),%rax
140158314:	0f 85 ac 01 00 00    	jne    0x1401584c6
14015831a:	48 89 fa             	mov    %rdi,%rdx
14015831d:	48 89 d9             	mov    %rbx,%rcx
140158320:	48 81 c4 58 04 00 00 	add    $0x458,%rsp
140158327:	5b                   	pop    %rbx
140158328:	5e                   	pop    %rsi
140158329:	5f                   	pop    %rdi
14015832a:	5d                   	pop    %rbp
14015832b:	41 5c                	pop    %r12
14015832d:	41 5d                	pop    %r13
14015832f:	e9 8c fb ff ff       	jmp    0x140157ec0
140158334:	0f 1f 40 00          	nopl   0x0(%rax)
140158338:	48 8d 15 a8 a6 0c 00 	lea    0xca6a8(%rip),%rdx        # 0x1402229e7
14015833f:	4c 89 e1             	mov    %r12,%rcx
140158342:	e8 79 24 f4 ff       	call   0x14009a7c0
140158347:	85 c0                	test   %eax,%eax
140158349:	0f 85 11 01 00 00    	jne    0x140158460
14015834f:	0f b6 93 94 00 00 00 	movzbl 0x94(%rbx),%edx
140158356:	f6 c2 03             	test   $0x3,%dl
140158359:	75 a4                	jne    0x1401582ff
14015835b:	8b 87 90 00 00 00    	mov    0x90(%rdi),%eax
140158361:	83 f8 04             	cmp    $0x4,%eax
140158364:	74 a2                	je     0x140158308
140158366:	83 e2 04             	and    $0x4,%edx
140158369:	48 8d 73 30          	lea    0x30(%rbx),%rsi
14015836d:	80 fa 01             	cmp    $0x1,%dl
140158370:	48 89 f1             	mov    %rsi,%rcx
140158373:	45 19 c0             	sbb    %r8d,%r8d
140158376:	41 83 e0 fe          	and    $0xfffffffe,%r8d
14015837a:	41 83 c0 06          	add    $0x6,%r8d
14015837e:	44 89 c2             	mov    %r8d,%edx
140158381:	83 ca 01             	or     $0x1,%edx
140158384:	83 f8 02             	cmp    $0x2,%eax
140158387:	44 0f 44 c2          	cmove  %edx,%r8d
14015838b:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14015838f:	e8 cc fc f9 ff       	call   0x1400f8060
140158394:	85 c0                	test   %eax,%eax
140158396:	0f 85 07 01 00 00    	jne    0x1401584a3
14015839c:	48 8b 84 24 48 04 00 	mov    0x448(%rsp),%rax
1401583a3:	00
1401583a4:	48 2b 45 00          	sub    0x0(%rbp),%rax
1401583a8:	0f 85 18 01 00 00    	jne    0x1401584c6
1401583ae:	48 81 c4 58 04 00 00 	add    $0x458,%rsp
1401583b5:	5b                   	pop    %rbx
1401583b6:	5e                   	pop    %rsi
1401583b7:	5f                   	pop    %rdi
1401583b8:	5d                   	pop    %rbp
1401583b9:	41 5c                	pop    %r12
1401583bb:	41 5d                	pop    %r13
1401583bd:	c3                   	ret
1401583be:	66 90                	xchg   %ax,%ax
1401583c0:	48 8b 05 d9 0f 0e 00 	mov    0xe0fd9(%rip),%rax        # 0x1402393a0
1401583c7:	48 8d 74 24 20       	lea    0x20(%rsp),%rsi
1401583cc:	4c 8b 6b 18          	mov    0x18(%rbx),%r13
1401583d0:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1401583d6:	48 89 f1             	mov    %rsi,%rcx
1401583d9:	48 8d 15 11 a6 0c 00 	lea    0xca611(%rip),%rdx        # 0x1402229f1
1401583e0:	4c 8b 63 20          	mov    0x20(%rbx),%r12
1401583e4:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
1401583eb:	00 00
1401583ed:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401583f2:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1401583f9:	00 00
1401583fb:	e8 b0 35 f4 ff       	call   0x14009b9b0
140158400:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140158404:	4c 8b 43 20          	mov    0x20(%rbx),%r8
140158408:	48 89 f1             	mov    %rsi,%rcx
14015840b:	e8 a0 35 f4 ff       	call   0x14009b9b0
140158410:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140158416:	48 89 f1             	mov    %rsi,%rcx
140158419:	48 8d 15 d4 a5 0c 00 	lea    0xca5d4(%rip),%rdx        # 0x1402229f4
140158420:	e8 8b 35 f4 ff       	call   0x14009b9b0
140158425:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14015842a:	48 89 d9             	mov    %rbx,%rcx
14015842d:	48 89 fa             	mov    %rdi,%rdx
140158430:	48 89 43 18          	mov    %rax,0x18(%rbx)
140158434:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140158439:	48 89 43 20          	mov    %rax,0x20(%rbx)
14015843d:	e8 7e fa ff ff       	call   0x140157ec0
140158442:	4c 89 6b 18          	mov    %r13,0x18(%rbx)
140158446:	48 89 f1             	mov    %rsi,%rcx
140158449:	4c 89 63 20          	mov    %r12,0x20(%rbx)
14015844d:	e8 ee 24 f4 ff       	call   0x14009a940
140158452:	e9 45 ff ff ff       	jmp    0x14015839c
140158457:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14015845e:	00 00
140158460:	48 8b 53 20          	mov    0x20(%rbx),%rdx
140158464:	4c 8b 43 18          	mov    0x18(%rbx),%r8
140158468:	48 83 fa 09          	cmp    $0x9,%rdx
14015846c:	74 29                	je     0x140158497
14015846e:	49 8d 40 09          	lea    0x9(%r8),%rax
140158472:	48 8b 0d a7 0e 0e 00 	mov    0xe0ea7(%rip),%rcx        # 0x140239320
140158479:	49 01 d0             	add    %rdx,%r8
14015847c:	eb 0b                	jmp    0x140158489
14015847e:	66 90                	xchg   %ax,%ax
140158480:	48 83 c0 01          	add    $0x1,%rax
140158484:	4c 39 c0             	cmp    %r8,%rax
140158487:	74 0e                	je     0x140158497
140158489:	0f b6 10             	movzbl (%rax),%edx
14015848c:	f6 04 11 18          	testb  $0x18,(%rcx,%rdx,1)
140158490:	74 ee                	je     0x140158480
140158492:	e9 b8 fe ff ff       	jmp    0x14015834f
140158497:	80 8b 94 00 00 00 02 	orb    $0x2,0x94(%rbx)
14015849e:	e9 ac fe ff ff       	jmp    0x14015834f
1401584a3:	48 8d 7c 24 40       	lea    0x40(%rsp),%rdi
1401584a8:	48 89 f2             	mov    %rsi,%rdx
1401584ab:	89 c1                	mov    %eax,%ecx
1401584ad:	41 b9 00 04 00 00    	mov    $0x400,%r9d
1401584b3:	49 89 f8             	mov    %rdi,%r8
1401584b6:	e8 c5 fc f9 ff       	call   0x1400f8180
1401584bb:	48 89 fa             	mov    %rdi,%rdx
1401584be:	48 89 d9             	mov    %rbx,%rcx
1401584c1:	e8 8a f6 ff ff       	call   0x140157b50
1401584c6:	e8 a5 c3 08 00       	call   0x1401e4870
1401584cb:	90                   	nop
1401584cc:	0f 1f 40 00          	nopl   0x0(%rax)
1401584d0:	41 56                	push   %r14
1401584d2:	41 55                	push   %r13
1401584d4:	41 54                	push   %r12
1401584d6:	55                   	push   %rbp
1401584d7:	57                   	push   %rdi
1401584d8:	56                   	push   %rsi
1401584d9:	53                   	push   %rbx
1401584da:	48 83 ec 30          	sub    $0x30,%rsp
1401584de:	8b 41 14             	mov    0x14(%rcx),%eax
1401584e1:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
1401584e8:	00
1401584e9:	44 8b ac 24 98 00 00 	mov    0x98(%rsp),%r13d
1401584f0:	00
1401584f1:	48 89 cd             	mov    %rcx,%rbp
1401584f4:	49 89 d4             	mov    %rdx,%r12
1401584f7:	4c 89 c6             	mov    %r8,%rsi
1401584fa:	85 c0                	test   %eax,%eax
1401584fc:	74 22                	je     0x140158520
1401584fe:	83 f8 01             	cmp    $0x1,%eax
140158501:	0f 94 c2             	sete   %dl
140158504:	45 85 c9             	test   %r9d,%r9d
140158507:	0f 94 c0             	sete   %al
14015850a:	38 c2                	cmp    %al,%dl
14015850c:	74 12                	je     0x140158520
14015850e:	31 c0                	xor    %eax,%eax
140158510:	48 83 c4 30          	add    $0x30,%rsp
140158514:	5b                   	pop    %rbx
140158515:	5e                   	pop    %rsi
140158516:	5f                   	pop    %rdi
140158517:	5d                   	pop    %rbp
140158518:	41 5c                	pop    %r12
14015851a:	41 5d                	pop    %r13
14015851c:	41 5e                	pop    %r14
14015851e:	c3                   	ret
14015851f:	90                   	nop
140158520:	48 83 7d 68 00       	cmpq   $0x0,0x68(%rbp)
140158525:	4c 89 e3             	mov    %r12,%rbx
140158528:	0f 84 e2 00 00 00    	je     0x140158610
14015852e:	66 90                	xchg   %ax,%ax
140158530:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
140158535:	49 89 f9             	mov    %rdi,%r9
140158538:	49 89 f0             	mov    %rsi,%r8
14015853b:	48 89 da             	mov    %rbx,%rdx
14015853e:	48 89 e9             	mov    %rbp,%rcx
140158541:	e8 4a f7 ff ff       	call   0x140157c90
140158546:	85 c0                	test   %eax,%eax
140158548:	75 c4                	jne    0x14015850e
14015854a:	f6 85 94 00 00 00 08 	testb  $0x8,0x94(%rbp)
140158551:	0f 84 8a 00 00 00    	je     0x1401585e1
140158557:	8b 07                	mov    (%rdi),%eax
140158559:	85 c0                	test   %eax,%eax
14015855b:	0f 88 8f 01 00 00    	js     0x1401586f0
140158561:	48 89 f2             	mov    %rsi,%rdx
140158564:	48 63 c8             	movslq %eax,%rcx
140158567:	48 29 da             	sub    %rbx,%rdx
14015856a:	48 39 ca             	cmp    %rcx,%rdx
14015856d:	0f 8c 7d 01 00 00    	jl     0x1401586f0
140158573:	44 8b 47 04          	mov    0x4(%rdi),%r8d
140158577:	45 85 c0             	test   %r8d,%r8d
14015857a:	0f 88 70 01 00 00    	js     0x1401586f0
140158580:	4d 63 c8             	movslq %r8d,%r9
140158583:	4c 39 ca             	cmp    %r9,%rdx
140158586:	0f 8c 64 01 00 00    	jl     0x1401586f0
14015858c:	85 c0                	test   %eax,%eax
14015858e:	74 22                	je     0x1401585b2
140158590:	44 0f b6 5c 0b ff    	movzbl -0x1(%rbx,%rcx,1),%r11d
140158596:	4c 8b 35 83 0d 0e 00 	mov    0xe0d83(%rip),%r14        # 0x140239320
14015859d:	43 f6 04 1e 06       	testb  $0x6,(%r14,%r11,1)
1401585a2:	0f 85 c0 00 00 00    	jne    0x140158668
1401585a8:	41 80 fb 5f          	cmp    $0x5f,%r11b
1401585ac:	0f 84 b6 00 00 00    	je     0x140158668
1401585b2:	4c 39 ca             	cmp    %r9,%rdx
1401585b5:	74 21                	je     0x1401585d8
1401585b7:	46 0f b6 0c 0b       	movzbl (%rbx,%r9,1),%r9d
1401585bc:	4c 8b 15 5d 0d 0e 00 	mov    0xe0d5d(%rip),%r10        # 0x140239320
1401585c3:	43 f6 04 0a 06       	testb  $0x6,(%r10,%r9,1)
1401585c8:	0f 85 9a 00 00 00    	jne    0x140158668
1401585ce:	41 80 f9 5f          	cmp    $0x5f,%r9b
1401585d2:	0f 84 90 00 00 00    	je     0x140158668
1401585d8:	44 39 c0             	cmp    %r8d,%eax
1401585db:	0f 84 87 00 00 00    	je     0x140158668
1401585e1:	4c 29 e3             	sub    %r12,%rbx
1401585e4:	f3 0f 7e 07          	movq   (%rdi),%xmm0
1401585e8:	b8 01 00 00 00       	mov    $0x1,%eax
1401585ed:	66 0f 6e d3          	movd   %ebx,%xmm2
1401585f1:	66 0f 70 ca e0       	pshufd $0xe0,%xmm2,%xmm1
1401585f6:	66 0f fe c1          	paddd  %xmm1,%xmm0
1401585fa:	66 0f d6 07          	movq   %xmm0,(%rdi)
1401585fe:	48 83 c4 30          	add    $0x30,%rsp
140158602:	5b                   	pop    %rbx
140158603:	5e                   	pop    %rsi
140158604:	5f                   	pop    %rdi
140158605:	5d                   	pop    %rbp
140158606:	41 5c                	pop    %r12
140158608:	41 5d                	pop    %r13
14015860a:	41 5e                	pop    %r14
14015860c:	c3                   	ret
14015860d:	0f 1f 00             	nopl   (%rax)
140158610:	48 89 f0             	mov    %rsi,%rax
140158613:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140158617:	4c 29 e0             	sub    %r12,%rax
14015861a:	48 85 ff             	test   %rdi,%rdi
14015861d:	0f 84 d9 00 00 00    	je     0x1401586fc
140158623:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14015862a:	00 00 00 00
14015862e:	66 90                	xchg   %ax,%ax
140158630:	89 47 04             	mov    %eax,0x4(%rdi)
140158633:	44 89 e8             	mov    %r13d,%eax
140158636:	49 89 f9             	mov    %rdi,%r9
140158639:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14015863f:	83 c8 04             	or     $0x4,%eax
140158642:	c7 07 00 00 00 00    	movl   $0x0,(%rdi)
140158648:	48 89 da             	mov    %rbx,%rdx
14015864b:	89 44 24 20          	mov    %eax,0x20(%rsp)
14015864f:	e8 fc fb f9 ff       	call   0x1400f8250
140158654:	85 c0                	test   %eax,%eax
140158656:	0f 84 ee fe ff ff    	je     0x14015854a
14015865c:	31 c0                	xor    %eax,%eax
14015865e:	e9 ad fe ff ff       	jmp    0x140158510
140158663:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140158668:	48 8d 5c 0b 01       	lea    0x1(%rbx,%rcx,1),%rbx
14015866d:	48 39 f3             	cmp    %rsi,%rbx
140158670:	0f 83 98 fe ff ff    	jae    0x14015850e
140158676:	0f b6 4b ff          	movzbl -0x1(%rbx),%ecx
14015867a:	48 8b 15 9f 0c 0e 00 	mov    0xe0c9f(%rip),%rdx        # 0x140239320
140158681:	f6 04 0a 06          	testb  $0x6,(%rdx,%rcx,1)
140158685:	75 42                	jne    0x1401586c9
140158687:	80 f9 5f             	cmp    $0x5f,%cl
14015868a:	74 3d                	je     0x1401586c9
14015868c:	41 83 cd 01          	or     $0x1,%r13d
140158690:	48 83 7d 68 00       	cmpq   $0x0,0x68(%rbp)
140158695:	0f 85 95 fe ff ff    	jne    0x140158530
14015869b:	48 89 f0             	mov    %rsi,%rax
14015869e:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
1401586a2:	48 29 d8             	sub    %rbx,%rax
1401586a5:	eb 89                	jmp    0x140158630
1401586a7:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401586ae:	00 00 00 00
1401586b2:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401586b9:	00 00 00 00
1401586bd:	0f 1f 00             	nopl   (%rax)
1401586c0:	48 39 de             	cmp    %rbx,%rsi
1401586c3:	0f 84 45 fe ff ff    	je     0x14015850e
1401586c9:	0f b6 0b             	movzbl (%rbx),%ecx
1401586cc:	48 83 c3 01          	add    $0x1,%rbx
1401586d0:	f6 04 0a 06          	testb  $0x6,(%rdx,%rcx,1)
1401586d4:	75 ea                	jne    0x1401586c0
1401586d6:	80 f9 5f             	cmp    $0x5f,%cl
1401586d9:	74 e5                	je     0x1401586c0
1401586db:	41 83 cd 01          	or     $0x1,%r13d
1401586df:	48 39 f3             	cmp    %rsi,%rbx
1401586e2:	72 ac                	jb     0x140158690
1401586e4:	31 c0                	xor    %eax,%eax
1401586e6:	e9 25 fe ff ff       	jmp    0x140158510
1401586eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401586f0:	48 8d 0d 27 a3 0c 00 	lea    0xca327(%rip),%rcx        # 0x140222a1e
1401586f7:	e8 94 ac f6 ff       	call   0x1400c3390
1401586fc:	41 b8 a1 05 00 00    	mov    $0x5a1,%r8d
140158702:	48 8d 15 ee a2 0c 00 	lea    0xca2ee(%rip),%rdx        # 0x1402229f7
140158709:	48 8d 0d f9 a2 0c 00 	lea    0xca2f9(%rip),%rcx        # 0x140222a09
140158710:	ff 15 c2 6c 15 00    	call   *0x156cc2(%rip)        # 0x1402af3d8
140158716:	90                   	nop
140158717:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14015871e:	00 00
140158720:	41 57                	push   %r15
140158722:	41 56                	push   %r14
140158724:	41 55                	push   %r13
140158726:	41 54                	push   %r12
140158728:	55                   	push   %rbp
140158729:	57                   	push   %rdi
14015872a:	56                   	push   %rsi
14015872b:	53                   	push   %rbx
14015872c:	48 83 ec 58          	sub    $0x58,%rsp
140158730:	4c 8b b4 24 c0 00 00 	mov    0xc0(%rsp),%r14
140158737:	00
140158738:	44 8b ac 24 c8 00 00 	mov    0xc8(%rsp),%r13d
14015873f:	00
140158740:	8b ac 24 d0 00 00 00 	mov    0xd0(%rsp),%ebp
140158747:	48 89 d6             	mov    %rdx,%rsi
14015874a:	48 8b 15 9f 03 0e 00 	mov    0xe039f(%rip),%rdx        # 0x140238af0
140158751:	4c 89 c7             	mov    %r8,%rdi
140158754:	44 89 cb             	mov    %r9d,%ebx
140158757:	48 8b 02             	mov    (%rdx),%rax
14015875a:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14015875f:	31 c0                	xor    %eax,%eax
140158761:	45 85 c9             	test   %r9d,%r9d
140158764:	0f 85 16 01 00 00    	jne    0x140158880
14015876a:	4c 8b 79 10          	mov    0x10(%rcx),%r15
14015876e:	c7 44 24 3c 00 00 00 	movl   $0x0,0x3c(%rsp)
140158775:	00
140158776:	4d 85 ff             	test   %r15,%r15
140158779:	0f 84 d1 00 00 00    	je     0x140158850
14015877f:	4c 8d 64 24 40       	lea    0x40(%rsp),%r12
140158784:	eb 1b                	jmp    0x1401587a1
140158786:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14015878d:	00 00 00
140158790:	83 e0 fd             	and    $0xfffffffd,%eax
140158793:	74 3b                	je     0x1401587d0
140158795:	4d 8b 3f             	mov    (%r15),%r15
140158798:	4d 85 ff             	test   %r15,%r15
14015879b:	0f 84 af 00 00 00    	je     0x140158850
1401587a1:	41 8b 47 14          	mov    0x14(%r15),%eax
1401587a5:	83 f8 01             	cmp    $0x1,%eax
1401587a8:	75 e6                	jne    0x140158790
1401587aa:	41 83 fd 03          	cmp    $0x3,%r13d
1401587ae:	74 20                	je     0x1401587d0
1401587b0:	45 3b 6f 28          	cmp    0x28(%r15),%r13d