180115e1d:	74 07                	je     0x180115e26
180115e1f:	b8 01 00 00 00       	mov    $0x1,%eax
180115e24:	eb 02                	jmp    0x180115e28
180115e26:	33 c0                	xor    %eax,%eax
180115e28:	48 3b de             	cmp    %rsi,%rbx
180115e2b:	74 31                	je     0x180115e5e
180115e2d:	49 ff c6             	inc    %r14
180115e30:	85 c0                	test   %eax,%eax
180115e32:	74 28                	je     0x180115e5c
180115e34:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180115e39:	4d 8b cf             	mov    %r15,%r9
180115e3c:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115e41:	4c 8b c7             	mov    %rdi,%r8
180115e44:	48 8b cf             	mov    %rdi,%rcx
180115e47:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
180115e4c:	e8 4f d1 01 00       	call   0x180132fa0
180115e51:	85 c0                	test   %eax,%eax
180115e53:	74 07                	je     0x180115e5c
180115e55:	b8 01 00 00 00       	mov    $0x1,%eax
180115e5a:	eb 02                	jmp    0x180115e5e
180115e5c:	33 c0                	xor    %eax,%eax
180115e5e:	48 ff c3             	inc    %rbx
180115e61:	48 3b 5c 24 58       	cmp    0x58(%rsp),%rbx
180115e66:	75 9d                	jne    0x180115e05
180115e68:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180115e6d:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
180115e72:	85 c0                	test   %eax,%eax
180115e74:	74 22                	je     0x180115e98
180115e76:	49 8b 54 f6 f8       	mov    -0x8(%r14,%rsi,8),%rdx
180115e7b:	48 8d 4d 88          	lea    -0x78(%rbp),%rcx
180115e7f:	48 ff ca             	dec    %rdx
180115e82:	4d 8b cd             	mov    %r13,%r9
180115e85:	4c 8b c7             	mov    %rdi,%r8
180115e88:	e8 ab 09 00 00       	call   0x180116838
180115e8d:	85 c0                	test   %eax,%eax
180115e8f:	74 07                	je     0x180115e98
180115e91:	bb 01 00 00 00       	mov    $0x1,%ebx
180115e96:	eb 02                	jmp    0x180115e9a
180115e98:	33 db                	xor    %ebx,%ebx
180115e9a:	48 83 ee 01          	sub    $0x1,%rsi
180115e9e:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
180115ea3:	0f 84 eb 01 00 00    	je     0x180116094
180115ea9:	4d 8d 34 f6          	lea    (%r14,%rsi,8),%r14
180115ead:	49 83 c6 f8          	add    $0xfffffffffffffff8,%r14
180115eb1:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180115eb6:	4c 8b 7d 80          	mov    -0x80(%rbp),%r15
180115eba:	4c 8b 74 24 40       	mov    0x40(%rsp),%r14
180115ebf:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
180115ec4:	85 db                	test   %ebx,%ebx
180115ec6:	74 26                	je     0x180115eee
180115ec8:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115ecd:	4d 8b ce             	mov    %r14,%r9
180115ed0:	4c 8b c7             	mov    %rdi,%r8
180115ed3:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
180115ed8:	48 8b d7             	mov    %rdi,%rdx
180115edb:	48 8b cf             	mov    %rdi,%rcx
180115ede:	e8 bd d0 01 00       	call   0x180132fa0
180115ee3:	85 c0                	test   %eax,%eax
180115ee5:	74 07                	je     0x180115eee
180115ee7:	bb 01 00 00 00       	mov    $0x1,%ebx
180115eec:	eb 02                	jmp    0x180115ef0
180115eee:	33 db                	xor    %ebx,%ebx
180115ef0:	49 83 ef 01          	sub    $0x1,%r15
180115ef4:	75 ce                	jne    0x180115ec4
180115ef6:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180115efb:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
180115f00:	85 db                	test   %ebx,%ebx
180115f02:	74 4a                	je     0x180115f4e
180115f04:	49 8b 16             	mov    (%r14),%rdx
180115f07:	48 8d 4d 88          	lea    -0x78(%rbp),%rcx
180115f0b:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
180115f10:	48 ff ca             	dec    %rdx
180115f13:	4c 8b c3             	mov    %rbx,%r8
180115f16:	4d 8b cd             	mov    %r13,%r9
180115f19:	e8 1a 09 00 00       	call   0x180116838
180115f1e:	85 c0                	test   %eax,%eax
180115f20:	74 2c                	je     0x180115f4e
180115f22:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
180115f27:	4c 8b c7             	mov    %rdi,%r8
180115f2a:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
180115f2f:	48 8b d3             	mov    %rbx,%rdx
180115f32:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115f37:	48 8b cf             	mov    %rdi,%rcx
180115f3a:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
180115f3f:	e8 5c d0 01 00       	call   0x180132fa0
180115f44:	85 c0                	test   %eax,%eax
180115f46:	74 06                	je     0x180115f4e
180115f48:	41 8d 5f 01          	lea    0x1(%r15),%ebx
180115f4c:	eb 02                	jmp    0x180115f50
180115f4e:	33 db                	xor    %ebx,%ebx
180115f50:	48 ff ce             	dec    %rsi
180115f53:	49 83 ee 08          	sub    $0x8,%r14
180115f57:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
180115f5c:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180115f61:	48 85 f6             	test   %rsi,%rsi
180115f64:	0f 85 4c ff ff ff    	jne    0x180115eb6
180115f6a:	e9 25 01 00 00       	jmp    0x180116094
180115f6f:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
180115f74:	48 8b cf             	mov    %rdi,%rcx
180115f77:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
180115f7c:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180115f81:	49 c1 e0 03          	shl    $0x3,%r8
180115f85:	48 89 7d 88          	mov    %rdi,-0x78(%rbp)
180115f89:	48 89 45 90          	mov    %rax,-0x70(%rbp)
180115f8d:	e8 2e fa 01 00       	call   0x1801359c0
180115f92:	48 8b 75 e0          	mov    -0x20(%rbp),%rsi
180115f96:	bb 01 00 00 00       	mov    $0x1,%ebx
180115f9b:	49 8b c7             	mov    %r15,%rax
180115f9e:	49 ff cf             	dec    %r15
180115fa1:	48 85 c0             	test   %rax,%rax
180115fa4:	0f 84 ea 00 00 00    	je     0x180116094
180115faa:	48 8b 45 a8          	mov    -0x58(%rbp),%rax
180115fae:	4c 0f a3 38          	bt     %r15,(%rax)
180115fb2:	48 ff c6             	inc    %rsi
180115fb5:	0f 92 c0             	setb   %al
180115fb8:	44 0f b6 f0          	movzbl %al,%r14d
180115fbc:	85 db                	test   %ebx,%ebx
180115fbe:	74 2d                	je     0x180115fed
180115fc0:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180115fc5:	4c 8b c7             	mov    %rdi,%r8
180115fc8:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
180115fcd:	48 8b d7             	mov    %rdi,%rdx
180115fd0:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180115fd5:	48 8b cf             	mov    %rdi,%rcx
180115fd8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180115fdd:	e8 be cf 01 00       	call   0x180132fa0
180115fe2:	85 c0                	test   %eax,%eax
180115fe4:	74 07                	je     0x180115fed
180115fe6:	bb 01 00 00 00       	mov    $0x1,%ebx
180115feb:	eb 02                	jmp    0x180115fef
180115fed:	33 db                	xor    %ebx,%ebx
180115fef:	45 85 e4             	test   %r12d,%r12d
180115ff2:	74 5b                	je     0x18011604f
180115ff4:	48 ff 44 24 38       	incq   0x38(%rsp)
180115ff9:	85 db                	test   %ebx,%ebx
180115ffb:	0f 84 91 00 00 00    	je     0x180116092
180116001:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
180116006:	48 8b d7             	mov    %rdi,%rdx
180116009:	4c 8b 44 24 78       	mov    0x78(%rsp),%r8
18011600e:	48 8b 01             	mov    (%rcx),%rax
180116011:	4c 8b 49 38          	mov    0x38(%rcx),%r9
180116015:	48 8b cf             	mov    %rdi,%rcx
180116018:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18011601d:	e8 62 a3 ff ff       	call   0x180110384
180116022:	85 c0                	test   %eax,%eax
180116024:	74 6c                	je     0x180116092
180116026:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
18011602b:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
18011602f:	49 8b d6             	mov    %r14,%rdx
180116032:	49 c1 e0 03          	shl    $0x3,%r8
180116036:	48 c1 e2 03          	shl    $0x3,%rdx
18011603a:	48 2b ca             	sub    %rdx,%rcx
18011603d:	48 8b 54 15 88       	mov    -0x78(%rbp,%rdx,1),%rdx
180116042:	48 8b 09             	mov    (%rcx),%rcx
180116045:	e8 76 f9 01 00       	call   0x1801359c0
18011604a:	e9 47 ff ff ff       	jmp    0x180115f96
18011604f:	4d 85 f6             	test   %r14,%r14
180116052:	74 35                	je     0x180116089
180116054:	48 ff c6             	inc    %rsi
180116057:	85 db                	test   %ebx,%ebx
180116059:	74 2c                	je     0x180116087
18011605b:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
180116060:	4c 8b c7             	mov    %rdi,%r8
180116063:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
180116068:	48 8b cf             	mov    %rdi,%rcx
18011606b:	48 8b 54 24 50       	mov    0x50(%rsp),%rdx
180116070:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
180116075:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18011607a:	e8 21 cf 01 00       	call   0x180132fa0
18011607f:	85 c0                	test   %eax,%eax
180116081:	0f 85 0f ff ff ff    	jne    0x180115f96
180116087:	33 db                	xor    %ebx,%ebx
180116089:	85 db                	test   %ebx,%ebx
18011608b:	74 07                	je     0x180116094
18011608d:	e9 09 ff ff ff       	jmp    0x180115f9b
180116092:	33 db                	xor    %ebx,%ebx
180116094:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
180116099:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
18011609e:	48 85 f6             	test   %rsi,%rsi
1801160a1:	74 28                	je     0x1801160cb
1801160a3:	85 db                	test   %ebx,%ebx
1801160a5:	74 1a                	je     0x1801160c1
1801160a7:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
1801160ab:	4d 8b c6             	mov    %r14,%r8
1801160ae:	49 c1 e0 03          	shl    $0x3,%r8
1801160b2:	48 8b d7             	mov    %rdi,%rdx
1801160b5:	e8 06 f9 01 00       	call   0x1801359c0
1801160ba:	bb 01 00 00 00       	mov    $0x1,%ebx
1801160bf:	eb 02                	jmp    0x1801160c3
1801160c1:	33 db                	xor    %ebx,%ebx
1801160c3:	48 8b ce             	mov    %rsi,%rcx
1801160c6:	e8 31 3f f8 ff       	call   0x180099ffc
1801160cb:	8b c3                	mov    %ebx,%eax
1801160cd:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
1801160d1:	48 33 cc             	xor    %rsp,%rcx
1801160d4:	e8 53 fa ef ff       	call   0x180015b2c
1801160d9:	48 81 c4 08 01 00 00 	add    $0x108,%rsp
1801160e0:	41 5f                	pop    %r15
1801160e2:	41 5e                	pop    %r14
1801160e4:	41 5d                	pop    %r13
1801160e6:	41 5c                	pop    %r12
1801160e8:	5f                   	pop    %rdi
1801160e9:	5e                   	pop    %rsi
1801160ea:	5b                   	pop    %rbx
1801160eb:	5d                   	pop    %rbp
1801160ec:	c3                   	ret
1801160ed:	cc                   	int3
1801160ee:	cc                   	int3
1801160ef:	cc                   	int3
1801160f0:	48 8b c4             	mov    %rsp,%rax
1801160f3:	48 89 58 18          	mov    %rbx,0x18(%rax)
1801160f7:	4c 89 48 20          	mov    %r9,0x20(%rax)
1801160fb:	48 89 50 10          	mov    %rdx,0x10(%rax)
1801160ff:	48 89 48 08          	mov    %rcx,0x8(%rax)
180116103:	55                   	push   %rbp
180116104:	56                   	push   %rsi
180116105:	57                   	push   %rdi
180116106:	41 54                	push   %r12
180116108:	41 55                	push   %r13
18011610a:	41 56                	push   %r14
18011610c:	41 57                	push   %r15
18011610e:	48 8d 68 b9          	lea    -0x47(%rax),%rbp
180116112:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
180116119:	4c 8b ca             	mov    %rdx,%r9
18011611c:	4d 8b d0             	mov    %r8,%r10
18011611f:	49 8b c9             	mov    %r9,%rcx
180116122:	49 8b d0             	mov    %r8,%rdx
180116125:	e8 16 b2 ff ff       	call   0x180111340
18011612a:	49 8b d2             	mov    %r10,%rdx
18011612d:	49 8b c9             	mov    %r9,%rcx
180116130:	4c 8b e0             	mov    %rax,%r12
180116133:	e8 a8 af ff ff       	call   0x1801110e0
180116138:	48 8b 7d 77          	mov    0x77(%rbp),%rdi
18011613c:	0f 57 c0             	xorps  %xmm0,%xmm0
18011613f:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
180116143:	ba 01 00 00 00       	mov    $0x1,%edx
180116148:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
18011614c:	8b ca                	mov    %edx,%ecx
18011614e:	33 f6                	xor    %esi,%esi
180116150:	0f 11 07             	movups %xmm0,(%rdi)
180116153:	4c 8b 08             	mov    (%rax),%r9
180116156:	48 8b 58 10          	mov    0x10(%rax),%rbx
18011615a:	4c 89 4d 8f          	mov    %r9,-0x71(%rbp)
18011615e:	0f 11 47 10          	movups %xmm0,0x10(%rdi)
180116162:	48 8d 05 e7 71 04 00 	lea    0x471e7(%rip),%rax        # 0x18015d350
180116169:	0f b7 04 48          	movzwl (%rax,%rcx,2),%eax
18011616d:	4c 3b e0             	cmp    %rax,%r12
180116170:	76 09                	jbe    0x18011617b
180116172:	48 03 ca             	add    %rdx,%rcx
180116175:	48 83 f9 06          	cmp    $0x6,%rcx
180116179:	72 e7                	jb     0x180116162
18011617b:	4c 8b c2             	mov    %rdx,%r8
18011617e:	48 89 4d cf          	mov    %rcx,-0x31(%rbp)
180116182:	33 d2                	xor    %edx,%edx
180116184:	49 d3 e0             	shl    %cl,%r8
180116187:	4d 8d 7c 24 ff       	lea    -0x1(%r12),%r15
18011618c:	4c 89 45 af          	mov    %r8,-0x51(%rbp)
180116190:	49 8b c7             	mov    %r15,%rax
180116193:	48 f7 f1             	div    %rcx
180116196:	49 8d 48 02          	lea    0x2(%r8),%rcx
18011619a:	49 0f af c9          	imul   %r9,%rcx
18011619e:	4c 8d 70 02          	lea    0x2(%rax),%r14
1801161a2:	49 03 ce             	add    %r14,%rcx
1801161a5:	4c 89 75 bf          	mov    %r14,-0x41(%rbp)
1801161a9:	48 03 cb             	add    %rbx,%rcx
1801161ac:	48 c1 e1 03          	shl    $0x3,%rcx
1801161b0:	e8 9b 3c f8 ff       	call   0x180099e50
1801161b5:	4c 8b 6d 7f          	mov    0x7f(%rbp),%r13
1801161b9:	48 8b 4d 4f          	mov    0x4f(%rbp),%rcx
1801161bd:	48 89 45 97          	mov    %rax,-0x69(%rbp)
1801161c1:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
1801161c5:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
1801161ca:	4c 8b 00             	mov    (%rax),%r8
1801161cd:	48 8b 50 38          	mov    0x38(%rax),%rdx
1801161d1:	e8 e2 a5 ff ff       	call   0x1801107b8
1801161d6:	85 c0                	test   %eax,%eax
1801161d8:	0f 84 f8 04 00 00    	je     0x1801166d6
1801161de:	48 8b 45 97          	mov    -0x69(%rbp),%rax
1801161e2:	48 85 c0             	test   %rax,%rax
1801161e5:	75 07                	jne    0x1801161ee
1801161e7:	33 db                	xor    %ebx,%ebx
1801161e9:	e9 23 05 00 00       	jmp    0x180116711
1801161ee:	48 8b 55 8f          	mov    -0x71(%rbp),%rdx
1801161f2:	4c 8d 04 d8          	lea    (%rax,%rbx,8),%r8
1801161f6:	48 8b 45 af          	mov    -0x51(%rbp),%rax
1801161fa:	48 ff 07             	incq   (%rdi)
1801161fd:	48 0f af c2          	imul   %rdx,%rax
180116201:	49 8d 34 d0          	lea    (%r8,%rdx,8),%rsi
180116205:	4c 89 45 c7          	mov    %r8,-0x39(%rbp)
180116209:	48 8d 0c d6          	lea    (%rsi,%rdx,8),%rcx
18011620d:	48 c1 e0 03          	shl    $0x3,%rax
180116211:	48 8b 55 6f          	mov    0x6f(%rbp),%rdx
180116215:	48 89 45 07          	mov    %rax,0x7(%rbp)
180116219:	48 03 c1             	add    %rcx,%rax
18011621c:	48 89 4d d7          	mov    %rcx,-0x29(%rbp)
180116220:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
180116224:	48 8b 02             	mov    (%rdx),%rax
180116227:	48 8b 4a 50          	mov    0x50(%rdx),%rcx
18011622b:	4c 8b 4a 38          	mov    0x38(%rdx),%r9
18011622f:	48 8b d1             	mov    %rcx,%rdx
180116232:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180116237:	48 89 75 ff          	mov    %rsi,-0x1(%rbp)
18011623b:	e8 44 a1 ff ff       	call   0x180110384
180116240:	85 c0                	test   %eax,%eax
180116242:	74 21                	je     0x180116265
180116244:	4c 8b 45 8f          	mov    -0x71(%rbp),%r8
180116248:	bb 01 00 00 00       	mov    $0x1,%ebx
18011624d:	48 8b 55 c7          	mov    -0x39(%rbp),%rdx
180116251:	48 8b 4d 4f          	mov    0x4f(%rbp),%rcx
180116255:	e8 0e a3 ff ff       	call   0x180110568
18011625a:	85 c0                	test   %eax,%eax
18011625c:	75 09                	jne    0x180116267
18011625e:	8b c3                	mov    %ebx,%eax
180116260:	89 5d a7             	mov    %ebx,-0x59(%rbp)
180116263:	eb 0f                	jmp    0x180116274
180116265:	33 db                	xor    %ebx,%ebx
180116267:	33 c0                	xor    %eax,%eax
180116269:	89 45 a7             	mov    %eax,-0x59(%rbp)
18011626c:	85 db                	test   %ebx,%ebx
18011626e:	0f 84 64 04 00 00    	je     0x1801166d8
180116274:	4d 85 e4             	test   %r12,%r12
180116277:	75 29                	jne    0x1801162a2
180116279:	4c 8b 7d 6f          	mov    0x6f(%rbp),%r15
18011627d:	48 8b ce             	mov    %rsi,%rcx
180116280:	4c 8b 65 8f          	mov    -0x71(%rbp),%r12
180116284:	48 ff 47 18          	incq   0x18(%rdi)
180116288:	4d 8b c4             	mov    %r12,%r8
18011628b:	49 c1 e0 03          	shl    $0x3,%r8
18011628f:	49 8b 57 50          	mov    0x50(%r15),%rdx
180116293:	e8 28 f7 01 00       	call   0x1801359c0
180116298:	bb 01 00 00 00       	mov    $0x1,%ebx
18011629d:	e9 3a 04 00 00       	jmp    0x1801166dc
1801162a2:	85 c0                	test   %eax,%eax
1801162a4:	0f 85 10 03 00 00    	jne    0x1801165ba
1801162aa:	48 83 7d 9f 04       	cmpq   $0x4,-0x61(%rbp)
1801162af:	0f 86 05 03 00 00    	jbe    0x1801165ba
1801162b5:	4c 8b 45 af          	mov    -0x51(%rbp),%r8
1801162b9:	33 c0                	xor    %eax,%eax
1801162bb:	48 8b 7d cf          	mov    -0x31(%rbp),%rdi
1801162bf:	49 ff c8             	dec    %r8
1801162c2:	4c 8b 6d af          	mov    -0x51(%rbp),%r13
1801162c6:	45 33 ff             	xor    %r15d,%r15d
1801162c9:	48 8b 75 57          	mov    0x57(%rbp),%rsi
1801162cd:	33 d2                	xor    %edx,%edx
1801162cf:	4c 8b 4d b7          	mov    -0x49(%rbp),%r9
1801162d3:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
1801162d7:	49 3b c6             	cmp    %r14,%rax
1801162da:	0f 84 89 00 00 00    	je     0x180116369
1801162e0:	48 8d 0c 3a          	lea    (%rdx,%rdi,1),%rcx
1801162e4:	49 3b cc             	cmp    %r12,%rcx