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
40296b:	50                   	push   %eax
40296c:	89 5d c8             	mov    %ebx,-0x38(%ebp)
40296f:	e8 c2 65 00 00       	call   0x408f36
402974:	53                   	push   %ebx
402975:	6a 14                	push   $0x14
402977:	56                   	push   %esi
402978:	6a 10                	push   $0x10
40297a:	ff 15 cc d7 40 00    	call   *0x40d7cc
402980:	3d 04 00 00 c0       	cmp    $0xc0000004,%eax
402985:	74 15                	je     0x40299c
402987:	3b c3                	cmp    %ebx,%eax
402989:	74 11                	je     0x40299c
40298b:	8d 45 c0             	lea    -0x40(%ebp),%eax
40298e:	68 d8 a5 40 00       	push   $0x40a5d8
402993:	50                   	push   %eax
402994:	89 5d c0             	mov    %ebx,-0x40(%ebp)
402997:	e8 9a 65 00 00       	call   0x408f36
40299c:	8b 06                	mov    (%esi),%eax
40299e:	56                   	push   %esi
40299f:	89 45 dc             	mov    %eax,-0x24(%ebp)
4029a2:	ff 15 48 a1 40 00    	call   *0x40a148
4029a8:	8b 45 dc             	mov    -0x24(%ebp),%eax
4029ab:	8d 04 80             	lea    (%eax,%eax,4),%eax
4029ae:	8d 04 85 04 00 00 00 	lea    0x4(,%eax,4),%eax
4029b5:	50                   	push   %eax
4029b6:	ff 15 44 a1 40 00    	call   *0x40a144
4029bc:	59                   	pop    %ecx
4029bd:	3b c3                	cmp    %ebx,%eax
4029bf:	59                   	pop    %ecx
4029c0:	89 45 e8             	mov    %eax,-0x18(%ebp)
4029c3:	75 11                	jne    0x4029d6
4029c5:	8d 45 cc             	lea    -0x34(%ebp),%eax
4029c8:	68 d8 a5 40 00       	push   $0x40a5d8
4029cd:	50                   	push   %eax
4029ce:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4029d1:	e8 60 65 00 00       	call   0x408f36
4029d6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4029d9:	53                   	push   %ebx
4029da:	c1 e0 04             	shl    $0x4,%eax
4029dd:	83 c0 04             	add    $0x4,%eax
4029e0:	50                   	push   %eax
4029e1:	ff 75 e8             	push   -0x18(%ebp)
4029e4:	6a 10                	push   $0x10
4029e6:	ff 15 cc d7 40 00    	call   *0x40d7cc
4029ec:	3b c3                	cmp    %ebx,%eax
4029ee:	74 11                	je     0x402a01
4029f0:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4029f3:	68 d8 a5 40 00       	push   $0x40a5d8
4029f8:	50                   	push   %eax
4029f9:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
4029fc:	e8 35 65 00 00       	call   0x408f36
402a01:	ff 77 08             	push   0x8(%edi)
402a04:	6a 01                	push   $0x1
402a06:	6a 40                	push   $0x40
402a08:	ff 15 0c a1 40 00    	call   *0x40a10c
402a0e:	3b c3                	cmp    %ebx,%eax
402a10:	89 45 e0             	mov    %eax,-0x20(%ebp)
402a13:	75 11                	jne    0x402a26
402a15:	8d 45 d4             	lea    -0x2c(%ebp),%eax
402a18:	68 d8 a5 40 00       	push   $0x40a5d8
402a1d:	50                   	push   %eax
402a1e:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
402a21:	e8 10 65 00 00       	call   0x408f36
402a26:	ff 15 d8 a0 40 00    	call   *0x40a0d8
402a2c:	53                   	push   %ebx
402a2d:	53                   	push   %ebx
402a2e:	6a 0b                	push   $0xb
402a30:	89 5d ec             	mov    %ebx,-0x14(%ebp)
402a33:	ff 37                	push   (%edi)
402a35:	ff 15 dc a2 40 00    	call   *0x40a2dc
402a3b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
402a3e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
402a41:	3b 45 dc             	cmp    -0x24(%ebp),%eax
402a44:	0f 8d 04 04 00 00    	jge    0x402e4e
402a4a:	39 5d 08             	cmp    %ebx,0x8(%ebp)
402a4d:	74 09                	je     0x402a58
402a4f:	ff 75 08             	push   0x8(%ebp)
402a52:	ff 15 dc a0 40 00    	call   *0x40a0dc
402a58:	8b 45 e4             	mov    -0x1c(%ebp),%eax
402a5b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
402a5e:	c1 e0 04             	shl    $0x4,%eax
402a61:	8d 74 08 04          	lea    0x4(%eax,%ecx,1),%esi
402a65:	0f b7 44 08 04       	movzwl 0x4(%eax,%ecx,1),%eax
402a6a:	3b 47 08             	cmp    0x8(%edi),%eax
402a6d:	0f 85 d3 03 00 00    	jne    0x402e46
402a73:	6a 02                	push   $0x2
402a75:	53                   	push   %ebx
402a76:	8d 45 08             	lea    0x8(%ebp),%eax
402a79:	53                   	push   %ebx
402a7a:	50                   	push   %eax
402a7b:	ff 15 d8 a0 40 00    	call   *0x40a0d8
402a81:	50                   	push   %eax
402a82:	0f b7 46 06          	movzwl 0x6(%esi),%eax
402a86:	50                   	push   %eax
402a87:	ff 75 e0             	push   -0x20(%ebp)
402a8a:	ff 15 e0 a0 40 00    	call   *0x40a0e0
402a90:	85 c0                	test   %eax,%eax
402a92:	0f 84 ae 03 00 00    	je     0x402e46
402a98:	8d 45 ec             	lea    -0x14(%ebp),%eax
402a9b:	50                   	push   %eax
402a9c:	53                   	push   %ebx
402a9d:	53                   	push   %ebx
402a9e:	6a 02                	push   $0x2
402aa0:	ff 75 08             	push   0x8(%ebp)
402aa3:	ff 15 d0 d7 40 00    	call   *0x40d7d0
402aa9:	3d 04 00 00 c0       	cmp    $0xc0000004,%eax
402aae:	0f 85 92 03 00 00    	jne    0x402e46
402ab4:	83 7d ec 01          	cmpl   $0x1,-0x14(%ebp)
402ab8:	0f 82 88 03 00 00    	jb     0x402e46
402abe:	ff 75 ec             	push   -0x14(%ebp)
402ac1:	ff 15 44 a1 40 00    	call   *0x40a144
402ac7:	8b f0                	mov    %eax,%esi
402ac9:	59                   	pop    %ecx
402aca:	3b f3                	cmp    %ebx,%esi
402acc:	0f 84 74 03 00 00    	je     0x402e46
402ad2:	8d 45 ec             	lea    -0x14(%ebp),%eax
402ad5:	50                   	push   %eax
402ad6:	ff 75 ec             	push   -0x14(%ebp)
402ad9:	56                   	push   %esi
402ada:	6a 02                	push   $0x2
402adc:	ff 75 08             	push   0x8(%ebp)
402adf:	ff 15 d0 d7 40 00    	call   *0x40d7d0
402ae5:	3b c3                	cmp    %ebx,%eax
402ae7:	0f 85 59 03 00 00    	jne    0x402e46
402aed:	53                   	push   %ebx
402aee:	53                   	push   %ebx
402aef:	8d 85 50 fd ff ff    	lea    -0x2b0(%ebp),%eax
402af5:	68 04 01 00 00       	push   $0x104
402afa:	50                   	push   %eax
402afb:	0f b7 06             	movzwl (%esi),%eax
402afe:	50                   	push   %eax
402aff:	ff 76 04             	push   0x4(%esi)
402b02:	53                   	push   %ebx
402b03:	53                   	push   %ebx
402b04:	ff 15 e4 a0 40 00    	call   *0x40a0e4
402b0a:	85 c0                	test   %eax,%eax
402b0c:	56                   	push   %esi
402b0d:	75 0c                	jne    0x402b1b
402b0f:	ff 15 48 a1 40 00    	call   *0x40a148
402b15:	59                   	pop    %ecx
402b16:	e9 2b 03 00 00       	jmp    0x402e46
402b1b:	ff 15 48 a1 40 00    	call   *0x40a148
402b21:	ff 45 98             	incl   -0x68(%ebp)
402b24:	8d 85 50 fd ff ff    	lea    -0x2b0(%ebp),%eax
402b2a:	89 45 a8             	mov    %eax,-0x58(%ebp)
402b2d:	8b 45 98             	mov    -0x68(%ebp),%eax
402b30:	3b 47 04             	cmp    0x4(%edi),%eax
402b33:	59                   	pop    %ecx
402b34:	8d 45 94             	lea    -0x6c(%ebp),%eax
402b37:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
402b3a:	50                   	push   %eax
402b3b:	53                   	push   %ebx
402b3c:	7c 07                	jl     0x402b45
402b3e:	68 07 10 00 00       	push   $0x1007
402b43:	eb 05                	jmp    0x402b4a
402b45:	68 06 10 00 00       	push   $0x1006
402b4a:	ff 37                	push   (%edi)
402b4c:	8b 8f 60 02 00 00    	mov    0x260(%edi),%ecx
402b52:	e8 9b 56 00 00       	call   0x4081f2
402b57:	8b 35 88 a1 40 00    	mov    0x40a188,%esi
402b5d:	8d 85 50 fd ff ff    	lea    -0x2b0(%ebp),%eax
402b63:	68 7c c3 40 00       	push   $0x40c37c
402b68:	50                   	push   %eax
402b69:	88 9d 54 fe ff ff    	mov    %bl,-0x1ac(%ebp)
402b6f:	ff d6                	call   *%esi
402b71:	59                   	pop    %ecx
402b72:	85 c0                	test   %eax,%eax
402b74:	59                   	pop    %ecx
402b75:	0f 85 a8 00 00 00    	jne    0x402c23
402b7b:	8b 45 08             	mov    0x8(%ebp),%eax
402b7e:	89 85 5c f8 ff ff    	mov    %eax,-0x7a4(%ebp)
402b84:	8d 45 8c             	lea    -0x74(%ebp),%eax
402b87:	50                   	push   %eax
402b88:	8d 85 5c f8 ff ff    	lea    -0x7a4(%ebp),%eax
402b8e:	53                   	push   %ebx