403787:	50                   	push   %eax
403788:	8d 44 24 08          	lea    0x8(%esp),%eax
40378c:	52                   	push   %edx
40378d:	51                   	push   %ecx
40378e:	50                   	push   %eax
40378f:	e8 78 da ff ff       	call   0x40120c
403794:	83 f8 00             	cmp    $0x0,%eax
403797:	59                   	pop    %ecx
403798:	5a                   	pop    %edx
403799:	58                   	pop    %eax
40379a:	74 70                	je     0x40380c
40379c:	83 48 04 02          	orl    $0x2,0x4(%eax)
4037a0:	53                   	push   %ebx
4037a1:	31 db                	xor    %ebx,%ebx
4037a3:	56                   	push   %esi
4037a4:	57                   	push   %edi
4037a5:	55                   	push   %ebp
4037a6:	64 8b 1b             	mov    %fs:(%ebx),%ebx
4037a9:	53                   	push   %ebx
4037aa:	50                   	push   %eax
4037ab:	52                   	push   %edx
4037ac:	51                   	push   %ecx
4037ad:	8b 54 24 28          	mov    0x28(%esp),%edx
4037b1:	6a 00                	push   $0x0
4037b3:	50                   	push   %eax
4037b4:	68 c0 37 40 00       	push   $0x4037c0
4037b9:	52                   	push   %edx
4037ba:	ff 15 18 e0 46 00    	call   *0x46e018
4037c0:	8b 7c 24 28          	mov    0x28(%esp),%edi
4037c4:	e8 9f 25 00 00       	call   0x405d68
4037c9:	ff b0 00 00 00 00    	push   0x0(%eax)
4037cf:	89 a0 00 00 00 00    	mov    %esp,0x0(%eax)
4037d5:	8b 6f 08             	mov    0x8(%edi),%ebp
4037d8:	8b 5f 04             	mov    0x4(%edi),%ebx
4037db:	c7 47 04 ec 37 40 00 	movl   $0x4037ec,0x4(%edi)
4037e2:	83 c3 05             	add    $0x5,%ebx
4037e5:	e8 66 fe ff ff       	call   0x403650
4037ea:	ff e3                	jmp    *%ebx
4037ec:	e9 ab 01 00 00       	jmp    0x40399c
4037f1:	e8 72 25 00 00       	call   0x405d68
4037f6:	8b 88 00 00 00 00    	mov    0x0(%eax),%ecx
4037fc:	8b 11                	mov    (%ecx),%edx
4037fe:	89 90 00 00 00 00    	mov    %edx,0x0(%eax)
403804:	8b 41 08             	mov    0x8(%ecx),%eax
403807:	e9 3c fa ff ff       	jmp    0x403248
40380c:	b8 01 00 00 00       	mov    $0x1,%eax
403811:	c3                   	ret
403812:	8b c0                	mov    %eax,%eax
403814:	8b 44 24 04          	mov    0x4(%esp),%eax
403818:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
40381f:	0f 85 6f 01 00 00    	jne    0x403994
403825:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
40382b:	74 1f                	je     0x40384c
40382d:	fc                   	cld
40382e:	e8 51 f9 ff ff       	call   0x403184
403833:	8b 15 0c e0 46 00    	mov    0x46e00c,%edx
403839:	85 d2                	test   %edx,%edx
40383b:	0f 84 53 01 00 00    	je     0x403994
403841:	ff d2                	call   *%edx
403843:	85 c0                	test   %eax,%eax
403845:	75 0a                	jne    0x403851
403847:	e9 48 01 00 00       	jmp    0x403994
40384c:	8b 40 18             	mov    0x18(%eax),%eax
40384f:	8b 00                	mov    (%eax),%eax
403851:	8b 54 24 08          	mov    0x8(%esp),%edx
403855:	53                   	push   %ebx
403856:	56                   	push   %esi
403857:	57                   	push   %edi
403858:	55                   	push   %ebp
403859:	8b 4a 04             	mov    0x4(%edx),%ecx
40385c:	8b 59 05             	mov    0x5(%ecx),%ebx
40385f:	8d 71 09             	lea    0x9(%ecx),%esi
403862:	89 c5                	mov    %eax,%ebp
403864:	8b 06                	mov    (%esi),%eax
403866:	85 c0                	test   %eax,%eax
403868:	74 43                	je     0x4038ad
40386a:	89 ef                	mov    %ebp,%edi
40386c:	eb 02                	jmp    0x403870
40386e:	8b 3f                	mov    (%edi),%edi
403870:	8b 00                	mov    (%eax),%eax
403872:	39 f8                	cmp    %edi,%eax
403874:	74 37                	je     0x4038ad
403876:	8b 48 d8             	mov    -0x28(%eax),%ecx
403879:	3b 4f d8             	cmp    -0x28(%edi),%ecx
40387c:	75 17                	jne    0x403895
40387e:	8b 40 d4             	mov    -0x2c(%eax),%eax
403881:	8b 57 d4             	mov    -0x2c(%edi),%edx
403884:	31 c9                	xor    %ecx,%ecx
403886:	8a 08                	mov    (%eax),%cl
403888:	3a 0a                	cmp    (%edx),%cl
40388a:	75 09                	jne    0x403895
40388c:	40                   	inc    %eax
40388d:	42                   	inc    %edx
40388e:	e8 61 f3 ff ff       	call   0x402bf4
403893:	74 18                	je     0x4038ad
403895:	8b 7f dc             	mov    -0x24(%edi),%edi
403898:	8b 06                	mov    (%esi),%eax
40389a:	85 ff                	test   %edi,%edi
40389c:	75 d0                	jne    0x40386e
40389e:	83 c6 08             	add    $0x8,%esi
4038a1:	4b                   	dec    %ebx
4038a2:	75 c0                	jne    0x403864
4038a4:	5d                   	pop    %ebp
4038a5:	5f                   	pop    %edi
4038a6:	5e                   	pop    %esi
4038a7:	5b                   	pop    %ebx
4038a8:	e9 e7 00 00 00       	jmp    0x403994
4038ad:	8b 44 24 14          	mov    0x14(%esp),%eax
4038b1:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4038b7:	8b 50 18             	mov    0x18(%eax),%edx
4038ba:	8b 48 14             	mov    0x14(%eax),%ecx
4038bd:	74 41                	je     0x403900
4038bf:	ff 15 10 e0 46 00    	call   *0x46e010
4038c5:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4038c9:	e8 32 fd ff ff       	call   0x403600
4038ce:	80 3d 2c 30 46 00 00 	cmpb   $0x0,0x46302c
4038d5:	76 1e                	jbe    0x4038f5
4038d7:	80 3d 28 30 46 00 00 	cmpb   $0x0,0x463028
4038de:	77 15                	ja     0x4038f5
4038e0:	8d 4c 24 04          	lea    0x4(%esp),%ecx
4038e4:	50                   	push   %eax
4038e5:	51                   	push   %ecx
4038e6:	e8 21 d9 ff ff       	call   0x40120c
4038eb:	83 f8 00             	cmp    $0x0,%eax
4038ee:	58                   	pop    %eax
4038ef:	0f 84 9f 00 00 00    	je     0x403994
4038f5:	89 c2                	mov    %eax,%edx
4038f7:	8b 44 24 14          	mov    0x14(%esp),%eax
4038fb:	8b 48 0c             	mov    0xc(%eax),%ecx
4038fe:	eb 27                	jmp    0x403927
403900:	80 3d 2c 30 46 00 01 	cmpb   $0x1,0x46302c
403907:	76 1e                	jbe    0x403927
403909:	80 3d 28 30 46 00 00 	cmpb   $0x0,0x463028
403910:	77 15                	ja     0x403927
403912:	50                   	push   %eax
403913:	8d 44 24 08          	lea    0x8(%esp),%eax
403917:	52                   	push   %edx
403918:	51                   	push   %ecx
403919:	50                   	push   %eax
40391a:	e8 ed d8 ff ff       	call   0x40120c
40391f:	83 f8 00             	cmp    $0x0,%eax
403922:	59                   	pop    %ecx
403923:	5a                   	pop    %edx
403924:	58                   	pop    %eax
403925:	74 6d                	je     0x403994
403927:	31 db                	xor    %ebx,%ebx
403929:	64 8b 1b             	mov    %fs:(%ebx),%ebx
40392c:	53                   	push   %ebx
40392d:	50                   	push   %eax
40392e:	52                   	push   %edx
40392f:	51                   	push   %ecx
403930:	8b 54 24 28          	mov    0x28(%esp),%edx
403934:	83 48 04 02          	orl    $0x2,0x4(%eax)
403938:	56                   	push   %esi
403939:	6a 00                	push   $0x0
40393b:	50                   	push   %eax
40393c:	68 48 39 40 00       	push   $0x403948
403941:	52                   	push   %edx
403942:	ff 15 18 e0 46 00    	call   *0x46e018
403948:	5b                   	pop    %ebx
403949:	8b 7c 24 28          	mov    0x28(%esp),%edi
40394d:	e8 16 24 00 00       	call   0x405d68
403952:	ff b0 00 00 00 00    	push   0x0(%eax)
403958:	89 a0 00 00 00 00    	mov    %esp,0x0(%eax)
40395e:	8b 6f 08             	mov    0x8(%edi),%ebp
403961:	c7 47 04 74 39 40 00 	movl   $0x403974,0x4(%edi)
403968:	8b 44 24 08          	mov    0x8(%esp),%eax
40396c:	e8 cb fc ff ff       	call   0x40363c
403971:	ff 63 04             	jmp    *0x4(%ebx)
403974:	e9 23 00 00 00       	jmp    0x40399c
403979:	e8 ea 23 00 00       	call   0x405d68
40397e:	8b 88 00 00 00 00    	mov    0x0(%eax),%ecx
403984:	8b 11                	mov    (%ecx),%edx
403986:	89 90 00 00 00 00    	mov    %edx,0x0(%eax)
40398c:	8b 41 08             	mov    0x8(%ecx),%eax
40398f:	e9 b4 f8 ff ff       	jmp    0x403248
403994:	b8 01 00 00 00       	mov    $0x1,%eax
403999:	c3                   	ret
40399a:	8b c0                	mov    %eax,%eax
40399c:	8b 44 24 04          	mov    0x4(%esp),%eax
4039a0:	8b 54 24 08          	mov    0x8(%esp),%edx
4039a4:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
4039ab:	74 1f                	je     0x4039cc
4039ad:	8b 4a 04             	mov    0x4(%edx),%ecx
4039b0:	c7 42 04 cc 39 40 00 	movl   $0x4039cc,0x4(%edx)
4039b7:	53                   	push   %ebx
4039b8:	56                   	push   %esi
4039b9:	57                   	push   %edi
4039ba:	55                   	push   %ebp
4039bb:	8b 6a 08             	mov    0x8(%edx),%ebp
4039be:	83 c1 05             	add    $0x5,%ecx
4039c1:	e8 be fc ff ff       	call   0x403684
4039c6:	ff d1                	call   *%ecx
4039c8:	5d                   	pop    %ebp
4039c9:	5f                   	pop    %edi
4039ca:	5e                   	pop    %esi
4039cb:	5b                   	pop    %ebx
4039cc:	b8 01 00 00 00       	mov    $0x1,%eax
4039d1:	c3                   	ret
4039d2:	8b c0                	mov    %eax,%eax
4039d4:	09 c0                	or     %eax,%eax
4039d6:	75 0a                	jne    0x4039e2
4039d8:	b8 d8 00 00 00       	mov    $0xd8,%eax
4039dd:	e8 aa 05 00 00       	call   0x403f8c
4039e2:	5a                   	pop    %edx
4039e3:	54                   	push   %esp
4039e4:	55                   	push   %ebp
4039e5:	57                   	push   %edi
4039e6:	56                   	push   %esi
4039e7:	53                   	push   %ebx
4039e8:	50                   	push   %eax
4039e9:	52                   	push   %edx
4039ea:	54                   	push   %esp
4039eb:	6a 07                	push   $0x7
4039ed:	6a 01                	push   $0x1
4039ef:	68 de fa ed 0e       	push   $0xeedfade
4039f4:	52                   	push   %edx
4039f5:	ff 25 14 e0 46 00    	jmp    *0x46e014
4039fb:	c3                   	ret
4039fc:	8b 44 24 30          	mov    0x30(%esp),%eax
403a00:	c7 40 04 47 3a 40 00 	movl   $0x403a47,0x4(%eax)
403a07:	e8 5c 23 00 00       	call   0x405d68
403a0c:	8b 90 00 00 00 00    	mov    0x0(%eax),%edx
403a12:	8b 0a                	mov    (%edx),%ecx
403a14:	89 88 00 00 00 00    	mov    %ecx,0x0(%eax)
403a1a:	8b 42 0c             	mov    0xc(%edx),%eax
403a1d:	83 60 04 fd          	andl   $0xfffffffd,0x4(%eax)
403a21:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
403a27:	74 0d                	je     0x403a36
403a29:	8b 42 08             	mov    0x8(%edx),%eax
403a2c:	e8 17 f8 ff ff       	call   0x403248
403a31:	e8 ae fb ff ff       	call   0x4035e4
403a36:	31 c0                	xor    %eax,%eax
403a38:	83 c4 14             	add    $0x14,%esp
403a3b:	64 8b 10             	mov    %fs:(%eax),%edx
403a3e:	59                   	pop    %ecx
403a3f:	8b 12                	mov    (%edx),%edx
403a41:	89 11                	mov    %edx,(%ecx)
403a43:	5d                   	pop    %ebp
403a44:	5f                   	pop    %edi
403a45:	5e                   	pop    %esi
403a46:	5b                   	pop    %ebx
403a47:	b8 01 00 00 00       	mov    $0x1,%eax
403a4c:	c3                   	ret
403a4d:	8d 40 00             	lea    0x0(%eax),%eax
403a50:	e8 13 23 00 00       	call   0x405d68
403a55:	8b 90 00 00 00 00    	mov    0x0(%eax),%edx
403a5b:	8b 0a                	mov    (%edx),%ecx
403a5d:	89 88 00 00 00 00    	mov    %ecx,0x0(%eax)
403a63:	8b 42 08             	mov    0x8(%edx),%eax
403a66:	e8 dd f7 ff ff       	call   0x403248
403a6b:	5a                   	pop    %edx
403a6c:	8b 64 24 2c          	mov    0x2c(%esp),%esp
403a70:	31 c0                	xor    %eax,%eax
403a72:	59                   	pop    %ecx
403a73:	64 89 08             	mov    %ecx,%fs:(%eax)
403a76:	58                   	pop    %eax
403a77:	5d                   	pop    %ebp
403a78:	e8 2f fc ff ff       	call   0x4036ac
403a7d:	ff e2                	jmp    *%edx
403a7f:	c3                   	ret
403a80:	31 d2                	xor    %edx,%edx
403a82:	8b 4c 24 08          	mov    0x8(%esp),%ecx
403a86:	8b 44 24 04          	mov    0x4(%esp),%eax
403a8a:	83 c1 05             	add    $0x5,%ecx
403a8d:	64 89 02             	mov    %eax,%fs:(%edx)
403a90:	ff d1                	call   *%ecx
403a92:	c2 0c 00             	ret    $0xc
403a95:	c3                   	ret
403a96:	8b c0                	mov    %eax,%eax
403a98:	55                   	push   %ebp
403a99:	8b ec                	mov    %esp,%ebp
403a9b:	8b 55 08             	mov    0x8(%ebp),%edx
403a9e:	8b 02                	mov    (%edx),%eax
403aa0:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
403aa5:	7f 2c                	jg     0x403ad3
403aa7:	74 5c                	je     0x403b05
403aa9:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
403aae:	7f 15                	jg     0x403ac5
403ab0:	74 57                	je     0x403b09
403ab2:	2d 05 00 00 c0       	sub    $0xc0000005,%eax
403ab7:	74 5c                	je     0x403b15
403ab9:	2d 87 00 00 00       	sub    $0x87,%eax
403abe:	74 3d                	je     0x403afd
403ac0:	48                   	dec    %eax
403ac1:	74 4e                	je     0x403b11
403ac3:	eb 60                	jmp    0x403b25
403ac5:	05 71 ff ff 3f       	add    $0x3fffff71,%eax
403aca:	83 e8 02             	sub    $0x2,%eax
403acd:	72 36                	jb     0x403b05
403acf:	74 30                	je     0x403b01
403ad1:	eb 52                	jmp    0x403b25
403ad3:	3d 96 00 00 c0       	cmp    $0xc0000096,%eax
403ad8:	7f 11                	jg     0x403aeb
403ada:	74 3d                	je     0x403b19
403adc:	2d 93 00 00 c0       	sub    $0xc0000093,%eax
403ae1:	74 2e                	je     0x403b11
403ae3:	48                   	dec    %eax
403ae4:	74 13                	je     0x403af9
403ae6:	48                   	dec    %eax
403ae7:	74 24                	je     0x403b0d
403ae9:	eb 3a                	jmp    0x403b25
403aeb:	2d fd 00 00 c0       	sub    $0xc00000fd,%eax
403af0:	74 2f                	je     0x403b21
403af2:	83 e8 3d             	sub    $0x3d,%eax
403af5:	74 26                	je     0x403b1d
403af7:	eb 2c                	jmp    0x403b25
403af9:	b0 c8                	mov    $0xc8,%al
403afb:	eb 2a                	jmp    0x403b27
403afd:	b0 c9                	mov    $0xc9,%al
403aff:	eb 26                	jmp    0x403b27
403b01:	b0 cd                	mov    $0xcd,%al
403b03:	eb 22                	jmp    0x403b27
403b05:	b0 cf                	mov    $0xcf,%al
403b07:	eb 1e                	jmp    0x403b27
403b09:	b0 c8                	mov    $0xc8,%al
403b0b:	eb 1a                	jmp    0x403b27
403b0d:	b0 d7                	mov    $0xd7,%al
403b0f:	eb 16                	jmp    0x403b27
403b11:	b0 ce                	mov    $0xce,%al
403b13:	eb 12                	jmp    0x403b27
403b15:	b0 d8                	mov    $0xd8,%al
403b17:	eb 0e                	jmp    0x403b27
403b19:	b0 da                	mov    $0xda,%al
403b1b:	eb 0a                	jmp    0x403b27
403b1d:	b0 d9                	mov    $0xd9,%al
403b1f:	eb 06                	jmp    0x403b27
403b21:	b0 ca                	mov    $0xca,%al
403b23:	eb 02                	jmp    0x403b27
403b25:	b0 ff                	mov    $0xff,%al
403b27:	25 ff 00 00 00       	and    $0xff,%eax
403b2c:	8b 52 0c             	mov    0xc(%edx),%edx
403b2f:	e8 8c ec ff ff       	call   0x4027c0
403b34:	5d                   	pop    %ebp
403b35:	c2 04 00             	ret    $0x4
403b38:	8b 44 24 04          	mov    0x4(%esp),%eax
403b3c:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
403b43:	0f 85 89 00 00 00    	jne    0x403bd2
403b49:	80 3d 28 30 46 00 00 	cmpb   $0x0,0x463028
403b50:	77 0f                	ja     0x403b61
403b52:	8d 44 24 04          	lea    0x4(%esp),%eax
403b56:	50                   	push   %eax
403b57:	e8 b0 d6 ff ff       	call   0x40120c
403b5c:	83 f8 00             	cmp    $0x0,%eax
403b5f:	74 71                	je     0x403bd2
403b61:	8b 44 24 04          	mov    0x4(%esp),%eax
403b65:	fc                   	cld
403b66:	e8 19 f6 ff ff       	call   0x403184
403b6b:	8b 54 24 08          	mov    0x8(%esp),%edx
403b6f:	6a 00                	push   $0x0