140552d32:	33 ff                	xor    %edi,%edi
140552d34:	48 8b 09             	mov    (%rcx),%rcx
140552d37:	8b 41 18             	mov    0x18(%rcx),%eax
140552d3a:	83 f8 13             	cmp    $0x13,%eax
140552d3d:	0f 85 90 01 00 00    	jne    0x140552ed3
140552d43:	e8 98 79 1f 00       	call   0x14074a6e0
140552d48:	4c 8b e8             	mov    %rax,%r13
140552d4b:	48 8b d8             	mov    %rax,%rbx
140552d4e:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
140552d52:	48 85 c0             	test   %rax,%rax
140552d55:	74 1d                	je     0x140552d74
140552d57:	8b 48 10             	mov    0x10(%rax),%ecx
140552d5a:	ff c1                	inc    %ecx
140552d5c:	89 48 10             	mov    %ecx,0x10(%rax)
140552d5f:	83 f9 01             	cmp    $0x1,%ecx
140552d62:	0f 8e 8a 08 00 00    	jle    0x1405535f2
140552d68:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
140552d6e:	0f 84 86 08 00 00    	je     0x1405535fa
140552d74:	b9 50 00 00 00       	mov    $0x50,%ecx
140552d79:	e8 8a 83 8c 00       	call   0x140e1b108
140552d7e:	48 89 45 a7          	mov    %rax,-0x59(%rbp)
140552d82:	48 85 c0             	test   %rax,%rax
140552d85:	74 1f                	je     0x140552da6
140552d87:	48 8b df             	mov    %rdi,%rbx
140552d8a:	48 89 5d 7f          	mov    %rbx,0x7f(%rbp)
140552d8e:	4c 89 6d 67          	mov    %r13,0x67(%rbp)
140552d92:	48 8d 55 67          	lea    0x67(%rbp),%rdx
140552d96:	48 8b c8             	mov    %rax,%rcx
140552d99:	e8 92 fa 1d 00       	call   0x140732830
140552d9e:	4c 8b f8             	mov    %rax,%r15
140552da1:	48 8b c7             	mov    %rdi,%rax
140552da4:	eb 06                	jmp    0x140552dac
140552da6:	4c 8b ff             	mov    %rdi,%r15
140552da9:	49 8b c5             	mov    %r13,%rax
140552dac:	4c 89 7d a7          	mov    %r15,-0x59(%rbp)
140552db0:	48 85 c0             	test   %rax,%rax
140552db3:	74 27                	je     0x140552ddc
140552db5:	8b 43 10             	mov    0x10(%rbx),%eax
140552db8:	ff c8                	dec    %eax
140552dba:	89 43 10             	mov    %eax,0x10(%rbx)
140552dbd:	85 c0                	test   %eax,%eax
140552dbf:	7f 1b                	jg     0x140552ddc
140552dc1:	0f 88 3e 08 00 00    	js     0x140553605
140552dc7:	48 8b 03             	mov    (%rbx),%rax
140552dca:	ba 01 00 00 00       	mov    $0x1,%edx
140552dcf:	48 8b cb             	mov    %rbx,%rcx
140552dd2:	48 8b 00             	mov    (%rax),%rax
140552dd5:	ff 15 45 0c a3 00    	call   *0xa30c45(%rip)        # 0x140f83a20
140552ddb:	90                   	nop
140552ddc:	49 8b 34 24          	mov    (%r12),%rsi
140552de0:	4d 8b 64 24 08       	mov    0x8(%r12),%r12
140552de5:	49 3b f4             	cmp    %r12,%rsi
140552de8:	0f 84 ae 00 00 00    	je     0x140552e9c
140552dee:	48 8d 45 b7          	lea    -0x49(%rbp),%rax
140552df2:	48 89 45 97          	mov    %rax,-0x69(%rbp)
140552df6:	48 8d 45 b7          	lea    -0x49(%rbp),%rax
140552dfa:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
140552dfe:	66 90                	xchg   %ax,%ax
140552e00:	49 8b cd             	mov    %r13,%rcx
140552e03:	e8 98 d0 1f 00       	call   0x14074fea0
140552e08:	48 8b 18             	mov    (%rax),%rbx
140552e0b:	c6 45 df ff          	movb   $0xff,-0x21(%rbp)
140552e0f:	48 0f be 4e 28       	movsbq 0x28(%rsi),%rcx
140552e14:	48 ff c1             	inc    %rcx
140552e17:	4c 8b c6             	mov    %rsi,%r8
140552e1a:	48 8d 55 9f          	lea    -0x61(%rbp),%rdx
140552e1e:	e8 3d dc fe ff       	call   0x140540a60
140552e23:	90                   	nop
140552e24:	4c 8b c3             	mov    %rbx,%r8
140552e27:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140552e2b:	48 8d 4d 67          	lea    0x67(%rbp),%rcx
140552e2f:	e8 4c 1b 00 00       	call   0x140554980
140552e34:	90                   	nop
140552e35:	48 8b 45 67          	mov    0x67(%rbp),%rax
140552e39:	48 85 c0             	test   %rax,%rax
140552e3c:	74 66                	je     0x140552ea4
140552e3e:	48 89 7d 67          	mov    %rdi,0x67(%rbp)
140552e42:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
140552e46:	49 8b 47 30          	mov    0x30(%r15),%rax
140552e4a:	48 8b 50 08          	mov    0x8(%rax),%rdx
140552e4e:	48 2b 10             	sub    (%rax),%rdx
140552e51:	48 c1 fa 04          	sar    $0x4,%rdx
140552e55:	4c 8d 45 7f          	lea    0x7f(%rbp),%r8
140552e59:	49 8b cf             	mov    %r15,%rcx
140552e5c:	e8 9f 25 1e 00       	call   0x140735400
140552e61:	90                   	nop
140552e62:	48 8b 4d 67          	mov    0x67(%rbp),%rcx
140552e66:	48 85 c9             	test   %rcx,%rcx
140552e69:	74 24                	je     0x140552e8f
140552e6b:	8b 41 10             	mov    0x10(%rcx),%eax
140552e6e:	ff c8                	dec    %eax
140552e70:	89 41 10             	mov    %eax,0x10(%rcx)
140552e73:	85 c0                	test   %eax,%eax
140552e75:	7f 18                	jg     0x140552e8f
140552e77:	0f 88 93 07 00 00    	js     0x140553610
140552e7d:	48 8b 01             	mov    (%rcx),%rax
140552e80:	ba 01 00 00 00       	mov    $0x1,%edx
140552e85:	48 8b 00             	mov    (%rax),%rax
140552e88:	ff 15 92 0b a3 00    	call   *0xa30b92(%rip)        # 0x140f83a20
140552e8e:	90                   	nop
140552e8f:	48 83 c6 30          	add    $0x30,%rsi
140552e93:	49 3b f4             	cmp    %r12,%rsi
140552e96:	0f 85 64 ff ff ff    	jne    0x140552e00
140552e9c:	4d 89 3e             	mov    %r15,(%r14)
140552e9f:	e9 7f 06 00 00       	jmp    0x140553523
140552ea4:	49 89 3e             	mov    %rdi,(%r14)
140552ea7:	4d 85 ff             	test   %r15,%r15
140552eaa:	0f 84 7e 05 00 00    	je     0x14055342e
140552eb0:	41 8b 47 10          	mov    0x10(%r15),%eax
140552eb4:	ff c8                	dec    %eax
140552eb6:	41 89 47 10          	mov    %eax,0x10(%r15)
140552eba:	85 c0                	test   %eax,%eax
140552ebc:	0f 8f 6c 05 00 00    	jg     0x14055342e
140552ec2:	0f 88 53 07 00 00    	js     0x14055361b
140552ec8:	49 8b 07             	mov    (%r15),%rax
140552ecb:	49 8b cf             	mov    %r15,%rcx
140552ece:	e9 4c 05 00 00       	jmp    0x14055341f
140552ed3:	83 f8 10             	cmp    $0x10,%eax
140552ed6:	0f 85 87 01 00 00    	jne    0x140553063
140552edc:	e8 5f 77 1f 00       	call   0x14074a640
140552ee1:	4c 8b e8             	mov    %rax,%r13
140552ee4:	48 8b 40 40          	mov    0x40(%rax),%rax
140552ee8:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
140552eec:	48 85 c0             	test   %rax,%rax
140552eef:	75 40                	jne    0x140552f31
140552ef1:	4d 8b 45 50          	mov    0x50(%r13),%r8
140552ef5:	4d 2b 45 48          	sub    0x48(%r13),%r8
140552ef9:	49 c1 f8 03          	sar    $0x3,%r8
140552efd:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
140552f02:	49 2b 0c 24          	sub    (%r12),%rcx
140552f06:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140552f0d:	aa aa 2a
140552f10:	48 f7 e9             	imul   %rcx
140552f13:	48 c1 fa 03          	sar    $0x3,%rdx
140552f17:	48 8b c2             	mov    %rdx,%rax
140552f1a:	48 c1 e8 3f          	shr    $0x3f,%rax
140552f1e:	48 03 d0             	add    %rax,%rdx
140552f21:	49 3b d0             	cmp    %r8,%rdx
140552f24:	0f 87 f6 05 00 00    	ja     0x140553520
140552f2a:	bb 0d 00 00 00       	mov    $0xd,%ebx
140552f2f:	eb 03                	jmp    0x140552f34
140552f31:	8b 58 18             	mov    0x18(%rax),%ebx
140552f34:	b9 40 00 00 00       	mov    $0x40,%ecx
140552f39:	e8 ca 81 8c 00       	call   0x140e1b108
140552f3e:	48 89 45 67          	mov    %rax,0x67(%rbp)
140552f42:	48 85 c0             	test   %rax,%rax
140552f45:	74 0f                	je     0x140552f56
140552f47:	8b d3                	mov    %ebx,%edx
140552f49:	48 8b c8             	mov    %rax,%rcx
140552f4c:	e8 af e7 1d 00       	call   0x140731700
140552f51:	48 8b f0             	mov    %rax,%rsi
140552f54:	eb 03                	jmp    0x140552f59
140552f56:	48 8b f7             	mov    %rdi,%rsi
140552f59:	48 89 75 af          	mov    %rsi,-0x51(%rbp)
140552f5d:	44 8b ff             	mov    %edi,%r15d
140552f60:	89 7d 67             	mov    %edi,0x67(%rbp)
140552f63:	49 8b 1c 24          	mov    (%r12),%rbx
140552f67:	49 8b 44 24 08       	mov    0x8(%r12),%rax
140552f6c:	48 89 45 a7          	mov    %rax,-0x59(%rbp)
140552f70:	48 3b d8             	cmp    %rax,%rbx
140552f73:	0f 84 bb 00 00 00    	je     0x140553034
140552f79:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
140552f7d:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
140552f81:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
140552f85:	48 89 45 9f          	mov    %rax,-0x61(%rbp)
140552f89:	4c 8b 65 7f          	mov    0x7f(%rbp),%r12
140552f8d:	0f 1f 00             	nopl   (%rax)
140552f90:	4d 85 e4             	test   %r12,%r12
140552f93:	74 06                	je     0x140552f9b
140552f95:	4d 8b 7d 40          	mov    0x40(%r13),%r15
140552f99:	eb 0b                	jmp    0x140552fa6
140552f9b:	41 8b cf             	mov    %r15d,%ecx
140552f9e:	49 8b 45 48          	mov    0x48(%r13),%rax
140552fa2:	4c 8b 3c c8          	mov    (%rax,%rcx,8),%r15
140552fa6:	c6 45 0f ff          	movb   $0xff,0xf(%rbp)
140552faa:	48 0f be 4b 28       	movsbq 0x28(%rbx),%rcx
140552faf:	48 ff c1             	inc    %rcx
140552fb2:	4c 8b c3             	mov    %rbx,%r8
140552fb5:	48 8d 55 9f          	lea    -0x61(%rbp),%rdx
140552fb9:	e8 a2 da fe ff       	call   0x140540a60
140552fbe:	90                   	nop
140552fbf:	4d 8b c7             	mov    %r15,%r8
140552fc2:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
140552fc6:	48 8d 4d 7f          	lea    0x7f(%rbp),%rcx
140552fca:	e8 b1 19 00 00       	call   0x140554980
140552fcf:	90                   	nop
140552fd0:	44 8b 7d 67          	mov    0x67(%rbp),%r15d
140552fd4:	41 ff c7             	inc    %r15d
140552fd7:	44 89 7d 67          	mov    %r15d,0x67(%rbp)
140552fdb:	48 8b 45 7f          	mov    0x7f(%rbp),%rax
140552fdf:	48 85 c0             	test   %rax,%rax
140552fe2:	74 58                	je     0x14055303c
140552fe4:	48 89 7d 7f          	mov    %rdi,0x7f(%rbp)
140552fe8:	48 89 45 97          	mov    %rax,-0x69(%rbp)
140552fec:	48 8d 55 97          	lea    -0x69(%rbp),%rdx
140552ff0:	48 8b ce             	mov    %rsi,%rcx
140552ff3:	e8 c8 14 1e 00       	call   0x1407344c0
140552ff8:	90                   	nop
140552ff9:	48 8b 4d 7f          	mov    0x7f(%rbp),%rcx
140552ffd:	48 85 c9             	test   %rcx,%rcx
140553000:	74 24                	je     0x140553026
140553002:	8b 41 10             	mov    0x10(%rcx),%eax
140553005:	ff c8                	dec    %eax
140553007:	89 41 10             	mov    %eax,0x10(%rcx)
14055300a:	85 c0                	test   %eax,%eax
14055300c:	7f 18                	jg     0x140553026
14055300e:	0f 88 12 06 00 00    	js     0x140553626
140553014:	48 8b 01             	mov    (%rcx),%rax
140553017:	ba 01 00 00 00       	mov    $0x1,%edx
14055301c:	48 8b 00             	mov    (%rax),%rax
14055301f:	ff 15 fb 09 a3 00    	call   *0xa309fb(%rip)        # 0x140f83a20
140553025:	90                   	nop
140553026:	48 83 c3 30          	add    $0x30,%rbx
14055302a:	48 3b 5d a7          	cmp    -0x59(%rbp),%rbx
14055302e:	0f 85 5c ff ff ff    	jne    0x140552f90
140553034:	49 89 36             	mov    %rsi,(%r14)
140553037:	e9 e7 04 00 00       	jmp    0x140553523
14055303c:	49 89 3e             	mov    %rdi,(%r14)
14055303f:	48 85 f6             	test   %rsi,%rsi
140553042:	0f 84 e6 03 00 00    	je     0x14055342e
140553048:	8b 46 10             	mov    0x10(%rsi),%eax
14055304b:	ff c8                	dec    %eax
14055304d:	89 46 10             	mov    %eax,0x10(%rsi)
140553050:	85 c0                	test   %eax,%eax
140553052:	0f 8f d6 03 00 00    	jg     0x14055342e
140553058:	0f 88 7e 05 00 00    	js     0x1405535dc
14055305e:	e9 b6 03 00 00       	jmp    0x140553419
140553063:	83 f8 11             	cmp    $0x11,%eax
140553066:	0f 85 58 01 00 00    	jne    0x1405531c4
14055306c:	49 8b 18             	mov    (%r8),%rbx
14055306f:	49 8b 48 08          	mov    0x8(%r8),%rcx
140553073:	48 2b cb             	sub    %rbx,%rcx
140553076:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
14055307d:	aa aa 2a
140553080:	48 f7 e9             	imul   %rcx
140553083:	48 c1 fa 03          	sar    $0x3,%rdx
140553087:	48 8b c2             	mov    %rdx,%rax
14055308a:	48 c1 e8 3f          	shr    $0x3f,%rax
14055308e:	48 ff c8             	dec    %rax
140553091:	48 03 c2             	add    %rdx,%rax
140553094:	48 83 f8 01          	cmp    $0x1,%rax
140553098:	0f 87 82 04 00 00    	ja     0x140553520
14055309e:	48 85 db             	test   %rbx,%rbx
1405530a1:	0f 84 79 04 00 00    	je     0x140553520
1405530a7:	80 7b 28 05          	cmpb   $0x5,0x28(%rbx)
1405530ab:	0f 85 6f 04 00 00    	jne    0x140553520
1405530b1:	48 8d 4d 67          	lea    0x67(%rbp),%rcx
1405530b5:	e8 66 99 21 00       	call   0x14076ca20
1405530ba:	90                   	nop
1405530bb:	48 8b 08             	mov    (%rax),%rcx
1405530be:	48 8b d3             	mov    %rbx,%rdx
1405530c1:	48 83 7b 18 0f       	cmpq   $0xf,0x18(%rbx)
1405530c6:	76 03                	jbe    0x1405530cb
1405530c8:	48 8b 13             	mov    (%rbx),%rdx
1405530cb:	48 8b 43 10          	mov    0x10(%rbx),%rax
1405530cf:	48 89 55 b7          	mov    %rdx,-0x49(%rbp)
1405530d3:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
1405530d7:	0f 28 45 b7          	movaps -0x49(%rbp),%xmm0
1405530db:	66 0f 7f 45 b7       	movdqa %xmm0,-0x49(%rbp)
1405530e0:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
1405530e4:	e8 67 96 21 00       	call   0x14076c750
1405530e9:	48 8b d8             	mov    %rax,%rbx
1405530ec:	4c 8b 45 67          	mov    0x67(%rbp),%r8
1405530f0:	4d 85 c0             	test   %r8,%r8
1405530f3:	74 29                	je     0x14055311e
1405530f5:	41 8b 48 10          	mov    0x10(%r8),%ecx
1405530f9:	ff c9                	dec    %ecx
1405530fb:	41 89 48 10          	mov    %ecx,0x10(%r8)
1405530ff:	85 c9                	test   %ecx,%ecx
140553101:	7f 1b                	jg     0x14055311e
140553103:	0f 88 28 05 00 00    	js     0x140553631
140553109:	49 8b 00             	mov    (%r8),%rax
14055310c:	ba 01 00 00 00       	mov    $0x1,%edx
140553111:	49 8b c8             	mov    %r8,%rcx
140553114:	48 8b 00             	mov    (%rax),%rax
140553117:	ff 15 03 09 a3 00    	call   *0xa30903(%rip)        # 0x140f83a20
14055311d:	90                   	nop
14055311e:	48 8b 03             	mov    (%rbx),%rax
140553121:	48 85 c0             	test   %rax,%rax
140553124:	0f 84 f6 03 00 00    	je     0x140553520
14055312a:	48 8d 70 50          	lea    0x50(%rax),%rsi
14055312e:	48 8b 0e             	mov    (%rsi),%rcx
140553131:	48 85 c9             	test   %rcx,%rcx
140553134:	0f 84 e6 03 00 00    	je     0x140553520
14055313a:	48 8b 41 18          	mov    0x18(%rcx),%rax
14055313e:	48 85 c0             	test   %rax,%rax
140553141:	0f 84 d9 03 00 00    	je     0x140553520
140553147:	83 78 18 11          	cmpl   $0x11,0x18(%rax)
14055314b:	0f 85 cf 03 00 00    	jne    0x140553520
140553151:	49 8b 1c 24          	mov    (%r12),%rbx
140553155:	49 8b 44 24 08       	mov    0x8(%r12),%rax
14055315a:	48 2b c3             	sub    %rbx,%rax
14055315d:	48 83 e8 60          	sub    $0x60,%rax
140553161:	48 83 f8 30          	cmp    $0x30,%rax
140553165:	73 4d                	jae    0x1405531b4
140553167:	48 83 c3 30          	add    $0x30,%rbx
14055316b:	0f 84 af 03 00 00    	je     0x140553520
140553171:	80 7b 28 0e          	cmpb   $0xe,0x28(%rbx)
140553175:	0f 85 a5 03 00 00    	jne    0x140553520
14055317b:	89 7c 24 20          	mov    %edi,0x20(%rsp)
14055317f:	4c 8d 0d ea 7f e6 00 	lea    0xe67fea(%rip),%r9        # 0x1413bb170
140553186:	4c 8d 05 e3 5f e8 00 	lea    0xe85fe3(%rip),%r8        # 0x1413d9170
14055318d:	33 d2                	xor    %edx,%edx
14055318f:	48 8b 49 20          	mov    0x20(%rcx),%rcx
140553193:	e8 94 a9 8c 00       	call   0x140e1db2c
140553198:	48 85 c0             	test   %rax,%rax
14055319b:	0f 84 7f 03 00 00    	je     0x140553520
1405531a1:	48 8b d3             	mov    %rbx,%rdx
1405531a4:	48 8b c8             	mov    %rax,%rcx
1405531a7:	e8 94 57 25 00       	call   0x1407a8940
1405531ac:	84 c0                	test   %al,%al
1405531ae:	0f 84 6c 03 00 00    	je     0x140553520
1405531b4:	48 8b d6             	mov    %rsi,%rdx
1405531b7:	49 8b ce             	mov    %r14,%rcx
1405531ba:	e8 11 cc c4 ff       	call   0x14019fdd0
1405531bf:	e9 5f 03 00 00       	jmp    0x140553523
1405531c4:	83 f8 0f             	cmp    $0xf,%eax
1405531c7:	0f 85 6e 02 00 00    	jne    0x14055343b
1405531cd:	e8 6e 73 1f 00       	call   0x14074a540
1405531d2:	4c 8b e8             	mov    %rax,%r13
1405531d5:	48 8b d8             	mov    %rax,%rbx
1405531d8:	48 89 45 7f          	mov    %rax,0x7f(%rbp)
1405531dc:	48 85 c0             	test   %rax,%rax
1405531df:	74 1d                	je     0x1405531fe
1405531e1:	8b 48 10             	mov    0x10(%rax),%ecx
1405531e4:	ff c1                	inc    %ecx
1405531e6:	89 48 10             	mov    %ecx,0x10(%rax)
1405531e9:	83 f9 01             	cmp    $0x1,%ecx
1405531ec:	0f 8e 4a 04 00 00    	jle    0x14055363c
1405531f2:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
1405531f8:	0f 84 46 04 00 00    	je     0x140553644
1405531fe:	b9 50 00 00 00       	mov    $0x50,%ecx
140553203:	e8 00 7f 8c 00       	call   0x140e1b108
140553208:	48 89 45 b7          	mov    %rax,-0x49(%rbp)
14055320c:	48 85 c0             	test   %rax,%rax
14055320f:	74 22                	je     0x140553233
140553211:	48 8b df             	mov    %rdi,%rbx
140553214:	48 89 5d 7f          	mov    %rbx,0x7f(%rbp)
140553218:	4c 89 6d 67          	mov    %r13,0x67(%rbp)
14055321c:	41 b0 01             	mov    $0x1,%r8b
14055321f:	48 8d 55 67          	lea    0x67(%rbp),%rdx
140553223:	48 8b c8             	mov    %rax,%rcx
140553226:	e8 95 e7 1d 00       	call   0x1407319c0
14055322b:	48 8b f0             	mov    %rax,%rsi
14055322e:	48 8b c7             	mov    %rdi,%rax
140553231:	eb 06                	jmp    0x140553239
140553233:	48 8b f7             	mov    %rdi,%rsi
140553236:	49 8b c5             	mov    %r13,%rax
140553239:	48 89 75 b7          	mov    %rsi,-0x49(%rbp)
14055323d:	48 85 c0             	test   %rax,%rax