4489a1:	8b 38                	mov    (%eax),%edi
4489a3:	ff 17                	call   *(%edi)
4489a5:	8d 55 e0             	lea    -0x20(%ebp),%edx
4489a8:	8b c6                	mov    %esi,%eax
4489aa:	e8 19 69 ff ff       	call   0x43f2c8
4489af:	8b cb                	mov    %ebx,%ecx
4489b1:	b2 01                	mov    $0x1,%dl
4489b3:	a1 54 c1 43 00       	mov    0x43c154,%eax
4489b8:	e8 97 f5 ff ff       	call   0x447f54
4489bd:	8b 53 64             	mov    0x64(%ebx),%edx
4489c0:	89 42 08             	mov    %eax,0x8(%edx)
4489c3:	89 50 14             	mov    %edx,0x14(%eax)
4489c6:	89 70 04             	mov    %esi,0x4(%eax)
4489c9:	e9 21 01 00 00       	jmp    0x448aef
4489ce:	8a 45 ff             	mov    -0x1(%ebp),%al
4489d1:	84 c0                	test   %al,%al
4489d3:	74 04                	je     0x4489d9
4489d5:	2c 05                	sub    $0x5,%al
4489d7:	75 04                	jne    0x4489dd
4489d9:	c6 45 ff 04          	movb   $0x4,-0x1(%ebp)
4489dd:	8b d6                	mov    %esi,%edx
4489df:	8b c3                	mov    %ebx,%eax
4489e1:	e8 06 fe ff ff       	call   0x4487ec
4489e6:	85 c0                	test   %eax,%eax
4489e8:	74 09                	je     0x4489f3
4489ea:	8b d0                	mov    %eax,%edx
4489ec:	8b c3                	mov    %ebx,%eax
4489ee:	e8 25 0e 00 00       	call   0x449818
4489f3:	8b 55 08             	mov    0x8(%ebp),%edx
4489f6:	8b c3                	mov    %ebx,%eax
4489f8:	e8 ef fd ff ff       	call   0x4487ec
4489fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
448a00:	33 c0                	xor    %eax,%eax
448a02:	8a 45 ff             	mov    -0x1(%ebp),%al
448a05:	8a 80 58 3c 46 00    	mov    0x463c58(%eax),%al
448a0b:	88 45 f7             	mov    %al,-0x9(%ebp)
448a0e:	8b 43 64             	mov    0x64(%ebx),%eax
448a11:	e8 62 f5 ff ff       	call   0x447f78
448a16:	48                   	dec    %eax
448a17:	75 6a                	jne    0x448a83
448a19:	8b 7b 64             	mov    0x64(%ebx),%edi
448a1c:	8a 45 f7             	mov    -0x9(%ebp),%al
448a1f:	88 47 10             	mov    %al,0x10(%edi)
448a22:	8a 45 f7             	mov    -0x9(%ebp),%al
448a25:	fe c8                	dec    %al
448a27:	74 06                	je     0x448a2f
448a29:	fe c8                	dec    %al
448a2b:	74 2d                	je     0x448a5a
448a2d:	eb 54                	jmp    0x448a83
448a2f:	8b 47 08             	mov    0x8(%edi),%eax
448a32:	ba 02 00 00 00       	mov    $0x2,%edx
448a37:	e8 9c f6 ff ff       	call   0x4480d8
448a3c:	8b d0                	mov    %eax,%edx
448a3e:	8b c7                	mov    %edi,%eax
448a40:	e8 83 fa ff ff       	call   0x4484c8
448a45:	8b 43 64             	mov    0x64(%ebx),%eax
448a48:	8b 40 08             	mov    0x8(%eax),%eax
448a4b:	ba 01 00 00 00       	mov    $0x1,%edx
448a50:	e8 83 f6 ff ff       	call   0x4480d8
448a55:	89 43 68             	mov    %eax,0x68(%ebx)
448a58:	eb 29                	jmp    0x448a83
448a5a:	8b 47 08             	mov    0x8(%edi),%eax
448a5d:	ba 01 00 00 00       	mov    $0x1,%edx
448a62:	e8 71 f6 ff ff       	call   0x4480d8
448a67:	8b d0                	mov    %eax,%edx
448a69:	8b c7                	mov    %edi,%eax
448a6b:	e8 58 fa ff ff       	call   0x4484c8
448a70:	8b 43 64             	mov    0x64(%ebx),%eax
448a73:	8b 40 08             	mov    0x8(%eax),%eax
448a76:	ba 02 00 00 00       	mov    $0x2,%edx
448a7b:	e8 58 f6 ff ff       	call   0x4480d8
448a80:	89 43 68             	mov    %eax,0x68(%ebx)
448a83:	8b cb                	mov    %ebx,%ecx
448a85:	b2 01                	mov    $0x1,%dl
448a87:	a1 54 c1 43 00       	mov    0x43c154,%eax
448a8c:	e8 c3 f4 ff ff       	call   0x447f54
448a91:	89 70 04             	mov    %esi,0x4(%eax)
448a94:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
448a98:	74 0b                	je     0x448aa5
448a9a:	8b 55 f8             	mov    -0x8(%ebp),%edx
448a9d:	8b 52 14             	mov    0x14(%edx),%edx
448aa0:	8a 52 10             	mov    0x10(%edx),%dl
448aa3:	eb 06                	jmp    0x448aab
448aa5:	8b 53 64             	mov    0x64(%ebx),%edx
448aa8:	8a 52 10             	mov    0x10(%edx),%dl
448aab:	80 7d f7 00          	cmpb   $0x0,-0x9(%ebp)
448aaf:	75 03                	jne    0x448ab4
448ab1:	88 55 f7             	mov    %dl,-0x9(%ebp)
448ab4:	3a 55 f7             	cmp    -0x9(%ebp),%dl
448ab7:	75 1a                	jne    0x448ad3
448ab9:	33 d2                	xor    %edx,%edx
448abb:	8a 55 ff             	mov    -0x1(%ebp),%dl
448abe:	8a 92 60 3c 46 00    	mov    0x463c60(%edx),%dl
448ac4:	52                   	push   %edx
448ac5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
448ac8:	8b d0                	mov    %eax,%edx
448aca:	8b c3                	mov    %ebx,%eax
448acc:	e8 d7 01 00 00       	call   0x448ca8
448ad1:	eb 1c                	jmp    0x448aef
448ad3:	8a 55 f7             	mov    -0x9(%ebp),%dl
448ad6:	52                   	push   %edx
448ad7:	33 d2                	xor    %edx,%edx
448ad9:	8a 55 ff             	mov    -0x1(%ebp),%dl
448adc:	8a 92 60 3c 46 00    	mov    0x463c60(%edx),%dl
448ae2:	52                   	push   %edx
448ae3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
448ae6:	8b d0                	mov    %eax,%edx
448ae8:	8b c3                	mov    %ebx,%eax
448aea:	e8 11 00 00 00       	call   0x448b00
448aef:	8b 43 14             	mov    0x14(%ebx),%eax
448af2:	8b 10                	mov    (%eax),%edx
448af4:	ff 52 7c             	call   *0x7c(%edx)
448af7:	5f                   	pop    %edi
448af8:	5e                   	pop    %esi
448af9:	5b                   	pop    %ebx
448afa:	8b e5                	mov    %ebp,%esp
448afc:	5d                   	pop    %ebp
448afd:	c2 04 00             	ret    $0x4
448b00:	55                   	push   %ebp
448b01:	8b ec                	mov    %esp,%ebp
448b03:	51                   	push   %ecx
448b04:	53                   	push   %ebx
448b05:	56                   	push   %esi
448b06:	57                   	push   %edi
448b07:	8b f9                	mov    %ecx,%edi
448b09:	89 55 fc             	mov    %edx,-0x4(%ebp)
448b0c:	8b f0                	mov    %eax,%esi
448b0e:	8b ce                	mov    %esi,%ecx
448b10:	b2 01                	mov    $0x1,%dl
448b12:	a1 54 c1 43 00       	mov    0x43c154,%eax
448b17:	e8 38 f4 ff ff       	call   0x447f54
448b1c:	8b d8                	mov    %eax,%ebx
448b1e:	8a 45 0c             	mov    0xc(%ebp),%al
448b21:	88 43 10             	mov    %al,0x10(%ebx)
448b24:	85 ff                	test   %edi,%edi
448b26:	0f 85 dd 00 00 00    	jne    0x448c09
448b2c:	8b 56 68             	mov    0x68(%esi),%edx
448b2f:	8b c3                	mov    %ebx,%eax
448b31:	e8 92 f9 ff ff       	call   0x4484c8
448b36:	8b 46 64             	mov    0x64(%esi),%eax
448b39:	e8 62 f9 ff ff       	call   0x4484a0
448b3e:	89 46 68             	mov    %eax,0x68(%esi)
448b41:	8a 45 0c             	mov    0xc(%ebp),%al
448b44:	88 46 48             	mov    %al,0x48(%esi)
448b47:	33 c0                	xor    %eax,%eax
448b49:	89 46 40             	mov    %eax,0x40(%esi)
448b4c:	c7 46 44 00 00 e0 3f 	movl   $0x3fe00000,0x44(%esi)
448b53:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
448b57:	74 33                	je     0x448b8c
448b59:	8b 46 64             	mov    0x64(%esi),%eax
448b5c:	89 43 08             	mov    %eax,0x8(%ebx)
448b5f:	8b 46 64             	mov    0x64(%esi),%eax
448b62:	89 58 14             	mov    %ebx,0x14(%eax)
448b65:	8b 55 fc             	mov    -0x4(%ebp),%edx
448b68:	89 50 0c             	mov    %edx,0xc(%eax)
448b6b:	8b 55 fc             	mov    -0x4(%ebp),%edx
448b6e:	89 42 18             	mov    %eax,0x18(%edx)
448b71:	8b 45 fc             	mov    -0x4(%ebp),%eax
448b74:	89 58 14             	mov    %ebx,0x14(%eax)
448b77:	89 5e 64             	mov    %ebx,0x64(%esi)
448b7a:	56                   	push   %esi
448b7b:	68 70 9b 44 00       	push   $0x449b70
448b80:	8b 53 08             	mov    0x8(%ebx),%edx
448b83:	8b c6                	mov    %esi,%eax
448b85:	e8 ca fc ff ff       	call   0x448854
448b8a:	eb 6c                	jmp    0x448bf8
448b8c:	8b 45 fc             	mov    -0x4(%ebp),%eax
448b8f:	89 43 08             	mov    %eax,0x8(%ebx)
448b92:	8b 46 64             	mov    0x64(%esi),%eax
448b95:	89 58 14             	mov    %ebx,0x14(%eax)
448b98:	8b 55 fc             	mov    -0x4(%ebp),%edx
448b9b:	89 50 18             	mov    %edx,0x18(%eax)
448b9e:	8b 55 fc             	mov    -0x4(%ebp),%edx
448ba1:	89 42 0c             	mov    %eax,0xc(%edx)
448ba4:	8b 45 fc             	mov    -0x4(%ebp),%eax
448ba7:	89 58 14             	mov    %ebx,0x14(%eax)
448baa:	89 5e 64             	mov    %ebx,0x64(%esi)
448bad:	56                   	push   %esi
448bae:	68 70 9b 44 00       	push   $0x449b70
448bb3:	8b 53 08             	mov    0x8(%ebx),%edx
448bb6:	8b c6                	mov    %esi,%eax
448bb8:	e8 97 fc ff ff       	call   0x448854
448bbd:	8b 46 64             	mov    0x64(%esi),%eax
448bc0:	e8 db f8 ff ff       	call   0x4484a0
448bc5:	d1 f8                	sar    $1,%eax
448bc7:	79 03                	jns    0x448bcc
448bc9:	83 d0 00             	adc    $0x0,%eax
448bcc:	89 46 4c             	mov    %eax,0x4c(%esi)
448bcf:	56                   	push   %esi
448bd0:	68 f4 9e 44 00       	push   $0x449ef4
448bd5:	8b 53 08             	mov    0x8(%ebx),%edx
448bd8:	8b c6                	mov    %esi,%eax
448bda:	e8 75 fc ff ff       	call   0x448854
448bdf:	8b 46 64             	mov    0x64(%esi),%eax
448be2:	e8 b9 f8 ff ff       	call   0x4484a0
448be7:	8b d0                	mov    %eax,%edx
448be9:	d1 fa                	sar    $1,%edx
448beb:	79 03                	jns    0x448bf0
448bed:	83 d2 00             	adc    $0x0,%edx
448bf0:	8b 45 fc             	mov    -0x4(%ebp),%eax
448bf3:	e8 d0 f8 ff ff       	call   0x4484c8
448bf8:	56                   	push   %esi
448bf9:	68 28 a0 44 00       	push   $0x44a028
448bfe:	33 d2                	xor    %edx,%edx
448c00:	8b c6                	mov    %esi,%eax
448c02:	e8 4d fc ff ff       	call   0x448854
448c07:	eb 77                	jmp    0x448c80
448c09:	8b c7                	mov    %edi,%eax
448c0b:	e8 90 f8 ff ff       	call   0x4484a0
448c10:	8b d0                	mov    %eax,%edx
448c12:	8b c3                	mov    %ebx,%eax
448c14:	e8 af f8 ff ff       	call   0x4484c8
448c19:	8b 47 14             	mov    0x14(%edi),%eax
448c1c:	89 43 14             	mov    %eax,0x14(%ebx)
448c1f:	8b 47 18             	mov    0x18(%edi),%eax
448c22:	89 43 18             	mov    %eax,0x18(%ebx)
448c25:	85 c0                	test   %eax,%eax
448c27:	74 03                	je     0x448c2c
448c29:	89 58 0c             	mov    %ebx,0xc(%eax)
448c2c:	8b 47 0c             	mov    0xc(%edi),%eax
448c2f:	89 43 0c             	mov    %eax,0xc(%ebx)
448c32:	85 c0                	test   %eax,%eax
448c34:	74 03                	je     0x448c39
448c36:	89 58 18             	mov    %ebx,0x18(%eax)
448c39:	8b 43 14             	mov    0x14(%ebx),%eax
448c3c:	3b 78 08             	cmp    0x8(%eax),%edi
448c3f:	75 03                	jne    0x448c44
448c41:	89 58 08             	mov    %ebx,0x8(%eax)
448c44:	8b 45 fc             	mov    -0x4(%ebp),%eax
448c47:	89 58 14             	mov    %ebx,0x14(%eax)
448c4a:	89 5f 14             	mov    %ebx,0x14(%edi)
448c4d:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
448c51:	74 16                	je     0x448c69
448c53:	89 7b 08             	mov    %edi,0x8(%ebx)
448c56:	33 c0                	xor    %eax,%eax
448c58:	89 47 18             	mov    %eax,0x18(%edi)
448c5b:	8b 45 fc             	mov    -0x4(%ebp),%eax
448c5e:	89 47 0c             	mov    %eax,0xc(%edi)
448c61:	8b 45 fc             	mov    -0x4(%ebp),%eax
448c64:	89 78 18             	mov    %edi,0x18(%eax)
448c67:	eb 17                	jmp    0x448c80
448c69:	8b 45 fc             	mov    -0x4(%ebp),%eax
448c6c:	89 43 08             	mov    %eax,0x8(%ebx)
448c6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
448c72:	89 47 18             	mov    %eax,0x18(%edi)
448c75:	33 c0                	xor    %eax,%eax
448c77:	89 47 0c             	mov    %eax,0xc(%edi)
448c7a:	8b 45 fc             	mov    -0x4(%ebp),%eax
448c7d:	89 78 0c             	mov    %edi,0xc(%eax)
448c80:	8b c3                	mov    %ebx,%eax
448c82:	e8 01 f5 ff ff       	call   0x448188
448c87:	8b c3                	mov    %ebx,%eax
448c89:	e8 8a f8 ff ff       	call   0x448518
448c8e:	56                   	push   %esi
448c8f:	68 28 a0 44 00       	push   $0x44a028
448c94:	33 d2                	xor    %edx,%edx
448c96:	8b c6                	mov    %esi,%eax
448c98:	e8 b7 fb ff ff       	call   0x448854
448c9d:	5f                   	pop    %edi
448c9e:	5e                   	pop    %esi
448c9f:	5b                   	pop    %ebx
448ca0:	59                   	pop    %ecx
448ca1:	5d                   	pop    %ebp
448ca2:	c2 08 00             	ret    $0x8
448ca5:	8d 40 00             	lea    0x0(%eax),%eax
448ca8:	55                   	push   %ebp
448ca9:	8b ec                	mov    %esp,%ebp
448cab:	53                   	push   %ebx
448cac:	8b d9                	mov    %ecx,%ebx
448cae:	8b 4d 08             	mov    0x8(%ebp),%ecx
448cb1:	85 db                	test   %ebx,%ebx
448cb3:	75 15                	jne    0x448cca
448cb5:	8b 40 64             	mov    0x64(%eax),%eax
448cb8:	8b 58 08             	mov    0x8(%eax),%ebx
448cbb:	84 c9                	test   %cl,%cl
448cbd:	74 0b                	je     0x448cca
448cbf:	eb 02                	jmp    0x448cc3
448cc1:	8b d8                	mov    %eax,%ebx
448cc3:	8b 43 0c             	mov    0xc(%ebx),%eax
448cc6:	85 c0                	test   %eax,%eax
448cc8:	75 f7                	jne    0x448cc1
448cca:	84 c9                	test   %cl,%cl
448ccc:	74 1b                	je     0x448ce9
448cce:	8b 43 14             	mov    0x14(%ebx),%eax
448cd1:	89 42 14             	mov    %eax,0x14(%edx)
448cd4:	89 5a 18             	mov    %ebx,0x18(%edx)
448cd7:	8b 43 0c             	mov    0xc(%ebx),%eax
448cda:	89 42 0c             	mov    %eax,0xc(%edx)
448cdd:	85 c0                	test   %eax,%eax
448cdf:	74 03                	je     0x448ce4
448ce1:	89 50 18             	mov    %edx,0x18(%eax)
448ce4:	89 53 0c             	mov    %edx,0xc(%ebx)
448ce7:	eb 21                	jmp    0x448d0a
448ce9:	89 5a 0c             	mov    %ebx,0xc(%edx)
448cec:	8b 43 18             	mov    0x18(%ebx),%eax
448cef:	89 42 18             	mov    %eax,0x18(%edx)
448cf2:	85 c0                	test   %eax,%eax
448cf4:	74 03                	je     0x448cf9
448cf6:	89 50 0c             	mov    %edx,0xc(%eax)
448cf9:	89 53 18             	mov    %edx,0x18(%ebx)
448cfc:	8b 43 14             	mov    0x14(%ebx),%eax
448cff:	89 42 14             	mov    %eax,0x14(%edx)
448d02:	3b 58 08             	cmp    0x8(%eax),%ebx
448d05:	75 03                	jne    0x448d0a
448d07:	89 50 08             	mov    %edx,0x8(%eax)
448d0a:	8b 43 14             	mov    0x14(%ebx),%eax
448d0d:	e8 76 f4 ff ff       	call   0x448188
448d12:	8b 43 14             	mov    0x14(%ebx),%eax
448d15:	e8 fe f7 ff ff       	call   0x448518
448d1a:	5b                   	pop    %ebx
448d1b:	5d                   	pop    %ebp
448d1c:	c2 04 00             	ret    $0x4
448d1f:	90                   	nop
448d20:	55                   	push   %ebp
448d21:	8b ec                	mov    %esp,%ebp
448d23:	53                   	push   %ebx
448d24:	56                   	push   %esi
448d25:	57                   	push   %edi
448d26:	8b d8                	mov    %eax,%ebx
448d28:	8b 43 14             	mov    0x14(%ebx),%eax
448d2b:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
448d2f:	75 44                	jne    0x448d75
448d31:	8b c3                	mov    %ebx,%eax
448d33:	e8 68 f7 ff ff       	call   0x4484a0
448d38:	8b 55 08             	mov    0x8(%ebp),%edx
448d3b:	8b 52 fc             	mov    -0x4(%edx),%edx
448d3e:	3b 42 04             	cmp    0x4(%edx),%eax
448d41:	7c 32                	jl     0x448d75
448d43:	8b c3                	mov    %ebx,%eax
448d45:	e8 56 f7 ff ff       	call   0x4484a0
448d4a:	8b 55 08             	mov    0x8(%ebp),%edx
448d4d:	8b 52 f8             	mov    -0x8(%edx),%edx
448d50:	2b 42 0c             	sub    0xc(%edx),%eax
448d53:	8b 55 08             	mov    0x8(%ebp),%edx
448d56:	8b 52 fc             	mov    -0x4(%edx),%edx
448d59:	3b 42 04             	cmp    0x4(%edx),%eax
448d5c:	7f 17                	jg     0x448d75
448d5e:	8b 45 08             	mov    0x8(%ebp),%eax
448d61:	8b 40 f4             	mov    -0xc(%eax),%eax
448d64:	c7 00 12 00 00 00    	movl   $0x12,(%eax)
448d6a:	8b 45 08             	mov    0x8(%ebp),%eax
448d6d:	89 58 f0             	mov    %ebx,-0x10(%eax)
448d70:	e9 88 01 00 00       	jmp    0x448efd
448d75:	8b 43 14             	mov    0x14(%ebx),%eax
448d78:	80 78 10 02          	cmpb   $0x2,0x10(%eax)
448d7c:	75 42                	jne    0x448dc0
448d7e:	8b c3                	mov    %ebx,%eax
448d80:	e8 1b f7 ff ff       	call   0x4484a0
448d85:	8b 55 08             	mov    0x8(%ebp),%edx
448d88:	8b 52 fc             	mov    -0x4(%edx),%edx