4a3778:	81 e2 ff ff 00 00    	and    $0xffff,%edx
4a377e:	8d 42 fe             	lea    -0x2(%edx),%eax
4a3781:	83 f8 11             	cmp    $0x11,%eax
4a3784:	0f 87 bd 00 00 00    	ja     0x4a3847
4a378a:	ff 24 85 6c 38 4a 00 	jmp    *0x4a386c(,%eax,4)
4a3791:	8b 45 dc             	mov    -0x24(%ebp),%eax
4a3794:	25 ff 00 00 00       	and    $0xff,%eax
4a3799:	89 45 08             	mov    %eax,0x8(%ebp)
4a379c:	db 45 08             	fildl  0x8(%ebp)
4a379f:	dd 5d e4             	fstpl  -0x1c(%ebp)
4a37a2:	e9 ae 00 00 00       	jmp    0x4a3855
4a37a7:	0f bf 4d dc          	movswl -0x24(%ebp),%ecx
4a37ab:	89 4d 08             	mov    %ecx,0x8(%ebp)
4a37ae:	db 45 08             	fildl  0x8(%ebp)
4a37b1:	dd 5d e4             	fstpl  -0x1c(%ebp)
4a37b4:	e9 9c 00 00 00       	jmp    0x4a3855
4a37b9:	db 45 dc             	fildl  -0x24(%ebp)
4a37bc:	dd 5d e4             	fstpl  -0x1c(%ebp)
4a37bf:	e9 91 00 00 00       	jmp    0x4a3855
4a37c4:	d9 45 dc             	flds   -0x24(%ebp)
4a37c7:	dd 5d e4             	fstpl  -0x1c(%ebp)
4a37ca:	e9 86 00 00 00       	jmp    0x4a3855
4a37cf:	8b 55 dc             	mov    -0x24(%ebp),%edx
4a37d2:	8b 45 e0             	mov    -0x20(%ebp),%eax
4a37d5:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4a37d8:	89 45 e8             	mov    %eax,-0x18(%ebp)
4a37db:	eb 78                	jmp    0x4a3855
4a37dd:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4a37e0:	8b 55 e0             	mov    -0x20(%ebp),%edx
4a37e3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4a37e6:	89 55 e8             	mov    %edx,-0x18(%ebp)
4a37e9:	eb 6a                	jmp    0x4a3855
4a37eb:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4a37ee:	8b 55 dc             	mov    -0x24(%ebp),%edx
4a37f1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4a37f4:	50                   	push   %eax
4a37f5:	51                   	push   %ecx
4a37f6:	52                   	push   %edx
4a37f7:	ff 15 ec 31 4b 00    	call   *0x4b31ec
4a37fd:	eb 56                	jmp    0x4a3855
4a37ff:	0f be 45 dc          	movsbl -0x24(%ebp),%eax
4a3803:	89 45 08             	mov    %eax,0x8(%ebp)
4a3806:	db 45 08             	fildl  0x8(%ebp)
4a3809:	dd 5d e4             	fstpl  -0x1c(%ebp)
4a380c:	eb 47                	jmp    0x4a3855
4a380e:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4a3811:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
4a3817:	89 4d 08             	mov    %ecx,0x8(%ebp)
4a381a:	db 45 08             	fildl  0x8(%ebp)
4a381d:	dd 5d e4             	fstpl  -0x1c(%ebp)
4a3820:	eb 33                	jmp    0x4a3855
4a3822:	8b 55 dc             	mov    -0x24(%ebp),%edx
4a3825:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4a382c:	89 55 f0             	mov    %edx,-0x10(%ebp)
4a382f:	df 6d f0             	fildll -0x10(%ebp)
4a3832:	dd 5d e4             	fstpl  -0x1c(%ebp)
4a3835:	eb 1e                	jmp    0x4a3855
4a3837:	8b 4d dc             	mov    -0x24(%ebp),%ecx
4a383a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4a383d:	50                   	push   %eax
4a383e:	51                   	push   %ecx
4a383f:	ff 15 bc 31 4b 00    	call   *0x4b31bc
4a3845:	eb 0e                	jmp    0x4a3855
4a3847:	c7 45 e4 00 00 00 00 	movl   $0x0,-0x1c(%ebp)
4a384e:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
4a3855:	8d 55 d4             	lea    -0x2c(%ebp),%edx
4a3858:	52                   	push   %edx
4a3859:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a385f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4a3862:	8b 55 e8             	mov    -0x18(%ebp),%edx
4a3865:	5e                   	pop    %esi
4a3866:	8b e5                	mov    %ebp,%esp
4a3868:	5d                   	pop    %ebp
4a3869:	c3                   	ret
4a386a:	8b ff                	mov    %edi,%edi
4a386c:	a7                   	cmpsl  %es:(%edi),%ds:(%esi)
4a386d:	37                   	aaa
4a386e:	4a                   	dec    %edx
4a386f:	00 b9 37 4a 00 c4    	add    %bh,-0x3bffb5c9(%ecx)
4a3875:	37                   	aaa
4a3876:	4a                   	dec    %edx
4a3877:	00 cf                	add    %cl,%bh
4a3879:	37                   	aaa
4a387a:	4a                   	dec    %edx
4a387b:	00 eb                	add    %ch,%bl
4a387d:	37                   	aaa
4a387e:	4a                   	dec    %edx
4a387f:	00 dd                	add    %bl,%ch
4a3881:	37                   	aaa
4a3882:	4a                   	dec    %edx
4a3883:	00 47 38             	add    %al,0x38(%edi)
4a3886:	4a                   	dec    %edx
4a3887:	00 47 38             	add    %al,0x38(%edi)
4a388a:	4a                   	dec    %edx
4a388b:	00 47 38             	add    %al,0x38(%edi)
4a388e:	4a                   	dec    %edx
4a388f:	00 37                	add    %dh,(%edi)
4a3891:	38 4a 00             	cmp    %cl,0x0(%edx)
4a3894:	47                   	inc    %edi
4a3895:	38 4a 00             	cmp    %cl,0x0(%edx)
4a3898:	47                   	inc    %edi
4a3899:	38 4a 00             	cmp    %cl,0x0(%edx)
4a389c:	47                   	inc    %edi
4a389d:	38 4a 00             	cmp    %cl,0x0(%edx)
4a38a0:	47                   	inc    %edi
4a38a1:	38 4a 00             	cmp    %cl,0x0(%edx)
4a38a4:	ff 37                	push   (%edi)
4a38a6:	4a                   	dec    %edx
4a38a7:	00 91 37 4a 00 0e    	add    %dl,0xe004a37(%ecx)
4a38ad:	38 4a 00             	cmp    %cl,0x0(%edx)
4a38b0:	22 38                	and    (%eax),%bh
4a38b2:	4a                   	dec    %edx
4a38b3:	00 90 90 90 90 90    	add    %dl,-0x6f6f6f70(%eax)
4a38b9:	90                   	nop
4a38ba:	90                   	nop
4a38bb:	90                   	nop
4a38bc:	90                   	nop
4a38bd:	90                   	nop
4a38be:	90                   	nop
4a38bf:	90                   	nop
4a38c0:	8b 44 24 08          	mov    0x8(%esp),%eax
4a38c4:	83 ec 18             	sub    $0x18,%esp
4a38c7:	8b 08                	mov    (%eax),%ecx
4a38c9:	56                   	push   %esi
4a38ca:	85 c9                	test   %ecx,%ecx
4a38cc:	8b f0                	mov    %eax,%esi
4a38ce:	75 0e                	jne    0x4a38de
4a38d0:	c7 40 04 03 40 00 80 	movl   $0x80004003,0x4(%eax)
4a38d7:	33 c0                	xor    %eax,%eax
4a38d9:	5e                   	pop    %esi
4a38da:	83 c4 18             	add    $0x18,%esp
4a38dd:	c3                   	ret
4a38de:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
4a38e5:	00
4a38e6:	8b 00                	mov    (%eax),%eax
4a38e8:	8d 54 24 04          	lea    0x4(%esp),%edx
4a38ec:	8b 08                	mov    (%eax),%ecx
4a38ee:	52                   	push   %edx
4a38ef:	68 b0 35 4b 00       	push   $0x4b35b0
4a38f4:	50                   	push   %eax
4a38f5:	ff 11                	call   *(%ecx)
4a38f7:	85 c0                	test   %eax,%eax
4a38f9:	89 46 04             	mov    %eax,0x4(%esi)
4a38fc:	74 07                	je     0x4a3905
4a38fe:	33 c0                	xor    %eax,%eax
4a3900:	5e                   	pop    %esi
4a3901:	83 c4 18             	add    $0x18,%esp
4a3904:	c3                   	ret
4a3905:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4a3909:	8b 54 24 04          	mov    0x4(%esp),%edx
4a390d:	8d 44 24 08          	lea    0x8(%esp),%eax
4a3911:	50                   	push   %eax
4a3912:	51                   	push   %ecx
4a3913:	52                   	push   %edx
4a3914:	e8 57 ea ff ff       	call   0x4a2370
4a3919:	83 c4 0c             	add    $0xc,%esp
4a391c:	89 46 04             	mov    %eax,0x4(%esi)
4a391f:	85 c0                	test   %eax,%eax
4a3921:	74 07                	je     0x4a392a
4a3923:	33 c0                	xor    %eax,%eax
4a3925:	5e                   	pop    %esi
4a3926:	83 c4 18             	add    $0x18,%esp
4a3929:	c3                   	ret
4a392a:	8b 44 24 20          	mov    0x20(%esp),%eax
4a392e:	8d 48 fe             	lea    -0x2(%eax),%ecx
4a3931:	48                   	dec    %eax
4a3932:	83 f8 02             	cmp    $0x2,%eax
4a3935:	7c 16                	jl     0x4a394d
4a3937:	8d 14 40             	lea    (%eax,%eax,2),%edx
4a393a:	8d 54 94 2c          	lea    0x2c(%esp,%edx,4),%edx
4a393e:	83 3a 00             	cmpl   $0x0,(%edx)
4a3941:	75 0a                	jne    0x4a394d
4a3943:	49                   	dec    %ecx
4a3944:	48                   	dec    %eax
4a3945:	83 ea 0c             	sub    $0xc,%edx
4a3948:	83 f8 02             	cmp    $0x2,%eax
4a394b:	7d f1                	jge    0x4a393e
4a394d:	33 c0                	xor    %eax,%eax
4a394f:	8d 54 24 3c          	lea    0x3c(%esp),%edx
4a3953:	89 44 24 0c          	mov    %eax,0xc(%esp)
4a3957:	52                   	push   %edx
4a3958:	89 44 24 14          	mov    %eax,0x14(%esp)
4a395c:	8b 54 24 08          	mov    0x8(%esp),%edx
4a3960:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3964:	51                   	push   %ecx
4a3965:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4a3969:	89 44 24 20          	mov    %eax,0x20(%esp)
4a396d:	8d 44 24 14          	lea    0x14(%esp),%eax
4a3971:	50                   	push   %eax
4a3972:	6a 01                	push   $0x1
4a3974:	51                   	push   %ecx
4a3975:	52                   	push   %edx
4a3976:	e8 45 ea ff ff       	call   0x4a23c0
4a397b:	89 46 04             	mov    %eax,0x4(%esi)
4a397e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4a3982:	83 c4 18             	add    $0x18,%esp
4a3985:	8b 08                	mov    (%eax),%ecx
4a3987:	50                   	push   %eax
4a3988:	ff 51 08             	call   *0x8(%ecx)
4a398b:	33 f6                	xor    %esi,%esi
4a398d:	66 83 7c 24 0c 0b    	cmpw   $0xb,0xc(%esp)
4a3993:	75 0c                	jne    0x4a39a1
4a3995:	33 d2                	xor    %edx,%edx
4a3997:	66 39 54 24 14       	cmp    %dx,0x14(%esp)
4a399c:	0f 95 c2             	setne  %dl
4a399f:	8b f2                	mov    %edx,%esi
4a39a1:	8d 44 24 0c          	lea    0xc(%esp),%eax
4a39a5:	50                   	push   %eax
4a39a6:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a39ac:	8b c6                	mov    %esi,%eax
4a39ae:	5e                   	pop    %esi
4a39af:	83 c4 18             	add    $0x18,%esp
4a39b2:	c3                   	ret
4a39b3:	90                   	nop
4a39b4:	90                   	nop
4a39b5:	90                   	nop
4a39b6:	90                   	nop
4a39b7:	90                   	nop
4a39b8:	90                   	nop
4a39b9:	90                   	nop
4a39ba:	90                   	nop
4a39bb:	90                   	nop
4a39bc:	90                   	nop
4a39bd:	90                   	nop
4a39be:	90                   	nop
4a39bf:	90                   	nop
4a39c0:	83 ec 18             	sub    $0x18,%esp
4a39c3:	56                   	push   %esi
4a39c4:	57                   	push   %edi
4a39c5:	6a 08                	push   $0x8
4a39c7:	e8 24 d3 ff ff       	call   0x4a0cf0
4a39cc:	8b f8                	mov    %eax,%edi
4a39ce:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4a39d2:	83 c4 04             	add    $0x4,%esp
4a39d5:	8b f0                	mov    %eax,%esi
4a39d7:	83 38 00             	cmpl   $0x0,(%eax)
4a39da:	75 0f                	jne    0x4a39eb
4a39dc:	c7 40 04 03 40 00 80 	movl   $0x80004003,0x4(%eax)
4a39e3:	8b c7                	mov    %edi,%eax
4a39e5:	5f                   	pop    %edi
4a39e6:	5e                   	pop    %esi
4a39e7:	83 c4 18             	add    $0x18,%esp
4a39ea:	c3                   	ret
4a39eb:	c7 44 24 08 00 00 00 	movl   $0x0,0x8(%esp)
4a39f2:	00
4a39f3:	8b 00                	mov    (%eax),%eax
4a39f5:	8d 54 24 08          	lea    0x8(%esp),%edx
4a39f9:	8b 08                	mov    (%eax),%ecx
4a39fb:	52                   	push   %edx
4a39fc:	68 b0 35 4b 00       	push   $0x4b35b0
4a3a01:	50                   	push   %eax
4a3a02:	ff 11                	call   *(%ecx)
4a3a04:	85 c0                	test   %eax,%eax
4a3a06:	89 46 04             	mov    %eax,0x4(%esi)
4a3a09:	0f 85 e1 00 00 00    	jne    0x4a3af0
4a3a0f:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4a3a13:	8b 54 24 08          	mov    0x8(%esp),%edx
4a3a17:	8d 44 24 0c          	lea    0xc(%esp),%eax
4a3a1b:	50                   	push   %eax
4a3a1c:	51                   	push   %ecx
4a3a1d:	52                   	push   %edx
4a3a1e:	e8 4d e9 ff ff       	call   0x4a2370
4a3a23:	83 c4 0c             	add    $0xc,%esp
4a3a26:	89 46 04             	mov    %eax,0x4(%esi)
4a3a29:	85 c0                	test   %eax,%eax
4a3a2b:	0f 85 bf 00 00 00    	jne    0x4a3af0
4a3a31:	8b 44 24 24          	mov    0x24(%esp),%eax
4a3a35:	8d 48 fe             	lea    -0x2(%eax),%ecx
4a3a38:	48                   	dec    %eax
4a3a39:	83 f8 02             	cmp    $0x2,%eax
4a3a3c:	7c 16                	jl     0x4a3a54
4a3a3e:	8d 14 40             	lea    (%eax,%eax,2),%edx
4a3a41:	8d 54 94 30          	lea    0x30(%esp,%edx,4),%edx
4a3a45:	83 3a 00             	cmpl   $0x0,(%edx)
4a3a48:	75 0a                	jne    0x4a3a54
4a3a4a:	49                   	dec    %ecx
4a3a4b:	48                   	dec    %eax
4a3a4c:	83 ea 0c             	sub    $0xc,%edx
4a3a4f:	83 f8 02             	cmp    $0x2,%eax
4a3a52:	7d f1                	jge    0x4a3a45
4a3a54:	33 c0                	xor    %eax,%eax
4a3a56:	8d 54 24 40          	lea    0x40(%esp),%edx
4a3a5a:	89 44 24 10          	mov    %eax,0x10(%esp)
4a3a5e:	52                   	push   %edx
4a3a5f:	89 44 24 18          	mov    %eax,0x18(%esp)
4a3a63:	8b 54 24 0c          	mov    0xc(%esp),%edx
4a3a67:	89 44 24 1c          	mov    %eax,0x1c(%esp)
4a3a6b:	51                   	push   %ecx
4a3a6c:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4a3a70:	89 44 24 24          	mov    %eax,0x24(%esp)
4a3a74:	8d 44 24 18          	lea    0x18(%esp),%eax
4a3a78:	50                   	push   %eax
4a3a79:	6a 01                	push   $0x1
4a3a7b:	51                   	push   %ecx
4a3a7c:	52                   	push   %edx
4a3a7d:	e8 3e e9 ff ff       	call   0x4a23c0
4a3a82:	89 46 04             	mov    %eax,0x4(%esi)
4a3a85:	8b 44 24 20          	mov    0x20(%esp),%eax
4a3a89:	83 c4 18             	add    $0x18,%esp
4a3a8c:	8b 08                	mov    (%eax),%ecx
4a3a8e:	50                   	push   %eax
4a3a8f:	ff 51 08             	call   *0x8(%ecx)
4a3a92:	8b 44 24 10          	mov    0x10(%esp),%eax
4a3a96:	25 ff ff 00 00       	and    $0xffff,%eax
4a3a9b:	3d 09 40 00 00       	cmp    $0x4009,%eax
4a3aa0:	7f 2a                	jg     0x4a3acc
4a3aa2:	74 1a                	je     0x4a3abe
4a3aa4:	83 f8 09             	cmp    $0x9,%eax
4a3aa7:	74 05                	je     0x4a3aae
4a3aa9:	83 f8 0d             	cmp    $0xd,%eax
4a3aac:	75 37                	jne    0x4a3ae5
4a3aae:	8b 54 24 18          	mov    0x18(%esp),%edx
4a3ab2:	89 17                	mov    %edx,(%edi)
4a3ab4:	8b 44 24 18          	mov    0x18(%esp),%eax
4a3ab8:	85 c0                	test   %eax,%eax
4a3aba:	74 29                	je     0x4a3ae5
4a3abc:	eb 21                	jmp    0x4a3adf
4a3abe:	8b 54 24 18          	mov    0x18(%esp),%edx
4a3ac2:	8b 02                	mov    (%edx),%eax
4a3ac4:	85 c0                	test   %eax,%eax
4a3ac6:	89 07                	mov    %eax,(%edi)
4a3ac8:	74 1b                	je     0x4a3ae5
4a3aca:	eb 13                	jmp    0x4a3adf
4a3acc:	3d 0d 40 00 00       	cmp    $0x400d,%eax
4a3ad1:	75 12                	jne    0x4a3ae5
4a3ad3:	8b 54 24 18          	mov    0x18(%esp),%edx
4a3ad7:	8b 02                	mov    (%edx),%eax
4a3ad9:	85 c0                	test   %eax,%eax
4a3adb:	89 07                	mov    %eax,(%edi)
4a3add:	74 06                	je     0x4a3ae5
4a3adf:	8b 08                	mov    (%eax),%ecx
4a3ae1:	50                   	push   %eax
4a3ae2:	ff 51 04             	call   *0x4(%ecx)
4a3ae5:	8d 54 24 10          	lea    0x10(%esp),%edx
4a3ae9:	52                   	push   %edx
4a3aea:	ff 15 cc 31 4b 00    	call   *0x4b31cc
4a3af0:	8b c7                	mov    %edi,%eax
4a3af2:	5f                   	pop    %edi
4a3af3:	5e                   	pop    %esi
4a3af4:	83 c4 18             	add    $0x18,%esp
4a3af7:	c3                   	ret
4a3af8:	90                   	nop
4a3af9:	90                   	nop
4a3afa:	90                   	nop
4a3afb:	90                   	nop
4a3afc:	90                   	nop
4a3afd:	90                   	nop
4a3afe:	90                   	nop
4a3aff:	90                   	nop
4a3b00:	8b 44 24 08          	mov    0x8(%esp),%eax