14016a316:	48 8b 05 63 de 29 00 	mov    0x29de63(%rip),%rax        # 0x140408180
14016a31d:	48 33 c4             	xor    %rsp,%rax
14016a320:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14016a325:	49 8b 58 08          	mov    0x8(%r8),%rbx
14016a329:	48 83 7b 10 00       	cmpq   $0x0,0x10(%rbx)
14016a32e:	74 41                	je     0x14016a371
14016a330:	48 8b 82 78 02 00 00 	mov    0x278(%rdx),%rax
14016a337:	41 b8 20 00 00 00    	mov    $0x20,%r8d
14016a33d:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14016a342:	48 89 08             	mov    %rcx,(%rax)
14016a345:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14016a349:	e8 c2 f8 06 00       	call   0x1401d9c10
14016a34e:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14016a352:	e8 49 00 07 00       	call   0x1401da3a0
14016a357:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14016a35b:	e8 10 fd 06 00       	call   0x1401da070
14016a360:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14016a364:	e8 87 e7 06 00       	call   0x1401d8af0
14016a369:	48 c7 43 10 00 00 00 	movq   $0x0,0x10(%rbx)
14016a370:	00
14016a371:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14016a375:	48 85 c9             	test   %rcx,%rcx
14016a378:	74 0d                	je     0x14016a387
14016a37a:	e8 91 d2 06 00       	call   0x1401d7610
14016a37f:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
14016a386:	00
14016a387:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14016a38c:	48 33 cc             	xor    %rsp,%rcx
14016a38f:	e8 ac 02 19 00       	call   0x1402fa640
14016a394:	48 83 c4 50          	add    $0x50,%rsp
14016a398:	5b                   	pop    %rbx
14016a399:	c3                   	ret
14016a39a:	cc                   	int3
14016a39b:	cc                   	int3
14016a39c:	cc                   	int3
14016a39d:	cc                   	int3
14016a39e:	cc                   	int3
14016a39f:	cc                   	int3
14016a3a0:	40 55                	rex push %rbp
14016a3a2:	56                   	push   %rsi
14016a3a3:	57                   	push   %rdi
14016a3a4:	41 54                	push   %r12
14016a3a6:	41 55                	push   %r13
14016a3a8:	41 56                	push   %r14
14016a3aa:	41 57                	push   %r15
14016a3ac:	48 83 ec 70          	sub    $0x70,%rsp
14016a3b0:	48 8b 05 c9 dd 29 00 	mov    0x29ddc9(%rip),%rax        # 0x140408180
14016a3b7:	48 33 c4             	xor    %rsp,%rax
14016a3ba:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14016a3bf:	4c 8b ac 24 d0 00 00 	mov    0xd0(%rsp),%r13
14016a3c6:	00
14016a3c7:	45 0f b6 e1          	movzbl %r9b,%r12d
14016a3cb:	4d 63 f8             	movslq %r8d,%r15
14016a3ce:	48 8b f2             	mov    %rdx,%rsi
14016a3d1:	48 8b e9             	mov    %rcx,%rbp
14016a3d4:	4a 8b bc fa e8 01 00 	mov    0x1e8(%rdx,%r15,8),%rdi
14016a3db:	00
14016a3dc:	49 8d 47 1a          	lea    0x1a(%r15),%rax
14016a3e0:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
14016a3e4:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14016a3e9:	83 3c c2 02          	cmpl   $0x2,(%rdx,%rax,8)
14016a3ed:	4c 8d 34 c2          	lea    (%rdx,%rax,8),%r14
14016a3f1:	75 0c                	jne    0x14016a3ff
14016a3f3:	41 c6 45 00 01       	movb   $0x1,0x0(%r13)
14016a3f8:	33 c0                	xor    %eax,%eax
14016a3fa:	e9 d6 02 00 00       	jmp    0x14016a6d5
14016a3ff:	41 83 7e 04 00       	cmpl   $0x0,0x4(%r14)
14016a404:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
14016a409:	75 35                	jne    0x14016a440
14016a40b:	41 b0 01             	mov    $0x1,%r8b
14016a40e:	33 d2                	xor    %edx,%edx
14016a410:	e8 ab 87 fe ff       	call   0x140152bc0
14016a415:	48 85 c0             	test   %rax,%rax
14016a418:	0f 88 c0 01 00 00    	js     0x14016a5de
14016a41e:	45 8b c7             	mov    %r15d,%r8d
14016a421:	48 8b d6             	mov    %rsi,%rdx
14016a424:	48 8b cd             	mov    %rbp,%rcx
14016a427:	e8 d4 02 00 00       	call   0x14016a700
14016a42c:	85 c0                	test   %eax,%eax
14016a42e:	0f 85 9c 02 00 00    	jne    0x14016a6d0
14016a434:	0f 1f 40 00          	nopl   0x0(%rax)
14016a438:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14016a43f:	00
14016a440:	41 8b 4e 04          	mov    0x4(%r14),%ecx
14016a444:	8d 41 ff             	lea    -0x1(%rcx),%eax
14016a447:	83 f8 02             	cmp    $0x2,%eax
14016a44a:	0f 87 a7 01 00 00    	ja     0x14016a5f7
14016a450:	41 b0 01             	mov    $0x1,%r8b
14016a453:	33 d2                	xor    %edx,%edx
14016a455:	48 8b cd             	mov    %rbp,%rcx
14016a458:	e8 63 87 fe ff       	call   0x140152bc0
14016a45d:	4c 8b c0             	mov    %rax,%r8
14016a460:	48 85 c0             	test   %rax,%rax
14016a463:	0f 88 75 01 00 00    	js     0x14016a5de
14016a469:	41 8b 4e 04          	mov    0x4(%r14),%ecx
14016a46d:	8d 41 fe             	lea    -0x2(%rcx),%eax
14016a470:	83 f8 01             	cmp    $0x1,%eax
14016a473:	0f 87 ff 00 00 00    	ja     0x14016a578
14016a479:	83 f9 03             	cmp    $0x3,%ecx
14016a47c:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
14016a483:	48 0f 44 df          	cmove  %rdi,%rbx
14016a487:	83 f9 02             	cmp    $0x2,%ecx
14016a48a:	48 c7 c7 ff ff ff ff 	mov    $0xffffffffffffffff,%rdi
14016a491:	b9 00 00 00 00       	mov    $0x0,%ecx
14016a496:	48 0f 44 7c 24 20    	cmove  0x20(%rsp),%rdi
14016a49c:	45 84 e4             	test   %r12b,%r12b
14016a49f:	4c 0f 45 c1          	cmovne %rcx,%r8
14016a4a3:	48 83 ff ff          	cmp    $0xffffffffffffffff,%rdi
14016a4a7:	75 15                	jne    0x14016a4be
14016a4a9:	48 3b df             	cmp    %rdi,%rbx
14016a4ac:	75 10                	jne    0x14016a4be
14016a4ae:	49 8b c8             	mov    %r8,%rcx
14016a4b1:	e8 7a c1 fe ff       	call   0x140156630
14016a4b6:	44 8b c0             	mov    %eax,%r8d
14016a4b9:	e9 ae 00 00 00       	jmp    0x14016a56c
14016a4be:	8b d1                	mov    %ecx,%edx
14016a4c0:	48 8b c1             	mov    %rcx,%rax
14016a4c3:	48 83 ff ff          	cmp    $0xffffffffffffffff,%rdi
14016a4c7:	74 14                	je     0x14016a4dd
14016a4c9:	ba 01 00 00 00       	mov    $0x1,%edx
14016a4ce:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14016a4d3:	8b c2                	mov    %edx,%eax
14016a4d5:	c7 44 24 30 00 07 00 	movl   $0x700,0x30(%rsp)
14016a4dc:	00
14016a4dd:	48 83 fb ff          	cmp    $0xffffffffffffffff,%rbx
14016a4e1:	74 12                	je     0x14016a4f5
14016a4e3:	48 03 c0             	add    %rax,%rax
14016a4e6:	ff c2                	inc    %edx
14016a4e8:	48 89 5c c4 28       	mov    %rbx,0x28(%rsp,%rax,8)
14016a4ed:	c7 44 c4 30 10 04 00 	movl   $0x410,0x30(%rsp,%rax,8)
14016a4f4:	00
14016a4f5:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
14016a4fa:	e8 91 47 fe ff       	call   0x14014ec90
14016a4ff:	44 8b c0             	mov    %eax,%r8d
14016a502:	85 c0                	test   %eax,%eax
14016a504:	7e 66                	jle    0x14016a56c
14016a506:	33 c0                	xor    %eax,%eax
14016a508:	44 8b c0             	mov    %eax,%r8d
14016a50b:	8b d0                	mov    %eax,%edx
14016a50d:	48 83 ff ff          	cmp    $0xffffffffffffffff,%rdi
14016a511:	74 2d                	je     0x14016a540
14016a513:	0f b7 4c 24 32       	movzwl 0x32(%rsp),%ecx
14016a518:	ba 03 03 00 00       	mov    $0x303,%edx
14016a51d:	66 85 ca             	test   %cx,%dx
14016a520:	41 b8 04 06 00 00    	mov    $0x604,%r8d
14016a526:	ba 01 00 00 00       	mov    $0x1,%edx
14016a52b:	0f 95 c0             	setne  %al
14016a52e:	66 41 23 c8          	and    %r8w,%cx
14016a532:	44 8b c0             	mov    %eax,%r8d
14016a535:	41 83 c8 04          	or     $0x4,%r8d
14016a539:	66 85 c9             	test   %cx,%cx
14016a53c:	44 0f 44 c0          	cmove  %eax,%r8d
14016a540:	48 83 fb ff          	cmp    $0xffffffffffffffff,%rbx
14016a544:	74 26                	je     0x14016a56c
14016a546:	48 03 d2             	add    %rdx,%rdx
14016a549:	41 8b c8             	mov    %r8d,%ecx
14016a54c:	83 c9 02             	or     $0x2,%ecx
14016a54f:	b8 07 04 00 00       	mov    $0x407,%eax
14016a554:	0f b7 54 d4 32       	movzwl 0x32(%rsp,%rdx,8),%edx
14016a559:	f6 c2 10             	test   $0x10,%dl
14016a55c:	41 0f 44 c8          	cmove  %r8d,%ecx
14016a560:	44 8b c1             	mov    %ecx,%r8d
14016a563:	66 85 d0             	test   %dx,%ax
14016a566:	74 04                	je     0x14016a56c
14016a568:	41 83 c8 04          	or     $0x4,%r8d
14016a56c:	45 85 c0             	test   %r8d,%r8d
14016a56f:	78 4b                	js     0x14016a5bc
14016a571:	74 38                	je     0x14016a5ab
14016a573:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
14016a578:	45 8b c7             	mov    %r15d,%r8d
14016a57b:	48 8b d6             	mov    %rsi,%rdx
14016a57e:	48 8b cd             	mov    %rbp,%rcx
14016a581:	e8 fa 10 00 00       	call   0x14016b680
14016a586:	85 c0                	test   %eax,%eax
14016a588:	0f 85 42 01 00 00    	jne    0x14016a6d0
14016a58e:	45 84 e4             	test   %r12b,%r12b
14016a591:	0f 84 a9 fe ff ff    	je     0x14016a440
14016a597:	41 8b 4e 04          	mov    0x4(%r14),%ecx
14016a59b:	ff c9                	dec    %ecx
14016a59d:	83 f9 02             	cmp    $0x2,%ecx
14016a5a0:	0f 87 9a fe ff ff    	ja     0x14016a440
14016a5a6:	e9 25 01 00 00       	jmp    0x14016a6d0
14016a5ab:	45 84 e4             	test   %r12b,%r12b
14016a5ae:	74 2e                	je     0x14016a5de
14016a5b0:	41 c6 45 00 00       	movb   $0x0,0x0(%r13)
14016a5b5:	33 c0                	xor    %eax,%eax
14016a5b7:	e9 14 01 00 00       	jmp    0x14016a6d0
14016a5bc:	ff 15 06 f8 1b 00    	call   *0x1bf806(%rip)        # 0x140329dc8
14016a5c2:	48 8d 15 f7 ea 1c 00 	lea    0x1ceaf7(%rip),%rdx        # 0x1403390c0
14016a5c9:	48 8b cd             	mov    %rbp,%rcx
14016a5cc:	44 8b c0             	mov    %eax,%r8d
14016a5cf:	e8 5c 81 fd ff       	call   0x140142730
14016a5d4:	b8 23 00 00 00       	mov    $0x23,%eax
14016a5d9:	e9 f2 00 00 00       	jmp    0x14016a6d0
14016a5de:	48 8d 15 13 11 1d 00 	lea    0x1d1113(%rip),%rdx        # 0x14033b6f8
14016a5e5:	48 8b cd             	mov    %rbp,%rcx
14016a5e8:	e8 43 81 fd ff       	call   0x140142730
14016a5ed:	b8 1c 00 00 00       	mov    $0x1c,%eax
14016a5f2:	e9 d9 00 00 00       	jmp    0x14016a6d0
14016a5f7:	83 f9 04             	cmp    $0x4,%ecx
14016a5fa:	0f 85 94 00 00 00    	jne    0x14016a694
14016a600:	8b 96 3c 01 00 00    	mov    0x13c(%rsi),%edx
14016a606:	49 8d 47 1a          	lea    0x1a(%r15),%rax
14016a60a:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
14016a60e:	b9 a0 02 00 00       	mov    $0x2a0,%ecx
14016a613:	48 8d 1c c6          	lea    (%rsi,%rax,8),%rbx
14016a617:	41 b8 b8 02 00 00    	mov    $0x2b8,%r8d
14016a61d:	83 fa 02             	cmp    $0x2,%edx
14016a620:	75 1c                	jne    0x14016a63e
14016a622:	48 83 be f0 01 00 00 	cmpq   $0xffffffffffffffff,0x1f0(%rsi)
14016a629:	ff
14016a62a:	8b c1                	mov    %ecx,%eax
14016a62c:	41 0f 45 c0          	cmovne %r8d,%eax
14016a630:	39 14 30             	cmp    %edx,(%rax,%rsi,1)
14016a633:	74 09                	je     0x14016a63e
14016a635:	0f b6 86 c0 03 00 00 	movzbl 0x3c0(%rsi),%eax
14016a63c:	eb 07                	jmp    0x14016a645
14016a63e:	0f b6 86 48 03 00 00 	movzbl 0x348(%rsi),%eax
14016a645:	84 c0                	test   %al,%al
14016a647:	75 2f                	jne    0x14016a678
14016a649:	83 fa 02             	cmp    $0x2,%edx
14016a64c:	75 1a                	jne    0x14016a668
14016a64e:	48 83 be f0 01 00 00 	cmpq   $0xffffffffffffffff,0x1f0(%rsi)
14016a655:	ff
14016a656:	49 0f 45 c8          	cmovne %r8,%rcx
14016a65a:	39 14 31             	cmp    %edx,(%rcx,%rsi,1)
14016a65d:	74 09                	je     0x14016a668
14016a65f:	0f b6 86 c1 03 00 00 	movzbl 0x3c1(%rsi),%eax
14016a666:	eb 07                	jmp    0x14016a66f
14016a668:	0f b6 86 49 03 00 00 	movzbl 0x349(%rsi),%eax
14016a66f:	84 c0                	test   %al,%al
14016a671:	75 05                	jne    0x14016a678
14016a673:	45 32 c9             	xor    %r9b,%r9b
14016a676:	eb 03                	jmp    0x14016a67b
14016a678:	41 b1 01             	mov    $0x1,%r9b
14016a67b:	4c 8b c3             	mov    %rbx,%r8
14016a67e:	48 8b d6             	mov    %rsi,%rdx
14016a681:	48 8b cd             	mov    %rbp,%rcx
14016a684:	e8 77 7e 00 00       	call   0x140172500
14016a689:	85 c0                	test   %eax,%eax
14016a68b:	75 43                	jne    0x14016a6d0
14016a68d:	c7 43 04 05 00 00 00 	movl   $0x5,0x4(%rbx)
14016a694:	41 83 7e 04 05       	cmpl   $0x5,0x4(%r14)
14016a699:	75 29                	jne    0x14016a6c4
14016a69b:	48 8d 0d 5e 17 00 00 	lea    0x175e(%rip),%rcx        # 0x14016be00
14016a6a2:	41 c7 06 02 00 00 00 	movl   $0x2,(%r14)
14016a6a9:	4a 89 8c fe 10 02 00 	mov    %rcx,0x210(%rsi,%r15,8)
14016a6b0:	00
14016a6b1:	b0 01                	mov    $0x1,%al
14016a6b3:	48 8d 0d b6 1c 00 00 	lea    0x1cb6(%rip),%rcx        # 0x14016c370
14016a6ba:	4a 89 8c fe 20 02 00 	mov    %rcx,0x220(%rsi,%r15,8)
14016a6c1:	00
14016a6c2:	eb 02                	jmp    0x14016a6c6
14016a6c4:	32 c0                	xor    %al,%al
14016a6c6:	41 88 45 00          	mov    %al,0x0(%r13)
14016a6ca:	33 c0                	xor    %eax,%eax
14016a6cc:	41 89 46 04          	mov    %eax,0x4(%r14)
14016a6d0:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14016a6d5:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14016a6da:	48 33 cc             	xor    %rsp,%rcx
14016a6dd:	e8 5e ff 18 00       	call   0x1402fa640
14016a6e2:	48 83 c4 70          	add    $0x70,%rsp
14016a6e6:	41 5f                	pop    %r15
14016a6e8:	41 5e                	pop    %r14
14016a6ea:	41 5d                	pop    %r13
14016a6ec:	41 5c                	pop    %r12
14016a6ee:	5f                   	pop    %rdi
14016a6ef:	5e                   	pop    %rsi
14016a6f0:	5d                   	pop    %rbp
14016a6f1:	c3                   	ret
14016a6f2:	cc                   	int3
14016a6f3:	cc                   	int3
14016a6f4:	cc                   	int3
14016a6f5:	cc                   	int3
14016a6f6:	cc                   	int3
14016a6f7:	cc                   	int3
14016a6f8:	cc                   	int3
14016a6f9:	cc                   	int3
14016a6fa:	cc                   	int3
14016a6fb:	cc                   	int3
14016a6fc:	cc                   	int3
14016a6fd:	cc                   	int3
14016a6fe:	cc                   	int3
14016a6ff:	cc                   	int3
14016a700:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14016a705:	55                   	push   %rbp
14016a706:	56                   	push   %rsi
14016a707:	57                   	push   %rdi
14016a708:	41 54                	push   %r12
14016a70a:	41 55                	push   %r13
14016a70c:	41 56                	push   %r14
14016a70e:	41 57                	push   %r15
14016a710:	48 8d ac 24 b0 fe ff 	lea    -0x150(%rsp),%rbp
14016a717:	ff
14016a718:	48 81 ec 50 02 00 00 	sub    $0x250,%rsp
14016a71f:	48 8b 05 5a da 29 00 	mov    0x29da5a(%rip),%rax        # 0x140408180
14016a726:	48 33 c4             	xor    %rsp,%rax
14016a729:	48 89 85 40 01 00 00 	mov    %rax,0x140(%rbp)
14016a730:	49 63 c0             	movslq %r8d,%rax
14016a733:	45 33 d2             	xor    %r10d,%r10d
14016a736:	89 45 88             	mov    %eax,-0x78(%rbp)
14016a739:	48 8b f1             	mov    %rcx,%rsi
14016a73c:	48 8b fa             	mov    %rdx,%rdi
14016a73f:	4c 89 55 98          	mov    %r10,-0x68(%rbp)
14016a743:	41 bc a0 02 00 00    	mov    $0x2a0,%r12d
14016a749:	41 be b8 02 00 00    	mov    $0x2b8,%r14d
14016a74f:	48 8b 8c c2 e8 01 00 	mov    0x1e8(%rdx,%rax,8),%rcx
14016a756:	00
14016a757:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
14016a75b:	48 8d 40 4e          	lea    0x4e(%rax),%rax
14016a75f:	48 89 4d a8          	mov    %rcx,-0x58(%rbp)
14016a763:	4c 8d 0c c2          	lea    (%rdx,%rax,8),%r9
14016a767:	8b 92 3c 01 00 00    	mov    0x13c(%rdx),%edx
14016a76d:	4c 89 4d a0          	mov    %r9,-0x60(%rbp)
14016a771:	83 fa 02             	cmp    $0x2,%edx
14016a774:	75 28                	jne    0x14016a79e
14016a776:	48 83 bf f0 01 00 00 	cmpq   $0xffffffffffffffff,0x1f0(%rdi)
14016a77d:	ff
14016a77e:	41 8b c4             	mov    %r12d,%eax
14016a781:	41 0f 45 c6          	cmovne %r14d,%eax
14016a785:	39 14 38             	cmp    %edx,(%rax,%rdi,1)
14016a788:	74 14                	je     0x14016a79e
14016a78a:	4c 8b 87 28 01 00 00 	mov    0x128(%rdi),%r8
14016a791:	8b 9f 50 03 00 00    	mov    0x350(%rdi),%ebx
14016a797:	4c 89 44 24 60       	mov    %r8,0x60(%rsp)
14016a79c:	eb 17                	jmp    0x14016a7b5
14016a79e:	4c 8b 87 a0 00 00 00 	mov    0xa0(%rdi),%r8
14016a7a5:	8b 9f d8 02 00 00    	mov    0x2d8(%rdi),%ebx
14016a7ab:	4c 89 44 24 60       	mov    %r8,0x60(%rsp)
14016a7b0:	83 fa 02             	cmp    $0x2,%edx
14016a7b3:	75 1e                	jne    0x14016a7d3
14016a7b5:	48 83 bf f0 01 00 00 	cmpq   $0xffffffffffffffff,0x1f0(%rdi)
14016a7bc:	ff
14016a7bd:	49 8b c4             	mov    %r12,%rax
14016a7c0:	49 0f 45 c6          	cmovne %r14,%rax
14016a7c4:	83 3c 38 02          	cmpl   $0x2,(%rax,%rdi,1)
14016a7c8:	74 09                	je     0x14016a7d3
14016a7ca:	4c 8b be 70 06 00 00 	mov    0x670(%rsi),%r15
14016a7d1:	eb 20                	jmp    0x14016a7f3
14016a7d3:	4c 8b be a8 05 00 00 	mov    0x5a8(%rsi),%r15
14016a7da:	83 fa 02             	cmp    $0x2,%edx
14016a7dd:	75 35                	jne    0x14016a814
14016a7df:	48 83 bf f0 01 00 00 	cmpq   $0xffffffffffffffff,0x1f0(%rdi)
14016a7e6:	ff
14016a7e7:	49 8b c4             	mov    %r12,%rax
14016a7ea:	49 0f 45 c6          	cmovne %r14,%rax
14016a7ee:	39 14 38             	cmp    %edx,(%rax,%rdi,1)
14016a7f1:	74 21                	je     0x14016a814
14016a7f3:	48 8b 86 a0 06 00 00 	mov    0x6a0(%rsi),%rax
14016a7fa:	8b 8f 3c 01 00 00    	mov    0x13c(%rdi),%ecx