40782a:	61                   	popa
40782b:	74 61                	je     0x40788e
40782d:	00 00                	add    %al,(%eax)
40782f:	00 65 00             	add    %ah,0x0(%ebp)
407832:	64 00 69 00          	add    %ch,%fs:0x0(%ecx)
407836:	74 00                	je     0x407838
407838:	00 00                	add    %al,(%eax)
40783a:	00 00                	add    %al,(%eax)
40783c:	53                   	push   %ebx
40783d:	8b d8                	mov    %eax,%ebx
40783f:	84 d2                	test   %dl,%dl
407841:	74 06                	je     0x407849
407843:	80 4b 26 01          	orb    $0x1,0x26(%ebx)
407847:	5b                   	pop    %ebx
407848:	c3                   	ret
407849:	80 63 26 fe          	andb   $0xfe,0x26(%ebx)
40784d:	5b                   	pop    %ebx
40784e:	c3                   	ret
40784f:	90                   	nop
407850:	f6 40 36 10          	testb  $0x10,0x36(%eax)
407854:	0f 95 c0             	setne  %al
407857:	c3                   	ret
407858:	53                   	push   %ebx
407859:	83 c4 f8             	add    $0xfffffff8,%esp
40785c:	8b d8                	mov    %eax,%ebx
40785e:	c6 04 24 00          	movb   $0x0,(%esp)
407862:	8b 42 04             	mov    0x4(%edx),%eax
407865:	83 f8 4e             	cmp    $0x4e,%eax
407868:	75 2b                	jne    0x407895
40786a:	8b 42 0c             	mov    0xc(%edx),%eax
40786d:	89 44 24 04          	mov    %eax,0x4(%esp)
407871:	8b 44 24 04          	mov    0x4(%esp),%eax
407875:	8b 40 08             	mov    0x8(%eax),%eax
407878:	2d 02 07 00 00       	sub    $0x702,%eax
40787d:	75 32                	jne    0x4078b1
40787f:	8b c3                	mov    %ebx,%eax
407881:	e8 ea 21 00 00       	call   0x409a70
407886:	f6 43 35 01          	testb  $0x1,0x35(%ebx)
40788a:	74 25                	je     0x4078b1
40788c:	8b c3                	mov    %ebx,%eax
40788e:	e8 d9 41 00 00       	call   0x40ba6c
407893:	eb 1c                	jmp    0x4078b1
407895:	83 f8 02             	cmp    $0x2,%eax
407898:	75 17                	jne    0x4078b1
40789a:	8b 83 12 01 00 00    	mov    0x112(%ebx),%eax
4078a0:	85 c0                	test   %eax,%eax
4078a2:	74 05                	je     0x4078a9
4078a4:	e8 b7 af ff ff       	call   0x402860
4078a9:	33 c0                	xor    %eax,%eax
4078ab:	89 83 12 01 00 00    	mov    %eax,0x112(%ebx)
4078b1:	8a 04 24             	mov    (%esp),%al
4078b4:	59                   	pop    %ecx
4078b5:	5a                   	pop    %edx
4078b6:	5b                   	pop    %ebx
4078b7:	c3                   	ret
4078b8:	53                   	push   %ebx
4078b9:	56                   	push   %esi
4078ba:	57                   	push   %edi
4078bb:	55                   	push   %ebp
4078bc:	83 c4 f0             	add    $0xfffffff0,%esp
4078bf:	66 89 54 24 04       	mov    %dx,0x4(%esp)
4078c4:	89 04 24             	mov    %eax,(%esp)
4078c7:	8d 7c 24 08          	lea    0x8(%esp),%edi
4078cb:	83 3d a8 98 42 00 00 	cmpl   $0x0,0x4298a8
4078d2:	75 7c                	jne    0x407950
4078d4:	33 db                	xor    %ebx,%ebx
4078d6:	8a 1d 6c 61 42 00    	mov    0x42616c,%bl
4078dc:	bd 03 00 00 00       	mov    $0x3,%ebp
4078e1:	be 01 00 00 00       	mov    $0x1,%esi
4078e6:	80 3d 6c 61 42 00 01 	cmpb   $0x1,0x42616c
4078ed:	76 07                	jbe    0x4078f6
4078ef:	8b dd                	mov    %ebp,%ebx
4078f1:	33 ed                	xor    %ebp,%ebp
4078f3:	83 ce ff             	or     $0xffffffff,%esi
4078f6:	68 01 80 00 00       	push   $0x8001
4078fb:	e8 60 cf ff ff       	call   0x404860
407900:	89 44 24 0c          	mov    %eax,0xc(%esp)
407904:	eb 29                	jmp    0x40792f
407906:	8b 04 9d 4c 61 42 00 	mov    0x42614c(,%ebx,4),%eax
40790d:	50                   	push   %eax
40790e:	e8 09 d6 ff ff       	call   0x404f1c
407913:	a3 a8 98 42 00       	mov    %eax,0x4298a8
407918:	8b 04 9d 5c 61 42 00 	mov    0x42615c(,%ebx,4),%eax
40791f:	a3 ac 98 42 00       	mov    %eax,0x4298ac
407924:	83 3d a8 98 42 00 20 	cmpl   $0x20,0x4298a8
40792b:	7f 09                	jg     0x407936
40792d:	03 de                	add    %esi,%ebx
40792f:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
407932:	3b d8                	cmp    %eax,%ebx
407934:	75 d0                	jne    0x407906
407936:	83 3d a8 98 42 00 20 	cmpl   $0x20,0x4298a8
40793d:	7f 07                	jg     0x407946
40793f:	33 c0                	xor    %eax,%eax
407941:	a3 a8 98 42 00       	mov    %eax,0x4298a8
407946:	8b 44 24 0c          	mov    0xc(%esp),%eax
40794a:	50                   	push   %eax
40794b:	e8 10 cf ff ff       	call   0x404860
407950:	ba ac 63 42 00       	mov    $0x4263ac,%edx
407955:	8d 44 24 04          	lea    0x4(%esp),%eax
407959:	b9 0b 00 00 00       	mov    $0xb,%ecx
40795e:	e8 6d 28 00 00       	call   0x40a1d0
407963:	8b d8                	mov    %eax,%ebx
407965:	6a 01                	push   $0x1
407967:	a1 84 61 42 00       	mov    0x426184,%eax
40796c:	50                   	push   %eax
40796d:	8b cb                	mov    %ebx,%ecx
40796f:	81 c9 04 00 81 50    	or     $0x50810004,%ecx
407975:	8b 15 ac 98 42 00    	mov    0x4298ac,%edx
40797b:	8b 44 24 08          	mov    0x8(%esp),%eax
40797f:	e8 f8 fc ff ff       	call   0x40767c
407984:	89 07                	mov    %eax,(%edi)
407986:	b8 10 01 00 00       	mov    $0x110,%eax
40798b:	e8 4c 30 00 00       	call   0x40a9dc
407990:	8b 17                	mov    (%edi),%edx
407992:	89 82 f6 00 00 00    	mov    %eax,0xf6(%edx)
407998:	8b 07                	mov    (%edi),%eax
40799a:	05 f6 00 00 00       	add    $0xf6,%eax
40799f:	83 c0 54             	add    $0x54,%eax
4079a2:	8b 17                	mov    (%edi),%edx
4079a4:	89 82 fa 00 00 00    	mov    %eax,0xfa(%edx)
4079aa:	8b 07                	mov    (%edi),%eax
4079ac:	50                   	push   %eax
4079ad:	68 84 e0 40 00       	push   $0x40e084
4079b2:	8b 07                	mov    (%edi),%eax
4079b4:	e8 a3 28 00 00       	call   0x40a25c
4079b9:	8b 07                	mov    (%edi),%eax
4079bb:	8a 15 5c 7a 40 00    	mov    0x407a5c,%dl
4079c1:	88 50 3c             	mov    %dl,0x3c(%eax)
4079c4:	f6 44 24 05 04       	testb  $0x4,0x5(%esp)
4079c9:	74 0b                	je     0x4079d6
4079cb:	8b 07                	mov    (%edi),%eax
4079cd:	8a 15 60 7a 40 00    	mov    0x407a60,%dl
4079d3:	88 50 3c             	mov    %dl,0x3c(%eax)
4079d6:	ba 58 78 40 00       	mov    $0x407858,%edx
4079db:	8b 07                	mov    (%edi),%eax
4079dd:	e8 56 20 00 00       	call   0x409a38
4079e2:	8b 07                	mov    (%edi),%eax
4079e4:	80 48 34 40          	orb    $0x40,0x34(%eax)
4079e8:	8b 07                	mov    (%edi),%eax
4079ea:	80 60 35 fd          	andb   $0xfd,0x35(%eax)
4079ee:	8b 07                	mov    (%edi),%eax
4079f0:	80 48 38 80          	orb    $0x80,0x38(%eax)
4079f4:	8b 07                	mov    (%edi),%eax
4079f6:	05 b6 00 00 00       	add    $0xb6,%eax
4079fb:	83 40 08 64          	addl   $0x64,0x8(%eax)
4079ff:	8b 50 04             	mov    0x4(%eax),%edx
407a02:	81 c2 c8 00 00 00    	add    $0xc8,%edx
407a08:	89 50 0c             	mov    %edx,0xc(%eax)
407a0b:	68 01 00 2d 04       	push   $0x42d0001
407a10:	6a 00                	push   $0x0
407a12:	68 45 04 00 00       	push   $0x445
407a17:	8b 07                	mov    (%edi),%eax
407a19:	50                   	push   %eax
407a1a:	e8 1d 4b 00 00       	call   0x40c53c
407a1f:	8b 07                	mov    (%edi),%eax
407a21:	bb 05 00 00 80       	mov    $0x80000005,%ebx
407a26:	89 98 a4 00 00 00    	mov    %ebx,0xa4(%eax)
407a2c:	8b c3                	mov    %ebx,%eax
407a2e:	e8 31 2a 00 00       	call   0x40a464
407a33:	50                   	push   %eax
407a34:	6a 00                	push   $0x0
407a36:	68 43 04 00 00       	push   $0x443
407a3b:	8b 07                	mov    (%edi),%eax
407a3d:	50                   	push   %eax
407a3e:	e8 f9 4a 00 00       	call   0x40c53c
407a43:	ba bc 76 40 00       	mov    $0x4076bc,%edx
407a48:	8b 07                	mov    (%edi),%eax
407a4a:	e8 e9 1f 00 00       	call   0x409a38
407a4f:	8b 07                	mov    (%edi),%eax
407a51:	83 c4 10             	add    $0x10,%esp
407a54:	5d                   	pop    %ebp
407a55:	5f                   	pop    %edi
407a56:	5e                   	pop    %esi
407a57:	5b                   	pop    %ebx
407a58:	c3                   	ret
407a59:	00 00                	add    %al,(%eax)
407a5b:	00 01                	add    %al,(%ecx)
407a5d:	00 00                	add    %al,(%eax)
407a5f:	00 00                	add    %al,(%eax)
407a61:	00 00                	add    %al,(%eax)
407a63:	00 ff                	add    %bh,%bh
407a65:	25 90 b4 42 00       	and    $0x42b490,%eax
407a6a:	8b c0                	mov    %eax,%eax
407a6c:	ff 25 88 b4 42 00    	jmp    *0x42b488
407a72:	8b c0                	mov    %eax,%eax
407a74:	53                   	push   %ebx
407a75:	56                   	push   %esi
407a76:	57                   	push   %edi
407a77:	55                   	push   %ebp
407a78:	81 c4 fc f7 ff ff    	add    $0xfffff7fc,%esp
407a7e:	8b d8                	mov    %eax,%ebx
407a80:	8b c3                	mov    %ebx,%eax
407a82:	e8 6d be ff ff       	call   0x4038f4
407a87:	8b f0                	mov    %eax,%esi
407a89:	8b c3                	mov    %ebx,%eax
407a8b:	e8 64 be ff ff       	call   0x4038f4
407a90:	3d 00 04 00 00       	cmp    $0x400,%eax
407a95:	7d 2c                	jge    0x407ac3
407a97:	68 00 04 00 00       	push   $0x400
407a9c:	8d 44 24 08          	lea    0x8(%esp),%eax
407aa0:	50                   	push   %eax
407aa1:	56                   	push   %esi
407aa2:	8b c3                	mov    %ebx,%eax
407aa4:	e8 4b c0 ff ff       	call   0x403af4
407aa9:	50                   	push   %eax
407aaa:	6a 00                	push   $0x0
407aac:	6a 00                	push   $0x0
407aae:	e8 8d cd ff ff       	call   0x404840
407ab3:	50                   	push   %eax
407ab4:	8d 44 24 08          	lea    0x8(%esp),%eax
407ab8:	50                   	push   %eax
407ab9:	e8 ae ff ff ff       	call   0x407a6c
407abe:	89 04 24             	mov    %eax,(%esp)
407ac1:	eb 2f                	jmp    0x407af2
407ac3:	6a 00                	push   $0x0
407ac5:	6a 00                	push   $0x0
407ac7:	56                   	push   %esi
407ac8:	8b eb                	mov    %ebx,%ebp
407aca:	55                   	push   %ebp
407acb:	6a 00                	push   $0x0
407acd:	6a 00                	push   $0x0
407acf:	e8 6c cd ff ff       	call   0x404840
407ad4:	8b f8                	mov    %eax,%edi
407ad6:	57                   	push   %edi
407ad7:	6a 00                	push   $0x0
407ad9:	e8 8e ff ff ff       	call   0x407a6c
407ade:	89 04 24             	mov    %eax,(%esp)
407ae1:	57                   	push   %edi
407ae2:	8b 44 24 04          	mov    0x4(%esp),%eax
407ae6:	50                   	push   %eax
407ae7:	56                   	push   %esi
407ae8:	55                   	push   %ebp
407ae9:	6a 00                	push   $0x0
407aeb:	6a 00                	push   $0x0
407aed:	e8 4e cd ff ff       	call   0x404840
407af2:	8b 04 24             	mov    (%esp),%eax
407af5:	81 c4 04 08 00 00    	add    $0x804,%esp
407afb:	5d                   	pop    %ebp
407afc:	5f                   	pop    %edi
407afd:	5e                   	pop    %esi
407afe:	5b                   	pop    %ebx
407aff:	c3                   	ret
407b00:	53                   	push   %ebx
407b01:	56                   	push   %esi
407b02:	8b f2                	mov    %edx,%esi
407b04:	8b d8                	mov    %eax,%ebx
407b06:	8b c3                	mov    %ebx,%eax
407b08:	8b 10                	mov    (%eax),%edx
407b0a:	ff 12                	call   *(%edx)
407b0c:	89 b3 30 01 00 00    	mov    %esi,0x130(%ebx)
407b12:	5e                   	pop    %esi
407b13:	5b                   	pop    %ebx
407b14:	c3                   	ret
407b15:	8d 40 00             	lea    0x0(%eax),%eax
407b18:	b2 01                	mov    $0x1,%dl
407b1a:	e8 d5 41 00 00       	call   0x40bcf4
407b1f:	c3                   	ret
407b20:	33 c0                	xor    %eax,%eax
407b22:	c3                   	ret
407b23:	90                   	nop
407b24:	53                   	push   %ebx
407b25:	56                   	push   %esi
407b26:	57                   	push   %edi
407b27:	83 c4 f8             	add    $0xfffffff8,%esp
407b2a:	89 0c 24             	mov    %ecx,(%esp)
407b2d:	8b f0                	mov    %eax,%esi
407b2f:	33 db                	xor    %ebx,%ebx
407b31:	83 7a 04 10          	cmpl   $0x10,0x4(%edx)
407b35:	75 75                	jne    0x407bac
407b37:	c6 44 24 04 01       	movb   $0x1,0x4(%esp)
407b3c:	8d 4c 24 04          	lea    0x4(%esp),%ecx
407b40:	8b 7e 50             	mov    0x50(%esi),%edi
407b43:	8b d6                	mov    %esi,%edx
407b45:	8b 87 1c 01 00 00    	mov    0x11c(%edi),%eax
407b4b:	ff 97 18 01 00 00    	call   *0x118(%edi)
407b51:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
407b56:	75 14                	jne    0x407b6c
407b58:	80 3d 94 98 42 00 00 	cmpb   $0x0,0x429894
407b5f:	74 0b                	je     0x407b6c
407b61:	8b 04 24             	mov    (%esp),%eax
407b64:	33 d2                	xor    %edx,%edx
407b66:	89 10                	mov    %edx,(%eax)
407b68:	b3 01                	mov    $0x1,%bl
407b6a:	eb 11                	jmp    0x407b7d
407b6c:	8b 46 50             	mov    0x50(%esi),%eax
407b6f:	33 d2                	xor    %edx,%edx
407b71:	89 90 18 01 00 00    	mov    %edx,0x118(%eax)
407b77:	89 90 1c 01 00 00    	mov    %edx,0x11c(%eax)
407b7d:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
407b82:	74 28                	je     0x407bac
407b84:	8b c6                	mov    %esi,%eax
407b86:	e8 a1 3f 00 00       	call   0x40bb2c
407b8b:	84 c0                	test   %al,%al
407b8d:	75 08                	jne    0x407b97
407b8f:	3b 35 98 98 42 00    	cmp    0x429898,%esi
407b95:	75 15                	jne    0x407bac
407b97:	6a 00                	push   $0x0
407b99:	e8 52 cf ff ff       	call   0x404af0
407b9e:	c6 05 95 98 42 00 01 	movb   $0x1,0x429895
407ba5:	8b 04 24             	mov    (%esp),%eax
407ba8:	33 d2                	xor    %edx,%edx
407baa:	89 10                	mov    %edx,(%eax)
407bac:	8b c3                	mov    %ebx,%eax
407bae:	59                   	pop    %ecx
407baf:	5a                   	pop    %edx
407bb0:	5f                   	pop    %edi
407bb1:	5e                   	pop    %esi
407bb2:	5b                   	pop    %ebx
407bb3:	c3                   	ret
407bb4:	55                   	push   %ebp
407bb5:	8b ec                	mov    %esp,%ebp
407bb7:	53                   	push   %ebx
407bb8:	8b d8                	mov    %eax,%ebx
407bba:	8b c3                	mov    %ebx,%eax
407bbc:	e8 1b 64 00 00       	call   0x40dfdc
407bc1:	8b 55 08             	mov    0x8(%ebp),%edx
407bc4:	89 90 18 01 00 00    	mov    %edx,0x118(%eax)
407bca:	8b 55 0c             	mov    0xc(%ebp),%edx
407bcd:	89 90 1c 01 00 00    	mov    %edx,0x11c(%eax)
407bd3:	ba 24 7b 40 00       	mov    $0x407b24,%edx
407bd8:	8b c3                	mov    %ebx,%eax
407bda:	e8 59 1e 00 00       	call   0x409a38
407bdf:	5b                   	pop    %ebx
407be0:	5d                   	pop    %ebp
407be1:	c2 08 00             	ret    $0x8
407be4:	55                   	push   %ebp
407be5:	8b ec                	mov    %esp,%ebp
407be7:	53                   	push   %ebx
407be8:	56                   	push   %esi
407be9:	8b f2                	mov    %edx,%esi
407beb:	8b d8                	mov    %eax,%ebx
407bed:	8b c3                	mov    %ebx,%eax
407bef:	e8 e8 63 00 00       	call   0x40dfdc
407bf4:	8b 55 08             	mov    0x8(%ebp),%edx
407bf7:	89 14 f0             	mov    %edx,(%eax,%esi,8)
407bfa:	8b 55 0c             	mov    0xc(%ebp),%edx
407bfd:	89 54 f0 04          	mov    %edx,0x4(%eax,%esi,8)
407c01:	ba 74 b4 40 00       	mov    $0x40b474,%edx
407c06:	8b c3                	mov    %ebx,%eax
407c08:	e8 2b 1e 00 00       	call   0x409a38
407c0d:	5e                   	pop    %esi
407c0e:	5b                   	pop    %ebx
407c0f:	5d                   	pop    %ebp
407c10:	c2 08 00             	ret    $0x8
407c13:	90                   	nop
407c14:	53                   	push   %ebx
407c15:	56                   	push   %esi
407c16:	57                   	push   %edi
407c17:	55                   	push   %ebp
407c18:	8b e9                	mov    %ecx,%ebp