1401ceed5:	c3                   	ret
1401ceed6:	90                   	nop
1401ceed7:	90                   	nop
1401ceed8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401ceedd:	44 88 4c 24 20       	mov    %r9b,0x20(%rsp)
1401ceee2:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401ceee7:	55                   	push   %rbp
1401ceee8:	56                   	push   %rsi
1401ceee9:	57                   	push   %rdi
1401ceeea:	41 54                	push   %r12
1401ceeec:	41 55                	push   %r13
1401ceeee:	41 56                	push   %r14
1401ceef0:	41 57                	push   %r15
1401ceef2:	48 8b ec             	mov    %rsp,%rbp
1401ceef5:	48 83 ec 60          	sub    $0x60,%rsp
1401ceef9:	41 8a d9             	mov    %r9b,%bl
1401ceefc:	4d 8b f8             	mov    %r8,%r15
1401ceeff:	4c 8b f2             	mov    %rdx,%r14
1401cef02:	4c 8b e1             	mov    %rcx,%r12
1401cef05:	48 8b c2             	mov    %rdx,%rax
1401cef08:	48 2b c1             	sub    %rcx,%rax
1401cef0b:	e9 11 02 00 00       	jmp    0x1401cf121
1401cef10:	49 8b ce             	mov    %r14,%rcx
1401cef13:	49 2b cc             	sub    %r12,%rcx
1401cef16:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1401cef1d:	aa aa 2a
1401cef20:	48 f7 e9             	imul   %rcx
1401cef23:	48 8b f2             	mov    %rdx,%rsi
1401cef26:	48 c1 fe 03          	sar    $0x3,%rsi
1401cef2a:	48 8b c6             	mov    %rsi,%rax
1401cef2d:	48 c1 e8 3f          	shr    $0x3f,%rax
1401cef31:	48 03 f0             	add    %rax,%rsi
1401cef34:	4d 85 ff             	test   %r15,%r15
1401cef37:	0f 8e 16 02 00 00    	jle    0x1401cf153
1401cef3d:	48 d1 fe             	sar    $1,%rsi
1401cef40:	48 8d 3c 76          	lea    (%rsi,%rsi,2),%rdi
1401cef44:	48 c1 e7 04          	shl    $0x4,%rdi
1401cef48:	49 03 fc             	add    %r12,%rdi
1401cef4b:	4d 8d 46 d0          	lea    -0x30(%r14),%r8
1401cef4f:	44 8a cb             	mov    %bl,%r9b
1401cef52:	48 8b d7             	mov    %rdi,%rdx
1401cef55:	49 8b cc             	mov    %r12,%rcx
1401cef58:	e8 5f 12 00 00       	call   0x1401d01bc
1401cef5d:	48 8d 77 30          	lea    0x30(%rdi),%rsi
1401cef61:	4c 3b e7             	cmp    %rdi,%r12
1401cef64:	73 4e                	jae    0x1401cefb4
1401cef66:	4c 8d 7f d0          	lea    -0x30(%rdi),%r15
1401cef6a:	4c 8b c7             	mov    %rdi,%r8
1401cef6d:	49 8b d7             	mov    %r15,%rdx
1401cef70:	e8 9f f6 ff ff       	call   0x1401ce614
1401cef75:	84 c0                	test   %al,%al
1401cef77:	75 3b                	jne    0x1401cefb4
1401cef79:	4d 8b c7             	mov    %r15,%r8
1401cef7c:	48 8b d7             	mov    %rdi,%rdx
1401cef7f:	e8 90 f6 ff ff       	call   0x1401ce614
1401cef84:	84 c0                	test   %al,%al
1401cef86:	75 2c                	jne    0x1401cefb4
1401cef88:	49 8b ff             	mov    %r15,%rdi
1401cef8b:	4d 3b e7             	cmp    %r15,%r12
1401cef8e:	72 d6                	jb     0x1401cef66
1401cef90:	eb 22                	jmp    0x1401cefb4
1401cef92:	4c 8b c7             	mov    %rdi,%r8
1401cef95:	48 8b d6             	mov    %rsi,%rdx
1401cef98:	e8 77 f6 ff ff       	call   0x1401ce614
1401cef9d:	84 c0                	test   %al,%al
1401cef9f:	75 18                	jne    0x1401cefb9
1401cefa1:	4c 8b c6             	mov    %rsi,%r8
1401cefa4:	48 8b d7             	mov    %rdi,%rdx
1401cefa7:	e8 68 f6 ff ff       	call   0x1401ce614
1401cefac:	84 c0                	test   %al,%al
1401cefae:	75 09                	jne    0x1401cefb9
1401cefb0:	48 83 c6 30          	add    $0x30,%rsi
1401cefb4:	49 3b f6             	cmp    %r14,%rsi
1401cefb7:	72 d9                	jb     0x1401cef92
1401cefb9:	4c 8b fe             	mov    %rsi,%r15
1401cefbc:	4c 8b ef             	mov    %rdi,%r13
1401cefbf:	eb 36                	jmp    0x1401ceff7
1401cefc1:	4d 8b c7             	mov    %r15,%r8
1401cefc4:	48 8b d7             	mov    %rdi,%rdx
1401cefc7:	e8 48 f6 ff ff       	call   0x1401ce614
1401cefcc:	84 c0                	test   %al,%al
1401cefce:	75 23                	jne    0x1401ceff3
1401cefd0:	4c 8b c7             	mov    %rdi,%r8
1401cefd3:	49 8b d7             	mov    %r15,%rdx
1401cefd6:	e8 39 f6 ff ff       	call   0x1401ce614
1401cefdb:	84 c0                	test   %al,%al
1401cefdd:	75 1d                	jne    0x1401ceffc
1401cefdf:	49 3b f7             	cmp    %r15,%rsi
1401cefe2:	74 0b                	je     0x1401cefef
1401cefe4:	49 8b d7             	mov    %r15,%rdx
1401cefe7:	48 8b ce             	mov    %rsi,%rcx
1401cefea:	e8 e5 13 00 00       	call   0x1401d03d4
1401cefef:	48 83 c6 30          	add    $0x30,%rsi
1401ceff3:	49 83 c7 30          	add    $0x30,%r15
1401ceff7:	4d 3b fe             	cmp    %r14,%r15
1401ceffa:	72 c5                	jb     0x1401cefc1
1401ceffc:	4d 8b df             	mov    %r15,%r11
1401cefff:	4d 3b e5             	cmp    %r13,%r12
1401cf002:	73 46                	jae    0x1401cf04a
1401cf004:	49 8d 5d d0          	lea    -0x30(%r13),%rbx
1401cf008:	4c 8b c7             	mov    %rdi,%r8
1401cf00b:	48 8b d3             	mov    %rbx,%rdx
1401cf00e:	e8 01 f6 ff ff       	call   0x1401ce614
1401cf013:	84 c0                	test   %al,%al
1401cf015:	75 23                	jne    0x1401cf03a
1401cf017:	4c 8b c3             	mov    %rbx,%r8
1401cf01a:	48 8b d7             	mov    %rdi,%rdx
1401cf01d:	e8 f2 f5 ff ff       	call   0x1401ce614
1401cf022:	84 c0                	test   %al,%al
1401cf024:	75 21                	jne    0x1401cf047
1401cf026:	48 83 ef 30          	sub    $0x30,%rdi
1401cf02a:	48 3b fb             	cmp    %rbx,%rdi
1401cf02d:	74 0b                	je     0x1401cf03a
1401cf02f:	48 8b d3             	mov    %rbx,%rdx
1401cf032:	48 8b cf             	mov    %rdi,%rcx
1401cf035:	e8 9a 13 00 00       	call   0x1401d03d4
1401cf03a:	49 83 ed 30          	sub    $0x30,%r13
1401cf03e:	48 83 eb 30          	sub    $0x30,%rbx
1401cf042:	4d 3b e5             	cmp    %r13,%r12
1401cf045:	72 c1                	jb     0x1401cf008
1401cf047:	4d 8b df             	mov    %r15,%r11
1401cf04a:	4c 8b d7             	mov    %rdi,%r10
1401cf04d:	4d 3b ec             	cmp    %r12,%r13
1401cf050:	75 1f                	jne    0x1401cf071
1401cf052:	4d 3b fe             	cmp    %r14,%r15
1401cf055:	74 5d                	je     0x1401cf0b4
1401cf057:	49 3b f7             	cmp    %r15,%rsi
1401cf05a:	74 0b                	je     0x1401cf067
1401cf05c:	48 8b d6             	mov    %rsi,%rdx
1401cf05f:	48 8b cf             	mov    %rdi,%rcx
1401cf062:	e8 6d 13 00 00       	call   0x1401d03d4
1401cf067:	48 83 c6 30          	add    $0x30,%rsi
1401cf06b:	48 83 c7 30          	add    $0x30,%rdi
1401cf06f:	eb 2f                	jmp    0x1401cf0a0
1401cf071:	49 83 c5 d0          	add    $0xffffffffffffffd0,%r13
1401cf075:	4d 3b fe             	cmp    %r14,%r15
1401cf078:	75 20                	jne    0x1401cf09a
1401cf07a:	48 83 ef 30          	sub    $0x30,%rdi
1401cf07e:	4c 3b ef             	cmp    %rdi,%r13
1401cf081:	74 0b                	je     0x1401cf08e
1401cf083:	48 8b d7             	mov    %rdi,%rdx
1401cf086:	49 8b cd             	mov    %r13,%rcx
1401cf089:	e8 46 13 00 00       	call   0x1401d03d4
1401cf08e:	48 83 ee 30          	sub    $0x30,%rsi
1401cf092:	4c 8b d7             	mov    %rdi,%r10
1401cf095:	4c 8b de             	mov    %rsi,%r11
1401cf098:	eb 0a                	jmp    0x1401cf0a4
1401cf09a:	4d 8b d3             	mov    %r11,%r10
1401cf09d:	4d 8b dd             	mov    %r13,%r11
1401cf0a0:	49 83 c7 30          	add    $0x30,%r15
1401cf0a4:	49 8b d3             	mov    %r11,%rdx
1401cf0a7:	49 8b ca             	mov    %r10,%rcx
1401cf0aa:	e8 25 13 00 00       	call   0x1401d03d4
1401cf0af:	e9 43 ff ff ff       	jmp    0x1401ceff7
1401cf0b4:	48 8b 45 50          	mov    0x50(%rbp),%rax
1401cf0b8:	4c 8b f8             	mov    %rax,%r15
1401cf0bb:	49 c1 ff 02          	sar    $0x2,%r15
1401cf0bf:	48 d1 f8             	sar    $1,%rax
1401cf0c2:	4c 03 f8             	add    %rax,%r15
1401cf0c5:	4c 89 7d 50          	mov    %r15,0x50(%rbp)
1401cf0c9:	49 8b ce             	mov    %r14,%rcx
1401cf0cc:	48 2b ce             	sub    %rsi,%rcx
1401cf0cf:	48 c1 f9 04          	sar    $0x4,%rcx
1401cf0d3:	49 bd ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%r13
1401cf0da:	aa aa aa
1401cf0dd:	49 0f af cd          	imul   %r13,%rcx
1401cf0e1:	48 8b c7             	mov    %rdi,%rax
1401cf0e4:	49 2b c4             	sub    %r12,%rax
1401cf0e7:	48 c1 f8 04          	sar    $0x4,%rax
1401cf0eb:	49 0f af c5          	imul   %r13,%rax
1401cf0ef:	48 3b c1             	cmp    %rcx,%rax
1401cf0f2:	8a 5d 58             	mov    0x58(%rbp),%bl
1401cf0f5:	44 8a cb             	mov    %bl,%r9b
1401cf0f8:	4d 8b c7             	mov    %r15,%r8
1401cf0fb:	7d 10                	jge    0x1401cf10d
1401cf0fd:	48 8b d7             	mov    %rdi,%rdx
1401cf100:	49 8b cc             	mov    %r12,%rcx
1401cf103:	e8 d0 fd ff ff       	call   0x1401ceed8
1401cf108:	4c 8b e6             	mov    %rsi,%r12
1401cf10b:	eb 0e                	jmp    0x1401cf11b
1401cf10d:	49 8b d6             	mov    %r14,%rdx
1401cf110:	48 8b ce             	mov    %rsi,%rcx
1401cf113:	e8 c0 fd ff ff       	call   0x1401ceed8
1401cf118:	4c 8b f7             	mov    %rdi,%r14
1401cf11b:	49 8b c6             	mov    %r14,%rax
1401cf11e:	49 2b c4             	sub    %r12,%rax
1401cf121:	48 3d 30 06 00 00    	cmp    $0x630,%rax
1401cf127:	0f 8d e3 fd ff ff    	jge    0x1401cef10
1401cf12d:	44 8a c3             	mov    %bl,%r8b
1401cf130:	49 8b d6             	mov    %r14,%rdx
1401cf133:	49 8b cc             	mov    %r12,%rcx
1401cf136:	e8 75 0a 00 00       	call   0x1401cfbb0
1401cf13b:	48 8b 9c 24 a8 00 00 	mov    0xa8(%rsp),%rbx
1401cf142:	00
1401cf143:	48 83 c4 60          	add    $0x60,%rsp
1401cf147:	41 5f                	pop    %r15
1401cf149:	41 5e                	pop    %r14
1401cf14b:	41 5d                	pop    %r13
1401cf14d:	41 5c                	pop    %r12
1401cf14f:	5f                   	pop    %rdi
1401cf150:	5e                   	pop    %rsi
1401cf151:	5d                   	pop    %rbp
1401cf152:	c3                   	ret
1401cf153:	4c 8b fe             	mov    %rsi,%r15
1401cf156:	49 d1 ff             	sar    $1,%r15
1401cf159:	4d 85 ff             	test   %r15,%r15
1401cf15c:	0f 8e 08 01 00 00    	jle    0x1401cf26a
1401cf162:	4f 8d 2c 7f          	lea    (%r15,%r15,2),%r13
1401cf166:	49 c1 e5 04          	shl    $0x4,%r13
1401cf16a:	49 83 c5 20          	add    $0x20,%r13
1401cf16e:	4d 03 ec             	add    %r12,%r13
1401cf171:	49 ff cf             	dec    %r15
1401cf174:	4d 8d 6d d0          	lea    -0x30(%r13),%r13
1401cf178:	49 8b 45 e0          	mov    -0x20(%r13),%rax
1401cf17c:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1401cf180:	49 8b 45 e8          	mov    -0x18(%r13),%rax
1401cf184:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
1401cf188:	49 83 65 e0 00       	andq   $0x0,-0x20(%r13)
1401cf18d:	49 83 65 e8 00       	andq   $0x0,-0x18(%r13)
1401cf192:	49 8b 45 f0          	mov    -0x10(%r13),%rax
1401cf196:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
1401cf19a:	49 8b 45 f8          	mov    -0x8(%r13),%rax
1401cf19e:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
1401cf1a2:	49 8b 45 00          	mov    0x0(%r13),%rax
1401cf1a6:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1401cf1aa:	49 83 65 f8 00       	andq   $0x0,-0x8(%r13)
1401cf1af:	49 83 65 00 00       	andq   $0x0,0x0(%r13)
1401cf1b4:	49 8b 45 08          	mov    0x8(%r13),%rax
1401cf1b8:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
1401cf1bc:	88 5c 24 20          	mov    %bl,0x20(%rsp)
1401cf1c0:	4c 8d 4d d0          	lea    -0x30(%rbp),%r9
1401cf1c4:	4c 8b c6             	mov    %rsi,%r8
1401cf1c7:	49 8b d7             	mov    %r15,%rdx
1401cf1ca:	49 8b cc             	mov    %r12,%rcx
1401cf1cd:	e8 16 0c 00 00       	call   0x1401cfde8
1401cf1d2:	90                   	nop
1401cf1d3:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1401cf1d7:	48 85 c9             	test   %rcx,%rcx
1401cf1da:	74 3e                	je     0x1401cf21a
1401cf1dc:	83 c8 ff             	or     $0xffffffff,%eax
1401cf1df:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
1401cf1e4:	83 f8 01             	cmp    $0x1,%eax
1401cf1e7:	75 31                	jne    0x1401cf21a
1401cf1e9:	48 8b 7d f0          	mov    -0x10(%rbp),%rdi
1401cf1ed:	48 8b 07             	mov    (%rdi),%rax
1401cf1f0:	48 8b cf             	mov    %rdi,%rcx
1401cf1f3:	48 8b 00             	mov    (%rax),%rax
1401cf1f6:	ff 15 3c da 93 00    	call   *0x93da3c(%rip)        # 0x140b0cc38
1401cf1fc:	83 c8 ff             	or     $0xffffffff,%eax
1401cf1ff:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1401cf204:	83 f8 01             	cmp    $0x1,%eax
1401cf207:	75 11                	jne    0x1401cf21a
1401cf209:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
1401cf20d:	48 8b 01             	mov    (%rcx),%rax
1401cf210:	48 8b 40 08          	mov    0x8(%rax),%rax
1401cf214:	ff 15 1e da 93 00    	call   *0x93da1e(%rip)        # 0x140b0cc38
1401cf21a:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
1401cf21e:	48 85 c9             	test   %rcx,%rcx
1401cf221:	74 3e                	je     0x1401cf261
1401cf223:	83 c8 ff             	or     $0xffffffff,%eax
1401cf226:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
1401cf22b:	83 f8 01             	cmp    $0x1,%eax
1401cf22e:	75 31                	jne    0x1401cf261
1401cf230:	48 8b 7d d8          	mov    -0x28(%rbp),%rdi
1401cf234:	48 8b 07             	mov    (%rdi),%rax
1401cf237:	48 8b cf             	mov    %rdi,%rcx
1401cf23a:	48 8b 00             	mov    (%rax),%rax
1401cf23d:	ff 15 f5 d9 93 00    	call   *0x93d9f5(%rip)        # 0x140b0cc38
1401cf243:	83 c8 ff             	or     $0xffffffff,%eax
1401cf246:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1401cf24b:	83 f8 01             	cmp    $0x1,%eax
1401cf24e:	75 11                	jne    0x1401cf261
1401cf250:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
1401cf254:	48 8b 01             	mov    (%rcx),%rax
1401cf257:	48 8b 40 08          	mov    0x8(%rax),%rax
1401cf25b:	ff 15 d7 d9 93 00    	call   *0x93d9d7(%rip)        # 0x140b0cc38
1401cf261:	4d 85 ff             	test   %r15,%r15
1401cf264:	0f 8f 07 ff ff ff    	jg     0x1401cf171
1401cf26a:	48 83 fe 02          	cmp    $0x2,%rsi
1401cf26e:	0f 8c c7 fe ff ff    	jl     0x1401cf13b
1401cf274:	44 8a c3             	mov    %bl,%r8b
1401cf277:	49 8b d6             	mov    %r14,%rdx
1401cf27a:	49 8b cc             	mov    %r12,%rcx
1401cf27d:	e8 12 0d 00 00       	call   0x1401cff94
1401cf282:	49 83 ee 30          	sub    $0x30,%r14
1401cf286:	49 8b c6             	mov    %r14,%rax
1401cf289:	49 2b c4             	sub    %r12,%rax
1401cf28c:	48 83 f8 60          	cmp    $0x60,%rax
1401cf290:	7d e2                	jge    0x1401cf274
1401cf292:	e9 a4 fe ff ff       	jmp    0x1401cf13b
1401cf297:	cc                   	int3
1401cf298:	40 53                	rex push %rbx
1401cf29a:	56                   	push   %rsi
1401cf29b:	57                   	push   %rdi
1401cf29c:	41 54                	push   %r12
1401cf29e:	41 55                	push   %r13
1401cf2a0:	41 56                	push   %r14
1401cf2a2:	41 57                	push   %r15
1401cf2a4:	48 83 ec 30          	sub    $0x30,%rsp
1401cf2a8:	4d 8b e0             	mov    %r8,%r12
1401cf2ab:	48 8b f2             	mov    %rdx,%rsi
1401cf2ae:	48 8b f9             	mov    %rcx,%rdi
1401cf2b1:	4c 8b ca             	mov    %rdx,%r9
1401cf2b4:	4c 2b 09             	sub    (%rcx),%r9
1401cf2b7:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1401cf2be:	aa aa 2a
1401cf2c1:	49 f7 e9             	imul   %r9
1401cf2c4:	4c 8b fa             	mov    %rdx,%r15
1401cf2c7:	49 c1 ff 03          	sar    $0x3,%r15
1401cf2cb:	49 8b c7             	mov    %r15,%rax
1401cf2ce:	48 c1 e8 3f          	shr    $0x3f,%rax
1401cf2d2:	4c 03 f8             	add    %rax,%r15
1401cf2d5:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401cf2d9:	48 2b 01             	sub    (%rcx),%rax
1401cf2dc:	48 c1 f8 04          	sar    $0x4,%rax
1401cf2e0:	48 ba ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rdx
1401cf2e7:	aa aa aa
1401cf2ea:	48 0f af c2          	imul   %rdx,%rax
1401cf2ee:	49 b8 55 55 55 55 55 	movabs $0x555555555555555,%r8
1401cf2f5:	55 55 05
1401cf2f8:	49 3b c0             	cmp    %r8,%rax
1401cf2fb:	0f 84 34 03 00 00    	je     0x1401cf635
1401cf301:	4c 8d 68 01          	lea    0x1(%rax),%r13
1401cf305:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1401cf309:	48 2b 0f             	sub    (%rdi),%rcx
1401cf30c:	48 c1 f9 04          	sar    $0x4,%rcx
1401cf310:	48 0f af ca          	imul   %rdx,%rcx
1401cf314:	48 8b d1             	mov    %rcx,%rdx
1401cf317:	48 d1 ea             	shr    $1,%rdx
1401cf31a:	49 8b c0             	mov    %r8,%rax
1401cf31d:	48 2b c2             	sub    %rdx,%rax
1401cf320:	48 3b c8             	cmp    %rax,%rcx
1401cf323:	76 05                	jbe    0x1401cf32a
1401cf325:	49 8b c0             	mov    %r8,%rax
1401cf328:	eb 0b                	jmp    0x1401cf335
1401cf32a:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
1401cf32e:	49 3b c5             	cmp    %r13,%rax
1401cf331:	49 0f 42 c5          	cmovb  %r13,%rax
1401cf335:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
1401cf33c:	00
1401cf33d:	49 3b c0             	cmp    %r8,%rax
1401cf340:	0f 87 e9 02 00 00    	ja     0x1401cf62f
1401cf346:	4c 8d 34 40          	lea    (%rax,%rax,2),%r14
1401cf34a:	49 c1 e6 04          	shl    $0x4,%r14
1401cf34e:	45 33 db             	xor    %r11d,%r11d
1401cf351:	4d 85 f6             	test   %r14,%r14
1401cf354:	0f 85 f9 00 00 00    	jne    0x1401cf453
1401cf35a:	41 8b db             	mov    %r11d,%ebx
1401cf35d:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1401cf362:	4f 8d 0c 7f          	lea    (%r15,%r15,2),%r9