18011a46f:	0b c1                	or     %ecx,%eax
18011a471:	a9 80 80 80 80       	test   $0x80808080,%eax
18011a476:	75 74                	jne    0x18011a4ec
18011a478:	0f b7 c1             	movzwl %cx,%eax
18011a47b:	49 83 c1 08          	add    $0x8,%r9
18011a47f:	66 41 23 c5          	and    %r13w,%ax
18011a483:	66 41 89 02          	mov    %ax,(%r10)
18011a487:	8b c1                	mov    %ecx,%eax
18011a489:	c1 e8 08             	shr    $0x8,%eax
18011a48c:	66 41 23 c5          	and    %r13w,%ax
18011a490:	66 41 89 42 02       	mov    %ax,0x2(%r10)
18011a495:	8b c1                	mov    %ecx,%eax
18011a497:	c1 e8 10             	shr    $0x10,%eax
18011a49a:	66 41 23 c5          	and    %r13w,%ax
18011a49e:	c1 e9 18             	shr    $0x18,%ecx
18011a4a1:	66 41 89 42 04       	mov    %ax,0x4(%r10)
18011a4a6:	66 41 23 cd          	and    %r13w,%cx
18011a4aa:	0f b7 c2             	movzwl %dx,%eax
18011a4ad:	66 41 89 4a 06       	mov    %cx,0x6(%r10)
18011a4b2:	66 41 23 c5          	and    %r13w,%ax
18011a4b6:	66 41 89 42 08       	mov    %ax,0x8(%r10)
18011a4bb:	8b c2                	mov    %edx,%eax
18011a4bd:	c1 e8 08             	shr    $0x8,%eax
18011a4c0:	66 41 23 c5          	and    %r13w,%ax
18011a4c4:	66 41 89 42 0a       	mov    %ax,0xa(%r10)
18011a4c9:	8b c2                	mov    %edx,%eax
18011a4cb:	c1 e8 10             	shr    $0x10,%eax
18011a4ce:	c1 ea 18             	shr    $0x18,%edx
18011a4d1:	66 41 23 c5          	and    %r13w,%ax
18011a4d5:	66 41 23 d5          	and    %r13w,%dx
18011a4d9:	66 41 89 42 0c       	mov    %ax,0xc(%r10)
18011a4de:	66 41 89 52 0e       	mov    %dx,0xe(%r10)
18011a4e3:	49 83 c2 10          	add    $0x10,%r10
18011a4e7:	e9 71 ff ff ff       	jmp    0x18011a45d
18011a4ec:	0f b6 c9             	movzbl %cl,%ecx
18011a4ef:	49 ff c1             	inc    %r9
18011a4f2:	41 3b cd             	cmp    %r13d,%ecx
18011a4f5:	77 09                	ja     0x18011a500
18011a4f7:	66 41 89 0a          	mov    %cx,(%r10)
18011a4fb:	e9 f6 00 00 00       	jmp    0x18011a5f6
18011a500:	41 0f be 11          	movsbl (%r9),%edx
18011a504:	49 ff c1             	inc    %r9
18011a507:	f6 c1 40             	test   $0x40,%cl
18011a50a:	0f 84 f5 00 00 00    	je     0x18011a605
18011a510:	8b c2                	mov    %edx,%eax
18011a512:	24 c0                	and    $0xc0,%al
18011a514:	3c 80                	cmp    $0x80,%al
18011a516:	0f 85 e9 00 00 00    	jne    0x18011a605
18011a51c:	83 e2 3f             	and    $0x3f,%edx
18011a51f:	f6 c1 20             	test   $0x20,%cl
18011a522:	0f 84 b9 00 00 00    	je     0x18011a5e1
18011a528:	45 0f be 01          	movsbl (%r9),%r8d
18011a52c:	8b c1                	mov    %ecx,%eax
18011a52e:	83 e0 0f             	and    $0xf,%eax
18011a531:	c1 e0 06             	shl    $0x6,%eax
18011a534:	0b d0                	or     %eax,%edx
18011a536:	8b c2                	mov    %edx,%eax
18011a538:	f6 c1 10             	test   $0x10,%cl
18011a53b:	74 75                	je     0x18011a5b2
18011a53d:	c1 e8 04             	shr    $0x4,%eax
18011a540:	ff c8                	dec    %eax
18011a542:	83 f8 0f             	cmp    $0xf,%eax
18011a545:	0f 87 ba 00 00 00    	ja     0x18011a605
18011a54b:	41 8b c0             	mov    %r8d,%eax
18011a54e:	24 c0                	and    $0xc0,%al
18011a550:	3c 80                	cmp    $0x80,%al
18011a552:	0f 85 ad 00 00 00    	jne    0x18011a605
18011a558:	41 0f be 49 01       	movsbl 0x1(%r9),%ecx
18011a55d:	41 83 e0 3f          	and    $0x3f,%r8d
18011a561:	c1 e2 06             	shl    $0x6,%edx
18011a564:	8b c1                	mov    %ecx,%eax
18011a566:	24 c0                	and    $0xc0,%al
18011a568:	41 0b d0             	or     %r8d,%edx
18011a56b:	3c 80                	cmp    $0x80,%al
18011a56d:	0f 85 92 00 00 00    	jne    0x18011a605
18011a573:	c1 e2 06             	shl    $0x6,%edx
18011a576:	83 e1 3f             	and    $0x3f,%ecx
18011a579:	0b d1                	or     %ecx,%edx
18011a57b:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
18011a580:	8b c2                	mov    %edx,%eax
18011a582:	c1 e8 0a             	shr    $0xa,%eax
18011a585:	66 23 c1             	and    %cx,%ax
18011a588:	b9 40 28 00 00       	mov    $0x2840,%ecx
18011a58d:	66 2b c1             	sub    %cx,%ax
18011a590:	66 41 89 02          	mov    %ax,(%r10)
18011a594:	b8 ff 03 00 00       	mov    $0x3ff,%eax
18011a599:	66 23 d0             	and    %ax,%dx
18011a59c:	49 83 c2 02          	add    $0x2,%r10
18011a5a0:	b8 00 24 00 00       	mov    $0x2400,%eax
18011a5a5:	66 2b d0             	sub    %ax,%dx
18011a5a8:	b8 02 00 00 00       	mov    $0x2,%eax
18011a5ad:	0f b7 d2             	movzwl %dx,%edx
18011a5b0:	eb 26                	jmp    0x18011a5d8
18011a5b2:	25 e0 03 00 00       	and    $0x3e0,%eax
18011a5b7:	74 4c                	je     0x18011a605
18011a5b9:	3d 60 03 00 00       	cmp    $0x360,%eax
18011a5be:	74 45                	je     0x18011a605
18011a5c0:	41 8b c0             	mov    %r8d,%eax
18011a5c3:	24 c0                	and    $0xc0,%al
18011a5c5:	3c 80                	cmp    $0x80,%al
18011a5c7:	75 3c                	jne    0x18011a605
18011a5c9:	c1 e2 06             	shl    $0x6,%edx
18011a5cc:	41 83 e0 3f          	and    $0x3f,%r8d
18011a5d0:	41 0b d0             	or     %r8d,%edx
18011a5d3:	b8 01 00 00 00       	mov    $0x1,%eax
18011a5d8:	4c 03 c8             	add    %rax,%r9
18011a5db:	49 83 c3 fe          	add    $0xfffffffffffffffe,%r11
18011a5df:	eb 0d                	jmp    0x18011a5ee
18011a5e1:	83 e1 1f             	and    $0x1f,%ecx
18011a5e4:	83 f9 01             	cmp    $0x1,%ecx
18011a5e7:	76 1c                	jbe    0x18011a605
18011a5e9:	c1 e1 06             	shl    $0x6,%ecx
18011a5ec:	0b d1                	or     %ecx,%edx
18011a5ee:	66 41 89 12          	mov    %dx,(%r10)
18011a5f2:	49 83 eb 02          	sub    $0x2,%r11
18011a5f6:	49 83 c2 02          	add    $0x2,%r10
18011a5fa:	4d 3b d3             	cmp    %r11,%r10
18011a5fd:	0f 82 ef fd ff ff    	jb     0x18011a3f2
18011a603:	eb 04                	jmp    0x18011a609
18011a605:	49 83 e9 02          	sub    $0x2,%r9
18011a609:	41 b8 fd ff 00 00    	mov    $0xfffd,%r8d
18011a60f:	33 d2                	xor    %edx,%edx
18011a611:	e9 4f fc ff ff       	jmp    0x18011a265
18011a616:	33 d2                	xor    %edx,%edx
18011a618:	85 d2                	test   %edx,%edx
18011a61a:	74 31                	je     0x18011a64d
18011a61c:	bf 07 01 00 00       	mov    $0x107,%edi
18011a621:	4d 3b d6             	cmp    %r14,%r10
18011a624:	72 1f                	jb     0x18011a645
18011a626:	bf 23 00 00 c0       	mov    $0xc0000023,%edi
18011a62b:	eb 20                	jmp    0x18011a64d
18011a62d:	48 85 db             	test   %rbx,%rbx
18011a630:	74 0c                	je     0x18011a63e
18011a632:	4c 2b d6             	sub    %rsi,%r10
18011a635:	49 d1 fa             	sar    $1,%r10
18011a638:	45 03 d2             	add    %r10d,%r10d
18011a63b:	44 89 13             	mov    %r10d,(%rbx)
18011a63e:	b8 23 00 00 c0       	mov    $0xc0000023,%eax
18011a643:	eb 1b                	jmp    0x18011a660
18011a645:	66 45 89 02          	mov    %r8w,(%r10)
18011a649:	49 83 c2 02          	add    $0x2,%r10
18011a64d:	48 85 db             	test   %rbx,%rbx
18011a650:	74 0c                	je     0x18011a65e
18011a652:	4c 2b d6             	sub    %rsi,%r10
18011a655:	49 d1 fa             	sar    $1,%r10
18011a658:	45 03 d2             	add    %r10d,%r10d
18011a65b:	44 89 13             	mov    %r10d,(%rbx)
18011a65e:	8b c7                	mov    %edi,%eax
18011a660:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18011a665:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18011a66a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18011a66f:	48 83 c4 20          	add    $0x20,%rsp
18011a673:	41 5e                	pop    %r14
18011a675:	41 5d                	pop    %r13
18011a677:	5f                   	pop    %rdi
18011a678:	c3                   	ret
18011a679:	cc                   	int3
18011a67a:	cc                   	int3
18011a67b:	cc                   	int3
18011a67c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011a681:	57                   	push   %rdi
18011a682:	48 83 ec 20          	sub    $0x20,%rsp
18011a686:	48 8b f9             	mov    %rcx,%rdi
18011a689:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
18011a68d:	48 8b 1f             	mov    (%rdi),%rbx
18011a690:	48 8b 01             	mov    (%rcx),%rax
18011a693:	48 8b 40 08          	mov    0x8(%rax),%rax
18011a697:	ff d0                	call   *%rax
18011a699:	0f 1f 00             	nopl   (%rax)
18011a69c:	48 8b cf             	mov    %rdi,%rcx
18011a69f:	e8 58 f9 f7 ff       	call   0x180099ffc
18011a6a4:	48 8b fb             	mov    %rbx,%rdi
18011a6a7:	48 85 db             	test   %rbx,%rbx
18011a6aa:	75 dd                	jne    0x18011a689
18011a6ac:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011a6b1:	48 83 c4 20          	add    $0x20,%rsp
18011a6b5:	5f                   	pop    %rdi
18011a6b6:	c3                   	ret
18011a6b7:	cc                   	int3
18011a6b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011a6bd:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18011a6c2:	57                   	push   %rdi
18011a6c3:	48 83 ec 20          	sub    $0x20,%rsp
18011a6c7:	33 ff                	xor    %edi,%edi
18011a6c9:	48 8d 05 d8 a1 02 00 	lea    0x2a1d8(%rip),%rax        # 0x1801448a8
18011a6d0:	8b f2                	mov    %edx,%esi
18011a6d2:	48 8b d9             	mov    %rcx,%rbx
18011a6d5:	48 89 01             	mov    %rax,(%rcx)
18011a6d8:	39 79 18             	cmp    %edi,0x18(%rcx)
18011a6db:	76 19                	jbe    0x18011a6f6
18011a6dd:	48 8b 43 10          	mov    0x10(%rbx),%rax
18011a6e1:	48 8b 0c f8          	mov    (%rax,%rdi,8),%rcx
18011a6e5:	48 85 c9             	test   %rcx,%rcx
18011a6e8:	74 05                	je     0x18011a6ef
18011a6ea:	e8 8d ff ff ff       	call   0x18011a67c
18011a6ef:	ff c7                	inc    %edi
18011a6f1:	3b 7b 18             	cmp    0x18(%rbx),%edi
18011a6f4:	72 e7                	jb     0x18011a6dd
18011a6f6:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18011a6fa:	e8 fd f8 f7 ff       	call   0x180099ffc
18011a6ff:	48 8d 05 ca 99 02 00 	lea    0x299ca(%rip),%rax        # 0x1801440d0
18011a706:	48 89 03             	mov    %rax,(%rbx)
18011a709:	40 f6 c6 01          	test   $0x1,%sil
18011a70d:	74 08                	je     0x18011a717
18011a70f:	48 8b cb             	mov    %rbx,%rcx
18011a712:	e8 e5 f8 f7 ff       	call   0x180099ffc
18011a717:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18011a71c:	48 8b c3             	mov    %rbx,%rax
18011a71f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011a724:	48 83 c4 20          	add    $0x20,%rsp
18011a728:	5f                   	pop    %rdi
18011a729:	c3                   	ret
18011a72a:	cc                   	int3
18011a72b:	cc                   	int3
18011a72c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011a731:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18011a736:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18011a73b:	57                   	push   %rdi
18011a73c:	48 83 ec 20          	sub    $0x20,%rsp
18011a740:	48 8b 02             	mov    (%rdx),%rax
18011a743:	48 8b f1             	mov    %rcx,%rsi
18011a746:	48 8b ca             	mov    %rdx,%rcx
18011a749:	48 8b da             	mov    %rdx,%rbx
18011a74c:	48 8b 40 28          	mov    0x28(%rax),%rax
18011a750:	ff d0                	call   *%rax
18011a752:	0f 1f 00             	nopl   (%rax)
18011a755:	33 ed                	xor    %ebp,%ebp
18011a757:	48 8b f8             	mov    %rax,%rdi
18011a75a:	48 85 c0             	test   %rax,%rax
18011a75d:	74 6a                	je     0x18011a7c9
18011a75f:	8d 4d 18             	lea    0x18(%rbp),%ecx
18011a762:	e8 e9 f6 f7 ff       	call   0x180099e50
18011a767:	4c 8b c0             	mov    %rax,%r8
18011a76a:	48 85 c0             	test   %rax,%rax
18011a76d:	74 10                	je     0x18011a77f
18011a76f:	48 89 28             	mov    %rbp,(%rax)
18011a772:	48 89 68 08          	mov    %rbp,0x8(%rax)
18011a776:	ff 43 08             	incl   0x8(%rbx)
18011a779:	48 89 58 10          	mov    %rbx,0x10(%rax)
18011a77d:	eb 03                	jmp    0x18011a782
18011a77f:	4c 8b c5             	mov    %rbp,%r8
18011a782:	4d 85 c0             	test   %r8,%r8
18011a785:	75 04                	jne    0x18011a78b
18011a787:	33 c0                	xor    %eax,%eax
18011a789:	eb 43                	jmp    0x18011a7ce
18011a78b:	8b c5                	mov    %ebp,%eax
18011a78d:	eb 0c                	jmp    0x18011a79b
18011a78f:	c1 c0 10             	rol    $0x10,%eax
18011a792:	48 8d 7f 02          	lea    0x2(%rdi),%rdi
18011a796:	0f b7 c9             	movzwl %cx,%ecx
18011a799:	33 c1                	xor    %ecx,%eax
18011a79b:	0f b7 0f             	movzwl (%rdi),%ecx
18011a79e:	66 85 c9             	test   %cx,%cx
18011a7a1:	75 ec                	jne    0x18011a78f
18011a7a3:	33 d2                	xor    %edx,%edx
18011a7a5:	f7 76 18             	divl   0x18(%rsi)
18011a7a8:	48 8b 46 10          	mov    0x10(%rsi),%rax
18011a7ac:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
18011a7b0:	48 85 c9             	test   %rcx,%rcx
18011a7b3:	74 10                	je     0x18011a7c5
18011a7b5:	49 39 28             	cmp    %rbp,(%r8)
18011a7b8:	75 0b                	jne    0x18011a7c5
18011a7ba:	49 89 08             	mov    %rcx,(%r8)
18011a7bd:	4c 89 41 08          	mov    %r8,0x8(%rcx)
18011a7c1:	48 8b 46 10          	mov    0x10(%rsi),%rax
18011a7c5:	4c 89 04 d0          	mov    %r8,(%rax,%rdx,8)
18011a7c9:	b8 01 00 00 00       	mov    $0x1,%eax
18011a7ce:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011a7d3:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18011a7d8:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18011a7dd:	48 83 c4 20          	add    $0x20,%rsp
18011a7e1:	5f                   	pop    %rdi
18011a7e2:	c3                   	ret
18011a7e3:	cc                   	int3
18011a7e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011a7e9:	57                   	push   %rdi
18011a7ea:	48 83 ec 20          	sub    $0x20,%rsp
18011a7ee:	48 8d 05 83 a1 02 00 	lea    0x2a183(%rip),%rax        # 0x180144978
18011a7f5:	48 8b d9             	mov    %rcx,%rbx
18011a7f8:	48 89 01             	mov    %rax,(%rcx)
18011a7fb:	8b fa                	mov    %edx,%edi
18011a7fd:	48 8b 49 10          	mov    0x10(%rcx),%rcx
18011a801:	48 85 c9             	test   %rcx,%rcx
18011a804:	74 05                	je     0x18011a80b
18011a806:	e8 71 fe ff ff       	call   0x18011a67c
18011a80b:	48 8d 05 be 98 02 00 	lea    0x298be(%rip),%rax        # 0x1801440d0
18011a812:	48 89 03             	mov    %rax,(%rbx)
18011a815:	40 f6 c7 01          	test   $0x1,%dil
18011a819:	74 08                	je     0x18011a823
18011a81b:	48 8b cb             	mov    %rbx,%rcx
18011a81e:	e8 d9 f7 f7 ff       	call   0x180099ffc
18011a823:	48 8b c3             	mov    %rbx,%rax
18011a826:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011a82b:	48 83 c4 20          	add    $0x20,%rsp
18011a82f:	5f                   	pop    %rdi
18011a830:	c3                   	ret
18011a831:	cc                   	int3
18011a832:	cc                   	int3
18011a833:	cc                   	int3
18011a834:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011a839:	57                   	push   %rdi
18011a83a:	48 83 ec 20          	sub    $0x20,%rsp
18011a83e:	48 8b d9             	mov    %rcx,%rbx
18011a841:	48 8b fa             	mov    %rdx,%rdi
18011a844:	b9 18 00 00 00       	mov    $0x18,%ecx
18011a849:	e8 02 f6 f7 ff       	call   0x180099e50
18011a84e:	48 85 c0             	test   %rax,%rax
18011a851:	74 10                	je     0x18011a863
18011a853:	48 83 20 00          	andq   $0x0,(%rax)
18011a857:	48 83 60 08 00       	andq   $0x0,0x8(%rax)
18011a85c:	ff 47 08             	incl   0x8(%rdi)
18011a85f:	48 89 78 10          	mov    %rdi,0x10(%rax)
18011a863:	48 85 c0             	test   %rax,%rax
18011a866:	74 31                	je     0x18011a899
18011a868:	48 8b 53 18          	mov    0x18(%rbx),%rdx
18011a86c:	48 85 d2             	test   %rdx,%rdx
18011a86f:	74 18                	je     0x18011a889
18011a871:	48 8b 0a             	mov    (%rdx),%rcx
18011a874:	48 85 c9             	test   %rcx,%rcx
18011a877:	75 17                	jne    0x18011a890
18011a879:	48 89 02             	mov    %rax,(%rdx)
18011a87c:	48 89 50 08          	mov    %rdx,0x8(%rax)
18011a880:	48 8b 43 18          	mov    0x18(%rbx),%rax
18011a884:	48 8b 08             	mov    (%rax),%rcx
18011a887:	eb 07                	jmp    0x18011a890
18011a889:	48 89 43 10          	mov    %rax,0x10(%rbx)
18011a88d:	48 8b c8             	mov    %rax,%rcx
18011a890:	48 89 4b 18          	mov    %rcx,0x18(%rbx)
18011a894:	b8 01 00 00 00       	mov    $0x1,%eax
18011a899:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18011a89e:	48 83 c4 20          	add    $0x20,%rsp
18011a8a2:	5f                   	pop    %rdi
18011a8a3:	c3                   	ret
18011a8a4:	cc                   	int3
18011a8a5:	cc                   	int3
18011a8a6:	cc                   	int3
18011a8a7:	cc                   	int3
18011a8a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18011a8ad:	57                   	push   %rdi
18011a8ae:	48 83 ec 20          	sub    $0x20,%rsp
18011a8b2:	48 8b 5a 10          	mov    0x10(%rdx),%rbx
18011a8b6:	48 8b f9             	mov    %rcx,%rdi
18011a8b9:	48 85 db             	test   %rbx,%rbx
18011a8bc:	74 72                	je     0x18011a930
18011a8be:	b9 18 00 00 00       	mov    $0x18,%ecx
18011a8c3:	e8 88 f5 f7 ff       	call   0x180099e50
18011a8c8:	48 8b c8             	mov    %rax,%rcx
18011a8cb:	48 85 c0             	test   %rax,%rax
18011a8ce:	74 16                	je     0x18011a8e6
18011a8d0:	48 8b 43 10          	mov    0x10(%rbx),%rax