4c11ea:	83 e0 fe             	and    $0xfffffffe,%eax
4c11ed:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4c11f4:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4c11f8:	72 02                	jb     0x4c11fc
4c11fa:	8b 00                	mov    (%eax),%eax
4c11fc:	c6 00 00             	movb   $0x0,(%eax)
4c11ff:	f6 c1 02             	test   $0x2,%cl
4c1202:	74 18                	je     0x4c121c
4c1204:	8b 47 24             	mov    0x24(%edi),%eax
4c1207:	83 e0 fe             	and    $0xfffffffe,%eax
4c120a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4c1211:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4c1215:	72 02                	jb     0x4c1219
4c1217:	8b 00                	mov    (%eax),%eax
4c1219:	c6 00 00             	movb   $0x0,(%eax)
4c121c:	f6 c1 04             	test   $0x4,%cl
4c121f:	74 18                	je     0x4c1239
4c1221:	8b 47 28             	mov    0x28(%edi),%eax
4c1224:	83 e0 fe             	and    $0xfffffffe,%eax
4c1227:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4c122e:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
4c1232:	72 02                	jb     0x4c1236
4c1234:	8b 00                	mov    (%eax),%eax
4c1236:	c6 00 00             	movb   $0x0,(%eax)
4c1239:	f6 c1 38             	test   $0x38,%cl
4c123c:	74 0c                	je     0x4c124a
4c123e:	0f 57 c0             	xorps  %xmm0,%xmm0
4c1241:	0f 11 47 30          	movups %xmm0,0x30(%edi)
4c1245:	66 0f d6 47 40       	movq   %xmm0,0x40(%edi)
4c124a:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4c1251:	8d 4f 04             	lea    0x4(%edi),%ecx
4c1254:	f6 01 01             	testb  $0x1,(%ecx)
4c1257:	5f                   	pop    %edi
4c1258:	5b                   	pop    %ebx
4c1259:	74 05                	je     0x4c1260
4c125b:	e8 50 f4 f8 ff       	call   0x4506b0
4c1260:	8b e5                	mov    %ebp,%esp
4c1262:	5d                   	pop    %ebp
4c1263:	c3                   	ret
4c1264:	cc                   	int3
4c1265:	cc                   	int3
4c1266:	cc                   	int3
4c1267:	cc                   	int3
4c1268:	cc                   	int3
4c1269:	cc                   	int3
4c126a:	cc                   	int3
4c126b:	cc                   	int3
4c126c:	cc                   	int3
4c126d:	cc                   	int3
4c126e:	cc                   	int3
4c126f:	cc                   	int3
4c1270:	8b 41 14             	mov    0x14(%ecx),%eax
4c1273:	83 e8 01             	sub    $0x1,%eax
4c1276:	78 1d                	js     0x4c1295
4c1278:	8b 51 1c             	mov    0x1c(%ecx),%edx
4c127b:	83 c2 04             	add    $0x4,%edx
4c127e:	8d 14 82             	lea    (%edx,%eax,4),%edx
4c1281:	8b 0a                	mov    (%edx),%ecx
4c1283:	8b 49 08             	mov    0x8(%ecx),%ecx
4c1286:	f7 d1                	not    %ecx
4c1288:	f6 c1 03             	test   $0x3,%cl
4c128b:	75 0b                	jne    0x4c1298
4c128d:	83 ea 04             	sub    $0x4,%edx
4c1290:	83 e8 01             	sub    $0x1,%eax
4c1293:	79 ec                	jns    0x4c1281
4c1295:	b0 01                	mov    $0x1,%al
4c1297:	c3                   	ret
4c1298:	32 c0                	xor    %al,%al
4c129a:	c3                   	ret
4c129b:	cc                   	int3
4c129c:	cc                   	int3
4c129d:	cc                   	int3
4c129e:	cc                   	int3
4c129f:	cc                   	int3
4c12a0:	55                   	push   %ebp
4c12a1:	8b ec                	mov    %esp,%ebp
4c12a3:	83 ec 28             	sub    $0x28,%esp
4c12a6:	8b 41 1c             	mov    0x1c(%ecx),%eax
4c12a9:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4c12ac:	53                   	push   %ebx
4c12ad:	8b 59 14             	mov    0x14(%ecx),%ebx
4c12b0:	56                   	push   %esi
4c12b1:	85 c0                	test   %eax,%eax
4c12b3:	74 09                	je     0x4c12be
4c12b5:	83 c0 04             	add    $0x4,%eax
4c12b8:	8b c8                	mov    %eax,%ecx
4c12ba:	8b f0                	mov    %eax,%esi
4c12bc:	eb 06                	jmp    0x4c12c4
4c12be:	33 c0                	xor    %eax,%eax
4c12c0:	33 c9                	xor    %ecx,%ecx
4c12c2:	33 f6                	xor    %esi,%esi
4c12c4:	57                   	push   %edi
4c12c5:	8d 3c 98             	lea    (%eax,%ebx,4),%edi
4c12c8:	3b cf                	cmp    %edi,%ecx
4c12ca:	0f 84 a4 00 00 00    	je     0x4c1374
4c12d0:	8b 0e                	mov    (%esi),%ecx
4c12d2:	8b 51 08             	mov    0x8(%ecx),%edx
4c12d5:	8b c2                	mov    %edx,%eax
4c12d7:	f7 d0                	not    %eax
4c12d9:	a8 03                	test   $0x3,%al
4c12db:	75 24                	jne    0x4c1301
4c12dd:	8b 41 10             	mov    0x10(%ecx),%eax
4c12e0:	83 e0 fe             	and    $0xfffffffe,%eax
4c12e3:	8b 48 10             	mov    0x10(%eax),%ecx
4c12e6:	8b c1                	mov    %ecx,%eax
4c12e8:	83 c8 01             	or     $0x1,%eax
4c12eb:	0f bd c0             	bsr    %eax,%eax
4c12ee:	89 45 f8             	mov    %eax,-0x8(%ebp)
4c12f1:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c12f4:	83 c0 49             	add    $0x49,%eax
4c12f7:	c1 e8 06             	shr    $0x6,%eax
4c12fa:	83 c0 03             	add    $0x3,%eax
4c12fd:	03 c8                	add    %eax,%ecx
4c12ff:	eb 32                	jmp    0x4c1333
4c1301:	33 c0                	xor    %eax,%eax
4c1303:	f6 c2 01             	test   $0x1,%dl
4c1306:	74 20                	je     0x4c1328
4c1308:	8b 41 10             	mov    0x10(%ecx),%eax
4c130b:	83 e0 fe             	and    $0xfffffffe,%eax
4c130e:	8b 48 10             	mov    0x10(%eax),%ecx
4c1311:	8b c1                	mov    %ecx,%eax
4c1313:	83 c8 01             	or     $0x1,%eax
4c1316:	0f bd c0             	bsr    %eax,%eax
4c1319:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c131c:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c131f:	83 c0 49             	add    $0x49,%eax
4c1322:	c1 e8 06             	shr    $0x6,%eax
4c1325:	40                   	inc    %eax
4c1326:	03 c1                	add    %ecx,%eax
4c1328:	d1 ea                	shr    $1,%edx
4c132a:	8d 48 02             	lea    0x2(%eax),%ecx
4c132d:	f6 c2 01             	test   $0x1,%dl
4c1330:	0f 44 c8             	cmove  %eax,%ecx
4c1333:	8b 06                	mov    (%esi),%eax
4c1335:	8d 50 04             	lea    0x4(%eax),%edx
4c1338:	83 c0 0c             	add    $0xc,%eax
4c133b:	f6 02 01             	testb  $0x1,(%edx)
4c133e:	74 0f                	je     0x4c134f
4c1340:	50                   	push   %eax
4c1341:	51                   	push   %ecx
4c1342:	52                   	push   %edx
4c1343:	e8 68 e1 fa ff       	call   0x46f4b0
4c1348:	83 c4 0c             	add    $0xc,%esp
4c134b:	8b c8                	mov    %eax,%ecx
4c134d:	eb 02                	jmp    0x4c1351
4c134f:	89 08                	mov    %ecx,(%eax)
4c1351:	8b c1                	mov    %ecx,%eax
4c1353:	83 c6 04             	add    $0x4,%esi
4c1356:	83 c8 01             	or     $0x1,%eax
4c1359:	0f bd c0             	bsr    %eax,%eax
4c135c:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c135f:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c1362:	83 c0 49             	add    $0x49,%eax
4c1365:	c1 e8 06             	shr    $0x6,%eax
4c1368:	03 c1                	add    %ecx,%eax
4c136a:	03 d8                	add    %eax,%ebx
4c136c:	3b f7                	cmp    %edi,%esi
4c136e:	0f 85 5c ff ff ff    	jne    0x4c12d0
4c1374:	8b 75 fc             	mov    -0x4(%ebp),%esi
4c1377:	5f                   	pop    %edi
4c1378:	8b 56 08             	mov    0x8(%esi),%edx
4c137b:	f6 c2 3f             	test   $0x3f,%dl
4c137e:	0f 84 db 00 00 00    	je     0x4c145f
4c1384:	f6 c2 01             	test   $0x1,%dl
4c1387:	74 22                	je     0x4c13ab
4c1389:	8b 46 20             	mov    0x20(%esi),%eax
4c138c:	83 e0 fe             	and    $0xfffffffe,%eax
4c138f:	8b 48 10             	mov    0x10(%eax),%ecx
4c1392:	8b c1                	mov    %ecx,%eax
4c1394:	83 c8 01             	or     $0x1,%eax
4c1397:	0f bd c0             	bsr    %eax,%eax
4c139a:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c139d:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c13a0:	83 c0 49             	add    $0x49,%eax
4c13a3:	c1 e8 06             	shr    $0x6,%eax
4c13a6:	40                   	inc    %eax
4c13a7:	03 c1                	add    %ecx,%eax
4c13a9:	03 d8                	add    %eax,%ebx
4c13ab:	f6 c2 02             	test   $0x2,%dl
4c13ae:	74 22                	je     0x4c13d2
4c13b0:	8b 46 24             	mov    0x24(%esi),%eax
4c13b3:	83 e0 fe             	and    $0xfffffffe,%eax
4c13b6:	8b 48 10             	mov    0x10(%eax),%ecx
4c13b9:	8b c1                	mov    %ecx,%eax
4c13bb:	83 c8 01             	or     $0x1,%eax
4c13be:	0f bd c0             	bsr    %eax,%eax
4c13c1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c13c4:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c13c7:	83 c0 49             	add    $0x49,%eax
4c13ca:	c1 e8 06             	shr    $0x6,%eax
4c13cd:	40                   	inc    %eax
4c13ce:	03 c1                	add    %ecx,%eax
4c13d0:	03 d8                	add    %eax,%ebx
4c13d2:	f6 c2 04             	test   $0x4,%dl
4c13d5:	74 22                	je     0x4c13f9
4c13d7:	8b 46 28             	mov    0x28(%esi),%eax
4c13da:	83 e0 fe             	and    $0xfffffffe,%eax
4c13dd:	8b 48 10             	mov    0x10(%eax),%ecx
4c13e0:	8b c1                	mov    %ecx,%eax
4c13e2:	83 c8 01             	or     $0x1,%eax
4c13e5:	0f bd c0             	bsr    %eax,%eax
4c13e8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4c13eb:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c13ee:	83 c0 49             	add    $0x49,%eax
4c13f1:	c1 e8 06             	shr    $0x6,%eax
4c13f4:	40                   	inc    %eax
4c13f5:	03 c1                	add    %ecx,%eax
4c13f7:	03 d8                	add    %eax,%ebx
4c13f9:	f6 c2 08             	test   $0x8,%dl
4c13fc:	74 2a                	je     0x4c1428
4c13fe:	8b 46 30             	mov    0x30(%esi),%eax
4c1401:	8b 4e 34             	mov    0x34(%esi),%ecx
4c1404:	83 c8 01             	or     $0x1,%eax
4c1407:	85 c9                	test   %ecx,%ecx
4c1409:	75 08                	jne    0x4c1413
4c140b:	0f bd c0             	bsr    %eax,%eax
4c140e:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4c1411:	eb 09                	jmp    0x4c141c
4c1413:	0f bd c1             	bsr    %ecx,%eax
4c1416:	89 45 e0             	mov    %eax,-0x20(%ebp)
4c1419:	83 c0 20             	add    $0x20,%eax
4c141c:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c141f:	43                   	inc    %ebx
4c1420:	83 c0 49             	add    $0x49,%eax
4c1423:	c1 e8 06             	shr    $0x6,%eax
4c1426:	03 d8                	add    %eax,%ebx
4c1428:	f6 c2 10             	test   $0x10,%dl
4c142b:	74 2a                	je     0x4c1457
4c142d:	8b 46 38             	mov    0x38(%esi),%eax
4c1430:	8b 4e 3c             	mov    0x3c(%esi),%ecx
4c1433:	83 c8 01             	or     $0x1,%eax
4c1436:	85 c9                	test   %ecx,%ecx
4c1438:	75 08                	jne    0x4c1442
4c143a:	0f bd c0             	bsr    %eax,%eax
4c143d:	89 45 dc             	mov    %eax,-0x24(%ebp)
4c1440:	eb 09                	jmp    0x4c144b
4c1442:	0f bd c1             	bsr    %ecx,%eax
4c1445:	89 45 d8             	mov    %eax,-0x28(%ebp)
4c1448:	83 c0 20             	add    $0x20,%eax
4c144b:	8d 04 c0             	lea    (%eax,%eax,8),%eax
4c144e:	43                   	inc    %ebx
4c144f:	83 c0 49             	add    $0x49,%eax
4c1452:	c1 e8 06             	shr    $0x6,%eax
4c1455:	03 d8                	add    %eax,%ebx
4c1457:	f6 c2 20             	test   $0x20,%dl
4c145a:	74 03                	je     0x4c145f
4c145c:	83 c3 09             	add    $0x9,%ebx
4c145f:	8d 46 04             	lea    0x4(%esi),%eax
4c1462:	83 c6 0c             	add    $0xc,%esi
4c1465:	f6 00 01             	testb  $0x1,(%eax)
4c1468:	74 11                	je     0x4c147b
4c146a:	56                   	push   %esi
4c146b:	53                   	push   %ebx
4c146c:	50                   	push   %eax
4c146d:	e8 3e e0 fa ff       	call   0x46f4b0
4c1472:	83 c4 0c             	add    $0xc,%esp
4c1475:	5e                   	pop    %esi
4c1476:	5b                   	pop    %ebx
4c1477:	8b e5                	mov    %ebp,%esp
4c1479:	5d                   	pop    %ebp
4c147a:	c3                   	ret
4c147b:	89 1e                	mov    %ebx,(%esi)
4c147d:	8b c3                	mov    %ebx,%eax
4c147f:	5e                   	pop    %esi
4c1480:	5b                   	pop    %ebx
4c1481:	8b e5                	mov    %ebp,%esp
4c1483:	5d                   	pop    %ebp
4c1484:	c3                   	ret
4c1485:	cc                   	int3
4c1486:	cc                   	int3
4c1487:	cc                   	int3
4c1488:	cc                   	int3
4c1489:	cc                   	int3
4c148a:	cc                   	int3
4c148b:	cc                   	int3
4c148c:	cc                   	int3
4c148d:	cc                   	int3
4c148e:	cc                   	int3
4c148f:	cc                   	int3
4c1490:	55                   	push   %ebp
4c1491:	8b ec                	mov    %esp,%ebp
4c1493:	83 ec 50             	sub    $0x50,%esp
4c1496:	8b 55 0c             	mov    0xc(%ebp),%edx
4c1499:	53                   	push   %ebx
4c149a:	56                   	push   %esi
4c149b:	57                   	push   %edi
4c149c:	8b 7d 08             	mov    0x8(%ebp),%edi
4c149f:	33 f6                	xor    %esi,%esi
4c14a1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4c14a4:	89 55 fc             	mov    %edx,-0x4(%ebp)
4c14a7:	3b 3a                	cmp    (%edx),%edi
4c14a9:	72 2a                	jb     0x4c14d5
4c14ab:	8b c7                	mov    %edi,%eax
4c14ad:	2b 42 04             	sub    0x4(%edx),%eax
4c14b0:	3b 42 10             	cmp    0x10(%edx),%eax
4c14b3:	0f 84 50 03 00 00    	je     0x4c1809
4c14b9:	ff 72 48             	push   0x48(%edx)
4c14bc:	8b ca                	mov    %edx,%ecx
4c14be:	50                   	push   %eax
4c14bf:	8d 45 d8             	lea    -0x28(%ebp),%eax
4c14c2:	50                   	push   %eax
4c14c3:	e8 68 da f9 ff       	call   0x45ef30
4c14c8:	80 7d dc 00          	cmpb   $0x0,-0x24(%ebp)
4c14cc:	8b 7d d8             	mov    -0x28(%ebp),%edi
4c14cf:	0f 85 6d 03 00 00    	jne    0x4c1842
4c14d5:	0f b6 1f             	movzbl (%edi),%ebx
4c14d8:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
4c14de:	73 03                	jae    0x4c14e3
4c14e0:	47                   	inc    %edi
4c14e1:	eb 2f                	jmp    0x4c1512
4c14e3:	0f b6 4f 01          	movzbl 0x1(%edi),%ecx
4c14e7:	83 c3 80             	add    $0xffffff80,%ebx
4c14ea:	8b c1                	mov    %ecx,%eax
4c14ec:	c1 e0 07             	shl    $0x7,%eax
4c14ef:	03 d8                	add    %eax,%ebx
4c14f1:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
4c14f7:	73 05                	jae    0x4c14fe
4c14f9:	83 c7 02             	add    $0x2,%edi
4c14fc:	eb 14                	jmp    0x4c1512
4c14fe:	53                   	push   %ebx
4c14ff:	8d 45 d0             	lea    -0x30(%ebp),%eax
4c1502:	57                   	push   %edi
4c1503:	50                   	push   %eax
4c1504:	e8 d7 e4 f9 ff       	call   0x45f9e0
4c1509:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
4c150c:	83 c4 0c             	add    $0xc,%esp
4c150f:	8b 7d d0             	mov    -0x30(%ebp),%edi
4c1512:	85 ff                	test   %edi,%edi
4c1514:	0f 84 26 03 00 00    	je     0x4c1840
4c151a:	8b c3                	mov    %ebx,%eax
4c151c:	c1 e8 03             	shr    $0x3,%eax
4c151f:	83 c0 fe             	add    $0xfffffffe,%eax
4c1522:	83 f8 06             	cmp    $0x6,%eax
4c1525:	0f 87 99 02 00 00    	ja     0x4c17c4
4c152b:	ff 24 85 54 18 4c 00 	jmp    *0x4c1854(,%eax,4)
4c1532:	80 fb 12             	cmp    $0x12,%bl
4c1535:	0f 85 89 02 00 00    	jne    0x4c17c4
4c153b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c153e:	4f                   	dec    %edi
4c153f:	90                   	nop
4c1540:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4c1543:	47                   	inc    %edi
4c1544:	85 c9                	test   %ecx,%ecx
4c1546:	74 1d                	je     0x4c1565
4c1548:	8b 53 14             	mov    0x14(%ebx),%edx
4c154b:	8b 01                	mov    (%ecx),%eax
4c154d:	3b d0                	cmp    %eax,%edx
4c154f:	7d 0f                	jge    0x4c1560
4c1551:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
4c1555:	89 45 f0             	mov    %eax,-0x10(%ebp)