1800447e1:	85 c0                	test   %eax,%eax
1800447e3:	74 51                	je     0x180044836
1800447e5:	48 8b 75 0f          	mov    0xf(%rbp),%rsi
1800447e9:	8b f8                	mov    %eax,%edi
1800447eb:	48 8d 45 ff          	lea    -0x1(%rbp),%rax
1800447ef:	44 0f a3 28          	bt     %r13d,(%rax)
1800447f3:	73 32                	jae    0x180044827
1800447f5:	48 8b 43 10          	mov    0x10(%rbx),%rax
1800447f9:	41 8b d7             	mov    %r15d,%edx
1800447fc:	41 0f af d6          	imul   %r14d,%edx
180044800:	8b cf                	mov    %edi,%ecx
180044802:	41 0f af cb          	imul   %r11d,%ecx
180044806:	41 03 d4             	add    %r12d,%edx
180044809:	41 03 cd             	add    %r13d,%ecx
18004480c:	44 8b 04 96          	mov    (%rsi,%rdx,4),%r8d
180044810:	8b 14 88             	mov    (%rax,%rcx,4),%edx
180044813:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
180044817:	e8 44 f6 ff ff       	call   0x180043e60
18004481c:	8b 55 67             	mov    0x67(%rbp),%edx
18004481f:	33 d0                	xor    %eax,%edx
180044821:	89 55 67             	mov    %edx,0x67(%rbp)
180044824:	41 ff c6             	inc    %r14d
180044827:	41 ff c5             	inc    %r13d
18004482a:	44 3b ef             	cmp    %edi,%r13d
18004482d:	72 bc                	jb     0x1800447eb
18004482f:	48 8b 75 f7          	mov    -0x9(%rbp),%rsi
180044833:	8b 7d 07             	mov    0x7(%rbp),%edi
180044836:	42 8d 04 27          	lea    (%rdi,%r12,1),%eax
18004483a:	41 ff c4             	inc    %r12d
18004483d:	89 14 86             	mov    %edx,(%rsi,%rax,4)
180044840:	45 3b e7             	cmp    %r15d,%r12d
180044843:	72 8e                	jb     0x1800447d3
180044845:	41 ff c3             	inc    %r11d
180044848:	44 3b 5b 08          	cmp    0x8(%rbx),%r11d
18004484c:	0f 82 6e ff ff ff    	jb     0x1800447c0
180044852:	8b 7d df             	mov    -0x21(%rbp),%edi
180044855:	44 8b 75 b7          	mov    -0x49(%rbp),%r14d
180044859:	4c 8b 6d 0f          	mov    0xf(%rbp),%r13
18004485d:	44 8b 65 ef          	mov    -0x11(%rbp),%r12d
180044861:	44 89 65 c7          	mov    %r12d,-0x39(%rbp)
180044865:	48 89 75 cf          	mov    %rsi,-0x31(%rbp)
180044869:	eb 08                	jmp    0x180044873
18004486b:	48 8b 75 cf          	mov    -0x31(%rbp),%rsi
18004486f:	4c 8b 6d f7          	mov    -0x9(%rbp),%r13
180044873:	4d 85 ed             	test   %r13,%r13
180044876:	74 08                	je     0x180044880
180044878:	49 8b cd             	mov    %r13,%rcx
18004487b:	e8 dc 20 00 00       	call   0x18004695c
180044880:	45 33 ed             	xor    %r13d,%r13d
180044883:	85 ff                	test   %edi,%edi
180044885:	0f 88 1e 01 00 00    	js     0x1800449a9
18004488b:	8b 4b 08             	mov    0x8(%rbx),%ecx
18004488e:	41 8d 45 01          	lea    0x1(%r13),%eax
180044892:	d3 e0                	shl    %cl,%eax
180044894:	8b 4b 0c             	mov    0xc(%rbx),%ecx
180044897:	ff c8                	dec    %eax
180044899:	d3 e0                	shl    %cl,%eax
18004489b:	44 0b f0             	or     %eax,%r14d
18004489e:	eb 04                	jmp    0x1800448a4
1800448a0:	48 8b 75 cf          	mov    -0x31(%rbp),%rsi
1800448a4:	8b 45 6f             	mov    0x6f(%rbp),%eax
1800448a7:	33 db                	xor    %ebx,%ebx
1800448a9:	48 83 65 e7 00       	andq   $0x0,-0x19(%rbp)
1800448ae:	83 65 ef 00          	andl   $0x0,-0x11(%rbp)
1800448b2:	83 65 f3 00          	andl   $0x0,-0xd(%rbp)
1800448b6:	48 83 65 f7 00       	andq   $0x0,-0x9(%rbp)
1800448bb:	89 45 df             	mov    %eax,-0x21(%rbp)
1800448be:	85 c0                	test   %eax,%eax
1800448c0:	74 0b                	je     0x1800448cd
1800448c2:	8b c8                	mov    %eax,%ecx
1800448c4:	8d 41 ff             	lea    -0x1(%rcx),%eax
1800448c7:	ff c3                	inc    %ebx
1800448c9:	23 c8                	and    %eax,%ecx
1800448cb:	75 f7                	jne    0x1800448c4
1800448cd:	48 8b 55 bf          	mov    -0x41(%rbp),%rdx
1800448d1:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
1800448d5:	45 8b cf             	mov    %r15d,%r9d
1800448d8:	44 8b c3             	mov    %ebx,%r8d
1800448db:	e8 f8 f5 ff ff       	call   0x180043ed8
1800448e0:	8b f8                	mov    %eax,%edi
1800448e2:	85 c0                	test   %eax,%eax
1800448e4:	0f 88 91 00 00 00    	js     0x18004497b
1800448ea:	45 33 c9             	xor    %r9d,%r9d
1800448ed:	45 85 e4             	test   %r12d,%r12d
1800448f0:	74 79                	je     0x18004496b
1800448f2:	45 33 db             	xor    %r11d,%r11d
1800448f5:	83 65 67 00          	andl   $0x0,0x67(%rbp)
1800448f9:	41 8b ce             	mov    %r14d,%ecx
1800448fc:	45 85 c9             	test   %r9d,%r9d
1800448ff:	74 12                	je     0x180044913
180044901:	49 8b d3             	mov    %r11,%rdx
180044904:	44 89 5d 67          	mov    %r11d,0x67(%rbp)
180044908:	8d 41 ff             	lea    -0x1(%rcx),%eax
18004490b:	23 c8                	and    %eax,%ecx
18004490d:	48 83 ea 01          	sub    $0x1,%rdx
180044911:	75 f5                	jne    0x180044908
180044913:	0f bc c1             	bsf    %ecx,%eax
180044916:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
18004491a:	0f a3 01             	bt     %eax,(%rcx)
18004491d:	73 41                	jae    0x180044960
18004491f:	45 85 ff             	test   %r15d,%r15d
180044922:	74 39                	je     0x18004495d
180044924:	44 8b 45 f3          	mov    -0xd(%rbp),%r8d
180044928:	45 8b d7             	mov    %r15d,%r10d
18004492b:	4c 8b 65 f7          	mov    -0x9(%rbp),%r12
18004492f:	45 0f af c5          	imul   %r13d,%r8d
180044933:	45 0f af d1          	imul   %r9d,%r10d
180044937:	41 8b c7             	mov    %r15d,%eax
18004493a:	48 89 45 67          	mov    %rax,0x67(%rbp)
18004493e:	45 2b d0             	sub    %r8d,%r10d
180044941:	43 8d 04 02          	lea    (%r10,%r8,1),%eax
180044945:	8b 04 86             	mov    (%rsi,%rax,4),%eax
180044948:	43 89 04 84          	mov    %eax,(%r12,%r8,4)
18004494c:	41 ff c0             	inc    %r8d
18004494f:	49 83 ef 01          	sub    $0x1,%r15
180044953:	75 ec                	jne    0x180044941
180044955:	44 8b 7d cb          	mov    -0x35(%rbp),%r15d
180044959:	44 8b 65 c7          	mov    -0x39(%rbp),%r12d
18004495d:	41 ff c5             	inc    %r13d
180044960:	41 ff c1             	inc    %r9d
180044963:	49 ff c3             	inc    %r11
180044966:	45 3b cc             	cmp    %r12d,%r9d
180044969:	72 8a                	jb     0x1800448f5
18004496b:	48 8b ce             	mov    %rsi,%rcx
18004496e:	89 5d c7             	mov    %ebx,-0x39(%rbp)
180044971:	48 8b 75 f7          	mov    -0x9(%rbp),%rsi
180044975:	48 89 75 cf          	mov    %rsi,-0x31(%rbp)
180044979:	eb 04                	jmp    0x18004497f
18004497b:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
18004497f:	48 85 c9             	test   %rcx,%rcx
180044982:	74 05                	je     0x180044989
180044984:	e8 d3 1f 00 00       	call   0x18004695c
180044989:	85 ff                	test   %edi,%edi
18004498b:	78 1c                	js     0x1800449a9
18004498d:	4c 8b 4d 7f          	mov    0x7f(%rbp),%r9
180044991:	48 8d 4d bf          	lea    -0x41(%rbp),%rcx
180044995:	44 8b 45 77          	mov    0x77(%rbp),%r8d
180044999:	8b 55 6f             	mov    0x6f(%rbp),%edx
18004499c:	e8 2f 00 00 00       	call   0x1800449d0
1800449a1:	8b f8                	mov    %eax,%edi
1800449a3:	eb 04                	jmp    0x1800449a9
1800449a5:	48 8b 75 cf          	mov    -0x31(%rbp),%rsi
1800449a9:	48 85 f6             	test   %rsi,%rsi
1800449ac:	74 08                	je     0x1800449b6
1800449ae:	48 8b ce             	mov    %rsi,%rcx
1800449b1:	e8 a6 1f 00 00       	call   0x18004695c
1800449b6:	8b c7                	mov    %edi,%eax
1800449b8:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
1800449bf:	41 5f                	pop    %r15
1800449c1:	41 5e                	pop    %r14
1800449c3:	41 5d                	pop    %r13
1800449c5:	41 5c                	pop    %r12
1800449c7:	5f                   	pop    %rdi
1800449c8:	5e                   	pop    %rsi
1800449c9:	5b                   	pop    %rbx
1800449ca:	5d                   	pop    %rbp
1800449cb:	c3                   	ret
1800449cc:	cc                   	int3
1800449cd:	cc                   	int3
1800449ce:	cc                   	int3
1800449cf:	cc                   	int3
1800449d0:	48 8b c4             	mov    %rsp,%rax
1800449d3:	4c 89 48 20          	mov    %r9,0x20(%rax)
1800449d7:	44 89 40 18          	mov    %r8d,0x18(%rax)
1800449db:	89 50 10             	mov    %edx,0x10(%rax)
1800449de:	48 89 48 08          	mov    %rcx,0x8(%rax)
1800449e2:	53                   	push   %rbx
1800449e3:	55                   	push   %rbp
1800449e4:	56                   	push   %rsi
1800449e5:	57                   	push   %rdi
1800449e6:	41 54                	push   %r12
1800449e8:	41 55                	push   %r13
1800449ea:	41 56                	push   %r14
1800449ec:	41 57                	push   %r15
1800449ee:	48 83 ec 38          	sub    $0x38,%rsp
1800449f2:	48 8b 01             	mov    (%rcx),%rax
1800449f5:	33 db                	xor    %ebx,%ebx
1800449f7:	4d 8b e9             	mov    %r9,%r13
1800449fa:	45 8b f0             	mov    %r8d,%r14d
1800449fd:	8b ea                	mov    %edx,%ebp
1800449ff:	48 8b f9             	mov    %rcx,%rdi
180044a02:	8b f3                	mov    %ebx,%esi
180044a04:	44 8b d3             	mov    %ebx,%r10d
180044a07:	44 8b 20             	mov    (%rax),%r12d
180044a0a:	49 89 19             	mov    %rbx,(%r9)
180044a0d:	44 8b 79 08          	mov    0x8(%rcx),%r15d
180044a11:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
180044a16:	45 85 ff             	test   %r15d,%r15d
180044a19:	0f 84 88 00 00 00    	je     0x180044aa7
180044a1f:	44 8b 49 0c          	mov    0xc(%rcx),%r9d
180044a23:	44 8b c3             	mov    %ebx,%r8d
180044a26:	45 85 c9             	test   %r9d,%r9d
180044a29:	74 58                	je     0x180044a83
180044a2b:	4c 8b 6f 10          	mov    0x10(%rdi),%r13
180044a2f:	45 8b f1             	mov    %r9d,%r14d
180044a32:	4c 8b 27             	mov    (%rdi),%r12
180044a35:	45 0f af f2          	imul   %r10d,%r14d
180044a39:	43 8d 04 06          	lea    (%r14,%r8,1),%eax
180044a3d:	8b eb                	mov    %ebx,%ebp
180044a3f:	41 8b 44 85 00       	mov    0x0(%r13,%rax,4),%eax
180044a44:	85 c0                	test   %eax,%eax
180044a46:	74 31                	je     0x180044a79
180044a48:	45 8b 1c 24          	mov    (%r12),%r11d
180044a4c:	8b c8                	mov    %eax,%ecx
180044a4e:	49 8b 44 24 08       	mov    0x8(%r12),%rax
180044a53:	8b 0c 88             	mov    (%rax,%rcx,4),%ecx
180044a56:	41 0f af cb          	imul   %r11d,%ecx
180044a5a:	45 0f af db          	imul   %r11d,%r11d
180044a5e:	49 03 4c 24 18       	add    0x18(%r12),%rcx
180044a63:	45 85 db             	test   %r11d,%r11d
180044a66:	74 11                	je     0x180044a79
180044a68:	41 8b d3             	mov    %r11d,%edx
180044a6b:	0f b6 01             	movzbl (%rcx),%eax
180044a6e:	48 ff c1             	inc    %rcx
180044a71:	03 e8                	add    %eax,%ebp
180044a73:	48 83 ea 01          	sub    $0x1,%rdx
180044a77:	75 f2                	jne    0x180044a6b
180044a79:	03 f5                	add    %ebp,%esi
180044a7b:	41 ff c0             	inc    %r8d
180044a7e:	45 3b c1             	cmp    %r9d,%r8d
180044a81:	72 b6                	jb     0x180044a39
180044a83:	41 ff c2             	inc    %r10d
180044a86:	45 3b d7             	cmp    %r15d,%r10d
180044a89:	72 98                	jb     0x180044a23
180044a8b:	44 8b 64 24 20       	mov    0x20(%rsp),%r12d
180044a90:	4c 8b ac 24 98 00 00 	mov    0x98(%rsp),%r13
180044a97:	00
180044a98:	8b ac 24 88 00 00 00 	mov    0x88(%rsp),%ebp
180044a9f:	44 8b b4 24 90 00 00 	mov    0x90(%rsp),%r14d
180044aa6:	00
180044aa7:	8b ce                	mov    %esi,%ecx
180044aa9:	c1 e1 02             	shl    $0x2,%ecx
180044aac:	48 83 c1 20          	add    $0x20,%rcx
180044ab0:	e8 5f 1e 00 00       	call   0x180046914
180044ab5:	4c 8b c8             	mov    %rax,%r9
180044ab8:	48 85 c0             	test   %rax,%rax
180044abb:	75 0a                	jne    0x180044ac7
180044abd:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180044ac2:	e9 0e 01 00 00       	jmp    0x180044bd5
180044ac7:	44 89 70 14          	mov    %r14d,0x14(%rax)
180044acb:	44 8b db             	mov    %ebx,%r11d
180044ace:	45 8b f4             	mov    %r12d,%r14d
180044ad1:	4c 89 48 08          	mov    %r9,0x8(%rax)
180044ad5:	45 0f af f4          	imul   %r12d,%r14d
180044ad9:	4c 89 08             	mov    %r9,(%rax)
180044adc:	89 68 10             	mov    %ebp,0x10(%rax)
180044adf:	89 70 18             	mov    %esi,0x18(%rax)
180044ae2:	39 5f 08             	cmp    %ebx,0x8(%rdi)
180044ae5:	0f 86 e6 00 00 00    	jbe    0x180044bd1
180044aeb:	44 8b eb             	mov    %ebx,%r13d
180044aee:	44 8b 57 0c          	mov    0xc(%rdi),%r10d
180044af2:	8b f3                	mov    %ebx,%esi
180044af4:	45 85 d2             	test   %r10d,%r10d
180044af7:	0f 84 bf 00 00 00    	je     0x180044bbc
180044afd:	48 8b 47 10          	mov    0x10(%rdi),%rax
180044b01:	41 8b ca             	mov    %r10d,%ecx
180044b04:	41 0f af cb          	imul   %r11d,%ecx
180044b08:	03 ce                	add    %esi,%ecx
180044b0a:	8b 14 88             	mov    (%rax,%rcx,4),%edx
180044b0d:	41 8b c2             	mov    %r10d,%eax
180044b10:	85 d2                	test   %edx,%edx
180044b12:	0f 84 97 00 00 00    	je     0x180044baf
180044b18:	4c 8b 07             	mov    (%rdi),%r8
180044b1b:	49 8b 40 08          	mov    0x8(%r8),%rax
180044b1f:	8b 2c 90             	mov    (%rax,%rdx,4),%ebp
180044b22:	41 8b c2             	mov    %r10d,%eax
180044b25:	41 0f af 28          	imul   (%r8),%ebp
180044b29:	49 03 68 18          	add    0x18(%r8),%rbp
180044b2d:	44 8b c3             	mov    %ebx,%r8d
180044b30:	45 85 f6             	test   %r14d,%r14d
180044b33:	74 7a                	je     0x180044baf
180044b35:	8b bc 24 88 00 00 00 	mov    0x88(%rsp),%edi
180044b3c:	38 5d 00             	cmp    %bl,0x0(%rbp)
180044b3f:	74 58                	je     0x180044b99
180044b41:	45 8b d5             	mov    %r13d,%r10d
180044b44:	8b cf                	mov    %edi,%ecx
180044b46:	45 85 db             	test   %r11d,%r11d
180044b49:	74 0e                	je     0x180044b59
180044b4b:	41 8b d3             	mov    %r11d,%edx
180044b4e:	8d 41 ff             	lea    -0x1(%rcx),%eax
180044b51:	23 c8                	and    %eax,%ecx
180044b53:	48 83 ea 01          	sub    $0x1,%rdx
180044b57:	75 f5                	jne    0x180044b4e
180044b59:	0f bc c1             	bsf    %ecx,%eax
180044b5c:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
180044b63:	33 d2                	xor    %edx,%edx
180044b65:	43 88 44 91 1c       	mov    %al,0x1c(%r9,%r10,4)
180044b6a:	41 8b c0             	mov    %r8d,%eax
180044b6d:	41 f7 f4             	div    %r12d
180044b70:	43 88 54 91 1d       	mov    %dl,0x1d(%r9,%r10,4)
180044b75:	44 8b f8             	mov    %eax,%r15d
180044b78:	85 f6                	test   %esi,%esi
180044b7a:	74 0d                	je     0x180044b89
180044b7c:	8b d6                	mov    %esi,%edx
180044b7e:	8d 41 ff             	lea    -0x1(%rcx),%eax
180044b81:	23 c8                	and    %eax,%ecx
180044b83:	48 83 ea 01          	sub    $0x1,%rdx
180044b87:	75 f5                	jne    0x180044b7e
180044b89:	0f bc c1             	bsf    %ecx,%eax
180044b8c:	47 88 7c 91 1f       	mov    %r15b,0x1f(%r9,%r10,4)
180044b91:	41 ff c5             	inc    %r13d
180044b94:	43 88 44 91 1e       	mov    %al,0x1e(%r9,%r10,4)
180044b99:	41 ff c0             	inc    %r8d
180044b9c:	48 ff c5             	inc    %rbp
180044b9f:	45 3b c6             	cmp    %r14d,%r8d
180044ba2:	72 98                	jb     0x180044b3c
180044ba4:	48 8b bc 24 80 00 00 	mov    0x80(%rsp),%rdi
180044bab:	00
180044bac:	8b 47 0c             	mov    0xc(%rdi),%eax
180044baf:	ff c6                	inc    %esi
180044bb1:	44 8b d0             	mov    %eax,%r10d
180044bb4:	3b f0                	cmp    %eax,%esi
180044bb6:	0f 82 41 ff ff ff    	jb     0x180044afd
180044bbc:	41 ff c3             	inc    %r11d
180044bbf:	44 3b 5f 08          	cmp    0x8(%rdi),%r11d
180044bc3:	0f 82 25 ff ff ff    	jb     0x180044aee
180044bc9:	4c 8b ac 24 98 00 00 	mov    0x98(%rsp),%r13
180044bd0:	00
180044bd1:	4d 89 4d 00          	mov    %r9,0x0(%r13)
180044bd5:	8b c3                	mov    %ebx,%eax
180044bd7:	48 83 c4 38          	add    $0x38,%rsp
180044bdb:	41 5f                	pop    %r15
180044bdd:	41 5e                	pop    %r14
180044bdf:	41 5d                	pop    %r13
180044be1:	41 5c                	pop    %r12
180044be3:	5f                   	pop    %rdi
180044be4:	5e                   	pop    %rsi
180044be5:	5d                   	pop    %rbp
180044be6:	5b                   	pop    %rbx
180044be7:	c3                   	ret
180044be8:	cc                   	int3
180044be9:	cc                   	int3
180044bea:	cc                   	int3
180044beb:	cc                   	int3
180044bec:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180044bf1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180044bf6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180044bfb:	57                   	push   %rdi
180044bfc:	41 56                	push   %r14
180044bfe:	41 57                	push   %r15
180044c00:	48 83 ec 20          	sub    $0x20,%rsp
180044c04:	8b 74 24 60          	mov    0x60(%rsp),%esi
180044c08:	45 8b f9             	mov    %r9d,%r15d
180044c0b:	41 8b e8             	mov    %r8d,%ebp
180044c0e:	44 8b f2             	mov    %edx,%r14d
180044c11:	48 8b d9             	mov    %rcx,%rbx
180044c14:	85 f6                	test   %esi,%esi
180044c16:	75 07                	jne    0x180044c1f
180044c18:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180044c1d:	eb 6d                	jmp    0x180044c8c