1404a64fb:	48 85 c9             	test   %rcx,%rcx
1404a64fe:	74 1c                	je     0x1404a651c
1404a6500:	8b 41 10             	mov    0x10(%rcx),%eax
1404a6503:	ff c0                	inc    %eax
1404a6505:	89 41 10             	mov    %eax,0x10(%rcx)
1404a6508:	83 f8 01             	cmp    $0x1,%eax
1404a650b:	0f 8e 09 01 00 00    	jle    0x1404a661a
1404a6511:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1404a6516:	0f 84 f3 00 00 00    	je     0x1404a660f
1404a651c:	41 b0 01             	mov    $0x1,%r8b
1404a651f:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1404a6524:	49 8b c9             	mov    %r9,%rcx
1404a6527:	e8 94 b4 28 00       	call   0x1407319c0
1404a652c:	48 8b d8             	mov    %rax,%rbx
1404a652f:	48 89 1f             	mov    %rbx,(%rdi)
1404a6532:	c7 44 24 20 03 00 00 	movl   $0x3,0x20(%rsp)
1404a6539:	00
1404a653a:	0f b7 16             	movzwl (%rsi),%edx
1404a653d:	48 8b 43 40          	mov    0x40(%rbx),%rax
1404a6541:	48 8b 08             	mov    (%rax),%rcx
1404a6544:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
1404a6548:	75 04                	jne    0x1404a654e
1404a654a:	c6 41 08 01          	movb   $0x1,0x8(%rcx)
1404a654e:	48 89 11             	mov    %rdx,(%rcx)
1404a6551:	48 8d 53 20          	lea    0x20(%rbx),%rdx
1404a6555:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
1404a655a:	74 0c                	je     0x1404a6568
1404a655c:	48 8d 0d 7d a4 f8 00 	lea    0xf8a47d(%rip),%rcx        # 0x1414309e0
1404a6563:	e8 d8 45 2e 00       	call   0x14078ab40
1404a6568:	48 8b 17             	mov    (%rdi),%rdx
1404a656b:	44 0f b7 46 02       	movzwl 0x2(%rsi),%r8d
1404a6570:	48 8b 42 40          	mov    0x40(%rdx),%rax
1404a6574:	48 8b 08             	mov    (%rax),%rcx
1404a6577:	80 79 18 00          	cmpb   $0x0,0x18(%rcx)
1404a657b:	75 04                	jne    0x1404a6581
1404a657d:	c6 41 18 01          	movb   $0x1,0x18(%rcx)
1404a6581:	4c 89 41 10          	mov    %r8,0x10(%rcx)
1404a6585:	48 83 c2 20          	add    $0x20,%rdx
1404a6589:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
1404a658e:	74 0c                	je     0x1404a659c
1404a6590:	48 8d 0d 49 a4 f8 00 	lea    0xf8a449(%rip),%rcx        # 0x1414309e0
1404a6597:	e8 a4 45 2e 00       	call   0x14078ab40
1404a659c:	48 8b 17             	mov    (%rdi),%rdx
1404a659f:	44 0f b6 46 06       	movzbl 0x6(%rsi),%r8d
1404a65a4:	48 8b 42 40          	mov    0x40(%rdx),%rax
1404a65a8:	48 8b 08             	mov    (%rax),%rcx
1404a65ab:	80 79 28 00          	cmpb   $0x0,0x28(%rcx)
1404a65af:	75 04                	jne    0x1404a65b5
1404a65b1:	c6 41 28 01          	movb   $0x1,0x28(%rcx)
1404a65b5:	4c 89 41 20          	mov    %r8,0x20(%rcx)
1404a65b9:	48 83 c2 20          	add    $0x20,%rdx
1404a65bd:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
1404a65c2:	74 0c                	je     0x1404a65d0
1404a65c4:	48 8d 0d 15 a4 f8 00 	lea    0xf8a415(%rip),%rcx        # 0x1414309e0
1404a65cb:	e8 70 45 2e 00       	call   0x14078ab40
1404a65d0:	4c 8b 07             	mov    (%rdi),%r8
1404a65d3:	44 0f b6 4e 07       	movzbl 0x7(%rsi),%r9d
1404a65d8:	49 8b 40 40          	mov    0x40(%r8),%rax
1404a65dc:	48 8b 10             	mov    (%rax),%rdx
1404a65df:	80 7a 38 00          	cmpb   $0x0,0x38(%rdx)
1404a65e3:	75 04                	jne    0x1404a65e9
1404a65e5:	c6 42 38 01          	movb   $0x1,0x38(%rdx)
1404a65e9:	4c 89 4a 30          	mov    %r9,0x30(%rdx)
1404a65ed:	49 8d 50 20          	lea    0x20(%r8),%rdx
1404a65f1:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
1404a65f6:	74 0c                	je     0x1404a6604
1404a65f8:	48 8d 0d e1 a3 f8 00 	lea    0xf8a3e1(%rip),%rcx        # 0x1414309e0
1404a65ff:	e8 3c 45 2e 00       	call   0x14078ab40
1404a6604:	48 8b c7             	mov    %rdi,%rax
1404a6607:	48 83 c4 30          	add    $0x30,%rsp
1404a660b:	5f                   	pop    %rdi
1404a660c:	5e                   	pop    %rsi
1404a660d:	5b                   	pop    %rbx
1404a660e:	c3                   	ret
1404a660f:	b9 01 00 00 00       	mov    $0x1,%ecx
1404a6614:	e8 e7 40 2e 00       	call   0x14078a700
1404a6619:	cc                   	int3
1404a661a:	33 c9                	xor    %ecx,%ecx
1404a661c:	e8 df 40 2e 00       	call   0x14078a700
1404a6621:	cc                   	int3
1404a6622:	cc                   	int3
1404a6623:	cc                   	int3
1404a6624:	cc                   	int3
1404a6625:	cc                   	int3
1404a6626:	cc                   	int3
1404a6627:	cc                   	int3
1404a6628:	cc                   	int3
1404a6629:	cc                   	int3
1404a662a:	cc                   	int3
1404a662b:	cc                   	int3
1404a662c:	cc                   	int3
1404a662d:	cc                   	int3
1404a662e:	cc                   	int3
1404a662f:	cc                   	int3
1404a6630:	49 8b c0             	mov    %r8,%rax
1404a6633:	84 d2                	test   %dl,%dl
1404a6635:	74 0f                	je     0x1404a6646
1404a6637:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1404a663b:	4d 8b c1             	mov    %r9,%r8
1404a663e:	48 8b d0             	mov    %rax,%rdx
1404a6641:	e9 1a 00 00 00       	jmp    0x1404a6660
1404a6646:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1404a664a:	4d 8b c1             	mov    %r9,%r8
1404a664d:	48 8b d0             	mov    %rax,%rdx
1404a6650:	e9 0b 00 00 00       	jmp    0x1404a6660
1404a6655:	cc                   	int3
1404a6656:	cc                   	int3
1404a6657:	cc                   	int3
1404a6658:	cc                   	int3
1404a6659:	cc                   	int3
1404a665a:	cc                   	int3
1404a665b:	cc                   	int3
1404a665c:	cc                   	int3
1404a665d:	cc                   	int3
1404a665e:	cc                   	int3
1404a665f:	cc                   	int3
1404a6660:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1404a6665:	56                   	push   %rsi
1404a6666:	57                   	push   %rdi
1404a6667:	41 56                	push   %r14
1404a6669:	48 83 ec 60          	sub    $0x60,%rsp
1404a666d:	48 8b 05 8c 28 f1 00 	mov    0xf1288c(%rip),%rax        # 0x1413b8f00
1404a6674:	48 33 c4             	xor    %rsp,%rax
1404a6677:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1404a667c:	48 8b d9             	mov    %rcx,%rbx
1404a667f:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1404a6684:	48 8b 49 18          	mov    0x18(%rcx),%rcx
1404a6688:	e8 93 81 51 00       	call   0x1409be820
1404a668d:	45 33 f6             	xor    %r14d,%r14d
1404a6690:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1404a6694:	44 39 71 08          	cmp    %r14d,0x8(%rcx)
1404a6698:	7f 0e                	jg     0x1404a66a8
1404a669a:	48 8b 41 28          	mov    0x28(%rcx),%rax
1404a669e:	48 39 41 30          	cmp    %rax,0x30(%rcx)
1404a66a2:	0f 86 ac 00 00 00    	jbe    0x1404a6754
1404a66a8:	44 38 71 51          	cmp    %r14b,0x51(%rcx)
1404a66ac:	74 10                	je     0x1404a66be
1404a66ae:	44 38 71 18          	cmp    %r14b,0x18(%rcx)
1404a66b2:	75 0a                	jne    0x1404a66be
1404a66b4:	44 39 71 44          	cmp    %r14d,0x44(%rcx)
1404a66b8:	0f 85 96 00 00 00    	jne    0x1404a6754
1404a66be:	4c 39 73 08          	cmp    %r14,0x8(%rbx)
1404a66c2:	75 76                	jne    0x1404a673a
1404a66c4:	b9 30 00 00 00       	mov    $0x30,%ecx
1404a66c9:	e8 3a 4a 97 00       	call   0x140e1b108
1404a66ce:	48 85 c0             	test   %rax,%rax
1404a66d1:	74 27                	je     0x1404a66fa
1404a66d3:	0f b6 4b 28          	movzbl 0x28(%rbx),%ecx
1404a66d7:	4c 89 30             	mov    %r14,(%rax)
1404a66da:	c7 40 08 ff ff ff ff 	movl   $0xffffffff,0x8(%rax)
1404a66e1:	4c 89 70 10          	mov    %r14,0x10(%rax)
1404a66e5:	4c 89 70 18          	mov    %r14,0x18(%rax)
1404a66e9:	88 48 20             	mov    %cl,0x20(%rax)
1404a66ec:	44 89 70 24          	mov    %r14d,0x24(%rax)
1404a66f0:	44 88 70 28          	mov    %r14b,0x28(%rax)
1404a66f4:	44 89 70 2c          	mov    %r14d,0x2c(%rax)
1404a66f8:	eb 03                	jmp    0x1404a66fd
1404a66fa:	49 8b c6             	mov    %r14,%rax
1404a66fd:	48 89 43 08          	mov    %rax,0x8(%rbx)
1404a6701:	45 33 c0             	xor    %r8d,%r8d
1404a6704:	33 d2                	xor    %edx,%edx
1404a6706:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1404a670a:	e8 61 81 51 00       	call   0x1409be870
1404a670f:	b9 18 00 00 00       	mov    $0x18,%ecx
1404a6714:	e8 ef 49 97 00       	call   0x140e1b108
1404a6719:	48 85 c0             	test   %rax,%rax
1404a671c:	74 15                	je     0x1404a6733
1404a671e:	48 8b 53 18          	mov    0x18(%rbx),%rdx
1404a6722:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1404a6726:	48 89 08             	mov    %rcx,(%rax)
1404a6729:	48 89 58 08          	mov    %rbx,0x8(%rax)
1404a672d:	48 89 50 10          	mov    %rdx,0x10(%rax)
1404a6731:	eb 03                	jmp    0x1404a6736
1404a6733:	49 8b c6             	mov    %r14,%rax
1404a6736:	48 89 43 10          	mov    %rax,0x10(%rbx)
1404a673a:	32 c0                	xor    %al,%al
1404a673c:	0f 1f 40 00          	nopl   0x0(%rax)
1404a6740:	84 c0                	test   %al,%al
1404a6742:	75 3d                	jne    0x1404a6781
1404a6744:	48 8b 53 18          	mov    0x18(%rbx),%rdx
1404a6748:	44 38 72 18          	cmp    %r14b,0x18(%rdx)
1404a674c:	75 24                	jne    0x1404a6772
1404a674e:	44 39 72 44          	cmp    %r14d,0x44(%rdx)
1404a6752:	74 1e                	je     0x1404a6772
1404a6754:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1404a6759:	48 33 cc             	xor    %rsp,%rcx
1404a675c:	e8 9f 4d 97 00       	call   0x140e1b500
1404a6761:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
1404a6768:	00
1404a6769:	48 83 c4 60          	add    $0x60,%rsp
1404a676d:	41 5e                	pop    %r14
1404a676f:	5f                   	pop    %rdi
1404a6770:	5e                   	pop    %rsi
1404a6771:	c3                   	ret
1404a6772:	4c 8b 43 10          	mov    0x10(%rbx),%r8
1404a6776:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1404a677a:	e8 c1 3d 00 00       	call   0x1404aa540
1404a677f:	eb bf                	jmp    0x1404a6740
1404a6781:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
1404a6785:	48 85 ff             	test   %rdi,%rdi
1404a6788:	74 74                	je     0x1404a67fe
1404a678a:	48 8b 0f             	mov    (%rdi),%rcx
1404a678d:	48 85 c9             	test   %rcx,%rcx
1404a6790:	74 0a                	je     0x1404a679c
1404a6792:	ba 10 00 00 00       	mov    $0x10,%edx
1404a6797:	e8 a8 49 97 00       	call   0x140e1b144
1404a679c:	4c 89 37             	mov    %r14,(%rdi)
1404a679f:	8b 4f 08             	mov    0x8(%rdi),%ecx
1404a67a2:	85 c9                	test   %ecx,%ecx
1404a67a4:	74 29                	je     0x1404a67cf
1404a67a6:	83 f9 01             	cmp    $0x1,%ecx
1404a67a9:	75 46                	jne    0x1404a67f1
1404a67ab:	48 8b 77 10          	mov    0x10(%rdi),%rsi
1404a67af:	48 85 f6             	test   %rsi,%rsi
1404a67b2:	74 15                	je     0x1404a67c9
1404a67b4:	48 8b ce             	mov    %rsi,%rcx
1404a67b7:	e8 54 ee ff ff       	call   0x1404a5610
1404a67bc:	ba 88 00 00 00       	mov    $0x88,%edx
1404a67c1:	48 8b ce             	mov    %rsi,%rcx
1404a67c4:	e8 7b 49 97 00       	call   0x140e1b144
1404a67c9:	4c 89 77 10          	mov    %r14,0x10(%rdi)
1404a67cd:	eb 22                	jmp    0x1404a67f1
1404a67cf:	48 8b 77 18          	mov    0x18(%rdi),%rsi
1404a67d3:	48 85 f6             	test   %rsi,%rsi
1404a67d6:	74 15                	je     0x1404a67ed
1404a67d8:	48 8b ce             	mov    %rsi,%rcx
1404a67db:	e8 20 f2 ff ff       	call   0x1404a5a00
1404a67e0:	ba f8 00 00 00       	mov    $0xf8,%edx
1404a67e5:	48 8b ce             	mov    %rsi,%rcx
1404a67e8:	e8 57 49 97 00       	call   0x140e1b144
1404a67ed:	4c 89 77 18          	mov    %r14,0x18(%rdi)
1404a67f1:	ba 30 00 00 00       	mov    $0x30,%edx
1404a67f6:	48 8b cf             	mov    %rdi,%rcx
1404a67f9:	e8 46 49 97 00       	call   0x140e1b144
1404a67fe:	4c 89 73 08          	mov    %r14,0x8(%rbx)
1404a6802:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1404a6806:	48 85 c9             	test   %rcx,%rcx
1404a6809:	74 0a                	je     0x1404a6815
1404a680b:	ba 18 00 00 00       	mov    $0x18,%edx
1404a6810:	e8 2f 49 97 00       	call   0x140e1b144
1404a6815:	4c 89 73 10          	mov    %r14,0x10(%rbx)
1404a6819:	e9 72 fe ff ff       	jmp    0x1404a6690
1404a681e:	cc                   	int3
1404a681f:	cc                   	int3
1404a6820:	40 53                	rex push %rbx
1404a6822:	55                   	push   %rbp
1404a6823:	56                   	push   %rsi
1404a6824:	57                   	push   %rdi
1404a6825:	48 83 ec 68          	sub    $0x68,%rsp
1404a6829:	48 8b 05 d0 26 f1 00 	mov    0xf126d0(%rip),%rax        # 0x1413b8f00
1404a6830:	48 33 c4             	xor    %rsp,%rax
1404a6833:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1404a6838:	48 8b d9             	mov    %rcx,%rbx
1404a683b:	48 8d 42 01          	lea    0x1(%rdx),%rax
1404a683f:	49 3b c0             	cmp    %r8,%rax
1404a6842:	0f 87 b5 00 00 00    	ja     0x1404a68fd
1404a6848:	48 3b c2             	cmp    %rdx,%rax
1404a684b:	0f 82 ac 00 00 00    	jb     0x1404a68fd
1404a6851:	0f b6 02             	movzbl (%rdx),%eax
1404a6854:	88 01                	mov    %al,(%rcx)
1404a6856:	49 8b 71 08          	mov    0x8(%r9),%rsi
1404a685a:	48 8b 79 08          	mov    0x8(%rcx),%rdi
1404a685e:	48 8b 0d db 31 f8 00 	mov    0xf831db(%rip),%rcx        # 0x141429a40
1404a6865:	48 85 c9             	test   %rcx,%rcx
1404a6868:	74 69                	je     0x1404a68d3
1404a686a:	e8 c1 ec 36 00       	call   0x140815530
1404a686f:	84 c0                	test   %al,%al
1404a6871:	74 60                	je     0x1404a68d3
1404a6873:	0f b6 2b             	movzbl (%rbx),%ebp
1404a6876:	48 8b d7             	mov    %rdi,%rdx
1404a6879:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1404a687e:	e8 3d fc ff ff       	call   0x1404a64c0
1404a6883:	48 8b 08             	mov    (%rax),%rcx
1404a6886:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1404a688d:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1404a6892:	48 8b 08             	mov    (%rax),%rcx
1404a6895:	48 85 c9             	test   %rcx,%rcx
1404a6898:	74 20                	je     0x1404a68ba
1404a689a:	8b 41 10             	mov    0x10(%rcx),%eax
1404a689d:	ff c8                	dec    %eax
1404a689f:	89 41 10             	mov    %eax,0x10(%rcx)
1404a68a2:	85 c0                	test   %eax,%eax
1404a68a4:	7f 14                	jg     0x1404a68ba
1404a68a6:	78 4a                	js     0x1404a68f2
1404a68a8:	48 8b 01             	mov    (%rcx),%rax
1404a68ab:	ba 01 00 00 00       	mov    $0x1,%edx
1404a68b0:	48 8b 00             	mov    (%rax),%rax
1404a68b3:	ff 15 67 d1 ad 00    	call   *0xadd167(%rip)        # 0x140f83a20
1404a68b9:	90                   	nop
1404a68ba:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
1404a68be:	48 8b 49 20          	mov    0x20(%rcx),%rcx
1404a68c2:	4c 8b cd             	mov    %rbp,%r9
1404a68c5:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
1404a68ca:	48 8b 51 28          	mov    0x28(%rcx),%rdx
1404a68ce:	e8 3d 6b 00 00       	call   0x1404ad410
1404a68d3:	c6 43 10 01          	movb   $0x1,0x10(%rbx)
1404a68d7:	b8 01 00 00 00       	mov    $0x1,%eax
1404a68dc:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1404a68e1:	48 33 cc             	xor    %rsp,%rcx
1404a68e4:	e8 17 4c 97 00       	call   0x140e1b500
1404a68e9:	48 83 c4 68          	add    $0x68,%rsp
1404a68ed:	5f                   	pop    %rdi
1404a68ee:	5e                   	pop    %rsi
1404a68ef:	5d                   	pop    %rbp
1404a68f0:	5b                   	pop    %rbx
1404a68f1:	c3                   	ret
1404a68f2:	b9 02 00 00 00       	mov    $0x2,%ecx
1404a68f7:	e8 04 3e 2e 00       	call   0x14078a700
1404a68fc:	90                   	nop
1404a68fd:	44 2b c2             	sub    %edx,%r8d
1404a6900:	45 8b c8             	mov    %r8d,%r9d
1404a6903:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1404a6909:	48 8d 15 00 cf af 00 	lea    0xafcf00(%rip),%rdx        # 0x140fa3810
1404a6910:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1404a6915:	e8 d6 27 d0 ff       	call   0x1401a90f0
1404a691a:	48 8d 15 af a0 ef 00 	lea    0xefa0af(%rip),%rdx        # 0x1413a09d0
1404a6921:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1404a6926:	e8 ed 5e 97 00       	call   0x140e1c818
1404a692b:	cc                   	int3
1404a692c:	cc                   	int3
1404a692d:	cc                   	int3
1404a692e:	cc                   	int3
1404a692f:	cc                   	int3
1404a6930:	4c 8b dc             	mov    %rsp,%r11
1404a6933:	53                   	push   %rbx
1404a6934:	56                   	push   %rsi
1404a6935:	48 83 ec 68          	sub    $0x68,%rsp
1404a6939:	48 8b 05 c0 25 f1 00 	mov    0xf125c0(%rip),%rax        # 0x1413b8f00
1404a6940:	48 33 c4             	xor    %rsp,%rax
1404a6943:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1404a6948:	4d 8b c8             	mov    %r8,%r9
1404a694b:	48 8d 5a 02          	lea    0x2(%rdx),%rbx
1404a694f:	4c 8b c2             	mov    %rdx,%r8
1404a6952:	48 8b f1             	mov    %rcx,%rsi
1404a6955:	49 3b d9             	cmp    %r9,%rbx
1404a6958:	0f 87 46 01 00 00    	ja     0x1404a6aa4
1404a695e:	48 8d 42 01          	lea    0x1(%rdx),%rax
1404a6962:	48 3b d8             	cmp    %rax,%rbx
1404a6965:	0f 82 39 01 00 00    	jb     0x1404a6aa4
1404a696b:	0f b6 0a             	movzbl (%rdx),%ecx
1404a696e:	88 0e                	mov    %cl,(%rsi)
1404a6970:	0f b6 00             	movzbl (%rax),%eax
1404a6973:	49 89 6b 20          	mov    %rbp,0x20(%r11)
1404a6977:	8b e9                	mov    %ecx,%ebp
1404a6979:	48 83 c1 02          	add    $0x2,%rcx
1404a697d:	88 46 01             	mov    %al,0x1(%rsi)
1404a6980:	48 03 ca             	add    %rdx,%rcx
1404a6983:	49 3b c9             	cmp    %r9,%rcx
1404a6986:	0f 87 ee 00 00 00    	ja     0x1404a6a7a
1404a698c:	48 3b cb             	cmp    %rbx,%rcx