14015a14a:	48 85 ff             	test   %rdi,%rdi
14015a14d:	74 15                	je     0x14015a164
14015a14f:	48 8b 47 08          	mov    0x8(%rdi),%rax
14015a153:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a157:	48 83 c1 08          	add    $0x8,%rcx
14015a15b:	48 03 cf             	add    %rdi,%rcx
14015a15e:	48 8b 01             	mov    (%rcx),%rax
14015a161:	ff 10                	call   *(%rax)
14015a163:	90                   	nop
14015a164:	48 8b 07             	mov    (%rdi),%rax
14015a167:	48 8b 18             	mov    (%rax),%rbx
14015a16a:	48 8b d5             	mov    %rbp,%rdx
14015a16d:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14015a172:	e8 99 e9 fe ff       	call   0x140148b10
14015a177:	48 8b d0             	mov    %rax,%rdx
14015a17a:	48 8b cf             	mov    %rdi,%rcx
14015a17d:	ff d3                	call   *%rbx
14015a17f:	90                   	nop
14015a180:	48 85 ff             	test   %rdi,%rdi
14015a183:	74 16                	je     0x14015a19b
14015a185:	48 8b 47 08          	mov    0x8(%rdi),%rax
14015a189:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a18d:	48 83 c1 08          	add    $0x8,%rcx
14015a191:	48 03 cf             	add    %rdi,%rcx
14015a194:	48 8b 01             	mov    (%rcx),%rax
14015a197:	ff 50 08             	call   *0x8(%rax)
14015a19a:	90                   	nop
14015a19b:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14015a1a0:	48 83 c4 20          	add    $0x20,%rsp
14015a1a4:	5f                   	pop    %rdi
14015a1a5:	5e                   	pop    %rsi
14015a1a6:	5d                   	pop    %rbp
14015a1a7:	c3                   	ret
14015a1a8:	cc                   	int3
14015a1a9:	cc                   	int3
14015a1aa:	cc                   	int3
14015a1ab:	cc                   	int3
14015a1ac:	cc                   	int3
14015a1ad:	cc                   	int3
14015a1ae:	cc                   	int3
14015a1af:	cc                   	int3
14015a1b0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14015a1b5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14015a1ba:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14015a1bf:	57                   	push   %rdi
14015a1c0:	41 56                	push   %r14
14015a1c2:	41 57                	push   %r15
14015a1c4:	48 83 ec 30          	sub    $0x30,%rsp
14015a1c8:	4d 8b f1             	mov    %r9,%r14
14015a1cb:	4d 8b f8             	mov    %r8,%r15
14015a1ce:	48 8b ea             	mov    %rdx,%rbp
14015a1d1:	48 8b f9             	mov    %rcx,%rdi
14015a1d4:	e8 f7 bc f6 ff       	call   0x1400c5ed0
14015a1d9:	48 85 ff             	test   %rdi,%rdi
14015a1dc:	74 66                	je     0x14015a244
14015a1de:	48 85 ed             	test   %rbp,%rbp
14015a1e1:	74 61                	je     0x14015a244
14015a1e3:	48 8b 7f f0          	mov    -0x10(%rdi),%rdi
14015a1e7:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14015a1ec:	48 85 ff             	test   %rdi,%rdi
14015a1ef:	74 15                	je     0x14015a206
14015a1f1:	48 8b 47 08          	mov    0x8(%rdi),%rax
14015a1f5:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a1f9:	48 83 c1 08          	add    $0x8,%rcx
14015a1fd:	48 03 cf             	add    %rdi,%rcx
14015a200:	48 8b 01             	mov    (%rcx),%rax
14015a203:	ff 10                	call   *(%rax)
14015a205:	90                   	nop
14015a206:	48 8b 07             	mov    (%rdi),%rax
14015a209:	48 8b 58 08          	mov    0x8(%rax),%rbx
14015a20d:	48 8b d5             	mov    %rbp,%rdx
14015a210:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14015a215:	e8 f6 e8 fe ff       	call   0x140148b10
14015a21a:	4d 8b ce             	mov    %r14,%r9
14015a21d:	4d 8b c7             	mov    %r15,%r8
14015a220:	48 8b d0             	mov    %rax,%rdx
14015a223:	48 8b cf             	mov    %rdi,%rcx
14015a226:	ff d3                	call   *%rbx
14015a228:	90                   	nop
14015a229:	48 85 ff             	test   %rdi,%rdi
14015a22c:	74 16                	je     0x14015a244
14015a22e:	48 8b 47 08          	mov    0x8(%rdi),%rax
14015a232:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a236:	48 83 c1 08          	add    $0x8,%rcx
14015a23a:	48 03 cf             	add    %rdi,%rcx
14015a23d:	48 8b 01             	mov    (%rcx),%rax
14015a240:	ff 50 08             	call   *0x8(%rax)
14015a243:	90                   	nop
14015a244:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
14015a249:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14015a24e:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
14015a253:	48 83 c4 30          	add    $0x30,%rsp
14015a257:	41 5f                	pop    %r15
14015a259:	41 5e                	pop    %r14
14015a25b:	5f                   	pop    %rdi
14015a25c:	c3                   	ret
14015a25d:	cc                   	int3
14015a25e:	cc                   	int3
14015a25f:	cc                   	int3
14015a260:	45 33 c9             	xor    %r9d,%r9d
14015a263:	4c 8b c1             	mov    %rcx,%r8
14015a266:	85 d2                	test   %edx,%edx
14015a268:	74 16                	je     0x14015a280
14015a26a:	48 8d 05 67 20 0c 00 	lea    0xc2067(%rip),%rax        # 0x14021c2d8
14015a271:	48 89 41 08          	mov    %rax,0x8(%rcx)
14015a275:	48 8d 05 6c 1c 0e 00 	lea    0xe1c6c(%rip),%rax        # 0x14023bee8
14015a27c:	48 89 41 18          	mov    %rax,0x18(%rcx)
14015a280:	48 8d 05 01 0f 0c 00 	lea    0xc0f01(%rip),%rax        # 0x14021b188
14015a287:	48 89 01             	mov    %rax,(%rcx)
14015a28a:	48 8b 41 08          	mov    0x8(%rcx),%rax
14015a28e:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a292:	48 8d 05 6f 00 0c 00 	lea    0xc006f(%rip),%rax        # 0x14021a308
14015a299:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14015a29e:	48 8d 05 e3 0e 0c 00 	lea    0xc0ee3(%rip),%rax        # 0x14021b188
14015a2a5:	49 89 00             	mov    %rax,(%r8)
14015a2a8:	49 8b 40 08          	mov    0x8(%r8),%rax
14015a2ac:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a2b0:	48 8d 05 99 1f 0c 00 	lea    0xc1f99(%rip),%rax        # 0x14021c250
14015a2b7:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14015a2bc:	48 8d 05 b5 1f 0c 00 	lea    0xc1fb5(%rip),%rax        # 0x14021c278
14015a2c3:	45 89 48 10          	mov    %r9d,0x10(%r8)
14015a2c7:	49 89 00             	mov    %rax,(%r8)
14015a2ca:	49 8b 40 08          	mov    0x8(%r8),%rax
14015a2ce:	48 63 48 04          	movslq 0x4(%rax),%rcx
14015a2d2:	48 8d 05 d7 1f 0c 00 	lea    0xc1fd7(%rip),%rax        # 0x14021c2b0
14015a2d9:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14015a2de:	49 8b c0             	mov    %r8,%rax
14015a2e1:	c3                   	ret
14015a2e2:	cc                   	int3
14015a2e3:	cc                   	int3
14015a2e4:	cc                   	int3
14015a2e5:	cc                   	int3
14015a2e6:	cc                   	int3
14015a2e7:	cc                   	int3
14015a2e8:	cc                   	int3
14015a2e9:	cc                   	int3
14015a2ea:	cc                   	int3
14015a2eb:	cc                   	int3
14015a2ec:	cc                   	int3
14015a2ed:	cc                   	int3
14015a2ee:	cc                   	int3
14015a2ef:	cc                   	int3
14015a2f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a2f5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14015a2fa:	57                   	push   %rdi
14015a2fb:	48 83 ec 20          	sub    $0x20,%rsp
14015a2ff:	8b fa                	mov    %edx,%edi
14015a301:	48 8b d9             	mov    %rcx,%rbx
14015a304:	48 8d 05 6d 1f 0c 00 	lea    0xc1f6d(%rip),%rax        # 0x14021c278
14015a30b:	48 89 41 e8          	mov    %rax,-0x18(%rcx)
14015a30f:	4c 8b 41 f0          	mov    -0x10(%rcx),%r8
14015a313:	4d 63 48 04          	movslq 0x4(%r8),%r9
14015a317:	48 8d 05 92 1f 0c 00 	lea    0xc1f92(%rip),%rax        # 0x14021c2b0
14015a31e:	49 89 44 09 f0       	mov    %rax,-0x10(%r9,%rcx,1)
14015a323:	e8 a8 bb f6 ff       	call   0x1400c5ed0
14015a328:	90                   	nop
14015a329:	48 8d 05 b8 1b 0e 00 	lea    0xe1bb8(%rip),%rax        # 0x14023bee8
14015a330:	48 89 03             	mov    %rax,(%rbx)
14015a333:	40 f6 c7 01          	test   $0x1,%dil
14015a337:	74 0e                	je     0x14015a347
14015a339:	ba 20 00 00 00       	mov    $0x20,%edx
14015a33e:	48 8d 4b e8          	lea    -0x18(%rbx),%rcx
14015a342:	e8 05 c3 02 00       	call   0x14018664c
14015a347:	48 8d 43 e8          	lea    -0x18(%rbx),%rax
14015a34b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14015a350:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14015a355:	48 83 c4 20          	add    $0x20,%rsp
14015a359:	5f                   	pop    %rdi
14015a35a:	c3                   	ret
14015a35b:	cc                   	int3
14015a35c:	cc                   	int3
14015a35d:	cc                   	int3
14015a35e:	cc                   	int3
14015a35f:	cc                   	int3
14015a360:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a365:	57                   	push   %rdi
14015a366:	48 83 ec 30          	sub    $0x30,%rsp
14015a36a:	48 8b fa             	mov    %rdx,%rdi
14015a36d:	48 8b d9             	mov    %rcx,%rbx
14015a370:	e8 5b bb f6 ff       	call   0x1400c5ed0
14015a375:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a379:	48 83 39 38          	cmpq   $0x38,(%rcx)
14015a37d:	72 24                	jb     0x14015a3a3
14015a37f:	48 8b 41 30          	mov    0x30(%rcx),%rax
14015a383:	48 85 c0             	test   %rax,%rax
14015a386:	74 1b                	je     0x14015a3a3
14015a388:	ff d0                	call   *%rax
14015a38a:	48 8b d0             	mov    %rax,%rdx
14015a38d:	48 8b cf             	mov    %rdi,%rcx
14015a390:	e8 bb 01 00 00       	call   0x14015a550
14015a395:	48 8b c7             	mov    %rdi,%rax
14015a398:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a39d:	48 83 c4 30          	add    $0x30,%rsp
14015a3a1:	5f                   	pop    %rdi
14015a3a2:	c3                   	ret
14015a3a3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a3a8:	48 8b c7             	mov    %rdi,%rax
14015a3ab:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
14015a3b2:	48 83 c4 30          	add    $0x30,%rsp
14015a3b6:	5f                   	pop    %rdi
14015a3b7:	c3                   	ret
14015a3b8:	cc                   	int3
14015a3b9:	cc                   	int3
14015a3ba:	cc                   	int3
14015a3bb:	cc                   	int3
14015a3bc:	cc                   	int3
14015a3bd:	cc                   	int3
14015a3be:	cc                   	int3
14015a3bf:	cc                   	int3
14015a3c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a3c5:	57                   	push   %rdi
14015a3c6:	48 83 ec 30          	sub    $0x30,%rsp
14015a3ca:	48 8b fa             	mov    %rdx,%rdi
14015a3cd:	48 8b d9             	mov    %rcx,%rbx
14015a3d0:	e8 fb ba f6 ff       	call   0x1400c5ed0
14015a3d5:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a3d9:	48 83 39 30          	cmpq   $0x30,(%rcx)
14015a3dd:	72 24                	jb     0x14015a403
14015a3df:	48 8b 41 28          	mov    0x28(%rcx),%rax
14015a3e3:	48 85 c0             	test   %rax,%rax
14015a3e6:	74 1b                	je     0x14015a403
14015a3e8:	ff d0                	call   *%rax
14015a3ea:	48 8b d0             	mov    %rax,%rdx
14015a3ed:	48 8b cf             	mov    %rdi,%rcx
14015a3f0:	e8 eb cf fe ff       	call   0x1401473e0
14015a3f5:	48 8b c7             	mov    %rdi,%rax
14015a3f8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a3fd:	48 83 c4 30          	add    $0x30,%rsp
14015a401:	5f                   	pop    %rdi
14015a402:	c3                   	ret
14015a403:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a408:	48 8b c7             	mov    %rdi,%rax
14015a40b:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
14015a412:	48 83 c4 30          	add    $0x30,%rsp
14015a416:	5f                   	pop    %rdi
14015a417:	c3                   	ret
14015a418:	cc                   	int3
14015a419:	cc                   	int3
14015a41a:	cc                   	int3
14015a41b:	cc                   	int3
14015a41c:	cc                   	int3
14015a41d:	cc                   	int3
14015a41e:	cc                   	int3
14015a41f:	cc                   	int3
14015a420:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a425:	57                   	push   %rdi
14015a426:	48 83 ec 30          	sub    $0x30,%rsp
14015a42a:	48 8b fa             	mov    %rdx,%rdi
14015a42d:	48 8b d9             	mov    %rcx,%rbx
14015a430:	e8 9b ba f6 ff       	call   0x1400c5ed0
14015a435:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a439:	48 83 39 50          	cmpq   $0x50,(%rcx)
14015a43d:	72 24                	jb     0x14015a463
14015a43f:	48 8b 41 48          	mov    0x48(%rcx),%rax
14015a443:	48 85 c0             	test   %rax,%rax
14015a446:	74 1b                	je     0x14015a463
14015a448:	ff d0                	call   *%rax
14015a44a:	48 8b d0             	mov    %rax,%rdx
14015a44d:	48 8b cf             	mov    %rdi,%rcx
14015a450:	e8 eb ca ff ff       	call   0x140156f40
14015a455:	48 8b c7             	mov    %rdi,%rax
14015a458:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a45d:	48 83 c4 30          	add    $0x30,%rsp
14015a461:	5f                   	pop    %rdi
14015a462:	c3                   	ret
14015a463:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14015a468:	48 8b c7             	mov    %rdi,%rax
14015a46b:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
14015a472:	48 83 c4 30          	add    $0x30,%rsp
14015a476:	5f                   	pop    %rdi
14015a477:	c3                   	ret
14015a478:	cc                   	int3
14015a479:	cc                   	int3
14015a47a:	cc                   	int3
14015a47b:	cc                   	int3
14015a47c:	cc                   	int3
14015a47d:	cc                   	int3
14015a47e:	cc                   	int3
14015a47f:	cc                   	int3
14015a480:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14015a485:	57                   	push   %rdi
14015a486:	48 83 ec 20          	sub    $0x20,%rsp
14015a48a:	48 8b d9             	mov    %rcx,%rbx
14015a48d:	48 8b 49 e0          	mov    -0x20(%rcx),%rcx
14015a491:	48 8b 41 10          	mov    0x10(%rcx),%rax
14015a495:	48 85 c0             	test   %rax,%rax
14015a498:	74 02                	je     0x14015a49c
14015a49a:	ff d0                	call   *%rax
14015a49c:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14015a4a1:	f0 0f c1 43 f8       	lock xadd %eax,-0x8(%rbx)
14015a4a6:	83 f8 01             	cmp    $0x1,%eax
14015a4a9:	75 52                	jne    0x14015a4fd
14015a4ab:	48 8d 7b d8          	lea    -0x28(%rbx),%rdi
14015a4af:	48 85 ff             	test   %rdi,%rdi
14015a4b2:	74 3c                	je     0x14015a4f0
14015a4b4:	48 8d 05 bd 1d 0c 00 	lea    0xc1dbd(%rip),%rax        # 0x14021c278
14015a4bb:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
14015a4bf:	48 8b 43 f0          	mov    -0x10(%rbx),%rax
14015a4c3:	48 63 50 04          	movslq 0x4(%rax),%rdx
14015a4c7:	48 8d 05 e2 1d 0c 00 	lea    0xc1de2(%rip),%rax        # 0x14021c2b0
14015a4ce:	48 89 44 1a f0       	mov    %rax,-0x10(%rdx,%rbx,1)
14015a4d3:	e8 f8 b9 f6 ff       	call   0x1400c5ed0
14015a4d8:	90                   	nop
14015a4d9:	48 8d 05 08 1a 0e 00 	lea    0xe1a08(%rip),%rax        # 0x14023bee8
14015a4e0:	48 89 03             	mov    %rax,(%rbx)
14015a4e3:	ba 30 00 00 00       	mov    $0x30,%edx
14015a4e8:	48 8b cf             	mov    %rdi,%rcx
14015a4eb:	e8 5c c1 02 00       	call   0x14018664c
14015a4f0:	b0 01                	mov    $0x1,%al
14015a4f2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14015a4f7:	48 83 c4 20          	add    $0x20,%rsp
14015a4fb:	5f                   	pop    %rdi
14015a4fc:	c3                   	ret
14015a4fd:	32 c0                	xor    %al,%al
14015a4ff:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14015a504:	48 83 c4 20          	add    $0x20,%rsp
14015a508:	5f                   	pop    %rdi
14015a509:	c3                   	ret
14015a50a:	cc                   	int3
14015a50b:	cc                   	int3
14015a50c:	cc                   	int3
14015a50d:	cc                   	int3
14015a50e:	cc                   	int3
14015a50f:	cc                   	int3
14015a510:	40 53                	rex push %rbx
14015a512:	48 83 ec 20          	sub    $0x20,%rsp
14015a516:	48 8b d9             	mov    %rcx,%rbx
14015a519:	e8 b2 b9 f6 ff       	call   0x1400c5ed0
14015a51e:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14015a522:	48 83 39 58          	cmpq   $0x58,(%rcx)
14015a526:	72 16                	jb     0x14015a53e
14015a528:	48 8b 41 50          	mov    0x50(%rcx),%rax
14015a52c:	48 85 c0             	test   %rax,%rax
14015a52f:	74 0d                	je     0x14015a53e
14015a531:	ff d0                	call   *%rax
14015a533:	85 c0                	test   %eax,%eax
14015a535:	0f 95 c0             	setne  %al
14015a538:	48 83 c4 20          	add    $0x20,%rsp
14015a53c:	5b                   	pop    %rbx
14015a53d:	c3                   	ret
14015a53e:	32 c0                	xor    %al,%al
14015a540:	48 83 c4 20          	add    $0x20,%rsp
14015a544:	5b                   	pop    %rbx
14015a545:	c3                   	ret
14015a546:	cc                   	int3
14015a547:	cc                   	int3
14015a548:	cc                   	int3
14015a549:	cc                   	int3
14015a54a:	cc                   	int3
14015a54b:	cc                   	int3