14018f156:	48 83 ec 30          	sub    $0x30,%rsp
14018f15a:	48 8b da             	mov    %rdx,%rbx
14018f15d:	4d 85 c9             	test   %r9,%r9
14018f160:	74 3c                	je     0x14018f19e
14018f162:	48 85 d2             	test   %rdx,%rdx
14018f165:	74 37                	je     0x14018f19e
14018f167:	4d 85 c0             	test   %r8,%r8
14018f16a:	74 32                	je     0x14018f19e
14018f16c:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
14018f171:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14018f176:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14018f17b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14018f180:	e8 fb d3 ff ff       	call   0x14018c580
14018f185:	85 c0                	test   %eax,%eax
14018f187:	79 03                	jns    0x14018f18c
14018f189:	c6 03 00             	movb   $0x0,(%rbx)
14018f18c:	83 f8 fe             	cmp    $0xfffffffe,%eax
14018f18f:	75 20                	jne    0x14018f1b1
14018f191:	e8 76 0d 00 00       	call   0x14018ff0c
14018f196:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14018f19c:	eb 0b                	jmp    0x14018f1a9
14018f19e:	e8 69 0d 00 00       	call   0x14018ff0c
14018f1a3:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f1a9:	e8 b6 c3 ff ff       	call   0x14018b564
14018f1ae:	83 c8 ff             	or     $0xffffffff,%eax
14018f1b1:	48 83 c4 30          	add    $0x30,%rsp
14018f1b5:	5b                   	pop    %rbx
14018f1b6:	c3                   	ret
14018f1b7:	cc                   	int3
14018f1b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f1bd:	57                   	push   %rdi
14018f1be:	48 83 ec 30          	sub    $0x30,%rsp
14018f1c2:	33 ff                	xor    %edi,%edi
14018f1c4:	48 8b da             	mov    %rdx,%rbx
14018f1c7:	4d 85 c9             	test   %r9,%r9
14018f1ca:	74 3c                	je     0x14018f208
14018f1cc:	48 85 d2             	test   %rdx,%rdx
14018f1cf:	74 37                	je     0x14018f208
14018f1d1:	4d 85 c0             	test   %r8,%r8
14018f1d4:	74 32                	je     0x14018f208
14018f1d6:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
14018f1db:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14018f1e0:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
14018f1e5:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14018f1ea:	e8 39 d5 ff ff       	call   0x14018c728
14018f1ef:	85 c0                	test   %eax,%eax
14018f1f1:	79 03                	jns    0x14018f1f6
14018f1f3:	66 89 3b             	mov    %di,(%rbx)
14018f1f6:	83 f8 fe             	cmp    $0xfffffffe,%eax
14018f1f9:	75 20                	jne    0x14018f21b
14018f1fb:	e8 0c 0d 00 00       	call   0x14018ff0c
14018f200:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14018f206:	eb 0b                	jmp    0x14018f213
14018f208:	e8 ff 0c 00 00       	call   0x14018ff0c
14018f20d:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f213:	e8 4c c3 ff ff       	call   0x14018b564
14018f218:	83 c8 ff             	or     $0xffffffff,%eax
14018f21b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14018f220:	48 83 c4 30          	add    $0x30,%rsp
14018f224:	5f                   	pop    %rdi
14018f225:	c3                   	ret
14018f226:	cc                   	int3
14018f227:	cc                   	int3
14018f228:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f22d:	57                   	push   %rdi
14018f22e:	48 83 ec 20          	sub    $0x20,%rsp
14018f232:	33 db                	xor    %ebx,%ebx
14018f234:	48 8b fa             	mov    %rdx,%rdi
14018f237:	48 85 c9             	test   %rcx,%rcx
14018f23a:	75 15                	jne    0x14018f251
14018f23c:	e8 cb 0c 00 00       	call   0x14018ff0c
14018f241:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f247:	e8 18 c3 ff ff       	call   0x14018b564
14018f24c:	83 c8 ff             	or     $0xffffffff,%eax
14018f24f:	eb 17                	jmp    0x14018f268
14018f251:	48 85 d2             	test   %rdx,%rdx
14018f254:	74 e6                	je     0x14018f23c
14018f256:	e8 9d 95 00 00       	call   0x1401987f8
14018f25b:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14018f25f:	48 89 07             	mov    %rax,(%rdi)
14018f262:	0f 95 c3             	setne  %bl
14018f265:	8d 43 ff             	lea    -0x1(%rbx),%eax
14018f268:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018f26d:	48 83 c4 20          	add    $0x20,%rsp
14018f271:	5f                   	pop    %rdi
14018f272:	c3                   	ret
14018f273:	cc                   	int3
14018f274:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f279:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14018f27e:	57                   	push   %rdi
14018f27f:	48 83 ec 20          	sub    $0x20,%rsp
14018f283:	49 8b d9             	mov    %r9,%rbx
14018f286:	49 8b f8             	mov    %r8,%rdi
14018f289:	48 8b 0a             	mov    (%rdx),%rcx
14018f28c:	e8 13 d0 ff ff       	call   0x14018c2a4
14018f291:	90                   	nop
14018f292:	48 8b cf             	mov    %rdi,%rcx
14018f295:	e8 1a 00 00 00       	call   0x14018f2b4
14018f29a:	8b f8                	mov    %eax,%edi
14018f29c:	48 8b 0b             	mov    (%rbx),%rcx
14018f29f:	e8 0c d0 ff ff       	call   0x14018c2b0
14018f2a4:	8b c7                	mov    %edi,%eax
14018f2a6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14018f2ab:	48 83 c4 20          	add    $0x20,%rsp
14018f2af:	5f                   	pop    %rdi
14018f2b0:	c3                   	ret
14018f2b1:	cc                   	int3
14018f2b2:	cc                   	int3
14018f2b3:	cc                   	int3
14018f2b4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14018f2b9:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14018f2be:	57                   	push   %rdi
14018f2bf:	48 83 ec 20          	sub    $0x20,%rsp
14018f2c3:	48 8b 01             	mov    (%rcx),%rax
14018f2c6:	48 8b f9             	mov    %rcx,%rdi
14018f2c9:	48 8b 49 08          	mov    0x8(%rcx),%rcx
14018f2cd:	48 8b 30             	mov    (%rax),%rsi
14018f2d0:	48 8b 09             	mov    (%rcx),%rcx
14018f2d3:	48 83 e6 fe          	and    $0xfffffffffffffffe,%rsi
14018f2d7:	e8 b0 c4 ff ff       	call   0x14018b78c
14018f2dc:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14018f2e0:	48 8b 09             	mov    (%rcx),%rcx
14018f2e3:	e8 74 7a 01 00       	call   0x1401a6d5c
14018f2e8:	48 8b 47 08          	mov    0x8(%rdi),%rax
14018f2ec:	48 8b 10             	mov    (%rax),%rdx
14018f2ef:	f0 81 62 14 1f f8 ff 	lock andl $0xfffff81f,0x14(%rdx)
14018f2f6:	ff
14018f2f7:	48 8b 47 10          	mov    0x10(%rdi),%rax
14018f2fb:	f6 00 04             	testb  $0x4,(%rax)
14018f2fe:	74 1c                	je     0x14018f31c
14018f300:	48 8b 47 08          	mov    0x8(%rdi),%rax
14018f304:	48 8b 00             	mov    (%rax),%rax
14018f307:	48 8d 48 1c          	lea    0x1c(%rax),%rcx
14018f30b:	f0 81 48 14 00 04 00 	lock orl $0x400,0x14(%rax)
14018f312:	00
14018f313:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%rax)
14018f31a:	eb 69                	jmp    0x14018f385
14018f31c:	48 8b 47 18          	mov    0x18(%rdi),%rax
14018f320:	48 8b 08             	mov    (%rax),%rcx
14018f323:	48 85 c9             	test   %rcx,%rcx
14018f326:	75 4b                	jne    0x14018f373
14018f328:	48 8b ce             	mov    %rsi,%rcx
14018f32b:	e8 5c 8f 01 00       	call   0x1401a828c
14018f330:	33 c9                	xor    %ecx,%ecx
14018f332:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14018f337:	48 8b d8             	mov    %rax,%rbx
14018f33a:	e8 7d 76 01 00       	call   0x1401a69bc
14018f33f:	48 85 db             	test   %rbx,%rbx
14018f342:	75 0b                	jne    0x14018f34f
14018f344:	ff 05 de df 18 00    	incl   0x18dfde(%rip)        # 0x14031d328
14018f34a:	83 c8 ff             	or     $0xffffffff,%eax
14018f34d:	eb 43                	jmp    0x14018f392
14018f34f:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
14018f353:	48 8b 09             	mov    (%rcx),%rcx
14018f356:	f0 81 49 14 40 01 00 	lock orl $0x140,0x14(%rcx)
14018f35d:	00
14018f35e:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14018f363:	83 61 10 00          	andl   $0x0,0x10(%rcx)
14018f367:	48 89 01             	mov    %rax,(%rcx)
14018f36a:	48 89 41 08          	mov    %rax,0x8(%rcx)
14018f36e:	89 71 20             	mov    %esi,0x20(%rcx)
14018f371:	eb 1d                	jmp    0x14018f390
14018f373:	48 8b 47 08          	mov    0x8(%rdi),%rax
14018f377:	48 8b 00             	mov    (%rax),%rax
14018f37a:	f0 81 48 14 80 01 00 	lock orl $0x180,0x14(%rax)
14018f381:	00
14018f382:	89 70 20             	mov    %esi,0x20(%rax)
14018f385:	48 89 08             	mov    %rcx,(%rax)
14018f388:	48 89 48 08          	mov    %rcx,0x8(%rax)
14018f38c:	83 60 10 00          	andl   $0x0,0x10(%rax)
14018f390:	33 c0                	xor    %eax,%eax
14018f392:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14018f397:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14018f39c:	48 83 c4 20          	add    $0x20,%rsp
14018f3a0:	5f                   	pop    %rdi
14018f3a1:	c3                   	ret
14018f3a2:	cc                   	int3
14018f3a3:	cc                   	int3
14018f3a4:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14018f3a9:	44 89 44 24 18       	mov    %r8d,0x18(%rsp)
14018f3ae:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14018f3b3:	55                   	push   %rbp
14018f3b4:	48 8b ec             	mov    %rsp,%rbp
14018f3b7:	48 83 ec 60          	sub    $0x60,%rsp
14018f3bb:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
14018f3bf:	48 85 c9             	test   %rcx,%rcx
14018f3c2:	75 15                	jne    0x14018f3d9
14018f3c4:	e8 43 0b 00 00       	call   0x14018ff0c
14018f3c9:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f3cf:	e8 90 c1 ff ff       	call   0x14018b564
14018f3d4:	83 c8 ff             	or     $0xffffffff,%eax
14018f3d7:	eb 63                	jmp    0x14018f43c
14018f3d9:	41 83 f8 04          	cmp    $0x4,%r8d
14018f3dd:	74 0b                	je     0x14018f3ea
14018f3df:	45 85 c0             	test   %r8d,%r8d
14018f3e2:	74 0f                	je     0x14018f3f3
14018f3e4:	41 83 f8 40          	cmp    $0x40,%r8d
14018f3e8:	75 da                	jne    0x14018f3c4
14018f3ea:	41 f7 c0 bf ff ff ff 	test   $0xffffffbf,%r8d
14018f3f1:	75 0c                	jne    0x14018f3ff
14018f3f3:	49 8d 41 fe          	lea    -0x2(%r9),%rax
14018f3f7:	48 3d fd ff ff 7f    	cmp    $0x7ffffffd,%rax
14018f3fd:	77 c5                	ja     0x14018f3c4
14018f3ff:	48 8d 45 28          	lea    0x28(%rbp),%rax
14018f403:	48 89 4d c8          	mov    %rcx,-0x38(%rbp)
14018f407:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14018f40b:	4c 8d 4d c8          	lea    -0x38(%rbp),%r9
14018f40f:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
14018f413:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
14018f417:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
14018f41b:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
14018f41f:	48 8d 45 20          	lea    0x20(%rbp),%rax
14018f423:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
14018f427:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
14018f42b:	48 8d 45 18          	lea    0x18(%rbp),%rax
14018f42f:	48 8d 4d 10          	lea    0x10(%rbp),%rcx
14018f433:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14018f437:	e8 38 fe ff ff       	call   0x14018f274
14018f43c:	48 83 c4 60          	add    $0x60,%rsp
14018f440:	5d                   	pop    %rbp
14018f441:	c3                   	ret
14018f442:	cc                   	int3
14018f443:	cc                   	int3
14018f444:	40 53                	rex push %rbx
14018f446:	48 83 ec 20          	sub    $0x20,%rsp
14018f44a:	48 8b d9             	mov    %rcx,%rbx
14018f44d:	48 85 c9             	test   %rcx,%rcx
14018f450:	75 14                	jne    0x14018f466
14018f452:	e8 b5 0a 00 00       	call   0x14018ff0c
14018f457:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f45d:	e8 02 c1 ff ff       	call   0x14018b564
14018f462:	33 c0                	xor    %eax,%eax
14018f464:	eb 6d                	jmp    0x14018f4d3
14018f466:	83 fa 01             	cmp    $0x1,%edx
14018f469:	75 f7                	jne    0x14018f462
14018f46b:	33 c0                	xor    %eax,%eax
14018f46d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14018f472:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14018f477:	e8 cc 80 01 00       	call   0x1401a7548
14018f47c:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
14018f481:	48 b9 00 80 c1 2a 21 	movabs $0xfe624e212ac18000,%rcx
14018f488:	4e 62 fe
14018f48b:	4c 03 c1             	add    %rcx,%r8
14018f48e:	48 b8 bd 42 7a e5 d5 	movabs $0xd6bf94d5e57a42bd,%rax
14018f495:	94 bf d6
14018f498:	49 f7 e8             	imul   %r8
14018f49b:	49 03 d0             	add    %r8,%rdx
14018f49e:	48 c1 fa 17          	sar    $0x17,%rdx
14018f4a2:	48 8b c2             	mov    %rdx,%rax
14018f4a5:	48 c1 e8 3f          	shr    $0x3f,%rax
14018f4a9:	48 03 d0             	add    %rax,%rdx
14018f4ac:	48 b8 ff 6f 40 93 07 	movabs $0x793406fff,%rax
14018f4b3:	00 00 00
14018f4b6:	48 3b d0             	cmp    %rax,%rdx
14018f4b9:	7f a7                	jg     0x14018f462
14018f4bb:	69 ca 80 96 98 00    	imul   $0x989680,%edx,%ecx
14018f4c1:	b8 01 00 00 00       	mov    $0x1,%eax
14018f4c6:	48 89 13             	mov    %rdx,(%rbx)
14018f4c9:	44 2b c1             	sub    %ecx,%r8d
14018f4cc:	41 6b c8 64          	imul   $0x64,%r8d,%ecx
14018f4d0:	89 4b 08             	mov    %ecx,0x8(%rbx)
14018f4d3:	48 83 c4 20          	add    $0x20,%rsp
14018f4d7:	5b                   	pop    %rbx
14018f4d8:	c3                   	ret
14018f4d9:	cc                   	int3
14018f4da:	cc                   	int3
14018f4db:	cc                   	int3
14018f4dc:	40 53                	rex push %rbx
14018f4de:	48 83 ec 30          	sub    $0x30,%rsp
14018f4e2:	33 c0                	xor    %eax,%eax
14018f4e4:	48 8b d9             	mov    %rcx,%rbx
14018f4e7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14018f4ec:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14018f4f1:	8d 50 01             	lea    0x1(%rax),%edx
14018f4f4:	e8 4b ff ff ff       	call   0x14018f444
14018f4f9:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
14018f4fe:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
14018f502:	83 f8 01             	cmp    $0x1,%eax
14018f505:	48 0f 45 d1          	cmovne %rcx,%rdx
14018f509:	48 85 db             	test   %rbx,%rbx
14018f50c:	74 03                	je     0x14018f511
14018f50e:	48 89 13             	mov    %rdx,(%rbx)
14018f511:	48 8b c2             	mov    %rdx,%rax
14018f514:	48 83 c4 30          	add    $0x30,%rsp
14018f518:	5b                   	pop    %rbx
14018f519:	c3                   	ret
14018f51a:	cc                   	int3
14018f51b:	cc                   	int3
14018f51c:	e9 9b 74 01 00       	jmp    0x1401a69bc
14018f521:	cc                   	int3
14018f522:	cc                   	int3
14018f523:	cc                   	int3
14018f524:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018f529:	57                   	push   %rdi
14018f52a:	48 83 ec 20          	sub    $0x20,%rsp
14018f52e:	8b 42 14             	mov    0x14(%rdx),%eax
14018f531:	48 8b da             	mov    %rdx,%rbx
14018f534:	8b f9                	mov    %ecx,%edi
14018f536:	c1 e8 0c             	shr    $0xc,%eax
14018f539:	a8 01                	test   $0x1,%al
14018f53b:	75 7d                	jne    0x14018f5ba
14018f53d:	48 8b ca             	mov    %rdx,%rcx
14018f540:	e8 77 63 01 00       	call   0x1401a58bc
14018f545:	4c 63 c8             	movslq %eax,%r9
14018f548:	48 8d 15 81 bf 11 00 	lea    0x11bf81(%rip),%rdx        # 0x1402ab4d0
14018f54f:	4c 8d 15 ba e1 18 00 	lea    0x18e1ba(%rip),%r10        # 0x14031d710
14018f556:	41 8d 49 02          	lea    0x2(%r9),%ecx
14018f55a:	83 f9 01             	cmp    $0x1,%ecx
14018f55d:	76 18                	jbe    0x14018f577
14018f55f:	4d 8b c1             	mov    %r9,%r8
14018f562:	49 8b c9             	mov    %r9,%rcx
14018f565:	41 83 e0 3f          	and    $0x3f,%r8d
14018f569:	48 c1 f9 06          	sar    $0x6,%rcx
14018f56d:	49 c1 e0 06          	shl    $0x6,%r8
14018f571:	4d 03 04 ca          	add    (%r10,%rcx,8),%r8
14018f575:	eb 03                	jmp    0x14018f57a
14018f577:	4c 8b c2             	mov    %rdx,%r8
14018f57a:	41 80 78 39 00       	cmpb   $0x0,0x39(%r8)
14018f57f:	75 24                	jne    0x14018f5a5
14018f581:	41 8d 41 02          	lea    0x2(%r9),%eax
14018f585:	83 f8 01             	cmp    $0x1,%eax
14018f588:	76 15                	jbe    0x14018f59f
14018f58a:	49 8b d1             	mov    %r9,%rdx
14018f58d:	49 8b c1             	mov    %r9,%rax
14018f590:	83 e2 3f             	and    $0x3f,%edx
14018f593:	48 c1 f8 06          	sar    $0x6,%rax
14018f597:	48 c1 e2 06          	shl    $0x6,%rdx
14018f59b:	49 03 14 c2          	add    (%r10,%rax,8),%rdx
14018f59f:	f6 42 3d 01          	testb  $0x1,0x3d(%rdx)
14018f5a3:	74 15                	je     0x14018f5ba
14018f5a5:	e8 62 09 00 00       	call   0x14018ff0c
14018f5aa:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14018f5b0:	e8 af bf ff ff       	call   0x14018b564
14018f5b5:	83 c8 ff             	or     $0xffffffff,%eax
14018f5b8:	eb 6c                	jmp    0x14018f626
14018f5ba:	83 ff ff             	cmp    $0xffffffff,%edi
14018f5bd:	74 f6                	je     0x14018f5b5
14018f5bf:	8b 43 14             	mov    0x14(%rbx),%eax
14018f5c2:	8b 4b 14             	mov    0x14(%rbx),%ecx
14018f5c5:	a8 01                	test   $0x1,%al
14018f5c7:	75 08                	jne    0x14018f5d1
14018f5c9:	83 e1 06             	and    $0x6,%ecx
14018f5cc:	80 f9 06             	cmp    $0x6,%cl
14018f5cf:	75 e4                	jne    0x14018f5b5
14018f5d1:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
14018f5d6:	75 08                	jne    0x14018f5e0
14018f5d8:	48 8b cb             	mov    %rbx,%rcx
14018f5db:	e8 88 9c 01 00       	call   0x1401a9268
14018f5e0:	48 8b 03             	mov    (%rbx),%rax
14018f5e3:	48 3b 43 08          	cmp    0x8(%rbx),%rax