180032aa2:	4c 8b d2             	mov    %rdx,%r10
180032aa5:	8a d9                	mov    %cl,%bl
180032aa7:	41 0f b6 f8          	movzbl %r8b,%edi
180032aab:	41 22 df             	and    %r15b,%bl
180032aae:	48 85 d2             	test   %rdx,%rdx
180032ab1:	75 42                	jne    0x180032af5
180032ab3:	49 8b c3             	mov    %r11,%rax
180032ab6:	49 33 c1             	xor    %r9,%rax
180032ab9:	84 db                	test   %bl,%bl
180032abb:	74 05                	je     0x180032ac2
180032abd:	49 89 03             	mov    %rax,(%r11)
180032ac0:	eb 03                	jmp    0x180032ac5
180032ac2:	4d 89 0b             	mov    %r9,(%r11)
180032ac5:	41 84 cf             	test   %cl,%r15b
180032ac8:	74 0a                	je     0x180032ad4
180032aca:	49 89 43 08          	mov    %rax,0x8(%r11)
180032ace:	45 08 7b 08          	or     %r15b,0x8(%r11)
180032ad2:	eb 04                	jmp    0x180032ad8
180032ad4:	4d 89 4b 08          	mov    %r9,0x8(%r11)
180032ad8:	49 83 61 10 00       	andq   $0x0,0x10(%r9)
180032add:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
180032ae2:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
180032ae7:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
180032aec:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
180032af1:	41 5f                	pop    %r15
180032af3:	c3                   	ret
180032af4:	cc                   	int3
180032af5:	49 33 d1             	xor    %r9,%rdx
180032af8:	49 8b c9             	mov    %r9,%rcx
180032afb:	84 db                	test   %bl,%bl
180032afd:	49 8b c2             	mov    %r10,%rax
180032b00:	48 0f 45 ca          	cmovne %rdx,%rcx
180032b04:	49 89 0c fa          	mov    %rcx,(%r10,%rdi,8)
180032b08:	45 84 7b 08          	test   %r15b,0x8(%r11)
180032b0c:	48 0f 45 c2          	cmovne %rdx,%rax
180032b10:	49 0b c7             	or     %r15,%rax
180032b13:	49 89 41 10          	mov    %rax,0x10(%r9)
180032b17:	45 84 c0             	test   %r8b,%r8b
180032b1a:	75 3e                	jne    0x180032b5a
180032b1c:	49 8b 4b 08          	mov    0x8(%r11),%rcx
180032b20:	41 84 cf             	test   %cl,%r15b
180032b23:	74 14                	je     0x180032b39
180032b25:	49 3b cf             	cmp    %r15,%rcx
180032b28:	75 04                	jne    0x180032b2e
180032b2a:	33 c0                	xor    %eax,%eax
180032b2c:	eb 0e                	jmp    0x180032b3c
180032b2e:	49 8b c3             	mov    %r11,%rax
180032b31:	49 0b c7             	or     %r15,%rax
180032b34:	48 33 c1             	xor    %rcx,%rax
180032b37:	eb 03                	jmp    0x180032b3c
180032b39:	48 8b c1             	mov    %rcx,%rax
180032b3c:	4c 3b d0             	cmp    %rax,%r10
180032b3f:	75 19                	jne    0x180032b5a
180032b41:	41 84 cf             	test   %cl,%r15b
180032b44:	74 10                	je     0x180032b56
180032b46:	49 8b c3             	mov    %r11,%rax
180032b49:	49 33 c1             	xor    %r9,%rax
180032b4c:	49 89 43 08          	mov    %rax,0x8(%r11)
180032b50:	45 08 7b 08          	or     %r15b,0x8(%r11)
180032b54:	eb 04                	jmp    0x180032b5a
180032b56:	4d 89 4b 08          	mov    %r9,0x8(%r11)
180032b5a:	45 84 7a 10          	test   %r15b,0x10(%r10)
180032b5e:	0f 84 79 ff ff ff    	je     0x180032add
180032b64:	45 8a 43 08          	mov    0x8(%r11),%r8b
180032b68:	49 8b 52 10          	mov    0x10(%r10),%rdx
180032b6c:	41 8a c8             	mov    %r8b,%cl
180032b6f:	48 83 e2 fc          	and    $0xfffffffffffffffc,%rdx
180032b73:	41 22 cf             	and    %r15b,%cl
180032b76:	74 08                	je     0x180032b80
180032b78:	48 85 d2             	test   %rdx,%rdx
180032b7b:	74 03                	je     0x180032b80
180032b7d:	49 33 d2             	xor    %r10,%rdx
180032b80:	48 8b 02             	mov    (%rdx),%rax
180032b83:	84 c9                	test   %cl,%cl
180032b85:	74 08                	je     0x180032b8f
180032b87:	48 85 c0             	test   %rax,%rax
180032b8a:	74 03                	je     0x180032b8f
180032b8c:	48 33 c2             	xor    %rdx,%rax
180032b8f:	33 ed                	xor    %ebp,%ebp
180032b91:	49 3b c2             	cmp    %r10,%rax
180032b94:	40 0f 95 c5          	setne  %bpl
180032b98:	8b dd                	mov    %ebp,%ebx
180032b9a:	49 33 df             	xor    %r15,%rbx
180032b9d:	48 8b 04 da          	mov    (%rdx,%rbx,8),%rax
180032ba1:	84 c9                	test   %cl,%cl
180032ba3:	74 08                	je     0x180032bad
180032ba5:	48 85 c0             	test   %rax,%rax
180032ba8:	74 6b                	je     0x180032c15
180032baa:	48 33 c2             	xor    %rdx,%rax
180032bad:	48 85 c0             	test   %rax,%rax
180032bb0:	74 63                	je     0x180032c15
180032bb2:	44 84 78 10          	test   %r15b,0x10(%rax)
180032bb6:	74 5d                	je     0x180032c15
180032bb8:	41 80 62 10 fe       	andb   $0xfe,0x10(%r10)
180032bbd:	4c 8b ca             	mov    %rdx,%r9
180032bc0:	80 60 10 fe          	andb   $0xfe,0x10(%rax)
180032bc4:	4c 8b 52 10          	mov    0x10(%rdx),%r10
180032bc8:	49 83 e2 fc          	and    $0xfffffffffffffffc,%r10
180032bcc:	45 84 7b 08          	test   %r15b,0x8(%r11)
180032bd0:	74 0c                	je     0x180032bde
180032bd2:	4d 85 d2             	test   %r10,%r10
180032bd5:	0f 84 02 ff ff ff    	je     0x180032add
180032bdb:	4c 33 d2             	xor    %rdx,%r10
180032bde:	4d 85 d2             	test   %r10,%r10
180032be1:	0f 84 f6 fe ff ff    	je     0x180032add
180032be7:	44 08 7a 10          	or     %r15b,0x10(%rdx)
180032beb:	45 8a 43 08          	mov    0x8(%r11),%r8b
180032bef:	49 8b 02             	mov    (%r10),%rax
180032bf2:	45 84 c7             	test   %r8b,%r15b
180032bf5:	74 08                	je     0x180032bff
180032bf7:	48 85 c0             	test   %rax,%rax
180032bfa:	74 03                	je     0x180032bff
180032bfc:	49 33 c2             	xor    %r10,%rax
180032bff:	48 3b d0             	cmp    %rax,%rdx
180032c02:	40 0f 95 c7          	setne  %dil
180032c06:	45 84 7a 10          	test   %r15b,0x10(%r10)
180032c0a:	0f 85 58 ff ff ff    	jne    0x180032b68
180032c10:	e9 c8 fe ff ff       	jmp    0x180032add
180032c15:	40 0f b6 c7          	movzbl %dil,%eax
180032c19:	3b c5                	cmp    %ebp,%eax
180032c1b:	0f 84 25 01 00 00    	je     0x180032d46
180032c21:	49 8b 41 10          	mov    0x10(%r9),%rax
180032c25:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032c29:	45 0f b6 c0          	movzbl %r8b,%r8d
180032c2d:	45 23 c7             	and    %r15d,%r8d
180032c30:	74 08                	je     0x180032c3a
180032c32:	48 85 c0             	test   %rax,%rax
180032c35:	74 03                	je     0x180032c3a
180032c37:	49 33 c1             	xor    %r9,%rax
180032c3a:	49 3b c2             	cmp    %r10,%rax
180032c3d:	0f 85 8e 02 00 00    	jne    0x180032ed1
180032c43:	49 8b 04 da          	mov    (%r10,%rbx,8),%rax
180032c47:	45 85 c0             	test   %r8d,%r8d
180032c4a:	74 08                	je     0x180032c54
180032c4c:	48 85 c0             	test   %rax,%rax
180032c4f:	74 03                	je     0x180032c54
180032c51:	49 33 c2             	xor    %r10,%rax
180032c54:	49 3b c1             	cmp    %r9,%rax
180032c57:	0f 85 74 02 00 00    	jne    0x180032ed1
180032c5d:	8b fd                	mov    %ebp,%edi
180032c5f:	48 8b 04 fa          	mov    (%rdx,%rdi,8),%rax
180032c63:	45 85 c0             	test   %r8d,%r8d
180032c66:	74 08                	je     0x180032c70
180032c68:	48 85 c0             	test   %rax,%rax
180032c6b:	74 03                	je     0x180032c70
180032c6d:	48 33 c2             	xor    %rdx,%rax
180032c70:	49 3b c2             	cmp    %r10,%rax
180032c73:	0f 85 58 02 00 00    	jne    0x180032ed1
180032c79:	49 8b 42 10          	mov    0x10(%r10),%rax
180032c7d:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032c81:	45 85 c0             	test   %r8d,%r8d
180032c84:	74 08                	je     0x180032c8e
180032c86:	48 85 c0             	test   %rax,%rax
180032c89:	74 03                	je     0x180032c8e
180032c8b:	49 33 c2             	xor    %r10,%rax
180032c8e:	48 3b c2             	cmp    %rdx,%rax
180032c91:	0f 85 3a 02 00 00    	jne    0x180032ed1
180032c97:	48 8b ca             	mov    %rdx,%rcx
180032c9a:	49 8d 34 f9          	lea    (%r9,%rdi,8),%rsi
180032c9e:	49 33 c9             	xor    %r9,%rcx
180032ca1:	45 85 c0             	test   %r8d,%r8d
180032ca4:	48 8b c1             	mov    %rcx,%rax
180032ca7:	49 0f 44 c1          	cmove  %r9,%rax
180032cab:	48 89 04 fa          	mov    %rax,(%rdx,%rdi,8)
180032caf:	49 83 61 10 03       	andq   $0x3,0x10(%r9)
180032cb4:	45 85 c0             	test   %r8d,%r8d
180032cb7:	48 0f 44 ca          	cmove  %rdx,%rcx
180032cbb:	49 09 49 10          	or     %rcx,0x10(%r9)
180032cbf:	48 8b 0e             	mov    (%rsi),%rcx
180032cc2:	45 85 c0             	test   %r8d,%r8d
180032cc5:	74 08                	je     0x180032ccf
180032cc7:	48 85 c9             	test   %rcx,%rcx
180032cca:	74 40                	je     0x180032d0c
180032ccc:	49 33 c9             	xor    %r9,%rcx
180032ccf:	48 85 c9             	test   %rcx,%rcx
180032cd2:	74 38                	je     0x180032d0c
180032cd4:	48 8b 59 10          	mov    0x10(%rcx),%rbx
180032cd8:	48 8b c3             	mov    %rbx,%rax
180032cdb:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032cdf:	45 85 c0             	test   %r8d,%r8d
180032ce2:	74 08                	je     0x180032cec
180032ce4:	48 85 c0             	test   %rax,%rax
180032ce7:	74 03                	je     0x180032cec
180032ce9:	48 33 c1             	xor    %rcx,%rax
180032cec:	49 3b c1             	cmp    %r9,%rax
180032cef:	0f 85 dc 01 00 00    	jne    0x180032ed1
180032cf5:	48 8b c1             	mov    %rcx,%rax
180032cf8:	49 33 c2             	xor    %r10,%rax
180032cfb:	45 85 c0             	test   %r8d,%r8d
180032cfe:	49 0f 44 c2          	cmove  %r10,%rax
180032d02:	83 e3 03             	and    $0x3,%ebx
180032d05:	48 0b c3             	or     %rbx,%rax
180032d08:	48 89 41 10          	mov    %rax,0x10(%rcx)
180032d0c:	45 85 c0             	test   %r8d,%r8d
180032d0f:	74 08                	je     0x180032d19
180032d11:	48 85 c9             	test   %rcx,%rcx
180032d14:	74 03                	je     0x180032d19
180032d16:	49 33 ca             	xor    %r10,%rcx
180032d19:	49 33 ff             	xor    %r15,%rdi
180032d1c:	49 89 0c fa          	mov    %rcx,(%r10,%rdi,8)
180032d20:	49 8b ca             	mov    %r10,%rcx
180032d23:	49 33 c9             	xor    %r9,%rcx
180032d26:	45 85 c0             	test   %r8d,%r8d
180032d29:	48 8b c1             	mov    %rcx,%rax
180032d2c:	49 0f 44 c2          	cmove  %r10,%rax
180032d30:	48 89 06             	mov    %rax,(%rsi)
180032d33:	49 83 62 10 03       	andq   $0x3,0x10(%r10)
180032d38:	45 85 c0             	test   %r8d,%r8d
180032d3b:	49 0f 44 c9          	cmove  %r9,%rcx
180032d3f:	49 09 4a 10          	or     %rcx,0x10(%r10)
180032d43:	4d 8b d1             	mov    %r9,%r10
180032d46:	4d 8b 03             	mov    (%r11),%r8
180032d49:	45 84 7b 08          	test   %r15b,0x8(%r11)
180032d4d:	74 08                	je     0x180032d57
180032d4f:	4d 85 c0             	test   %r8,%r8
180032d52:	74 03                	je     0x180032d57
180032d54:	4d 33 c3             	xor    %r11,%r8
180032d57:	49 8b 42 10          	mov    0x10(%r10),%rax
180032d5b:	41 33 ef             	xor    %r15d,%ebp
180032d5e:	45 0f b6 4b 08       	movzbl 0x8(%r11),%r9d
180032d63:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032d67:	45 23 cf             	and    %r15d,%r9d
180032d6a:	74 08                	je     0x180032d74
180032d6c:	48 85 c0             	test   %rax,%rax
180032d6f:	74 03                	je     0x180032d74
180032d71:	49 33 c2             	xor    %r10,%rax
180032d74:	48 3b c2             	cmp    %rdx,%rax
180032d77:	0f 85 54 01 00 00    	jne    0x180032ed1
180032d7d:	8b fd                	mov    %ebp,%edi
180032d7f:	49 33 ff             	xor    %r15,%rdi
180032d82:	48 8b 04 fa          	mov    (%rdx,%rdi,8),%rax
180032d86:	45 85 c9             	test   %r9d,%r9d
180032d89:	74 08                	je     0x180032d93
180032d8b:	48 85 c0             	test   %rax,%rax
180032d8e:	74 03                	je     0x180032d93
180032d90:	48 33 c2             	xor    %rdx,%rax
180032d93:	49 3b c2             	cmp    %r10,%rax
180032d96:	0f 85 35 01 00 00    	jne    0x180032ed1
180032d9c:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
180032da0:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
180032da4:	45 85 c9             	test   %r9d,%r9d
180032da7:	74 08                	je     0x180032db1
180032da9:	48 85 c9             	test   %rcx,%rcx
180032dac:	74 08                	je     0x180032db6
180032dae:	48 33 ca             	xor    %rdx,%rcx
180032db1:	48 85 c9             	test   %rcx,%rcx
180032db4:	75 0e                	jne    0x180032dc4
180032db6:	4c 3b c2             	cmp    %rdx,%r8
180032db9:	0f 85 12 01 00 00    	jne    0x180032ed1
180032dbf:	4d 8b c2             	mov    %r10,%r8
180032dc2:	eb 52                	jmp    0x180032e16
180032dc4:	48 8b 41 08          	mov    0x8(%rcx),%rax
180032dc8:	45 85 c9             	test   %r9d,%r9d
180032dcb:	74 08                	je     0x180032dd5
180032dcd:	48 85 c0             	test   %rax,%rax
180032dd0:	74 03                	je     0x180032dd5
180032dd2:	48 33 c1             	xor    %rcx,%rax
180032dd5:	48 3b c2             	cmp    %rdx,%rax
180032dd8:	75 13                	jne    0x180032ded
180032dda:	49 8b c2             	mov    %r10,%rax
180032ddd:	48 33 c1             	xor    %rcx,%rax
180032de0:	45 85 c9             	test   %r9d,%r9d
180032de3:	49 0f 44 c2          	cmove  %r10,%rax
180032de7:	48 89 41 08          	mov    %rax,0x8(%rcx)
180032deb:	eb 29                	jmp    0x180032e16
180032ded:	48 8b 01             	mov    (%rcx),%rax
180032df0:	45 85 c9             	test   %r9d,%r9d
180032df3:	74 08                	je     0x180032dfd
180032df5:	48 85 c0             	test   %rax,%rax
180032df8:	74 03                	je     0x180032dfd
180032dfa:	48 33 c1             	xor    %rcx,%rax
180032dfd:	48 3b c2             	cmp    %rdx,%rax
180032e00:	0f 85 cb 00 00 00    	jne    0x180032ed1
180032e06:	49 8b c2             	mov    %r10,%rax
180032e09:	48 33 c1             	xor    %rcx,%rax
180032e0c:	45 85 c9             	test   %r9d,%r9d
180032e0f:	49 0f 44 c2          	cmove  %r10,%rax
180032e13:	48 89 01             	mov    %rax,(%rcx)
180032e16:	45 85 c9             	test   %r9d,%r9d
180032e19:	74 08                	je     0x180032e23
180032e1b:	48 85 c9             	test   %rcx,%rcx
180032e1e:	74 03                	je     0x180032e23
180032e20:	49 33 ca             	xor    %r10,%rcx
180032e23:	49 83 62 10 03       	andq   $0x3,0x10(%r10)
180032e28:	49 09 4a 10          	or     %rcx,0x10(%r10)
180032e2c:	49 8b 0c ea          	mov    (%r10,%rbp,8),%rcx
180032e30:	45 85 c9             	test   %r9d,%r9d
180032e33:	74 08                	je     0x180032e3d
180032e35:	48 85 c9             	test   %rcx,%rcx
180032e38:	74 3c                	je     0x180032e76
180032e3a:	49 33 ca             	xor    %r10,%rcx
180032e3d:	48 85 c9             	test   %rcx,%rcx
180032e40:	74 34                	je     0x180032e76
180032e42:	48 8b 59 10          	mov    0x10(%rcx),%rbx
180032e46:	48 8b c3             	mov    %rbx,%rax
180032e49:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032e4d:	45 85 c9             	test   %r9d,%r9d
180032e50:	74 08                	je     0x180032e5a
180032e52:	48 85 c0             	test   %rax,%rax
180032e55:	74 03                	je     0x180032e5a
180032e57:	48 33 c1             	xor    %rcx,%rax
180032e5a:	49 3b c2             	cmp    %r10,%rax
180032e5d:	75 72                	jne    0x180032ed1
180032e5f:	48 8b c2             	mov    %rdx,%rax
180032e62:	48 33 c1             	xor    %rcx,%rax
180032e65:	45 85 c9             	test   %r9d,%r9d
180032e68:	48 0f 44 c2          	cmove  %rdx,%rax
180032e6c:	83 e3 03             	and    $0x3,%ebx
180032e6f:	48 0b c3             	or     %rbx,%rax
180032e72:	48 89 41 10          	mov    %rax,0x10(%rcx)
180032e76:	45 85 c9             	test   %r9d,%r9d
180032e79:	74 08                	je     0x180032e83
180032e7b:	48 85 c9             	test   %rcx,%rcx
180032e7e:	74 03                	je     0x180032e83
180032e80:	48 33 ca             	xor    %rdx,%rcx
180032e83:	48 89 0c fa          	mov    %rcx,(%rdx,%rdi,8)
180032e87:	48 8b ca             	mov    %rdx,%rcx
180032e8a:	49 33 ca             	xor    %r10,%rcx
180032e8d:	45 85 c9             	test   %r9d,%r9d
180032e90:	48 8b c1             	mov    %rcx,%rax
180032e93:	48 0f 44 c2          	cmove  %rdx,%rax
180032e97:	49 89 04 ea          	mov    %rax,(%r10,%rbp,8)
180032e9b:	48 83 62 10 03       	andq   $0x3,0x10(%rdx)
180032ea0:	45 85 c9             	test   %r9d,%r9d
180032ea3:	49 0f 44 ca          	cmove  %r10,%rcx
180032ea7:	48 09 4a 10          	or     %rcx,0x10(%rdx)
180032eab:	45 84 7b 08          	test   %r15b,0x8(%r11)
180032eaf:	74 0f                	je     0x180032ec0
180032eb1:	49 8b c3             	mov    %r11,%rax
180032eb4:	49 33 c0             	xor    %r8,%rax
180032eb7:	49 f7 d8             	neg    %r8
180032eba:	4d 1b c0             	sbb    %r8,%r8
180032ebd:	4c 23 c0             	and    %rax,%r8
180032ec0:	4d 89 03             	mov    %r8,(%r11)
180032ec3:	44 08 7a 10          	or     %r15b,0x10(%rdx)
180032ec7:	41 80 62 10 fe       	andb   $0xfe,0x10(%r10)
180032ecc:	e9 0c fc ff ff       	jmp    0x180032add
180032ed1:	b9 1d 00 00 00       	mov    $0x1d,%ecx
180032ed6:	cd 29                	int    $0x29
180032ed8:	48 8b c4             	mov    %rsp,%rax
180032edb:	48 89 58 08          	mov    %rbx,0x8(%rax)
180032edf:	48 89 68 10          	mov    %rbp,0x10(%rax)
180032ee3:	48 89 70 18          	mov    %rsi,0x18(%rax)
180032ee7:	48 89 78 20          	mov    %rdi,0x20(%rax)
180032eeb:	41 56                	push   %r14
180032eed:	41 57                	push   %r15
180032eef:	0f b6 79 08          	movzbl 0x8(%rcx),%edi
180032ef3:	41 bf 01 00 00 00    	mov    $0x1,%r15d
180032ef9:	4c 8b 12             	mov    (%rdx),%r10
180032efc:	8b c7                	mov    %edi,%eax