1401604c3:	48 8b 81 f0 00 00 00 	mov    0xf0(%rcx),%rax
1401604ca:	8b da                	mov    %edx,%ebx
1401604cc:	48 8b f9             	mov    %rcx,%rdi
1401604cf:	48 85 c0             	test   %rax,%rax
1401604d2:	74 48                	je     0x14016051c
1401604d4:	f6 40 28 05          	testb  $0x5,0x28(%rax)
1401604d8:	74 42                	je     0x14016051c
1401604da:	85 d2                	test   %edx,%edx
1401604dc:	74 3e                	je     0x14016051c
1401604de:	48 8b 89 98 00 00 00 	mov    0x98(%rcx),%rcx
1401604e5:	e8 56 b5 f8 ff       	call   0x1400eba40
1401604ea:	48 85 c0             	test   %rax,%rax
1401604ed:	74 2d                	je     0x14016051c
1401604ef:	44 8b c3             	mov    %ebx,%r8d
1401604f2:	48 8b d0             	mov    %rax,%rdx
1401604f5:	48 8b cf             	mov    %rdi,%rcx
1401604f8:	e8 13 1e 00 00       	call   0x140162310
1401604fd:	85 c0                	test   %eax,%eax
1401604ff:	78 20                	js     0x140160521
140160501:	7e 19                	jle    0x14016051c
140160503:	8d 43 ff             	lea    -0x1(%rbx),%eax
140160506:	89 87 94 00 00 00    	mov    %eax,0x94(%rdi)
14016050c:	b8 01 00 00 00       	mov    $0x1,%eax
140160511:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140160516:	48 83 c4 20          	add    $0x20,%rsp
14016051a:	5f                   	pop    %rdi
14016051b:	c3                   	ret
14016051c:	b8 03 00 00 00       	mov    $0x3,%eax
140160521:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140160526:	48 83 c4 20          	add    $0x20,%rsp
14016052a:	5f                   	pop    %rdi
14016052b:	c3                   	ret
14016052c:	cc                   	int3
14016052d:	cc                   	int3
14016052e:	cc                   	int3
14016052f:	cc                   	int3
140160530:	40 53                	rex push %rbx
140160532:	55                   	push   %rbp
140160533:	41 54                	push   %r12
140160535:	41 55                	push   %r13
140160537:	41 56                	push   %r14
140160539:	41 57                	push   %r15
14016053b:	b8 28 00 00 00       	mov    $0x28,%eax
140160540:	e8 eb 05 15 00       	call   0x1402b0b30
140160545:	48 2b e0             	sub    %rax,%rsp
140160548:	48 8b d9             	mov    %rcx,%rbx
14016054b:	c7 44 24 60 00 00 00 	movl   $0x0,0x60(%rsp)
140160552:	00
140160553:	48 8b 89 98 00 00 00 	mov    0x98(%rcx),%rcx
14016055a:	45 33 ff             	xor    %r15d,%r15d
14016055d:	e8 de b1 f8 ff       	call   0x1400eb740
140160562:	45 8d 77 ff          	lea    -0x1(%r15),%r14d
140160566:	4c 63 e8             	movslq %eax,%r13
140160569:	4c 39 bb d8 00 00 00 	cmp    %r15,0xd8(%rbx)
140160570:	74 0d                	je     0x14016057f
140160572:	45 33 e4             	xor    %r12d,%r12d
140160575:	c7 44 24 68 06 00 00 	movl   $0x6,0x68(%rsp)
14016057c:	00
14016057d:	eb 17                	jmp    0x140160596
14016057f:	48 8b 43 20          	mov    0x20(%rbx),%rax
140160583:	44 8b 60 14          	mov    0x14(%rax),%r12d
140160587:	8b 40 18             	mov    0x18(%rax),%eax
14016058a:	41 c1 ec 06          	shr    $0x6,%r12d
14016058e:	41 83 e4 01          	and    $0x1,%r12d
140160592:	89 44 24 68          	mov    %eax,0x68(%rsp)
140160596:	33 ed                	xor    %ebp,%ebp
140160598:	48 89 74 24 78       	mov    %rsi,0x78(%rsp)
14016059d:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401605a2:	45 85 ed             	test   %r13d,%r13d
1401605a5:	0f 8e 8d 07 00 00    	jle    0x140160d38
1401605ab:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
1401605b2:	8b d5                	mov    %ebp,%edx
1401605b4:	49 8b fd             	mov    %r13,%rdi
1401605b7:	e8 84 b4 f8 ff       	call   0x1400eba40
1401605bc:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
1401605c0:	48 8b f0             	mov    %rax,%rsi
1401605c3:	f6 41 14 10          	testb  $0x10,0x14(%rcx)
1401605c7:	75 37                	jne    0x140160600
1401605c9:	f7 80 d8 00 00 00 00 	testl  $0x200,0xd8(%rax)
1401605d0:	02 00 00
1401605d3:	74 2b                	je     0x140160600
1401605d5:	85 ed                	test   %ebp,%ebp
1401605d7:	78 06                	js     0x1401605df
1401605d9:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
1401605df:	48 8b d3             	mov    %rbx,%rdx
1401605e2:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
1401605e9:	33 c9                	xor    %ecx,%ecx
1401605eb:	c7 83 b0 00 00 00 22 	movl   $0x22,0xb0(%rbx)
1401605f2:	00 00 00
1401605f5:	ff 53 38             	call   *0x38(%rbx)
1401605f8:	85 c0                	test   %eax,%eax
1401605fa:	0f 84 56 07 00 00    	je     0x140160d56
140160600:	45 85 e4             	test   %r12d,%r12d
140160603:	75 37                	jne    0x14016063c
140160605:	f7 86 d8 00 00 00 00 	testl  $0x400,0xd8(%rsi)
14016060c:	04 00 00
14016060f:	74 2b                	je     0x14016063c
140160611:	85 ed                	test   %ebp,%ebp
140160613:	78 06                	js     0x14016061b
140160615:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
14016061b:	48 8b d3             	mov    %rbx,%rdx
14016061e:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
140160625:	33 c9                	xor    %ecx,%ecx
140160627:	c7 83 b0 00 00 00 28 	movl   $0x28,0xb0(%rbx)
14016062e:	00 00 00
140160631:	ff 53 38             	call   *0x38(%rbx)
140160634:	85 c0                	test   %eax,%eax
140160636:	0f 84 1a 07 00 00    	je     0x140160d56
14016063c:	48 8b ce             	mov    %rsi,%rcx
14016063f:	e8 7c b2 fb ff       	call   0x14011b8c0
140160644:	8b d0                	mov    %eax,%edx
140160646:	41 83 fe ff          	cmp    $0xffffffff,%r14d
14016064a:	74 72                	je     0x1401606be
14016064c:	45 85 f6             	test   %r14d,%r14d
14016064f:	74 25                	je     0x140160676
140160651:	85 c0                	test   %eax,%eax
140160653:	74 78                	je     0x1401606cd
140160655:	8d 4d 01             	lea    0x1(%rbp),%ecx
140160658:	41 3b cd             	cmp    %r13d,%ecx
14016065b:	7c 0e                	jl     0x14016066b
14016065d:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140160661:	f6 41 14 20          	testb  $0x20,0x14(%rcx)
140160665:	0f 84 ad 00 00 00    	je     0x140160718
14016066b:	83 fa 01             	cmp    $0x1,%edx
14016066e:	0f 84 a4 00 00 00    	je     0x140160718
140160674:	eb 57                	jmp    0x1401606cd
140160676:	85 d2                	test   %edx,%edx
140160678:	0f 84 9a 00 00 00    	je     0x140160718
14016067e:	8b d5                	mov    %ebp,%edx
140160680:	85 ed                	test   %ebp,%ebp
140160682:	79 08                	jns    0x14016068c
140160684:	8b 93 ac 00 00 00    	mov    0xac(%rbx),%edx
14016068a:	eb 06                	jmp    0x140160692
14016068c:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
140160692:	48 85 f6             	test   %rsi,%rsi
140160695:	74 0f                	je     0x1401606a6
140160697:	48 8b c6             	mov    %rsi,%rax
14016069a:	c7 83 b0 00 00 00 25 	movl   $0x25,0xb0(%rbx)
1401606a1:	00 00 00
1401606a4:	eb 5b                	jmp    0x140160701
1401606a6:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
1401606ad:	e8 8e b3 f8 ff       	call   0x1400eba40
1401606b2:	c7 83 b0 00 00 00 25 	movl   $0x25,0xb0(%rbx)
1401606b9:	00 00 00
1401606bc:	eb 43                	jmp    0x140160701
1401606be:	48 8b 43 20          	mov    0x20(%rbx),%rax
1401606c2:	f6 40 14 20          	testb  $0x20,0x14(%rax)
1401606c6:	74 50                	je     0x140160718
1401606c8:	83 fa 01             	cmp    $0x1,%edx
1401606cb:	76 4b                	jbe    0x140160718
1401606cd:	8b d5                	mov    %ebp,%edx
1401606cf:	85 ed                	test   %ebp,%ebp
1401606d1:	79 08                	jns    0x1401606db
1401606d3:	8b 93 ac 00 00 00    	mov    0xac(%rbx),%edx
1401606d9:	eb 06                	jmp    0x1401606e1
1401606db:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
1401606e1:	48 85 f6             	test   %rsi,%rsi
1401606e4:	74 05                	je     0x1401606eb
1401606e6:	48 8b c6             	mov    %rsi,%rax
1401606e9:	eb 0c                	jmp    0x1401606f7
1401606eb:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
1401606f2:	e8 49 b3 f8 ff       	call   0x1400eba40
1401606f7:	c7 83 b0 00 00 00 4f 	movl   $0x4f,0xb0(%rbx)
1401606fe:	00 00 00
140160701:	48 8b d3             	mov    %rbx,%rdx
140160704:	48 89 83 b8 00 00 00 	mov    %rax,0xb8(%rbx)
14016070b:	33 c9                	xor    %ecx,%ecx
14016070d:	ff 53 38             	call   *0x38(%rbx)
140160710:	85 c0                	test   %eax,%eax
140160712:	0f 84 3e 06 00 00    	je     0x140160d56
140160718:	48 83 ff 01          	cmp    $0x1,%rdi
14016071c:	0f 8e ea 00 00 00    	jle    0x14016080c
140160722:	48 8b ce             	mov    %rsi,%rcx
140160725:	e8 d6 3f fa ff       	call   0x140104700
14016072a:	48 8b f8             	mov    %rax,%rdi
14016072d:	48 85 c0             	test   %rax,%rax
140160730:	74 38                	je     0x14016076a
140160732:	48 8b c8             	mov    %rax,%rcx
140160735:	e8 66 1b f9 ff       	call   0x1400f22a0
14016073a:	3d 98 01 00 00       	cmp    $0x198,%eax
14016073f:	0f 85 c4 00 00 00    	jne    0x140160809
140160745:	4c 8d 44 24 70       	lea    0x70(%rsp),%r8
14016074a:	48 8b cf             	mov    %rdi,%rcx
14016074d:	48 8d 15 4c 68 1b 00 	lea    0x1b684c(%rip),%rdx        # 0x140316fa0
140160754:	e8 e7 98 f9 ff       	call   0x1400fa040
140160759:	83 f8 01             	cmp    $0x1,%eax
14016075c:	75 0c                	jne    0x14016076a
14016075e:	33 ff                	xor    %edi,%edi
140160760:	39 7c 24 70          	cmp    %edi,0x70(%rsp)
140160764:	40 0f 94 c7          	sete   %dil
140160768:	eb 50                	jmp    0x1401607ba
14016076a:	bf ff ff ff ff       	mov    $0xffffffff,%edi
14016076f:	8b d5                	mov    %ebp,%edx
140160771:	85 ed                	test   %ebp,%ebp
140160773:	79 08                	jns    0x14016077d
140160775:	8b 93 ac 00 00 00    	mov    0xac(%rbx),%edx
14016077b:	eb 06                	jmp    0x140160783
14016077d:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
140160783:	48 85 f6             	test   %rsi,%rsi
140160786:	74 05                	je     0x14016078d
140160788:	48 8b c6             	mov    %rsi,%rax
14016078b:	eb 0c                	jmp    0x140160799
14016078d:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
140160794:	e8 a7 b2 f8 ff       	call   0x1400eba40
140160799:	48 8b d3             	mov    %rbx,%rdx
14016079c:	48 89 83 b8 00 00 00 	mov    %rax,0xb8(%rbx)
1401607a3:	33 c9                	xor    %ecx,%ecx
1401607a5:	c7 83 b0 00 00 00 01 	movl   $0x1,0xb0(%rbx)
1401607ac:	00 00 00
1401607af:	ff 53 38             	call   *0x38(%rbx)
1401607b2:	85 c0                	test   %eax,%eax
1401607b4:	0f 84 9c 05 00 00    	je     0x140160d56
1401607ba:	85 ff                	test   %edi,%edi
1401607bc:	75 4b                	jne    0x140160809
1401607be:	8b d5                	mov    %ebp,%edx
1401607c0:	85 ed                	test   %ebp,%ebp
1401607c2:	79 08                	jns    0x1401607cc
1401607c4:	8b 93 ac 00 00 00    	mov    0xac(%rbx),%edx
1401607ca:	eb 06                	jmp    0x1401607d2
1401607cc:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
1401607d2:	48 85 f6             	test   %rsi,%rsi
1401607d5:	74 05                	je     0x1401607dc
1401607d7:	48 8b c6             	mov    %rsi,%rax
1401607da:	eb 0c                	jmp    0x1401607e8
1401607dc:	48 8b 8b 98 00 00 00 	mov    0x98(%rbx),%rcx
1401607e3:	e8 58 b2 f8 ff       	call   0x1400eba40
1401607e8:	48 8b d3             	mov    %rbx,%rdx
1401607eb:	48 89 83 b8 00 00 00 	mov    %rax,0xb8(%rbx)
1401607f2:	33 c9                	xor    %ecx,%ecx
1401607f4:	c7 83 b0 00 00 00 5e 	movl   $0x5e,0xb0(%rbx)
1401607fb:	00 00 00
1401607fe:	ff 53 38             	call   *0x38(%rbx)
140160801:	85 c0                	test   %eax,%eax
140160803:	0f 84 4d 05 00 00    	je     0x140160d56
140160809:	49 8b fd             	mov    %r13,%rdi
14016080c:	48 8b 43 20          	mov    0x20(%rbx),%rax
140160810:	f6 40 14 20          	testb  $0x20,0x14(%rax)
140160814:	0f 84 b8 03 00 00    	je     0x140160bd2
14016081a:	48 83 ff 01          	cmp    $0x1,%rdi
14016081e:	0f 8e ae 03 00 00    	jle    0x140160bd2
140160824:	83 be d0 00 00 00 ff 	cmpl   $0xffffffff,0xd0(%rsi)
14016082b:	74 68                	je     0x140160895
14016082d:	f6 86 d8 00 00 00 10 	testb  $0x10,0xd8(%rsi)
140160834:	75 2b                	jne    0x140160861
140160836:	85 ed                	test   %ebp,%ebp
140160838:	78 06                	js     0x140160840
14016083a:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
140160840:	48 8b d3             	mov    %rbx,%rdx
140160843:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
14016084a:	33 c9                	xor    %ecx,%ecx
14016084c:	c7 83 b0 00 00 00 50 	movl   $0x50,0xb0(%rbx)
140160853:	00 00 00
140160856:	ff 53 38             	call   *0x38(%rbx)
140160859:	85 c0                	test   %eax,%eax
14016085b:	0f 84 f5 04 00 00    	je     0x140160d56
140160861:	f6 86 dc 00 00 00 04 	testb  $0x4,0xdc(%rsi)
140160868:	75 2b                	jne    0x140160895
14016086a:	85 ed                	test   %ebp,%ebp
14016086c:	78 06                	js     0x140160874
14016086e:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
140160874:	48 8b d3             	mov    %rbx,%rdx
140160877:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
14016087e:	33 c9                	xor    %ecx,%ecx
140160880:	c7 83 b0 00 00 00 51 	movl   $0x51,0xb0(%rbx)
140160887:	00 00 00
14016088a:	ff 53 38             	call   *0x38(%rbx)
14016088d:	85 c0                	test   %eax,%eax
14016088f:	0f 84 c1 04 00 00    	je     0x140160d56
140160895:	8b 86 d8 00 00 00    	mov    0xd8(%rsi),%eax
14016089b:	25 11 00 01 00       	and    $0x10011,%eax
1401608a0:	83 f8 11             	cmp    $0x11,%eax
1401608a3:	75 2b                	jne    0x1401608d0
1401608a5:	85 ed                	test   %ebp,%ebp
1401608a7:	78 06                	js     0x1401608af
1401608a9:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
1401608af:	48 8b d3             	mov    %rbx,%rdx
1401608b2:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
1401608b9:	33 c9                	xor    %ecx,%ecx
1401608bb:	c7 83 b0 00 00 00 59 	movl   $0x59,0xb0(%rbx)
1401608c2:	00 00 00
1401608c5:	ff 53 38             	call   *0x38(%rbx)
1401608c8:	85 c0                	test   %eax,%eax
1401608ca:	0f 84 86 04 00 00    	je     0x140160d56
1401608d0:	8b 86 d8 00 00 00    	mov    0xd8(%rsi),%eax
1401608d6:	a8 10                	test   $0x10,%al
1401608d8:	74 1a                	je     0x1401608f4
1401608da:	a8 02                	test   $0x2,%al
1401608dc:	75 4a                	jne    0x140160928
1401608de:	85 ed                	test   %ebp,%ebp
1401608e0:	78 06                	js     0x1401608e8
1401608e2:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
1401608e8:	c7 83 b0 00 00 00 5c 	movl   $0x5c,0xb0(%rbx)
1401608ef:	00 00 00
1401608f2:	eb 1d                	jmp    0x140160911
1401608f4:	f6 86 dc 00 00 00 04 	testb  $0x4,0xdc(%rsi)
1401608fb:	74 2b                	je     0x140160928
1401608fd:	85 ed                	test   %ebp,%ebp
1401608ff:	78 06                	js     0x140160907
140160901:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
140160907:	c7 83 b0 00 00 00 52 	movl   $0x52,0xb0(%rbx)
14016090e:	00 00 00
140160911:	48 8b d3             	mov    %rbx,%rdx
140160914:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
14016091b:	33 c9                	xor    %ecx,%ecx
14016091d:	ff 53 38             	call   *0x38(%rbx)
140160920:	85 c0                	test   %eax,%eax
140160922:	0f 84 2e 04 00 00    	je     0x140160d56
140160928:	48 8b ce             	mov    %rsi,%rcx
14016092b:	e8 c0 c5 f9 ff       	call   0x1400fcef0
140160930:	48 8b c8             	mov    %rax,%rcx
140160933:	e8 78 44 fa ff       	call   0x140104db0
140160938:	85 c0                	test   %eax,%eax
14016093a:	75 2b                	jne    0x140160967
14016093c:	85 ed                	test   %ebp,%ebp
14016093e:	78 06                	js     0x140160946
140160940:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
140160946:	48 8b d3             	mov    %rbx,%rdx
140160949:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
140160950:	33 c9                	xor    %ecx,%ecx
140160952:	c7 83 b0 00 00 00 53 	movl   $0x53,0xb0(%rbx)
140160959:	00 00 00
14016095c:	ff 53 38             	call   *0x38(%rbx)
14016095f:	85 c0                	test   %eax,%eax
140160961:	0f 84 ef 03 00 00    	je     0x140160d56
140160967:	f6 86 d8 00 00 00 10 	testb  $0x10,0xd8(%rsi)
14016096e:	75 13                	jne    0x140160983
140160970:	f6 86 dc 00 00 00 02 	testb  $0x2,0xdc(%rsi)
140160977:	75 0a                	jne    0x140160983
140160979:	48 83 be 08 01 00 00 	cmpq   $0x0,0x108(%rsi)
140160980:	00
140160981:	75 3f                	jne    0x1401609c2
140160983:	48 8b ce             	mov    %rsi,%rcx
140160986:	e8 65 c7 f9 ff       	call   0x1400fd0f0
14016098b:	48 8b c8             	mov    %rax,%rcx
14016098e:	e8 1d 44 fa ff       	call   0x140104db0
140160993:	85 c0                	test   %eax,%eax
140160995:	75 2b                	jne    0x1401609c2
140160997:	85 ed                	test   %ebp,%ebp
140160999:	78 06                	js     0x1401609a1
14016099b:	89 ab ac 00 00 00    	mov    %ebp,0xac(%rbx)
1401609a1:	48 8b d3             	mov    %rbx,%rdx
1401609a4:	48 89 b3 b8 00 00 00 	mov    %rsi,0xb8(%rbx)
1401609ab:	33 c9                	xor    %ecx,%ecx
1401609ad:	c7 83 b0 00 00 00 54 	movl   $0x54,0xb0(%rbx)
1401609b4:	00 00 00
1401609b7:	ff 53 38             	call   *0x38(%rbx)
1401609ba:	85 c0                	test   %eax,%eax
1401609bc:	0f 84 94 03 00 00    	je     0x140160d56
1401609c2:	48 8b ce             	mov    %rsi,%rcx
1401609c5:	e8 26 c7 f9 ff       	call   0x1400fd0f0