14015867a:	48 83 ec 50          	sub    $0x50,%rsp
14015867e:	4d 8b e1             	mov    %r9,%r12
140158681:	4d 8b f0             	mov    %r8,%r14
140158684:	4c 8b ea             	mov    %rdx,%r13
140158687:	33 ff                	xor    %edi,%edi
140158689:	48 8b 59 f8          	mov    -0x8(%rcx),%rbx
14015868d:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140158692:	48 81 3b a8 01 00 00 	cmpq   $0x1a8,(%rbx)
140158699:	0f 82 0c 02 00 00    	jb     0x1401588ab
14015869f:	48 39 bb a0 01 00 00 	cmp    %rdi,0x1a0(%rbx)
1401586a6:	0f 84 ff 01 00 00    	je     0x1401588ab
1401586ac:	49 39 38             	cmp    %rdi,(%r8)
1401586af:	75 26                	jne    0x1401586d7
1401586b1:	48 89 3a             	mov    %rdi,(%rdx)
1401586b4:	49 8b 10             	mov    (%r8),%rdx
1401586b7:	48 85 d2             	test   %rdx,%rdx
1401586ba:	74 16                	je     0x1401586d2
1401586bc:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401586c0:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401586c4:	48 83 c2 08          	add    $0x8,%rdx
1401586c8:	48 03 ca             	add    %rdx,%rcx
1401586cb:	48 8b 01             	mov    (%rcx),%rax
1401586ce:	ff 50 08             	call   *0x8(%rax)
1401586d1:	90                   	nop
1401586d2:	e9 f5 01 00 00       	jmp    0x1401588cc
1401586d7:	48 8b ac 24 b0 00 00 	mov    0xb0(%rsp),%rbp
1401586de:	00
1401586df:	48 8b 75 08          	mov    0x8(%rbp),%rsi
1401586e3:	48 2b 75 00          	sub    0x0(%rbp),%rsi
1401586e7:	48 c1 fe 03          	sar    $0x3,%rsi
1401586eb:	4c 8b ff             	mov    %rdi,%r15
1401586ee:	48 85 f6             	test   %rsi,%rsi
1401586f1:	74 74                	je     0x140158767
1401586f3:	b8 08 00 00 00       	mov    $0x8,%eax
1401586f8:	48 f7 e6             	mul    %rsi
1401586fb:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140158702:	48 0f 40 c1          	cmovo  %rcx,%rax
140158706:	48 8b c8             	mov    %rax,%rcx
140158709:	e8 0a e2 02 00       	call   0x140186918
14015870e:	4c 8b f8             	mov    %rax,%r15
140158711:	48 85 c0             	test   %rax,%rax
140158714:	74 51                	je     0x140158767
140158716:	48 8b df             	mov    %rdi,%rbx
140158719:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140158720:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140158724:	48 8b 14 d9          	mov    (%rcx,%rbx,8),%rdx
140158728:	48 89 94 24 90 00 00 	mov    %rdx,0x90(%rsp)
14015872f:	00
140158730:	48 85 d2             	test   %rdx,%rdx
140158733:	74 14                	je     0x140158749
140158735:	48 8b 42 08          	mov    0x8(%rdx),%rax
140158739:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015873d:	48 83 c2 08          	add    $0x8,%rdx
140158741:	48 03 ca             	add    %rdx,%rcx
140158744:	48 8b 01             	mov    (%rcx),%rax
140158747:	ff 10                	call   *(%rax)
140158749:	48 8d 8c 24 90 00 00 	lea    0x90(%rsp),%rcx
140158750:	00
140158751:	e8 2a f0 fe ff       	call   0x140147780
140158756:	49 89 04 df          	mov    %rax,(%r15,%rbx,8)
14015875a:	48 ff c3             	inc    %rbx
14015875d:	48 3b de             	cmp    %rsi,%rbx
140158760:	72 be                	jb     0x140158720
140158762:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140158767:	48 8b 83 a0 01 00 00 	mov    0x1a0(%rbx),%rax
14015876e:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140158773:	49 8b 14 24          	mov    (%r12),%rdx
140158777:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
14015877c:	48 85 d2             	test   %rdx,%rdx
14015877f:	74 14                	je     0x140158795
140158781:	48 8b 42 08          	mov    0x8(%rdx),%rax
140158785:	48 63 48 04          	movslq 0x4(%rax),%rcx
140158789:	48 83 c2 08          	add    $0x8,%rdx
14015878d:	48 03 ca             	add    %rdx,%rcx
140158790:	48 8b 01             	mov    (%rcx),%rax
140158793:	ff 10                	call   *(%rax)
140158795:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14015879a:	e8 e1 ef fe ff       	call   0x140147780
14015879f:	48 8b e8             	mov    %rax,%rbp
1401587a2:	49 8b 0e             	mov    (%r14),%rcx
1401587a5:	48 89 8c 24 90 00 00 	mov    %rcx,0x90(%rsp)
1401587ac:	00
1401587ad:	48 85 c9             	test   %rcx,%rcx
1401587b0:	74 1c                	je     0x1401587ce
1401587b2:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1401587b6:	4c 63 42 04          	movslq 0x4(%rdx),%r8
1401587ba:	48 83 c1 08          	add    $0x8,%rcx
1401587be:	49 03 c8             	add    %r8,%rcx
1401587c1:	48 8b 11             	mov    (%rcx),%rdx
1401587c4:	ff 12                	call   *(%rdx)
1401587c6:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
1401587cd:	00
1401587ce:	48 8d 84 24 90 00 00 	lea    0x90(%rsp),%rax
1401587d5:	00
1401587d6:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1401587db:	48 85 c9             	test   %rcx,%rcx
1401587de:	75 02                	jne    0x1401587e2
1401587e0:	eb 78                	jmp    0x14015885a
1401587e2:	8b 41 f0             	mov    -0x10(%rcx),%eax
1401587e5:	3b 05 19 29 15 00    	cmp    0x152919(%rip),%eax        # 0x1402ab104
1401587eb:	74 32                	je     0x14015881f
1401587ed:	48 8b d1             	mov    %rcx,%rdx
1401587f0:	8b c8                	mov    %eax,%ecx
1401587f2:	e8 e9 e0 f6 ff       	call   0x1400c68e0
1401587f7:	48 8b f8             	mov    %rax,%rdi
1401587fa:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
140158801:	00
140158802:	48 85 c9             	test   %rcx,%rcx
140158805:	74 16                	je     0x14015881d
140158807:	48 8b 51 08          	mov    0x8(%rcx),%rdx
14015880b:	4c 63 42 04          	movslq 0x4(%rdx),%r8
14015880f:	48 83 c1 08          	add    $0x8,%rcx
140158813:	49 03 c8             	add    %r8,%rcx
140158816:	48 8b 11             	mov    (%rcx),%rdx
140158819:	ff 52 08             	call   *0x8(%rdx)
14015881c:	90                   	nop
14015881d:	eb 3b                	jmp    0x14015885a
14015881f:	48 8d 79 f8          	lea    -0x8(%rcx),%rdi
140158823:	48 8b 07             	mov    (%rdi),%rax
140158826:	48 8b 50 08          	mov    0x8(%rax),%rdx
14015882a:	48 85 d2             	test   %rdx,%rdx
14015882d:	74 0d                	je     0x14015883c
14015882f:	48 8b c8             	mov    %rax,%rcx
140158832:	ff d2                	call   *%rdx
140158834:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
14015883b:	00
14015883c:	48 8b 3f             	mov    (%rdi),%rdi
14015883f:	48 85 c9             	test   %rcx,%rcx
140158842:	74 16                	je     0x14015885a
140158844:	48 8b 41 08          	mov    0x8(%rcx),%rax
140158848:	48 63 50 04          	movslq 0x4(%rax),%rdx
14015884c:	48 83 c2 08          	add    $0x8,%rdx
140158850:	48 03 ca             	add    %rdx,%rcx
140158853:	48 8b 01             	mov    (%rcx),%rax
140158856:	ff 50 08             	call   *0x8(%rax)
140158859:	90                   	nop
14015885a:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14015885f:	4c 8b ce             	mov    %rsi,%r9
140158862:	4c 8b c5             	mov    %rbp,%r8
140158865:	48 8b d7             	mov    %rdi,%rdx
140158868:	48 8b cb             	mov    %rbx,%rcx
14015886b:	ff 54 24 40          	call   *0x40(%rsp)
14015886f:	48 8b d8             	mov    %rax,%rbx
140158872:	4d 85 ff             	test   %r15,%r15
140158875:	74 08                	je     0x14015887f
140158877:	49 8b cf             	mov    %r15,%rcx
14015887a:	e8 cd dd 02 00       	call   0x14018664c
14015887f:	48 8b d3             	mov    %rbx,%rdx
140158882:	49 8b cd             	mov    %r13,%rcx
140158885:	e8 a6 ef fe ff       	call   0x140147830
14015888a:	90                   	nop
14015888b:	49 8b 16             	mov    (%r14),%rdx
14015888e:	48 85 d2             	test   %rdx,%rdx
140158891:	74 16                	je     0x1401588a9
140158893:	48 8b 42 08          	mov    0x8(%rdx),%rax
140158897:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015889b:	48 83 c2 08          	add    $0x8,%rdx
14015889f:	48 03 ca             	add    %rdx,%rcx
1401588a2:	48 8b 01             	mov    (%rcx),%rax
1401588a5:	ff 50 08             	call   *0x8(%rax)
1401588a8:	90                   	nop
1401588a9:	eb 21                	jmp    0x1401588cc
1401588ab:	48 89 3a             	mov    %rdi,(%rdx)
1401588ae:	49 8b 10             	mov    (%r8),%rdx
1401588b1:	48 85 d2             	test   %rdx,%rdx
1401588b4:	74 16                	je     0x1401588cc
1401588b6:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401588ba:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401588be:	48 83 c2 08          	add    $0x8,%rdx
1401588c2:	48 03 ca             	add    %rdx,%rcx
1401588c5:	48 8b 01             	mov    (%rcx),%rax
1401588c8:	ff 50 08             	call   *0x8(%rax)
1401588cb:	90                   	nop
1401588cc:	49 8b 14 24          	mov    (%r12),%rdx
1401588d0:	48 85 d2             	test   %rdx,%rdx
1401588d3:	74 16                	je     0x1401588eb
1401588d5:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401588d9:	48 83 c2 08          	add    $0x8,%rdx
1401588dd:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401588e1:	48 03 ca             	add    %rdx,%rcx
1401588e4:	48 8b 01             	mov    (%rcx),%rax
1401588e7:	ff 50 08             	call   *0x8(%rax)
1401588ea:	90                   	nop
1401588eb:	49 8b c5             	mov    %r13,%rax
1401588ee:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
1401588f5:	00
1401588f6:	48 83 c4 50          	add    $0x50,%rsp
1401588fa:	41 5f                	pop    %r15
1401588fc:	41 5e                	pop    %r14
1401588fe:	41 5d                	pop    %r13
140158900:	41 5c                	pop    %r12
140158902:	5f                   	pop    %rdi
140158903:	5e                   	pop    %rsi
140158904:	5d                   	pop    %rbp
140158905:	c3                   	ret
140158906:	cc                   	int3
140158907:	cc                   	int3
140158908:	cc                   	int3
140158909:	cc                   	int3
14015890a:	cc                   	int3
14015890b:	cc                   	int3
14015890c:	cc                   	int3
14015890d:	cc                   	int3
14015890e:	cc                   	int3
14015890f:	cc                   	int3
140158910:	40 53                	rex push %rbx
140158912:	48 83 ec 30          	sub    $0x30,%rsp
140158916:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14015891a:	48 8b da             	mov    %rdx,%rbx
14015891d:	33 d2                	xor    %edx,%edx
14015891f:	48 81 39 80 01 00 00 	cmpq   $0x180,(%rcx)
140158926:	72 22                	jb     0x14015894a
140158928:	48 8b 81 78 01 00 00 	mov    0x178(%rcx),%rax
14015892f:	48 85 c0             	test   %rax,%rax
140158932:	74 16                	je     0x14015894a
140158934:	ff d0                	call   *%rax
140158936:	48 8b d0             	mov    %rax,%rdx
140158939:	48 8b cb             	mov    %rbx,%rcx
14015893c:	e8 4f 0f 00 00       	call   0x140159890
140158941:	48 8b c3             	mov    %rbx,%rax
140158944:	48 83 c4 30          	add    $0x30,%rsp
140158948:	5b                   	pop    %rbx
140158949:	c3                   	ret
14015894a:	48 89 13             	mov    %rdx,(%rbx)
14015894d:	48 8b c3             	mov    %rbx,%rax
140158950:	48 83 c4 30          	add    $0x30,%rsp
140158954:	5b                   	pop    %rbx
140158955:	c3                   	ret
140158956:	cc                   	int3
140158957:	cc                   	int3
140158958:	cc                   	int3
140158959:	cc                   	int3
14015895a:	cc                   	int3
14015895b:	cc                   	int3
14015895c:	cc                   	int3
14015895d:	cc                   	int3
14015895e:	cc                   	int3
14015895f:	cc                   	int3
140158960:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140158964:	48 81 39 78 01 00 00 	cmpq   $0x178,(%rcx)
14015896b:	72 0f                	jb     0x14015897c
14015896d:	48 8b 81 70 01 00 00 	mov    0x170(%rcx),%rax
140158974:	48 85 c0             	test   %rax,%rax
140158977:	74 03                	je     0x14015897c
140158979:	48 ff e0             	rex.W jmp *%rax
14015897c:	33 c0                	xor    %eax,%eax
14015897e:	c3                   	ret
14015897f:	cc                   	int3
140158980:	48 83 ec 28          	sub    $0x28,%rsp
140158984:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140158988:	48 81 39 a8 00 00 00 	cmpq   $0xa8,(%rcx)
14015898f:	72 18                	jb     0x1401589a9
140158991:	48 8b 81 a0 00 00 00 	mov    0xa0(%rcx),%rax
140158998:	48 85 c0             	test   %rax,%rax
14015899b:	74 0c                	je     0x1401589a9
14015899d:	ff d0                	call   *%rax
14015899f:	85 c0                	test   %eax,%eax
1401589a1:	0f 95 c0             	setne  %al
1401589a4:	48 83 c4 28          	add    $0x28,%rsp
1401589a8:	c3                   	ret
1401589a9:	32 c0                	xor    %al,%al
1401589ab:	48 83 c4 28          	add    $0x28,%rsp
1401589af:	c3                   	ret
1401589b0:	40 53                	rex push %rbx
1401589b2:	48 83 ec 20          	sub    $0x20,%rsp
1401589b6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401589ba:	48 8b da             	mov    %rdx,%rbx
1401589bd:	48 81 39 c8 00 00 00 	cmpq   $0xc8,(%rcx)
1401589c4:	72 1a                	jb     0x1401589e0
1401589c6:	48 8b 81 c0 00 00 00 	mov    0xc0(%rcx),%rax
1401589cd:	48 85 c0             	test   %rax,%rax
1401589d0:	74 0e                	je     0x1401589e0
1401589d2:	ff d0                	call   *%rax
1401589d4:	48 89 03             	mov    %rax,(%rbx)
1401589d7:	48 8b c3             	mov    %rbx,%rax
1401589da:	48 83 c4 20          	add    $0x20,%rsp
1401589de:	5b                   	pop    %rbx
1401589df:	c3                   	ret
1401589e0:	33 c0                	xor    %eax,%eax
1401589e2:	48 89 02             	mov    %rax,(%rdx)
1401589e5:	48 8b c3             	mov    %rbx,%rax
1401589e8:	48 83 c4 20          	add    $0x20,%rsp
1401589ec:	5b                   	pop    %rbx
1401589ed:	c3                   	ret
1401589ee:	cc                   	int3
1401589ef:	cc                   	int3
1401589f0:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1401589f4:	48 81 39 c0 00 00 00 	cmpq   $0xc0,(%rcx)
1401589fb:	72 0f                	jb     0x140158a0c
1401589fd:	48 8b 81 b8 00 00 00 	mov    0xb8(%rcx),%rax
140158a04:	48 85 c0             	test   %rax,%rax
140158a07:	74 03                	je     0x140158a0c
140158a09:	48 ff e0             	rex.W jmp *%rax
140158a0c:	0f 57 c0             	xorps  %xmm0,%xmm0
140158a0f:	c3                   	ret
140158a10:	40 53                	rex push %rbx
140158a12:	48 83 ec 30          	sub    $0x30,%rsp
140158a16:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140158a1a:	48 8b da             	mov    %rdx,%rbx
140158a1d:	33 d2                	xor    %edx,%edx
140158a1f:	48 81 39 e8 00 00 00 	cmpq   $0xe8,(%rcx)
140158a26:	72 22                	jb     0x140158a4a
140158a28:	48 8b 81 e0 00 00 00 	mov    0xe0(%rcx),%rax
140158a2f:	48 85 c0             	test   %rax,%rax
140158a32:	74 16                	je     0x140158a4a
140158a34:	ff d0                	call   *%rax
140158a36:	48 8b d0             	mov    %rax,%rdx
140158a39:	48 8b cb             	mov    %rbx,%rcx
140158a3c:	e8 4f d5 ff ff       	call   0x140155f90
140158a41:	48 8b c3             	mov    %rbx,%rax
140158a44:	48 83 c4 30          	add    $0x30,%rsp
140158a48:	5b                   	pop    %rbx
140158a49:	c3                   	ret
140158a4a:	48 89 13             	mov    %rdx,(%rbx)
140158a4d:	48 8b c3             	mov    %rbx,%rax
140158a50:	48 83 c4 30          	add    $0x30,%rsp
140158a54:	5b                   	pop    %rbx
140158a55:	c3                   	ret
140158a56:	cc                   	int3
140158a57:	cc                   	int3
140158a58:	cc                   	int3
140158a59:	cc                   	int3
140158a5a:	cc                   	int3
140158a5b:	cc                   	int3
140158a5c:	cc                   	int3
140158a5d:	cc                   	int3
140158a5e:	cc                   	int3
140158a5f:	cc                   	int3
140158a60:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140158a64:	48 81 39 68 01 00 00 	cmpq   $0x168,(%rcx)
140158a6b:	72 0f                	jb     0x140158a7c
140158a6d:	48 8b 81 60 01 00 00 	mov    0x160(%rcx),%rax
140158a74:	48 85 c0             	test   %rax,%rax
140158a77:	74 03                	je     0x140158a7c
140158a79:	48 ff e0             	rex.W jmp *%rax
140158a7c:	33 c0                	xor    %eax,%eax
140158a7e:	c3                   	ret
140158a7f:	cc                   	int3
140158a80:	40 53                	rex push %rbx
140158a82:	48 83 ec 30          	sub    $0x30,%rsp
140158a86:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140158a8a:	48 8b da             	mov    %rdx,%rbx
140158a8d:	33 d2                	xor    %edx,%edx
140158a8f:	48 81 39 98 01 00 00 	cmpq   $0x198,(%rcx)
140158a96:	72 22                	jb     0x140158aba
140158a98:	48 8b 81 90 01 00 00 	mov    0x190(%rcx),%rax
140158a9f:	48 85 c0             	test   %rax,%rax
140158aa2:	74 16                	je     0x140158aba
140158aa4:	ff d0                	call   *%rax
140158aa6:	48 8b d0             	mov    %rax,%rdx