4858da:	8b ce                	mov    %esi,%ecx
4858dc:	e8 3f 41 f8 ff       	call   0x409a20
4858e1:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4858e8:	89 1e                	mov    %ebx,(%esi)
4858ea:	e9 0d 01 00 00       	jmp    0x4859fc
4858ef:	8b 44 24 0c          	mov    0xc(%esp),%eax
4858f3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4858f6:	8b 9f e8 02 00 00    	mov    0x2e8(%edi),%ebx
4858fc:	89 87 d4 02 00 00    	mov    %eax,0x2d4(%edi)
485902:	e8 27 3b f8 ff       	call   0x40942e
485907:	6a 02                	push   $0x2
485909:	8d 4b 01             	lea    0x1(%ebx),%ecx
48590c:	8b f0                	mov    %eax,%esi
48590e:	51                   	push   %ecx
48590f:	6a 02                	push   $0x2
485911:	56                   	push   %esi
485912:	89 74 24 1c          	mov    %esi,0x1c(%esp)
485916:	e8 95 38 f8 ff       	call   0x4091b0
48591b:	33 c0                	xor    %eax,%eax
48591d:	89 5c 24 28          	mov    %ebx,0x28(%esp)
485921:	50                   	push   %eax
485922:	50                   	push   %eax
485923:	89 44 24 38          	mov    %eax,0x38(%esp)
485927:	8d 44 24 30          	lea    0x30(%esp),%eax
48592b:	6a 02                	push   $0x2
48592d:	50                   	push   %eax
48592e:	56                   	push   %esi
48592f:	c7 44 24 48 01 00 00 	movl   $0x1,0x48(%esp)
485936:	00
485937:	e8 04 37 f8 ff       	call   0x409040
48593c:	83 c4 24             	add    $0x24,%esp
48593f:	8d 4c 24 18          	lea    0x18(%esp),%ecx
485943:	e8 d8 40 f8 ff       	call   0x409a20
485948:	33 f6                	xor    %esi,%esi
48594a:	46                   	inc    %esi
48594b:	3b de                	cmp    %esi,%ebx
48594d:	0f 8c a9 00 00 00    	jl     0x4859fc
485953:	8b 87 e4 02 00 00    	mov    0x2e4(%edi),%eax
485959:	68 ff 7f 00 00       	push   $0x7fff
48595e:	ff 74 24 14          	push   0x14(%esp)
485962:	8b 44 b0 fc          	mov    -0x4(%eax,%esi,4),%eax
485966:	ff 30                	push   (%eax)
485968:	ff 15 6c f6 48 00    	call   *0x48f66c
48596e:	6a 10                	push   $0x10
485970:	e8 81 b6 f9 ff       	call   0x420ff6
485975:	59                   	pop    %ecx
485976:	85 c0                	test   %eax,%eax
485978:	74 11                	je     0x48598b
48597a:	ff 74 24 10          	push   0x10(%esp)
48597e:	8b c8                	mov    %eax,%ecx
485980:	e8 bc 25 f8 ff       	call   0x407f41
485985:	89 44 24 20          	mov    %eax,0x20(%esp)
485989:	eb 05                	jmp    0x485990
48598b:	83 64 24 20 00       	andl   $0x0,0x20(%esp)
485990:	6a 00                	push   $0x0
485992:	56                   	push   %esi
485993:	6a 02                	push   $0x2
485995:	8d 44 24 24          	lea    0x24(%esp),%eax
485999:	c7 44 24 30 04 00 00 	movl   $0x4,0x30(%esp)
4859a0:	00
4859a1:	50                   	push   %eax
4859a2:	ff 74 24 1c          	push   0x1c(%esp)
4859a6:	e8 95 36 f8 ff       	call   0x409040
4859ab:	83 c4 14             	add    $0x14,%esp
4859ae:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4859b2:	e8 69 40 f8 ff       	call   0x409a20
4859b7:	8b 87 e4 02 00 00    	mov    0x2e4(%edi),%eax
4859bd:	83 64 24 30 00       	andl   $0x0,0x30(%esp)
4859c2:	6a 01                	push   $0x1
4859c4:	56                   	push   %esi
4859c5:	8b 44 b0 fc          	mov    -0x4(%eax,%esi,4),%eax
4859c9:	6a 02                	push   $0x2
4859cb:	c7 44 24 40 07 00 00 	movl   $0x7,0x40(%esp)
4859d2:	00
4859d3:	8b 00                	mov    (%eax),%eax
4859d5:	89 44 24 34          	mov    %eax,0x34(%esp)
4859d9:	8d 44 24 34          	lea    0x34(%esp),%eax
4859dd:	50                   	push   %eax
4859de:	ff 74 24 1c          	push   0x1c(%esp)
4859e2:	e8 59 36 f8 ff       	call   0x409040
4859e7:	83 c4 14             	add    $0x14,%esp
4859ea:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4859ee:	e8 2d 40 f8 ff       	call   0x409a20
4859f3:	46                   	inc    %esi
4859f4:	3b f3                	cmp    %ebx,%esi
4859f6:	0f 8e 57 ff ff ff    	jle    0x485953
4859fc:	8b 44 24 14          	mov    0x14(%esp),%eax
485a00:	ff 08                	decl   (%eax)
485a02:	75 11                	jne    0x485a15
485a04:	50                   	push   %eax
485a05:	e8 62 b6 f9 ff       	call   0x42106c
485a0a:	59                   	pop    %ecx
485a0b:	ff 74 24 10          	push   0x10(%esp)
485a0f:	e8 58 b6 f9 ff       	call   0x42106c
485a14:	59                   	pop    %ecx
485a15:	5f                   	pop    %edi
485a16:	5e                   	pop    %esi
485a17:	33 c0                	xor    %eax,%eax
485a19:	5b                   	pop    %ebx
485a1a:	8b e5                	mov    %ebp,%esp
485a1c:	5d                   	pop    %ebp
485a1d:	c2 08 00             	ret    $0x8
485a20:	55                   	push   %ebp
485a21:	8b ec                	mov    %esp,%ebp
485a23:	83 ec 24             	sub    $0x24,%esp
485a26:	53                   	push   %ebx
485a27:	56                   	push   %esi
485a28:	8b 75 08             	mov    0x8(%ebp),%esi
485a2b:	8b d9                	mov    %ecx,%ebx
485a2d:	57                   	push   %edi
485a2e:	68 00 00 01 00       	push   $0x10000
485a33:	8b 46 08             	mov    0x8(%esi),%eax
485a36:	89 45 f0             	mov    %eax,-0x10(%ebp)
485a39:	e8 b8 b5 f9 ff       	call   0x420ff6
485a3e:	59                   	pop    %ecx
485a3f:	50                   	push   %eax
485a40:	8d 4d dc             	lea    -0x24(%ebp),%ecx
485a43:	e8 46 f9 f7 ff       	call   0x40538e
485a48:	33 ff                	xor    %edi,%edi
485a4a:	8b cb                	mov    %ebx,%ecx
485a4c:	56                   	push   %esi
485a4d:	89 7d ec             	mov    %edi,-0x14(%ebp)
485a50:	e8 58 5f f8 ff       	call   0x40b9ad
485a55:	6a 01                	push   $0x1
485a57:	8b cb                	mov    %ebx,%ecx
485a59:	e8 df 5e f8 ff       	call   0x40b93d
485a5e:	85 c0                	test   %eax,%eax
485a60:	7f 14                	jg     0x485a76
485a62:	79 2d                	jns    0x485a91
485a64:	f7 d8                	neg    %eax
485a66:	57                   	push   %edi
485a67:	50                   	push   %eax
485a68:	8b 03                	mov    (%ebx),%eax
485a6a:	8b 48 04             	mov    0x4(%eax),%ecx
485a6d:	03 cb                	add    %ebx,%ecx
485a6f:	e8 2f 10 fd ff       	call   0x456aa3
485a74:	eb 1b                	jmp    0x485a91
485a76:	8b 83 f0 01 00 00    	mov    0x1f0(%ebx),%eax
485a7c:	8b 00                	mov    (%eax),%eax
485a7e:	50                   	push   %eax
485a7f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
485a82:	ff 15 38 f6 48 00    	call   *0x48f638
485a88:	8b f0                	mov    %eax,%esi
485a8a:	89 75 f8             	mov    %esi,-0x8(%ebp)
485a8d:	85 f6                	test   %esi,%esi
485a8f:	75 18                	jne    0x485aa9
485a91:	8b 75 0c             	mov    0xc(%ebp),%esi
485a94:	8b ce                	mov    %esi,%ecx
485a96:	e8 85 3f f8 ff       	call   0x409a20
485a9b:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
485aa2:	89 3e                	mov    %edi,(%esi)
485aa4:	e9 20 01 00 00       	jmp    0x485bc9
485aa9:	6a 03                	push   $0x3
485aab:	5f                   	pop    %edi
485aac:	89 7d f4             	mov    %edi,-0xc(%ebp)
485aaf:	39 7d f0             	cmp    %edi,-0x10(%ebp)
485ab2:	0f 82 e0 00 00 00    	jb     0x485b98
485ab8:	56                   	push   %esi
485ab9:	ff 15 cc f5 48 00    	call   *0x48f5cc
485abf:	8b c8                	mov    %eax,%ecx
485ac1:	85 c9                	test   %ecx,%ecx
485ac3:	0f 84 b9 00 00 00    	je     0x485b82
485ac9:	33 c0                	xor    %eax,%eax
485acb:	49                   	dec    %ecx
485acc:	89 45 fc             	mov    %eax,-0x4(%ebp)
485acf:	89 4d e8             	mov    %ecx,-0x18(%ebp)
485ad2:	68 00 04 00 00       	push   $0x400
485ad7:	68 ff 7f 00 00       	push   $0x7fff
485adc:	ff 75 dc             	push   -0x24(%ebp)
485adf:	50                   	push   %eax
485ae0:	56                   	push   %esi
485ae1:	ff 15 f8 f4 48 00    	call   *0x48f4f8
485ae7:	8b 45 08             	mov    0x8(%ebp),%eax
485aea:	8b 40 04             	mov    0x4(%eax),%eax
485aed:	8b 74 b8 fc          	mov    -0x4(%eax,%edi,4),%esi
485af1:	8b ce                	mov    %esi,%ecx
485af3:	e8 9f 3e f8 ff       	call   0x409997
485af8:	8b 46 08             	mov    0x8(%esi),%eax
485afb:	8b 75 f4             	mov    -0xc(%ebp),%esi
485afe:	8b 38                	mov    (%eax),%edi
485b00:	8b 45 08             	mov    0x8(%ebp),%eax
485b03:	8b 40 04             	mov    0x4(%eax),%eax
485b06:	8b 74 b0 fc          	mov    -0x4(%eax,%esi,4),%esi
485b0a:	8b ce                	mov    %esi,%ecx
485b0c:	e8 86 3e f8 ff       	call   0x409997
485b11:	8b 46 08             	mov    0x8(%esi),%eax
485b14:	57                   	push   %edi
485b15:	8b 30                	mov    (%eax),%esi
485b17:	e8 20 d3 f9 ff       	call   0x422e3c
485b1c:	50                   	push   %eax
485b1d:	ff 75 dc             	push   -0x24(%ebp)
485b20:	56                   	push   %esi
485b21:	e8 7c dd f9 ff       	call   0x4238a2
485b26:	83 c4 10             	add    $0x10,%esp
485b29:	85 c0                	test   %eax,%eax
485b2b:	74 14                	je     0x485b41
485b2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
485b30:	40                   	inc    %eax
485b31:	89 45 fc             	mov    %eax,-0x4(%ebp)
485b34:	3b 45 e8             	cmp    -0x18(%ebp),%eax
485b37:	77 49                	ja     0x485b82
485b39:	8b 75 f8             	mov    -0x8(%ebp),%esi
485b3c:	8b 7d f4             	mov    -0xc(%ebp),%edi
485b3f:	eb 91                	jmp    0x485ad2
485b41:	8b 7d f4             	mov    -0xc(%ebp),%edi
485b44:	ff 75 fc             	push   -0x4(%ebp)
485b47:	3b 7d f0             	cmp    -0x10(%ebp),%edi
485b4a:	75 0f                	jne    0x485b5b
485b4c:	8b 75 f8             	mov    -0x8(%ebp),%esi
485b4f:	56                   	push   %esi
485b50:	ff 15 c8 f5 48 00    	call   *0x48f5c8
485b56:	89 45 ec             	mov    %eax,-0x14(%ebp)
485b59:	eb 15                	jmp    0x485b70
485b5b:	ff 75 f8             	push   -0x8(%ebp)
485b5e:	ff 15 fc f4 48 00    	call   *0x48f4fc
485b64:	8b f0                	mov    %eax,%esi
485b66:	89 75 f8             	mov    %esi,-0x8(%ebp)
485b69:	85 f6                	test   %esi,%esi
485b6b:	74 15                	je     0x485b82
485b6d:	8b 45 ec             	mov    -0x14(%ebp),%eax
485b70:	47                   	inc    %edi
485b71:	89 7d f4             	mov    %edi,-0xc(%ebp)
485b74:	3b 7d f0             	cmp    -0x10(%ebp),%edi
485b77:	0f 86 3b ff ff ff    	jbe    0x485ab8
485b7d:	83 f8 ff             	cmp    $0xffffffff,%eax
485b80:	75 16                	jne    0x485b98
485b82:	8b 75 0c             	mov    0xc(%ebp),%esi
485b85:	8b ce                	mov    %esi,%ecx
485b87:	e8 94 3e f8 ff       	call   0x409a20
485b8c:	83 26 00             	andl   $0x0,(%esi)
485b8f:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
485b96:	eb 31                	jmp    0x485bc9
485b98:	8b 75 e4             	mov    -0x1c(%ebp),%esi
485b9b:	b2 01                	mov    $0x1,%dl
485b9d:	8b ce                	mov    %esi,%ecx
485b9f:	e8 d9 dc fd ff       	call   0x46387d
485ba4:	6a 00                	push   $0x0
485ba6:	ff 75 ec             	push   -0x14(%ebp)
485ba9:	68 11 01 00 00       	push   $0x111
485bae:	56                   	push   %esi
485baf:	ff 15 90 f6 48 00    	call   *0x48f690
485bb5:	32 d2                	xor    %dl,%dl
485bb7:	8b ce                	mov    %esi,%ecx
485bb9:	e8 bf dc fd ff       	call   0x46387d
485bbe:	8b 8b f4 02 00 00    	mov    0x2f4(%ebx),%ecx
485bc4:	e8 1d f9 fd ff       	call   0x4654e6
485bc9:	8b 45 e0             	mov    -0x20(%ebp),%eax
485bcc:	5f                   	pop    %edi
485bcd:	5e                   	pop    %esi
485bce:	5b                   	pop    %ebx
485bcf:	ff 08                	decl   (%eax)
485bd1:	75 10                	jne    0x485be3
485bd3:	50                   	push   %eax
485bd4:	e8 93 b4 f9 ff       	call   0x42106c
485bd9:	ff 75 dc             	push   -0x24(%ebp)
485bdc:	e8 8b b4 f9 ff       	call   0x42106c
485be1:	59                   	pop    %ecx
485be2:	59                   	pop    %ecx
485be3:	33 c0                	xor    %eax,%eax
485be5:	8b e5                	mov    %ebp,%esp
485be7:	5d                   	pop    %ebp
485be8:	c2 08 00             	ret    $0x8
485beb:	56                   	push   %esi
485bec:	6a 00                	push   $0x0
485bee:	68 94 a1 4b 00       	push   $0x4ba194
485bf3:	8b f1                	mov    %ecx,%esi
485bf5:	ff 15 e0 f5 48 00    	call   *0x48f5e0
485bfb:	6a 00                	push   $0x0
485bfd:	68 97 01 00 00       	push   $0x197
485c02:	68 11 01 00 00       	push   $0x111
485c07:	50                   	push   %eax
485c08:	ff 15 90 f6 48 00    	call   *0x48f690
485c0e:	8b 8e f4 02 00 00    	mov    0x2f4(%esi),%ecx
485c14:	e8 cd f8 fd ff       	call   0x4654e6
485c19:	33 c0                	xor    %eax,%eax
485c1b:	5e                   	pop    %esi
485c1c:	c2 08 00             	ret    $0x8
485c1f:	56                   	push   %esi
485c20:	6a 00                	push   $0x0
485c22:	68 a0 01 00 00       	push   $0x1a0
485c27:	68 11 01 00 00       	push   $0x111
485c2c:	6a 00                	push   $0x0
485c2e:	68 94 a1 4b 00       	push   $0x4ba194
485c33:	8b f1                	mov    %ecx,%esi
485c35:	ff 15 e0 f5 48 00    	call   *0x48f5e0
485c3b:	50                   	push   %eax
485c3c:	ff 15 90 f6 48 00    	call   *0x48f690
485c42:	8b 8e f4 02 00 00    	mov    0x2f4(%esi),%ecx
485c48:	e8 99 f8 fd ff       	call   0x4654e6
485c4d:	33 c0                	xor    %eax,%eax
485c4f:	5e                   	pop    %esi
485c50:	c2 08 00             	ret    $0x8
485c53:	55                   	push   %ebp
485c54:	8b ec                	mov    %esp,%ebp
485c56:	83 e4 f8             	and    $0xfffffff8,%esp
485c59:	83 ec 24             	sub    $0x24,%esp
485c5c:	53                   	push   %ebx
485c5d:	56                   	push   %esi
485c5e:	57                   	push   %edi
485c5f:	8b 7d 08             	mov    0x8(%ebp),%edi
485c62:	8b f1                	mov    %ecx,%esi
485c64:	57                   	push   %edi
485c65:	8b 5f 08             	mov    0x8(%edi),%ebx
485c68:	89 5c 24 18          	mov    %ebx,0x18(%esp)
485c6c:	e8 3c 5d f8 ff       	call   0x40b9ad
485c71:	6a 01                	push   $0x1
485c73:	8b ce                	mov    %esi,%ecx
485c75:	e8 c3 5c f8 ff       	call   0x40b93d
485c7a:	85 c0                	test   %eax,%eax
485c7c:	7f 2c                	jg     0x485caa
485c7e:	79 11                	jns    0x485c91
485c80:	f7 d8                	neg    %eax
485c82:	6a 00                	push   $0x0
485c84:	50                   	push   %eax
485c85:	8b 06                	mov    (%esi),%eax
485c87:	8b 48 04             	mov    0x4(%eax),%ecx
485c8a:	03 ce                	add    %esi,%ecx
485c8c:	e8 12 0e fd ff       	call   0x456aa3
485c91:	8b 75 0c             	mov    0xc(%ebp),%esi
485c94:	8b ce                	mov    %esi,%ecx
485c96:	e8 85 3d f8 ff       	call   0x409a20
485c9b:	83 26 00             	andl   $0x0,(%esi)
485c9e:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
485ca5:	e9 a7 01 00 00       	jmp    0x485e51
485caa:	8b 86 f0 01 00 00    	mov    0x1f0(%esi),%eax
485cb0:	6a f0                	push   $0xfffffff0
485cb2:	ff 30                	push   (%eax)
485cb4:	ff 15 5c f6 48 00    	call   *0x48f65c
485cba:	8b 8e f0 01 00 00    	mov    0x1f0(%esi),%ecx
485cc0:	a9 00 00 00 40       	test   $0x40000000,%eax
485cc5:	8d 44 24 20          	lea    0x20(%esp),%eax
485cc9:	74 04                	je     0x485ccf
485ccb:	6a 01                	push   $0x1
485ccd:	eb 02                	jmp    0x485cd1
485ccf:	6a 00                	push   $0x0
485cd1:	50                   	push   %eax
485cd2:	e8 93 52 fd ff       	call   0x45af6a
485cd7:	83 fb 05             	cmp    $0x5,%ebx
485cda:	72 1e                	jb     0x485cfa
485cdc:	8b 47 04             	mov    0x4(%edi),%eax
485cdf:	6a 29                	push   $0x29
485ce1:	8b 58 10             	mov    0x10(%eax),%ebx
485ce4:	8b cb                	mov    %ebx,%ecx
485ce6:	e8 c3 40 f8 ff       	call   0x409dae
485ceb:	84 c0                	test   %al,%al
485ced:	75 0b                	jne    0x485cfa
485cef:	8b cb                	mov    %ebx,%ecx
485cf1:	e8 a6 3f f8 ff       	call   0x409c9c
485cf6:	8b d8                	mov    %eax,%ebx
485cf8:	eb 08                	jmp    0x485d02