18002280c:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
180022811:	ba 02 00 00 00       	mov    $0x2,%edx
180022816:	41 8b 06             	mov    (%r14),%eax
180022819:	41 8b cf             	mov    %r15d,%ecx
18002281c:	ff c8                	dec    %eax
18002281e:	89 44 24 58          	mov    %eax,0x58(%rsp)
180022822:	e8 d1 c4 ff ff       	call   0x18001ecf8
180022827:	eb 05                	jmp    0x18002282e
180022829:	b8 28 04 00 c0       	mov    $0xc0000428,%eax
18002282e:	48 8b 8d 90 02 00 00 	mov    0x290(%rbp),%rcx
180022835:	48 33 cc             	xor    %rsp,%rcx
180022838:	e8 ef 32 ff ff       	call   0x180015b2c
18002283d:	48 81 c4 a8 03 00 00 	add    $0x3a8,%rsp
180022844:	41 5f                	pop    %r15
180022846:	41 5e                	pop    %r14
180022848:	5f                   	pop    %rdi
180022849:	5e                   	pop    %rsi
18002284a:	5b                   	pop    %rbx
18002284b:	5d                   	pop    %rbp
18002284c:	c3                   	ret
18002284d:	cc                   	int3
18002284e:	cc                   	int3
18002284f:	cc                   	int3
180022850:	4c 8b dc             	mov    %rsp,%r11
180022853:	49 89 5b 08          	mov    %rbx,0x8(%r11)
180022857:	49 89 6b 10          	mov    %rbp,0x10(%r11)
18002285b:	56                   	push   %rsi
18002285c:	57                   	push   %rdi
18002285d:	41 54                	push   %r12
18002285f:	41 56                	push   %r14
180022861:	41 57                	push   %r15
180022863:	48 83 ec 30          	sub    $0x30,%rsp
180022867:	83 64 24 70 00       	andl   $0x0,0x70(%rsp)
18002286c:	45 8b f1             	mov    %r9d,%r14d
18002286f:	83 64 24 24 00       	andl   $0x0,0x24(%rsp)
180022874:	41 8b e8             	mov    %r8d,%ebp
180022877:	45 3b c1             	cmp    %r9d,%r8d
18002287a:	0f 82 d9 00 00 00    	jb     0x180022959
180022880:	83 fa 0c             	cmp    $0xc,%edx
180022883:	0f 82 d0 00 00 00    	jb     0x180022959
180022889:	f6 c1 03             	test   $0x3,%cl
18002288c:	0f 85 c7 00 00 00    	jne    0x180022959
180022892:	b8 00 02 00 00       	mov    $0x200,%eax
180022897:	66 39 41 04          	cmp    %ax,0x4(%rcx)
18002289b:	0f 85 b8 00 00 00    	jne    0x180022959
1800228a1:	66 83 79 06 02       	cmpw   $0x2,0x6(%rcx)
1800228a6:	0f 85 ad 00 00 00    	jne    0x180022959
1800228ac:	8b 01                	mov    (%rcx),%eax
1800228ae:	83 f8 08             	cmp    $0x8,%eax
1800228b1:	0f 86 a2 00 00 00    	jbe    0x180022959
1800228b7:	3b c2                	cmp    %edx,%eax
1800228b9:	0f 87 9a 00 00 00    	ja     0x180022959
1800228bf:	48 8b bc 24 88 00 00 	mov    0x88(%rsp),%rdi
1800228c6:	00
1800228c7:	4c 8d 79 08          	lea    0x8(%rcx),%r15
1800228cb:	0f 57 c0             	xorps  %xmm0,%xmm0
1800228ce:	4d 89 7b d0          	mov    %r15,-0x30(%r11)
1800228d2:	33 c0                	xor    %eax,%eax
1800228d4:	49 8d 53 18          	lea    0x18(%r11),%rdx
1800228d8:	0f 11 07             	movups %xmm0,(%rdi)
1800228db:	4c 8d 47 10          	lea    0x10(%rdi),%r8
1800228df:	0f 11 47 10          	movups %xmm0,0x10(%rdi)
1800228e3:	48 89 47 20          	mov    %rax,0x20(%rdi)
1800228e7:	8b 31                	mov    (%rcx),%esi
1800228e9:	49 8d 4b c8          	lea    -0x38(%r11),%rcx
1800228ed:	83 ee 08             	sub    $0x8,%esi
1800228f0:	89 74 24 20          	mov    %esi,0x20(%rsp)
1800228f4:	e8 3f 02 00 00       	call   0x180022b38
1800228f9:	8b c8                	mov    %eax,%ecx
1800228fb:	85 c0                	test   %eax,%eax
1800228fd:	79 07                	jns    0x180022906
1800228ff:	b9 28 04 00 c0       	mov    $0xc0000428,%ecx
180022904:	eb 58                	jmp    0x18002295e
180022906:	8b 5c 24 70          	mov    0x70(%rsp),%ebx
18002290a:	85 db                	test   %ebx,%ebx
18002290c:	74 16                	je     0x180022924
18002290e:	3b dd                	cmp    %ebp,%ebx
180022910:	72 12                	jb     0x180022924
180022912:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
180022919:	00
18002291a:	4c 89 3f             	mov    %r15,(%rdi)
18002291d:	89 77 08             	mov    %esi,0x8(%rdi)
180022920:	89 18                	mov    %ebx,(%rax)
180022922:	eb 3a                	jmp    0x18002295e
180022924:	4c 8b a4 24 80 00 00 	mov    0x80(%rsp),%r12
18002292b:	00
18002292c:	45 8b c6             	mov    %r14d,%r8d
18002292f:	4d 8b cc             	mov    %r12,%r9
180022932:	8b d5                	mov    %ebp,%edx
180022934:	48 8b cf             	mov    %rdi,%rcx
180022937:	e8 3c 00 00 00       	call   0x180022978
18002293c:	8b c8                	mov    %eax,%ecx
18002293e:	85 c0                	test   %eax,%eax
180022940:	79 1c                	jns    0x18002295e
180022942:	85 db                	test   %ebx,%ebx
180022944:	74 18                	je     0x18002295e
180022946:	41 3b de             	cmp    %r14d,%ebx
180022949:	72 13                	jb     0x18002295e
18002294b:	41 89 1c 24          	mov    %ebx,(%r12)
18002294f:	33 c9                	xor    %ecx,%ecx
180022951:	4c 89 3f             	mov    %r15,(%rdi)
180022954:	89 77 08             	mov    %esi,0x8(%rdi)
180022957:	eb 05                	jmp    0x18002295e
180022959:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
18002295e:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180022963:	8b c1                	mov    %ecx,%eax
180022965:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18002296a:	48 83 c4 30          	add    $0x30,%rsp
18002296e:	41 5f                	pop    %r15
180022970:	41 5e                	pop    %r14
180022972:	41 5c                	pop    %r12
180022974:	5f                   	pop    %rdi
180022975:	5e                   	pop    %rsi
180022976:	c3                   	ret
180022977:	cc                   	int3
180022978:	48 8b c4             	mov    %rsp,%rax
18002297b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18002297f:	4c 89 48 20          	mov    %r9,0x20(%rax)
180022983:	89 50 10             	mov    %edx,0x10(%rax)
180022986:	55                   	push   %rbp
180022987:	56                   	push   %rsi
180022988:	57                   	push   %rdi
180022989:	41 54                	push   %r12
18002298b:	41 55                	push   %r13
18002298d:	41 56                	push   %r14
18002298f:	41 57                	push   %r15
180022991:	48 83 ec 30          	sub    $0x30,%rsp
180022995:	33 db                	xor    %ebx,%ebx
180022997:	45 8b e8             	mov    %r8d,%r13d
18002299a:	89 58 b8             	mov    %ebx,-0x48(%rax)
18002299d:	4c 8b f9             	mov    %rcx,%r15
1800229a0:	89 58 18             	mov    %ebx,0x18(%rax)
1800229a3:	8b eb                	mov    %ebx,%ebp
1800229a5:	44 8b e3             	mov    %ebx,%r12d
1800229a8:	41 3b d0             	cmp    %r8d,%edx
1800229ab:	73 0a                	jae    0x1800229b7
1800229ad:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
1800229b2:	e9 67 01 00 00       	jmp    0x180022b1e
1800229b7:	48 8b 79 20          	mov    0x20(%rcx),%rdi
1800229bb:	48 85 ff             	test   %rdi,%rdi
1800229be:	0f 85 bd 00 00 00    	jne    0x180022a81
1800229c4:	39 59 10             	cmp    %ebx,0x10(%rcx)
1800229c7:	0f 84 4c 01 00 00    	je     0x180022b19
1800229cd:	48 8d 3d bc b3 14 00 	lea    0x14b3bc(%rip),%rdi        # 0x18016dd90
1800229d4:	33 d2                	xor    %edx,%edx
1800229d6:	48 8b cf             	mov    %rdi,%rcx
1800229d9:	41 b8 88 03 00 00    	mov    $0x388,%r8d
1800229df:	e8 9c 32 11 00       	call   0x180135c80
1800229e4:	4c 8d 05 0d b4 14 00 	lea    0x14b40d(%rip),%r8        # 0x18016ddf8
1800229eb:	c7 84 24 80 00 00 00 	movl   $0xa,0x80(%rsp)
1800229f2:	0a 00 00 00
1800229f6:	48 8d 94 24 80 00 00 	lea    0x80(%rsp),%rdx
1800229fd:	00
1800229fe:	49 8d 4f 10          	lea    0x10(%r15),%rcx
180022a02:	e8 75 da ff ff       	call   0x18002047c
180022a07:	85 c0                	test   %eax,%eax
180022a09:	0f 88 0a 01 00 00    	js     0x180022b19
180022a0f:	8b 94 24 80 00 00 00 	mov    0x80(%rsp),%edx
180022a16:	85 d2                	test   %edx,%edx
180022a18:	0f 84 fb 00 00 00    	je     0x180022b19
180022a1e:	4c 8d 05 d3 b3 14 00 	lea    0x14b3d3(%rip),%r8        # 0x18016ddf8
180022a25:	48 8d 0d fc 73 12 00 	lea    0x1273fc(%rip),%rcx        # 0x180149e28
180022a2c:	e8 1f e6 ff ff       	call   0x180021050
180022a31:	48 85 c0             	test   %rax,%rax
180022a34:	0f 84 df 00 00 00    	je     0x180022b19
180022a3a:	48 8d 48 30          	lea    0x30(%rax),%rcx
180022a3e:	39 19                	cmp    %ebx,(%rcx)
180022a40:	0f 84 d3 00 00 00    	je     0x180022b19
180022a46:	4c 8d 05 4b b3 14 00 	lea    0x14b34b(%rip),%r8        # 0x18016dd98
180022a4d:	c7 05 3d b3 14 00 06 	movl   $0x6,0x14b33d(%rip)        # 0x18016dd94
180022a54:	00 00 00
180022a57:	48 8d 15 36 b3 14 00 	lea    0x14b336(%rip),%rdx        # 0x18016dd94
180022a5e:	e8 79 dc ff ff       	call   0x1800206dc
180022a63:	85 c0                	test   %eax,%eax
180022a65:	0f 88 ae 00 00 00    	js     0x180022b19
180022a6b:	39 1d 23 b3 14 00    	cmp    %ebx,0x14b323(%rip)        # 0x18016dd94
180022a71:	0f 84 a2 00 00 00    	je     0x180022b19
180022a77:	89 1d 13 b3 14 00    	mov    %ebx,0x14b313(%rip)        # 0x18016dd90
180022a7d:	49 89 7f 20          	mov    %rdi,0x20(%r15)
180022a81:	44 8b 37             	mov    (%rdi),%r14d
180022a84:	41 f7 d6             	not    %r14d
180022a87:	41 0f bc f6          	bsf    %r14d,%esi
180022a8b:	0f 84 88 00 00 00    	je     0x180022b19
180022a91:	3b 77 04             	cmp    0x4(%rdi),%esi
180022a94:	73 50                	jae    0x180022ae6
180022a96:	8b ce                	mov    %esi,%ecx
180022a98:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180022a9d:	48 c1 e1 04          	shl    $0x4,%rcx
180022aa1:	41 0f b3 f6          	btr    %esi,%r14d
180022aa5:	48 83 c1 08          	add    $0x8,%rcx
180022aa9:	45 33 c0             	xor    %r8d,%r8d
180022aac:	48 03 cf             	add    %rdi,%rcx
180022aaf:	e8 84 00 00 00       	call   0x180022b38
180022ab4:	85 c0                	test   %eax,%eax
180022ab6:	78 1a                	js     0x180022ad2
180022ab8:	8b 44 24 20          	mov    0x20(%rsp),%eax
180022abc:	41 3b c5             	cmp    %r13d,%eax
180022abf:	72 11                	jb     0x180022ad2
180022ac1:	3b 44 24 78          	cmp    0x78(%rsp),%eax
180022ac5:	74 1a                	je     0x180022ae1
180022ac7:	3b c5                	cmp    %ebp,%eax
180022ac9:	76 0e                	jbe    0x180022ad9
180022acb:	8b e8                	mov    %eax,%ebp
180022acd:	44 8b e6             	mov    %esi,%r12d
180022ad0:	eb 07                	jmp    0x180022ad9
180022ad2:	8b 07                	mov    (%rdi),%eax
180022ad4:	0f ab f0             	bts    %esi,%eax
180022ad7:	89 07                	mov    %eax,(%rdi)
180022ad9:	41 0f bc f6          	bsf    %r14d,%esi
180022add:	74 07                	je     0x180022ae6
180022adf:	eb b0                	jmp    0x180022a91
180022ae1:	8b e8                	mov    %eax,%ebp
180022ae3:	44 8b e6             	mov    %esi,%r12d
180022ae6:	85 ed                	test   %ebp,%ebp
180022ae8:	74 2f                	je     0x180022b19
180022aea:	41 3b ed             	cmp    %r13d,%ebp
180022aed:	72 2a                	jb     0x180022b19
180022aef:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
180022af6:	00
180022af7:	41 8b cc             	mov    %r12d,%ecx
180022afa:	48 03 c9             	add    %rcx,%rcx
180022afd:	89 28                	mov    %ebp,(%rax)
180022aff:	48 8b 44 cf 10       	mov    0x10(%rdi,%rcx,8),%rax
180022b04:	49 89 07             	mov    %rax,(%r15)
180022b07:	8b 44 cf 08          	mov    0x8(%rdi,%rcx,8),%eax
180022b0b:	41 89 47 08          	mov    %eax,0x8(%r15)
180022b0f:	8b 07                	mov    (%rdi),%eax
180022b11:	44 0f ab e0          	bts    %r12d,%eax
180022b15:	89 07                	mov    %eax,(%rdi)
180022b17:	eb 05                	jmp    0x180022b1e
180022b19:	bb 28 04 00 c0       	mov    $0xc0000428,%ebx
180022b1e:	8b c3                	mov    %ebx,%eax
180022b20:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
180022b25:	48 83 c4 30          	add    $0x30,%rsp
180022b29:	41 5f                	pop    %r15
180022b2b:	41 5e                	pop    %r14
180022b2d:	41 5d                	pop    %r13
180022b2f:	41 5c                	pop    %r12
180022b31:	5f                   	pop    %rdi
180022b32:	5e                   	pop    %rsi
180022b33:	5d                   	pop    %rbp
180022b34:	c3                   	ret
180022b35:	cc                   	int3
180022b36:	cc                   	int3
180022b37:	cc                   	int3
180022b38:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180022b3d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180022b42:	57                   	push   %rdi
180022b43:	48 83 ec 30          	sub    $0x30,%rsp
180022b47:	48 8b f2             	mov    %rdx,%rsi
180022b4a:	49 8b f8             	mov    %r8,%rdi
180022b4d:	8b 11                	mov    (%rcx),%edx
180022b4f:	4c 8d 05 ca b5 14 00 	lea    0x14b5ca(%rip),%r8        # 0x18016e120
180022b56:	48 8b 49 08          	mov    0x8(%rcx),%rcx
180022b5a:	bb 28 04 00 c0       	mov    $0xc0000428,%ebx
180022b5f:	e8 f4 d7 ff ff       	call   0x180020358
180022b64:	85 c0                	test   %eax,%eax
180022b66:	0f 88 96 00 00 00    	js     0x180022c02
180022b6c:	83 3d cd b5 14 00 09 	cmpl   $0x9,0x14b5cd(%rip)        # 0x18016e140
180022b73:	0f 85 89 00 00 00    	jne    0x180022c02
180022b79:	48 8b 0d c8 b5 14 00 	mov    0x14b5c8(%rip),%rcx        # 0x18016e148
180022b80:	48 8b 05 91 72 12 00 	mov    0x127291(%rip),%rax        # 0x180149e18
180022b87:	48 3b 01             	cmp    (%rcx),%rax
180022b8a:	75 76                	jne    0x180022c02
180022b8c:	8a 05 8e 72 12 00    	mov    0x12728e(%rip),%al        # 0x180149e20
180022b92:	3a 41 08             	cmp    0x8(%rcx),%al
180022b95:	75 6b                	jne    0x180022c02
180022b97:	83 3d d2 b5 14 00 0a 	cmpl   $0xa,0x14b5d2(%rip)        # 0x18016e170
180022b9e:	75 62                	jne    0x180022c02
180022ba0:	48 8b 0d d1 b5 14 00 	mov    0x14b5d1(%rip),%rcx        # 0x18016e178
180022ba7:	48 8b 05 ea 72 12 00 	mov    0x1272ea(%rip),%rax        # 0x180149e98
180022bae:	48 3b 01             	cmp    (%rcx),%rax
180022bb1:	75 4f                	jne    0x180022c02
180022bb3:	0f b7 05 e6 72 12 00 	movzwl 0x1272e6(%rip),%eax        # 0x180149ea0
180022bba:	66 3b 41 08          	cmp    0x8(%rcx),%ax
180022bbe:	75 42                	jne    0x180022c02
180022bc0:	48 85 ff             	test   %rdi,%rdi
180022bc3:	74 0b                	je     0x180022bd0
180022bc5:	0f 28 05 74 b6 14 00 	movaps 0x14b674(%rip),%xmm0        # 0x18016e240
180022bcc:	f3 0f 7f 07          	movdqu %xmm0,(%rdi)
180022bd0:	0f 28 05 a9 b5 14 00 	movaps 0x14b5a9(%rip),%xmm0        # 0x18016e180
180022bd7:	48 8d 15 42 b5 14 00 	lea    0x14b542(%rip),%rdx        # 0x18016e120
180022bde:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180022be3:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
180022be9:	e8 aa da ff ff       	call   0x180020698
180022bee:	85 c0                	test   %eax,%eax
180022bf0:	78 10                	js     0x180022c02
180022bf2:	48 8d 0d 67 b5 14 00 	lea    0x14b567(%rip),%rcx        # 0x18016e160
180022bf9:	e8 0e c0 ff ff       	call   0x18001ec0c
180022bfe:	89 06                	mov    %eax,(%rsi)
180022c00:	33 db                	xor    %ebx,%ebx
180022c02:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
180022c07:	8b c3                	mov    %ebx,%eax
180022c09:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180022c0e:	48 83 c4 30          	add    $0x30,%rsp
180022c12:	5f                   	pop    %rdi
180022c13:	c3                   	ret
180022c14:	cc                   	int3
180022c15:	cc                   	int3
180022c16:	cc                   	int3
180022c17:	cc                   	int3
180022c18:	40 55                	rex push %rbp
180022c1a:	53                   	push   %rbx
180022c1b:	56                   	push   %rsi
180022c1c:	57                   	push   %rdi
180022c1d:	41 54                	push   %r12
180022c1f:	41 55                	push   %r13
180022c21:	41 56                	push   %r14
180022c23:	41 57                	push   %r15
180022c25:	48 8d 6c 24 a8       	lea    -0x58(%rsp),%rbp
180022c2a:	48 81 ec 58 01 00 00 	sub    $0x158,%rsp
180022c31:	48 8b 05 38 9d 14 00 	mov    0x149d38(%rip),%rax        # 0x18016c970
180022c38:	48 33 c4             	xor    %rsp,%rax
180022c3b:	48 89 45 40          	mov    %rax,0x40(%rbp)
180022c3f:	48 8b 85 d8 00 00 00 	mov    0xd8(%rbp),%rax
180022c46:	4c 8b e2             	mov    %rdx,%r12
180022c49:	4c 8b bd c0 00 00 00 	mov    0xc0(%rbp),%r15
180022c50:	48 8b d9             	mov    %rcx,%rbx
180022c53:	4c 8b ad c8 00 00 00 	mov    0xc8(%rbp),%r13
180022c5a:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
180022c5f:	4c 8b b5 d0 00 00 00 	mov    0xd0(%rbp),%r14
180022c66:	33 f6                	xor    %esi,%esi
180022c68:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
180022c6d:	33 d2                	xor    %edx,%edx
180022c6f:	41 b8 98 00 00 00    	mov    $0x98,%r8d
180022c75:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180022c7a:	89 74 24 4c          	mov    %esi,0x4c(%rsp)
180022c7e:	41 8b f9             	mov    %r9d,%edi
180022c81:	89 74 24 60          	mov    %esi,0x60(%rsp)
180022c85:	e8 f6 2f 11 00       	call   0x180135c80
180022c8a:	8b 13                	mov    (%rbx),%edx
180022c8c:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
180022c91:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
180022c95:	4c 8d 0d 74 6b 12 00 	lea    0x126b74(%rip),%r9        # 0x180149810
180022c9c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180022ca1:	4c 8d 44 24 34       	lea    0x34(%rsp),%r8
180022ca6:	c7 44 24 20 09 00 00 	movl   $0x9,0x20(%rsp)
180022cad:	00
180022cae:	89 74 24 30          	mov    %esi,0x30(%rsp)
180022cb2:	c7 44 24 34 0b 00 00 	movl   $0xb,0x34(%rsp)
180022cb9:	00
180022cba:	e8 fd e0 ff ff       	call   0x180020dbc
180022cbf:	85 c0                	test   %eax,%eax
180022cc1:	0f 4f 44 24 70       	cmovg  0x70(%rsp),%eax
180022cc6:	85 c0                	test   %eax,%eax
180022cc8:	79 0a                	jns    0x180022cd4
180022cca:	bb 28 04 00 c0       	mov    $0xc0000428,%ebx
180022ccf:	e9 3a 01 00 00       	jmp    0x180022e0e
180022cd4:	4d 8b cf             	mov    %r15,%r9
180022cd7:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx