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
140028a7a:	48 8d 05 c7 55 01 00 	lea    0x155c7(%rip),%rax        # 0x14003e048
140028a81:	4c 3b d0             	cmp    %rax,%r10
140028a84:	0f 84 03 01 00 00    	je     0x140028b8d
140028a8a:	41 f6 42 1c 10       	testb  $0x10,0x1c(%r10)
140028a8f:	0f 84 f8 00 00 00    	je     0x140028b8d
140028a95:	8b 06                	mov    (%rsi),%eax
140028a97:	ff c0                	inc    %eax
140028a99:	8d 0c 80             	lea    (%rax,%rax,4),%ecx
140028a9c:	81 f9 e1 01 00 00    	cmp    $0x1e1,%ecx
140028aa2:	77 0a                	ja     0x140028aae
140028aa4:	8b c1                	mov    %ecx,%eax
140028aa6:	49 8b cf             	mov    %r15,%rcx
140028aa9:	48 2b c8             	sub    %rax,%rcx
140028aac:	eb 02                	jmp    0x140028ab0
140028aae:	33 c9                	xor    %ecx,%ecx
140028ab0:	4c 8d 0d 99 da 00 00 	lea    0xda99(%rip),%r9        # 0x140036550
140028ab7:	89 7c 24 20          	mov    %edi,0x20(%rsp)
140028abb:	4c 03 c9             	add    %rcx,%r9
140028abe:	4c 8d 05 b3 f1 00 00 	lea    0xf1b3(%rip),%r8        # 0x140037c78
140028ac5:	49 8b 4a 10          	mov    0x10(%r10),%rcx
140028ac9:	ba 1e 00 00 00       	mov    $0x1e,%edx
140028ace:	e8 a1 91 fd ff       	call   0x140001c74
140028ad3:	85 ff                	test   %edi,%edi
140028ad5:	0f 88 b2 00 00 00    	js     0x140028b8d
140028adb:	41 8b 4d 18          	mov    0x18(%r13),%ecx
140028adf:	41 83 c9 ff          	or     $0xffffffff,%r9d
140028ae3:	42 8d 04 31          	lea    (%rcx,%r14,1),%eax
140028ae7:	3b c1                	cmp    %ecx,%eax
140028ae9:	44 0f 43 c8          	cmovae %eax,%r9d
140028aed:	1b ff                	sbb    %edi,%edi
140028aef:	81 e7 16 02 07 80    	and    $0x80070216,%edi
140028af5:	45 89 4d 18          	mov    %r9d,0x18(%r13)
140028af9:	3b c1                	cmp    %ecx,%eax
140028afb:	73 2d                	jae    0x140028b2a
140028afd:	48 8b 0d 44 55 01 00 	mov    0x15544(%rip),%rcx        # 0x14003e048
140028b04:	48 8d 05 3d 55 01 00 	lea    0x1553d(%rip),%rax        # 0x14003e048
140028b0b:	48 3b c8             	cmp    %rax,%rcx
140028b0e:	74 7d                	je     0x140028b8d
140028b10:	f6 41 1c 10          	testb  $0x10,0x1c(%rcx)
140028b14:	74 77                	je     0x140028b8d
140028b16:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140028b1a:	89 7c 24 28          	mov    %edi,0x28(%rsp)
140028b1e:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
140028b23:	e8 3c e8 ff ff       	call   0x140027364
140028b28:	eb 63                	jmp    0x140028b8d
140028b2a:	48 8d 55 58          	lea    0x58(%rbp),%rdx
140028b2e:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140028b32:	e8 b9 15 00 00       	call   0x14002a0f0
140028b37:	8b f8                	mov    %eax,%edi
140028b39:	85 c0                	test   %eax,%eax
140028b3b:	79 33                	jns    0x140028b70
140028b3d:	48 8b 0d 04 55 01 00 	mov    0x15504(%rip),%rcx        # 0x14003e048
140028b44:	48 8d 05 fd 54 01 00 	lea    0x154fd(%rip),%rax        # 0x14003e048
140028b4b:	48 3b c8             	cmp    %rax,%rcx
140028b4e:	74 3d                	je     0x140028b8d
140028b50:	f6 41 1c 10          	testb  $0x10,0x1c(%rcx)
140028b54:	74 37                	je     0x140028b8d
140028b56:	ba 20 00 00 00       	mov    $0x20,%edx
140028b5b:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140028b5f:	4c 8d 05 12 f1 00 00 	lea    0xf112(%rip),%r8        # 0x140037c78
140028b66:	44 8b cf             	mov    %edi,%r9d
140028b69:	e8 4a e5 ff ff       	call   0x1400270b8
140028b6e:	eb 1d                	jmp    0x140028b8d
140028b70:	48 8b 45 58          	mov    0x58(%rbp),%rax
140028b74:	48 8b 4d 48          	mov    0x48(%rbp),%rcx
140028b78:	48 83 65 58 00       	andq   $0x0,0x58(%rbp)
140028b7d:	48 89 01             	mov    %rax,(%rcx)
140028b80:	4d 85 e4             	test   %r12,%r12
140028b83:	74 08                	je     0x140028b8d
140028b85:	41 8a 45 1c          	mov    0x1c(%r13),%al
140028b89:	41 88 04 24          	mov    %al,(%r12)
140028b8d:	48 8b 4d 58          	mov    0x58(%rbp),%rcx
140028b91:	e8 5e 8b 00 00       	call   0x1400316f4
140028b96:	48 8b 0d ab 54 01 00 	mov    0x154ab(%rip),%rcx        # 0x14003e048
140028b9d:	48 8d 05 a4 54 01 00 	lea    0x154a4(%rip),%rax        # 0x14003e048
140028ba4:	48 3b c8             	cmp    %rax,%rcx
140028ba7:	74 45                	je     0x140028bee
140028ba9:	f6 41 1c 01          	testb  $0x1,0x1c(%rcx)
140028bad:	74 3f                	je     0x140028bee
140028baf:	8b 06                	mov    (%rsi),%eax
140028bb1:	8d 14 80             	lea    (%rax,%rax,4),%edx
140028bb4:	81 fa e1 01 00 00    	cmp    $0x1e1,%edx
140028bba:	77 07                	ja     0x140028bc3
140028bbc:	8b c2                	mov    %edx,%eax
140028bbe:	4c 2b f8             	sub    %rax,%r15
140028bc1:	eb 03                	jmp    0x140028bc6
140028bc3:	45 33 ff             	xor    %r15d,%r15d
140028bc6:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140028bca:	4c 8d 0d 7f d9 00 00 	lea    0xd97f(%rip),%r9        # 0x140036550
140028bd1:	4d 03 cf             	add    %r15,%r9
140028bd4:	89 7c 24 28          	mov    %edi,0x28(%rsp)
140028bd8:	ba 21 00 00 00       	mov    $0x21,%edx
140028bdd:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140028be2:	4c 8d 05 8f f0 00 00 	lea    0xf08f(%rip),%r8        # 0x140037c78
140028be9:	e8 0e 95 fd ff       	call   0x1400020fc
140028bee:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
140028bf2:	e8 71 0f 00 00       	call   0x140029b68
140028bf7:	83 c8 ff             	or     $0xffffffff,%eax
140028bfa:	01 06                	add    %eax,(%rsi)
140028bfc:	3b d8                	cmp    %eax,%ebx
140028bfe:	74 23                	je     0x140028c23
140028c00:	8b cb                	mov    %ebx,%ecx
140028c02:	48 ff 15 cf cb 00 00 	rex.W call *0xcbcf(%rip)        # 0x1400357d8
140028c09:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028c0e:	48 85 c0             	test   %rax,%rax
140028c11:	74 10                	je     0x140028c23
140028c13:	33 d2                	xor    %edx,%edx
140028c15:	8b cb                	mov    %ebx,%ecx
140028c17:	48 ff 15 7a cb 00 00 	rex.W call *0xcb7a(%rip)        # 0x140035798
140028c1e:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140028c23:	48 8b 9c 24 b0 00 00 	mov    0xb0(%rsp),%rbx
140028c2a:	00
140028c2b:	8b c7                	mov    %edi,%eax
140028c2d:	48 83 c4 60          	add    $0x60,%rsp
140028c31:	41 5f                	pop    %r15
140028c33:	41 5e                	pop    %r14
140028c35:	41 5d                	pop    %r13
140028c37:	41 5c                	pop    %r12
140028c39:	5f                   	pop    %rdi
140028c3a:	5e                   	pop    %rsi
140028c3b:	5d                   	pop    %rbp
140028c3c:	c3                   	ret
140028c3d:	cc                   	int3
140028c3e:	cc                   	int3
140028c3f:	cc                   	int3
140028c40:	cc                   	int3
140028c41:	cc                   	int3
140028c42:	cc                   	int3
140028c43:	cc                   	int3
140028c44:	cc                   	int3
140028c45:	cc                   	int3
140028c46:	cc                   	int3
140028c47:	cc                   	int3
140028c48:	cc                   	int3
140028c49:	cc                   	int3
140028c4a:	cc                   	int3
140028c4b:	cc                   	int3
140028c4c:	cc                   	int3
140028c4d:	cc                   	int3
140028c4e:	cc                   	int3
140028c4f:	cc                   	int3
140028c50:	48 83 ec 28          	sub    $0x28,%rsp
140028c54:	48 85 c9             	test   %rcx,%rcx
140028c57:	74 12                	je     0x140028c6b
140028c59:	48 8b 01             	mov    (%rcx),%rax
140028c5c:	ba 01 00 00 00       	mov    $0x1,%edx
140028c61:	48 8b 40 10          	mov    0x10(%rax),%rax
140028c65:	ff 15 5d d1 00 00    	call   *0xd15d(%rip)        # 0x140035dc8
140028c6b:	48 83 c4 28          	add    $0x28,%rsp
140028c6f:	c3                   	ret
140028c70:	cc                   	int3
140028c71:	cc                   	int3
140028c72:	cc                   	int3
140028c73:	cc                   	int3
140028c74:	cc                   	int3
140028c75:	cc                   	int3
140028c76:	cc                   	int3
140028c77:	cc                   	int3
140028c78:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
140028c7f:	4d 85 c9             	test   %r9,%r9
140028c82:	74 13                	je     0x140028c97
140028c84:	49 83 ca ff          	or     $0xffffffffffffffff,%r10
140028c88:	49 ff c2             	inc    %r10
140028c8b:	43 80 3c 11 00       	cmpb   $0x0,(%r9,%r10,1)
140028c90:	75 f6                	jne    0x140028c88
140028c92:	49 ff c2             	inc    %r10
140028c95:	eb 06                	jmp    0x140028c9d
140028c97:	41 ba 05 00 00 00    	mov    $0x5,%r10d
140028c9d:	4d 85 c9             	test   %r9,%r9
140028ca0:	48 8d 05 f1 db 00 00 	lea    0xdbf1(%rip),%rax        # 0x140036898
140028ca7:	41 bb 04 00 00 00    	mov    $0x4,%r11d
140028cad:	49 0f 45 c1          	cmovne %r9,%rax
140028cb1:	48 83 64 24 70 00    	andq   $0x0,0x70(%rsp)
140028cb7:	4c 89 5c 24 68       	mov    %r11,0x68(%rsp)
140028cbc:	4c 8d 8c 24 c8 00 00 	lea    0xc8(%rsp),%r9