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
180022cdb:	44 8b c7             	mov    %edi,%r8d
180022cde:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
180022ce2:	e8 85 f9 ff ff       	call   0x18002266c
180022ce7:	48 8b f0             	mov    %rax,%rsi
180022cea:	48 85 c0             	test   %rax,%rax
180022ced:	74 db                	je     0x180022cca
180022cef:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
180022cf5:	4d 8b cc             	mov    %r12,%r9
180022cf8:	4d 8b c7             	mov    %r15,%r8
180022cfb:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
180022d00:	8b d7                	mov    %edi,%edx
180022d02:	48 8b c8             	mov    %rax,%rcx
180022d05:	e8 5e 09 00 00       	call   0x180023668
180022d0a:	85 c0                	test   %eax,%eax
180022d0c:	78 bc                	js     0x180022cca
180022d0e:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
180022d12:	e8 f5 be ff ff       	call   0x18001ec0c
180022d17:	8b f8                	mov    %eax,%edi
180022d19:	85 c0                	test   %eax,%eax
180022d1b:	74 ad                	je     0x180022cca
180022d1d:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
180022d22:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
180022d27:	49 81 c0 10 01 00 00 	add    $0x110,%r8
180022d2e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180022d33:	4c 8d 4d 00          	lea    0x0(%rbp),%r9
180022d37:	ba 01 00 00 00       	mov    $0x1,%edx
180022d3c:	8b cf                	mov    %edi,%ecx
180022d3e:	e8 b5 bf ff ff       	call   0x18001ecf8
180022d43:	8b d8                	mov    %eax,%ebx
180022d45:	85 c0                	test   %eax,%eax
180022d47:	0f 88 c1 00 00 00    	js     0x180022e0e
180022d4d:	83 7d c0 00          	cmpl   $0x0,-0x40(%rbp)
180022d51:	74 1e                	je     0x180022d71
180022d53:	4c 8d 4d c0          	lea    -0x40(%rbp),%r9
180022d57:	8b cf                	mov    %edi,%ecx
180022d59:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
180022d5e:	48 8d 55 00          	lea    0x0(%rbp),%rdx
180022d62:	e8 b5 f9 ff ff       	call   0x18002271c
180022d67:	8b d8                	mov    %eax,%ebx
180022d69:	85 c0                	test   %eax,%eax
180022d6b:	0f 88 9d 00 00 00    	js     0x180022e0e
180022d71:	44 8b 44 24 30       	mov    0x30(%rsp),%r8d
180022d76:	48 8d 86 b0 00 00 00 	lea    0xb0(%rsi),%rax
180022d7d:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
180022d82:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
180022d86:	48 8d 55 00          	lea    0x0(%rbp),%rdx
180022d8a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180022d8f:	8b cf                	mov    %edi,%ecx
180022d91:	e8 22 c0 ff ff       	call   0x18001edb8
180022d96:	8b d8                	mov    %eax,%ebx
180022d98:	85 c0                	test   %eax,%eax
180022d9a:	78 72                	js     0x180022e0e
180022d9c:	4c 8d 05 4d a0 14 00 	lea    0x14a04d(%rip),%r8        # 0x18016cdf0
180022da3:	c7 44 24 30 0a 00 00 	movl   $0xa,0x30(%rsp)
180022daa:	00
180022dab:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180022db0:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
180022db4:	e8 c3 d6 ff ff       	call   0x18002047c
180022db9:	85 c0                	test   %eax,%eax
180022dbb:	0f 88 09 ff ff ff    	js     0x180022cca
180022dc1:	8b 54 24 30          	mov    0x30(%rsp),%edx
180022dc5:	48 8d 05 8c 70 12 00 	lea    0x12708c(%rip),%rax        # 0x180149e58
180022dcc:	4c 8d 05 1d a0 14 00 	lea    0x14a01d(%rip),%r8        # 0x18016cdf0
180022dd3:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
180022dd8:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
180022ddd:	c7 44 24 48 09 00 00 	movl   $0x9,0x48(%rsp)
180022de4:	00
180022de5:	e8 66 e2 ff ff       	call   0x180021050
180022dea:	48 85 c0             	test   %rax,%rax
180022ded:	0f 84 d7 fe ff ff    	je     0x180022cca
180022df3:	48 8d 48 40          	lea    0x40(%rax),%rcx
180022df7:	49 8b d6             	mov    %r14,%rdx
180022dfa:	e8 85 e5 ff ff       	call   0x180021384
180022dff:	84 c0                	test   %al,%al
180022e01:	75 04                	jne    0x180022e07
180022e03:	49 83 26 00          	andq   $0x0,(%r14)
180022e07:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
180022e0c:	89 38                	mov    %edi,(%rax)
180022e0e:	8b c3                	mov    %ebx,%eax
180022e10:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
180022e14:	48 33 cc             	xor    %rsp,%rcx
180022e17:	e8 10 2d ff ff       	call   0x180015b2c
180022e1c:	48 81 c4 58 01 00 00 	add    $0x158,%rsp
180022e23:	41 5f                	pop    %r15
180022e25:	41 5e                	pop    %r14
180022e27:	41 5d                	pop    %r13
180022e29:	41 5c                	pop    %r12
180022e2b:	5f                   	pop    %rdi
180022e2c:	5e                   	pop    %rsi
180022e2d:	5b                   	pop    %rbx
180022e2e:	5d                   	pop    %rbp
180022e2f:	c3                   	ret
180022e30:	cc                   	int3
180022e31:	cc                   	int3
180022e32:	cc                   	int3
180022e33:	cc                   	int3
180022e34:	40 55                	rex push %rbp
180022e36:	53                   	push   %rbx
180022e37:	56                   	push   %rsi
180022e38:	57                   	push   %rdi
180022e39:	41 56                	push   %r14
180022e3b:	41 57                	push   %r15
180022e3d:	48 8d 6c 24 98       	lea    -0x68(%rsp),%rbp
180022e42:	48 81 ec 68 01 00 00 	sub    $0x168,%rsp
180022e49:	48 8b 05 20 9b 14 00 	mov    0x149b20(%rip),%rax        # 0x18016c970
180022e50:	48 33 c4             	xor    %rsp,%rax
180022e53:	48 89 45 50          	mov    %rax,0x50(%rbp)
180022e57:	41 0f 10 80 10 01 00 	movups 0x110(%r8),%xmm0
180022e5e:	00
180022e5f:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
180022e65:	4c 8b c2             	mov    %rdx,%r8
180022e68:	8b 11                	mov    (%rcx),%edx
180022e6a:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
180022e70:	48 8b 49 08          	mov    0x8(%rcx),%rcx
180022e74:	4c 8b b5 c0 00 00 00 	mov    0xc0(%rbp),%r14
180022e7b:	4c 8b bd c8 00 00 00 	mov    0xc8(%rbp),%r15
180022e82:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
180022e87:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
180022e8c:	4c 8d 4c 24 60       	lea    0x60(%rsp),%r9
180022e91:	f3 0f 7f 44 24 48    	movdqu %xmm0,0x48(%rsp)
180022e97:	e8 a4 f2 ff ff       	call   0x180022140
180022e9c:	85 c0                	test   %eax,%eax
180022e9e:	0f 88 d6 00 00 00    	js     0x180022f7a
180022ea4:	83 7c 24 60 0b       	cmpl   $0xb,0x60(%rsp)
180022ea9:	0f 85 cb 00 00 00    	jne    0x180022f7a
180022eaf:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
180022eb4:	48 8d 0d bd 6f 12 00 	lea    0x126fbd(%rip),%rcx        # 0x180149e78
180022ebb:	41 b8 0b 00 00 00    	mov    $0xb,%r8d
180022ec1:	e8 9a 0f 11 00       	call   0x180133e60
180022ec6:	48 83 f8 0b          	cmp    $0xb,%rax
180022eca:	0f 85 aa 00 00 00    	jne    0x180022f7a
180022ed0:	8b 54 24 70          	mov    0x70(%rsp),%edx
180022ed4:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
180022ed8:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
180022edd:	4c 8d 0d dc 69 12 00 	lea    0x1269dc(%rip),%r9        # 0x1801498c0
180022ee4:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180022ee9:	4c 8d 44 24 44       	lea    0x44(%rsp),%r8
180022eee:	c7 44 24 20 06 00 00 	movl   $0x6,0x20(%rsp)
180022ef5:	00
180022ef6:	c7 44 24 44 0f 00 00 	movl   $0xf,0x44(%rsp)
180022efd:	00
180022efe:	e8 b9 de ff ff       	call   0x180020dbc
180022f03:	85 c0                	test   %eax,%eax
180022f05:	0f 4f 45 c0          	cmovg  -0x40(%rbp),%eax
180022f09:	85 c0                	test   %eax,%eax
180022f0b:	78 6d                	js     0x180022f7a
180022f0d:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
180022f11:	e8 f6 bc ff ff       	call   0x18001ec0c
180022f16:	8b f0                	mov    %eax,%esi
180022f18:	85 c0                	test   %eax,%eax
180022f1a:	74 5e                	je     0x180022f7a
180022f1c:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
180022f21:	ba 01 00 00 00       	mov    $0x1,%edx
180022f26:	4c 8d 4d 10          	lea    0x10(%rbp),%r9
180022f2a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180022f2f:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
180022f34:	8b ce                	mov    %esi,%ecx
180022f36:	e8 bd bd ff ff       	call   0x18001ecf8
180022f3b:	8b f8                	mov    %eax,%edi
180022f3d:	85 c0                	test   %eax,%eax
180022f3f:	78 3e                	js     0x180022f7f
180022f41:	8b 44 24 40          	mov    0x40(%rsp),%eax
180022f45:	3b 45 f0             	cmp    -0x10(%rbp),%eax
180022f48:	75 30                	jne    0x180022f7a
180022f4a:	48 8b 55 f8          	mov    -0x8(%rbp),%rdx
180022f4e:	48 8d 4d 10          	lea    0x10(%rbp),%rcx
180022f52:	44 8b c0             	mov    %eax,%r8d
180022f55:	8b d8                	mov    %eax,%ebx
180022f57:	e8 04 0f 11 00       	call   0x180133e60
180022f5c:	48 3b c3             	cmp    %rbx,%rax
180022f5f:	75 19                	jne    0x180022f7a
180022f61:	49 8b d6             	mov    %r14,%rdx
180022f64:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
180022f68:	e8 87 e8 ff ff       	call   0x1800217f4
180022f6d:	84 c0                	test   %al,%al