45d27e:	33 c9                	xor    %ecx,%ecx
45d280:	8b 44 8e 04          	mov    0x4(%esi,%ecx,4),%eax
45d284:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
45d28b:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
45d28f:	72 02                	jb     0x45d293
45d291:	8b 00                	mov    (%eax),%eax
45d293:	41                   	inc    %ecx
45d294:	c6 00 00             	movb   $0x0,(%eax)
45d297:	3b ca                	cmp    %edx,%ecx
45d299:	7c e5                	jl     0x45d280
45d29b:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
45d2a2:	5e                   	pop    %esi
45d2a3:	5f                   	pop    %edi
45d2a4:	c3                   	ret
45d2a5:	cc                   	int3
45d2a6:	cc                   	int3
45d2a7:	cc                   	int3
45d2a8:	cc                   	int3
45d2a9:	cc                   	int3
45d2aa:	cc                   	int3
45d2ab:	cc                   	int3
45d2ac:	cc                   	int3
45d2ad:	cc                   	int3
45d2ae:	cc                   	int3
45d2af:	cc                   	int3
45d2b0:	55                   	push   %ebp
45d2b1:	8b ec                	mov    %esp,%ebp
45d2b3:	8b 49 08             	mov    0x8(%ecx),%ecx
45d2b6:	8b 45 08             	mov    0x8(%ebp),%eax
45d2b9:	8d 04 81             	lea    (%ecx,%eax,4),%eax
45d2bc:	5d                   	pop    %ebp
45d2bd:	c2 04 00             	ret    $0x4
45d2c0:	55                   	push   %ebp
45d2c1:	8b ec                	mov    %esp,%ebp
45d2c3:	8b 49 08             	mov    0x8(%ecx),%ecx
45d2c6:	8b 45 08             	mov    0x8(%ebp),%eax
45d2c9:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
45d2cc:	5d                   	pop    %ebp
45d2cd:	c2 04 00             	ret    $0x4
45d2d0:	55                   	push   %ebp
45d2d1:	8b ec                	mov    %esp,%ebp
45d2d3:	8b 41 08             	mov    0x8(%ecx),%eax
45d2d6:	03 45 08             	add    0x8(%ebp),%eax
45d2d9:	5d                   	pop    %ebp
45d2da:	c2 04 00             	ret    $0x4
45d2dd:	cc                   	int3
45d2de:	cc                   	int3
45d2df:	cc                   	int3
45d2e0:	55                   	push   %ebp
45d2e1:	8b ec                	mov    %esp,%ebp
45d2e3:	8b 49 0c             	mov    0xc(%ecx),%ecx
45d2e6:	8b 45 08             	mov    0x8(%ebp),%eax
45d2e9:	8b 44 81 04          	mov    0x4(%ecx,%eax,4),%eax
45d2ed:	5d                   	pop    %ebp
45d2ee:	c2 04 00             	ret    $0x4
45d2f1:	cc                   	int3
45d2f2:	cc                   	int3
45d2f3:	cc                   	int3
45d2f4:	cc                   	int3
45d2f5:	cc                   	int3
45d2f6:	cc                   	int3
45d2f7:	cc                   	int3
45d2f8:	cc                   	int3
45d2f9:	cc                   	int3
45d2fa:	cc                   	int3
45d2fb:	cc                   	int3
45d2fc:	cc                   	int3
45d2fd:	cc                   	int3
45d2fe:	cc                   	int3
45d2ff:	cc                   	int3
45d300:	55                   	push   %ebp
45d301:	8b ec                	mov    %esp,%ebp
45d303:	6a ff                	push   $0xffffffff
45d305:	68 54 8c 5f 00       	push   $0x5f8c54
45d30a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45d310:	50                   	push   %eax
45d311:	81 ec 84 00 00 00    	sub    $0x84,%esp
45d317:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45d31c:	33 c5                	xor    %ebp,%eax
45d31e:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d321:	53                   	push   %ebx
45d322:	56                   	push   %esi
45d323:	57                   	push   %edi
45d324:	50                   	push   %eax
45d325:	8d 45 f4             	lea    -0xc(%ebp),%eax
45d328:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45d32e:	8b f1                	mov    %ecx,%esi
45d330:	8b 55 08             	mov    0x8(%ebp),%edx
45d333:	33 db                	xor    %ebx,%ebx
45d335:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
45d33b:	8b 4e 04             	mov    0x4(%esi),%ecx
45d33e:	03 d1                	add    %ecx,%edx
45d340:	8b 7e 0c             	mov    0xc(%esi),%edi
45d343:	89 55 80             	mov    %edx,-0x80(%ebp)
45d346:	39 56 08             	cmp    %edx,0x8(%esi)
45d349:	7c 0b                	jl     0x45d356
45d34b:	8d 41 01             	lea    0x1(%ecx),%eax
45d34e:	8d 04 87             	lea    (%edi,%eax,4),%eax
45d351:	e9 67 01 00 00       	jmp    0x45d4bd
45d356:	8b 06                	mov    (%esi),%eax
45d358:	8d 4d 80             	lea    -0x80(%ebp),%ecx
45d35b:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
45d361:	8b 46 08             	mov    0x8(%esi),%eax
45d364:	03 c0                	add    %eax,%eax
45d366:	3b c2                	cmp    %edx,%eax
45d368:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
45d36e:	8d 85 70 ff ff ff    	lea    -0x90(%ebp),%eax
45d374:	0f 4d c8             	cmovge %eax,%ecx
45d377:	b8 fc 67 60 00       	mov    $0x6067fc,%eax
45d37c:	83 39 04             	cmpl   $0x4,(%ecx)
45d37f:	0f 4f c1             	cmovg  %ecx,%eax
45d382:	8b 00                	mov    (%eax),%eax
45d384:	89 45 80             	mov    %eax,-0x80(%ebp)
45d387:	3d fe ff ff 3f       	cmp    $0x3ffffffe,%eax
45d38c:	7e 47                	jle    0x45d3d5
45d38e:	6a 40                	push   $0x40
45d390:	68 00 68 60 00       	push   $0x606800
45d395:	6a 03                	push   $0x3
45d397:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d39a:	e8 41 7f 01 00       	call   0x4752e0
45d39f:	68 08 69 60 00       	push   $0x606908
45d3a4:	bb 01 00 00 00       	mov    $0x1,%ebx
45d3a9:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45d3b0:	68 68 68 60 00       	push   $0x606868
45d3b5:	8b c8                	mov    %eax,%ecx
45d3b7:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
45d3bd:	e8 2e 85 01 00       	call   0x4758f0
45d3c2:	8b c8                	mov    %eax,%ecx
45d3c4:	e8 27 85 01 00       	call   0x4758f0
45d3c9:	50                   	push   %eax
45d3ca:	8d 8d 7b ff ff ff    	lea    -0x85(%ebp),%ecx
45d3d0:	e8 ab 82 01 00       	call   0x475680
45d3d5:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
45d3dc:	f6 c3 01             	test   $0x1,%bl
45d3df:	74 0b                	je     0x45d3ec
45d3e1:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45d3e4:	83 e3 fe             	and    $0xfffffffe,%ebx
45d3e7:	e8 24 82 01 00       	call   0x475610
45d3ec:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
45d3f3:	8b 45 80             	mov    -0x80(%ebp),%eax
45d3f6:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
45d3fd:	75 11                	jne    0x45d410
45d3ff:	50                   	push   %eax
45d400:	e8 20 3e 17 00       	call   0x5d1225
45d405:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
45d40b:	83 c4 04             	add    $0x4,%esp
45d40e:	eb 41                	jmp    0x45d451
45d410:	f6 c3 02             	test   $0x2,%bl
45d413:	74 0b                	je     0x45d420
45d415:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45d418:	83 e3 fd             	and    $0xfffffffd,%ebx
45d41b:	e8 f0 81 01 00       	call   0x475610
45d420:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
45d427:	f6 c3 04             	test   $0x4,%bl
45d42a:	74 08                	je     0x45d434
45d42c:	8d 4d 84             	lea    -0x7c(%ebp),%ecx
45d42f:	e8 dc 81 01 00       	call   0x475610
45d434:	8b 45 80             	mov    -0x80(%ebp),%eax
45d437:	8b 9d 74 ff ff ff    	mov    -0x8c(%ebp),%ebx
45d43d:	8b cb                	mov    %ebx,%ecx
45d43f:	6a 00                	push   $0x0
45d441:	8d 04 85 0b 00 00 00 	lea    0xb(,%eax,4),%eax
45d448:	83 e0 f8             	and    $0xfffffff8,%eax
45d44b:	50                   	push   %eax
45d44c:	e8 ef e0 ff ff       	call   0x45b540
45d451:	89 46 0c             	mov    %eax,0xc(%esi)
45d454:	8b 4e 08             	mov    0x8(%esi),%ecx
45d457:	8b 45 80             	mov    -0x80(%ebp),%eax
45d45a:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
45d460:	89 46 08             	mov    %eax,0x8(%esi)
45d463:	85 ff                	test   %edi,%edi
45d465:	74 2c                	je     0x45d493
45d467:	8b 07                	mov    (%edi),%eax
45d469:	85 c0                	test   %eax,%eax
45d46b:	7e 26                	jle    0x45d493
45d46d:	c1 e0 02             	shl    $0x2,%eax
45d470:	50                   	push   %eax
45d471:	8d 47 04             	lea    0x4(%edi),%eax
45d474:	50                   	push   %eax
45d475:	8b 46 0c             	mov    0xc(%esi),%eax
45d478:	83 c0 04             	add    $0x4,%eax
45d47b:	50                   	push   %eax
45d47c:	e8 4f 59 17 00       	call   0x5d2dd0
45d481:	8b 4e 0c             	mov    0xc(%esi),%ecx
45d484:	83 c4 0c             	add    $0xc,%esp
45d487:	8b 07                	mov    (%edi),%eax
45d489:	89 01                	mov    %eax,(%ecx)
45d48b:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
45d491:	eb 09                	jmp    0x45d49c
45d493:	8b 46 0c             	mov    0xc(%esi),%eax
45d496:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
45d49c:	85 db                	test   %ebx,%ebx
45d49e:	75 11                	jne    0x45d4b1
45d4a0:	8d 04 8d 04 00 00 00 	lea    0x4(,%ecx,4),%eax
45d4a7:	50                   	push   %eax
45d4a8:	57                   	push   %edi
45d4a9:	e8 a7 3d 17 00       	call   0x5d1255
45d4ae:	83 c4 08             	add    $0x8,%esp
45d4b1:	8b 4e 04             	mov    0x4(%esi),%ecx
45d4b4:	8b 46 0c             	mov    0xc(%esi),%eax
45d4b7:	8d 04 88             	lea    (%eax,%ecx,4),%eax
45d4ba:	83 c0 04             	add    $0x4,%eax
45d4bd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45d4c0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45d4c7:	59                   	pop    %ecx
45d4c8:	5f                   	pop    %edi
45d4c9:	5e                   	pop    %esi
45d4ca:	5b                   	pop    %ebx
45d4cb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45d4ce:	33 cd                	xor    %ebp,%ecx
45d4d0:	e8 51 45 17 00       	call   0x5d1a26
45d4d5:	8b e5                	mov    %ebp,%esp
45d4d7:	5d                   	pop    %ebp
45d4d8:	c2 04 00             	ret    $0x4
45d4db:	cc                   	int3
45d4dc:	cc                   	int3
45d4dd:	cc                   	int3
45d4de:	cc                   	int3
45d4df:	cc                   	int3
45d4e0:	55                   	push   %ebp
45d4e1:	8b ec                	mov    %esp,%ebp
45d4e3:	53                   	push   %ebx
45d4e4:	57                   	push   %edi
45d4e5:	8b 7d 08             	mov    0x8(%ebp),%edi
45d4e8:	8b d9                	mov    %ecx,%ebx
45d4ea:	8b 07                	mov    (%edi),%eax
45d4ec:	85 c0                	test   %eax,%eax
45d4ee:	74 28                	je     0x45d518
45d4f0:	56                   	push   %esi
45d4f1:	8b 33                	mov    (%ebx),%esi
45d4f3:	03 c6                	add    %esi,%eax
45d4f5:	50                   	push   %eax
45d4f6:	e8 25 01 00 00       	call   0x45d620
45d4fb:	8b 07                	mov    (%edi),%eax
45d4fd:	01 03                	add    %eax,(%ebx)
45d4ff:	8b 07                	mov    (%edi),%eax
45d501:	c1 e0 02             	shl    $0x2,%eax
45d504:	50                   	push   %eax
45d505:	8b 43 08             	mov    0x8(%ebx),%eax
45d508:	ff 77 08             	push   0x8(%edi)
45d50b:	8d 04 b0             	lea    (%eax,%esi,4),%eax
45d50e:	50                   	push   %eax
45d50f:	e8 bc 58 17 00       	call   0x5d2dd0
45d514:	83 c4 0c             	add    $0xc,%esp
45d517:	5e                   	pop    %esi
45d518:	5f                   	pop    %edi
45d519:	5b                   	pop    %ebx
45d51a:	5d                   	pop    %ebp
45d51b:	c2 04 00             	ret    $0x4
45d51e:	cc                   	int3
45d51f:	cc                   	int3
45d520:	55                   	push   %ebp
45d521:	8b ec                	mov    %esp,%ebp
45d523:	53                   	push   %ebx
45d524:	57                   	push   %edi
45d525:	8b 7d 08             	mov    0x8(%ebp),%edi
45d528:	8b d9                	mov    %ecx,%ebx
45d52a:	8b 07                	mov    (%edi),%eax
45d52c:	85 c0                	test   %eax,%eax
45d52e:	74 28                	je     0x45d558
45d530:	56                   	push   %esi
45d531:	8b 33                	mov    (%ebx),%esi
45d533:	03 c6                	add    %esi,%eax
45d535:	50                   	push   %eax
45d536:	e8 b5 01 00 00       	call   0x45d6f0
45d53b:	8b 07                	mov    (%edi),%eax
45d53d:	01 03                	add    %eax,(%ebx)
45d53f:	8b 07                	mov    (%edi),%eax
45d541:	c1 e0 03             	shl    $0x3,%eax
45d544:	50                   	push   %eax
45d545:	8b 43 08             	mov    0x8(%ebx),%eax
45d548:	ff 77 08             	push   0x8(%edi)
45d54b:	8d 04 f0             	lea    (%eax,%esi,8),%eax
45d54e:	50                   	push   %eax
45d54f:	e8 7c 58 17 00       	call   0x5d2dd0
45d554:	83 c4 0c             	add    $0xc,%esp
45d557:	5e                   	pop    %esi
45d558:	5f                   	pop    %edi
45d559:	5b                   	pop    %ebx
45d55a:	5d                   	pop    %ebp
45d55b:	c2 04 00             	ret    $0x4
45d55e:	cc                   	int3
45d55f:	cc                   	int3
45d560:	55                   	push   %ebp
45d561:	8b ec                	mov    %esp,%ebp
45d563:	53                   	push   %ebx
45d564:	57                   	push   %edi
45d565:	8b 7d 08             	mov    0x8(%ebp),%edi
45d568:	8b d9                	mov    %ecx,%ebx
45d56a:	8b 07                	mov    (%edi),%eax
45d56c:	85 c0                	test   %eax,%eax
45d56e:	74 23                	je     0x45d593
45d570:	56                   	push   %esi
45d571:	8b 33                	mov    (%ebx),%esi
45d573:	03 c6                	add    %esi,%eax
45d575:	50                   	push   %eax
45d576:	e8 45 02 00 00       	call   0x45d7c0
45d57b:	8b 07                	mov    (%edi),%eax
45d57d:	01 03                	add    %eax,(%ebx)
45d57f:	ff 37                	push   (%edi)
45d581:	8b 43 08             	mov    0x8(%ebx),%eax
45d584:	ff 77 08             	push   0x8(%edi)
45d587:	03 c6                	add    %esi,%eax
45d589:	50                   	push   %eax
45d58a:	e8 41 58 17 00       	call   0x5d2dd0
45d58f:	83 c4 0c             	add    $0xc,%esp
45d592:	5e                   	pop    %esi
45d593:	5f                   	pop    %edi
45d594:	5b                   	pop    %ebx
45d595:	5d                   	pop    %ebp
45d596:	c2 04 00             	ret    $0x4
45d599:	cc                   	int3
45d59a:	cc                   	int3
45d59b:	cc                   	int3
45d59c:	cc                   	int3
45d59d:	cc                   	int3
45d59e:	cc                   	int3
45d59f:	cc                   	int3
45d5a0:	55                   	push   %ebp
45d5a1:	8b ec                	mov    %esp,%ebp
45d5a3:	53                   	push   %ebx
45d5a4:	56                   	push   %esi
45d5a5:	8b 75 08             	mov    0x8(%ebp),%esi
45d5a8:	57                   	push   %edi
45d5a9:	8b f9                	mov    %ecx,%edi
45d5ab:	8b 5e 04             	mov    0x4(%esi),%ebx
45d5ae:	85 db                	test   %ebx,%ebx
45d5b0:	74 2e                	je     0x45d5e0
45d5b2:	8b 76 0c             	mov    0xc(%esi),%esi
45d5b5:	53                   	push   %ebx
45d5b6:	83 c6 04             	add    $0x4,%esi
45d5b9:	e8 42 fd ff ff       	call   0x45d300
45d5be:	8b 4f 0c             	mov    0xc(%edi),%ecx
45d5c1:	8b 09                	mov    (%ecx),%ecx
45d5c3:	2b 4f 04             	sub    0x4(%edi),%ecx
45d5c6:	51                   	push   %ecx
45d5c7:	53                   	push   %ebx
45d5c8:	56                   	push   %esi
45d5c9:	50                   	push   %eax
45d5ca:	8b cf                	mov    %edi,%ecx
45d5cc:	e8 6f f3 ff ff       	call   0x45c940
45d5d1:	8b 4f 0c             	mov    0xc(%edi),%ecx
45d5d4:	01 5f 04             	add    %ebx,0x4(%edi)
45d5d7:	8b 47 04             	mov    0x4(%edi),%eax
45d5da:	39 01                	cmp    %eax,(%ecx)
45d5dc:	7d 02                	jge    0x45d5e0
45d5de:	89 01                	mov    %eax,(%ecx)
45d5e0:	5f                   	pop    %edi
45d5e1:	5e                   	pop    %esi
45d5e2:	5b                   	pop    %ebx