180047bc3:	cd 29                	int    $0x29
180047bc5:	cc                   	int3
180047bc6:	cc                   	int3
180047bc7:	cc                   	int3
180047bc8:	48 83 ec 28          	sub    $0x28,%rsp
180047bcc:	0f 28 02             	movaps (%rdx),%xmm0
180047bcf:	b8 01 00 00 00       	mov    $0x1,%eax
180047bd4:	f3 0f 7f 41 08       	movdqu %xmm0,0x8(%rcx)
180047bd9:	66 89 41 28          	mov    %ax,0x28(%rcx)
180047bdd:	c7 41 1c 40 00 00 00 	movl   $0x40,0x1c(%rcx)
180047be4:	c7 41 18 00 00 01 00 	movl   $0x10000,0x18(%rcx)
180047beb:	c7 41 20 08 00 00 00 	movl   $0x8,0x20(%rcx)
180047bf2:	e8 e1 03 00 00       	call   0x180047fd8
180047bf7:	48 83 c4 28          	add    $0x28,%rsp
180047bfb:	c3                   	ret
180047bfc:	cc                   	int3
180047bfd:	cc                   	int3
180047bfe:	cc                   	int3
180047bff:	cc                   	int3
180047c00:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180047c05:	55                   	push   %rbp
180047c06:	56                   	push   %rsi
180047c07:	57                   	push   %rdi
180047c08:	41 54                	push   %r12
180047c0a:	41 55                	push   %r13
180047c0c:	41 56                	push   %r14
180047c0e:	41 57                	push   %r15
180047c10:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
180047c15:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
180047c1c:	48 8b 05 4d 4d 12 00 	mov    0x124d4d(%rip),%rax        # 0x18016c970
180047c23:	48 33 c4             	xor    %rsp,%rax
180047c26:	48 89 45 17          	mov    %rax,0x17(%rbp)
180047c2a:	0f 10 05 f7 49 10 00 	movups 0x1049f7(%rip),%xmm0        # 0x18014c628
180047c31:	8b 81 08 01 00 00    	mov    0x108(%rcx),%eax
180047c37:	48 8b f9             	mov    %rcx,%rdi
180047c3a:	48 89 55 c7          	mov    %rdx,-0x39(%rbp)
180047c3e:	33 d2                	xor    %edx,%edx
180047c40:	4c 89 45 cf          	mov    %r8,-0x31(%rbp)
180047c44:	44 8b ea             	mov    %edx,%r13d
180047c47:	48 89 55 e7          	mov    %rdx,-0x19(%rbp)
180047c4b:	44 8b f2             	mov    %edx,%r14d
180047c4e:	89 55 ef             	mov    %edx,-0x11(%rbp)
180047c51:	66 89 55 f7          	mov    %dx,-0x9(%rbp)
180047c55:	48 89 55 ff          	mov    %rdx,-0x1(%rbp)
180047c59:	48 89 55 07          	mov    %rdx,0x7(%rbp)
180047c5d:	48 89 55 0f          	mov    %rdx,0xf(%rbp)
180047c61:	48 89 55 b7          	mov    %rdx,-0x49(%rbp)
180047c65:	48 89 55 bf          	mov    %rdx,-0x41(%rbp)
180047c69:	f3 0f 7f 45 d7       	movdqu %xmm0,-0x29(%rbp)
180047c6e:	85 c0                	test   %eax,%eax
180047c70:	75 0a                	jne    0x180047c7c
180047c72:	be 0b 00 e7 c0       	mov    $0xc0e7000b,%esi
180047c77:	e9 de 02 00 00       	jmp    0x180047f5a
180047c7c:	48 8b f0             	mov    %rax,%rsi
180047c7f:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
180047c86:	b8 40 00 00 00       	mov    $0x40,%eax
180047c8b:	48 f7 e6             	mul    %rsi
180047c8e:	48 0f 40 c1          	cmovo  %rcx,%rax
180047c92:	48 8b c8             	mov    %rax,%rcx
180047c95:	e8 7a ec ff ff       	call   0x180046914
180047c9a:	33 d2                	xor    %edx,%edx
180047c9c:	48 8b d8             	mov    %rax,%rbx
180047c9f:	48 85 c0             	test   %rax,%rax
180047ca2:	74 38                	je     0x180047cdc
180047ca4:	48 85 f6             	test   %rsi,%rsi
180047ca7:	74 36                	je     0x180047cdf
180047ca9:	48 83 c0 14          	add    $0x14,%rax
180047cad:	48 8d 40 40          	lea    0x40(%rax),%rax
180047cb1:	0f 10 05 70 49 10 00 	movups 0x104970(%rip),%xmm0        # 0x18014c628
180047cb8:	48 89 50 bc          	mov    %rdx,-0x44(%rax)
180047cbc:	89 50 c4             	mov    %edx,-0x3c(%rax)
180047cbf:	66 89 50 cc          	mov    %dx,-0x34(%rax)
180047cc3:	48 89 50 d4          	mov    %rdx,-0x2c(%rax)
180047cc7:	48 89 50 dc          	mov    %rdx,-0x24(%rax)
180047ccb:	48 89 50 e4          	mov    %rdx,-0x1c(%rax)
180047ccf:	f3 0f 7f 40 ac       	movdqu %xmm0,-0x54(%rax)
180047cd4:	48 83 ee 01          	sub    $0x1,%rsi
180047cd8:	75 d3                	jne    0x180047cad
180047cda:	eb 03                	jmp    0x180047cdf
180047cdc:	48 8b da             	mov    %rdx,%rbx
180047cdf:	48 85 db             	test   %rbx,%rbx
180047ce2:	75 0a                	jne    0x180047cee
180047ce4:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
180047ce9:	e9 6c 02 00 00       	jmp    0x180047f5a
180047cee:	8b 8f 08 01 00 00    	mov    0x108(%rdi),%ecx
180047cf4:	4c 8b bf 18 01 00 00 	mov    0x118(%rdi),%r15
180047cfb:	85 c9                	test   %ecx,%ecx
180047cfd:	0f 84 bf 00 00 00    	je     0x180047dc2
180047d03:	4d 8b e5             	mov    %r13,%r12
180047d06:	4d 8b ef             	mov    %r15,%r13
180047d09:	4d 8b 3f             	mov    (%r15),%r15
180047d0c:	49 8b 45 10          	mov    0x10(%r13),%rax
180047d10:	38 90 f8 01 00 00    	cmp    %dl,0x1f8(%rax)
180047d16:	0f 85 8f 00 00 00    	jne    0x180047dab
180047d1c:	41 8b f6             	mov    %r14d,%esi
180047d1f:	49 8b d5             	mov    %r13,%rdx
180047d22:	48 c1 e6 06          	shl    $0x6,%rsi
180047d26:	48 03 f3             	add    %rbx,%rsi
180047d29:	48 8b ce             	mov    %rsi,%rcx
180047d2c:	e8 8b fb ff ff       	call   0x1800478bc
180047d31:	33 d2                	xor    %edx,%edx
180047d33:	85 c0                	test   %eax,%eax
180047d35:	78 33                	js     0x180047d6a
180047d37:	48 8b 4d c7          	mov    -0x39(%rbp),%rcx
180047d3b:	48 8b 01             	mov    (%rcx),%rax
180047d3e:	48 3b 06             	cmp    (%rsi),%rax
180047d41:	75 27                	jne    0x180047d6a
180047d43:	48 8b 41 08          	mov    0x8(%rcx),%rax
180047d47:	48 3b 46 08          	cmp    0x8(%rsi),%rax
180047d4b:	75 1d                	jne    0x180047d6a
180047d4d:	66 39 56 20          	cmp    %dx,0x20(%rsi)
180047d51:	74 17                	je     0x180047d6a
180047d53:	4c 8b 6e 28          	mov    0x28(%rsi),%r13
180047d57:	8b 8f 08 01 00 00    	mov    0x108(%rdi),%ecx
180047d5d:	4d 3b ec             	cmp    %r12,%r13
180047d60:	4d 0f 46 ec          	cmovbe %r12,%r13
180047d64:	4c 89 6d b7          	mov    %r13,-0x49(%rbp)
180047d68:	eb 45                	jmp    0x180047daf
180047d6a:	49 8b 47 08          	mov    0x8(%r15),%rax
180047d6e:	4c 8b 00             	mov    (%rax),%r8
180047d71:	49 39 40 08          	cmp    %rax,0x8(%r8)
180047d75:	0f 85 f8 00 00 00    	jne    0x180047e73
180047d7b:	48 8b 50 08          	mov    0x8(%rax),%rdx
180047d7f:	48 39 02             	cmp    %rax,(%rdx)
180047d82:	0f 85 eb 00 00 00    	jne    0x180047e73
180047d88:	4c 89 02             	mov    %r8,(%rdx)
180047d8b:	83 ce ff             	or     $0xffffffff,%esi
180047d8e:	49 8b cd             	mov    %r13,%rcx
180047d91:	49 89 50 08          	mov    %rdx,0x8(%r8)
180047d95:	44 03 f6             	add    %esi,%r14d
180047d98:	e8 bf eb ff ff       	call   0x18004695c
180047d9d:	01 b7 08 01 00 00    	add    %esi,0x108(%rdi)
180047da3:	8b 8f 08 01 00 00    	mov    0x108(%rdi),%ecx
180047da9:	33 d2                	xor    %edx,%edx
180047dab:	4c 8b 6d b7          	mov    -0x49(%rbp),%r13
180047daf:	41 ff c6             	inc    %r14d
180047db2:	44 3b f1             	cmp    %ecx,%r14d
180047db5:	0f 82 48 ff ff ff    	jb     0x180047d03
180047dbb:	4c 8b bf 18 01 00 00 	mov    0x118(%rdi),%r15
180047dc2:	be 16 00 e7 c0       	mov    $0xc0e70016,%esi
180047dc7:	44 8b e2             	mov    %edx,%r12d
180047dca:	85 c9                	test   %ecx,%ecx
180047dcc:	0f 84 7c 01 00 00    	je     0x180047f4e
180047dd2:	b9 05 00 00 00       	mov    $0x5,%ecx
180047dd7:	44 8d 71 fc          	lea    -0x4(%rcx),%r14d
180047ddb:	4d 8b ef             	mov    %r15,%r13
180047dde:	4d 8b 3f             	mov    (%r15),%r15
180047de1:	49 8b 45 10          	mov    0x10(%r13),%rax
180047de5:	38 90 f8 01 00 00    	cmp    %dl,0x1f8(%rax)
180047deb:	75 75                	jne    0x180047e62
180047ded:	45 8b f4             	mov    %r12d,%r14d
180047df0:	49 c1 e6 06          	shl    $0x6,%r14
180047df4:	66 41 39 4c 1e 20    	cmp    %cx,0x20(%r14,%rbx,1)
180047dfa:	74 60                	je     0x180047e5c
180047dfc:	48 8b 45 b7          	mov    -0x49(%rbp),%rax
180047e00:	49 39 44 1e 28       	cmp    %rax,0x28(%r14,%rbx,1)
180047e05:	75 55                	jne    0x180047e5c
180047e07:	41 0f 10 04 1e       	movups (%r14,%rbx,1),%xmm0
180047e0c:	4c 8b 45 cf          	mov    -0x31(%rbp),%r8
180047e10:	49 8b d5             	mov    %r13,%rdx
180047e13:	48 8b cf             	mov    %rdi,%rcx
180047e16:	0f 11 47 08          	movups %xmm0,0x8(%rdi)
180047e1a:	41 0f 10 4c 1e 10    	movups 0x10(%r14,%rbx,1),%xmm1
180047e20:	0f 11 4f 18          	movups %xmm1,0x18(%rdi)
180047e24:	41 0f 10 44 1e 20    	movups 0x20(%r14,%rbx,1),%xmm0
180047e2a:	0f 11 47 28          	movups %xmm0,0x28(%rdi)
180047e2e:	41 0f 10 4c 1e 30    	movups 0x30(%r14,%rbx,1),%xmm1
180047e34:	0f 11 4f 38          	movups %xmm1,0x38(%rdi)
180047e38:	e8 83 05 00 00       	call   0x1800483c0
180047e3d:	8b f0                	mov    %eax,%esi
180047e3f:	85 c0                	test   %eax,%eax
180047e41:	79 37                	jns    0x180047e7a
180047e43:	41 bb 05 00 00 00    	mov    $0x5,%r11d
180047e49:	48 8b cf             	mov    %rdi,%rcx
180047e4c:	66 45 89 5c 1e 20    	mov    %r11w,0x20(%r14,%rbx,1)
180047e52:	e8 f5 01 00 00       	call   0x18004804c
180047e57:	33 d2                	xor    %edx,%edx
180047e59:	8d 4a 05             	lea    0x5(%rdx),%ecx
180047e5c:	41 be 01 00 00 00    	mov    $0x1,%r14d
180047e62:	45 03 e6             	add    %r14d,%r12d
180047e65:	44 3b a7 08 01 00 00 	cmp    0x108(%rdi),%r12d
180047e6c:	73 20                	jae    0x180047e8e
180047e6e:	e9 68 ff ff ff       	jmp    0x180047ddb
180047e73:	b9 03 00 00 00       	mov    $0x3,%ecx
180047e78:	cd 29                	int    $0x29
180047e7a:	49 8b 45 10          	mov    0x10(%r13),%rax
180047e7e:	41 be 01 00 00 00    	mov    $0x1,%r14d
180047e84:	48 05 bc 01 00 00    	add    $0x1bc,%rax
180047e8a:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
180047e8e:	85 f6                	test   %esi,%esi
180047e90:	0f 88 b8 00 00 00    	js     0x180047f4e
180047e96:	49 8b d5             	mov    %r13,%rdx
180047e99:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
180047e9d:	e8 1a fa ff ff       	call   0x1800478bc
180047ea2:	8b f0                	mov    %eax,%esi
180047ea4:	85 c0                	test   %eax,%eax
180047ea6:	0f 88 a2 00 00 00    	js     0x180047f4e
180047eac:	48 8b 45 d7          	mov    -0x29(%rbp),%rax
180047eb0:	41 8b cc             	mov    %r12d,%ecx
180047eb3:	48 c1 e1 06          	shl    $0x6,%rcx
180047eb7:	48 3b 04 19          	cmp    (%rcx,%rbx,1),%rax
180047ebb:	0f 85 88 00 00 00    	jne    0x180047f49
180047ec1:	48 8b 45 df          	mov    -0x21(%rbp),%rax
180047ec5:	48 3b 44 19 08       	cmp    0x8(%rcx,%rbx,1),%rax
180047eca:	75 7d                	jne    0x180047f49
180047ecc:	0f b7 44 19 20       	movzwl 0x20(%rcx,%rbx,1),%eax
180047ed1:	66 39 45 f7          	cmp    %ax,-0x9(%rbp)
180047ed5:	75 72                	jne    0x180047f49
180047ed7:	48 8b 44 19 28       	mov    0x28(%rcx,%rbx,1),%rax
180047edc:	48 39 45 ff          	cmp    %rax,-0x1(%rbp)
180047ee0:	75 67                	jne    0x180047f49
180047ee2:	48 8b 44 19 30       	mov    0x30(%rcx,%rbx,1),%rax
180047ee7:	48 39 45 07          	cmp    %rax,0x7(%rbp)
180047eeb:	75 5c                	jne    0x180047f49
180047eed:	4c 8b 87 18 01 00 00 	mov    0x118(%rdi),%r8
180047ef4:	33 c9                	xor    %ecx,%ecx
180047ef6:	39 8f 08 01 00 00    	cmp    %ecx,0x108(%rdi)
180047efc:	76 50                	jbe    0x180047f4e
180047efe:	4c 8b 55 b7          	mov    -0x49(%rbp),%r10
180047f02:	44 8d 59 05          	lea    0x5(%rcx),%r11d
180047f06:	49 8d 10             	lea    (%r8),%rdx
180047f09:	4d 8b 00             	mov    (%r8),%r8
180047f0c:	48 8b 42 10          	mov    0x10(%rdx),%rax
180047f10:	80 b8 f8 01 00 00 00 	cmpb   $0x0,0x1f8(%rax)
180047f17:	75 23                	jne    0x180047f3c
180047f19:	8b c1                	mov    %ecx,%eax
180047f1b:	48 c1 e0 06          	shl    $0x6,%rax
180047f1f:	44 0f b7 4c 18 20    	movzwl 0x20(%rax,%rbx,1),%r9d
180047f25:	66 45 3b cb          	cmp    %r11w,%r9w
180047f29:	74 11                	je     0x180047f3c
180047f2b:	4c 39 54 18 28       	cmp    %r10,0x28(%rax,%rbx,1)
180047f30:	75 0a                	jne    0x180047f3c
180047f32:	66 45 3b ce          	cmp    %r14w,%r9w
180047f36:	75 04                	jne    0x180047f3c
180047f38:	44 09 72 20          	or     %r14d,0x20(%rdx)
180047f3c:	41 03 ce             	add    %r14d,%ecx
180047f3f:	3b 8f 08 01 00 00    	cmp    0x108(%rdi),%ecx
180047f45:	72 bf                	jb     0x180047f06
180047f47:	eb 05                	jmp    0x180047f4e
180047f49:	be 16 00 e7 c0       	mov    $0xc0e70016,%esi
180047f4e:	48 8b cb             	mov    %rbx,%rcx
180047f51:	e8 06 ea ff ff       	call   0x18004695c
180047f56:	4c 8b 75 bf          	mov    -0x41(%rbp),%r14
180047f5a:	48 8b 07             	mov    (%rdi),%rax
180047f5d:	48 8b cf             	mov    %rdi,%rcx
180047f60:	48 8b 40 10          	mov    0x10(%rax),%rax
180047f64:	85 f6                	test   %esi,%esi
180047f66:	79 17                	jns    0x180047f7f
180047f68:	ff d0                	call   *%rax
180047f6a:	0f 1f 00             	nopl   (%rax)
180047f6d:	48 8b d0             	mov    %rax,%rdx
180047f70:	44 8b c6             	mov    %esi,%r8d
180047f73:	b9 4d 04 00 00       	mov    $0x44d,%ecx
180047f78:	e8 fb eb ff ff       	call   0x180046b78
180047f7d:	eb 2e                	jmp    0x180047fad
180047f7f:	48 8b 5f 38          	mov    0x38(%rdi),%rbx
180047f83:	ff d0                	call   *%rax
180047f85:	0f 1f 00             	nopl   (%rax)
180047f88:	44 8b 8f 08 01 00 00 	mov    0x108(%rdi),%r9d
180047f8f:	48 8b d0             	mov    %rax,%rdx
180047f92:	44 8b 87 0c 01 00 00 	mov    0x10c(%rdi),%r8d
180047f99:	b9 4c 04 00 00       	mov    $0x44c,%ecx
180047f9e:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
180047fa3:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
180047fa8:	e8 cb eb ff ff       	call   0x180046b78
180047fad:	8b c6                	mov    %esi,%eax
180047faf:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
180047fb3:	48 33 cc             	xor    %rsp,%rcx
180047fb6:	e8 71 db fc ff       	call   0x180015b2c
180047fbb:	48 8b 9c 24 e8 00 00 	mov    0xe8(%rsp),%rbx
180047fc2:	00
180047fc3:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
180047fca:	41 5f                	pop    %r15
180047fcc:	41 5e                	pop    %r14
180047fce:	41 5d                	pop    %r13
180047fd0:	41 5c                	pop    %r12
180047fd2:	5f                   	pop    %rdi
180047fd3:	5e                   	pop    %rsi
180047fd4:	5d                   	pop    %rbp
180047fd5:	c3                   	ret
180047fd6:	cc                   	int3
180047fd7:	cc                   	int3
180047fd8:	40 53                	rex push %rbx
180047fda:	48 83 ec 20          	sub    $0x20,%rsp
180047fde:	8b 41 20             	mov    0x20(%rcx),%eax
180047fe1:	33 d2                	xor    %edx,%edx
180047fe3:	44 8b 49 1c          	mov    0x1c(%rcx),%r9d
180047fe7:	48 8b d9             	mov    %rcx,%rbx
180047fea:	44 8b 41 18          	mov    0x18(%rcx),%r8d
180047fee:	89 41 48             	mov    %eax,0x48(%rcx)
180047ff1:	89 41 4c             	mov    %eax,0x4c(%rcx)
180047ff4:	b8 00 10 00 00       	mov    $0x1000,%eax
180047ff9:	41 f7 f1             	div    %r9d
180047ffc:	33 d2                	xor    %edx,%edx
180047ffe:	89 81 90 00 00 00    	mov    %eax,0x90(%rcx)
180048004:	44 8b d0             	mov    %eax,%r10d
180048007:	41 8b c0             	mov    %r8d,%eax
18004800a:	41 0f af c1          	imul   %r9d,%eax
18004800e:	2d 00 02 00 00       	sub    $0x200,%eax
180048013:	41 f7 f1             	div    %r9d
180048016:	33 d2                	xor    %edx,%edx
180048018:	89 81 98 00 00 00    	mov    %eax,0x98(%rcx)
18004801e:	41 8b c0             	mov    %r8d,%eax
180048021:	41 f7 f2             	div    %r10d
180048024:	48 83 c1 50          	add    $0x50,%rcx
180048028:	8b d0                	mov    %eax,%edx
18004802a:	e8 39 b7 ff ff       	call   0x180043768
18004802f:	85 c0                	test   %eax,%eax
180048031:	78 0f                	js     0x180048042
180048033:	8b 53 18             	mov    0x18(%rbx),%edx
180048036:	48 8d 8b c8 00 00 00 	lea    0xc8(%rbx),%rcx
18004803d:	e8 26 b7 ff ff       	call   0x180043768
180048042:	48 83 c4 20          	add    $0x20,%rsp
180048046:	5b                   	pop    %rbx
180048047:	c3                   	ret
180048048:	cc                   	int3
180048049:	cc                   	int3
18004804a:	cc                   	int3
18004804b:	cc                   	int3
18004804c:	48 8b c4             	mov    %rsp,%rax
18004804f:	48 89 58 10          	mov    %rbx,0x10(%rax)
180048053:	48 89 70 18          	mov    %rsi,0x18(%rax)
180048057:	57                   	push   %rdi
180048058:	48 83 ec 20          	sub    $0x20,%rsp
18004805c:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
180048061:	48 8d 99 c8 00 00 00 	lea    0xc8(%rcx),%rbx
180048068:	48 8b f1             	mov    %rcx,%rsi
18004806b:	48 8d 50 08          	lea    0x8(%rax),%rdx
18004806f:	48 8b cb             	mov    %rbx,%rcx
180048072:	e8 8d ba ff ff       	call   0x180043b04
180048077:	eb 22                	jmp    0x18004809b
180048079:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
18004807e:	45 33 c0             	xor    %r8d,%r8d
180048081:	e8 9a b8 ff ff       	call   0x180043920
180048086:	48 8b cf             	mov    %rdi,%rcx
180048089:	e8 ce e8 ff ff       	call   0x18004695c
18004808e:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180048093:	48 8b cb             	mov    %rbx,%rcx
180048096:	e8 71 bb ff ff       	call   0x180043c0c
18004809b:	48 8b f8             	mov    %rax,%rdi
18004809e:	48 8b cb             	mov    %rbx,%rcx
1800480a1:	48 85 c0             	test   %rax,%rax
1800480a4:	75 d3                	jne    0x180048079
1800480a6:	e8 71 b7 ff ff       	call   0x18004381c
1800480ab:	48 8d 5e 50          	lea    0x50(%rsi),%rbx
1800480af:	48 8b cb             	mov    %rbx,%rcx
1800480b2:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1800480b7:	e8 48 ba ff ff       	call   0x180043b04
1800480bc:	eb 22                	jmp    0x1800480e0
1800480be:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx