445ace:	8b f2                	mov    %edx,%esi
445ad0:	8b d8                	mov    %eax,%ebx
445ad2:	8b d6                	mov    %esi,%edx
445ad4:	8b c3                	mov    %ebx,%eax
445ad6:	e8 dd e5 ff ff       	call   0x4440b8
445adb:	89 43 38             	mov    %eax,0x38(%ebx)
445ade:	5e                   	pop    %esi
445adf:	5b                   	pop    %ebx
445ae0:	c3                   	ret
445ae1:	8d 40 00             	lea    0x0(%eax),%eax
445ae4:	53                   	push   %ebx
445ae5:	56                   	push   %esi
445ae6:	8b da                	mov    %edx,%ebx
445ae8:	8b f0                	mov    %eax,%esi
445aea:	85 db                	test   %ebx,%ebx
445aec:	74 24                	je     0x445b12
445aee:	3b 5e 64             	cmp    0x64(%esi),%ebx
445af1:	74 1f                	je     0x445b12
445af3:	8b 43 14             	mov    0x14(%ebx),%eax
445af6:	0f b6 40 10          	movzbl 0x10(%eax),%eax
445afa:	3a 46 48             	cmp    0x48(%esi),%al
445afd:	75 13                	jne    0x445b12
445aff:	8b c3                	mov    %ebx,%eax
445b01:	e8 5e e2 ff ff       	call   0x443d64
445b06:	8b d0                	mov    %eax,%edx
445b08:	03 56 4c             	add    0x4c(%esi),%edx
445b0b:	8b c3                	mov    %ebx,%eax
445b0d:	e8 7a e2 ff ff       	call   0x443d8c
445b12:	5e                   	pop    %esi
445b13:	5b                   	pop    %ebx
445b14:	c3                   	ret
445b15:	8d 40 00             	lea    0x0(%eax),%eax
445b18:	53                   	push   %ebx
445b19:	56                   	push   %esi
445b1a:	57                   	push   %edi
445b1b:	83 c4 f8             	add    $0xfffffff8,%esp
445b1e:	8b f1                	mov    %ecx,%esi
445b20:	8d 3c 24             	lea    (%esp),%edi
445b23:	a5                   	movsl  %ds:(%esi),%es:(%edi)
445b24:	a5                   	movsl  %ds:(%esi),%es:(%edi)
445b25:	8b d8                	mov    %eax,%ebx
445b27:	89 53 60             	mov    %edx,0x60(%ebx)
445b2a:	8b 43 14             	mov    0x14(%ebx),%eax
445b2d:	e8 7e bd ff ff       	call   0x4418b0
445b32:	8b d0                	mov    %eax,%edx
445b34:	a1 ec 14 47 00       	mov    0x4714ec,%eax
445b39:	e8 0a 0e 00 00       	call   0x446948
445b3e:	8b 43 14             	mov    0x14(%ebx),%eax
445b41:	e8 6a bd ff ff       	call   0x4418b0
445b46:	8b f0                	mov    %eax,%esi
445b48:	89 73 5c             	mov    %esi,0x5c(%ebx)
445b4b:	68 12 04 00 00       	push   $0x412
445b50:	6a 00                	push   $0x0
445b52:	56                   	push   %esi
445b53:	e8 68 13 fc ff       	call   0x406ec0
445b58:	89 43 58             	mov    %eax,0x58(%ebx)
445b5b:	8b 04 24             	mov    (%esp),%eax
445b5e:	89 43 50             	mov    %eax,0x50(%ebx)
445b61:	8b 44 24 04          	mov    0x4(%esp),%eax
445b65:	89 43 54             	mov    %eax,0x54(%ebx)
445b68:	8b c3                	mov    %ebx,%eax
445b6a:	e8 d1 00 00 00       	call   0x445c40
445b6f:	59                   	pop    %ecx
445b70:	5a                   	pop    %edx
445b71:	5f                   	pop    %edi
445b72:	5e                   	pop    %esi
445b73:	5b                   	pop    %ebx
445b74:	c3                   	ret
445b75:	8d 40 00             	lea    0x0(%eax),%eax
445b78:	53                   	push   %ebx
445b79:	8b d8                	mov    %eax,%ebx
445b7b:	33 d2                	xor    %edx,%edx
445b7d:	a1 ec 14 47 00       	mov    0x4714ec,%eax
445b82:	e8 c1 0d 00 00       	call   0x446948
445b87:	8b c3                	mov    %ebx,%eax
445b89:	e8 b2 00 00 00       	call   0x445c40
445b8e:	8b 43 58             	mov    0x58(%ebx),%eax
445b91:	50                   	push   %eax
445b92:	8b 43 5c             	mov    0x5c(%ebx),%eax
445b95:	50                   	push   %eax
445b96:	e8 8d 15 fc ff       	call   0x407128
445b9b:	8b 43 60             	mov    0x60(%ebx),%eax
445b9e:	8b 50 14             	mov    0x14(%eax),%edx
445ba1:	80 7a 10 01          	cmpb   $0x1,0x10(%edx)
445ba5:	75 14                	jne    0x445bbb
445ba7:	8b 53 0c             	mov    0xc(%ebx),%edx
445baa:	d1 fa                	sar    $1,%edx
445bac:	79 03                	jns    0x445bb1
445bae:	83 d2 00             	adc    $0x0,%edx
445bb1:	03 53 54             	add    0x54(%ebx),%edx
445bb4:	e8 d3 e1 ff ff       	call   0x443d8c
445bb9:	eb 12                	jmp    0x445bcd
445bbb:	8b 53 0c             	mov    0xc(%ebx),%edx
445bbe:	d1 fa                	sar    $1,%edx
445bc0:	79 03                	jns    0x445bc5
445bc2:	83 d2 00             	adc    $0x0,%edx
445bc5:	03 53 50             	add    0x50(%ebx),%edx
445bc8:	e8 bf e1 ff ff       	call   0x443d8c
445bcd:	8b 43 60             	mov    0x60(%ebx),%eax
445bd0:	8b 50 14             	mov    0x14(%eax),%edx
445bd3:	8b c3                	mov    %ebx,%eax
445bd5:	e8 c2 fe ff ff       	call   0x445a9c
445bda:	53                   	push   %ebx
445bdb:	68 1c 5c 44 00       	push   $0x445c1c
445be0:	8b 43 60             	mov    0x60(%ebx),%eax
445be3:	8b 50 14             	mov    0x14(%eax),%edx
445be6:	8b c3                	mov    %ebx,%eax
445be8:	e8 33 e5 ff ff       	call   0x444120
445bed:	33 c0                	xor    %eax,%eax
445bef:	89 43 60             	mov    %eax,0x60(%ebx)
445bf2:	5b                   	pop    %ebx
445bf3:	c3                   	ret
445bf4:	53                   	push   %ebx
445bf5:	8b d8                	mov    %eax,%ebx
445bf7:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
445bfb:	75 1b                	jne    0x445c18
445bfd:	8b 43 14             	mov    0x14(%ebx),%eax
445c00:	e8 27 a6 ff ff       	call   0x44022c
445c05:	85 c0                	test   %eax,%eax
445c07:	7e 0f                	jle    0x445c18
445c09:	53                   	push   %ebx
445c0a:	68 1c 5c 44 00       	push   $0x445c1c
445c0f:	33 d2                	xor    %edx,%edx
445c11:	8b c3                	mov    %ebx,%eax
445c13:	e8 08 e5 ff ff       	call   0x444120
445c18:	5b                   	pop    %ebx
445c19:	c3                   	ret
445c1a:	8b c0                	mov    %eax,%eax
445c1c:	83 78 6c 00          	cmpl   $0x0,0x6c(%eax)
445c20:	75 07                	jne    0x445c29
445c22:	8b c2                	mov    %edx,%eax
445c24:	e8 bf df ff ff       	call   0x443be8
445c29:	c3                   	ret
445c2a:	8b c0                	mov    %eax,%eax
445c2c:	56                   	push   %esi
445c2d:	57                   	push   %edi
445c2e:	8b fa                	mov    %edx,%edi
445c30:	8b f0                	mov    %eax,%esi
445c32:	8b d7                	mov    %edi,%edx
445c34:	8b c6                	mov    %esi,%eax
445c36:	8b 08                	mov    (%eax),%ecx
445c38:	ff 51 3c             	call   *0x3c(%ecx)
445c3b:	5f                   	pop    %edi
445c3c:	5e                   	pop    %esi
445c3d:	c3                   	ret
445c3e:	8b c0                	mov    %eax,%eax
445c40:	53                   	push   %ebx
445c41:	56                   	push   %esi
445c42:	83 c4 f0             	add    $0xfffffff0,%esp
445c45:	8b d8                	mov    %eax,%ebx
445c47:	8b 73 60             	mov    0x60(%ebx),%esi
445c4a:	85 f6                	test   %esi,%esi
445c4c:	0f 84 d1 00 00 00    	je     0x445d23
445c52:	8b 46 14             	mov    0x14(%esi),%eax
445c55:	80 78 10 01          	cmpb   $0x1,0x10(%eax)
445c59:	75 43                	jne    0x445c9e
445c5b:	ba 02 00 00 00       	mov    $0x2,%edx
445c60:	8b c6                	mov    %esi,%eax
445c62:	e8 a5 dc ff ff       	call   0x44390c
445c67:	89 04 24             	mov    %eax,(%esp)
445c6a:	8b 43 0c             	mov    0xc(%ebx),%eax
445c6d:	d1 f8                	sar    $1,%eax
445c6f:	79 03                	jns    0x445c74
445c71:	83 d0 00             	adc    $0x0,%eax
445c74:	8b 53 54             	mov    0x54(%ebx),%edx
445c77:	2b d0                	sub    %eax,%edx
445c79:	89 54 24 04          	mov    %edx,0x4(%esp)
445c7d:	ba 02 00 00 00       	mov    $0x2,%edx
445c82:	8b 43 60             	mov    0x60(%ebx),%eax
445c85:	e8 06 dd ff ff       	call   0x443990
445c8a:	03 04 24             	add    (%esp),%eax
445c8d:	89 44 24 08          	mov    %eax,0x8(%esp)
445c91:	8b 44 24 04          	mov    0x4(%esp),%eax
445c95:	03 43 0c             	add    0xc(%ebx),%eax
445c98:	89 44 24 0c          	mov    %eax,0xc(%esp)
445c9c:	eb 41                	jmp    0x445cdf
445c9e:	8b 43 0c             	mov    0xc(%ebx),%eax
445ca1:	d1 f8                	sar    $1,%eax
445ca3:	79 03                	jns    0x445ca8
445ca5:	83 d0 00             	adc    $0x0,%eax
445ca8:	8b 53 50             	mov    0x50(%ebx),%edx
445cab:	2b d0                	sub    %eax,%edx
445cad:	89 14 24             	mov    %edx,(%esp)
445cb0:	ba 01 00 00 00       	mov    $0x1,%edx
445cb5:	8b c6                	mov    %esi,%eax
445cb7:	e8 50 dc ff ff       	call   0x44390c
445cbc:	89 44 24 04          	mov    %eax,0x4(%esp)
445cc0:	8b 04 24             	mov    (%esp),%eax
445cc3:	03 43 0c             	add    0xc(%ebx),%eax
445cc6:	89 44 24 08          	mov    %eax,0x8(%esp)
445cca:	ba 01 00 00 00       	mov    $0x1,%edx
445ccf:	8b 43 60             	mov    0x60(%ebx),%eax
445cd2:	e8 b9 dc ff ff       	call   0x443990
445cd7:	03 44 24 04          	add    0x4(%esp),%eax
445cdb:	89 44 24 0c          	mov    %eax,0xc(%esp)
445cdf:	8b 43 10             	mov    0x10(%ebx),%eax
445ce2:	e8 65 db fd ff       	call   0x42384c
445ce7:	50                   	push   %eax
445ce8:	8b 43 58             	mov    0x58(%ebx),%eax
445ceb:	50                   	push   %eax
445cec:	e8 b7 0f fc ff       	call   0x406ca8
445cf1:	8b f0                	mov    %eax,%esi
445cf3:	68 49 00 5a 00       	push   $0x5a0049
445cf8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
445cfc:	8b 54 24 08          	mov    0x8(%esp),%edx
445d00:	2b ca                	sub    %edx,%ecx
445d02:	51                   	push   %ecx
445d03:	8b 4c 24 10          	mov    0x10(%esp),%ecx
445d07:	8b 44 24 08          	mov    0x8(%esp),%eax
445d0b:	2b c8                	sub    %eax,%ecx
445d0d:	51                   	push   %ecx
445d0e:	52                   	push   %edx
445d0f:	50                   	push   %eax
445d10:	8b 43 58             	mov    0x58(%ebx),%eax
445d13:	50                   	push   %eax
445d14:	e8 5f 0f fc ff       	call   0x406c78
445d19:	56                   	push   %esi
445d1a:	8b 43 58             	mov    0x58(%ebx),%eax
445d1d:	50                   	push   %eax
445d1e:	e8 85 0f fc ff       	call   0x406ca8
445d23:	83 c4 10             	add    $0x10,%esp
445d26:	5e                   	pop    %esi
445d27:	5b                   	pop    %ebx
445d28:	c3                   	ret
445d29:	8d 40 00             	lea    0x0(%eax),%eax
445d2c:	55                   	push   %ebp
445d2d:	8b ec                	mov    %esp,%ebp
445d2f:	53                   	push   %ebx
445d30:	56                   	push   %esi
445d31:	57                   	push   %edi
445d32:	8b d8                	mov    %eax,%ebx
445d34:	8b 45 08             	mov    0x8(%ebp),%eax
445d37:	3b 58 fc             	cmp    -0x4(%eax),%ebx
445d3a:	74 59                	je     0x445d95
445d3c:	8b 43 14             	mov    0x14(%ebx),%eax
445d3f:	0f b6 40 10          	movzbl 0x10(%eax),%eax
445d43:	8b 55 08             	mov    0x8(%ebp),%edx
445d46:	8b 52 fc             	mov    -0x4(%edx),%edx
445d49:	8b 52 14             	mov    0x14(%edx),%edx
445d4c:	3a 42 10             	cmp    0x10(%edx),%al
445d4f:	75 44                	jne    0x445d95
445d51:	8b c3                	mov    %ebx,%eax
445d53:	e8 0c e0 ff ff       	call   0x443d64
445d58:	8b f8                	mov    %eax,%edi
445d5a:	8b 45 08             	mov    0x8(%ebp),%eax
445d5d:	8b 40 fc             	mov    -0x4(%eax),%eax
445d60:	e8 ff df ff ff       	call   0x443d64
445d65:	3b f8                	cmp    %eax,%edi
445d67:	7e 2c                	jle    0x445d95
445d69:	83 7b 04 00          	cmpl   $0x0,0x4(%ebx)
445d6d:	74 0d                	je     0x445d7c
445d6f:	8b 73 04             	mov    0x4(%ebx),%esi
445d72:	85 f6                	test   %esi,%esi
445d74:	74 1f                	je     0x445d95
445d76:	80 7e 57 00          	cmpb   $0x0,0x57(%esi)
445d7a:	74 19                	je     0x445d95
445d7c:	8b 45 08             	mov    0x8(%ebp),%eax
445d7f:	8b 70 f8             	mov    -0x8(%eax),%esi
445d82:	8b c3                	mov    %ebx,%eax
445d84:	e8 db df ff ff       	call   0x443d64
445d89:	3b c6                	cmp    %esi,%eax
445d8b:	7e 02                	jle    0x445d8f
445d8d:	8b c6                	mov    %esi,%eax
445d8f:	8b 55 08             	mov    0x8(%ebp),%edx
445d92:	89 42 f8             	mov    %eax,-0x8(%edx)
445d95:	8b 43 0c             	mov    0xc(%ebx),%eax
445d98:	85 c0                	test   %eax,%eax
445d9a:	74 0a                	je     0x445da6
445d9c:	8b 55 08             	mov    0x8(%ebp),%edx
445d9f:	52                   	push   %edx
445da0:	e8 87 ff ff ff       	call   0x445d2c
445da5:	59                   	pop    %ecx
445da6:	8b 43 08             	mov    0x8(%ebx),%eax
445da9:	85 c0                	test   %eax,%eax
445dab:	74 0a                	je     0x445db7
445dad:	8b 55 08             	mov    0x8(%ebp),%edx
445db0:	52                   	push   %edx
445db1:	e8 76 ff ff ff       	call   0x445d2c
445db6:	59                   	pop    %ecx
445db7:	5f                   	pop    %edi
445db8:	5e                   	pop    %esi
445db9:	5b                   	pop    %ebx
445dba:	5d                   	pop    %ebp
445dbb:	c3                   	ret
445dbc:	55                   	push   %ebp
445dbd:	8b ec                	mov    %esp,%ebp
445dbf:	83 c4 f8             	add    $0xfffffff8,%esp
445dc2:	53                   	push   %ebx
445dc3:	56                   	push   %esi
445dc4:	89 55 fc             	mov    %edx,-0x4(%ebp)
445dc7:	8b d8                	mov    %eax,%ebx
445dc9:	8b 45 fc             	mov    -0x4(%ebp),%eax
445dcc:	8b 70 0c             	mov    0xc(%eax),%esi
445dcf:	85 f6                	test   %esi,%esi
445dd1:	74 0c                	je     0x445ddf
445dd3:	8b c6                	mov    %esi,%eax
445dd5:	e8 8a df ff ff       	call   0x443d64
445dda:	89 45 f8             	mov    %eax,-0x8(%ebp)
445ddd:	eb 17                	jmp    0x445df6
445ddf:	8b 45 fc             	mov    -0x4(%ebp),%eax
445de2:	e8 7d df ff ff       	call   0x443d64
445de7:	8b f0                	mov    %eax,%esi
445de9:	8b 45 fc             	mov    -0x4(%ebp),%eax
445dec:	e8 d3 da ff ff       	call   0x4438c4
445df1:	03 f0                	add    %eax,%esi
445df3:	89 75 f8             	mov    %esi,-0x8(%ebp)
445df6:	55                   	push   %ebp
445df7:	8b 43 64             	mov    0x64(%ebx),%eax
445dfa:	8b 40 08             	mov    0x8(%eax),%eax
445dfd:	e8 2a ff ff ff       	call   0x445d2c
445e02:	59                   	pop    %ecx
445e03:	8b 45 f8             	mov    -0x8(%ebp),%eax
445e06:	5e                   	pop    %esi
445e07:	5b                   	pop    %ebx
445e08:	59                   	pop    %ecx
445e09:	59                   	pop    %ecx
445e0a:	5d                   	pop    %ebp
445e0b:	c3                   	ret
445e0c:	55                   	push   %ebp
445e0d:	8b ec                	mov    %esp,%ebp
445e0f:	83 c4 e0             	add    $0xffffffe0,%esp
445e12:	53                   	push   %ebx
445e13:	56                   	push   %esi
445e14:	57                   	push   %edi
445e15:	8b f2                	mov    %edx,%esi
445e17:	8b f8                	mov    %eax,%edi
445e19:	b3 04                	mov    $0x4,%bl
445e1b:	85 f6                	test   %esi,%esi
445e1d:	74 60                	je     0x445e7f
445e1f:	8d 55 f0             	lea    -0x10(%ebp),%edx
445e22:	8b c7                	mov    %edi,%eax
445e24:	e8 93 39 ff ff       	call   0x4397bc
445e29:	8d 55 e0             	lea    -0x20(%ebp),%edx
445e2c:	8b c6                	mov    %esi,%eax
445e2e:	e8 89 39 ff ff       	call   0x4397bc
445e33:	8b 45 f4             	mov    -0xc(%ebp),%eax
445e36:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
445e39:	7f 14                	jg     0x445e4f
445e3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
445e3e:	3b 45 ec             	cmp    -0x14(%ebp),%eax
445e41:	7d 0c                	jge    0x445e4f
445e43:	8b 45 f8             	mov    -0x8(%ebp),%eax
445e46:	3b 45 e8             	cmp    -0x18(%ebp),%eax
445e49:	7c 04                	jl     0x445e4f
445e4b:	b3 01                	mov    $0x1,%bl
445e4d:	eb 30                	jmp    0x445e7f
445e4f:	8b 45 f0             	mov    -0x10(%ebp),%eax
445e52:	3b 45 e0             	cmp    -0x20(%ebp),%eax
445e55:	7f 14                	jg     0x445e6b
445e57:	8b 45 f8             	mov    -0x8(%ebp),%eax