140406e2a:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
140406e2f:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140406e34:	48 8b 51 28          	mov    0x28(%rcx),%rdx
140406e38:	e8 13 07 01 00       	call   0x140417550
140406e3d:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140406e42:	41 83 7f 28 17       	cmpl   $0x17,0x28(%r15)
140406e47:	75 51                	jne    0x140406e9a
140406e49:	41 83 7e 18 00       	cmpl   $0x0,0x18(%r14)
140406e4e:	75 4a                	jne    0x140406e9a
140406e50:	49 8b 76 30          	mov    0x30(%r14),%rsi
140406e54:	41 0f b7 7f 24       	movzwl 0x24(%r15),%edi
140406e59:	48 8b ce             	mov    %rsi,%rcx
140406e5c:	41 0f b6 5f 18       	movzbl 0x18(%r15),%ebx
140406e61:	e8 4a 42 01 00       	call   0x14041b0b0
140406e66:	4d 8b 04 24          	mov    (%r12),%r8
140406e6a:	32 c3                	xor    %bl,%al
140406e6c:	41 8b 54 24 08       	mov    0x8(%r12),%edx
140406e71:	44 0f b6 c8          	movzbl %al,%r9d
140406e75:	41 2b d0             	sub    %r8d,%edx
140406e78:	66 89 7c 24 28       	mov    %di,0x28(%rsp)
140406e7d:	48 8b ce             	mov    %rsi,%rcx
140406e80:	c6 44 24 20 17       	movb   $0x17,0x20(%rsp)
140406e85:	e8 86 48 01 00       	call   0x14041b710
140406e8a:	84 c0                	test   %al,%al
140406e8c:	b0 01                	mov    $0x1,%al
140406e8e:	75 0c                	jne    0x140406e9c
140406e90:	41 c7 46 18 01 00 00 	movl   $0x1,0x18(%r14)
140406e97:	00
140406e98:	eb 02                	jmp    0x140406e9c
140406e9a:	b0 01                	mov    $0x1,%al
140406e9c:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140406ea1:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140406ea6:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140406eab:	48 83 c4 30          	add    $0x30,%rsp
140406eaf:	41 5f                	pop    %r15
140406eb1:	41 5e                	pop    %r14
140406eb3:	41 5c                	pop    %r12
140406eb5:	c3                   	ret
140406eb6:	cc                   	int3
140406eb7:	cc                   	int3
140406eb8:	cc                   	int3
140406eb9:	cc                   	int3
140406eba:	cc                   	int3
140406ebb:	cc                   	int3
140406ebc:	cc                   	int3
140406ebd:	cc                   	int3
140406ebe:	cc                   	int3
140406ebf:	cc                   	int3
140406ec0:	48 8b c4             	mov    %rsp,%rax
140406ec3:	48 89 58 18          	mov    %rbx,0x18(%rax)
140406ec7:	4c 89 48 20          	mov    %r9,0x20(%rax)
140406ecb:	66 89 50 10          	mov    %dx,0x10(%rax)
140406ecf:	48 89 48 08          	mov    %rcx,0x8(%rax)
140406ed3:	55                   	push   %rbp
140406ed4:	56                   	push   %rsi
140406ed5:	57                   	push   %rdi
140406ed6:	41 54                	push   %r12
140406ed8:	41 55                	push   %r13
140406eda:	41 56                	push   %r14
140406edc:	41 57                	push   %r15
140406ede:	48 8d 68 c1          	lea    -0x3f(%rax),%rbp
140406ee2:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
140406ee9:	0f 29 70 b8          	movaps %xmm6,-0x48(%rax)
140406eed:	0f 28 f2             	movaps %xmm2,%xmm6
140406ef0:	4c 8b f1             	mov    %rcx,%r14
140406ef3:	45 33 ed             	xor    %r13d,%r13d
140406ef6:	44 89 6d 87          	mov    %r13d,-0x79(%rbp)
140406efa:	0f b7 c2             	movzwl %dx,%eax
140406efd:	b9 00 ff 00 00       	mov    $0xff00,%ecx
140406f02:	66 23 c1             	and    %cx,%ax
140406f05:	b9 00 7f 00 00       	mov    $0x7f00,%ecx
140406f0a:	66 3b c1             	cmp    %cx,%ax
140406f0d:	74 3d                	je     0x140406f4c
140406f0f:	0f b7 ca             	movzwl %dx,%ecx
140406f12:	81 f9 03 03 00 00    	cmp    $0x303,%ecx
140406f18:	77 19                	ja     0x140406f33
140406f1a:	74 30                	je     0x140406f4c
140406f1c:	83 e9 02             	sub    $0x2,%ecx
140406f1f:	74 2b                	je     0x140406f4c
140406f21:	81 e9 fe 02 00 00    	sub    $0x2fe,%ecx
140406f27:	74 23                	je     0x140406f4c
140406f29:	83 e9 01             	sub    $0x1,%ecx
140406f2c:	74 1e                	je     0x140406f4c
140406f2e:	83 f9 01             	cmp    $0x1,%ecx
140406f31:	eb 13                	jmp    0x140406f46
140406f33:	81 e9 04 03 00 00    	sub    $0x304,%ecx
140406f39:	74 11                	je     0x140406f4c
140406f3b:	81 e9 f9 fb 00 00    	sub    $0xfbf9,%ecx
140406f41:	74 09                	je     0x140406f4c
140406f43:	83 f9 02             	cmp    $0x2,%ecx
140406f46:	74 04                	je     0x140406f4c
140406f48:	32 c0                	xor    %al,%al
140406f4a:	eb 02                	jmp    0x140406f4e
140406f4c:	b0 01                	mov    $0x1,%al
140406f4e:	0f b7 f2             	movzwl %dx,%esi
140406f51:	49 8b 7e 30          	mov    0x30(%r14),%rdi
140406f55:	48 8d 4d a7          	lea    -0x59(%rbp),%rcx
140406f59:	84 c0                	test   %al,%al
140406f5b:	75 42                	jne    0x140406f9f
140406f5d:	48 8d 45 a7          	lea    -0x59(%rbp),%rax
140406f61:	48 89 45 97          	mov    %rax,-0x69(%rbp)
140406f65:	e8 26 02 35 00       	call   0x140757190
140406f6a:	48 8b d8             	mov    %rax,%rbx
140406f6d:	8b d6                	mov    %esi,%edx
140406f6f:	48 8d 0d d2 87 be 00 	lea    0xbe87d2(%rip),%rcx        # 0x140fef748
140406f76:	e8 95 09 46 00       	call   0x140867910
140406f7b:	90                   	nop
140406f7c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140406f81:	45 33 c9             	xor    %r9d,%r9d
140406f84:	45 33 c0             	xor    %r8d,%r8d
140406f87:	48 8b d0             	mov    %rax,%rdx
140406f8a:	48 8b cf             	mov    %rdi,%rcx
140406f8d:	e8 0e a1 ff ff       	call   0x1404010a0
140406f92:	49 8b 46 30          	mov    0x30(%r14),%rax
140406f96:	c6 80 a9 00 00 00 01 	movb   $0x1,0xa9(%rax)
140406f9d:	eb 10                	jmp    0x140406faf
140406f9f:	e8 ec 01 35 00       	call   0x140757190
140406fa4:	48 8b d0             	mov    %rax,%rdx
140406fa7:	48 8b cf             	mov    %rdi,%rcx
140406faa:	e8 c1 f2 12 00       	call   0x140536270
140406faf:	48 8b 0d ba ff 01 01 	mov    0x101ffba(%rip),%rcx        # 0x141426f70
140406fb6:	48 85 c9             	test   %rcx,%rcx
140406fb9:	0f 84 7b 05 00 00    	je     0x14040753a
140406fbf:	e8 6c e5 40 00       	call   0x140815530
140406fc4:	84 c0                	test   %al,%al
140406fc6:	0f 84 6e 05 00 00    	je     0x14040753a
140406fcc:	0f 57 c0             	xorps  %xmm0,%xmm0
140406fcf:	f3 0f 7f 45 a7       	movdqu %xmm0,-0x59(%rbp)
140406fd4:	49 8b cd             	mov    %r13,%rcx
140406fd7:	48 89 4d b7          	mov    %rcx,-0x49(%rbp)
140406fdb:	48 8b 5d 6f          	mov    0x6f(%rbp),%rbx
140406fdf:	48 85 db             	test   %rbx,%rbx
140406fe2:	74 4b                	je     0x14040702f
140406fe4:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
140406fe8:	48 8b 1b             	mov    (%rbx),%rbx
140406feb:	48 3b df             	cmp    %rdi,%rbx
140406fee:	74 5f                	je     0x14040704f
140406ff0:	48 8b 55 af          	mov    -0x51(%rbp),%rdx
140406ff4:	0f b7 03             	movzwl (%rbx),%eax
140406ff7:	89 45 87             	mov    %eax,-0x79(%rbp)
140406ffa:	48 3b d1             	cmp    %rcx,%rdx
140406ffd:	74 10                	je     0x14040700f
140406fff:	89 02                	mov    %eax,(%rdx)
140407001:	48 8b 55 af          	mov    -0x51(%rbp),%rdx
140407005:	48 83 c2 04          	add    $0x4,%rdx
140407009:	48 89 55 af          	mov    %rdx,-0x51(%rbp)
14040700d:	eb 11                	jmp    0x140407020
14040700f:	4c 8d 45 87          	lea    -0x79(%rbp),%r8
140407013:	48 8d 4d a7          	lea    -0x59(%rbp),%rcx
140407017:	e8 94 9c e4 ff       	call   0x140250cb0
14040701c:	48 8b 55 af          	mov    -0x51(%rbp),%rdx
140407020:	48 83 c3 02          	add    $0x2,%rbx
140407024:	48 3b df             	cmp    %rdi,%rbx
140407027:	74 26                	je     0x14040704f
140407029:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
14040702d:	eb c5                	jmp    0x140406ff4
14040702f:	48 8b 55 77          	mov    0x77(%rbp),%rdx
140407033:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140407037:	48 8b 12             	mov    (%rdx),%rdx
14040703a:	0f b6 45 4f          	movzbl 0x4f(%rbp),%eax
14040703e:	88 44 24 20          	mov    %al,0x20(%rsp)
140407042:	4c 8d 4d a7          	lea    -0x59(%rbp),%r9
140407046:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
14040704a:	e8 11 cd ff ff       	call   0x140403d60
14040704f:	b9 50 00 00 00       	mov    $0x50,%ecx
140407054:	e8 af 40 a1 00       	call   0x140e1b108
140407059:	4c 8b c0             	mov    %rax,%r8
14040705c:	48 89 45 97          	mov    %rax,-0x69(%rbp)
140407060:	48 85 c0             	test   %rax,%rax
140407063:	74 3d                	je     0x1404070a2
140407065:	48 8b 0d 0c a9 02 01 	mov    0x102a90c(%rip),%rcx        # 0x141431978
14040706c:	48 89 4d 87          	mov    %rcx,-0x79(%rbp)
140407070:	48 85 c9             	test   %rcx,%rcx
140407073:	74 1c                	je     0x140407091
140407075:	8b 41 10             	mov    0x10(%rcx),%eax
140407078:	ff c0                	inc    %eax
14040707a:	89 41 10             	mov    %eax,0x10(%rcx)
14040707d:	83 f8 01             	cmp    $0x1,%eax
140407080:	0f 8e e4 04 00 00    	jle    0x14040756a
140407086:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14040708b:	0f 84 e1 04 00 00    	je     0x140407572
140407091:	48 8d 55 87          	lea    -0x79(%rbp),%rdx
140407095:	49 8b c8             	mov    %r8,%rcx
140407098:	e8 93 b7 32 00       	call   0x140732830
14040709d:	4c 8b f8             	mov    %rax,%r15
1404070a0:	eb 03                	jmp    0x1404070a5
1404070a2:	4d 8b fd             	mov    %r13,%r15
1404070a5:	4c 89 7d bf          	mov    %r15,-0x41(%rbp)
1404070a9:	4c 89 7d 97          	mov    %r15,-0x69(%rbp)
1404070ad:	bf 00 01 00 00       	mov    $0x100,%edi
1404070b2:	89 7d 87             	mov    %edi,-0x79(%rbp)
1404070b5:	45 8b f5             	mov    %r13d,%r14d
1404070b8:	48 8b 45 af          	mov    -0x51(%rbp),%rax
1404070bc:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
1404070c0:	48 2b c1             	sub    %rcx,%rax
1404070c3:	48 c1 f8 02          	sar    $0x2,%rax
1404070c7:	48 85 c0             	test   %rax,%rax
1404070ca:	0f 84 86 01 00 00    	je     0x140407256
1404070d0:	49 8b d5             	mov    %r13,%rdx
1404070d3:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
1404070d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1404070de:	00 00
1404070e0:	48 63 04 91          	movslq (%rcx,%rdx,4),%rax
1404070e4:	48 8b 0d 8d bd 02 01 	mov    0x102bd8d(%rip),%rcx        # 0x141432e78
1404070eb:	48 83 f8 01          	cmp    $0x1,%rax
1404070ef:	72 14                	jb     0x140407105
1404070f1:	48 8b d0             	mov    %rax,%rdx
1404070f4:	48 8d 4d 9f          	lea    -0x61(%rbp),%rcx
1404070f8:	e8 d3 7a 33 00       	call   0x14073ebd0
1404070fd:	83 cf 20             	or     $0x20,%edi
140407100:	48 8b 30             	mov    (%rax),%rsi
140407103:	eb 2c                	jmp    0x140407131
140407105:	48 8b 5c c1 40       	mov    0x40(%rcx,%rax,8),%rbx
14040710a:	48 85 db             	test   %rbx,%rbx
14040710d:	74 1c                	je     0x14040712b
14040710f:	8b 43 10             	mov    0x10(%rbx),%eax
140407112:	ff c0                	inc    %eax
140407114:	89 43 10             	mov    %eax,0x10(%rbx)
140407117:	83 f8 01             	cmp    $0x1,%eax
14040711a:	0f 8e 70 04 00 00    	jle    0x140407590
140407120:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140407125:	0f 84 5a 04 00 00    	je     0x140407585
14040712b:	83 cf 40             	or     $0x40,%edi
14040712e:	48 8b f3             	mov    %rbx,%rsi
140407131:	89 7d 87             	mov    %edi,-0x79(%rbp)
140407134:	48 89 75 c7          	mov    %rsi,-0x39(%rbp)
140407138:	48 85 f6             	test   %rsi,%rsi
14040713b:	74 1c                	je     0x140407159
14040713d:	8b 46 10             	mov    0x10(%rsi),%eax
140407140:	ff c0                	inc    %eax
140407142:	89 46 10             	mov    %eax,0x10(%rsi)
140407145:	83 f8 01             	cmp    $0x1,%eax
140407148:	0f 8e 55 04 00 00    	jle    0x1404075a3
14040714e:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140407153:	0f 84 3f 04 00 00    	je     0x140407598
140407159:	0f ba ef 07          	bts    $0x7,%edi
14040715d:	89 7d 87             	mov    %edi,-0x79(%rbp)
140407160:	40 f6 c7 40          	test   $0x40,%dil
140407164:	74 32                	je     0x140407198
140407166:	83 e7 bf             	and    $0xffffffbf,%edi
140407169:	89 7d 87             	mov    %edi,-0x79(%rbp)
14040716c:	48 85 db             	test   %rbx,%rbx
14040716f:	74 27                	je     0x140407198
140407171:	8b 43 10             	mov    0x10(%rbx),%eax
140407174:	ff c8                	dec    %eax
140407176:	89 43 10             	mov    %eax,0x10(%rbx)
140407179:	85 c0                	test   %eax,%eax
14040717b:	7f 1b                	jg     0x140407198
14040717d:	0f 88 28 04 00 00    	js     0x1404075ab
140407183:	48 8b 03             	mov    (%rbx),%rax
140407186:	ba 01 00 00 00       	mov    $0x1,%edx
14040718b:	48 8b cb             	mov    %rbx,%rcx
14040718e:	48 8b 00             	mov    (%rax),%rax
140407191:	ff 15 89 c8 b7 00    	call   *0xb7c889(%rip)        # 0x140f83a20
140407197:	90                   	nop
140407198:	40 f6 c7 20          	test   $0x20,%dil
14040719c:	74 33                	je     0x1404071d1
14040719e:	83 e7 df             	and    $0xffffffdf,%edi
1404071a1:	89 7d 87             	mov    %edi,-0x79(%rbp)
1404071a4:	48 8b 4d 9f          	mov    -0x61(%rbp),%rcx
1404071a8:	48 85 c9             	test   %rcx,%rcx
1404071ab:	74 24                	je     0x1404071d1
1404071ad:	8b 41 10             	mov    0x10(%rcx),%eax
1404071b0:	ff c8                	dec    %eax
1404071b2:	89 41 10             	mov    %eax,0x10(%rcx)
1404071b5:	85 c0                	test   %eax,%eax
1404071b7:	7f 18                	jg     0x1404071d1
1404071b9:	0f 88 f7 03 00 00    	js     0x1404075b6
1404071bf:	48 8b 01             	mov    (%rcx),%rax
1404071c2:	ba 01 00 00 00       	mov    $0x1,%edx
1404071c7:	48 8b 00             	mov    (%rax),%rax
1404071ca:	ff 15 50 c8 b7 00    	call   *0xb7c850(%rip)        # 0x140f83a20
1404071d0:	90                   	nop
1404071d1:	48 89 75 8f          	mov    %rsi,-0x71(%rbp)
1404071d5:	48 85 f6             	test   %rsi,%rsi
1404071d8:	74 1c                	je     0x1404071f6
1404071da:	8b 46 10             	mov    0x10(%rsi),%eax
1404071dd:	ff c0                	inc    %eax
1404071df:	89 46 10             	mov    %eax,0x10(%rsi)
1404071e2:	83 f8 01             	cmp    $0x1,%eax
1404071e5:	0f 8e e1 03 00 00    	jle    0x1404075cc
1404071eb:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1404071f0:	0f 84 cb 03 00 00    	je     0x1404075c1
1404071f6:	4c 8d 45 8f          	lea    -0x71(%rbp),%r8
1404071fa:	41 8b d6             	mov    %r14d,%edx
1404071fd:	49 8b cf             	mov    %r15,%rcx
140407200:	e8 fb e1 32 00       	call   0x140735400
140407205:	0f ba f7 07          	btr    $0x7,%edi
140407209:	89 7d 87             	mov    %edi,-0x79(%rbp)
14040720c:	48 85 f6             	test   %rsi,%rsi
14040720f:	74 27                	je     0x140407238
140407211:	8b 46 10             	mov    0x10(%rsi),%eax
140407214:	ff c8                	dec    %eax
140407216:	89 46 10             	mov    %eax,0x10(%rsi)
140407219:	85 c0                	test   %eax,%eax
14040721b:	7f 1b                	jg     0x140407238
14040721d:	0f 88 b1 03 00 00    	js     0x1404075d4
140407223:	48 8b 06             	mov    (%rsi),%rax
140407226:	ba 01 00 00 00       	mov    $0x1,%edx
14040722b:	48 8b ce             	mov    %rsi,%rcx
14040722e:	48 8b 00             	mov    (%rax),%rax
140407231:	ff 15 e9 c7 b7 00    	call   *0xb7c7e9(%rip)        # 0x140f83a20
140407237:	90                   	nop
140407238:	41 ff c6             	inc    %r14d
14040723b:	41 8b d6             	mov    %r14d,%edx
14040723e:	48 8b 45 af          	mov    -0x51(%rbp),%rax
140407242:	48 8b 4d a7          	mov    -0x59(%rbp),%rcx
140407246:	48 2b c1             	sub    %rcx,%rax
140407249:	48 c1 f8 02          	sar    $0x2,%rax
14040724d:	48 3b d0             	cmp    %rax,%rdx
140407250:	0f 82 8a fe ff ff    	jb     0x1404070e0
140407256:	b9 50 00 00 00       	mov    $0x50,%ecx
14040725b:	e8 a8 3e a1 00       	call   0x140e1b108
140407260:	4c 8b c0             	mov    %rax,%r8
140407263:	48 89 45 c7          	mov    %rax,-0x39(%rbp)
140407267:	48 85 c0             	test   %rax,%rax
14040726a:	74 3d                	je     0x1404072a9
14040726c:	48 8b 0d 05 a7 02 01 	mov    0x102a705(%rip),%rcx        # 0x141431978
140407273:	48 89 4d 8f          	mov    %rcx,-0x71(%rbp)
140407277:	48 85 c9             	test   %rcx,%rcx
14040727a:	74 1c                	je     0x140407298
14040727c:	8b 41 10             	mov    0x10(%rcx),%eax
14040727f:	ff c0                	inc    %eax
140407281:	89 41 10             	mov    %eax,0x10(%rcx)
140407284:	83 f8 01             	cmp    $0x1,%eax
140407287:	0f 8e f0 02 00 00    	jle    0x14040757d
14040728d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140407292:	0f 84 47 03 00 00    	je     0x1404075df
140407298:	48 8d 55 8f          	lea    -0x71(%rbp),%rdx
14040729c:	49 8b c8             	mov    %r8,%rcx
14040729f:	e8 8c b5 32 00       	call   0x140732830
1404072a4:	4c 8b e0             	mov    %rax,%r12
1404072a7:	eb 03                	jmp    0x1404072ac
1404072a9:	4d 8b e5             	mov    %r13,%r12
1404072ac:	4c 89 65 c7          	mov    %r12,-0x39(%rbp)
1404072b0:	83 cf 10             	or     $0x10,%edi
1404072b3:	89 7d 87             	mov    %edi,-0x79(%rbp)
1404072b6:	4c 8b 7d 7f          	mov    0x7f(%rbp),%r15
1404072ba:	4d 85 ff             	test   %r15,%r15
1404072bd:	0f 84 8b 01 00 00    	je     0x14040744e
1404072c3:	45 8b f5             	mov    %r13d,%r14d
1404072c6:	49 8b 0f             	mov    (%r15),%rcx
1404072c9:	49 39 4f 08          	cmp    %rcx,0x8(%r15)
1404072cd:	0f 84 7b 01 00 00    	je     0x14040744e
1404072d3:	49 8b d5             	mov    %r13,%rdx
1404072d6:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
1404072da:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1404072e0:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
1404072e4:	48 8b 0d 8d bb 02 01 	mov    0x102bb8d(%rip),%rcx        # 0x141432e78
1404072eb:	48 83 f8 01          	cmp    $0x1,%rax