402564:	ff 15 58 a1 40 00    	call   *0x40a158
40256a:	83 c4 18             	add    $0x18,%esp
40256d:	8d 85 e4 fe ff ff    	lea    -0x11c(%ebp),%eax
402573:	50                   	push   %eax
402574:	6a 01                	push   $0x1
402576:	68 01 04 00 00       	push   $0x401
40257b:	ff 76 04             	push   0x4(%esi)
40257e:	ff 15 dc a2 40 00    	call   *0x40a2dc
402584:	5f                   	pop    %edi
402585:	5e                   	pop    %esi
402586:	5b                   	pop    %ebx
402587:	c9                   	leave
402588:	c2 04 00             	ret    $0x4
40258b:	55                   	push   %ebp
40258c:	8b ec                	mov    %esp,%ebp
40258e:	83 ec 10             	sub    $0x10,%esp
402591:	56                   	push   %esi
402592:	8b f1                	mov    %ecx,%esi
402594:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
402598:	75 1e                	jne    0x4025b8
40259a:	6a 00                	push   $0x0
40259c:	6a 00                	push   $0x0
40259e:	ff 15 f8 a0 40 00    	call   *0x40a0f8
4025a4:	50                   	push   %eax
4025a5:	68 e9 20 40 00       	push   $0x4020e9
4025aa:	6a 0e                	push   $0xe
4025ac:	ff 15 80 a2 40 00    	call   *0x40a280
4025b2:	85 c0                	test   %eax,%eax
4025b4:	89 06                	mov    %eax,(%esi)
4025b6:	75 04                	jne    0x4025bc
4025b8:	32 c0                	xor    %al,%al
4025ba:	eb 47                	jmp    0x402603
4025bc:	68 00 c3 40 00       	push   $0x40c300
4025c1:	68 ee 03 00 00       	push   $0x3ee
4025c6:	ff 76 0c             	push   0xc(%esi)
4025c9:	ff 15 b4 a2 40 00    	call   *0x40a2b4
4025cf:	8d 45 f0             	lea    -0x10(%ebp),%eax
4025d2:	50                   	push   %eax
4025d3:	ff 76 0c             	push   0xc(%esi)
4025d6:	ff 15 94 a2 40 00    	call   *0x40a294
4025dc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4025df:	6a 00                	push   $0x0
4025e1:	2b 45 f4             	sub    -0xc(%ebp),%eax
4025e4:	50                   	push   %eax
4025e5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4025e8:	2b 45 f0             	sub    -0x10(%ebp),%eax
4025eb:	50                   	push   %eax
4025ec:	ff 75 f4             	push   -0xc(%ebp)
4025ef:	ff 75 f0             	push   -0x10(%ebp)
4025f2:	6a ff                	push   $0xffffffff
4025f4:	ff 76 0c             	push   0xc(%esi)
4025f7:	ff 15 84 a2 40 00    	call   *0x40a284
4025fd:	c6 46 14 01          	movb   $0x1,0x14(%esi)
402601:	b0 01                	mov    $0x1,%al
402603:	5e                   	pop    %esi
402604:	c9                   	leave
402605:	c3                   	ret
402606:	55                   	push   %ebp
402607:	8b ec                	mov    %esp,%ebp
402609:	83 ec 10             	sub    $0x10,%esp
40260c:	56                   	push   %esi
40260d:	8b f1                	mov    %ecx,%esi
40260f:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
402613:	75 04                	jne    0x402619
402615:	32 c0                	xor    %al,%al
402617:	eb 4f                	jmp    0x402668
402619:	ff 36                	push   (%esi)
40261b:	ff 15 7c a2 40 00    	call   *0x40a27c
402621:	80 66 14 00          	andb   $0x0,0x14(%esi)
402625:	8d 45 f0             	lea    -0x10(%ebp),%eax
402628:	50                   	push   %eax
402629:	ff 76 0c             	push   0xc(%esi)
40262c:	ff 15 94 a2 40 00    	call   *0x40a294
402632:	8b 45 fc             	mov    -0x4(%ebp),%eax
402635:	6a 00                	push   $0x0
402637:	2b 45 f4             	sub    -0xc(%ebp),%eax
40263a:	50                   	push   %eax
40263b:	8b 45 f8             	mov    -0x8(%ebp),%eax
40263e:	2b 45 f0             	sub    -0x10(%ebp),%eax
402641:	50                   	push   %eax
402642:	ff 75 f4             	push   -0xc(%ebp)
402645:	ff 75 f0             	push   -0x10(%ebp)
402648:	6a fe                	push   $0xfffffffe
40264a:	ff 76 0c             	push   0xc(%esi)
40264d:	ff 15 84 a2 40 00    	call   *0x40a284
402653:	68 08 c3 40 00       	push   $0x40c308
402658:	68 ee 03 00 00       	push   $0x3ee
40265d:	ff 76 0c             	push   0xc(%esi)
402660:	ff 15 b4 a2 40 00    	call   *0x40a2b4
402666:	b0 01                	mov    $0x1,%al
402668:	5e                   	pop    %esi
402669:	c9                   	leave
40266a:	c3                   	ret
40266b:	33 c0                	xor    %eax,%eax
40266d:	50                   	push   %eax
40266e:	68 7e 21 40 00       	push   $0x40217e
402673:	50                   	push   %eax
402674:	6a 66                	push   $0x66
402676:	50                   	push   %eax
402677:	ff 15 f8 a0 40 00    	call   *0x40a0f8
40267d:	50                   	push   %eax
40267e:	ff 15 e4 a2 40 00    	call   *0x40a2e4
402684:	c2 04 00             	ret    $0x4
402687:	8b c1                	mov    %ecx,%eax
402689:	8b 4c 24 04          	mov    0x4(%esp),%ecx
40268d:	89 88 60 02 00 00    	mov    %ecx,0x260(%eax)
402693:	33 c9                	xor    %ecx,%ecx
402695:	89 48 04             	mov    %ecx,0x4(%eax)
402698:	89 88 58 02 00 00    	mov    %ecx,0x258(%eax)
40269e:	89 88 5c 02 00 00    	mov    %ecx,0x25c(%eax)
4026a4:	c2 04 00             	ret    $0x4
4026a7:	55                   	push   %ebp
4026a8:	8b ec                	mov    %esp,%ebp
4026aa:	81 ec 38 03 00 00    	sub    $0x338,%esp
4026b0:	8b 45 0c             	mov    0xc(%ebp),%eax
4026b3:	53                   	push   %ebx
4026b4:	56                   	push   %esi
4026b5:	89 45 d8             	mov    %eax,-0x28(%ebp)
4026b8:	57                   	push   %edi
4026b9:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
4026bf:	6a 01                	push   $0x1
4026c1:	89 45 e8             	mov    %eax,-0x18(%ebp)
4026c4:	8b 35 dc a2 40 00    	mov    0x40a2dc,%esi
4026ca:	80 a5 c8 fc ff ff 00 	andb   $0x0,-0x338(%ebp)
4026d1:	5b                   	pop    %ebx
4026d2:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
4026d6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4026d9:	bf 05 10 00 00       	mov    $0x1005,%edi
4026de:	50                   	push   %eax
4026df:	6a 00                	push   $0x0
4026e1:	57                   	push   %edi
4026e2:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4026e5:	ff 75 08             	push   0x8(%ebp)
4026e8:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
4026eb:	c7 45 ec 03 01 00 00 	movl   $0x103,-0x14(%ebp)
4026f2:	ff d6                	call   *%esi
4026f4:	85 c0                	test   %eax,%eax
4026f6:	74 15                	je     0x40270d
4026f8:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
4026fe:	50                   	push   %eax
4026ff:	8d 85 c8 fc ff ff    	lea    -0x338(%ebp),%eax
402705:	50                   	push   %eax
402706:	e8 3d 69 00 00       	call   0x409048
40270b:	59                   	pop    %ecx
40270c:	59                   	pop    %ecx
40270d:	8d 85 d1 fe ff ff    	lea    -0x12f(%ebp),%eax
402713:	89 5d dc             	mov    %ebx,-0x24(%ebp)
402716:	89 45 e8             	mov    %eax,-0x18(%ebp)
402719:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40271c:	50                   	push   %eax
40271d:	6a 00                	push   $0x0
40271f:	57                   	push   %edi
402720:	c6 85 d0 fe ff ff 20 	movb   $0x20,-0x130(%ebp)
402727:	ff 75 08             	push   0x8(%ebp)
40272a:	ff d6                	call   *%esi
40272c:	5f                   	pop    %edi
40272d:	5e                   	pop    %esi
40272e:	85 c0                	test   %eax,%eax
402730:	5b                   	pop    %ebx
402731:	74 15                	je     0x402748
402733:	8d 85 d0 fe ff ff    	lea    -0x130(%ebp),%eax
402739:	50                   	push   %eax
40273a:	8d 85 c8 fc ff ff    	lea    -0x338(%ebp),%eax
402740:	50                   	push   %eax
402741:	e8 fc 67 00 00       	call   0x408f42
402746:	59                   	pop    %ecx
402747:	59                   	pop    %ecx
402748:	8d 85 c8 fc ff ff    	lea    -0x338(%ebp),%eax
40274e:	50                   	push   %eax
40274f:	8b 45 fc             	mov    -0x4(%ebp),%eax
402752:	8b 88 60 02 00 00    	mov    0x260(%eax),%ecx
402758:	e8 81 ed ff ff       	call   0x4014de
40275d:	c9                   	leave
40275e:	c2 08 00             	ret    $0x8
402761:	56                   	push   %esi
402762:	6a 01                	push   $0x1
402764:	8b f1                	mov    %ecx,%esi
402766:	6a ff                	push   $0xffffffff
402768:	68 0c 10 00 00       	push   $0x100c
40276d:	ff 36                	push   (%esi)
40276f:	ff 15 dc a2 40 00    	call   *0x40a2dc
402775:	83 f8 ff             	cmp    $0xffffffff,%eax
402778:	74 13                	je     0x40278d
40277a:	66 81 7c 24 0c 82 04 	cmpw   $0x482,0xc(%esp)
402781:	75 0a                	jne    0x40278d
402783:	50                   	push   %eax
402784:	8b ce                	mov    %esi,%ecx
402786:	ff 36                	push   (%esi)
402788:	e8 1a ff ff ff       	call   0x4026a7
40278d:	5e                   	pop    %esi
40278e:	c2 0c 00             	ret    $0xc
402791:	55                   	push   %ebp
402792:	8b ec                	mov    %esp,%ebp
402794:	51                   	push   %ecx
402795:	51                   	push   %ecx
402796:	8b 45 10             	mov    0x10(%ebp),%eax
402799:	56                   	push   %esi
40279a:	8b f1                	mov    %ecx,%esi
40279c:	83 78 08 fb          	cmpl   $0xfffffffb,0x8(%eax)
4027a0:	75 48                	jne    0x4027ea
4027a2:	83 be 5c 02 00 00 00 	cmpl   $0x0,0x25c(%esi)
4027a9:	75 1a                	jne    0x4027c5
4027ab:	8b 86 60 02 00 00    	mov    0x260(%esi),%eax
4027b1:	6a 02                	push   $0x2
4027b3:	ff b0 f8 01 00 00    	push   0x1f8(%eax)
4027b9:	ff 15 c8 a2 40 00    	call   *0x40a2c8
4027bf:	89 86 5c 02 00 00    	mov    %eax,0x25c(%esi)
4027c5:	8d 45 f8             	lea    -0x8(%ebp),%eax
4027c8:	50                   	push   %eax
4027c9:	ff 15 cc a2 40 00    	call   *0x40a2cc
4027cf:	6a 00                	push   $0x0
4027d1:	ff 75 08             	push   0x8(%ebp)
4027d4:	6a 00                	push   $0x0
4027d6:	ff 75 fc             	push   -0x4(%ebp)
4027d9:	ff 75 f8             	push   -0x8(%ebp)
4027dc:	6a 00                	push   $0x0
4027de:	ff b6 5c 02 00 00    	push   0x25c(%esi)
4027e4:	ff 15 d0 a2 40 00    	call   *0x40a2d0
4027ea:	5e                   	pop    %esi
4027eb:	c9                   	leave
4027ec:	c2 0c 00             	ret    $0xc
4027ef:	55                   	push   %ebp
4027f0:	8b ec                	mov    %esp,%ebp
4027f2:	83 ec 20             	sub    $0x20,%esp
4027f5:	53                   	push   %ebx
4027f6:	33 db                	xor    %ebx,%ebx
4027f8:	57                   	push   %edi
4027f9:	53                   	push   %ebx
4027fa:	ff 75 0c             	push   0xc(%ebp)
4027fd:	8b f9                	mov    %ecx,%edi
4027ff:	53                   	push   %ebx
402800:	ff 75 08             	push   0x8(%ebp)
402803:	53                   	push   %ebx
402804:	53                   	push   %ebx
402805:	53                   	push   %ebx
402806:	53                   	push   %ebx
402807:	68 0d 00 00 50       	push   $0x5000000d
40280c:	53                   	push   %ebx
40280d:	68 20 c3 40 00       	push   $0x40c320
402812:	68 00 02 00 00       	push   $0x200
402817:	ff 15 98 a2 40 00    	call   *0x40a298
40281d:	3b c3                	cmp    %ebx,%eax
40281f:	89 07                	mov    %eax,(%edi)
402821:	75 04                	jne    0x402827
402823:	33 c0                	xor    %eax,%eax
402825:	eb 52                	jmp    0x402879
402827:	56                   	push   %esi
402828:	8b 35 dc a2 40 00    	mov    0x40a2dc,%esi
40282e:	6a 20                	push   $0x20
402830:	53                   	push   %ebx
402831:	68 36 10 00 00       	push   $0x1036
402836:	50                   	push   %eax
402837:	ff d6                	call   *%esi
402839:	8d 45 e0             	lea    -0x20(%ebp),%eax
40283c:	c7 45 e0 06 00 00 00 	movl   $0x6,-0x20(%ebp)
402843:	50                   	push   %eax
402844:	53                   	push   %ebx
402845:	bb 1b 10 00 00       	mov    $0x101b,%ebx
40284a:	c7 45 ec 18 c3 40 00 	movl   $0x40c318,-0x14(%ebp)
402851:	53                   	push   %ebx
402852:	c7 45 e8 98 03 00 00 	movl   $0x398,-0x18(%ebp)
402859:	ff 37                	push   (%edi)
40285b:	ff d6                	call   *%esi
40285d:	8d 45 e0             	lea    -0x20(%ebp),%eax
402860:	c7 45 ec 10 c3 40 00 	movl   $0x40c310,-0x14(%ebp)
402867:	50                   	push   %eax
402868:	6a 00                	push   $0x0
40286a:	53                   	push   %ebx
40286b:	c7 45 e8 5a 00 00 00 	movl   $0x5a,-0x18(%ebp)
402872:	ff 37                	push   (%edi)
402874:	ff d6                	call   *%esi
402876:	8b 07                	mov    (%edi),%eax
402878:	5e                   	pop    %esi
402879:	5f                   	pop    %edi
40287a:	5b                   	pop    %ebx
40287b:	c9                   	leave
40287c:	c2 08 00             	ret    $0x8
40287f:	55                   	push   %ebp
402880:	8b ec                	mov    %esp,%ebp
402882:	51                   	push   %ecx
402883:	51                   	push   %ecx
402884:	56                   	push   %esi
402885:	8b 75 08             	mov    0x8(%ebp),%esi
402888:	6a 09                	push   $0x9
40288a:	68 e8 03 00 00       	push   $0x3e8
40288f:	8d 46 08             	lea    0x8(%esi),%eax
402892:	50                   	push   %eax
402893:	8d 45 f8             	lea    -0x8(%ebp),%eax
402896:	50                   	push   %eax
402897:	ff 36                	push   (%esi)
402899:	ff 15 dc d7 40 00    	call   *0x40d7dc
40289f:	89 46 04             	mov    %eax,0x4(%esi)
4028a2:	33 c0                	xor    %eax,%eax
4028a4:	5e                   	pop    %esi
4028a5:	c9                   	leave
4028a6:	c2 04 00             	ret    $0x4
4028a9:	b8 34 94 40 00       	mov    $0x409434,%eax
4028ae:	e8 7d 66 00 00       	call   0x408f30
4028b3:	81 ec 38 0c 00 00    	sub    $0xc38,%esp
4028b9:	8b 45 08             	mov    0x8(%ebp),%eax
4028bc:	53                   	push   %ebx
4028bd:	56                   	push   %esi
4028be:	57                   	push   %edi
4028bf:	8b f9                	mov    %ecx,%edi
4028c1:	83 f8 fe             	cmp    $0xfffffffe,%eax
4028c4:	89 65 f0             	mov    %esp,-0x10(%ebp)
4028c7:	89 7d bc             	mov    %edi,-0x44(%ebp)
4028ca:	75 06                	jne    0x4028d2
4028cc:	8b 87 58 02 00 00    	mov    0x258(%edi),%eax
4028d2:	89 87 58 02 00 00    	mov    %eax,0x258(%edi)
4028d8:	50                   	push   %eax
4028d9:	8b 87 60 02 00 00    	mov    0x260(%edi),%eax
4028df:	8d 77 08             	lea    0x8(%edi),%esi
4028e2:	56                   	push   %esi
4028e3:	8b 88 e8 01 00 00    	mov    0x1e8(%eax),%ecx
4028e9:	e8 a8 41 00 00       	call   0x406a96
4028ee:	6a 01                	push   $0x1
4028f0:	59                   	pop    %ecx
4028f1:	3b c1                	cmp    %ecx,%eax
4028f3:	75 06                	jne    0x4028fb
4028f5:	33 db                	xor    %ebx,%ebx
4028f7:	39 1e                	cmp    %ebx,(%esi)
4028f9:	75 07                	jne    0x402902
4028fb:	33 c0                	xor    %eax,%eax
4028fd:	e9 de 05 00 00       	jmp    0x402ee0
402902:	83 4d 98 ff          	orl    $0xffffffff,-0x68(%ebp)
402906:	39 1d d8 d7 40 00    	cmp    %ebx,0x40d7d8
40290c:	89 5d e8             	mov    %ebx,-0x18(%ebp)
40290f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
402912:	89 5d 08             	mov    %ebx,0x8(%ebp)
402915:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
402918:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40291b:	0f 84 3e 05 00 00    	je     0x402e5f
402921:	39 1d d4 d7 40 00    	cmp    %ebx,0x40d7d4
402927:	0f 84 32 05 00 00    	je     0x402e5f
40292d:	39 1d dc d7 40 00    	cmp    %ebx,0x40d7dc
402933:	0f 84 26 05 00 00    	je     0x402e5f
402939:	39 1d cc d7 40 00    	cmp    %ebx,0x40d7cc
40293f:	0f 84 1a 05 00 00    	je     0x402e5f
402945:	39 1d d0 d7 40 00    	cmp    %ebx,0x40d7d0
40294b:	0f 84 0e 05 00 00    	je     0x402e5f
402951:	6a 14                	push   $0x14
402953:	ff 15 44 a1 40 00    	call   *0x40a144
402959:	8b f0                	mov    %eax,%esi
40295b:	59                   	pop    %ecx
40295c:	3b f3                	cmp    %ebx,%esi
40295e:	89 75 e8             	mov    %esi,-0x18(%ebp)
402961:	75 11                	jne    0x402974
402963:	8d 45 c8             	lea    -0x38(%ebp),%eax
402966:	68 d8 a5 40 00       	push   $0x40a5d8