180080edd:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
180080ee2:	4c 21 64 24 20       	and    %r12,0x20(%rsp)
180080ee7:	48 8b c8             	mov    %rax,%rcx
180080eea:	e8 c5 1c 07 00       	call   0x1800f2bb4
180080eef:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
180080ef4:	8b d8                	mov    %eax,%ebx
180080ef6:	85 db                	test   %ebx,%ebx
180080ef8:	79 0b                	jns    0x180080f05
180080efa:	33 c9                	xor    %ecx,%ecx
180080efc:	3b de                	cmp    %esi,%ebx
180080efe:	0f 45 cb             	cmovne %ebx,%ecx
180080f01:	8b d9                	mov    %ecx,%ebx
180080f03:	eb 50                	jmp    0x180080f55
180080f05:	33 f6                	xor    %esi,%esi
180080f07:	48 8d 2d d2 0c 0d 00 	lea    0xd0cd2(%rip),%rbp        # 0x180151be0
180080f0e:	48 8d 05 bb 0c 0d 00 	lea    0xd0cbb(%rip),%rax        # 0x180151bd0
180080f15:	8b d6                	mov    %esi,%edx
180080f17:	48 c1 e2 05          	shl    $0x5,%rdx
180080f1b:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
180080f20:	48 03 d0             	add    %rax,%rdx
180080f23:	44 8b f6             	mov    %esi,%r14d
180080f26:	41 b0 01             	mov    $0x1,%r8b
180080f29:	e8 d6 c7 ff ff       	call   0x18007d704
180080f2e:	84 c0                	test   %al,%al
180080f30:	74 06                	je     0x180080f38
180080f32:	4c 3b 65 00          	cmp    0x0(%rbp),%r12
180080f36:	73 0d                	jae    0x180080f45
180080f38:	ff c6                	inc    %esi
180080f3a:	48 83 c5 20          	add    $0x20,%rbp
180080f3e:	83 fe 07             	cmp    $0x7,%esi
180080f41:	73 12                	jae    0x180080f55
180080f43:	eb c9                	jmp    0x180080f0e
180080f45:	49 c1 e6 05          	shl    $0x5,%r14
180080f49:	48 8d 05 80 0c 0d 00 	lea    0xd0c80(%rip),%rax        # 0x180151bd0
180080f50:	45 8b 7c 06 18       	mov    0x18(%r14,%rax,1),%r15d
180080f55:	85 db                	test   %ebx,%ebx
180080f57:	78 13                	js     0x180080f6c
180080f59:	41 f6 c7 01          	test   $0x1,%r15b
180080f5d:	74 03                	je     0x180080f62
180080f5f:	83 0f 40             	orl    $0x40,(%rdi)
180080f62:	41 f6 c7 02          	test   $0x2,%r15b
180080f66:	74 04                	je     0x180080f6c
180080f68:	0f ba 2f 07          	btsl   $0x7,(%rdi)
180080f6c:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
180080f71:	8b c3                	mov    %ebx,%eax
180080f73:	49 8b 5b 30          	mov    0x30(%r11),%rbx
180080f77:	49 8b 6b 38          	mov    0x38(%r11),%rbp
180080f7b:	49 8b e3             	mov    %r11,%rsp
180080f7e:	41 5f                	pop    %r15
180080f80:	41 5e                	pop    %r14
180080f82:	41 5c                	pop    %r12
180080f84:	5f                   	pop    %rdi
180080f85:	5e                   	pop    %rsi
180080f86:	c3                   	ret
180080f87:	cc                   	int3
180080f88:	48 8b c4             	mov    %rsp,%rax
180080f8b:	48 89 58 10          	mov    %rbx,0x10(%rax)
180080f8f:	4c 89 48 20          	mov    %r9,0x20(%rax)
180080f93:	4c 89 40 18          	mov    %r8,0x18(%rax)
180080f97:	48 89 48 08          	mov    %rcx,0x8(%rax)
180080f9b:	55                   	push   %rbp
180080f9c:	56                   	push   %rsi
180080f9d:	57                   	push   %rdi
180080f9e:	41 54                	push   %r12
180080fa0:	41 55                	push   %r13
180080fa2:	41 56                	push   %r14
180080fa4:	41 57                	push   %r15
180080fa6:	48 8d a8 78 fa ff ff 	lea    -0x588(%rax),%rbp
180080fad:	48 81 ec 50 06 00 00 	sub    $0x650,%rsp
180080fb4:	33 db                	xor    %ebx,%ebx
180080fb6:	c7 44 24 78 04 80 00 	movl   $0x8004,0x78(%rsp)
180080fbd:	00
180080fbe:	44 8b fa             	mov    %edx,%r15d
180080fc1:	48 89 5d d8          	mov    %rbx,-0x28(%rbp)
180080fc5:	8b fb                	mov    %ebx,%edi
180080fc7:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
180080fcb:	33 d2                	xor    %edx,%edx
180080fcd:	48 89 5d 80          	mov    %rbx,-0x80(%rbp)
180080fd1:	44 8d 43 70          	lea    0x70(%rbx),%r8d
180080fd5:	88 5c 24 61          	mov    %bl,0x61(%rsp)
180080fd9:	48 8d 8d e0 00 00 00 	lea    0xe0(%rbp),%rcx
180080fe0:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
180080fe5:	8b f3                	mov    %ebx,%esi
180080fe7:	48 89 7d 98          	mov    %rdi,-0x68(%rbp)
180080feb:	89 5d b4             	mov    %ebx,-0x4c(%rbp)
180080fee:	44 8b eb             	mov    %ebx,%r13d
180080ff1:	48 89 5d 08          	mov    %rbx,0x8(%rbp)
180080ff5:	89 5d a0             	mov    %ebx,-0x60(%rbp)
180080ff8:	c7 45 c4 01 00 00 00 	movl   $0x1,-0x3c(%rbp)
180080fff:	89 5d b0             	mov    %ebx,-0x50(%rbp)
180081002:	48 89 5d 18          	mov    %rbx,0x18(%rbp)
180081006:	89 5d 20             	mov    %ebx,0x20(%rbp)
180081009:	89 5d 88             	mov    %ebx,-0x78(%rbp)
18008100c:	88 5c 24 60          	mov    %bl,0x60(%rsp)
180081010:	e8 6b 4c 0b 00       	call   0x180135c80
180081015:	33 d2                	xor    %edx,%edx
180081017:	44 8d 43 58          	lea    0x58(%rbx),%r8d
18008101b:	48 8d 4d 40          	lea    0x40(%rbp),%rcx
18008101f:	e8 5c 4c 0b 00       	call   0x180135c80
180081024:	48 8b 85 e8 05 00 00 	mov    0x5e8(%rbp),%rax
18008102b:	44 8b b5 d8 05 00 00 	mov    0x5d8(%rbp),%r14d
180081032:	44 8b a5 e0 05 00 00 	mov    0x5e0(%rbp),%r12d
180081039:	89 18                	mov    %ebx,(%rax)
18008103b:	8d 43 0d             	lea    0xd(%rbx),%eax
18008103e:	45 85 f6             	test   %r14d,%r14d
180081041:	74 0f                	je     0x180081052
180081043:	44 84 e0             	test   %r12b,%al
180081046:	74 0a                	je     0x180081052
180081048:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18008104d:	e9 2f 0d 00 00       	jmp    0x180081d81
180081052:	e8 99 0d 00 00       	call   0x180081df0
180081057:	8b d8                	mov    %eax,%ebx
180081059:	85 c0                	test   %eax,%eax
18008105b:	0f 88 20 0d 00 00    	js     0x180081d81
180081061:	8b 44 24 78          	mov    0x78(%rsp),%eax
180081065:	89 85 d8 05 00 00    	mov    %eax,0x5d8(%rbp)
18008106b:	48 8b 85 90 05 00 00 	mov    0x590(%rbp),%rax
180081072:	f6 00 02             	testb  $0x2,(%rax)
180081075:	75 21                	jne    0x180081098
180081077:	8b 48 08             	mov    0x8(%rax),%ecx
18008107a:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
18008107e:	e8 95 7c fe ff       	call   0x180068d18
180081083:	85 c0                	test   %eax,%eax
180081085:	78 1e                	js     0x1800810a5
180081087:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
18008108b:	8b c7                	mov    %edi,%eax
18008108d:	48 89 7d 98          	mov    %rdi,-0x68(%rbp)
180081091:	48 3b f8             	cmp    %rax,%rdi
180081094:	75 0f                	jne    0x1800810a5
180081096:	eb 07                	jmp    0x18008109f
180081098:	8b 78 10             	mov    0x10(%rax),%edi
18008109b:	48 89 7d 98          	mov    %rdi,-0x68(%rbp)
18008109f:	33 c0                	xor    %eax,%eax
1800810a1:	85 c0                	test   %eax,%eax
1800810a3:	79 0a                	jns    0x1800810af
1800810a5:	bb 98 00 00 c0       	mov    $0xc0000098,%ebx
1800810aa:	e9 d2 0c 00 00       	jmp    0x180081d81
1800810af:	21 74 24 28          	and    %esi,0x28(%rsp)
1800810b3:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
1800810b8:	21 74 24 20          	and    %esi,0x20(%rsp)
1800810bc:	45 33 c9             	xor    %r9d,%r9d
1800810bf:	8b ff                	mov    %edi,%edi
1800810c1:	41 b8 0a 00 00 d0    	mov    $0xd000000a,%r8d
1800810c7:	8b d7                	mov    %edi,%edx
1800810c9:	e8 72 eb ff ff       	call   0x18007fc40
1800810ce:	8b d8                	mov    %eax,%ebx
1800810d0:	85 c0                	test   %eax,%eax
1800810d2:	0f 88 70 02 00 00    	js     0x180081348
1800810d8:	4c 8b 4c 24 68       	mov    0x68(%rsp),%r9
1800810dd:	45 33 c0             	xor    %r8d,%r8d
1800810e0:	8b 55 98             	mov    -0x68(%rbp),%edx
1800810e3:	48 8b 8d 90 05 00 00 	mov    0x590(%rbp),%rcx
1800810ea:	48 21 74 24 20       	and    %rsi,0x20(%rsp)
1800810ef:	e8 8c 2c 00 00       	call   0x180083d80
1800810f4:	8b d8                	mov    %eax,%ebx
1800810f6:	85 c0                	test   %eax,%eax
1800810f8:	0f 88 4a 02 00 00    	js     0x180081348
1800810fe:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
180081103:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
180081107:	48 89 45 08          	mov    %rax,0x8(%rbp)
18008110b:	4c 8d 4d b8          	lea    -0x48(%rbp),%r9
18008110f:	48 8b 45 98          	mov    -0x68(%rbp),%rax
180081113:	0f 57 c0             	xorps  %xmm0,%xmm0
180081116:	0f 11 45 f8          	movups %xmm0,-0x8(%rbp)
18008111a:	89 45 f8             	mov    %eax,-0x8(%rbp)
18008111d:	48 8b d1             	mov    %rcx,%rdx
180081120:	48 8b 85 90 05 00 00 	mov    0x590(%rbp),%rax
180081127:	44 8b c7             	mov    %edi,%r8d
18008112a:	0f 11 45 e8          	movups %xmm0,-0x18(%rbp)
18008112e:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
180081132:	33 c9                	xor    %ecx,%ecx
180081134:	c6 45 e8 03          	movb   $0x3,-0x18(%rbp)
180081138:	48 8b 40 18          	mov    0x18(%rax),%rax
18008113c:	48 89 45 00          	mov    %rax,0x0(%rbp)
180081140:	e8 f3 60 fb ff       	call   0x180037238
180081145:	8b d8                	mov    %eax,%ebx
180081147:	85 c0                	test   %eax,%eax
180081149:	0f 88 f9 01 00 00    	js     0x180081348
18008114f:	48 8b 7d b8          	mov    -0x48(%rbp),%rdi
180081153:	41 f6 c4 02          	test   $0x2,%r12b
180081157:	74 50                	je     0x1800811a9
180081159:	0f b7 47 04          	movzwl 0x4(%rdi),%eax
18008115d:	b9 64 86 00 00       	mov    $0x8664,%ecx
180081162:	66 3b c8             	cmp    %ax,%cx
180081165:	74 42                	je     0x1800811a9
180081167:	8b c8                	mov    %eax,%ecx
180081169:	81 e9 4c 01 00 00    	sub    $0x14c,%ecx
18008116f:	74 2e                	je     0x18008119f
180081171:	83 e9 78             	sub    $0x78,%ecx
180081174:	74 29                	je     0x18008119f
180081176:	83 e9 3c             	sub    $0x3c,%ecx
180081179:	74 1a                	je     0x180081195
18008117b:	81 e9 64 84 00 00    	sub    $0x8464,%ecx
180081181:	74 12                	je     0x180081195
180081183:	81 f9 00 24 00 00    	cmp    $0x2400,%ecx
180081189:	74 0a                	je     0x180081195
18008118b:	bb 7b 00 00 c0       	mov    $0xc000007b,%ebx
180081190:	e9 b3 01 00 00       	jmp    0x180081348
180081195:	bb 5a 03 00 c0       	mov    $0xc000035a,%ebx
18008119a:	e9 a9 01 00 00       	jmp    0x180081348
18008119f:	bb 59 03 00 c0       	mov    $0xc0000359,%ebx
1800811a4:	e9 9f 01 00 00       	jmp    0x180081348
1800811a9:	b9 10 00 00 00       	mov    $0x10,%ecx
1800811ae:	41 b8 0b 02 00 00    	mov    $0x20b,%r8d
1800811b4:	41 f7 c4 80 00 20 00 	test   $0x200080,%r12d
1800811bb:	74 09                	je     0x1800811c6
1800811bd:	0f b7 47 5c          	movzwl 0x5c(%rdi),%eax
1800811c1:	66 3b c1             	cmp    %cx,%ax
1800811c4:	75 c5                	jne    0x18008118b
1800811c6:	0f b7 47 5e          	movzwl 0x5e(%rdi),%eax
1800811ca:	41 bd 00 02 00 00    	mov    $0x200,%r13d
1800811d0:	be 80 00 00 00       	mov    $0x80,%esi
1800811d5:	45 85 e5             	test   %r12d,%r13d
1800811d8:	74 10                	je     0x1800811ea
1800811da:	40 84 c6             	test   %al,%sil
1800811dd:	74 0b                	je     0x1800811ea
1800811df:	41 83 cc 30          	or     $0x30,%r12d
1800811e3:	44 89 a5 e0 05 00 00 	mov    %r12d,0x5e0(%rbp)
1800811ea:	41 8b c4             	mov    %r12d,%eax
1800811ed:	23 c1                	and    %ecx,%eax
1800811ef:	89 45 c8             	mov    %eax,-0x38(%rbp)
1800811f2:	75 0e                	jne    0x180081202
1800811f4:	48 83 bd b0 05 00 00 	cmpq   $0x0,0x5b0(%rbp)
1800811fb:	00
1800811fc:	0f 84 10 01 00 00    	je     0x180081312
180081202:	41 8b cc             	mov    %r12d,%ecx
180081205:	c6 44 24 61 01       	movb   $0x1,0x61(%rsp)
18008120a:	e8 81 2f 00 00       	call   0x180084190
18008120f:	8b c8                	mov    %eax,%ecx
180081211:	89 45 c4             	mov    %eax,-0x3c(%rbp)
180081214:	e8 eb 2e 00 00       	call   0x180084104
180081219:	89 85 d8 05 00 00    	mov    %eax,0x5d8(%rbp)
18008121f:	45 8b cc             	mov    %r12d,%r9d
180081222:	44 23 ce             	and    %esi,%r9d
180081225:	b8 65 00 00 00       	mov    $0x65,%eax
18008122a:	41 8b c9             	mov    %r9d,%ecx
18008122d:	41 ba 05 00 00 00    	mov    $0x5,%r10d
180081233:	f7 d9                	neg    %ecx
180081235:	1b d2                	sbb    %edx,%edx
180081237:	83 e2 25             	and    $0x25,%edx
18008123a:	41 0f ba e4 0a       	bt     $0xa,%r12d
18008123f:	0f 42 d0             	cmovb  %eax,%edx
180081242:	41 8b c4             	mov    %r12d,%eax
180081245:	44 8b c2             	mov    %edx,%r8d
180081248:	45 0b c2             	or     %r10d,%r8d
18008124b:	24 40                	and    $0x40,%al
18008124d:	44 0f 44 c2          	cmove  %edx,%r8d
180081251:	ba 00 08 00 00       	mov    $0x800,%edx
180081256:	41 0f ba e4 0f       	bt     $0xf,%r12d
18008125b:	73 2c                	jae    0x180081289
18008125d:	41 83 c8 20          	or     $0x20,%r8d
180081261:	45 85 c9             	test   %r9d,%r9d
180081264:	74 1f                	je     0x180081285
180081266:	8b 0d 90 43 11 00    	mov    0x114390(%rip),%ecx        # 0x1801955fc
18008126c:	8b c1                	mov    %ecx,%eax
18008126e:	25 02 08 00 00       	and    $0x802,%eax
180081273:	3b c2                	cmp    %edx,%eax
180081275:	74 0e                	je     0x180081285
180081277:	81 e1 04 10 00 00    	and    $0x1004,%ecx
18008127d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
180081283:	75 04                	jne    0x180081289
180081285:	41 83 c8 40          	or     $0x40,%r8d
180081289:	41 8b c8             	mov    %r8d,%ecx
18008128c:	41 8b c4             	mov    %r12d,%eax
18008128f:	83 c9 02             	or     $0x2,%ecx
180081292:	23 c2                	and    %edx,%eax
180081294:	b8 0d 00 00 00       	mov    $0xd,%eax
180081299:	41 0f 44 c8          	cmove  %r8d,%ecx
18008129d:	41 0f ba e4 0d       	bt     $0xd,%r12d
1800812a2:	0f 42 c8             	cmovb  %eax,%ecx
1800812a5:	41 0f ba e4 0e       	bt     $0xe,%r12d
1800812aa:	b8 15 00 00 00       	mov    $0x15,%eax
1800812af:	0f 42 c8             	cmovb  %eax,%ecx
1800812b2:	41 0f ba e4 14       	bt     $0x14,%r12d
1800812b7:	41 0f 42 ca          	cmovb  %r10d,%ecx
1800812bb:	41 0f ba e4 11       	bt     $0x11,%r12d
1800812c0:	73 06                	jae    0x1800812c8
1800812c2:	83 e1 fe             	and    $0xfffffffe,%ecx
1800812c5:	83 c9 04             	or     $0x4,%ecx
1800812c8:	44 8b 05 e9 42 11 00 	mov    0x1142e9(%rip),%r8d        # 0x1801955b8
1800812cf:	44 8b c9             	mov    %ecx,%r9d
1800812d2:	44 0b ce             	or     %esi,%r9d
1800812d5:	41 8b c4             	mov    %r12d,%eax
1800812d8:	25 00 00 08 00       	and    $0x80000,%eax
1800812dd:	44 0f 44 c9          	cmove  %ecx,%r9d
1800812e1:	33 d2                	xor    %edx,%edx
1800812e3:	45 85 c0             	test   %r8d,%r8d
1800812e6:	74 20                	je     0x180081308
1800812e8:	48 8b 0d d1 42 11 00 	mov    0x1142d1(%rip),%rcx        # 0x1801955c0
1800812ef:	48 8b 01             	mov    (%rcx),%rax
1800812f2:	f6 40 2e 01          	testb  $0x1,0x2e(%rax)
1800812f6:	75 0d                	jne    0x180081305
1800812f8:	ff c2                	inc    %edx
1800812fa:	48 83 c1 08          	add    $0x8,%rcx
1800812fe:	41 3b d0             	cmp    %r8d,%edx
180081301:	72 ec                	jb     0x1800812ef
180081303:	eb 03                	jmp    0x180081308
180081305:	45 0b cd             	or     %r13d,%r9d
180081308:	41 b8 0b 02 00 00    	mov    $0x20b,%r8d
18008130e:	44 89 4d 88          	mov    %r9d,-0x78(%rbp)
180081312:	8b 47 50             	mov    0x50(%rdi),%eax
180081315:	48 8b b5 a0 05 00 00 	mov    0x5a0(%rbp),%rsi
18008131c:	44 8b c8             	mov    %eax,%r9d
18008131f:	4c 89 4c 24 70       	mov    %r9,0x70(%rsp)
180081324:	48 8b 36             	mov    (%rsi),%rsi
180081327:	49 8d 91 ff 0f 00 00 	lea    0xfff(%r9),%rdx
18008132e:	48 89 75 90          	mov    %rsi,-0x70(%rbp)
180081332:	48 81 e2 00 f0 ff ff 	and    $0xfffffffffffff000,%rdx
180081339:	49 3b d1             	cmp    %r9,%rdx
18008133c:	73 7f                	jae    0x1800813bd
18008133e:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
180081343:	4c 8b 6c 24 70       	mov    0x70(%rsp),%r13
180081348:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
18008134d:	4d 85 ff             	test   %r15,%r15
180081350:	74 15                	je     0x180081367
180081352:	48 8b 45 98          	mov    -0x68(%rbp),%rax
180081356:	85 c0                	test   %eax,%eax
180081358:	74 0d                	je     0x180081367
18008135a:	45 33 c0             	xor    %r8d,%r8d
18008135d:	8b d0                	mov    %eax,%edx
18008135f:	49 8b cf             	mov    %r15,%rcx
180081362:	e8 85 ea ff ff       	call   0x18007fdec
180081367:	48 8b 45 08          	mov    0x8(%rbp),%rax
18008136b:	48 85 c0             	test   %rax,%rax
18008136e:	74 0d                	je     0x18008137d
180081370:	f6 00 01             	testb  $0x1,(%rax)
180081373:	74 08                	je     0x18008137d
180081375:	48 8b c8             	mov    %rax,%rcx
180081378:	e8 3b 29 00 00       	call   0x180083cb8
18008137d:	85 db                	test   %ebx,%ebx
18008137f:	0f 89 fc 09 00 00    	jns    0x180081d81
180081385:	48 85 f6             	test   %rsi,%rsi
180081388:	0f 84 f3 09 00 00    	je     0x180081d81
18008138e:	41 f6 c4 04          	test   $0x4,%r12b
180081392:	0f 85 e9 09 00 00    	jne    0x180081d81
180081398:	48 8b ce             	mov    %rsi,%rcx
18008139b:	41 f6 c4 01          	test   $0x1,%r12b
18008139f:	0f 84 d7 09 00 00    	je     0x180081d7c
1800813a5:	45 33 c0             	xor    %r8d,%r8d
1800813a8:	49 8b d5             	mov    %r13,%rdx
1800813ab:	e8 bc 94 01 00       	call   0x18009a86c
1800813b0:	48 8b ce             	mov    %rsi,%rcx
1800813b3:	e8 a4 67 01 00       	call   0x180097b5c
1800813b8:	e9 c4 09 00 00       	jmp    0x180081d81
1800813bd:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1800813c2:	48 89 54 24 70       	mov    %rdx,0x70(%rsp)
1800813c7:	4c 8b ca             	mov    %rdx,%r9
1800813ca:	48 3b d0             	cmp    %rax,%rdx
1800813cd:	76 0a                	jbe    0x1800813d9
1800813cf:	bb 7b 00 00 c0       	mov    $0xc000007b,%ebx