14004030c:	0f b6 1a             	movzbl (%rdx),%ebx
14004030f:	33 d2                	xor    %edx,%edx
140040311:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140040316:	e8 a5 60 ff ff       	call   0x1400363c0
14004031b:	88 5c 24 50          	mov    %bl,0x50(%rsp)
14004031f:	4c 8b 46 20          	mov    0x20(%rsi),%r8
140040323:	41 0f b6 10          	movzbl (%r8),%edx
140040327:	41 c6 00 04          	movb   $0x4,(%r8)
14004032b:	88 54 24 20          	mov    %dl,0x20(%rsp)
14004032f:	49 8b 40 08          	mov    0x8(%r8),%rax
140040333:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140040338:	49 89 48 08          	mov    %rcx,0x8(%r8)
14004033c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140040341:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140040346:	e8 75 60 ff ff       	call   0x1400363c0
14004034b:	90                   	nop
14004034c:	48 8b 46 20          	mov    0x20(%rsi),%rax
140040350:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140040355:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14004035a:	48 83 c4 30          	add    $0x30,%rsp
14004035e:	41 5e                	pop    %r14
140040360:	5f                   	pop    %rdi
140040361:	5e                   	pop    %rsi
140040362:	c3                   	ret
140040363:	cc                   	int3
140040364:	cc                   	int3
140040365:	cc                   	int3
140040366:	cc                   	int3
140040367:	cc                   	int3
140040368:	cc                   	int3
140040369:	cc                   	int3
14004036a:	cc                   	int3
14004036b:	cc                   	int3
14004036c:	cc                   	int3
14004036d:	cc                   	int3
14004036e:	cc                   	int3
14004036f:	cc                   	int3
140040370:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140040375:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14004037a:	55                   	push   %rbp
14004037b:	57                   	push   %rdi
14004037c:	41 56                	push   %r14
14004037e:	48 8b ec             	mov    %rsp,%rbp
140040381:	48 83 ec 50          	sub    $0x50,%rsp
140040385:	48 8b 05 b4 7c 03 00 	mov    0x37cb4(%rip),%rax        # 0x140078040
14004038c:	48 33 c4             	xor    %rsp,%rax
14004038f:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140040393:	4d 8b d0             	mov    %r8,%r10
140040396:	48 8b f2             	mov    %rdx,%rsi
140040399:	4c 8b f1             	mov    %rcx,%r14
14004039c:	4c 8b 49 20          	mov    0x20(%rcx),%r9
1400403a0:	48 8b 51 38          	mov    0x38(%rcx),%rdx
1400403a4:	48 85 d2             	test   %rdx,%rdx
1400403a7:	79 1f                	jns    0x1400403c8
1400403a9:	48 8b c2             	mov    %rdx,%rax
1400403ac:	48 f7 d8             	neg    %rax
1400403af:	74 17                	je     0x1400403c8
1400403b1:	48 8b c2             	mov    %rdx,%rax
1400403b4:	48 f7 d0             	not    %rax
1400403b7:	48 c1 e8 05          	shr    $0x5,%rax
1400403bb:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400403c2:	00
1400403c3:	4c 2b c8             	sub    %rax,%r9
1400403c6:	eb 0b                	jmp    0x1400403d3
1400403c8:	48 8b c2             	mov    %rdx,%rax
1400403cb:	48 c1 e8 05          	shr    $0x5,%rax
1400403cf:	4d 8d 0c 81          	lea    (%r9,%rax,4),%r9
1400403d3:	83 e2 1f             	and    $0x1f,%edx
1400403d6:	4c 8d 42 ff          	lea    -0x1(%rdx),%r8
1400403da:	48 83 fa 01          	cmp    $0x1,%rdx
1400403de:	73 17                	jae    0x1400403f7
1400403e0:	49 8b c0             	mov    %r8,%rax
1400403e3:	48 f7 d0             	not    %rax
1400403e6:	48 c1 e8 05          	shr    $0x5,%rax
1400403ea:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400403f1:	00
1400403f2:	4c 2b c8             	sub    %rax,%r9
1400403f5:	eb 0b                	jmp    0x140040402
1400403f7:	49 8b c8             	mov    %r8,%rcx
1400403fa:	48 c1 e9 05          	shr    $0x5,%rcx
1400403fe:	4d 8d 0c 89          	lea    (%r9,%rcx,4),%r9
140040402:	41 0f b6 c8          	movzbl %r8b,%ecx
140040406:	80 e1 1f             	and    $0x1f,%cl
140040409:	0f b6 d1             	movzbl %cl,%edx
14004040c:	41 8b 09             	mov    (%r9),%ecx
14004040f:	0f a3 d1             	bt     %edx,%ecx
140040412:	72 10                	jb     0x140040424
140040414:	c6 06 00             	movb   $0x0,(%rsi)
140040417:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14004041e:	00
14004041f:	e9 df 01 00 00       	jmp    0x140040603
140040424:	41 0f b6 12          	movzbl (%r10),%edx
140040428:	88 55 e0             	mov    %dl,-0x20(%rbp)
14004042b:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
14004042f:	e8 7c 69 ff ff       	call   0x140036db0
140040434:	90                   	nop
140040435:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140040439:	49 39 4e 08          	cmp    %rcx,0x8(%r14)
14004043d:	75 52                	jne    0x140040491
14004043f:	0f b6 45 e0          	movzbl -0x20(%rbp),%eax
140040443:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
140040447:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
14004044b:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
140040452:	00
140040453:	49 8b 0e             	mov    (%r14),%rcx
140040456:	0f b6 11             	movzbl (%rcx),%edx
140040459:	88 01                	mov    %al,(%rcx)
14004045b:	88 55 d0             	mov    %dl,-0x30(%rbp)
14004045e:	48 8b 41 08          	mov    0x8(%rcx),%rax
140040462:	4c 89 41 08          	mov    %r8,0x8(%rcx)
140040466:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14004046a:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
14004046e:	e8 4d 5f ff ff       	call   0x1400363c0
140040473:	90                   	nop
140040474:	49 8b 06             	mov    (%r14),%rax
140040477:	c6 06 01             	movb   $0x1,(%rsi)
14004047a:	48 89 46 08          	mov    %rax,0x8(%rsi)
14004047e:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
140040482:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140040486:	e8 35 5f ff ff       	call   0x1400363c0
14004048b:	90                   	nop
14004048c:	e9 72 01 00 00       	jmp    0x140040603
140040491:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140040495:	48 85 c9             	test   %rcx,%rcx
140040498:	75 19                	jne    0x1400404b3
14004049a:	88 0e                	mov    %cl,(%rsi)
14004049c:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
1400404a0:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
1400404a4:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
1400404a8:	e8 13 5f ff ff       	call   0x1400363c0
1400404ad:	90                   	nop
1400404ae:	e9 50 01 00 00       	jmp    0x140040603
1400404b3:	80 39 02             	cmpb   $0x2,(%rcx)
1400404b6:	75 66                	jne    0x14004051e
1400404b8:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400404bc:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400404c0:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
1400404c4:	74 21                	je     0x1400404e7
1400404c6:	0f b6 45 e0          	movzbl -0x20(%rbp),%eax
1400404ca:	88 02                	mov    %al,(%rdx)
1400404cc:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
1400404d0:	48 89 42 08          	mov    %rax,0x8(%rdx)
1400404d4:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
1400404d8:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
1400404df:	00
1400404e0:	48 83 41 08 10       	addq   $0x10,0x8(%rcx)
1400404e5:	eb 09                	jmp    0x1400404f0
1400404e7:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
1400404eb:	e8 70 b9 ff ff       	call   0x14003be60
1400404f0:	49 8b 46 10          	mov    0x10(%r14),%rax
1400404f4:	48 8b 40 f8          	mov    -0x8(%rax),%rax
1400404f8:	48 8b 48 08          	mov    0x8(%rax),%rcx
1400404fc:	48 8b 41 08          	mov    0x8(%rcx),%rax
140040500:	48 83 e8 10          	sub    $0x10,%rax
140040504:	c6 06 01             	movb   $0x1,(%rsi)
140040507:	48 89 46 08          	mov    %rax,0x8(%rsi)
14004050b:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
14004050f:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140040513:	e8 a8 5e ff ff       	call   0x1400363c0
140040518:	90                   	nop
140040519:	e9 e5 00 00 00       	jmp    0x140040603
14004051e:	49 8b 5e 40          	mov    0x40(%r14),%rbx
140040522:	49 8b 4e 58          	mov    0x58(%r14),%rcx
140040526:	48 85 c9             	test   %rcx,%rcx
140040529:	79 1f                	jns    0x14004054a
14004052b:	48 8b c1             	mov    %rcx,%rax
14004052e:	48 f7 d8             	neg    %rax
140040531:	74 17                	je     0x14004054a
140040533:	48 8b c1             	mov    %rcx,%rax
140040536:	48 f7 d0             	not    %rax
140040539:	48 c1 e8 05          	shr    $0x5,%rax
14004053d:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140040544:	00
140040545:	48 2b d8             	sub    %rax,%rbx
140040548:	eb 0b                	jmp    0x140040555
14004054a:	48 8b c1             	mov    %rcx,%rax
14004054d:	48 c1 e8 05          	shr    $0x5,%rax
140040551:	48 8d 1c 83          	lea    (%rbx,%rax,4),%rbx
140040555:	83 e1 1f             	and    $0x1f,%ecx
140040558:	48 8d 51 ff          	lea    -0x1(%rcx),%rdx
14004055c:	48 8b c2             	mov    %rdx,%rax
14004055f:	48 83 f9 01          	cmp    $0x1,%rcx
140040563:	73 14                	jae    0x140040579
140040565:	48 f7 d0             	not    %rax
140040568:	48 c1 e8 05          	shr    $0x5,%rax
14004056c:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140040573:	00
140040574:	48 2b d8             	sub    %rax,%rbx
140040577:	eb 08                	jmp    0x140040581
140040579:	48 c1 e8 05          	shr    $0x5,%rax
14004057d:	48 8d 1c 83          	lea    (%rbx,%rax,4),%rbx
140040581:	0f b6 c2             	movzbl %dl,%eax
140040584:	24 1f                	and    $0x1f,%al
140040586:	0f b6 f8             	movzbl %al,%edi
140040589:	8b 1b                	mov    (%rbx),%ebx
14004058b:	49 8d 4e 40          	lea    0x40(%r14),%rcx
14004058f:	e8 1c e9 ff ff       	call   0x14003eeb0
140040594:	0f a3 fb             	bt     %edi,%ebx
140040597:	72 1b                	jb     0x1400405b4
140040599:	c6 06 00             	movb   $0x0,(%rsi)
14004059c:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
1400405a3:	00
1400405a4:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
1400405a8:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
1400405ac:	e8 0f 5e ff ff       	call   0x1400363c0
1400405b1:	90                   	nop
1400405b2:	eb 4f                	jmp    0x140040603
1400405b4:	0f b6 45 e0          	movzbl -0x20(%rbp),%eax
1400405b8:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
1400405bc:	c6 45 e0 00          	movb   $0x0,-0x20(%rbp)
1400405c0:	48 c7 45 e8 00 00 00 	movq   $0x0,-0x18(%rbp)
1400405c7:	00
1400405c8:	49 8b 4e 60          	mov    0x60(%r14),%rcx
1400405cc:	0f b6 11             	movzbl (%rcx),%edx
1400405cf:	88 01                	mov    %al,(%rcx)
1400405d1:	88 55 d0             	mov    %dl,-0x30(%rbp)
1400405d4:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400405d8:	4c 89 41 08          	mov    %r8,0x8(%rcx)
1400405dc:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
1400405e0:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1400405e4:	e8 d7 5d ff ff       	call   0x1400363c0
1400405e9:	90                   	nop
1400405ea:	c6 06 01             	movb   $0x1,(%rsi)
1400405ed:	49 8b 46 60          	mov    0x60(%r14),%rax
1400405f1:	48 89 46 08          	mov    %rax,0x8(%rsi)
1400405f5:	0f b6 55 e0          	movzbl -0x20(%rbp),%edx
1400405f9:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
1400405fd:	e8 be 5d ff ff       	call   0x1400363c0
140040602:	90                   	nop
140040603:	48 8b c6             	mov    %rsi,%rax
140040606:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
14004060a:	48 33 cc             	xor    %rsp,%rcx
14004060d:	e8 ee 91 01 00       	call   0x140059800
140040612:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140040617:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14004061b:	49 8b 73 38          	mov    0x38(%r11),%rsi
14004061f:	49 8b e3             	mov    %r11,%rsp
140040622:	41 5e                	pop    %r14
140040624:	5f                   	pop    %rdi
140040625:	5d                   	pop    %rbp
140040626:	c3                   	ret
140040627:	cc                   	int3
140040628:	cc                   	int3
140040629:	cc                   	int3
14004062a:	cc                   	int3
14004062b:	cc                   	int3
14004062c:	cc                   	int3
14004062d:	cc                   	int3
14004062e:	cc                   	int3
14004062f:	cc                   	int3
140040630:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140040635:	55                   	push   %rbp
140040636:	56                   	push   %rsi
140040637:	57                   	push   %rdi
140040638:	41 56                	push   %r14
14004063a:	41 57                	push   %r15
14004063c:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
140040643:	48 8b f2             	mov    %rdx,%rsi
140040646:	48 8b d9             	mov    %rcx,%rbx
140040649:	49 3b 08             	cmp    (%r8),%rcx
14004064c:	0f 85 c1 02 00 00    	jne    0x140040913
140040652:	48 89 0a             	mov    %rcx,(%rdx)
140040655:	45 33 ff             	xor    %r15d,%r15d
140040658:	4c 89 7a 08          	mov    %r15,0x8(%rdx)
14004065c:	4c 89 7a 10          	mov    %r15,0x10(%rdx)
140040660:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140040667:	00 00 80
14004066a:	48 89 42 18          	mov    %rax,0x18(%rdx)
14004066e:	48 8b 12             	mov    (%rdx),%rdx
140040671:	0f b6 02             	movzbl (%rdx),%eax
140040674:	4c 8d 0d 85 f9 fb ff 	lea    -0x4067b(%rip),%r9        # 0x140000000
14004067b:	83 f8 09             	cmp    $0x9,%eax
14004067e:	77 28                	ja     0x1400406a8
140040680:	41 8b 8c 81 4c 09 04 	mov    0x4094c(%r9,%rax,4),%ecx
140040687:	00
140040688:	49 03 c9             	add    %r9,%rcx
14004068b:	ff e1                	jmp    *%rcx
14004068d:	48 8b 42 08          	mov    0x8(%rdx),%rax
140040691:	48 8b 00             	mov    (%rax),%rax
140040694:	48 89 46 08          	mov    %rax,0x8(%rsi)
140040698:	eb 16                	jmp    0x1400406b0
14004069a:	48 8b 42 08          	mov    0x8(%rdx),%rax
14004069e:	48 8b 40 08          	mov    0x8(%rax),%rax
1400406a2:	48 89 46 10          	mov    %rax,0x10(%rsi)
1400406a6:	eb 08                	jmp    0x1400406b0
1400406a8:	48 c7 46 18 01 00 00 	movq   $0x1,0x18(%rsi)
1400406af:	00
1400406b0:	0f b6 13             	movzbl (%rbx),%edx
1400406b3:	83 fa 09             	cmp    $0x9,%edx
1400406b6:	0f 87 16 02 00 00    	ja     0x1400408d2
1400406bc:	41 8b 8c 91 74 09 04 	mov    0x40974(%r9,%rdx,4),%ecx
1400406c3:	00
1400406c4:	49 03 c9             	add    %r9,%rcx
1400406c7:	ff e1                	jmp    *%rcx
1400406c9:	4d 39 78 18          	cmp    %r15,0x18(%r8)
1400406cd:	0f 85 c7 01 00 00    	jne    0x14004089a
1400406d3:	80 fa 03             	cmp    $0x3,%dl
1400406d6:	75 54                	jne    0x14004072c
1400406d8:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
1400406dc:	48 8b 57 18          	mov    0x18(%rdi),%rdx
1400406e0:	48 83 fa 0f          	cmp    $0xf,%rdx
1400406e4:	76 30                	jbe    0x140040716
1400406e6:	48 ff c2             	inc    %rdx
1400406e9:	48 8b 0f             	mov    (%rdi),%rcx
1400406ec:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1400406f3:	72 1c                	jb     0x140040711
1400406f5:	48 83 c2 27          	add    $0x27,%rdx
1400406f9:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1400406fd:	49 2b c8             	sub    %r8,%rcx
140040700:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140040704:	48 83 f8 1f          	cmp    $0x1f,%rax
140040708:	0f 87 81 00 00 00    	ja     0x14004078f
14004070e:	49 8b c8             	mov    %r8,%rcx
140040711:	e8 7e 95 01 00       	call   0x140059c94
140040716:	4c 89 7f 10          	mov    %r15,0x10(%rdi)
14004071a:	48 c7 47 18 0f 00 00 	movq   $0xf,0x18(%rdi)
140040721:	00
140040722:	44 88 3f             	mov    %r15b,(%rdi)
140040725:	ba 20 00 00 00       	mov    $0x20,%edx
14004072a:	eb 4e                	jmp    0x14004077a
14004072c:	80 fa 08             	cmp    $0x8,%dl
14004072f:	75 56                	jne    0x140040787
140040731:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
140040735:	48 8b 0f             	mov    (%rdi),%rcx
140040738:	48 85 c9             	test   %rcx,%rcx
14004073b:	74 38                	je     0x140040775
14004073d:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140040741:	48 2b d1             	sub    %rcx,%rdx
140040744:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14004074b:	72 18                	jb     0x140040765
14004074d:	48 83 c2 27          	add    $0x27,%rdx
140040751:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140040755:	49 2b c8             	sub    %r8,%rcx
140040758:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14004075c:	48 83 f8 1f          	cmp    $0x1f,%rax
140040760:	77 2d                	ja     0x14004078f
140040762:	49 8b c8             	mov    %r8,%rcx
140040765:	e8 2a 95 01 00       	call   0x140059c94
14004076a:	4c 89 3f             	mov    %r15,(%rdi)
14004076d:	4c 89 7f 08          	mov    %r15,0x8(%rdi)
140040771:	4c 89 7f 10          	mov    %r15,0x10(%rdi)
140040775:	ba 28 00 00 00       	mov    $0x28,%edx
14004077a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14004077e:	e8 11 95 01 00       	call   0x140059c94
140040783:	4c 89 7b 08          	mov    %r15,0x8(%rbx)
140040787:	44 88 3b             	mov    %r15b,(%rbx)
14004078a:	e9 f1 00 00 00       	jmp    0x140040880
14004078f:	ff 15 0b ee 01 00    	call   *0x1ee0b(%rip)        # 0x14005f5a0
140040795:	cc                   	int3
140040796:	49 8b 50 08          	mov    0x8(%r8),%rdx