140879191:	48 ff c2             	inc    %rdx
140879194:	45 85 c0             	test   %r8d,%r8d
140879197:	7f dc                	jg     0x140879175
140879199:	41 ff c8             	dec    %r8d
14087919c:	45 85 c0             	test   %r8d,%r8d
14087919f:	79 03                	jns    0x1408791a4
1408791a1:	33 c0                	xor    %eax,%eax
1408791a3:	c3                   	ret
1408791a4:	0f b6 02             	movzbl (%rdx),%eax
1408791a7:	42 0f b6 0c 10       	movzbl (%rax,%r10,1),%ecx
1408791ac:	41 0f b6 01          	movzbl (%r9),%eax
1408791b0:	42 0f b6 04 10       	movzbl (%rax,%r10,1),%eax
1408791b5:	2b c1                	sub    %ecx,%eax
1408791b7:	c3                   	ret
1408791b8:	cc                   	int3
1408791b9:	cc                   	int3
1408791ba:	cc                   	int3
1408791bb:	cc                   	int3
1408791bc:	cc                   	int3
1408791bd:	cc                   	int3
1408791be:	cc                   	int3
1408791bf:	cc                   	int3
1408791c0:	41 b9 5b 00 00 00    	mov    $0x5b,%r9d
1408791c6:	4c 8d 05 8b d1 7c 00 	lea    0x7cd18b(%rip),%r8        # 0x141046358
1408791cd:	e9 7e 2a 04 00       	jmp    0x1408bbc50
1408791d2:	cc                   	int3
1408791d3:	cc                   	int3
1408791d4:	cc                   	int3
1408791d5:	cc                   	int3
1408791d6:	cc                   	int3
1408791d7:	cc                   	int3
1408791d8:	cc                   	int3
1408791d9:	cc                   	int3
1408791da:	cc                   	int3
1408791db:	cc                   	int3
1408791dc:	cc                   	int3
1408791dd:	cc                   	int3
1408791de:	cc                   	int3
1408791df:	cc                   	int3
1408791e0:	40 55                	rex push %rbp
1408791e2:	41 54                	push   %r12
1408791e4:	41 55                	push   %r13
1408791e6:	41 56                	push   %r14
1408791e8:	41 57                	push   %r15
1408791ea:	48 83 ec 30          	sub    $0x30,%rsp
1408791ee:	4d 8b 48 08          	mov    0x8(%r8),%r9
1408791f2:	4c 8d 25 87 ee 7c 00 	lea    0x7cee87(%rip),%r12        # 0x141048080
1408791f9:	45 33 ff             	xor    %r15d,%r15d
1408791fc:	4d 8b f0             	mov    %r8,%r14
1408791ff:	8b ea                	mov    %edx,%ebp
140879201:	4c 8b e9             	mov    %rcx,%r13
140879204:	45 0f b7 51 14       	movzwl 0x14(%r9),%r10d
140879209:	41 8b c2             	mov    %r10d,%eax
14087920c:	83 e0 3f             	and    $0x3f,%eax
14087920f:	42 80 3c 20 05       	cmpb   $0x5,(%rax,%r12,1)
140879214:	0f 84 d1 02 00 00    	je     0x1408794eb
14087921a:	83 fa 03             	cmp    $0x3,%edx
14087921d:	75 16                	jne    0x140879235
14087921f:	49 8b 40 10          	mov    0x10(%r8),%rax
140879223:	0f b7 48 14          	movzwl 0x14(%rax),%ecx
140879227:	83 e1 3f             	and    $0x3f,%ecx
14087922a:	42 80 3c 21 05       	cmpb   $0x5,(%rcx,%r12,1)
14087922f:	0f 84 b6 02 00 00    	je     0x1408794eb
140879235:	49 8b 00             	mov    (%r8),%rax
140879238:	48 89 7c 24 70       	mov    %rdi,0x70(%rsp)
14087923d:	0f b7 48 14          	movzwl 0x14(%rax),%ecx
140879241:	83 e1 3f             	and    $0x3f,%ecx
140879244:	41 0f b7 c2          	movzwl %r10w,%eax
140879248:	46 0f b6 24 21       	movzbl (%rcx,%r12,1),%r12d
14087924d:	a8 24                	test   $0x24,%al
14087924f:	74 05                	je     0x140879256
140879251:	49 8b 01             	mov    (%r9),%rax
140879254:	eb 26                	jmp    0x14087927c
140879256:	a8 08                	test   $0x8,%al
140879258:	74 0c                	je     0x140879266
14087925a:	f2 41 0f 10 01       	movsd  (%r9),%xmm0
14087925f:	e8 bc 61 02 00       	call   0x14089f420
140879264:	eb 16                	jmp    0x14087927c
140879266:	a8 12                	test   $0x12,%al
140879268:	74 10                	je     0x14087927a
14087926a:	4d 39 79 08          	cmp    %r15,0x8(%r9)
14087926e:	74 0a                	je     0x14087927a
140879270:	49 8b c9             	mov    %r9,%rcx
140879273:	e8 38 a7 03 00       	call   0x1408b39b0
140879278:	eb 02                	jmp    0x14087927c
14087927a:	33 c0                	xor    %eax,%eax
14087927c:	49 8b 0e             	mov    (%r14),%rcx
14087927f:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140879284:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
140879289:	48 63 f8             	movslq %eax,%rdi
14087928c:	41 80 fc 04          	cmp    $0x4,%r12b
140879290:	75 4f                	jne    0x1408792e1
140879292:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
140879296:	a8 02                	test   $0x2,%al
140879298:	74 0b                	je     0x1408792a5
14087929a:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
14087929e:	75 05                	jne    0x1408792a5
1408792a0:	8b 71 10             	mov    0x10(%rcx),%esi
1408792a3:	eb 23                	jmp    0x1408792c8
1408792a5:	a8 10                	test   $0x10,%al
1408792a7:	74 0e                	je     0x1408792b7
1408792a9:	66 0f ba e0 0a       	bt     $0xa,%ax
1408792ae:	8b 71 10             	mov    0x10(%rcx),%esi
1408792b1:	73 15                	jae    0x1408792c8
1408792b3:	03 31                	add    (%rcx),%esi
1408792b5:	eb 11                	jmp    0x1408792c8
1408792b7:	a8 01                	test   $0x1,%al
1408792b9:	74 04                	je     0x1408792bf
1408792bb:	33 f6                	xor    %esi,%esi
1408792bd:	eb 09                	jmp    0x1408792c8
1408792bf:	b2 01                	mov    $0x1,%dl
1408792c1:	e8 0a e1 0a 00       	call   0x1409273d0
1408792c6:	8b f0                	mov    %eax,%esi
1408792c8:	49 8b 0e             	mov    (%r14),%rcx
1408792cb:	e8 d0 5e ff ff       	call   0x14086f1a0
1408792d0:	48 8b d8             	mov    %rax,%rbx
1408792d3:	48 85 c0             	test   %rax,%rax
1408792d6:	0f 84 00 02 00 00    	je     0x1408794dc
1408792dc:	e9 85 00 00 00       	jmp    0x140879366
1408792e1:	48 85 c9             	test   %rcx,%rcx
1408792e4:	0f 84 f2 01 00 00    	je     0x1408794dc
1408792ea:	0f b7 51 14          	movzwl 0x14(%rcx),%edx
1408792ee:	41 b8 02 02 00 00    	mov    $0x202,%r8d
1408792f4:	0f b7 c2             	movzwl %dx,%eax
1408792f7:	66 41 23 c0          	and    %r8w,%ax
1408792fb:	66 41 3b c0          	cmp    %r8w,%ax
1408792ff:	75 0c                	jne    0x14087930d
140879301:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
140879305:	75 06                	jne    0x14087930d
140879307:	48 8b 59 08          	mov    0x8(%rcx),%rbx
14087930b:	eb 13                	jmp    0x140879320
14087930d:	f6 c2 01             	test   $0x1,%dl
140879310:	0f 85 c6 01 00 00    	jne    0x1408794dc
140879316:	b2 01                	mov    $0x1,%dl
140879318:	e8 33 ea 0a 00       	call   0x140927d50
14087931d:	48 8b d8             	mov    %rax,%rbx
140879320:	48 85 db             	test   %rbx,%rbx
140879323:	0f 84 b3 01 00 00    	je     0x1408794dc
140879329:	33 f6                	xor    %esi,%esi
14087932b:	48 85 ff             	test   %rdi,%rdi
14087932e:	79 36                	jns    0x140879366
140879330:	0f b6 03             	movzbl (%rbx),%eax
140879333:	48 8b cb             	mov    %rbx,%rcx
140879336:	84 c0                	test   %al,%al
140879338:	74 2c                	je     0x140879366
14087933a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140879340:	48 ff c1             	inc    %rcx
140879343:	3c c0                	cmp    $0xc0,%al
140879345:	72 16                	jb     0x14087935d
140879347:	0f b6 01             	movzbl (%rcx),%eax
14087934a:	24 c0                	and    $0xc0,%al
14087934c:	3c 80                	cmp    $0x80,%al
14087934e:	75 0d                	jne    0x14087935d
140879350:	0f b6 41 01          	movzbl 0x1(%rcx),%eax
140879354:	48 ff c1             	inc    %rcx
140879357:	24 c0                	and    $0xc0,%al
140879359:	3c 80                	cmp    $0x80,%al
14087935b:	74 f3                	je     0x140879350
14087935d:	0f b6 01             	movzbl (%rcx),%eax
140879360:	ff c6                	inc    %esi
140879362:	84 c0                	test   %al,%al
140879364:	75 da                	jne    0x140879340
140879366:	83 fd 03             	cmp    $0x3,%ebp
140879369:	75 51                	jne    0x1408793bc
14087936b:	49 8b 4e 10          	mov    0x10(%r14),%rcx
14087936f:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
140879373:	a8 24                	test   $0x24,%al
140879375:	74 05                	je     0x14087937c
140879377:	48 8b 11             	mov    (%rcx),%rdx
14087937a:	eb 28                	jmp    0x1408793a4
14087937c:	a8 08                	test   $0x8,%al
14087937e:	74 0e                	je     0x14087938e
140879380:	f2 0f 10 01          	movsd  (%rcx),%xmm0
140879384:	e8 97 60 02 00       	call   0x14089f420
140879389:	48 8b d0             	mov    %rax,%rdx
14087938c:	eb 16                	jmp    0x1408793a4
14087938e:	a8 12                	test   $0x12,%al
140879390:	74 10                	je     0x1408793a2
140879392:	4c 39 79 08          	cmp    %r15,0x8(%rcx)
140879396:	74 0a                	je     0x1408793a2
140879398:	e8 13 a6 03 00       	call   0x1408b39b0
14087939d:	48 8b d0             	mov    %rax,%rdx
1408793a0:	eb 02                	jmp    0x1408793a4
1408793a2:	33 d2                	xor    %edx,%edx
1408793a4:	48 63 c2             	movslq %edx,%rax
1408793a7:	44 8b fa             	mov    %edx,%r15d
1408793aa:	48 8b c8             	mov    %rax,%rcx
1408793ad:	41 c1 ef 1f          	shr    $0x1f,%r15d
1408793b1:	48 f7 d9             	neg    %rcx
1408793b4:	85 d2                	test   %edx,%edx
1408793b6:	48 0f 49 c8          	cmovns %rax,%rcx
1408793ba:	eb 0f                	jmp    0x1408793cb
1408793bc:	49 8b 45 00          	mov    0x0(%r13),%rax
1408793c0:	48 8b 48 18          	mov    0x18(%rax),%rcx
1408793c4:	48 63 89 88 00 00 00 	movslq 0x88(%rcx),%rcx
1408793cb:	48 85 ff             	test   %rdi,%rdi
1408793ce:	79 19                	jns    0x1408793e9
1408793d0:	48 63 c6             	movslq %esi,%rax
1408793d3:	48 03 f8             	add    %rax,%rdi
1408793d6:	79 20                	jns    0x1408793f8
1408793d8:	48 8d 04 39          	lea    (%rcx,%rdi,1),%rax
1408793dc:	33 c9                	xor    %ecx,%ecx
1408793de:	33 ff                	xor    %edi,%edi
1408793e0:	48 85 c0             	test   %rax,%rax
1408793e3:	48 0f 49 c8          	cmovns %rax,%rcx
1408793e7:	eb 0f                	jmp    0x1408793f8
1408793e9:	7e 05                	jle    0x1408793f0
1408793eb:	48 ff cf             	dec    %rdi
1408793ee:	eb 08                	jmp    0x1408793f8
1408793f0:	48 85 c9             	test   %rcx,%rcx
1408793f3:	7e 03                	jle    0x1408793f8
1408793f5:	48 ff c9             	dec    %rcx
1408793f8:	48 8b c7             	mov    %rdi,%rax
1408793fb:	45 85 ff             	test   %r15d,%r15d
1408793fe:	74 0a                	je     0x14087940a
140879400:	48 2b f9             	sub    %rcx,%rdi
140879403:	79 05                	jns    0x14087940a
140879405:	48 8b c8             	mov    %rax,%rcx
140879408:	33 ff                	xor    %edi,%edi
14087940a:	41 80 fc 04          	cmp    $0x4,%r12b
14087940e:	0f 84 97 00 00 00    	je     0x1408794ab
140879414:	80 3b 00             	cmpb   $0x0,(%rbx)
140879417:	74 3c                	je     0x140879455
140879419:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140879420:	48 85 ff             	test   %rdi,%rdi
140879423:	74 30                	je     0x140879455
140879425:	0f b6 03             	movzbl (%rbx),%eax
140879428:	48 ff c3             	inc    %rbx
14087942b:	3c c0                	cmp    $0xc0,%al
14087942d:	72 1e                	jb     0x14087944d
14087942f:	0f b6 03             	movzbl (%rbx),%eax
140879432:	24 c0                	and    $0xc0,%al
140879434:	3c 80                	cmp    $0x80,%al
140879436:	75 15                	jne    0x14087944d
140879438:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14087943f:	00
140879440:	0f b6 43 01          	movzbl 0x1(%rbx),%eax
140879444:	48 ff c3             	inc    %rbx
140879447:	24 c0                	and    $0xc0,%al
140879449:	3c 80                	cmp    $0x80,%al
14087944b:	74 f3                	je     0x140879440
14087944d:	48 ff cf             	dec    %rdi
140879450:	80 3b 00             	cmpb   $0x0,(%rbx)
140879453:	75 cb                	jne    0x140879420
140879455:	80 3b 00             	cmpb   $0x0,(%rbx)
140879458:	4c 8b c3             	mov    %rbx,%r8
14087945b:	74 3a                	je     0x140879497
14087945d:	0f 1f 00             	nopl   (%rax)
140879460:	48 85 c9             	test   %rcx,%rcx
140879463:	74 32                	je     0x140879497
140879465:	41 0f b6 00          	movzbl (%r8),%eax
140879469:	49 ff c0             	inc    %r8
14087946c:	3c c0                	cmp    $0xc0,%al
14087946e:	72 1e                	jb     0x14087948e
140879470:	41 0f b6 00          	movzbl (%r8),%eax
140879474:	24 c0                	and    $0xc0,%al
140879476:	3c 80                	cmp    $0x80,%al
140879478:	75 14                	jne    0x14087948e
14087947a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140879480:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140879485:	49 ff c0             	inc    %r8
140879488:	24 c0                	and    $0xc0,%al
14087948a:	3c 80                	cmp    $0x80,%al
14087948c:	74 f2                	je     0x140879480
14087948e:	48 ff c9             	dec    %rcx
140879491:	41 80 38 00          	cmpb   $0x0,(%r8)
140879495:	75 c9                	jne    0x140879460
140879497:	4c 2b c3             	sub    %rbx,%r8
14087949a:	41 b1 01             	mov    $0x1,%r9b
14087949d:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
1408794a4:	77 5f                	ja     0x140879505
1408794a6:	48 8b d3             	mov    %rbx,%rdx
1408794a9:	eb 20                	jmp    0x1408794cb
1408794ab:	48 63 d6             	movslq %esi,%rdx
1408794ae:	48 8d 04 39          	lea    (%rcx,%rdi,1),%rax
1408794b2:	48 3b c2             	cmp    %rdx,%rax
1408794b5:	7e 42                	jle    0x1408794f9
1408794b7:	48 8b ca             	mov    %rdx,%rcx
1408794ba:	48 2b cf             	sub    %rdi,%rcx
1408794bd:	79 3a                	jns    0x1408794f9
1408794bf:	33 c9                	xor    %ecx,%ecx
1408794c1:	48 8d 14 3b          	lea    (%rbx,%rdi,1),%rdx
1408794c5:	45 33 c9             	xor    %r9d,%r9d
1408794c8:	44 8b c1             	mov    %ecx,%r8d
1408794cb:	49 8b cd             	mov    %r13,%rcx
1408794ce:	48 c7 44 24 20 ff ff 	movq   $0xffffffffffffffff,0x20(%rsp)
1408794d5:	ff ff
1408794d7:	e8 64 d8 04 00       	call   0x1408c6d40
1408794dc:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1408794e1:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1408794e6:	48 8b 7c 24 70       	mov    0x70(%rsp),%rdi
1408794eb:	48 83 c4 30          	add    $0x30,%rsp
1408794ef:	41 5f                	pop    %r15
1408794f1:	41 5e                	pop    %r14
1408794f3:	41 5d                	pop    %r13
1408794f5:	41 5c                	pop    %r12
1408794f7:	5d                   	pop    %rbp
1408794f8:	c3                   	ret
1408794f9:	48 81 f9 ff ff ff 7f 	cmp    $0x7fffffff,%rcx
140879500:	76 bf                	jbe    0x1408794c1
140879502:	41 b1 01             	mov    $0x1,%r9b
140879505:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140879509:	48 8d 15 58 45 7d 00 	lea    0x7d4558(%rip),%rdx        # 0x14104da68
140879510:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
140879517:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
14087951e:	00 00
140879520:	41 c7 45 24 12 00 00 	movl   $0x12,0x24(%r13)
140879527:	00
140879528:	e8 f3 a0 09 00       	call   0x140913620
14087952d:	eb ad                	jmp    0x1408794dc
14087952f:	cc                   	int3
140879530:	45 8b c8             	mov    %r8d,%r9d
140879533:	4c 8d 05 22 ce 7c 00 	lea    0x7cce22(%rip),%r8        # 0x14104635c
14087953a:	e9 11 27 04 00       	jmp    0x1408bbc50
14087953f:	cc                   	int3
140879540:	4c 8b dc             	mov    %rsp,%r11
140879543:	49 89 53 10          	mov    %rdx,0x10(%r11)
140879547:	4d 89 43 18          	mov    %r8,0x18(%r11)
14087954b:	4d 89 4b 20          	mov    %r9,0x20(%r11)
14087954f:	53                   	push   %rbx
140879550:	48 81 ec 30 01 00 00 	sub    $0x130,%rsp
140879557:	48 8b 05 a2 f9 b3 00 	mov    0xb3f9a2(%rip),%rax        # 0x1413b8f00
14087955e:	48 33 c4             	xor    %rsp,%rax
140879561:	48 89 84 24 20 01 00 	mov    %rax,0x120(%rsp)
140879568:	00
140879569:	48 83 3d 37 42 b3 00 	cmpq   $0x0,0xb34237(%rip)        # 0x1413ad7a8
140879570:	00
140879571:	8b d9                	mov    %ecx,%ebx
140879573:	74 7c                	je     0x1408795f1
140879575:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14087957a:	48 c7 44 24 30 d2 00 	movq   $0xd2,0x30(%rsp)
140879581:	00 00
140879583:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140879588:	4d 8d 43 18          	lea    0x18(%r11),%r8
14087958c:	33 c0                	xor    %eax,%eax
14087958e:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140879593:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140879598:	89 44 24 38          	mov    %eax,0x38(%rsp)
14087959c:	66 89 44 24 3c       	mov    %ax,0x3c(%rsp)
1408795a1:	e8 7a a5 ff ff       	call   0x140873b20
1408795a6:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
1408795ab:	4d 85 c0             	test   %r8,%r8
1408795ae:	74 2b                	je     0x1408795db
1408795b0:	8b 44 24 38          	mov    0x38(%rsp),%eax
1408795b4:	42 c6 04 00 00       	movb   $0x0,(%rax,%r8,1)
1408795b9:	83 7c 24 34 00       	cmpl   $0x0,0x34(%rsp)
1408795be:	76 16                	jbe    0x1408795d6
1408795c0:	f6 44 24 3d 04       	testb  $0x4,0x3d(%rsp)
1408795c5:	75 0f                	jne    0x1408795d6
1408795c7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx