140551cfd:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140551d02:	49 8b 5b 28          	mov    0x28(%r11),%rbx
140551d06:	49 8b 6b 30          	mov    0x30(%r11),%rbp
140551d0a:	49 8b e3             	mov    %r11,%rsp
140551d0d:	41 5e                	pop    %r14
140551d0f:	5f                   	pop    %rdi
140551d10:	5e                   	pop    %rsi
140551d11:	c3                   	ret
140551d12:	83 f8 0f             	cmp    $0xf,%eax
140551d15:	0f 85 aa 00 00 00    	jne    0x140551dc5
140551d1b:	e8 20 88 1f 00       	call   0x14074a540
140551d20:	48 8b e8             	mov    %rax,%rbp
140551d23:	33 db                	xor    %ebx,%ebx
140551d25:	8b fb                	mov    %ebx,%edi
140551d27:	39 58 78             	cmp    %ebx,0x78(%rax)
140551d2a:	0f 86 d8 fe ff ff    	jbe    0x140551c08
140551d30:	49 be ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r14
140551d37:	aa aa 2a
140551d3a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140551d40:	4c 8b 0e             	mov    (%rsi),%r9
140551d43:	44 8b c3             	mov    %ebx,%r8d
140551d46:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140551d4a:	49 2b c9             	sub    %r9,%rcx
140551d4d:	49 8b c6             	mov    %r14,%rax
140551d50:	48 f7 e9             	imul   %rcx
140551d53:	48 c1 fa 03          	sar    $0x3,%rdx
140551d57:	48 8b c2             	mov    %rdx,%rax
140551d5a:	48 c1 e8 3f          	shr    $0x3f,%rax
140551d5e:	48 03 d0             	add    %rax,%rdx
140551d61:	4c 3b c2             	cmp    %rdx,%r8
140551d64:	73 95                	jae    0x140551cfb
140551d66:	4b 8d 14 40          	lea    (%r8,%r8,2),%rdx
140551d6a:	48 c1 e2 04          	shl    $0x4,%rdx
140551d6e:	49 03 d1             	add    %r9,%rdx
140551d71:	74 06                	je     0x140551d79
140551d73:	80 7a 28 00          	cmpb   $0x0,0x28(%rdx)
140551d77:	74 37                	je     0x140551db0
140551d79:	48 8b 85 80 00 00 00 	mov    0x80(%rbp),%rax
140551d80:	48 63 cf             	movslq %edi,%rcx
140551d83:	48 8b 00             	mov    (%rax),%rax
140551d86:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140551d8a:	48 8b 01             	mov    (%rcx),%rax
140551d8d:	83 78 18 0d          	cmpl   $0xd,0x18(%rax)
140551d91:	74 1d                	je     0x140551db0
140551d93:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
140551d9a:	00
140551d9b:	48 8d 8c 24 90 00 00 	lea    0x90(%rsp),%rcx
140551da2:	00
140551da3:	e8 a8 e5 ff ff       	call   0x140550350
140551da8:	84 c0                	test   %al,%al
140551daa:	0f 84 4b ff ff ff    	je     0x140551cfb
140551db0:	48 ff c7             	inc    %rdi
140551db3:	ff c3                	inc    %ebx
140551db5:	48 63 45 78          	movslq 0x78(%rbp),%rax
140551db9:	48 3b f8             	cmp    %rax,%rdi
140551dbc:	72 82                	jb     0x140551d40
140551dbe:	b0 01                	mov    $0x1,%al
140551dc0:	e9 38 ff ff ff       	jmp    0x140551cfd
140551dc5:	83 f8 08             	cmp    $0x8,%eax
140551dc8:	0f 85 ea 00 00 00    	jne    0x140551eb8
140551dce:	48 8b 3a             	mov    (%rdx),%rdi
140551dd1:	48 8b 42 08          	mov    0x8(%rdx),%rax
140551dd5:	48 2b c7             	sub    %rdi,%rax
140551dd8:	48 83 e8 60          	sub    $0x60,%rax
140551ddc:	48 83 f8 30          	cmp    $0x30,%rax
140551de0:	0f 83 15 ff ff ff    	jae    0x140551cfb
140551de6:	33 db                	xor    %ebx,%ebx
140551de8:	48 85 ff             	test   %rdi,%rdi
140551deb:	74 09                	je     0x140551df6
140551ded:	80 7f 28 05          	cmpb   $0x5,0x28(%rdi)
140551df1:	48 8b f7             	mov    %rdi,%rsi
140551df4:	74 03                	je     0x140551df9
140551df6:	48 8b f3             	mov    %rbx,%rsi
140551df9:	48 83 c7 30          	add    $0x30,%rdi
140551dfd:	74 06                	je     0x140551e05
140551dff:	80 7f 28 05          	cmpb   $0x5,0x28(%rdi)
140551e03:	74 03                	je     0x140551e08
140551e05:	48 8b fb             	mov    %rbx,%rdi
140551e08:	48 85 f6             	test   %rsi,%rsi
140551e0b:	0f 84 ea fe ff ff    	je     0x140551cfb
140551e11:	48 85 ff             	test   %rdi,%rdi
140551e14:	0f 84 e1 fe ff ff    	je     0x140551cfb
140551e1a:	b9 38 00 00 00       	mov    $0x38,%ecx
140551e1f:	e8 e4 92 8c 00       	call   0x140e1b108
140551e24:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
140551e2b:	00
140551e2c:	48 85 c0             	test   %rax,%rax
140551e2f:	74 25                	je     0x140551e56
140551e31:	4c 8b c7             	mov    %rdi,%r8
140551e34:	48 83 7f 18 0f       	cmpq   $0xf,0x18(%rdi)
140551e39:	76 03                	jbe    0x140551e3e
140551e3b:	4c 8b 07             	mov    (%rdi),%r8
140551e3e:	48 8b d6             	mov    %rsi,%rdx
140551e41:	48 83 7e 18 0f       	cmpq   $0xf,0x18(%rsi)
140551e46:	76 03                	jbe    0x140551e4b
140551e48:	48 8b 16             	mov    (%rsi),%rdx
140551e4b:	48 8b c8             	mov    %rax,%rcx
140551e4e:	e8 7d 78 22 00       	call   0x1407796d0
140551e53:	48 8b d8             	mov    %rax,%rbx
140551e56:	33 d2                	xor    %edx,%edx
140551e58:	48 8b cb             	mov    %rbx,%rcx
140551e5b:	e8 10 82 22 00       	call   0x14077a070
140551e60:	0f b6 e8             	movzbl %al,%ebp
140551e63:	48 85 db             	test   %rbx,%rbx
140551e66:	74 15                	je     0x140551e7d
140551e68:	48 8b cb             	mov    %rbx,%rcx
140551e6b:	e8 d0 7b 22 00       	call   0x140779a40
140551e70:	ba 38 00 00 00       	mov    $0x38,%edx
140551e75:	48 8b cb             	mov    %rbx,%rcx
140551e78:	e8 c7 92 8c 00       	call   0x140e1b144
140551e7d:	40 84 ed             	test   %bpl,%bpl
140551e80:	0f 85 82 fd ff ff    	jne    0x140551c08
140551e86:	48 83 7f 18 0f       	cmpq   $0xf,0x18(%rdi)
140551e8b:	76 03                	jbe    0x140551e90
140551e8d:	48 8b 3f             	mov    (%rdi),%rdi
140551e90:	48 83 7e 18 0f       	cmpq   $0xf,0x18(%rsi)
140551e95:	76 03                	jbe    0x140551e9a
140551e97:	48 8b 36             	mov    (%rsi),%rsi
140551e9a:	4c 8b cf             	mov    %rdi,%r9
140551e9d:	4c 8b c6             	mov    %rsi,%r8
140551ea0:	48 8d 15 61 cb ab 00 	lea    0xabcb61(%rip),%rdx        # 0x14100ea08
140551ea7:	48 8b 0d 4a f6 ed 00 	mov    0xedf64a(%rip),%rcx        # 0x1414314f8
140551eae:	e8 0d 17 24 00       	call   0x1407935c0
140551eb3:	e9 43 fe ff ff       	jmp    0x140551cfb
140551eb8:	83 f8 14             	cmp    $0x14,%eax
140551ebb:	0f 85 3a fe ff ff    	jne    0x140551cfb
140551ec1:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140551ec6:	e8 95 05 ff ff       	call   0x140542460
140551ecb:	48 8b d0             	mov    %rax,%rdx
140551ece:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140551ed3:	e8 28 d3 fe ff       	call   0x14053f200
140551ed8:	90                   	nop
140551ed9:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140551ede:	48 8d 8c 24 90 00 00 	lea    0x90(%rsp),%rcx
140551ee5:	00
140551ee6:	e8 25 7b 23 00       	call   0x140789a10
140551eeb:	90                   	nop
140551eec:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140551ef1:	e8 aa fd e6 ff       	call   0x1403c1ca0
140551ef6:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
140551efd:	00
140551efe:	48 85 c9             	test   %rcx,%rcx
140551f01:	0f 95 c3             	setne  %bl
140551f04:	48 85 c9             	test   %rcx,%rcx
140551f07:	74 20                	je     0x140551f29
140551f09:	8b 41 10             	mov    0x10(%rcx),%eax
140551f0c:	ff c8                	dec    %eax
140551f0e:	89 41 10             	mov    %eax,0x10(%rcx)
140551f11:	85 c0                	test   %eax,%eax
140551f13:	7f 14                	jg     0x140551f29
140551f15:	78 1a                	js     0x140551f31
140551f17:	48 8b 11             	mov    (%rcx),%rdx
140551f1a:	48 8b 02             	mov    (%rdx),%rax
140551f1d:	ba 01 00 00 00       	mov    $0x1,%edx
140551f22:	ff 15 f8 1a a3 00    	call   *0xa31af8(%rip)        # 0x140f83a20
140551f28:	90                   	nop
140551f29:	0f b6 c3             	movzbl %bl,%eax
140551f2c:	e9 cc fd ff ff       	jmp    0x140551cfd
140551f31:	b9 02 00 00 00       	mov    $0x2,%ecx
140551f36:	e8 c5 87 23 00       	call   0x14078a700
140551f3b:	90                   	nop
140551f3c:	b9 02 00 00 00       	mov    $0x2,%ecx
140551f41:	e8 ba 87 23 00       	call   0x14078a700
140551f46:	cc                   	int3
140551f47:	cc                   	int3
140551f48:	cc                   	int3
140551f49:	cc                   	int3
140551f4a:	cc                   	int3
140551f4b:	cc                   	int3
140551f4c:	cc                   	int3
140551f4d:	cc                   	int3
140551f4e:	cc                   	int3
140551f4f:	cc                   	int3
140551f50:	40 53                	rex push %rbx
140551f52:	56                   	push   %rsi
140551f53:	57                   	push   %rdi
140551f54:	48 83 ec 60          	sub    $0x60,%rsp
140551f58:	48 8b 05 a1 6f e6 00 	mov    0xe66fa1(%rip),%rax        # 0x1413b8f00
140551f5f:	48 33 c4             	xor    %rsp,%rax
140551f62:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140551f67:	49 8b f8             	mov    %r8,%rdi
140551f6a:	48 8b da             	mov    %rdx,%rbx
140551f6d:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140551f72:	48 8b 09             	mov    (%rcx),%rcx
140551f75:	83 79 18 09          	cmpl   $0x9,0x18(%rcx)
140551f79:	0f 85 c2 00 00 00    	jne    0x140552041
140551f7f:	e8 7c 84 1f 00       	call   0x14074a400
140551f84:	48 8b f0             	mov    %rax,%rsi
140551f87:	4c 8d 47 08          	lea    0x8(%rdi),%r8
140551f8b:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
140551f90:	76 03                	jbe    0x140551f95
140551f92:	4d 8b 00             	mov    (%r8),%r8
140551f95:	0f 57 c0             	xorps  %xmm0,%xmm0
140551f98:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
140551f9d:	66 0f 6f 0d 6b 23 a5 	movdqa 0xa5236b(%rip),%xmm1        # 0x140fa4310
140551fa4:	00
140551fa5:	f3 0f 7f 4c 24 40    	movdqu %xmm1,0x40(%rsp)
140551fab:	8b 05 37 06 a9 00    	mov    0xa90637(%rip),%eax        # 0x140fe25e8
140551fb1:	89 44 24 30          	mov    %eax,0x30(%rsp)
140551fb5:	0f b7 05 30 06 a9 00 	movzwl 0xa90630(%rip),%eax        # 0x140fe25ec
140551fbc:	66 89 44 24 34       	mov    %ax,0x34(%rsp)
140551fc1:	c6 44 24 36 00       	movb   $0x0,0x36(%rsp)
140551fc6:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140551fcb:	48 8b ce             	mov    %rsi,%rcx
140551fce:	e8 8d cd 1f 00       	call   0x14074ed60
140551fd3:	48 8b f8             	mov    %rax,%rdi
140551fd6:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140551fdb:	48 83 fa 0f          	cmp    $0xf,%rdx
140551fdf:	76 2e                	jbe    0x14055200f
140551fe1:	48 ff c2             	inc    %rdx
140551fe4:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140551fe9:	48 8b c1             	mov    %rcx,%rax
140551fec:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140551ff3:	72 15                	jb     0x14055200a
140551ff5:	48 83 c2 27          	add    $0x27,%rdx
140551ff9:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140551ffd:	48 2b c1             	sub    %rcx,%rax
140552000:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140552004:	48 83 f8 1f          	cmp    $0x1f,%rax
140552008:	77 5f                	ja     0x140552069
14055200a:	e8 35 91 8c 00       	call   0x140e1b144
14055200f:	48 83 ff ff          	cmp    $0xffffffffffffffff,%rdi
140552013:	74 2c                	je     0x140552041
140552015:	48 8b d7             	mov    %rdi,%rdx
140552018:	48 8b ce             	mov    %rsi,%rcx
14055201b:	e8 d0 be 1f 00       	call   0x14074def0
140552020:	48 8b 08             	mov    (%rax),%rcx
140552023:	48 85 c9             	test   %rcx,%rcx
140552026:	74 14                	je     0x14055203c
140552028:	8b 41 10             	mov    0x10(%rcx),%eax
14055202b:	ff c0                	inc    %eax
14055202d:	89 41 10             	mov    %eax,0x10(%rcx)
140552030:	83 f8 01             	cmp    $0x1,%eax
140552033:	7e 3a                	jle    0x14055206f
140552035:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14055203a:	74 22                	je     0x14055205e
14055203c:	48 89 0b             	mov    %rcx,(%rbx)
14055203f:	eb 05                	jmp    0x140552046
140552041:	33 c0                	xor    %eax,%eax
140552043:	48 89 03             	mov    %rax,(%rbx)
140552046:	48 8b c3             	mov    %rbx,%rax
140552049:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14055204e:	48 33 cc             	xor    %rsp,%rcx
140552051:	e8 aa 94 8c 00       	call   0x140e1b500
140552056:	48 83 c4 60          	add    $0x60,%rsp
14055205a:	5f                   	pop    %rdi
14055205b:	5e                   	pop    %rsi
14055205c:	5b                   	pop    %rbx
14055205d:	c3                   	ret
14055205e:	b9 01 00 00 00       	mov    $0x1,%ecx
140552063:	e8 98 86 23 00       	call   0x14078a700
140552068:	90                   	nop
140552069:	e8 36 81 8d 00       	call   0x140e2a1a4
14055206e:	90                   	nop
14055206f:	33 c9                	xor    %ecx,%ecx
140552071:	e8 8a 86 23 00       	call   0x14078a700
140552076:	cc                   	int3
140552077:	cc                   	int3
140552078:	cc                   	int3
140552079:	cc                   	int3
14055207a:	cc                   	int3
14055207b:	cc                   	int3
14055207c:	cc                   	int3
14055207d:	cc                   	int3
14055207e:	cc                   	int3
14055207f:	cc                   	int3
140552080:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140552085:	55                   	push   %rbp
140552086:	56                   	push   %rsi
140552087:	57                   	push   %rdi
140552088:	48 83 ec 30          	sub    $0x30,%rsp
14055208c:	48 8b da             	mov    %rdx,%rbx
14055208f:	33 ff                	xor    %edi,%edi
140552091:	48 8b 01             	mov    (%rcx),%rax
140552094:	8b 48 18             	mov    0x18(%rax),%ecx
140552097:	83 f9 07             	cmp    $0x7,%ecx
14055209a:	0f 84 bb 00 00 00    	je     0x14055215b
1405520a0:	83 f9 12             	cmp    $0x12,%ecx
1405520a3:	74 13                	je     0x1405520b8
1405520a5:	48 89 3a             	mov    %rdi,(%rdx)
1405520a8:	48 8b c2             	mov    %rdx,%rax
1405520ab:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1405520b0:	48 83 c4 30          	add    $0x30,%rsp
1405520b4:	5f                   	pop    %rdi
1405520b5:	5e                   	pop    %rsi
1405520b6:	5d                   	pop    %rbp
1405520b7:	c3                   	ret
1405520b8:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
1405520bd:	76 03                	jbe    0x1405520c2
1405520bf:	4d 8b 00             	mov    (%r8),%r8
1405520c2:	49 8b d0             	mov    %r8,%rdx
1405520c5:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1405520ca:	e8 71 9f 29 00       	call   0x1407ec040
1405520cf:	90                   	nop
1405520d0:	48 83 7c 24 50 00    	cmpq   $0x0,0x50(%rsp)
1405520d6:	74 70                	je     0x140552148
1405520d8:	b9 28 00 00 00       	mov    $0x28,%ecx
1405520dd:	e8 26 90 8c 00       	call   0x140e1b108
1405520e2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1405520e7:	48 85 c0             	test   %rax,%rax
1405520ea:	74 1f                	je     0x14055210b
1405520ec:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1405520f1:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
1405520f6:	48 89 4c 24 68       	mov    %rcx,0x68(%rsp)
1405520fb:	48 8d 54 24 68       	lea    0x68(%rsp),%rdx
140552100:	48 8b c8             	mov    %rax,%rcx
140552103:	e8 a8 f4 1d 00       	call   0x1407315b0
140552108:	48 8b f8             	mov    %rax,%rdi
14055210b:	48 89 3b             	mov    %rdi,(%rbx)
14055210e:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140552113:	48 85 c9             	test   %rcx,%rcx
140552116:	74 20                	je     0x140552138
140552118:	8b 41 10             	mov    0x10(%rcx),%eax
14055211b:	ff c8                	dec    %eax
14055211d:	89 41 10             	mov    %eax,0x10(%rcx)
140552120:	85 c0                	test   %eax,%eax
140552122:	7f 14                	jg     0x140552138
140552124:	78 7d                	js     0x1405521a3
140552126:	48 8b 01             	mov    (%rcx),%rax
140552129:	ba 01 00 00 00       	mov    $0x1,%edx
14055212e:	48 8b 00             	mov    (%rax),%rax
140552131:	ff 15 e9 18 a3 00    	call   *0xa318e9(%rip)        # 0x140f83a20
140552137:	90                   	nop
140552138:	48 8b c3             	mov    %rbx,%rax
14055213b:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140552140:	48 83 c4 30          	add    $0x30,%rsp
140552144:	5f                   	pop    %rdi
140552145:	5e                   	pop    %rsi
140552146:	5d                   	pop    %rbp
140552147:	c3                   	ret
140552148:	48 89 3b             	mov    %rdi,(%rbx)
14055214b:	48 8b c3             	mov    %rbx,%rax
14055214e:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140552153:	48 83 c4 30          	add    $0x30,%rsp
140552157:	5f                   	pop    %rdi
140552158:	5e                   	pop    %rsi
140552159:	5d                   	pop    %rbp
14055215a:	c3                   	ret
14055215b:	49 8b f0             	mov    %r8,%rsi
14055215e:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
140552163:	76 03                	jbe    0x140552168
140552165:	49 8b 30             	mov    (%r8),%rsi
140552168:	49 8b 68 10          	mov    0x10(%r8),%rbp
14055216c:	b9 28 00 00 00       	mov    $0x28,%ecx
140552171:	e8 92 8f 8c 00       	call   0x140e1b108
140552176:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14055217b:	48 85 c0             	test   %rax,%rax
14055217e:	74 10                	je     0x140552190
140552180:	4c 8b c6             	mov    %rsi,%r8
140552183:	8b d5                	mov    %ebp,%edx