180056cbb:	75 37                	jne    0x180056cf4
180056cbd:	ff c0                	inc    %eax
180056cbf:	48 83 c1 10          	add    $0x10,%rcx
180056cc3:	41 3b c0             	cmp    %r8d,%eax
180056cc6:	72 ef                	jb     0x180056cb7
180056cc8:	c6 47 58 01          	movb   $0x1,0x58(%rdi)
180056ccc:	8b 53 0c             	mov    0xc(%rbx),%edx
180056ccf:	48 8b 4f 28          	mov    0x28(%rdi),%rcx
180056cd3:	ff c2                	inc    %edx
180056cd5:	8b 84 24 80 00 00 00 	mov    0x80(%rsp),%eax
180056cdc:	c1 e2 04             	shl    $0x4,%edx
180056cdf:	89 51 20             	mov    %edx,0x20(%rcx)
180056ce2:	48 83 c4 28          	add    $0x28,%rsp
180056ce6:	41 5f                	pop    %r15
180056ce8:	41 5e                	pop    %r14
180056cea:	41 5d                	pop    %r13
180056cec:	41 5c                	pop    %r12
180056cee:	5f                   	pop    %rdi
180056cef:	5e                   	pop    %rsi
180056cf0:	5d                   	pop    %rbp
180056cf1:	5b                   	pop    %rbx
180056cf2:	c3                   	ret
180056cf3:	cc                   	int3
180056cf4:	44 8b c0             	mov    %eax,%r8d
180056cf7:	8b 43 0c             	mov    0xc(%rbx),%eax
180056cfa:	4d 03 c0             	add    %r8,%r8
180056cfd:	4e 8b 4c c2 18       	mov    0x18(%rdx,%r8,8),%r9
180056d02:	4c 39 8c 24 88 00 00 	cmp    %r9,0x88(%rsp)
180056d09:	00
180056d0a:	4c 0f 42 8c 24 88 00 	cmovb  0x88(%rsp),%r9
180056d11:	00 00
180056d13:	41 3b c7             	cmp    %r15d,%eax
180056d16:	73 20                	jae    0x180056d38
180056d18:	48 8d 48 01          	lea    0x1(%rax),%rcx
180056d1c:	4a 8b 44 c2 10       	mov    0x10(%rdx,%r8,8),%rax
180056d21:	48 03 c9             	add    %rcx,%rcx
180056d24:	48 89 04 cb          	mov    %rax,(%rbx,%rcx,8)
180056d28:	8b 43 0c             	mov    0xc(%rbx),%eax
180056d2b:	48 03 c0             	add    %rax,%rax
180056d2e:	4c 89 4c c3 18       	mov    %r9,0x18(%rbx,%rax,8)
180056d33:	ff 43 0c             	incl   0xc(%rbx)
180056d36:	eb 09                	jmp    0x180056d41
180056d38:	c6 47 58 01          	movb   $0x1,0x58(%rdi)
180056d3c:	40 84 f6             	test   %sil,%sil
180056d3f:	75 8b                	jne    0x180056ccc
180056d41:	40 84 f6             	test   %sil,%sil
180056d44:	75 03                	jne    0x180056d49
180056d46:	ff 43 08             	incl   0x8(%rbx)
180056d49:	4e 01 4c c2 10       	add    %r9,0x10(%rdx,%r8,8)
180056d4e:	4d 03 f1             	add    %r9,%r14
180056d51:	4e 29 4c c2 18       	sub    %r9,0x18(%rdx,%r8,8)
180056d56:	4d 3b f4             	cmp    %r12,%r14
180056d59:	0f 83 6d ff ff ff    	jae    0x180056ccc
180056d5f:	4c 8b 54 24 70       	mov    0x70(%rsp),%r10
180056d64:	e9 cc fe ff ff       	jmp    0x180056c35
180056d69:	cc                   	int3
180056d6a:	cc                   	int3
180056d6b:	cc                   	int3
180056d6c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180056d71:	55                   	push   %rbp
180056d72:	56                   	push   %rsi
180056d73:	57                   	push   %rdi
180056d74:	41 54                	push   %r12
180056d76:	41 55                	push   %r13
180056d78:	41 56                	push   %r14
180056d7a:	41 57                	push   %r15
180056d7c:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
180056d81:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
180056d88:	83 65 67 00          	andl   $0x0,0x67(%rbp)
180056d8c:	4c 8b f9             	mov    %rcx,%r15
180056d8f:	48 8b 49 20          	mov    0x20(%rcx),%rcx
180056d93:	4d 8b f1             	mov    %r9,%r14
180056d96:	48 8b f2             	mov    %rdx,%rsi
180056d99:	49 8b 47 08          	mov    0x8(%r15),%rax
180056d9d:	48 85 c9             	test   %rcx,%rcx
180056da0:	74 06                	je     0x180056da8
180056da2:	48 83 c1 38          	add    $0x38,%rcx
180056da6:	eb 04                	jmp    0x180056dac
180056da8:	48 8d 48 30          	lea    0x30(%rax),%rcx
180056dac:	48 8b 40 70          	mov    0x70(%rax),%rax
180056db0:	4e 8d 2c 06          	lea    (%rsi,%r8,1),%r13
180056db4:	33 d2                	xor    %edx,%edx
180056db6:	48 f7 71 08          	divq   0x8(%rcx)
180056dba:	41 8a 4f 2a          	mov    0x2a(%r15),%cl
180056dbe:	4c 8b e0             	mov    %rax,%r12
180056dc1:	49 d3 e4             	shl    %cl,%r12
180056dc4:	e9 62 01 00 00       	jmp    0x180056f2b
180056dc9:	41 8a 4f 2a          	mov    0x2a(%r15),%cl
180056dcd:	4c 8d 45 67          	lea    0x67(%rbp),%r8
180056dd1:	ba 01 00 00 00       	mov    $0x1,%edx
180056dd6:	48 d3 e2             	shl    %cl,%rdx
180056dd9:	49 8b cd             	mov    %r13,%rcx
180056ddc:	48 2b ce             	sub    %rsi,%rcx
180056ddf:	48 8b d9             	mov    %rcx,%rbx
180056de2:	48 89 4d 6f          	mov    %rcx,0x6f(%rbp)
180056de6:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
180056dea:	48 23 c6             	and    %rsi,%rax
180056ded:	48 2b d0             	sub    %rax,%rdx
180056df0:	8b c2                	mov    %edx,%eax
180056df2:	48 8b d6             	mov    %rsi,%rdx
180056df5:	48 3b c8             	cmp    %rax,%rcx
180056df8:	49 8b cf             	mov    %r15,%rcx
180056dfb:	48 0f 43 d8          	cmovae %rax,%rbx
180056dff:	49 8b 07             	mov    (%r15),%rax
180056e02:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180056e09:	ff d0                	call   *%rax
180056e0b:	0f 1f 00             	nopl   (%rax)
180056e0e:	41 8a 4f 2a          	mov    0x2a(%r15),%cl
180056e12:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180056e18:	49 d3 e0             	shl    %cl,%r8
180056e1b:	4c 8b d0             	mov    %rax,%r10
180056e1e:	45 8b c0             	mov    %r8d,%r8d
180056e21:	48 8b fb             	mov    %rbx,%rdi
180056e24:	49 3b d8             	cmp    %r8,%rbx
180056e27:	75 36                	jne    0x180056e5f
180056e29:	41 f6 47 28 04       	testb  $0x4,0x28(%r15)
180056e2e:	74 2f                	je     0x180056e5f
180056e30:	48 8b 7d 6f          	mov    0x6f(%rbp),%rdi
180056e34:	33 d2                	xor    %edx,%edx
180056e36:	48 8b c6             	mov    %rsi,%rax
180056e39:	49 f7 f4             	div    %r12
180056e3c:	49 8b c4             	mov    %r12,%rax
180056e3f:	48 2b c2             	sub    %rdx,%rax
180056e42:	48 3b f8             	cmp    %rax,%rdi
180056e45:	48 0f 43 f8          	cmovae %rax,%rdi
180056e49:	49 3b f8             	cmp    %r8,%rdi
180056e4c:	72 0f                	jb     0x180056e5d
180056e4e:	49 8d 40 ff          	lea    -0x1(%r8),%rax
180056e52:	41 8b d8             	mov    %r8d,%ebx
180056e55:	48 f7 d0             	not    %rax
180056e58:	4c 23 d0             	and    %rax,%r10
180056e5b:	eb 02                	jmp    0x180056e5f
180056e5d:	8b fb                	mov    %ebx,%edi
180056e5f:	49 8b 46 18          	mov    0x18(%r14),%rax
180056e63:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180056e68:	44 8b 45 67          	mov    0x67(%rbp),%r8d
180056e6c:	44 8b 48 08          	mov    0x8(%rax),%r9d
180056e70:	41 c1 e9 1c          	shr    $0x1c,%r9d
180056e74:	41 80 e1 01          	and    $0x1,%r9b
180056e78:	e8 eb 00 ff ff       	call   0x180046f68
180056e7d:	83 4d 83 04          	orl    $0x4,-0x7d(%rbp)
180056e81:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180056e86:	41 f6 d9             	neg    %r9b
180056e89:	44 89 45 cb          	mov    %r8d,-0x35(%rbp)
180056e8d:	41 b0 14             	mov    $0x14,%r8b
180056e90:	4c 89 55 bf          	mov    %r10,-0x41(%rbp)
180056e94:	1a c0                	sbb    %al,%al
180056e96:	89 5d c7             	mov    %ebx,-0x39(%rbp)
180056e99:	24 16                	and    $0x16,%al
180056e9b:	c6 45 e0 0d          	movb   $0xd,-0x20(%rbp)
180056e9f:	fe c0                	inc    %al
180056ea1:	4c 89 7d 17          	mov    %r15,0x17(%rbp)
180056ea5:	49 8b cf             	mov    %r15,%rcx
180056ea8:	88 45 e1             	mov    %al,-0x1f(%rbp)
180056eab:	4c 89 7d 1f          	mov    %r15,0x1f(%rbp)
180056eaf:	e8 5c 06 ff ff       	call   0x180047510
180056eb4:	41 b0 0e             	mov    $0xe,%r8b
180056eb7:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180056ebc:	49 8b cf             	mov    %r15,%rcx
180056ebf:	e8 4c 06 ff ff       	call   0x180047510
180056ec4:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180056ec9:	49 8b cf             	mov    %r15,%rcx
180056ecc:	e8 e7 b4 ff ff       	call   0x1800523b8
180056ed1:	8b 5d e7             	mov    -0x19(%rbp),%ebx
180056ed4:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180056ed9:	e8 5a 01 ff ff       	call   0x180047038
180056ede:	49 8b 06             	mov    (%r14),%rax
180056ee1:	49 8b ce             	mov    %r14,%rcx
180056ee4:	41 89 5e 48          	mov    %ebx,0x48(%r14)
180056ee8:	48 8b 00             	mov    (%rax),%rax
180056eeb:	ff d0                	call   *%rax
180056eed:	0f 1f 00             	nopl   (%rax)
180056ef0:	84 c0                	test   %al,%al
180056ef2:	75 67                	jne    0x180056f5b
180056ef4:	49 8b 46 28          	mov    0x28(%r14),%rax
180056ef8:	8b 50 1c             	mov    0x1c(%rax),%edx
180056efb:	48 03 d0             	add    %rax,%rdx
180056efe:	c7 40 20 28 00 00 00 	movl   $0x28,0x20(%rax)
180056f05:	49 01 7e 50          	add    %rdi,0x50(%r14)
180056f09:	48 01 3a             	add    %rdi,(%rdx)
180056f0c:	41 8b 46 48          	mov    0x48(%r14),%eax
180056f10:	3d 00 00 e7 00       	cmp    $0xe70000,%eax
180056f15:	75 08                	jne    0x180056f1f
180056f17:	48 01 7a 08          	add    %rdi,0x8(%rdx)
180056f1b:	41 8b 46 48          	mov    0x48(%r14),%eax
180056f1f:	85 c0                	test   %eax,%eax
180056f21:	78 13                	js     0x180056f36
180056f23:	41 83 66 48 00       	andl   $0x0,0x48(%r14)
180056f28:	48 03 f7             	add    %rdi,%rsi
180056f2b:	49 3b f5             	cmp    %r13,%rsi
180056f2e:	0f 82 95 fe ff ff    	jb     0x180056dc9
180056f34:	eb 25                	jmp    0x180056f5b
180056f36:	3d 18 00 e7 c0       	cmp    $0xc0e70018,%eax
180056f3b:	75 1a                	jne    0x180056f57
180056f3d:	49 8b 46 28          	mov    0x28(%r14),%rax
180056f41:	0f ba 68 08 1d       	btsl   $0x1d,0x8(%rax)
180056f46:	49 8b 4f 10          	mov    0x10(%r15),%rcx
180056f4a:	48 03 ce             	add    %rsi,%rcx
180056f4d:	48 89 7a 20          	mov    %rdi,0x20(%rdx)
180056f51:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
180056f55:	eb 04                	jmp    0x180056f5b
180056f57:	48 01 7a 10          	add    %rdi,0x10(%rdx)
180056f5b:	48 8b 9c 24 50 01 00 	mov    0x150(%rsp),%rbx
180056f62:	00
180056f63:	b8 02 00 e7 00       	mov    $0xe70002,%eax
180056f68:	48 81 c4 00 01 00 00 	add    $0x100,%rsp
180056f6f:	41 5f                	pop    %r15
180056f71:	41 5e                	pop    %r14
180056f73:	41 5d                	pop    %r13
180056f75:	41 5c                	pop    %r12
180056f77:	5f                   	pop    %rdi
180056f78:	5e                   	pop    %rsi
180056f79:	5d                   	pop    %rbp
180056f7a:	c3                   	ret
180056f7b:	cc                   	int3
180056f7c:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180056f81:	53                   	push   %rbx
180056f82:	55                   	push   %rbp
180056f83:	56                   	push   %rsi
180056f84:	57                   	push   %rdi
180056f85:	41 54                	push   %r12
180056f87:	41 55                	push   %r13
180056f89:	41 56                	push   %r14
180056f8b:	41 57                	push   %r15
180056f8d:	48 83 ec 58          	sub    $0x58,%rsp
180056f91:	33 ff                	xor    %edi,%edi
180056f93:	0f 57 c0             	xorps  %xmm0,%xmm0
180056f96:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
180056f9b:	44 8b ff             	mov    %edi,%r15d
180056f9e:	89 bc 24 b0 00 00 00 	mov    %edi,0xb0(%rsp)
180056fa5:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
180056faa:	8b ef                	mov    %edi,%ebp
180056fac:	48 8b f1             	mov    %rcx,%rsi
180056faf:	48 8b 46 20          	mov    0x20(%rsi),%rax
180056fb3:	48 85 c0             	test   %rax,%rax
180056fb6:	74 06                	je     0x180056fbe
180056fb8:	48 83 c0 58          	add    $0x58,%rax
180056fbc:	eb 08                	jmp    0x180056fc6
180056fbe:	48 8b 46 08          	mov    0x8(%rsi),%rax
180056fc2:	48 83 c0 50          	add    $0x50,%rax
180056fc6:	3b 68 10             	cmp    0x10(%rax),%ebp
180056fc9:	73 72                	jae    0x18005703d
180056fcb:	8b df                	mov    %edi,%ebx
180056fcd:	40 38 7e 2b          	cmp    %dil,0x2b(%rsi)
180056fd1:	76 59                	jbe    0x18005702c
180056fd3:	44 8b c3             	mov    %ebx,%r8d
180056fd6:	8b d5                	mov    %ebp,%edx
180056fd8:	48 8b ce             	mov    %rsi,%rcx
180056fdb:	e8 34 a5 ff ff       	call   0x180051514
180056fe0:	84 c0                	test   %al,%al
180056fe2:	74 3e                	je     0x180057022
180056fe4:	8b d5                	mov    %ebp,%edx
180056fe6:	48 8b ce             	mov    %rsi,%rcx
180056fe9:	e8 62 a3 ff ff       	call   0x180051350
180056fee:	f6 40 03 0f          	testb  $0xf,0x3(%rax)
180056ff2:	75 3f                	jne    0x180057033
180056ff4:	e8 57 a3 ff ff       	call   0x180051350
180056ff9:	48 8b d0             	mov    %rax,%rdx
180056ffc:	e8 bb a3 ff ff       	call   0x1800513bc
180057001:	48 8b c8             	mov    %rax,%rcx
180057004:	48 8b 00             	mov    (%rax),%rax
180057007:	48 8b 40 58          	mov    0x58(%rax),%rax
18005700b:	ff d0                	call   *%rax
18005700d:	0f 1f 00             	nopl   (%rax)
180057010:	41 ff c7             	inc    %r15d
180057013:	44 89 bc 24 b0 00 00 	mov    %r15d,0xb0(%rsp)
18005701a:	00
18005701b:	c6 80 dc 00 00 00 01 	movb   $0x1,0xdc(%rax)
180057022:	0f b6 46 2b          	movzbl 0x2b(%rsi),%eax
180057026:	ff c3                	inc    %ebx
180057028:	3b d8                	cmp    %eax,%ebx
18005702a:	72 a7                	jb     0x180056fd3
18005702c:	ff c5                	inc    %ebp
18005702e:	e9 7c ff ff ff       	jmp    0x180056faf
180057033:	bf 13 00 e7 c0       	mov    $0xc0e70013,%edi
180057038:	e9 c9 02 00 00       	jmp    0x180057306
18005703d:	48 8b 46 40          	mov    0x40(%rsi),%rax
180057041:	48 05 f8 00 00 00    	add    $0xf8,%rax
180057047:	4c 8b 28             	mov    (%rax),%r13
18005704a:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
18005704f:	4c 3b e8             	cmp    %rax,%r13
180057052:	0f 84 ae 02 00 00    	je     0x180057306
180057058:	48 8b 94 24 a8 00 00 	mov    0xa8(%rsp),%rdx
18005705f:	00
180057060:	49 8d 6d d0          	lea    -0x30(%r13),%rbp
180057064:	8b 4d 28             	mov    0x28(%rbp),%ecx
180057067:	83 e1 fd             	and    $0xfffffffd,%ecx
18005706a:	89 4d 28             	mov    %ecx,0x28(%rbp)
18005706d:	48 8b 02             	mov    (%rdx),%rax
180057070:	48 39 45 18          	cmp    %rax,0x18(%rbp)
180057074:	0f 83 8c 02 00 00    	jae    0x180057306
18005707a:	40 38 7a 14          	cmp    %dil,0x14(%rdx)
18005707e:	74 0a                	je     0x18005708a
180057080:	48 39 45 20          	cmp    %rax,0x20(%rbp)
180057084:	0f 83 5f 02 00 00    	jae    0x1800572e9
18005708a:	48 8b 06             	mov    (%rsi),%rax
18005708d:	83 e1 01             	and    $0x1,%ecx
180057090:	48 8b 1d b9 7b 0f 00 	mov    0xf7bb9(%rip),%rbx        # 0x18014ec50
180057097:	48 8b d5             	mov    %rbp,%rdx
18005709a:	89 8c 24 b8 00 00 00 	mov    %ecx,0xb8(%rsp)
1800570a1:	48 8b ce             	mov    %rsi,%rcx
1800570a4:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1800570a9:	48 8b 80 d0 00 00 00 	mov    0xd0(%rax),%rax
1800570b0:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
1800570b5:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
1800570ba:	ff d0                	call   *%rax
1800570bc:	0f 1f 00             	nopl   (%rax)
1800570bf:	44 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%r13d
1800570c6:	00
1800570c7:	44 8b f7             	mov    %edi,%r14d
1800570ca:	88 84 24 a0 00 00 00 	mov    %al,0xa0(%rsp)
1800570d1:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
1800570d5:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
1800570da:	48 85 c9             	test   %rcx,%rcx
1800570dd:	74 06                	je     0x1800570e5
1800570df:	48 83 c1 58          	add    $0x58,%rcx
1800570e3:	eb 08                	jmp    0x1800570ed
1800570e5:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1800570e9:	48 83 c1 50          	add    $0x50,%rcx
1800570ed:	44 3b 71 10          	cmp    0x10(%rcx),%r14d
1800570f1:	0f 83 e0 01 00 00    	jae    0x1800572d7
1800570f7:	84 c0                	test   %al,%al
1800570f9:	75 30                	jne    0x18005712b
1800570fb:	48 8b 06             	mov    (%rsi),%rax
1800570fe:	45 8b c6             	mov    %r14d,%r8d
180057101:	48 8b d5             	mov    %rbp,%rdx
180057104:	48 8b ce             	mov    %rsi,%rcx
180057107:	48 8b 80 d8 00 00 00 	mov    0xd8(%rax),%rax
18005710e:	ff d0                	call   *%rax
180057110:	0f 1f 00             	nopl   (%rax)
180057113:	84 c0                	test   %al,%al
180057115:	74 14                	je     0x18005712b
180057117:	41 8b c6             	mov    %r14d,%eax
18005711a:	48 c1 e0 04          	shl    $0x4,%rax
18005711e:	48 03 45 08          	add    0x8(%rbp),%rax
180057122:	48 39 00             	cmp    %rax,(%rax)
180057125:	0f 84 9d 01 00 00    	je     0x1800572c8
18005712b:	44 8b e7             	mov    %edi,%r12d
18005712e:	89 bc 24 b8 00 00 00 	mov    %edi,0xb8(%rsp)
180057135:	40 38 7e 2b          	cmp    %dil,0x2b(%rsi)
180057139:	0f 86 89 01 00 00    	jbe    0x1800572c8
18005713f:	45 8b c4             	mov    %r12d,%r8d
180057142:	41 8b d6             	mov    %r14d,%edx
180057145:	48 8b ce             	mov    %rsi,%rcx
180057148:	e8 c7 a3 ff ff       	call   0x180051514
18005714d:	84 c0                	test   %al,%al
18005714f:	0f 84 5b 01 00 00    	je     0x1800572b0
180057155:	41 8b d6             	mov    %r14d,%edx
180057158:	48 8b ce             	mov    %rsi,%rcx
18005715b:	e8 f0 a1 ff ff       	call   0x180051350