140908f99:	48 99                	cqto
140908f9b:	48 f7 d9             	neg    %rcx
140908f9e:	49 f7 f9             	idiv   %r9
140908fa1:	48 3b c8             	cmp    %rax,%rcx
140908fa4:	0f 8f e6 00 00 00    	jg     0x140909090
140908faa:	4d 0f af c1          	imul   %r9,%r8
140908fae:	e9 bc 00 00 00       	jmp    0x14090906f
140908fb3:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140908fba:	00 00 80
140908fbd:	4c 3b c9             	cmp    %rcx,%r9
140908fc0:	75 11                	jne    0x140908fd3
140908fc2:	4d 85 c0             	test   %r8,%r8
140908fc5:	0f 89 c5 00 00 00    	jns    0x140909090
140908fcb:	4c 2b c1             	sub    %rcx,%r8
140908fce:	e9 9c 00 00 00       	jmp    0x14090906f
140908fd3:	49 f7 d9             	neg    %r9
140908fd6:	78 22                	js     0x140908ffa
140908fd8:	4d 85 c0             	test   %r8,%r8
140908fdb:	7e 43                	jle    0x140909020
140908fdd:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140908fe4:	ff ff 7f
140908fe7:	49 2b c0             	sub    %r8,%rax
140908fea:	49 3b c1             	cmp    %r9,%rax
140908fed:	7d 31                	jge    0x140909020
140908fef:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140908ff5:	41 8b c7             	mov    %r15d,%eax
140908ff8:	eb 33                	jmp    0x14090902d
140908ffa:	4d 85 c0             	test   %r8,%r8
140908ffd:	79 21                	jns    0x140909020
140908fff:	48 b8 01 00 00 00 00 	movabs $0x8000000000000001,%rax
140909006:	00 00 80
140909009:	49 8d 49 01          	lea    0x1(%r9),%rcx
14090900d:	49 2b c0             	sub    %r8,%rax
140909010:	48 3b c1             	cmp    %rcx,%rax
140909013:	7e 0b                	jle    0x140909020
140909015:	41 bf 01 00 00 00    	mov    $0x1,%r15d
14090901b:	41 8b c7             	mov    %r15d,%eax
14090901e:	eb 0d                	jmp    0x14090902d
140909020:	4d 03 c1             	add    %r9,%r8
140909023:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140909029:	33 c9                	xor    %ecx,%ecx
14090902b:	8b c1                	mov    %ecx,%eax
14090902d:	85 c0                	test   %eax,%eax
14090902f:	75 65                	jne    0x140909096
140909031:	eb 3c                	jmp    0x14090906f
140909033:	4d 85 c9             	test   %r9,%r9
140909036:	78 19                	js     0x140909051
140909038:	4d 85 c0             	test   %r8,%r8
14090903b:	7e 2f                	jle    0x14090906c
14090903d:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140909044:	ff ff 7f
140909047:	49 2b c0             	sub    %r8,%rax
14090904a:	49 3b c1             	cmp    %r9,%rax
14090904d:	7d 1d                	jge    0x14090906c
14090904f:	eb 3f                	jmp    0x140909090
140909051:	4d 85 c0             	test   %r8,%r8
140909054:	79 16                	jns    0x14090906c
140909056:	48 b8 01 00 00 00 00 	movabs $0x8000000000000001,%rax
14090905d:	00 00 80
140909060:	49 8d 49 01          	lea    0x1(%r9),%rcx
140909064:	49 2b c0             	sub    %r8,%rax
140909067:	48 3b c1             	cmp    %rcx,%rax
14090906a:	7f 24                	jg     0x140909090
14090906c:	4d 03 c1             	add    %r9,%r8
14090906f:	4d 89 06             	mov    %r8,(%r14)
140909072:	b9 44 f2 00 00       	mov    $0xf244,%ecx
140909077:	41 0f b7 46 14       	movzwl 0x14(%r14),%eax
14090907c:	66 23 c1             	and    %cx,%ax
14090907f:	66 83 c8 04          	or     $0x4,%ax
140909083:	e9 8d 01 00 00       	jmp    0x140909215
140909088:	a8 01                	test   $0x1,%al
14090908a:	0f 85 a4 01 00 00    	jne    0x140909234
140909090:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140909096:	0f b7 47 14          	movzwl 0x14(%rdi),%eax
14090909a:	a8 08                	test   $0x8,%al
14090909c:	74 06                	je     0x1409090a4
14090909e:	f2 0f 10 17          	movsd  (%rdi),%xmm2
1409090a2:	eb 23                	jmp    0x1409090c7
1409090a4:	a8 24                	test   $0x24,%al
1409090a6:	74 0a                	je     0x1409090b2
1409090a8:	0f 57 d2             	xorps  %xmm2,%xmm2
1409090ab:	f2 48 0f 2a 17       	cvtsi2sdq (%rdi),%xmm2
1409090b0:	eb 15                	jmp    0x1409090c7
1409090b2:	a8 12                	test   $0x12,%al
1409090b4:	74 0d                	je     0x1409090c3
1409090b6:	48 8b cf             	mov    %rdi,%rcx
1409090b9:	e8 22 a9 fa ff       	call   0x1408b39e0
1409090be:	0f 28 d0             	movaps %xmm0,%xmm2
1409090c1:	eb 04                	jmp    0x1409090c7
1409090c3:	41 0f 28 d1          	movaps %xmm9,%xmm2
1409090c7:	0f b7 46 14          	movzwl 0x14(%rsi),%eax
1409090cb:	a8 08                	test   $0x8,%al
1409090cd:	74 06                	je     0x1409090d5
1409090cf:	f2 0f 10 06          	movsd  (%rsi),%xmm0
1409090d3:	eb 20                	jmp    0x1409090f5
1409090d5:	a8 24                	test   $0x24,%al
1409090d7:	74 0a                	je     0x1409090e3
1409090d9:	0f 57 c0             	xorps  %xmm0,%xmm0
1409090dc:	f2 48 0f 2a 06       	cvtsi2sdq (%rsi),%xmm0
1409090e1:	eb 12                	jmp    0x1409090f5
1409090e3:	a8 12                	test   $0x12,%al
1409090e5:	74 0a                	je     0x1409090f1
1409090e7:	48 8b ce             	mov    %rsi,%rcx
1409090ea:	e8 f1 a8 fa ff       	call   0x1408b39e0
1409090ef:	eb 04                	jmp    0x1409090f5
1409090f1:	41 0f 28 c1          	movaps %xmm9,%xmm0
1409090f5:	49 8b c5             	mov    %r13,%rax
1409090f8:	0f b6 08             	movzbl (%rax),%ecx
1409090fb:	83 e9 6a             	sub    $0x6a,%ecx
1409090fe:	0f 84 cb 00 00 00    	je     0x1409091cf
140909104:	83 e9 01             	sub    $0x1,%ecx
140909107:	0f 84 bc 00 00 00    	je     0x1409091c9
14090910d:	83 e9 01             	sub    $0x1,%ecx
140909110:	0f 84 ad 00 00 00    	je     0x1409091c3
140909116:	83 f9 01             	cmp    $0x1,%ecx
140909119:	0f 84 95 00 00 00    	je     0x1409091b4
14090911f:	0f b7 47 14          	movzwl 0x14(%rdi),%eax
140909123:	a8 24                	test   $0x24,%al
140909125:	74 07                	je     0x14090912e
140909127:	48 8b 1f             	mov    (%rdi),%rbx
14090912a:	33 c9                	xor    %ecx,%ecx
14090912c:	eb 32                	jmp    0x140909160
14090912e:	a8 08                	test   $0x8,%al
140909130:	74 10                	je     0x140909142
140909132:	f2 0f 10 07          	movsd  (%rdi),%xmm0
140909136:	e8 e5 62 f9 ff       	call   0x14089f420
14090913b:	48 8b d8             	mov    %rax,%rbx
14090913e:	33 c9                	xor    %ecx,%ecx
140909140:	eb 1e                	jmp    0x140909160
140909142:	a8 12                	test   $0x12,%al
140909144:	74 16                	je     0x14090915c
140909146:	48 83 7f 08 00       	cmpq   $0x0,0x8(%rdi)
14090914b:	74 0f                	je     0x14090915c
14090914d:	48 8b cf             	mov    %rdi,%rcx
140909150:	e8 5b a8 fa ff       	call   0x1408b39b0
140909155:	48 8b d8             	mov    %rax,%rbx
140909158:	33 c9                	xor    %ecx,%ecx
14090915a:	eb 04                	jmp    0x140909160
14090915c:	33 c9                	xor    %ecx,%ecx
14090915e:	8b d9                	mov    %ecx,%ebx
140909160:	0f b7 46 14          	movzwl 0x14(%rsi),%eax
140909164:	a8 24                	test   $0x24,%al
140909166:	74 05                	je     0x14090916d
140909168:	48 8b 06             	mov    (%rsi),%rax
14090916b:	eb 27                	jmp    0x140909194
14090916d:	a8 08                	test   $0x8,%al
14090916f:	74 0b                	je     0x14090917c
140909171:	f2 0f 10 06          	movsd  (%rsi),%xmm0
140909175:	e8 a6 62 f9 ff       	call   0x14089f420
14090917a:	eb 18                	jmp    0x140909194
14090917c:	a8 12                	test   $0x12,%al
14090917e:	74 11                	je     0x140909191
140909180:	48 83 7e 08 00       	cmpq   $0x0,0x8(%rsi)
140909185:	74 0a                	je     0x140909191
140909187:	48 8b ce             	mov    %rsi,%rcx
14090918a:	e8 21 a8 fa ff       	call   0x1408b39b0
14090918f:	eb 03                	jmp    0x140909194
140909191:	48 8b c1             	mov    %rcx,%rax
140909194:	48 85 db             	test   %rbx,%rbx
140909197:	0f 84 97 00 00 00    	je     0x140909234
14090919d:	48 83 fb ff          	cmp    $0xffffffffffffffff,%rbx
1409091a1:	48 99                	cqto
1409091a3:	0f 57 c0             	xorps  %xmm0,%xmm0
1409091a6:	49 0f 44 df          	cmove  %r15,%rbx
1409091aa:	48 f7 fb             	idiv   %rbx
1409091ad:	f2 48 0f 2a c2       	cvtsi2sd %rdx,%xmm0
1409091b2:	eb 1f                	jmp    0x1409091d3
1409091b4:	66 41 0f 2e d1       	ucomisd %xmm9,%xmm2
1409091b9:	7a 02                	jp     0x1409091bd
1409091bb:	74 77                	je     0x140909234
1409091bd:	f2 0f 5e c2          	divsd  %xmm2,%xmm0
1409091c1:	eb 10                	jmp    0x1409091d3
1409091c3:	f2 0f 59 c2          	mulsd  %xmm2,%xmm0
1409091c7:	eb 0a                	jmp    0x1409091d3
1409091c9:	f2 0f 5c c2          	subsd  %xmm2,%xmm0
1409091cd:	eb 04                	jmp    0x1409091d3
1409091cf:	f2 0f 58 c2          	addsd  %xmm2,%xmm0
1409091d3:	66 48 0f 7e c0       	movq   %xmm0,%rax
1409091d8:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
1409091df:	ff 0f 00
1409091e2:	48 85 c1             	test   %rax,%rcx
1409091e5:	48 ba 00 00 00 00 00 	movabs $0x7ff0000000000000,%rdx
1409091ec:	00 f0 7f
1409091ef:	0f 95 c1             	setne  %cl
1409091f2:	48 23 c2             	and    %rdx,%rax
1409091f5:	48 3b c2             	cmp    %rdx,%rax
1409091f8:	0f 94 c0             	sete   %al
1409091fb:	84 c8                	test   %cl,%al
1409091fd:	75 35                	jne    0x140909234
1409091ff:	f2 41 0f 11 06       	movsd  %xmm0,(%r14)
140909204:	b9 48 f2 00 00       	mov    $0xf248,%ecx
140909209:	41 0f b7 46 14       	movzwl 0x14(%r14),%eax
14090920e:	66 23 c1             	and    %cx,%ax
140909211:	66 83 c8 08          	or     $0x8,%ax
140909215:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14090921a:	4d 8b fd             	mov    %r13,%r15
14090921d:	0f b6 7c 24 30       	movzbl 0x30(%rsp),%edi
140909222:	45 33 db             	xor    %r11d,%r11d
140909225:	66 41 89 46 14       	mov    %ax,0x14(%r14)
14090922a:	4c 8b 74 24 68       	mov    0x68(%rsp),%r14
14090922f:	e9 fd 32 00 00       	jmp    0x14090c531
140909234:	b8 00 90 00 00       	mov    $0x9000,%eax
140909239:	66 41 85 46 14       	test   %ax,0x14(%r14)
14090923e:	74 22                	je     0x140909262
140909240:	49 8b ce             	mov    %r14,%rcx
140909243:	e8 e8 00 02 00       	call   0x140929330
140909248:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14090924d:	45 33 db             	xor    %r11d,%r11d
140909250:	4c 8b 74 24 68       	mov    0x68(%rsp),%r14
140909255:	4d 8b fd             	mov    %r13,%r15
140909258:	0f b6 7c 24 30       	movzbl 0x30(%rsp),%edi
14090925d:	e9 cf 32 00 00       	jmp    0x14090c531
140909262:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140909268:	4d 8b fd             	mov    %r13,%r15
14090926b:	66 45 89 56 14       	mov    %r10w,0x14(%r14)
140909270:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140909275:	45 33 db             	xor    %r11d,%r11d
140909278:	4c 8b 74 24 68       	mov    0x68(%rsp),%r14
14090927d:	0f b6 7c 24 30       	movzbl 0x30(%rsp),%edi
140909282:	4c 8b 4c 24 48       	mov    0x48(%rsp),%r9
140909287:	e9 b0 32 00 00       	jmp    0x14090c53c
14090928c:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
140909291:	48 63 40 04          	movslq 0x4(%rax),%rax
140909295:	85 c0                	test   %eax,%eax
140909297:	0f 84 ed f1 ff ff    	je     0x14090848a
14090929d:	48 6b c8 38          	imul   $0x38,%rax,%rcx
1409092a1:	b8 00 90 00 00       	mov    $0x9000,%eax
1409092a6:	49 03 ce             	add    %r14,%rcx
1409092a9:	66 85 41 14          	test   %ax,0x14(%rcx)
1409092ad:	74 14                	je     0x1409092c3
1409092af:	33 d2                	xor    %edx,%edx
1409092b1:	e8 ca 10 02 00       	call   0x14092a380
1409092b6:	4c 8b 7c 24 38       	mov    0x38(%rsp),%r15
1409092bb:	45 33 db             	xor    %r11d,%r11d
1409092be:	e9 6e 32 00 00       	jmp    0x14090c531
1409092c3:	4c 8b 7c 24 38       	mov    0x38(%rsp),%r15
1409092c8:	4c 89 19             	mov    %r11,(%rcx)
1409092cb:	66 c7 41 14 04 00    	movw   $0x4,0x14(%rcx)
1409092d1:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
1409092d6:	49 83 c7 18          	add    $0x18,%r15
1409092da:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1409092df:	e9 29 ef ff ff       	jmp    0x14090820d
1409092e4:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1409092e9:	48 63 41 04          	movslq 0x4(%rcx),%rax
1409092ed:	48 6b f8 38          	imul   $0x38,%rax,%rdi
1409092f1:	48 63 41 08          	movslq 0x8(%rcx),%rax
1409092f5:	48 6b c8 38          	imul   $0x38,%rax,%rcx
1409092f9:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1409092fe:	49 03 fe             	add    %r14,%rdi
140909301:	49 03 ce             	add    %r14,%rcx
140909304:	48 63 40 0c          	movslq 0xc(%rax),%rax
140909308:	0f b7 51 14          	movzwl 0x14(%rcx),%edx
14090930c:	48 6b f0 38          	imul   $0x38,%rax,%rsi
140909310:	0f b6 c2             	movzbl %dl,%eax
140909313:	0a 47 14             	or     0x14(%rdi),%al
140909316:	49 03 f6             	add    %r14,%rsi
140909319:	a8 01                	test   $0x1,%al
14090931b:	74 43                	je     0x140909360
14090931d:	b8 00 90 00 00       	mov    $0x9000,%eax
140909322:	66 85 46 14          	test   %ax,0x14(%rsi)
140909326:	74 1f                	je     0x140909347
140909328:	48 8b ce             	mov    %rsi,%rcx
14090932b:	e8 00 00 02 00       	call   0x140929330
140909330:	4c 8b 7c 24 38       	mov    0x38(%rsp),%r15
140909335:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14090933a:	45 33 db             	xor    %r11d,%r11d
14090933d:	0f b6 7c 24 30       	movzbl 0x30(%rsp),%edi
140909342:	e9 ea 31 00 00       	jmp    0x14090c531
140909347:	4c 8b 7c 24 38       	mov    0x38(%rsp),%r15
14090934c:	66 44 89 56 14       	mov    %r10w,0x14(%rsi)
140909351:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140909356:	0f b6 7c 24 30       	movzbl 0x30(%rsp),%edi
14090935b:	e9 dc 31 00 00       	jmp    0x14090c53c
140909360:	8b c2                	mov    %edx,%eax
140909362:	f6 c2 24             	test   $0x24,%dl
140909365:	74 05                	je     0x14090936c
140909367:	48 8b 19             	mov    (%rcx),%rbx
14090936a:	eb 2d                	jmp    0x140909399
14090936c:	a8 08                	test   $0x8,%al
14090936e:	74 0e                	je     0x14090937e
140909370:	f2 0f 10 01          	movsd  (%rcx),%xmm0
140909374:	e8 a7 60 f9 ff       	call   0x14089f420
140909379:	48 8b d8             	mov    %rax,%rbx
14090937c:	eb 1b                	jmp    0x140909399
14090937e:	a8 12                	test   $0x12,%al
140909380:	74 14                	je     0x140909396
140909382:	48 83 79 08 00       	cmpq   $0x0,0x8(%rcx)
140909387:	74 0d                	je     0x140909396
140909389:	e8 22 a6 fa ff       	call   0x1408b39b0
14090938e:	48 8b d8             	mov    %rax,%rbx
140909391:	45 33 db             	xor    %r11d,%r11d
140909394:	eb 03                	jmp    0x140909399
140909396:	49 8b db             	mov    %r11,%rbx
140909399:	0f b7 47 14          	movzwl 0x14(%rdi),%eax
14090939d:	a8 24                	test   $0x24,%al
14090939f:	74 05                	je     0x1409093a6
1409093a1:	48 8b 17             	mov    (%rdi),%rdx
1409093a4:	eb 2d                	jmp    0x1409093d3
1409093a6:	a8 08                	test   $0x8,%al
1409093a8:	74 0e                	je     0x1409093b8
1409093aa:	f2 0f 10 07          	movsd  (%rdi),%xmm0
1409093ae:	e8 6d 60 f9 ff       	call   0x14089f420
1409093b3:	48 8b d0             	mov    %rax,%rdx
1409093b6:	eb 1b                	jmp    0x1409093d3
1409093b8:	a8 12                	test   $0x12,%al
1409093ba:	74 14                	je     0x1409093d0
1409093bc:	48 83 7f 08 00       	cmpq   $0x0,0x8(%rdi)
1409093c1:	74 0d                	je     0x1409093d0
1409093c3:	48 8b cf             	mov    %rdi,%rcx
1409093c6:	e8 e5 a5 fa ff       	call   0x1408b39b0
1409093cb:	48 8b d0             	mov    %rax,%rdx
1409093ce:	eb 03                	jmp    0x1409093d3
1409093d0:	49 8b d3             	mov    %r11,%rdx
1409093d3:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1409093d8:	0f b6 08             	movzbl (%rax),%ecx
1409093db:	80 f9 66             	cmp    $0x66,%cl
1409093de:	75 05                	jne    0x1409093e5
1409093e0:	48 23 da             	and    %rdx,%rbx
1409093e3:	eb 75                	jmp    0x14090945a
1409093e5:	80 f9 67             	cmp    $0x67,%cl
1409093e8:	75 05                	jne    0x1409093ef
1409093ea:	48 0b da             	or     %rdx,%rbx
1409093ed:	eb 6b                	jmp    0x14090945a
1409093ef:	48 85 d2             	test   %rdx,%rdx
1409093f2:	74 66                	je     0x14090945a
1409093f4:	79 13                	jns    0x140909409
1409093f6:	b8 d1 00 00 00       	mov    $0xd1,%eax
1409093fb:	2a c1                	sub    %cl,%al
1409093fd:	0f b6 c8             	movzbl %al,%ecx
140909400:	48 83 fa c0          	cmp    $0xffffffffffffffc0,%rdx
140909404:	7e 09                	jle    0x14090940f
140909406:	48 f7 da             	neg    %rdx
140909409:	48 83 fa 40          	cmp    $0x40,%rdx
14090940d:	7c 19                	jl     0x140909428
14090940f:	48 85 db             	test   %rbx,%rbx
140909412:	79 0e                	jns    0x140909422
140909414:	80 f9 68             	cmp    $0x68,%cl
140909417:	74 09                	je     0x140909422
140909419:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
140909420:	eb 38                	jmp    0x14090945a
140909422:	33 c9                	xor    %ecx,%ecx
140909424:	8b d9                	mov    %ecx,%ebx
140909426:	eb 32                	jmp    0x14090945a
140909428:	80 f9 68             	cmp    $0x68,%cl
14090942b:	48 8b ca             	mov    %rdx,%rcx
14090942e:	75 08                	jne    0x140909438
140909430:	48 d3 e3             	shl    %cl,%rbx
140909433:	4c 8b c3             	mov    %rbx,%r8
140909436:	eb 1f                	jmp    0x140909457
140909438:	4c 8b c3             	mov    %rbx,%r8