140e03116:	49 0f 48 c1          	cmovs  %r9,%rax
140e0311a:	49 3b c2             	cmp    %r10,%rax
140e0311d:	7e 62                	jle    0x140e03181
140e0311f:	45 84 ed             	test   %r13b,%r13b
140e03122:	74 14                	je     0x140e03138
140e03124:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
140e03128:	48 99                	cqto
140e0312a:	83 e2 03             	and    $0x3,%edx
140e0312d:	48 8d 0c 02          	lea    (%rdx,%rax,1),%rcx
140e03131:	48 c1 f9 02          	sar    $0x2,%rcx
140e03135:	48 ff c1             	inc    %rcx
140e03138:	49 8b c3             	mov    %r11,%rax
140e0313b:	48 f7 d8             	neg    %rax
140e0313e:	49 0f 48 c3          	cmovs  %r11,%rax
140e03142:	48 3b c1             	cmp    %rcx,%rax
140e03145:	48 0f 4c c8          	cmovl  %rax,%rcx
140e03149:	48 8d 14 8d 00 00 00 	lea    0x0(,%rcx,4),%rdx
140e03150:	00
140e03151:	48 8b c1             	mov    %rcx,%rax
140e03154:	48 85 db             	test   %rbx,%rbx
140e03157:	78 0f                	js     0x140e03168
140e03159:	45 84 ed             	test   %r13b,%r13b
140e0315c:	48 0f 45 c2          	cmovne %rdx,%rax
140e03160:	48 2b d8             	sub    %rax,%rbx
140e03163:	4c 03 c9             	add    %rcx,%r9
140e03166:	eb 0d                	jmp    0x140e03175
140e03168:	45 84 ed             	test   %r13b,%r13b
140e0316b:	48 0f 45 c2          	cmovne %rdx,%rax
140e0316f:	48 03 d8             	add    %rax,%rbx
140e03172:	4c 2b c9             	sub    %rcx,%r9
140e03175:	33 d2                	xor    %edx,%edx
140e03177:	e9 45 ff ff ff       	jmp    0x140e030c1
140e0317c:	4c 8b c1             	mov    %rcx,%r8
140e0317f:	eb 27                	jmp    0x140e031a8
140e03181:	4a 8d 04 8d 00 00 00 	lea    0x0(,%r9,4),%rax
140e03188:	00
140e03189:	45 84 ed             	test   %r13b,%r13b
140e0318c:	4c 0f 45 c8          	cmovne %rax,%r9
140e03190:	49 03 d9             	add    %r9,%rbx
140e03193:	49 3b d8             	cmp    %r8,%rbx
140e03196:	7f 10                	jg     0x140e031a8
140e03198:	49 f7 d8             	neg    %r8
140e0319b:	49 8b c0             	mov    %r8,%rax
140e0319e:	4c 8b c3             	mov    %rbx,%r8
140e031a1:	48 3b d8             	cmp    %rax,%rbx
140e031a4:	4c 0f 4c c0          	cmovl  %rax,%r8
140e031a8:	4d 85 c0             	test   %r8,%r8
140e031ab:	0f 84 80 00 00 00    	je     0x140e03231
140e031b1:	41 8a c5             	mov    %r13b,%al
140e031b4:	f6 d8                	neg    %al
140e031b6:	1a c9                	sbb    %cl,%cl
140e031b8:	80 e1 0b             	and    $0xb,%cl
140e031bb:	80 c1 65             	add    $0x65,%cl
140e031be:	41 88 0c 24          	mov    %cl,(%r12)
140e031c2:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140e031c8:	4d 03 e2             	add    %r10,%r12
140e031cb:	4d 85 c0             	test   %r8,%r8
140e031ce:	79 08                	jns    0x140e031d8
140e031d0:	41 c6 04 24 2d       	movb   $0x2d,(%r12)
140e031d5:	4d 03 e2             	add    %r10,%r12
140e031d8:	49 8b cc             	mov    %r12,%rcx
140e031db:	4d 8b c8             	mov    %r8,%r9
140e031de:	49 f7 d9             	neg    %r9
140e031e1:	4d 0f 48 c8          	cmovs  %r8,%r9
140e031e5:	4d 85 c9             	test   %r9,%r9
140e031e8:	74 3d                	je     0x140e03227
140e031ea:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140e031f1:	66 66 66
140e031f4:	49 f7 e9             	imul   %r9
140e031f7:	48 c1 fa 02          	sar    $0x2,%rdx
140e031fb:	48 8b c2             	mov    %rdx,%rax
140e031fe:	48 c1 e8 3f          	shr    $0x3f,%rax
140e03202:	48 03 d0             	add    %rax,%rdx
140e03205:	8a c2                	mov    %dl,%al
140e03207:	c0 e0 02             	shl    $0x2,%al
140e0320a:	44 8d 04 10          	lea    (%rax,%rdx,1),%r8d
140e0320e:	45 02 c0             	add    %r8b,%r8b
140e03211:	45 2a c8             	sub    %r8b,%r9b
140e03214:	41 80 c1 30          	add    $0x30,%r9b
140e03218:	45 88 0c 24          	mov    %r9b,(%r12)
140e0321c:	4d 03 e2             	add    %r10,%r12
140e0321f:	4c 8b ca             	mov    %rdx,%r9
140e03222:	48 85 d2             	test   %rdx,%rdx
140e03225:	75 c3                	jne    0x140e031ea
140e03227:	49 8b d4             	mov    %r12,%rdx
140e0322a:	e8 21 9e ff ff       	call   0x140dfd050
140e0322f:	33 d2                	xor    %edx,%edx
140e03231:	41 88 14 24          	mov    %dl,(%r12)
140e03235:	41 f6 dd             	neg    %r13b
140e03238:	1a c0                	sbb    %al,%al
140e0323a:	24 06                	and    $0x6,%al
140e0323c:	04 0a                	add    $0xa,%al
140e0323e:	88 44 24 36          	mov    %al,0x36(%rsp)
140e03242:	8a 44 24 30          	mov    0x30(%rsp),%al
140e03246:	88 44 24 37          	mov    %al,0x37(%rsp)
140e0324a:	0f b7 5c 24 36       	movzwl 0x36(%rsp),%ebx
140e0324f:	eb 0b                	jmp    0x140e0325c
140e03251:	66 83 64 24 33 00    	andw   $0x0,0x33(%rsp)
140e03257:	0f b7 5c 24 33       	movzwl 0x33(%rsp),%ebx
140e0325c:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
140e03260:	e8 eb 47 39 ff       	call   0x140197a50
140e03265:	0f b7 c3             	movzwl %bx,%eax
140e03268:	48 8b 4d 0f          	mov    0xf(%rbp),%rcx
140e0326c:	48 33 cc             	xor    %rsp,%rcx
140e0326f:	e8 8c 82 01 00       	call   0x140e1b500
140e03274:	48 8b 9c 24 48 01 00 	mov    0x148(%rsp),%rbx
140e0327b:	00
140e0327c:	48 81 c4 00 01 00 00 	add    $0x100,%rsp
140e03283:	41 5f                	pop    %r15
140e03285:	41 5e                	pop    %r14
140e03287:	41 5d                	pop    %r13
140e03289:	41 5c                	pop    %r12
140e0328b:	5f                   	pop    %rdi
140e0328c:	5e                   	pop    %rsi
140e0328d:	5d                   	pop    %rbp
140e0328e:	c3                   	ret
140e0328f:	cc                   	int3
140e03290:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e03295:	55                   	push   %rbp
140e03296:	56                   	push   %rsi
140e03297:	57                   	push   %rdi
140e03298:	41 54                	push   %r12
140e0329a:	41 55                	push   %r13
140e0329c:	41 56                	push   %r14
140e0329e:	41 57                	push   %r15
140e032a0:	48 8d 6c 24 e1       	lea    -0x1f(%rsp),%rbp
140e032a5:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
140e032ac:	48 8b 05 4d 5c 5b 00 	mov    0x5b5c4d(%rip),%rax        # 0x1413b8f00
140e032b3:	48 33 c4             	xor    %rsp,%rax
140e032b6:	48 89 45 0f          	mov    %rax,0xf(%rbp)
140e032ba:	4d 8b f1             	mov    %r9,%r14
140e032bd:	4c 89 4c 24 40       	mov    %r9,0x40(%rsp)
140e032c2:	49 8b f8             	mov    %r8,%rdi
140e032c5:	89 54 24 54          	mov    %edx,0x54(%rsp)
140e032c9:	4c 8b e1             	mov    %rcx,%r12
140e032cc:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
140e032d1:	48 8b 5d 7f          	mov    0x7f(%rbp),%rbx
140e032d5:	45 33 ff             	xor    %r15d,%r15d
140e032d8:	48 8b cb             	mov    %rbx,%rcx
140e032db:	e8 d0 ee b5 ff       	call   0x1409621b0
140e032e0:	48 8b c8             	mov    %rax,%rcx
140e032e3:	48 8b 10             	mov    (%rax),%rdx
140e032e6:	48 8b 42 58          	mov    0x58(%rdx),%rax
140e032ea:	4c 8d 4d cf          	lea    -0x31(%rbp),%r9
140e032ee:	4c 8d 05 e8 d5 3d 00 	lea    0x3dd5e8(%rip),%r8        # 0x1411e08dd
140e032f5:	48 8d 15 c4 d5 3d 00 	lea    0x3dd5c4(%rip),%rdx        # 0x1411e08c0
140e032fc:	ff 15 1e 07 18 00    	call   *0x18071e(%rip)        # 0x140f83a20
140e03302:	0f b7 75 fd          	movzwl -0x3(%rbp),%esi
140e03306:	66 89 74 24 50       	mov    %si,0x50(%rsp)
140e0330b:	0f b7 45 fb          	movzwl -0x5(%rbp),%eax
140e0330f:	66 89 44 24 36       	mov    %ax,0x36(%rsp)
140e03314:	0f b7 45 cf          	movzwl -0x31(%rbp),%eax
140e03318:	66 89 44 24 38       	mov    %ax,0x38(%rsp)
140e0331d:	48 8b cb             	mov    %rbx,%rcx
140e03320:	e8 ab f0 b5 ff       	call   0x1409623d0
140e03325:	48 8b d8             	mov    %rax,%rbx
140e03328:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140e0332d:	48 8b 08             	mov    (%rax),%rcx
140e03330:	48 8b 41 28          	mov    0x28(%rcx),%rax
140e03334:	48 8d 55 af          	lea    -0x51(%rbp),%rdx
140e03338:	48 8b cb             	mov    %rbx,%rcx
140e0333b:	ff 15 df 06 18 00    	call   *0x1806df(%rip)        # 0x140f83a20
140e03341:	90                   	nop
140e03342:	4c 39 7d bf          	cmp    %r15,-0x41(%rbp)
140e03346:	75 12                	jne    0x140e0335a
140e03348:	33 db                	xor    %ebx,%ebx
140e0334a:	44 0f b7 fb          	movzwl %bx,%r15d
140e0334e:	44 8a eb             	mov    %bl,%r13b
140e03351:	88 5c 24 30          	mov    %bl,0x30(%rsp)
140e03355:	e9 20 01 00 00       	jmp    0x140e0347a
140e0335a:	48 8b 03             	mov    (%rbx),%rax
140e0335d:	48 8b cb             	mov    %rbx,%rcx
140e03360:	48 8b 40 20          	mov    0x20(%rax),%rax
140e03364:	ff 15 b6 06 18 00    	call   *0x1806b6(%rip)        # 0x140f83a20
140e0336a:	44 0f b7 f8          	movzwl %ax,%r15d
140e0336e:	33 db                	xor    %ebx,%ebx
140e03370:	44 8a eb             	mov    %bl,%r13b
140e03373:	88 5c 24 30          	mov    %bl,0x30(%rsp)
140e03377:	48 39 5d bf          	cmp    %rbx,-0x41(%rbp)
140e0337b:	0f 84 f9 00 00 00    	je     0x140e0347a
140e03381:	49 8b d6             	mov    %r14,%rdx
140e03384:	48 8b cf             	mov    %rdi,%rcx
140e03387:	e8 1c 3d 01 00       	call   0x140e170a8
140e0338c:	84 c0                	test   %al,%al
140e0338e:	0f 85 e6 00 00 00    	jne    0x140e0347a
140e03394:	48 8d 5f 0a          	lea    0xa(%rdi),%rbx
140e03398:	48 8b f3             	mov    %rbx,%rsi
140e0339b:	45 33 c0             	xor    %r8d,%r8d
140e0339e:	45 8d 60 01          	lea    0x1(%r8),%r12d
140e033a2:	44 38 47 08          	cmp    %r8b,0x8(%rdi)
140e033a6:	75 4b                	jne    0x140e033f3
140e033a8:	48 8b 0f             	mov    (%rdi),%rcx
140e033ab:	48 85 c9             	test   %rcx,%rcx
140e033ae:	74 3c                	je     0x140e033ec
140e033b0:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e033b4:	48 8b 10             	mov    (%rax),%rdx
140e033b7:	48 85 d2             	test   %rdx,%rdx
140e033ba:	74 0e                	je     0x140e033ca
140e033bc:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e033c0:	44 39 00             	cmp    %r8d,(%rax)
140e033c3:	7e 05                	jle    0x140e033ca
140e033c5:	0f b7 02             	movzwl (%rdx),%eax
140e033c8:	eb 10                	jmp    0x140e033da
140e033ca:	48 8b 01             	mov    (%rcx),%rax
140e033cd:	48 8b 40 30          	mov    0x30(%rax),%rax
140e033d1:	ff 15 49 06 18 00    	call   *0x180649(%rip)        # 0x140f83a20
140e033d7:	45 33 c0             	xor    %r8d,%r8d
140e033da:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e033df:	66 3b c8             	cmp    %ax,%cx
140e033e2:	74 08                	je     0x140e033ec
140e033e4:	66 89 06             	mov    %ax,(%rsi)
140e033e7:	48 8b de             	mov    %rsi,%rbx
140e033ea:	eb 03                	jmp    0x140e033ef
140e033ec:	4c 89 07             	mov    %r8,(%rdi)
140e033ef:	44 88 67 08          	mov    %r12b,0x8(%rdi)
140e033f3:	66 44 39 3b          	cmp    %r15w,(%rbx)
140e033f7:	75 70                	jne    0x140e03469
140e033f9:	48 8b 0f             	mov    (%rdi),%rcx
140e033fc:	48 85 c9             	test   %rcx,%rcx
140e033ff:	74 46                	je     0x140e03447
140e03401:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e03405:	4c 39 00             	cmp    %r8,(%rax)
140e03408:	74 1e                	je     0x140e03428
140e0340a:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e0340e:	44 39 00             	cmp    %r8d,(%rax)
140e03411:	7e 15                	jle    0x140e03428
140e03413:	ff 08                	decl   (%rax)
140e03415:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e03419:	48 8b 11             	mov    (%rcx),%rdx
140e0341c:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e03420:	48 89 01             	mov    %rax,(%rcx)
140e03423:	0f b7 02             	movzwl (%rdx),%eax
140e03426:	eb 10                	jmp    0x140e03438
140e03428:	48 8b 01             	mov    (%rcx),%rax
140e0342b:	48 8b 40 38          	mov    0x38(%rax),%rax
140e0342f:	ff 15 eb 05 18 00    	call   *0x1805eb(%rip)        # 0x140f83a20
140e03435:	45 33 c0             	xor    %r8d,%r8d
140e03438:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e0343d:	66 3b c8             	cmp    %ax,%cx
140e03440:	74 05                	je     0x140e03447
140e03442:	41 8a c0             	mov    %r8b,%al
140e03445:	eb 06                	jmp    0x140e0344d
140e03447:	4c 89 07             	mov    %r8,(%rdi)
140e0344a:	41 8a c4             	mov    %r12b,%al
140e0344d:	88 47 08             	mov    %al,0x8(%rdi)
140e03450:	45 8a ec             	mov    %r12b,%r13b
140e03453:	49 8b d6             	mov    %r14,%rdx
140e03456:	48 8b cf             	mov    %rdi,%rcx
140e03459:	e8 4a 3c 01 00       	call   0x140e170a8
140e0345e:	45 33 c0             	xor    %r8d,%r8d
140e03461:	84 c0                	test   %al,%al
140e03463:	0f 84 39 ff ff ff    	je     0x140e033a2
140e03469:	44 88 6c 24 30       	mov    %r13b,0x30(%rsp)
140e0346e:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140e03473:	0f b7 74 24 50       	movzwl 0x50(%rsp),%esi
140e03478:	33 db                	xor    %ebx,%ebx
140e0347a:	49 8b d6             	mov    %r14,%rdx
140e0347d:	48 8b cf             	mov    %rdi,%rcx
140e03480:	e8 23 3c 01 00       	call   0x140e170a8
140e03485:	84 c0                	test   %al,%al
140e03487:	0f 85 80 01 00 00    	jne    0x140e0360d
140e0348d:	8a 4f 08             	mov    0x8(%rdi),%cl
140e03490:	84 c9                	test   %cl,%cl
140e03492:	75 50                	jne    0x140e034e4
140e03494:	48 8b 0f             	mov    (%rdi),%rcx
140e03497:	48 85 c9             	test   %rcx,%rcx
140e0349a:	74 36                	je     0x140e034d2
140e0349c:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e034a0:	48 8b 10             	mov    (%rax),%rdx
140e034a3:	48 85 d2             	test   %rdx,%rdx
140e034a6:	74 0d                	je     0x140e034b5
140e034a8:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e034ac:	39 18                	cmp    %ebx,(%rax)
140e034ae:	7e 05                	jle    0x140e034b5
140e034b0:	0f b7 02             	movzwl (%rdx),%eax
140e034b3:	eb 0d                	jmp    0x140e034c2
140e034b5:	48 8b 01             	mov    (%rcx),%rax
140e034b8:	48 8b 40 30          	mov    0x30(%rax),%rax
140e034bc:	ff 15 5e 05 18 00    	call   *0x18055e(%rip)        # 0x140f83a20
140e034c2:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e034c7:	66 3b c8             	cmp    %ax,%cx
140e034ca:	74 06                	je     0x140e034d2
140e034cc:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e034d0:	eb 03                	jmp    0x140e034d5
140e034d2:	48 89 1f             	mov    %rbx,(%rdi)
140e034d5:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e034db:	44 88 47 08          	mov    %r8b,0x8(%rdi)
140e034df:	41 8a c8             	mov    %r8b,%cl
140e034e2:	eb 06                	jmp    0x140e034ea
140e034e4:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e034ea:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e034ee:	66 3b c6             	cmp    %si,%ax
140e034f1:	75 61                	jne    0x140e03554
140e034f3:	41 c6 04 24 2b       	movb   $0x2b,(%r12)
140e034f8:	49 ff c4             	inc    %r12
140e034fb:	48 8b 0f             	mov    (%rdi),%rcx
140e034fe:	48 85 c9             	test   %rcx,%rcx
140e03501:	74 41                	je     0x140e03544
140e03503:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e03507:	48 39 18             	cmp    %rbx,(%rax)
140e0350a:	74 1d                	je     0x140e03529
140e0350c:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e03510:	39 18                	cmp    %ebx,(%rax)
140e03512:	7e 15                	jle    0x140e03529
140e03514:	ff 08                	decl   (%rax)
140e03516:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140e0351a:	48 8b 11             	mov    (%rcx),%rdx
140e0351d:	48 8d 42 02          	lea    0x2(%rdx),%rax
140e03521:	48 89 01             	mov    %rax,(%rcx)
140e03524:	0f b7 02             	movzwl (%rdx),%eax
140e03527:	eb 0d                	jmp    0x140e03536
140e03529:	48 8b 01             	mov    (%rcx),%rax
140e0352c:	48 8b 40 38          	mov    0x38(%rax),%rax
140e03530:	ff 15 ea 04 18 00    	call   *0x1804ea(%rip)        # 0x140f83a20
140e03536:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e0353b:	66 3b c8             	cmp    %ax,%cx
140e0353e:	74 04                	je     0x140e03544
140e03540:	8a c3                	mov    %bl,%al
140e03542:	eb 08                	jmp    0x140e0354c
140e03544:	48 89 1f             	mov    %rbx,(%rdi)
140e03547:	b8 01 00 00 00       	mov    $0x1,%eax
140e0354c:	88 47 08             	mov    %al,0x8(%rdi)
140e0354f:	e9 b9 00 00 00       	jmp    0x140e0360d
140e03554:	84 c9                	test   %cl,%cl
140e03556:	75 4f                	jne    0x140e035a7
140e03558:	48 8b 0f             	mov    (%rdi),%rcx
140e0355b:	48 85 c9             	test   %rcx,%rcx
140e0355e:	74 36                	je     0x140e03596
140e03560:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e03564:	48 8b 10             	mov    (%rax),%rdx
140e03567:	48 85 d2             	test   %rdx,%rdx
140e0356a:	74 0d                	je     0x140e03579
140e0356c:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e03570:	39 18                	cmp    %ebx,(%rax)
140e03572:	7e 05                	jle    0x140e03579
140e03574:	0f b7 02             	movzwl (%rdx),%eax
140e03577:	eb 0d                	jmp    0x140e03586
140e03579:	48 8b 01             	mov    (%rcx),%rax
140e0357c:	48 8b 40 30          	mov    0x30(%rax),%rax
140e03580:	ff 15 9a 04 18 00    	call   *0x18049a(%rip)        # 0x140f83a20
140e03586:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140e0358b:	66 3b c8             	cmp    %ax,%cx
140e0358e:	74 06                	je     0x140e03596
140e03590:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e03594:	eb 07                	jmp    0x140e0359d
140e03596:	48 89 1f             	mov    %rbx,(%rdi)
140e03599:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
140e0359d:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e035a3:	44 88 47 08          	mov    %r8b,0x8(%rdi)
140e035a7:	66 3b 44 24 36       	cmp    0x36(%rsp),%ax