180027b2c:	89 45 58             	mov    %eax,0x58(%rbp)
180027b2f:	49 8b cc             	mov    %r12,%rcx
180027b32:	f7 d8                	neg    %eax
180027b34:	1b d2                	sbb    %edx,%edx
180027b36:	83 e2 02             	and    $0x2,%edx
180027b39:	ff c2                	inc    %edx
180027b3b:	e8 d0 f6 ff ff       	call   0x180027210
180027b40:	8b 75 50             	mov    0x50(%rbp),%esi
180027b43:	8b d8                	mov    %eax,%ebx
180027b45:	85 c0                	test   %eax,%eax
180027b47:	0f 88 55 01 00 00    	js     0x180027ca2
180027b4d:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
180027b51:	8b ce                	mov    %esi,%ecx
180027b53:	e8 68 23 00 00       	call   0x180029ec0
180027b58:	8b d8                	mov    %eax,%ebx
180027b5a:	85 c0                	test   %eax,%eax
180027b5c:	0f 88 3c 01 00 00    	js     0x180027c9e
180027b62:	48 8b 7d f0          	mov    -0x10(%rbp),%rdi
180027b66:	f6 47 70 04          	testb  $0x4,0x70(%rdi)
180027b6a:	74 60                	je     0x180027bcc
180027b6c:	44 39 75 58          	cmp    %r14d,0x58(%rbp)
180027b70:	75 5a                	jne    0x180027bcc
180027b72:	8b ce                	mov    %esi,%ecx
180027b74:	e8 3f ee ff ff       	call   0x1800269b8
180027b79:	45 8b 45 24          	mov    0x24(%r13),%r8d
180027b7d:	4c 8d 4d 50          	lea    0x50(%rbp),%r9
180027b81:	83 4d 50 ff          	orl    $0xffffffff,0x50(%rbp)
180027b85:	41 ff c0             	inc    %r8d
180027b88:	ba 03 00 00 00       	mov    $0x3,%edx
180027b8d:	49 8b cc             	mov    %r12,%rcx
180027b90:	e8 7b f6 ff ff       	call   0x180027210
180027b95:	85 c0                	test   %eax,%eax
180027b97:	78 2a                	js     0x180027bc3
180027b99:	48 8b cf             	mov    %rdi,%rcx
180027b9c:	e8 87 29 00 00       	call   0x18002a528
180027ba1:	8b 75 50             	mov    0x50(%rbp),%esi
180027ba4:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
180027ba8:	4c 21 75 f0          	and    %r14,-0x10(%rbp)
180027bac:	8b ce                	mov    %esi,%ecx
180027bae:	e8 0d 23 00 00       	call   0x180029ec0
180027bb3:	8b d8                	mov    %eax,%ebx
180027bb5:	85 c0                	test   %eax,%eax
180027bb7:	0f 88 e1 00 00 00    	js     0x180027c9e
180027bbd:	48 8b 7d f0          	mov    -0x10(%rbp),%rdi
180027bc1:	eb 09                	jmp    0x180027bcc
180027bc3:	83 4f 70 01          	orl    $0x1,0x70(%rdi)
180027bc7:	8b 75 50             	mov    0x50(%rbp),%esi
180027bca:	33 db                	xor    %ebx,%ebx
180027bcc:	b9 18 00 00 00       	mov    $0x18,%ecx
180027bd1:	e8 7a 22 07 00       	call   0x180099e50
180027bd6:	4c 8b f0             	mov    %rax,%r14
180027bd9:	48 85 c0             	test   %rax,%rax
180027bdc:	75 0a                	jne    0x180027be8
180027bde:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180027be3:	e9 ba 00 00 00       	jmp    0x180027ca2
180027be8:	48 83 3d 30 d3 17 00 	cmpq   $0x0,0x17d330(%rip)        # 0x1801a4f20
180027bef:	00
180027bf0:	75 0f                	jne    0x180027c01
180027bf2:	e8 a9 62 00 00       	call   0x18002dea0
180027bf7:	8b d8                	mov    %eax,%ebx
180027bf9:	85 c0                	test   %eax,%eax
180027bfb:	0f 88 a1 00 00 00    	js     0x180027ca2
180027c01:	0f 28 05 38 af 11 00 	movaps 0x11af38(%rip),%xmm0        # 0x180142b40
180027c08:	48 8d 15 51 d2 17 00 	lea    0x17d251(%rip),%rdx        # 0x1801a4e60
180027c0f:	41 0f 11 45 30       	movups %xmm0,0x30(%r13)
180027c14:	0f 28 0d 35 af 11 00 	movaps 0x11af35(%rip),%xmm1        # 0x180142b50
180027c1b:	41 0f 11 4d 40       	movups %xmm1,0x40(%r13)
180027c20:	0f 28 05 39 af 11 00 	movaps 0x11af39(%rip),%xmm0        # 0x180142b60
180027c27:	41 0f 11 45 50       	movups %xmm0,0x50(%r13)
180027c2c:	0f 28 0d 3d af 11 00 	movaps 0x11af3d(%rip),%xmm1        # 0x180142b70
180027c33:	41 0f 11 4d 60       	movups %xmm1,0x60(%r13)
180027c38:	0f 28 05 41 af 11 00 	movaps 0x11af41(%rip),%xmm0        # 0x180142b80
180027c3f:	41 0f 11 45 70       	movups %xmm0,0x70(%r13)
180027c44:	49 89 bd 80 00 00 00 	mov    %rdi,0x80(%r13)
180027c4b:	89 77 6c             	mov    %esi,0x6c(%rdi)
180027c4e:	4d 89 6e 10          	mov    %r13,0x10(%r14)
180027c52:	48 8b 05 0f d2 17 00 	mov    0x17d20f(%rip),%rax        # 0x1801a4e68
180027c59:	48 39 10             	cmp    %rdx,(%rax)
180027c5c:	74 07                	je     0x180027c65
180027c5e:	b9 03 00 00 00       	mov    $0x3,%ecx
180027c63:	cd 29                	int    $0x29
180027c65:	49 89 16             	mov    %rdx,(%r14)
180027c68:	83 ce ff             	or     $0xffffffff,%esi
180027c6b:	49 89 46 08          	mov    %rax,0x8(%r14)
180027c6f:	4c 89 30             	mov    %r14,(%rax)
180027c72:	4c 89 35 ef d1 17 00 	mov    %r14,0x17d1ef(%rip)        # 0x1801a4e68
180027c79:	45 33 f6             	xor    %r14d,%r14d
180027c7c:	f7 05 5a d2 17 00 00 	testl  $0x200000,0x17d25a(%rip)        # 0x1801a4ee0
180027c83:	00 20 00
180027c86:	74 12                	je     0x180027c9a
180027c88:	45 33 c0             	xor    %r8d,%r8d
180027c8b:	41 8d 56 01          	lea    0x1(%r14),%edx
180027c8f:	45 33 c9             	xor    %r9d,%r9d
180027c92:	48 8b cf             	mov    %rdi,%rcx
180027c95:	e8 1a 2a 00 00       	call   0x18002a6b4
180027c9a:	33 ff                	xor    %edi,%edi
180027c9c:	eb 04                	jmp    0x180027ca2
180027c9e:	48 8b 7d f0          	mov    -0x10(%rbp),%rdi
180027ca2:	83 fe ff             	cmp    $0xffffffff,%esi
180027ca5:	74 07                	je     0x180027cae
180027ca7:	8b ce                	mov    %esi,%ecx
180027ca9:	e8 0a ed ff ff       	call   0x1800269b8
180027cae:	48 85 ff             	test   %rdi,%rdi
180027cb1:	74 08                	je     0x180027cbb
180027cb3:	48 8b cf             	mov    %rdi,%rcx
180027cb6:	e8 6d 28 00 00       	call   0x18002a528
180027cbb:	4d 85 f6             	test   %r14,%r14
180027cbe:	74 08                	je     0x180027cc8
180027cc0:	49 8b ce             	mov    %r14,%rcx
180027cc3:	e8 34 23 07 00       	call   0x180099ffc
180027cc8:	48 8d 15 91 d1 17 00 	lea    0x17d191(%rip),%rdx        # 0x1801a4e60
180027ccf:	41 83 ff 07          	cmp    $0x7,%r15d
180027cd3:	73 14                	jae    0x180027ce9
180027cd5:	41 8b cf             	mov    %r15d,%ecx
180027cd8:	48 c1 e1 04          	shl    $0x4,%rcx
180027cdc:	83 6c 11 10 01       	subl   $0x1,0x10(%rcx,%rdx,1)
180027ce1:	75 06                	jne    0x180027ce9
180027ce3:	48 83 64 11 18 00    	andq   $0x0,0x18(%rcx,%rdx,1)
180027ce9:	8b c3                	mov    %ebx,%eax
180027ceb:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
180027cf0:	48 83 c4 30          	add    $0x30,%rsp
180027cf4:	41 5f                	pop    %r15
180027cf6:	41 5e                	pop    %r14
180027cf8:	41 5d                	pop    %r13
180027cfa:	41 5c                	pop    %r12
180027cfc:	5f                   	pop    %rdi
180027cfd:	5e                   	pop    %rsi
180027cfe:	5d                   	pop    %rbp
180027cff:	c3                   	ret
180027d00:	cc                   	int3
180027d01:	cc                   	int3
180027d02:	cc                   	int3
180027d03:	cc                   	int3
180027d04:	40 53                	rex push %rbx
180027d06:	48 83 ec 20          	sub    $0x20,%rsp
180027d0a:	48 8b 89 80 00 00 00 	mov    0x80(%rcx),%rcx
180027d11:	8b 59 6c             	mov    0x6c(%rcx),%ebx
180027d14:	e8 0f 28 00 00       	call   0x18002a528
180027d19:	85 c0                	test   %eax,%eax
180027d1b:	78 0c                	js     0x180027d29
180027d1d:	83 fb ff             	cmp    $0xffffffff,%ebx
180027d20:	74 07                	je     0x180027d29
180027d22:	8b cb                	mov    %ebx,%ecx
180027d24:	e8 8f ec ff ff       	call   0x1800269b8
180027d29:	48 83 c4 20          	add    $0x20,%rsp
180027d2d:	5b                   	pop    %rbx
180027d2e:	c3                   	ret
180027d2f:	cc                   	int3
180027d30:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180027d35:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
180027d3a:	56                   	push   %rsi
180027d3b:	57                   	push   %rdi
180027d3c:	41 54                	push   %r12
180027d3e:	41 56                	push   %r14
180027d40:	41 57                	push   %r15
180027d42:	48 83 ec 30          	sub    $0x30,%rsp
180027d46:	48 8b b1 80 00 00 00 	mov    0x80(%rcx),%rsi
180027d4d:	33 db                	xor    %ebx,%ebx
180027d4f:	4d 8b f9             	mov    %r9,%r15
180027d52:	89 5c 24 60          	mov    %ebx,0x60(%rsp)
180027d56:	41 8b f8             	mov    %r8d,%edi
180027d59:	4c 8b e2             	mov    %rdx,%r12
180027d5c:	4c 8b f1             	mov    %rcx,%r14
180027d5f:	38 9e 88 00 00 00    	cmp    %bl,0x88(%rsi)
180027d65:	74 5e                	je     0x180027dc5
180027d67:	38 9e 92 00 00 00    	cmp    %bl,0x92(%rsi)
180027d6d:	74 0a                	je     0x180027d79
180027d6f:	b9 00 00 21 c0       	mov    $0xc0210000,%ecx
180027d74:	e9 0c 01 00 00       	jmp    0x180027e85
180027d79:	8b 86 c8 00 00 00    	mov    0xc8(%rsi),%eax
180027d7f:	48 f7 a6 d8 00 00 00 	mulq   0xd8(%rsi)
180027d86:	48 85 d2             	test   %rdx,%rdx
180027d89:	0f 85 20 01 00 00    	jne    0x180027eaf
180027d8f:	8b 96 e0 00 00 00    	mov    0xe0(%rsi),%edx
180027d95:	48 03 d0             	add    %rax,%rdx
180027d98:	48 3b d0             	cmp    %rax,%rdx
180027d9b:	0f 82 0e 01 00 00    	jb     0x180027eaf
180027da1:	21 5c 24 28          	and    %ebx,0x28(%rsp)
180027da5:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
180027daa:	8b 4e 6c             	mov    0x6c(%rsi),%ecx
180027dad:	4d 8b cc             	mov    %r12,%r9
180027db0:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180027db5:	e8 62 f1 ff ff       	call   0x180026f1c
180027dba:	8b 5c 24 60          	mov    0x60(%rsp),%ebx
180027dbe:	8b c8                	mov    %eax,%ecx
180027dc0:	e9 bc 00 00 00       	jmp    0x180027e81
180027dc5:	8b d7                	mov    %edi,%edx
180027dc7:	e8 d4 1b 00 00       	call   0x1800299a0
180027dcc:	8b c8                	mov    %eax,%ecx
180027dce:	85 c0                	test   %eax,%eax
180027dd0:	0f 88 af 00 00 00    	js     0x180027e85
180027dd6:	39 9e e0 00 00 00    	cmp    %ebx,0xe0(%rsi)
180027ddc:	74 35                	je     0x180027e13
180027dde:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
180027de3:	45 33 c9             	xor    %r9d,%r9d
180027de6:	44 8b c7             	mov    %edi,%r8d
180027de9:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180027dee:	49 8b d4             	mov    %r12,%rdx
180027df1:	49 8b ce             	mov    %r14,%rcx
180027df4:	e8 0f 1c 00 00       	call   0x180029a08
180027df9:	8b c8                	mov    %eax,%ecx
180027dfb:	85 c0                	test   %eax,%eax
180027dfd:	0f 88 82 00 00 00    	js     0x180027e85
180027e03:	8b 5c 24 60          	mov    0x60(%rsp),%ebx
180027e07:	3b fb                	cmp    %ebx,%edi
180027e09:	0f 82 a0 00 00 00    	jb     0x180027eaf
180027e0f:	2b fb                	sub    %ebx,%edi
180027e11:	33 c9                	xor    %ecx,%ecx
180027e13:	33 d2                	xor    %edx,%edx
180027e15:	8b c7                	mov    %edi,%eax
180027e17:	f7 b6 c8 00 00 00    	divl   0xc8(%rsi)
180027e1d:	8b e8                	mov    %eax,%ebp
180027e1f:	85 c0                	test   %eax,%eax
180027e21:	74 33                	je     0x180027e56
180027e23:	8b d3                	mov    %ebx,%edx
180027e25:	44 8b cd             	mov    %ebp,%r9d
180027e28:	49 03 d4             	add    %r12,%rdx
180027e2b:	44 8b c7             	mov    %edi,%r8d
180027e2e:	48 8b ce             	mov    %rsi,%rcx
180027e31:	e8 92 58 00 00       	call   0x18002d6c8
180027e36:	8b c8                	mov    %eax,%ecx
180027e38:	85 c0                	test   %eax,%eax
180027e3a:	78 49                	js     0x180027e85
180027e3c:	8b 86 c8 00 00 00    	mov    0xc8(%rsi),%eax
180027e42:	48 01 ae d8 00 00 00 	add    %rbp,0xd8(%rsi)
180027e49:	0f af c5             	imul   %ebp,%eax
180027e4c:	3b f8                	cmp    %eax,%edi
180027e4e:	72 5f                	jb     0x180027eaf
180027e50:	2b f8                	sub    %eax,%edi
180027e52:	33 c9                	xor    %ecx,%ecx
180027e54:	03 d8                	add    %eax,%ebx
180027e56:	85 ff                	test   %edi,%edi
180027e58:	74 27                	je     0x180027e81
180027e5a:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
180027e5f:	8b d3                	mov    %ebx,%edx
180027e61:	49 03 d4             	add    %r12,%rdx
180027e64:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180027e69:	45 33 c9             	xor    %r9d,%r9d
180027e6c:	44 8b c7             	mov    %edi,%r8d
180027e6f:	49 8b ce             	mov    %r14,%rcx
180027e72:	e8 91 1b 00 00       	call   0x180029a08
180027e77:	8b c8                	mov    %eax,%ecx
180027e79:	85 c0                	test   %eax,%eax
180027e7b:	78 08                	js     0x180027e85
180027e7d:	03 5c 24 60          	add    0x60(%rsp),%ebx
180027e81:	85 c9                	test   %ecx,%ecx
180027e83:	79 08                	jns    0x180027e8d
180027e85:	48 83 0d 6b d0 17 00 	orq    $0xffffffffffffffff,0x17d06b(%rip)        # 0x1801a4ef8
180027e8c:	ff
180027e8d:	4d 85 ff             	test   %r15,%r15
180027e90:	74 03                	je     0x180027e95
180027e92:	41 89 1f             	mov    %ebx,(%r15)
180027e95:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
180027e9a:	8b c1                	mov    %ecx,%eax
180027e9c:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
180027ea1:	48 83 c4 30          	add    $0x30,%rsp
180027ea5:	41 5f                	pop    %r15
180027ea7:	41 5e                	pop    %r14
180027ea9:	41 5c                	pop    %r12
180027eab:	5f                   	pop    %rdi
180027eac:	5e                   	pop    %rsi
180027ead:	c3                   	ret
180027eae:	cc                   	int3
180027eaf:	b9 95 00 00 c0       	mov    $0xc0000095,%ecx
180027eb4:	eb cf                	jmp    0x180027e85
180027eb6:	cc                   	int3
180027eb7:	cc                   	int3
180027eb8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180027ebd:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
180027ec2:	56                   	push   %rsi
180027ec3:	57                   	push   %rdi
180027ec4:	41 54                	push   %r12
180027ec6:	41 56                	push   %r14
180027ec8:	41 57                	push   %r15
180027eca:	48 83 ec 30          	sub    $0x30,%rsp
180027ece:	48 8b b9 80 00 00 00 	mov    0x80(%rcx),%rdi
180027ed5:	33 db                	xor    %ebx,%ebx
180027ed7:	4d 8b f9             	mov    %r9,%r15
180027eda:	89 5c 24 60          	mov    %ebx,0x60(%rsp)
180027ede:	41 8b f0             	mov    %r8d,%esi
180027ee1:	4c 8b e2             	mov    %rdx,%r12
180027ee4:	4c 8b f1             	mov    %rcx,%r14
180027ee7:	38 9f 88 00 00 00    	cmp    %bl,0x88(%rdi)
180027eed:	0f 85 e4 00 00 00    	jne    0x180027fd7
180027ef3:	f6 87 c0 00 00 00 04 	testb  $0x4,0xc0(%rdi)
180027efa:	0f 85 d7 00 00 00    	jne    0x180027fd7
180027f00:	41 8b d0             	mov    %r8d,%edx
180027f03:	e8 98 1a 00 00       	call   0x1800299a0
180027f08:	44 8b c8             	mov    %eax,%r9d
180027f0b:	85 c0                	test   %eax,%eax
180027f0d:	0f 88 0d 01 00 00    	js     0x180028020
180027f13:	f6 47 70 08          	testb  $0x8,0x70(%rdi)
180027f17:	74 0b                	je     0x180027f24
180027f19:	41 b9 0d 00 00 c0    	mov    $0xc000000d,%r9d
180027f1f:	e9 fc 00 00 00       	jmp    0x180028020
180027f24:	39 9f e0 00 00 00    	cmp    %ebx,0xe0(%rdi)
180027f2a:	74 37                	je     0x180027f63
180027f2c:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
180027f31:	41 b1 01             	mov    $0x1,%r9b
180027f34:	44 8b c6             	mov    %esi,%r8d
180027f37:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180027f3c:	49 8b d4             	mov    %r12,%rdx
180027f3f:	49 8b ce             	mov    %r14,%rcx
180027f42:	e8 c1 1a 00 00       	call   0x180029a08
180027f47:	44 8b c8             	mov    %eax,%r9d
180027f4a:	85 c0                	test   %eax,%eax
180027f4c:	0f 88 ce 00 00 00    	js     0x180028020
180027f52:	8b 5c 24 60          	mov    0x60(%rsp),%ebx
180027f56:	3b f3                	cmp    %ebx,%esi
180027f58:	0f 82 bc 00 00 00    	jb     0x18002801a
180027f5e:	2b f3                	sub    %ebx,%esi
180027f60:	45 33 c9             	xor    %r9d,%r9d
180027f63:	33 d2                	xor    %edx,%edx
180027f65:	8b c6                	mov    %esi,%eax
180027f67:	f7 b7 c8 00 00 00    	divl   0xc8(%rdi)
180027f6d:	8b e8                	mov    %eax,%ebp
180027f6f:	85 c0                	test   %eax,%eax
180027f71:	74 36                	je     0x180027fa9
180027f73:	8b d3                	mov    %ebx,%edx
180027f75:	44 8b c5             	mov    %ebp,%r8d
180027f78:	49 03 d4             	add    %r12,%rdx
180027f7b:	48 8b cf             	mov    %rdi,%rcx
180027f7e:	e8 d5 59 00 00       	call   0x18002d958
180027f83:	44 8b c8             	mov    %eax,%r9d
180027f86:	85 c0                	test   %eax,%eax
180027f88:	0f 88 92 00 00 00    	js     0x180028020
180027f8e:	8b 87 c8 00 00 00    	mov    0xc8(%rdi),%eax
180027f94:	48 01 af d8 00 00 00 	add    %rbp,0xd8(%rdi)
180027f9b:	0f af c5             	imul   %ebp,%eax
180027f9e:	3b f0                	cmp    %eax,%esi
180027fa0:	72 78                	jb     0x18002801a
180027fa2:	2b f0                	sub    %eax,%esi
180027fa4:	45 33 c9             	xor    %r9d,%r9d
180027fa7:	03 d8                	add    %eax,%ebx
180027fa9:	85 f6                	test   %esi,%esi
180027fab:	74 66                	je     0x180028013
180027fad:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
180027fb2:	8b d3                	mov    %ebx,%edx
180027fb4:	49 03 d4             	add    %r12,%rdx
180027fb7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180027fbc:	41 b1 01             	mov    $0x1,%r9b
180027fbf:	44 8b c6             	mov    %esi,%r8d
180027fc2:	49 8b ce             	mov    %r14,%rcx
180027fc5:	e8 3e 1a 00 00       	call   0x180029a08
180027fca:	44 8b c8             	mov    %eax,%r9d
180027fcd:	85 c0                	test   %eax,%eax
180027fcf:	78 4f                	js     0x180028020
180027fd1:	03 5c 24 60          	add    0x60(%rsp),%ebx
180027fd5:	eb 3c                	jmp    0x180028013
180027fd7:	8b 87 c8 00 00 00    	mov    0xc8(%rdi),%eax