1400e503b:	48 8b 3f             	mov    (%rdi),%rdi
1400e503e:	48 8b f7             	mov    %rdi,%rsi
1400e5041:	48 3b fd             	cmp    %rbp,%rdi
1400e5044:	0f 84 9f 01 00 00    	je     0x1400e51e9
1400e504a:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
1400e504f:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1400e5056:	9c f2 cb
1400e5059:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
1400e505e:	48 bb b3 01 00 00 00 	movabs $0x100000001b3,%rbx
1400e5065:	01 00 00
1400e5068:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400e506f:	00
1400e5070:	4c 8b 67 28          	mov    0x28(%rdi),%r12
1400e5074:	4c 8d 4f 10          	lea    0x10(%rdi),%r9
1400e5078:	48 8b 36             	mov    (%rsi),%rsi
1400e507b:	4c 8b 47 20          	mov    0x20(%rdi),%r8
1400e507f:	49 83 fc 0f          	cmp    $0xf,%r12
1400e5083:	76 04                	jbe    0x1400e5089
1400e5085:	4c 8b 4f 10          	mov    0x10(%rdi),%r9
1400e5089:	33 c9                	xor    %ecx,%ecx
1400e508b:	48 8b d0             	mov    %rax,%rdx
1400e508e:	4d 8b d0             	mov    %r8,%r10
1400e5091:	4d 8b dc             	mov    %r12,%r11
1400e5094:	4d 85 c0             	test   %r8,%r8
1400e5097:	74 1b                	je     0x1400e50b4
1400e5099:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400e50a0:	41 0f b6 04 09       	movzbl (%r9,%rcx,1),%eax
1400e50a5:	48 ff c1             	inc    %rcx
1400e50a8:	48 33 d0             	xor    %rax,%rdx
1400e50ab:	48 0f af d3          	imul   %rbx,%rdx
1400e50af:	49 3b c8             	cmp    %r8,%rcx
1400e50b2:	72 ec                	jb     0x1400e50a0
1400e50b4:	49 8b 45 00          	mov    0x0(%r13),%rax
1400e50b8:	49 8b 4f 30          	mov    0x30(%r15),%rcx
1400e50bc:	48 23 ca             	and    %rdx,%rcx
1400e50bf:	48 c1 e1 04          	shl    $0x4,%rcx
1400e50c3:	48 03 c1             	add    %rcx,%rax
1400e50c6:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1400e50cb:	4c 8b 28             	mov    (%rax),%r13
1400e50ce:	4c 3b ed             	cmp    %rbp,%r13
1400e50d1:	75 0c                	jne    0x1400e50df
1400e50d3:	48 89 38             	mov    %rdi,(%rax)
1400e50d6:	48 89 78 08          	mov    %rdi,0x8(%rax)
1400e50da:	e9 e6 00 00 00       	jmp    0x1400e51c5
1400e50df:	48 8b 58 08          	mov    0x8(%rax),%rbx
1400e50e3:	48 83 7b 28 0f       	cmpq   $0xf,0x28(%rbx)
1400e50e8:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1400e50ec:	48 8b 42 10          	mov    0x10(%rdx),%rax
1400e50f0:	76 03                	jbe    0x1400e50f5
1400e50f2:	48 8b 12             	mov    (%rdx),%rdx
1400e50f5:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1400e50f9:	4d 8b f8             	mov    %r8,%r15
1400e50fc:	49 83 fc 0f          	cmp    $0xf,%r12
1400e5100:	76 0a                	jbe    0x1400e510c
1400e5102:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1400e5106:	4d 8b fa             	mov    %r10,%r15
1400e5109:	4d 8b e3             	mov    %r11,%r12
1400e510c:	4c 3b c0             	cmp    %rax,%r8
1400e510f:	75 3d                	jne    0x1400e514e
1400e5111:	e8 0c 79 21 00       	call   0x1402fca22
1400e5116:	85 c0                	test   %eax,%eax
1400e5118:	75 34                	jne    0x1400e514e
1400e511a:	4c 8b 03             	mov    (%rbx),%r8
1400e511d:	4c 3b c7             	cmp    %rdi,%r8
1400e5120:	74 21                	je     0x1400e5143
1400e5122:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1400e5126:	48 89 32             	mov    %rsi,(%rdx)
1400e5129:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1400e512d:	4c 89 01             	mov    %r8,(%rcx)
1400e5130:	49 8b 40 08          	mov    0x8(%r8),%rax
1400e5134:	48 89 38             	mov    %rdi,(%rax)
1400e5137:	49 89 48 08          	mov    %rcx,0x8(%r8)
1400e513b:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1400e513f:	48 89 47 08          	mov    %rax,0x8(%rdi)
1400e5143:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1400e5148:	48 89 78 08          	mov    %rdi,0x8(%rax)
1400e514c:	eb 68                	jmp    0x1400e51b6
1400e514e:	4c 3b eb             	cmp    %rbx,%r13
1400e5151:	74 3a                	je     0x1400e518d
1400e5153:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1400e5157:	48 83 7b 28 0f       	cmpq   $0xf,0x28(%rbx)
1400e515c:	48 8d 53 10          	lea    0x10(%rbx),%rdx
1400e5160:	48 8b 42 10          	mov    0x10(%rdx),%rax
1400e5164:	76 03                	jbe    0x1400e5169
1400e5166:	48 8b 12             	mov    (%rdx),%rdx
1400e5169:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1400e516d:	49 83 fc 0f          	cmp    $0xf,%r12
1400e5171:	76 04                	jbe    0x1400e5177
1400e5173:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1400e5177:	4c 3b f8             	cmp    %rax,%r15
1400e517a:	75 0c                	jne    0x1400e5188
1400e517c:	4d 8b c7             	mov    %r15,%r8
1400e517f:	e8 9e 78 21 00       	call   0x1402fca22
1400e5184:	85 c0                	test   %eax,%eax
1400e5186:	74 7d                	je     0x1400e5205
1400e5188:	4c 3b eb             	cmp    %rbx,%r13
1400e518b:	75 c6                	jne    0x1400e5153
1400e518d:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1400e5191:	48 89 32             	mov    %rsi,(%rdx)
1400e5194:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1400e5198:	48 89 19             	mov    %rbx,(%rcx)
1400e519b:	48 8b 43 08          	mov    0x8(%rbx),%rax
1400e519f:	48 89 38             	mov    %rdi,(%rax)
1400e51a2:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
1400e51a6:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1400e51aa:	48 89 47 08          	mov    %rax,0x8(%rdi)
1400e51ae:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1400e51b3:	48 89 38             	mov    %rdi,(%rax)
1400e51b6:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
1400e51bb:	48 bb b3 01 00 00 00 	movabs $0x100000001b3,%rbx
1400e51c2:	01 00 00
1400e51c5:	4d 8d 6f 18          	lea    0x18(%r15),%r13
1400e51c9:	48 8b fe             	mov    %rsi,%rdi
1400e51cc:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1400e51d3:	9c f2 cb
1400e51d6:	48 3b f5             	cmp    %rbp,%rsi
1400e51d9:	0f 85 91 fe ff ff    	jne    0x1400e5070
1400e51df:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
1400e51e4:	4c 8b 64 24 30       	mov    0x30(%rsp),%r12
1400e51e9:	48 8b 7c 24 38       	mov    0x38(%rsp),%rdi
1400e51ee:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400e51f3:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
1400e51f8:	4c 8b 6c 24 28       	mov    0x28(%rsp),%r13
1400e51fd:	48 83 c4 48          	add    $0x48,%rsp
1400e5201:	41 5f                	pop    %r15
1400e5203:	5b                   	pop    %rbx
1400e5204:	c3                   	ret
1400e5205:	4c 8b 03             	mov    (%rbx),%r8
1400e5208:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1400e520c:	48 89 32             	mov    %rsi,(%rdx)
1400e520f:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1400e5213:	4c 89 01             	mov    %r8,(%rcx)
1400e5216:	49 8b 40 08          	mov    0x8(%r8),%rax
1400e521a:	48 89 38             	mov    %rdi,(%rax)
1400e521d:	49 89 48 08          	mov    %rcx,0x8(%r8)
1400e5221:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1400e5225:	48 89 47 08          	mov    %rax,0x8(%rdi)
1400e5229:	eb 8b                	jmp    0x1400e51b6
1400e522b:	48 8d 0d f6 8e 24 00 	lea    0x248ef6(%rip),%rcx        # 0x14032e128
1400e5232:	e8 79 73 21 00       	call   0x1402fc5b0
1400e5237:	cc                   	int3
1400e5238:	cc                   	int3
1400e5239:	cc                   	int3
1400e523a:	cc                   	int3
1400e523b:	cc                   	int3
1400e523c:	cc                   	int3
1400e523d:	cc                   	int3
1400e523e:	cc                   	int3
1400e523f:	cc                   	int3
1400e5240:	48 8b 51 10          	mov    0x10(%rcx),%rdx
1400e5244:	4c 8b c9             	mov    %rcx,%r9
1400e5247:	48 83 c2 01          	add    $0x1,%rdx
1400e524b:	4c 8b 41 38          	mov    0x38(%rcx),%r8
1400e524f:	0f 57 c9             	xorps  %xmm1,%xmm1
1400e5252:	78 07                	js     0x1400e525b
1400e5254:	f3 48 0f 2a ca       	cvtsi2ss %rdx,%xmm1
1400e5259:	eb 15                	jmp    0x1400e5270
1400e525b:	48 8b c2             	mov    %rdx,%rax
1400e525e:	83 e2 01             	and    $0x1,%edx
1400e5261:	48 d1 e8             	shr    $1,%rax
1400e5264:	48 0b c2             	or     %rdx,%rax
1400e5267:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
1400e526c:	f3 0f 58 c9          	addss  %xmm1,%xmm1
1400e5270:	f3 0f 5e 09          	divss  (%rcx),%xmm1
1400e5274:	f3 0f 2c c9          	cvttss2si %xmm1,%ecx
1400e5278:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
1400e527e:	74 21                	je     0x1400e52a1
1400e5280:	66 0f 6e c1          	movd   %ecx,%xmm0
1400e5284:	0f 5b c0             	cvtdq2ps %xmm0,%xmm0
1400e5287:	0f 2e c1             	ucomiss %xmm1,%xmm0
1400e528a:	74 15                	je     0x1400e52a1
1400e528c:	0f 14 c9             	unpcklps %xmm1,%xmm1
1400e528f:	0f 50 c1             	movmskps %xmm1,%eax
1400e5292:	83 e0 01             	and    $0x1,%eax
1400e5295:	83 f0 01             	xor    $0x1,%eax
1400e5298:	03 c8                	add    %eax,%ecx
1400e529a:	66 0f 6e c9          	movd   %ecx,%xmm1
1400e529e:	0f 5b c9             	cvtdq2ps %xmm1,%xmm1
1400e52a1:	f3 0f 10 05 2b 92 24 	movss  0x24922b(%rip),%xmm0        # 0x14032e4d4
1400e52a8:	00
1400e52a9:	33 c9                	xor    %ecx,%ecx
1400e52ab:	0f 2f c8             	comiss %xmm0,%xmm1
1400e52ae:	72 16                	jb     0x1400e52c6
1400e52b0:	f3 0f 5c c8          	subss  %xmm0,%xmm1
1400e52b4:	0f 2f c8             	comiss %xmm0,%xmm1
1400e52b7:	73 0d                	jae    0x1400e52c6
1400e52b9:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1400e52c0:	00 00 80
1400e52c3:	48 8b c8             	mov    %rax,%rcx
1400e52c6:	f3 48 0f 2c c1       	cvttss2si %xmm1,%rax
1400e52cb:	48 03 c1             	add    %rcx,%rax
1400e52ce:	b9 08 00 00 00       	mov    $0x8,%ecx
1400e52d3:	48 3b c1             	cmp    %rcx,%rax
1400e52d6:	48 0f 47 c8          	cmova  %rax,%rcx
1400e52da:	4c 3b c1             	cmp    %rcx,%r8
1400e52dd:	73 19                	jae    0x1400e52f8
1400e52df:	49 81 f8 00 02 00 00 	cmp    $0x200,%r8
1400e52e6:	73 0d                	jae    0x1400e52f5
1400e52e8:	4e 8d 04 c5 00 00 00 	lea    0x0(,%r8,8),%r8
1400e52ef:	00
1400e52f0:	4c 3b c1             	cmp    %rcx,%r8
1400e52f3:	73 03                	jae    0x1400e52f8
1400e52f5:	4c 8b c1             	mov    %rcx,%r8
1400e52f8:	49 8b d0             	mov    %r8,%rdx
1400e52fb:	49 8b c9             	mov    %r9,%rcx
1400e52fe:	e9 bd fc ff ff       	jmp    0x1400e4fc0
1400e5303:	cc                   	int3
1400e5304:	cc                   	int3
1400e5305:	cc                   	int3
1400e5306:	cc                   	int3
1400e5307:	cc                   	int3
1400e5308:	cc                   	int3
1400e5309:	cc                   	int3
1400e530a:	cc                   	int3
1400e530b:	cc                   	int3
1400e530c:	cc                   	int3
1400e530d:	cc                   	int3
1400e530e:	cc                   	int3
1400e530f:	cc                   	int3
1400e5310:	40 53                	rex push %rbx
1400e5312:	48 83 ec 20          	sub    $0x20,%rsp
1400e5316:	48 8b d9             	mov    %rcx,%rbx
1400e5319:	48 8b 09             	mov    (%rcx),%rcx
1400e531c:	48 85 c9             	test   %rcx,%rcx
1400e531f:	74 68                	je     0x1400e5389
1400e5321:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1400e5325:	4c 8b c3             	mov    %rbx,%r8
1400e5328:	e8 e3 a1 ff ff       	call   0x1400df510
1400e532d:	48 8b 0b             	mov    (%rbx),%rcx
1400e5330:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
1400e5337:	92 24 49
1400e533a:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1400e533e:	48 2b d1             	sub    %rcx,%rdx
1400e5341:	48 f7 ea             	imul   %rdx
1400e5344:	48 c1 fa 04          	sar    $0x4,%rdx
1400e5348:	48 8b c2             	mov    %rdx,%rax
1400e534b:	48 c1 e8 3f          	shr    $0x3f,%rax
1400e534f:	48 03 d0             	add    %rax,%rdx
1400e5352:	48 6b d2 38          	imul   $0x38,%rdx,%rdx
1400e5356:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1400e535d:	72 18                	jb     0x1400e5377
1400e535f:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1400e5363:	48 83 c2 27          	add    $0x27,%rdx
1400e5367:	49 2b c8             	sub    %r8,%rcx
1400e536a:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1400e536e:	48 83 f8 1f          	cmp    $0x1f,%rax
1400e5372:	77 1b                	ja     0x1400e538f
1400e5374:	49 8b c8             	mov    %r8,%rcx
1400e5377:	e8 08 4f 21 00       	call   0x1402fa284
1400e537c:	33 c0                	xor    %eax,%eax
1400e537e:	48 89 03             	mov    %rax,(%rbx)
1400e5381:	48 89 43 08          	mov    %rax,0x8(%rbx)
1400e5385:	48 89 43 10          	mov    %rax,0x10(%rbx)
1400e5389:	48 83 c4 20          	add    $0x20,%rsp
1400e538d:	5b                   	pop    %rbx
1400e538e:	c3                   	ret
1400e538f:	ff 15 63 4c 24 00    	call   *0x244c63(%rip)        # 0x140329ff8
1400e5395:	cc                   	int3
1400e5396:	cc                   	int3
1400e5397:	cc                   	int3
1400e5398:	cc                   	int3
1400e5399:	cc                   	int3
1400e539a:	cc                   	int3
1400e539b:	cc                   	int3
1400e539c:	cc                   	int3
1400e539d:	cc                   	int3
1400e539e:	cc                   	int3
1400e539f:	cc                   	int3
1400e53a0:	48 83 ec 28          	sub    $0x28,%rsp
1400e53a4:	48 8d 0d 3d 55 24 00 	lea    0x24553d(%rip),%rcx        # 0x14032a8e8
1400e53ab:	e8 00 72 21 00       	call   0x1402fc5b0
1400e53b0:	cc                   	int3
1400e53b1:	cc                   	int3
1400e53b2:	cc                   	int3
1400e53b3:	cc                   	int3
1400e53b4:	cc                   	int3
1400e53b5:	cc                   	int3
1400e53b6:	cc                   	int3
1400e53b7:	cc                   	int3
1400e53b8:	cc                   	int3
1400e53b9:	cc                   	int3
1400e53ba:	cc                   	int3
1400e53bb:	cc                   	int3
1400e53bc:	cc                   	int3
1400e53bd:	cc                   	int3
1400e53be:	cc                   	int3
1400e53bf:	cc                   	int3
1400e53c0:	48 83 ec 28          	sub    $0x28,%rsp
1400e53c4:	48 8b c2             	mov    %rdx,%rax
1400e53c7:	49 6b d0 38          	imul   $0x38,%r8,%rdx
1400e53cb:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1400e53d2:	72 18                	jb     0x1400e53ec
1400e53d4:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
1400e53d8:	48 83 c2 27          	add    $0x27,%rdx
1400e53dc:	48 2b c1             	sub    %rcx,%rax
1400e53df:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1400e53e3:	48 83 f8 1f          	cmp    $0x1f,%rax
1400e53e7:	77 0f                	ja     0x1400e53f8
1400e53e9:	48 8b c1             	mov    %rcx,%rax
1400e53ec:	48 8b c8             	mov    %rax,%rcx
1400e53ef:	48 83 c4 28          	add    $0x28,%rsp
1400e53f3:	e9 8c 4e 21 00       	jmp    0x1402fa284
1400e53f8:	ff 15 fa 4b 24 00    	call   *0x244bfa(%rip)        # 0x140329ff8
1400e53fe:	cc                   	int3
1400e53ff:	cc                   	int3
1400e5400:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400e5405:	57                   	push   %rdi
1400e5406:	48 83 ec 20          	sub    $0x20,%rsp
1400e540a:	48 8b 59 08          	mov    0x8(%rcx),%rbx
1400e540e:	48 8b f9             	mov    %rcx,%rdi
1400e5411:	48 8b 53 f8          	mov    -0x8(%rbx),%rdx
1400e5415:	48 83 fa 0f          	cmp    $0xf,%rdx
1400e5419:	76 2d                	jbe    0x1400e5448
1400e541b:	48 8b 4b e0          	mov    -0x20(%rbx),%rcx
1400e541f:	48 ff c2             	inc    %rdx
1400e5422:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1400e5429:	72 18                	jb     0x1400e5443
1400e542b:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1400e542f:	48 83 c2 27          	add    $0x27,%rdx
1400e5433:	49 2b c8             	sub    %r8,%rcx
1400e5436:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1400e543a:	48 83 f8 1f          	cmp    $0x1f,%rax
1400e543e:	77 2c                	ja     0x1400e546c
1400e5440:	49 8b c8             	mov    %r8,%rcx
1400e5443:	e8 3c 4e 21 00       	call   0x1402fa284
1400e5448:	48 c7 43 f0 00 00 00 	movq   $0x0,-0x10(%rbx)
1400e544f:	00
1400e5450:	48 c7 43 f8 0f 00 00 	movq   $0xf,-0x8(%rbx)
1400e5457:	00
1400e5458:	c6 43 e0 00          	movb   $0x0,-0x20(%rbx)
1400e545c:	48 83 47 08 d8       	addq   $0xffffffffffffffd8,0x8(%rdi)
1400e5461:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400e5466:	48 83 c4 20          	add    $0x20,%rsp
1400e546a:	5f                   	pop    %rdi
1400e546b:	c3                   	ret
1400e546c:	ff 15 86 4b 24 00    	call   *0x244b86(%rip)        # 0x140329ff8
1400e5472:	cc                   	int3
1400e5473:	cc                   	int3
1400e5474:	cc                   	int3
1400e5475:	cc                   	int3
1400e5476:	cc                   	int3
1400e5477:	cc                   	int3
1400e5478:	cc                   	int3
1400e5479:	cc                   	int3
1400e547a:	cc                   	int3
1400e547b:	cc                   	int3
1400e547c:	cc                   	int3
1400e547d:	cc                   	int3
1400e547e:	cc                   	int3
1400e547f:	cc                   	int3