18003fc21:	48 89 49 08          	mov    %rcx,0x8(%rcx)
18003fc25:	48 89 09             	mov    %rcx,(%rcx)
18003fc28:	eb 4a                	jmp    0x18003fc74
18003fc2a:	48 8b 11             	mov    (%rcx),%rdx
18003fc2d:	48 3b d1             	cmp    %rcx,%rdx
18003fc30:	74 12                	je     0x18003fc44
18003fc32:	44 8b 40 20          	mov    0x20(%rax),%r8d
18003fc36:	44 39 42 20          	cmp    %r8d,0x20(%rdx)
18003fc3a:	76 08                	jbe    0x18003fc44
18003fc3c:	48 8b 12             	mov    (%rdx),%rdx
18003fc3f:	48 3b d1             	cmp    %rcx,%rdx
18003fc42:	75 f2                	jne    0x18003fc36
18003fc44:	4c 8b 00             	mov    (%rax),%r8
18003fc47:	49 39 40 08          	cmp    %rax,0x8(%r8)
18003fc4b:	75 3b                	jne    0x18003fc88
18003fc4d:	4c 8b 48 08          	mov    0x8(%rax),%r9
18003fc51:	49 39 01             	cmp    %rax,(%r9)
18003fc54:	75 32                	jne    0x18003fc88
18003fc56:	4d 89 01             	mov    %r8,(%r9)
18003fc59:	4d 89 48 08          	mov    %r9,0x8(%r8)
18003fc5d:	4c 8b 42 08          	mov    0x8(%rdx),%r8
18003fc61:	49 39 10             	cmp    %rdx,(%r8)
18003fc64:	75 22                	jne    0x18003fc88
18003fc66:	48 89 10             	mov    %rdx,(%rax)
18003fc69:	4c 89 40 08          	mov    %r8,0x8(%rax)
18003fc6d:	49 89 00             	mov    %rax,(%r8)
18003fc70:	48 89 42 08          	mov    %rax,0x8(%rdx)
18003fc74:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
18003fc78:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18003fc7c:	48 3b c2             	cmp    %rdx,%rax
18003fc7f:	75 a9                	jne    0x18003fc2a
18003fc81:	48 83 c4 10          	add    $0x10,%rsp
18003fc85:	5d                   	pop    %rbp
18003fc86:	c3                   	ret
18003fc87:	cc                   	int3
18003fc88:	b9 03 00 00 00       	mov    $0x3,%ecx
18003fc8d:	cd 29                	int    $0x29
18003fc8f:	cc                   	int3
18003fc90:	40 53                	rex push %rbx
18003fc92:	48 83 ec 20          	sub    $0x20,%rsp
18003fc96:	48 8b 01             	mov    (%rcx),%rax
18003fc99:	48 8b d9             	mov    %rcx,%rbx
18003fc9c:	48 3b c1             	cmp    %rcx,%rax
18003fc9f:	74 29                	je     0x18003fcca
18003fca1:	48 8b 08             	mov    (%rax),%rcx
18003fca4:	48 39 41 08          	cmp    %rax,0x8(%rcx)
18003fca8:	75 27                	jne    0x18003fcd1
18003fcaa:	48 8b 50 08          	mov    0x8(%rax),%rdx
18003fcae:	48 39 02             	cmp    %rax,(%rdx)
18003fcb1:	75 1e                	jne    0x18003fcd1
18003fcb3:	48 89 0a             	mov    %rcx,(%rdx)
18003fcb6:	48 89 51 08          	mov    %rdx,0x8(%rcx)
18003fcba:	48 8b c8             	mov    %rax,%rcx
18003fcbd:	e8 9a 6c 00 00       	call   0x18004695c
18003fcc2:	48 8b 03             	mov    (%rbx),%rax
18003fcc5:	48 3b c3             	cmp    %rbx,%rax
18003fcc8:	75 d7                	jne    0x18003fca1
18003fcca:	48 83 c4 20          	add    $0x20,%rsp
18003fcce:	5b                   	pop    %rbx
18003fccf:	c3                   	ret
18003fcd0:	cc                   	int3
18003fcd1:	b9 03 00 00 00       	mov    $0x3,%ecx
18003fcd6:	cd 29                	int    $0x29
18003fcd8:	48 8b c4             	mov    %rsp,%rax
18003fcdb:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003fcdf:	48 89 68 10          	mov    %rbp,0x10(%rax)
18003fce3:	48 89 70 18          	mov    %rsi,0x18(%rax)
18003fce7:	48 89 78 20          	mov    %rdi,0x20(%rax)
18003fceb:	41 54                	push   %r12
18003fced:	41 56                	push   %r14
18003fcef:	41 57                	push   %r15
18003fcf1:	48 83 ec 20          	sub    $0x20,%rsp
18003fcf5:	45 33 e4             	xor    %r12d,%r12d
18003fcf8:	8b da                	mov    %edx,%ebx
18003fcfa:	4c 8b f1             	mov    %rcx,%r14
18003fcfd:	4d 8b f8             	mov    %r8,%r15
18003fd00:	49 8b 08             	mov    (%r8),%rcx
18003fd03:	41 8b f4             	mov    %r12d,%esi
18003fd06:	48 85 c9             	test   %rcx,%rcx
18003fd09:	74 08                	je     0x18003fd13
18003fd0b:	e8 4c 6c 00 00       	call   0x18004695c
18003fd10:	4d 89 27             	mov    %r12,(%r15)
18003fd13:	48 8b d3             	mov    %rbx,%rdx
18003fd16:	4d 85 f6             	test   %r14,%r14
18003fd19:	74 41                	je     0x18003fd5c
18003fd1b:	48 81 fb ff ff ff 7f 	cmp    $0x7fffffff,%rbx
18003fd22:	77 38                	ja     0x18003fd5c
18003fd24:	48 8b cb             	mov    %rbx,%rcx
18003fd27:	49 8b c6             	mov    %r14,%rax
18003fd2a:	85 db                	test   %ebx,%ebx
18003fd2c:	74 10                	je     0x18003fd3e
18003fd2e:	66 44 39 20          	cmp    %r12w,(%rax)
18003fd32:	74 0a                	je     0x18003fd3e
18003fd34:	48 83 c0 02          	add    $0x2,%rax
18003fd38:	48 83 e9 01          	sub    $0x1,%rcx
18003fd3c:	75 f0                	jne    0x18003fd2e
18003fd3e:	48 8b c1             	mov    %rcx,%rax
18003fd41:	bd 0d 00 00 c0       	mov    $0xc000000d,%ebp
18003fd46:	48 f7 d8             	neg    %rax
18003fd49:	1b db                	sbb    %ebx,%ebx
18003fd4b:	f7 d3                	not    %ebx
18003fd4d:	23 dd                	and    %ebp,%ebx
18003fd4f:	48 85 c9             	test   %rcx,%rcx
18003fd52:	74 0f                	je     0x18003fd63
18003fd54:	48 8b f2             	mov    %rdx,%rsi
18003fd57:	48 2b f1             	sub    %rcx,%rsi
18003fd5a:	eb 07                	jmp    0x18003fd63
18003fd5c:	bd 0d 00 00 c0       	mov    $0xc000000d,%ebp
18003fd61:	8b dd                	mov    %ebp,%ebx
18003fd63:	85 db                	test   %ebx,%ebx
18003fd65:	49 0f 48 f4          	cmovs  %r12,%rsi
18003fd69:	0f 88 af 00 00 00    	js     0x18003fe1e
18003fd6f:	48 85 f6             	test   %rsi,%rsi
18003fd72:	0f 84 a6 00 00 00    	je     0x18003fe1e
18003fd78:	48 8d 7e 01          	lea    0x1(%rsi),%rdi
18003fd7c:	48 8d 0c 3f          	lea    (%rdi,%rdi,1),%rcx
18003fd80:	e8 8f 6b 00 00       	call   0x180046914
18003fd85:	48 8b c8             	mov    %rax,%rcx
18003fd88:	48 85 c0             	test   %rax,%rax
18003fd8b:	75 0a                	jne    0x18003fd97
18003fd8d:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18003fd92:	e9 87 00 00 00       	jmp    0x18003fe1e
18003fd97:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
18003fd9b:	41 8b dc             	mov    %r12d,%ebx
18003fd9e:	48 3d fe ff ff 7f    	cmp    $0x7ffffffe,%rax
18003fda4:	0f 47 dd             	cmova  %ebp,%ebx
18003fda7:	85 db                	test   %ebx,%ebx
18003fda9:	78 56                	js     0x18003fe01
18003fdab:	48 8b d1             	mov    %rcx,%rdx
18003fdae:	48 85 ff             	test   %rdi,%rdi
18003fdb1:	74 30                	je     0x18003fde3
18003fdb3:	48 8b c7             	mov    %rdi,%rax
18003fdb6:	48 2b c6             	sub    %rsi,%rax
18003fdb9:	48 05 fd ff ff 7f    	add    $0x7ffffffd,%rax
18003fdbf:	4c 2b f1             	sub    %rcx,%r14
18003fdc2:	48 85 c0             	test   %rax,%rax
18003fdc5:	74 1c                	je     0x18003fde3
18003fdc7:	45 0f b7 04 16       	movzwl (%r14,%rdx,1),%r8d
18003fdcc:	66 45 85 c0          	test   %r8w,%r8w
18003fdd0:	74 11                	je     0x18003fde3
18003fdd2:	66 44 89 02          	mov    %r8w,(%rdx)
18003fdd6:	48 ff c8             	dec    %rax
18003fdd9:	48 83 c2 02          	add    $0x2,%rdx
18003fddd:	48 83 ef 01          	sub    $0x1,%rdi
18003fde1:	75 df                	jne    0x18003fdc2
18003fde3:	48 85 ff             	test   %rdi,%rdi
18003fde6:	48 8d 42 fe          	lea    -0x2(%rdx),%rax
18003fdea:	48 0f 45 c2          	cmovne %rdx,%rax
18003fdee:	48 f7 df             	neg    %rdi
18003fdf1:	1b db                	sbb    %ebx,%ebx
18003fdf3:	f7 d3                	not    %ebx
18003fdf5:	81 e3 05 00 00 80    	and    $0x80000005,%ebx
18003fdfb:	66 44 89 20          	mov    %r12w,(%rax)
18003fdff:	eb 09                	jmp    0x18003fe0a
18003fe01:	48 85 ff             	test   %rdi,%rdi
18003fe04:	74 04                	je     0x18003fe0a
18003fe06:	66 44 89 21          	mov    %r12w,(%rcx)
18003fe0a:	85 db                	test   %ebx,%ebx
18003fe0c:	78 06                	js     0x18003fe14
18003fe0e:	49 89 0f             	mov    %rcx,(%r15)
18003fe11:	49 8b cc             	mov    %r12,%rcx
18003fe14:	48 85 c9             	test   %rcx,%rcx
18003fe17:	74 05                	je     0x18003fe1e
18003fe19:	e8 3e 6b 00 00       	call   0x18004695c
18003fe1e:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18003fe23:	8b c3                	mov    %ebx,%eax
18003fe25:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18003fe2a:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18003fe2f:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
18003fe34:	48 83 c4 20          	add    $0x20,%rsp
18003fe38:	41 5f                	pop    %r15
18003fe3a:	41 5e                	pop    %r14
18003fe3c:	41 5c                	pop    %r12
18003fe3e:	c3                   	ret
18003fe3f:	cc                   	int3
18003fe40:	48 8b c4             	mov    %rsp,%rax
18003fe43:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003fe47:	48 89 68 10          	mov    %rbp,0x10(%rax)
18003fe4b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18003fe4f:	57                   	push   %rdi
18003fe50:	41 56                	push   %r14
18003fe52:	41 57                	push   %r15
18003fe54:	48 83 ec 40          	sub    $0x40,%rsp
18003fe58:	0f 57 c0             	xorps  %xmm0,%xmm0
18003fe5b:	0f 57 c9             	xorps  %xmm1,%xmm1
18003fe5e:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
18003fe62:	4c 8b fa             	mov    %rdx,%r15
18003fe65:	0f 11 40 d8          	movups %xmm0,-0x28(%rax)
18003fe69:	48 8b f1             	mov    %rcx,%rsi
18003fe6c:	0f 11 48 c8          	movups %xmm1,-0x38(%rax)
18003fe70:	48 8b c3             	mov    %rbx,%rax
18003fe73:	48 ff c0             	inc    %rax
18003fe76:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1)
18003fe7a:	75 f7                	jne    0x18003fe73
18003fe7c:	85 c0                	test   %eax,%eax
18003fe7e:	74 68                	je     0x18003fee8
18003fe80:	48 63 c8             	movslq %eax,%rcx
18003fe83:	48 83 e9 01          	sub    $0x1,%rcx
18003fe87:	78 1b                	js     0x18003fea4
18003fe89:	48 8d 3c 31          	lea    (%rcx,%rsi,1),%rdi
18003fe8d:	0f be 0f             	movsbl (%rdi),%ecx
18003fe90:	e8 73 bc 0e 00       	call   0x18012bb08
18003fe95:	85 c0                	test   %eax,%eax
18003fe97:	74 0b                	je     0x18003fea4
18003fe99:	c6 07 00             	movb   $0x0,(%rdi)
18003fe9c:	48 ff cf             	dec    %rdi
18003fe9f:	48 3b fe             	cmp    %rsi,%rdi
18003fea2:	79 e9                	jns    0x18003fe8d
18003fea4:	48 ff c3             	inc    %rbx
18003fea7:	80 3c 1e 00          	cmpb   $0x0,(%rsi,%rbx,1)
18003feab:	75 f7                	jne    0x18003fea4
18003fead:	85 db                	test   %ebx,%ebx
18003feaf:	74 37                	je     0x18003fee8
18003feb1:	33 ed                	xor    %ebp,%ebp
18003feb3:	4c 63 f3             	movslq %ebx,%r14
18003feb6:	85 db                	test   %ebx,%ebx
18003feb8:	7e 19                	jle    0x18003fed3
18003feba:	33 ff                	xor    %edi,%edi
18003febc:	0f be 0c 37          	movsbl (%rdi,%rsi,1),%ecx
18003fec0:	e8 43 bc 0e 00       	call   0x18012bb08
18003fec5:	85 c0                	test   %eax,%eax
18003fec7:	74 0a                	je     0x18003fed3
18003fec9:	ff c5                	inc    %ebp
18003fecb:	48 ff c7             	inc    %rdi
18003fece:	49 3b fe             	cmp    %r14,%rdi
18003fed1:	7c e9                	jl     0x18003febc
18003fed3:	2b dd                	sub    %ebp,%ebx
18003fed5:	48 63 d5             	movslq %ebp,%rdx
18003fed8:	ff c3                	inc    %ebx
18003feda:	48 03 d6             	add    %rsi,%rdx
18003fedd:	4c 63 c3             	movslq %ebx,%r8
18003fee0:	48 8b ce             	mov    %rsi,%rcx
18003fee3:	e8 d8 5a 0f 00       	call   0x1801359c0
18003fee8:	48 8b d6             	mov    %rsi,%rdx
18003feeb:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
18003fef0:	e8 23 de 03 00       	call   0x18007dd18
18003fef5:	0f b7 44 24 30       	movzwl 0x30(%rsp),%eax
18003fefa:	8d 04 45 02 00 00 00 	lea    0x2(,%rax,2),%eax
18003ff01:	8b c8                	mov    %eax,%ecx
18003ff03:	66 89 44 24 22       	mov    %ax,0x22(%rsp)
18003ff08:	e8 07 6a 00 00       	call   0x180046914
18003ff0d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18003ff12:	48 85 c0             	test   %rax,%rax
18003ff15:	75 07                	jne    0x18003ff1e
18003ff17:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18003ff1c:	eb 43                	jmp    0x18003ff61
18003ff1e:	45 33 c0             	xor    %r8d,%r8d
18003ff21:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18003ff26:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
18003ff2b:	e8 60 d8 03 00       	call   0x18007d790
18003ff30:	8b d8                	mov    %eax,%ebx
18003ff32:	85 c0                	test   %eax,%eax
18003ff34:	78 1c                	js     0x18003ff52
18003ff36:	49 8b 4f 08          	mov    0x8(%r15),%rcx
18003ff3a:	48 85 c9             	test   %rcx,%rcx
18003ff3d:	74 05                	je     0x18003ff44
18003ff3f:	e8 18 6a 00 00       	call   0x18004695c
18003ff44:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
18003ff49:	33 c9                	xor    %ecx,%ecx
18003ff4b:	f3 41 0f 7f 07       	movdqu %xmm0,(%r15)
18003ff50:	eb 05                	jmp    0x18003ff57
18003ff52:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
18003ff57:	48 85 c9             	test   %rcx,%rcx
18003ff5a:	74 05                	je     0x18003ff61
18003ff5c:	e8 fb 69 00 00       	call   0x18004695c
18003ff61:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18003ff66:	8b c3                	mov    %ebx,%eax
18003ff68:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18003ff6d:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18003ff72:	48 83 c4 40          	add    $0x40,%rsp
18003ff76:	41 5f                	pop    %r15
18003ff78:	41 5e                	pop    %r14
18003ff7a:	5f                   	pop    %rdi
18003ff7b:	c3                   	ret
18003ff7c:	cc                   	int3
18003ff7d:	cc                   	int3
18003ff7e:	cc                   	int3
18003ff7f:	cc                   	int3
18003ff80:	44 8b c9             	mov    %ecx,%r9d
18003ff83:	4c 8d 05 fe c8 10 00 	lea    0x10c8fe(%rip),%r8        # 0x18014c888
18003ff8a:	33 c0                	xor    %eax,%eax
18003ff8c:	41 8b 08             	mov    (%r8),%ecx
18003ff8f:	3b d1                	cmp    %ecx,%edx
18003ff91:	74 61                	je     0x18003fff4
18003ff93:	44 3b c9             	cmp    %ecx,%r9d
18003ff96:	74 58                	je     0x18003fff0
18003ff98:	ff c0                	inc    %eax
18003ff9a:	49 83 c0 04          	add    $0x4,%r8
18003ff9e:	83 f8 06             	cmp    $0x6,%eax
18003ffa1:	72 e9                	jb     0x18003ff8c
18003ffa3:	41 8b c1             	mov    %r9d,%eax
18003ffa6:	8b ca                	mov    %edx,%ecx
18003ffa8:	c1 e8 1e             	shr    $0x1e,%eax
18003ffab:	c1 e9 1e             	shr    $0x1e,%ecx
18003ffae:	3b c8                	cmp    %eax,%ecx
18003ffb0:	77 42                	ja     0x18003fff4
18003ffb2:	72 3c                	jb     0x18003fff0
18003ffb4:	41 8b c1             	mov    %r9d,%eax
18003ffb7:	8b ca                	mov    %edx,%ecx
18003ffb9:	c1 e8 10             	shr    $0x10,%eax
18003ffbc:	81 e1 00 00 ff 0f    	and    $0xfff0000,%ecx
18003ffc2:	25 ff 0f 00 00       	and    $0xfff,%eax
18003ffc7:	41 ba 00 00 e7 00    	mov    $0xe70000,%r10d
18003ffcd:	41 b8 e7 00 00 00    	mov    $0xe7,%r8d
18003ffd3:	41 3b ca             	cmp    %r10d,%ecx
18003ffd6:	75 05                	jne    0x18003ffdd
18003ffd8:	41 3b c0             	cmp    %r8d,%eax
18003ffdb:	75 17                	jne    0x18003fff4
18003ffdd:	41 3b c0             	cmp    %r8d,%eax
18003ffe0:	75 05                	jne    0x18003ffe7
18003ffe2:	41 3b ca             	cmp    %r10d,%ecx
18003ffe5:	75 09                	jne    0x18003fff0
18003ffe7:	66 44 3b ca          	cmp    %dx,%r9w
18003ffeb:	0f 97 c0             	seta   %al
18003ffee:	c3                   	ret
18003ffef:	cc                   	int3
18003fff0:	b0 01                	mov    $0x1,%al
18003fff2:	c3                   	ret
18003fff3:	cc                   	int3
18003fff4:	32 c0                	xor    %al,%al
18003fff6:	c3                   	ret
18003fff7:	cc                   	int3
18003fff8:	48 8d 05 c9 2f 10 00 	lea    0x102fc9(%rip),%rax        # 0x180142fc8
18003ffff:	48 89 01             	mov    %rax,(%rcx)
180040002:	33 c0                	xor    %eax,%eax
180040004:	48 89 41 08          	mov    %rax,0x8(%rcx)
180040008:	48 89 41 10          	mov    %rax,0x10(%rcx)
18004000c:	66 89 41 18          	mov    %ax,0x18(%rcx)
180040010:	48 8b c1             	mov    %rcx,%rax
180040013:	c3                   	ret
180040014:	cc                   	int3
180040015:	cc                   	int3
180040016:	cc                   	int3
180040017:	cc                   	int3
180040018:	40 53                	rex push %rbx
18004001a:	48 83 ec 20          	sub    $0x20,%rsp
18004001e:	48 8d 05 a3 2f 10 00 	lea    0x102fa3(%rip),%rax        # 0x180142fc8
180040025:	48 8b d9             	mov    %rcx,%rbx
180040028:	48 89 01             	mov    %rax,(%rcx)
18004002b:	f6 c2 01             	test   $0x1,%dl
18004002e:	74 05                	je     0x180040035
180040030:	e8 27 69 00 00       	call   0x18004695c
180040035:	48 8b c3             	mov    %rbx,%rax
180040038:	48 83 c4 20          	add    $0x20,%rsp
18004003c:	5b                   	pop    %rbx
18004003d:	c3                   	ret
18004003e:	cc                   	int3
18004003f:	cc                   	int3
180040040:	40 53                	rex push %rbx
180040042:	48 83 ec 20          	sub    $0x20,%rsp