140718e68:	48 85 ff             	test   %rdi,%rdi
140718e6b:	74 33                	je     0x140718ea0
140718e6d:	48 8b 0f             	mov    (%rdi),%rcx
140718e70:	48 8b 41 10          	mov    0x10(%rcx),%rax
140718e74:	48 8b cf             	mov    %rdi,%rcx
140718e77:	ff 15 a3 ab 86 00    	call   *0x86aba3(%rip)        # 0x140f83a20
140718e7d:	4c 8b c0             	mov    %rax,%r8
140718e80:	48 85 c0             	test   %rax,%rax
140718e83:	74 1b                	je     0x140718ea0
140718e85:	48 8b 08             	mov    (%rax),%rcx
140718e88:	48 8b 01             	mov    (%rcx),%rax
140718e8b:	41 8b d5             	mov    %r13d,%edx
140718e8e:	49 8b c8             	mov    %r8,%rcx
140718e91:	ff 15 89 ab 86 00    	call   *0x86ab89(%rip)        # 0x140f83a20
140718e97:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140718e9e:	00 00
140718ea0:	32 c9                	xor    %cl,%cl
140718ea2:	88 4c 24 20          	mov    %cl,0x20(%rsp)
140718ea6:	33 ff                	xor    %edi,%edi
140718ea8:	33 ed                	xor    %ebp,%ebp
140718eaa:	c7 44 24 30 fe ff ff 	movl   $0xfffffffe,0x30(%rsp)
140718eb1:	ff
140718eb2:	4d 8b e5             	mov    %r13,%r12
140718eb5:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
140718eba:	48 85 f6             	test   %rsi,%rsi
140718ebd:	0f 84 36 03 00 00    	je     0x1407191f9
140718ec3:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
140718ec8:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140718ecd:	0f 1f 00             	nopl   (%rax)
140718ed0:	41 0f b6 04 3e       	movzbl (%r14,%rdi,1),%eax
140718ed5:	84 c0                	test   %al,%al
140718ed7:	74 1c                	je     0x140718ef5
140718ed9:	41 0f b6 0e          	movzbl (%r14),%ecx
140718edd:	0f 1f 00             	nopl   (%rax)
140718ee0:	3a c1                	cmp    %cl,%al
140718ee2:	74 0c                	je     0x140718ef0
140718ee4:	48 ff c7             	inc    %rdi
140718ee7:	41 0f b6 04 3e       	movzbl (%r14,%rdi,1),%eax
140718eec:	84 c0                	test   %al,%al
140718eee:	75 f0                	jne    0x140718ee0
140718ef0:	0f b6 4c 24 20       	movzbl 0x20(%rsp),%ecx
140718ef5:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
140718efa:	49 83 f8 0f          	cmp    $0xf,%r8
140718efe:	49 0f 47 c5          	cmova  %r13,%rax
140718f02:	80 3c 28 00          	cmpb   $0x0,(%rax,%rbp,1)
140718f06:	74 1a                	je     0x140718f22
140718f08:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
140718f0d:	49 83 f8 0f          	cmp    $0xf,%r8
140718f11:	49 0f 47 c5          	cmova  %r13,%rax
140718f15:	48 0f be 04 28       	movsbq (%rax,%rbp,1),%rax
140718f1a:	48 03 f8             	add    %rax,%rdi
140718f1d:	e9 14 02 00 00       	jmp    0x140719136
140718f22:	49 03 fc             	add    %r12,%rdi
140718f25:	41 0f b6 04 3e       	movzbl (%r14,%rdi,1),%eax
140718f2a:	41 3a 06             	cmp    (%r14),%al
140718f2d:	0f 84 cc 01 00 00    	je     0x1407190ff
140718f33:	84 c0                	test   %al,%al
140718f35:	0f 84 c4 01 00 00    	je     0x1407190ff
140718f3b:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
140718f3f:	75 44                	jne    0x140718f85
140718f41:	48 8b 0b             	mov    (%rbx),%rcx
140718f44:	48 85 c9             	test   %rcx,%rcx
140718f47:	74 31                	je     0x140718f7a
140718f49:	48 8b 41 38          	mov    0x38(%rcx),%rax
140718f4d:	48 8b 10             	mov    (%rax),%rdx
140718f50:	48 85 d2             	test   %rdx,%rdx
140718f53:	74 0e                	je     0x140718f63
140718f55:	48 8b 41 50          	mov    0x50(%rcx),%rax
140718f59:	83 38 00             	cmpl   $0x0,(%rax)
140718f5c:	7e 05                	jle    0x140718f63
140718f5e:	0f b6 02             	movzbl (%rdx),%eax
140718f61:	eb 0d                	jmp    0x140718f70
140718f63:	48 8b 01             	mov    (%rcx),%rax
140718f66:	48 8b 40 30          	mov    0x30(%rax),%rax
140718f6a:	ff 15 b0 aa 86 00    	call   *0x86aab0(%rip)        # 0x140f83a20
140718f70:	83 f8 ff             	cmp    $0xffffffff,%eax
140718f73:	74 05                	je     0x140718f7a
140718f75:	88 43 09             	mov    %al,0x9(%rbx)
140718f78:	eb 07                	jmp    0x140718f81
140718f7a:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
140718f81:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140718f85:	41 80 7f 08 00       	cmpb   $0x0,0x8(%r15)
140718f8a:	75 46                	jne    0x140718fd2
140718f8c:	49 8b 0f             	mov    (%r15),%rcx
140718f8f:	48 85 c9             	test   %rcx,%rcx
140718f92:	74 32                	je     0x140718fc6
140718f94:	48 8b 41 38          	mov    0x38(%rcx),%rax
140718f98:	48 8b 10             	mov    (%rax),%rdx
140718f9b:	48 85 d2             	test   %rdx,%rdx
140718f9e:	74 0e                	je     0x140718fae
140718fa0:	48 8b 41 50          	mov    0x50(%rcx),%rax
140718fa4:	83 38 00             	cmpl   $0x0,(%rax)
140718fa7:	7e 05                	jle    0x140718fae
140718fa9:	0f b6 02             	movzbl (%rdx),%eax
140718fac:	eb 0d                	jmp    0x140718fbb
140718fae:	48 8b 01             	mov    (%rcx),%rax
140718fb1:	48 8b 40 30          	mov    0x30(%rax),%rax
140718fb5:	ff 15 65 aa 86 00    	call   *0x86aa65(%rip)        # 0x140f83a20
140718fbb:	83 f8 ff             	cmp    $0xffffffff,%eax
140718fbe:	74 06                	je     0x140718fc6
140718fc0:	41 88 47 09          	mov    %al,0x9(%r15)
140718fc4:	eb 07                	jmp    0x140718fcd
140718fc6:	49 c7 07 00 00 00 00 	movq   $0x0,(%r15)
140718fcd:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140718fd2:	48 8b 0b             	mov    (%rbx),%rcx
140718fd5:	49 8b 07             	mov    (%r15),%rax
140718fd8:	48 85 c9             	test   %rcx,%rcx
140718fdb:	75 10                	jne    0x140718fed
140718fdd:	48 85 c0             	test   %rax,%rax
140718fe0:	75 10                	jne    0x140718ff2
140718fe2:	48 83 7c 24 28 0f    	cmpq   $0xf,0x28(%rsp)
140718fe8:	e9 1a 01 00 00       	jmp    0x140719107
140718fed:	48 85 c0             	test   %rax,%rax
140718ff0:	75 f0                	jne    0x140718fe2
140718ff2:	80 bc 24 f0 00 00 00 	cmpb   $0x1,0xf0(%rsp)
140718ff9:	01
140718ffa:	75 63                	jne    0x14071905f
140718ffc:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
140719000:	75 4e                	jne    0x140719050
140719002:	48 85 c9             	test   %rcx,%rcx
140719005:	74 3e                	je     0x140719045
140719007:	48 8b 41 38          	mov    0x38(%rcx),%rax
14071900b:	48 8b 10             	mov    (%rax),%rdx
14071900e:	48 85 d2             	test   %rdx,%rdx
140719011:	74 0e                	je     0x140719021
140719013:	48 8b 41 50          	mov    0x50(%rcx),%rax
140719017:	83 38 00             	cmpl   $0x0,(%rax)
14071901a:	7e 05                	jle    0x140719021
14071901c:	0f b6 02             	movzbl (%rdx),%eax
14071901f:	eb 0d                	jmp    0x14071902e
140719021:	48 8b 01             	mov    (%rcx),%rax
140719024:	48 8b 40 30          	mov    0x30(%rax),%rax
140719028:	ff 15 f2 a9 86 00    	call   *0x86a9f2(%rip)        # 0x140f83a20
14071902e:	83 f8 ff             	cmp    $0xffffffff,%eax
140719031:	74 12                	je     0x140719045
140719033:	88 43 09             	mov    %al,0x9(%rbx)
140719036:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
14071903a:	33 c9                	xor    %ecx,%ecx
14071903c:	41 38 04 3e          	cmp    %al,(%r14,%rdi,1)
140719040:	e9 a2 00 00 00       	jmp    0x1407190e7
140719045:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
14071904c:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
140719050:	33 c9                	xor    %ecx,%ecx
140719052:	0f b6 43 09          	movzbl 0x9(%rbx),%eax
140719056:	41 38 04 3e          	cmp    %al,(%r14,%rdi,1)
14071905a:	e9 88 00 00 00       	jmp    0x1407190e7
14071905f:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140719064:	48 8b 01             	mov    (%rcx),%rax
140719067:	41 0f b6 14 3e       	movzbl (%r14,%rdi,1),%edx
14071906c:	48 8b 40 20          	mov    0x20(%rax),%rax
140719070:	ff 15 aa a9 86 00    	call   *0x86a9aa(%rip)        # 0x140f83a20
140719076:	0f b6 f0             	movzbl %al,%esi
140719079:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
14071907d:	75 48                	jne    0x1407190c7
14071907f:	48 8b 13             	mov    (%rbx),%rdx
140719082:	48 85 d2             	test   %rdx,%rdx
140719085:	74 35                	je     0x1407190bc
140719087:	48 8b 4a 38          	mov    0x38(%rdx),%rcx
14071908b:	4c 8b 01             	mov    (%rcx),%r8
14071908e:	4d 85 c0             	test   %r8,%r8
140719091:	74 0f                	je     0x1407190a2
140719093:	48 8b 4a 50          	mov    0x50(%rdx),%rcx
140719097:	83 39 00             	cmpl   $0x0,(%rcx)
14071909a:	7e 06                	jle    0x1407190a2
14071909c:	41 0f b6 00          	movzbl (%r8),%eax
1407190a0:	eb 10                	jmp    0x1407190b2
1407190a2:	48 8b 02             	mov    (%rdx),%rax
1407190a5:	48 8b ca             	mov    %rdx,%rcx
1407190a8:	48 8b 40 30          	mov    0x30(%rax),%rax
1407190ac:	ff 15 6e a9 86 00    	call   *0x86a96e(%rip)        # 0x140f83a20
1407190b2:	83 f8 ff             	cmp    $0xffffffff,%eax
1407190b5:	74 05                	je     0x1407190bc
1407190b7:	88 43 09             	mov    %al,0x9(%rbx)
1407190ba:	eb 07                	jmp    0x1407190c3
1407190bc:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
1407190c3:	c6 43 08 01          	movb   $0x1,0x8(%rbx)
1407190c7:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
1407190cc:	48 8b 01             	mov    (%rcx),%rax
1407190cf:	0f b6 53 09          	movzbl 0x9(%rbx),%edx
1407190d3:	48 8b 40 20          	mov    0x20(%rax),%rax
1407190d7:	ff 15 43 a9 86 00    	call   *0x86a943(%rip)        # 0x140f83a20
1407190dd:	33 c9                	xor    %ecx,%ecx
1407190df:	40 3a f0             	cmp    %al,%sil
1407190e2:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1407190e7:	0f 95 c1             	setne  %cl
1407190ea:	85 c9                	test   %ecx,%ecx
1407190ec:	0f 85 f0 fe ff ff    	jne    0x140718fe2
1407190f2:	b1 01                	mov    $0x1,%cl
1407190f4:	88 4c 24 20          	mov    %cl,0x20(%rsp)
1407190f8:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
1407190fd:	eb 37                	jmp    0x140719136
1407190ff:	49 83 f8 0f          	cmp    $0xf,%r8
140719103:	89 6c 24 30          	mov    %ebp,0x30(%rsp)
140719107:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
14071910c:	49 0f 47 d5          	cmova  %r13,%rdx
140719110:	b9 7f 00 00 00       	mov    $0x7f,%ecx
140719115:	4c 3b e1             	cmp    %rcx,%r12
140719118:	41 0f b6 c4          	movzbl %r12b,%eax
14071911c:	0f 42 c8             	cmovb  %eax,%ecx
14071911f:	88 0c 2a             	mov    %cl,(%rdx,%rbp,1)
140719122:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
140719127:	0f b6 4c 24 20       	movzbl 0x20(%rsp),%ecx
14071912c:	4c 8b 6c 24 58       	mov    0x58(%rsp),%r13
140719131:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140719136:	48 ff c5             	inc    %rbp
140719139:	48 3b ee             	cmp    %rsi,%rbp
14071913c:	0f 82 8e fd ff ff    	jb     0x140718ed0
140719142:	84 c9                	test   %cl,%cl
140719144:	0f 84 b6 00 00 00    	je     0x140719200
14071914a:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
14071914e:	75 08                	jne    0x140719158
140719150:	48 8b cb             	mov    %rbx,%rcx
140719153:	e8 d8 c3 00 00       	call   0x140725530
140719158:	41 80 7f 08 00       	cmpb   $0x0,0x8(%r15)
14071915d:	75 08                	jne    0x140719167
14071915f:	49 8b cf             	mov    %r15,%rcx
140719162:	e8 c9 c3 00 00       	call   0x140725530
140719167:	48 8b 0b             	mov    (%rbx),%rcx
14071916a:	49 8b 07             	mov    (%r15),%rax
14071916d:	48 85 c9             	test   %rcx,%rcx
140719170:	75 3e                	jne    0x1407191b0
140719172:	48 85 c0             	test   %rax,%rax
140719175:	0f 84 85 00 00 00    	je     0x140719200
14071917b:	4c 8b 64 24 48       	mov    0x48(%rsp),%r12
140719180:	49 ff c4             	inc    %r12
140719183:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
14071918a:	b0 01                	mov    $0x1,%al
14071918c:	88 43 08             	mov    %al,0x8(%rbx)
14071918f:	c7 44 24 30 ff ff ff 	movl   $0xffffffff,0x30(%rsp)
140719196:	ff
140719197:	4c 89 64 24 48       	mov    %r12,0x48(%rsp)
14071919c:	32 c9                	xor    %cl,%cl
14071919e:	88 4c 24 20          	mov    %cl,0x20(%rsp)
1407191a2:	33 ff                	xor    %edi,%edi
1407191a4:	33 ed                	xor    %ebp,%ebp
1407191a6:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
1407191ab:	e9 20 fd ff ff       	jmp    0x140718ed0
1407191b0:	48 85 c0             	test   %rax,%rax
1407191b3:	75 4b                	jne    0x140719200
1407191b5:	49 ff c4             	inc    %r12
1407191b8:	48 8b 41 38          	mov    0x38(%rcx),%rax
1407191bc:	48 83 38 00          	cmpq   $0x0,(%rax)
1407191c0:	74 21                	je     0x1407191e3
1407191c2:	48 8b 51 50          	mov    0x50(%rcx),%rdx
1407191c6:	8b 02                	mov    (%rdx),%eax
1407191c8:	85 c0                	test   %eax,%eax
1407191ca:	7e 17                	jle    0x1407191e3
1407191cc:	ff c8                	dec    %eax
1407191ce:	89 02                	mov    %eax,(%rdx)
1407191d0:	48 8b 49 38          	mov    0x38(%rcx),%rcx
1407191d4:	48 8b 11             	mov    (%rcx),%rdx
1407191d7:	48 8d 42 01          	lea    0x1(%rdx),%rax
1407191db:	48 89 01             	mov    %rax,(%rcx)
1407191de:	0f b6 02             	movzbl (%rdx),%eax
1407191e1:	eb 0d                	jmp    0x1407191f0
1407191e3:	48 8b 01             	mov    (%rcx),%rax
1407191e6:	48 8b 40 38          	mov    0x38(%rax),%rax
1407191ea:	ff 15 30 a8 86 00    	call   *0x86a830(%rip)        # 0x140f83a20
1407191f0:	83 f8 ff             	cmp    $0xffffffff,%eax
1407191f3:	74 8e                	je     0x140719183
1407191f5:	32 c0                	xor    %al,%al
1407191f7:	eb 93                	jmp    0x14071918c
1407191f9:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1407191fe:	eb 05                	jmp    0x140719205
140719200:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
140719205:	48 83 f8 0f          	cmp    $0xf,%rax
140719209:	76 2d                	jbe    0x140719238
14071920b:	48 8d 50 01          	lea    0x1(%rax),%rdx
14071920f:	49 8b c5             	mov    %r13,%rax
140719212:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140719219:	72 15                	jb     0x140719230
14071921b:	48 83 c2 27          	add    $0x27,%rdx
14071921f:	4d 8b 6d f8          	mov    -0x8(%r13),%r13
140719223:	49 2b c5             	sub    %r13,%rax
140719226:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14071922a:	48 83 f8 1f          	cmp    $0x1f,%rax
14071922e:	77 2d                	ja     0x14071925d
140719230:	49 8b cd             	mov    %r13,%rcx
140719233:	e8 0c 1f 70 00       	call   0x140e1b144
140719238:	8b 44 24 30          	mov    0x30(%rsp),%eax
14071923c:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140719241:	48 33 cc             	xor    %rsp,%rcx
140719244:	e8 b7 22 70 00       	call   0x140e1b500
140719249:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
140719250:	41 5f                	pop    %r15
140719252:	41 5e                	pop    %r14
140719254:	41 5d                	pop    %r13
140719256:	41 5c                	pop    %r12
140719258:	5f                   	pop    %rdi
140719259:	5e                   	pop    %rsi
14071925a:	5d                   	pop    %rbp
14071925b:	5b                   	pop    %rbx
14071925c:	c3                   	ret
14071925d:	e8 42 0f 71 00       	call   0x140e2a1a4
140719262:	cc                   	int3
140719263:	cc                   	int3
140719264:	cc                   	int3
140719265:	cc                   	int3
140719266:	cc                   	int3
140719267:	cc                   	int3
140719268:	cc                   	int3
140719269:	cc                   	int3
14071926a:	cc                   	int3
14071926b:	cc                   	int3
14071926c:	cc                   	int3
14071926d:	cc                   	int3
14071926e:	cc                   	int3
14071926f:	cc                   	int3
140719270:	48 83 ec 08          	sub    $0x8,%rsp
140719274:	44 8b 09             	mov    (%rcx),%r9d
140719277:	49 8b c0             	mov    %r8,%rax
14071927a:	48 2b c1             	sub    %rcx,%rax
14071927d:	48 c1 f8 02          	sar    $0x2,%rax
140719281:	48 83 f8 28          	cmp    $0x28,%rax
140719285:	0f 8e fa 00 00 00    	jle    0x140719385
14071928b:	48 ff c0             	inc    %rax
14071928e:	48 89 1c 24          	mov    %rbx,(%rsp)
140719292:	48 c1 f8 03          	sar    $0x3,%rax
140719296:	48 8d 1c 85 00 00 00 	lea    0x0(,%rax,4),%rbx
14071929d:	00
14071929e:	4c 8d 1c c5 00 00 00 	lea    0x0(,%rax,8),%r11
1407192a5:	00
1407192a6:	8b 04 0b             	mov    (%rbx,%rcx,1),%eax
1407192a9:	41 3b c1             	cmp    %r9d,%eax
1407192ac:	7d 06                	jge    0x1407192b4
1407192ae:	44 89 0c 0b          	mov    %r9d,(%rbx,%rcx,1)
1407192b2:	89 01                	mov    %eax,(%rcx)
1407192b4:	41 8b 04 0b          	mov    (%r11,%rcx,1),%eax
1407192b8:	44 8b 0c 0b          	mov    (%rbx,%rcx,1),%r9d
1407192bc:	41 3b c1             	cmp    %r9d,%eax
1407192bf:	7d 15                	jge    0x1407192d6
1407192c1:	45 89 0c 0b          	mov    %r9d,(%r11,%rcx,1)
1407192c5:	89 04 0b             	mov    %eax,(%rbx,%rcx,1)
1407192c8:	44 8b 09             	mov    (%rcx),%r9d
1407192cb:	41 3b c1             	cmp    %r9d,%eax
1407192ce:	7d 06                	jge    0x1407192d6
1407192d0:	44 89 0c 0b          	mov    %r9d,(%rbx,%rcx,1)
1407192d4:	89 01                	mov    %eax,(%rcx)
1407192d6:	44 8b 0a             	mov    (%rdx),%r9d
1407192d9:	48 8b c2             	mov    %rdx,%rax
1407192dc:	48 2b c3             	sub    %rbx,%rax
1407192df:	44 8b 10             	mov    (%rax),%r10d
1407192e2:	45 3b ca             	cmp    %r10d,%r9d
1407192e5:	7d 06                	jge    0x1407192ed
1407192e7:	44 89 12             	mov    %r10d,(%rdx)
1407192ea:	44 89 08             	mov    %r9d,(%rax)
1407192ed:	44 8b 0c 13          	mov    (%rbx,%rdx,1),%r9d
1407192f1:	44 8b 12             	mov    (%rdx),%r10d
1407192f4:	45 3b ca             	cmp    %r10d,%r9d
1407192f7:	7d 15                	jge    0x14071930e