4038cf:	64 89 20             	mov    %esp,%fs:(%eax)
4038d2:	33 c0                	xor    %eax,%eax
4038d4:	89 03                	mov    %eax,(%ebx)
4038d6:	8b d7                	mov    %edi,%edx
4038d8:	8b 06                	mov    (%esi),%eax
4038da:	e8 71 00 00 00       	call   0x403950
4038df:	89 45 fc             	mov    %eax,-0x4(%ebp)
4038e2:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4038e6:	74 38                	je     0x403920
4038e8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4038eb:	8b 40 14             	mov    0x14(%eax),%eax
4038ee:	85 c0                	test   %eax,%eax
4038f0:	74 14                	je     0x403906
4038f2:	8b d0                	mov    %eax,%edx
4038f4:	03 d6                	add    %esi,%edx
4038f6:	89 13                	mov    %edx,(%ebx)
4038f8:	85 d2                	test   %edx,%edx
4038fa:	74 24                	je     0x403920
4038fc:	8b 03                	mov    (%ebx),%eax
4038fe:	50                   	push   %eax
4038ff:	8b 00                	mov    (%eax),%eax
403901:	ff 50 04             	call   *0x4(%eax)
403904:	eb 1a                	jmp    0x403920
403906:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403909:	8b 45 fc             	mov    -0x4(%ebp),%eax
40390c:	8b 50 18             	mov    0x18(%eax),%edx
40390f:	8b c6                	mov    %esi,%eax
403911:	e8 6a ff ff ff       	call   0x403880
403916:	8b 55 f8             	mov    -0x8(%ebp),%edx
403919:	8b c3                	mov    %ebx,%eax
40391b:	e8 70 23 00 00       	call   0x405c90
403920:	83 3b 00             	cmpl   $0x0,(%ebx)
403923:	0f 95 c0             	setne  %al
403926:	8b d8                	mov    %eax,%ebx
403928:	33 c0                	xor    %eax,%eax
40392a:	5a                   	pop    %edx
40392b:	59                   	pop    %ecx
40392c:	59                   	pop    %ecx
40392d:	64 89 10             	mov    %edx,%fs:(%eax)
403930:	68 45 39 40 00       	push   $0x403945
403935:	8d 45 f8             	lea    -0x8(%ebp),%eax
403938:	e8 3b 23 00 00       	call   0x405c78
40393d:	c3                   	ret
40393e:	e9 09 06 00 00       	jmp    0x403f4c
403943:	eb f0                	jmp    0x403935
403945:	8b c3                	mov    %ebx,%eax
403947:	5f                   	pop    %edi
403948:	5e                   	pop    %esi
403949:	5b                   	pop    %ebx
40394a:	59                   	pop    %ecx
40394b:	59                   	pop    %ecx
40394c:	5d                   	pop    %ebp
40394d:	c3                   	ret
40394e:	8b c0                	mov    %eax,%eax
403950:	53                   	push   %ebx
403951:	56                   	push   %esi
403952:	89 c3                	mov    %eax,%ebx
403954:	8b 43 b8             	mov    -0x48(%ebx),%eax
403957:	85 c0                	test   %eax,%eax
403959:	74 29                	je     0x403984
40395b:	8b 08                	mov    (%eax),%ecx
40395d:	83 c0 04             	add    $0x4,%eax
403960:	8b 32                	mov    (%edx),%esi
403962:	3b 30                	cmp    (%eax),%esi
403964:	75 18                	jne    0x40397e
403966:	8b 72 04             	mov    0x4(%edx),%esi
403969:	3b 70 04             	cmp    0x4(%eax),%esi
40396c:	75 10                	jne    0x40397e
40396e:	8b 72 08             	mov    0x8(%edx),%esi
403971:	3b 70 08             	cmp    0x8(%eax),%esi
403974:	75 08                	jne    0x40397e
403976:	8b 72 0c             	mov    0xc(%edx),%esi
403979:	3b 70 0c             	cmp    0xc(%eax),%esi
40397c:	74 13                	je     0x403991
40397e:	83 c0 1c             	add    $0x1c,%eax
403981:	49                   	dec    %ecx
403982:	75 dc                	jne    0x403960
403984:	8b 5b dc             	mov    -0x24(%ebx),%ebx
403987:	85 db                	test   %ebx,%ebx
403989:	74 04                	je     0x40398f
40398b:	8b 1b                	mov    (%ebx),%ebx
40398d:	eb c5                	jmp    0x403954
40398f:	31 c0                	xor    %eax,%eax
403991:	5e                   	pop    %esi
403992:	5b                   	pop    %ebx
403993:	c3                   	ret
403994:	53                   	push   %ebx
403995:	56                   	push   %esi
403996:	8b f2                	mov    %edx,%esi
403998:	8b d8                	mov    %eax,%ebx
40399a:	85 db                	test   %ebx,%ebx
40399c:	74 0d                	je     0x4039ab
40399e:	8b d6                	mov    %esi,%edx
4039a0:	8b 03                	mov    (%ebx),%eax
4039a2:	e8 75 00 00 00       	call   0x403a1c
4039a7:	84 c0                	test   %al,%al
4039a9:	75 05                	jne    0x4039b0
4039ab:	33 c0                	xor    %eax,%eax
4039ad:	5e                   	pop    %esi
4039ae:	5b                   	pop    %ebx
4039af:	c3                   	ret
4039b0:	b0 01                	mov    $0x1,%al
4039b2:	5e                   	pop    %esi
4039b3:	5b                   	pop    %ebx
4039b4:	c3                   	ret
4039b5:	8d 40 00             	lea    0x0(%eax),%eax
4039b8:	85 c0                	test   %eax,%eax
4039ba:	74 16                	je     0x4039d2
4039bc:	89 c1                	mov    %eax,%ecx
4039be:	8b 09                	mov    (%ecx),%ecx
4039c0:	39 d1                	cmp    %edx,%ecx
4039c2:	74 0e                	je     0x4039d2
4039c4:	8b 49 dc             	mov    -0x24(%ecx),%ecx
4039c7:	85 c9                	test   %ecx,%ecx
4039c9:	75 f3                	jne    0x4039be
4039cb:	b0 0a                	mov    $0xa,%al
4039cd:	e9 e6 f1 ff ff       	jmp    0x402bb8
4039d2:	c3                   	ret
4039d3:	90                   	nop
4039d4:	57                   	push   %edi
4039d5:	96                   	xchg   %eax,%esi
4039d6:	eb 02                	jmp    0x4039da
4039d8:	8b 36                	mov    (%esi),%esi
4039da:	8b 7e d0             	mov    -0x30(%esi),%edi
4039dd:	85 ff                	test   %edi,%edi
4039df:	74 0d                	je     0x4039ee
4039e1:	0f b7 0f             	movzwl (%edi),%ecx
4039e4:	51                   	push   %ecx
4039e5:	83 c7 02             	add    $0x2,%edi
4039e8:	f2 66 af             	repnz scas %es:(%edi),%ax
4039eb:	74 0a                	je     0x4039f7
4039ed:	59                   	pop    %ecx
4039ee:	8b 76 dc             	mov    -0x24(%esi),%esi
4039f1:	85 f6                	test   %esi,%esi
4039f3:	75 e3                	jne    0x4039d8
4039f5:	5f                   	pop    %edi
4039f6:	c3                   	ret
4039f7:	58                   	pop    %eax
4039f8:	01 c0                	add    %eax,%eax
4039fa:	29 c8                	sub    %ecx,%eax
4039fc:	8b 74 47 fc          	mov    -0x4(%edi,%eax,2),%esi
403a00:	5f                   	pop    %edi
403a01:	c3                   	ret
403a02:	8b c0                	mov    %eax,%eax
403a04:	50                   	push   %eax
403a05:	51                   	push   %ecx
403a06:	8b 00                	mov    (%eax),%eax
403a08:	e8 c7 ff ff ff       	call   0x4039d4
403a0d:	59                   	pop    %ecx
403a0e:	58                   	pop    %eax
403a0f:	74 02                	je     0x403a13
403a11:	ff e6                	jmp    *%esi
403a13:	59                   	pop    %ecx
403a14:	e9 2b f3 ff ff       	jmp    0x402d44
403a19:	c3                   	ret
403a1a:	8b c0                	mov    %eax,%eax
403a1c:	eb 02                	jmp    0x403a20
403a1e:	8b 00                	mov    (%eax),%eax
403a20:	39 d0                	cmp    %edx,%eax
403a22:	74 08                	je     0x403a2c
403a24:	8b 40 dc             	mov    -0x24(%eax),%eax
403a27:	85 c0                	test   %eax,%eax
403a29:	75 f3                	jne    0x403a1e
403a2b:	c3                   	ret
403a2c:	b0 01                	mov    $0x1,%al
403a2e:	c3                   	ret
403a2f:	90                   	nop
403a30:	51                   	push   %ecx
403a31:	83 c0 c4             	add    $0xffffffc4,%eax
403a34:	8b 00                	mov    (%eax),%eax
403a36:	89 04 24             	mov    %eax,(%esp)
403a39:	8b 04 24             	mov    (%esp),%eax
403a3c:	5a                   	pop    %edx
403a3d:	c3                   	ret
403a3e:	8b c0                	mov    %eax,%eax
403a40:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
403a45:	c3                   	ret
403a46:	8b c0                	mov    %eax,%eax
403a48:	c3                   	ret
403a49:	8d 40 00             	lea    0x0(%eax),%eax
403a4c:	c3                   	ret
403a4d:	8d 40 00             	lea    0x0(%eax),%eax
403a50:	c3                   	ret
403a51:	8d 40 00             	lea    0x0(%eax),%eax
403a54:	56                   	push   %esi
403a55:	66 8b 32             	mov    (%edx),%si
403a58:	66 09 f6             	or     %si,%si
403a5b:	74 17                	je     0x403a74
403a5d:	66 81 fe 00 c0       	cmp    $0xc000,%si
403a62:	73 10                	jae    0x403a74
403a64:	50                   	push   %eax
403a65:	8b 00                	mov    (%eax),%eax
403a67:	e8 68 ff ff ff       	call   0x4039d4
403a6c:	58                   	pop    %eax
403a6d:	74 05                	je     0x403a74
403a6f:	89 f1                	mov    %esi,%ecx
403a71:	5e                   	pop    %esi
403a72:	ff e1                	jmp    *%ecx
403a74:	5e                   	pop    %esi
403a75:	8b 08                	mov    (%eax),%ecx
403a77:	ff 61 f0             	jmp    *-0x10(%ecx)
403a7a:	c3                   	ret
403a7b:	90                   	nop
403a7c:	53                   	push   %ebx
403a7d:	56                   	push   %esi
403a7e:	57                   	push   %edi
403a7f:	31 c9                	xor    %ecx,%ecx
403a81:	31 ff                	xor    %edi,%edi
403a83:	8a 1a                	mov    (%edx),%bl
403a85:	eb 02                	jmp    0x403a89
403a87:	8b 00                	mov    (%eax),%eax
403a89:	8b 70 cc             	mov    -0x34(%eax),%esi
403a8c:	85 f6                	test   %esi,%esi
403a8e:	74 15                	je     0x403aa5
403a90:	66 8b 3e             	mov    (%esi),%di
403a93:	83 c6 02             	add    $0x2,%esi
403a96:	8a 4e 06             	mov    0x6(%esi),%cl
403a99:	38 d9                	cmp    %bl,%cl
403a9b:	74 15                	je     0x403ab2
403a9d:	66 8b 0e             	mov    (%esi),%cx
403aa0:	01 ce                	add    %ecx,%esi
403aa2:	4f                   	dec    %edi
403aa3:	75 f1                	jne    0x403a96
403aa5:	8b 40 dc             	mov    -0x24(%eax),%eax
403aa8:	85 c0                	test   %eax,%eax
403aaa:	75 db                	jne    0x403a87
403aac:	eb 18                	jmp    0x403ac6
403aae:	8a 1a                	mov    (%edx),%bl
403ab0:	eb eb                	jmp    0x403a9d
403ab2:	b5 00                	mov    $0x0,%ch
403ab4:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403ab8:	32 1c 11             	xor    (%ecx,%edx,1),%bl
403abb:	80 e3 df             	and    $0xdf,%bl
403abe:	75 ee                	jne    0x403aae
403ac0:	49                   	dec    %ecx
403ac1:	75 f1                	jne    0x403ab4
403ac3:	8b 46 02             	mov    0x2(%esi),%eax
403ac6:	5f                   	pop    %edi
403ac7:	5e                   	pop    %esi
403ac8:	5b                   	pop    %ebx
403ac9:	c3                   	ret
403aca:	8b c0                	mov    %eax,%eax
403acc:	53                   	push   %ebx
403acd:	56                   	push   %esi
403ace:	57                   	push   %edi
403acf:	31 c9                	xor    %ecx,%ecx
403ad1:	31 ff                	xor    %edi,%edi
403ad3:	8a 1a                	mov    (%edx),%bl
403ad5:	50                   	push   %eax
403ad6:	8b 00                	mov    (%eax),%eax
403ad8:	8b 70 c8             	mov    -0x38(%eax),%esi
403adb:	85 f6                	test   %esi,%esi
403add:	74 14                	je     0x403af3
403adf:	66 8b 3e             	mov    (%esi),%di
403ae2:	83 c6 06             	add    $0x6,%esi
403ae5:	8a 4e 06             	mov    0x6(%esi),%cl
403ae8:	38 d9                	cmp    %bl,%cl
403aea:	74 18                	je     0x403b04
403aec:	8d 74 31 07          	lea    0x7(%ecx,%esi,1),%esi
403af0:	4f                   	dec    %edi
403af1:	75 f2                	jne    0x403ae5
403af3:	8b 40 dc             	mov    -0x24(%eax),%eax
403af6:	85 c0                	test   %eax,%eax
403af8:	75 dc                	jne    0x403ad6
403afa:	5a                   	pop    %edx
403afb:	eb 1b                	jmp    0x403b18
403afd:	8a 1a                	mov    (%edx),%bl
403aff:	8a 4e 06             	mov    0x6(%esi),%cl
403b02:	eb e8                	jmp    0x403aec
403b04:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403b08:	32 1c 11             	xor    (%ecx,%edx,1),%bl
403b0b:	80 e3 df             	and    $0xdf,%bl
403b0e:	75 ed                	jne    0x403afd
403b10:	49                   	dec    %ecx
403b11:	75 f1                	jne    0x403b04
403b13:	8b 06                	mov    (%esi),%eax
403b15:	5a                   	pop    %edx
403b16:	01 d0                	add    %edx,%eax
403b18:	5f                   	pop    %edi
403b19:	5e                   	pop    %esi
403b1a:	5b                   	pop    %ebx
403b1b:	c3                   	ret
403b1c:	52                   	push   %edx
403b1d:	51                   	push   %ecx
403b1e:	53                   	push   %ebx
403b1f:	84 d2                	test   %dl,%dl
403b21:	7c 03                	jl     0x403b26
403b23:	ff 50 f4             	call   *-0xc(%eax)
403b26:	31 d2                	xor    %edx,%edx
403b28:	8d 4c 24 10          	lea    0x10(%esp),%ecx
403b2c:	64 8b 1a             	mov    %fs:(%edx),%ebx
403b2f:	89 19                	mov    %ebx,(%ecx)
403b31:	89 69 08             	mov    %ebp,0x8(%ecx)
403b34:	c7 41 04 45 3b 40 00 	movl   $0x403b45,0x4(%ecx)
403b3b:	89 41 0c             	mov    %eax,0xc(%ecx)
403b3e:	64 89 0a             	mov    %ecx,%fs:(%edx)
403b41:	5b                   	pop    %ebx
403b42:	59                   	pop    %ecx
403b43:	5a                   	pop    %edx
403b44:	c3                   	ret
403b45:	e9 4e 01 00 00       	jmp    0x403c98
403b4a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403b4e:	8b 40 0c             	mov    0xc(%eax),%eax
403b51:	85 c0                	test   %eax,%eax
403b53:	74 0e                	je     0x403b63
403b55:	8b 08                	mov    (%eax),%ecx
403b57:	b2 81                	mov    $0x81,%dl
403b59:	50                   	push   %eax
403b5a:	ff 51 fc             	call   *-0x4(%ecx)
403b5d:	58                   	pop    %eax
403b5e:	e8 09 00 00 00       	call   0x403b6c
403b63:	e8 44 04 00 00       	call   0x403fac
403b68:	c3                   	ret
403b69:	8d 40 00             	lea    0x0(%eax),%eax
403b6c:	8b 10                	mov    (%eax),%edx
403b6e:	ff 52 f8             	call   *-0x8(%edx)
403b71:	c3                   	ret
403b72:	8b c0                	mov    %eax,%eax
403b74:	53                   	push   %ebx
403b75:	8b d8                	mov    %eax,%ebx
403b77:	8b c3                	mov    %ebx,%eax
403b79:	8b 10                	mov    (%eax),%edx
403b7b:	ff 52 e4             	call   *-0x1c(%edx)
403b7e:	8b c3                	mov    %ebx,%eax
403b80:	5b                   	pop    %ebx
403b81:	c3                   	ret
403b82:	8b c0                	mov    %eax,%eax
403b84:	84 d2                	test   %dl,%dl
403b86:	7f 01                	jg     0x403b89
403b88:	c3                   	ret
403b89:	50                   	push   %eax
403b8a:	52                   	push   %edx
403b8b:	8b 10                	mov    (%eax),%edx
403b8d:	ff 52 e8             	call   *-0x18(%edx)
403b90:	5a                   	pop    %edx
403b91:	58                   	pop    %eax
403b92:	c3                   	ret
403b93:	90                   	nop
403b94:	80 3d 2c 50 45 00 01 	cmpb   $0x1,0x45502c
403b9b:	76 11                	jbe    0x403bae
403b9d:	6a 00                	push   $0x0
403b9f:	6a 00                	push   $0x0
403ba1:	6a 00                	push   $0x0
403ba3:	68 df fa ed 0e       	push   $0xeedfadf
403ba8:	ff 15 14 10 46 00    	call   *0x461014
403bae:	c3                   	ret
403baf:	90                   	nop
403bb0:	80 3d 2c 50 45 00 00 	cmpb   $0x0,0x45502c
403bb7:	74 17                	je     0x403bd0
403bb9:	50                   	push   %eax