5b195d:	52                   	push   %edx
5b195e:	51                   	push   %ecx
5b195f:	e8 0e f7 02 00       	call   0x5e1072
5b1964:	83 c4 08             	add    $0x8,%esp
5b1967:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5b196a:	8b c3                	mov    %ebx,%eax
5b196c:	5f                   	pop    %edi
5b196d:	5e                   	pop    %esi
5b196e:	33 cd                	xor    %ebp,%ecx
5b1970:	5b                   	pop    %ebx
5b1971:	e8 64 fb 02 00       	call   0x5e14da
5b1976:	8b e5                	mov    %ebp,%esp
5b1978:	5d                   	pop    %ebp
5b1979:	c3                   	ret
5b197a:	e8 b0 b5 03 00       	call   0x5ecf2f
5b197f:	cc                   	int3
5b1980:	55                   	push   %ebp
5b1981:	8b ec                	mov    %esp,%ebp
5b1983:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
5b1989:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5b198e:	33 c5                	xor    %ebp,%eax
5b1990:	89 45 fc             	mov    %eax,-0x4(%ebp)
5b1993:	8b 45 08             	mov    0x8(%ebp),%eax
5b1996:	89 45 8c             	mov    %eax,-0x74(%ebp)
5b1999:	53                   	push   %ebx
5b199a:	56                   	push   %esi
5b199b:	8b 48 04             	mov    0x4(%eax),%ecx
5b199e:	2b 08                	sub    (%eax),%ecx
5b19a0:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b19a5:	8b 75 0c             	mov    0xc(%ebp),%esi
5b19a8:	f7 e9                	imul   %ecx
5b19aa:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b19af:	89 75 88             	mov    %esi,-0x78(%ebp)
5b19b2:	8b 4e 04             	mov    0x4(%esi),%ecx
5b19b5:	2b 0e                	sub    (%esi),%ecx
5b19b7:	c1 fa 02             	sar    $0x2,%edx
5b19ba:	8b da                	mov    %edx,%ebx
5b19bc:	c1 eb 1f             	shr    $0x1f,%ebx
5b19bf:	03 da                	add    %edx,%ebx
5b19c1:	f7 e9                	imul   %ecx
5b19c3:	57                   	push   %edi
5b19c4:	8b 7d 10             	mov    0x10(%ebp),%edi
5b19c7:	c1 fa 02             	sar    $0x2,%edx
5b19ca:	8b c2                	mov    %edx,%eax
5b19cc:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
5b19d2:	c1 e8 1f             	shr    $0x1f,%eax
5b19d5:	03 c2                	add    %edx,%eax
5b19d7:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
5b19da:	3b d8                	cmp    %eax,%ebx
5b19dc:	0f 85 da 05 00 00    	jne    0x5b1fbc
5b19e2:	8b 4f 04             	mov    0x4(%edi),%ecx
5b19e5:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b19ea:	2b 0f                	sub    (%edi),%ecx
5b19ec:	f7 e9                	imul   %ecx
5b19ee:	c1 fa 02             	sar    $0x2,%edx
5b19f1:	8b c2                	mov    %edx,%eax
5b19f3:	c1 e8 1f             	shr    $0x1f,%eax
5b19f6:	03 c2                	add    %edx,%eax
5b19f8:	3b d8                	cmp    %eax,%ebx
5b19fa:	0f 85 bc 05 00 00    	jne    0x5b1fbc
5b1a00:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5b1a07:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
5b1a0e:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
5b1a15:	e8 56 c5 ea ff       	call   0x45df70
5b1a1a:	84 c0                	test   %al,%al
5b1a1c:	0f 84 22 02 00 00    	je     0x5b1c44
5b1a22:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
5b1a26:	0f 85 18 02 00 00    	jne    0x5b1c44
5b1a2c:	85 db                	test   %ebx,%ebx
5b1a2e:	0f 84 e8 00 00 00    	je     0x5b1b1c
5b1a34:	33 f6                	xor    %esi,%esi
5b1a36:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
5b1a3d:	00 00 00
5b1a40:	8b 45 8c             	mov    -0x74(%ebp),%eax
5b1a43:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5b1a46:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5b1a4d:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b1a54:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5b1a5b:	8b 00                	mov    (%eax),%eax
5b1a5d:	03 c6                	add    %esi,%eax
5b1a5f:	50                   	push   %eax
5b1a60:	6a 00                	push   $0x0
5b1a62:	e8 89 8a e9 ff       	call   0x44a4f0
5b1a67:	8b 4d 88             	mov    -0x78(%ebp),%ecx
5b1a6a:	8b 01                	mov    (%ecx),%eax
5b1a6c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5b1a6f:	03 c6                	add    %esi,%eax
5b1a71:	50                   	push   %eax
5b1a72:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
5b1a75:	74 10                	je     0x5b1a87
5b1a77:	e8 24 b3 e8 ff       	call   0x43cda0
5b1a7c:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b1a7f:	83 c0 18             	add    $0x18,%eax
5b1a82:	89 45 f0             	mov    %eax,-0x10(%ebp)
5b1a85:	eb 0c                	jmp    0x5b1a93
5b1a87:	51                   	push   %ecx
5b1a88:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5b1a8b:	e8 60 8a e9 ff       	call   0x44a4f0
5b1a90:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b1a93:	8b 0f                	mov    (%edi),%ecx
5b1a95:	03 ce                	add    %esi,%ecx
5b1a97:	51                   	push   %ecx
5b1a98:	3b 45 f4             	cmp    -0xc(%ebp),%eax
5b1a9b:	74 0d                	je     0x5b1aaa
5b1a9d:	8b c8                	mov    %eax,%ecx
5b1a9f:	e8 fc b2 e8 ff       	call   0x43cda0
5b1aa4:	83 45 f0 18          	addl   $0x18,-0x10(%ebp)
5b1aa8:	eb 09                	jmp    0x5b1ab3
5b1aaa:	50                   	push   %eax
5b1aab:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5b1aae:	e8 3d 8a e9 ff       	call   0x44a4f0
5b1ab3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5b1ab6:	3b 4d e4             	cmp    -0x1c(%ebp),%ecx
5b1ab9:	74 40                	je     0x5b1afb
5b1abb:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
5b1ac1:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
5b1ac8:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
5b1acf:	8b 45 ec             	mov    -0x14(%ebp),%eax
5b1ad2:	89 01                	mov    %eax,(%ecx)
5b1ad4:	8b 45 f0             	mov    -0x10(%ebp),%eax
5b1ad7:	89 41 04             	mov    %eax,0x4(%ecx)
5b1ada:	8b 45 f4             	mov    -0xc(%ebp),%eax
5b1add:	89 41 08             	mov    %eax,0x8(%ecx)
5b1ae0:	83 45 e0 0c          	addl   $0xc,-0x20(%ebp)
5b1ae4:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
5b1aeb:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
5b1af2:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5b1af9:	eb 0d                	jmp    0x5b1b08
5b1afb:	8d 45 ec             	lea    -0x14(%ebp),%eax
5b1afe:	50                   	push   %eax
5b1aff:	51                   	push   %ecx
5b1b00:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5b1b03:	e8 b8 db ff ff       	call   0x5af6c0
5b1b08:	8d 4d ec             	lea    -0x14(%ebp),%ecx
5b1b0b:	e8 f0 33 e9 ff       	call   0x444f00
5b1b10:	83 c6 18             	add    $0x18,%esi
5b1b13:	83 eb 01             	sub    $0x1,%ebx
5b1b16:	0f 85 24 ff ff ff    	jne    0x5b1a40
5b1b1c:	8d 45 ac             	lea    -0x54(%ebp),%eax
5b1b1f:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
5b1b26:	50                   	push   %eax
5b1b27:	83 ec 0c             	sub    $0xc,%esp
5b1b2a:	c7 45 c0 0f 00 00 00 	movl   $0xf,-0x40(%ebp)
5b1b31:	8b dc                	mov    %esp,%ebx
5b1b33:	c6 45 ac 00          	movb   $0x0,-0x54(%ebp)
5b1b37:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
5b1b3a:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5b1b40:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
5b1b47:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
5b1b4e:	8b 45 e0             	mov    -0x20(%ebp),%eax
5b1b51:	8b 7d dc             	mov    -0x24(%ebp),%edi
5b1b54:	89 45 80             	mov    %eax,-0x80(%ebp)
5b1b57:	3b f8                	cmp    %eax,%edi
5b1b59:	74 4d                	je     0x5b1ba8
5b1b5b:	8b c8                	mov    %eax,%ecx
5b1b5d:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5b1b62:	2b cf                	sub    %edi,%ecx
5b1b64:	f7 e9                	imul   %ecx
5b1b66:	8b cb                	mov    %ebx,%ecx
5b1b68:	d1 fa                	sar    $1,%edx
5b1b6a:	8b f2                	mov    %edx,%esi
5b1b6c:	c1 ee 1f             	shr    $0x1f,%esi
5b1b6f:	03 f2                	add    %edx,%esi
5b1b71:	56                   	push   %esi
5b1b72:	e8 e9 28 ea ff       	call   0x454460
5b1b77:	8b d8                	mov    %eax,%ebx
5b1b79:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5b1b7c:	8b 45 8c             	mov    -0x74(%ebp),%eax
5b1b7f:	8b 75 80             	mov    -0x80(%ebp),%esi
5b1b82:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
5b1b85:	89 18                	mov    %ebx,(%eax)
5b1b87:	89 58 04             	mov    %ebx,0x4(%eax)
5b1b8a:	89 48 08             	mov    %ecx,0x8(%eax)
5b1b8d:	0f 1f 00             	nopl   (%eax)
5b1b90:	57                   	push   %edi
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