40c409:	83 0d 7c c9 41 00 ff 	orl    $0xffffffff,0x41c97c
40c410:	e9 d5 05 00 00       	jmp    0x40c9ea
40c415:	6a 0c                	push   $0xc
40c417:	68 10 ac 41 00       	push   $0x41ac10
40c41c:	e8 27 12 00 00       	call   0x40d648
40c421:	68 44 80 41 00       	push   $0x418044
40c426:	ff 15 44 70 41 00    	call   *0x417044
40c42c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40c42f:	8b 75 08             	mov    0x8(%ebp),%esi
40c432:	c7 46 5c 68 cb 41 00 	movl   $0x41cb68,0x5c(%esi)
40c439:	33 ff                	xor    %edi,%edi
40c43b:	47                   	inc    %edi
40c43c:	89 7e 14             	mov    %edi,0x14(%esi)
40c43f:	85 c0                	test   %eax,%eax
40c441:	74 24                	je     0x40c467
40c443:	68 34 80 41 00       	push   $0x418034
40c448:	50                   	push   %eax
40c449:	8b 1d ec 70 41 00    	mov    0x4170ec,%ebx
40c44f:	ff d3                	call   *%ebx
40c451:	89 86 f8 01 00 00    	mov    %eax,0x1f8(%esi)
40c457:	68 54 80 41 00       	push   $0x418054
40c45c:	ff 75 e4             	push   -0x1c(%ebp)
40c45f:	ff d3                	call   *%ebx
40c461:	89 86 fc 01 00 00    	mov    %eax,0x1fc(%esi)
40c467:	89 7e 70             	mov    %edi,0x70(%esi)
40c46a:	c6 86 c8 00 00 00 43 	movb   $0x43,0xc8(%esi)
40c471:	c6 86 4b 01 00 00 43 	movb   $0x43,0x14b(%esi)
40c478:	b8 18 cc 41 00       	mov    $0x41cc18,%eax
40c47d:	89 46 68             	mov    %eax,0x68(%esi)
40c480:	50                   	push   %eax
40c481:	ff 15 94 70 41 00    	call   *0x417094
40c487:	6a 0c                	push   $0xc
40c489:	e8 89 06 00 00       	call   0x40cb17
40c48e:	59                   	pop    %ecx
40c48f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c493:	8b 45 0c             	mov    0xc(%ebp),%eax
40c496:	89 46 6c             	mov    %eax,0x6c(%esi)
40c499:	85 c0                	test   %eax,%eax
40c49b:	75 08                	jne    0x40c4a5
40c49d:	a1 20 d2 41 00       	mov    0x41d220,%eax
40c4a2:	89 46 6c             	mov    %eax,0x6c(%esi)
40c4a5:	ff 76 6c             	push   0x6c(%esi)
40c4a8:	e8 d1 d0 ff ff       	call   0x40957e
40c4ad:	59                   	pop    %ecx
40c4ae:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c4b5:	e8 06 00 00 00       	call   0x40c4c0
40c4ba:	e8 ce 11 00 00       	call   0x40d68d
40c4bf:	c3                   	ret
40c4c0:	6a 0c                	push   $0xc
40c4c2:	e8 78 05 00 00       	call   0x40ca3f
40c4c7:	59                   	pop    %ecx
40c4c8:	c3                   	ret
40c4c9:	56                   	push   %esi
40c4ca:	57                   	push   %edi
40c4cb:	ff 15 b0 70 41 00    	call   *0x4170b0
40c4d1:	8b f8                	mov    %eax,%edi
40c4d3:	e8 d6 fe ff ff       	call   0x40c3ae
40c4d8:	ff 35 78 c9 41 00    	push   0x41c978
40c4de:	ff 35 7c c9 41 00    	push   0x41c97c
40c4e4:	ff 15 f0 70 41 00    	call   *0x4170f0
40c4ea:	ff d0                	call   *%eax
40c4ec:	8b f0                	mov    %eax,%esi
40c4ee:	85 f6                	test   %esi,%esi
40c4f0:	75 4e                	jne    0x40c540
40c4f2:	68 14 02 00 00       	push   $0x214
40c4f7:	6a 01                	push   $0x1
40c4f9:	e8 2e ce ff ff       	call   0x40932c
40c4fe:	8b f0                	mov    %eax,%esi
40c500:	85 f6                	test   %esi,%esi
40c502:	59                   	pop    %ecx
40c503:	59                   	pop    %ecx
40c504:	74 3a                	je     0x40c540
40c506:	56                   	push   %esi
40c507:	ff 35 78 c9 41 00    	push   0x41c978
40c50d:	ff 35 50 dd 41 00    	push   0x41dd50
40c513:	e8 2a fe ff ff       	call   0x40c342
40c518:	59                   	pop    %ecx
40c519:	ff d0                	call   *%eax
40c51b:	85 c0                	test   %eax,%eax
40c51d:	74 18                	je     0x40c537
40c51f:	6a 00                	push   $0x0
40c521:	56                   	push   %esi
40c522:	e8 ee fe ff ff       	call   0x40c415
40c527:	59                   	pop    %ecx
40c528:	59                   	pop    %ecx
40c529:	ff 15 04 71 41 00    	call   *0x417104
40c52f:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
40c533:	89 06                	mov    %eax,(%esi)
40c535:	eb 09                	jmp    0x40c540
40c537:	56                   	push   %esi
40c538:	e8 16 9f ff ff       	call   0x406453
40c53d:	59                   	pop    %ecx
40c53e:	33 f6                	xor    %esi,%esi
40c540:	57                   	push   %edi
40c541:	ff 15 00 71 41 00    	call   *0x417100
40c547:	5f                   	pop    %edi
40c548:	8b c6                	mov    %esi,%eax
40c54a:	5e                   	pop    %esi
40c54b:	c3                   	ret
40c54c:	56                   	push   %esi
40c54d:	e8 77 ff ff ff       	call   0x40c4c9
40c552:	8b f0                	mov    %eax,%esi
40c554:	85 f6                	test   %esi,%esi
40c556:	75 08                	jne    0x40c560
40c558:	6a 10                	push   $0x10
40c55a:	e8 e7 12 00 00       	call   0x40d846
40c55f:	59                   	pop    %ecx
40c560:	8b c6                	mov    %esi,%eax
40c562:	5e                   	pop    %esi
40c563:	c3                   	ret
40c564:	6a 08                	push   $0x8
40c566:	68 30 ac 41 00       	push   $0x41ac30
40c56b:	e8 d8 10 00 00       	call   0x40d648
40c570:	8b 75 08             	mov    0x8(%ebp),%esi
40c573:	85 f6                	test   %esi,%esi
40c575:	0f 84 ea 00 00 00    	je     0x40c665
40c57b:	8b 46 24             	mov    0x24(%esi),%eax
40c57e:	85 c0                	test   %eax,%eax
40c580:	74 07                	je     0x40c589
40c582:	50                   	push   %eax
40c583:	e8 cb 9e ff ff       	call   0x406453
40c588:	59                   	pop    %ecx
40c589:	8b 46 2c             	mov    0x2c(%esi),%eax
40c58c:	85 c0                	test   %eax,%eax
40c58e:	74 07                	je     0x40c597
40c590:	50                   	push   %eax
40c591:	e8 bd 9e ff ff       	call   0x406453
40c596:	59                   	pop    %ecx
40c597:	8b 46 34             	mov    0x34(%esi),%eax
40c59a:	85 c0                	test   %eax,%eax
40c59c:	74 07                	je     0x40c5a5
40c59e:	50                   	push   %eax
40c59f:	e8 af 9e ff ff       	call   0x406453
40c5a4:	59                   	pop    %ecx
40c5a5:	8b 46 3c             	mov    0x3c(%esi),%eax
40c5a8:	85 c0                	test   %eax,%eax
40c5aa:	74 07                	je     0x40c5b3
40c5ac:	50                   	push   %eax
40c5ad:	e8 a1 9e ff ff       	call   0x406453
40c5b2:	59                   	pop    %ecx
40c5b3:	8b 46 44             	mov    0x44(%esi),%eax
40c5b6:	85 c0                	test   %eax,%eax
40c5b8:	74 07                	je     0x40c5c1
40c5ba:	50                   	push   %eax
40c5bb:	e8 93 9e ff ff       	call   0x406453
40c5c0:	59                   	pop    %ecx
40c5c1:	8b 46 48             	mov    0x48(%esi),%eax
40c5c4:	85 c0                	test   %eax,%eax
40c5c6:	74 07                	je     0x40c5cf
40c5c8:	50                   	push   %eax
40c5c9:	e8 85 9e ff ff       	call   0x406453
40c5ce:	59                   	pop    %ecx
40c5cf:	8b 46 5c             	mov    0x5c(%esi),%eax
40c5d2:	3d 68 cb 41 00       	cmp    $0x41cb68,%eax
40c5d7:	74 07                	je     0x40c5e0
40c5d9:	50                   	push   %eax
40c5da:	e8 74 9e ff ff       	call   0x406453
40c5df:	59                   	pop    %ecx
40c5e0:	6a 0d                	push   $0xd
40c5e2:	e8 30 05 00 00       	call   0x40cb17
40c5e7:	59                   	pop    %ecx
40c5e8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c5ec:	8b 7e 68             	mov    0x68(%esi),%edi
40c5ef:	85 ff                	test   %edi,%edi
40c5f1:	74 1a                	je     0x40c60d
40c5f3:	57                   	push   %edi
40c5f4:	ff 15 98 70 41 00    	call   *0x417098
40c5fa:	85 c0                	test   %eax,%eax
40c5fc:	75 0f                	jne    0x40c60d
40c5fe:	81 ff 18 cc 41 00    	cmp    $0x41cc18,%edi
40c604:	74 07                	je     0x40c60d
40c606:	57                   	push   %edi
40c607:	e8 47 9e ff ff       	call   0x406453
40c60c:	59                   	pop    %ecx
40c60d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c614:	e8 57 00 00 00       	call   0x40c670
40c619:	6a 0c                	push   $0xc
40c61b:	e8 f7 04 00 00       	call   0x40cb17
40c620:	59                   	pop    %ecx
40c621:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
40c628:	8b 7e 6c             	mov    0x6c(%esi),%edi
40c62b:	85 ff                	test   %edi,%edi
40c62d:	74 23                	je     0x40c652
40c62f:	57                   	push   %edi
40c630:	e8 cf cf ff ff       	call   0x409604
40c635:	59                   	pop    %ecx
40c636:	3b 3d 20 d2 41 00    	cmp    0x41d220,%edi
40c63c:	74 14                	je     0x40c652
40c63e:	81 ff 48 d1 41 00    	cmp    $0x41d148,%edi
40c644:	74 0c                	je     0x40c652
40c646:	83 3f 00             	cmpl   $0x0,(%edi)
40c649:	75 07                	jne    0x40c652
40c64b:	57                   	push   %edi
40c64c:	e8 ed cd ff ff       	call   0x40943e
40c651:	59                   	pop    %ecx
40c652:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c659:	e8 1e 00 00 00       	call   0x40c67c
40c65e:	56                   	push   %esi
40c65f:	e8 ef 9d ff ff       	call   0x406453
40c664:	59                   	pop    %ecx
40c665:	e8 23 10 00 00       	call   0x40d68d
40c66a:	c2 04 00             	ret    $0x4
40c66d:	8b 75 08             	mov    0x8(%ebp),%esi
40c670:	6a 0d                	push   $0xd
40c672:	e8 c8 03 00 00       	call   0x40ca3f
40c677:	59                   	pop    %ecx
40c678:	c3                   	ret
40c679:	8b 75 08             	mov    0x8(%ebp),%esi
40c67c:	6a 0c                	push   $0xc
40c67e:	e8 bc 03 00 00       	call   0x40ca3f
40c683:	59                   	pop    %ecx
40c684:	c3                   	ret
40c685:	57                   	push   %edi
40c686:	68 44 80 41 00       	push   $0x418044
40c68b:	ff 15 44 70 41 00    	call   *0x417044
40c691:	8b f8                	mov    %eax,%edi
40c693:	85 ff                	test   %edi,%edi
40c695:	75 09                	jne    0x40c6a0
40c697:	e8 3c fd ff ff       	call   0x40c3d8
40c69c:	33 c0                	xor    %eax,%eax
40c69e:	5f                   	pop    %edi
40c69f:	c3                   	ret
40c6a0:	56                   	push   %esi
40c6a1:	8b 35 ec 70 41 00    	mov    0x4170ec,%esi
40c6a7:	68 84 80 41 00       	push   $0x418084
40c6ac:	57                   	push   %edi
40c6ad:	ff d6                	call   *%esi
40c6af:	68 78 80 41 00       	push   $0x418078
40c6b4:	57                   	push   %edi
40c6b5:	a3 48 dd 41 00       	mov    %eax,0x41dd48
40c6ba:	ff d6                	call   *%esi
40c6bc:	68 6c 80 41 00       	push   $0x41806c
40c6c1:	57                   	push   %edi
40c6c2:	a3 4c dd 41 00       	mov    %eax,0x41dd4c
40c6c7:	ff d6                	call   *%esi
40c6c9:	68 64 80 41 00       	push   $0x418064
40c6ce:	57                   	push   %edi
40c6cf:	a3 50 dd 41 00       	mov    %eax,0x41dd50
40c6d4:	ff d6                	call   *%esi
40c6d6:	83 3d 48 dd 41 00 00 	cmpl   $0x0,0x41dd48
40c6dd:	8b 35 f8 70 41 00    	mov    0x4170f8,%esi
40c6e3:	a3 54 dd 41 00       	mov    %eax,0x41dd54
40c6e8:	74 16                	je     0x40c700
40c6ea:	83 3d 4c dd 41 00 00 	cmpl   $0x0,0x41dd4c
40c6f1:	74 0d                	je     0x40c700
40c6f3:	83 3d 50 dd 41 00 00 	cmpl   $0x0,0x41dd50
40c6fa:	74 04                	je     0x40c700
40c6fc:	85 c0                	test   %eax,%eax
40c6fe:	75 24                	jne    0x40c724
40c700:	a1 f0 70 41 00       	mov    0x4170f0,%eax
40c705:	a3 4c dd 41 00       	mov    %eax,0x41dd4c
40c70a:	a1 fc 70 41 00       	mov    0x4170fc,%eax
40c70f:	c7 05 48 dd 41 00 a5 	movl   $0x40c3a5,0x41dd48
40c716:	c3 40 00
40c719:	89 35 50 dd 41 00    	mov    %esi,0x41dd50
40c71f:	a3 54 dd 41 00       	mov    %eax,0x41dd54
40c724:	ff 15 f4 70 41 00    	call   *0x4170f4
40c72a:	83 f8 ff             	cmp    $0xffffffff,%eax
40c72d:	a3 7c c9 41 00       	mov    %eax,0x41c97c
40c732:	0f 84 cc 00 00 00    	je     0x40c804
40c738:	ff 35 4c dd 41 00    	push   0x41dd4c
40c73e:	50                   	push   %eax
40c73f:	ff d6                	call   *%esi
40c741:	85 c0                	test   %eax,%eax
40c743:	0f 84 bb 00 00 00    	je     0x40c804
40c749:	e8 b4 13 00 00       	call   0x40db02
40c74e:	ff 35 48 dd 41 00    	push   0x41dd48
40c754:	e8 7d fb ff ff       	call   0x40c2d6
40c759:	ff 35 4c dd 41 00    	push   0x41dd4c
40c75f:	a3 48 dd 41 00       	mov    %eax,0x41dd48
40c764:	e8 6d fb ff ff       	call   0x40c2d6
40c769:	ff 35 50 dd 41 00    	push   0x41dd50
40c76f:	a3 4c dd 41 00       	mov    %eax,0x41dd4c
40c774:	e8 5d fb ff ff       	call   0x40c2d6
40c779:	ff 35 54 dd 41 00    	push   0x41dd54
40c77f:	a3 50 dd 41 00       	mov    %eax,0x41dd50
40c784:	e8 4d fb ff ff       	call   0x40c2d6
40c789:	83 c4 10             	add    $0x10,%esp
40c78c:	a3 54 dd 41 00       	mov    %eax,0x41dd54
40c791:	e8 0b 02 00 00       	call   0x40c9a1
40c796:	85 c0                	test   %eax,%eax
40c798:	74 65                	je     0x40c7ff
40c79a:	68 64 c5 40 00       	push   $0x40c564
40c79f:	ff 35 48 dd 41 00    	push   0x41dd48
40c7a5:	e8 98 fb ff ff       	call   0x40c342
40c7aa:	59                   	pop    %ecx
40c7ab:	ff d0                	call   *%eax
40c7ad:	83 f8 ff             	cmp    $0xffffffff,%eax
40c7b0:	a3 78 c9 41 00       	mov    %eax,0x41c978
40c7b5:	74 48                	je     0x40c7ff
40c7b7:	68 14 02 00 00       	push   $0x214
40c7bc:	6a 01                	push   $0x1
40c7be:	e8 69 cb ff ff       	call   0x40932c
40c7c3:	8b f0                	mov    %eax,%esi
40c7c5:	85 f6                	test   %esi,%esi
40c7c7:	59                   	pop    %ecx
40c7c8:	59                   	pop    %ecx
40c7c9:	74 34                	je     0x40c7ff
40c7cb:	56                   	push   %esi
40c7cc:	ff 35 78 c9 41 00    	push   0x41c978
40c7d2:	ff 35 50 dd 41 00    	push   0x41dd50
40c7d8:	e8 65 fb ff ff       	call   0x40c342
40c7dd:	59                   	pop    %ecx
40c7de:	ff d0                	call   *%eax
40c7e0:	85 c0                	test   %eax,%eax
40c7e2:	74 1b                	je     0x40c7ff
40c7e4:	6a 00                	push   $0x0
40c7e6:	56                   	push   %esi
40c7e7:	e8 29 fc ff ff       	call   0x40c415
40c7ec:	59                   	pop    %ecx
40c7ed:	59                   	pop    %ecx
40c7ee:	ff 15 04 71 41 00    	call   *0x417104
40c7f4:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
40c7f8:	89 06                	mov    %eax,(%esi)
40c7fa:	33 c0                	xor    %eax,%eax
40c7fc:	40                   	inc    %eax
40c7fd:	eb 07                	jmp    0x40c806
40c7ff:	e8 d4 fb ff ff       	call   0x40c3d8
40c804:	33 c0                	xor    %eax,%eax
40c806:	5e                   	pop    %esi
40c807:	5f                   	pop    %edi
40c808:	c3                   	ret
40c809:	6a 08                	push   $0x8
40c80b:	68 58 ac 41 00       	push   $0x41ac58
40c810:	e8 33 0e 00 00       	call   0x40d648
40c815:	e8 32 fd ff ff       	call   0x40c54c
40c81a:	8b 40 78             	mov    0x78(%eax),%eax
40c81d:	85 c0                	test   %eax,%eax
40c81f:	74 16                	je     0x40c837
40c821:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40c825:	ff d0                	call   *%eax
40c827:	eb 07                	jmp    0x40c830
40c829:	33 c0                	xor    %eax,%eax
40c82b:	40                   	inc    %eax
40c82c:	c3                   	ret
40c82d:	8b 65 e8             	mov    -0x18(%ebp),%esp
40c830:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40c837:	e8 53 dc ff ff       	call   0x40a48f
40c83c:	e8 4c 0e 00 00       	call   0x40d68d
40c841:	c3                   	ret
40c842:	e8 05 fd ff ff       	call   0x40c54c
40c847:	8b 40 7c             	mov    0x7c(%eax),%eax
40c84a:	85 c0                	test   %eax,%eax
40c84c:	74 02                	je     0x40c850
40c84e:	ff d0                	call   *%eax
40c850:	e9 b4 ff ff ff       	jmp    0x40c809
40c855:	6a 08                	push   $0x8
40c857:	68 78 ac 41 00       	push   $0x41ac78
40c85c:	e8 e7 0d 00 00       	call   0x40d648
40c861:	ff 35 58 dd 41 00    	push   0x41dd58