453ad7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453ada:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453ae1:	59                   	pop    %ecx
453ae2:	5f                   	pop    %edi
453ae3:	5e                   	pop    %esi
453ae4:	5b                   	pop    %ebx
453ae5:	8b e5                	mov    %ebp,%esp
453ae7:	5d                   	pop    %ebp
453ae8:	c3                   	ret
453ae9:	cc                   	int3
453aea:	cc                   	int3
453aeb:	cc                   	int3
453aec:	cc                   	int3
453aed:	cc                   	int3
453aee:	cc                   	int3
453aef:	cc                   	int3
453af0:	55                   	push   %ebp
453af1:	8b ec                	mov    %esp,%ebp
453af3:	6a ff                	push   $0xffffffff
453af5:	68 d4 b7 49 00       	push   $0x49b7d4
453afa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453b00:	50                   	push   %eax
453b01:	51                   	push   %ecx
453b02:	53                   	push   %ebx
453b03:	56                   	push   %esi
453b04:	57                   	push   %edi
453b05:	a1 14 40 4c 00       	mov    0x4c4014,%eax
453b0a:	33 c5                	xor    %ebp,%eax
453b0c:	50                   	push   %eax
453b0d:	8d 45 f4             	lea    -0xc(%ebp),%eax
453b10:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453b16:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
453b1c:	8b 08                	mov    (%eax),%ecx
453b1e:	a1 04 9f 4c 00       	mov    0x4c9f04,%eax
453b23:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
453b29:	7e 3a                	jle    0x453b65
453b2b:	68 04 9f 4c 00       	push   $0x4c9f04
453b30:	e8 b5 62 01 00       	call   0x469dea
453b35:	83 c4 04             	add    $0x4,%esp
453b38:	83 3d 04 9f 4c 00 ff 	cmpl   $0xffffffff,0x4c9f04
453b3f:	75 24                	jne    0x453b65
453b41:	68 d0 d4 49 00       	push   $0x49d4d0
453b46:	c7 05 08 9f 4c 00 00 	movl   $0x0,0x4c9f08
453b4d:	00 00 00
453b50:	e8 2a 61 01 00       	call   0x469c7f
453b55:	83 c4 04             	add    $0x4,%esp
453b58:	68 04 9f 4c 00       	push   $0x4c9f04
453b5d:	e8 3e 62 01 00       	call   0x469da0
453b62:	83 c4 04             	add    $0x4,%esp
453b65:	a1 08 9f 4c 00       	mov    0x4c9f08,%eax
453b6a:	85 c0                	test   %eax,%eax
453b6c:	0f 85 85 00 00 00    	jne    0x453bf7
453b72:	6a 14                	push   $0x14
453b74:	e8 5f 5e 01 00       	call   0x4699d8
453b79:	8b f8                	mov    %eax,%edi
453b7b:	83 c4 04             	add    $0x4,%esp
453b7e:	89 7d f0             	mov    %edi,-0x10(%ebp)
453b81:	8d 4f 04             	lea    0x4(%edi),%ecx
453b84:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453b8b:	e8 00 a6 ff ff       	call   0x44e190
453b90:	51                   	push   %ecx
453b91:	c7 07 dc 6b 4b 00    	movl   $0x4b6bdc,(%edi)
453b97:	6a 02                	push   $0x2
453b99:	c7 47 08 02 00 00 00 	movl   $0x2,0x8(%edi)
453ba0:	e8 db fb ff ff       	call   0x453780
453ba5:	89 47 0c             	mov    %eax,0xc(%edi)
453ba8:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
453baf:	c7 00 02 00 00 00    	movl   $0x2,(%eax)
453bb5:	8b 47 0c             	mov    0xc(%edi),%eax
453bb8:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
453bbf:	8b 1d 08 9f 4c 00    	mov    0x4c9f08,%ebx
453bc5:	85 db                	test   %ebx,%ebx
453bc7:	74 26                	je     0x453bef
453bc9:	8b 0f                	mov    (%edi),%ecx
453bcb:	6a 01                	push   $0x1
453bcd:	8b 31                	mov    (%ecx),%esi
453bcf:	8b ce                	mov    %esi,%ecx
453bd1:	ff 15 d4 e2 49 00    	call   *0x49e2d4
453bd7:	8b cf                	mov    %edi,%ecx
453bd9:	ff d6                	call   *%esi
453bdb:	8b c3                	mov    %ebx,%eax
453bdd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453be0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453be7:	59                   	pop    %ecx
453be8:	5f                   	pop    %edi
453be9:	5e                   	pop    %esi
453bea:	5b                   	pop    %ebx
453beb:	8b e5                	mov    %ebp,%esp
453bed:	5d                   	pop    %ebp
453bee:	c3                   	ret
453bef:	89 3d 08 9f 4c 00    	mov    %edi,0x4c9f08
453bf5:	8b c7                	mov    %edi,%eax
453bf7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453bfa:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453c01:	59                   	pop    %ecx
453c02:	5f                   	pop    %edi
453c03:	5e                   	pop    %esi
453c04:	5b                   	pop    %ebx
453c05:	8b e5                	mov    %ebp,%esp
453c07:	5d                   	pop    %ebp
453c08:	c3                   	ret
453c09:	cc                   	int3
453c0a:	cc                   	int3
453c0b:	cc                   	int3
453c0c:	cc                   	int3
453c0d:	cc                   	int3
453c0e:	cc                   	int3
453c0f:	cc                   	int3
453c10:	56                   	push   %esi
453c11:	8b 74 24 08          	mov    0x8(%esp),%esi
453c15:	57                   	push   %edi
453c16:	8b f9                	mov    %ecx,%edi
453c18:	81 fe ff ff ff 3f    	cmp    $0x3fffffff,%esi
453c1e:	77 66                	ja     0x453c86
453c20:	c1 e6 02             	shl    $0x2,%esi
453c23:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
453c29:	72 2e                	jb     0x453c59
453c2b:	8d 46 23             	lea    0x23(%esi),%eax
453c2e:	3b c6                	cmp    %esi,%eax
453c30:	76 54                	jbe    0x453c86
453c32:	50                   	push   %eax
453c33:	e8 a0 5d 01 00       	call   0x4699d8
453c38:	8b c8                	mov    %eax,%ecx
453c3a:	83 c4 04             	add    $0x4,%esp
453c3d:	85 c9                	test   %ecx,%ecx
453c3f:	74 4a                	je     0x453c8b
453c41:	8d 41 23             	lea    0x23(%ecx),%eax
453c44:	83 e0 e0             	and    $0xffffffe0,%eax
453c47:	89 48 fc             	mov    %ecx,-0x4(%eax)
453c4a:	89 07                	mov    %eax,(%edi)
453c4c:	89 47 04             	mov    %eax,0x4(%edi)
453c4f:	03 c6                	add    %esi,%eax
453c51:	89 47 08             	mov    %eax,0x8(%edi)
453c54:	5f                   	pop    %edi
453c55:	5e                   	pop    %esi
453c56:	c2 04 00             	ret    $0x4
453c59:	85 f6                	test   %esi,%esi
453c5b:	74 18                	je     0x453c75
453c5d:	56                   	push   %esi
453c5e:	e8 75 5d 01 00       	call   0x4699d8
453c63:	89 07                	mov    %eax,(%edi)
453c65:	83 c4 04             	add    $0x4,%esp
453c68:	89 47 04             	mov    %eax,0x4(%edi)
453c6b:	03 c6                	add    %esi,%eax
453c6d:	89 47 08             	mov    %eax,0x8(%edi)
453c70:	5f                   	pop    %edi
453c71:	5e                   	pop    %esi
453c72:	c2 04 00             	ret    $0x4
453c75:	33 c0                	xor    %eax,%eax
453c77:	89 07                	mov    %eax,(%edi)
453c79:	89 47 04             	mov    %eax,0x4(%edi)
453c7c:	8b c6                	mov    %esi,%eax
453c7e:	89 47 08             	mov    %eax,0x8(%edi)
453c81:	5f                   	pop    %edi
453c82:	5e                   	pop    %esi
453c83:	c2 04 00             	ret    $0x4
453c86:	e8 b5 d6 fa ff       	call   0x401340
453c8b:	e8 a1 59 02 00       	call   0x479631
453c90:	cc                   	int3
453c91:	cc                   	int3
453c92:	cc                   	int3
453c93:	cc                   	int3
453c94:	cc                   	int3
453c95:	cc                   	int3
453c96:	cc                   	int3
453c97:	cc                   	int3
453c98:	cc                   	int3
453c99:	cc                   	int3
453c9a:	cc                   	int3
453c9b:	cc                   	int3
453c9c:	cc                   	int3
453c9d:	cc                   	int3
453c9e:	cc                   	int3
453c9f:	cc                   	int3
453ca0:	83 ec 18             	sub    $0x18,%esp
453ca3:	53                   	push   %ebx
453ca4:	55                   	push   %ebp
453ca5:	56                   	push   %esi
453ca6:	8b 74 24 28          	mov    0x28(%esp),%esi
453caa:	8b ea                	mov    %edx,%ebp
453cac:	8b d9                	mov    %ecx,%ebx
453cae:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
453cb2:	57                   	push   %edi
453cb3:	89 5c 24 24          	mov    %ebx,0x24(%esp)
453cb7:	8d 46 01             	lea    0x1(%esi),%eax
453cba:	85 c0                	test   %eax,%eax
453cbc:	75 0c                	jne    0x453cca
453cbe:	8b 43 08             	mov    0x8(%ebx),%eax
453cc1:	8d 4b 04             	lea    0x4(%ebx),%ecx
453cc4:	89 4c 24 14          	mov    %ecx,0x14(%esp)
453cc8:	eb 29                	jmp    0x453cf3
453cca:	8b 4b 04             	mov    0x4(%ebx),%ecx
453ccd:	8d 7b 04             	lea    0x4(%ebx),%edi
453cd0:	89 7c 24 14          	mov    %edi,0x14(%esp)
453cd4:	6a 00                	push   $0x0
453cd6:	85 f6                	test   %esi,%esi
453cd8:	74 0c                	je     0x453ce6
453cda:	50                   	push   %eax
453cdb:	ff 73 08             	push   0x8(%ebx)
453cde:	51                   	push   %ecx
453cdf:	e8 7c 66 01 00       	call   0x46a360
453ce4:	eb 0d                	jmp    0x453cf3
453ce6:	55                   	push   %ebp
453ce7:	51                   	push   %ecx
453ce8:	ff 33                	push   (%ebx)
453cea:	e8 71 66 01 00       	call   0x46a360
453cef:	89 7c 24 14          	mov    %edi,0x14(%esp)
453cf3:	89 44 24 10          	mov    %eax,0x10(%esp)
453cf7:	33 c9                	xor    %ecx,%ecx
453cf9:	f7 e5                	mul    %ebp
453cfb:	8b 2b                	mov    (%ebx),%ebp
453cfd:	2b e8                	sub    %eax,%ebp
453cff:	8b fa                	mov    %edx,%edi
453d01:	89 2b                	mov    %ebp,(%ebx)
453d03:	8b 5c 24 14          	mov    0x14(%esp),%ebx
453d07:	1b c9                	sbb    %ecx,%ecx
453d09:	33 c0                	xor    %eax,%eax
453d0b:	f7 d9                	neg    %ecx
453d0d:	8b 1b                	mov    (%ebx),%ebx
453d0f:	2b d9                	sub    %ecx,%ebx
453d11:	1b c0                	sbb    %eax,%eax
453d13:	89 44 24 18          	mov    %eax,0x18(%esp)
453d17:	8b 44 24 10          	mov    0x10(%esp),%eax
453d1b:	f7 e6                	mul    %esi
453d1d:	2b d8                	sub    %eax,%ebx
453d1f:	8b 44 24 14          	mov    0x14(%esp),%eax
453d23:	19 54 24 18          	sbb    %edx,0x18(%esp)
453d27:	2b df                	sub    %edi,%ebx
453d29:	8b 7c 24 18          	mov    0x18(%esp),%edi
453d2d:	8b cb                	mov    %ebx,%ecx
453d2f:	8b 54 24 24          	mov    0x24(%esp),%edx
453d33:	83 df 00             	sbb    $0x0,%edi
453d36:	89 18                	mov    %ebx,(%eax)
453d38:	8b 44 24 10          	mov    0x10(%esp),%eax
453d3c:	89 5c 24 18          	mov    %ebx,0x18(%esp)
453d40:	03 7a 08             	add    0x8(%edx),%edi
453d43:	89 7a 08             	mov    %edi,0x8(%edx)
453d46:	85 ff                	test   %edi,%edi
453d48:	75 1a                	jne    0x453d64
453d4a:	3b ce                	cmp    %esi,%ecx
453d4c:	77 16                	ja     0x453d64
453d4e:	39 74 24 18          	cmp    %esi,0x18(%esp)
453d52:	75 08                	jne    0x453d5c
453d54:	8b 4c 24 20          	mov    0x20(%esp),%ecx
453d58:	3b e9                	cmp    %ecx,%ebp
453d5a:	73 0c                	jae    0x453d68
453d5c:	5f                   	pop    %edi
453d5d:	5e                   	pop    %esi
453d5e:	5d                   	pop    %ebp
453d5f:	5b                   	pop    %ebx
453d60:	83 c4 18             	add    $0x18,%esp
453d63:	c3                   	ret
453d64:	8b 4c 24 20          	mov    0x20(%esp),%ecx
453d68:	33 c0                	xor    %eax,%eax
453d6a:	2b e9                	sub    %ecx,%ebp
453d6c:	89 2a                	mov    %ebp,(%edx)
453d6e:	1b c0                	sbb    %eax,%eax
453d70:	33 c9                	xor    %ecx,%ecx
453d72:	f7 d8                	neg    %eax
453d74:	2b d8                	sub    %eax,%ebx
453d76:	8b 44 24 14          	mov    0x14(%esp),%eax
453d7a:	1b c9                	sbb    %ecx,%ecx
453d7c:	2b de                	sub    %esi,%ebx
453d7e:	83 d9 00             	sbb    $0x0,%ecx
453d81:	89 18                	mov    %ebx,(%eax)
453d83:	8b 44 24 10          	mov    0x10(%esp),%eax
453d87:	03 f9                	add    %ecx,%edi
453d89:	40                   	inc    %eax
453d8a:	8b cb                	mov    %ebx,%ecx
453d8c:	89 44 24 10          	mov    %eax,0x10(%esp)
453d90:	89 4c 24 18          	mov    %ecx,0x18(%esp)
453d94:	eb ad                	jmp    0x453d43
453d96:	cc                   	int3
453d97:	cc                   	int3
453d98:	cc                   	int3
453d99:	cc                   	int3
453d9a:	cc                   	int3
453d9b:	cc                   	int3
453d9c:	cc                   	int3
453d9d:	cc                   	int3
453d9e:	cc                   	int3
453d9f:	cc                   	int3
453da0:	55                   	push   %ebp
453da1:	8b ec                	mov    %esp,%ebp
453da3:	6a ff                	push   $0xffffffff
453da5:	68 1c b8 49 00       	push   $0x49b81c
453daa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
453db0:	50                   	push   %eax
453db1:	83 ec 08             	sub    $0x8,%esp
453db4:	53                   	push   %ebx
453db5:	56                   	push   %esi
453db6:	57                   	push   %edi
453db7:	a1 14 40 4c 00       	mov    0x4c4014,%eax
453dbc:	33 c5                	xor    %ebp,%eax
453dbe:	50                   	push   %eax
453dbf:	8d 45 f4             	lea    -0xc(%ebp),%eax
453dc2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
453dc8:	8b f9                	mov    %ecx,%edi
453dca:	6a 24                	push   $0x24
453dcc:	e8 07 5c 01 00       	call   0x4699d8
453dd1:	8b d8                	mov    %eax,%ebx
453dd3:	83 c4 04             	add    $0x4,%esp
453dd6:	89 5d ec             	mov    %ebx,-0x14(%ebp)
453dd9:	8a 45 10             	mov    0x10(%ebp),%al
453ddc:	8b 55 08             	mov    0x8(%ebp),%edx
453ddf:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
453de6:	89 53 04             	mov    %edx,0x4(%ebx)
453de9:	88 43 08             	mov    %al,0x8(%ebx)
453dec:	c6 43 09 00          	movb   $0x0,0x9(%ebx)
453df0:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
453df7:	ff 75 0c             	push   0xc(%ebp)
453dfa:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
453dfe:	8d 4b 10             	lea    0x10(%ebx),%ecx
453e01:	c7 03 f8 6a 4b 00    	movl   $0x4b6af8,(%ebx)
453e07:	e8 34 a6 ff ff       	call   0x44e440
453e0c:	8b 47 04             	mov    0x4(%edi),%eax
453e0f:	89 45 ec             	mov    %eax,-0x14(%ebp)
453e12:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
453e19:	8b 43 0c             	mov    0xc(%ebx),%eax
453e1c:	89 45 f0             	mov    %eax,-0x10(%ebp)
453e1f:	85 c0                	test   %eax,%eax
453e21:	74 13                	je     0x453e36
453e23:	8b 00                	mov    (%eax),%eax
453e25:	6a 01                	push   $0x1
453e27:	8b 30                	mov    (%eax),%esi
453e29:	8b ce                	mov    %esi,%ecx
453e2b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
453e31:	8b 4d f0             	mov    -0x10(%ebp),%ecx
453e34:	ff d6                	call   *%esi
453e36:	8b 45 ec             	mov    -0x14(%ebp),%eax
453e39:	89 43 0c             	mov    %eax,0xc(%ebx)
453e3c:	8b 47 04             	mov    0x4(%edi),%eax
453e3f:	89 45 ec             	mov    %eax,-0x14(%ebp)
453e42:	85 c0                	test   %eax,%eax
453e44:	74 13                	je     0x453e59
453e46:	8b 00                	mov    (%eax),%eax
453e48:	6a 01                	push   $0x1
453e4a:	8b 30                	mov    (%eax),%esi
453e4c:	8b ce                	mov    %esi,%ecx
453e4e:	ff 15 d4 e2 49 00    	call   *0x49e2d4
453e54:	8b 4d ec             	mov    -0x14(%ebp),%ecx
453e57:	ff d6                	call   *%esi
453e59:	8a 45 10             	mov    0x10(%ebp),%al
453e5c:	89 5f 04             	mov    %ebx,0x4(%edi)
453e5f:	88 47 08             	mov    %al,0x8(%edi)
453e62:	8b c7                	mov    %edi,%eax
453e64:	8b 4d f4             	mov    -0xc(%ebp),%ecx
453e67:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
453e6e:	59                   	pop    %ecx
453e6f:	5f                   	pop    %edi