18012e56a:	0f 57 c0             	xorps  %xmm0,%xmm0
18012e56d:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
18012e571:	4d 8b d0             	mov    %r8,%r10
18012e574:	89 44 24 5c          	mov    %eax,0x5c(%rsp)
18012e578:	f3 0f 7f 44 24 4c    	movdqu %xmm0,0x4c(%rsp)
18012e57e:	48 85 c9             	test   %rcx,%rcx
18012e581:	74 39                	je     0x18012e5bc
18012e583:	4d 85 c0             	test   %r8,%r8
18012e586:	74 34                	je     0x18012e5bc
18012e588:	48 81 fa ff ff ff 3f 	cmp    $0x3fffffff,%rdx
18012e58f:	77 2b                	ja     0x18012e5bc
18012e591:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
18012e594:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
18012e599:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
18012e59e:	49 8b d2             	mov    %r10,%rdx
18012e5a1:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
18012e5a6:	89 44 24 38          	mov    %eax,0x38(%rsp)
18012e5aa:	4d 8b c1             	mov    %r9,%r8
18012e5ad:	c7 44 24 48 49 00 00 	movl   $0x49,0x48(%rsp)
18012e5b4:	00
18012e5b5:	e8 76 00 00 00       	call   0x18012e630
18012e5ba:	eb 17                	jmp    0x18012e5d3
18012e5bc:	45 33 c9             	xor    %r9d,%r9d
18012e5bf:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18012e5c4:	45 33 c0             	xor    %r8d,%r8d
18012e5c7:	33 d2                	xor    %edx,%edx
18012e5c9:	33 c9                	xor    %ecx,%ecx
18012e5cb:	e8 5c 75 ee ff       	call   0x180015b2c
18012e5d0:	83 c8 ff             	or     $0xffffffff,%eax
18012e5d3:	48 83 c4 68          	add    $0x68,%rsp
18012e5d7:	c3                   	ret
18012e5d8:	cc                   	int3
18012e5d9:	cc                   	int3
18012e5da:	cc                   	int3
18012e5db:	cc                   	int3
18012e5dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18012e5e1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18012e5e6:	57                   	push   %rdi
18012e5e7:	48 83 ec 20          	sub    $0x20,%rsp
18012e5eb:	48 8b f2             	mov    %rdx,%rsi
18012e5ee:	48 8b f9             	mov    %rcx,%rdi
18012e5f1:	ff 07                	incl   (%rdi)
18012e5f3:	48 8b ce             	mov    %rsi,%rcx
18012e5f6:	e8 51 1f 00 00       	call   0x18013054c
18012e5fb:	0f b7 d8             	movzwl %ax,%ebx
18012e5fe:	b8 ff ff 00 00       	mov    $0xffff,%eax
18012e603:	66 3b d8             	cmp    %ax,%bx
18012e606:	74 11                	je     0x18012e619
18012e608:	ba 08 00 00 00       	mov    $0x8,%edx
18012e60d:	0f b7 cb             	movzwl %bx,%ecx
18012e610:	e8 bf d8 ff ff       	call   0x18012bed4
18012e615:	85 c0                	test   %eax,%eax
18012e617:	75 d8                	jne    0x18012e5f1
18012e619:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18012e61e:	0f b7 c3             	movzwl %bx,%eax
18012e621:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18012e626:	48 83 c4 20          	add    $0x20,%rsp
18012e62a:	5f                   	pop    %rdi
18012e62b:	c3                   	ret
18012e62c:	cc                   	int3
18012e62d:	cc                   	int3
18012e62e:	cc                   	int3
18012e62f:	cc                   	int3
18012e630:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18012e635:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
18012e63a:	55                   	push   %rbp
18012e63b:	53                   	push   %rbx
18012e63c:	56                   	push   %rsi
18012e63d:	57                   	push   %rdi
18012e63e:	41 54                	push   %r12
18012e640:	41 55                	push   %r13
18012e642:	41 56                	push   %r14
18012e644:	41 57                	push   %r15
18012e646:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
18012e64b:	48 81 ec b8 00 00 00 	sub    $0xb8,%rsp
18012e652:	33 db                	xor    %ebx,%ebx
18012e654:	48 8b f2             	mov    %rdx,%rsi
18012e657:	48 89 5d e7          	mov    %rbx,-0x19(%rbp)
18012e65b:	0f b7 fb             	movzwl %bx,%edi
18012e65e:	89 7d cb             	mov    %edi,-0x35(%rbp)
18012e661:	4c 8b f1             	mov    %rcx,%r14
18012e664:	66 89 5d b7          	mov    %bx,-0x49(%rbp)
18012e668:	48 89 5d f7          	mov    %rbx,-0x9(%rbp)
18012e66c:	48 85 d2             	test   %rdx,%rdx
18012e66f:	0f 84 57 09 00 00    	je     0x18012efcc
18012e675:	48 85 c9             	test   %rcx,%rcx
18012e678:	0f 84 4e 09 00 00    	je     0x18012efcc
18012e67e:	0f b7 02             	movzwl (%rdx),%eax
18012e681:	44 8b fb             	mov    %ebx,%r15d
18012e684:	88 5d bb             	mov    %bl,-0x45(%rbp)
18012e687:	44 8b e3             	mov    %ebx,%r12d
18012e68a:	89 5d bf             	mov    %ebx,-0x41(%rbp)
18012e68d:	89 5d c7             	mov    %ebx,-0x39(%rbp)
18012e690:	89 5d f3             	mov    %ebx,-0xd(%rbp)
18012e693:	66 85 c0             	test   %ax,%ax
18012e696:	0f 84 48 09 00 00    	je     0x18012efe4
18012e69c:	41 bd ff ff 00 00    	mov    $0xffff,%r13d
18012e6a2:	ba 08 00 00 00       	mov    $0x8,%edx
18012e6a7:	0f b7 c8             	movzwl %ax,%ecx
18012e6aa:	e8 25 d8 ff ff       	call   0x18012bed4
18012e6af:	85 c0                	test   %eax,%eax
18012e6b1:	74 42                	je     0x18012e6f5
18012e6b3:	41 ff cf             	dec    %r15d
18012e6b6:	48 8d 4d bf          	lea    -0x41(%rbp),%rcx
18012e6ba:	49 8b d6             	mov    %r14,%rdx
18012e6bd:	44 89 7d bf          	mov    %r15d,-0x41(%rbp)
18012e6c1:	e8 16 ff ff ff       	call   0x18012e5dc
18012e6c6:	66 44 3b e8          	cmp    %ax,%r13w
18012e6ca:	74 0b                	je     0x18012e6d7
18012e6cc:	49 8b d6             	mov    %r14,%rdx
18012e6cf:	0f b7 c8             	movzwl %ax,%ecx
18012e6d2:	e8 b9 1e 00 00       	call   0x180130590
18012e6d7:	48 83 c6 02          	add    $0x2,%rsi
18012e6db:	ba 08 00 00 00       	mov    $0x8,%edx
18012e6e0:	0f b7 0e             	movzwl (%rsi),%ecx
18012e6e3:	e8 ec d7 ff ff       	call   0x18012bed4
18012e6e8:	85 c0                	test   %eax,%eax
18012e6ea:	75 eb                	jne    0x18012e6d7
18012e6ec:	44 8b 7d bf          	mov    -0x41(%rbp),%r15d
18012e6f0:	e9 44 08 00 00       	jmp    0x18012ef39
18012e6f5:	0f b7 06             	movzwl (%rsi),%eax
18012e6f8:	b9 25 00 00 00       	mov    $0x25,%ecx
18012e6fd:	66 3b c8             	cmp    %ax,%cx
18012e700:	0f 85 e9 07 00 00    	jne    0x18012eeef
18012e706:	66 3b 4e 02          	cmp    0x2(%rsi),%cx
18012e70a:	0f 84 cf 07 00 00    	je     0x18012eedf
18012e710:	89 5d d7             	mov    %ebx,-0x29(%rbp)
18012e713:	8d 79 fb             	lea    -0x5(%rcx),%edi
18012e716:	89 5d ef             	mov    %ebx,-0x11(%rbp)
18012e719:	44 8b db             	mov    %ebx,%r11d
18012e71c:	44 8b d3             	mov    %ebx,%r10d
18012e71f:	88 5d c3             	mov    %bl,-0x3d(%rbp)
18012e722:	44 8a e3             	mov    %bl,%r12b
18012e725:	44 8a c3             	mov    %bl,%r8b
18012e728:	44 8a eb             	mov    %bl,%r13b
18012e72b:	41 b1 01             	mov    $0x1,%r9b
18012e72e:	44 8b f3             	mov    %ebx,%r14d
18012e731:	41 bf 00 ff 00 00    	mov    $0xff00,%r15d
18012e737:	48 83 c6 02          	add    $0x2,%rsi
18012e73b:	48 89 75 6f          	mov    %rsi,0x6f(%rbp)
18012e73f:	0f b7 16             	movzwl (%rsi),%edx
18012e742:	66 41 85 d7          	test   %dx,%r15w
18012e746:	75 26                	jne    0x18012e76e
18012e748:	48 8b 05 a9 da 03 00 	mov    0x3daa9(%rip),%rax        # 0x18016c1f8
18012e74f:	0f b6 ca             	movzbl %dl,%ecx
18012e752:	8a 0c 48             	mov    (%rax,%rcx,2),%cl
18012e755:	f6 c1 04             	test   $0x4,%cl
18012e758:	74 14                	je     0x18012e76e
18012e75a:	47 8d 14 92          	lea    (%r10,%r10,4),%r10d
18012e75e:	41 ff c3             	inc    %r11d
18012e761:	45 8d 52 e8          	lea    -0x18(%r10),%r10d
18012e765:	46 8d 14 52          	lea    (%rdx,%r10,2),%r10d
18012e769:	e9 d5 00 00 00       	jmp    0x18012e843
18012e76e:	83 fa 68             	cmp    $0x68,%edx
18012e771:	77 7f                	ja     0x18012e7f2
18012e773:	74 75                	je     0x18012e7ea
18012e775:	83 fa 2a             	cmp    $0x2a,%edx
18012e778:	74 6b                	je     0x18012e7e5
18012e77a:	83 fa 46             	cmp    $0x46,%edx
18012e77d:	0f 84 c0 00 00 00    	je     0x18012e843
18012e783:	83 fa 49             	cmp    $0x49,%edx
18012e786:	74 1b                	je     0x18012e7a3
18012e788:	83 fa 4c             	cmp    $0x4c,%edx
18012e78b:	74 0e                	je     0x18012e79b
18012e78d:	83 fa 4e             	cmp    $0x4e,%edx
18012e790:	0f 84 ad 00 00 00    	je     0x18012e843
18012e796:	e9 a5 00 00 00       	jmp    0x18012e840
18012e79b:	41 fe c1             	inc    %r9b
18012e79e:	e9 a0 00 00 00       	jmp    0x18012e843
18012e7a3:	0f b7 4e 02          	movzwl 0x2(%rsi),%ecx
18012e7a7:	66 83 f9 36          	cmp    $0x36,%cx
18012e7ab:	75 1a                	jne    0x18012e7c7
18012e7ad:	48 8d 46 04          	lea    0x4(%rsi),%rax
18012e7b1:	66 83 38 34          	cmpw   $0x34,(%rax)
18012e7b5:	75 10                	jne    0x18012e7c7
18012e7b7:	48 8b f0             	mov    %rax,%rsi
18012e7ba:	48 89 45 6f          	mov    %rax,0x6f(%rbp)
18012e7be:	41 ff c6             	inc    %r14d
18012e7c1:	48 89 5d e7          	mov    %rbx,-0x19(%rbp)
18012e7c5:	eb 7c                	jmp    0x18012e843
18012e7c7:	83 fa 49             	cmp    $0x49,%edx
18012e7ca:	75 4b                	jne    0x18012e817
18012e7cc:	66 83 f9 33          	cmp    $0x33,%cx
18012e7d0:	75 4a                	jne    0x18012e81c
18012e7d2:	48 8d 46 04          	lea    0x4(%rsi),%rax
18012e7d6:	66 83 38 32          	cmpw   $0x32,(%rax)
18012e7da:	75 40                	jne    0x18012e81c
18012e7dc:	48 8b f0             	mov    %rax,%rsi
18012e7df:	48 89 45 6f          	mov    %rax,0x6f(%rbp)
18012e7e3:	eb 5e                	jmp    0x18012e843
18012e7e5:	41 fe c4             	inc    %r12b
18012e7e8:	eb 59                	jmp    0x18012e843
18012e7ea:	41 fe c9             	dec    %r9b
18012e7ed:	41 fe cd             	dec    %r13b
18012e7f0:	eb 51                	jmp    0x18012e843
18012e7f2:	83 fa 6a             	cmp    $0x6a,%edx
18012e7f5:	74 c7                	je     0x18012e7be
18012e7f7:	b9 6c 00 00 00       	mov    $0x6c,%ecx
18012e7fc:	3b d1                	cmp    %ecx,%edx
18012e7fe:	0f 84 88 00 00 00    	je     0x18012e88c
18012e804:	83 fa 74             	cmp    $0x74,%edx
18012e807:	74 0e                	je     0x18012e817
18012e809:	83 fa 77             	cmp    $0x77,%edx
18012e80c:	0f 84 8a 00 00 00    	je     0x18012e89c
18012e812:	83 fa 7a             	cmp    $0x7a,%edx
18012e815:	75 29                	jne    0x18012e840
18012e817:	83 fa 6a             	cmp    $0x6a,%edx
18012e81a:	74 a2                	je     0x18012e7be
18012e81c:	0f b7 46 02          	movzwl 0x2(%rsi),%eax
18012e820:	66 83 e8 58          	sub    $0x58,%ax
18012e824:	66 3b c7             	cmp    %di,%ax
18012e827:	77 10                	ja     0x18012e839
18012e829:	48 b9 01 10 82 20 01 	movabs $0x120821001,%rcx
18012e830:	00 00 00
18012e833:	48 0f a3 c1          	bt     %rax,%rcx
18012e837:	72 85                	jb     0x18012e7be
18012e839:	41 ff c6             	inc    %r14d
18012e83c:	48 89 5d e7          	mov    %rbx,-0x19(%rbp)
18012e840:	41 fe c0             	inc    %r8b
18012e843:	45 84 c0             	test   %r8b,%r8b
18012e846:	0f 84 eb fe ff ff    	je     0x18012e737
18012e84c:	8b 7d cb             	mov    -0x35(%rbp),%edi
18012e84f:	45 8a c4             	mov    %r12b,%r8b
18012e852:	44 8b 7d bf          	mov    -0x41(%rbp),%r15d
18012e856:	44 88 4d 7f          	mov    %r9b,0x7f(%rbp)
18012e85a:	4c 8b cb             	mov    %rbx,%r9
18012e85d:	44 88 65 c4          	mov    %r12b,-0x3c(%rbp)
18012e861:	44 89 75 db          	mov    %r14d,-0x25(%rbp)
18012e865:	44 89 5d d3          	mov    %r11d,-0x2d(%rbp)
18012e869:	44 89 55 cf          	mov    %r10d,-0x31(%rbp)
18012e86d:	45 84 e4             	test   %r12b,%r12b
18012e870:	75 2f                	jne    0x18012e8a1
18012e872:	48 8b 45 77          	mov    0x77(%rbp),%rax
18012e876:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
18012e87a:	48 83 c0 08          	add    $0x8,%rax
18012e87e:	48 89 45 77          	mov    %rax,0x77(%rbp)
18012e882:	48 8b 50 f8          	mov    -0x8(%rax),%rdx
18012e886:	48 89 55 ff          	mov    %rdx,-0x1(%rbp)
18012e88a:	eb 1c                	jmp    0x18012e8a8
18012e88c:	48 8d 46 02          	lea    0x2(%rsi),%rax
18012e890:	66 39 08             	cmp    %cx,(%rax)
18012e893:	0f 84 1e ff ff ff    	je     0x18012e7b7
18012e899:	41 fe c1             	inc    %r9b
18012e89c:	41 fe c5             	inc    %r13b
18012e89f:	eb a2                	jmp    0x18012e843
18012e8a1:	48 8b d3             	mov    %rbx,%rdx
18012e8a4:	48 89 5d ff          	mov    %rbx,-0x1(%rbp)
18012e8a8:	48 89 55 07          	mov    %rdx,0x7(%rbp)
18012e8ac:	44 8a e3             	mov    %bl,%r12b
18012e8af:	45 84 ed             	test   %r13b,%r13b
18012e8b2:	75 1c                	jne    0x18012e8d0
18012e8b4:	0f b7 06             	movzwl (%rsi),%eax
18012e8b7:	b9 ef ff 00 00       	mov    $0xffef,%ecx
18012e8bc:	66 83 e8 43          	sub    $0x43,%ax
18012e8c0:	66 23 c1             	and    %cx,%ax
18012e8c3:	66 f7 d8             	neg    %ax
18012e8c6:	45 1a ed             	sbb    %r13b,%r13b
18012e8c9:	41 80 e5 02          	and    $0x2,%r13b
18012e8cd:	41 fe cd             	dec    %r13b
18012e8d0:	44 0f b7 36          	movzwl (%rsi),%r14d
18012e8d4:	b9 20 00 00 00       	mov    $0x20,%ecx
18012e8d9:	44 0b f1             	or     %ecx,%r14d
18012e8dc:	8d 41 4e             	lea    0x4e(%rcx),%eax
18012e8df:	44 3b f0             	cmp    %eax,%r14d
18012e8e2:	74 61                	je     0x18012e945
18012e8e4:	41 83 fe 63          	cmp    $0x63,%r14d
18012e8e8:	74 19                	je     0x18012e903
18012e8ea:	41 83 fe 7b          	cmp    $0x7b,%r14d
18012e8ee:	74 13                	je     0x18012e903
18012e8f0:	48 8b 55 67          	mov    0x67(%rbp),%rdx
18012e8f4:	48 8d 4d bf          	lea    -0x41(%rbp),%rcx
18012e8f8:	e8 df fc ff ff       	call   0x18012e5dc
18012e8fd:	44 8b 7d bf          	mov    -0x41(%rbp),%r15d
18012e901:	eb 10                	jmp    0x18012e913
18012e903:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
18012e907:	41 ff c7             	inc    %r15d
18012e90a:	44 89 7d bf          	mov    %r15d,-0x41(%rbp)
18012e90e:	e8 39 1c 00 00       	call   0x18013054c
18012e913:	0f b7 f8             	movzwl %ax,%edi
18012e916:	66 89 45 b7          	mov    %ax,-0x49(%rbp)
18012e91a:	b8 ff ff 00 00       	mov    $0xffff,%eax
18012e91f:	89 7d cb             	mov    %edi,-0x35(%rbp)
18012e922:	66 3b c7             	cmp    %di,%ax
18012e925:	0f 84 8f 06 00 00    	je     0x18012efba
18012e92b:	48 8b 55 ff          	mov    -0x1(%rbp),%rdx
18012e92f:	4c 8b cb             	mov    %rbx,%r9
18012e932:	44 8b 55 cf          	mov    -0x31(%rbp),%r10d
18012e936:	b9 20 00 00 00       	mov    $0x20,%ecx
18012e93b:	44 8b 5d d3          	mov    -0x2d(%rbp),%r11d
18012e93f:	44 8a 45 c4          	mov    -0x3c(%rbp),%r8b
18012e943:	eb 05                	jmp    0x18012e94a
18012e945:	b8 ff ff 00 00       	mov    $0xffff,%eax
18012e94a:	45 85 db             	test   %r11d,%r11d
18012e94d:	74 09                	je     0x18012e958
18012e94f:	45 85 d2             	test   %r10d,%r10d
18012e952:	0f 84 f2 05 00 00    	je     0x18012ef4a
18012e958:	45 84 c0             	test   %r8b,%r8b
18012e95b:	75 40                	jne    0x18012e99d
18012e95d:	41 83 fe 63          	cmp    $0x63,%r14d
18012e961:	74 0c                	je     0x18012e96f
18012e963:	41 83 fe 73          	cmp    $0x73,%r14d
18012e967:	74 06                	je     0x18012e96f
18012e969:	41 83 fe 7b          	cmp    $0x7b,%r14d
18012e96d:	75 2e                	jne    0x18012e99d
18012e96f:	48 8b 45 f7          	mov    -0x9(%rbp),%rax
18012e973:	48 83 c0 08          	add    $0x8,%rax
18012e977:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
18012e97b:	48 8b 50 f8          	mov    -0x8(%rax),%rdx
18012e97f:	48 83 c0 08          	add    $0x8,%rax
18012e983:	48 89 55 ff          	mov    %rdx,-0x1(%rbp)
18012e987:	48 89 55 07          	mov    %rdx,0x7(%rbp)
18012e98b:	48 89 45 77          	mov    %rax,0x77(%rbp)
18012e98f:	44 8b 48 f8          	mov    -0x8(%rax),%r9d
18012e993:	49 83 f9 01          	cmp    $0x1,%r9
18012e997:	0f 82 d7 05 00 00    	jb     0x18012ef74
18012e99d:	41 83 fe 70          	cmp    $0x70,%r14d
18012e9a1:	0f 87 19 01 00 00    	ja     0x18012eac0
18012e9a7:	0f 84 03 01 00 00    	je     0x18012eab0
18012e9ad:	41 8b ce             	mov    %r14d,%ecx
18012e9b0:	83 e9 63             	sub    $0x63,%ecx
18012e9b3:	74 72                	je     0x18012ea27
18012e9b5:	83 e9 01             	sub    $0x1,%ecx
18012e9b8:	74 13                	je     0x18012e9cd
18012e9ba:	83 e9 05             	sub    $0x5,%ecx
18012e9bd:	74 4b                	je     0x18012ea0a
18012e9bf:	83 e9 05             	sub    $0x5,%ecx
18012e9c2:	74 20                	je     0x18012e9e4
18012e9c4:	83 f9 01             	cmp    $0x1,%ecx
18012e9c7:	0f 85 17 01 00 00    	jne    0x18012eae4
18012e9cd:	b8 2d 00 00 00       	mov    $0x2d,%eax
18012e9d2:	66 3b c7             	cmp    %di,%ax
18012e9d5:	0f 85 37 02 00 00    	jne    0x18012ec12
18012e9db:	c6 45 c3 01          	movb   $0x1,-0x3d(%rbp)
18012e9df:	e9 38 02 00 00       	jmp    0x18012ec1c
18012e9e4:	41 8b c7             	mov    %r15d,%eax
18012e9e7:	45 84 c0             	test   %r8b,%r8b
18012e9ea:	0f 84 a3 04 00 00    	je     0x18012ee93
18012e9f0:	44 8b 65 c7          	mov    -0x39(%rbp),%r12d
18012e9f4:	fe 45 bb             	incb   -0x45(%rbp)
18012e9f7:	41 bd ff ff 00 00    	mov    $0xffff,%r13d
18012e9fd:	4c 8b 75 67          	mov    0x67(%rbp),%r14
18012ea01:	48 83 c6 02          	add    $0x2,%rsi
18012ea05:	e9 0e 05 00 00       	jmp    0x18012ef18
18012ea0a:	41 be 64 00 00 00    	mov    $0x64,%r14d
18012ea10:	b8 2d 00 00 00       	mov    $0x2d,%eax
18012ea15:	66 3b c7             	cmp    %di,%ax
18012ea18:	0f 85 f2 00 00 00    	jne    0x18012eb10
18012ea1e:	c6 45 c3 01          	movb   $0x1,-0x3d(%rbp)
18012ea22:	e9 f3 00 00 00       	jmp    0x18012eb1a
18012ea27:	45 85 db             	test   %r11d,%r11d