1400056d2:	ff
1400056d3:	48 81 ec d0 04 00 00 	sub    $0x4d0,%rsp
1400056da:	48 8b 05 1f f9 01 00 	mov    0x1f91f(%rip),%rax        # 0x140025000
1400056e1:	48 33 c4             	xor    %rsp,%rax
1400056e4:	48 89 85 c0 03 00 00 	mov    %rax,0x3c0(%rbp)
1400056eb:	48 8b 85 30 04 00 00 	mov    0x430(%rbp),%rax
1400056f2:	45 33 e4             	xor    %r12d,%r12d
1400056f5:	49 8b f8             	mov    %r8,%rdi
1400056f8:	48 8b f2             	mov    %rdx,%rsi
1400056fb:	4c 8b f9             	mov    %rcx,%r15
1400056fe:	4d 85 c9             	test   %r9,%r9
140005701:	75 2c                	jne    0x14000572f
140005703:	c6 40 30 01          	movb   $0x1,0x30(%rax)
140005707:	45 33 c9             	xor    %r9d,%r9d
14000570a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14000570f:	45 33 c0             	xor    %r8d,%r8d
140005712:	33 d2                	xor    %edx,%edx
140005714:	c7 40 2c 16 00 00 00 	movl   $0x16,0x2c(%rax)
14000571b:	33 c9                	xor    %ecx,%ecx
14000571d:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140005722:	e8 a1 63 00 00       	call   0x14000bac8
140005727:	83 c8 ff             	or     $0xffffffff,%eax
14000572a:	e9 0a 01 00 00       	jmp    0x140005839
14000572f:	48 85 ff             	test   %rdi,%rdi
140005732:	74 05                	je     0x140005739
140005734:	48 85 f6             	test   %rsi,%rsi
140005737:	74 ca                	je     0x140005703
140005739:	4d 8b f7             	mov    %r15,%r14
14000573c:	44 89 64 24 49       	mov    %r12d,0x49(%rsp)
140005741:	66 44 89 64 24 4d    	mov    %r12w,0x4d(%rsp)
140005747:	44 88 64 24 4f       	mov    %r12b,0x4f(%rsp)
14000574c:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140005751:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140005756:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
14000575b:	41 83 e6 02          	and    $0x2,%r14d
14000575f:	75 0a                	jne    0x14000576b
140005761:	44 88 64 24 48       	mov    %r12b,0x48(%rsp)
140005766:	48 85 f6             	test   %rsi,%rsi
140005769:	75 05                	jne    0x140005770
14000576b:	c6 44 24 48 01       	movb   $0x1,0x48(%rsp)
140005770:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140005775:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14000577a:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
14000577f:	44 89 64 24 70       	mov    %r12d,0x70(%rsp)
140005784:	48 89 85 b0 03 00 00 	mov    %rax,0x3b0(%rbp)
14000578b:	0f 57 c0             	xorps  %xmm0,%xmm0
14000578e:	48 8b 85 38 04 00 00 	mov    0x438(%rbp),%rax
140005795:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
14000579a:	44 88 64 24 74       	mov    %r12b,0x74(%rsp)
14000579f:	4c 89 64 24 78       	mov    %r12,0x78(%rsp)
1400057a4:	44 89 65 80          	mov    %r12d,-0x80(%rbp)
1400057a8:	44 88 65 88          	mov    %r12b,-0x78(%rbp)
1400057ac:	66 44 89 65 8a       	mov    %r12w,-0x76(%rbp)
1400057b1:	44 89 65 98          	mov    %r12d,-0x68(%rbp)
1400057b5:	44 88 65 9c          	mov    %r12b,-0x64(%rbp)
1400057b9:	66 0f 7f 85 a0 03 00 	movdqa %xmm0,0x3a0(%rbp)
1400057c0:	00
1400057c1:	4c 89 7c 24 50       	mov    %r15,0x50(%rsp)
1400057c6:	4c 89 4c 24 60       	mov    %r9,0x60(%rsp)
1400057cb:	44 89 a5 b8 03 00 00 	mov    %r12d,0x3b8(%rbp)
1400057d2:	e8 61 23 00 00       	call   0x140007b38
1400057d7:	48 63 d8             	movslq %eax,%rbx
1400057da:	48 85 f6             	test   %rsi,%rsi
1400057dd:	74 4c                	je     0x14000582b
1400057df:	41 f6 c7 01          	test   $0x1,%r15b
1400057e3:	74 23                	je     0x140005808
1400057e5:	48 85 ff             	test   %rdi,%rdi
1400057e8:	75 09                	jne    0x1400057f3
1400057ea:	85 c0                	test   %eax,%eax
1400057ec:	74 05                	je     0x1400057f3
1400057ee:	83 cb ff             	or     $0xffffffff,%ebx
1400057f1:	eb 38                	jmp    0x14000582b
1400057f3:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1400057f8:	48 3b c7             	cmp    %rdi,%rax
1400057fb:	75 29                	jne    0x140005826
1400057fd:	85 db                	test   %ebx,%ebx
1400057ff:	78 2a                	js     0x14000582b
140005801:	48 3b df             	cmp    %rdi,%rbx
140005804:	76 25                	jbe    0x14000582b
140005806:	eb e6                	jmp    0x1400057ee
140005808:	4d 85 f6             	test   %r14,%r14
14000580b:	74 4d                	je     0x14000585a
14000580d:	48 85 ff             	test   %rdi,%rdi
140005810:	74 19                	je     0x14000582b
140005812:	85 c0                	test   %eax,%eax
140005814:	79 06                	jns    0x14000581c
140005816:	66 44 89 26          	mov    %r12w,(%rsi)
14000581a:	eb 0f                	jmp    0x14000582b
14000581c:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140005821:	48 3b c7             	cmp    %rdi,%rax
140005824:	74 48                	je     0x14000586e
140005826:	66 44 89 24 46       	mov    %r12w,(%rsi,%rax,2)
14000582b:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
140005832:	e8 f9 64 00 00       	call   0x14000bd30
140005837:	8b c3                	mov    %ebx,%eax
140005839:	48 8b 8d c0 03 00 00 	mov    0x3c0(%rbp),%rcx
140005840:	48 33 cc             	xor    %rsp,%rcx
140005843:	e8 a8 c5 ff ff       	call   0x140001df0
140005848:	48 81 c4 d0 04 00 00 	add    $0x4d0,%rsp
14000584f:	41 5f                	pop    %r15
140005851:	41 5e                	pop    %r14
140005853:	41 5c                	pop    %r12
140005855:	5f                   	pop    %rdi
140005856:	5e                   	pop    %rsi
140005857:	5b                   	pop    %rbx
140005858:	5d                   	pop    %rbp
140005859:	c3                   	ret
14000585a:	48 85 ff             	test   %rdi,%rdi
14000585d:	74 8f                	je     0x1400057ee
14000585f:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140005864:	48 3b c7             	cmp    %rdi,%rax
140005867:	75 bd                	jne    0x140005826
140005869:	bb fe ff ff ff       	mov    $0xfffffffe,%ebx
14000586e:	66 44 89 64 7e fe    	mov    %r12w,-0x2(%rsi,%rdi,2)
140005874:	eb b5                	jmp    0x14000582b
140005876:	cc                   	int3
140005877:	cc                   	int3
140005878:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14000587d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140005882:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140005887:	57                   	push   %rdi
140005888:	48 83 ec 20          	sub    $0x20,%rsp
14000588c:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140005893:	ff ff 7f
140005896:	48 8b e9             	mov    %rcx,%rbp
140005899:	48 3b d0             	cmp    %rax,%rdx
14000589c:	76 11                	jbe    0x1400058af
14000589e:	41 c6 40 30 01       	movb   $0x1,0x30(%r8)
1400058a3:	32 c0                	xor    %al,%al
1400058a5:	41 c7 40 2c 0c 00 00 	movl   $0xc,0x2c(%r8)
1400058ac:	00
1400058ad:	eb 5c                	jmp    0x14000590b
1400058af:	33 ff                	xor    %edi,%edi
1400058b1:	48 8d 34 12          	lea    (%rdx,%rdx,1),%rsi
1400058b5:	48 39 b9 08 04 00 00 	cmp    %rdi,0x408(%rcx)
1400058bc:	75 09                	jne    0x1400058c7
1400058be:	48 81 fe 00 04 00 00 	cmp    $0x400,%rsi
1400058c5:	76 09                	jbe    0x1400058d0
1400058c7:	48 3b b1 00 04 00 00 	cmp    0x400(%rcx),%rsi
1400058ce:	77 04                	ja     0x1400058d4
1400058d0:	b0 01                	mov    $0x1,%al
1400058d2:	eb 37                	jmp    0x14000590b
1400058d4:	48 8b ce             	mov    %rsi,%rcx
1400058d7:	e8 b4 64 00 00       	call   0x14000bd90
1400058dc:	48 8b d8             	mov    %rax,%rbx
1400058df:	48 85 c0             	test   %rax,%rax
1400058e2:	74 1d                	je     0x140005901
1400058e4:	48 8b 8d 08 04 00 00 	mov    0x408(%rbp),%rcx
1400058eb:	e8 40 64 00 00       	call   0x14000bd30
1400058f0:	48 89 9d 08 04 00 00 	mov    %rbx,0x408(%rbp)
1400058f7:	40 b7 01             	mov    $0x1,%dil
1400058fa:	48 89 b5 00 04 00 00 	mov    %rsi,0x400(%rbp)
140005901:	33 c9                	xor    %ecx,%ecx
140005903:	e8 28 64 00 00       	call   0x14000bd30
140005908:	40 8a c7             	mov    %dil,%al
14000590b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140005910:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140005915:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14000591a:	48 83 c4 20          	add    $0x20,%rsp
14000591e:	5f                   	pop    %rdi
14000591f:	c3                   	ret
140005920:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140005925:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14000592a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14000592f:	57                   	push   %rdi
140005930:	48 83 ec 20          	sub    $0x20,%rsp
140005934:	48 b8 ff ff ff ff ff 	movabs $0x3fffffffffffffff,%rax
14000593b:	ff ff 3f
14000593e:	48 8b e9             	mov    %rcx,%rbp
140005941:	48 3b d0             	cmp    %rax,%rdx
140005944:	76 11                	jbe    0x140005957
140005946:	41 c6 40 30 01       	movb   $0x1,0x30(%r8)
14000594b:	32 c0                	xor    %al,%al
14000594d:	41 c7 40 2c 0c 00 00 	movl   $0xc,0x2c(%r8)
140005954:	00
140005955:	eb 60                	jmp    0x1400059b7
140005957:	33 ff                	xor    %edi,%edi
140005959:	48 8d 34 95 00 00 00 	lea    0x0(,%rdx,4),%rsi
140005960:	00
140005961:	48 39 b9 08 04 00 00 	cmp    %rdi,0x408(%rcx)
140005968:	75 09                	jne    0x140005973
14000596a:	48 81 fe 00 04 00 00 	cmp    $0x400,%rsi
140005971:	76 09                	jbe    0x14000597c
140005973:	48 3b b1 00 04 00 00 	cmp    0x400(%rcx),%rsi
14000597a:	77 04                	ja     0x140005980
14000597c:	b0 01                	mov    $0x1,%al
14000597e:	eb 37                	jmp    0x1400059b7
140005980:	48 8b ce             	mov    %rsi,%rcx
140005983:	e8 08 64 00 00       	call   0x14000bd90
140005988:	48 8b d8             	mov    %rax,%rbx
14000598b:	48 85 c0             	test   %rax,%rax
14000598e:	74 1d                	je     0x1400059ad
140005990:	48 8b 8d 08 04 00 00 	mov    0x408(%rbp),%rcx
140005997:	e8 94 63 00 00       	call   0x14000bd30
14000599c:	48 89 9d 08 04 00 00 	mov    %rbx,0x408(%rbp)
1400059a3:	40 b7 01             	mov    $0x1,%dil
1400059a6:	48 89 b5 00 04 00 00 	mov    %rsi,0x400(%rbp)
1400059ad:	33 c9                	xor    %ecx,%ecx
1400059af:	e8 7c 63 00 00       	call   0x14000bd30
1400059b4:	40 8a c7             	mov    %dil,%al
1400059b7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400059bc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400059c1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400059c6:	48 83 c4 20          	add    $0x20,%rsp
1400059ca:	5f                   	pop    %rdi
1400059cb:	c3                   	ret
1400059cc:	45 8b c8             	mov    %r8d,%r9d
1400059cf:	41 83 e9 02          	sub    $0x2,%r9d
1400059d3:	74 32                	je     0x140005a07
1400059d5:	41 83 e9 01          	sub    $0x1,%r9d
1400059d9:	74 29                	je     0x140005a04
1400059db:	41 83 f9 09          	cmp    $0x9,%r9d
1400059df:	74 23                	je     0x140005a04
1400059e1:	41 83 f8 0d          	cmp    $0xd,%r8d
1400059e5:	74 1d                	je     0x140005a04
1400059e7:	83 e1 04             	and    $0x4,%ecx
1400059ea:	41 b8 ef ff 00 00    	mov    $0xffef,%r8d
1400059f0:	0f 95 c0             	setne  %al
1400059f3:	66 83 ea 63          	sub    $0x63,%dx
1400059f7:	66 41 85 d0          	test   %dx,%r8w
1400059fb:	74 0c                	je     0x140005a09
1400059fd:	48 85 c9             	test   %rcx,%rcx
140005a00:	0f 94 c0             	sete   %al
140005a03:	c3                   	ret
140005a04:	b0 01                	mov    $0x1,%al
140005a06:	c3                   	ret
140005a07:	32 c0                	xor    %al,%al
140005a09:	c3                   	ret
140005a0a:	cc                   	int3
140005a0b:	cc                   	int3
140005a0c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140005a11:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140005a16:	55                   	push   %rbp
140005a17:	56                   	push   %rsi
140005a18:	57                   	push   %rdi
140005a19:	41 54                	push   %r12
140005a1b:	41 55                	push   %r13
140005a1d:	41 56                	push   %r14
140005a1f:	41 57                	push   %r15
140005a21:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
140005a28:	4c 8b 3a             	mov    (%rdx),%r15
140005a2b:	45 33 e4             	xor    %r12d,%r12d
140005a2e:	4c 89 bc 24 90 00 00 	mov    %r15,0x90(%rsp)
140005a35:	00
140005a36:	45 8b f0             	mov    %r8d,%r14d
140005a39:	48 8b fa             	mov    %rdx,%rdi
140005a3c:	4d 85 ff             	test   %r15,%r15
140005a3f:	75 12                	jne    0x140005a53
140005a41:	e8 ba 62 00 00       	call   0x14000bd00
140005a46:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140005a4c:	e8 2f 61 00 00       	call   0x14000bb80
140005a51:	eb 32                	jmp    0x140005a85
140005a53:	45 85 f6             	test   %r14d,%r14d
140005a56:	74 45                	je     0x140005a9d
140005a58:	41 8d 40 fe          	lea    -0x2(%r8),%eax
140005a5c:	83 f8 22             	cmp    $0x22,%eax
140005a5f:	76 3c                	jbe    0x140005a9d
140005a61:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140005a66:	45 33 c9             	xor    %r9d,%r9d
140005a69:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
140005a6d:	45 33 c0             	xor    %r8d,%r8d
140005a70:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
140005a77:	33 d2                	xor    %edx,%edx
140005a79:	33 c9                	xor    %ecx,%ecx
140005a7b:	4c 89 64 24 20       	mov    %r12,0x20(%rsp)
140005a80:	e8 43 60 00 00       	call   0x14000bac8
140005a85:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140005a89:	48 85 c9             	test   %rcx,%rcx
140005a8c:	0f 84 42 06 00 00    	je     0x1400060d4
140005a92:	48 8b 07             	mov    (%rdi),%rax
140005a95:	48 89 01             	mov    %rax,(%rcx)
140005a98:	e9 37 06 00 00       	jmp    0x1400060d4
140005a9d:	41 0f b7 1f          	movzwl (%r15),%ebx
140005aa1:	49 8d 4f 02          	lea    0x2(%r15),%rcx
140005aa5:	41 0f b6 c1          	movzbl %r9b,%eax
140005aa9:	41 8b ec             	mov    %r12d,%ebp
140005aac:	8b f0                	mov    %eax,%esi
140005aae:	48 89 0a             	mov    %rcx,(%rdx)
140005ab1:	83 ce 02             	or     $0x2,%esi
140005ab4:	ba fd ff 00 00       	mov    $0xfffd,%edx
140005ab9:	66 83 fb 2d          	cmp    $0x2d,%bx
140005abd:	0f 45 f0             	cmovne %eax,%esi
140005ac0:	8d 43 d5             	lea    -0x2b(%rbx),%eax
140005ac3:	66 85 c2             	test   %ax,%dx
140005ac6:	75 0a                	jne    0x140005ad2
140005ac8:	0f b7 19             	movzwl (%rcx),%ebx
140005acb:	48 8d 41 02          	lea    0x2(%rcx),%rax
140005acf:	48 89 07             	mov    %rax,(%rdi)
140005ad2:	c7 84 24 e8 00 00 00 	movl   $0xa70,0xe8(%rsp)
140005ad9:	70 0a 00 00
140005add:	b8 66 0a 00 00       	mov    $0xa66,%eax
140005ae2:	c7 44 24 30 e6 0a 00 	movl   $0xae6,0x30(%rsp)
140005ae9:	00
140005aea:	b9 30 00 00 00       	mov    $0x30,%ecx
140005aef:	c7 44 24 34 f0 0a 00 	movl   $0xaf0,0x34(%rsp)
140005af6:	00
140005af7:	ba 10 ff 00 00       	mov    $0xff10,%edx
140005afc:	c7 44 24 38 66 0b 00 	movl   $0xb66,0x38(%rsp)
140005b03:	00
140005b04:	41 b8 60 06 00 00    	mov    $0x660,%r8d
140005b0a:	c7 44 24 3c 70 0b 00 	movl   $0xb70,0x3c(%rsp)
140005b11:	00
140005b12:	44 8d 50 80          	lea    -0x80(%rax),%r10d
140005b16:	c7 44 24 40 66 0c 00 	movl   $0xc66,0x40(%rsp)
140005b1d:	00
140005b1e:	41 bb f0 06 00 00    	mov    $0x6f0,%r11d
140005b24:	c7 44 24 44 70 0c 00 	movl   $0xc70,0x44(%rsp)
140005b2b:	00
140005b2c:	41 b9 66 09 00 00    	mov    $0x966,%r9d
140005b32:	c7 44 24 48 e6 0c 00 	movl   $0xce6,0x48(%rsp)
140005b39:	00
140005b3a:	c7 44 24 4c f0 0c 00 	movl   $0xcf0,0x4c(%rsp)
140005b41:	00
140005b42:	c7 44 24 50 66 0d 00 	movl   $0xd66,0x50(%rsp)
140005b49:	00
140005b4a:	c7 44 24 54 70 0d 00 	movl   $0xd70,0x54(%rsp)
140005b51:	00
140005b52:	c7 44 24 58 50 0e 00 	movl   $0xe50,0x58(%rsp)
140005b59:	00
140005b5a:	c7 44 24 5c 5a 0e 00 	movl   $0xe5a,0x5c(%rsp)
140005b61:	00
140005b62:	c7 44 24 60 d0 0e 00 	movl   $0xed0,0x60(%rsp)
140005b69:	00
140005b6a:	c7 44 24 64 da 0e 00 	movl   $0xeda,0x64(%rsp)
140005b71:	00
140005b72:	c7 44 24 68 20 0f 00 	movl   $0xf20,0x68(%rsp)
140005b79:	00
140005b7a:	c7 44 24 6c 2a 0f 00 	movl   $0xf2a,0x6c(%rsp)
140005b81:	00
140005b82:	c7 44 24 70 40 10 00 	movl   $0x1040,0x70(%rsp)
140005b89:	00
140005b8a:	c7 44 24 74 4a 10 00 	movl   $0x104a,0x74(%rsp)
140005b91:	00
140005b92:	c7 44 24 78 e0 17 00 	movl   $0x17e0,0x78(%rsp)
140005b99:	00
140005b9a:	c7 44 24 7c ea 17 00 	movl   $0x17ea,0x7c(%rsp)
140005ba1:	00
140005ba2:	c7 84 24 80 00 00 00 	movl   $0x1810,0x80(%rsp)
140005ba9:	10 18 00 00
140005bad:	c7 84 24 84 00 00 00 	movl   $0xff1a,0x84(%rsp)
140005bb4:	1a ff 00 00
140005bb8:	c7 84 24 88 00 00 00 	movl   $0x19,0x88(%rsp)
140005bbf:	19 00 00 00
140005bc3:	41 f7 c6 ef ff ff ff 	test   $0xffffffef,%r14d
140005bca:	0f 85 79 02 00 00    	jne    0x140005e49
140005bd0:	66 3b d9             	cmp    %cx,%bx
140005bd3:	0f 82 c1 01 00 00    	jb     0x140005d9a
140005bd9:	66 83 fb 3a          	cmp    $0x3a,%bx
140005bdd:	73 0a                	jae    0x140005be9
140005bdf:	0f b7 c3             	movzwl %bx,%eax