140a581d6:	cc                   	int3
140a581d7:	cc                   	int3
140a581d8:	cc                   	int3
140a581d9:	cc                   	int3
140a581da:	cc                   	int3
140a581db:	cc                   	int3
140a581dc:	cc                   	int3
140a581dd:	cc                   	int3
140a581de:	cc                   	int3
140a581df:	cc                   	int3
140a581e0:	40 53                	rex push %rbx
140a581e2:	48 83 ec 20          	sub    $0x20,%rsp
140a581e6:	0f 2e c9             	ucomiss %xmm1,%xmm1
140a581e9:	48 8b d9             	mov    %rcx,%rbx
140a581ec:	0f 9a c0             	setp   %al
140a581ef:	3c 01                	cmp    $0x1,%al
140a581f1:	75 0f                	jne    0x140a58202
140a581f3:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140a581f8:	48 83 c4 20          	add    $0x20,%rsp
140a581fc:	5b                   	pop    %rbx
140a581fd:	e9 7e fa ff ff       	jmp    0x140a57c80
140a58202:	0f 28 c1             	movaps %xmm1,%xmm0
140a58205:	0f 54 05 74 9d 55 00 	andps  0x559d74(%rip),%xmm0        # 0x140fb1f80
140a5820c:	0f 2f 05 3d 6f 62 00 	comiss 0x626f3d(%rip),%xmm0        # 0x14107f150
140a58213:	0f 93 c0             	setae  %al
140a58216:	3c 01                	cmp    $0x1,%al
140a58218:	75 24                	jne    0x140a5823e
140a5821a:	0f 28 c1             	movaps %xmm1,%xmm0
140a5821d:	e8 ea 8e 3d 00       	call   0x140e3110c
140a58222:	85 c0                	test   %eax,%eax
140a58224:	ba 00 00 80 ff       	mov    $0xff800000,%edx
140a58229:	b9 00 00 80 7f       	mov    $0x7f800000,%ecx
140a5822e:	0f 45 d1             	cmovne %ecx,%edx
140a58231:	48 8b cb             	mov    %rbx,%rcx
140a58234:	48 83 c4 20          	add    $0x20,%rsp
140a58238:	5b                   	pop    %rbx
140a58239:	e9 42 fa ff ff       	jmp    0x140a57c80
140a5823e:	0f 28 c1             	movaps %xmm1,%xmm0
140a58241:	0f 57 e4             	xorps  %xmm4,%xmm4
140a58244:	0f 54 05 35 9d 55 00 	andps  0x559d35(%rip),%xmm0        # 0x140fb1f80
140a5824b:	0f 2f e0             	comiss %xmm0,%xmm4
140a5824e:	0f 28 c1             	movaps %xmm1,%xmm0
140a58251:	72 1d                	jb     0x140a58270
140a58253:	e8 b4 8e 3d 00       	call   0x140e3110c
140a58258:	f7 d8                	neg    %eax
140a5825a:	48 8b cb             	mov    %rbx,%rcx
140a5825d:	b8 00 00 00 80       	mov    $0x80000000,%eax
140a58262:	1b d2                	sbb    %edx,%edx
140a58264:	23 d0                	and    %eax,%edx
140a58266:	48 83 c4 20          	add    $0x20,%rsp
140a5826a:	5b                   	pop    %rbx
140a5826b:	e9 10 fa ff ff       	jmp    0x140a57c80
140a58270:	0f 2f e1             	comiss %xmm1,%xmm4
140a58273:	76 07                	jbe    0x140a5827c
140a58275:	0f 57 05 34 64 55 00 	xorps  0x556434(%rip),%xmm0        # 0x140fae6b0
140a5827c:	f3 0f 10 15 c4 6e 62 	movss  0x626ec4(%rip),%xmm2        # 0x14107f148
140a58283:	00
140a58284:	33 c9                	xor    %ecx,%ecx
140a58286:	0f 2f c2             	comiss %xmm2,%xmm0
140a58289:	8b c1                	mov    %ecx,%eax
140a5828b:	72 13                	jb     0x140a582a0
140a5828d:	f3 0f 10 1d 8b de 5e 	movss  0x5ede8b(%rip),%xmm3        # 0x141046120
140a58294:	00
140a58295:	f3 0f 59 c3          	mulss  %xmm3,%xmm0
140a58299:	ff c0                	inc    %eax
140a5829b:	0f 2f c2             	comiss %xmm2,%xmm0
140a5829e:	73 f5                	jae    0x140a58295
140a582a0:	f3 0f 10 15 a4 9c 55 	movss  0x559ca4(%rip),%xmm2        # 0x140fb1f4c
140a582a7:	00
140a582a8:	0f 2f d0             	comiss %xmm0,%xmm2
140a582ab:	76 10                	jbe    0x140a582bd
140a582ad:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140a582b2:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140a582b6:	03 c2                	add    %edx,%eax
140a582b8:	0f 2f d0             	comiss %xmm0,%xmm2
140a582bb:	77 f5                	ja     0x140a582b2
140a582bd:	83 c0 7f             	add    $0x7f,%eax
140a582c0:	f3 0f 5c c2          	subss  %xmm2,%xmm0
140a582c4:	c1 e0 17             	shl    $0x17,%eax
140a582c7:	f3 0f 59 05 7d 6e 62 	mulss  0x626e7d(%rip),%xmm0        # 0x14107f14c
140a582ce:	00
140a582cf:	f3 48 0f 2c d0       	cvttss2si %xmm0,%rdx
140a582d4:	0b d0                	or     %eax,%edx
140a582d6:	b8 00 00 00 80       	mov    $0x80000000,%eax
140a582db:	0f 2f e1             	comiss %xmm1,%xmm4
140a582de:	0f 46 c1             	cmovbe %ecx,%eax
140a582e1:	48 8b cb             	mov    %rbx,%rcx
140a582e4:	0b d0                	or     %eax,%edx
140a582e6:	48 83 c4 20          	add    $0x20,%rsp
140a582ea:	5b                   	pop    %rbx
140a582eb:	e9 90 f9 ff ff       	jmp    0x140a57c80
140a582f0:	40 53                	rex push %rbx
140a582f2:	48 83 ec 20          	sub    $0x20,%rsp
140a582f6:	66 0f 2e c9          	ucomisd %xmm1,%xmm1
140a582fa:	48 8b d9             	mov    %rcx,%rbx
140a582fd:	0f 9a c0             	setp   %al
140a58300:	3c 01                	cmp    $0x1,%al
140a58302:	75 11                	jne    0x140a58315
140a58304:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
140a5830b:	48 83 c4 20          	add    $0x20,%rsp
140a5830f:	5b                   	pop    %rbx
140a58310:	e9 0b fa ff ff       	jmp    0x140a57d20
140a58315:	0f 28 c1             	movaps %xmm1,%xmm0
140a58318:	0f 54 05 51 44 55 00 	andps  0x554451(%rip),%xmm0        # 0x140fac770
140a5831f:	66 0f 2f 05 39 22 62 	comisd 0x622239(%rip),%xmm0        # 0x14107a560
140a58326:	00
140a58327:	0f 93 c0             	setae  %al
140a5832a:	3c 01                	cmp    $0x1,%al
140a5832c:	75 2f                	jne    0x140a5835d
140a5832e:	0f 28 c1             	movaps %xmm1,%xmm0
140a58331:	e8 be 8d 3d 00       	call   0x140e310f4
140a58336:	85 c0                	test   %eax,%eax
140a58338:	48 b9 00 00 00 00 00 	movabs $0x7ff0000000000000,%rcx
140a5833f:	00 f0 7f
140a58342:	48 ba 00 00 00 00 00 	movabs $0xfff0000000000000,%rdx
140a58349:	00 f0 ff
140a5834c:	48 0f 45 d1          	cmovne %rcx,%rdx
140a58350:	48 8b cb             	mov    %rbx,%rcx
140a58353:	48 83 c4 20          	add    $0x20,%rsp
140a58357:	5b                   	pop    %rbx
140a58358:	e9 c3 f9 ff ff       	jmp    0x140a57d20
140a5835d:	0f 28 c1             	movaps %xmm1,%xmm0
140a58360:	0f 57 e4             	xorps  %xmm4,%xmm4
140a58363:	0f 54 05 06 44 55 00 	andps  0x554406(%rip),%xmm0        # 0x140fac770
140a5836a:	66 0f 2f e0          	comisd %xmm0,%xmm4
140a5836e:	0f 28 c1             	movaps %xmm1,%xmm0
140a58371:	72 24                	jb     0x140a58397
140a58373:	e8 7c 8d 3d 00       	call   0x140e310f4
140a58378:	f7 d8                	neg    %eax
140a5837a:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140a58381:	00 00 80
140a58384:	48 1b d2             	sbb    %rdx,%rdx
140a58387:	48 23 d1             	and    %rcx,%rdx
140a5838a:	48 8b cb             	mov    %rbx,%rcx
140a5838d:	48 83 c4 20          	add    $0x20,%rsp
140a58391:	5b                   	pop    %rbx
140a58392:	e9 89 f9 ff ff       	jmp    0x140a57d20
140a58397:	66 0f 2f e1          	comisd %xmm1,%xmm4
140a5839b:	76 07                	jbe    0x140a583a4
140a5839d:	0f 57 05 fc 62 55 00 	xorps  0x5562fc(%rip),%xmm0        # 0x140fae6a0
140a583a4:	f2 0f 10 15 b4 39 5a 	movsd  0x5a39b4(%rip),%xmm2        # 0x140ffbd60
140a583ab:	00
140a583ac:	45 33 c9             	xor    %r9d,%r9d
140a583af:	66 0f 2f c2          	comisd %xmm2,%xmm0
140a583b3:	41 8b c1             	mov    %r9d,%eax
140a583b6:	72 15                	jb     0x140a583cd
140a583b8:	f2 0f 10 1d 10 9a 58 	movsd  0x589a10(%rip),%xmm3        # 0x140fe1dd0
140a583bf:	00
140a583c0:	f2 0f 59 c3          	mulsd  %xmm3,%xmm0
140a583c4:	48 ff c0             	inc    %rax
140a583c7:	66 0f 2f c2          	comisd %xmm2,%xmm0
140a583cb:	73 f3                	jae    0x140a583c0
140a583cd:	f2 0f 10 15 7b 9b 55 	movsd  0x559b7b(%rip),%xmm2        # 0x140fb1f50
140a583d4:	00
140a583d5:	66 0f 2f d0          	comisd %xmm0,%xmm2
140a583d9:	76 12                	jbe    0x140a583ed
140a583db:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140a583e0:	f2 0f 58 c0          	addsd  %xmm0,%xmm0
140a583e4:	48 ff c8             	dec    %rax
140a583e7:	66 0f 2f d0          	comisd %xmm0,%xmm2
140a583eb:	77 f3                	ja     0x140a583e0
140a583ed:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
140a583f1:	45 33 c0             	xor    %r8d,%r8d
140a583f4:	f2 0f 10 15 5c 64 55 	movsd  0x55645c(%rip),%xmm2        # 0x140fae858
140a583fb:	00
140a583fc:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140a58403:	00 00 80
140a58406:	f2 0f 59 05 1a b7 5f 	mulsd  0x5fb71a(%rip),%xmm0        # 0x141053b28
140a5840d:	00
140a5840e:	66 0f 2f c2          	comisd %xmm2,%xmm0
140a58412:	72 0d                	jb     0x140a58421
140a58414:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
140a58418:	66 0f 2f c2          	comisd %xmm2,%xmm0
140a5841c:	73 03                	jae    0x140a58421
140a5841e:	4c 8b c1             	mov    %rcx,%r8
140a58421:	48 05 ff 03 00 00    	add    $0x3ff,%rax
140a58427:	48 c1 e0 34          	shl    $0x34,%rax
140a5842b:	f2 48 0f 2c d0       	cvttsd2si %xmm0,%rdx
140a58430:	49 03 d0             	add    %r8,%rdx
140a58433:	48 0b d0             	or     %rax,%rdx
140a58436:	66 0f 2f e1          	comisd %xmm1,%xmm4
140a5843a:	49 0f 46 c9          	cmovbe %r9,%rcx
140a5843e:	48 0b d1             	or     %rcx,%rdx
140a58441:	48 8b cb             	mov    %rbx,%rcx
140a58444:	48 83 c4 20          	add    $0x20,%rsp
140a58448:	5b                   	pop    %rbx
140a58449:	e9 d2 f8 ff ff       	jmp    0x140a57d20
140a5844e:	cc                   	int3
140a5844f:	cc                   	int3
140a58450:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140a58455:	55                   	push   %rbp
140a58456:	56                   	push   %rsi
140a58457:	57                   	push   %rdi
140a58458:	48 8d 6c 24 80       	lea    -0x80(%rsp),%rbp
140a5845d:	48 81 ec 80 01 00 00 	sub    $0x180,%rsp
140a58464:	0f 29 b4 24 70 01 00 	movaps %xmm6,0x170(%rsp)
140a5846b:	00
140a5846c:	48 8b 05 8d 0a 96 00 	mov    0x960a8d(%rip),%rax        # 0x1413b8f00
140a58473:	48 33 c4             	xor    %rsp,%rax
140a58476:	48 89 45 60          	mov    %rax,0x60(%rbp)
140a5847a:	0f 28 f1             	movaps %xmm1,%xmm6
140a5847d:	48 8b f1             	mov    %rcx,%rsi
140a58480:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
140a58487:	00
140a58488:	ba 01 00 00 00       	mov    $0x1,%edx
140a5848d:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a58492:	e8 d9 5a 78 ff       	call   0x1401ddf70
140a58497:	90                   	nop
140a58498:	ba 35 00 00 00       	mov    $0x35,%edx
140a5849d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a584a2:	e8 1d 68 3a 00       	call   0x140dfecc4
140a584a7:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140a584ac:	48 63 51 04          	movslq 0x4(%rcx),%rdx
140a584b0:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a584b5:	48 03 ca             	add    %rdx,%rcx
140a584b8:	48 8b 50 08          	mov    0x8(%rax),%rdx
140a584bc:	48 8b 00             	mov    (%rax),%rax
140a584bf:	ff 15 5b b5 52 00    	call   *0x52b55b(%rip)        # 0x140f83a20
140a584c5:	0f 28 ce             	movaps %xmm6,%xmm1
140a584c8:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a584cd:	e8 fe 49 de ff       	call   0x14083ced0
140a584d2:	90                   	nop
140a584d3:	0f 57 c0             	xorps  %xmm0,%xmm0
140a584d6:	0f 11 45 40          	movups %xmm0,0x40(%rbp)
140a584da:	33 ff                	xor    %edi,%edi
140a584dc:	48 89 7d 50          	mov    %rdi,0x50(%rbp)
140a584e0:	41 b9 0f 00 00 00    	mov    $0xf,%r9d
140a584e6:	4c 89 4d 58          	mov    %r9,0x58(%rbp)
140a584ea:	40 88 7d 40          	mov    %dil,0x40(%rbp)
140a584ee:	c7 44 24 20 02 00 00 	movl   $0x2,0x20(%rsp)
140a584f5:	00
140a584f6:	33 c0                	xor    %eax,%eax
140a584f8:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
140a584fd:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140a58502:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
140a58506:	8b c1                	mov    %ecx,%eax
140a58508:	24 22                	and    $0x22,%al
140a5850a:	3c 02                	cmp    $0x2,%al
140a5850c:	74 22                	je     0x140a58530
140a5850e:	48 8b 45 98          	mov    -0x68(%rbp),%rax
140a58512:	4c 8b 00             	mov    (%rax),%r8
140a58515:	4d 85 c0             	test   %r8,%r8
140a58518:	74 16                	je     0x140a58530
140a5851a:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140a5851f:	48 8b 10             	mov    (%rax),%rdx
140a58522:	4c 3b 45 c0          	cmp    -0x40(%rbp),%r8
140a58526:	4c 0f 42 45 c0       	cmovb  -0x40(%rbp),%r8
140a5852b:	4c 2b c2             	sub    %rdx,%r8
140a5852e:	eb 32                	jmp    0x140a58562
140a58530:	f6 c1 04             	test   $0x4,%cl
140a58533:	75 23                	jne    0x140a58558
140a58535:	48 8b 45 90          	mov    -0x70(%rbp),%rax
140a58539:	48 8b 08             	mov    (%rax),%rcx
140a5853c:	48 85 c9             	test   %rcx,%rcx
140a5853f:	74 17                	je     0x140a58558
140a58541:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
140a58546:	48 8b 10             	mov    (%rax),%rdx
140a58549:	48 8b 45 a8          	mov    -0x58(%rbp),%rax
140a5854d:	4c 63 00             	movslq (%rax),%r8
140a58550:	4c 2b c2             	sub    %rdx,%r8
140a58553:	4c 03 c1             	add    %rcx,%r8
140a58556:	eb 0a                	jmp    0x140a58562
140a58558:	4c 8b 44 24 38       	mov    0x38(%rsp),%r8
140a5855d:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140a58562:	48 85 d2             	test   %rdx,%rdx
140a58565:	74 11                	je     0x140a58578
140a58567:	48 8d 4d 40          	lea    0x40(%rbp),%rcx
140a5856b:	e8 60 6e 74 ff       	call   0x14019f3d0
140a58570:	4c 8b 4d 58          	mov    0x58(%rbp),%r9
140a58574:	48 8b 7d 50          	mov    0x50(%rbp),%rdi
140a58578:	48 8d 5d 40          	lea    0x40(%rbp),%rbx
140a5857c:	49 83 f9 0f          	cmp    $0xf,%r9
140a58580:	48 0f 47 5d 40       	cmova  0x40(%rbp),%rbx
140a58585:	48 8b d7             	mov    %rdi,%rdx
140a58588:	48 8b ce             	mov    %rsi,%rcx
140a5858b:	e8 e0 f8 ff ff       	call   0x140a57e70
140a58590:	84 c0                	test   %al,%al
140a58592:	75 04                	jne    0x140a58598
140a58594:	32 db                	xor    %bl,%bl
140a58596:	eb 24                	jmp    0x140a585bc
140a58598:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140a5859d:	48 89 7c 24 38       	mov    %rdi,0x38(%rsp)
140a585a2:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
140a585a7:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
140a585ad:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140a585b2:	48 8b ce             	mov    %rsi,%rcx
140a585b5:	e8 f6 00 00 00       	call   0x140a586b0
140a585ba:	b3 01                	mov    $0x1,%bl
140a585bc:	48 8b 55 58          	mov    0x58(%rbp),%rdx
140a585c0:	48 83 fa 0f          	cmp    $0xf,%rdx
140a585c4:	76 31                	jbe    0x140a585f7
140a585c6:	48 ff c2             	inc    %rdx
140a585c9:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
140a585cd:	48 8b c1             	mov    %rcx,%rax
140a585d0:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a585d7:	72 19                	jb     0x140a585f2
140a585d9:	48 83 c2 27          	add    $0x27,%rdx
140a585dd:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a585e1:	48 2b c1             	sub    %rcx,%rax
140a585e4:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a585e8:	48 83 f8 1f          	cmp    $0x1f,%rax
140a585ec:	0f 87 b1 00 00 00    	ja     0x140a586a3
140a585f2:	e8 4d 2b 3c 00       	call   0x140e1b144
140a585f7:	48 c7 45 50 00 00 00 	movq   $0x0,0x50(%rbp)
140a585fe:	00
140a585ff:	48 c7 45 58 0f 00 00 	movq   $0xf,0x58(%rbp)
140a58606:	00
140a58607:	c6 45 40 00          	movb   $0x0,0x40(%rbp)
140a5860b:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a58610:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a58614:	48 8d 05 75 12 55 00 	lea    0x551275(%rip),%rax        # 0x140fa9890
140a5861b:	48 89 44 0c 50       	mov    %rax,0x50(%rsp,%rcx,1)
140a58620:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a58625:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a58629:	8d 91 78 ff ff ff    	lea    -0x88(%rcx),%edx
140a5862f:	89 54 0c 4c          	mov    %edx,0x4c(%rsp,%rcx,1)
140a58633:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140a58638:	e8 b3 8c 78 ff       	call   0x1401e12f0
140a5863d:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140a58642:	48 63 48 04          	movslq 0x4(%rax),%rcx
140a58646:	48 8d 05 2b 11 55 00 	lea    0x55112b(%rip),%rax        # 0x140fa9778
140a5864d:	48 89 44 0c 50       	mov    %rax,0x50(%rsp,%rcx,1)
140a58652:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140a58657:	48 63 51 04          	movslq 0x4(%rcx),%rdx
140a5865b:	44 8d 42 f0          	lea    -0x10(%rdx),%r8d
140a5865f:	44 89 44 14 4c       	mov    %r8d,0x4c(%rsp,%rdx,1)
140a58664:	48 8d 05 75 10 55 00 	lea    0x551075(%rip),%rax        # 0x140fa96e0
140a5866b:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140a5866f:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
140a58673:	e8 8c 43 3a 00       	call   0x140dfca04
140a58678:	90                   	nop
140a58679:	0f b6 c3             	movzbl %bl,%eax
140a5867c:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140a58680:	48 33 cc             	xor    %rsp,%rcx
140a58683:	e8 78 2e 3c 00       	call   0x140e1b500
140a58688:	48 8b 9c 24 b0 01 00 	mov    0x1b0(%rsp),%rbx
140a5868f:	00
140a58690:	0f 28 b4 24 70 01 00 	movaps 0x170(%rsp),%xmm6
140a58697:	00
140a58698:	48 81 c4 80 01 00 00 	add    $0x180,%rsp
140a5869f:	5f                   	pop    %rdi
140a586a0:	5e                   	pop    %rsi
140a586a1:	5d                   	pop    %rbp
140a586a2:	c3                   	ret
140a586a3:	e8 fc 1a 3d 00       	call   0x140e2a1a4
140a586a8:	90                   	nop
140a586a9:	cc                   	int3
140a586aa:	cc                   	int3
140a586ab:	cc                   	int3
140a586ac:	cc                   	int3