5c11a6:	8b 4d 10             	mov    0x10(%ebp),%ecx
5c11a9:	53                   	push   %ebx
5c11aa:	8b 5d 08             	mov    0x8(%ebp),%ebx
5c11ad:	56                   	push   %esi
5c11ae:	8b 75 0c             	mov    0xc(%ebp),%esi
5c11b1:	8d 41 ff             	lea    -0x1(%ecx),%eax
5c11b4:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c11b7:	d1 f8                	sar    $1,%eax
5c11b9:	89 75 0c             	mov    %esi,0xc(%ebp)
5c11bc:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c11bf:	57                   	push   %edi
5c11c0:	8b fe                	mov    %esi,%edi
5c11c2:	3b f0                	cmp    %eax,%esi
5c11c4:	7d 4c                	jge    0x5c1212
5c11c6:	8d 14 3f             	lea    (%edi,%edi,1),%edx
5c11c9:	8d 04 92             	lea    (%edx,%edx,4),%eax
5c11cc:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5c11cf:	8b 41 30             	mov    0x30(%ecx),%eax
5c11d2:	3b 41 1c             	cmp    0x1c(%ecx),%eax
5c11d5:	1b c0                	sbb    %eax,%eax
5c11d7:	f7 d8                	neg    %eax
5c11d9:	8d 78 01             	lea    0x1(%eax),%edi
5c11dc:	03 fa                	add    %edx,%edi
5c11de:	8d 04 bf             	lea    (%edi,%edi,4),%eax
5c11e1:	8d 14 83             	lea    (%ebx,%eax,4),%edx
5c11e4:	8d 04 b6             	lea    (%esi,%esi,4),%eax
5c11e7:	8b f7                	mov    %edi,%esi
5c11e9:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5c11ec:	8b 02                	mov    (%edx),%eax
5c11ee:	89 01                	mov    %eax,(%ecx)
5c11f0:	8b 42 04             	mov    0x4(%edx),%eax
5c11f3:	89 41 04             	mov    %eax,0x4(%ecx)
5c11f6:	8b 42 08             	mov    0x8(%edx),%eax
5c11f9:	89 41 08             	mov    %eax,0x8(%ecx)
5c11fc:	8b 42 0c             	mov    0xc(%edx),%eax
5c11ff:	89 41 0c             	mov    %eax,0xc(%ecx)
5c1202:	8b 42 10             	mov    0x10(%edx),%eax
5c1205:	89 41 10             	mov    %eax,0x10(%ecx)
5c1208:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c120b:	3b f8                	cmp    %eax,%edi
5c120d:	7c b7                	jl     0x5c11c6
5c120f:	8b 4d 10             	mov    0x10(%ebp),%ecx
5c1212:	3b f8                	cmp    %eax,%edi
5c1214:	75 31                	jne    0x5c1247
5c1216:	f6 c1 01             	test   $0x1,%cl
5c1219:	75 2c                	jne    0x5c1247
5c121b:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
5c121e:	8d 14 83             	lea    (%ebx,%eax,4),%edx
5c1221:	8d 04 b6             	lea    (%esi,%esi,4),%eax
5c1224:	8b 75 f8             	mov    -0x8(%ebp),%esi
5c1227:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5c122a:	8b 42 ec             	mov    -0x14(%edx),%eax
5c122d:	89 01                	mov    %eax,(%ecx)
5c122f:	8b 42 f0             	mov    -0x10(%edx),%eax
5c1232:	89 41 04             	mov    %eax,0x4(%ecx)
5c1235:	8b 42 f4             	mov    -0xc(%edx),%eax
5c1238:	89 41 08             	mov    %eax,0x8(%ecx)
5c123b:	8b 42 f8             	mov    -0x8(%edx),%eax
5c123e:	89 41 0c             	mov    %eax,0xc(%ecx)
5c1241:	8b 42 fc             	mov    -0x4(%edx),%eax
5c1244:	89 41 10             	mov    %eax,0x10(%ecx)
5c1247:	39 75 0c             	cmp    %esi,0xc(%ebp)
5c124a:	7d 43                	jge    0x5c128f
5c124c:	8d 64 24 00          	lea    0x0(%esp),%esp
5c1250:	8b 55 14             	mov    0x14(%ebp),%edx
5c1253:	8d 46 ff             	lea    -0x1(%esi),%eax
5c1256:	d1 f8                	sar    $1,%eax
5c1258:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5c125b:	8d 3c 8b             	lea    (%ebx,%ecx,4),%edi
5c125e:	8b 4f 08             	mov    0x8(%edi),%ecx
5c1261:	3b 4a 08             	cmp    0x8(%edx),%ecx
5c1264:	72 29                	jb     0x5c128f
5c1266:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
5c1269:	8b f0                	mov    %eax,%esi
5c126b:	8d 14 8b             	lea    (%ebx,%ecx,4),%edx
5c126e:	8b 0f                	mov    (%edi),%ecx
5c1270:	89 0a                	mov    %ecx,(%edx)
5c1272:	8b 4f 04             	mov    0x4(%edi),%ecx
5c1275:	89 4a 04             	mov    %ecx,0x4(%edx)
5c1278:	8b 4f 08             	mov    0x8(%edi),%ecx
5c127b:	89 4a 08             	mov    %ecx,0x8(%edx)
5c127e:	8b 4f 0c             	mov    0xc(%edi),%ecx
5c1281:	89 4a 0c             	mov    %ecx,0xc(%edx)
5c1284:	8b 4f 10             	mov    0x10(%edi),%ecx
5c1287:	89 4a 10             	mov    %ecx,0x10(%edx)
5c128a:	39 45 0c             	cmp    %eax,0xc(%ebp)
5c128d:	7c c1                	jl     0x5c1250
5c128f:	8b 55 14             	mov    0x14(%ebp),%edx
5c1292:	8d 04 b6             	lea    (%esi,%esi,4),%eax
5c1295:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5c1298:	5f                   	pop    %edi
5c1299:	5e                   	pop    %esi
5c129a:	8b 02                	mov    (%edx),%eax
5c129c:	89 01                	mov    %eax,(%ecx)
5c129e:	8b 42 04             	mov    0x4(%edx),%eax
5c12a1:	89 41 04             	mov    %eax,0x4(%ecx)
5c12a4:	8b 42 08             	mov    0x8(%edx),%eax
5c12a7:	89 41 08             	mov    %eax,0x8(%ecx)
5c12aa:	8b 42 0c             	mov    0xc(%edx),%eax
5c12ad:	89 41 0c             	mov    %eax,0xc(%ecx)
5c12b0:	8b 42 10             	mov    0x10(%edx),%eax
5c12b3:	89 41 10             	mov    %eax,0x10(%ecx)
5c12b6:	5b                   	pop    %ebx
5c12b7:	8b e5                	mov    %ebp,%esp
5c12b9:	5d                   	pop    %ebp
5c12ba:	c3                   	ret
5c12bb:	cc                   	int3
5c12bc:	cc                   	int3
5c12bd:	cc                   	int3
5c12be:	cc                   	int3
5c12bf:	cc                   	int3
5c12c0:	55                   	push   %ebp
5c12c1:	8b ec                	mov    %esp,%ebp
5c12c3:	6a ff                	push   $0xffffffff
5c12c5:	68 a0 02 60 00       	push   $0x6002a0
5c12ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c12d0:	50                   	push   %eax
5c12d1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c12d8:	83 ec 0c             	sub    $0xc,%esp
5c12db:	53                   	push   %ebx
5c12dc:	56                   	push   %esi
5c12dd:	57                   	push   %edi
5c12de:	89 65 f0             	mov    %esp,-0x10(%ebp)
5c12e1:	8b f1                	mov    %ecx,%esi
5c12e3:	89 75 e8             	mov    %esi,-0x18(%ebp)
5c12e6:	8b 56 04             	mov    0x4(%esi),%edx
5c12e9:	2b 16                	sub    (%esi),%edx
5c12eb:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c12f0:	f7 ea                	imul   %edx
5c12f2:	c1 fa 03             	sar    $0x3,%edx
5c12f5:	8b da                	mov    %edx,%ebx
5c12f7:	c1 eb 1f             	shr    $0x1f,%ebx
5c12fa:	03 da                	add    %edx,%ebx
5c12fc:	ff 75 08             	push   0x8(%ebp)
5c12ff:	56                   	push   %esi
5c1300:	e8 eb f3 ff ff       	call   0x5c06f0
5c1305:	83 c4 08             	add    $0x8,%esp
5c1308:	8b f8                	mov    %eax,%edi
5c130a:	89 7d ec             	mov    %edi,-0x14(%ebp)
5c130d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c1314:	56                   	push   %esi
5c1315:	57                   	push   %edi
5c1316:	ff 76 04             	push   0x4(%esi)
5c1319:	ff 36                	push   (%esi)
5c131b:	e8 70 07 00 00       	call   0x5c1a90
5c1320:	83 c4 10             	add    $0x10,%esp
5c1323:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5c132a:	8b 45 08             	mov    0x8(%ebp),%eax
5c132d:	ff 30                	push   (%eax)
5c132f:	53                   	push   %ebx
5c1330:	57                   	push   %edi
5c1331:	8b ce                	mov    %esi,%ecx
5c1333:	e8 88 50 00 00       	call   0x5c63c0
5c1338:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c133b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c1342:	5f                   	pop    %edi
5c1343:	5e                   	pop    %esi
5c1344:	5b                   	pop    %ebx
5c1345:	8b e5                	mov    %ebp,%esp
5c1347:	5d                   	pop    %ebp
5c1348:	c2 04 00             	ret    $0x4
5c134b:	8b 45 08             	mov    0x8(%ebp),%eax
5c134e:	ff 30                	push   (%eax)
5c1350:	ff 75 ec             	push   -0x14(%ebp)
5c1353:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5c1356:	e8 35 57 00 00       	call   0x5c6a90
5c135b:	6a 00                	push   $0x0
5c135d:	6a 00                	push   $0x0
5c135f:	e8 db 27 01 00       	call   0x5d3b3f
5c1364:	cc                   	int3
5c1365:	cc                   	int3
5c1366:	cc                   	int3
5c1367:	cc                   	int3
5c1368:	cc                   	int3
5c1369:	cc                   	int3
5c136a:	cc                   	int3
5c136b:	cc                   	int3
5c136c:	cc                   	int3
5c136d:	cc                   	int3
5c136e:	cc                   	int3
5c136f:	cc                   	int3
5c1370:	55                   	push   %ebp
5c1371:	8b ec                	mov    %esp,%ebp
5c1373:	83 ec 40             	sub    $0x40,%esp
5c1376:	53                   	push   %ebx
5c1377:	56                   	push   %esi
5c1378:	8b 75 0c             	mov    0xc(%ebp),%esi
5c137b:	8b c6                	mov    %esi,%eax
5c137d:	57                   	push   %edi
5c137e:	8b 7d 08             	mov    0x8(%ebp),%edi
5c1381:	2b c7                	sub    %edi,%eax
5c1383:	3d 94 02 00 00       	cmp    $0x294,%eax
5c1388:	0f 8c 90 00 00 00    	jl     0x5c141e
5c138e:	8b 5d 10             	mov    0x10(%ebp),%ebx
5c1391:	85 db                	test   %ebx,%ebx
5c1393:	0f 8e 00 01 00 00    	jle    0x5c1499
5c1399:	ff 75 14             	push   0x14(%ebp)
5c139c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
5c139f:	56                   	push   %esi
5c13a0:	57                   	push   %edi
5c13a1:	50                   	push   %eax
5c13a2:	e8 99 fa ff ff       	call   0x5c0e40
5c13a7:	8b c3                	mov    %ebx,%eax
5c13a9:	8b ce                	mov    %esi,%ecx
5c13ab:	2b 4d d8             	sub    -0x28(%ebp),%ecx
5c13ae:	83 c4 10             	add    $0x10,%esp
5c13b1:	c1 f8 02             	sar    $0x2,%eax
5c13b4:	d1 fb                	sar    $1,%ebx
5c13b6:	03 d8                	add    %eax,%ebx
5c13b8:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c13bd:	f7 e9                	imul   %ecx
5c13bf:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5c13c2:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c13c7:	c1 fa 03             	sar    $0x3,%edx
5c13ca:	2b cf                	sub    %edi,%ecx
5c13cc:	8b f2                	mov    %edx,%esi
5c13ce:	c1 ee 1f             	shr    $0x1f,%esi
5c13d1:	03 f2                	add    %edx,%esi
5c13d3:	f7 e9                	imul   %ecx
5c13d5:	c1 fa 03             	sar    $0x3,%edx
5c13d8:	8b c2                	mov    %edx,%eax
5c13da:	c1 e8 1f             	shr    $0x1f,%eax
5c13dd:	03 c2                	add    %edx,%eax
5c13df:	3b c6                	cmp    %esi,%eax
5c13e1:	8b 45 14             	mov    0x14(%ebp),%eax
5c13e4:	50                   	push   %eax
5c13e5:	53                   	push   %ebx
5c13e6:	7d 12                	jge    0x5c13fa
5c13e8:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5c13eb:	56                   	push   %esi
5c13ec:	57                   	push   %edi
5c13ed:	e8 7e ff ff ff       	call   0x5c1370
5c13f2:	8b 7d d8             	mov    -0x28(%ebp),%edi
5c13f5:	8b 75 0c             	mov    0xc(%ebp),%esi
5c13f8:	eb 12                	jmp    0x5c140c
5c13fa:	ff 75 0c             	push   0xc(%ebp)
5c13fd:	8b 45 d8             	mov    -0x28(%ebp),%eax
5c1400:	50                   	push   %eax
5c1401:	e8 6a ff ff ff       	call   0x5c1370
5c1406:	8b 75 d4             	mov    -0x2c(%ebp),%esi
5c1409:	89 75 0c             	mov    %esi,0xc(%ebp)
5c140c:	8b c6                	mov    %esi,%eax
5c140e:	83 c4 10             	add    $0x10,%esp
5c1411:	2b c7                	sub    %edi,%eax
5c1413:	3d 94 02 00 00       	cmp    $0x294,%eax
5c1418:	0f 8d 73 ff ff ff    	jge    0x5c1391
5c141e:	3b fe                	cmp    %esi,%edi
5c1420:	0f 84 df 02 00 00    	je     0x5c1705
5c1426:	8d 77 14             	lea    0x14(%edi),%esi
5c1429:	3b 75 0c             	cmp    0xc(%ebp),%esi
5c142c:	0f 84 d3 02 00 00    	je     0x5c1705
5c1432:	b9 14 00 00 00       	mov    $0x14,%ecx
5c1437:	89 4d 08             	mov    %ecx,0x8(%ebp)
5c143a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5c1440:	8b 06                	mov    (%esi),%eax
5c1442:	8b d6                	mov    %esi,%edx
5c1444:	8b 5e 08             	mov    0x8(%esi),%ebx
5c1447:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c144a:	8b 46 04             	mov    0x4(%esi),%eax
5c144d:	89 45 f8             	mov    %eax,-0x8(%ebp)
5c1450:	8b 46 0c             	mov    0xc(%esi),%eax
5c1453:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c1456:	8b 46 10             	mov    0x10(%esi),%eax
5c1459:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c145c:	3b 5f 08             	cmp    0x8(%edi),%ebx
5c145f:	0f 82 40 02 00 00    	jb     0x5c16a5
5c1465:	51                   	push   %ecx
5c1466:	8b c6                	mov    %esi,%eax
5c1468:	2b c1                	sub    %ecx,%eax
5c146a:	83 c0 14             	add    $0x14,%eax
5c146d:	57                   	push   %edi
5c146e:	50                   	push   %eax
5c146f:	e8 5c 19 01 00       	call   0x5d2dd0
5c1474:	8b 45 f4             	mov    -0xc(%ebp),%eax
5c1477:	83 c4 0c             	add    $0xc,%esp
5c147a:	8b 4d 08             	mov    0x8(%ebp),%ecx
5c147d:	89 07                	mov    %eax,(%edi)
5c147f:	8b 45 f8             	mov    -0x8(%ebp),%eax
5c1482:	89 47 04             	mov    %eax,0x4(%edi)
5c1485:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c1488:	89 5f 08             	mov    %ebx,0x8(%edi)
5c148b:	89 47 0c             	mov    %eax,0xc(%edi)
5c148e:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c1491:	89 47 10             	mov    %eax,0x10(%edi)
5c1494:	e9 5a 02 00 00       	jmp    0x5c16f3
5c1499:	8b de                	mov    %esi,%ebx
5c149b:	b8 67 66 66 66       	mov    $0x66666667,%eax
5c14a0:	2b df                	sub    %edi,%ebx
5c14a2:	f7 eb                	imul   %ebx
5c14a4:	89 5d d8             	mov    %ebx,-0x28(%ebp)
5c14a7:	c1 fa 03             	sar    $0x3,%edx
5c14aa:	8b c2                	mov    %edx,%eax
5c14ac:	c1 e8 1f             	shr    $0x1f,%eax
5c14af:	03 c2                	add    %edx,%eax
5c14b1:	8b c8                	mov    %eax,%ecx
5c14b3:	89 45 f4             	mov    %eax,-0xc(%ebp)
5c14b6:	d1 f9                	sar    $1,%ecx
5c14b8:	85 c9                	test   %ecx,%ecx
5c14ba:	0f 8e 47 01 00 00    	jle    0x5c1607
5c14c0:	48                   	dec    %eax
5c14c1:	89 45 f0             	mov    %eax,-0x10(%ebp)
5c14c4:	d1 f8                	sar    $1,%eax
5c14c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
5c14c9:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
5c14cc:	8d 04 87             	lea    (%edi,%eax,4),%eax
5c14cf:	90                   	nop
5c14d0:	8b 50 ec             	mov    -0x14(%eax),%edx
5c14d3:	83 e8 14             	sub    $0x14,%eax
5c14d6:	89 55 ec             	mov    %edx,-0x14(%ebp)
5c14d9:	49                   	dec    %ecx
5c14da:	89 45 dc             	mov    %eax,-0x24(%ebp)
5c14dd:	8b d9                	mov    %ecx,%ebx
5c14df:	89 4d 08             	mov    %ecx,0x8(%ebp)
5c14e2:	8b f1                	mov    %ecx,%esi
5c14e4:	8b 50 04             	mov    0x4(%eax),%edx
5c14e7:	89 55 e8             	mov    %edx,-0x18(%ebp)
5c14ea:	8b 50 08             	mov    0x8(%eax),%edx
5c14ed:	89 55 f8             	mov    %edx,-0x8(%ebp)
5c14f0:	8b 50 0c             	mov    0xc(%eax),%edx
5c14f3:	8b 40 10             	mov    0x10(%eax),%eax
5c14f6:	89 45 e0             	mov    %eax,-0x20(%ebp)
5c14f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
5c14fc:	89 55 e4             	mov    %edx,-0x1c(%ebp)
5c14ff:	3b c8                	cmp    %eax,%ecx
5c1501:	7d 4c                	jge    0x5c154f
5c1503:	8d 14 36             	lea    (%esi,%esi,1),%edx
5c1506:	8d 04 92             	lea    (%edx,%edx,4),%eax
5c1509:	8d 0c 87             	lea    (%edi,%eax,4),%ecx
5c150c:	8b 41 30             	mov    0x30(%ecx),%eax
5c150f:	3b 41 1c             	cmp    0x1c(%ecx),%eax
5c1512:	1b c0                	sbb    %eax,%eax
5c1514:	f7 d8                	neg    %eax
5c1516:	8d 70 01             	lea    0x1(%eax),%esi
5c1519:	03 f2                	add    %edx,%esi
5c151b:	8d 04 b6             	lea    (%esi,%esi,4),%eax
5c151e:	8d 14 87             	lea    (%edi,%eax,4),%edx
5c1521:	8d 04 9b             	lea    (%ebx,%ebx,4),%eax
5c1524:	8b de                	mov    %esi,%ebx
5c1526:	8d 0c 87             	lea    (%edi,%eax,4),%ecx
5c1529:	8b 02                	mov    (%edx),%eax
5c152b:	89 01                	mov    %eax,(%ecx)
5c152d:	8b 42 04             	mov    0x4(%edx),%eax
5c1530:	89 41 04             	mov    %eax,0x4(%ecx)
5c1533:	8b 42 08             	mov    0x8(%edx),%eax
5c1536:	89 41 08             	mov    %eax,0x8(%ecx)
5c1539:	8b 42 0c             	mov    0xc(%edx),%eax
5c153c:	89 41 0c             	mov    %eax,0xc(%ecx)
5c153f:	8b 42 10             	mov    0x10(%edx),%eax
5c1542:	89 41 10             	mov    %eax,0x10(%ecx)
5c1545:	8b 45 fc             	mov    -0x4(%ebp),%eax