5b1b91:	8b cb                	mov    %ebx,%ecx
5b1b93:	e8 48 dc ff ff       	call   0x5af7e0
5b1b98:	83 c7 0c             	add    $0xc,%edi
5b1b9b:	83 c3 0c             	add    $0xc,%ebx
5b1b9e:	3b fe                	cmp    %esi,%edi
5b1ba0:	75 ee                	jne    0x5b1b90
5b1ba2:	8b 45 8c             	mov    -0x74(%ebp),%eax
5b1ba5:	89 58 04             	mov    %ebx,0x4(%eax)
5b1ba8:	6a 12                	push   $0x12
5b1baa:	e8 11 41 e9 ff       	call   0x445cc0
5b1baf:	83 c4 14             	add    $0x14,%esp
5b1bb2:	6a 03                	push   $0x3
5b1bb4:	e8 37 bd ea ff       	call   0x45d8f0
5b1bb9:	50                   	push   %eax
5b1bba:	83 ec 18             	sub    $0x18,%esp
5b1bbd:	8d 45 ac             	lea    -0x54(%ebp),%eax
5b1bc0:	8b cc                	mov    %esp,%ecx
5b1bc2:	50                   	push   %eax
5b1bc3:	e8 d8 b1 e8 ff       	call   0x43cda0
5b1bc8:	8d 45 94             	lea    -0x6c(%ebp),%eax
5b1bcb:	50                   	push   %eax
5b1bcc:	e8 0f 41 ea ff       	call   0x455ce0
5b1bd1:	83 c4 24             	add    $0x24,%esp
5b1bd4:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
5b1bdb:	8d 45 d0             	lea    -0x30(%ebp),%eax
5b1bde:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
5b1be5:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5b1bec:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
5b1bf3:	50                   	push   %eax
5b1bf4:	8d 45 f8             	lea    -0x8(%ebp),%eax
5b1bf7:	50                   	push   %eax
5b1bf8:	83 ec 18             	sub    $0x18,%esp
5b1bfb:	8d 45 94             	lea    -0x6c(%ebp),%eax
5b1bfe:	8b cc                	mov    %esp,%ecx
5b1c00:	50                   	push   %eax
5b1c01:	e8 9a b1 e8 ff       	call   0x43cda0
5b1c06:	e8 95 47 e9 ff       	call   0x4463a0
5b1c0b:	8b 75 f8             	mov    -0x8(%ebp),%esi
5b1c0e:	8d 4d d0             	lea    -0x30(%ebp),%ecx
5b1c11:	83 c4 20             	add    $0x20,%esp
5b1c14:	e8 f7 2f e9 ff       	call   0x444c10
5b1c19:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
5b1c1c:	e8 8f 6a e8 ff       	call   0x4386b0
5b1c21:	8d 4d ac             	lea    -0x54(%ebp),%ecx
5b1c24:	e8 87 6a e8 ff       	call   0x4386b0
5b1c29:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5b1c2c:	e8 df 2f e9 ff       	call   0x444c10
5b1c31:	8b c6                	mov    %esi,%eax
5b1c33:	5f                   	pop    %edi
5b1c34:	5e                   	pop    %esi
5b1c35:	5b                   	pop    %ebx
5b1c36:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5b1c39:	33 cd                	xor    %ebp,%ecx
5b1c3b:	e8 9a f8 02 00       	call   0x5e14da
5b1c40:	8b e5                	mov    %ebp,%esp
5b1c42:	5d                   	pop    %ebp
5b1c43:	c3                   	ret
5b1c44:	83 ec 18             	sub    $0x18,%esp
5b1c47:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
5b1c4e:	8b cc                	mov    %esp,%ecx
5b1c50:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5b1c57:	b8 0f 00 00 00       	mov    $0xf,%eax
5b1c5c:	c6 45 c4 00          	movb   $0x0,-0x3c(%ebp)
5b1c60:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b1c63:	6a 13                	push   $0x13
5b1c65:	68 48 dd 68 00       	push   $0x68dd48
5b1c6a:	89 45 d8             	mov    %eax,-0x28(%ebp)
5b1c6d:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
5b1c74:	89 41 14             	mov    %eax,0x14(%ecx)
5b1c77:	c6 01 00             	movb   $0x0,(%ecx)
5b1c7a:	e8 c1 35 e9 ff       	call   0x445240
5b1c7f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5b1c82:	e8 99 28 00 00       	call   0x5b4520
5b1c87:	33 f6                	xor    %esi,%esi
5b1c89:	85 db                	test   %ebx,%ebx
5b1c8b:	74 38                	je     0x5b1cc5
5b1c8d:	8b 45 8c             	mov    -0x74(%ebp),%eax
5b1c90:	33 c9                	xor    %ecx,%ecx
5b1c92:	8b 10                	mov    (%eax),%edx
5b1c94:	83 c2 10             	add    $0x10,%edx
5b1c97:	81 3a 80 00 00 00    	cmpl   $0x80,(%edx)
5b1c9d:	77 7a                	ja     0x5b1d19
5b1c9f:	8b 45 88             	mov    -0x78(%ebp),%eax
5b1ca2:	8b 00                	mov    (%eax),%eax
5b1ca4:	81 7c 01 10 80 00 00 	cmpl   $0x80,0x10(%ecx,%eax,1)
5b1cab:	00
5b1cac:	77 6b                	ja     0x5b1d19
5b1cae:	8b 07                	mov    (%edi),%eax
5b1cb0:	81 7c 01 10 80 00 00 	cmpl   $0x80,0x10(%ecx,%eax,1)
5b1cb7:	00
5b1cb8:	77 5f                	ja     0x5b1d19
5b1cba:	46                   	inc    %esi
5b1cbb:	83 c1 18             	add    $0x18,%ecx
5b1cbe:	83 c2 18             	add    $0x18,%edx
5b1cc1:	3b f3                	cmp    %ebx,%esi
5b1cc3:	72 d2                	jb     0x5b1c97
5b1cc5:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5b1cc8:	50                   	push   %eax
5b1cc9:	e8 22 dc ff ff       	call   0x5af8f0
5b1cce:	8b 45 d8             	mov    -0x28(%ebp),%eax
5b1cd1:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
5b1cd4:	8b 75 c4             	mov    -0x3c(%ebp),%esi
5b1cd7:	83 ec 14             	sub    $0x14,%esp
5b1cda:	83 f8 10             	cmp    $0x10,%eax
5b1cdd:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b1ce0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5b1ce3:	8b fc                	mov    %esp,%edi
5b1ce5:	0f 43 ce             	cmovae %esi,%ecx
5b1ce8:	89 b5 7c ff ff ff    	mov    %esi,-0x84(%ebp)
5b1cee:	89 4d 80             	mov    %ecx,-0x80(%ebp)
5b1cf1:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
5b1cf6:	89 45 90             	mov    %eax,-0x70(%ebp)
5b1cf9:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
5b1d00:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
5b1d07:	83 f8 10             	cmp    $0x10,%eax
5b1d0a:	73 1a                	jae    0x5b1d26
5b1d0c:	0f 10 01             	movups (%ecx),%xmm0
5b1d0f:	b8 0f 00 00 00       	mov    $0xf,%eax
5b1d14:	0f 11 07             	movups %xmm0,(%edi)
5b1d17:	eb 40                	jmp    0x5b1d59
5b1d19:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
5b1d1c:	be 09 00 00 00       	mov    $0x9,%esi
5b1d21:	e9 46 02 00 00       	jmp    0x5b1f6c
5b1d26:	83 c8 0f             	or     $0xf,%eax
5b1d29:	8b cf                	mov    %edi,%ecx
5b1d2b:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5b1d30:	0f 47 c2             	cmova  %edx,%eax
5b1d33:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5b1d39:	40                   	inc    %eax
5b1d3a:	50                   	push   %eax
5b1d3b:	e8 10 77 e8 ff       	call   0x439450
5b1d40:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5b1d43:	41                   	inc    %ecx
5b1d44:	89 07                	mov    %eax,(%edi)
5b1d46:	51                   	push   %ecx
5b1d47:	ff 75 80             	push   -0x80(%ebp)
5b1d4a:	50                   	push   %eax
5b1d4b:	e8 b0 11 03 00       	call   0x5e2f00
5b1d50:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
5b1d56:	83 c4 0c             	add    $0xc,%esp
5b1d59:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5b1d5c:	89 4f 10             	mov    %ecx,0x10(%edi)
5b1d5f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5b1d62:	89 47 14             	mov    %eax,0x14(%edi)
5b1d65:	e8 36 2d 00 00       	call   0x5b4aa0
5b1d6a:	85 c0                	test   %eax,%eax
5b1d6c:	74 10                	je     0x5b1d7e
5b1d6e:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
5b1d74:	be 02 00 00 00       	mov    $0x2,%esi
5b1d79:	e9 ee 01 00 00       	jmp    0x5b1f6c
5b1d7e:	83 7d f8 10          	cmpl   $0x10,-0x8(%ebp)
5b1d82:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5b1d85:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
5b1d8c:	bf 04 00 00 00       	mov    $0x4,%edi
5b1d91:	0f 43 c6             	cmovae %esi,%eax
5b1d94:	33 c9                	xor    %ecx,%ecx
5b1d96:	c6 00 00             	movb   $0x0,(%eax)
5b1d99:	8b c3                	mov    %ebx,%eax
5b1d9b:	f7 e7                	mul    %edi
5b1d9d:	0f 90 c1             	seto   %cl
5b1da0:	f7 d9                	neg    %ecx
5b1da2:	0b c8                	or     %eax,%ecx
5b1da4:	51                   	push   %ecx
5b1da5:	e8 d6 f2 02 00       	call   0x5e1080
5b1daa:	8b f0                	mov    %eax,%esi
5b1dac:	33 c9                	xor    %ecx,%ecx
5b1dae:	8b c3                	mov    %ebx,%eax
5b1db0:	f7 e7                	mul    %edi
5b1db2:	0f 90 c1             	seto   %cl
5b1db5:	f7 d9                	neg    %ecx
5b1db7:	0b c8                	or     %eax,%ecx
5b1db9:	51                   	push   %ecx
5b1dba:	e8 c1 f2 02 00       	call   0x5e1080
5b1dbf:	8b f8                	mov    %eax,%edi
5b1dc1:	33 c9                	xor    %ecx,%ecx
5b1dc3:	8b c3                	mov    %ebx,%eax
5b1dc5:	89 7d f8             	mov    %edi,-0x8(%ebp)
5b1dc8:	ba 04 00 00 00       	mov    $0x4,%edx
5b1dcd:	f7 e2                	mul    %edx
5b1dcf:	0f 90 c1             	seto   %cl
5b1dd2:	f7 d9                	neg    %ecx
5b1dd4:	0b c8                	or     %eax,%ecx
5b1dd6:	51                   	push   %ecx
5b1dd7:	e8 a4 f2 02 00       	call   0x5e1080
5b1ddc:	83 c4 0c             	add    $0xc,%esp
5b1ddf:	89 45 80             	mov    %eax,-0x80(%ebp)
5b1de2:	85 db                	test   %ebx,%ebx
5b1de4:	74 73                	je     0x5b1e59
5b1de6:	2b fe                	sub    %esi,%edi
5b1de8:	89 5d 90             	mov    %ebx,-0x70(%ebp)
5b1deb:	8b 5d 88             	mov    -0x78(%ebp),%ebx
5b1dee:	33 d2                	xor    %edx,%edx
5b1df0:	2b c6                	sub    %esi,%eax
5b1df2:	89 bd 7c ff ff ff    	mov    %edi,-0x84(%ebp)
5b1df8:	8b bd 74 ff ff ff    	mov    -0x8c(%ebp),%edi
5b1dfe:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
5b1e04:	8b c6                	mov    %esi,%eax
5b1e06:	8b 0b                	mov    (%ebx),%ecx
5b1e08:	03 ca                	add    %edx,%ecx
5b1e0a:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b1e0e:	72 02                	jb     0x5b1e12
5b1e10:	8b 09                	mov    (%ecx),%ecx
5b1e12:	8b 9d 7c ff ff ff    	mov    -0x84(%ebp),%ebx
5b1e18:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
5b1e1b:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5b1e1e:	8b 09                	mov    (%ecx),%ecx
5b1e20:	03 ca                	add    %edx,%ecx
5b1e22:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b1e26:	72 02                	jb     0x5b1e2a
5b1e28:	8b 09                	mov    (%ecx),%ecx
5b1e2a:	89 08                	mov    %ecx,(%eax)
5b1e2c:	8b 0f                	mov    (%edi),%ecx
5b1e2e:	03 ca                	add    %edx,%ecx
5b1e30:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
5b1e34:	72 02                	jb     0x5b1e38
5b1e36:	8b 09                	mov    (%ecx),%ecx
5b1e38:	8b 9d 78 ff ff ff    	mov    -0x88(%ebp),%ebx
5b1e3e:	83 c2 18             	add    $0x18,%edx
5b1e41:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
5b1e44:	83 c0 04             	add    $0x4,%eax
5b1e47:	83 6d 90 01          	subl   $0x1,-0x70(%ebp)
5b1e4b:	8b 5d 88             	mov    -0x78(%ebp),%ebx
5b1e4e:	75 b6                	jne    0x5b1e06
5b1e50:	8b 7d f8             	mov    -0x8(%ebp),%edi
5b1e53:	8b 45 80             	mov    -0x80(%ebp),%eax
5b1e56:	8b 5d 84             	mov    -0x7c(%ebp),%ebx
5b1e59:	53                   	push   %ebx
5b1e5a:	50                   	push   %eax
5b1e5b:	57                   	push   %edi
5b1e5c:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5b1e5f:	56                   	push   %esi
5b1e60:	50                   	push   %eax
5b1e61:	e8 fa db ff ff       	call   0x5afa60
5b1e66:	8b 45 d8             	mov    -0x28(%ebp),%eax
5b1e69:	8d 55 c4             	lea    -0x3c(%ebp),%edx
5b1e6c:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
5b1e6f:	83 f8 10             	cmp    $0x10,%eax
5b1e72:	51                   	push   %ecx
5b1e73:	8b cc                	mov    %esp,%ecx
5b1e75:	89 45 f8             	mov    %eax,-0x8(%ebp)
5b1e78:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5b1e7b:	0f 43 d3             	cmovae %ebx,%edx
5b1e7e:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
5b1e81:	89 55 90             	mov    %edx,-0x70(%ebp)
5b1e84:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
5b1e8b:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
5b1e92:	89 45 88             	mov    %eax,-0x78(%ebp)
5b1e95:	83 f8 10             	cmp    $0x10,%eax
5b1e98:	73 0d                	jae    0x5b1ea7
5b1e9a:	0f 10 02             	movups (%edx),%xmm0
5b1e9d:	b8 0f 00 00 00       	mov    $0xf,%eax
5b1ea2:	0f 11 01             	movups %xmm0,(%ecx)
5b1ea5:	eb 75                	jmp    0x5b1f1c
5b1ea7:	83 c8 0f             	or     $0xf,%eax
5b1eaa:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
5b1eaf:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5b1eb4:	0f 47 c1             	cmova  %ecx,%eax
5b1eb7:	89 45 84             	mov    %eax,-0x7c(%ebp)
5b1eba:	40                   	inc    %eax
5b1ebb:	3d 00 10 00 00       	cmp    $0x1000,%eax
5b1ec0:	72 2a                	jb     0x5b1eec
5b1ec2:	8d 48 23             	lea    0x23(%eax),%ecx
5b1ec5:	3b c8                	cmp    %eax,%ecx
5b1ec7:	0f 86 05 01 00 00    	jbe    0x5b1fd2
5b1ecd:	51                   	push   %ecx
5b1ece:	e8 6f f1 02 00       	call   0x5e1042
5b1ed3:	83 c4 04             	add    $0x4,%esp
5b1ed6:	85 c0                	test   %eax,%eax
5b1ed8:	0f 84 f9 00 00 00    	je     0x5b1fd7
5b1ede:	8b 55 90             	mov    -0x70(%ebp),%edx
5b1ee1:	8d 48 23             	lea    0x23(%eax),%ecx
5b1ee4:	83 e1 e0             	and    $0xffffffe0,%ecx
5b1ee7:	89 41 fc             	mov    %eax,-0x4(%ecx)
5b1eea:	eb 16                	jmp    0x5b1f02
5b1eec:	85 c0                	test   %eax,%eax
5b1eee:	74 10                	je     0x5b1f00
5b1ef0:	50                   	push   %eax
5b1ef1:	e8 4c f1 02 00       	call   0x5e1042
5b1ef6:	8b 55 90             	mov    -0x70(%ebp),%edx
5b1ef9:	83 c4 04             	add    $0x4,%esp
5b1efc:	8b c8                	mov    %eax,%ecx
5b1efe:	eb 02                	jmp    0x5b1f02
5b1f00:	33 c9                	xor    %ecx,%ecx
5b1f02:	8b 45 8c             	mov    -0x74(%ebp),%eax
5b1f05:	89 08                	mov    %ecx,(%eax)
5b1f07:	8b 45 88             	mov    -0x78(%ebp),%eax
5b1f0a:	40                   	inc    %eax
5b1f0b:	50                   	push   %eax
5b1f0c:	52                   	push   %edx
5b1f0d:	51                   	push   %ecx
5b1f0e:	e8 ed 0f 03 00       	call   0x5e2f00
5b1f13:	8b 45 84             	mov    -0x7c(%ebp),%eax
5b1f16:	83 c4 0c             	add    $0xc,%esp
5b1f19:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
5b1f1c:	8b 55 88             	mov    -0x78(%ebp),%edx
5b1f1f:	89 51 10             	mov    %edx,0x10(%ecx)
5b1f22:	89 41 14             	mov    %eax,0x14(%ecx)
5b1f25:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5b1f28:	e8 73 2b 00 00       	call   0x5b4aa0
5b1f2d:	85 c0                	test   %eax,%eax
5b1f2f:	b9 02 00 00 00       	mov    $0x2,%ecx
5b1f34:	b8 01 00 00 00       	mov    $0x1,%eax
5b1f39:	0f 45 c1             	cmovne %ecx,%eax
5b1f3c:	89 45 90             	mov    %eax,-0x70(%ebp)
5b1f3f:	8b 45 80             	mov    -0x80(%ebp),%eax
5b1f42:	85 c0                	test   %eax,%eax
5b1f44:	74 09                	je     0x5b1f4f
5b1f46:	50                   	push   %eax
5b1f47:	e8 3d f1 02 00       	call   0x5e1089
5b1f4c:	83 c4 04             	add    $0x4,%esp
5b1f4f:	85 ff                	test   %edi,%edi
5b1f51:	74 09                	je     0x5b1f5c
5b1f53:	57                   	push   %edi
5b1f54:	e8 30 f1 02 00       	call   0x5e1089
5b1f59:	83 c4 04             	add    $0x4,%esp
5b1f5c:	85 f6                	test   %esi,%esi
5b1f5e:	74 09                	je     0x5b1f69
5b1f60:	56                   	push   %esi
5b1f61:	e8 23 f1 02 00       	call   0x5e1089
5b1f66:	83 c4 04             	add    $0x4,%esp
5b1f69:	8b 75 90             	mov    -0x70(%ebp),%esi
5b1f6c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
5b1f6f:	e8 3c 26 00 00       	call   0x5b45b0
5b1f74:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5b1f77:	83 f9 10             	cmp    $0x10,%ecx
5b1f7a:	72 25                	jb     0x5b1fa1
5b1f7c:	41                   	inc    %ecx
5b1f7d:	8b c3                	mov    %ebx,%eax
5b1f7f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5b1f85:	72 10                	jb     0x5b1f97
5b1f87:	8b 5b fc             	mov    -0x4(%ebx),%ebx
5b1f8a:	83 c1 23             	add    $0x23,%ecx
5b1f8d:	2b c3                	sub    %ebx,%eax
5b1f8f:	83 c0 fc             	add    $0xfffffffc,%eax
5b1f92:	83 f8 1f             	cmp    $0x1f,%eax
5b1f95:	77 40                	ja     0x5b1fd7
5b1f97:	51                   	push   %ecx
5b1f98:	53                   	push   %ebx
5b1f99:	e8 d4 f0 02 00       	call   0x5e1072
5b1f9e:	83 c4 08             	add    $0x8,%esp
5b1fa1:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5b1fa4:	e8 67 2c e9 ff       	call   0x444c10
5b1fa9:	8b c6                	mov    %esi,%eax
5b1fab:	5f                   	pop    %edi
5b1fac:	5e                   	pop    %esi
5b1fad:	5b                   	pop    %ebx
5b1fae:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5b1fb1:	33 cd                	xor    %ebp,%ecx
5b1fb3:	e8 22 f5 02 00       	call   0x5e14da
5b1fb8:	8b e5                	mov    %ebp,%esp