449a21:	8b f1                	mov    %ecx,%esi
449a23:	57                   	push   %edi
449a24:	8d 7e 30             	lea    0x30(%esi),%edi
449a27:	83 3f 00             	cmpl   $0x0,(%edi)
449a2a:	74 53                	je     0x449a7f
449a2c:	53                   	push   %ebx
449a2d:	8d 5e 34             	lea    0x34(%esi),%ebx
449a30:	ff 33                	push   (%ebx)
449a32:	53                   	push   %ebx
449a33:	ff 15 5c d2 48 00    	call   *0x48d25c
449a39:	3d f6 01 00 00       	cmp    $0x1f6,%eax
449a3e:	74 3e                	je     0x449a7e
449a40:	83 c6 14             	add    $0x14,%esi
449a43:	56                   	push   %esi
449a44:	ff 15 40 d3 48 00    	call   *0x48d340
449a4a:	68 f6 01 00 00       	push   $0x1f6
449a4f:	ff 37                	push   (%edi)
449a51:	ff 15 60 d2 48 00    	call   *0x48d260
449a57:	68 e8 03 00 00       	push   $0x3e8
449a5c:	ff 37                	push   (%edi)
449a5e:	ff 15 4c d2 48 00    	call   *0x48d24c
449a64:	8b cf                	mov    %edi,%ecx
449a66:	e8 66 f9 ff ff       	call   0x4493d1
449a6b:	68 f6 01 00 00       	push   $0x1f6
449a70:	53                   	push   %ebx
449a71:	ff 15 5c d2 48 00    	call   *0x48d25c
449a77:	56                   	push   %esi
449a78:	ff 15 50 d2 48 00    	call   *0x48d250
449a7e:	5b                   	pop    %ebx
449a7f:	5f                   	pop    %edi
449a80:	5e                   	pop    %esi
449a81:	c3                   	ret
449a82:	56                   	push   %esi
449a83:	8b f1                	mov    %ecx,%esi
449a85:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
449a89:	75 1b                	jne    0x449aa6
449a8b:	e8 1c fe ff ff       	call   0x4498ac
449a90:	84 c0                	test   %al,%al
449a92:	74 12                	je     0x449aa6
449a94:	8b 4e 08             	mov    0x8(%esi),%ecx
449a97:	e8 38 f8 ff ff       	call   0x4492d4
449a9c:	8b c8                	mov    %eax,%ecx
449a9e:	89 46 20             	mov    %eax,0x20(%esi)
449aa1:	e8 53 ff ff ff       	call   0x4499f9
449aa6:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
449aaa:	75 27                	jne    0x449ad3
449aac:	8b ce                	mov    %esi,%ecx
449aae:	e8 fc fc ff ff       	call   0x4497af
449ab3:	84 c0                	test   %al,%al
449ab5:	74 1c                	je     0x449ad3
449ab7:	e8 e9 fc ff ff       	call   0x4497a5
449abc:	84 c0                	test   %al,%al
449abe:	75 13                	jne    0x449ad3
449ac0:	8b 4e 10             	mov    0x10(%esi),%ecx
449ac3:	e8 0c f8 ff ff       	call   0x4492d4
449ac8:	89 46 24             	mov    %eax,0x24(%esi)
449acb:	8b c8                	mov    %eax,%ecx
449acd:	5e                   	pop    %esi
449ace:	e9 26 ff ff ff       	jmp    0x4499f9
449ad3:	5e                   	pop    %esi
449ad4:	c3                   	ret
449ad5:	56                   	push   %esi
449ad6:	8b f1                	mov    %ecx,%esi
449ad8:	8b 4e 20             	mov    0x20(%esi),%ecx
449adb:	85 c9                	test   %ecx,%ecx
449add:	74 05                	je     0x449ae4
449adf:	e8 3c ff ff ff       	call   0x449a20
449ae4:	8b 4e 24             	mov    0x24(%esi),%ecx
449ae7:	5e                   	pop    %esi
449ae8:	85 c9                	test   %ecx,%ecx
449aea:	0f 85 30 ff ff ff    	jne    0x449a20
449af0:	c3                   	ret
449af1:	55                   	push   %ebp
449af2:	8b ec                	mov    %esp,%ebp
449af4:	56                   	push   %esi
449af5:	57                   	push   %edi
449af6:	8b 7d 08             	mov    0x8(%ebp),%edi
449af9:	8b f1                	mov    %ecx,%esi
449afb:	66 8b 47 08          	mov    0x8(%edi),%ax
449aff:	66 89 46 08          	mov    %ax,0x8(%esi)
449b03:	66 8b 47 0a          	mov    0xa(%edi),%ax
449b07:	66 89 46 0a          	mov    %ax,0xa(%esi)
449b0b:	e8 fc 3d fd ff       	call   0x41d90c
449b10:	84 c0                	test   %al,%al
449b12:	74 30                	je     0x449b44
449b14:	6a 10                	push   $0x10
449b16:	e8 cf 59 fd ff       	call   0x41f4ea
449b1b:	8b d0                	mov    %eax,%edx
449b1d:	59                   	pop    %ecx
449b1e:	85 d2                	test   %edx,%edx
449b20:	74 1c                	je     0x449b3e
449b22:	8b 07                	mov    (%edi),%eax
449b24:	8b 08                	mov    (%eax),%ecx
449b26:	89 0a                	mov    %ecx,(%edx)
449b28:	8b 48 04             	mov    0x4(%eax),%ecx
449b2b:	89 4a 04             	mov    %ecx,0x4(%edx)
449b2e:	8b 48 08             	mov    0x8(%eax),%ecx
449b31:	89 4a 08             	mov    %ecx,0x8(%edx)
449b34:	8b 40 0c             	mov    0xc(%eax),%eax
449b37:	89 42 0c             	mov    %eax,0xc(%edx)
449b3a:	ff 00                	incl   (%eax)
449b3c:	eb 02                	jmp    0x449b40
449b3e:	33 d2                	xor    %edx,%edx
449b40:	89 16                	mov    %edx,(%esi)
449b42:	eb 26                	jmp    0x449b6a
449b44:	0f b7 46 08          	movzwl 0x8(%esi),%eax
449b48:	66 83 f8 10          	cmp    $0x10,%ax
449b4c:	75 0c                	jne    0x449b5a
449b4e:	8b 07                	mov    (%edi),%eax
449b50:	89 06                	mov    %eax,(%esi)
449b52:	8b 47 04             	mov    0x4(%edi),%eax
449b55:	89 46 04             	mov    %eax,0x4(%esi)
449b58:	eb 10                	jmp    0x449b6a
449b5a:	66 83 f8 20          	cmp    $0x20,%ax
449b5e:	75 06                	jne    0x449b66
449b60:	dd 07                	fldl   (%edi)
449b62:	dd 1e                	fstpl  (%esi)
449b64:	eb 04                	jmp    0x449b6a
449b66:	8b 07                	mov    (%edi),%eax
449b68:	89 06                	mov    %eax,(%esi)
449b6a:	5f                   	pop    %edi
449b6b:	8b c6                	mov    %esi,%eax
449b6d:	5e                   	pop    %esi
449b6e:	5d                   	pop    %ebp
449b6f:	c2 04 00             	ret    $0x4
449b72:	55                   	push   %ebp
449b73:	8b ec                	mov    %esp,%ebp
449b75:	56                   	push   %esi
449b76:	57                   	push   %edi
449b77:	8b 7d 08             	mov    0x8(%ebp),%edi
449b7a:	8b f1                	mov    %ecx,%esi
449b7c:	3b f7                	cmp    %edi,%esi
449b7e:	0f 84 86 00 00 00    	je     0x449c0a
449b84:	e8 83 3d fd ff       	call   0x41d90c
449b89:	84 c0                	test   %al,%al
449b8b:	74 0c                	je     0x449b99
449b8d:	8b 0e                	mov    (%esi),%ecx
449b8f:	85 c9                	test   %ecx,%ecx
449b91:	74 06                	je     0x449b99
449b93:	51                   	push   %ecx
449b94:	e8 00 8f fb ff       	call   0x402a99
449b99:	66 8b 47 08          	mov    0x8(%edi),%ax
449b9d:	66 89 46 08          	mov    %ax,0x8(%esi)
449ba1:	66 8b 47 0a          	mov    0xa(%edi),%ax
449ba5:	8b ce                	mov    %esi,%ecx
449ba7:	66 89 46 0a          	mov    %ax,0xa(%esi)
449bab:	e8 5c 3d fd ff       	call   0x41d90c
449bb0:	84 c0                	test   %al,%al
449bb2:	74 30                	je     0x449be4
449bb4:	6a 10                	push   $0x10
449bb6:	e8 2f 59 fd ff       	call   0x41f4ea
449bbb:	8b d0                	mov    %eax,%edx
449bbd:	59                   	pop    %ecx
449bbe:	85 d2                	test   %edx,%edx
449bc0:	74 1c                	je     0x449bde
449bc2:	8b 07                	mov    (%edi),%eax
449bc4:	8b 08                	mov    (%eax),%ecx
449bc6:	89 0a                	mov    %ecx,(%edx)
449bc8:	8b 48 04             	mov    0x4(%eax),%ecx
449bcb:	89 4a 04             	mov    %ecx,0x4(%edx)
449bce:	8b 48 08             	mov    0x8(%eax),%ecx
449bd1:	89 4a 08             	mov    %ecx,0x8(%edx)
449bd4:	8b 40 0c             	mov    0xc(%eax),%eax
449bd7:	89 42 0c             	mov    %eax,0xc(%edx)
449bda:	ff 00                	incl   (%eax)
449bdc:	eb 02                	jmp    0x449be0
449bde:	33 d2                	xor    %edx,%edx
449be0:	89 16                	mov    %edx,(%esi)
449be2:	eb 26                	jmp    0x449c0a
449be4:	0f b7 46 08          	movzwl 0x8(%esi),%eax
449be8:	66 83 f8 10          	cmp    $0x10,%ax
449bec:	75 0c                	jne    0x449bfa
449bee:	8b 07                	mov    (%edi),%eax
449bf0:	89 06                	mov    %eax,(%esi)
449bf2:	8b 47 04             	mov    0x4(%edi),%eax
449bf5:	89 46 04             	mov    %eax,0x4(%esi)
449bf8:	eb 10                	jmp    0x449c0a
449bfa:	66 83 f8 20          	cmp    $0x20,%ax
449bfe:	75 06                	jne    0x449c06
449c00:	dd 07                	fldl   (%edi)
449c02:	dd 1e                	fstpl  (%esi)
449c04:	eb 04                	jmp    0x449c0a
449c06:	8b 07                	mov    (%edi),%eax
449c08:	89 06                	mov    %eax,(%esi)
449c0a:	5f                   	pop    %edi
449c0b:	8b c6                	mov    %esi,%eax
449c0d:	5e                   	pop    %esi
449c0e:	5d                   	pop    %ebp
449c0f:	c2 04 00             	ret    $0x4
449c12:	55                   	push   %ebp
449c13:	8b ec                	mov    %esp,%ebp
449c15:	56                   	push   %esi
449c16:	8b f1                	mov    %ecx,%esi
449c18:	e8 ef 3c fd ff       	call   0x41d90c
449c1d:	84 c0                	test   %al,%al
449c1f:	74 0c                	je     0x449c2d
449c21:	8b 0e                	mov    (%esi),%ecx
449c23:	85 c9                	test   %ecx,%ecx
449c25:	74 06                	je     0x449c2d
449c27:	51                   	push   %ecx
449c28:	e8 6c 8e fb ff       	call   0x402a99
449c2d:	6a 10                	push   $0x10
449c2f:	e8 b6 58 fd ff       	call   0x41f4ea
449c34:	59                   	pop    %ecx
449c35:	85 c0                	test   %eax,%eax
449c37:	74 0c                	je     0x449c45
449c39:	ff 75 08             	push   0x8(%ebp)
449c3c:	8b c8                	mov    %eax,%ecx
449c3e:	e8 d6 31 fc ff       	call   0x40ce19
449c43:	eb 02                	jmp    0x449c47
449c45:	33 c0                	xor    %eax,%eax
449c47:	89 06                	mov    %eax,(%esi)
449c49:	8b c6                	mov    %esi,%eax
449c4b:	5e                   	pop    %esi
449c4c:	5d                   	pop    %ebp
449c4d:	c2 04 00             	ret    $0x4
449c50:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
449c54:	66 83 f8 41          	cmp    $0x41,%ax
449c58:	74 21                	je     0x449c7b
449c5a:	66 83 f8 52          	cmp    $0x52,%ax
449c5e:	74 1b                	je     0x449c7b
449c60:	66 83 f8 53          	cmp    $0x53,%ax
449c64:	74 15                	je     0x449c7b
449c66:	66 83 f8 54          	cmp    $0x54,%ax
449c6a:	74 0f                	je     0x449c7b
449c6c:	66 83 f8 55          	cmp    $0x55,%ax
449c70:	74 09                	je     0x449c7b
449c72:	66 83 f8 56          	cmp    $0x56,%ax
449c76:	74 03                	je     0x449c7b
449c78:	33 c0                	xor    %eax,%eax
449c7a:	c3                   	ret
449c7b:	33 c0                	xor    %eax,%eax
449c7d:	40                   	inc    %eax
449c7e:	c3                   	ret
449c7f:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
449c83:	66 83 f8 20          	cmp    $0x20,%ax
449c87:	7c 09                	jl     0x449c92
449c89:	66 83 f8 2f          	cmp    $0x2f,%ax
449c8d:	7f 03                	jg     0x449c92
449c8f:	b0 01                	mov    $0x1,%al
449c91:	c3                   	ret
449c92:	32 c0                	xor    %al,%al
449c94:	c3                   	ret
449c95:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
449c99:	66 83 f8 10          	cmp    $0x10,%ax
449c9d:	7c 09                	jl     0x449ca8
449c9f:	66 83 f8 1f          	cmp    $0x1f,%ax
449ca3:	7f 03                	jg     0x449ca8
449ca5:	b0 01                	mov    $0x1,%al
449ca7:	c3                   	ret
449ca8:	32 c0                	xor    %al,%al
449caa:	c3                   	ret
449cab:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
449caf:	66 85 c0             	test   %ax,%ax
449cb2:	78 09                	js     0x449cbd
449cb4:	66 83 f8 0f          	cmp    $0xf,%ax
449cb8:	7f 03                	jg     0x449cbd
449cba:	b0 01                	mov    $0x1,%al
449cbc:	c3                   	ret
449cbd:	32 c0                	xor    %al,%al
449cbf:	c3                   	ret
449cc0:	55                   	push   %ebp
449cc1:	8b ec                	mov    %esp,%ebp
449cc3:	53                   	push   %ebx
449cc4:	ff 75 08             	push   0x8(%ebp)
449cc7:	8b d9                	mov    %ecx,%ebx
449cc9:	e8 3a 40 fd ff       	call   0x41dd08
449cce:	85 c0                	test   %eax,%eax
449cd0:	74 08                	je     0x449cda
449cd2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
449cd5:	89 48 14             	mov    %ecx,0x14(%eax)
449cd8:	eb 4e                	jmp    0x449d28
449cda:	56                   	push   %esi
449cdb:	57                   	push   %edi
449cdc:	8b 7d 10             	mov    0x10(%ebp),%edi
449cdf:	6a 20                	push   $0x20
449ce1:	81 e7 00 ff 00 00    	and    $0xff00,%edi
449ce7:	e8 fe 57 fd ff       	call   0x41f4ea
449cec:	8b f0                	mov    %eax,%esi
449cee:	59                   	pop    %ecx
449cef:	85 f6                	test   %esi,%esi
449cf1:	74 09                	je     0x449cfc
449cf3:	8b ce                	mov    %esi,%ecx
449cf5:	e8 fd 3a fc ff       	call   0x40d7f7
449cfa:	eb 02                	jmp    0x449cfe
449cfc:	33 f6                	xor    %esi,%esi
449cfe:	ff 75 08             	push   0x8(%ebp)
449d01:	8b ce                	mov    %esi,%ecx
449d03:	e8 e5 d1 fb ff       	call   0x406eed
449d08:	8b 45 0c             	mov    0xc(%ebp),%eax
449d0b:	83 66 1c 00          	andl   $0x0,0x1c(%esi)
449d0f:	83 66 18 00          	andl   $0x0,0x18(%esi)
449d13:	83 cf 01             	or     $0x1,%edi
449d16:	89 7e 10             	mov    %edi,0x10(%esi)
449d19:	89 46 14             	mov    %eax,0x14(%esi)
449d1c:	ff 33                	push   (%ebx)
449d1e:	56                   	push   %esi
449d1f:	e8 9c 3b fc ff       	call   0x40d8c0
449d24:	5f                   	pop    %edi
449d25:	89 03                	mov    %eax,(%ebx)
449d27:	5e                   	pop    %esi
449d28:	5b                   	pop    %ebx
449d29:	5d                   	pop    %ebp
449d2a:	c2 0c 00             	ret    $0xc
449d2d:	55                   	push   %ebp
449d2e:	8b ec                	mov    %esp,%ebp
449d30:	8b 45 08             	mov    0x8(%ebp),%eax
449d33:	56                   	push   %esi
449d34:	8b f1                	mov    %ecx,%esi
449d36:	83 66 04 00          	andl   $0x0,0x4(%esi)
449d3a:	40                   	inc    %eax
449d3b:	50                   	push   %eax
449d3c:	89 46 08             	mov    %eax,0x8(%esi)
449d3f:	e8 a6 57 fd ff       	call   0x41f4ea
449d44:	59                   	pop    %ecx
449d45:	89 06                	mov    %eax,(%esi)
449d47:	8b ce                	mov    %esi,%ecx
449d49:	c6 00 00             	movb   $0x0,(%eax)
449d4c:	e8 f9 cd fb ff       	call   0x406b4a
449d51:	8b c6                	mov    %esi,%eax
449d53:	5e                   	pop    %esi
449d54:	5d                   	pop    %ebp
449d55:	c2 04 00             	ret    $0x4
449d58:	55                   	push   %ebp
449d59:	8b ec                	mov    %esp,%ebp
449d5b:	56                   	push   %esi
449d5c:	8b f1                	mov    %ecx,%esi
449d5e:	e8 bd 8e fc ff       	call   0x412c20
449d63:	6a 18                	push   $0x18
449d65:	c7 46 0c 0a 00 00 00 	movl   $0xa,0xc(%esi)
449d6c:	e8 79 57 fd ff       	call   0x41f4ea
449d71:	59                   	pop    %ecx
449d72:	85 c0                	test   %eax,%eax
449d74:	74 0c                	je     0x449d82
449d76:	ff 75 08             	push   0x8(%ebp)
449d79:	8b c8                	mov    %eax,%ecx
449d7b:	e8 23 f3 ff ff       	call   0x4490a3
449d80:	eb 02                	jmp    0x449d84
449d82:	33 c0                	xor    %eax,%eax
449d84:	89 06                	mov    %eax,(%esi)
449d86:	8b c6                	mov    %esi,%eax
449d88:	5e                   	pop    %esi
449d89:	5d                   	pop    %ebp
449d8a:	c2 04 00             	ret    $0x4
449d8d:	55                   	push   %ebp
449d8e:	8b ec                	mov    %esp,%ebp
449d90:	56                   	push   %esi
449d91:	8b f1                	mov    %ecx,%esi
449d93:	e8 88 8e fc ff       	call   0x412c20
449d98:	6a 10                	push   $0x10