140e16d73:	57                   	push   %rdi
140e16d74:	41 56                	push   %r14
140e16d76:	41 57                	push   %r15
140e16d78:	48 83 ec 40          	sub    $0x40,%rsp
140e16d7c:	49 8b f1             	mov    %r9,%rsi
140e16d7f:	49 8b e8             	mov    %r8,%rbp
140e16d82:	48 8b da             	mov    %rdx,%rbx
140e16d85:	45 33 ff             	xor    %r15d,%r15d
140e16d88:	44 89 78 d8          	mov    %r15d,-0x28(%rax)
140e16d8c:	0f 57 c0             	xorps  %xmm0,%xmm0
140e16d8f:	0f 11 02             	movups %xmm0,(%rdx)
140e16d92:	4c 89 7a 10          	mov    %r15,0x10(%rdx)
140e16d96:	48 c7 42 18 07 00 00 	movq   $0x7,0x18(%rdx)
140e16d9d:	00
140e16d9e:	66 44 89 3a          	mov    %r15w,(%rdx)
140e16da2:	c7 40 d8 01 00 00 00 	movl   $0x1,-0x28(%rax)
140e16da9:	49 8b f9             	mov    %r9,%rdi
140e16dac:	49 2b f8             	sub    %r8,%rdi
140e16daf:	48 d1 ff             	sar    $1,%rdi
140e16db2:	41 8b c7             	mov    %r15d,%eax
140e16db5:	0f 84 cc 00 00 00    	je     0x140e16e87
140e16dbb:	4c 8d 71 10          	lea    0x10(%rcx),%r14
140e16dbf:	41 8b cf             	mov    %r15d,%ecx
140e16dc2:	48 3b f9             	cmp    %rcx,%rdi
140e16dc5:	77 6a                	ja     0x140e16e31
140e16dc7:	74 50                	je     0x140e16e19
140e16dc9:	48 8b 53 18          	mov    0x18(%rbx),%rdx
140e16dcd:	48 83 fa 07          	cmp    $0x7,%rdx
140e16dd1:	76 46                	jbe    0x140e16e19
140e16dd3:	4c 8b 1b             	mov    (%rbx),%r11
140e16dd6:	44 38 3d f0 d6 3f 00 	cmp    %r15b,0x3fd6f0(%rip)        # 0x1412144cd
140e16ddd:	74 3a                	je     0x140e16e19
140e16ddf:	48 ff c1             	inc    %rcx
140e16de2:	49 8d 04 4b          	lea    (%r11,%rcx,2),%rax
140e16de6:	4d 8d 53 02          	lea    0x2(%r11),%r10
140e16dea:	4d 8d 14 7a          	lea    (%r10,%rdi,2),%r10
140e16dee:	48 8d 14 55 09 00 00 	lea    0x9(,%rdx,2),%rdx
140e16df5:	00
140e16df6:	49 03 d3             	add    %r11,%rdx
140e16df9:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140e16dfd:	4c 8b c2             	mov    %rdx,%r8
140e16e00:	48 3b c2             	cmp    %rdx,%rax
140e16e03:	4c 0f 46 c0          	cmovbe %rax,%r8
140e16e07:	4c 8b ca             	mov    %rdx,%r9
140e16e0a:	4c 3b d2             	cmp    %rdx,%r10
140e16e0d:	4d 0f 46 ca          	cmovbe %r10,%r9
140e16e11:	49 8b cb             	mov    %r11,%rcx
140e16e14:	e8 e7 00 38 ff       	call   0x140196f00
140e16e19:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
140e16e1d:	48 8b c3             	mov    %rbx,%rax
140e16e20:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140e16e25:	76 03                	jbe    0x140e16e2a
140e16e27:	48 8b 03             	mov    (%rbx),%rax
140e16e2a:	66 44 89 3c 78       	mov    %r15w,(%rax,%rdi,2)
140e16e2f:	eb 11                	jmp    0x140e16e42
140e16e31:	45 33 c0             	xor    %r8d,%r8d
140e16e34:	48 2b f9             	sub    %rcx,%rdi
140e16e37:	48 8b d7             	mov    %rdi,%rdx
140e16e3a:	48 8b cb             	mov    %rbx,%rcx
140e16e3d:	e8 5e 70 43 ff       	call   0x14024dea0
140e16e42:	48 8b cb             	mov    %rbx,%rcx
140e16e45:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140e16e4a:	76 03                	jbe    0x140e16e4f
140e16e4c:	48 8b 0b             	mov    (%rbx),%rcx
140e16e4f:	48 8b 43 10          	mov    0x10(%rbx),%rax
140e16e53:	48 8d 14 41          	lea    (%rcx,%rax,2),%rdx
140e16e57:	48 8b cb             	mov    %rbx,%rcx
140e16e5a:	76 03                	jbe    0x140e16e5f
140e16e5c:	48 8b 0b             	mov    (%rbx),%rcx
140e16e5f:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140e16e64:	4c 8b ce             	mov    %rsi,%r9
140e16e67:	4c 8b c5             	mov    %rbp,%r8
140e16e6a:	e8 c9 40 00 00       	call   0x140e1af38
140e16e6f:	48 8b f8             	mov    %rax,%rdi
140e16e72:	48 8b 43 10          	mov    0x10(%rbx),%rax
140e16e76:	48 3b f8             	cmp    %rax,%rdi
140e16e79:	76 11                	jbe    0x140e16e8c
140e16e7b:	48 8b c8             	mov    %rax,%rcx
140e16e7e:	48 85 ff             	test   %rdi,%rdi
140e16e81:	0f 85 3b ff ff ff    	jne    0x140e16dc2
140e16e87:	48 3b f8             	cmp    %rax,%rdi
140e16e8a:	77 6a                	ja     0x140e16ef6
140e16e8c:	74 50                	je     0x140e16ede
140e16e8e:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140e16e92:	48 83 f9 07          	cmp    $0x7,%rcx
140e16e96:	76 46                	jbe    0x140e16ede
140e16e98:	4c 8b 1b             	mov    (%rbx),%r11
140e16e9b:	44 38 3d 2b d6 3f 00 	cmp    %r15b,0x3fd62b(%rip)        # 0x1412144cd
140e16ea2:	74 3a                	je     0x140e16ede
140e16ea4:	48 ff c0             	inc    %rax
140e16ea7:	49 8d 04 43          	lea    (%r11,%rax,2),%rax
140e16eab:	4d 8d 53 02          	lea    0x2(%r11),%r10
140e16eaf:	4d 8d 14 7a          	lea    (%r10,%rdi,2),%r10
140e16eb3:	48 8d 14 4d 09 00 00 	lea    0x9(,%rcx,2),%rdx
140e16eba:	00
140e16ebb:	49 03 d3             	add    %r11,%rdx
140e16ebe:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140e16ec2:	4c 8b c2             	mov    %rdx,%r8
140e16ec5:	48 3b c2             	cmp    %rdx,%rax
140e16ec8:	4c 0f 46 c0          	cmovbe %rax,%r8
140e16ecc:	4c 8b ca             	mov    %rdx,%r9
140e16ecf:	4c 3b d2             	cmp    %rdx,%r10
140e16ed2:	4d 0f 46 ca          	cmovbe %r10,%r9
140e16ed6:	49 8b cb             	mov    %r11,%rcx
140e16ed9:	e8 22 00 38 ff       	call   0x140196f00
140e16ede:	48 89 7b 10          	mov    %rdi,0x10(%rbx)
140e16ee2:	48 8b c3             	mov    %rbx,%rax
140e16ee5:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140e16eea:	76 03                	jbe    0x140e16eef
140e16eec:	48 8b 03             	mov    (%rbx),%rax
140e16eef:	66 44 89 3c 78       	mov    %r15w,(%rax,%rdi,2)
140e16ef4:	eb 11                	jmp    0x140e16f07
140e16ef6:	45 33 c0             	xor    %r8d,%r8d
140e16ef9:	48 2b f8             	sub    %rax,%rdi
140e16efc:	48 8b d7             	mov    %rdi,%rdx
140e16eff:	48 8b cb             	mov    %rbx,%rcx
140e16f02:	e8 99 6f 43 ff       	call   0x14024dea0
140e16f07:	48 8b c3             	mov    %rbx,%rax
140e16f0a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e16f0f:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140e16f14:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140e16f19:	48 83 c4 40          	add    $0x40,%rsp
140e16f1d:	41 5f                	pop    %r15
140e16f1f:	41 5e                	pop    %r14
140e16f21:	5f                   	pop    %rdi
140e16f22:	c3                   	ret
140e16f23:	cc                   	int3
140e16f24:	cc                   	int3
140e16f25:	cc                   	int3
140e16f26:	cc                   	int3
140e16f27:	cc                   	int3
140e16f28:	cc                   	int3
140e16f29:	cc                   	int3
140e16f2a:	cc                   	int3
140e16f2b:	cc                   	int3
140e16f2c:	cc                   	int3
140e16f2d:	cc                   	int3
140e16f2e:	cc                   	int3
140e16f2f:	cc                   	int3
140e16f30:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e16f35:	55                   	push   %rbp
140e16f36:	56                   	push   %rsi
140e16f37:	57                   	push   %rdi
140e16f38:	41 56                	push   %r14
140e16f3a:	41 57                	push   %r15
140e16f3c:	48 83 ec 30          	sub    $0x30,%rsp
140e16f40:	48 8b 05 b9 1f 5a 00 	mov    0x5a1fb9(%rip),%rax        # 0x1413b8f00
140e16f47:	48 33 c4             	xor    %rsp,%rax
140e16f4a:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140e16f4f:	4c 8b b4 24 80 00 00 	mov    0x80(%rsp),%r14
140e16f56:	00
140e16f57:	4c 8b fa             	mov    %rdx,%r15
140e16f5a:	49 8b e9             	mov    %r9,%rbp
140e16f5d:	33 ff                	xor    %edi,%edi
140e16f5f:	4c 8d 49 10          	lea    0x10(%rcx),%r9
140e16f63:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140e16f68:	4d 89 06             	mov    %r8,(%r14)
140e16f6b:	4d 8b c7             	mov    %r15,%r8
140e16f6e:	48 8b 1a             	mov    (%rdx),%rbx
140e16f71:	33 d2                	xor    %edx,%edx
140e16f73:	e8 58 58 fe ff       	call   0x140dfc7d0
140e16f78:	85 c0                	test   %eax,%eax
140e16f7a:	7f 07                	jg     0x140e16f83
140e16f7c:	bf 02 00 00 00       	mov    $0x2,%edi
140e16f81:	eb 2e                	jmp    0x140e16fb1
140e16f83:	49 2b 2e             	sub    (%r14),%rbp
140e16f86:	ff c8                	dec    %eax
140e16f88:	48 63 f0             	movslq %eax,%rsi
140e16f8b:	48 3b ee             	cmp    %rsi,%rbp
140e16f8e:	7d 0a                	jge    0x140e16f9a
140e16f90:	49 89 1f             	mov    %rbx,(%r15)
140e16f93:	bf 01 00 00 00       	mov    $0x1,%edi
140e16f98:	eb 17                	jmp    0x140e16fb1
140e16f9a:	85 c0                	test   %eax,%eax
140e16f9c:	7e 13                	jle    0x140e16fb1
140e16f9e:	49 8b 0e             	mov    (%r14),%rcx
140e16fa1:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140e16fa6:	4c 8b c6             	mov    %rsi,%r8
140e16fa9:	e8 62 80 0c 00       	call   0x140edf010
140e16fae:	49 01 36             	add    %rsi,(%r14)
140e16fb1:	8b c7                	mov    %edi,%eax
140e16fb3:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140e16fb8:	48 33 cc             	xor    %rsp,%rcx
140e16fbb:	e8 40 45 00 00       	call   0x140e1b500
140e16fc0:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140e16fc5:	48 83 c4 30          	add    $0x30,%rsp
140e16fc9:	41 5f                	pop    %r15
140e16fcb:	41 5e                	pop    %r14
140e16fcd:	5f                   	pop    %rdi
140e16fce:	5e                   	pop    %rsi
140e16fcf:	5d                   	pop    %rbp
140e16fd0:	c3                   	ret
140e16fd1:	cc                   	int3
140e16fd2:	cc                   	int3
140e16fd3:	cc                   	int3
140e16fd4:	cc                   	int3
140e16fd5:	cc                   	int3
140e16fd6:	cc                   	int3
140e16fd7:	cc                   	int3
140e16fd8:	cc                   	int3
140e16fd9:	cc                   	int3
140e16fda:	cc                   	int3
140e16fdb:	cc                   	int3
140e16fdc:	cc                   	int3
140e16fdd:	cc                   	int3
140e16fde:	cc                   	int3
140e16fdf:	cc                   	int3
140e16fe0:	4c 8b dc             	mov    %rsp,%r11
140e16fe3:	48 83 ec 38          	sub    $0x38,%rsp
140e16fe7:	49 83 63 18 00       	andq   $0x0,0x18(%r11)
140e16fec:	48 8d 41 30          	lea    0x30(%rcx),%rax
140e16ff0:	88 54 24 48          	mov    %dl,0x48(%rsp)
140e16ff4:	49 8d 4b 08          	lea    0x8(%r11),%rcx
140e16ff8:	49 8d 53 10          	lea    0x10(%r11),%rdx
140e16ffc:	49 89 43 e8          	mov    %rax,-0x18(%r11)
140e17000:	4d 8d 4b 18          	lea    0x18(%r11),%r9
140e17004:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e1700a:	e8 e9 7c fe ff       	call   0x140dfecf8
140e1700f:	85 c0                	test   %eax,%eax
140e17011:	79 07                	jns    0x140e1701a
140e17013:	b8 ff ff 00 00       	mov    $0xffff,%eax
140e17018:	eb 05                	jmp    0x140e1701f
140e1701a:	0f b7 44 24 40       	movzwl 0x40(%rsp),%eax
140e1701f:	48 83 c4 38          	add    $0x38,%rsp
140e17023:	c3                   	ret
140e17024:	cc                   	int3
140e17025:	cc                   	int3
140e17026:	cc                   	int3
140e17027:	cc                   	int3
140e17028:	cc                   	int3
140e17029:	cc                   	int3
140e1702a:	cc                   	int3
140e1702b:	cc                   	int3
140e1702c:	cc                   	int3
140e1702d:	cc                   	int3
140e1702e:	cc                   	int3
140e1702f:	cc                   	int3
140e17030:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e17035:	55                   	push   %rbp
140e17036:	56                   	push   %rsi
140e17037:	57                   	push   %rdi
140e17038:	48 83 ec 40          	sub    $0x40,%rsp
140e1703c:	49 8b f9             	mov    %r9,%rdi
140e1703f:	49 8b f0             	mov    %r8,%rsi
140e17042:	48 8b da             	mov    %rdx,%rbx
140e17045:	49 3b d0             	cmp    %r8,%rdx
140e17048:	74 4e                	je     0x140e17098
140e1704a:	48 8d 69 30          	lea    0x30(%rcx),%rbp
140e1704e:	8a 03                	mov    (%rbx),%al
140e17050:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
140e17055:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
140e1705b:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
140e17060:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140e17066:	88 44 24 68          	mov    %al,0x68(%rsp)
140e1706a:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140e1706f:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140e17074:	e8 7f 7c fe ff       	call   0x140dfecf8
140e17079:	85 c0                	test   %eax,%eax
140e1707b:	79 07                	jns    0x140e17084
140e1707d:	b8 ff ff 00 00       	mov    $0xffff,%eax
140e17082:	eb 05                	jmp    0x140e17089
140e17084:	0f b7 44 24 70       	movzwl 0x70(%rsp),%eax
140e17089:	66 89 07             	mov    %ax,(%rdi)
140e1708c:	48 ff c3             	inc    %rbx
140e1708f:	48 83 c7 02          	add    $0x2,%rdi
140e17093:	48 3b de             	cmp    %rsi,%rbx
140e17096:	75 b6                	jne    0x140e1704e
140e17098:	48 8b c3             	mov    %rbx,%rax
140e1709b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e170a0:	48 83 c4 40          	add    $0x40,%rsp
140e170a4:	5f                   	pop    %rdi
140e170a5:	5e                   	pop    %rsi
140e170a6:	5d                   	pop    %rbp
140e170a7:	c3                   	ret
140e170a8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e170ad:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140e170b2:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140e170b7:	41 56                	push   %r14
140e170b9:	48 83 ec 20          	sub    $0x20,%rsp
140e170bd:	80 79 08 00          	cmpb   $0x0,0x8(%rcx)
140e170c1:	48 8b da             	mov    %rdx,%rbx
140e170c4:	48 8b f9             	mov    %rcx,%rdi
140e170c7:	41 be ff ff 00 00    	mov    $0xffff,%r14d
140e170cd:	40 b6 01             	mov    $0x1,%sil
140e170d0:	75 43                	jne    0x140e17115
140e170d2:	48 8b 09             	mov    (%rcx),%rcx
140e170d5:	48 85 c9             	test   %rcx,%rcx
140e170d8:	74 33                	je     0x140e1710d
140e170da:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e170de:	48 8b 10             	mov    (%rax),%rdx
140e170e1:	48 85 d2             	test   %rdx,%rdx
140e170e4:	74 0e                	je     0x140e170f4
140e170e6:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e170ea:	83 38 00             	cmpl   $0x0,(%rax)
140e170ed:	7e 05                	jle    0x140e170f4
140e170ef:	0f b7 02             	movzwl (%rdx),%eax
140e170f2:	eb 0d                	jmp    0x140e17101
140e170f4:	48 8b 01             	mov    (%rcx),%rax
140e170f7:	48 8b 40 30          	mov    0x30(%rax),%rax
140e170fb:	ff 15 1f c9 16 00    	call   *0x16c91f(%rip)        # 0x140f83a20
140e17101:	66 44 3b f0          	cmp    %ax,%r14w
140e17105:	74 06                	je     0x140e1710d
140e17107:	66 89 47 0a          	mov    %ax,0xa(%rdi)
140e1710b:	eb 04                	jmp    0x140e17111
140e1710d:	48 83 27 00          	andq   $0x0,(%rdi)
140e17111:	40 88 77 08          	mov    %sil,0x8(%rdi)
140e17115:	80 7b 08 00          	cmpb   $0x0,0x8(%rbx)
140e17119:	75 43                	jne    0x140e1715e
140e1711b:	48 8b 0b             	mov    (%rbx),%rcx
140e1711e:	48 85 c9             	test   %rcx,%rcx
140e17121:	74 33                	je     0x140e17156
140e17123:	48 8b 41 38          	mov    0x38(%rcx),%rax
140e17127:	48 8b 10             	mov    (%rax),%rdx
140e1712a:	48 85 d2             	test   %rdx,%rdx
140e1712d:	74 0e                	je     0x140e1713d
140e1712f:	48 8b 41 50          	mov    0x50(%rcx),%rax
140e17133:	83 38 00             	cmpl   $0x0,(%rax)
140e17136:	7e 05                	jle    0x140e1713d
140e17138:	0f b7 02             	movzwl (%rdx),%eax
140e1713b:	eb 0d                	jmp    0x140e1714a
140e1713d:	48 8b 01             	mov    (%rcx),%rax
140e17140:	48 8b 40 30          	mov    0x30(%rax),%rax
140e17144:	ff 15 d6 c8 16 00    	call   *0x16c8d6(%rip)        # 0x140f83a20
140e1714a:	66 44 3b f0          	cmp    %ax,%r14w
140e1714e:	74 06                	je     0x140e17156
140e17150:	66 89 43 0a          	mov    %ax,0xa(%rbx)
140e17154:	eb 04                	jmp    0x140e1715a
140e17156:	48 83 23 00          	andq   $0x0,(%rbx)
140e1715a:	40 88 73 08          	mov    %sil,0x8(%rbx)
140e1715e:	48 83 3f 00          	cmpq   $0x0,(%rdi)
140e17162:	75 08                	jne    0x140e1716c
140e17164:	48 83 3b 00          	cmpq   $0x0,(%rbx)
140e17168:	74 0b                	je     0x140e17175
140e1716a:	eb 06                	jmp    0x140e17172
140e1716c:	48 83 3b 00          	cmpq   $0x0,(%rbx)
140e17170:	75 03                	jne    0x140e17175
140e17172:	40 32 f6             	xor    %sil,%sil
140e17175:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e1717a:	40 8a c6             	mov    %sil,%al
140e1717d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140e17182:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140e17187:	48 83 c4 20          	add    $0x20,%rsp
140e1718b:	41 5e                	pop    %r14
140e1718d:	c3                   	ret
140e1718e:	cc                   	int3
140e1718f:	cc                   	int3
140e17190:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140e17195:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140e1719a:	56                   	push   %rsi
140e1719b:	57                   	push   %rdi