40c452:	8b 39                	mov    (%ecx),%edi
40c454:	03 f8                	add    %eax,%edi
40c456:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c459:	6a 00                	push   $0x0
40c45b:	50                   	push   %eax
40c45c:	ff 75 f4             	push   -0xc(%ebp)
40c45f:	e8 fc 72 03 00       	call   0x443760
40c464:	8b f0                	mov    %eax,%esi
40c466:	85 f6                	test   %esi,%esi
40c468:	0f 88 12 02 00 00    	js     0x40c680
40c46e:	57                   	push   %edi
40c46f:	68 64 ca 44 00       	push   $0x44ca64
40c474:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
40c47b:	ff 75 fc             	push   -0x4(%ebp)
40c47e:	e8 44 6d 03 00       	call   0x4431c7
40c483:	8b f0                	mov    %eax,%esi
40c485:	85 f6                	test   %esi,%esi
40c487:	0f 88 ec 01 00 00    	js     0x40c679
40c48d:	8d 47 08             	lea    0x8(%edi),%eax
40c490:	50                   	push   %eax
40c491:	68 38 f5 44 00       	push   $0x44f538
40c496:	ff 75 fc             	push   -0x4(%ebp)
40c499:	e8 3d 6f 03 00       	call   0x4433db
40c49e:	8b f0                	mov    %eax,%esi
40c4a0:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40c4a6:	74 08                	je     0x40c4b0
40c4a8:	85 f6                	test   %esi,%esi
40c4aa:	0f 88 8a 01 00 00    	js     0x40c63a
40c4b0:	8d 5f 0c             	lea    0xc(%edi),%ebx
40c4b3:	53                   	push   %ebx
40c4b4:	68 60 f5 44 00       	push   $0x44f560
40c4b9:	ff 75 fc             	push   -0x4(%ebp)
40c4bc:	e8 1a 6f 03 00       	call   0x4433db
40c4c1:	8b f0                	mov    %eax,%esi
40c4c3:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40c4c9:	75 06                	jne    0x40c4d1
40c4cb:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
40c4cf:	74 08                	je     0x40c4d9
40c4d1:	85 f6                	test   %esi,%esi
40c4d3:	0f 88 99 01 00 00    	js     0x40c672
40c4d9:	8d 47 10             	lea    0x10(%edi),%eax
40c4dc:	50                   	push   %eax
40c4dd:	68 90 f5 44 00       	push   $0x44f590
40c4e2:	ff 75 fc             	push   -0x4(%ebp)
40c4e5:	e8 20 6e 03 00       	call   0x44330a
40c4ea:	8b f0                	mov    %eax,%esi
40c4ec:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40c4f2:	75 05                	jne    0x40c4f9
40c4f4:	83 3b 00             	cmpl   $0x0,(%ebx)
40c4f7:	74 46                	je     0x40c53f
40c4f9:	85 f6                	test   %esi,%esi
40c4fb:	0f 88 6a 01 00 00    	js     0x40c66b
40c501:	83 3b 00             	cmpl   $0x0,(%ebx)
40c504:	74 39                	je     0x40c53f
40c506:	6a 00                	push   $0x0
40c508:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c50b:	50                   	push   %eax
40c50c:	e8 c6 6e ff ff       	call   0x4033d7
40c511:	8b f0                	mov    %eax,%esi
40c513:	85 f6                	test   %esi,%esi
40c515:	0f 88 26 01 00 00    	js     0x40c641
40c51b:	ff 75 f0             	push   -0x10(%ebp)
40c51e:	e8 1b 6e ff ff       	call   0x40333e
40c523:	6a 00                	push   $0x0
40c525:	50                   	push   %eax
40c526:	8d 5f 24             	lea    0x24(%edi),%ebx
40c529:	53                   	push   %ebx
40c52a:	e8 76 5c ff ff       	call   0x4021a5
40c52f:	8b f0                	mov    %eax,%esi
40c531:	85 f6                	test   %esi,%esi
40c533:	79 2d                	jns    0x40c562
40c535:	68 0c f6 44 00       	push   $0x44f60c
40c53a:	e9 46 01 00 00       	jmp    0x40c685
40c53f:	8d 5f 24             	lea    0x24(%edi),%ebx
40c542:	53                   	push   %ebx
40c543:	68 38 f6 44 00       	push   $0x44f638
40c548:	ff 75 fc             	push   -0x4(%ebp)
40c54b:	e8 77 6c 03 00       	call   0x4431c7
40c550:	8b f0                	mov    %eax,%esi
40c552:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40c558:	74 08                	je     0x40c562
40c55a:	85 f6                	test   %esi,%esi
40c55c:	0f 88 e6 00 00 00    	js     0x40c648
40c562:	6a 00                	push   $0x0
40c564:	ff 33                	push   (%ebx)
40c566:	8d 47 28             	lea    0x28(%edi),%eax
40c569:	50                   	push   %eax
40c56a:	e8 36 5c ff ff       	call   0x4021a5
40c56f:	8b f0                	mov    %eax,%esi
40c571:	85 f6                	test   %esi,%esi
40c573:	0f 88 eb 00 00 00    	js     0x40c664
40c579:	8d 47 2c             	lea    0x2c(%edi),%eax
40c57c:	50                   	push   %eax
40c57d:	68 84 f6 44 00       	push   $0x44f684
40c582:	ff 75 fc             	push   -0x4(%ebp)
40c585:	e8 3d 6c 03 00       	call   0x4431c7
40c58a:	8b f0                	mov    %eax,%esi
40c58c:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40c592:	75 0c                	jne    0x40c5a0
40c594:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
40c598:	75 0e                	jne    0x40c5a8
40c59a:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
40c59e:	75 08                	jne    0x40c5a8
40c5a0:	85 f6                	test   %esi,%esi
40c5a2:	0f 88 b5 00 00 00    	js     0x40c65d
40c5a8:	8d 5f 20             	lea    0x20(%edi),%ebx
40c5ab:	53                   	push   %ebx
40c5ac:	68 f8 f6 44 00       	push   $0x44f6f8
40c5b1:	ff 75 fc             	push   -0x4(%ebp)
40c5b4:	e8 0e 6c 03 00       	call   0x4431c7
40c5b9:	8b f0                	mov    %eax,%esi
40c5bb:	85 f6                	test   %esi,%esi
40c5bd:	78 1f                	js     0x40c5de
40c5bf:	8d 47 3c             	lea    0x3c(%edi),%eax
40c5c2:	50                   	push   %eax
40c5c3:	8d 47 38             	lea    0x38(%edi),%eax
40c5c6:	50                   	push   %eax
40c5c7:	ff 33                	push   (%ebx)
40c5c9:	e8 3d 5a ff ff       	call   0x40200b
40c5ce:	8b f0                	mov    %eax,%esi
40c5d0:	85 f6                	test   %esi,%esi
40c5d2:	79 12                	jns    0x40c5e6
40c5d4:	68 04 f7 44 00       	push   $0x44f704
40c5d9:	e9 a7 00 00 00       	jmp    0x40c685
40c5de:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
40c5e4:	75 70                	jne    0x40c656
40c5e6:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
40c5ea:	74 20                	je     0x40c60c
40c5ec:	8d 47 48             	lea    0x48(%edi),%eax
40c5ef:	50                   	push   %eax
40c5f0:	8d 47 18             	lea    0x18(%edi),%eax
40c5f3:	50                   	push   %eax
40c5f4:	8d 47 40             	lea    0x40(%edi),%eax
40c5f7:	50                   	push   %eax
40c5f8:	ff 77 04             	push   0x4(%edi)
40c5fb:	ff 77 10             	push   0x10(%edi)
40c5fe:	ff 75 08             	push   0x8(%ebp)
40c601:	e8 a9 ec ff ff       	call   0x40b2af
40c606:	8b f0                	mov    %eax,%esi
40c608:	85 f6                	test   %esi,%esi
40c60a:	78 43                	js     0x40c64f
40c60c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c60f:	85 c9                	test   %ecx,%ecx
40c611:	74 0a                	je     0x40c61d
40c613:	8b 01                	mov    (%ecx),%eax
40c615:	51                   	push   %ecx
40c616:	ff 50 08             	call   *0x8(%eax)
40c619:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c61d:	8b 5d 10             	mov    0x10(%ebp),%ebx
40c620:	8b 45 ec             	mov    -0x14(%ebp),%eax
40c623:	43                   	inc    %ebx
40c624:	83 c0 50             	add    $0x50,%eax
40c627:	89 5d 10             	mov    %ebx,0x10(%ebp)
40c62a:	89 45 ec             	mov    %eax,-0x14(%ebp)
40c62d:	3b 5d f8             	cmp    -0x8(%ebp),%ebx
40c630:	73 5d                	jae    0x40c68f
40c632:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c635:	e9 18 fe ff ff       	jmp    0x40c452
40c63a:	68 48 f5 44 00       	push   $0x44f548
40c63f:	eb 44                	jmp    0x40c685
40c641:	68 cc f5 44 00       	push   $0x44f5cc
40c646:	eb 3d                	jmp    0x40c685
40c648:	68 4c f6 44 00       	push   $0x44f64c
40c64d:	eb 36                	jmp    0x40c685
40c64f:	68 48 f7 44 00       	push   $0x44f748
40c654:	eb 2f                	jmp    0x40c685
40c656:	68 30 f7 44 00       	push   $0x44f730
40c65b:	eb 28                	jmp    0x40c685
40c65d:	68 a0 f6 44 00       	push   $0x44f6a0
40c662:	eb 21                	jmp    0x40c685
40c664:	68 68 f6 44 00       	push   $0x44f668
40c669:	eb 1a                	jmp    0x40c685
40c66b:	68 ac f5 44 00       	push   $0x44f5ac
40c670:	eb 13                	jmp    0x40c685
40c672:	68 74 f5 44 00       	push   $0x44f574
40c677:	eb 0c                	jmp    0x40c685
40c679:	68 6c ca 44 00       	push   $0x44ca6c
40c67e:	eb 05                	jmp    0x40c685
40c680:	68 48 ca 44 00       	push   $0x44ca48
40c685:	56                   	push   %esi
40c686:	e8 a4 3a 03 00       	call   0x44012f
40c68b:	59                   	pop    %ecx
40c68c:	59                   	pop    %ecx
40c68d:	eb 02                	jmp    0x40c691
40c68f:	33 f6                	xor    %esi,%esi
40c691:	5f                   	pop    %edi
40c692:	5b                   	pop    %ebx
40c693:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40c696:	85 c9                	test   %ecx,%ecx
40c698:	74 06                	je     0x40c6a0
40c69a:	8b 01                	mov    (%ecx),%eax
40c69c:	51                   	push   %ecx
40c69d:	ff 50 08             	call   *0x8(%eax)
40c6a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c6a3:	85 c9                	test   %ecx,%ecx
40c6a5:	74 06                	je     0x40c6ad
40c6a7:	8b 01                	mov    (%ecx),%eax
40c6a9:	51                   	push   %ecx
40c6aa:	ff 50 08             	call   *0x8(%eax)
40c6ad:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
40c6b1:	74 08                	je     0x40c6bb
40c6b3:	ff 75 f0             	push   -0x10(%ebp)
40c6b6:	e8 34 8e 03 00       	call   0x4454ef
40c6bb:	8b c6                	mov    %esi,%eax
40c6bd:	5e                   	pop    %esi
40c6be:	8b e5                	mov    %ebp,%esp
40c6c0:	5d                   	pop    %ebp
40c6c1:	c2 0c 00             	ret    $0xc
40c6c4:	55                   	push   %ebp
40c6c5:	8b ec                	mov    %esp,%ebp
40c6c7:	56                   	push   %esi
40c6c8:	8b 75 08             	mov    0x8(%ebp),%esi
40c6cb:	83 3e 00             	cmpl   $0x0,(%esi)
40c6ce:	0f 84 a0 00 00 00    	je     0x40c774
40c6d4:	53                   	push   %ebx
40c6d5:	33 db                	xor    %ebx,%ebx
40c6d7:	39 5e 04             	cmp    %ebx,0x4(%esi)
40c6da:	0f 86 8c 00 00 00    	jbe    0x40c76c
40c6e0:	33 c0                	xor    %eax,%eax
40c6e2:	89 45 08             	mov    %eax,0x8(%ebp)
40c6e5:	57                   	push   %edi
40c6e6:	8b 3e                	mov    (%esi),%edi
40c6e8:	03 f8                	add    %eax,%edi
40c6ea:	83 3f 00             	cmpl   $0x0,(%edi)
40c6ed:	74 07                	je     0x40c6f6
40c6ef:	ff 37                	push   (%edi)
40c6f1:	e8 f9 8d 03 00       	call   0x4454ef
40c6f6:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
40c6fa:	74 08                	je     0x40c704
40c6fc:	ff 77 20             	push   0x20(%edi)
40c6ff:	e8 eb 8d 03 00       	call   0x4454ef
40c704:	83 7f 28 00          	cmpl   $0x0,0x28(%edi)
40c708:	74 08                	je     0x40c712
40c70a:	ff 77 28             	push   0x28(%edi)
40c70d:	e8 dd 8d 03 00       	call   0x4454ef
40c712:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
40c716:	74 08                	je     0x40c720
40c718:	ff 77 24             	push   0x24(%edi)
40c71b:	e8 cf 8d 03 00       	call   0x4454ef
40c720:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
40c724:	74 08                	je     0x40c72e
40c726:	ff 77 38             	push   0x38(%edi)
40c729:	e8 6b 72 ff ff       	call   0x403999
40c72e:	83 7f 2c 00          	cmpl   $0x0,0x2c(%edi)
40c732:	74 08                	je     0x40c73c
40c734:	ff 77 2c             	push   0x2c(%edi)
40c737:	e8 b3 8d 03 00       	call   0x4454ef
40c73c:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
40c740:	74 08                	je     0x40c74a
40c742:	ff 77 30             	push   0x30(%edi)
40c745:	e8 a5 8d 03 00       	call   0x4454ef
40c74a:	83 7f 34 00          	cmpl   $0x0,0x34(%edi)
40c74e:	74 08                	je     0x40c758
40c750:	ff 77 34             	push   0x34(%edi)
40c753:	e8 97 8d 03 00       	call   0x4454ef
40c758:	8b 45 08             	mov    0x8(%ebp),%eax
40c75b:	43                   	inc    %ebx
40c75c:	83 c0 50             	add    $0x50,%eax
40c75f:	89 45 08             	mov    %eax,0x8(%ebp)
40c762:	3b 5e 04             	cmp    0x4(%esi),%ebx
40c765:	0f 82 7b ff ff ff    	jb     0x40c6e6
40c76b:	5f                   	pop    %edi
40c76c:	ff 36                	push   (%esi)
40c76e:	e8 26 72 ff ff       	call   0x403999
40c773:	5b                   	pop    %ebx
40c774:	83 26 00             	andl   $0x0,(%esi)
40c777:	83 66 04 00          	andl   $0x0,0x4(%esi)
40c77b:	5e                   	pop    %esi
40c77c:	5d                   	pop    %ebp
40c77d:	c2 04 00             	ret    $0x4
40c780:	55                   	push   %ebp
40c781:	8b ec                	mov    %esp,%ebp
40c783:	51                   	push   %ecx
40c784:	53                   	push   %ebx
40c785:	56                   	push   %esi
40c786:	57                   	push   %edi
40c787:	8b 7d 08             	mov    0x8(%ebp),%edi
40c78a:	33 f6                	xor    %esi,%esi
40c78c:	8b de                	mov    %esi,%ebx
40c78e:	39 77 04             	cmp    %esi,0x4(%edi)
40c791:	76 32                	jbe    0x40c7c5
40c793:	8b ce                	mov    %esi,%ecx
40c795:	89 75 08             	mov    %esi,0x8(%ebp)
40c798:	8b 07                	mov    (%edi),%eax
40c79a:	6a ff                	push   $0xffffffff
40c79c:	ff 75 0c             	push   0xc(%ebp)
40c79f:	03 c1                	add    %ecx,%eax
40c7a1:	6a ff                	push   $0xffffffff
40c7a3:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c7a6:	ff 30                	push   (%eax)
40c7a8:	56                   	push   %esi
40c7a9:	6a 7f                	push   $0x7f
40c7ab:	ff 15 28 b1 44 00    	call   *0x44b128
40c7b1:	83 f8 02             	cmp    $0x2,%eax
40c7b4:	74 1f                	je     0x40c7d5
40c7b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c7b9:	43                   	inc    %ebx
40c7ba:	83 c1 10             	add    $0x10,%ecx
40c7bd:	89 4d 08             	mov    %ecx,0x8(%ebp)
40c7c0:	3b 5f 04             	cmp    0x4(%edi),%ebx
40c7c3:	72 d3                	jb     0x40c798
40c7c5:	be 90 04 07 80       	mov    $0x80070490,%esi
40c7ca:	5f                   	pop    %edi
40c7cb:	8b c6                	mov    %esi,%eax
40c7cd:	5e                   	pop    %esi
40c7ce:	5b                   	pop    %ebx
40c7cf:	8b e5                	mov    %ebp,%esp
40c7d1:	5d                   	pop    %ebp
40c7d2:	c2 0c 00             	ret    $0xc
40c7d5:	8b 45 10             	mov    0x10(%ebp),%eax
40c7d8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c7db:	89 08                	mov    %ecx,(%eax)
40c7dd:	eb eb                	jmp    0x40c7ca
40c7df:	55                   	push   %ebp
40c7e0:	8b ec                	mov    %esp,%ebp
40c7e2:	51                   	push   %ecx
40c7e3:	51                   	push   %ecx
40c7e4:	53                   	push   %ebx
40c7e5:	8b 5d 08             	mov    0x8(%ebp),%ebx
40c7e8:	33 c0                	xor    %eax,%eax
40c7ea:	56                   	push   %esi
40c7eb:	8b f0                	mov    %eax,%esi
40c7ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c7f0:	89 45 f8             	mov    %eax,-0x8(%ebp)
40c7f3:	39 43 04             	cmp    %eax,0x4(%ebx)
40c7f6:	0f 86 eb 00 00 00    	jbe    0x40c8e7
40c7fc:	8b c8                	mov    %eax,%ecx
40c7fe:	89 4d 08             	mov    %ecx,0x8(%ebp)
40c801:	57                   	push   %edi
40c802:	8b 3b                	mov    (%ebx),%edi
40c804:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c807:	03 f9                	add    %ecx,%edi
40c809:	50                   	push   %eax
40c80a:	ff 77 04             	push   0x4(%edi)
40c80d:	ff 75 0c             	push   0xc(%ebp)
40c810:	e8 42 04 00 00       	call   0x40cc57
40c815:	8b f0                	mov    %eax,%esi
40c817:	85 f6                	test   %esi,%esi
40c819:	0f 88 ba 00 00 00    	js     0x40c8d9
40c81f:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c822:	8d 4f 08             	lea    0x8(%edi),%ecx
40c825:	6a 00                	push   $0x0
40c827:	ff 70 50             	push   0x50(%eax)
40c82a:	51                   	push   %ecx
40c82b:	e8 75 59 ff ff       	call   0x4021a5
40c830:	8b f0                	mov    %eax,%esi
40c832:	85 f6                	test   %esi,%esi
40c834:	0f 88 98 00 00 00    	js     0x40c8d2
40c83a:	6a 00                	push   $0x0
40c83c:	68 00 00 00 08       	push   $0x8000000