450b77:	57                   	push   %edi
450b78:	56                   	push   %esi
450b79:	ff 75 08             	push   0x8(%ebp)
450b7c:	50                   	push   %eax
450b7d:	e8 6d 58 fb ff       	call   0x4063ef
450b82:	85 c0                	test   %eax,%eax
450b84:	75 04                	jne    0x450b8a
450b86:	33 f6                	xor    %esi,%esi
450b88:	eb 08                	jmp    0x450b92
450b8a:	50                   	push   %eax
450b8b:	e8 52 ff ff ff       	call   0x450ae2
450b90:	8b f0                	mov    %eax,%esi
450b92:	8d 4d f0             	lea    -0x10(%ebp),%ecx
450b95:	e8 6d 07 fb ff       	call   0x401307
450b9a:	8b c6                	mov    %esi,%eax
450b9c:	8d 65 e8             	lea    -0x18(%ebp),%esp
450b9f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
450ba2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450ba9:	5f                   	pop    %edi
450baa:	5e                   	pop    %esi
450bab:	c9                   	leave
450bac:	c2 04 00             	ret    $0x4
450baf:	55                   	push   %ebp
450bb0:	8b ec                	mov    %esp,%ebp
450bb2:	83 ec 44             	sub    $0x44,%esp
450bb5:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
450bba:	56                   	push   %esi
450bbb:	8b 75 0c             	mov    0xc(%ebp),%esi
450bbe:	85 f6                	test   %esi,%esi
450bc0:	89 45 fc             	mov    %eax,-0x4(%ebp)
450bc3:	74 4a                	je     0x450c0f
450bc5:	8b 4d 08             	mov    0x8(%ebp),%ecx
450bc8:	8d 45 0e             	lea    0xe(%ebp),%eax
450bcb:	50                   	push   %eax
450bcc:	e8 dd a7 fb ff       	call   0x40b3ae
450bd1:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
450bd5:	8b 4d 08             	mov    0x8(%ebp),%ecx
450bd8:	89 06                	mov    %eax,(%esi)
450bda:	8d 45 0e             	lea    0xe(%ebp),%eax
450bdd:	50                   	push   %eax
450bde:	e8 cb a7 fb ff       	call   0x40b3ae
450be3:	66 83 7d 0e 40       	cmpw   $0x40,0xe(%ebp)
450be8:	73 25                	jae    0x450c0f
450bea:	0f b7 75 0e          	movzwl 0xe(%ebp),%esi
450bee:	8b 4d 08             	mov    0x8(%ebp),%ecx
450bf1:	56                   	push   %esi
450bf2:	8d 45 bc             	lea    -0x44(%ebp),%eax
450bf5:	50                   	push   %eax
450bf6:	e8 2e fb ff ff       	call   0x450729
450bfb:	3b c6                	cmp    %esi,%eax
450bfd:	75 10                	jne    0x450c0f
450bff:	8d 45 bc             	lea    -0x44(%ebp),%eax
450c02:	50                   	push   %eax
450c03:	c6 44 35 bc 00       	movb   $0x0,-0x44(%ebp,%esi,1)
450c08:	e8 d5 fe ff ff       	call   0x450ae2
450c0d:	eb 02                	jmp    0x450c11
450c0f:	33 c0                	xor    %eax,%eax
450c11:	8b 4d fc             	mov    -0x4(%ebp),%ecx
450c14:	5e                   	pop    %esi
450c15:	e8 c4 6f fc ff       	call   0x417bde
450c1a:	c9                   	leave
450c1b:	c2 08 00             	ret    $0x8
450c1e:	56                   	push   %esi
450c1f:	8b f1                	mov    %ecx,%esi
450c21:	e8 30 fc ff ff       	call   0x450856
450c26:	83 66 24 00          	andl   $0x0,0x24(%esi)
450c2a:	5e                   	pop    %esi
450c2b:	c3                   	ret
450c2c:	55                   	push   %ebp
450c2d:	8b ec                	mov    %esp,%ebp
450c2f:	53                   	push   %ebx
450c30:	8b 5d 0c             	mov    0xc(%ebp),%ebx
450c33:	85 db                	test   %ebx,%ebx
450c35:	56                   	push   %esi
450c36:	8b f1                	mov    %ecx,%esi
450c38:	0f 84 99 00 00 00    	je     0x450cd7
450c3e:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
450c42:	0f 84 8f 00 00 00    	je     0x450cd7
450c48:	8b 46 18             	mov    0x18(%esi),%eax
450c4b:	f7 d0                	not    %eax
450c4d:	a8 01                	test   $0x1,%al
450c4f:	75 0a                	jne    0x450c5b
450c51:	ff 76 14             	push   0x14(%esi)
450c54:	6a 02                	push   $0x2
450c56:	e8 00 05 00 00       	call   0x45115b
450c5b:	8b 46 28             	mov    0x28(%esi),%eax
450c5e:	57                   	push   %edi
450c5f:	8b 7e 2c             	mov    0x2c(%esi),%edi
450c62:	2b f8                	sub    %eax,%edi
450c64:	3b df                	cmp    %edi,%ebx
450c66:	73 02                	jae    0x450c6a
450c68:	8b fb                	mov    %ebx,%edi
450c6a:	57                   	push   %edi
450c6b:	ff 75 08             	push   0x8(%ebp)
450c6e:	50                   	push   %eax
450c6f:	e8 fc 6b fc ff       	call   0x417870
450c74:	01 7e 28             	add    %edi,0x28(%esi)
450c77:	01 7d 08             	add    %edi,0x8(%ebp)
450c7a:	83 c4 0c             	add    $0xc,%esp
450c7d:	2b df                	sub    %edi,%ebx
450c7f:	74 55                	je     0x450cd6
450c81:	8b ce                	mov    %esi,%ecx
450c83:	e8 ce fb ff ff       	call   0x450856
450c88:	33 d2                	xor    %edx,%edx
450c8a:	8b c3                	mov    %ebx,%eax
450c8c:	f7 76 20             	divl   0x20(%esi)
450c8f:	8b 4e 24             	mov    0x24(%esi),%ecx
450c92:	8b 01                	mov    (%ecx),%eax
450c94:	8b fb                	mov    %ebx,%edi
450c96:	2b fa                	sub    %edx,%edi
450c98:	57                   	push   %edi
450c99:	ff 75 08             	push   0x8(%ebp)
450c9c:	ff 50 38             	call   *0x38(%eax)
450c9f:	01 7d 08             	add    %edi,0x8(%ebp)
450ca2:	2b df                	sub    %edi,%ebx
450ca4:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
450ca8:	74 1a                	je     0x450cc4
450caa:	8b 4e 24             	mov    0x24(%esi),%ecx
450cad:	8b 11                	mov    (%ecx),%edx
450caf:	8d 46 2c             	lea    0x2c(%esi),%eax
450cb2:	50                   	push   %eax
450cb3:	8d 7e 30             	lea    0x30(%esi),%edi
450cb6:	57                   	push   %edi
450cb7:	ff 76 20             	push   0x20(%esi)
450cba:	6a 01                	push   $0x1
450cbc:	ff 52 50             	call   *0x50(%edx)
450cbf:	8b 07                	mov    (%edi),%eax
450cc1:	89 46 28             	mov    %eax,0x28(%esi)
450cc4:	53                   	push   %ebx
450cc5:	ff 75 08             	push   0x8(%ebp)
450cc8:	ff 76 28             	push   0x28(%esi)
450ccb:	e8 a0 6b fc ff       	call   0x417870
450cd0:	83 c4 0c             	add    $0xc,%esp
450cd3:	01 5e 28             	add    %ebx,0x28(%esi)
450cd6:	5f                   	pop    %edi
450cd7:	5e                   	pop    %esi
450cd8:	5b                   	pop    %ebx
450cd9:	5d                   	pop    %ebp
450cda:	c2 08 00             	ret    $0x8
450cdd:	56                   	push   %esi
450cde:	57                   	push   %edi
450cdf:	8b 7c 24 0c          	mov    0xc(%esp),%edi
450ce3:	b8 ff ff 00 00       	mov    $0xffff,%eax
450ce8:	3b f8                	cmp    %eax,%edi
450cea:	8b f1                	mov    %ecx,%esi
450cec:	73 08                	jae    0x450cf6
450cee:	57                   	push   %edi
450cef:	e8 c3 a4 fb ff       	call   0x40b1b7
450cf4:	eb 0e                	jmp    0x450d04
450cf6:	50                   	push   %eax
450cf7:	e8 bb a4 fb ff       	call   0x40b1b7
450cfc:	57                   	push   %edi
450cfd:	8b ce                	mov    %esi,%ecx
450cff:	e8 2a a5 fb ff       	call   0x40b22e
450d04:	5f                   	pop    %edi
450d05:	5e                   	pop    %esi
450d06:	c2 04 00             	ret    $0x4
450d09:	55                   	push   %ebp
450d0a:	8b ec                	mov    %esp,%ebp
450d0c:	51                   	push   %ecx
450d0d:	56                   	push   %esi
450d0e:	8d 45 fe             	lea    -0x2(%ebp),%eax
450d11:	50                   	push   %eax
450d12:	8b f1                	mov    %ecx,%esi
450d14:	e8 95 a6 fb ff       	call   0x40b3ae
450d19:	66 81 7d fe ff ff    	cmpw   $0xffff,-0x2(%ebp)
450d1f:	74 06                	je     0x450d27
450d21:	0f b7 45 fe          	movzwl -0x2(%ebp),%eax
450d25:	eb 0e                	jmp    0x450d35
450d27:	8d 45 fc             	lea    -0x4(%ebp),%eax
450d2a:	50                   	push   %eax
450d2b:	8b ce                	mov    %esi,%ecx
450d2d:	e8 bf a6 fb ff       	call   0x40b3f1
450d32:	8b 45 fc             	mov    -0x4(%ebp),%eax
450d35:	5e                   	pop    %esi
450d36:	c9                   	leave
450d37:	c3                   	ret
450d38:	56                   	push   %esi
450d39:	ff 74 24 08          	push   0x8(%esp)
450d3d:	8b f1                	mov    %ecx,%esi
450d3f:	ff 15 88 03 4b 00    	call   *0x4b0388
450d45:	50                   	push   %eax
450d46:	ff 74 24 0c          	push   0xc(%esp)
450d4a:	8b ce                	mov    %esi,%ecx
450d4c:	e8 db fe ff ff       	call   0x450c2c
450d51:	5e                   	pop    %esi
450d52:	c2 04 00             	ret    $0x4
450d55:	b8 f3 31 48 00       	mov    $0x4831f3,%eax
450d5a:	e8 1d 6f fc ff       	call   0x417c7c
450d5f:	83 ec 14             	sub    $0x14,%esp
450d62:	53                   	push   %ebx
450d63:	8b 5d 0c             	mov    0xc(%ebp),%ebx
450d66:	56                   	push   %esi
450d67:	33 f6                	xor    %esi,%esi
450d69:	3b de                	cmp    %esi,%ebx
450d6b:	57                   	push   %edi
450d6c:	89 65 f0             	mov    %esp,-0x10(%ebp)
450d6f:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
450d72:	7d 02                	jge    0x450d76
450d74:	f7 db                	neg    %ebx
450d76:	8b 7d 08             	mov    0x8(%ebp),%edi
450d79:	3b fe                	cmp    %esi,%edi
450d7b:	74 5b                	je     0x450dd8
450d7d:	89 75 fc             	mov    %esi,-0x4(%ebp)
450d80:	3b f3                	cmp    %ebx,%esi
450d82:	89 75 e8             	mov    %esi,-0x18(%ebp)
450d85:	7d 6a                	jge    0x450df1
450d87:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
450d8a:	8d 45 ef             	lea    -0x11(%ebp),%eax
450d8d:	50                   	push   %eax
450d8e:	e8 4c a5 fb ff       	call   0x40b2df
450d93:	8a 45 ef             	mov    -0x11(%ebp),%al
450d96:	3c 0a                	cmp    $0xa,%al
450d98:	74 19                	je     0x450db3
450d9a:	3c 0d                	cmp    $0xd,%al
450d9c:	74 06                	je     0x450da4
450d9e:	88 04 3e             	mov    %al,(%esi,%edi,1)
450da1:	46                   	inc    %esi
450da2:	eb dc                	jmp    0x450d80
450da4:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
450da7:	8d 45 ef             	lea    -0x11(%ebp),%eax
450daa:	50                   	push   %eax
450dab:	e8 2f a5 fb ff       	call   0x40b2df
450db0:	8a 45 ef             	mov    -0x11(%ebp),%al
450db3:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
450db6:	74 39                	je     0x450df1
450db8:	88 04 3e             	mov    %al,(%esi,%edi,1)
450dbb:	46                   	inc    %esi
450dbc:	eb 33                	jmp    0x450df1
450dbe:	8b 4d e0             	mov    -0x20(%ebp),%ecx
450dc1:	83 79 08 03          	cmpl   $0x3,0x8(%ecx)
450dc5:	75 1b                	jne    0x450de2
450dc7:	e8 4d f1 fe ff       	call   0x43ff19
450dcc:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
450dd0:	75 0a                	jne    0x450ddc
450dd2:	b8 d8 0d 45 00       	mov    $0x450dd8,%eax
450dd7:	c3                   	ret
450dd8:	33 c0                	xor    %eax,%eax
450dda:	eb 1b                	jmp    0x450df7
450ddc:	b8 eb 0d 45 00       	mov    $0x450deb,%eax
450de1:	c3                   	ret
450de2:	6a 00                	push   $0x0
450de4:	6a 00                	push   $0x0
450de6:	e8 6c 67 fc ff       	call   0x417557
450deb:	8b 7d 08             	mov    0x8(%ebp),%edi
450dee:	8b 75 e8             	mov    -0x18(%ebp),%esi
450df1:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
450df5:	8b c7                	mov    %edi,%eax
450df7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
450dfa:	5f                   	pop    %edi
450dfb:	5e                   	pop    %esi
450dfc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450e03:	5b                   	pop    %ebx
450e04:	c9                   	leave
450e05:	c2 08 00             	ret    $0x8
450e08:	ff 74 24 04          	push   0x4(%esp)
450e0c:	e8 d1 fc ff ff       	call   0x450ae2
450e11:	85 c0                	test   %eax,%eax
450e13:	74 07                	je     0x450e1c
450e15:	8b c8                	mov    %eax,%ecx
450e17:	e8 62 fb fe ff       	call   0x44097e
450e1c:	c2 04 00             	ret    $0x4
450e1f:	55                   	push   %ebp
450e20:	8b ec                	mov    %esp,%ebp
450e22:	56                   	push   %esi
450e23:	57                   	push   %edi
450e24:	ff 15 fc 70 4a 00    	call   *0x4a70fc
450e2a:	8b f8                	mov    %eax,%edi
450e2c:	33 c0                	xor    %eax,%eax
450e2e:	39 45 08             	cmp    %eax,0x8(%ebp)
450e31:	74 27                	je     0x450e5a
450e33:	ff 75 08             	push   0x8(%ebp)
450e36:	ff 15 90 03 4b 00    	call   *0x4b0390
450e3c:	8d 74 00 02          	lea    0x2(%eax,%eax,1),%esi
450e40:	8b c6                	mov    %esi,%eax
450e42:	83 c0 03             	add    $0x3,%eax
450e45:	83 e0 fc             	and    $0xfffffffc,%eax
450e48:	e8 a3 58 fc ff       	call   0x4166f0
450e4d:	8b c4                	mov    %esp,%eax
450e4f:	57                   	push   %edi
450e50:	56                   	push   %esi
450e51:	ff 75 08             	push   0x8(%ebp)
450e54:	50                   	push   %eax
450e55:	e8 95 55 fb ff       	call   0x4063ef
450e5a:	50                   	push   %eax
450e5b:	e8 a8 ff ff ff       	call   0x450e08
450e60:	8d 65 f8             	lea    -0x8(%ebp),%esp
450e63:	5f                   	pop    %edi
450e64:	5e                   	pop    %esi
450e65:	5d                   	pop    %ebp
450e66:	c2 04 00             	ret    $0x4
450e69:	56                   	push   %esi
450e6a:	57                   	push   %edi
450e6b:	8b f1                	mov    %ecx,%esi
450e6d:	ff 36                	push   (%esi)
450e6f:	ff 15 88 03 4b 00    	call   *0x4b0388
450e75:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
450e79:	8b f8                	mov    %eax,%edi
450e7b:	33 c0                	xor    %eax,%eax
450e7d:	66 8b 46 08          	mov    0x8(%esi),%ax
450e81:	57                   	push   %edi
450e82:	50                   	push   %eax
450e83:	e8 2f a3 fb ff       	call   0x40b1b7
450e88:	8b c8                	mov    %eax,%ecx
450e8a:	e8 28 a3 fb ff       	call   0x40b1b7
450e8f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
450e93:	0f b7 c7             	movzwl %di,%eax
450e96:	50                   	push   %eax
450e97:	ff 36                	push   (%esi)
450e99:	e8 8e fd ff ff       	call   0x450c2c
450e9e:	5f                   	pop    %edi
450e9f:	5e                   	pop    %esi
450ea0:	c2 04 00             	ret    $0x4
450ea3:	b8 08 32 48 00       	mov    $0x483208,%eax
450ea8:	e8 cf 6d fc ff       	call   0x417c7c
450ead:	51                   	push   %ecx
450eae:	56                   	push   %esi
450eaf:	8b f1                	mov    %ecx,%esi
450eb1:	89 75 f0             	mov    %esi,-0x10(%ebp)
450eb4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
450eb8:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
450ebc:	74 0b                	je     0x450ec9
450ebe:	f6 46 18 02          	testb  $0x2,0x18(%esi)
450ec2:	75 05                	jne    0x450ec9
450ec4:	e8 55 fd ff ff       	call   0x450c1e
450ec9:	8b ce                	mov    %esi,%ecx
450ecb:	e8 17 f8 ff ff       	call   0x4506e7
450ed0:	8b 4e 14             	mov    0x14(%esi),%ecx
450ed3:	83 e9 10             	sub    $0x10,%ecx
450ed6:	e8 77 04 fb ff       	call   0x401352
450edb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
450ede:	5e                   	pop    %esi
450edf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450ee6:	c9                   	leave
450ee7:	c3                   	ret
450ee8:	b8 25 32 48 00       	mov    $0x483225,%eax
450eed:	e8 8a 6d fc ff       	call   0x417c7c
450ef2:	51                   	push   %ecx
450ef3:	53                   	push   %ebx
450ef4:	56                   	push   %esi
450ef5:	8b f1                	mov    %ecx,%esi
450ef7:	57                   	push   %edi
450ef8:	8d 4e 14             	lea    0x14(%esi),%ecx
450efb:	89 75 f0             	mov    %esi,-0x10(%ebp)
450efe:	e8 b1 01 fb ff       	call   0x4010b4
450f03:	8b 7d 08             	mov    0x8(%ebp),%edi
450f06:	33 db                	xor    %ebx,%ebx
450f08:	3b fb                	cmp    %ebx,%edi
450f0a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
450f0d:	75 05                	jne    0x450f14