140060f7e:	90                   	nop
140060f7f:	90                   	nop
140060f80:	48 83 ec 28          	sub    $0x28,%rsp
140060f84:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140060f88:	e8 07 00 00 00       	call   0x140060f94
140060f8d:	90                   	nop
140060f8e:	48 83 c4 28          	add    $0x28,%rsp
140060f92:	c3                   	ret
140060f93:	90                   	nop
140060f94:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140060f99:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140060f9e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140060fa3:	57                   	push   %rdi
140060fa4:	48 83 ec 20          	sub    $0x20,%rsp
140060fa8:	48 8d 71 40          	lea    0x40(%rcx),%rsi
140060fac:	48 8b e9             	mov    %rcx,%rbp
140060faf:	48 8b 1e             	mov    (%rsi),%rbx
140060fb2:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
140060fb6:	eb 1b                	jmp    0x140060fd3
140060fb8:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140060fbc:	48 8b d6             	mov    %rsi,%rdx
140060fbf:	48 8b ce             	mov    %rsi,%rcx
140060fc2:	e8 81 75 fb ff       	call   0x140018548
140060fc7:	48 8b cf             	mov    %rdi,%rcx
140060fca:	48 8b 3f             	mov    (%rdi),%rdi
140060fcd:	ff 15 d5 e5 00 00    	call   *0xe5d5(%rip)        # 0x14006f5a8
140060fd3:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140060fd7:	74 df                	je     0x140060fb8
140060fd9:	48 89 5b 08          	mov    %rbx,0x8(%rbx)
140060fdd:	48 8d 8d 88 00 00 00 	lea    0x88(%rbp),%rcx
140060fe4:	48 89 1b             	mov    %rbx,(%rbx)
140060fe7:	48 89 5b 10          	mov    %rbx,0x10(%rbx)
140060feb:	48 83 66 08 00       	andq   $0x0,0x8(%rsi)
140060ff0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140060ff5:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140060ffa:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140060fff:	48 83 c4 20          	add    $0x20,%rsp
140061003:	5f                   	pop    %rdi
140061004:	e9 33 06 fc ff       	jmp    0x14002163c
140061009:	cc                   	int3
14006100a:	90                   	nop
14006100b:	90                   	nop
14006100c:	40 53                	rex push %rbx
14006100e:	48 83 ec 30          	sub    $0x30,%rsp
140061012:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140061016:	48 8b da             	mov    %rdx,%rbx
140061019:	e8 0a 00 00 00       	call   0x140061028
14006101e:	48 8b c3             	mov    %rbx,%rax
140061021:	48 83 c4 30          	add    $0x30,%rsp
140061025:	5b                   	pop    %rbx
140061026:	c3                   	ret
140061027:	90                   	nop
140061028:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14006102d:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140061032:	55                   	push   %rbp
140061033:	53                   	push   %rbx
140061034:	56                   	push   %rsi
140061035:	57                   	push   %rdi
140061036:	41 54                	push   %r12
140061038:	41 55                	push   %r13
14006103a:	41 56                	push   %r14
14006103c:	41 57                	push   %r15
14006103e:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
140061043:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
14006104a:	4c 8b e9             	mov    %rcx,%r13
14006104d:	45 33 e4             	xor    %r12d,%r12d
140061050:	8b 41 58             	mov    0x58(%rcx),%eax
140061053:	03 c0                	add    %eax,%eax
140061055:	0f 57 c0             	xorps  %xmm0,%xmm0
140061058:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
14006105d:	f2 0f 59 05 8b b5 01 	mulsd  0x1b58b(%rip),%xmm0        # 0x14007c5f0
140061064:	00
140061065:	e8 34 93 00 00       	call   0x14006a39e
14006106a:	f2 0f 2c c0          	cvttsd2si %xmm0,%eax
14006106e:	48 63 f8             	movslq %eax,%rdi
140061071:	41 8b dc             	mov    %r12d,%ebx
140061074:	48 89 5d f7          	mov    %rbx,-0x9(%rbp)
140061078:	41 8b f4             	mov    %r12d,%esi
14006107b:	4c 89 65 ff          	mov    %r12,-0x1(%rbp)
14006107f:	41 8b c4             	mov    %r12d,%eax
140061082:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
140061086:	48 89 45 07          	mov    %rax,0x7(%rbp)
14006108a:	48 85 ff             	test   %rdi,%rdi
14006108d:	74 2d                	je     0x1400610bc
14006108f:	48 8b d7             	mov    %rdi,%rdx
140061092:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
140061096:	e8 79 b7 fe ff       	call   0x14004c814
14006109b:	4c 8b c7             	mov    %rdi,%r8
14006109e:	33 d2                	xor    %edx,%edx
1400610a0:	48 8b 5d f7          	mov    -0x9(%rbp),%rbx
1400610a4:	48 8b cb             	mov    %rbx,%rcx
1400610a7:	e8 6a 92 00 00       	call   0x14006a316
1400610ac:	48 8d 34 1f          	lea    (%rdi,%rbx,1),%rsi
1400610b0:	48 89 75 ff          	mov    %rsi,-0x1(%rbp)
1400610b4:	48 8b 45 07          	mov    0x7(%rbp),%rax
1400610b8:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
1400610bc:	45 8b fc             	mov    %r12d,%r15d
1400610bf:	bf 01 00 00 00       	mov    $0x1,%edi
1400610c4:	45 39 65 58          	cmp    %r12d,0x58(%r13)
1400610c8:	0f 86 cb 00 00 00    	jbe    0x140061199
1400610ce:	45 8b f4             	mov    %r12d,%r14d
1400610d1:	41 8b d7             	mov    %r15d,%edx
1400610d4:	49 8b cd             	mov    %r13,%rcx
1400610d7:	e8 e8 08 00 00       	call   0x1400619c4
1400610dc:	85 c0                	test   %eax,%eax
1400610de:	74 20                	je     0x140061100
1400610e0:	2b c7                	sub    %edi,%eax
1400610e2:	0f 84 f8 01 00 00    	je     0x1400612e0
1400610e8:	2b c7                	sub    %edi,%eax
1400610ea:	0f 84 a4 01 00 00    	je     0x140061294
1400610f0:	2b c7                	sub    %edi,%eax
1400610f2:	0f 84 13 01 00 00    	je     0x14006120b
1400610f8:	3b c7                	cmp    %edi,%eax
1400610fa:	0f 85 88 00 00 00    	jne    0x140061188
140061100:	41 8b ce             	mov    %r14d,%ecx
140061103:	41 b8 07 00 00 80    	mov    $0x80000007,%r8d
140061109:	41 23 c8             	and    %r8d,%ecx
14006110c:	7d 07                	jge    0x140061115
14006110e:	2b cf                	sub    %edi,%ecx
140061110:	83 c9 f8             	or     $0xfffffff8,%ecx
140061113:	03 cf                	add    %edi,%ecx
140061115:	41 8b c6             	mov    %r14d,%eax
140061118:	2b c1                	sub    %ecx,%eax
14006111a:	99                   	cltd
14006111b:	83 e2 07             	and    $0x7,%edx
14006111e:	03 c2                	add    %edx,%eax
140061120:	c1 f8 03             	sar    $0x3,%eax
140061123:	8b d7                	mov    %edi,%edx
140061125:	d2 e2                	shl    %cl,%dl
140061127:	f6 d2                	not    %dl
140061129:	48 63 c8             	movslq %eax,%rcx
14006112c:	44 38 25 95 26 04 00 	cmp    %r12b,0x42695(%rip)        # 0x1400a37c8
140061133:	74 0f                	je     0x140061144
140061135:	48 8b c6             	mov    %rsi,%rax
140061138:	48 2b c3             	sub    %rbx,%rax
14006113b:	48 3b c8             	cmp    %rax,%rcx
14006113e:	0f 83 74 04 00 00    	jae    0x1400615b8
140061144:	20 14 19             	and    %dl,(%rcx,%rbx,1)
140061147:	41 8d 46 01          	lea    0x1(%r14),%eax
14006114b:	8b c8                	mov    %eax,%ecx
14006114d:	41 23 c8             	and    %r8d,%ecx
140061150:	7d 07                	jge    0x140061159
140061152:	2b cf                	sub    %edi,%ecx
140061154:	83 c9 f8             	or     $0xfffffff8,%ecx
140061157:	03 cf                	add    %edi,%ecx
140061159:	2b c1                	sub    %ecx,%eax
14006115b:	99                   	cltd
14006115c:	83 e2 07             	and    $0x7,%edx
14006115f:	03 c2                	add    %edx,%eax
140061161:	8b d7                	mov    %edi,%edx
140061163:	c1 f8 03             	sar    $0x3,%eax
140061166:	d2 e2                	shl    %cl,%dl
140061168:	44 38 25 59 26 04 00 	cmp    %r12b,0x42659(%rip)        # 0x1400a37c8
14006116f:	48 63 c8             	movslq %eax,%rcx
140061172:	f6 d2                	not    %dl
140061174:	74 0f                	je     0x140061185
140061176:	48 8b c6             	mov    %rsi,%rax
140061179:	48 2b c3             	sub    %rbx,%rax
14006117c:	48 3b c8             	cmp    %rax,%rcx
14006117f:	0f 83 33 04 00 00    	jae    0x1400615b8
140061185:	20 14 19             	and    %dl,(%rcx,%rbx,1)
140061188:	44 03 ff             	add    %edi,%r15d
14006118b:	41 83 c6 02          	add    $0x2,%r14d
14006118f:	45 3b 7d 58          	cmp    0x58(%r13),%r15d
140061193:	0f 82 38 ff ff ff    	jb     0x1400610d1
140061199:	48 2b f3             	sub    %rbx,%rsi
14006119c:	48 81 fe ff ff ff 7f 	cmp    $0x7fffffff,%rsi
1400611a3:	0f 87 7c 04 00 00    	ja     0x140061625
1400611a9:	ba 02 00 00 00       	mov    $0x2,%edx
1400611ae:	8b ce                	mov    %esi,%ecx
1400611b0:	e8 fb fb ff ff       	call   0x140060db0
1400611b5:	89 45 77             	mov    %eax,0x77(%rbp)
1400611b8:	8d 48 01             	lea    0x1(%rax),%ecx
1400611bb:	4c 63 f9             	movslq %ecx,%r15
1400611be:	0f 57 c0             	xorps  %xmm0,%xmm0
1400611c1:	f3 0f 7f 45 df       	movdqu %xmm0,-0x21(%rbp)
1400611c6:	49 8b c4             	mov    %r12,%rax
1400611c9:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
1400611cd:	48 89 45 ef          	mov    %rax,-0x11(%rbp)
1400611d1:	85 c9                	test   %ecx,%ecx
1400611d3:	0f 84 51 01 00 00    	je     0x14006132a
1400611d9:	49 8b d7             	mov    %r15,%rdx
1400611dc:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
1400611e0:	e8 fb 0d 00 00       	call   0x140061fe0
1400611e5:	4d 8b c7             	mov    %r15,%r8
1400611e8:	33 d2                	xor    %edx,%edx
1400611ea:	4c 8b 75 df          	mov    -0x21(%rbp),%r14
1400611ee:	49 8b ce             	mov    %r14,%rcx
1400611f1:	e8 20 91 00 00       	call   0x14006a316
1400611f6:	4f 8d 2c 3e          	lea    (%r14,%r15,1),%r13
1400611fa:	4c 89 6d e7          	mov    %r13,-0x19(%rbp)
1400611fe:	48 8b 45 ef          	mov    -0x11(%rbp),%rax
140061202:	48 89 45 cf          	mov    %rax,-0x31(%rbp)
140061206:	e9 27 01 00 00       	jmp    0x140061332
14006120b:	41 8b ce             	mov    %r14d,%ecx
14006120e:	41 b8 07 00 00 80    	mov    $0x80000007,%r8d
140061214:	41 23 c8             	and    %r8d,%ecx
140061217:	7d 07                	jge    0x140061220
140061219:	2b cf                	sub    %edi,%ecx
14006121b:	83 c9 f8             	or     $0xfffffff8,%ecx
14006121e:	03 cf                	add    %edi,%ecx
140061220:	41 8b c6             	mov    %r14d,%eax
140061223:	2b c1                	sub    %ecx,%eax
140061225:	99                   	cltd
140061226:	83 e2 07             	and    $0x7,%edx
140061229:	03 c2                	add    %edx,%eax
14006122b:	c1 f8 03             	sar    $0x3,%eax
14006122e:	8b d7                	mov    %edi,%edx
140061230:	d2 e2                	shl    %cl,%dl
140061232:	48 63 c8             	movslq %eax,%rcx
140061235:	44 38 25 8c 25 04 00 	cmp    %r12b,0x4258c(%rip)        # 0x1400a37c8
14006123c:	74 0f                	je     0x14006124d
14006123e:	48 8b c6             	mov    %rsi,%rax
140061241:	48 2b c3             	sub    %rbx,%rax
140061244:	48 3b c8             	cmp    %rax,%rcx
140061247:	0f 83 6b 03 00 00    	jae    0x1400615b8
14006124d:	08 14 19             	or     %dl,(%rcx,%rbx,1)
140061250:	41 8d 46 01          	lea    0x1(%r14),%eax
140061254:	8b c8                	mov    %eax,%ecx
140061256:	41 23 c8             	and    %r8d,%ecx
140061259:	7d 07                	jge    0x140061262
14006125b:	2b cf                	sub    %edi,%ecx
14006125d:	83 c9 f8             	or     $0xfffffff8,%ecx
140061260:	03 cf                	add    %edi,%ecx
140061262:	2b c1                	sub    %ecx,%eax
140061264:	99                   	cltd
140061265:	83 e2 07             	and    $0x7,%edx
140061268:	03 c2                	add    %edx,%eax
14006126a:	c1 f8 03             	sar    $0x3,%eax
14006126d:	8b d7                	mov    %edi,%edx
14006126f:	d2 e2                	shl    %cl,%dl
140061271:	48 63 c8             	movslq %eax,%rcx
140061274:	44 38 25 4d 25 04 00 	cmp    %r12b,0x4254d(%rip)        # 0x1400a37c8
14006127b:	74 0f                	je     0x14006128c
14006127d:	48 8b c6             	mov    %rsi,%rax
140061280:	48 2b c3             	sub    %rbx,%rax
140061283:	48 3b c8             	cmp    %rax,%rcx
140061286:	0f 83 2c 03 00 00    	jae    0x1400615b8
14006128c:	08 14 19             	or     %dl,(%rcx,%rbx,1)
14006128f:	e9 f4 fe ff ff       	jmp    0x140061188
140061294:	41 8b ce             	mov    %r14d,%ecx
140061297:	41 b8 07 00 00 80    	mov    $0x80000007,%r8d
14006129d:	41 23 c8             	and    %r8d,%ecx
1400612a0:	7d 07                	jge    0x1400612a9
1400612a2:	2b cf                	sub    %edi,%ecx
1400612a4:	83 c9 f8             	or     $0xfffffff8,%ecx
1400612a7:	03 cf                	add    %edi,%ecx
1400612a9:	41 8b c6             	mov    %r14d,%eax
1400612ac:	2b c1                	sub    %ecx,%eax
1400612ae:	99                   	cltd
1400612af:	83 e2 07             	and    $0x7,%edx
1400612b2:	03 c2                	add    %edx,%eax
1400612b4:	c1 f8 03             	sar    $0x3,%eax
1400612b7:	8b d7                	mov    %edi,%edx
1400612b9:	d2 e2                	shl    %cl,%dl
1400612bb:	f6 d2                	not    %dl
1400612bd:	48 63 c8             	movslq %eax,%rcx
1400612c0:	44 38 25 01 25 04 00 	cmp    %r12b,0x42501(%rip)        # 0x1400a37c8
1400612c7:	74 0f                	je     0x1400612d8
1400612c9:	48 8b c6             	mov    %rsi,%rax
1400612cc:	48 2b c3             	sub    %rbx,%rax
1400612cf:	48 3b c8             	cmp    %rax,%rcx
1400612d2:	0f 83 e0 02 00 00    	jae    0x1400615b8
1400612d8:	20 14 19             	and    %dl,(%rcx,%rbx,1)
1400612db:	e9 70 ff ff ff       	jmp    0x140061250
1400612e0:	41 8b ce             	mov    %r14d,%ecx
1400612e3:	41 b8 07 00 00 80    	mov    $0x80000007,%r8d
1400612e9:	41 23 c8             	and    %r8d,%ecx
1400612ec:	7d 07                	jge    0x1400612f5
1400612ee:	2b cf                	sub    %edi,%ecx
1400612f0:	83 c9 f8             	or     $0xfffffff8,%ecx
1400612f3:	03 cf                	add    %edi,%ecx
1400612f5:	41 8b c6             	mov    %r14d,%eax
1400612f8:	2b c1                	sub    %ecx,%eax
1400612fa:	99                   	cltd
1400612fb:	83 e2 07             	and    $0x7,%edx
1400612fe:	03 c2                	add    %edx,%eax
140061300:	c1 f8 03             	sar    $0x3,%eax
140061303:	8b d7                	mov    %edi,%edx
140061305:	d2 e2                	shl    %cl,%dl
140061307:	48 63 c8             	movslq %eax,%rcx
14006130a:	44 38 25 b7 24 04 00 	cmp    %r12b,0x424b7(%rip)        # 0x1400a37c8
140061311:	74 0f                	je     0x140061322
140061313:	48 8b c6             	mov    %rsi,%rax
140061316:	48 2b c3             	sub    %rbx,%rax
140061319:	48 3b c8             	cmp    %rax,%rcx
14006131c:	0f 83 96 02 00 00    	jae    0x1400615b8
140061322:	08 14 19             	or     %dl,(%rcx,%rbx,1)
140061325:	e9 1d fe ff ff       	jmp    0x140061147
14006132a:	4c 8b 6d e7          	mov    -0x19(%rbp),%r13
14006132e:	4c 8b 75 df          	mov    -0x21(%rbp),%r14
140061332:	8a 0d 90 24 04 00    	mov    0x42490(%rip),%cl        # 0x1400a37c8
140061338:	84 c9                	test   %cl,%cl
14006133a:	74 15                	je     0x140061351
14006133c:	4d 3b ee             	cmp    %r14,%r13
14006133f:	74 09                	je     0x14006134a
140061341:	84 c9                	test   %cl,%cl
140061343:	74 0c                	je     0x140061351
140061345:	48 85 f6             	test   %rsi,%rsi
140061348:	75 07                	jne    0x140061351
14006134a:	ff 15 28 e1 00 00    	call   *0xe128(%rip)        # 0x14006f478
140061350:	cc                   	int3
140061351:	4c 8b e3             	mov    %rbx,%r12
140061354:	4d 8b fe             	mov    %r14,%r15
140061357:	48 85 db             	test   %rbx,%rbx
14006135a:	74 1c                	je     0x140061378
14006135c:	4d 85 f6             	test   %r14,%r14
14006135f:	74 17                	je     0x140061378
140061361:	ba 02 00 00 00       	mov    $0x2,%edx
140061366:	8b ce                	mov    %esi,%ecx
140061368:	e8 43 fa ff ff       	call   0x140060db0
14006136d:	39 45 77             	cmp    %eax,0x77(%rbp)
140061370:	7d 28                	jge    0x14006139a
140061372:	8a 0d 50 24 04 00    	mov    0x42450(%rip),%cl        # 0x1400a37c8
140061378:	33 ff                	xor    %edi,%edi
14006137a:	85 ff                	test   %edi,%edi
14006137c:	0f 84 ad 02 00 00    	je     0x14006162f
140061382:	84 c9                	test   %cl,%cl
140061384:	0f 84 49 01 00 00    	je     0x1400614d3
14006138a:	4d 3b ee             	cmp    %r14,%r13
14006138d:	0f 85 40 01 00 00    	jne    0x1400614d3
140061393:	ff 15 df e0 00 00    	call   *0xe0df(%rip)        # 0x14006f478
140061399:	90                   	nop
14006139a:	b8 56 55 55 55       	mov    $0x55555556,%eax
14006139f:	f7 ee                	imul   %esi
1400613a1:	8b ca                	mov    %edx,%ecx
1400613a3:	c1 e9 1f             	shr    $0x1f,%ecx
1400613a6:	03 ca                	add    %edx,%ecx
1400613a8:	89 4d cb             	mov    %ecx,-0x35(%rbp)
1400613ab:	44 8d 1c 8d 00 00 00 	lea    0x0(,%rcx,4),%r11d
1400613b2:	00
1400613b3:	44 89 5d c7          	mov    %r11d,-0x39(%rbp)
1400613b7:	b8 f3 1a ca 6b       	mov    $0x6bca1af3,%eax
1400613bc:	41 f7 eb             	imul   %r11d
1400613bf:	44 8b c2             	mov    %edx,%r8d
1400613c2:	41 c1 f8 05          	sar    $0x5,%r8d
1400613c6:	41 8b c0             	mov    %r8d,%eax
1400613c9:	c1 e8 1f             	shr    $0x1f,%eax
1400613cc:	45 33 d2             	xor    %r10d,%r10d
1400613cf:	44 03 c0             	add    %eax,%r8d
1400613d2:	44 89 45 7f          	mov    %r8d,0x7f(%rbp)
1400613d6:	41 8d 42 13          	lea    0x13(%r10),%eax
1400613da:	89 45 77             	mov    %eax,0x77(%rbp)
1400613dd:	45 8d 4a 04          	lea    0x4(%r10),%r9d
1400613e1:	78 79                	js     0x14006145c
1400613e3:	45 3b d0             	cmp    %r8d,%r10d
1400613e6:	75 15                	jne    0x1400613fd
1400613e8:	41 6b c8 4c          	imul   $0x4c,%r8d,%ecx
1400613ec:	41 8b c3             	mov    %r11d,%eax
1400613ef:	2b c1                	sub    %ecx,%eax