180107c0b:	48 8b 41 18          	mov    0x18(%rcx),%rax
180107c0f:	48 89 43 18          	mov    %rax,0x18(%rbx)
180107c13:	eb 2f                	jmp    0x180107c44
180107c15:	8b 01                	mov    (%rcx),%eax
180107c17:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
180107c1c:	48 83 64 24 48 00    	andq   $0x0,0x48(%rsp)
180107c22:	89 44 24 34          	mov    %eax,0x34(%rsp)
180107c26:	8b 41 04             	mov    0x4(%rcx),%eax
180107c29:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
180107c2e:	89 44 24 30          	mov    %eax,0x30(%rsp)
180107c32:	e8 91 fd ff ff       	call   0x1801079c8
180107c37:	85 c0                	test   %eax,%eax
180107c39:	0f 88 a5 01 00 00    	js     0x180107de4
180107c3f:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
180107c44:	44 8b 7e 08          	mov    0x8(%rsi),%r15d
180107c48:	4c 8b 4b 18          	mov    0x18(%rbx),%r9
180107c4c:	4c 8b 56 18          	mov    0x18(%rsi),%r10
180107c50:	41 c1 ef 03          	shr    $0x3,%r15d
180107c54:	44 89 7c 24 48       	mov    %r15d,0x48(%rsp)
180107c59:	39 6e 08             	cmp    %ebp,0x8(%rsi)
180107c5c:	75 1d                	jne    0x180107c7b
180107c5e:	45 84 f6             	test   %r14b,%r14b
180107c61:	0f 85 7b 01 00 00    	jne    0x180107de2
180107c67:	44 8b 46 0c          	mov    0xc(%rsi),%r8d
180107c6b:	49 8b d2             	mov    %r10,%rdx
180107c6e:	49 8b c9             	mov    %r9,%rcx
180107c71:	e8 4a dd 02 00       	call   0x1801359c0
180107c76:	e9 63 01 00 00       	jmp    0x180107dde
180107c7b:	83 fd 04             	cmp    $0x4,%ebp
180107c7e:	0f 85 0e 01 00 00    	jne    0x180107d92
180107c84:	33 c9                	xor    %ecx,%ecx
180107c86:	89 4c 24 40          	mov    %ecx,0x40(%rsp)
180107c8a:	39 0b                	cmp    %ecx,(%rbx)
180107c8c:	0f 86 43 01 00 00    	jbe    0x180107dd5
180107c92:	44 8a 9c 24 a8 00 00 	mov    0xa8(%rsp),%r11b
180107c99:	00
180107c9a:	45 33 c0             	xor    %r8d,%r8d
180107c9d:	44 39 43 04          	cmp    %r8d,0x4(%rbx)
180107ca1:	0f 86 b4 00 00 00    	jbe    0x180107d5b
180107ca7:	48 8d 44 24 28       	lea    0x28(%rsp),%rax
180107cac:	4c 8d 2d bd 51 05 00 	lea    0x551bd(%rip),%r13        # 0x18015ce70
180107cb3:	4c 2b e8             	sub    %rax,%r13
180107cb6:	41 8b c7             	mov    %r15d,%eax
180107cb9:	44 8b f8             	mov    %eax,%r15d
180107cbc:	83 4c 24 30 ff       	orl    $0xffffffff,0x30(%rsp)
180107cc1:	49 8b f5             	mov    %r13,%rsi
180107cc4:	41 8b 02             	mov    (%r10),%eax
180107cc7:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
180107ccc:	89 44 24 28          	mov    %eax,0x28(%rsp)
180107cd0:	33 ed                	xor    %ebp,%ebp
180107cd2:	4c 8d 64 24 28       	lea    0x28(%rsp),%r12
180107cd7:	44 8d 75 03          	lea    0x3(%rbp),%r14d
180107cdb:	42 0f b6 0c 26       	movzbl (%rsi,%r12,1),%ecx
180107ce0:	41 0f b6 04 24       	movzbl (%r12),%eax
180107ce5:	49 ff c4             	inc    %r12
180107ce8:	2b c1                	sub    %ecx,%eax
180107cea:	99                   	cltd
180107ceb:	33 c2                	xor    %edx,%eax
180107ced:	2b c2                	sub    %edx,%eax
180107cef:	8d 0c 28             	lea    (%rax,%rbp,1),%ecx
180107cf2:	8d 2c 41             	lea    (%rcx,%rax,2),%ebp
180107cf5:	49 83 ee 01          	sub    $0x1,%r14
180107cf9:	75 e0                	jne    0x180107cdb
180107cfb:	8b 54 24 30          	mov    0x30(%rsp),%edx
180107cff:	3b ea                	cmp    %edx,%ebp
180107d01:	0f b6 4c 24 20       	movzbl 0x20(%rsp),%ecx
180107d06:	41 0f b6 c3          	movzbl %r11b,%eax
180107d0a:	0f 43 c8             	cmovae %eax,%ecx
180107d0d:	8b 44 24 20          	mov    0x20(%rsp),%eax
180107d11:	ff c0                	inc    %eax
180107d13:	48 83 c6 04          	add    $0x4,%rsi
180107d17:	3b ea                	cmp    %edx,%ebp
180107d19:	89 44 24 20          	mov    %eax,0x20(%rsp)
180107d1d:	44 8a d9             	mov    %cl,%r11b
180107d20:	0f 43 ea             	cmovae %edx,%ebp
180107d23:	89 6c 24 30          	mov    %ebp,0x30(%rsp)
180107d27:	83 f8 10             	cmp    $0x10,%eax
180107d2a:	72 a4                	jb     0x180107cd0
180107d2c:	41 f6 c0 01          	test   $0x1,%r8b
180107d30:	75 0a                	jne    0x180107d3c
180107d32:	8a c1                	mov    %cl,%al
180107d34:	c0 e0 04             	shl    $0x4,%al
180107d37:	41 88 01             	mov    %al,(%r9)
180107d3a:	eb 06                	jmp    0x180107d42
180107d3c:	41 08 09             	or     %cl,(%r9)
180107d3f:	49 ff c1             	inc    %r9
180107d42:	4d 03 d7             	add    %r15,%r10
180107d45:	41 ff c0             	inc    %r8d
180107d48:	44 3b 43 04          	cmp    0x4(%rbx),%r8d
180107d4c:	0f 82 6a ff ff ff    	jb     0x180107cbc
180107d52:	44 8b 7c 24 48       	mov    0x48(%rsp),%r15d
180107d57:	8b 4c 24 40          	mov    0x40(%rsp),%ecx
180107d5b:	ff c1                	inc    %ecx
180107d5d:	49 8d 41 01          	lea    0x1(%r9),%rax
180107d61:	41 f6 c0 01          	test   $0x1,%r8b
180107d65:	89 4c 24 40          	mov    %ecx,0x40(%rsp)
180107d69:	49 0f 44 c1          	cmove  %r9,%rax
180107d6d:	4c 8b c8             	mov    %rax,%r9
180107d70:	3b 0b                	cmp    (%rbx),%ecx
180107d72:	0f 82 22 ff ff ff    	jb     0x180107c9a
180107d78:	48 8b b4 24 90 00 00 	mov    0x90(%rsp),%rsi
180107d7f:	00
180107d80:	44 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14d
180107d87:	00
180107d88:	4c 8b a4 24 a0 00 00 	mov    0xa0(%rsp),%r12
180107d8f:	00
180107d90:	eb 43                	jmp    0x180107dd5
180107d92:	8b 43 04             	mov    0x4(%rbx),%eax
180107d95:	8b cd                	mov    %ebp,%ecx
180107d97:	0f af 03             	imul   (%rbx),%eax
180107d9a:	c1 e9 03             	shr    $0x3,%ecx
180107d9d:	85 c0                	test   %eax,%eax
180107d9f:	74 34                	je     0x180107dd5
180107da1:	44 8b c1             	mov    %ecx,%r8d
180107da4:	8b c8                	mov    %eax,%ecx
180107da6:	41 8b d7             	mov    %r15d,%edx
180107da9:	41 8a 42 02          	mov    0x2(%r10),%al
180107dad:	41 88 41 02          	mov    %al,0x2(%r9)
180107db1:	41 8a 42 01          	mov    0x1(%r10),%al
180107db5:	41 88 41 01          	mov    %al,0x1(%r9)
180107db9:	41 8a 02             	mov    (%r10),%al
180107dbc:	41 88 01             	mov    %al,(%r9)
180107dbf:	83 fd 20             	cmp    $0x20,%ebp
180107dc2:	75 05                	jne    0x180107dc9
180107dc4:	41 c6 41 03 00       	movb   $0x0,0x3(%r9)
180107dc9:	4c 03 d2             	add    %rdx,%r10
180107dcc:	4d 03 c8             	add    %r8,%r9
180107dcf:	48 83 e9 01          	sub    $0x1,%rcx
180107dd3:	75 d4                	jne    0x180107da9
180107dd5:	45 84 f6             	test   %r14b,%r14b
180107dd8:	74 04                	je     0x180107dde
180107dda:	83 4e 10 10          	orl    $0x10,0x10(%rsi)
180107dde:	49 89 1c 24          	mov    %rbx,(%r12)
180107de2:	33 c0                	xor    %eax,%eax
180107de4:	48 83 c4 50          	add    $0x50,%rsp
180107de8:	41 5f                	pop    %r15
180107dea:	41 5e                	pop    %r14
180107dec:	41 5d                	pop    %r13
180107dee:	41 5c                	pop    %r12
180107df0:	5e                   	pop    %rsi
180107df1:	5d                   	pop    %rbp
180107df2:	5b                   	pop    %rbx
180107df3:	c3                   	ret
180107df4:	cc                   	int3
180107df5:	cc                   	int3
180107df6:	cc                   	int3
180107df7:	cc                   	int3
180107df8:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180107dfd:	55                   	push   %rbp
180107dfe:	53                   	push   %rbx
180107dff:	56                   	push   %rsi
180107e00:	57                   	push   %rdi
180107e01:	41 54                	push   %r12
180107e03:	41 55                	push   %r13
180107e05:	41 56                	push   %r14
180107e07:	41 57                	push   %r15
180107e09:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
180107e0e:	48 81 ec f8 00 00 00 	sub    $0xf8,%rsp
180107e15:	8b 05 b5 db 08 00    	mov    0x8dbb5(%rip),%eax        # 0x1801959d0
180107e1b:	4c 8b fa             	mov    %rdx,%r15
180107e1e:	48 8b f9             	mov    %rcx,%rdi
180107e21:	bb 01 00 00 00       	mov    $0x1,%ebx
180107e26:	83 f8 04             	cmp    $0x4,%eax
180107e29:	75 05                	jne    0x180107e30
180107e2b:	8d 70 14             	lea    0x14(%rax),%esi
180107e2e:	eb 0d                	jmp    0x180107e3d
180107e30:	83 f8 05             	cmp    $0x5,%eax
180107e33:	8b f3                	mov    %ebx,%esi
180107e35:	b9 20 00 00 00       	mov    $0x20,%ecx
180107e3a:	0f 44 f1             	cmove  %ecx,%esi
180107e3d:	8b 05 85 db 08 00    	mov    0x8db85(%rip),%eax        # 0x1801959c8
180107e43:	89 44 24 30          	mov    %eax,0x30(%rsp)
180107e47:	8b 05 77 db 08 00    	mov    0x8db77(%rip),%eax        # 0x1801959c4
180107e4d:	89 44 24 34          	mov    %eax,0x34(%rsp)
180107e51:	8b 05 75 db 08 00    	mov    0x8db75(%rip),%eax        # 0x1801959cc
180107e57:	89 44 24 38          	mov    %eax,0x38(%rsp)
180107e5b:	48 85 ff             	test   %rdi,%rdi
180107e5e:	0f 84 a9 02 00 00    	je     0x18010810d
180107e64:	83 7f 04 00          	cmpl   $0x0,0x4(%rdi)
180107e68:	0f 84 9f 02 00 00    	je     0x18010810d
180107e6e:	83 3f 00             	cmpl   $0x0,(%rdi)
180107e71:	0f 84 96 02 00 00    	je     0x18010810d
180107e77:	39 77 08             	cmp    %esi,0x8(%rdi)
180107e7a:	0f 85 8d 02 00 00    	jne    0x18010810d
180107e80:	4d 85 ff             	test   %r15,%r15
180107e83:	0f 84 84 02 00 00    	je     0x18010810d
180107e89:	f6 05 a0 db 08 00 02 	testb  $0x2,0x8dba0(%rip)        # 0x180195a30
180107e90:	75 0a                	jne    0x180107e9c
180107e92:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
180107e97:	e9 76 02 00 00       	jmp    0x180108112
180107e9c:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
180107ea1:	48 8b cf             	mov    %rdi,%rcx
180107ea4:	4c 8d 4d 97          	lea    -0x69(%rbp),%r9
180107ea8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180107ead:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
180107eb2:	e8 71 02 00 00       	call   0x180108128
180107eb7:	85 c0                	test   %eax,%eax
180107eb9:	0f 88 53 02 00 00    	js     0x180108112
180107ebf:	80 3d fa da 08 00 00 	cmpb   $0x0,0x8dafa(%rip)        # 0x1801959c0
180107ec6:	0f 85 bd 00 00 00    	jne    0x180107f89
180107ecc:	8b 07                	mov    (%rdi),%eax
180107ece:	33 f6                	xor    %esi,%esi
180107ed0:	89 44 24 48          	mov    %eax,0x48(%rsp)
180107ed4:	8b 47 04             	mov    0x4(%rdi),%eax
180107ed7:	89 44 24 4c          	mov    %eax,0x4c(%rsp)
180107edb:	8b 05 4f db 08 00    	mov    0x8db4f(%rip),%eax        # 0x180195a30
180107ee1:	48 89 75 67          	mov    %rsi,0x67(%rbp)
180107ee5:	a8 08                	test   $0x8,%al
180107ee7:	74 4a                	je     0x180107f33
180107ee9:	a9 00 0c 00 00       	test   $0xc00,%eax
180107eee:	74 0d                	je     0x180107efd
180107ef0:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
180107ef4:	44 8b cb             	mov    %ebx,%r9d
180107ef7:	48 89 45 67          	mov    %rax,0x67(%rbp)
180107efb:	eb 03                	jmp    0x180107f00
180107efd:	45 33 c9             	xor    %r9d,%r9d
180107f00:	4c 8d 45 67          	lea    0x67(%rbp),%r8
180107f04:	ba 04 00 00 00       	mov    $0x4,%edx
180107f09:	48 8b cf             	mov    %rdi,%rcx
180107f0c:	e8 9f fc ff ff       	call   0x180107bb0
180107f11:	85 c0                	test   %eax,%eax
180107f13:	0f 88 f9 01 00 00    	js     0x180108112
180107f19:	48 8b 75 67          	mov    0x67(%rbp),%rsi
180107f1d:	8b 46 0c             	mov    0xc(%rsi),%eax
180107f20:	89 44 24 54          	mov    %eax,0x54(%rsp)
180107f24:	48 8b 46 18          	mov    0x18(%rsi),%rax
180107f28:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
180107f2d:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
180107f31:	eb 1a                	jmp    0x180107f4d
180107f33:	8b 47 0c             	mov    0xc(%rdi),%eax
180107f36:	89 44 24 54          	mov    %eax,0x54(%rsp)
180107f3a:	48 8b 47 18          	mov    0x18(%rdi),%rax
180107f3e:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
180107f43:	8b 05 87 da 08 00    	mov    0x8da87(%rip),%eax        # 0x1801959d0
180107f49:	89 44 24 50          	mov    %eax,0x50(%rsp)
180107f4d:	48 8b 05 8c da 08 00 	mov    0x8da8c(%rip),%rax        # 0x1801959e0
180107f54:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
180107f59:	45 33 c0             	xor    %r8d,%r8d
180107f5c:	49 8b d7             	mov    %r15,%rdx
180107f5f:	ff d0                	call   *%rax
180107f61:	0f 1f 00             	nopl   (%rax)
180107f64:	8b d8                	mov    %eax,%ebx
180107f66:	48 85 f6             	test   %rsi,%rsi
180107f69:	74 11                	je     0x180107f7c
180107f6b:	48 8d 45 c7          	lea    -0x39(%rbp),%rax
180107f6f:	48 3b f0             	cmp    %rax,%rsi
180107f72:	74 08                	je     0x180107f7c
180107f74:	48 8b ce             	mov    %rsi,%rcx
180107f77:	e8 c4 fb ff ff       	call   0x180107b40
180107f7c:	85 db                	test   %ebx,%ebx
180107f7e:	0f 88 6b 01 00 00    	js     0x1801080ef
180107f84:	e9 64 01 00 00       	jmp    0x1801080ed
180107f89:	45 8b 77 04          	mov    0x4(%r15),%r14d
180107f8d:	44 0f b6 0d 2d da 08 	movzbl 0x8da2d(%rip),%r9d        # 0x1801959c2
180107f94:	00
180107f95:	44 8b 5c 24 38       	mov    0x38(%rsp),%r11d
180107f9a:	41 8b c9             	mov    %r9d,%ecx
180107f9d:	44 8b 55 97          	mov    -0x69(%rbp),%r10d
180107fa1:	4c 8b 67 18          	mov    0x18(%rdi),%r12
180107fa5:	45 0f af f3          	imul   %r11d,%r14d
180107fa9:	c1 ee 03             	shr    $0x3,%esi
180107fac:	44 0f af d6          	imul   %esi,%r10d
180107fb0:	45 03 37             	add    (%r15),%r14d
180107fb3:	44 0f af f6          	imul   %esi,%r14d
180107fb7:	44 89 55 77          	mov    %r10d,0x77(%rbp)
180107fbb:	4c 03 35 1e da 08 00 	add    0x8da1e(%rip),%r14        # 0x1801959e0
180107fc2:	45 84 c9             	test   %r9b,%r9b
180107fc5:	74 21                	je     0x180107fe8
180107fc7:	2b cb                	sub    %ebx,%ecx
180107fc9:	74 12                	je     0x180107fdd
180107fcb:	2b cb                	sub    %ebx,%ecx
180107fcd:	74 19                	je     0x180107fe8
180107fcf:	3b cb                	cmp    %ebx,%ecx
180107fd1:	74 0a                	je     0x180107fdd
180107fd3:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180107fd8:	e9 12 01 00 00       	jmp    0x1801080ef
180107fdd:	8b 07                	mov    (%rdi),%eax
180107fdf:	8b c8                	mov    %eax,%ecx
180107fe1:	8b 5f 04             	mov    0x4(%rdi),%ebx
180107fe4:	8b d3                	mov    %ebx,%edx
180107fe6:	eb 09                	jmp    0x180107ff1
180107fe8:	8b 57 04             	mov    0x4(%rdi),%edx
180107feb:	8b ca                	mov    %edx,%ecx
180107fed:	8b 1f                	mov    (%rdi),%ebx
180107fef:	8b c3                	mov    %ebx,%eax
180107ff1:	45 8b c3             	mov    %r11d,%r8d
180107ff4:	0f af ce             	imul   %esi,%ecx
180107ff7:	44 0f af c6          	imul   %esi,%r8d
180107ffb:	45 84 c9             	test   %r9b,%r9b
180107ffe:	75 35                	jne    0x180108035
180108000:	85 db                	test   %ebx,%ebx
180108002:	0f 84 e5 00 00 00    	je     0x1801080ed
180108008:	41 8b c0             	mov    %r8d,%eax
18010800b:	44 8b f8             	mov    %eax,%r15d
18010800e:	8b f1                	mov    %ecx,%esi
180108010:	45 8b ea             	mov    %r10d,%r13d
180108013:	4c 8b c6             	mov    %rsi,%r8
180108016:	49 8b d4             	mov    %r12,%rdx
180108019:	49 8b ce             	mov    %r14,%rcx
18010801c:	e8 9f d9 02 00       	call   0x1801359c0
180108021:	4d 03 e5             	add    %r13,%r12
180108024:	4d 03 f7             	add    %r15,%r14
180108027:	83 c3 ff             	add    $0xffffffff,%ebx
18010802a:	75 e7                	jne    0x180108013
18010802c:	4c 8b 7d 6f          	mov    0x6f(%rbp),%r15
180108030:	e9 b8 00 00 00       	jmp    0x1801080ed
180108035:	45 33 f6             	xor    %r14d,%r14d
180108038:	89 55 87             	mov    %edx,-0x79(%rbp)
18010803b:	89 45 8b             	mov    %eax,-0x75(%rbp)
18010803e:	44 89 b5 83 00 00 00 	mov    %r14d,0x83(%rbp)
180108045:	85 c0                	test   %eax,%eax
180108047:	0f 84 a0 00 00 00    	je     0x1801080ed
18010804d:	45 8b e6             	mov    %r14d,%r12d
180108050:	45 33 ed             	xor    %r13d,%r13d
180108053:	45 0f af e2          	imul   %r10d,%r12d
180108057:	44 89 6d 7f          	mov    %r13d,0x7f(%rbp)
18010805b:	4c 03 67 18          	add    0x18(%rdi),%r12
18010805f:	44 39 6f 04          	cmp    %r13d,0x4(%rdi)
180108063:	76 75                	jbe    0x1801080da
180108065:	f2 0f 10 44 24 30    	movsd  0x30(%rsp),%xmm0
18010806b:	8b 45 8f             	mov    -0x71(%rbp),%eax
18010806e:	f2 0f 11 45 a7       	movsd  %xmm0,-0x59(%rbp)
180108073:	f2 0f 10 45 87       	movsd  -0x79(%rbp),%xmm0
180108078:	f2 0f 11 45 b7       	movsd  %xmm0,-0x49(%rbp)
18010807d:	44 89 5d af          	mov    %r11d,-0x51(%rbp)
180108081:	89 45 bf             	mov    %eax,-0x41(%rbp)
180108084:	48 8b 4d 7f          	mov    0x7f(%rbp),%rcx
180108088:	48 8d 45 67          	lea    0x67(%rbp),%rax
18010808c:	4c 8d 4d a7          	lea    -0x59(%rbp),%r9
180108090:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180108095:	4d 8b c7             	mov    %r15,%r8
180108098:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
18010809c:	e8 1b 02 00 00       	call   0x1801082bc
1801080a1:	8b d8                	mov    %eax,%ebx
1801080a3:	85 c0                	test   %eax,%eax
1801080a5:	78 48                	js     0x1801080ef
1801080a7:	8b 4d 67             	mov    0x67(%rbp),%ecx
1801080aa:	49 8b d4             	mov    %r12,%rdx
1801080ad:	0f af ce             	imul   %esi,%ecx
1801080b0:	44 8b c6             	mov    %esi,%r8d
1801080b3:	8b de                	mov    %esi,%ebx
1801080b5:	48 03 0d 24 d9 08 00 	add    0x8d924(%rip),%rcx        # 0x1801959e0
1801080bc:	e8 ff d8 02 00       	call   0x1801359c0
1801080c1:	41 ff c5             	inc    %r13d
1801080c4:	4c 03 e3             	add    %rbx,%r12
1801080c7:	44 89 6d 7f          	mov    %r13d,0x7f(%rbp)
1801080cb:	44 3b 6f 04          	cmp    0x4(%rdi),%r13d
1801080cf:	72 b3                	jb     0x180108084
1801080d1:	44 8b 55 77          	mov    0x77(%rbp),%r10d
1801080d5:	44 8b 5c 24 38       	mov    0x38(%rsp),%r11d