403939:	49                   	dec    %ecx
40393a:	f3 ab                	rep stos %eax,%es:(%edi)
40393c:	59                   	pop    %ecx
40393d:	83 e1 03             	and    $0x3,%ecx
403940:	f3 aa                	rep stos %al,%es:(%edi)
403942:	89 d0                	mov    %edx,%eax
403944:	89 e2                	mov    %esp,%edx
403946:	8b 4b b8             	mov    -0x48(%ebx),%ecx
403949:	85 c9                	test   %ecx,%ecx
40394b:	74 01                	je     0x40394e
40394d:	51                   	push   %ecx
40394e:	8b 5b dc             	mov    -0x24(%ebx),%ebx
403951:	85 db                	test   %ebx,%ebx
403953:	74 04                	je     0x403959
403955:	8b 1b                	mov    (%ebx),%ebx
403957:	eb ed                	jmp    0x403946
403959:	39 d4                	cmp    %edx,%esp
40395b:	74 1d                	je     0x40397a
40395d:	5b                   	pop    %ebx
40395e:	8b 0b                	mov    (%ebx),%ecx
403960:	83 c3 04             	add    $0x4,%ebx
403963:	8b 73 10             	mov    0x10(%ebx),%esi
403966:	85 f6                	test   %esi,%esi
403968:	74 06                	je     0x403970
40396a:	8b 7b 14             	mov    0x14(%ebx),%edi
40396d:	89 34 07             	mov    %esi,(%edi,%eax,1)
403970:	83 c3 1c             	add    $0x1c,%ebx
403973:	49                   	dec    %ecx
403974:	75 ed                	jne    0x403963
403976:	39 d4                	cmp    %edx,%esp
403978:	75 e3                	jne    0x40395d
40397a:	5f                   	pop    %edi
40397b:	5e                   	pop    %esi
40397c:	5b                   	pop    %ebx
40397d:	c3                   	ret
40397e:	8b c0                	mov    %eax,%eax
403980:	53                   	push   %ebx
403981:	56                   	push   %esi
403982:	89 c3                	mov    %eax,%ebx
403984:	89 c6                	mov    %eax,%esi
403986:	8b 36                	mov    (%esi),%esi
403988:	8b 56 c0             	mov    -0x40(%esi),%edx
40398b:	8b 76 dc             	mov    -0x24(%esi),%esi
40398e:	85 d2                	test   %edx,%edx
403990:	74 07                	je     0x403999
403992:	e8 1d 19 00 00       	call   0x4052b4
403997:	89 d8                	mov    %ebx,%eax
403999:	85 f6                	test   %esi,%esi
40399b:	75 e9                	jne    0x403986
40399d:	5e                   	pop    %esi
40399e:	5b                   	pop    %ebx
40399f:	c3                   	ret
4039a0:	87 d1                	xchg   %edx,%ecx
4039a2:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
4039a8:	73 11                	jae    0x4039bb
4039aa:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
4039b0:	72 07                	jb     0x4039b9
4039b2:	0f bf c9             	movswl %cx,%ecx
4039b5:	03 08                	add    (%eax),%ecx
4039b7:	ff 21                	jmp    *(%ecx)
4039b9:	ff e1                	jmp    *%ecx
4039bb:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
4039c1:	01 c1                	add    %eax,%ecx
4039c3:	89 d0                	mov    %edx,%eax
4039c5:	8b 11                	mov    (%ecx),%edx
4039c7:	e9 c4 27 00 00       	jmp    0x406190
4039cc:	c3                   	ret
4039cd:	8d 40 00             	lea    0x0(%eax),%eax
4039d0:	55                   	push   %ebp
4039d1:	8b ec                	mov    %esp,%ebp
4039d3:	83 c4 f8             	add    $0xfffffff8,%esp
4039d6:	53                   	push   %ebx
4039d7:	56                   	push   %esi
4039d8:	57                   	push   %edi
4039d9:	33 db                	xor    %ebx,%ebx
4039db:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4039de:	8b f1                	mov    %ecx,%esi
4039e0:	89 55 fc             	mov    %edx,-0x4(%ebp)
4039e3:	8b f8                	mov    %eax,%edi
4039e5:	33 c0                	xor    %eax,%eax
4039e7:	55                   	push   %ebp
4039e8:	68 54 3a 40 00       	push   $0x403a54
4039ed:	64 ff 30             	push   %fs:(%eax)
4039f0:	64 89 20             	mov    %esp,%fs:(%eax)
4039f3:	33 c0                	xor    %eax,%eax
4039f5:	89 06                	mov    %eax,(%esi)
4039f7:	8b 55 fc             	mov    -0x4(%ebp),%edx
4039fa:	8b 07                	mov    (%edi),%eax
4039fc:	e8 63 00 00 00       	call   0x403a64
403a01:	8b d8                	mov    %eax,%ebx
403a03:	85 db                	test   %ebx,%ebx
403a05:	74 31                	je     0x403a38
403a07:	8b 43 14             	mov    0x14(%ebx),%eax
403a0a:	85 c0                	test   %eax,%eax
403a0c:	74 13                	je     0x403a21
403a0e:	03 f8                	add    %eax,%edi
403a10:	89 3e                	mov    %edi,(%esi)
403a12:	83 3e 00             	cmpl   $0x0,(%esi)
403a15:	74 21                	je     0x403a38
403a17:	8b 06                	mov    (%esi),%eax
403a19:	50                   	push   %eax
403a1a:	8b 00                	mov    (%eax),%eax
403a1c:	ff 50 04             	call   *0x4(%eax)
403a1f:	eb 17                	jmp    0x403a38
403a21:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403a24:	8b 53 18             	mov    0x18(%ebx),%edx
403a27:	8b c7                	mov    %edi,%eax
403a29:	e8 72 ff ff ff       	call   0x4039a0
403a2e:	8b 55 f8             	mov    -0x8(%ebp),%edx
403a31:	8b c6                	mov    %esi,%eax
403a33:	e8 58 27 00 00       	call   0x406190
403a38:	83 3e 00             	cmpl   $0x0,(%esi)
403a3b:	0f 95 c3             	setne  %bl
403a3e:	33 c0                	xor    %eax,%eax
403a40:	5a                   	pop    %edx
403a41:	59                   	pop    %ecx
403a42:	59                   	pop    %ecx
403a43:	64 89 10             	mov    %edx,%fs:(%eax)
403a46:	68 5b 3a 40 00       	push   $0x403a5b
403a4b:	8d 45 f8             	lea    -0x8(%ebp),%eax
403a4e:	e8 25 27 00 00       	call   0x406178
403a53:	c3                   	ret
403a54:	e9 57 06 00 00       	jmp    0x4040b0
403a59:	eb f0                	jmp    0x403a4b
403a5b:	8b c3                	mov    %ebx,%eax
403a5d:	5f                   	pop    %edi
403a5e:	5e                   	pop    %esi
403a5f:	5b                   	pop    %ebx
403a60:	59                   	pop    %ecx
403a61:	59                   	pop    %ecx
403a62:	5d                   	pop    %ebp
403a63:	c3                   	ret
403a64:	53                   	push   %ebx
403a65:	56                   	push   %esi
403a66:	89 c3                	mov    %eax,%ebx
403a68:	8b 43 b8             	mov    -0x48(%ebx),%eax
403a6b:	85 c0                	test   %eax,%eax
403a6d:	74 29                	je     0x403a98
403a6f:	8b 08                	mov    (%eax),%ecx
403a71:	83 c0 04             	add    $0x4,%eax
403a74:	8b 32                	mov    (%edx),%esi
403a76:	3b 30                	cmp    (%eax),%esi
403a78:	75 18                	jne    0x403a92
403a7a:	8b 72 04             	mov    0x4(%edx),%esi
403a7d:	3b 70 04             	cmp    0x4(%eax),%esi
403a80:	75 10                	jne    0x403a92
403a82:	8b 72 08             	mov    0x8(%edx),%esi
403a85:	3b 70 08             	cmp    0x8(%eax),%esi
403a88:	75 08                	jne    0x403a92
403a8a:	8b 72 0c             	mov    0xc(%edx),%esi
403a8d:	3b 70 0c             	cmp    0xc(%eax),%esi
403a90:	74 13                	je     0x403aa5
403a92:	83 c0 1c             	add    $0x1c,%eax
403a95:	49                   	dec    %ecx
403a96:	75 dc                	jne    0x403a74
403a98:	8b 5b dc             	mov    -0x24(%ebx),%ebx
403a9b:	85 db                	test   %ebx,%ebx
403a9d:	74 04                	je     0x403aa3
403a9f:	8b 1b                	mov    (%ebx),%ebx
403aa1:	eb c5                	jmp    0x403a68
403aa3:	31 c0                	xor    %eax,%eax
403aa5:	5e                   	pop    %esi
403aa6:	5b                   	pop    %ebx
403aa7:	c3                   	ret
403aa8:	53                   	push   %ebx
403aa9:	56                   	push   %esi
403aaa:	8b f2                	mov    %edx,%esi
403aac:	8b d8                	mov    %eax,%ebx
403aae:	85 db                	test   %ebx,%ebx
403ab0:	74 0d                	je     0x403abf
403ab2:	8b d6                	mov    %esi,%edx
403ab4:	8b 03                	mov    (%ebx),%eax
403ab6:	e8 8d 00 00 00       	call   0x403b48
403abb:	84 c0                	test   %al,%al
403abd:	75 05                	jne    0x403ac4
403abf:	33 c0                	xor    %eax,%eax
403ac1:	5e                   	pop    %esi
403ac2:	5b                   	pop    %ebx
403ac3:	c3                   	ret
403ac4:	b0 01                	mov    $0x1,%al
403ac6:	5e                   	pop    %esi
403ac7:	5b                   	pop    %ebx
403ac8:	c3                   	ret
403ac9:	8d 40 00             	lea    0x0(%eax),%eax
403acc:	85 c0                	test   %eax,%eax
403ace:	74 16                	je     0x403ae6
403ad0:	89 c1                	mov    %eax,%ecx
403ad2:	8b 09                	mov    (%ecx),%ecx
403ad4:	39 d1                	cmp    %edx,%ecx
403ad6:	74 0e                	je     0x403ae6
403ad8:	8b 49 dc             	mov    -0x24(%ecx),%ecx
403adb:	85 c9                	test   %ecx,%ecx
403add:	75 f3                	jne    0x403ad2
403adf:	b0 0a                	mov    $0xa,%al
403ae1:	e9 66 f3 ff ff       	jmp    0x402e4c
403ae6:	c3                   	ret
403ae7:	90                   	nop
403ae8:	57                   	push   %edi
403ae9:	96                   	xchg   %eax,%esi
403aea:	eb 02                	jmp    0x403aee
403aec:	8b 36                	mov    (%esi),%esi
403aee:	8b 7e d0             	mov    -0x30(%esi),%edi
403af1:	85 ff                	test   %edi,%edi
403af3:	74 0d                	je     0x403b02
403af5:	0f b7 0f             	movzwl (%edi),%ecx
403af8:	51                   	push   %ecx
403af9:	83 c7 02             	add    $0x2,%edi
403afc:	f2 66 af             	repnz scas %es:(%edi),%ax
403aff:	74 0a                	je     0x403b0b
403b01:	59                   	pop    %ecx
403b02:	8b 76 dc             	mov    -0x24(%esi),%esi
403b05:	85 f6                	test   %esi,%esi
403b07:	75 e3                	jne    0x403aec
403b09:	5f                   	pop    %edi
403b0a:	c3                   	ret
403b0b:	58                   	pop    %eax
403b0c:	01 c0                	add    %eax,%eax
403b0e:	29 c8                	sub    %ecx,%eax
403b10:	8b 74 47 fc          	mov    -0x4(%edi,%eax,2),%esi
403b14:	5f                   	pop    %edi
403b15:	c3                   	ret
403b16:	8b c0                	mov    %eax,%eax
403b18:	50                   	push   %eax
403b19:	51                   	push   %ecx
403b1a:	8b 00                	mov    (%eax),%eax
403b1c:	e8 c7 ff ff ff       	call   0x403ae8
403b21:	59                   	pop    %ecx
403b22:	58                   	pop    %eax
403b23:	74 02                	je     0x403b27
403b25:	ff e6                	jmp    *%esi
403b27:	59                   	pop    %ecx
403b28:	e9 53 f5 ff ff       	jmp    0x403080
403b2d:	c3                   	ret
403b2e:	8b c0                	mov    %eax,%eax
403b30:	56                   	push   %esi
403b31:	89 d6                	mov    %edx,%esi
403b33:	8b 00                	mov    (%eax),%eax
403b35:	e8 ae ff ff ff       	call   0x403ae8
403b3a:	89 f0                	mov    %esi,%eax
403b3c:	5e                   	pop    %esi
403b3d:	75 06                	jne    0x403b45
403b3f:	59                   	pop    %ecx
403b40:	e9 3b f5 ff ff       	jmp    0x403080
403b45:	c3                   	ret
403b46:	8b c0                	mov    %eax,%eax
403b48:	eb 02                	jmp    0x403b4c
403b4a:	8b 00                	mov    (%eax),%eax
403b4c:	39 d0                	cmp    %edx,%eax
403b4e:	74 08                	je     0x403b58
403b50:	8b 40 dc             	mov    -0x24(%eax),%eax
403b53:	85 c0                	test   %eax,%eax
403b55:	75 f3                	jne    0x403b4a
403b57:	c3                   	ret
403b58:	b0 01                	mov    $0x1,%al
403b5a:	c3                   	ret
403b5b:	90                   	nop
403b5c:	83 c0 c4             	add    $0xffffffc4,%eax
403b5f:	8b 00                	mov    (%eax),%eax
403b61:	c3                   	ret
403b62:	8b c0                	mov    %eax,%eax
403b64:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
403b69:	c3                   	ret
403b6a:	8b c0                	mov    %eax,%eax
403b6c:	c3                   	ret
403b6d:	8d 40 00             	lea    0x0(%eax),%eax
403b70:	c3                   	ret
403b71:	8d 40 00             	lea    0x0(%eax),%eax
403b74:	c3                   	ret
403b75:	8d 40 00             	lea    0x0(%eax),%eax
403b78:	56                   	push   %esi
403b79:	66 8b 32             	mov    (%edx),%si
403b7c:	66 09 f6             	or     %si,%si
403b7f:	74 17                	je     0x403b98
403b81:	66 81 fe 00 c0       	cmp    $0xc000,%si
403b86:	73 10                	jae    0x403b98
403b88:	50                   	push   %eax
403b89:	8b 00                	mov    (%eax),%eax
403b8b:	e8 58 ff ff ff       	call   0x403ae8
403b90:	58                   	pop    %eax
403b91:	74 05                	je     0x403b98
403b93:	89 f1                	mov    %esi,%ecx
403b95:	5e                   	pop    %esi
403b96:	ff e1                	jmp    *%ecx
403b98:	5e                   	pop    %esi
403b99:	8b 08                	mov    (%eax),%ecx
403b9b:	ff 61 f0             	jmp    *-0x10(%ecx)
403b9e:	c3                   	ret
403b9f:	90                   	nop
403ba0:	53                   	push   %ebx
403ba1:	56                   	push   %esi
403ba2:	57                   	push   %edi
403ba3:	31 c9                	xor    %ecx,%ecx
403ba5:	31 ff                	xor    %edi,%edi
403ba7:	8a 1a                	mov    (%edx),%bl
403ba9:	eb 02                	jmp    0x403bad
403bab:	8b 00                	mov    (%eax),%eax
403bad:	8b 70 cc             	mov    -0x34(%eax),%esi
403bb0:	85 f6                	test   %esi,%esi
403bb2:	74 15                	je     0x403bc9
403bb4:	66 8b 3e             	mov    (%esi),%di
403bb7:	83 c6 02             	add    $0x2,%esi
403bba:	8a 4e 06             	mov    0x6(%esi),%cl
403bbd:	38 d9                	cmp    %bl,%cl
403bbf:	74 15                	je     0x403bd6
403bc1:	66 8b 0e             	mov    (%esi),%cx
403bc4:	01 ce                	add    %ecx,%esi
403bc6:	4f                   	dec    %edi
403bc7:	75 f1                	jne    0x403bba
403bc9:	8b 40 dc             	mov    -0x24(%eax),%eax
403bcc:	85 c0                	test   %eax,%eax
403bce:	75 db                	jne    0x403bab
403bd0:	eb 18                	jmp    0x403bea
403bd2:	8a 1a                	mov    (%edx),%bl
403bd4:	eb eb                	jmp    0x403bc1
403bd6:	b5 00                	mov    $0x0,%ch
403bd8:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403bdc:	32 1c 11             	xor    (%ecx,%edx,1),%bl
403bdf:	80 e3 df             	and    $0xdf,%bl
403be2:	75 ee                	jne    0x403bd2
403be4:	49                   	dec    %ecx
403be5:	75 f1                	jne    0x403bd8
403be7:	8b 46 02             	mov    0x2(%esi),%eax
403bea:	5f                   	pop    %edi
403beb:	5e                   	pop    %esi
403bec:	5b                   	pop    %ebx
403bed:	c3                   	ret
403bee:	8b c0                	mov    %eax,%eax
403bf0:	53                   	push   %ebx
403bf1:	56                   	push   %esi
403bf2:	57                   	push   %edi
403bf3:	31 c9                	xor    %ecx,%ecx
403bf5:	31 ff                	xor    %edi,%edi
403bf7:	8a 1a                	mov    (%edx),%bl
403bf9:	50                   	push   %eax
403bfa:	8b 00                	mov    (%eax),%eax
403bfc:	8b 70 c8             	mov    -0x38(%eax),%esi
403bff:	85 f6                	test   %esi,%esi
403c01:	74 14                	je     0x403c17
403c03:	66 8b 3e             	mov    (%esi),%di
403c06:	83 c6 06             	add    $0x6,%esi
403c09:	8a 4e 06             	mov    0x6(%esi),%cl
403c0c:	38 d9                	cmp    %bl,%cl
403c0e:	74 18                	je     0x403c28
403c10:	8d 74 31 07          	lea    0x7(%ecx,%esi,1),%esi
403c14:	4f                   	dec    %edi
403c15:	75 f2                	jne    0x403c09
403c17:	8b 40 dc             	mov    -0x24(%eax),%eax
403c1a:	85 c0                	test   %eax,%eax
403c1c:	75 dc                	jne    0x403bfa
403c1e:	5a                   	pop    %edx