180048c14:	8a c3                	mov    %bl,%al
180048c16:	eb 02                	jmp    0x180048c1a
180048c18:	b0 01                	mov    $0x1,%al
180048c1a:	84 c0                	test   %al,%al
180048c1c:	75 1e                	jne    0x180048c3c
180048c1e:	44 8b 6c 24 20       	mov    0x20(%rsp),%r13d
180048c23:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
180048c28:	46 89 34 a9          	mov    %r14d,(%rcx,%r13,4)
180048c2c:	41 ff c5             	inc    %r13d
180048c2f:	8b b7 90 00 00 00    	mov    0x90(%rdi),%esi
180048c35:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
180048c3a:	eb 05                	jmp    0x180048c41
180048c3c:	44 8b 6c 24 20       	mov    0x20(%rsp),%r13d
180048c41:	41 ff c7             	inc    %r15d
180048c44:	8b ee                	mov    %esi,%ebp
180048c46:	44 3b fe             	cmp    %esi,%r15d
180048c49:	0f 82 39 ff ff ff    	jb     0x180048b88
180048c4f:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
180048c54:	8b 74 24 24          	mov    0x24(%rsp),%esi
180048c58:	48 ff c1             	inc    %rcx
180048c5b:	41 ff c4             	inc    %r12d
180048c5e:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
180048c63:	44 3b e6             	cmp    %esi,%r12d
180048c66:	0f 82 fa fe ff ff    	jb     0x180048b66
180048c6c:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
180048c71:	4c 8b bc 24 a0 00 00 	mov    0xa0(%rsp),%r15
180048c78:	00
180048c79:	38 9c 24 90 00 00 00 	cmp    %bl,0x90(%rsp)
180048c80:	75 11                	jne    0x180048c93
180048c82:	48 8b 8f b0 00 00 00 	mov    0xb0(%rdi),%rcx
180048c89:	0f ba 31 00          	btrl   $0x0,(%rcx)
180048c8d:	ff 8f a4 00 00 00    	decl   0xa4(%rdi)
180048c93:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
180048c9a:	00
180048c9b:	45 89 2f             	mov    %r13d,(%r15)
180048c9e:	48 89 01             	mov    %rax,(%rcx)
180048ca1:	8b c3                	mov    %ebx,%eax
180048ca3:	48 83 c4 48          	add    $0x48,%rsp
180048ca7:	41 5f                	pop    %r15
180048ca9:	41 5e                	pop    %r14
180048cab:	41 5d                	pop    %r13
180048cad:	41 5c                	pop    %r12
180048caf:	5f                   	pop    %rdi
180048cb0:	5e                   	pop    %rsi
180048cb1:	5d                   	pop    %rbp
180048cb2:	5b                   	pop    %rbx
180048cb3:	c3                   	ret
180048cb4:	cc                   	int3
180048cb5:	cc                   	int3
180048cb6:	cc                   	int3
180048cb7:	cc                   	int3
180048cb8:	48 8b 41 38          	mov    0x38(%rcx),%rax
180048cbc:	c3                   	ret
180048cbd:	cc                   	int3
180048cbe:	cc                   	int3
180048cbf:	cc                   	int3
180048cc0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180048cc5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180048cca:	55                   	push   %rbp
180048ccb:	56                   	push   %rsi
180048ccc:	57                   	push   %rdi
180048ccd:	41 54                	push   %r12
180048ccf:	41 55                	push   %r13
180048cd1:	41 56                	push   %r14
180048cd3:	41 57                	push   %r15
180048cd5:	48 8b ec             	mov    %rsp,%rbp
180048cd8:	48 83 ec 60          	sub    $0x60,%rsp
180048cdc:	83 4d ec ff          	orl    $0xffffffff,-0x14(%rbp)
180048ce0:	4c 8b d2             	mov    %rdx,%r10
180048ce3:	33 d2                	xor    %edx,%edx
180048ce5:	4c 8b f9             	mov    %rcx,%r15
180048ce8:	8b 49 1c             	mov    0x1c(%rcx),%ecx
180048ceb:	49 8b c1             	mov    %r9,%rax
180048cee:	48 f7 f1             	div    %rcx
180048cf1:	45 33 db             	xor    %r11d,%r11d
180048cf4:	44 89 5d e8          	mov    %r11d,-0x18(%rbp)
180048cf8:	41 8b f3             	mov    %r11d,%esi
180048cfb:	4c 89 5d f0          	mov    %r11,-0x10(%rbp)
180048cff:	4c 8b e0             	mov    %rax,%r12
180048d02:	44 89 5d d4          	mov    %r11d,-0x2c(%rbp)
180048d06:	66 44 89 5d d8       	mov    %r11w,-0x28(%rbp)
180048d0b:	48 85 d2             	test   %rdx,%rdx
180048d0e:	0f 85 1b 03 00 00    	jne    0x18004902f
180048d14:	41 8b c0             	mov    %r8d,%eax
180048d17:	f7 f1                	div    %ecx
180048d19:	89 45 d0             	mov    %eax,-0x30(%rbp)
180048d1c:	44 8b c0             	mov    %eax,%r8d
180048d1f:	85 d2                	test   %edx,%edx
180048d21:	0f 85 08 03 00 00    	jne    0x18004902f
180048d27:	83 f9 18             	cmp    $0x18,%ecx
180048d2a:	0f 86 ff 02 00 00    	jbe    0x18004902f
180048d30:	41 0f b7 47 1c       	movzwl 0x1c(%r15),%eax
180048d35:	8d 4a 10             	lea    0x10(%rdx),%ecx
180048d38:	66 2b c1             	sub    %cx,%ax
180048d3b:	66 89 45 40          	mov    %ax,0x40(%rbp)
180048d3f:	45 85 c0             	test   %r8d,%r8d
180048d42:	0f 84 ec 02 00 00    	je     0x180049034
180048d48:	41 8b c4             	mov    %r12d,%eax
180048d4b:	41 be 16 00 e7 c0    	mov    $0xc0e70016,%r14d
180048d51:	f7 d8                	neg    %eax
180048d53:	89 45 58             	mov    %eax,0x58(%rbp)
180048d56:	45 8d 2c 04          	lea    (%r12,%rax,1),%r13d
180048d5a:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
180048d5e:	45 0f af 6f 1c       	imul   0x1c(%r15),%r13d
180048d63:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
180048d67:	ba 05 00 00 00       	mov    $0x5,%edx
180048d6c:	48 8d 0d fd 5c 10 00 	lea    0x105cfd(%rip),%rcx        # 0x18014ea70
180048d73:	41 8b f3             	mov    %r11d,%esi
180048d76:	4d 03 ea             	add    %r10,%r13
180048d79:	4d 8b cd             	mov    %r13,%r9
180048d7c:	e8 8b 6d 00 00       	call   0x18004fb0c
180048d81:	45 33 db             	xor    %r11d,%r11d
180048d84:	85 c0                	test   %eax,%eax
180048d86:	0f 84 9e 02 00 00    	je     0x18004902a
180048d8c:	81 7d e8 42 42 44 53 	cmpl   $0x53444242,-0x18(%rbp)
180048d93:	0f 85 91 02 00 00    	jne    0x18004902a
180048d99:	8b 5d f0             	mov    -0x10(%rbp),%ebx
180048d9c:	0f b7 7d f4          	movzwl -0xc(%rbp),%edi
180048da0:	85 db                	test   %ebx,%ebx
180048da2:	74 0e                	je     0x180048db2
180048da4:	3b 5d ec             	cmp    -0x14(%rbp),%ebx
180048da7:	77 06                	ja     0x180048daf
180048da9:	66 3b 7d f6          	cmp    -0xa(%rbp),%di
180048dad:	72 03                	jb     0x180048db2
180048daf:	41 8b f6             	mov    %r14d,%esi
180048db2:	85 f6                	test   %esi,%esi
180048db4:	0f 88 7a 02 00 00    	js     0x180049034
180048dba:	b9 10 00 00 00       	mov    $0x10,%ecx
180048dbf:	4c 03 e9             	add    %rcx,%r13
180048dc2:	44 39 65 ec          	cmp    %r12d,-0x14(%rbp)
180048dc6:	0f 85 5e 02 00 00    	jne    0x18004902a
180048dcc:	85 db                	test   %ebx,%ebx
180048dce:	0f 84 30 02 00 00    	je     0x180049004
180048dd4:	41 8b d4             	mov    %r12d,%edx
180048dd7:	49 8b cf             	mov    %r15,%rcx
180048dda:	e8 79 f3 ff ff       	call   0x180048158
180048ddf:	48 85 c0             	test   %rax,%rax
180048de2:	0f 84 3b 02 00 00    	je     0x180049023
180048de8:	83 48 04 ff          	orl    $0xffffffff,0x4(%rax)
180048dec:	49 8d 8f c8 00 00 00 	lea    0xc8(%r15),%rcx
180048df3:	48 8b d3             	mov    %rbx,%rdx
180048df6:	89 18                	mov    %ebx,(%rax)
180048df8:	e8 df aa ff ff       	call   0x1800438dc
180048dfd:	45 33 db             	xor    %r11d,%r11d
180048e00:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
180048e04:	48 8b d8             	mov    %rax,%rbx
180048e07:	66 85 ff             	test   %di,%di
180048e0a:	0f 85 29 01 00 00    	jne    0x180048f39
180048e10:	48 85 c0             	test   %rax,%rax
180048e13:	0f 85 11 02 00 00    	jne    0x18004902a
180048e19:	8d 58 08             	lea    0x8(%rax),%ebx
180048e1c:	4d 8b cd             	mov    %r13,%r9
180048e1f:	4c 8d 45 d4          	lea    -0x2c(%rbp),%r8
180048e23:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
180048e27:	8d 50 05             	lea    0x5(%rax),%edx
180048e2a:	41 8b f3             	mov    %r11d,%esi
180048e2d:	48 8d 0d 7c 5c 10 00 	lea    0x105c7c(%rip),%rcx        # 0x18014eab0
180048e34:	e8 d3 6c 00 00       	call   0x18004fb0c
180048e39:	45 33 db             	xor    %r11d,%r11d
180048e3c:	85 c0                	test   %eax,%eax
180048e3e:	41 0f 44 f6          	cmove  %r14d,%esi
180048e42:	85 f6                	test   %esi,%esi
180048e44:	0f 88 ea 01 00 00    	js     0x180049034
180048e4a:	41 0f b7 47 1c       	movzwl 0x1c(%r15),%eax
180048e4f:	4c 03 eb             	add    %rbx,%r13
180048e52:	66 83 e8 10          	sub    $0x10,%ax
180048e56:	44 0f b7 c0          	movzwl %ax,%r8d
180048e5a:	0f b7 45 d8          	movzwl -0x28(%rbp),%eax
180048e5e:	66 03 c3             	add    %bx,%ax
180048e61:	0f b7 c8             	movzwl %ax,%ecx
180048e64:	ff c9                	dec    %ecx
180048e66:	41 03 c8             	add    %r8d,%ecx
180048e69:	8b c1                	mov    %ecx,%eax
180048e6b:	99                   	cltd
180048e6c:	41 f7 f8             	idiv   %r8d
180048e6f:	2b ca                	sub    %edx,%ecx
180048e71:	8b c1                	mov    %ecx,%eax
180048e73:	99                   	cltd
180048e74:	41 f7 f8             	idiv   %r8d
180048e77:	66 3b 45 f6          	cmp    -0xa(%rbp),%ax
180048e7b:	0f 85 a9 01 00 00    	jne    0x18004902a
180048e81:	0f b7 4d d6          	movzwl -0x2a(%rbp),%ecx
180048e85:	8a c1                	mov    %cl,%al
180048e87:	66 83 e1 01          	and    $0x1,%cx
180048e8b:	74 08                	je     0x180048e95
180048e8d:	a8 02                	test   $0x2,%al
180048e8f:	0f 85 95 01 00 00    	jne    0x18004902a
180048e95:	a8 02                	test   $0x2,%al
180048e97:	74 1e                	je     0x180048eb7
180048e99:	41 0f b7 47 28       	movzwl 0x28(%r15),%eax
180048e9e:	66 85 c0             	test   %ax,%ax
180048ea1:	74 14                	je     0x180048eb7
180048ea3:	66 83 f8 02          	cmp    $0x2,%ax
180048ea7:	0f 86 52 01 00 00    	jbe    0x180048fff
180048ead:	66 83 f8 04          	cmp    $0x4,%ax
180048eb1:	0f 84 48 01 00 00    	je     0x180048fff
180048eb7:	bf 03 00 00 00       	mov    $0x3,%edi
180048ebc:	66 85 c9             	test   %cx,%cx
180048ebf:	74 0b                	je     0x180048ecc
180048ec1:	66 41 39 7f 28       	cmp    %di,0x28(%r15)
180048ec6:	0f 84 33 01 00 00    	je     0x180048fff
180048ecc:	4c 8d 4d e0          	lea    -0x20(%rbp),%r9
180048ed0:	41 8b d4             	mov    %r12d,%edx
180048ed3:	4c 8d 45 d4          	lea    -0x2c(%rbp),%r8
180048ed7:	49 8b cf             	mov    %r15,%rcx
180048eda:	e8 51 fa ff ff       	call   0x180048930
180048edf:	8b f0                	mov    %eax,%esi
180048ee1:	85 c0                	test   %eax,%eax
180048ee3:	0f 88 4b 01 00 00    	js     0x180049034
180048ee9:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
180048eed:	48 8b 41 08          	mov    0x8(%rcx),%rax
180048ef1:	48 39 08             	cmp    %rcx,(%rax)
180048ef4:	0f 85 24 01 00 00    	jne    0x18004901e
180048efa:	48 8b 7d e0          	mov    -0x20(%rbp),%rdi
180048efe:	49 8b d5             	mov    %r13,%rdx
180048f01:	48 89 0f             	mov    %rcx,(%rdi)
180048f04:	48 89 47 08          	mov    %rax,0x8(%rdi)
180048f08:	48 89 38             	mov    %rdi,(%rax)
180048f0b:	48 89 79 08          	mov    %rdi,0x8(%rcx)
180048f0f:	0f b7 47 14          	movzwl 0x14(%rdi),%eax
180048f13:	0f b7 4d 40          	movzwl 0x40(%rbp),%ecx
180048f17:	66 2b cb             	sub    %bx,%cx
180048f1a:	66 3b c8             	cmp    %ax,%cx
180048f1d:	66 0f 43 c8          	cmovae %ax,%cx
180048f21:	0f b7 d9             	movzwl %cx,%ebx
180048f24:	48 8d 4f 1c          	lea    0x1c(%rdi),%rcx
180048f28:	44 8b c3             	mov    %ebx,%r8d
180048f2b:	e8 90 ca 0e 00       	call   0x1801359c0
180048f30:	66 01 5f 16          	add    %bx,0x16(%rdi)
180048f34:	e9 c3 00 00 00       	jmp    0x180048ffc
180048f39:	48 85 db             	test   %rbx,%rbx
180048f3c:	0f 84 bd 00 00 00    	je     0x180048fff
180048f42:	41 0f b7 47 1c       	movzwl 0x1c(%r15),%eax
180048f47:	66 83 e8 10          	sub    $0x10,%ax
180048f4b:	44 0f b7 c0          	movzwl %ax,%r8d
180048f4f:	0f b7 43 14          	movzwl 0x14(%rbx),%eax
180048f53:	66 83 c0 08          	add    $0x8,%ax
180048f57:	0f b7 c0             	movzwl %ax,%eax
180048f5a:	41 8d 48 ff          	lea    -0x1(%r8),%ecx
180048f5e:	03 c8                	add    %eax,%ecx
180048f60:	8b c1                	mov    %ecx,%eax
180048f62:	99                   	cltd
180048f63:	41 f7 f8             	idiv   %r8d
180048f66:	2b ca                	sub    %edx,%ecx
180048f68:	8b c1                	mov    %ecx,%eax
180048f6a:	99                   	cltd
180048f6b:	41 f7 f8             	idiv   %r8d
180048f6e:	66 3b 45 f6          	cmp    -0xa(%rbp),%ax
180048f72:	0f 85 b2 00 00 00    	jne    0x18004902a
180048f78:	8b 53 18             	mov    0x18(%rbx),%edx
180048f7b:	49 8b cf             	mov    %r15,%rcx
180048f7e:	bf 01 00 00 00       	mov    $0x1,%edi
180048f83:	e8 88 f1 ff ff       	call   0x180048110
180048f88:	8b 48 04             	mov    0x4(%rax),%ecx
180048f8b:	83 f9 ff             	cmp    $0xffffffff,%ecx
180048f8e:	74 1e                	je     0x180048fae
180048f90:	44 8b f7             	mov    %edi,%r14d
180048f93:	8b d1                	mov    %ecx,%edx
180048f95:	41 03 fe             	add    %r14d,%edi
180048f98:	49 8b cf             	mov    %r15,%rcx
180048f9b:	e8 70 f1 ff ff       	call   0x180048110
180048fa0:	8b 48 04             	mov    0x4(%rax),%ecx
180048fa3:	83 f9 ff             	cmp    $0xffffffff,%ecx
180048fa6:	75 eb                	jne    0x180048f93
180048fa8:	41 be 16 00 e7 c0    	mov    $0xc0e70016,%r14d
180048fae:	44 0f b7 45 f4       	movzwl -0xc(%rbp),%r8d
180048fb3:	44 3b c7             	cmp    %edi,%r8d
180048fb6:	75 72                	jne    0x18004902a
180048fb8:	44 89 60 04          	mov    %r12d,0x4(%rax)
180048fbc:	0f b7 45 40          	movzwl 0x40(%rbp),%eax
180048fc0:	8b d0                	mov    %eax,%edx
180048fc2:	8b c8                	mov    %eax,%ecx
180048fc4:	41 0f af d0          	imul   %r8d,%edx
180048fc8:	0f b7 f8             	movzwl %ax,%edi
180048fcb:	44 0f b7 43 14       	movzwl 0x14(%rbx),%r8d
180048fd0:	41 8b c0             	mov    %r8d,%eax
180048fd3:	83 ea 08             	sub    $0x8,%edx
180048fd6:	2b c2                	sub    %edx,%eax
180048fd8:	3b c8                	cmp    %eax,%ecx
180048fda:	72 07                	jb     0x180048fe3
180048fdc:	41 0f b7 f8          	movzwl %r8w,%edi
180048fe0:	66 2b fa             	sub    %dx,%di
180048fe3:	8b ca                	mov    %edx,%ecx
180048fe5:	49 8b d5             	mov    %r13,%rdx
180048fe8:	48 83 c1 1c          	add    $0x1c,%rcx
180048fec:	44 0f b7 c7          	movzwl %di,%r8d
180048ff0:	48 03 cb             	add    %rbx,%rcx
180048ff3:	e8 c8 c9 0e 00       	call   0x1801359c0
180048ff8:	66 01 7b 16          	add    %di,0x16(%rbx)
180048ffc:	45 33 db             	xor    %r11d,%r11d
180048fff:	b9 10 00 00 00       	mov    $0x10,%ecx
180049004:	8b 45 58             	mov    0x58(%rbp),%eax
180049007:	41 ff c4             	inc    %r12d
18004900a:	41 03 c4             	add    %r12d,%eax
18004900d:	3b 45 d0             	cmp    -0x30(%rbp),%eax
180049010:	73 22                	jae    0x180049034
180049012:	8b 45 58             	mov    0x58(%rbp),%eax
180049015:	4c 8b 55 48          	mov    0x48(%rbp),%r10
180049019:	e9 38 fd ff ff       	jmp    0x180048d56
18004901e:	48 8b cf             	mov    %rdi,%rcx
180049021:	cd 29                	int    $0x29
180049023:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
180049028:	eb 0a                	jmp    0x180049034
18004902a:	41 8b f6             	mov    %r14d,%esi
18004902d:	eb 05                	jmp    0x180049034
18004902f:	be 16 00 e7 c0       	mov    $0xc0e70016,%esi
180049034:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
18004903b:	00
18004903c:	8b c6                	mov    %esi,%eax
18004903e:	48 83 c4 60          	add    $0x60,%rsp
180049042:	41 5f                	pop    %r15
180049044:	41 5e                	pop    %r14
180049046:	41 5d                	pop    %r13
180049048:	41 5c                	pop    %r12
18004904a:	5f                   	pop    %rdi
18004904b:	5e                   	pop    %rsi
18004904c:	5d                   	pop    %rbp
18004904d:	c3                   	ret
18004904e:	cc                   	int3
18004904f:	cc                   	int3
180049050:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180049055:	55                   	push   %rbp
180049056:	56                   	push   %rsi
180049057:	57                   	push   %rdi
180049058:	48 83 ec 40          	sub    $0x40,%rsp
18004905c:	48 8b 05 0d 39 12 00 	mov    0x12390d(%rip),%rax        # 0x18016c970
180049063:	48 33 c4             	xor    %rsp,%rax
180049066:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18004906b:	48 8b b9 c0 00 00 00 	mov    0xc0(%rcx),%rdi
180049072:	49 8b f0             	mov    %r8,%rsi
180049075:	0f b7 ea             	movzwl %dx,%ebp
180049078:	48 8b d9             	mov    %rcx,%rbx
18004907b:	48 8b cf             	mov    %rdi,%rcx
18004907e:	33 d2                	xor    %edx,%edx
180049080:	41 b8 00 00 01 00    	mov    $0x10000,%r8d
180049086:	e8 f5 cb 0e 00       	call   0x180135c80
18004908b:	4c 8b c7             	mov    %rdi,%r8
18004908e:	33 d2                	xor    %edx,%edx
180049090:	48 8b cb             	mov    %rbx,%rcx
180049093:	e8 70 02 00 00       	call   0x180049308
180049098:	66 83 fd 03          	cmp    $0x3,%bp
18004909c:	75 10                	jne    0x1800490ae
18004909e:	8b 4b 20             	mov    0x20(%rbx),%ecx
1800490a1:	8b 43 4c             	mov    0x4c(%rbx),%eax
1800490a4:	3b c8                	cmp    %eax,%ecx
1800490a6:	0f 46 c8             	cmovbe %eax,%ecx
1800490a9:	89 4b 20             	mov    %ecx,0x20(%rbx)
1800490ac:	eb 06                	jmp    0x1800490b4
1800490ae:	8b 43 48             	mov    0x48(%rbx),%eax
1800490b1:	89 43 20             	mov    %eax,0x20(%rbx)