14001a22f:	57                   	push   %rdi
14001a230:	48 83 ec 20          	sub    $0x20,%rsp
14001a234:	48 8b 59 08          	mov    0x8(%rcx),%rbx
14001a238:	41 8b e8             	mov    %r8d,%ebp
14001a23b:	48 8b f2             	mov    %rdx,%rsi
14001a23e:	48 8b f9             	mov    %rcx,%rdi
14001a241:	48 85 db             	test   %rbx,%rbx
14001a244:	75 5a                	jne    0x14001a2a0
14001a246:	48 8d 15 df 1f 01 00 	lea    0x11fdf(%rip),%rdx        # 0x14002c22c
14001a24d:	8d 4b 40             	lea    0x40(%rbx),%ecx
14001a250:	e8 af aa 00 00       	call   0x140024d04
14001a255:	48 8b d8             	mov    %rax,%rbx
14001a258:	48 85 c0             	test   %rax,%rax
14001a25b:	74 38                	je     0x14001a295
14001a25d:	48 8b 0d 9c 2f 01 00 	mov    0x12f9c(%rip),%rcx        # 0x14002d200
14001a264:	48 89 48 08          	mov    %rcx,0x8(%rax)
14001a268:	48 8b 0d 99 2f 01 00 	mov    0x12f99(%rip),%rcx        # 0x14002d208
14001a26f:	48 89 48 10          	mov    %rcx,0x10(%rax)
14001a273:	33 c0                	xor    %eax,%eax
14001a275:	48 89 43 18          	mov    %rax,0x18(%rbx)
14001a279:	48 21 43 20          	and    %rax,0x20(%rbx)
14001a27d:	48 21 43 28          	and    %rax,0x28(%rbx)
14001a281:	48 83 63 38 00       	andq   $0x0,0x38(%rbx)
14001a286:	88 43 30             	mov    %al,0x30(%rbx)
14001a289:	48 8d 05 b8 02 01 00 	lea    0x102b8(%rip),%rax        # 0x14002a548
14001a290:	48 89 03             	mov    %rax,(%rbx)
14001a293:	eb 02                	jmp    0x14001a297
14001a295:	33 db                	xor    %ebx,%ebx
14001a297:	48 89 5f 08          	mov    %rbx,0x8(%rdi)
14001a29b:	48 85 db             	test   %rbx,%rbx
14001a29e:	74 14                	je     0x14001a2b4
14001a2a0:	8b d5                	mov    %ebp,%edx
14001a2a2:	48 8b cb             	mov    %rbx,%rcx
14001a2a5:	e8 de 03 00 00       	call   0x14001a688
14001a2aa:	85 c0                	test   %eax,%eax
14001a2ac:	78 0b                	js     0x14001a2b9
14001a2ae:	48 89 73 38          	mov    %rsi,0x38(%rbx)
14001a2b2:	eb 05                	jmp    0x14001a2b9
14001a2b4:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
14001a2b9:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14001a2be:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14001a2c3:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14001a2c8:	48 83 c4 20          	add    $0x20,%rsp
14001a2cc:	5f                   	pop    %rdi
14001a2cd:	c3                   	ret
14001a2ce:	cc                   	int3
14001a2cf:	cc                   	int3
14001a2d0:	cc                   	int3
14001a2d1:	cc                   	int3
14001a2d2:	cc                   	int3
14001a2d3:	cc                   	int3
14001a2d4:	cc                   	int3
14001a2d5:	cc                   	int3
14001a2d6:	cc                   	int3
14001a2d7:	cc                   	int3
14001a2d8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14001a2dd:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14001a2e2:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14001a2e7:	57                   	push   %rdi
14001a2e8:	48 83 ec 20          	sub    $0x20,%rsp
14001a2ec:	48 8b 59 10          	mov    0x10(%rcx),%rbx
14001a2f0:	41 8b e8             	mov    %r8d,%ebp
14001a2f3:	48 8b f2             	mov    %rdx,%rsi
14001a2f6:	48 8b f9             	mov    %rcx,%rdi
14001a2f9:	48 85 db             	test   %rbx,%rbx
14001a2fc:	75 5a                	jne    0x14001a358
14001a2fe:	48 8d 15 27 1f 01 00 	lea    0x11f27(%rip),%rdx        # 0x14002c22c
14001a305:	8d 4b 40             	lea    0x40(%rbx),%ecx
14001a308:	e8 f7 a9 00 00       	call   0x140024d04
14001a30d:	48 8b d8             	mov    %rax,%rbx
14001a310:	48 85 c0             	test   %rax,%rax
14001a313:	74 38                	je     0x14001a34d
14001a315:	48 8b 0d dc 2e 01 00 	mov    0x12edc(%rip),%rcx        # 0x14002d1f8
14001a31c:	48 89 48 08          	mov    %rcx,0x8(%rax)
14001a320:	48 8b 0d c9 2e 01 00 	mov    0x12ec9(%rip),%rcx        # 0x14002d1f0
14001a327:	48 89 48 10          	mov    %rcx,0x10(%rax)
14001a32b:	33 c0                	xor    %eax,%eax
14001a32d:	48 89 43 18          	mov    %rax,0x18(%rbx)
14001a331:	48 21 43 20          	and    %rax,0x20(%rbx)
14001a335:	48 21 43 28          	and    %rax,0x28(%rbx)
14001a339:	48 83 63 38 00       	andq   $0x0,0x38(%rbx)
14001a33e:	88 43 30             	mov    %al,0x30(%rbx)
14001a341:	48 8d 05 30 02 01 00 	lea    0x10230(%rip),%rax        # 0x14002a578
14001a348:	48 89 03             	mov    %rax,(%rbx)
14001a34b:	eb 02                	jmp    0x14001a34f
14001a34d:	33 db                	xor    %ebx,%ebx
14001a34f:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
14001a353:	48 85 db             	test   %rbx,%rbx
14001a356:	74 14                	je     0x14001a36c
14001a358:	8b d5                	mov    %ebp,%edx
14001a35a:	48 8b cb             	mov    %rbx,%rcx
14001a35d:	e8 26 03 00 00       	call   0x14001a688
14001a362:	85 c0                	test   %eax,%eax
14001a364:	78 0b                	js     0x14001a371
14001a366:	48 89 73 38          	mov    %rsi,0x38(%rbx)
14001a36a:	eb 05                	jmp    0x14001a371
14001a36c:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
14001a371:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14001a376:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
14001a37b:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14001a380:	48 83 c4 20          	add    $0x20,%rsp
14001a384:	5f                   	pop    %rdi
14001a385:	c3                   	ret
14001a386:	cc                   	int3
14001a387:	cc                   	int3
14001a388:	cc                   	int3
14001a389:	cc                   	int3
14001a38a:	cc                   	int3
14001a38b:	cc                   	int3
14001a38c:	cc                   	int3
14001a38d:	cc                   	int3
14001a38e:	cc                   	int3
14001a38f:	cc                   	int3
14001a390:	40 53                	rex push %rbx
14001a392:	48 83 ec 20          	sub    $0x20,%rsp
14001a396:	48 8b d9             	mov    %rcx,%rbx
14001a399:	48 8b 09             	mov    (%rcx),%rcx
14001a39c:	48 85 c9             	test   %rcx,%rcx
14001a39f:	74 05                	je     0x14001a3a6
14001a3a1:	e8 56 03 00 00       	call   0x14001a6fc
14001a3a6:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14001a3aa:	48 85 c9             	test   %rcx,%rcx
14001a3ad:	74 05                	je     0x14001a3b4
14001a3af:	e8 48 03 00 00       	call   0x14001a6fc
14001a3b4:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14001a3b8:	48 85 c9             	test   %rcx,%rcx
14001a3bb:	74 05                	je     0x14001a3c2
14001a3bd:	e8 3a 03 00 00       	call   0x14001a6fc
14001a3c2:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14001a3c6:	48 85 c9             	test   %rcx,%rcx
14001a3c9:	74 05                	je     0x14001a3d0
14001a3cb:	e8 2c 03 00 00       	call   0x14001a6fc
14001a3d0:	48 83 c4 20          	add    $0x20,%rsp
14001a3d4:	5b                   	pop    %rbx
14001a3d5:	c3                   	ret
14001a3d6:	cc                   	int3
14001a3d7:	cc                   	int3
14001a3d8:	cc                   	int3
14001a3d9:	cc                   	int3
14001a3da:	cc                   	int3
14001a3db:	cc                   	int3
14001a3dc:	cc                   	int3
14001a3dd:	cc                   	int3
14001a3de:	cc                   	int3
14001a3df:	cc                   	int3
14001a3e0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14001a3e5:	57                   	push   %rdi
14001a3e6:	48 83 ec 40          	sub    $0x40,%rsp
14001a3ea:	48 8b 01             	mov    (%rcx),%rax
14001a3ed:	33 ff                	xor    %edi,%edi
14001a3ef:	48 8b d9             	mov    %rcx,%rbx
14001a3f2:	48 85 c0             	test   %rax,%rax
14001a3f5:	75 57                	jne    0x14001a44e
14001a3f7:	48 8d 15 2e 1e 01 00 	lea    0x11e2e(%rip),%rdx        # 0x14002c22c
14001a3fe:	8d 48 40             	lea    0x40(%rax),%ecx
14001a401:	e8 fe a8 00 00       	call   0x140024d04
14001a406:	48 85 c0             	test   %rax,%rax
14001a409:	74 38                	je     0x14001a443
14001a40b:	48 8b 0d fe 2d 01 00 	mov    0x12dfe(%rip),%rcx        # 0x14002d210
14001a412:	48 8b 15 ff 2d 01 00 	mov    0x12dff(%rip),%rdx        # 0x14002d218
14001a419:	48 89 48 10          	mov    %rcx,0x10(%rax)
14001a41d:	33 c9                	xor    %ecx,%ecx
14001a41f:	48 89 50 08          	mov    %rdx,0x8(%rax)
14001a423:	48 89 48 18          	mov    %rcx,0x18(%rax)
14001a427:	48 8d 0d 3a 01 01 00 	lea    0x1013a(%rip),%rcx        # 0x14002a568
14001a42e:	48 89 78 20          	mov    %rdi,0x20(%rax)
14001a432:	48 89 78 28          	mov    %rdi,0x28(%rax)
14001a436:	48 89 08             	mov    %rcx,(%rax)
14001a439:	40 88 78 30          	mov    %dil,0x30(%rax)
14001a43d:	48 89 78 38          	mov    %rdi,0x38(%rax)
14001a441:	eb 03                	jmp    0x14001a446
14001a443:	48 8b c7             	mov    %rdi,%rax
14001a446:	48 89 03             	mov    %rax,(%rbx)
14001a449:	48 85 c0             	test   %rax,%rax
14001a44c:	74 43                	je     0x14001a491
14001a44e:	b9 05 40 00 80       	mov    $0x80004005,%ecx
14001a453:	40 38 78 30          	cmp    %dil,0x30(%rax)
14001a457:	74 31                	je     0x14001a48a
14001a459:	48 39 78 28          	cmp    %rdi,0x28(%rax)
14001a45d:	74 2b                	je     0x14001a48a
14001a45f:	48 8b 50 18          	mov    0x18(%rax),%rdx
14001a463:	4c 8d 48 18          	lea    0x18(%rax),%r9
14001a467:	4c 8d 05 62 04 00 00 	lea    0x462(%rip),%r8        # 0x14001a8d0
14001a46e:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14001a473:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14001a478:	48 ff 15 49 0c 01 00 	rex.W call *0x10c49(%rip)        # 0x14002b0c8
14001a47f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a484:	8b c8                	mov    %eax,%ecx
14001a486:	0f ba e9 1c          	bts    $0x1c,%ecx
14001a48a:	85 c9                	test   %ecx,%ecx
14001a48c:	0f 49 cf             	cmovns %edi,%ecx
14001a48f:	eb 05                	jmp    0x14001a496
14001a491:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
14001a496:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
14001a49b:	8b c1                	mov    %ecx,%eax
14001a49d:	48 83 c4 40          	add    $0x40,%rsp
14001a4a1:	5f                   	pop    %rdi
14001a4a2:	c3                   	ret
14001a4a3:	cc                   	int3
14001a4a4:	cc                   	int3
14001a4a5:	cc                   	int3
14001a4a6:	cc                   	int3
14001a4a7:	cc                   	int3
14001a4a8:	cc                   	int3
14001a4a9:	cc                   	int3
14001a4aa:	cc                   	int3
14001a4ab:	cc                   	int3
14001a4ac:	cc                   	int3
14001a4ad:	cc                   	int3
14001a4ae:	cc                   	int3
14001a4af:	cc                   	int3
14001a4b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14001a4b5:	57                   	push   %rdi
14001a4b6:	48 83 ec 20          	sub    $0x20,%rsp
14001a4ba:	8b da                	mov    %edx,%ebx
14001a4bc:	48 8b f9             	mov    %rcx,%rdi
14001a4bf:	e8 78 01 00 00       	call   0x14001a63c
14001a4c4:	f6 c3 01             	test   $0x1,%bl
14001a4c7:	74 0f                	je     0x14001a4d8
14001a4c9:	48 8b cf             	mov    %rdi,%rcx
14001a4cc:	48 ff 15 55 0a 01 00 	rex.W call *0x10a55(%rip)        # 0x14002af28
14001a4d3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a4d8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001a4dd:	48 8b c7             	mov    %rdi,%rax
14001a4e0:	48 83 c4 20          	add    $0x20,%rsp
14001a4e4:	5f                   	pop    %rdi
14001a4e5:	c3                   	ret
14001a4e6:	cc                   	int3
14001a4e7:	cc                   	int3
14001a4e8:	cc                   	int3
14001a4e9:	cc                   	int3
14001a4ea:	cc                   	int3
14001a4eb:	cc                   	int3
14001a4ec:	cc                   	int3
14001a4ed:	cc                   	int3
14001a4ee:	cc                   	int3
14001a4ef:	cc                   	int3
14001a4f0:	45 8b 08             	mov    (%r8),%r9d
14001a4f3:	33 d2                	xor    %edx,%edx
14001a4f5:	45 85 c9             	test   %r9d,%r9d
14001a4f8:	74 17                	je     0x14001a511
14001a4fa:	41 83 e9 01          	sub    $0x1,%r9d
14001a4fe:	74 0c                	je     0x14001a50c
14001a500:	41 83 f9 01          	cmp    $0x1,%r9d
14001a504:	75 0b                	jne    0x14001a511
14001a506:	41 8d 51 01          	lea    0x1(%r9),%edx
14001a50a:	eb 05                	jmp    0x14001a511
14001a50c:	ba 01 00 00 00       	mov    $0x1,%edx
14001a511:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14001a515:	e9 86 d6 ff ff       	jmp    0x140017ba0
14001a51a:	cc                   	int3
14001a51b:	cc                   	int3
14001a51c:	cc                   	int3
14001a51d:	cc                   	int3
14001a51e:	cc                   	int3
14001a51f:	cc                   	int3
14001a520:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14001a525:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14001a52a:	57                   	push   %rdi
14001a52b:	48 83 ec 60          	sub    $0x60,%rsp
14001a52f:	48 8b 05 02 cf 01 00 	mov    0x1cf02(%rip),%rax        # 0x140037438
14001a536:	48 33 c4             	xor    %rsp,%rax
14001a539:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14001a53e:	33 f6                	xor    %esi,%esi
14001a540:	40 38 35 41 dc 01 00 	cmp    %sil,0x1dc41(%rip)        # 0x140038188
14001a547:	74 0b                	je     0x14001a554
14001a549:	8a 05 3a dc 01 00    	mov    0x1dc3a(%rip),%al        # 0x140038189
14001a54f:	e9 c3 00 00 00       	jmp    0x14001a617
14001a554:	40 0f b6 fe          	movzbl %sil,%edi
14001a558:	48 ff 15 59 08 01 00 	rex.W call *0x10859(%rip)        # 0x14002adb8
14001a55f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a564:	48 8b c8             	mov    %rax,%rcx
14001a567:	ba 02 00 00 00       	mov    $0x2,%edx
14001a56c:	48 8b d8             	mov    %rax,%rbx
14001a56f:	48 ff 15 b2 08 01 00 	rex.W call *0x108b2(%rip)        # 0x14002ae28
14001a576:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a57b:	41 b8 15 00 00 00    	mov    $0x15,%r8d
14001a581:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14001a586:	48 85 c0             	test   %rax,%rax
14001a589:	48 0f 44 c3          	cmove  %rbx,%rax
14001a58d:	48 8b c8             	mov    %rax,%rcx
14001a590:	48 ff 15 19 08 01 00 	rex.W call *0x10819(%rip)        # 0x14002adb0
14001a597:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a59c:	bb 01 00 00 00       	mov    $0x1,%ebx
14001a5a1:	85 c0                	test   %eax,%eax
14001a5a3:	74 2d                	je     0x14001a5d2
14001a5a5:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
14001a5aa:	66 89 74 24 48       	mov    %si,0x48(%rsp)
14001a5af:	4c 8d 05 fa 3f 01 00 	lea    0x13ffa(%rip),%r8        # 0x14002e5b0
14001a5b6:	4c 2b c0             	sub    %rax,%r8
14001a5b9:	0f b7 08             	movzwl (%rax),%ecx
14001a5bc:	42 0f b7 14 00       	movzwl (%rax,%r8,1),%edx
14001a5c1:	2b ca                	sub    %edx,%ecx
14001a5c3:	75 08                	jne    0x14001a5cd
14001a5c5:	48 83 c0 02          	add    $0x2,%rax
14001a5c9:	85 d2                	test   %edx,%edx
14001a5cb:	75 ec                	jne    0x14001a5b9
14001a5cd:	85 c9                	test   %ecx,%ecx
14001a5cf:	0f 44 fb             	cmove  %ebx,%edi
14001a5d2:	40 84 ff             	test   %dil,%dil
14001a5d5:	75 30                	jne    0x14001a607
14001a5d7:	4c 8d 05 9a 3f 01 00 	lea    0x13f9a(%rip),%r8        # 0x14002e578
14001a5de:	33 d2                	xor    %edx,%edx
14001a5e0:	b9 00 00 10 00       	mov    $0x100000,%ecx
14001a5e5:	48 ff 15 ac 06 01 00 	rex.W call *0x106ac(%rip)        # 0x14002ac98
14001a5ec:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a5f1:	48 85 c0             	test   %rax,%rax
14001a5f4:	48 8b c8             	mov    %rax,%rcx
14001a5f7:	40 0f 95 c7          	setne  %dil
14001a5fb:	48 ff 15 e6 05 01 00 	rex.W call *0x105e6(%rip)        # 0x14002abe8
14001a602:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a607:	88 1d 7b db 01 00    	mov    %bl,0x1db7b(%rip)        # 0x140038188
14001a60d:	40 8a c7             	mov    %dil,%al
14001a610:	40 88 3d 72 db 01 00 	mov    %dil,0x1db72(%rip)        # 0x140038189
14001a617:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14001a61c:	48 33 cc             	xor    %rsp,%rcx
14001a61f:	e8 7c a2 00 00       	call   0x1400248a0
14001a624:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14001a629:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
14001a62e:	48 83 c4 60          	add    $0x60,%rsp
14001a632:	5f                   	pop    %rdi
14001a633:	c3                   	ret
14001a634:	cc                   	int3
14001a635:	cc                   	int3
14001a636:	cc                   	int3
14001a637:	cc                   	int3
14001a638:	cc                   	int3
14001a639:	cc                   	int3
14001a63a:	cc                   	int3
14001a63b:	cc                   	int3
14001a63c:	40 53                	rex push %rbx
14001a63e:	48 83 ec 20          	sub    $0x20,%rsp
14001a642:	48 8d 05 0f ff 00 00 	lea    0xff0f(%rip),%rax        # 0x14002a558
14001a649:	48 8b d9             	mov    %rcx,%rbx
14001a64c:	48 89 01             	mov    %rax,(%rcx)
14001a64f:	e8 a8 00 00 00       	call   0x14001a6fc
14001a654:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
14001a658:	48 85 c9             	test   %rcx,%rcx
14001a65b:	74 11                	je     0x14001a66e
14001a65d:	48 ff 15 4c 0a 01 00 	rex.W call *0x10a4c(%rip)        # 0x14002b0b0
14001a664:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001a669:	48 83 63 28 00       	andq   $0x0,0x28(%rbx)
14001a66e:	48 8d 05 ab fe 00 00 	lea    0xfeab(%rip),%rax        # 0x14002a520
14001a675:	48 89 03             	mov    %rax,(%rbx)
14001a678:	48 83 c4 20          	add    $0x20,%rsp
14001a67c:	5b                   	pop    %rbx
14001a67d:	c3                   	ret
14001a67e:	cc                   	int3
14001a67f:	cc                   	int3
14001a680:	cc                   	int3