140551ab7:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
140551abb:	49 2b d6             	sub    %r14,%rdx
140551abe:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140551ac2:	49 8b c6             	mov    %r14,%rax
140551ac5:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140551acc:	72 19                	jb     0x140551ae7
140551ace:	48 83 c2 27          	add    $0x27,%rdx
140551ad2:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
140551ad6:	49 2b c6             	sub    %r14,%rax
140551ad9:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140551add:	48 83 f8 1f          	cmp    $0x1f,%rax
140551ae1:	0f 87 b4 00 00 00    	ja     0x140551b9b
140551ae7:	49 8b ce             	mov    %r14,%rcx
140551aea:	e8 55 96 8c 00       	call   0x140e1b144
140551aef:	48 8b 43 10          	mov    0x10(%rbx),%rax
140551af3:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140551af7:	74 25                	je     0x140551b1e
140551af9:	48 8b 43 08          	mov    0x8(%rbx),%rax
140551afd:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140551b01:	75 13                	jne    0x140551b16
140551b03:	48 3b 58 10          	cmp    0x10(%rax),%rbx
140551b07:	75 0d                	jne    0x140551b16
140551b09:	48 8b d8             	mov    %rax,%rbx
140551b0c:	48 8b 40 08          	mov    0x8(%rax),%rax
140551b10:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140551b14:	74 ed                	je     0x140551b03
140551b16:	48 8b d8             	mov    %rax,%rbx
140551b19:	e9 e8 fc ff ff       	jmp    0x140551806
140551b1e:	48 8b d8             	mov    %rax,%rbx
140551b21:	48 8b 08             	mov    (%rax),%rcx
140551b24:	80 79 19 00          	cmpb   $0x0,0x19(%rcx)
140551b28:	0f 85 d8 fc ff ff    	jne    0x140551806
140551b2e:	66 90                	xchg   %ax,%ax
140551b30:	48 8b d9             	mov    %rcx,%rbx
140551b33:	48 8b 01             	mov    (%rcx),%rax
140551b36:	48 8b c8             	mov    %rax,%rcx
140551b39:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140551b3d:	74 f1                	je     0x140551b30
140551b3f:	e9 c2 fc ff ff       	jmp    0x140551806
140551b44:	4d 85 f6             	test   %r14,%r14
140551b47:	74 34                	je     0x140551b7d
140551b49:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
140551b4d:	49 2b d6             	sub    %r14,%rdx
140551b50:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
140551b54:	49 8b c6             	mov    %r14,%rax
140551b57:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140551b5e:	72 15                	jb     0x140551b75
140551b60:	48 83 c2 27          	add    $0x27,%rdx
140551b64:	4d 8b 76 f8          	mov    -0x8(%r14),%r14
140551b68:	49 2b c6             	sub    %r14,%rax
140551b6b:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140551b6f:	48 83 f8 1f          	cmp    $0x1f,%rax
140551b73:	77 26                	ja     0x140551b9b
140551b75:	49 8b ce             	mov    %r14,%rcx
140551b78:	e8 c7 95 8c 00       	call   0x140e1b144
140551b7d:	32 c0                	xor    %al,%al
140551b7f:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
140551b86:	00
140551b87:	48 83 c4 40          	add    $0x40,%rsp
140551b8b:	41 5f                	pop    %r15
140551b8d:	41 5e                	pop    %r14
140551b8f:	41 5d                	pop    %r13
140551b91:	41 5c                	pop    %r12
140551b93:	5f                   	pop    %rdi
140551b94:	5e                   	pop    %rsi
140551b95:	5d                   	pop    %rbp
140551b96:	c3                   	ret
140551b97:	b0 01                	mov    $0x1,%al
140551b99:	eb e4                	jmp    0x140551b7f
140551b9b:	e8 04 86 8d 00       	call   0x140e2a1a4
140551ba0:	90                   	nop
140551ba1:	e8 ea b9 c4 ff       	call   0x14019d590
140551ba6:	90                   	nop
140551ba7:	cc                   	int3
140551ba8:	cc                   	int3
140551ba9:	cc                   	int3
140551baa:	cc                   	int3
140551bab:	cc                   	int3
140551bac:	cc                   	int3
140551bad:	cc                   	int3
140551bae:	cc                   	int3
140551baf:	cc                   	int3
140551bb0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140551bb5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140551bba:	56                   	push   %rsi
140551bbb:	57                   	push   %rdi
140551bbc:	41 56                	push   %r14
140551bbe:	48 83 ec 70          	sub    $0x70,%rsp
140551bc2:	48 8b f2             	mov    %rdx,%rsi
140551bc5:	48 8b 09             	mov    (%rcx),%rcx
140551bc8:	8b 41 18             	mov    0x18(%rcx),%eax
140551bcb:	83 f8 13             	cmp    $0x13,%eax
140551bce:	75 3f                	jne    0x140551c0f
140551bd0:	e8 0b 8b 1f 00       	call   0x14074a6e0
140551bd5:	48 8b e8             	mov    %rax,%rbp
140551bd8:	48 8b 1e             	mov    (%rsi),%rbx
140551bdb:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
140551bdf:	48 3b df             	cmp    %rdi,%rbx
140551be2:	74 24                	je     0x140551c08
140551be4:	48 8b cd             	mov    %rbp,%rcx
140551be7:	e8 b4 e2 1f 00       	call   0x14074fea0
140551bec:	48 8b 10             	mov    (%rax),%rdx
140551bef:	48 8b cb             	mov    %rbx,%rcx
140551bf2:	e8 59 2e 00 00       	call   0x140554a50
140551bf7:	84 c0                	test   %al,%al
140551bf9:	0f 84 fc 00 00 00    	je     0x140551cfb
140551bff:	48 83 c3 30          	add    $0x30,%rbx
140551c03:	48 3b df             	cmp    %rdi,%rbx
140551c06:	75 dc                	jne    0x140551be4
140551c08:	b0 01                	mov    $0x1,%al
140551c0a:	e9 ee 00 00 00       	jmp    0x140551cfd
140551c0f:	83 f8 11             	cmp    $0x11,%eax
140551c12:	0f 85 fa 00 00 00    	jne    0x140551d12
140551c18:	48 8b 1a             	mov    (%rdx),%rbx
140551c1b:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140551c1f:	48 2b cb             	sub    %rbx,%rcx
140551c22:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
140551c29:	aa aa 2a
140551c2c:	48 f7 e9             	imul   %rcx
140551c2f:	48 c1 fa 03          	sar    $0x3,%rdx
140551c33:	48 8b c2             	mov    %rdx,%rax
140551c36:	48 c1 e8 3f          	shr    $0x3f,%rax
140551c3a:	48 ff c8             	dec    %rax
140551c3d:	48 03 c2             	add    %rdx,%rax
140551c40:	48 83 f8 01          	cmp    $0x1,%rax
140551c44:	0f 87 b1 00 00 00    	ja     0x140551cfb
140551c4a:	48 85 db             	test   %rbx,%rbx
140551c4d:	0f 84 a8 00 00 00    	je     0x140551cfb
140551c53:	80 7b 28 05          	cmpb   $0x5,0x28(%rbx)
140551c57:	0f 85 9e 00 00 00    	jne    0x140551cfb
140551c5d:	48 8d 8c 24 90 00 00 	lea    0x90(%rsp),%rcx
140551c64:	00
140551c65:	e8 b6 ad 21 00       	call   0x14076ca20
140551c6a:	90                   	nop
140551c6b:	48 8b 08             	mov    (%rax),%rcx
140551c6e:	48 8b d3             	mov    %rbx,%rdx
140551c71:	48 83 7b 18 0f       	cmpq   $0xf,0x18(%rbx)
140551c76:	76 03                	jbe    0x140551c7b
140551c78:	48 8b 13             	mov    (%rbx),%rdx
140551c7b:	48 8b 43 10          	mov    0x10(%rbx),%rax
140551c7f:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140551c84:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140551c89:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140551c8e:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
140551c94:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140551c99:	e8 b2 aa 21 00       	call   0x14076c750
140551c9e:	48 8b d8             	mov    %rax,%rbx
140551ca1:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
140551ca8:	00
140551ca9:	4d 85 c0             	test   %r8,%r8
140551cac:	74 29                	je     0x140551cd7
140551cae:	41 8b 48 10          	mov    0x10(%r8),%ecx
140551cb2:	ff c9                	dec    %ecx
140551cb4:	41 89 48 10          	mov    %ecx,0x10(%r8)
140551cb8:	85 c9                	test   %ecx,%ecx
140551cba:	7f 1b                	jg     0x140551cd7
140551cbc:	0f 88 7a 02 00 00    	js     0x140551f3c
140551cc2:	49 8b 00             	mov    (%r8),%rax
140551cc5:	ba 01 00 00 00       	mov    $0x1,%edx
140551cca:	49 8b c8             	mov    %r8,%rcx
140551ccd:	48 8b 00             	mov    (%rax),%rax
140551cd0:	ff 15 4a 1d a3 00    	call   *0xa31d4a(%rip)        # 0x140f83a20
140551cd6:	90                   	nop
140551cd7:	48 8b 03             	mov    (%rbx),%rax
140551cda:	48 85 c0             	test   %rax,%rax
140551cdd:	74 1c                	je     0x140551cfb
140551cdf:	48 8b 40 50          	mov    0x50(%rax),%rax
140551ce3:	48 85 c0             	test   %rax,%rax
140551ce6:	74 13                	je     0x140551cfb
140551ce8:	48 8b 40 18          	mov    0x18(%rax),%rax
140551cec:	48 85 c0             	test   %rax,%rax
140551cef:	74 0a                	je     0x140551cfb
140551cf1:	83 78 18 11          	cmpl   $0x11,0x18(%rax)
140551cf5:	0f 84 0d ff ff ff    	je     0x140551c08
140551cfb:	32 c0                	xor    %al,%al
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