5c7eff:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
5c7f05:	3b 70 04             	cmp    0x4(%eax),%esi
5c7f08:	0f 85 b2 fe ff ff    	jne    0x5c7dc0
5c7f0e:	8d 45 b8             	lea    -0x48(%ebp),%eax
5c7f11:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
5c7f18:	50                   	push   %eax
5c7f19:	83 ec 0c             	sub    $0xc,%esp
5c7f1c:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
5c7f23:	8b dc                	mov    %esp,%ebx
5c7f25:	c6 45 b8 00          	movb   $0x0,-0x48(%ebp)
5c7f29:	89 9d 40 ff ff ff    	mov    %ebx,-0xc0(%ebp)
5c7f2f:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5c7f35:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
5c7f3c:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
5c7f43:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5c7f46:	8b 7d d0             	mov    -0x30(%ebp),%edi
5c7f49:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
5c7f4f:	3b f8                	cmp    %eax,%edi
5c7f51:	74 58                	je     0x5c7fab
5c7f53:	8b c8                	mov    %eax,%ecx
5c7f55:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5c7f5a:	2b cf                	sub    %edi,%ecx
5c7f5c:	f7 e9                	imul   %ecx
5c7f5e:	8b cb                	mov    %ebx,%ecx
5c7f60:	d1 fa                	sar    $1,%edx
5c7f62:	8b f2                	mov    %edx,%esi
5c7f64:	c1 ee 1f             	shr    $0x1f,%esi
5c7f67:	03 f2                	add    %edx,%esi
5c7f69:	56                   	push   %esi
5c7f6a:	e8 f1 c4 e8 ff       	call   0x454460
5c7f6f:	8b d8                	mov    %eax,%ebx
5c7f71:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5c7f74:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
5c7f7a:	8b b5 48 ff ff ff    	mov    -0xb8(%ebp),%esi
5c7f80:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
5c7f83:	89 18                	mov    %ebx,(%eax)
5c7f85:	89 58 04             	mov    %ebx,0x4(%eax)
5c7f88:	89 48 08             	mov    %ecx,0x8(%eax)
5c7f8b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5c7f90:	57                   	push   %edi
5c7f91:	8b cb                	mov    %ebx,%ecx
5c7f93:	e8 48 78 fe ff       	call   0x5af7e0
5c7f98:	83 c7 0c             	add    $0xc,%edi
5c7f9b:	83 c3 0c             	add    $0xc,%ebx
5c7f9e:	3b fe                	cmp    %esi,%edi
5c7fa0:	75 ee                	jne    0x5c7f90
5c7fa2:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
5c7fa8:	89 58 04             	mov    %ebx,0x4(%eax)
5c7fab:	6a 0c                	push   $0xc
5c7fad:	e8 0e dd e7 ff       	call   0x445cc0
5c7fb2:	83 c4 14             	add    $0x14,%esp
5c7fb5:	6a 03                	push   $0x3
5c7fb7:	e8 34 59 e9 ff       	call   0x45d8f0
5c7fbc:	50                   	push   %eax
5c7fbd:	83 ec 18             	sub    $0x18,%esp
5c7fc0:	8d 5d b8             	lea    -0x48(%ebp),%ebx
5c7fc3:	8b f4                	mov    %esp,%esi
5c7fc5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
5c7fcc:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
5c7fd3:	83 7d cc 10          	cmpl   $0x10,-0x34(%ebp)
5c7fd7:	8b 45 c8             	mov    -0x38(%ebp),%eax
5c7fda:	0f 43 5d b8          	cmovae -0x48(%ebp),%ebx
5c7fde:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
5c7fe4:	83 f8 10             	cmp    $0x10,%eax
5c7fe7:	73 0d                	jae    0x5c7ff6
5c7fe9:	0f 10 03             	movups (%ebx),%xmm0
5c7fec:	bf 0f 00 00 00       	mov    $0xf,%edi
5c7ff1:	0f 11 06             	movups %xmm0,(%esi)
5c7ff4:	eb 34                	jmp    0x5c802a
5c7ff6:	8b f8                	mov    %eax,%edi
5c7ff8:	8b ce                	mov    %esi,%ecx
5c7ffa:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5c7fff:	83 cf 0f             	or     $0xf,%edi
5c8002:	3b f8                	cmp    %eax,%edi
5c8004:	0f 47 f8             	cmova  %eax,%edi
5c8007:	8d 47 01             	lea    0x1(%edi),%eax
5c800a:	50                   	push   %eax
5c800b:	e8 40 14 e7 ff       	call   0x439450
5c8010:	8b 8d 40 ff ff ff    	mov    -0xc0(%ebp),%ecx
5c8016:	41                   	inc    %ecx
5c8017:	89 06                	mov    %eax,(%esi)
5c8019:	51                   	push   %ecx
5c801a:	53                   	push   %ebx
5c801b:	50                   	push   %eax
5c801c:	e8 df ae 01 00       	call   0x5e2f00
5c8021:	8b 85 40 ff ff ff    	mov    -0xc0(%ebp),%eax
5c8027:	83 c4 0c             	add    $0xc,%esp
5c802a:	89 46 10             	mov    %eax,0x10(%esi)
5c802d:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
5c8033:	50                   	push   %eax
5c8034:	89 7e 14             	mov    %edi,0x14(%esi)
5c8037:	e8 a4 dc e8 ff       	call   0x455ce0
5c803c:	83 c4 24             	add    $0x24,%esp
5c803f:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
5c8046:	8d 45 ac             	lea    -0x54(%ebp),%eax
5c8049:	c7 45 ac 00 00 00 00 	movl   $0x0,-0x54(%ebp)
5c8050:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
5c8057:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
5c805e:	50                   	push   %eax
5c805f:	8d 45 e0             	lea    -0x20(%ebp),%eax
5c8062:	50                   	push   %eax
5c8063:	83 ec 18             	sub    $0x18,%esp
5c8066:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
5c806c:	8b cc                	mov    %esp,%ecx
5c806e:	50                   	push   %eax
5c806f:	e8 2c 4d e7 ff       	call   0x43cda0
5c8074:	e8 27 e3 e7 ff       	call   0x4463a0
5c8079:	8b 75 e0             	mov    -0x20(%ebp),%esi
5c807c:	8d 4d ac             	lea    -0x54(%ebp),%ecx
5c807f:	83 c4 20             	add    $0x20,%esp
5c8082:	e8 89 cb e7 ff       	call   0x444c10
5c8087:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
5c808d:	83 fa 10             	cmp    $0x10,%edx
5c8090:	72 2f                	jb     0x5c80c1
5c8092:	8b 8d 4c ff ff ff    	mov    -0xb4(%ebp),%ecx
5c8098:	42                   	inc    %edx
5c8099:	8b c1                	mov    %ecx,%eax
5c809b:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c80a1:	72 14                	jb     0x5c80b7
5c80a3:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c80a6:	83 c2 23             	add    $0x23,%edx
5c80a9:	2b c1                	sub    %ecx,%eax
5c80ab:	83 c0 fc             	add    $0xfffffffc,%eax
5c80ae:	83 f8 1f             	cmp    $0x1f,%eax
5c80b1:	0f 87 f4 04 00 00    	ja     0x5c85ab
5c80b7:	52                   	push   %edx
5c80b8:	51                   	push   %ecx
5c80b9:	e8 b4 8f 01 00       	call   0x5e1072
5c80be:	83 c4 08             	add    $0x8,%esp
5c80c1:	8b 55 cc             	mov    -0x34(%ebp),%edx
5c80c4:	c7 85 5c ff ff ff 00 	movl   $0x0,-0xa4(%ebp)
5c80cb:	00 00 00
5c80ce:	c7 85 60 ff ff ff 0f 	movl   $0xf,-0xa0(%ebp)
5c80d5:	00 00 00
5c80d8:	c6 85 4c ff ff ff 00 	movb   $0x0,-0xb4(%ebp)
5c80df:	83 fa 10             	cmp    $0x10,%edx
5c80e2:	72 2c                	jb     0x5c8110
5c80e4:	8b 4d b8             	mov    -0x48(%ebp),%ecx
5c80e7:	42                   	inc    %edx
5c80e8:	8b c1                	mov    %ecx,%eax
5c80ea:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5c80f0:	72 14                	jb     0x5c8106
5c80f2:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5c80f5:	83 c2 23             	add    $0x23,%edx
5c80f8:	2b c1                	sub    %ecx,%eax
5c80fa:	83 c0 fc             	add    $0xfffffffc,%eax
5c80fd:	83 f8 1f             	cmp    $0x1f,%eax
5c8100:	0f 87 a5 04 00 00    	ja     0x5c85ab
5c8106:	52                   	push   %edx
5c8107:	51                   	push   %ecx
5c8108:	e8 65 8f 01 00       	call   0x5e1072
5c810d:	83 c4 08             	add    $0x8,%esp
5c8110:	8d 4d d0             	lea    -0x30(%ebp),%ecx
5c8113:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
5c811a:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
5c8121:	c6 45 b8 00          	movb   $0x0,-0x48(%ebp)
5c8125:	e8 e6 ca e7 ff       	call   0x444c10
5c812a:	8b c6                	mov    %esi,%eax
5c812c:	5f                   	pop    %edi
5c812d:	5e                   	pop    %esi
5c812e:	5b                   	pop    %ebx
5c812f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5c8132:	33 cd                	xor    %ebp,%ecx
5c8134:	e8 a1 93 01 00       	call   0x5e14da
5c8139:	8b e5                	mov    %ebp,%esp
5c813b:	5d                   	pop    %ebp
5c813c:	c3                   	ret
5c813d:	83 ec 18             	sub    $0x18,%esp
5c8140:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
5c8147:	8b cc                	mov    %esp,%ecx
5c8149:	6a 13                	push   $0x13
5c814b:	68 48 dd 68 00       	push   $0x68dd48
5c8150:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
5c8157:	c7 41 14 0f 00 00 00 	movl   $0xf,0x14(%ecx)
5c815e:	c6 01 00             	movb   $0x0,(%ecx)
5c8161:	e8 da d0 e7 ff       	call   0x445240
5c8166:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5c8169:	e8 b2 c3 fe ff       	call   0x5b4520
5c816e:	53                   	push   %ebx
5c816f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5c8176:	c7 45 f8 0f 00 00 00 	movl   $0xf,-0x8(%ebp)
5c817d:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
5c8181:	e8 3a 04 00 00       	call   0x5c85c0
5c8186:	83 c4 04             	add    $0x4,%esp
5c8189:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c818c:	6a 1b                	push   $0x1b
5c818e:	68 c0 dc 6c 00       	push   $0x6cdcc0
5c8193:	e8 28 cf e7 ff       	call   0x4450c0
5c8198:	83 3d a4 7b 72 00 10 	cmpl   $0x10,0x727ba4
5c819f:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c81a2:	ff 35 a0 7b 72 00    	push   0x727ba0
5c81a8:	b8 90 7b 72 00       	mov    $0x727b90,%eax
5c81ad:	0f 43 05 90 7b 72 00 	cmovae 0x727b90,%eax
5c81b4:	50                   	push   %eax
5c81b5:	e8 06 cf e7 ff       	call   0x4450c0
5c81ba:	6a 02                	push   $0x2
5c81bc:	68 54 c9 6b 00       	push   $0x6bc954
5c81c1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c81c4:	e8 f7 ce e7 ff       	call   0x4450c0
5c81c9:	6a 07                	push   $0x7
5c81cb:	68 4c a8 68 00       	push   $0x68a84c
5c81d0:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c81d3:	e8 e8 ce e7 ff       	call   0x4450c0
5c81d8:	6a 01                	push   $0x1
5c81da:	68 1c 03 69 00       	push   $0x69031c
5c81df:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c81e2:	e8 d9 ce e7 ff       	call   0x4450c0
5c81e7:	6a 04                	push   $0x4
5c81e9:	68 b8 dc 6c 00       	push   $0x6cdcb8
5c81ee:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c81f1:	e8 ca ce e7 ff       	call   0x4450c0
5c81f6:	6a 01                	push   $0x1
5c81f8:	68 b0 ed 68 00       	push   $0x68edb0
5c81fd:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c8200:	e8 bb ce e7 ff       	call   0x4450c0
5c8205:	6a 08                	push   $0x8
5c8207:	68 a4 e7 6c 00       	push   $0x6ce7a4
5c820c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c820f:	e8 ac ce e7 ff       	call   0x4450c0
5c8214:	6a 01                	push   $0x1
5c8216:	68 1c 03 69 00       	push   $0x69031c
5c821b:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c821e:	e8 9d ce e7 ff       	call   0x4450c0
5c8223:	6a 04                	push   $0x4
5c8225:	68 b8 dc 6c 00       	push   $0x6cdcb8
5c822a:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c822d:	e8 8e ce e7 ff       	call   0x4450c0
5c8232:	6a 01                	push   $0x1
5c8234:	68 b0 ed 68 00       	push   $0x68edb0
5c8239:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c823c:	e8 7f ce e7 ff       	call   0x4450c0
5c8241:	6a 07                	push   $0x7
5c8243:	68 28 99 6a 00       	push   $0x6a9928
5c8248:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c824b:	e8 70 ce e7 ff       	call   0x4450c0
5c8250:	6a 01                	push   $0x1
5c8252:	68 1c 03 69 00       	push   $0x69031c
5c8257:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c825a:	e8 61 ce e7 ff       	call   0x4450c0
5c825f:	6a 04                	push   $0x4
5c8261:	68 b8 dc 6c 00       	push   $0x6cdcb8
5c8266:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c8269:	e8 52 ce e7 ff       	call   0x4450c0
5c826e:	6a 01                	push   $0x1
5c8270:	68 ec 39 69 00       	push   $0x6939ec
5c8275:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c8278:	e8 43 ce e7 ff       	call   0x4450c0
5c827d:	83 ec 18             	sub    $0x18,%esp
5c8280:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5c8283:	8b cc                	mov    %esp,%ecx
5c8285:	50                   	push   %eax
5c8286:	e8 15 4b e7 ff       	call   0x43cda0
5c828b:	8d 4d dc             	lea    -0x24(%ebp),%ecx
5c828e:	e8 0d c8 fe ff       	call   0x5b4aa0
5c8293:	8b 45 08             	mov    0x8(%ebp),%eax
5c8296:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5c8299:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5c829c:	8b 30                	mov    (%eax),%esi
5c829e:	3b 70 04             	cmp    0x4(%eax),%esi
5c82a1:	0f 84 04 02 00 00    	je     0x5c84ab
5c82a7:	56                   	push   %esi
5c82a8:	8d 8d 64 ff ff ff    	lea    -0x9c(%ebp),%ecx
5c82ae:	e8 ed 4a e7 ff       	call   0x43cda0
5c82b3:	8d 46 18             	lea    0x18(%esi),%eax
5c82b6:	50                   	push   %eax
5c82b7:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
5c82bd:	e8 de 4a e7 ff       	call   0x43cda0
5c82c2:	8d 46 30             	lea    0x30(%esi),%eax
5c82c5:	50                   	push   %eax
5c82c6:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
5c82c9:	e8 d2 4a e7 ff       	call   0x43cda0
5c82ce:	83 fb 10             	cmp    $0x10,%ebx
5c82d1:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5c82d8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5c82db:	0f 43 c7             	cmovae %edi,%eax
5c82de:	8d 95 7c ff ff ff    	lea    -0x84(%ebp),%edx
5c82e4:	83 7d 90 10          	cmpl   $0x10,-0x70(%ebp)
5c82e8:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
5c82eb:	0f 43 95 7c ff ff ff 	cmovae -0x84(%ebp),%edx
5c82f2:	83 7d a8 10          	cmpl   $0x10,-0x58(%ebp)
5c82f6:	c6 00 00             	movb   $0x0,(%eax)
5c82f9:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
5c82ff:	0f 43 4d 94          	cmovae -0x6c(%ebp),%ecx
5c8303:	83 bd 78 ff ff ff 10 	cmpl   $0x10,-0x88(%ebp)
5c830a:	52                   	push   %edx
5c830b:	0f 43 85 64 ff ff ff 	cmovae -0x9c(%ebp),%eax
5c8312:	51                   	push   %ecx
5c8313:	50                   	push   %eax
5c8314:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5c8317:	50                   	push   %eax
5c8318:	e8 e3 f1 ff ff       	call   0x5c7500
5c831d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c8320:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
5c8323:	83 ec 08             	sub    $0x8,%esp
5c8326:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
5c832c:	83 f8 10             	cmp    $0x10,%eax
5c832f:	8b dc                	mov    %esp,%ebx
5c8331:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5c8334:	0f 43 c8             	cmovae %eax,%ecx
5c8337:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
5c833d:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c8340:	c7 43 10 00 00 00 00 	movl   $0x0,0x10(%ebx)
5c8347:	c7 43 14 00 00 00 00 	movl   $0x0,0x14(%ebx)
5c834e:	89 8d 48 ff ff ff    	mov    %ecx,-0xb8(%ebp)
5c8354:	89 45 e0             	mov    %eax,-0x20(%ebp)
5c8357:	83 f8 10             	cmp    $0x10,%eax
5c835a:	73 0d                	jae    0x5c8369
5c835c:	0f 10 01             	movups (%ecx),%xmm0
5c835f:	bf 0f 00 00 00       	mov    $0xf,%edi
5c8364:	0f 11 03             	movups %xmm0,(%ebx)
5c8367:	eb 70                	jmp    0x5c83d9
5c8369:	8b f8                	mov    %eax,%edi
5c836b:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5c8370:	83 cf 0f             	or     $0xf,%edi
5c8373:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
5c8379:	0f 47 f8             	cmova  %eax,%edi
5c837c:	8d 47 01             	lea    0x1(%edi),%eax
5c837f:	3d 00 10 00 00       	cmp    $0x1000,%eax
5c8384:	72 27                	jb     0x5c83ad
5c8386:	8d 48 23             	lea    0x23(%eax),%ecx
5c8389:	3b c8                	cmp    %eax,%ecx
5c838b:	0f 86 1f 02 00 00    	jbe    0x5c85b0
5c8391:	51                   	push   %ecx
5c8392:	e8 ab 8c 01 00       	call   0x5e1042
5c8397:	83 c4 04             	add    $0x4,%esp
5c839a:	85 c0                	test   %eax,%eax
5c839c:	0f 84 13 02 00 00    	je     0x5c85b5
5c83a2:	8d 48 23             	lea    0x23(%eax),%ecx
5c83a5:	83 e1 e0             	and    $0xffffffe0,%ecx
5c83a8:	89 41 fc             	mov    %eax,-0x4(%ecx)
5c83ab:	eb 13                	jmp    0x5c83c0
5c83ad:	85 c0                	test   %eax,%eax
5c83af:	74 0d                	je     0x5c83be
5c83b1:	50                   	push   %eax
5c83b2:	e8 8b 8c 01 00       	call   0x5e1042
5c83b7:	83 c4 04             	add    $0x4,%esp
5c83ba:	8b c8                	mov    %eax,%ecx
5c83bc:	eb 02                	jmp    0x5c83c0
5c83be:	33 c9                	xor    %ecx,%ecx
5c83c0:	8b 45 e0             	mov    -0x20(%ebp),%eax
5c83c3:	40                   	inc    %eax
5c83c4:	89 0b                	mov    %ecx,(%ebx)
5c83c6:	50                   	push   %eax
5c83c7:	ff b5 48 ff ff ff    	push   -0xb8(%ebp)
5c83cd:	51                   	push   %ecx
5c83ce:	e8 2d ab 01 00       	call   0x5e2f00
5c83d3:	8b 45 e0             	mov    -0x20(%ebp),%eax
5c83d6:	83 c4 0c             	add    $0xc,%esp
5c83d9:	89 43 10             	mov    %eax,0x10(%ebx)
5c83dc:	8d 4d dc             	lea    -0x24(%ebp),%ecx