14005df1d:	33 db                	xor    %ebx,%ebx
14005df1f:	41 f7 c4 00 e0 ff ff 	test   $0xffffe000,%r12d
14005df26:	74 14                	je     0x14005df3c
14005df28:	41 8b d9             	mov    %r9d,%ebx
14005df2b:	48 85 ff             	test   %rdi,%rdi
14005df2e:	0f 84 b5 00 00 00    	je     0x14005dfe9
14005df34:	c6 06 00             	movb   $0x0,(%rsi)
14005df37:	e9 ad 00 00 00       	jmp    0x14005dfe9
14005df3c:	48 85 ff             	test   %rdi,%rdi
14005df3f:	75 1c                	jne    0x14005df5d
14005df41:	41 38 18             	cmp    %bl,(%r8)
14005df44:	0f 84 e1 00 00 00    	je     0x14005e02b
14005df4a:	48 8b c6             	mov    %rsi,%rax
14005df4d:	48 f7 d8             	neg    %rax
14005df50:	1b db                	sbb    %ebx,%ebx
14005df52:	83 e3 23             	and    $0x23,%ebx
14005df55:	41 03 d9             	add    %r9d,%ebx
14005df58:	e9 8c 00 00 00       	jmp    0x14005dfe9
14005df5d:	45 33 c9             	xor    %r9d,%r9d
14005df60:	48 2b d7             	sub    %rdi,%rdx
14005df63:	4c 2b c6             	sub    %rsi,%r8
14005df66:	4c 8b f7             	mov    %rdi,%r14
14005df69:	48 8b ce             	mov    %rsi,%rcx
14005df6c:	4a 8d 04 32          	lea    (%rdx,%r14,1),%rax
14005df70:	48 85 c0             	test   %rax,%rax
14005df73:	74 16                	je     0x14005df8b
14005df75:	41 8a 04 08          	mov    (%r8,%rcx,1),%al
14005df79:	84 c0                	test   %al,%al
14005df7b:	74 0e                	je     0x14005df8b
14005df7d:	88 01                	mov    %al,(%rcx)
14005df7f:	49 ff c1             	inc    %r9
14005df82:	48 ff c1             	inc    %rcx
14005df85:	49 83 ee 01          	sub    $0x1,%r14
14005df89:	75 e1                	jne    0x14005df6c
14005df8b:	4d 85 f6             	test   %r14,%r14
14005df8e:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
14005df92:	48 0f 45 c1          	cmovne %rcx,%rax
14005df96:	49 8d 49 ff          	lea    -0x1(%r9),%rcx
14005df9a:	49 0f 45 c9          	cmovne %r9,%rcx
14005df9e:	88 18                	mov    %bl,(%rax)
14005dfa0:	49 8b c6             	mov    %r14,%rax
14005dfa3:	48 f7 d8             	neg    %rax
14005dfa6:	4c 8d 3c 31          	lea    (%rcx,%rsi,1),%r15
14005dfaa:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14005dfaf:	1b db                	sbb    %ebx,%ebx
14005dfb1:	48 2b e9             	sub    %rcx,%rbp
14005dfb4:	f7 d3                	not    %ebx
14005dfb6:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
14005dfbb:	81 e3 7a 00 07 80    	and    $0x8007007a,%ebx
14005dfc1:	4d 85 f6             	test   %r14,%r14
14005dfc4:	74 23                	je     0x14005dfe9
14005dfc6:	41 0f ba e4 09       	bt     $0x9,%r12d
14005dfcb:	73 17                	jae    0x14005dfe4
14005dfcd:	48 83 fd 01          	cmp    $0x1,%rbp
14005dfd1:	76 11                	jbe    0x14005dfe4
14005dfd3:	4c 8d 45 ff          	lea    -0x1(%rbp),%r8
14005dfd7:	41 0f b6 d4          	movzbl %r12b,%edx
14005dfdb:	49 8d 4f 01          	lea    0x1(%r15),%rcx
14005dfdf:	e8 32 c3 00 00       	call   0x14006a316
14005dfe4:	4d 85 f6             	test   %r14,%r14
14005dfe7:	75 42                	jne    0x14005e02b
14005dfe9:	41 f7 c4 00 1c 00 00 	test   $0x1c00,%r12d
14005dff0:	74 31                	je     0x14005e023
14005dff2:	48 85 ff             	test   %rdi,%rdi
14005dff5:	74 2c                	je     0x14005e023
14005dff7:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
14005dffc:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
14005e001:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
14005e006:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14005e00b:	45 33 c0             	xor    %r8d,%r8d
14005e00e:	48 8b d7             	mov    %rdi,%rdx
14005e011:	48 8b ce             	mov    %rsi,%rcx
14005e014:	e8 83 04 00 00       	call   0x14005e49c
14005e019:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
14005e01e:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14005e023:	81 fb 7a 00 07 80    	cmp    $0x8007007a,%ebx
14005e029:	75 23                	jne    0x14005e04e
14005e02b:	4d 85 ed             	test   %r13,%r13
14005e02e:	74 04                	je     0x14005e034
14005e030:	4d 89 7d 00          	mov    %r15,0x0(%r13)
14005e034:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
14005e03b:	00
14005e03c:	48 85 c0             	test   %rax,%rax
14005e03f:	74 0d                	je     0x14005e04e
14005e041:	48 89 28             	mov    %rbp,(%rax)
14005e044:	eb 08                	jmp    0x14005e04e
14005e046:	48 85 ff             	test   %rdi,%rdi
14005e049:	74 03                	je     0x14005e04e
14005e04b:	c6 06 00             	movb   $0x0,(%rsi)
14005e04e:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
14005e053:	8b c3                	mov    %ebx,%eax
14005e055:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14005e059:	49 8b 6b 38          	mov    0x38(%r11),%rbp
14005e05d:	49 8b 73 40          	mov    0x40(%r11),%rsi
14005e061:	49 8b e3             	mov    %r11,%rsp
14005e064:	41 5f                	pop    %r15
14005e066:	41 5e                	pop    %r14
14005e068:	41 5d                	pop    %r13
14005e06a:	41 5c                	pop    %r12
14005e06c:	5f                   	pop    %rdi
14005e06d:	c3                   	ret
14005e06e:	90                   	nop
14005e06f:	90                   	nop
14005e070:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14005e075:	55                   	push   %rbp
14005e076:	53                   	push   %rbx
14005e077:	56                   	push   %rsi
14005e078:	57                   	push   %rdi
14005e079:	41 54                	push   %r12
14005e07b:	41 55                	push   %r13
14005e07d:	41 56                	push   %r14
14005e07f:	41 57                	push   %r15
14005e081:	48 8b ec             	mov    %rsp,%rbp
14005e084:	48 83 ec 48          	sub    $0x48,%rsp
14005e088:	44 8b 7d 68          	mov    0x68(%rbp),%r15d
14005e08c:	48 8b f1             	mov    %rcx,%rsi
14005e08f:	41 8b cf             	mov    %r15d,%ecx
14005e092:	33 db                	xor    %ebx,%ebx
14005e094:	48 8b fa             	mov    %rdx,%rdi
14005e097:	4d 8b e1             	mov    %r9,%r12
14005e09a:	ba 57 00 07 80       	mov    $0x80070057,%edx
14005e09f:	81 e1 00 01 00 00    	and    $0x100,%ecx
14005e0a5:	74 17                	je     0x14005e0be
14005e0a7:	48 85 f6             	test   %rsi,%rsi
14005e0aa:	75 05                	jne    0x14005e0b1
14005e0ac:	48 85 ff             	test   %rdi,%rdi
14005e0af:	75 09                	jne    0x14005e0ba
14005e0b1:	48 81 ff ff ff ff 7f 	cmp    $0x7fffffff,%rdi
14005e0b8:	76 11                	jbe    0x14005e0cb
14005e0ba:	8b da                	mov    %edx,%ebx
14005e0bc:	eb 0d                	jmp    0x14005e0cb
14005e0be:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
14005e0c2:	48 3d fe ff ff 7f    	cmp    $0x7ffffffe,%rax
14005e0c8:	0f 47 da             	cmova  %edx,%ebx
14005e0cb:	85 db                	test   %ebx,%ebx
14005e0cd:	0f 88 1f 01 00 00    	js     0x14005e1f2
14005e0d3:	4c 8b 4d 70          	mov    0x70(%rbp),%r9
14005e0d7:	4c 8b ee             	mov    %rsi,%r13
14005e0da:	48 89 75 e8          	mov    %rsi,-0x18(%rbp)
14005e0de:	4c 8b f7             	mov    %rdi,%r14
14005e0e1:	48 89 7d f0          	mov    %rdi,-0x10(%rbp)
14005e0e5:	85 c9                	test   %ecx,%ecx
14005e0e7:	74 10                	je     0x14005e0f9
14005e0e9:	4d 85 c9             	test   %r9,%r9
14005e0ec:	75 0b                	jne    0x14005e0f9
14005e0ee:	4c 8d 0d c9 56 04 00 	lea    0x456c9(%rip),%r9        # 0x1400a37be
14005e0f5:	4c 89 4d 70          	mov    %r9,0x70(%rbp)
14005e0f9:	33 db                	xor    %ebx,%ebx
14005e0fb:	41 f7 c7 00 e0 ff ff 	test   $0xffffe000,%r15d
14005e102:	74 76                	je     0x14005e17a
14005e104:	8b da                	mov    %edx,%ebx
14005e106:	48 85 ff             	test   %rdi,%rdi
14005e109:	74 03                	je     0x14005e10e
14005e10b:	c6 06 00             	movb   $0x0,(%rsi)
14005e10e:	41 f7 c7 00 1c 00 00 	test   $0x1c00,%r15d
14005e115:	74 2d                	je     0x14005e144
14005e117:	48 85 ff             	test   %rdi,%rdi
14005e11a:	74 28                	je     0x14005e144
14005e11c:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
14005e120:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
14005e125:	4c 8d 4d e8          	lea    -0x18(%rbp),%r9
14005e129:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14005e12e:	45 33 c0             	xor    %r8d,%r8d
14005e131:	48 8b d7             	mov    %rdi,%rdx
14005e134:	48 8b ce             	mov    %rsi,%rcx
14005e137:	e8 60 03 00 00       	call   0x14005e49c
14005e13c:	4c 8b 6d e8          	mov    -0x18(%rbp),%r13
14005e140:	4c 8b 75 f0          	mov    -0x10(%rbp),%r14
14005e144:	b9 00 00 00 80       	mov    $0x80000000,%ecx
14005e149:	8d 04 0b             	lea    (%rbx,%rcx,1),%eax
14005e14c:	85 c1                	test   %eax,%ecx
14005e14e:	75 0c                	jne    0x14005e15c
14005e150:	81 fb 7a 00 07 80    	cmp    $0x8007007a,%ebx
14005e156:	0f 85 9e 00 00 00    	jne    0x14005e1fa
14005e15c:	48 8b 45 58          	mov    0x58(%rbp),%rax
14005e160:	48 85 c0             	test   %rax,%rax
14005e163:	74 03                	je     0x14005e168
14005e165:	4c 89 28             	mov    %r13,(%rax)
14005e168:	4d 85 e4             	test   %r12,%r12
14005e16b:	0f 84 89 00 00 00    	je     0x14005e1fa
14005e171:	4d 89 34 24          	mov    %r14,(%r12)
14005e175:	e9 80 00 00 00       	jmp    0x14005e1fa
14005e17a:	48 85 ff             	test   %rdi,%rdi
14005e17d:	75 17                	jne    0x14005e196
14005e17f:	41 38 19             	cmp    %bl,(%r9)
14005e182:	74 d8                	je     0x14005e15c
14005e184:	48 8b c6             	mov    %rsi,%rax
14005e187:	48 f7 d8             	neg    %rax
14005e18a:	1b db                	sbb    %ebx,%ebx
14005e18c:	83 e3 23             	and    $0x23,%ebx
14005e18f:	03 da                	add    %edx,%ebx
14005e191:	e9 78 ff ff ff       	jmp    0x14005e10e
14005e196:	48 21 5d f0          	and    %rbx,-0x10(%rbp)
14005e19a:	48 8d 45 78          	lea    0x78(%rbp),%rax
14005e19e:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
14005e1a2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14005e1a7:	48 8b d7             	mov    %rdi,%rdx
14005e1aa:	48 8b ce             	mov    %rsi,%rcx
14005e1ad:	e8 aa 03 00 00       	call   0x14005e55c
14005e1b2:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
14005e1b6:	8b d8                	mov    %eax,%ebx
14005e1b8:	4c 2b f1             	sub    %rcx,%r14
14005e1bb:	4c 89 75 f0          	mov    %r14,-0x10(%rbp)
14005e1bf:	4c 8d 2c 31          	lea    (%rcx,%rsi,1),%r13
14005e1c3:	4c 89 6d e8          	mov    %r13,-0x18(%rbp)
14005e1c7:	85 c0                	test   %eax,%eax
14005e1c9:	0f 88 3f ff ff ff    	js     0x14005e10e
14005e1cf:	41 0f ba e7 09       	bt     $0x9,%r15d
14005e1d4:	73 86                	jae    0x14005e15c
14005e1d6:	49 83 fe 01          	cmp    $0x1,%r14
14005e1da:	76 80                	jbe    0x14005e15c
14005e1dc:	4d 8d 46 ff          	lea    -0x1(%r14),%r8
14005e1e0:	41 0f b6 d7          	movzbl %r15b,%edx
14005e1e4:	49 8d 4d 01          	lea    0x1(%r13),%rcx
14005e1e8:	e8 29 c1 00 00       	call   0x14006a316
14005e1ed:	e9 6a ff ff ff       	jmp    0x14005e15c
14005e1f2:	48 85 ff             	test   %rdi,%rdi
14005e1f5:	74 03                	je     0x14005e1fa
14005e1f7:	c6 06 00             	movb   $0x0,(%rsi)
14005e1fa:	8b c3                	mov    %ebx,%eax
14005e1fc:	48 83 c4 48          	add    $0x48,%rsp
14005e200:	41 5f                	pop    %r15
14005e202:	41 5e                	pop    %r14
14005e204:	41 5d                	pop    %r13
14005e206:	41 5c                	pop    %r12
14005e208:	5f                   	pop    %rdi
14005e209:	5e                   	pop    %rsi
14005e20a:	5b                   	pop    %rbx
14005e20b:	5d                   	pop    %rbp
14005e20c:	c3                   	ret
14005e20d:	90                   	nop
14005e20e:	90                   	nop
14005e20f:	90                   	nop
14005e210:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14005e215:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14005e21a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14005e21f:	57                   	push   %rdi
14005e220:	41 54                	push   %r12
14005e222:	41 55                	push   %r13
14005e224:	41 56                	push   %r14
14005e226:	41 57                	push   %r15
14005e228:	48 83 ec 40          	sub    $0x40,%rsp
14005e22c:	44 8b b4 24 90 00 00 	mov    0x90(%rsp),%r14d
14005e233:	00
14005e234:	48 8b f1             	mov    %rcx,%rsi
14005e237:	41 8b ce             	mov    %r14d,%ecx
14005e23a:	33 db                	xor    %ebx,%ebx
14005e23c:	48 8b fa             	mov    %rdx,%rdi
14005e23f:	4d 8b e1             	mov    %r9,%r12
14005e242:	4d 8b e8             	mov    %r8,%r13
14005e245:	ba 57 00 07 80       	mov    $0x80070057,%edx
14005e24a:	81 e1 00 01 00 00    	and    $0x100,%ecx
14005e250:	74 17                	je     0x14005e269
14005e252:	48 85 f6             	test   %rsi,%rsi
14005e255:	75 05                	jne    0x14005e25c
14005e257:	48 85 ff             	test   %rdi,%rdi
14005e25a:	75 09                	jne    0x14005e265
14005e25c:	48 81 ff ff ff ff 7f 	cmp    $0x7fffffff,%rdi
14005e263:	76 11                	jbe    0x14005e276
14005e265:	8b da                	mov    %edx,%ebx
14005e267:	eb 0d                	jmp    0x14005e276
14005e269:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
14005e26d:	48 3d fe ff ff 7f    	cmp    $0x7ffffffe,%rax
14005e273:	0f 47 da             	cmova  %edx,%ebx
14005e276:	85 db                	test   %ebx,%ebx
14005e278:	0f 88 3b 01 00 00    	js     0x14005e3b9
14005e27e:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
14005e283:	4c 8b fe             	mov    %rsi,%r15
14005e286:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
14005e28b:	48 8b ef             	mov    %rdi,%rbp
14005e28e:	85 c9                	test   %ecx,%ecx
14005e290:	74 18                	je     0x14005e2aa
14005e292:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
14005e299:	00
14005e29a:	4c 8d 0d 1d 55 04 00 	lea    0x4551d(%rip),%r9        # 0x1400a37be
14005e2a1:	48 85 c0             	test   %rax,%rax
14005e2a4:	4c 0f 45 c8          	cmovne %rax,%r9
14005e2a8:	eb 08                	jmp    0x14005e2b2
14005e2aa:	4c 8b 8c 24 98 00 00 	mov    0x98(%rsp),%r9
14005e2b1:	00
14005e2b2:	33 db                	xor    %ebx,%ebx
14005e2b4:	41 f7 c6 00 e0 ff ff 	test   $0xffffe000,%r14d
14005e2bb:	74 77                	je     0x14005e334
14005e2bd:	8b da                	mov    %edx,%ebx
14005e2bf:	48 85 ff             	test   %rdi,%rdi
14005e2c2:	74 03                	je     0x14005e2c7
14005e2c4:	c6 06 00             	movb   $0x0,(%rsi)
14005e2c7:	41 f7 c6 00 1c 00 00 	test   $0x1c00,%r14d
14005e2ce:	74 31                	je     0x14005e301
14005e2d0:	48 85 ff             	test   %rdi,%rdi
14005e2d3:	74 2c                	je     0x14005e301
14005e2d5:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
14005e2da:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
14005e2df:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
14005e2e4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14005e2e9:	45 33 c0             	xor    %r8d,%r8d
14005e2ec:	48 8b d7             	mov    %rdi,%rdx
14005e2ef:	48 8b ce             	mov    %rsi,%rcx
14005e2f2:	e8 a5 01 00 00       	call   0x14005e49c
14005e2f7:	4c 8b 7c 24 30       	mov    0x30(%rsp),%r15
14005e2fc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14005e301:	b9 00 00 00 80       	mov    $0x80000000,%ecx
14005e306:	8d 04 0b             	lea    (%rbx,%rcx,1),%eax
14005e309:	85 c1                	test   %eax,%ecx
14005e30b:	75 0c                	jne    0x14005e319
14005e30d:	81 fb 7a 00 07 80    	cmp    $0x8007007a,%ebx
14005e313:	0f 85 a8 00 00 00    	jne    0x14005e3c1
14005e319:	4d 85 ed             	test   %r13,%r13
14005e31c:	74 04                	je     0x14005e322
14005e31e:	4d 89 7d 00          	mov    %r15,0x0(%r13)
14005e322:	4d 85 e4             	test   %r12,%r12
14005e325:	0f 84 96 00 00 00    	je     0x14005e3c1
14005e32b:	49 89 2c 24          	mov    %rbp,(%r12)
14005e32f:	e9 8d 00 00 00       	jmp    0x14005e3c1
14005e334:	48 85 ff             	test   %rdi,%rdi
14005e337:	75 17                	jne    0x14005e350
14005e339:	41 38 19             	cmp    %bl,(%r9)
14005e33c:	74 db                	je     0x14005e319
14005e33e:	48 8b c6             	mov    %rsi,%rax
14005e341:	48 f7 d8             	neg    %rax
14005e344:	1b db                	sbb    %ebx,%ebx
14005e346:	83 e3 23             	and    $0x23,%ebx
14005e349:	03 da                	add    %edx,%ebx
14005e34b:	e9 77 ff ff ff       	jmp    0x14005e2c7
14005e350:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
14005e357:	00
14005e358:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
14005e35d:	48 21 5c 24 38       	and    %rbx,0x38(%rsp)
14005e362:	48 8b d7             	mov    %rdi,%rdx
14005e365:	48 8b ce             	mov    %rsi,%rcx
14005e368:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14005e36d:	e8 ea 01 00 00       	call   0x14005e55c
14005e372:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14005e377:	8b d8                	mov    %eax,%ebx
14005e379:	48 2b e9             	sub    %rcx,%rbp
14005e37c:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
14005e381:	4c 8d 3c 31          	lea    (%rcx,%rsi,1),%r15
14005e385:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14005e38a:	85 c0                	test   %eax,%eax
14005e38c:	0f 88 35 ff ff ff    	js     0x14005e2c7
14005e392:	41 0f ba e6 09       	bt     $0x9,%r14d
14005e397:	73 80                	jae    0x14005e319
14005e399:	48 83 fd 01          	cmp    $0x1,%rbp
14005e39d:	0f 86 76 ff ff ff    	jbe    0x14005e319
14005e3a3:	4c 8d 45 ff          	lea    -0x1(%rbp),%r8
14005e3a7:	41 0f b6 d6          	movzbl %r14b,%edx
14005e3ab:	49 8d 4f 01          	lea    0x1(%r15),%rcx
14005e3af:	e8 62 bf 00 00       	call   0x14006a316
14005e3b4:	e9 60 ff ff ff       	jmp    0x14005e319
14005e3b9:	48 85 ff             	test   %rdi,%rdi