18012bf0f:	cc                   	int3
18012bf10:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18012bf15:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18012bf1a:	55                   	push   %rbp
18012bf1b:	48 8b ec             	mov    %rsp,%rbp
18012bf1e:	48 83 ec 60          	sub    $0x60,%rsp
18012bf22:	83 65 dc 00          	andl   $0x0,-0x24(%rbp)
18012bf26:	0f 57 c0             	xorps  %xmm0,%xmm0
18012bf29:	83 65 fc 00          	andl   $0x0,-0x4(%rbp)
18012bf2d:	4d 8b d9             	mov    %r9,%r11
18012bf30:	4d 8b d0             	mov    %r8,%r10
18012bf33:	48 8b d9             	mov    %rcx,%rbx
18012bf36:	f3 0f 7f 45 ec       	movdqu %xmm0,-0x14(%rbp)
18012bf3b:	4d 85 c0             	test   %r8,%r8
18012bf3e:	0f 84 92 00 00 00    	je     0x18012bfd6
18012bf44:	48 85 d2             	test   %rdx,%rdx
18012bf47:	74 09                	je     0x18012bf52
18012bf49:	48 85 c9             	test   %rcx,%rcx
18012bf4c:	0f 84 84 00 00 00    	je     0x18012bfd6
18012bf52:	c7 45 e8 42 00 00 00 	movl   $0x42,-0x18(%rbp)
18012bf59:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
18012bf5d:	48 89 5d d0          	mov    %rbx,-0x30(%rbp)
18012bf61:	48 81 fa ff ff ff 3f 	cmp    $0x3fffffff,%rdx
18012bf68:	76 09                	jbe    0x18012bf73
18012bf6a:	c7 45 d8 ff ff ff 7f 	movl   $0x7fffffff,-0x28(%rbp)
18012bf71:	eb 06                	jmp    0x18012bf79
18012bf73:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
18012bf76:	89 45 d8             	mov    %eax,-0x28(%rbp)
18012bf79:	4c 8b 4d 30          	mov    0x30(%rbp),%r9
18012bf7d:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
18012bf81:	4d 8b c3             	mov    %r11,%r8
18012bf84:	49 8b d2             	mov    %r10,%rdx
18012bf87:	e8 60 0e 00 00       	call   0x18012cdec
18012bf8c:	8b f8                	mov    %eax,%edi
18012bf8e:	48 85 db             	test   %rbx,%rbx
18012bf91:	74 3f                	je     0x18012bfd2
18012bf93:	83 6d d8 01          	subl   $0x1,-0x28(%rbp)
18012bf97:	78 14                	js     0x18012bfad
18012bf99:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18012bf9d:	c6 01 00             	movb   $0x0,(%rcx)
18012bfa0:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18012bfa4:	48 ff c1             	inc    %rcx
18012bfa7:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
18012bfab:	eb 0f                	jmp    0x18012bfbc
18012bfad:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
18012bfb1:	33 c9                	xor    %ecx,%ecx
18012bfb3:	e8 c4 00 00 00       	call   0x18012c07c
18012bfb8:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18012bfbc:	83 6d d8 01          	subl   $0x1,-0x28(%rbp)
18012bfc0:	78 05                	js     0x18012bfc7
18012bfc2:	c6 01 00             	movb   $0x0,(%rcx)
18012bfc5:	eb 0b                	jmp    0x18012bfd2
18012bfc7:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
18012bfcb:	33 c9                	xor    %ecx,%ecx
18012bfcd:	e8 aa 00 00 00       	call   0x18012c07c
18012bfd2:	8b c7                	mov    %edi,%eax
18012bfd4:	eb 18                	jmp    0x18012bfee
18012bfd6:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18012bfdc:	45 33 c9             	xor    %r9d,%r9d
18012bfdf:	45 33 c0             	xor    %r8d,%r8d
18012bfe2:	33 d2                	xor    %edx,%edx
18012bfe4:	33 c9                	xor    %ecx,%ecx
18012bfe6:	e8 41 9b ee ff       	call   0x180015b2c
18012bfeb:	83 c8 ff             	or     $0xffffffff,%eax
18012bfee:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18012bff3:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
18012bff8:	48 83 c4 60          	add    $0x60,%rsp
18012bffc:	5d                   	pop    %rbp
18012bffd:	c3                   	ret
18012bffe:	cc                   	int3
18012bfff:	cc                   	int3
18012c000:	4c 8b c9             	mov    %rcx,%r9
18012c003:	45 33 c0             	xor    %r8d,%r8d
18012c006:	8a 01                	mov    (%rcx),%al
18012c008:	48 ff c1             	inc    %rcx
18012c00b:	84 c0                	test   %al,%al
18012c00d:	75 f7                	jne    0x18012c006
18012c00f:	48 ff c9             	dec    %rcx
18012c012:	8a 01                	mov    (%rcx),%al
18012c014:	49 3b c9             	cmp    %r9,%rcx
18012c017:	74 04                	je     0x18012c01d
18012c019:	3a c2                	cmp    %dl,%al
18012c01b:	75 f2                	jne    0x18012c00f
18012c01d:	3a c2                	cmp    %dl,%al
18012c01f:	4c 0f 44 c1          	cmove  %rcx,%r8
18012c023:	49 8b c0             	mov    %r8,%rax
18012c026:	c3                   	ret
18012c027:	cc                   	int3
18012c028:	eb 09                	jmp    0x18012c033
18012c02a:	66 3b c2             	cmp    %dx,%ax
18012c02d:	74 11                	je     0x18012c040
18012c02f:	48 83 c1 02          	add    $0x2,%rcx
18012c033:	0f b7 01             	movzwl (%rcx),%eax
18012c036:	66 85 c0             	test   %ax,%ax
18012c039:	75 ef                	jne    0x18012c02a
18012c03b:	66 3b c2             	cmp    %dx,%ax
18012c03e:	75 05                	jne    0x18012c045
18012c040:	48 8b c1             	mov    %rcx,%rax
18012c043:	c3                   	ret
18012c044:	cc                   	int3
18012c045:	33 c0                	xor    %eax,%eax
18012c047:	c3                   	ret
18012c048:	cc                   	int3
18012c049:	cc                   	int3
18012c04a:	cc                   	int3
18012c04b:	cc                   	int3
18012c04c:	40 53                	rex push %rbx
18012c04e:	48 83 ec 20          	sub    $0x20,%rsp
18012c052:	8b d9                	mov    %ecx,%ebx
18012c054:	e8 87 0d 00 00       	call   0x18012cde0
18012c059:	83 c9 ff             	or     $0xffffffff,%ecx
18012c05c:	0f b6 d3             	movzbl %bl,%edx
18012c05f:	3b d9                	cmp    %ecx,%ebx
18012c061:	0f 44 d1             	cmove  %ecx,%edx
18012c064:	48 63 d2             	movslq %edx,%rdx
18012c067:	8a 04 50             	mov    (%rax,%rdx,2),%al
18012c06a:	a8 01                	test   $0x1,%al
18012c06c:	8d 43 20             	lea    0x20(%rbx),%eax
18012c06f:	0f 45 d8             	cmovne %eax,%ebx
18012c072:	8b c3                	mov    %ebx,%eax
18012c074:	48 83 c4 20          	add    $0x20,%rsp
18012c078:	5b                   	pop    %rbx
18012c079:	c3                   	ret
18012c07a:	cc                   	int3
18012c07b:	cc                   	int3
18012c07c:	83 4a 18 20          	orl    $0x20,0x18(%rdx)
18012c080:	83 c8 ff             	or     $0xffffffff,%eax
18012c083:	c3                   	ret
18012c084:	cc                   	int3
18012c085:	cc                   	int3
18012c086:	cc                   	int3
18012c087:	cc                   	int3
18012c088:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18012c08d:	55                   	push   %rbp
18012c08e:	56                   	push   %rsi
18012c08f:	57                   	push   %rdi
18012c090:	41 54                	push   %r12
18012c092:	41 55                	push   %r13
18012c094:	41 56                	push   %r14
18012c096:	41 57                	push   %r15
18012c098:	48 8d ac 24 80 fe ff 	lea    -0x180(%rsp),%rbp
18012c09f:	ff
18012c0a0:	48 81 ec 80 02 00 00 	sub    $0x280,%rsp
18012c0a7:	48 8b 05 c2 08 04 00 	mov    0x408c2(%rip),%rax        # 0x18016c970
18012c0ae:	48 33 c4             	xor    %rsp,%rax
18012c0b1:	48 89 85 78 01 00 00 	mov    %rax,0x178(%rbp)
18012c0b8:	33 c0                	xor    %eax,%eax
18012c0ba:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
18012c0bf:	4c 8b e2             	mov    %rdx,%r12
18012c0c2:	89 44 24 54          	mov    %eax,0x54(%rsp)
18012c0c6:	4c 8b f9             	mov    %rcx,%r15
18012c0c9:	89 44 24 48          	mov    %eax,0x48(%rsp)
18012c0cd:	33 d2                	xor    %edx,%edx
18012c0cf:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
18012c0d3:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
18012c0d8:	89 44 24 30          	mov    %eax,0x30(%rsp)
18012c0dc:	41 b8 00 02 00 00    	mov    $0x200,%r8d
18012c0e2:	89 44 24 50          	mov    %eax,0x50(%rsp)
18012c0e6:	8b f8                	mov    %eax,%edi
18012c0e8:	8b f0                	mov    %eax,%esi
18012c0ea:	44 8b f0             	mov    %eax,%r14d
18012c0ed:	8b d8                	mov    %eax,%ebx
18012c0ef:	4d 8b e9             	mov    %r9,%r13
18012c0f2:	e8 89 9b 00 00       	call   0x180135c80
18012c0f7:	45 33 d2             	xor    %r10d,%r10d
18012c0fa:	44 89 54 24 44       	mov    %r10d,0x44(%rsp)
18012c0ff:	4d 85 ff             	test   %r15,%r15
18012c102:	0f 84 73 07 00 00    	je     0x18012c87b
18012c108:	4d 85 e4             	test   %r12,%r12
18012c10b:	0f 84 6a 07 00 00    	je     0x18012c87b
18012c111:	45 8a 0c 24          	mov    (%r12),%r9b
18012c115:	45 8b fa             	mov    %r10d,%r15d
18012c118:	44 89 54 24 34       	mov    %r10d,0x34(%rsp)
18012c11d:	45 8b c2             	mov    %r10d,%r8d
18012c120:	44 89 54 24 40       	mov    %r10d,0x40(%rsp)
18012c125:	45 84 c9             	test   %r9b,%r9b
18012c128:	0f 84 67 06 00 00    	je     0x18012c795
18012c12e:	48 8d 0d 6b 5f 01 00 	lea    0x15f6b(%rip),%rcx        # 0x1801420a0
18012c135:	44 8d 5b 10          	lea    0x10(%rbx),%r11d
18012c139:	49 ff c4             	inc    %r12
18012c13c:	45 85 ff             	test   %r15d,%r15d
18012c13f:	0f 88 50 06 00 00    	js     0x18012c795
18012c145:	41 8d 41 e0          	lea    -0x20(%r9),%eax
18012c149:	3c 5a                	cmp    $0x5a,%al
18012c14b:	77 0e                	ja     0x18012c15b
18012c14d:	49 0f be c1          	movsbq %r9b,%rax
18012c151:	0f be 4c 08 e0       	movsbl -0x20(%rax,%rcx,1),%ecx
18012c156:	83 e1 0f             	and    $0xf,%ecx
18012c159:	eb 03                	jmp    0x18012c15e
18012c15b:	41 8b ca             	mov    %r10d,%ecx
18012c15e:	41 8d 04 c8          	lea    (%r8,%rcx,8),%eax
18012c162:	41 0f be d1          	movsbl %r9b,%edx
18012c166:	48 63 c8             	movslq %eax,%rcx
18012c169:	48 8d 05 30 5f 01 00 	lea    0x15f30(%rip),%rax        # 0x1801420a0
18012c170:	44 0f be 04 01       	movsbl (%rcx,%rax,1),%r8d
18012c175:	41 c1 f8 04          	sar    $0x4,%r8d
18012c179:	44 89 44 24 4c       	mov    %r8d,0x4c(%rsp)
18012c17e:	41 8b c8             	mov    %r8d,%ecx
18012c181:	45 85 c0             	test   %r8d,%r8d
18012c184:	0f 84 cd 05 00 00    	je     0x18012c757
18012c18a:	83 e9 01             	sub    $0x1,%ecx
18012c18d:	0f 84 c2 06 00 00    	je     0x18012c855
18012c193:	83 e9 01             	sub    $0x1,%ecx
18012c196:	0f 84 6e 06 00 00    	je     0x18012c80a
18012c19c:	83 e9 01             	sub    $0x1,%ecx
18012c19f:	0f 84 2c 06 00 00    	je     0x18012c7d1
18012c1a5:	83 e9 01             	sub    $0x1,%ecx
18012c1a8:	0f 84 19 06 00 00    	je     0x18012c7c7
18012c1ae:	83 e9 01             	sub    $0x1,%ecx
18012c1b1:	0f 84 e6 05 00 00    	je     0x18012c79d
18012c1b7:	83 e9 01             	sub    $0x1,%ecx
18012c1ba:	0f 84 e2 04 00 00    	je     0x18012c6a2
18012c1c0:	83 f9 01             	cmp    $0x1,%ecx
18012c1c3:	0f 85 b8 05 00 00    	jne    0x18012c781
18012c1c9:	83 fa 69             	cmp    $0x69,%edx
18012c1cc:	0f 8f 7f 01 00 00    	jg     0x18012c351
18012c1d2:	74 31                	je     0x18012c205
18012c1d4:	83 ea 43             	sub    $0x43,%edx
18012c1d7:	0f 84 17 01 00 00    	je     0x18012c2f4
18012c1dd:	41 2b d3             	sub    %r11d,%edx
18012c1e0:	0f 84 be 00 00 00    	je     0x18012c2a4
18012c1e6:	83 ea 05             	sub    $0x5,%edx
18012c1e9:	0f 84 e4 01 00 00    	je     0x18012c3d3
18012c1ef:	83 ea 02             	sub    $0x2,%edx
18012c1f2:	74 3c                	je     0x18012c230
18012c1f4:	83 ea 09             	sub    $0x9,%edx
18012c1f7:	0f 84 03 01 00 00    	je     0x18012c300
18012c1fd:	3b d1                	cmp    %ecx,%edx
18012c1ff:	0f 85 34 03 00 00    	jne    0x18012c539
18012c205:	83 cf 40             	or     $0x40,%edi
18012c208:	41 ba 0a 00 00 00    	mov    $0xa,%r10d
18012c20e:	ba 00 02 00 00       	mov    $0x200,%edx
18012c213:	49 83 c5 08          	add    $0x8,%r13
18012c217:	0f ba e7 0f          	bt     $0xf,%edi
18012c21b:	72 0a                	jb     0x18012c227
18012c21d:	0f ba e7 0c          	bt     $0xc,%edi
18012c221:	0f 83 ee 01 00 00    	jae    0x18012c415
18012c227:	49 8b 45 f8          	mov    -0x8(%r13),%rax
18012c22b:	e9 10 02 00 00       	jmp    0x18012c440
18012c230:	49 8b 55 00          	mov    0x0(%r13),%rdx
18012c234:	49 83 c5 08          	add    $0x8,%r13
18012c238:	48 85 d2             	test   %rdx,%rdx
18012c23b:	74 47                	je     0x18012c284
18012c23d:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
18012c241:	48 85 db             	test   %rbx,%rbx
18012c244:	74 3e                	je     0x18012c284
18012c246:	0f b7 02             	movzwl (%rdx),%eax
18012c249:	66 39 42 02          	cmp    %ax,0x2(%rdx)
18012c24d:	0f 82 28 06 00 00    	jb     0x18012c87b
18012c253:	8b c8                	mov    %eax,%ecx
18012c255:	0f ba e7 0b          	bt     $0xb,%edi
18012c259:	73 22                	jae    0x18012c27d
18012c25b:	f7 d0                	not    %eax
18012c25d:	a8 01                	test   $0x1,%al
18012c25f:	0f 84 16 06 00 00    	je     0x18012c87b
18012c265:	8b c3                	mov    %ebx,%eax
18012c267:	f7 d0                	not    %eax
18012c269:	a8 01                	test   $0x1,%al
18012c26b:	0f 84 0a 06 00 00    	je     0x18012c87b
18012c271:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012c278:	00
18012c279:	d1 e9                	shr    $1,%ecx
18012c27b:	eb 1e                	jmp    0x18012c29b
18012c27d:	44 89 54 24 44       	mov    %r10d,0x44(%rsp)
18012c282:	eb 17                	jmp    0x18012c29b
18012c284:	48 8d 05 fd 5d 01 00 	lea    0x15dfd(%rip),%rax        # 0x180142088
18012c28b:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
18012c28f:	48 8b d8             	mov    %rax,%rbx
18012c292:	48 ff c1             	inc    %rcx
18012c295:	44 38 14 08          	cmp    %r10b,(%rax,%rcx,1)
18012c299:	75 f7                	jne    0x18012c292
18012c29b:	89 4c 24 40          	mov    %ecx,0x40(%rsp)
18012c29f:	e9 95 02 00 00       	jmp    0x18012c539
18012c2a4:	f7 c7 30 08 00 00    	test   $0x830,%edi
18012c2aa:	75 04                	jne    0x18012c2b0
18012c2ac:	0f ba ef 0b          	bts    $0xb,%edi
18012c2b0:	49 8b 5d 00          	mov    0x0(%r13),%rbx
18012c2b4:	83 fe ff             	cmp    $0xffffffff,%esi
18012c2b7:	8b ce                	mov    %esi,%ecx
18012c2b9:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
18012c2be:	0f 44 c8             	cmove  %eax,%ecx
18012c2c1:	49 83 c5 08          	add    $0x8,%r13
18012c2c5:	f7 c7 10 08 00 00    	test   $0x810,%edi
18012c2cb:	0f 84 cf 00 00 00    	je     0x18012c3a0
18012c2d1:	48 8b c3             	mov    %rbx,%rax
18012c2d4:	48 85 db             	test   %rbx,%rbx
18012c2d7:	75 0e                	jne    0x18012c2e7
18012c2d9:	48 8d 1d b0 5d 01 00 	lea    0x15db0(%rip),%rbx        # 0x180142090
18012c2e0:	48 8d 05 a9 5d 01 00 	lea    0x15da9(%rip),%rax        # 0x180142090
18012c2e7:	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
18012c2ee:	00
18012c2ef:	e9 a0 00 00 00       	jmp    0x18012c394
18012c2f4:	f7 c7 30 08 00 00    	test   $0x830,%edi
18012c2fa:	75 04                	jne    0x18012c300
18012c2fc:	0f ba ef 0b          	bts    $0xb,%edi
18012c300:	49 83 c5 08          	add    $0x8,%r13
18012c304:	f7 c7 10 08 00 00    	test   $0x810,%edi
18012c30a:	74 2b                	je     0x18012c337
18012c30c:	45 0f b7 4d f8       	movzwl -0x8(%r13),%r9d
18012c311:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
18012c316:	41 b8 00 02 00 00    	mov    $0x200,%r8d
18012c31c:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18012c321:	e8 a2 15 00 00       	call   0x18012d8c8
18012c326:	45 33 d2             	xor    %r10d,%r10d
18012c329:	85 c0                	test   %eax,%eax
18012c32b:	74 1a                	je     0x18012c347
18012c32d:	c7 44 24 50 01 00 00 	movl   $0x1,0x50(%rsp)
18012c334:	00
18012c335:	eb 10                	jmp    0x18012c347
18012c337:	41 8a 45 f8          	mov    -0x8(%r13),%al
18012c33b:	88 44 24 70          	mov    %al,0x70(%rsp)
18012c33f:	c7 44 24 40 01 00 00 	movl   $0x1,0x40(%rsp)
18012c346:	00
18012c347:	48 8d 5c 24 70       	lea    0x70(%rsp),%rbx
18012c34c:	e9 e8 01 00 00       	jmp    0x18012c539
18012c351:	83 ea 6e             	sub    $0x6e,%edx
18012c354:	0f 84 a7 01 00 00    	je     0x18012c501
18012c35a:	83 ea 01             	sub    $0x1,%edx
18012c35d:	0f 84 97 00 00 00    	je     0x18012c3fa
18012c363:	83 ea 01             	sub    $0x1,%edx
18012c366:	74 64                	je     0x18012c3cc
18012c368:	83 ea 03             	sub    $0x3,%edx
18012c36b:	0f 84 3f ff ff ff    	je     0x18012c2b0
18012c371:	83 ea 02             	sub    $0x2,%edx
18012c374:	0f 84 8e fe ff ff    	je     0x18012c208
18012c37a:	83 fa 03             	cmp    $0x3,%edx
18012c37d:	0f 85 b6 01 00 00    	jne    0x18012c539
18012c383:	8d 42 24             	lea    0x24(%rdx),%eax
18012c386:	eb 50                	jmp    0x18012c3d8
18012c388:	ff c9                	dec    %ecx
18012c38a:	66 44 39 10          	cmp    %r10w,(%rax)
18012c38e:	74 08                	je     0x18012c398
18012c390:	48 83 c0 02          	add    $0x2,%rax
18012c394:	85 c9                	test   %ecx,%ecx
18012c396:	75 f0                	jne    0x18012c388
18012c398:	48 2b c3             	sub    %rbx,%rax
18012c39b:	48 d1 f8             	sar    $1,%rax
18012c39e:	eb 23                	jmp    0x18012c3c3
18012c3a0:	48 85 db             	test   %rbx,%rbx
18012c3a3:	48 8d 05 de 5c 01 00 	lea    0x15cde(%rip),%rax        # 0x180142088
18012c3aa:	48 0f 45 c3          	cmovne %rbx,%rax
18012c3ae:	48 8b d8             	mov    %rax,%rbx
18012c3b1:	eb 0a                	jmp    0x18012c3bd
18012c3b3:	ff c9                	dec    %ecx
18012c3b5:	44 38 10             	cmp    %r10b,(%rax)
18012c3b8:	74 07                	je     0x18012c3c1
18012c3ba:	48 ff c0             	inc    %rax
18012c3bd:	85 c9                	test   %ecx,%ecx
18012c3bf:	75 f2                	jne    0x18012c3b3
18012c3c1:	2b c3                	sub    %ebx,%eax