1405a3fbd:	48 83 c4 20          	add    $0x20,%rsp
1405a3fc1:	5f                   	pop    %rdi
1405a3fc2:	c3                   	ret
1405a3fc3:	48 8b 07             	mov    (%rdi),%rax
1405a3fc6:	48 8b cf             	mov    %rdi,%rcx
1405a3fc9:	48 8b 40 40          	mov    0x40(%rax),%rax
1405a3fcd:	ff 15 4d fa 9d 00    	call   *0x9dfa4d(%rip)        # 0x140f83a20
1405a3fd3:	48 8b 56 10          	mov    0x10(%rsi),%rdx
1405a3fd7:	48 8b d8             	mov    %rax,%rbx
1405a3fda:	48 8b 48 10          	mov    0x10(%rax),%rcx
1405a3fde:	e8 ed 0d 00 00       	call   0x1405a4dd0
1405a3fe3:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1405a3fe8:	48 8b c3             	mov    %rbx,%rax
1405a3feb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a3ff0:	48 83 c4 20          	add    $0x20,%rsp
1405a3ff4:	5f                   	pop    %rdi
1405a3ff5:	c3                   	ret
1405a3ff6:	cc                   	int3
1405a3ff7:	cc                   	int3
1405a3ff8:	cc                   	int3
1405a3ff9:	cc                   	int3
1405a3ffa:	cc                   	int3
1405a3ffb:	cc                   	int3
1405a3ffc:	cc                   	int3
1405a3ffd:	cc                   	int3
1405a3ffe:	cc                   	int3
1405a3fff:	cc                   	int3
1405a4000:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a4005:	55                   	push   %rbp
1405a4006:	56                   	push   %rsi
1405a4007:	57                   	push   %rdi
1405a4008:	48 83 ec 40          	sub    $0x40,%rsp
1405a400c:	48 8b f2             	mov    %rdx,%rsi
1405a400f:	48 8b f9             	mov    %rcx,%rdi
1405a4012:	e8 7d 9c 87 00       	call   0x140e1dc94
1405a4017:	48 8b d8             	mov    %rax,%rbx
1405a401a:	48 8b ce             	mov    %rsi,%rcx
1405a401d:	e8 72 9c 87 00       	call   0x140e1dc94
1405a4022:	48 8d 50 08          	lea    0x8(%rax),%rdx
1405a4026:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
1405a402a:	e8 29 9d 87 00       	call   0x140e1dd58
1405a402f:	85 c0                	test   %eax,%eax
1405a4031:	75 2c                	jne    0x1405a405f
1405a4033:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405a4037:	48 8b 01             	mov    (%rcx),%rax
1405a403a:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1405a403e:	48 8b 40 18          	mov    0x18(%rax),%rax
1405a4042:	ff 15 d8 f9 9d 00    	call   *0x9df9d8(%rip)        # 0x140f83a20
1405a4048:	84 c0                	test   %al,%al
1405a404a:	75 22                	jne    0x1405a406e
1405a404c:	48 8d 15 6d eb a6 00 	lea    0xa6eb6d(%rip),%rdx        # 0x141012bc0
1405a4053:	48 8b 0d 9e d4 e8 00 	mov    0xe8d49e(%rip),%rcx        # 0x1414314f8
1405a405a:	e8 61 f5 1e 00       	call   0x1407935c0
1405a405f:	33 c0                	xor    %eax,%eax
1405a4061:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1405a4066:	48 83 c4 40          	add    $0x40,%rsp
1405a406a:	5f                   	pop    %rdi
1405a406b:	5e                   	pop    %rsi
1405a406c:	5d                   	pop    %rbp
1405a406d:	c3                   	ret
1405a406e:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1405a4072:	e8 c9 e4 ff ff       	call   0x1405a2540
1405a4077:	48 8b d8             	mov    %rax,%rbx
1405a407a:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1405a407e:	e8 bd e4 ff ff       	call   0x1405a2540
1405a4083:	48 3b c3             	cmp    %rbx,%rax
1405a4086:	74 22                	je     0x1405a40aa
1405a4088:	48 8d 15 69 eb a6 00 	lea    0xa6eb69(%rip),%rdx        # 0x141012bf8
1405a408f:	48 8b 0d 62 d4 e8 00 	mov    0xe8d462(%rip),%rcx        # 0x1414314f8
1405a4096:	e8 25 f5 1e 00       	call   0x1407935c0
1405a409b:	33 c0                	xor    %eax,%eax
1405a409d:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1405a40a2:	48 83 c4 40          	add    $0x40,%rsp
1405a40a6:	5f                   	pop    %rdi
1405a40a7:	5e                   	pop    %rsi
1405a40a8:	5d                   	pop    %rbp
1405a40a9:	c3                   	ret
1405a40aa:	b9 18 00 00 00       	mov    $0x18,%ecx
1405a40af:	e8 54 70 87 00       	call   0x140e1b108
1405a40b4:	48 8b d8             	mov    %rax,%rbx
1405a40b7:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1405a40bc:	48 85 c0             	test   %rax,%rax
1405a40bf:	74 54                	je     0x1405a4115
1405a40c1:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1405a40c5:	e8 76 e4 ff ff       	call   0x1405a2540
1405a40ca:	48 8b e8             	mov    %rax,%rbp
1405a40cd:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1405a40d1:	48 8b 11             	mov    (%rcx),%rdx
1405a40d4:	48 8b 42 10          	mov    0x10(%rdx),%rax
1405a40d8:	ff 15 42 f9 9d 00    	call   *0x9df942(%rip)        # 0x140f83a20
1405a40de:	48 89 43 08          	mov    %rax,0x8(%rbx)
1405a40e2:	48 8d 05 07 e9 a6 00 	lea    0xa6e907(%rip),%rax        # 0x1410129f0
1405a40e9:	48 89 03             	mov    %rax,(%rbx)
1405a40ec:	b9 20 00 00 00       	mov    $0x20,%ecx
1405a40f1:	e8 12 70 87 00       	call   0x140e1b108
1405a40f6:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
1405a40fb:	48 85 c0             	test   %rax,%rax
1405a40fe:	74 0f                	je     0x1405a410f
1405a4100:	45 33 c0             	xor    %r8d,%r8d
1405a4103:	48 8b d5             	mov    %rbp,%rdx
1405a4106:	48 8b c8             	mov    %rax,%rcx
1405a4109:	e8 52 0b 00 00       	call   0x1405a4c60
1405a410e:	90                   	nop
1405a410f:	48 89 43 10          	mov    %rax,0x10(%rbx)
1405a4113:	eb 03                	jmp    0x1405a4118
1405a4115:	48 8b d8             	mov    %rax,%rbx
1405a4118:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405a411d:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1405a4121:	e8 3a e4 ff ff       	call   0x1405a2560
1405a4126:	90                   	nop
1405a4127:	48 8b d0             	mov    %rax,%rdx
1405a412a:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1405a412e:	e8 0d 0d 00 00       	call   0x1405a4e40
1405a4133:	90                   	nop
1405a4134:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1405a4139:	48 85 c9             	test   %rcx,%rcx
1405a413c:	74 3a                	je     0x1405a4178
1405a413e:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1405a4143:	48 2b c1             	sub    %rcx,%rax
1405a4146:	48 c1 f8 03          	sar    $0x3,%rax
1405a414a:	48 8d 14 c5 00 00 00 	lea    0x0(,%rax,8),%rdx
1405a4151:	00
1405a4152:	48 8b c1             	mov    %rcx,%rax
1405a4155:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a415c:	72 15                	jb     0x1405a4173
1405a415e:	48 83 c2 27          	add    $0x27,%rdx
1405a4162:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1405a4166:	48 2b c1             	sub    %rcx,%rax
1405a4169:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405a416d:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a4171:	77 73                	ja     0x1405a41e6
1405a4173:	e8 cc 6f 87 00       	call   0x140e1b144
1405a4178:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1405a417d:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1405a4181:	e8 da e3 ff ff       	call   0x1405a2560
1405a4186:	90                   	nop
1405a4187:	48 8b d0             	mov    %rax,%rdx
1405a418a:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1405a418e:	e8 3d 0c 00 00       	call   0x1405a4dd0
1405a4193:	90                   	nop
1405a4194:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1405a4199:	48 85 c9             	test   %rcx,%rcx
1405a419c:	74 32                	je     0x1405a41d0
1405a419e:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
1405a41a3:	48 2b d1             	sub    %rcx,%rdx
1405a41a6:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
1405a41aa:	48 8b c1             	mov    %rcx,%rax
1405a41ad:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405a41b4:	72 15                	jb     0x1405a41cb
1405a41b6:	48 83 c2 27          	add    $0x27,%rdx
1405a41ba:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1405a41be:	48 2b c1             	sub    %rcx,%rax
1405a41c1:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405a41c5:	48 83 f8 1f          	cmp    $0x1f,%rax
1405a41c9:	77 15                	ja     0x1405a41e0
1405a41cb:	e8 74 6f 87 00       	call   0x140e1b144
1405a41d0:	48 8b c3             	mov    %rbx,%rax
1405a41d3:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1405a41d8:	48 83 c4 40          	add    $0x40,%rsp
1405a41dc:	5f                   	pop    %rdi
1405a41dd:	5e                   	pop    %rsi
1405a41de:	5d                   	pop    %rbp
1405a41df:	c3                   	ret
1405a41e0:	e8 bf 5f 88 00       	call   0x140e2a1a4
1405a41e5:	cc                   	int3
1405a41e6:	e8 b9 5f 88 00       	call   0x140e2a1a4
1405a41eb:	cc                   	int3
1405a41ec:	cc                   	int3
1405a41ed:	cc                   	int3
1405a41ee:	cc                   	int3
1405a41ef:	cc                   	int3
1405a41f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a41f5:	57                   	push   %rdi
1405a41f6:	48 83 ec 20          	sub    $0x20,%rsp
1405a41fa:	f2 0f 10 05 5e 7b a5 	movsd  0xa57b5e(%rip),%xmm0        # 0x140ffbd60
1405a4201:	00
1405a4202:	48 8b da             	mov    %rdx,%rbx
1405a4205:	48 8b f9             	mov    %rcx,%rdi
1405a4208:	e8 83 ca 89 00       	call   0x140e40c90
1405a420d:	0f 28 d0             	movaps %xmm0,%xmm2
1405a4210:	0f 57 c0             	xorps  %xmm0,%xmm0
1405a4213:	48 85 ff             	test   %rdi,%rdi
1405a4216:	78 07                	js     0x1405a421f
1405a4218:	f2 48 0f 2a c7       	cvtsi2sd %rdi,%xmm0
1405a421d:	eb 15                	jmp    0x1405a4234
1405a421f:	48 8b c7             	mov    %rdi,%rax
1405a4222:	83 e7 01             	and    $0x1,%edi
1405a4225:	48 d1 e8             	shr    $1,%rax
1405a4228:	48 0b c7             	or     %rdi,%rax
1405a422b:	f2 48 0f 2a c0       	cvtsi2sd %rax,%xmm0
1405a4230:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
1405a4234:	0f 57 c9             	xorps  %xmm1,%xmm1
1405a4237:	48 85 db             	test   %rbx,%rbx
1405a423a:	78 07                	js     0x1405a4243
1405a423c:	f2 48 0f 2a cb       	cvtsi2sd %rbx,%xmm1
1405a4241:	eb 15                	jmp    0x1405a4258
1405a4243:	48 8b c3             	mov    %rbx,%rax
1405a4246:	83 e3 01             	and    $0x1,%ebx
1405a4249:	48 d1 e8             	shr    $1,%rax
1405a424c:	48 0b c3             	or     %rbx,%rax
1405a424f:	f2 48 0f 2a c8       	cvtsi2sd %rax,%xmm1
1405a4254:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
1405a4258:	f2 0f 5e c1          	divsd  %xmm1,%xmm0
1405a425c:	f2 0f 59 c2          	mulsd  %xmm2,%xmm0
1405a4260:	e8 23 d0 89 00       	call   0x140e41288
1405a4265:	f2 0f 10 0d eb a5 a0 	movsd  0xa0a5eb(%rip),%xmm1        # 0x140fae858
1405a426c:	00
1405a426d:	33 c9                	xor    %ecx,%ecx
1405a426f:	66 0f 2f c1          	comisd %xmm1,%xmm0
1405a4273:	72 17                	jb     0x1405a428c
1405a4275:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
1405a4279:	66 0f 2f c1          	comisd %xmm1,%xmm0
1405a427d:	73 0d                	jae    0x1405a428c
1405a427f:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1405a4286:	00 00 80
1405a4289:	48 8b c8             	mov    %rax,%rcx
1405a428c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a4291:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
1405a4296:	48 03 c1             	add    %rcx,%rax
1405a4299:	48 83 c4 20          	add    $0x20,%rsp
1405a429d:	5f                   	pop    %rdi
1405a429e:	c3                   	ret
1405a429f:	cc                   	int3
1405a42a0:	40 53                	rex push %rbx
1405a42a2:	48 83 ec 40          	sub    $0x40,%rsp
1405a42a6:	0f 29 74 24 30       	movaps %xmm6,0x30(%rsp)
1405a42ab:	48 8b da             	mov    %rdx,%rbx
1405a42ae:	0f 28 f0             	movaps %xmm0,%xmm6
1405a42b1:	0f 29 7c 24 20       	movaps %xmm7,0x20(%rsp)
1405a42b6:	f2 0f 10 05 a2 7a a5 	movsd  0xa57aa2(%rip),%xmm0        # 0x140ffbd60
1405a42bd:	00
1405a42be:	e8 cd c9 89 00       	call   0x140e40c90
1405a42c3:	0f 28 f8             	movaps %xmm0,%xmm7
1405a42c6:	0f 28 c6             	movaps %xmm6,%xmm0
1405a42c9:	e8 c2 c9 89 00       	call   0x140e40c90
1405a42ce:	0f 57 c9             	xorps  %xmm1,%xmm1
1405a42d1:	48 85 db             	test   %rbx,%rbx
1405a42d4:	78 07                	js     0x1405a42dd
1405a42d6:	f2 48 0f 2a cb       	cvtsi2sd %rbx,%xmm1
1405a42db:	eb 15                	jmp    0x1405a42f2
1405a42dd:	48 8b c3             	mov    %rbx,%rax
1405a42e0:	83 e3 01             	and    $0x1,%ebx
1405a42e3:	48 d1 e8             	shr    $1,%rax
1405a42e6:	48 0b c3             	or     %rbx,%rax
1405a42e9:	f2 48 0f 2a c8       	cvtsi2sd %rax,%xmm1
1405a42ee:	f2 0f 58 c9          	addsd  %xmm1,%xmm1
1405a42f2:	f2 0f 59 c1          	mulsd  %xmm1,%xmm0
1405a42f6:	f2 0f 5e c7          	divsd  %xmm7,%xmm0
1405a42fa:	f2 0f 5e c7          	divsd  %xmm7,%xmm0
1405a42fe:	0f 57 05 9b a3 a0 00 	xorps  0xa0a39b(%rip),%xmm0        # 0x140fae6a0
1405a4305:	e8 7e cf 89 00       	call   0x140e41288
1405a430a:	f2 0f 10 0d 46 a5 a0 	movsd  0xa0a546(%rip),%xmm1        # 0x140fae858
1405a4311:	00
1405a4312:	33 c9                	xor    %ecx,%ecx
1405a4314:	66 0f 2f c1          	comisd %xmm1,%xmm0
1405a4318:	72 17                	jb     0x1405a4331
1405a431a:	f2 0f 5c c1          	subsd  %xmm1,%xmm0
1405a431e:	66 0f 2f c1          	comisd %xmm1,%xmm0
1405a4322:	73 0d                	jae    0x1405a4331
1405a4324:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1405a432b:	00 00 80
1405a432e:	48 8b c8             	mov    %rax,%rcx
1405a4331:	0f 28 74 24 30       	movaps 0x30(%rsp),%xmm6
1405a4336:	0f 28 7c 24 20       	movaps 0x20(%rsp),%xmm7
1405a433b:	f2 48 0f 2c c0       	cvttsd2si %xmm0,%rax
1405a4340:	48 03 c1             	add    %rcx,%rax
1405a4343:	48 83 c4 40          	add    $0x40,%rsp
1405a4347:	5b                   	pop    %rbx
1405a4348:	c3                   	ret
1405a4349:	cc                   	int3
1405a434a:	cc                   	int3
1405a434b:	cc                   	int3
1405a434c:	cc                   	int3
1405a434d:	cc                   	int3
1405a434e:	cc                   	int3
1405a434f:	cc                   	int3
1405a4350:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a4355:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1405a435a:	57                   	push   %rdi
1405a435b:	48 83 ec 20          	sub    $0x20,%rsp
1405a435f:	48 8b fa             	mov    %rdx,%rdi
1405a4362:	48 8b f1             	mov    %rcx,%rsi
1405a4365:	e8 2a 99 87 00       	call   0x140e1dc94
1405a436a:	48 8b cf             	mov    %rdi,%rcx
1405a436d:	48 8b d8             	mov    %rax,%rbx
1405a4370:	e8 1f 99 87 00       	call   0x140e1dc94
1405a4375:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
1405a4379:	48 8d 50 08          	lea    0x8(%rax),%rdx
1405a437d:	e8 d6 99 87 00       	call   0x140e1dd58
1405a4382:	85 c0                	test   %eax,%eax
1405a4384:	75 2c                	jne    0x1405a43b2
1405a4386:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1405a438a:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1405a438e:	48 8b 01             	mov    (%rcx),%rax
1405a4391:	48 8b 40 18          	mov    0x18(%rax),%rax
1405a4395:	ff 15 85 f6 9d 00    	call   *0x9df685(%rip)        # 0x140f83a20
1405a439b:	84 c0                	test   %al,%al
1405a439d:	75 25                	jne    0x1405a43c4
1405a439f:	48 8b 0d 52 d1 e8 00 	mov    0xe8d152(%rip),%rcx        # 0x1414314f8
1405a43a6:	48 8d 15 3b e7 a6 00 	lea    0xa6e73b(%rip),%rdx        # 0x141012ae8
1405a43ad:	e8 0e f2 1e 00       	call   0x1407935c0
1405a43b2:	32 c0                	xor    %al,%al
1405a43b4:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a43b9:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1405a43be:	48 83 c4 20          	add    $0x20,%rsp
1405a43c2:	5f                   	pop    %rdi
1405a43c3:	c3                   	ret
1405a43c4:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1405a43c8:	e8 53 b9 ea ff       	call   0x14044fd20
1405a43cd:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1405a43d1:	48 8b d8             	mov    %rax,%rbx
1405a43d4:	e8 47 b9 ea ff       	call   0x14044fd20
1405a43d9:	48 3b c3             	cmp    %rbx,%rax
1405a43dc:	74 25                	je     0x1405a4403
1405a43de:	48 8b 0d 13 d1 e8 00 	mov    0xe8d113(%rip),%rcx        # 0x1414314f8
1405a43e5:	48 8d 15 2c e7 a6 00 	lea    0xa6e72c(%rip),%rdx        # 0x141012b18
1405a43ec:	e8 cf f1 1e 00       	call   0x1407935c0
1405a43f1:	32 c0                	xor    %al,%al
1405a43f3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a43f8:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1405a43fd:	48 83 c4 20          	add    $0x20,%rsp
1405a4401:	5f                   	pop    %rdi
1405a4402:	c3                   	ret
1405a4403:	48 8b 57 10          	mov    0x10(%rdi),%rdx
1405a4407:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1405a440b:	e8 30 0a 00 00       	call   0x1405a4e40
1405a4410:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1405a4415:	b0 01                	mov    $0x1,%al
1405a4417:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1405a441c:	48 83 c4 20          	add    $0x20,%rsp
1405a4420:	5f                   	pop    %rdi
1405a4421:	c3                   	ret
1405a4422:	cc                   	int3
1405a4423:	cc                   	int3
1405a4424:	cc                   	int3
1405a4425:	cc                   	int3
1405a4426:	cc                   	int3
1405a4427:	cc                   	int3
1405a4428:	cc                   	int3
1405a4429:	cc                   	int3
1405a442a:	cc                   	int3
1405a442b:	cc                   	int3
1405a442c:	cc                   	int3
1405a442d:	cc                   	int3
1405a442e:	cc                   	int3
1405a442f:	cc                   	int3
1405a4430:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1405a4435:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1405a443a:	57                   	push   %rdi
1405a443b:	48 83 ec 20          	sub    $0x20,%rsp