14002ce59:	75 ee                	jne    0x14002ce49
14002ce5b:	48 3b dd             	cmp    %rbp,%rbx
14002ce5e:	74 55                	je     0x14002ceb5
14002ce60:	8a 43 ff             	mov    -0x1(%rbx),%al
14002ce63:	22 c1                	and    %cl,%al
14002ce65:	eb 50                	jmp    0x14002ceb7
14002ce67:	3d 00 02 00 00       	cmp    $0x200,%eax
14002ce6c:	75 21                	jne    0x14002ce8f
14002ce6e:	b9 01 00 00 00       	mov    $0x1,%ecx
14002ce73:	85 ff                	test   %edi,%edi
14002ce75:	74 0f                	je     0x14002ce86
14002ce77:	eb 03                	jmp    0x14002ce7c
14002ce79:	48 03 d9             	add    %rcx,%rbx
14002ce7c:	8a 03                	mov    (%rbx),%al
14002ce7e:	3c 30                	cmp    $0x30,%al
14002ce80:	74 f7                	je     0x14002ce79
14002ce82:	84 c0                	test   %al,%al
14002ce84:	74 05                	je     0x14002ce8b
14002ce86:	83 fe 2d             	cmp    $0x2d,%esi
14002ce89:	75 be                	jne    0x14002ce49
14002ce8b:	32 c9                	xor    %cl,%cl
14002ce8d:	eb ba                	jmp    0x14002ce49
14002ce8f:	3d 00 01 00 00       	cmp    $0x100,%eax
14002ce94:	75 1f                	jne    0x14002ceb5
14002ce96:	b9 01 00 00 00       	mov    $0x1,%ecx
14002ce9b:	85 ff                	test   %edi,%edi
14002ce9d:	74 0f                	je     0x14002ceae
14002ce9f:	eb 03                	jmp    0x14002cea4
14002cea1:	48 03 d9             	add    %rcx,%rbx
14002cea4:	8a 03                	mov    (%rbx),%al
14002cea6:	3c 30                	cmp    $0x30,%al
14002cea8:	74 f7                	je     0x14002cea1
14002ceaa:	84 c0                	test   %al,%al
14002ceac:	74 dd                	je     0x14002ce8b
14002ceae:	83 fe 2d             	cmp    $0x2d,%esi
14002ceb1:	74 96                	je     0x14002ce49
14002ceb3:	eb d6                	jmp    0x14002ce8b
14002ceb5:	32 c0                	xor    %al,%al
14002ceb7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002cebc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14002cec1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14002cec6:	48 83 c4 20          	add    $0x20,%rsp
14002ceca:	5f                   	pop    %rdi
14002cecb:	c3                   	ret
14002cecc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002ced1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14002ced6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14002cedb:	57                   	push   %rdi
14002cedc:	48 83 ec 30          	sub    $0x30,%rsp
14002cee0:	49 8b f9             	mov    %r9,%rdi
14002cee3:	48 8b f1             	mov    %rcx,%rsi
14002cee6:	48 85 c9             	test   %rcx,%rcx
14002cee9:	75 32                	jne    0x14002cf1d
14002ceeb:	bb 16 00 00 00       	mov    $0x16,%ebx
14002cef0:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
14002cef5:	45 33 c9             	xor    %r9d,%r9d
14002cef8:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002cefd:	45 33 c0             	xor    %r8d,%r8d
14002cf00:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14002cf06:	33 d2                	xor    %edx,%edx
14002cf08:	33 c9                	xor    %ecx,%ecx
14002cf0a:	89 58 2c             	mov    %ebx,0x2c(%rax)
14002cf0d:	c6 40 30 01          	movb   $0x1,0x30(%rax)
14002cf11:	e8 72 1f fe ff       	call   0x14000ee88
14002cf16:	8b c3                	mov    %ebx,%eax
14002cf18:	e9 aa 00 00 00       	jmp    0x14002cfc7
14002cf1d:	48 85 d2             	test   %rdx,%rdx
14002cf20:	74 c9                	je     0x14002ceeb
14002cf22:	33 c0                	xor    %eax,%eax
14002cf24:	c6 01 00             	movb   $0x0,(%rcx)
14002cf27:	45 85 c0             	test   %r8d,%r8d
14002cf2a:	41 0f 4f c0          	cmovg  %r8d,%eax
14002cf2e:	ff c0                	inc    %eax
14002cf30:	48 98                	cltq
14002cf32:	48 3b d0             	cmp    %rax,%rdx
14002cf35:	77 07                	ja     0x14002cf3e
14002cf37:	bb 22 00 00 00       	mov    $0x22,%ebx
14002cf3c:	eb b2                	jmp    0x14002cef0
14002cf3e:	48 85 ff             	test   %rdi,%rdi
14002cf41:	74 a8                	je     0x14002ceeb
14002cf43:	49 8b 49 08          	mov    0x8(%r9),%rcx
14002cf47:	48 8d 5e 01          	lea    0x1(%rsi),%rbx
14002cf4b:	48 8b d1             	mov    %rcx,%rdx
14002cf4e:	c6 06 30             	movb   $0x30,(%rsi)
14002cf51:	eb 15                	jmp    0x14002cf68
14002cf53:	8a 02                	mov    (%rdx),%al
14002cf55:	84 c0                	test   %al,%al
14002cf57:	74 05                	je     0x14002cf5e
14002cf59:	48 ff c2             	inc    %rdx
14002cf5c:	eb 02                	jmp    0x14002cf60
14002cf5e:	b0 30                	mov    $0x30,%al
14002cf60:	88 03                	mov    %al,(%rbx)
14002cf62:	48 ff c3             	inc    %rbx
14002cf65:	41 ff c8             	dec    %r8d
14002cf68:	45 85 c0             	test   %r8d,%r8d
14002cf6b:	7f e6                	jg     0x14002cf53
14002cf6d:	c6 03 00             	movb   $0x0,(%rbx)
14002cf70:	78 2b                	js     0x14002cf9d
14002cf72:	8b 44 24 68          	mov    0x68(%rsp),%eax
14002cf76:	44 8b 4c 24 60       	mov    0x60(%rsp),%r9d
14002cf7b:	44 8b 07             	mov    (%rdi),%r8d
14002cf7e:	89 44 24 20          	mov    %eax,0x20(%rsp)
14002cf82:	e8 75 fe ff ff       	call   0x14002cdfc
14002cf87:	84 c0                	test   %al,%al
14002cf89:	74 12                	je     0x14002cf9d
14002cf8b:	eb 03                	jmp    0x14002cf90
14002cf8d:	c6 03 30             	movb   $0x30,(%rbx)
14002cf90:	48 ff cb             	dec    %rbx
14002cf93:	8a 03                	mov    (%rbx),%al
14002cf95:	3c 39                	cmp    $0x39,%al
14002cf97:	74 f4                	je     0x14002cf8d
14002cf99:	fe c0                	inc    %al
14002cf9b:	88 03                	mov    %al,(%rbx)
14002cf9d:	80 3e 31             	cmpb   $0x31,(%rsi)
14002cfa0:	75 05                	jne    0x14002cfa7
14002cfa2:	ff 47 04             	incl   0x4(%rdi)
14002cfa5:	eb 1e                	jmp    0x14002cfc5
14002cfa7:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14002cfab:	49 ff c0             	inc    %r8
14002cfae:	41 80 7c 30 01 00    	cmpb   $0x0,0x1(%r8,%rsi,1)
14002cfb4:	75 f5                	jne    0x14002cfab
14002cfb6:	49 ff c0             	inc    %r8
14002cfb9:	48 8d 56 01          	lea    0x1(%rsi),%rdx
14002cfbd:	48 8b ce             	mov    %rsi,%rcx
14002cfc0:	e8 4b d8 00 00       	call   0x14003a810
14002cfc5:	33 c0                	xor    %eax,%eax
14002cfc7:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002cfcc:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002cfd1:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14002cfd6:	48 83 c4 30          	add    $0x30,%rsp
14002cfda:	5f                   	pop    %rdi
14002cfdb:	c3                   	ret
14002cfdc:	40 55                	rex push %rbp
14002cfde:	53                   	push   %rbx
14002cfdf:	56                   	push   %rsi
14002cfe0:	57                   	push   %rdi
14002cfe1:	41 54                	push   %r12
14002cfe3:	41 56                	push   %r14
14002cfe5:	41 57                	push   %r15
14002cfe7:	48 8d ac 24 10 f9 ff 	lea    -0x6f0(%rsp),%rbp
14002cfee:	ff
14002cfef:	48 81 ec f0 07 00 00 	sub    $0x7f0,%rsp
14002cff6:	48 8b 05 c3 11 02 00 	mov    0x211c3(%rip),%rax        # 0x14004e1c0
14002cffd:	48 33 c4             	xor    %rsp,%rax
14002d000:	48 89 85 e0 06 00 00 	mov    %rax,0x6e0(%rbp)
14002d007:	4c 8b b5 50 07 00 00 	mov    0x750(%rbp),%r14
14002d00e:	4d 8b e1             	mov    %r9,%r12
14002d011:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
14002d016:	8b f2                	mov    %edx,%esi
14002d018:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
14002d01d:	4c 89 75 88          	mov    %r14,-0x78(%rbp)
14002d021:	4c 89 4d 98          	mov    %r9,-0x68(%rbp)
14002d025:	44 89 44 24 64       	mov    %r8d,0x64(%rsp)
14002d02a:	e8 cd 49 00 00       	call   0x1400319fc
14002d02f:	8b 44 24 70          	mov    0x70(%rsp),%eax
14002d033:	41 bf 01 00 00 00    	mov    $0x1,%r15d
14002d039:	83 e0 1f             	and    $0x1f,%eax
14002d03c:	3c 1f                	cmp    $0x1f,%al
14002d03e:	75 07                	jne    0x14002d047
14002d040:	c6 44 24 78 00       	movb   $0x0,0x78(%rsp)
14002d045:	eb 0f                	jmp    0x14002d056
14002d047:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
14002d04c:	e8 23 4a 00 00       	call   0x140031a74
14002d051:	44 88 7c 24 78       	mov    %r15b,0x78(%rsp)
14002d056:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14002d05b:	bf 20 00 00 00       	mov    $0x20,%edi
14002d060:	8b c7                	mov    %edi,%eax
14002d062:	4d 89 74 24 08       	mov    %r14,0x8(%r12)
14002d067:	48 85 db             	test   %rbx,%rbx
14002d06a:	8d 4f 0d             	lea    0xd(%rdi),%ecx
14002d06d:	0f 48 c1             	cmovs  %ecx,%eax
14002d070:	45 33 c0             	xor    %r8d,%r8d
14002d073:	33 d2                	xor    %edx,%edx
14002d075:	41 89 04 24          	mov    %eax,(%r12)
14002d079:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
14002d07d:	e8 16 49 00 00       	call   0x140031998
14002d082:	48 8b c3             	mov    %rbx,%rax
14002d085:	ba ff 07 00 00       	mov    $0x7ff,%edx
14002d08a:	48 c1 e8 34          	shr    $0x34,%rax
14002d08e:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
14002d095:	ff 0f 00
14002d098:	48 23 c2             	and    %rdx,%rax
14002d09b:	75 21                	jne    0x14002d0be
14002d09d:	48 85 d9             	test   %rbx,%rcx
14002d0a0:	74 0d                	je     0x14002d0af
14002d0a2:	f7 45 80 00 00 00 01 	testl  $0x1000000,-0x80(%rbp)
14002d0a9:	0f 84 c3 00 00 00    	je     0x14002d172
14002d0af:	41 83 64 24 04 00    	andl   $0x0,0x4(%r12)
14002d0b5:	4c 8d 05 ec f5 00 00 	lea    0xf5ec(%rip),%r8        # 0x14003c6a8
14002d0bc:	eb 60                	jmp    0x14002d11e
14002d0be:	48 3b c2             	cmp    %rdx,%rax
14002d0c1:	0f 85 ab 00 00 00    	jne    0x14002d172
14002d0c7:	48 8b c3             	mov    %rbx,%rax
14002d0ca:	48 23 c1             	and    %rcx,%rax
14002d0cd:	75 05                	jne    0x14002d0d4
14002d0cf:	41 8b c7             	mov    %r15d,%eax
14002d0d2:	eb 2a                	jmp    0x14002d0fe
14002d0d4:	48 85 db             	test   %rbx,%rbx
14002d0d7:	79 16                	jns    0x14002d0ef
14002d0d9:	48 b9 00 00 00 00 00 	movabs $0x8000000000000,%rcx
14002d0e0:	00 08 00
14002d0e3:	48 3b c1             	cmp    %rcx,%rax
14002d0e6:	75 07                	jne    0x14002d0ef
14002d0e8:	b8 04 00 00 00       	mov    $0x4,%eax
14002d0ed:	eb 0f                	jmp    0x14002d0fe
14002d0ef:	48 8b c3             	mov    %rbx,%rax
14002d0f2:	48 c1 e8 33          	shr    $0x33,%rax
14002d0f6:	f7 d0                	not    %eax
14002d0f8:	41 23 c7             	and    %r15d,%eax
14002d0fb:	83 c8 02             	or     $0x2,%eax
14002d0fe:	45 89 7c 24 04       	mov    %r15d,0x4(%r12)
14002d103:	41 2b c7             	sub    %r15d,%eax
14002d106:	74 44                	je     0x14002d14c
14002d108:	41 2b c7             	sub    %r15d,%eax
14002d10b:	74 36                	je     0x14002d143
14002d10d:	41 2b c7             	sub    %r15d,%eax
14002d110:	74 28                	je     0x14002d13a
14002d112:	41 3b c7             	cmp    %r15d,%eax
14002d115:	75 5b                	jne    0x14002d172
14002d117:	4c 8d 05 a6 48 01 00 	lea    0x148a6(%rip),%r8        # 0x1400419c4
14002d11e:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
14002d125:	49 8b ce             	mov    %r14,%rcx
14002d128:	e8 0b 37 ff ff       	call   0x140020838
14002d12d:	85 c0                	test   %eax,%eax
14002d12f:	0f 85 1f 11 00 00    	jne    0x14002e254
14002d135:	e9 e5 10 00 00       	jmp    0x14002e21f
14002d13a:	4c 8d 05 7b 48 01 00 	lea    0x1487b(%rip),%r8        # 0x1400419bc
14002d141:	eb db                	jmp    0x14002d11e
14002d143:	4c 8d 05 6a 48 01 00 	lea    0x1486a(%rip),%r8        # 0x1400419b4
14002d14a:	eb d2                	jmp    0x14002d11e
14002d14c:	48 8b 95 58 07 00 00 	mov    0x758(%rbp),%rdx
14002d153:	4c 8d 05 52 48 01 00 	lea    0x14852(%rip),%r8        # 0x1400419ac
14002d15a:	49 8b ce             	mov    %r14,%rcx
14002d15d:	e8 d6 36 ff ff       	call   0x140020838
14002d162:	85 c0                	test   %eax,%eax
14002d164:	0f 85 ea 10 00 00    	jne    0x14002e254
14002d16a:	45 33 ff             	xor    %r15d,%r15d
14002d16d:	e9 ad 10 00 00       	jmp    0x14002e21f
14002d172:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14002d179:	ff ff 7f
14002d17c:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
14002d181:	48 23 d8             	and    %rax,%rbx
14002d184:	45 33 c0             	xor    %r8d,%r8d
14002d187:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
14002d18c:	33 d2                	xor    %edx,%edx
14002d18e:	bb 1f 00 08 00       	mov    $0x8001f,%ebx
14002d193:	89 5c 24 6c          	mov    %ebx,0x6c(%rsp)
14002d197:	e8 fc 47 00 00       	call   0x140031998
14002d19c:	44 8b 44 24 6c       	mov    0x6c(%rsp),%r8d
14002d1a1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14002d1a6:	8b d3                	mov    %ebx,%edx
14002d1a8:	e8 eb 47 00 00       	call   0x140031998
14002d1ad:	f2 0f 10 44 24 50    	movsd  0x50(%rsp),%xmm0
14002d1b3:	ff c6                	inc    %esi
14002d1b5:	41 b9 ff 07 00 00    	mov    $0x7ff,%r9d
14002d1bb:	f2 0f 11 44 24 58    	movsd  %xmm0,0x58(%rsp)
14002d1c1:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
14002d1c6:	4c 8b c2             	mov    %rdx,%r8
14002d1c9:	89 74 24 60          	mov    %esi,0x60(%rsp)
14002d1cd:	49 c1 e8 34          	shr    $0x34,%r8
14002d1d1:	be 02 00 00 00       	mov    $0x2,%esi
14002d1d6:	49 8b c8             	mov    %r8,%rcx
14002d1d9:	49 23 c9             	and    %r9,%rcx
14002d1dc:	48 8b c1             	mov    %rcx,%rax
14002d1df:	48 f7 d8             	neg    %rax
14002d1e2:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
14002d1e9:	00 10 00
14002d1ec:	48 1b db             	sbb    %rbx,%rbx
14002d1ef:	48 23 d8             	and    %rax,%rbx
14002d1f2:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
14002d1f9:	ff 0f 00
14002d1fc:	48 23 d0             	and    %rax,%rdx
14002d1ff:	48 03 da             	add    %rdx,%rbx
14002d202:	48 f7 d9             	neg    %rcx
14002d205:	1b c0                	sbb    %eax,%eax
14002d207:	45 23 c1             	and    %r9d,%r8d
14002d20a:	44 8d 24 06          	lea    (%rsi,%rax,1),%r12d
14002d20e:	45 03 e0             	add    %r8d,%r12d
14002d211:	e8 7a 49 00 00       	call   0x140031b90
14002d216:	e8 a9 48 00 00       	call   0x140031ac4
14002d21b:	f2 0f 2c c8          	cvttsd2si %xmm0,%ecx
14002d21f:	89 5d a4             	mov    %ebx,-0x5c(%rbp)
14002d222:	8d 81 01 00 00 80    	lea    -0x7fffffff(%rcx),%eax
14002d228:	83 e0 fe             	and    $0xfffffffe,%eax
14002d22b:	f7 d8                	neg    %eax
14002d22d:	1b c0                	sbb    %eax,%eax
14002d22f:	48 c1 eb 20          	shr    $0x20,%rbx
14002d233:	23 c1                	and    %ecx,%eax
14002d235:	89 5d a8             	mov    %ebx,-0x58(%rbp)
14002d238:	89 44 24 30          	mov    %eax,0x30(%rsp)
14002d23c:	8b c3                	mov    %ebx,%eax
14002d23e:	f7 d8                	neg    %eax
14002d240:	1b d2                	sbb    %edx,%edx
14002d242:	f7 da                	neg    %edx
14002d244:	41 03 d7             	add    %r15d,%edx
14002d247:	89 55 a0             	mov    %edx,-0x60(%rbp)
14002d24a:	41 81 fc 34 04 00 00 	cmp    $0x434,%r12d
14002d251:	0f 82 1a 02 00 00    	jb     0x14002d471
14002d257:	33 c0                	xor    %eax,%eax
14002d259:	c7 85 48 03 00 00 00 	movl   $0x100000,0x348(%rbp)
14002d260:	00 10 00
14002d263:	89 85 44 03 00 00    	mov    %eax,0x344(%rbp)
14002d269:	89 b5 40 03 00 00    	mov    %esi,0x340(%rbp)
14002d26f:	85 db                	test   %ebx,%ebx
14002d271:	0f 84 0c 01 00 00    	je     0x14002d383
14002d277:	45 33 c0             	xor    %r8d,%r8d
14002d27a:	42 8b 44 85 a4       	mov    -0x5c(%rbp,%r8,4),%eax
14002d27f:	42 39 84 85 44 03 00 	cmp    %eax,0x344(%rbp,%r8,4)
14002d286:	00
14002d287:	0f 85 f6 00 00 00    	jne    0x14002d383
14002d28d:	45 03 c7             	add    %r15d,%r8d
14002d290:	44 3b c6             	cmp    %esi,%r8d
14002d293:	75 e5                	jne    0x14002d27a
14002d295:	83 64 24 40 00       	andl   $0x0,0x40(%rsp)
14002d29a:	45 8d 9c 24 ce fb ff 	lea    -0x432(%r12),%r11d
14002d2a1:	ff
14002d2a2:	45 8b c3             	mov    %r11d,%r8d
14002d2a5:	8d 42 ff             	lea    -0x1(%rdx),%eax
14002d2a8:	41 83 e3 1f          	and    $0x1f,%r11d
14002d2ac:	41 c1 e8 05          	shr    $0x5,%r8d
14002d2b0:	8b f7                	mov    %edi,%esi
14002d2b2:	49 8b df             	mov    %r15,%rbx
14002d2b5:	41 2b f3             	sub    %r11d,%esi
14002d2b8:	8b ce                	mov    %esi,%ecx
14002d2ba:	48 d3 e3             	shl    %cl,%rbx
14002d2bd:	41 2b df             	sub    %r15d,%ebx
14002d2c0:	0f bd 44 85 a4       	bsr    -0x5c(%rbp,%rax,4),%eax
14002d2c5:	44 8b e3             	mov    %ebx,%r12d
14002d2c8:	41 f7 d4             	not    %r12d
14002d2cb:	74 04                	je     0x14002d2d1
14002d2cd:	ff c0                	inc    %eax
14002d2cf:	eb 02                	jmp    0x14002d2d3
14002d2d1:	33 c0                	xor    %eax,%eax
14002d2d3:	2b f8                	sub    %eax,%edi
14002d2d5:	42 8d 04 02          	lea    (%rdx,%r8,1),%eax
14002d2d9:	83 f8 73             	cmp    $0x73,%eax
14002d2dc:	0f 87 81 00 00 00    	ja     0x14002d363
14002d2e2:	45 33 f6             	xor    %r14d,%r14d
14002d2e5:	44 3b df             	cmp    %edi,%r11d
14002d2e8:	41 0f 97 c6          	seta   %r14b
14002d2ec:	44 03 f2             	add    %edx,%r14d
14002d2ef:	45 03 f0             	add    %r8d,%r14d
14002d2f2:	41 83 fe 73          	cmp    $0x73,%r14d
14002d2f6:	77 6b                	ja     0x14002d363
14002d2f8:	41 8d 78 ff          	lea    -0x1(%r8),%edi
14002d2fc:	45 8d 56 ff          	lea    -0x1(%r14),%r10d
14002d300:	44 3b d7             	cmp    %edi,%r10d
14002d303:	74 48                	je     0x14002d34d
14002d305:	41 8b c2             	mov    %r10d,%eax
14002d308:	41 2b c0             	sub    %r8d,%eax