1400313ec:	48 8d 42 0f          	lea    0xf(%rdx),%rax
1400313f0:	48 3b c2             	cmp    %rdx,%rax
1400313f3:	77 0a                	ja     0x1400313ff
1400313f5:	48 b8 f0 ff ff ff ff 	movabs $0xffffffffffffff0,%rax
1400313fc:	ff ff 0f
1400313ff:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
140031403:	e8 48 41 ff ff       	call   0x140025550
140031408:	48 2b e0             	sub    %rax,%rsp
14003140b:	48 8d 5c 24 30       	lea    0x30(%rsp),%rbx
140031410:	48 85 db             	test   %rbx,%rbx
140031413:	74 73                	je     0x140031488
140031415:	c7 03 cc cc 00 00    	movl   $0xcccc,(%rbx)
14003141b:	eb 16                	jmp    0x140031433
14003141d:	48 8b ca             	mov    %rdx,%rcx
140031420:	e8 a3 79 00 00       	call   0x140038dc8
140031425:	48 8b d8             	mov    %rax,%rbx
140031428:	48 85 c0             	test   %rax,%rax
14003142b:	74 0a                	je     0x140031437
14003142d:	c7 00 dd dd 00 00    	movl   $0xdddd,(%rax)
140031433:	48 83 c3 10          	add    $0x10,%rbx
140031437:	48 85 db             	test   %rbx,%rbx
14003143a:	74 4c                	je     0x140031488
14003143c:	49 8b 07             	mov    (%r15),%rax
14003143f:	41 83 c9 ff          	or     $0xffffffff,%r9d
140031443:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
140031448:	4c 8b c7             	mov    %rdi,%r8
14003144b:	ba 00 02 00 00       	mov    $0x200,%edx
140031450:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140031455:	48 8b 88 38 01 00 00 	mov    0x138(%rax),%rcx
14003145c:	e8 fb af 00 00       	call   0x14003c45c
140031461:	85 c0                	test   %eax,%eax
140031463:	74 12                	je     0x140031477
140031465:	4c 8b c3             	mov    %rbx,%r8
140031468:	48 8b d6             	mov    %rsi,%rdx
14003146b:	48 8b cf             	mov    %rdi,%rcx
14003146e:	e8 89 fc ff ff       	call   0x1400310fc
140031473:	8b f8                	mov    %eax,%edi
140031475:	eb 23                	jmp    0x14003149a
140031477:	e8 bc a5 ff ff       	call   0x14002ba38
14003147c:	bf 2a 00 00 00       	mov    $0x2a,%edi
140031481:	89 38                	mov    %edi,(%rax)
140031483:	eb 1a                	jmp    0x14003149f
140031485:	49 8b dc             	mov    %r12,%rbx
140031488:	e8 ab a5 ff ff       	call   0x14002ba38
14003148d:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
140031493:	e8 a0 a5 ff ff       	call   0x14002ba38
140031498:	8b 38                	mov    (%rax),%edi
14003149a:	48 85 db             	test   %rbx,%rbx
14003149d:	74 11                	je     0x1400314b0
14003149f:	48 8d 4b f0          	lea    -0x10(%rbx),%rcx
1400314a3:	81 39 dd dd 00 00    	cmpl   $0xdddd,(%rcx)
1400314a9:	75 05                	jne    0x1400314b0
1400314ab:	e8 dc 78 00 00       	call   0x140038d8c
1400314b0:	8b c7                	mov    %edi,%eax
1400314b2:	48 8b 4d 08          	mov    0x8(%rbp),%rcx
1400314b6:	48 33 cd             	xor    %rbp,%rcx
1400314b9:	e8 42 36 ff ff       	call   0x140024b00
1400314be:	48 8b 5d 30          	mov    0x30(%rbp),%rbx
1400314c2:	48 8b 75 38          	mov    0x38(%rbp),%rsi
1400314c6:	48 8b 7d 40          	mov    0x40(%rbp),%rdi
1400314ca:	4c 8b 65 48          	mov    0x48(%rbp),%r12
1400314ce:	48 8d 65 10          	lea    0x10(%rbp),%rsp
1400314d2:	41 5f                	pop    %r15
1400314d4:	41 5e                	pop    %r14
1400314d6:	5d                   	pop    %rbp
1400314d7:	c3                   	ret
1400314d8:	45 33 c0             	xor    %r8d,%r8d
1400314db:	e9 00 00 00 00       	jmp    0x1400314e0
1400314e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400314e5:	57                   	push   %rdi
1400314e6:	48 83 ec 40          	sub    $0x40,%rsp
1400314ea:	48 8b da             	mov    %rdx,%rbx
1400314ed:	48 8b f9             	mov    %rcx,%rdi
1400314f0:	49 8b d0             	mov    %r8,%rdx
1400314f3:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1400314f8:	e8 73 a9 ff ff       	call   0x14002be70
1400314fd:	4c 8d 44 24 28       	lea    0x28(%rsp),%r8
140031502:	48 8b d3             	mov    %rbx,%rdx
140031505:	48 8b cf             	mov    %rdi,%rcx
140031508:	e8 d3 fd ff ff       	call   0x1400312e0
14003150d:	80 7c 24 38 00       	cmpb   $0x0,0x38(%rsp)
140031512:	74 0c                	je     0x140031520
140031514:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
140031519:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140031520:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140031525:	48 83 c4 40          	add    $0x40,%rsp
140031529:	5f                   	pop    %rdi
14003152a:	c3                   	ret
14003152b:	cc                   	int3
14003152c:	40 53                	rex push %rbx
14003152e:	48 83 ec 20          	sub    $0x20,%rsp
140031532:	33 db                	xor    %ebx,%ebx
140031534:	4c 8b c9             	mov    %rcx,%r9
140031537:	48 85 c9             	test   %rcx,%rcx
14003153a:	74 0d                	je     0x140031549
14003153c:	48 85 d2             	test   %rdx,%rdx
14003153f:	74 08                	je     0x140031549
140031541:	4d 85 c0             	test   %r8,%r8
140031544:	75 1c                	jne    0x140031562
140031546:	66 89 19             	mov    %bx,(%rcx)
140031549:	e8 ea a4 ff ff       	call   0x14002ba38
14003154e:	bb 16 00 00 00       	mov    $0x16,%ebx
140031553:	89 18                	mov    %ebx,(%rax)
140031555:	e8 4a a0 ff ff       	call   0x14002b5a4
14003155a:	8b c3                	mov    %ebx,%eax
14003155c:	48 83 c4 20          	add    $0x20,%rsp
140031560:	5b                   	pop    %rbx
140031561:	c3                   	ret
140031562:	66 39 19             	cmp    %bx,(%rcx)
140031565:	74 10                	je     0x140031577
140031567:	48 83 c1 02          	add    $0x2,%rcx
14003156b:	48 83 ea 01          	sub    $0x1,%rdx
14003156f:	75 f1                	jne    0x140031562
140031571:	66 41 89 19          	mov    %bx,(%r9)
140031575:	eb d2                	jmp    0x140031549
140031577:	4c 2b c1             	sub    %rcx,%r8
14003157a:	41 0f b7 04 08       	movzwl (%r8,%rcx,1),%eax
14003157f:	66 89 01             	mov    %ax,(%rcx)
140031582:	48 8d 49 02          	lea    0x2(%rcx),%rcx
140031586:	66 85 c0             	test   %ax,%ax
140031589:	74 cf                	je     0x14003155a
14003158b:	48 83 ea 01          	sub    $0x1,%rdx
14003158f:	75 e9                	jne    0x14003157a
140031591:	66 41 89 19          	mov    %bx,(%r9)
140031595:	e8 9e a4 ff ff       	call   0x14002ba38
14003159a:	bb 22 00 00 00       	mov    $0x22,%ebx
14003159f:	eb b2                	jmp    0x140031553
1400315a1:	cc                   	int3
1400315a2:	cc                   	int3
1400315a3:	cc                   	int3
1400315a4:	66 89 4c 24 08       	mov    %cx,0x8(%rsp)
1400315a9:	48 83 ec 58          	sub    $0x58,%rsp
1400315ad:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400315b2:	66 3b c8             	cmp    %ax,%cx
1400315b5:	0f 84 d5 00 00 00    	je     0x140031690
1400315bb:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400315c0:	e8 ab a8 ff ff       	call   0x14002be70
1400315c5:	4c 8b 54 24 38       	mov    0x38(%rsp),%r10
1400315ca:	41 bb 00 01 00 00    	mov    $0x100,%r11d
1400315d0:	41 81 7a 0c e9 fd 00 	cmpl   $0xfde9,0xc(%r10)
1400315d7:	00
1400315d8:	75 2a                	jne    0x140031604
1400315da:	0f b7 4c 24 60       	movzwl 0x60(%rsp),%ecx
1400315df:	41 8d 43 80          	lea    -0x80(%r11),%eax
1400315e3:	66 3b c8             	cmp    %ax,%cx
1400315e6:	73 58                	jae    0x140031640
1400315e8:	0f b6 c1             	movzbl %cl,%eax
1400315eb:	4c 8d 05 ce e4 01 00 	lea    0x1e4ce(%rip),%r8        # 0x14004fac0
1400315f2:	41 f6 44 40 02 01    	testb  $0x1,0x2(%r8,%rax,2)
1400315f8:	74 05                	je     0x1400315ff
1400315fa:	0f b6 c9             	movzbl %cl,%ecx
1400315fd:	eb 25                	jmp    0x140031624
1400315ff:	0f b6 d1             	movzbl %cl,%edx
140031602:	eb 76                	jmp    0x14003167a
140031604:	0f b7 54 24 60       	movzwl 0x60(%rsp),%edx
140031609:	66 41 3b d3          	cmp    %r11w,%dx
14003160d:	73 27                	jae    0x140031636
14003160f:	0f b6 c2             	movzbl %dl,%eax
140031612:	4c 8d 05 a7 e4 01 00 	lea    0x1e4a7(%rip),%r8        # 0x14004fac0
140031619:	41 f6 44 40 02 01    	testb  $0x1,0x2(%r8,%rax,2)
14003161f:	74 10                	je     0x140031631
140031621:	0f b6 ca             	movzbl %dl,%ecx
140031624:	49 8b 82 10 01 00 00 	mov    0x110(%r10),%rax
14003162b:	0f b6 14 08          	movzbl (%rax,%rcx,1),%edx
14003162f:	eb 49                	jmp    0x14003167a
140031631:	0f b6 d2             	movzbl %dl,%edx
140031634:	eb 44                	jmp    0x14003167a
140031636:	49 83 ba 38 01 00 00 	cmpq   $0x0,0x138(%r10)
14003163d:	00
14003163e:	74 3a                	je     0x14003167a
140031640:	49 8b 8a 38 01 00 00 	mov    0x138(%r10),%rcx
140031647:	48 8d 44 24 70       	lea    0x70(%rsp),%rax
14003164c:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
140031653:	00
140031654:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
140031659:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14003165f:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140031664:	41 8b d3             	mov    %r11d,%edx
140031667:	e8 f0 ad 00 00       	call   0x14003c45c
14003166c:	0f b7 54 24 60       	movzwl 0x60(%rsp),%edx
140031671:	85 c0                	test   %eax,%eax
140031673:	74 05                	je     0x14003167a
140031675:	0f b7 54 24 70       	movzwl 0x70(%rsp),%edx
14003167a:	80 7c 24 48 00       	cmpb   $0x0,0x48(%rsp)
14003167f:	74 0c                	je     0x14003168d
140031681:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140031686:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
14003168d:	0f b7 c2             	movzwl %dx,%eax
140031690:	48 83 c4 58          	add    $0x58,%rsp
140031694:	c3                   	ret
140031695:	cc                   	int3
140031696:	cc                   	int3
140031697:	cc                   	int3
140031698:	33 d2                	xor    %edx,%edx
14003169a:	e9 05 ff ff ff       	jmp    0x1400315a4
14003169f:	cc                   	int3
1400316a0:	48 83 ec 28          	sub    $0x28,%rsp
1400316a4:	e8 87 72 00 00       	call   0x140038930
1400316a9:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1400316ae:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
1400316b5:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1400316ba:	48 8b c8             	mov    %rax,%rcx
1400316bd:	e8 32 87 00 00       	call   0x140039df4
1400316c2:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1400316c7:	8b 40 0c             	mov    0xc(%rax),%eax
1400316ca:	48 83 c4 28          	add    $0x28,%rsp
1400316ce:	c3                   	ret
1400316cf:	cc                   	int3
1400316d0:	48 83 ec 28          	sub    $0x28,%rsp
1400316d4:	e8 57 72 00 00       	call   0x140038930
1400316d9:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1400316de:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
1400316e5:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1400316ea:	48 8b c8             	mov    %rax,%rcx
1400316ed:	e8 02 87 00 00       	call   0x140039df4
1400316f2:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
1400316f7:	48 05 28 01 00 00    	add    $0x128,%rax
1400316fd:	48 83 c4 28          	add    $0x28,%rsp
140031701:	c3                   	ret
140031702:	cc                   	int3
140031703:	cc                   	int3
140031704:	48 83 ec 28          	sub    $0x28,%rsp
140031708:	e8 23 72 00 00       	call   0x140038930
14003170d:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140031712:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
140031719:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
14003171e:	48 8b c8             	mov    %rax,%rcx
140031721:	e8 ce 86 00 00       	call   0x140039df4
140031726:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14003172b:	8b 40 08             	mov    0x8(%rax),%eax
14003172e:	48 83 c4 28          	add    $0x28,%rsp
140031732:	c3                   	ret
140031733:	cc                   	int3
140031734:	cc                   	int3
140031735:	cc                   	int3
140031736:	cc                   	int3
140031737:	cc                   	int3
140031738:	cc                   	int3
140031739:	cc                   	int3
14003173a:	cc                   	int3
14003173b:	cc                   	int3
14003173c:	cc                   	int3
14003173d:	cc                   	int3
14003173e:	cc                   	int3
14003173f:	cc                   	int3
140031740:	4c 8b dc             	mov    %rsp,%r11
140031743:	49 89 5b 10          	mov    %rbx,0x10(%r11)
140031747:	49 89 6b 18          	mov    %rbp,0x18(%r11)
14003174b:	49 89 73 20          	mov    %rsi,0x20(%r11)
14003174f:	57                   	push   %rdi
140031750:	41 54                	push   %r12
140031752:	41 55                	push   %r13
140031754:	41 56                	push   %r14
140031756:	41 57                	push   %r15
140031758:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
14003175f:	48 8b 05 b2 08 04 00 	mov    0x408b2(%rip),%rax        # 0x140072018
140031766:	48 33 c4             	xor    %rsp,%rax
140031769:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140031770:	00
140031771:	4c 8b 81 38 01 00 00 	mov    0x138(%rcx),%r8
140031778:	33 db                	xor    %ebx,%ebx
14003177a:	49 89 4b a8          	mov    %rcx,-0x58(%r11)
14003177e:	48 8b f9             	mov    %rcx,%rdi
140031781:	49 89 5b b0          	mov    %rbx,-0x50(%r11)
140031785:	44 8b eb             	mov    %ebx,%r13d
140031788:	44 8b f3             	mov    %ebx,%r14d
14003178b:	8b eb                	mov    %ebx,%ebp
14003178d:	44 8b e3             	mov    %ebx,%r12d
140031790:	4d 85 c0             	test   %r8,%r8
140031793:	0f 84 8c 05 00 00    	je     0x140031d25
140031799:	4c 8d 79 0c          	lea    0xc(%rcx),%r15
14003179d:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
1400317a2:	8d 73 01             	lea    0x1(%rbx),%esi
1400317a5:	41 39 1f             	cmp    %ebx,(%r15)
1400317a8:	75 1e                	jne    0x1400317c8
1400317aa:	33 d2                	xor    %edx,%edx
1400317ac:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1400317b1:	41 b9 04 10 00 00    	mov    $0x1004,%r9d
1400317b7:	49 8d 4b a8          	lea    -0x58(%r11),%rcx
1400317bb:	e8 a0 ae 00 00       	call   0x14003c660
1400317c0:	85 c0                	test   %eax,%eax
1400317c2:	0f 85 2d 05 00 00    	jne    0x140031cf5
1400317c8:	ba 04 00 00 00       	mov    $0x4,%edx
1400317cd:	48 8b ce             	mov    %rsi,%rcx
1400317d0:	e8 57 ab 00 00       	call   0x14003c32c
1400317d5:	33 c9                	xor    %ecx,%ecx
1400317d7:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
1400317dc:	e8 ab 75 00 00       	call   0x140038d8c
1400317e1:	bd 80 01 00 00       	mov    $0x180,%ebp
1400317e6:	ba 02 00 00 00       	mov    $0x2,%edx
1400317eb:	8b cd                	mov    %ebp,%ecx
1400317ed:	e8 3a ab 00 00       	call   0x14003c32c
1400317f2:	33 c9                	xor    %ecx,%ecx
1400317f4:	4c 8b e8             	mov    %rax,%r13
1400317f7:	e8 90 75 00 00       	call   0x140038d8c
1400317fc:	48 8b d6             	mov    %rsi,%rdx
1400317ff:	8b cd                	mov    %ebp,%ecx
140031801:	e8 26 ab 00 00       	call   0x14003c32c
140031806:	33 c9                	xor    %ecx,%ecx
140031808:	4c 8b f0             	mov    %rax,%r14
14003180b:	e8 7c 75 00 00       	call   0x140038d8c
140031810:	48 8b d6             	mov    %rsi,%rdx
140031813:	8b cd                	mov    %ebp,%ecx
140031815:	e8 12 ab 00 00       	call   0x14003c32c
14003181a:	33 c9                	xor    %ecx,%ecx
14003181c:	48 8b e8             	mov    %rax,%rbp
14003181f:	e8 68 75 00 00       	call   0x140038d8c
140031824:	48 8b d6             	mov    %rsi,%rdx
140031827:	b9 01 01 00 00       	mov    $0x101,%ecx
14003182c:	e8 fb aa 00 00       	call   0x14003c32c
140031831:	33 c9                	xor    %ecx,%ecx
140031833:	4c 8b e0             	mov    %rax,%r12
140031836:	e8 51 75 00 00       	call   0x140038d8c
14003183b:	48 39 5c 24 58       	cmp    %rbx,0x58(%rsp)
140031840:	0f 84 af 04 00 00    	je     0x140031cf5
140031846:	4d 85 ed             	test   %r13,%r13
140031849:	0f 84 a6 04 00 00    	je     0x140031cf5
14003184f:	4d 85 e4             	test   %r12,%r12
140031852:	0f 84 9d 04 00 00    	je     0x140031cf5
140031858:	4d 85 f6             	test   %r14,%r14
14003185b:	0f 84 94 04 00 00    	je     0x140031cf5
140031861:	48 85 ed             	test   %rbp,%rbp
140031864:	0f 84 8b 04 00 00    	je     0x140031cf5
14003186a:	49 8b cc             	mov    %r12,%rcx
14003186d:	8b c3                	mov    %ebx,%eax
14003186f:	88 01                	mov    %al,(%rcx)
140031871:	48 03 ce             	add    %rsi,%rcx
140031874:	03 c6                	add    %esi,%eax
140031876:	3d 00 01 00 00       	cmp    $0x100,%eax
14003187b:	7c f2                	jl     0x14003186f
14003187d:	41 8b 0f             	mov    (%r15),%ecx
140031880:	48 8d 94 24 80 00 00 	lea    0x80(%rsp),%rdx
140031887:	00
140031888:	ff 15 12 aa 01 00    	call   *0x1aa12(%rip)        # 0x14004c2a0
14003188e:	85 c0                	test   %eax,%eax
140031890:	0f 84 5f 04 00 00    	je     0x140031cf5
140031896:	83 bc 24 80 00 00 00 	cmpl   $0x5,0x80(%rsp)
14003189d:	05
14003189e:	0f 87 51 04 00 00    	ja     0x140031cf5
1400318a4:	0f b7 84 24 80 00 00 	movzwl 0x80(%rsp),%eax
1400318ab:	00
1400318ac:	89 44 24 50          	mov    %eax,0x50(%rsp)
1400318b0:	3b c6                	cmp    %esi,%eax
1400318b2:	76 5b                	jbe    0x14003190f
1400318b4:	41 81 3f e9 fd 00 00 	cmpl   $0xfde9,(%r15)
1400318bb:	75 17                	jne    0x1400318d4
1400318bd:	49 8d 8c 24 80 00 00 	lea    0x80(%r12),%rcx
1400318c4:	00
1400318c5:	41 b8 80 00 00 00    	mov    $0x80,%r8d
1400318cb:	b2 20                	mov    $0x20,%dl