14040639c:	83 eb 03             	sub    $0x3,%ebx
14040639f:	89 5f 2c             	mov    %ebx,0x2c(%rdi)
1404063a2:	8d 53 05             	lea    0x5(%rbx),%edx
1404063a5:	e8 86 7f 5b 00       	call   0x1409be330
1404063aa:	eb 29                	jmp    0x1404063d5
1404063ac:	33 db                	xor    %ebx,%ebx
1404063ae:	48 8b ce             	mov    %rsi,%rcx
1404063b1:	89 5f 2c             	mov    %ebx,0x2c(%rdi)
1404063b4:	8d 53 05             	lea    0x5(%rbx),%edx
1404063b7:	e8 74 7f 5b 00       	call   0x1409be330
1404063bc:	eb 17                	jmp    0x1404063d5
1404063be:	45 33 c0             	xor    %r8d,%r8d
1404063c1:	ba 05 00 00 00       	mov    $0x5,%edx
1404063c6:	48 8b ce             	mov    %rsi,%rcx
1404063c9:	e8 a2 84 5b 00       	call   0x1409be870
1404063ce:	c7 47 30 01 00 00 00 	movl   $0x1,0x30(%rdi)
1404063d5:	4c 8b 74 24 78       	mov    0x78(%rsp),%r14
1404063da:	40 0f b6 c5          	movzbl %bpl,%eax
1404063de:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
1404063e5:	00
1404063e6:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
1404063eb:	48 33 cc             	xor    %rsp,%rcx
1404063ee:	e8 0d 51 a1 00       	call   0x140e1b500
1404063f3:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
1404063fa:	41 5c                	pop    %r12
1404063fc:	5f                   	pop    %rdi
1404063fd:	5e                   	pop    %rsi
1404063fe:	5d                   	pop    %rbp
1404063ff:	c3                   	ret
140406400:	44 2b c9             	sub    %ecx,%r9d
140406403:	48 8d 15 8e 93 be 00 	lea    0xbe938e(%rip),%rdx        # 0x140fef798
14040640a:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
14040640f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140406415:	e8 d6 2c da ff       	call   0x1401a90f0
14040641a:	48 8d 15 af a5 f9 00 	lea    0xf9a5af(%rip),%rdx        # 0x1413a09d0
140406421:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140406426:	e8 ed 63 a1 00       	call   0x140e1c818
14040642b:	cc                   	int3
14040642c:	44 2b c9             	sub    %ecx,%r9d
14040642f:	48 8d 15 ca 90 be 00 	lea    0xbe90ca(%rip),%rdx        # 0x140fef500
140406436:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
14040643b:	41 83 c0 05          	add    $0x5,%r8d
14040643f:	e8 ac 2c da ff       	call   0x1401a90f0
140406444:	48 8d 15 85 a5 f9 00 	lea    0xf9a585(%rip),%rdx        # 0x1413a09d0
14040644b:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140406450:	e8 c3 63 a1 00       	call   0x140e1c818
140406455:	cc                   	int3
140406456:	44 2b c9             	sub    %ecx,%r9d
140406459:	48 8d 15 78 93 be 00 	lea    0xbe9378(%rip),%rdx        # 0x140fef7d8
140406460:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140406465:	41 b8 05 00 00 00    	mov    $0x5,%r8d
14040646b:	e8 80 2c da ff       	call   0x1401a90f0
140406470:	48 8d 15 59 a5 f9 00 	lea    0xf9a559(%rip),%rdx        # 0x1413a09d0
140406477:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
14040647c:	e8 97 63 a1 00       	call   0x140e1c818
140406481:	cc                   	int3
140406482:	44 2b c9             	sub    %ecx,%r9d
140406485:	48 8d 15 3c 93 be 00 	lea    0xbe933c(%rip),%rdx        # 0x140fef7c8
14040648c:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140406491:	41 b8 04 00 00 00    	mov    $0x4,%r8d
140406497:	e8 54 2c da ff       	call   0x1401a90f0
14040649c:	48 8d 15 2d a5 f9 00 	lea    0xf9a52d(%rip),%rdx        # 0x1413a09d0
1404064a3:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1404064a8:	e8 6b 63 a1 00       	call   0x140e1c818
1404064ad:	cc                   	int3
1404064ae:	44 2b c9             	sub    %ecx,%r9d
1404064b1:	48 8d 15 00 93 be 00 	lea    0xbe9300(%rip),%rdx        # 0x140fef7b8
1404064b8:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1404064bd:	41 b8 03 00 00 00    	mov    $0x3,%r8d
1404064c3:	e8 28 2c da ff       	call   0x1401a90f0
1404064c8:	48 8d 15 01 a5 f9 00 	lea    0xf9a501(%rip),%rdx        # 0x1413a09d0
1404064cf:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1404064d4:	e8 3f 63 a1 00       	call   0x140e1c818
1404064d9:	cc                   	int3
1404064da:	44 2b c9             	sub    %ecx,%r9d
1404064dd:	48 8d 15 c4 92 be 00 	lea    0xbe92c4(%rip),%rdx        # 0x140fef7a8
1404064e4:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
1404064e9:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1404064ef:	e8 fc 2b da ff       	call   0x1401a90f0
1404064f4:	48 8d 15 d5 a4 f9 00 	lea    0xf9a4d5(%rip),%rdx        # 0x1413a09d0
1404064fb:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
140406500:	e8 13 63 a1 00       	call   0x140e1c818
140406505:	cc                   	int3
140406506:	cc                   	int3
140406507:	cc                   	int3
140406508:	cc                   	int3
140406509:	cc                   	int3
14040650a:	cc                   	int3
14040650b:	cc                   	int3
14040650c:	cc                   	int3
14040650d:	cc                   	int3
14040650e:	cc                   	int3
14040650f:	cc                   	int3
140406510:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140406515:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14040651a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14040651f:	57                   	push   %rdi
140406520:	41 56                	push   %r14
140406522:	41 57                	push   %r15
140406524:	48 83 ec 50          	sub    $0x50,%rsp
140406528:	41 0f b6 e9          	movzbl %r9b,%ebp
14040652c:	41 0f b6 f8          	movzbl %r8b,%edi
140406530:	44 0f b6 f2          	movzbl %dl,%r14d
140406534:	48 8b f1             	mov    %rcx,%rsi
140406537:	4c 8b 79 30          	mov    0x30(%rcx),%r15
14040653b:	41 80 bf a9 00 00 00 	cmpb   $0x0,0xa9(%r15)
140406542:	00
140406543:	0f 85 e8 01 00 00    	jne    0x140406731
140406549:	8b 51 10             	mov    0x10(%rcx),%edx
14040654c:	85 d2                	test   %edx,%edx
14040654e:	74 59                	je     0x1404065a9
140406550:	83 fa 02             	cmp    $0x2,%edx
140406553:	74 4d                	je     0x1404065a2
140406555:	66 c1 e7 08          	shl    $0x8,%di
140406559:	66 0b fd             	or     %bp,%di
14040655c:	b9 00 03 00 00       	mov    $0x300,%ecx
140406561:	0f b7 c7             	movzwl %di,%eax
140406564:	66 2b c1             	sub    %cx,%ax
140406567:	66 83 f8 02          	cmp    $0x2,%ax
14040656b:	76 35                	jbe    0x1404065a2
14040656d:	b8 03 03 00 00       	mov    $0x303,%eax
140406572:	66 3b f8             	cmp    %ax,%di
140406575:	74 2b                	je     0x1404065a2
140406577:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
14040657c:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140406581:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140406586:	e8 05 0c 35 00       	call   0x140757190
14040658b:	48 8b d8             	mov    %rax,%rbx
14040658e:	0f b7 d7             	movzwl %di,%edx
140406591:	48 8d 0d 68 90 be 00 	lea    0xbe9068(%rip),%rcx        # 0x140fef600
140406598:	e8 73 13 46 00       	call   0x140867910
14040659d:	e9 6e 01 00 00       	jmp    0x140406710
1404065a2:	8b c2                	mov    %edx,%eax
1404065a4:	e9 8a 01 00 00       	jmp    0x140406733
1404065a9:	45 84 f6             	test   %r14b,%r14b
1404065ac:	0f 89 d8 00 00 00    	jns    0x14040668a
1404065b2:	40 80 fd 01          	cmp    $0x1,%bpl
1404065b6:	75 71                	jne    0x140406629
1404065b8:	80 bc 24 a0 00 00 00 	cmpb   $0x0,0xa0(%rsp)
1404065bf:	00
1404065c0:	0f 84 8e 00 00 00    	je     0x140406654
1404065c6:	0f b6 bc 24 90 00 00 	movzbl 0x90(%rsp),%edi
1404065cd:	00
1404065ce:	66 c1 e7 08          	shl    $0x8,%di
1404065d2:	0f b6 84 24 98 00 00 	movzbl 0x98(%rsp),%eax
1404065d9:	00
1404065da:	66 0b f8             	or     %ax,%di
1404065dd:	66 83 ff 02          	cmp    $0x2,%di
1404065e1:	74 67                	je     0x14040664a
1404065e3:	b9 00 03 00 00       	mov    $0x300,%ecx
1404065e8:	0f b7 c7             	movzwl %di,%eax
1404065eb:	66 2b c1             	sub    %cx,%ax
1404065ee:	66 83 f8 02          	cmp    $0x2,%ax
1404065f2:	76 56                	jbe    0x14040664a
1404065f4:	b8 03 03 00 00       	mov    $0x303,%eax
1404065f9:	66 3b f8             	cmp    %ax,%di
1404065fc:	74 4c                	je     0x14040664a
1404065fe:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140406603:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140406608:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14040660d:	e8 7e 0b 35 00       	call   0x140757190
140406612:	48 8b d8             	mov    %rax,%rbx
140406615:	0f b7 d7             	movzwl %di,%edx
140406618:	48 8d 0d 29 90 be 00 	lea    0xbe9029(%rip),%rcx        # 0x140fef648
14040661f:	e8 ec 12 46 00       	call   0x140867910
140406624:	e9 e7 00 00 00       	jmp    0x140406710
140406629:	40 80 fd 04          	cmp    $0x4,%bpl
14040662d:	75 25                	jne    0x140406654
14040662f:	80 bc 24 98 00 00 00 	cmpb   $0x2,0x98(%rsp)
140406636:	02
140406637:	73 1b                	jae    0x140406654
140406639:	80 bc 24 a0 00 00 00 	cmpb   $0x0,0xa0(%rsp)
140406640:	00
140406641:	75 11                	jne    0x140406654
140406643:	c7 41 10 02 00 00 00 	movl   $0x2,0x10(%rcx)
14040664a:	b8 02 00 00 00       	mov    $0x2,%eax
14040664f:	e9 df 00 00 00       	jmp    0x140406733
140406654:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140406659:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
14040665e:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140406663:	e8 28 0b 35 00       	call   0x140757190
140406668:	48 8b d8             	mov    %rax,%rbx
14040666b:	44 0f b6 8c 24 90 00 	movzbl 0x90(%rsp),%r9d
140406672:	00 00
140406674:	44 8b c5             	mov    %ebp,%r8d
140406677:	8b d7                	mov    %edi,%edx
140406679:	48 8d 0d 00 90 be 00 	lea    0xbe9000(%rip),%rcx        # 0x140fef680
140406680:	e8 8b 12 46 00       	call   0x140867910
140406685:	e9 86 00 00 00       	jmp    0x140406710
14040668a:	66 c1 e7 08          	shl    $0x8,%di
14040668e:	66 0b fd             	or     %bp,%di
140406691:	b9 00 03 00 00       	mov    $0x300,%ecx
140406696:	0f b7 c7             	movzwl %di,%eax
140406699:	66 2b c1             	sub    %cx,%ax
14040669c:	66 83 f8 02          	cmp    $0x2,%ax
1404066a0:	76 32                	jbe    0x1404066d4
1404066a2:	b8 03 03 00 00       	mov    $0x303,%eax
1404066a7:	66 3b f8             	cmp    %ax,%di
1404066aa:	74 28                	je     0x1404066d4
1404066ac:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1404066b1:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1404066b6:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1404066bb:	e8 d0 0a 35 00       	call   0x140757190
1404066c0:	48 8b d8             	mov    %rax,%rbx
1404066c3:	0f b7 d7             	movzwl %di,%edx
1404066c6:	48 8d 0d fb 8f be 00 	lea    0xbe8ffb(%rip),%rcx        # 0x140fef6c8
1404066cd:	e8 3e 12 46 00       	call   0x140867910
1404066d2:	eb 3c                	jmp    0x140406710
1404066d4:	0f b7 ff             	movzwl %di,%edi
1404066d7:	41 8d 4e ec          	lea    -0x14(%r14),%ecx
1404066db:	80 f9 0a             	cmp    $0xa,%cl
1404066de:	77 07                	ja     0x1404066e7
1404066e0:	89 7e 10             	mov    %edi,0x10(%rsi)
1404066e3:	8b c7                	mov    %edi,%eax
1404066e5:	eb 4c                	jmp    0x140406733
1404066e7:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1404066ec:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1404066f1:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1404066f6:	e8 95 0a 35 00       	call   0x140757190
1404066fb:	48 8b d8             	mov    %rax,%rbx
1404066fe:	45 8b c6             	mov    %r14d,%r8d
140406701:	8b d7                	mov    %edi,%edx
140406703:	48 8d 0d ee 8f be 00 	lea    0xbe8fee(%rip),%rcx        # 0x140fef6f8
14040670a:	e8 01 12 46 00       	call   0x140867910
14040670f:	90                   	nop
140406710:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140406715:	45 33 c9             	xor    %r9d,%r9d
140406718:	45 33 c0             	xor    %r8d,%r8d
14040671b:	48 8b d0             	mov    %rax,%rdx
14040671e:	49 8b cf             	mov    %r15,%rcx
140406721:	e8 7a a9 ff ff       	call   0x1404010a0
140406726:	48 8b 46 30          	mov    0x30(%rsi),%rax
14040672a:	c6 80 a9 00 00 00 01 	movb   $0x1,0xa9(%rax)
140406731:	33 c0                	xor    %eax,%eax
140406733:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140406738:	49 8b 5b 28          	mov    0x28(%r11),%rbx
14040673c:	49 8b 6b 30          	mov    0x30(%r11),%rbp
140406740:	49 8b 73 38          	mov    0x38(%r11),%rsi
140406744:	49 8b e3             	mov    %r11,%rsp
140406747:	41 5f                	pop    %r15
140406749:	41 5e                	pop    %r14
14040674b:	5f                   	pop    %rdi
14040674c:	c3                   	ret
14040674d:	cc                   	int3
14040674e:	cc                   	int3
14040674f:	cc                   	int3
140406750:	48 83 ec 28          	sub    $0x28,%rsp
140406754:	48 8b 49 30          	mov    0x30(%rcx),%rcx
140406758:	e8 63 49 01 00       	call   0x14041b0c0
14040675d:	b9 04 03 00 00       	mov    $0x304,%ecx
140406762:	66 3b c1             	cmp    %cx,%ax
140406765:	74 1a                	je     0x140406781
140406767:	0f b7 c8             	movzwl %ax,%ecx
14040676a:	b8 81 80 80 80       	mov    $0x80808081,%eax
14040676f:	f7 e1                	mul    %ecx
140406771:	33 c0                	xor    %eax,%eax
140406773:	c1 ea 07             	shr    $0x7,%edx
140406776:	83 fa 7f             	cmp    $0x7f,%edx
140406779:	0f 94 c0             	sete   %al
14040677c:	48 83 c4 28          	add    $0x28,%rsp
140406780:	c3                   	ret
140406781:	b8 01 00 00 00       	mov    $0x1,%eax
140406786:	48 83 c4 28          	add    $0x28,%rsp
14040678a:	c3                   	ret
14040678b:	cc                   	int3
14040678c:	cc                   	int3
14040678d:	cc                   	int3
14040678e:	cc                   	int3
14040678f:	cc                   	int3
140406790:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140406795:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14040679a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14040679f:	57                   	push   %rdi
1404067a0:	48 83 ec 30          	sub    $0x30,%rsp
1404067a4:	48 8b d9             	mov    %rcx,%rbx
1404067a7:	49 63 f9             	movslq %r9d,%rdi
1404067aa:	48 8b 0d b7 07 02 01 	mov    0x10207b7(%rip),%rcx        # 0x141426f68
1404067b1:	48 8b ea             	mov    %rdx,%rbp
1404067b4:	49 63 f0             	movslq %r8d,%rsi
1404067b7:	48 85 c9             	test   %rcx,%rcx
1404067ba:	74 32                	je     0x1404067ee
1404067bc:	e8 6f ed 40 00       	call   0x140815530
1404067c1:	84 c0                	test   %al,%al
1404067c3:	74 29                	je     0x1404067ee
1404067c5:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
1404067c9:	e8 e2 48 01 00       	call   0x14041b0b0
1404067ce:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
1404067d2:	4c 8b ce             	mov    %rsi,%r9
1404067d5:	44 0f b6 45 18       	movzbl 0x18(%rbp),%r8d
1404067da:	0f b6 d0             	movzbl %al,%edx
1404067dd:	44 33 c2             	xor    %edx,%r8d
1404067e0:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1404067e5:	48 8b 51 28          	mov    0x28(%rcx),%rdx
1404067e9:	e8 f2 00 01 00       	call   0x1404168e0
1404067ee:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1404067f3:	b0 01                	mov    $0x1,%al
1404067f5:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1404067fa:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1404067ff:	48 83 c4 30          	add    $0x30,%rsp
140406803:	5f                   	pop    %rdi
140406804:	c3                   	ret
140406805:	cc                   	int3
140406806:	cc                   	int3
140406807:	cc                   	int3
140406808:	cc                   	int3
140406809:	cc                   	int3
14040680a:	cc                   	int3
14040680b:	cc                   	int3
14040680c:	cc                   	int3
14040680d:	cc                   	int3
14040680e:	cc                   	int3
14040680f:	cc                   	int3
140406810:	40 55                	rex push %rbp
140406812:	53                   	push   %rbx
140406813:	56                   	push   %rsi
140406814:	57                   	push   %rdi
140406815:	41 54                	push   %r12
140406817:	41 55                	push   %r13
140406819:	41 56                	push   %r14
14040681b:	41 57                	push   %r15
14040681d:	48 8d ac 24 78 ff ff 	lea    -0x88(%rsp),%rbp
140406824:	ff
140406825:	48 81 ec 88 01 00 00 	sub    $0x188,%rsp
14040682c:	48 8b 05 cd 26 fb 00 	mov    0xfb26cd(%rip),%rax        # 0x1413b8f00
140406833:	48 33 c4             	xor    %rsp,%rax
140406836:	48 89 45 70          	mov    %rax,0x70(%rbp)
14040683a:	4d 8b f9             	mov    %r9,%r15
14040683d:	45 0f b6 e0          	movzbl %r8b,%r12d
140406841:	0f b6 da             	movzbl %dl,%ebx
140406844:	4c 8b e9             	mov    %rcx,%r13
140406847:	33 ff                	xor    %edi,%edi
140406849:	49 8b 41 08          	mov    0x8(%r9),%rax
14040684d:	49 2b 01             	sub    (%r9),%rax
140406850:	48 a9 f0 ff ff ff    	test   $0xfffffffffffffff0,%rax
140406856:	0f 84 9c 03 00 00    	je     0x140406bf8
14040685c:	45 33 c0             	xor    %r8d,%r8d
14040685f:	33 d2                	xor    %edx,%edx
140406861:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140406866:	e8 35 cf 41 00       	call   0x1408237a0
14040686b:	90                   	nop
14040686c:	0f 57 c0             	xorps  %xmm0,%xmm0
14040686f:	0f 11 45 10          	movups %xmm0,0x10(%rbp)
140406873:	0f 57 c9             	xorps  %xmm1,%xmm1
140406876:	f3 0f 7f 4d 20       	movdqu %xmm1,0x20(%rbp)
14040687b:	b9 20 00 00 00       	mov    $0x20,%ecx
140406880:	e8 83 48 a1 00       	call   0x140e1b108
140406885:	48 8b d0             	mov    %rax,%rdx
140406888:	48 89 45 10          	mov    %rax,0x10(%rbp)
14040688c:	66 0f 6f 05 7c 00 ba 	movdqa 0xba007c(%rip),%xmm0        # 0x140fa6910
140406893:	00