1403c4000:	e8 eb a7 90 00       	call   0x140cce7f0
1403c4005:	90                   	nop
1403c4006:	48 85 ff             	test   %rdi,%rdi
1403c4009:	74 27                	je     0x1403c4032
1403c400b:	8b 47 10             	mov    0x10(%rdi),%eax
1403c400e:	ff c8                	dec    %eax
1403c4010:	89 47 10             	mov    %eax,0x10(%rdi)
1403c4013:	85 c0                	test   %eax,%eax
1403c4015:	7f 1b                	jg     0x1403c4032
1403c4017:	0f 88 93 01 00 00    	js     0x1403c41b0
1403c401d:	48 8b 07             	mov    (%rdi),%rax
1403c4020:	ba 01 00 00 00       	mov    $0x1,%edx
1403c4025:	48 8b cf             	mov    %rdi,%rcx
1403c4028:	48 8b 00             	mov    (%rax),%rax
1403c402b:	ff 15 ef f9 bb 00    	call   *0xbbf9ef(%rip)        # 0x140f83a20
1403c4031:	90                   	nop
1403c4032:	4d 85 f6             	test   %r14,%r14
1403c4035:	74 29                	je     0x1403c4060
1403c4037:	41 8b 46 10          	mov    0x10(%r14),%eax
1403c403b:	ff c8                	dec    %eax
1403c403d:	41 89 46 10          	mov    %eax,0x10(%r14)
1403c4041:	85 c0                	test   %eax,%eax
1403c4043:	7f 1b                	jg     0x1403c4060
1403c4045:	0f 88 70 01 00 00    	js     0x1403c41bb
1403c404b:	49 8b 06             	mov    (%r14),%rax
1403c404e:	ba 01 00 00 00       	mov    $0x1,%edx
1403c4053:	49 8b ce             	mov    %r14,%rcx
1403c4056:	48 8b 00             	mov    (%rax),%rax
1403c4059:	ff 15 c1 f9 bb 00    	call   *0xbbf9c1(%rip)        # 0x140f83a20
1403c405f:	90                   	nop
1403c4060:	4d 85 ff             	test   %r15,%r15
1403c4063:	74 29                	je     0x1403c408e
1403c4065:	41 8b 47 10          	mov    0x10(%r15),%eax
1403c4069:	ff c8                	dec    %eax
1403c406b:	41 89 47 10          	mov    %eax,0x10(%r15)
1403c406f:	85 c0                	test   %eax,%eax
1403c4071:	7f 1b                	jg     0x1403c408e
1403c4073:	0f 88 4d 01 00 00    	js     0x1403c41c6
1403c4079:	49 8b 07             	mov    (%r15),%rax
1403c407c:	ba 01 00 00 00       	mov    $0x1,%edx
1403c4081:	49 8b cf             	mov    %r15,%rcx
1403c4084:	48 8b 00             	mov    (%rax),%rax
1403c4087:	ff 15 93 f9 bb 00    	call   *0xbbf993(%rip)        # 0x140f83a20
1403c408d:	90                   	nop
1403c408e:	48 85 f6             	test   %rsi,%rsi
1403c4091:	74 23                	je     0x1403c40b6
1403c4093:	8b 46 10             	mov    0x10(%rsi),%eax
1403c4096:	ff c8                	dec    %eax
1403c4098:	89 46 10             	mov    %eax,0x10(%rsi)
1403c409b:	85 c0                	test   %eax,%eax
1403c409d:	7f 17                	jg     0x1403c40b6
1403c409f:	78 30                	js     0x1403c40d1
1403c40a1:	48 8b 06             	mov    (%rsi),%rax
1403c40a4:	ba 01 00 00 00       	mov    $0x1,%edx
1403c40a9:	48 8b ce             	mov    %rsi,%rcx
1403c40ac:	48 8b 00             	mov    (%rax),%rax
1403c40af:	ff 15 6b f9 bb 00    	call   *0xbbf96b(%rip)        # 0x140f83a20
1403c40b5:	90                   	nop
1403c40b6:	48 8b 9c 24 58 01 00 	mov    0x158(%rsp),%rbx
1403c40bd:	00
1403c40be:	48 81 c4 10 01 00 00 	add    $0x110,%rsp
1403c40c5:	41 5f                	pop    %r15
1403c40c7:	41 5e                	pop    %r14
1403c40c9:	41 5d                	pop    %r13
1403c40cb:	41 5c                	pop    %r12
1403c40cd:	5f                   	pop    %rdi
1403c40ce:	5e                   	pop    %rsi
1403c40cf:	5d                   	pop    %rbp
1403c40d0:	c3                   	ret
1403c40d1:	b9 02 00 00 00       	mov    $0x2,%ecx
1403c40d6:	e8 25 66 3c 00       	call   0x14078a700
1403c40db:	90                   	nop
1403c40dc:	33 c9                	xor    %ecx,%ecx
1403c40de:	e8 1d 66 3c 00       	call   0x14078a700
1403c40e3:	90                   	nop
1403c40e4:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c40e9:	e8 12 66 3c 00       	call   0x14078a700
1403c40ee:	cc                   	int3
1403c40ef:	33 c9                	xor    %ecx,%ecx
1403c40f1:	e8 0a 66 3c 00       	call   0x14078a700
1403c40f6:	90                   	nop
1403c40f7:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c40fc:	e8 ff 65 3c 00       	call   0x14078a700
1403c4101:	cc                   	int3
1403c4102:	33 c9                	xor    %ecx,%ecx
1403c4104:	e8 f7 65 3c 00       	call   0x14078a700
1403c4109:	90                   	nop
1403c410a:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c410f:	e8 ec 65 3c 00       	call   0x14078a700
1403c4114:	cc                   	int3
1403c4115:	33 c9                	xor    %ecx,%ecx
1403c4117:	e8 e4 65 3c 00       	call   0x14078a700
1403c411c:	90                   	nop
1403c411d:	b9 02 00 00 00       	mov    $0x2,%ecx
1403c4122:	e8 d9 65 3c 00       	call   0x14078a700
1403c4127:	90                   	nop
1403c4128:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c412d:	e8 ce 65 3c 00       	call   0x14078a700
1403c4132:	cc                   	int3
1403c4133:	33 c9                	xor    %ecx,%ecx
1403c4135:	e8 c6 65 3c 00       	call   0x14078a700
1403c413a:	90                   	nop
1403c413b:	b9 02 00 00 00       	mov    $0x2,%ecx
1403c4140:	e8 bb 65 3c 00       	call   0x14078a700
1403c4145:	90                   	nop
1403c4146:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c414b:	e8 b0 65 3c 00       	call   0x14078a700
1403c4150:	90                   	nop
1403c4151:	33 c9                	xor    %ecx,%ecx
1403c4153:	e8 a8 65 3c 00       	call   0x14078a700
1403c4158:	cc                   	int3
1403c4159:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c415e:	e8 9d 65 3c 00       	call   0x14078a700
1403c4163:	90                   	nop
1403c4164:	33 c9                	xor    %ecx,%ecx
1403c4166:	e8 95 65 3c 00       	call   0x14078a700
1403c416b:	cc                   	int3
1403c416c:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c4171:	e8 8a 65 3c 00       	call   0x14078a700
1403c4176:	90                   	nop
1403c4177:	33 c9                	xor    %ecx,%ecx
1403c4179:	e8 82 65 3c 00       	call   0x14078a700
1403c417e:	cc                   	int3
1403c417f:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c4184:	e8 77 65 3c 00       	call   0x14078a700
1403c4189:	90                   	nop
1403c418a:	33 c9                	xor    %ecx,%ecx
1403c418c:	e8 6f 65 3c 00       	call   0x14078a700
1403c4191:	cc                   	int3
1403c4192:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c4197:	e8 64 65 3c 00       	call   0x14078a700
1403c419c:	90                   	nop
1403c419d:	33 c9                	xor    %ecx,%ecx
1403c419f:	e8 5c 65 3c 00       	call   0x14078a700
1403c41a4:	cc                   	int3
1403c41a5:	b9 01 00 00 00       	mov    $0x1,%ecx
1403c41aa:	e8 51 65 3c 00       	call   0x14078a700
1403c41af:	90                   	nop
1403c41b0:	b9 02 00 00 00       	mov    $0x2,%ecx
1403c41b5:	e8 46 65 3c 00       	call   0x14078a700
1403c41ba:	90                   	nop
1403c41bb:	b9 02 00 00 00       	mov    $0x2,%ecx
1403c41c0:	e8 3b 65 3c 00       	call   0x14078a700
1403c41c5:	90                   	nop
1403c41c6:	b9 02 00 00 00       	mov    $0x2,%ecx
1403c41cb:	e8 30 65 3c 00       	call   0x14078a700
1403c41d0:	cc                   	int3
1403c41d1:	cc                   	int3
1403c41d2:	cc                   	int3
1403c41d3:	cc                   	int3
1403c41d4:	cc                   	int3
1403c41d5:	cc                   	int3
1403c41d6:	cc                   	int3
1403c41d7:	cc                   	int3
1403c41d8:	cc                   	int3
1403c41d9:	cc                   	int3
1403c41da:	cc                   	int3
1403c41db:	cc                   	int3
1403c41dc:	cc                   	int3
1403c41dd:	cc                   	int3
1403c41de:	cc                   	int3
1403c41df:	cc                   	int3
1403c41e0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1403c41e5:	56                   	push   %rsi
1403c41e6:	41 57                	push   %r15
1403c41e8:	48 83 ec 48          	sub    $0x48,%rsp
1403c41ec:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
1403c41f3:	ff ff 0f
1403c41f6:	4c 8b f9             	mov    %rcx,%r15
1403c41f9:	48 0f bd c8          	bsr    %rax,%rcx
1403c41fd:	be 01 00 00 00       	mov    $0x1,%esi
1403c4202:	8b c6                	mov    %esi,%eax
1403c4204:	48 d3 e0             	shl    %cl,%rax
1403c4207:	48 3b d0             	cmp    %rax,%rdx
1403c420a:	0f 87 1b 03 00 00    	ja     0x1403c452b
1403c4210:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1403c4214:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1403c4219:	49 8b 57 20          	mov    0x20(%r15),%rdx
1403c421d:	48 0b c6             	or     %rsi,%rax
1403c4220:	48 0f bd c8          	bsr    %rax,%rcx
1403c4224:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
1403c4229:	48 8b c2             	mov    %rdx,%rax
1403c422c:	49 8b 6f 08          	mov    0x8(%r15),%rbp
1403c4230:	ff c1                	inc    %ecx
1403c4232:	48 d3 e6             	shl    %cl,%rsi
1403c4235:	49 8b 4f 18          	mov    0x18(%r15),%rcx
1403c4239:	48 2b c1             	sub    %rcx,%rax
1403c423c:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
1403c4241:	48 c1 f8 03          	sar    $0x3,%rax
1403c4245:	48 8d 3c 36          	lea    (%rsi,%rsi,1),%rdi
1403c4249:	48 89 6c 24 68       	mov    %rbp,0x68(%rsp)
1403c424e:	48 3b c7             	cmp    %rdi,%rax
1403c4251:	0f 83 ca 00 00 00    	jae    0x1403c4321
1403c4257:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
1403c425e:	ff ff 1f
1403c4261:	48 3b f8             	cmp    %rax,%rdi
1403c4264:	0f 87 bb 02 00 00    	ja     0x1403c4525
1403c426a:	48 8d 3c fd 00 00 00 	lea    0x0(,%rdi,8),%rdi
1403c4271:	00
1403c4272:	48 85 ff             	test   %rdi,%rdi
1403c4275:	75 04                	jne    0x1403c427b
1403c4277:	33 db                	xor    %ebx,%ebx
1403c4279:	eb 3d                	jmp    0x1403c42b8
1403c427b:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
1403c4282:	72 29                	jb     0x1403c42ad
1403c4284:	48 8d 4f 27          	lea    0x27(%rdi),%rcx
1403c4288:	48 3b cf             	cmp    %rdi,%rcx
1403c428b:	0f 86 94 02 00 00    	jbe    0x1403c4525
1403c4291:	e8 72 6e a5 00       	call   0x140e1b108
1403c4296:	48 85 c0             	test   %rax,%rax
1403c4299:	0f 84 99 02 00 00    	je     0x1403c4538
1403c429f:	48 8d 58 27          	lea    0x27(%rax),%rbx
1403c42a3:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1403c42a7:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1403c42ab:	eb 0b                	jmp    0x1403c42b8
1403c42ad:	48 8b cf             	mov    %rdi,%rcx
1403c42b0:	e8 53 6e a5 00       	call   0x140e1b108
1403c42b5:	48 8b d8             	mov    %rax,%rbx
1403c42b8:	49 8b 4f 18          	mov    0x18(%r15),%rcx
1403c42bc:	49 8b 47 28          	mov    0x28(%r15),%rax
1403c42c0:	48 2b c1             	sub    %rcx,%rax
1403c42c3:	48 c1 f8 03          	sar    $0x3,%rax
1403c42c7:	48 85 c0             	test   %rax,%rax
1403c42ca:	74 32                	je     0x1403c42fe
1403c42cc:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
1403c42d3:	00
1403c42d4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1403c42db:	72 1c                	jb     0x1403c42f9
1403c42dd:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1403c42e1:	48 83 c2 27          	add    $0x27,%rdx
1403c42e5:	49 2b c8             	sub    %r8,%rcx
1403c42e8:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1403c42ec:	48 83 f8 1f          	cmp    $0x1f,%rax
1403c42f0:	0f 87 42 02 00 00    	ja     0x1403c4538
1403c42f6:	49 8b c8             	mov    %r8,%rcx
1403c42f9:	e8 46 6e a5 00       	call   0x140e1b144
1403c42fe:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
1403c4302:	49 89 5f 18          	mov    %rbx,0x18(%r15)
1403c4306:	49 89 47 20          	mov    %rax,0x20(%r15)
1403c430a:	49 89 47 28          	mov    %rax,0x28(%r15)
1403c430e:	48 3b d8             	cmp    %rax,%rbx
1403c4311:	74 18                	je     0x1403c432b
1403c4313:	48 89 2b             	mov    %rbp,(%rbx)
1403c4316:	48 83 c3 08          	add    $0x8,%rbx
1403c431a:	48 3b d8             	cmp    %rax,%rbx
1403c431d:	75 f4                	jne    0x1403c4313
1403c431f:	eb 0a                	jmp    0x1403c432b
1403c4321:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
1403c4326:	e8 b5 21 e5 ff       	call   0x1402164e0
1403c432b:	49 89 77 38          	mov    %rsi,0x38(%r15)
1403c432f:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
1403c4333:	49 89 47 30          	mov    %rax,0x30(%r15)
1403c4337:	49 8b 7f 08          	mov    0x8(%r15),%rdi
1403c433b:	48 8b 3f             	mov    (%rdi),%rdi
1403c433e:	48 8b f7             	mov    %rdi,%rsi
1403c4341:	48 3b fd             	cmp    %rbp,%rdi
1403c4344:	0f 84 9e 01 00 00    	je     0x1403c44e8
1403c434a:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
1403c434f:	48 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rcx
1403c4356:	9c f2 cb
1403c4359:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1403c435e:	48 bb b3 01 00 00 00 	movabs $0x100000001b3,%rbx
1403c4365:	01 00 00
1403c4368:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1403c436d:	0f 1f 00             	nopl   (%rax)
1403c4370:	48 8b 47 28          	mov    0x28(%rdi),%rax
1403c4374:	4c 8d 4f 10          	lea    0x10(%rdi),%r9
1403c4378:	4c 8b 47 20          	mov    0x20(%rdi),%r8
1403c437c:	4c 8b d8             	mov    %rax,%r11
1403c437f:	48 8b 36             	mov    (%rsi),%rsi
1403c4382:	4d 8b d0             	mov    %r8,%r10
1403c4385:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1403c438a:	48 83 f8 0f          	cmp    $0xf,%rax
1403c438e:	76 04                	jbe    0x1403c4394
1403c4390:	4c 8b 4f 10          	mov    0x10(%rdi),%r9
1403c4394:	33 d2                	xor    %edx,%edx
1403c4396:	4d 85 c0             	test   %r8,%r8
1403c4399:	74 20                	je     0x1403c43bb
1403c439b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1403c43a0:	41 0f b6 04 11       	movzbl (%r9,%rdx,1),%eax
1403c43a5:	48 ff c2             	inc    %rdx
1403c43a8:	48 33 c8             	xor    %rax,%rcx
1403c43ab:	48 0f af cb          	imul   %rbx,%rcx
1403c43af:	49 3b d0             	cmp    %r8,%rdx
1403c43b2:	72 ec                	jb     0x1403c43a0
1403c43b4:	4c 8b 5f 28          	mov    0x28(%rdi),%r11
1403c43b8:	4d 8b d0             	mov    %r8,%r10
1403c43bb:	49 23 4f 30          	and    0x30(%r15),%rcx
1403c43bf:	4d 8b 6f 18          	mov    0x18(%r15),%r13
1403c43c3:	48 c1 e1 04          	shl    $0x4,%rcx
1403c43c7:	4c 03 e9             	add    %rcx,%r13
1403c43ca:	4d 8b 65 00          	mov    0x0(%r13),%r12
1403c43ce:	4c 3b e5             	cmp    %rbp,%r12
1403c43d1:	75 0d                	jne    0x1403c43e0
1403c43d3:	49 89 7d 00          	mov    %rdi,0x0(%r13)
1403c43d7:	49 89 7d 08          	mov    %rdi,0x8(%r13)
1403c43db:	e9 e3 00 00 00       	jmp    0x1403c44c3
1403c43e0:	49 8b 5d 08          	mov    0x8(%r13),%rbx
1403c43e4:	48 83 7b 28 0f       	cmpq   $0xf,0x28(%rbx)
1403c43e9:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1403c43ed:	48 8b 42 10          	mov    0x10(%rdx),%rax
1403c43f1:	76 03                	jbe    0x1403c43f6
1403c43f3:	48 8b 12             	mov    (%rdx),%rdx
1403c43f6:	48 83 7c 24 68 0f    	cmpq   $0xf,0x68(%rsp)
1403c43fc:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1403c4400:	4d 8b f8             	mov    %r8,%r15
1403c4403:	76 0c                	jbe    0x1403c4411
1403c4405:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1403c4409:	4d 8b fa             	mov    %r10,%r15
1403c440c:	4c 89 5c 24 68       	mov    %r11,0x68(%rsp)
1403c4411:	4c 3b c0             	cmp    %rax,%r8
1403c4414:	75 38                	jne    0x1403c444e
1403c4416:	e8 35 b6 b1 00       	call   0x140edfa50
1403c441b:	85 c0                	test   %eax,%eax
1403c441d:	75 2f                	jne    0x1403c444e
1403c441f:	4c 8b 03             	mov    (%rbx),%r8
1403c4422:	4c 3b c7             	cmp    %rdi,%r8
1403c4425:	74 21                	je     0x1403c4448
1403c4427:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1403c442b:	48 89 32             	mov    %rsi,(%rdx)
1403c442e:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1403c4432:	4c 89 01             	mov    %r8,(%rcx)
1403c4435:	49 8b 40 08          	mov    0x8(%r8),%rax
1403c4439:	48 89 38             	mov    %rdi,(%rax)
1403c443c:	49 89 48 08          	mov    %rcx,0x8(%r8)
1403c4440:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1403c4444:	48 89 47 08          	mov    %rax,0x8(%rdi)
1403c4448:	49 89 7d 08          	mov    %rdi,0x8(%r13)
1403c444c:	eb 66                	jmp    0x1403c44b4
1403c444e:	4c 3b e3             	cmp    %rbx,%r12
1403c4451:	74 3c                	je     0x1403c448f
1403c4453:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1403c4457:	48 83 7b 28 0f       	cmpq   $0xf,0x28(%rbx)
1403c445c:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1403c4460:	48 8b 42 10          	mov    0x10(%rdx),%rax
1403c4464:	76 03                	jbe    0x1403c4469
1403c4466:	48 8b 12             	mov    (%rdx),%rdx
1403c4469:	48 83 7c 24 68 0f    	cmpq   $0xf,0x68(%rsp)
1403c446f:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1403c4473:	76 04                	jbe    0x1403c4479
1403c4475:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1403c4479:	4c 3b f8             	cmp    %rax,%r15
1403c447c:	75 0c                	jne    0x1403c448a
1403c447e:	4d 8b c7             	mov    %r15,%r8
1403c4481:	e8 ca b5 b1 00       	call   0x140edfa50
1403c4486:	85 c0                	test   %eax,%eax
1403c4488:	74 75                	je     0x1403c44ff
1403c448a:	4c 3b e3             	cmp    %rbx,%r12
1403c448d:	75 c4                	jne    0x1403c4453
1403c448f:	48 8b 57 08          	mov    0x8(%rdi),%rdx