1406add25:	0f 57 c0             	xorps  %xmm0,%xmm0
1406add28:	f3 0f 7f 45 af       	movdqu %xmm0,-0x51(%rbp)
1406add2d:	48 89 75 bf          	mov    %rsi,-0x41(%rbp)
1406add31:	49 8b 5e 08          	mov    0x8(%r14),%rbx
1406add35:	49 2b 1e             	sub    (%r14),%rbx
1406add38:	48 c1 fb 03          	sar    $0x3,%rbx
1406add3c:	48 85 db             	test   %rbx,%rbx
1406add3f:	0f 84 b6 00 00 00    	je     0x1406addfb
1406add45:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
1406add4c:	ff ff 1f
1406add4f:	48 3b d8             	cmp    %rax,%rbx
1406add52:	0f 87 5f 01 00 00    	ja     0x1406adeb7
1406add58:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
1406add5f:	00
1406add60:	48 85 db             	test   %rbx,%rbx
1406add63:	75 05                	jne    0x1406add6a
1406add65:	48 8b d6             	mov    %rsi,%rdx
1406add68:	eb 3d                	jmp    0x1406adda7
1406add6a:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
1406add71:	72 29                	jb     0x1406add9c
1406add73:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
1406add77:	48 3b cb             	cmp    %rbx,%rcx
1406add7a:	0f 86 3d 01 00 00    	jbe    0x1406adebd
1406add80:	e8 83 d3 76 00       	call   0x140e1b108
1406add85:	48 85 c0             	test   %rax,%rax
1406add88:	0f 84 35 01 00 00    	je     0x1406adec3
1406add8e:	48 8d 50 27          	lea    0x27(%rax),%rdx
1406add92:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
1406add96:	48 89 42 f8          	mov    %rax,-0x8(%rdx)
1406add9a:	eb 0b                	jmp    0x1406adda7
1406add9c:	48 8b cb             	mov    %rbx,%rcx
1406add9f:	e8 64 d3 76 00       	call   0x140e1b108
1406adda4:	48 8b d0             	mov    %rax,%rdx
1406adda7:	48 89 55 af          	mov    %rdx,-0x51(%rbp)
1406addab:	48 89 55 b7          	mov    %rdx,-0x49(%rbp)
1406addaf:	48 8d 0c 1a          	lea    (%rdx,%rbx,1),%rcx
1406addb3:	48 89 4d bf          	mov    %rcx,-0x41(%rbp)
1406addb7:	4d 8b 4e 08          	mov    0x8(%r14),%r9
1406addbb:	4d 8b 06             	mov    (%r14),%r8
1406addbe:	4d 3b c1             	cmp    %r9,%r8
1406addc1:	74 34                	je     0x1406addf7
1406addc3:	49 8b 08             	mov    (%r8),%rcx
1406addc6:	48 89 0a             	mov    %rcx,(%rdx)
1406addc9:	48 85 c9             	test   %rcx,%rcx
1406addcc:	74 1c                	je     0x1406addea
1406addce:	8b 41 10             	mov    0x10(%rcx),%eax
1406addd1:	ff c0                	inc    %eax
1406addd3:	89 41 10             	mov    %eax,0x10(%rcx)
1406addd6:	83 f8 01             	cmp    $0x1,%eax
1406addd9:	0f 8e fd 00 00 00    	jle    0x1406adedc
1406adddf:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406adde4:	0f 84 e7 00 00 00    	je     0x1406aded1
1406addea:	48 83 c2 08          	add    $0x8,%rdx
1406addee:	49 83 c0 08          	add    $0x8,%r8
1406addf2:	4d 3b c1             	cmp    %r9,%r8
1406addf5:	75 cc                	jne    0x1406addc3
1406addf7:	48 89 55 b7          	mov    %rdx,-0x49(%rbp)
1406addfb:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
1406addff:	48 89 45 07          	mov    %rax,0x7(%rbp)
1406ade03:	48 8b 0f             	mov    (%rdi),%rcx
1406ade06:	48 89 4d 8f          	mov    %rcx,-0x71(%rbp)
1406ade0a:	48 85 c9             	test   %rcx,%rcx
1406ade0d:	74 18                	je     0x1406ade27
1406ade0f:	8b 41 10             	mov    0x10(%rcx),%eax
1406ade12:	ff c0                	inc    %eax
1406ade14:	89 41 10             	mov    %eax,0x10(%rcx)
1406ade17:	83 f8 01             	cmp    $0x1,%eax
1406ade1a:	0f 8e a9 00 00 00    	jle    0x1406adec9
1406ade20:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
1406ade25:	74 73                	je     0x1406ade9a
1406ade27:	48 8b 55 67          	mov    0x67(%rbp),%rdx
1406ade2b:	48 8b 12             	mov    (%rdx),%rdx
1406ade2e:	0f 57 c0             	xorps  %xmm0,%xmm0
1406ade31:	0f 11 45 cf          	movups %xmm0,-0x31(%rbp)
1406ade35:	48 89 75 df          	mov    %rsi,-0x21(%rbp)
1406ade39:	48 89 75 e7          	mov    %rsi,-0x19(%rbp)
1406ade3d:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
1406ade44:	49 ff c0             	inc    %r8
1406ade47:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
1406ade4c:	75 f6                	jne    0x1406ade44
1406ade4e:	48 8d 4d cf          	lea    -0x31(%rbp),%rcx
1406ade52:	e8 a9 8f ae ff       	call   0x140196e00
1406ade57:	90                   	nop
1406ade58:	48 8d 45 97          	lea    -0x69(%rbp),%rax
1406ade5c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1406ade61:	4c 8d 4d af          	lea    -0x51(%rbp),%r9
1406ade65:	4c 8d 45 8f          	lea    -0x71(%rbp),%r8
1406ade69:	48 8d 55 cf          	lea    -0x31(%rbp),%rdx
1406ade6d:	49 8b cd             	mov    %r13,%rcx
1406ade70:	e8 fb 89 0f 00       	call   0x1407a6870
1406ade75:	48 8b f0             	mov    %rax,%rsi
1406ade78:	49 89 34 24          	mov    %rsi,(%r12)
1406ade7c:	49 8b c4             	mov    %r12,%rax
1406ade7f:	48 8b 9c 24 00 01 00 	mov    0x100(%rsp),%rbx
1406ade86:	00
1406ade87:	48 81 c4 c0 00 00 00 	add    $0xc0,%rsp
1406ade8e:	41 5f                	pop    %r15
1406ade90:	41 5e                	pop    %r14
1406ade92:	41 5d                	pop    %r13
1406ade94:	41 5c                	pop    %r12
1406ade96:	5f                   	pop    %rdi
1406ade97:	5e                   	pop    %rsi
1406ade98:	5d                   	pop    %rbp
1406ade99:	c3                   	ret
1406ade9a:	b9 01 00 00 00       	mov    $0x1,%ecx
1406ade9f:	e8 5c c8 0d 00       	call   0x14078a700
1406adea4:	90                   	nop
1406adea5:	e8 e6 f6 ae ff       	call   0x14019d590
1406adeaa:	cc                   	int3
1406adeab:	e8 e0 f2 ae ff       	call   0x14019d190
1406adeb0:	cc                   	int3
1406adeb1:	e8 ee c2 77 00       	call   0x140e2a1a4
1406adeb6:	90                   	nop
1406adeb7:	e8 d4 f6 ae ff       	call   0x14019d590
1406adebc:	cc                   	int3
1406adebd:	e8 ce f2 ae ff       	call   0x14019d190
1406adec2:	cc                   	int3
1406adec3:	e8 dc c2 77 00       	call   0x140e2a1a4
1406adec8:	90                   	nop
1406adec9:	33 c9                	xor    %ecx,%ecx
1406adecb:	e8 30 c8 0d 00       	call   0x14078a700
1406aded0:	90                   	nop
1406aded1:	b9 01 00 00 00       	mov    $0x1,%ecx
1406aded6:	e8 25 c8 0d 00       	call   0x14078a700
1406adedb:	cc                   	int3
1406adedc:	33 c9                	xor    %ecx,%ecx
1406adede:	e8 1d c8 0d 00       	call   0x14078a700
1406adee3:	cc                   	int3
1406adee4:	cc                   	int3
1406adee5:	cc                   	int3
1406adee6:	cc                   	int3
1406adee7:	cc                   	int3
1406adee8:	cc                   	int3
1406adee9:	cc                   	int3
1406adeea:	cc                   	int3
1406adeeb:	cc                   	int3
1406adeec:	cc                   	int3
1406adeed:	cc                   	int3
1406adeee:	cc                   	int3
1406adeef:	cc                   	int3
1406adef0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406adef5:	57                   	push   %rdi
1406adef6:	48 83 ec 20          	sub    $0x20,%rsp
1406adefa:	48 8b f9             	mov    %rcx,%rdi
1406adefd:	48 8b 59 08          	mov    0x8(%rcx),%rbx
1406adf01:	48 85 db             	test   %rbx,%rbx
1406adf04:	74 33                	je     0x1406adf39
1406adf06:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
1406adf0a:	e8 51 a4 ae ff       	call   0x140198360
1406adf0f:	90                   	nop
1406adf10:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1406adf14:	48 85 c9             	test   %rcx,%rcx
1406adf17:	74 20                	je     0x1406adf39
1406adf19:	8b 41 10             	mov    0x10(%rcx),%eax
1406adf1c:	ff c8                	dec    %eax
1406adf1e:	89 41 10             	mov    %eax,0x10(%rcx)
1406adf21:	85 c0                	test   %eax,%eax
1406adf23:	7f 14                	jg     0x1406adf39
1406adf25:	78 31                	js     0x1406adf58
1406adf27:	48 8b 01             	mov    (%rcx),%rax
1406adf2a:	ba 01 00 00 00       	mov    $0x1,%edx
1406adf2f:	48 8b 00             	mov    (%rax),%rax
1406adf32:	ff 15 e8 5a 8d 00    	call   *0x8d5ae8(%rip)        # 0x140f83a20
1406adf38:	90                   	nop
1406adf39:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1406adf3d:	48 85 c9             	test   %rcx,%rcx
1406adf40:	74 0b                	je     0x1406adf4d
1406adf42:	ba 48 00 00 00       	mov    $0x48,%edx
1406adf47:	e8 f8 d1 76 00       	call   0x140e1b144
1406adf4c:	90                   	nop
1406adf4d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1406adf52:	48 83 c4 20          	add    $0x20,%rsp
1406adf56:	5f                   	pop    %rdi
1406adf57:	c3                   	ret
1406adf58:	b9 02 00 00 00       	mov    $0x2,%ecx
1406adf5d:	e8 9e c7 0d 00       	call   0x14078a700
1406adf62:	cc                   	int3
1406adf63:	cc                   	int3
1406adf64:	cc                   	int3
1406adf65:	cc                   	int3
1406adf66:	cc                   	int3
1406adf67:	cc                   	int3
1406adf68:	cc                   	int3
1406adf69:	cc                   	int3
1406adf6a:	cc                   	int3
1406adf6b:	cc                   	int3
1406adf6c:	cc                   	int3
1406adf6d:	cc                   	int3
1406adf6e:	cc                   	int3
1406adf6f:	cc                   	int3
1406adf70:	40 53                	rex push %rbx
1406adf72:	48 83 ec 20          	sub    $0x20,%rsp
1406adf76:	48 8b 11             	mov    (%rcx),%rdx
1406adf79:	48 8b d9             	mov    %rcx,%rbx
1406adf7c:	e8 2f f8 ff ff       	call   0x1406ad7b0
1406adf81:	48 8b 0b             	mov    (%rbx),%rcx
1406adf84:	ba 48 00 00 00       	mov    $0x48,%edx
1406adf89:	48 83 c4 20          	add    $0x20,%rsp
1406adf8d:	5b                   	pop    %rbx
1406adf8e:	e9 b1 d1 76 00       	jmp    0x140e1b144
1406adf93:	cc                   	int3
1406adf94:	cc                   	int3
1406adf95:	cc                   	int3
1406adf96:	cc                   	int3
1406adf97:	cc                   	int3
1406adf98:	cc                   	int3
1406adf99:	cc                   	int3
1406adf9a:	cc                   	int3
1406adf9b:	cc                   	int3
1406adf9c:	cc                   	int3
1406adf9d:	cc                   	int3
1406adf9e:	cc                   	int3
1406adf9f:	cc                   	int3
1406adfa0:	40 53                	rex push %rbx
1406adfa2:	48 83 ec 20          	sub    $0x20,%rsp
1406adfa6:	48 8b d9             	mov    %rcx,%rbx
1406adfa9:	48 83 c1 10          	add    $0x10,%rcx
1406adfad:	e8 ae a3 ae ff       	call   0x140198360
1406adfb2:	90                   	nop
1406adfb3:	48 8b 0b             	mov    (%rbx),%rcx
1406adfb6:	48 85 c9             	test   %rcx,%rcx
1406adfb9:	74 20                	je     0x1406adfdb
1406adfbb:	8b 41 10             	mov    0x10(%rcx),%eax
1406adfbe:	ff c8                	dec    %eax
1406adfc0:	89 41 10             	mov    %eax,0x10(%rcx)
1406adfc3:	85 c0                	test   %eax,%eax
1406adfc5:	7f 14                	jg     0x1406adfdb
1406adfc7:	78 18                	js     0x1406adfe1
1406adfc9:	48 8b 01             	mov    (%rcx),%rax
1406adfcc:	ba 01 00 00 00       	mov    $0x1,%edx
1406adfd1:	48 8b 00             	mov    (%rax),%rax
1406adfd4:	ff 15 46 5a 8d 00    	call   *0x8d5a46(%rip)        # 0x140f83a20
1406adfda:	90                   	nop
1406adfdb:	48 83 c4 20          	add    $0x20,%rsp
1406adfdf:	5b                   	pop    %rbx
1406adfe0:	c3                   	ret
1406adfe1:	b9 02 00 00 00       	mov    $0x2,%ecx
1406adfe6:	e8 15 c7 0d 00       	call   0x14078a700
1406adfeb:	cc                   	int3
1406adfec:	cc                   	int3
1406adfed:	cc                   	int3
1406adfee:	cc                   	int3
1406adfef:	cc                   	int3
1406adff0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406adff5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406adffa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406adfff:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1406ae004:	41 56                	push   %r14
1406ae006:	48 83 ec 20          	sub    $0x20,%rsp
1406ae00a:	48 8b 02             	mov    (%rdx),%rax
1406ae00d:	48 8d 72 10          	lea    0x10(%rdx),%rsi
1406ae011:	4c 8b 01             	mov    (%rcx),%r8
1406ae014:	48 8d 59 10          	lea    0x10(%rcx),%rbx
1406ae018:	48 89 01             	mov    %rax,(%rcx)
1406ae01b:	4c 8b f2             	mov    %rdx,%r14
1406ae01e:	4c 89 02             	mov    %r8,(%rdx)
1406ae021:	48 8b f9             	mov    %rcx,%rdi
1406ae024:	8b 42 08             	mov    0x8(%rdx),%eax
1406ae027:	89 41 08             	mov    %eax,0x8(%rcx)
1406ae02a:	48 3b de             	cmp    %rsi,%rbx
1406ae02d:	74 76                	je     0x1406ae0a5
1406ae02f:	48 8b 0b             	mov    (%rbx),%rcx
1406ae032:	33 ed                	xor    %ebp,%ebp
1406ae034:	48 85 c9             	test   %rcx,%rcx
1406ae037:	74 4b                	je     0x1406ae084
1406ae039:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406ae03d:	4c 8b c3             	mov    %rbx,%r8
1406ae040:	e8 0b 92 ae ff       	call   0x140197250
1406ae045:	48 8b 0b             	mov    (%rbx),%rcx
1406ae048:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1406ae04c:	48 2b d1             	sub    %rcx,%rdx
1406ae04f:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
1406ae053:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1406ae05a:	72 18                	jb     0x1406ae074
1406ae05c:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
1406ae060:	48 83 c2 27          	add    $0x27,%rdx
1406ae064:	49 2b c8             	sub    %r8,%rcx
1406ae067:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
1406ae06b:	48 83 f8 1f          	cmp    $0x1f,%rax
1406ae06f:	77 5a                	ja     0x1406ae0cb
1406ae071:	49 8b c8             	mov    %r8,%rcx
1406ae074:	e8 cb d0 76 00       	call   0x140e1b144
1406ae079:	48 89 2b             	mov    %rbp,(%rbx)
1406ae07c:	48 89 6b 08          	mov    %rbp,0x8(%rbx)
1406ae080:	48 89 6b 10          	mov    %rbp,0x10(%rbx)
1406ae084:	48 8b 06             	mov    (%rsi),%rax
1406ae087:	48 89 03             	mov    %rax,(%rbx)
1406ae08a:	48 8b 46 08          	mov    0x8(%rsi),%rax
1406ae08e:	48 89 43 08          	mov    %rax,0x8(%rbx)
1406ae092:	48 8b 46 10          	mov    0x10(%rsi),%rax
1406ae096:	48 89 43 10          	mov    %rax,0x10(%rbx)
1406ae09a:	48 89 2e             	mov    %rbp,(%rsi)
1406ae09d:	48 89 6e 08          	mov    %rbp,0x8(%rsi)
1406ae0a1:	48 89 6e 10          	mov    %rbp,0x10(%rsi)
1406ae0a5:	49 8b 46 28          	mov    0x28(%r14),%rax
1406ae0a9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1406ae0ae:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1406ae0b3:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1406ae0b8:	48 89 47 28          	mov    %rax,0x28(%rdi)
1406ae0bc:	48 8b c7             	mov    %rdi,%rax
1406ae0bf:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1406ae0c4:	48 83 c4 20          	add    $0x20,%rsp
1406ae0c8:	41 5e                	pop    %r14
1406ae0ca:	c3                   	ret
1406ae0cb:	e8 d4 c0 77 00       	call   0x140e2a1a4
1406ae0d0:	cc                   	int3
1406ae0d1:	cc                   	int3
1406ae0d2:	cc                   	int3
1406ae0d3:	cc                   	int3
1406ae0d4:	cc                   	int3
1406ae0d5:	cc                   	int3
1406ae0d6:	cc                   	int3
1406ae0d7:	cc                   	int3
1406ae0d8:	cc                   	int3
1406ae0d9:	cc                   	int3
1406ae0da:	cc                   	int3
1406ae0db:	cc                   	int3
1406ae0dc:	cc                   	int3
1406ae0dd:	cc                   	int3
1406ae0de:	cc                   	int3
1406ae0df:	cc                   	int3
1406ae0e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406ae0e5:	55                   	push   %rbp
1406ae0e6:	56                   	push   %rsi
1406ae0e7:	57                   	push   %rdi
1406ae0e8:	48 83 ec 40          	sub    $0x40,%rsp
1406ae0ec:	48 8b fa             	mov    %rdx,%rdi
1406ae0ef:	48 8b f1             	mov    %rcx,%rsi
1406ae0f2:	33 ed                	xor    %ebp,%ebp
1406ae0f4:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
1406ae0f9:	e8 22 e9 0b 00       	call   0x14076ca20
1406ae0fe:	90                   	nop
1406ae0ff:	48 8b 08             	mov    (%rax),%rcx
1406ae102:	48 8b d7             	mov    %rdi,%rdx
1406ae105:	48 83 7f 18 0f       	cmpq   $0xf,0x18(%rdi)
1406ae10a:	76 03                	jbe    0x1406ae10f
1406ae10c:	48 8b 17             	mov    (%rdi),%rdx
1406ae10f:	48 8b 47 10          	mov    0x10(%rdi),%rax
1406ae113:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
1406ae118:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1406ae11d:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
1406ae122:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
1406ae128:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1406ae12d:	e8 1e e6 0b 00       	call   0x14076c750
1406ae132:	48 8b 18             	mov    (%rax),%rbx
1406ae135:	48 89 5c 24 70       	mov    %rbx,0x70(%rsp)
1406ae13a:	48 85 db             	test   %rbx,%rbx
1406ae13d:	74 1c                	je     0x1406ae15b
1406ae13f:	8b 43 10             	mov    0x10(%rbx),%eax
1406ae142:	ff c0                	inc    %eax