14002861a:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14002861f:	8b c7                	mov    %edi,%eax
140028621:	48 8b 8d e0 00 00 00 	mov    0xe0(%rbp),%rcx
140028628:	48 33 cc             	xor    %rsp,%rcx
14002862b:	e8 a0 94 00 00       	call   0x140031ad0
140028630:	48 8b 9c 24 38 02 00 	mov    0x238(%rsp),%rbx
140028637:	00
140028638:	48 81 c4 f0 01 00 00 	add    $0x1f0,%rsp
14002863f:	41 5f                	pop    %r15
140028641:	41 5e                	pop    %r14
140028643:	41 5d                	pop    %r13
140028645:	41 5c                	pop    %r12
140028647:	5f                   	pop    %rdi
140028648:	5e                   	pop    %rsi
140028649:	5d                   	pop    %rbp
14002864a:	c3                   	ret
14002864b:	cc                   	int3
14002864c:	cc                   	int3
14002864d:	cc                   	int3
14002864e:	cc                   	int3
14002864f:	cc                   	int3
140028650:	cc                   	int3
140028651:	cc                   	int3
140028652:	cc                   	int3
140028653:	cc                   	int3
140028654:	cc                   	int3
140028655:	cc                   	int3
140028656:	cc                   	int3
140028657:	cc                   	int3
140028658:	cc                   	int3
140028659:	cc                   	int3
14002865a:	cc                   	int3
14002865b:	cc                   	int3
14002865c:	cc                   	int3
14002865d:	cc                   	int3
14002865e:	cc                   	int3
14002865f:	cc                   	int3
140028660:	41 8b 40 04          	mov    0x4(%r8),%eax
140028664:	3b 42 04             	cmp    0x4(%rdx),%eax
140028667:	75 04                	jne    0x14002866d
140028669:	33 c0                	xor    %eax,%eax
14002866b:	c3                   	ret
14002866c:	cc                   	int3
14002866d:	1b c0                	sbb    %eax,%eax
14002866f:	83 e0 02             	and    $0x2,%eax
140028672:	ff c8                	dec    %eax
140028674:	c3                   	ret
140028675:	cc                   	int3
140028676:	cc                   	int3
140028677:	cc                   	int3
140028678:	cc                   	int3
140028679:	cc                   	int3
14002867a:	cc                   	int3
14002867b:	cc                   	int3
14002867c:	cc                   	int3
14002867d:	cc                   	int3
14002867e:	cc                   	int3
14002867f:	cc                   	int3
140028680:	40 53                	rex push %rbx
140028682:	48 83 ec 20          	sub    $0x20,%rsp
140028686:	48 8d 05 6b c3 00 00 	lea    0xc36b(%rip),%rax        # 0x1400349f8
14002868d:	48 8b d9             	mov    %rcx,%rbx
140028690:	48 89 01             	mov    %rax,(%rcx)
140028693:	f6 c2 01             	test   $0x1,%dl
140028696:	74 05                	je     0x14002869d
140028698:	e8 4b 90 00 00       	call   0x1400316e8
14002869d:	48 8b c3             	mov    %rbx,%rax
1400286a0:	48 83 c4 20          	add    $0x20,%rsp
1400286a4:	5b                   	pop    %rbx
1400286a5:	c3                   	ret
1400286a6:	cc                   	int3
1400286a7:	cc                   	int3
1400286a8:	cc                   	int3
1400286a9:	cc                   	int3
1400286aa:	cc                   	int3
1400286ab:	cc                   	int3
1400286ac:	cc                   	int3
1400286ad:	cc                   	int3
1400286ae:	cc                   	int3
1400286af:	cc                   	int3
1400286b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400286b5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400286ba:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400286bf:	57                   	push   %rdi
1400286c0:	41 56                	push   %r14
1400286c2:	41 57                	push   %r15
1400286c4:	48 83 ec 40          	sub    $0x40,%rsp
1400286c8:	8b e9                	mov    %ecx,%ebp
1400286ca:	4d 8b f8             	mov    %r8,%r15
1400286cd:	8b 0d a9 5a 01 00    	mov    0x15aa9(%rip),%ecx        # 0x14003e17c
1400286d3:	48 8b f2             	mov    %rdx,%rsi
1400286d6:	48 ff 15 fb d0 00 00 	rex.W call *0xd0fb(%rip)        # 0x1400357d8
1400286dd:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400286e2:	83 cb ff             	or     $0xffffffff,%ebx
1400286e5:	48 8b f8             	mov    %rax,%rdi
1400286e8:	48 85 c0             	test   %rax,%rax
1400286eb:	75 22                	jne    0x14002870f
1400286ed:	8b 1d 89 5a 01 00    	mov    0x15a89(%rip),%ebx        # 0x14003e17c
1400286f3:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
1400286f8:	21 44 24 78          	and    %eax,0x78(%rsp)
1400286fc:	48 8d 7c 24 78       	lea    0x78(%rsp),%rdi
140028701:	8b cb                	mov    %ebx,%ecx
140028703:	48 ff 15 8e d0 00 00 	rex.W call *0xd08e(%rip)        # 0x140035798
14002870a:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14002870f:	8b 07                	mov    (%rdi),%eax
140028711:	ff c0                	inc    %eax
140028713:	89 07                	mov    %eax,(%rdi)
140028715:	48 8b 0d 2c 59 01 00 	mov    0x1592c(%rip),%rcx        # 0x14003e048
14002871c:	48 8d 15 25 59 01 00 	lea    0x15925(%rip),%rdx        # 0x14003e048
140028723:	4c 8d 05 26 de 00 00 	lea    0xde26(%rip),%r8        # 0x140036550
14002872a:	41 be df 01 00 00    	mov    $0x1df,%r14d
140028730:	48 3b ca             	cmp    %rdx,%rcx
140028733:	74 4b                	je     0x140028780
140028735:	f6 41 1c 01          	testb  $0x1,0x1c(%rcx)
140028739:	74 45                	je     0x140028780
14002873b:	8d 14 80             	lea    (%rax,%rax,4),%edx
14002873e:	81 fa e1 01 00 00    	cmp    $0x1e1,%edx
140028744:	77 0a                	ja     0x140028750
140028746:	8b c2                	mov    %edx,%eax
140028748:	41 8b d6             	mov    %r14d,%edx
14002874b:	48 2b d0             	sub    %rax,%rdx
14002874e:	eb 02                	jmp    0x140028752
140028750:	33 d2                	xor    %edx,%edx
140028752:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140028756:	4e 8d 0c 02          	lea    (%rdx,%r8,1),%r9
14002875a:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
14002875f:	4c 8d 05 12 f5 00 00 	lea    0xf512(%rip),%r8        # 0x140037c78
140028766:	ba 19 00 00 00       	mov    $0x19,%edx
14002876b:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140028770:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
140028774:	e8 83 e9 ff ff       	call   0x1400270fc
140028779:	48 8b 0d c8 58 01 00 	mov    0x158c8(%rip),%rcx        # 0x14003e048
140028780:	85 ed                	test   %ebp,%ebp
140028782:	74 52                	je     0x1400287d6
140028784:	48 85 f6             	test   %rsi,%rsi
140028787:	74 4d                	je     0x1400287d6
140028789:	4d 85 ff             	test   %r15,%r15
14002878c:	74 48                	je     0x1400287d6
14002878e:	48 8d 15 5b db 00 00 	lea    0xdb5b(%rip),%rdx        # 0x1400362f0
140028795:	b9 20 00 00 00       	mov    $0x20,%ecx
14002879a:	e8 15 94 00 00       	call   0x140031bb4
14002879f:	48 85 c0             	test   %rax,%rax
1400287a2:	74 19                	je     0x1400287bd
1400287a4:	83 60 18 00          	andl   $0x0,0x18(%rax)
1400287a8:	48 8d 0d 49 c2 00 00 	lea    0xc249(%rip),%rcx        # 0x1400349f8
1400287af:	48 89 08             	mov    %rcx,(%rax)
1400287b2:	89 68 08             	mov    %ebp,0x8(%rax)
1400287b5:	48 89 70 10          	mov    %rsi,0x10(%rax)
1400287b9:	c6 40 1c 00          	movb   $0x0,0x1c(%rax)
1400287bd:	33 f6                	xor    %esi,%esi
1400287bf:	49 89 07             	mov    %rax,(%r15)
1400287c2:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
1400287c7:	48 85 c0             	test   %rax,%rax
1400287ca:	0f 44 f1             	cmove  %ecx,%esi
1400287cd:	48 8b 0d 74 58 01 00 	mov    0x15874(%rip),%rcx        # 0x14003e048
1400287d4:	eb 05                	jmp    0x1400287db
1400287d6:	be 57 00 07 80       	mov    $0x80070057,%esi
1400287db:	48 8d 05 66 58 01 00 	lea    0x15866(%rip),%rax        # 0x14003e048
1400287e2:	48 3b c8             	cmp    %rax,%rcx
1400287e5:	74 40                	je     0x140028827
1400287e7:	f6 41 1c 01          	testb  $0x1,0x1c(%rcx)
1400287eb:	74 3a                	je     0x140028827
1400287ed:	8b 07                	mov    (%rdi),%eax
1400287ef:	8d 14 80             	lea    (%rax,%rax,4),%edx
1400287f2:	81 fa e1 01 00 00    	cmp    $0x1e1,%edx
1400287f8:	77 07                	ja     0x140028801
1400287fa:	8b c2                	mov    %edx,%eax
1400287fc:	4c 2b f0             	sub    %rax,%r14
1400287ff:	eb 03                	jmp    0x140028804
140028801:	45 33 f6             	xor    %r14d,%r14d
140028804:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140028808:	4c 8d 0d 41 dd 00 00 	lea    0xdd41(%rip),%r9        # 0x140036550
14002880f:	4d 03 ce             	add    %r14,%r9
140028812:	89 74 24 20          	mov    %esi,0x20(%rsp)
140028816:	ba 1a 00 00 00       	mov    $0x1a,%edx
14002881b:	4c 8d 05 56 f4 00 00 	lea    0xf456(%rip),%r8        # 0x140037c78
140028822:	e8 4d 94 fd ff       	call   0x140001c74
140028827:	ff 0f                	decl   (%rdi)
140028829:	83 fb ff             	cmp    $0xffffffff,%ebx
14002882c:	74 23                	je     0x140028851
14002882e:	8b cb                	mov    %ebx,%ecx
140028830:	48 ff 15 a1 cf 00 00 	rex.W call *0xcfa1(%rip)        # 0x1400357d8
140028837:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14002883c:	48 85 c0             	test   %rax,%rax
14002883f:	74 10                	je     0x140028851
140028841:	33 d2                	xor    %edx,%edx
140028843:	8b cb                	mov    %ebx,%ecx
140028845:	48 ff 15 4c cf 00 00 	rex.W call *0xcf4c(%rip)        # 0x140035798
14002884c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028851:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140028856:	8b c6                	mov    %esi,%eax
140028858:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14002885d:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140028862:	48 83 c4 40          	add    $0x40,%rsp
140028866:	41 5f                	pop    %r15
140028868:	41 5e                	pop    %r14
14002886a:	5f                   	pop    %rdi
14002886b:	c3                   	ret
14002886c:	cc                   	int3
14002886d:	cc                   	int3
14002886e:	cc                   	int3
14002886f:	cc                   	int3
140028870:	cc                   	int3
140028871:	cc                   	int3
140028872:	cc                   	int3
140028873:	cc                   	int3
140028874:	cc                   	int3
140028875:	cc                   	int3
140028876:	cc                   	int3
140028877:	cc                   	int3
140028878:	cc                   	int3
140028879:	cc                   	int3
14002887a:	cc                   	int3
14002887b:	cc                   	int3
14002887c:	cc                   	int3
14002887d:	cc                   	int3
14002887e:	cc                   	int3
14002887f:	cc                   	int3
140028880:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140028885:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14002888a:	55                   	push   %rbp
14002888b:	56                   	push   %rsi
14002888c:	57                   	push   %rdi
14002888d:	41 54                	push   %r12
14002888f:	41 55                	push   %r13
140028891:	41 56                	push   %r14
140028893:	41 57                	push   %r15
140028895:	48 8b ec             	mov    %rsp,%rbp
140028898:	48 83 ec 60          	sub    $0x60,%rsp
14002889c:	4c 8b e9             	mov    %rcx,%r13
14002889f:	4d 8b e0             	mov    %r8,%r12
1400288a2:	8b 0d d4 58 01 00    	mov    0x158d4(%rip),%ecx        # 0x14003e17c
1400288a8:	48 8b fa             	mov    %rdx,%rdi
1400288ab:	48 ff 15 26 cf 00 00 	rex.W call *0xcf26(%rip)        # 0x1400357d8
1400288b2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400288b7:	83 cb ff             	or     $0xffffffff,%ebx
1400288ba:	45 33 f6             	xor    %r14d,%r14d
1400288bd:	48 8b f0             	mov    %rax,%rsi
1400288c0:	48 85 c0             	test   %rax,%rax
1400288c3:	75 20                	jne    0x1400288e5
1400288c5:	8b 1d b1 58 01 00    	mov    0x158b1(%rip),%ebx        # 0x14003e17c
1400288cb:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1400288cf:	8b cb                	mov    %ebx,%ecx
1400288d1:	44 89 75 e0          	mov    %r14d,-0x20(%rbp)
1400288d5:	48 8d 75 e0          	lea    -0x20(%rbp),%rsi
1400288d9:	48 ff 15 b8 ce 00 00 	rex.W call *0xceb8(%rip)        # 0x140035798
1400288e0:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400288e5:	8b 06                	mov    (%rsi),%eax
1400288e7:	ff c0                	inc    %eax
1400288e9:	89 06                	mov    %eax,(%rsi)
1400288eb:	48 8b 15 56 57 01 00 	mov    0x15756(%rip),%rdx        # 0x14003e048
1400288f2:	48 8d 0d 4f 57 01 00 	lea    0x1574f(%rip),%rcx        # 0x14003e048
1400288f9:	4c 8d 15 50 dc 00 00 	lea    0xdc50(%rip),%r10        # 0x140036550
140028900:	41 bf df 01 00 00    	mov    $0x1df,%r15d
140028906:	48 3b d1             	cmp    %rcx,%rdx
140028909:	74 4f                	je     0x14002895a
14002890b:	f6 42 1c 01          	testb  $0x1,0x1c(%rdx)
14002890f:	74 49                	je     0x14002895a
140028911:	8d 0c 80             	lea    (%rax,%rax,4),%ecx
140028914:	81 f9 e1 01 00 00    	cmp    $0x1e1,%ecx
14002891a:	77 0a                	ja     0x140028926
14002891c:	8b c1                	mov    %ecx,%eax
14002891e:	41 8b cf             	mov    %r15d,%ecx
140028921:	48 2b c8             	sub    %rax,%rcx
140028924:	eb 03                	jmp    0x140028929
140028926:	49 8b ce             	mov    %r14,%rcx
140028929:	4e 8d 0c 11          	lea    (%rcx,%r10,1),%r9
14002892d:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
140028932:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
140028936:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14002893b:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140028940:	e8 1b ec ff ff       	call   0x140027560
140028945:	48 8b 15 fc 56 01 00 	mov    0x156fc(%rip),%rdx        # 0x14003e048
14002894c:	48 8d 0d f5 56 01 00 	lea    0x156f5(%rip),%rcx        # 0x14003e048
140028953:	4c 8d 15 f6 db 00 00 	lea    0xdbf6(%rip),%r10        # 0x140036550
14002895a:	4d 8d 4d 1c          	lea    0x1c(%r13),%r9
14002895e:	4c 89 75 f0          	mov    %r14,-0x10(%rbp)
140028962:	41 80 39 00          	cmpb   $0x0,(%r9)
140028966:	48 8d 05 9b c1 00 00 	lea    0xc19b(%rip),%rax        # 0x140034b08
14002896d:	4c 89 75 f8          	mov    %r14,-0x8(%rbp)
140028971:	44 89 75 40          	mov    %r14d,0x40(%rbp)
140028975:	4c 89 75 58          	mov    %r14,0x58(%rbp)
140028979:	4d 8d 75 08          	lea    0x8(%r13),%r14
14002897d:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
140028981:	75 19                	jne    0x14002899c
140028983:	48 8b c7             	mov    %rdi,%rax
140028986:	48 f7 d8             	neg    %rax
140028989:	41 8b 06             	mov    (%r14),%eax
14002898c:	1b ff                	sbb    %edi,%edi
14002898e:	f7 d7                	not    %edi
140028990:	81 e7 57 00 07 80    	and    $0x80070057,%edi
140028996:	41 39 45 18          	cmp    %eax,0x18(%r13)
14002899a:	72 60                	jb     0x1400289fc
14002899c:	bf 03 01 07 80       	mov    $0x80070103,%edi
1400289a1:	48 3b d1             	cmp    %rcx,%rdx
1400289a4:	0f 84 e3 01 00 00    	je     0x140028b8d
1400289aa:	f6 42 1c 10          	testb  $0x10,0x1c(%rdx)
1400289ae:	0f 84 d9 01 00 00    	je     0x140028b8d
1400289b4:	8b 06                	mov    (%rsi),%eax
1400289b6:	ff c0                	inc    %eax
1400289b8:	8d 0c 80             	lea    (%rax,%rax,4),%ecx
1400289bb:	81 f9 e1 01 00 00    	cmp    $0x1e1,%ecx
1400289c1:	77 0a                	ja     0x1400289cd
1400289c3:	8b c1                	mov    %ecx,%eax
1400289c5:	4d 8b c7             	mov    %r15,%r8
1400289c8:	4c 2b c0             	sub    %rax,%r8
1400289cb:	eb 03                	jmp    0x1400289d0
1400289cd:	45 33 c0             	xor    %r8d,%r8d
1400289d0:	41 0f b6 09          	movzbl (%r9),%ecx
1400289d4:	4f 8d 0c 10          	lea    (%r8,%r10,1),%r9
1400289d8:	41 8b 06             	mov    (%r14),%eax
1400289db:	89 7c 24 38          	mov    %edi,0x38(%rsp)
1400289df:	89 44 24 30          	mov    %eax,0x30(%rsp)
1400289e3:	41 8b 45 18          	mov    0x18(%r13),%eax
1400289e7:	89 44 24 28          	mov    %eax,0x28(%rsp)
1400289eb:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
1400289ef:	48 8b 4a 10          	mov    0x10(%rdx),%rcx
1400289f3:	e8 a8 ea ff ff       	call   0x1400274a0
1400289f8:	4d 8d 4d 1c          	lea    0x1c(%r13),%r9
1400289fc:	85 ff                	test   %edi,%edi
1400289fe:	0f 88 89 01 00 00    	js     0x140028b8d
140028a04:	41 8b 45 18          	mov    0x18(%r13),%eax
140028a08:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140028a0c:	41 8b 16             	mov    (%r14),%edx
140028a0f:	44 8b c0             	mov    %eax,%r8d
140028a12:	4d 03 45 10          	add    0x10(%r13),%r8
140028a16:	2b d0                	sub    %eax,%edx
140028a18:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140028a1d:	45 33 c9             	xor    %r9d,%r9d
140028a20:	e8 6b 18 00 00       	call   0x14002a290
140028a25:	8b f8                	mov    %eax,%edi
140028a27:	85 c0                	test   %eax,%eax
140028a29:	79 2b                	jns    0x140028a56
140028a2b:	48 8b 0d 16 56 01 00 	mov    0x15616(%rip),%rcx        # 0x14003e048
140028a32:	48 8d 05 0f 56 01 00 	lea    0x1560f(%rip),%rax        # 0x14003e048
140028a39:	48 3b c8             	cmp    %rax,%rcx
140028a3c:	0f 84 4b 01 00 00    	je     0x140028b8d
140028a42:	f6 41 1c 10          	testb  $0x10,0x1c(%rcx)
140028a46:	0f 84 41 01 00 00    	je     0x140028b8d
140028a4c:	ba 1d 00 00 00       	mov    $0x1d,%edx
140028a51:	e9 05 01 00 00       	jmp    0x140028b5b
140028a56:	48 8d 55 40          	lea    0x40(%rbp),%rdx
140028a5a:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140028a5e:	e8 ad 14 00 00       	call   0x140029f10
140028a63:	44 8b 75 40          	mov    0x40(%rbp),%r14d
140028a67:	8b f8                	mov    %eax,%edi
140028a69:	45 85 f6             	test   %r14d,%r14d
140028a6c:	75 65                	jne    0x140028ad3
140028a6e:	bf ff ff 00 80       	mov    $0x8000ffff,%edi
140028a73:	4c 8b 15 ce 55 01 00 	mov    0x155ce(%rip),%r10        # 0x14003e048