140a7ff3b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140a7ff40:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140a7ff45:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140a7ff4a:	48 83 c4 30          	add    $0x30,%rsp
140a7ff4e:	41 5f                	pop    %r15
140a7ff50:	41 5e                	pop    %r14
140a7ff52:	41 5d                	pop    %r13
140a7ff54:	41 5c                	pop    %r12
140a7ff56:	5f                   	pop    %rdi
140a7ff57:	c3                   	ret
140a7ff58:	4c 8b fb             	mov    %rbx,%r15
140a7ff5b:	48 8b f3             	mov    %rbx,%rsi
140a7ff5e:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140a7ff65:	ff ff 07
140a7ff68:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140a7ff6c:	0f 84 d5 01 00 00    	je     0x140a80147
140a7ff72:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140a7ff77:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140a7ff7e:	00 00
140a7ff80:	b9 20 00 00 00       	mov    $0x20,%ecx
140a7ff85:	e8 7e b1 39 00       	call   0x140e1b108
140a7ff8a:	48 8b f8             	mov    %rax,%rdi
140a7ff8d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a7ff92:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140a7ff96:	48 89 48 10          	mov    %rcx,0x10(%rax)
140a7ff9a:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140a7ff9f:	48 8b 00             	mov    (%rax),%rax
140a7ffa2:	48 89 47 18          	mov    %rax,0x18(%rdi)
140a7ffa6:	48 85 c0             	test   %rax,%rax
140a7ffa9:	74 07                	je     0x140a7ffb2
140a7ffab:	f0 48 ff 00          	lock incq (%rax)
140a7ffaf:	48 8b de             	mov    %rsi,%rbx
140a7ffb2:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140a7ffb6:	48 83 c1 01          	add    $0x1,%rcx
140a7ffba:	0f 57 c0             	xorps  %xmm0,%xmm0
140a7ffbd:	78 07                	js     0x140a7ffc6
140a7ffbf:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140a7ffc4:	eb 15                	jmp    0x140a7ffdb
140a7ffc6:	48 8b c1             	mov    %rcx,%rax
140a7ffc9:	48 d1 e8             	shr    $1,%rax
140a7ffcc:	83 e1 01             	and    $0x1,%ecx
140a7ffcf:	48 0b c1             	or     %rcx,%rax
140a7ffd2:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140a7ffd7:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140a7ffdb:	48 8b 75 38          	mov    0x38(%rbp),%rsi
140a7ffdf:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
140a7ffe4:	0f 57 d2             	xorps  %xmm2,%xmm2
140a7ffe7:	48 85 f6             	test   %rsi,%rsi
140a7ffea:	78 07                	js     0x140a7fff3
140a7ffec:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
140a7fff1:	eb 18                	jmp    0x140a8000b
140a7fff3:	48 8b ce             	mov    %rsi,%rcx
140a7fff6:	48 d1 e9             	shr    $1,%rcx
140a7fff9:	48 8b c6             	mov    %rsi,%rax
140a7fffc:	83 e0 01             	and    $0x1,%eax
140a7ffff:	48 0b c8             	or     %rax,%rcx
140a80002:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140a80007:	f3 0f 58 d2          	addss  %xmm2,%xmm2
140a8000b:	0f 28 c8             	movaps %xmm0,%xmm1
140a8000e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140a80012:	0f 2f cb             	comiss %xmm3,%xmm1
140a80015:	0f 86 c4 00 00 00    	jbe    0x140a800df
140a8001b:	f3 0f 5e c3          	divss  %xmm3,%xmm0
140a8001f:	e8 fc 10 3b 00       	call   0x140e31120
140a80024:	33 c9                	xor    %ecx,%ecx
140a80026:	f3 0f 10 0d 36 e6 52 	movss  0x52e636(%rip),%xmm1        # 0x140fae664
140a8002d:	00
140a8002e:	0f 2f c1             	comiss %xmm1,%xmm0
140a80031:	72 16                	jb     0x140a80049
140a80033:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140a80037:	0f 2f c1             	comiss %xmm1,%xmm0
140a8003a:	73 0d                	jae    0x140a80049
140a8003c:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140a80043:	00 00 80
140a80046:	48 8b c8             	mov    %rax,%rcx
140a80049:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
140a8004e:	48 03 c1             	add    %rcx,%rax
140a80051:	b9 08 00 00 00       	mov    $0x8,%ecx
140a80056:	48 3b c1             	cmp    %rcx,%rax
140a80059:	48 0f 47 c8          	cmova  %rax,%rcx
140a8005d:	48 3b f1             	cmp    %rcx,%rsi
140a80060:	73 19                	jae    0x140a8007b
140a80062:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140a80069:	73 0d                	jae    0x140a80078
140a8006b:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140a80072:	00
140a80073:	48 3b f1             	cmp    %rcx,%rsi
140a80076:	73 03                	jae    0x140a8007b
140a80078:	48 8b f1             	mov    %rcx,%rsi
140a8007b:	48 8b d6             	mov    %rsi,%rdx
140a8007e:	48 8b cd             	mov    %rbp,%rcx
140a80081:	e8 5a 12 ae ff       	call   0x1405612e0
140a80086:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140a8008a:	49 23 cc             	and    %r12,%rcx
140a8008d:	48 03 c9             	add    %rcx,%rcx
140a80090:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140a80094:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140a80099:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
140a8009d:	48 3b c3             	cmp    %rbx,%rax
140a800a0:	75 0b                	jne    0x140a800ad
140a800a2:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140a800a9:	00 00
140a800ab:	eb 28                	jmp    0x140a800d5
140a800ad:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140a800b1:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140a800b5:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140a800b9:	74 17                	je     0x140a800d2
140a800bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140a800c0:	48 8b d8             	mov    %rax,%rbx
140a800c3:	48 3b c2             	cmp    %rdx,%rax
140a800c6:	74 4b                	je     0x140a80113
140a800c8:	48 8b 40 08          	mov    0x8(%rax),%rax
140a800cc:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140a800d0:	75 ee                	jne    0x140a800c0
140a800d2:	48 8b 18             	mov    (%rax),%rbx
140a800d5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140a800da:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
140a800df:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140a800e3:	48 ff 45 10          	incq   0x10(%rbp)
140a800e7:	4c 89 3f             	mov    %r15,(%rdi)
140a800ea:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140a800ee:	48 89 3a             	mov    %rdi,(%rdx)
140a800f1:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140a800f5:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140a800f9:	48 8b 45 30          	mov    0x30(%rbp),%rax
140a800fd:	49 23 c4             	and    %r12,%rax
140a80100:	48 03 c0             	add    %rax,%rax
140a80103:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140a80107:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
140a8010b:	75 16                	jne    0x140a80123
140a8010d:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140a80111:	eb 22                	jmp    0x140a80135
140a80113:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a80118:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140a8011f:	00 00
140a80121:	eb b7                	jmp    0x140a800da
140a80123:	4d 3b c7             	cmp    %r15,%r8
140a80126:	75 06                	jne    0x140a8012e
140a80128:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140a8012c:	eb 0c                	jmp    0x140a8013a
140a8012e:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140a80133:	75 05                	jne    0x140a8013a
140a80135:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140a8013a:	49 89 3e             	mov    %rdi,(%r14)
140a8013d:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140a80142:	e9 f1 fd ff ff       	jmp    0x140a7ff38
140a80147:	48 8d 0d 52 e3 52 00 	lea    0x52e352(%rip),%rcx        # 0x140fae4a0
140a8014e:	e8 61 b2 37 00       	call   0x140dfb3b4
140a80153:	cc                   	int3
140a80154:	cc                   	int3
140a80155:	cc                   	int3
140a80156:	cc                   	int3
140a80157:	cc                   	int3
140a80158:	cc                   	int3
140a80159:	cc                   	int3
140a8015a:	cc                   	int3
140a8015b:	cc                   	int3
140a8015c:	cc                   	int3
140a8015d:	cc                   	int3
140a8015e:	cc                   	int3
140a8015f:	cc                   	int3
140a80160:	40 53                	rex push %rbx
140a80162:	48 83 ec 20          	sub    $0x20,%rsp
140a80166:	48 8b d9             	mov    %rcx,%rbx
140a80169:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a8016d:	48 85 c9             	test   %rcx,%rcx
140a80170:	74 0f                	je     0x140a80181
140a80172:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140a80176:	48 85 c9             	test   %rcx,%rcx
140a80179:	74 06                	je     0x140a80181
140a8017b:	e8 50 7f f8 ff       	call   0x140a080d0
140a80180:	90                   	nop
140a80181:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140a80185:	48 85 c9             	test   %rcx,%rcx
140a80188:	74 0f                	je     0x140a80199
140a8018a:	ba 20 00 00 00       	mov    $0x20,%edx
140a8018f:	48 83 c4 20          	add    $0x20,%rsp
140a80193:	5b                   	pop    %rbx
140a80194:	e9 ab af 39 00       	jmp    0x140e1b144
140a80199:	48 83 c4 20          	add    $0x20,%rsp
140a8019d:	5b                   	pop    %rbx
140a8019e:	c3                   	ret
140a8019f:	cc                   	int3
140a801a0:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
140a801a4:	74 08                	je     0x140a801ae
140a801a6:	48 8b 09             	mov    (%rcx),%rcx
140a801a9:	e9 16 e1 37 00       	jmp    0x140dfe2c4
140a801ae:	c3                   	ret
140a801af:	cc                   	int3
140a801b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a801b5:	57                   	push   %rdi
140a801b6:	48 83 ec 20          	sub    $0x20,%rsp
140a801ba:	8b da                	mov    %edx,%ebx
140a801bc:	48 8b f9             	mov    %rcx,%rdi
140a801bf:	e8 6c 2a 00 00       	call   0x140a82c30
140a801c4:	f6 c3 01             	test   $0x1,%bl
140a801c7:	74 0d                	je     0x140a801d6
140a801c9:	ba 20 00 00 00       	mov    $0x20,%edx
140a801ce:	48 8b cf             	mov    %rdi,%rcx
140a801d1:	e8 6e af 39 00       	call   0x140e1b144
140a801d6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a801db:	48 8b c7             	mov    %rdi,%rax
140a801de:	48 83 c4 20          	add    $0x20,%rsp
140a801e2:	5f                   	pop    %rdi
140a801e3:	c3                   	ret
140a801e4:	cc                   	int3
140a801e5:	cc                   	int3
140a801e6:	cc                   	int3
140a801e7:	cc                   	int3
140a801e8:	cc                   	int3
140a801e9:	cc                   	int3
140a801ea:	cc                   	int3
140a801eb:	cc                   	int3
140a801ec:	cc                   	int3
140a801ed:	cc                   	int3
140a801ee:	cc                   	int3
140a801ef:	cc                   	int3
140a801f0:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140a801f4:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140a801f8:	e9 03 00 00 00       	jmp    0x140a80200
140a801fd:	cc                   	int3
140a801fe:	cc                   	int3
140a801ff:	cc                   	int3
140a80200:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a80205:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140a8020a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140a8020f:	56                   	push   %rsi
140a80210:	57                   	push   %rdi
140a80211:	41 56                	push   %r14
140a80213:	48 83 ec 20          	sub    $0x20,%rsp
140a80217:	48 8b f2             	mov    %rdx,%rsi
140a8021a:	48 8b e9             	mov    %rcx,%rbp
140a8021d:	33 ff                	xor    %edi,%edi
140a8021f:	48 81 c1 98 00 00 00 	add    $0x98,%rcx
140a80226:	e8 89 e0 37 00       	call   0x140dfe2b4
140a8022b:	44 0f b6 c6          	movzbl %sil,%r8d
140a8022f:	49 ba 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r10
140a80236:	9c f2 cb
140a80239:	4d 33 c2             	xor    %r10,%r8
140a8023c:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
140a80243:	01 00 00
140a80246:	4d 0f af c1          	imul   %r9,%r8
140a8024a:	0f b6 44 24 49       	movzbl 0x49(%rsp),%eax
140a8024f:	4c 33 c0             	xor    %rax,%r8
140a80252:	4d 0f af c1          	imul   %r9,%r8
140a80256:	0f b6 44 24 4a       	movzbl 0x4a(%rsp),%eax
140a8025b:	4c 33 c0             	xor    %rax,%r8
140a8025e:	4d 0f af c1          	imul   %r9,%r8
140a80262:	0f b6 44 24 4b       	movzbl 0x4b(%rsp),%eax
140a80267:	4c 33 c0             	xor    %rax,%r8
140a8026a:	4d 0f af c1          	imul   %r9,%r8
140a8026e:	0f b6 44 24 4c       	movzbl 0x4c(%rsp),%eax
140a80273:	4c 33 c0             	xor    %rax,%r8
140a80276:	4d 0f af c1          	imul   %r9,%r8
140a8027a:	0f b6 44 24 4d       	movzbl 0x4d(%rsp),%eax
140a8027f:	4c 33 c0             	xor    %rax,%r8
140a80282:	4d 0f af c1          	imul   %r9,%r8
140a80286:	0f b6 44 24 4e       	movzbl 0x4e(%rsp),%eax
140a8028b:	4c 33 c0             	xor    %rax,%r8
140a8028e:	4d 0f af c1          	imul   %r9,%r8
140a80292:	0f b6 44 24 4f       	movzbl 0x4f(%rsp),%eax
140a80297:	4c 33 c0             	xor    %rax,%r8
140a8029a:	4d 0f af c1          	imul   %r9,%r8
140a8029e:	4c 23 85 d0 00 00 00 	and    0xd0(%rbp),%r8
140a802a5:	4d 03 c0             	add    %r8,%r8
140a802a8:	48 8b 85 b8 00 00 00 	mov    0xb8(%rbp),%rax
140a802af:	4a 8b 5c c0 08       	mov    0x8(%rax,%r8,8),%rbx
140a802b4:	48 8b 8d a8 00 00 00 	mov    0xa8(%rbp),%rcx
140a802bb:	48 3b d9             	cmp    %rcx,%rbx
140a802be:	74 21                	je     0x140a802e1
140a802c0:	4a 8b 04 c0          	mov    (%rax,%r8,8),%rax
140a802c4:	48 3b 73 10          	cmp    0x10(%rbx),%rsi
140a802c8:	74 19                	je     0x140a802e3
140a802ca:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140a802d0:	48 3b d8             	cmp    %rax,%rbx
140a802d3:	74 0c                	je     0x140a802e1
140a802d5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140a802d9:	48 3b 73 10          	cmp    0x10(%rbx),%rsi
140a802dd:	75 f1                	jne    0x140a802d0
140a802df:	eb 02                	jmp    0x140a802e3
140a802e1:	33 db                	xor    %ebx,%ebx
140a802e3:	48 85 db             	test   %rbx,%rbx
140a802e6:	48 0f 44 d9          	cmove  %rcx,%rbx
140a802ea:	48 3b d9             	cmp    %rcx,%rbx
140a802ed:	0f 84 de 00 00 00    	je     0x140a803d1
140a802f3:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
140a802f7:	48 c7 43 18 00 00 00 	movq   $0x0,0x18(%rbx)
140a802fe:	00
140a802ff:	0f b6 53 10          	movzbl 0x10(%rbx),%edx
140a80303:	49 33 d2             	xor    %r10,%rdx
140a80306:	49 0f af d1          	imul   %r9,%rdx
140a8030a:	0f b6 43 11          	movzbl 0x11(%rbx),%eax
140a8030e:	48 33 d0             	xor    %rax,%rdx
140a80311:	49 0f af d1          	imul   %r9,%rdx
140a80315:	0f b6 43 12          	movzbl 0x12(%rbx),%eax
140a80319:	48 33 d0             	xor    %rax,%rdx
140a8031c:	49 0f af d1          	imul   %r9,%rdx
140a80320:	0f b6 43 13          	movzbl 0x13(%rbx),%eax
140a80324:	48 33 d0             	xor    %rax,%rdx
140a80327:	49 0f af d1          	imul   %r9,%rdx
140a8032b:	0f b6 43 14          	movzbl 0x14(%rbx),%eax
140a8032f:	48 33 d0             	xor    %rax,%rdx
140a80332:	49 0f af d1          	imul   %r9,%rdx
140a80336:	0f b6 43 15          	movzbl 0x15(%rbx),%eax
140a8033a:	48 33 d0             	xor    %rax,%rdx
140a8033d:	49 0f af d1          	imul   %r9,%rdx
140a80341:	0f b6 43 16          	movzbl 0x16(%rbx),%eax
140a80345:	48 33 d0             	xor    %rax,%rdx
140a80348:	49 0f af d1          	imul   %r9,%rdx
140a8034c:	0f b6 43 17          	movzbl 0x17(%rbx),%eax
140a80350:	48 33 d0             	xor    %rax,%rdx
140a80353:	49 0f af d1          	imul   %r9,%rdx
140a80357:	48 23 95 d0 00 00 00 	and    0xd0(%rbp),%rdx
140a8035e:	48 c1 e2 04          	shl    $0x4,%rdx
140a80362:	48 03 95 b8 00 00 00 	add    0xb8(%rbp),%rdx
140a80369:	48 8b 02             	mov    (%rdx),%rax
140a8036c:	48 39 5a 08          	cmp    %rbx,0x8(%rdx)
140a80370:	75 1f                	jne    0x140a80391
140a80372:	48 3b c3             	cmp    %rbx,%rax
140a80375:	75 10                	jne    0x140a80387
140a80377:	48 8b 85 a8 00 00 00 	mov    0xa8(%rbp),%rax
140a8037e:	48 89 02             	mov    %rax,(%rdx)
140a80381:	48 89 42 08          	mov    %rax,0x8(%rdx)
140a80385:	eb 15                	jmp    0x140a8039c
140a80387:	48 8b 43 08          	mov    0x8(%rbx),%rax
140a8038b:	48 89 42 08          	mov    %rax,0x8(%rdx)
140a8038f:	eb 0b                	jmp    0x140a8039c
140a80391:	48 3b c3             	cmp    %rbx,%rax
140a80394:	75 06                	jne    0x140a8039c
140a80396:	48 8b 03             	mov    (%rbx),%rax
140a80399:	48 89 02             	mov    %rax,(%rdx)
140a8039c:	48 8b 0b             	mov    (%rbx),%rcx
140a8039f:	48 ff 8d b0 00 00 00 	decq   0xb0(%rbp)
140a803a6:	48 8b 43 08          	mov    0x8(%rbx),%rax
140a803aa:	48 89 08             	mov    %rcx,(%rax)
140a803ad:	48 8b 43 08          	mov    0x8(%rbx),%rax
140a803b1:	48 89 41 08          	mov    %rax,0x8(%rcx)
140a803b5:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140a803b9:	48 85 c9             	test   %rcx,%rcx
140a803bc:	74 06                	je     0x140a803c4
140a803be:	e8 0d 7d f8 ff       	call   0x140a080d0
140a803c3:	90                   	nop
140a803c4:	ba 20 00 00 00       	mov    $0x20,%edx
140a803c9:	48 8b cb             	mov    %rbx,%rcx
140a803cc:	e8 73 ad 39 00       	call   0x140e1b144
140a803d1:	48 8d 8d 98 00 00 00 	lea    0x98(%rbp),%rcx
140a803d8:	e8 e7 de 37 00       	call   0x140dfe2c4
140a803dd:	48 85 ff             	test   %rdi,%rdi
140a803e0:	74 09                	je     0x140a803eb
140a803e2:	48 8b cf             	mov    %rdi,%rcx