403878:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
40387f:	76 12                	jbe    0x403893
403881:	52                   	push   %edx
403882:	54                   	push   %esp
403883:	6a 01                	push   $0x1
403885:	6a 00                	push   $0x0
403887:	68 e2 fa ed 0e       	push   $0xeedfae2
40388c:	ff 15 14 c0 49 00    	call   *0x49c014
403892:	5a                   	pop    %edx
403893:	c3                   	ret
403894:	50                   	push   %eax
403895:	52                   	push   %edx
403896:	80 3d 28 d0 48 00 01 	cmpb   $0x1,0x48d028
40389d:	76 10                	jbe    0x4038af
40389f:	54                   	push   %esp
4038a0:	6a 02                	push   $0x2
4038a2:	6a 00                	push   $0x0
4038a4:	68 e3 fa ed 0e       	push   $0xeedfae3
4038a9:	ff 15 14 c0 49 00    	call   *0x49c014
4038af:	5a                   	pop    %edx
4038b0:	58                   	pop    %eax
4038b1:	c3                   	ret
4038b2:	8b c0                	mov    %eax,%eax
4038b4:	8b 44 24 04          	mov    0x4(%esp),%eax
4038b8:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
4038bf:	0f 85 13 01 00 00    	jne    0x4039d8
4038c5:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4038cb:	8b 50 18             	mov    0x18(%eax),%edx
4038ce:	8b 48 14             	mov    0x14(%eax),%ecx
4038d1:	74 6e                	je     0x403941
4038d3:	fc                   	cld
4038d4:	e8 3f fa ff ff       	call   0x403318
4038d9:	8b 15 10 c0 49 00    	mov    0x49c010,%edx
4038df:	85 d2                	test   %edx,%edx
4038e1:	0f 84 f1 00 00 00    	je     0x4039d8
4038e7:	ff d2                	call   *%edx
4038e9:	85 c0                	test   %eax,%eax
4038eb:	0f 84 e7 00 00 00    	je     0x4039d8
4038f1:	8b 54 24 0c          	mov    0xc(%esp),%edx
4038f5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4038f9:	81 39 ce fa ef 0e    	cmpl   $0xeefface,(%ecx)
4038ff:	74 37                	je     0x403938
403901:	e8 c6 fe ff ff       	call   0x4037cc
403906:	80 3d 2c d0 48 00 00 	cmpb   $0x0,0x48d02c
40390d:	76 29                	jbe    0x403938
40390f:	80 3d 28 d0 48 00 00 	cmpb   $0x0,0x48d028
403916:	77 20                	ja     0x403938
403918:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40391c:	50                   	push   %eax
40391d:	51                   	push   %ecx
40391e:	e8 a5 d9 ff ff       	call   0x4012c8
403923:	83 f8 00             	cmp    $0x0,%eax
403926:	58                   	pop    %eax
403927:	0f 84 ab 00 00 00    	je     0x4039d8
40392d:	89 c2                	mov    %eax,%edx
40392f:	8b 44 24 04          	mov    0x4(%esp),%eax
403933:	8b 48 0c             	mov    0xc(%eax),%ecx
403936:	eb 30                	jmp    0x403968
403938:	89 c2                	mov    %eax,%edx
40393a:	8b 44 24 04          	mov    0x4(%esp),%eax
40393e:	8b 48 0c             	mov    0xc(%eax),%ecx
403941:	80 3d 2c d0 48 00 01 	cmpb   $0x1,0x48d02c
403948:	76 1e                	jbe    0x403968
40394a:	80 3d 28 d0 48 00 00 	cmpb   $0x0,0x48d028
403951:	77 15                	ja     0x403968
403953:	50                   	push   %eax
403954:	8d 44 24 08          	lea    0x8(%esp),%eax
403958:	52                   	push   %edx
403959:	51                   	push   %ecx
40395a:	50                   	push   %eax
40395b:	e8 68 d9 ff ff       	call   0x4012c8
403960:	83 f8 00             	cmp    $0x0,%eax
403963:	59                   	pop    %ecx
403964:	5a                   	pop    %edx
403965:	58                   	pop    %eax
403966:	74 70                	je     0x4039d8
403968:	83 48 04 02          	orl    $0x2,0x4(%eax)
40396c:	53                   	push   %ebx
40396d:	31 db                	xor    %ebx,%ebx
40396f:	56                   	push   %esi
403970:	57                   	push   %edi
403971:	55                   	push   %ebp
403972:	64 8b 1b             	mov    %fs:(%ebx),%ebx
403975:	53                   	push   %ebx
403976:	50                   	push   %eax
403977:	52                   	push   %edx
403978:	51                   	push   %ecx
403979:	8b 54 24 28          	mov    0x28(%esp),%edx
40397d:	6a 00                	push   $0x0
40397f:	50                   	push   %eax
403980:	68 8c 39 40 00       	push   $0x40398c
403985:	52                   	push   %edx
403986:	ff 15 18 c0 49 00    	call   *0x49c018
40398c:	8b 7c 24 28          	mov    0x28(%esp),%edi
403990:	e8 0f 2b 00 00       	call   0x4064a4
403995:	ff b0 00 00 00 00    	push   0x0(%eax)
40399b:	89 a0 00 00 00 00    	mov    %esp,0x0(%eax)
4039a1:	8b 6f 08             	mov    0x8(%edi),%ebp
4039a4:	8b 5f 04             	mov    0x4(%edi),%ebx
4039a7:	c7 47 04 b8 39 40 00 	movl   $0x4039b8,0x4(%edi)
4039ae:	83 c3 05             	add    $0x5,%ebx
4039b1:	e8 66 fe ff ff       	call   0x40381c
4039b6:	ff e3                	jmp    *%ebx
4039b8:	e9 ab 01 00 00       	jmp    0x403b68
4039bd:	e8 e2 2a 00 00       	call   0x4064a4
4039c2:	8b 88 00 00 00 00    	mov    0x0(%eax),%ecx
4039c8:	8b 11                	mov    (%ecx),%edx
4039ca:	89 90 00 00 00 00    	mov    %edx,0x0(%eax)
4039d0:	8b 41 08             	mov    0x8(%ecx),%eax
4039d3:	e9 14 fa ff ff       	jmp    0x4033ec
4039d8:	b8 01 00 00 00       	mov    $0x1,%eax
4039dd:	c3                   	ret
4039de:	8b c0                	mov    %eax,%eax
4039e0:	8b 44 24 04          	mov    0x4(%esp),%eax
4039e4:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
4039eb:	0f 85 6f 01 00 00    	jne    0x403b60
4039f1:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
4039f7:	74 1f                	je     0x403a18
4039f9:	fc                   	cld
4039fa:	e8 19 f9 ff ff       	call   0x403318
4039ff:	8b 15 0c c0 49 00    	mov    0x49c00c,%edx
403a05:	85 d2                	test   %edx,%edx
403a07:	0f 84 53 01 00 00    	je     0x403b60
403a0d:	ff d2                	call   *%edx
403a0f:	85 c0                	test   %eax,%eax
403a11:	75 0a                	jne    0x403a1d
403a13:	e9 48 01 00 00       	jmp    0x403b60
403a18:	8b 40 18             	mov    0x18(%eax),%eax
403a1b:	8b 00                	mov    (%eax),%eax
403a1d:	8b 54 24 08          	mov    0x8(%esp),%edx
403a21:	53                   	push   %ebx
403a22:	56                   	push   %esi
403a23:	57                   	push   %edi
403a24:	55                   	push   %ebp
403a25:	8b 4a 04             	mov    0x4(%edx),%ecx
403a28:	8b 59 05             	mov    0x5(%ecx),%ebx
403a2b:	8d 71 09             	lea    0x9(%ecx),%esi
403a2e:	89 c5                	mov    %eax,%ebp
403a30:	8b 06                	mov    (%esi),%eax
403a32:	85 c0                	test   %eax,%eax
403a34:	74 43                	je     0x403a79
403a36:	89 ef                	mov    %ebp,%edi
403a38:	eb 02                	jmp    0x403a3c
403a3a:	8b 3f                	mov    (%edi),%edi
403a3c:	8b 00                	mov    (%eax),%eax
403a3e:	39 f8                	cmp    %edi,%eax
403a40:	74 37                	je     0x403a79
403a42:	8b 48 d8             	mov    -0x28(%eax),%ecx
403a45:	3b 4f d8             	cmp    -0x28(%edi),%ecx
403a48:	75 17                	jne    0x403a61
403a4a:	8b 40 d4             	mov    -0x2c(%eax),%eax
403a4d:	8b 57 d4             	mov    -0x2c(%edi),%edx
403a50:	31 c9                	xor    %ecx,%ecx
403a52:	8a 08                	mov    (%eax),%cl
403a54:	3a 0a                	cmp    (%edx),%cl
403a56:	75 09                	jne    0x403a61
403a58:	40                   	inc    %eax
403a59:	42                   	inc    %edx
403a5a:	e8 9d f2 ff ff       	call   0x402cfc
403a5f:	74 18                	je     0x403a79
403a61:	8b 7f dc             	mov    -0x24(%edi),%edi
403a64:	8b 06                	mov    (%esi),%eax
403a66:	85 ff                	test   %edi,%edi
403a68:	75 d0                	jne    0x403a3a
403a6a:	83 c6 08             	add    $0x8,%esi
403a6d:	4b                   	dec    %ebx
403a6e:	75 c0                	jne    0x403a30
403a70:	5d                   	pop    %ebp
403a71:	5f                   	pop    %edi
403a72:	5e                   	pop    %esi
403a73:	5b                   	pop    %ebx
403a74:	e9 e7 00 00 00       	jmp    0x403b60
403a79:	8b 44 24 14          	mov    0x14(%esp),%eax
403a7d:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
403a83:	8b 50 18             	mov    0x18(%eax),%edx
403a86:	8b 48 14             	mov    0x14(%eax),%ecx
403a89:	74 41                	je     0x403acc
403a8b:	ff 15 10 c0 49 00    	call   *0x49c010
403a91:	8b 54 24 1c          	mov    0x1c(%esp),%edx
403a95:	e8 32 fd ff ff       	call   0x4037cc
403a9a:	80 3d 2c d0 48 00 00 	cmpb   $0x0,0x48d02c
403aa1:	76 1e                	jbe    0x403ac1
403aa3:	80 3d 28 d0 48 00 00 	cmpb   $0x0,0x48d028
403aaa:	77 15                	ja     0x403ac1
403aac:	8d 4c 24 04          	lea    0x4(%esp),%ecx
403ab0:	50                   	push   %eax
403ab1:	51                   	push   %ecx
403ab2:	e8 11 d8 ff ff       	call   0x4012c8
403ab7:	83 f8 00             	cmp    $0x0,%eax
403aba:	58                   	pop    %eax
403abb:	0f 84 9f 00 00 00    	je     0x403b60
403ac1:	89 c2                	mov    %eax,%edx
403ac3:	8b 44 24 14          	mov    0x14(%esp),%eax
403ac7:	8b 48 0c             	mov    0xc(%eax),%ecx
403aca:	eb 27                	jmp    0x403af3
403acc:	80 3d 2c d0 48 00 01 	cmpb   $0x1,0x48d02c
403ad3:	76 1e                	jbe    0x403af3
403ad5:	80 3d 28 d0 48 00 00 	cmpb   $0x0,0x48d028
403adc:	77 15                	ja     0x403af3
403ade:	50                   	push   %eax
403adf:	8d 44 24 08          	lea    0x8(%esp),%eax
403ae3:	52                   	push   %edx
403ae4:	51                   	push   %ecx
403ae5:	50                   	push   %eax
403ae6:	e8 dd d7 ff ff       	call   0x4012c8
403aeb:	83 f8 00             	cmp    $0x0,%eax
403aee:	59                   	pop    %ecx
403aef:	5a                   	pop    %edx
403af0:	58                   	pop    %eax
403af1:	74 6d                	je     0x403b60
403af3:	31 db                	xor    %ebx,%ebx
403af5:	64 8b 1b             	mov    %fs:(%ebx),%ebx
403af8:	53                   	push   %ebx
403af9:	50                   	push   %eax
403afa:	52                   	push   %edx
403afb:	51                   	push   %ecx
403afc:	8b 54 24 28          	mov    0x28(%esp),%edx
403b00:	83 48 04 02          	orl    $0x2,0x4(%eax)
403b04:	56                   	push   %esi
403b05:	6a 00                	push   $0x0
403b07:	50                   	push   %eax
403b08:	68 14 3b 40 00       	push   $0x403b14
403b0d:	52                   	push   %edx
403b0e:	ff 15 18 c0 49 00    	call   *0x49c018
403b14:	5b                   	pop    %ebx
403b15:	8b 7c 24 28          	mov    0x28(%esp),%edi
403b19:	e8 86 29 00 00       	call   0x4064a4
403b1e:	ff b0 00 00 00 00    	push   0x0(%eax)
403b24:	89 a0 00 00 00 00    	mov    %esp,0x0(%eax)
403b2a:	8b 6f 08             	mov    0x8(%edi),%ebp
403b2d:	c7 47 04 40 3b 40 00 	movl   $0x403b40,0x4(%edi)
403b34:	8b 44 24 08          	mov    0x8(%esp),%eax
403b38:	e8 cb fc ff ff       	call   0x403808
403b3d:	ff 63 04             	jmp    *0x4(%ebx)
403b40:	e9 23 00 00 00       	jmp    0x403b68
403b45:	e8 5a 29 00 00       	call   0x4064a4
403b4a:	8b 88 00 00 00 00    	mov    0x0(%eax),%ecx
403b50:	8b 11                	mov    (%ecx),%edx
403b52:	89 90 00 00 00 00    	mov    %edx,0x0(%eax)
403b58:	8b 41 08             	mov    0x8(%ecx),%eax
403b5b:	e9 8c f8 ff ff       	jmp    0x4033ec
403b60:	b8 01 00 00 00       	mov    $0x1,%eax
403b65:	c3                   	ret
403b66:	8b c0                	mov    %eax,%eax
403b68:	8b 44 24 04          	mov    0x4(%esp),%eax
403b6c:	8b 54 24 08          	mov    0x8(%esp),%edx
403b70:	f7 40 04 06 00 00 00 	testl  $0x6,0x4(%eax)
403b77:	74 1f                	je     0x403b98
403b79:	8b 4a 04             	mov    0x4(%edx),%ecx
403b7c:	c7 42 04 98 3b 40 00 	movl   $0x403b98,0x4(%edx)
403b83:	53                   	push   %ebx
403b84:	56                   	push   %esi
403b85:	57                   	push   %edi
403b86:	55                   	push   %ebp
403b87:	8b 6a 08             	mov    0x8(%edx),%ebp
403b8a:	83 c1 05             	add    $0x5,%ecx
403b8d:	e8 be fc ff ff       	call   0x403850
403b92:	ff d1                	call   *%ecx
403b94:	5d                   	pop    %ebp
403b95:	5f                   	pop    %edi
403b96:	5e                   	pop    %esi
403b97:	5b                   	pop    %ebx
403b98:	b8 01 00 00 00       	mov    $0x1,%eax
403b9d:	c3                   	ret
403b9e:	8b c0                	mov    %eax,%eax
403ba0:	09 c0                	or     %eax,%eax
403ba2:	75 0a                	jne    0x403bae
403ba4:	b8 d8 00 00 00       	mov    $0xd8,%eax
403ba9:	e8 aa 05 00 00       	call   0x404158
403bae:	5a                   	pop    %edx
403baf:	54                   	push   %esp
403bb0:	55                   	push   %ebp
403bb1:	57                   	push   %edi
403bb2:	56                   	push   %esi
403bb3:	53                   	push   %ebx
403bb4:	50                   	push   %eax
403bb5:	52                   	push   %edx
403bb6:	54                   	push   %esp
403bb7:	6a 07                	push   $0x7
403bb9:	6a 01                	push   $0x1
403bbb:	68 de fa ed 0e       	push   $0xeedfade
403bc0:	52                   	push   %edx
403bc1:	ff 25 14 c0 49 00    	jmp    *0x49c014
403bc7:	c3                   	ret
403bc8:	8b 44 24 30          	mov    0x30(%esp),%eax
403bcc:	c7 40 04 13 3c 40 00 	movl   $0x403c13,0x4(%eax)
403bd3:	e8 cc 28 00 00       	call   0x4064a4
403bd8:	8b 90 00 00 00 00    	mov    0x0(%eax),%edx
403bde:	8b 0a                	mov    (%edx),%ecx
403be0:	89 88 00 00 00 00    	mov    %ecx,0x0(%eax)
403be6:	8b 42 0c             	mov    0xc(%edx),%eax
403be9:	83 60 04 fd          	andl   $0xfffffffd,0x4(%eax)
403bed:	81 38 de fa ed 0e    	cmpl   $0xeedfade,(%eax)
403bf3:	74 0d                	je     0x403c02
403bf5:	8b 42 08             	mov    0x8(%edx),%eax
403bf8:	e8 ef f7 ff ff       	call   0x4033ec
403bfd:	e8 ae fb ff ff       	call   0x4037b0
403c02:	31 c0                	xor    %eax,%eax
403c04:	83 c4 14             	add    $0x14,%esp
403c07:	64 8b 10             	mov    %fs:(%eax),%edx
403c0a:	59                   	pop    %ecx
403c0b:	8b 12                	mov    (%edx),%edx
403c0d:	89 11                	mov    %edx,(%ecx)
403c0f:	5d                   	pop    %ebp
403c10:	5f                   	pop    %edi
403c11:	5e                   	pop    %esi
403c12:	5b                   	pop    %ebx
403c13:	b8 01 00 00 00       	mov    $0x1,%eax
403c18:	c3                   	ret
403c19:	8d 40 00             	lea    0x0(%eax),%eax
403c1c:	e8 83 28 00 00       	call   0x4064a4
403c21:	8b 90 00 00 00 00    	mov    0x0(%eax),%edx
403c27:	8b 0a                	mov    (%edx),%ecx
403c29:	89 88 00 00 00 00    	mov    %ecx,0x0(%eax)
403c2f:	8b 42 08             	mov    0x8(%edx),%eax
403c32:	e8 b5 f7 ff ff       	call   0x4033ec
403c37:	5a                   	pop    %edx
403c38:	8b 64 24 2c          	mov    0x2c(%esp),%esp
403c3c:	31 c0                	xor    %eax,%eax
403c3e:	59                   	pop    %ecx
403c3f:	64 89 08             	mov    %ecx,%fs:(%eax)
403c42:	58                   	pop    %eax
403c43:	5d                   	pop    %ebp
403c44:	e8 2f fc ff ff       	call   0x403878
403c49:	ff e2                	jmp    *%edx
403c4b:	c3                   	ret
403c4c:	31 d2                	xor    %edx,%edx
403c4e:	8b 4c 24 08          	mov    0x8(%esp),%ecx
403c52:	8b 44 24 04          	mov    0x4(%esp),%eax
403c56:	83 c1 05             	add    $0x5,%ecx
403c59:	64 89 02             	mov    %eax,%fs:(%edx)
403c5c:	ff d1                	call   *%ecx
403c5e:	c2 0c 00             	ret    $0xc
403c61:	c3                   	ret
403c62:	8b c0                	mov    %eax,%eax
403c64:	55                   	push   %ebp
403c65:	8b ec                	mov    %esp,%ebp
403c67:	8b 55 08             	mov    0x8(%ebp),%edx
403c6a:	8b 02                	mov    (%edx),%eax
403c6c:	3d 92 00 00 c0       	cmp    $0xc0000092,%eax
403c71:	7f 2c                	jg     0x403c9f
403c73:	74 5c                	je     0x403cd1
403c75:	3d 8e 00 00 c0       	cmp    $0xc000008e,%eax
403c7a:	7f 15                	jg     0x403c91
403c7c:	74 57                	je     0x403cd5
403c7e:	2d 05 00 00 c0       	sub    $0xc0000005,%eax
403c83:	74 5c                	je     0x403ce1
403c85:	2d 87 00 00 00       	sub    $0x87,%eax
403c8a:	74 3d                	je     0x403cc9
403c8c:	48                   	dec    %eax