40244d:	8b ce                	mov    %esi,%ecx
40244f:	e8 dc fd ff ff       	call   0x402230
402454:	5f                   	pop    %edi
402455:	8b c6                	mov    %esi,%eax
402457:	5e                   	pop    %esi
402458:	c2 04 00             	ret    $0x4
40245b:	cc                   	int3
40245c:	cc                   	int3
40245d:	cc                   	int3
40245e:	cc                   	int3
40245f:	cc                   	int3
402460:	6a ff                	push   $0xffffffff
402462:	68 58 5a 41 00       	push   $0x415a58
402467:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40246d:	50                   	push   %eax
40246e:	81 ec 88 00 00 00    	sub    $0x88,%esp
402474:	a1 20 c5 41 00       	mov    0x41c520,%eax
402479:	33 c4                	xor    %esp,%eax
40247b:	50                   	push   %eax
40247c:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
402483:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402489:	8b 84 24 9c 00 00 00 	mov    0x9c(%esp),%eax
402490:	83 e0 17             	and    $0x17,%eax
402493:	89 41 08             	mov    %eax,0x8(%ecx)
402496:	8b 49 0c             	mov    0xc(%ecx),%ecx
402499:	23 c8                	and    %eax,%ecx
40249b:	0f 84 d7 00 00 00    	je     0x402578
4024a1:	80 bc 24 a0 00 00 00 	cmpb   $0x0,0xa0(%esp)
4024a8:	00
4024a9:	74 09                	je     0x4024b4
4024ab:	6a 00                	push   $0x0
4024ad:	6a 00                	push   $0x0
4024af:	e8 8e 3b 00 00       	call   0x406042
4024b4:	f6 c1 04             	test   $0x4,%cl
4024b7:	74 3e                	je     0x4024f7
4024b9:	68 7c 73 41 00       	push   $0x41737c
4024be:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4024c2:	e8 59 ff ff ff       	call   0x402420
4024c7:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4024cb:	50                   	push   %eax
4024cc:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4024d0:	c7 84 24 98 00 00 00 	movl   $0x0,0x98(%esp)
4024d7:	00 00 00 00
4024db:	e8 80 fe ff ff       	call   0x402360
4024e0:	68 b4 a0 41 00       	push   $0x41a0b4
4024e5:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4024e9:	51                   	push   %ecx
4024ea:	c7 44 24 0c 44 73 41 	movl   $0x417344,0xc(%esp)
4024f1:	00
4024f2:	e8 4b 3b 00 00       	call   0x406042
4024f7:	f6 c1 02             	test   $0x2,%cl
4024fa:	74 3e                	je     0x40253a
4024fc:	68 64 73 41 00       	push   $0x417364
402501:	8d 4c 24 30          	lea    0x30(%esp),%ecx
402505:	e8 16 ff ff ff       	call   0x402420
40250a:	8d 54 24 2c          	lea    0x2c(%esp),%edx
40250e:	52                   	push   %edx
40250f:	8d 4c 24 08          	lea    0x8(%esp),%ecx
402513:	c7 84 24 98 00 00 00 	movl   $0x1,0x98(%esp)
40251a:	01 00 00 00
40251e:	e8 3d fe ff ff       	call   0x402360
402523:	68 b4 a0 41 00       	push   $0x41a0b4
402528:	8d 44 24 08          	lea    0x8(%esp),%eax
40252c:	50                   	push   %eax
40252d:	c7 44 24 0c 44 73 41 	movl   $0x417344,0xc(%esp)
402534:	00
402535:	e8 08 3b 00 00       	call   0x406042
40253a:	68 4c 73 41 00       	push   $0x41734c
40253f:	8d 4c 24 74          	lea    0x74(%esp),%ecx
402543:	e8 d8 fe ff ff       	call   0x402420
402548:	8d 4c 24 70          	lea    0x70(%esp),%ecx
40254c:	51                   	push   %ecx
40254d:	8d 4c 24 4c          	lea    0x4c(%esp),%ecx
402551:	c7 84 24 98 00 00 00 	movl   $0x2,0x98(%esp)
402558:	02 00 00 00
40255c:	e8 ff fd ff ff       	call   0x402360
402561:	68 b4 a0 41 00       	push   $0x41a0b4
402566:	8d 54 24 4c          	lea    0x4c(%esp),%edx
40256a:	52                   	push   %edx
40256b:	c7 44 24 50 44 73 41 	movl   $0x417344,0x50(%esp)
402572:	00
402573:	e8 ca 3a 00 00       	call   0x406042
402578:	8b 8c 24 8c 00 00 00 	mov    0x8c(%esp),%ecx
40257f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402586:	59                   	pop    %ecx
402587:	81 c4 94 00 00 00    	add    $0x94,%esp
40258d:	c2 08 00             	ret    $0x8
402590:	6a ff                	push   $0xffffffff
402592:	68 88 5a 41 00       	push   $0x415a88
402597:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40259d:	50                   	push   %eax
40259e:	51                   	push   %ecx
40259f:	56                   	push   %esi
4025a0:	57                   	push   %edi
4025a1:	a1 20 c5 41 00       	mov    0x41c520,%eax
4025a6:	33 c4                	xor    %esp,%eax
4025a8:	50                   	push   %eax
4025a9:	8d 44 24 10          	lea    0x10(%esp),%eax
4025ad:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4025b3:	8b f1                	mov    %ecx,%esi
4025b5:	89 74 24 0c          	mov    %esi,0xc(%esp)
4025b9:	8b 7c 24 20          	mov    0x20(%esp),%edi
4025bd:	57                   	push   %edi
4025be:	e8 32 33 00 00       	call   0x4058f5
4025c3:	33 c0                	xor    %eax,%eax
4025c5:	6a ff                	push   $0xffffffff
4025c7:	8d 4e 0c             	lea    0xc(%esi),%ecx
4025ca:	c7 06 38 73 41 00    	movl   $0x417338,(%esi)
4025d0:	50                   	push   %eax
4025d1:	83 c7 0c             	add    $0xc,%edi
4025d4:	c7 41 18 0f 00 00 00 	movl   $0xf,0x18(%ecx)
4025db:	89 41 14             	mov    %eax,0x14(%ecx)
4025de:	57                   	push   %edi
4025df:	89 44 24 24          	mov    %eax,0x24(%esp)
4025e3:	88 41 04             	mov    %al,0x4(%ecx)
4025e6:	e8 65 fb ff ff       	call   0x402150
4025eb:	8b c6                	mov    %esi,%eax
4025ed:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4025f1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4025f8:	59                   	pop    %ecx
4025f9:	5f                   	pop    %edi
4025fa:	5e                   	pop    %esi
4025fb:	83 c4 10             	add    $0x10,%esp
4025fe:	c2 04 00             	ret    $0x4
402601:	cc                   	int3
402602:	cc                   	int3
402603:	cc                   	int3
402604:	cc                   	int3
402605:	cc                   	int3
402606:	cc                   	int3
402607:	cc                   	int3
402608:	cc                   	int3
402609:	cc                   	int3
40260a:	cc                   	int3
40260b:	cc                   	int3
40260c:	cc                   	int3
40260d:	cc                   	int3
40260e:	cc                   	int3
40260f:	cc                   	int3
402610:	8b 44 24 04          	mov    0x4(%esp),%eax
402614:	56                   	push   %esi
402615:	50                   	push   %eax
402616:	8b f1                	mov    %ecx,%esi
402618:	e8 73 ff ff ff       	call   0x402590
40261d:	c7 06 44 73 41 00    	movl   $0x417344,(%esi)
402623:	8b c6                	mov    %esi,%eax
402625:	5e                   	pop    %esi
402626:	c2 04 00             	ret    $0x4
402629:	cc                   	int3
40262a:	cc                   	int3
40262b:	cc                   	int3
40262c:	cc                   	int3
40262d:	cc                   	int3
40262e:	cc                   	int3
40262f:	cc                   	int3
402630:	83 79 28 00          	cmpl   $0x0,0x28(%ecx)
402634:	8b 44 24 04          	mov    0x4(%esp),%eax
402638:	75 03                	jne    0x40263d
40263a:	83 c8 04             	or     $0x4,%eax
40263d:	89 44 24 04          	mov    %eax,0x4(%esp)
402641:	e9 1a fe ff ff       	jmp    0x402460
402646:	cc                   	int3
402647:	cc                   	int3
402648:	cc                   	int3
402649:	cc                   	int3
40264a:	cc                   	int3
40264b:	cc                   	int3
40264c:	cc                   	int3
40264d:	cc                   	int3
40264e:	cc                   	int3
40264f:	cc                   	int3
402650:	56                   	push   %esi
402651:	8b f1                	mov    %ecx,%esi
402653:	8b 06                	mov    (%esi),%eax
402655:	8b 48 04             	mov    0x4(%eax),%ecx
402658:	57                   	push   %edi
402659:	8d 04 31             	lea    (%ecx,%esi,1),%eax
40265c:	33 ff                	xor    %edi,%edi
40265e:	f6 40 08 06          	testb  $0x6,0x8(%eax)
402662:	75 16                	jne    0x40267a
402664:	8b 40 28             	mov    0x28(%eax),%eax
402667:	8b 10                	mov    (%eax),%edx
402669:	8b c8                	mov    %eax,%ecx
40266b:	8b 42 30             	mov    0x30(%edx),%eax
40266e:	ff d0                	call   *%eax
402670:	83 f8 ff             	cmp    $0xffffffff,%eax
402673:	75 05                	jne    0x40267a
402675:	bf 04 00 00 00       	mov    $0x4,%edi
40267a:	8b 0e                	mov    (%esi),%ecx
40267c:	8b 49 04             	mov    0x4(%ecx),%ecx
40267f:	03 ce                	add    %esi,%ecx
402681:	85 ff                	test   %edi,%edi
402683:	74 16                	je     0x40269b
402685:	8b 41 08             	mov    0x8(%ecx),%eax
402688:	0b c7                	or     %edi,%eax
40268a:	83 79 28 00          	cmpl   $0x0,0x28(%ecx)
40268e:	75 03                	jne    0x402693
402690:	83 c8 04             	or     $0x4,%eax
402693:	6a 00                	push   $0x0
402695:	50                   	push   %eax
402696:	e8 c5 fd ff ff       	call   0x402460
40269b:	5f                   	pop    %edi
40269c:	8b c6                	mov    %esi,%eax
40269e:	5e                   	pop    %esi
40269f:	c3                   	ret
4026a0:	6a ff                	push   $0xffffffff
4026a2:	68 b8 5a 41 00       	push   $0x415ab8
4026a7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4026ad:	50                   	push   %eax
4026ae:	51                   	push   %ecx
4026af:	56                   	push   %esi
4026b0:	57                   	push   %edi
4026b1:	a1 20 c5 41 00       	mov    0x41c520,%eax
4026b6:	33 c4                	xor    %esp,%eax
4026b8:	50                   	push   %eax
4026b9:	8d 44 24 10          	lea    0x10(%esp),%eax
4026bd:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4026c3:	8b f9                	mov    %ecx,%edi
4026c5:	89 7c 24 0c          	mov    %edi,0xc(%esp)
4026c9:	8b 74 24 20          	mov    0x20(%esp),%esi
4026cd:	89 37                	mov    %esi,(%edi)
4026cf:	8b 06                	mov    (%esi),%eax
4026d1:	8b 48 04             	mov    0x4(%eax),%ecx
4026d4:	8b 44 31 28          	mov    0x28(%ecx,%esi,1),%eax
4026d8:	85 c0                	test   %eax,%eax
4026da:	74 08                	je     0x4026e4
4026dc:	8d 48 04             	lea    0x4(%eax),%ecx
4026df:	e8 f1 0b 00 00       	call   0x4032d5
4026e4:	8b 16                	mov    (%esi),%edx
4026e6:	8b 42 04             	mov    0x4(%edx),%eax
4026e9:	03 c6                	add    %esi,%eax
4026eb:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
4026ef:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
4026f6:	00
4026f7:	75 0e                	jne    0x402707
4026f9:	8b 40 2c             	mov    0x2c(%eax),%eax
4026fc:	85 c0                	test   %eax,%eax
4026fe:	74 07                	je     0x402707
402700:	8b c8                	mov    %eax,%ecx
402702:	e8 49 ff ff ff       	call   0x402650
402707:	8b 0e                	mov    (%esi),%ecx
402709:	8b 51 04             	mov    0x4(%ecx),%edx
40270c:	83 7c 32 08 00       	cmpl   $0x0,0x8(%edx,%esi,1)
402711:	0f 94 c0             	sete   %al
402714:	88 47 04             	mov    %al,0x4(%edi)
402717:	8b c7                	mov    %edi,%eax
402719:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40271d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402724:	59                   	pop    %ecx
402725:	5f                   	pop    %edi
402726:	5e                   	pop    %esi
402727:	83 c4 10             	add    $0x10,%esp
40272a:	c2 04 00             	ret    $0x4
40272d:	cc                   	int3
40272e:	cc                   	int3
40272f:	cc                   	int3
402730:	55                   	push   %ebp
402731:	8b ec                	mov    %esp,%ebp
402733:	6a ff                	push   $0xffffffff
402735:	68 e0 5a 41 00       	push   $0x415ae0
40273a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402740:	50                   	push   %eax
402741:	51                   	push   %ecx
402742:	53                   	push   %ebx
402743:	56                   	push   %esi
402744:	57                   	push   %edi
402745:	a1 20 c5 41 00       	mov    0x41c520,%eax
40274a:	33 c5                	xor    %ebp,%eax
40274c:	50                   	push   %eax
40274d:	8d 45 f4             	lea    -0xc(%ebp),%eax
402750:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402756:	89 65 f0             	mov    %esp,-0x10(%ebp)
402759:	8b 01                	mov    (%ecx),%eax
40275b:	8b 50 04             	mov    0x4(%eax),%edx
40275e:	f6 44 0a 10 02       	testb  $0x2,0x10(%edx,%ecx,1)
402763:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40276a:	74 05                	je     0x402771
40276c:	e8 df fe ff ff       	call   0x402650
402771:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402774:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40277b:	59                   	pop    %ecx
40277c:	5f                   	pop    %edi
40277d:	5e                   	pop    %esi
40277e:	5b                   	pop    %ebx
40277f:	8b e5                	mov    %ebp,%esp
402781:	5d                   	pop    %ebp
402782:	c3                   	ret
402783:	b8 71 27 40 00       	mov    $0x402771,%eax
402788:	c3                   	ret
402789:	cc                   	int3
40278a:	cc                   	int3
40278b:	cc                   	int3
40278c:	cc                   	int3
40278d:	cc                   	int3
40278e:	cc                   	int3
40278f:	cc                   	int3
402790:	6a ff                	push   $0xffffffff
402792:	68 08 5b 41 00       	push   $0x415b08
402797:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40279d:	50                   	push   %eax
40279e:	51                   	push   %ecx
40279f:	56                   	push   %esi
4027a0:	a1 20 c5 41 00       	mov    0x41c520,%eax
4027a5:	33 c4                	xor    %esp,%eax
4027a7:	50                   	push   %eax
4027a8:	8d 44 24 0c          	lea    0xc(%esp),%eax
4027ac:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4027b2:	8b f1                	mov    %ecx,%esi
4027b4:	89 74 24 08          	mov    %esi,0x8(%esp)
4027b8:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
4027bf:	00
4027c0:	e8 e5 0c 00 00       	call   0x4034aa
4027c5:	84 c0                	test   %al,%al
4027c7:	75 07                	jne    0x4027d0
4027c9:	8b 0e                	mov    (%esi),%ecx
4027cb:	e8 60 ff ff ff       	call   0x402730
4027d0:	8b 06                	mov    (%esi),%eax
4027d2:	8b 08                	mov    (%eax),%ecx
4027d4:	8b 51 04             	mov    0x4(%ecx),%edx
4027d7:	8b 44 02 28          	mov    0x28(%edx,%eax,1),%eax
4027db:	85 c0                	test   %eax,%eax
4027dd:	c7 44 24 14 ff ff ff 	movl   $0xffffffff,0x14(%esp)
4027e4:	ff
4027e5:	74 08                	je     0x4027ef
4027e7:	8d 48 04             	lea    0x4(%eax),%ecx
4027ea:	e8 ef 0a 00 00       	call   0x4032de
4027ef:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4027f3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4027fa:	59                   	pop    %ecx
4027fb:	5e                   	pop    %esi
4027fc:	83 c4 10             	add    $0x10,%esp
4027ff:	c3                   	ret
402800:	55                   	push   %ebp
402801:	8b ec                	mov    %esp,%ebp
402803:	6a ff                	push   $0xffffffff
402805:	68 38 5b 41 00       	push   $0x415b38
40280a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402810:	50                   	push   %eax
402811:	83 ec 14             	sub    $0x14,%esp
402814:	53                   	push   %ebx
402815:	56                   	push   %esi
402816:	57                   	push   %edi
402817:	a1 20 c5 41 00       	mov    0x41c520,%eax
40281c:	33 c5                	xor    %ebp,%eax
40281e:	50                   	push   %eax
40281f:	8d 45 f4             	lea    -0xc(%ebp),%eax
402822:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402828:	89 65 f0             	mov    %esp,-0x10(%ebp)
40282b:	8b 45 0c             	mov    0xc(%ebp),%eax
40282e:	33 db                	xor    %ebx,%ebx