1801079e6:	44 8b e2             	mov    %edx,%r12d
1801079e9:	8b e9                	mov    %ecx,%ebp
1801079eb:	49 89 4b 08          	mov    %rcx,0x8(%r11)
1801079ef:	8b d9                	mov    %ecx,%ebx
1801079f1:	8b 3e                	mov    (%rsi),%edi
1801079f3:	0f af fa             	imul   %edx,%edi
1801079f6:	0f af 7e 04          	imul   0x4(%rsi),%edi
1801079fa:	83 c7 07             	add    $0x7,%edi
1801079fd:	c1 ef 03             	shr    $0x3,%edi
180107a00:	44 8d 77 48          	lea    0x48(%rdi),%r14d
180107a04:	41 81 fe 00 10 00 00 	cmp    $0x1000,%r14d
180107a0b:	72 74                	jb     0x180107a81
180107a0d:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
180107a11:	45 8d be ff 0f 00 00 	lea    0xfff(%r14),%r15d
180107a18:	49 89 4b b0          	mov    %rcx,-0x50(%r11)
180107a1c:	b8 00 f0 ff ff       	mov    $0xfffff000,%eax
180107a21:	4c 23 f8             	and    %rax,%r15
180107a24:	49 89 4b 20          	mov    %rcx,0x20(%r11)
180107a28:	49 8b d7             	mov    %r15,%rdx
180107a2b:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
180107a32:	00
180107a33:	48 c1 ea 0c          	shr    $0xc,%rdx
180107a37:	49 8d 4b 08          	lea    0x8(%r11),%rcx
180107a3b:	45 33 c9             	xor    %r9d,%r9d
180107a3e:	41 b8 0d 00 00 d0    	mov    $0xd000000d,%r8d
180107a44:	e8 a3 fe f8 ff       	call   0x1800978ec
180107a49:	8b d8                	mov    %eax,%ebx
180107a4b:	85 c0                	test   %eax,%eax
180107a4d:	78 32                	js     0x180107a81
180107a4f:	48 8b 94 24 80 00 00 	mov    0x80(%rsp),%rdx
180107a56:	00
180107a57:	48 8d 8c 24 98 00 00 	lea    0x98(%rsp),%rcx
180107a5e:	00
180107a5f:	21 6c 24 20          	and    %ebp,0x20(%rsp)
180107a63:	45 33 c9             	xor    %r9d,%r9d
180107a66:	4d 8b c7             	mov    %r15,%r8
180107a69:	e8 b2 2a f9 ff       	call   0x18009a520
180107a6e:	8b d8                	mov    %eax,%ebx
180107a70:	85 c0                	test   %eax,%eax
180107a72:	79 62                	jns    0x180107ad6
180107a74:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
180107a7b:	00
180107a7c:	e8 db 00 f9 ff       	call   0x180097b5c
180107a81:	41 8b ce             	mov    %r14d,%ecx
180107a84:	e8 c7 23 f9 ff       	call   0x180099e50
180107a89:	48 8b d0             	mov    %rax,%rdx
180107a8c:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
180107a91:	48 85 d2             	test   %rdx,%rdx
180107a94:	0f 44 d8             	cmove  %eax,%ebx
180107a97:	85 db                	test   %ebx,%ebx
180107a99:	78 20                	js     0x180107abb
180107a9b:	8b 4e 04             	mov    0x4(%rsi),%ecx
180107a9e:	48 8d 42 48          	lea    0x48(%rdx),%rax
180107aa2:	89 0a                	mov    %ecx,(%rdx)
180107aa4:	8b 0e                	mov    (%rsi),%ecx
180107aa6:	89 4a 04             	mov    %ecx,0x4(%rdx)
180107aa9:	44 89 62 08          	mov    %r12d,0x8(%rdx)
180107aad:	89 6a 10             	mov    %ebp,0x10(%rdx)
180107ab0:	89 7a 0c             	mov    %edi,0xc(%rdx)
180107ab3:	48 89 42 18          	mov    %rax,0x18(%rdx)
180107ab7:	49 89 55 00          	mov    %rdx,0x0(%r13)
180107abb:	8b c3                	mov    %ebx,%eax
180107abd:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
180107ac4:	00
180107ac5:	48 83 c4 40          	add    $0x40,%rsp
180107ac9:	41 5f                	pop    %r15
180107acb:	41 5e                	pop    %r14
180107acd:	41 5d                	pop    %r13
180107acf:	41 5c                	pop    %r12
180107ad1:	5f                   	pop    %rdi
180107ad2:	5e                   	pop    %rsi
180107ad3:	5d                   	pop    %rbp
180107ad4:	c3                   	ret
180107ad5:	cc                   	int3
180107ad6:	48 8b 94 24 98 00 00 	mov    0x98(%rsp),%rdx
180107add:	00
180107ade:	bd 01 00 00 00       	mov    $0x1,%ebp
180107ae3:	eb b2                	jmp    0x180107a97
180107ae5:	cc                   	int3
180107ae6:	cc                   	int3
180107ae7:	cc                   	int3
180107ae8:	45 8b d9             	mov    %r9d,%r11d
180107aeb:	4d 85 c0             	test   %r8,%r8
180107aee:	75 07                	jne    0x180107af7
180107af0:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180107af5:	c3                   	ret
180107af6:	cc                   	int3
180107af7:	44 8b 49 04          	mov    0x4(%rcx),%r9d
180107afb:	44 8b 11             	mov    (%rcx),%r10d
180107afe:	41 8b ca             	mov    %r10d,%ecx
180107b01:	41 0f af c9          	imul   %r9d,%ecx
180107b05:	0f af ca             	imul   %edx,%ecx
180107b08:	83 c1 07             	add    $0x7,%ecx
180107b0b:	c1 e9 03             	shr    $0x3,%ecx
180107b0e:	8d 41 48             	lea    0x48(%rcx),%eax
180107b11:	41 3b c3             	cmp    %r11d,%eax
180107b14:	76 07                	jbe    0x180107b1d
180107b16:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
180107b1b:	c3                   	ret
180107b1c:	cc                   	int3
180107b1d:	49 8d 40 48          	lea    0x48(%r8),%rax
180107b21:	45 89 08             	mov    %r9d,(%r8)
180107b24:	49 89 40 18          	mov    %rax,0x18(%r8)
180107b28:	33 c0                	xor    %eax,%eax
180107b2a:	45 89 50 04          	mov    %r10d,0x4(%r8)
180107b2e:	41 89 50 08          	mov    %edx,0x8(%r8)
180107b32:	41 c7 40 10 08 00 00 	movl   $0x8,0x10(%r8)
180107b39:	00
180107b3a:	41 89 48 0c          	mov    %ecx,0xc(%r8)
180107b3e:	c3                   	ret
180107b3f:	cc                   	int3
180107b40:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180107b45:	57                   	push   %rdi
180107b46:	48 83 ec 20          	sub    $0x20,%rsp
180107b4a:	33 ff                	xor    %edi,%edi
180107b4c:	48 8b d9             	mov    %rcx,%rbx
180107b4f:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
180107b54:	48 85 c9             	test   %rcx,%rcx
180107b57:	74 49                	je     0x180107ba2
180107b59:	f6 41 10 01          	testb  $0x1,0x10(%rcx)
180107b5d:	74 3e                	je     0x180107b9d
180107b5f:	45 33 c9             	xor    %r9d,%r9d
180107b62:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180107b67:	45 33 c0             	xor    %r8d,%r8d
180107b6a:	e8 1d 5a f9 ff       	call   0x18009d58c
180107b6f:	84 c0                	test   %al,%al
180107b71:	74 2f                	je     0x180107ba2
180107b73:	8b 53 0c             	mov    0xc(%rbx),%edx
180107b76:	45 33 c0             	xor    %r8d,%r8d
180107b79:	48 81 c2 47 10 00 00 	add    $0x1047,%rdx
180107b80:	48 8b cb             	mov    %rbx,%rcx
180107b83:	48 81 e2 00 f0 ff ff 	and    $0xfffffffffffff000,%rdx
180107b8a:	e8 dd 2c f9 ff       	call   0x18009a86c
180107b8f:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
180107b94:	e8 c3 ff f8 ff       	call   0x180097b5c
180107b99:	8b f8                	mov    %eax,%edi
180107b9b:	eb 05                	jmp    0x180107ba2
180107b9d:	e8 5a 24 f9 ff       	call   0x180099ffc
180107ba2:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
180107ba7:	8b c7                	mov    %edi,%eax
180107ba9:	48 83 c4 20          	add    $0x20,%rsp
180107bad:	5f                   	pop    %rdi
180107bae:	c3                   	ret
180107baf:	cc                   	int3
180107bb0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
180107bb5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180107bba:	53                   	push   %rbx
180107bbb:	55                   	push   %rbp
180107bbc:	56                   	push   %rsi
180107bbd:	41 54                	push   %r12
180107bbf:	41 55                	push   %r13
180107bc1:	41 56                	push   %r14
180107bc3:	41 57                	push   %r15
180107bc5:	48 83 ec 50          	sub    $0x50,%rsp
180107bc9:	45 8b f1             	mov    %r9d,%r14d
180107bcc:	4d 8b e0             	mov    %r8,%r12
180107bcf:	41 80 e6 01          	and    $0x1,%r14b
180107bd3:	8b ea                	mov    %edx,%ebp
180107bd5:	44 89 b4 24 a8 00 00 	mov    %r14d,0xa8(%rsp)
180107bdc:	00
180107bdd:	48 8b f1             	mov    %rcx,%rsi
180107be0:	74 33                	je     0x180107c15
180107be2:	3b 51 08             	cmp    0x8(%rcx),%edx
180107be5:	76 0a                	jbe    0x180107bf1
180107be7:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180107bec:	e9 f3 01 00 00       	jmp    0x180107de4
180107bf1:	8b 01                	mov    (%rcx),%eax
180107bf3:	49 8b 18             	mov    (%r8),%rbx
180107bf6:	89 03                	mov    %eax,(%rbx)
180107bf8:	8b 41 04             	mov    0x4(%rcx),%eax
180107bfb:	89 43 04             	mov    %eax,0x4(%rbx)
180107bfe:	89 6b 08             	mov    %ebp,0x8(%rbx)
180107c01:	83 63 10 00          	andl   $0x0,0x10(%rbx)
180107c05:	8b 41 0c             	mov    0xc(%rcx),%eax
180107c08:	89 43 0c             	mov    %eax,0xc(%rbx)
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