58db2a:	83 c4 14             	add    $0x14,%esp
58db2d:	85 ff                	test   %edi,%edi
58db2f:	75 02                	jne    0x58db33
58db31:	5f                   	pop    %edi
58db32:	c3                   	ret
58db33:	56                   	push   %esi
58db34:	ff 74 24 24          	push   0x24(%esp)
58db38:	ff 74 24 24          	push   0x24(%esp)
58db3c:	57                   	push   %edi
58db3d:	ff 74 24 18          	push   0x18(%esp)
58db41:	e8 aa fe ff ff       	call   0x58d9f0
58db46:	57                   	push   %edi
58db47:	8b f0                	mov    %eax,%esi
58db49:	e8 82 45 00 00       	call   0x5920d0
58db4e:	83 c4 14             	add    $0x14,%esp
58db51:	8b c6                	mov    %esi,%eax
58db53:	5e                   	pop    %esi
58db54:	5f                   	pop    %edi
58db55:	c3                   	ret
58db56:	cc                   	int3
58db57:	cc                   	int3
58db58:	cc                   	int3
58db59:	cc                   	int3
58db5a:	cc                   	int3
58db5b:	cc                   	int3
58db5c:	cc                   	int3
58db5d:	cc                   	int3
58db5e:	cc                   	int3
58db5f:	cc                   	int3
58db60:	53                   	push   %ebx
58db61:	8b 5c 24 08          	mov    0x8(%esp),%ebx
58db65:	56                   	push   %esi
58db66:	85 db                	test   %ebx,%ebx
58db68:	0f 84 8d 00 00 00    	je     0x58dbfb
58db6e:	ff 33                	push   (%ebx)
58db70:	e8 9b 0a f2 ff       	call   0x4ae610
58db75:	8b 74 24 14          	mov    0x14(%esp),%esi
58db79:	83 c4 04             	add    $0x4,%esp
58db7c:	3b c6                	cmp    %esi,%eax
58db7e:	7e 7b                	jle    0x58dbfb
58db80:	85 f6                	test   %esi,%esi
58db82:	78 77                	js     0x58dbfb
58db84:	55                   	push   %ebp
58db85:	57                   	push   %edi
58db86:	8b 3b                	mov    (%ebx),%edi
58db88:	56                   	push   %esi
58db89:	57                   	push   %edi
58db8a:	e8 21 08 f2 ff       	call   0x4ae3b0
58db8f:	57                   	push   %edi
58db90:	89 44 24 20          	mov    %eax,0x20(%esp)
58db94:	e8 77 0a f2 ff       	call   0x4ae610
58db99:	8b e8                	mov    %eax,%ebp
58db9b:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
58dba2:	83 c4 0c             	add    $0xc,%esp
58dba5:	3b f5                	cmp    %ebp,%esi
58dba7:	74 49                	je     0x58dbf2
58dba9:	85 f6                	test   %esi,%esi
58dbab:	74 12                	je     0x58dbbf
58dbad:	8d 46 ff             	lea    -0x1(%esi),%eax
58dbb0:	50                   	push   %eax
58dbb1:	57                   	push   %edi
58dbb2:	e8 79 0b f2 ff       	call   0x4ae730
58dbb7:	83 c4 08             	add    $0x8,%esp
58dbba:	8b 58 08             	mov    0x8(%eax),%ebx
58dbbd:	eb 08                	jmp    0x58dbc7
58dbbf:	8b 5c 24 14          	mov    0x14(%esp),%ebx
58dbc3:	8b 5b 08             	mov    0x8(%ebx),%ebx
58dbc6:	4b                   	dec    %ebx
58dbc7:	56                   	push   %esi
58dbc8:	57                   	push   %edi
58dbc9:	e8 62 0b f2 ff       	call   0x4ae730
58dbce:	8d 4b 01             	lea    0x1(%ebx),%ecx
58dbd1:	83 c4 08             	add    $0x8,%esp
58dbd4:	3b 48 08             	cmp    0x8(%eax),%ecx
58dbd7:	7d 19                	jge    0x58dbf2
58dbd9:	3b f5                	cmp    %ebp,%esi
58dbdb:	7d 15                	jge    0x58dbf2
58dbdd:	0f 1f 00             	nopl   (%eax)
58dbe0:	56                   	push   %esi
58dbe1:	57                   	push   %edi
58dbe2:	e8 49 0b f2 ff       	call   0x4ae730
58dbe7:	46                   	inc    %esi
58dbe8:	83 c4 08             	add    $0x8,%esp
58dbeb:	ff 48 08             	decl   0x8(%eax)
58dbee:	3b f5                	cmp    %ebp,%esi
58dbf0:	7c ee                	jl     0x58dbe0
58dbf2:	8b 44 24 14          	mov    0x14(%esp),%eax
58dbf6:	5f                   	pop    %edi
58dbf7:	5d                   	pop    %ebp
58dbf8:	5e                   	pop    %esi
58dbf9:	5b                   	pop    %ebx
58dbfa:	c3                   	ret
58dbfb:	5e                   	pop    %esi
58dbfc:	33 c0                	xor    %eax,%eax
58dbfe:	5b                   	pop    %ebx
58dbff:	c3                   	ret
58dc00:	8b 44 24 04          	mov    0x4(%esp),%eax
58dc04:	85 c0                	test   %eax,%eax
58dc06:	75 01                	jne    0x58dc09
58dc08:	c3                   	ret
58dc09:	ff 30                	push   (%eax)
58dc0b:	e8 00 0a f2 ff       	call   0x4ae610
58dc10:	83 c4 04             	add    $0x4,%esp
58dc13:	c3                   	ret
58dc14:	cc                   	int3
58dc15:	cc                   	int3
58dc16:	cc                   	int3
58dc17:	cc                   	int3
58dc18:	cc                   	int3
58dc19:	cc                   	int3
58dc1a:	cc                   	int3
58dc1b:	cc                   	int3
58dc1c:	cc                   	int3
58dc1d:	cc                   	int3
58dc1e:	cc                   	int3
58dc1f:	cc                   	int3
58dc20:	56                   	push   %esi
58dc21:	8b 74 24 08          	mov    0x8(%esp),%esi
58dc25:	85 f6                	test   %esi,%esi
58dc27:	74 23                	je     0x58dc4c
58dc29:	ff 36                	push   (%esi)
58dc2b:	e8 e0 09 f2 ff       	call   0x4ae610
58dc30:	8b 4c 24 10          	mov    0x10(%esp),%ecx
58dc34:	83 c4 04             	add    $0x4,%esp
58dc37:	3b c1                	cmp    %ecx,%eax
58dc39:	7e 11                	jle    0x58dc4c
58dc3b:	85 c9                	test   %ecx,%ecx
58dc3d:	78 0d                	js     0x58dc4c
58dc3f:	51                   	push   %ecx
58dc40:	ff 36                	push   (%esi)
58dc42:	e8 e9 0a f2 ff       	call   0x4ae730
58dc47:	83 c4 08             	add    $0x8,%esp
58dc4a:	5e                   	pop    %esi
58dc4b:	c3                   	ret
58dc4c:	33 c0                	xor    %eax,%eax
58dc4e:	5e                   	pop    %esi
58dc4f:	c3                   	ret
58dc50:	ff 74 24 08          	push   0x8(%esp)
58dc54:	e8 67 9c f1 ff       	call   0x4a78c0
58dc59:	83 c4 04             	add    $0x4,%esp
58dc5c:	85 c0                	test   %eax,%eax
58dc5e:	75 06                	jne    0x58dc66
58dc60:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
58dc65:	c3                   	ret
58dc66:	89 44 24 08          	mov    %eax,0x8(%esp)
58dc6a:	e9 01 00 00 00       	jmp    0x58dc70
58dc6f:	cc                   	int3
58dc70:	8b 44 24 04          	mov    0x4(%esp),%eax
58dc74:	85 c0                	test   %eax,%eax
58dc76:	75 04                	jne    0x58dc7c
58dc78:	83 c8 ff             	or     $0xffffffff,%eax
58dc7b:	c3                   	ret
58dc7c:	53                   	push   %ebx
58dc7d:	55                   	push   %ebp
58dc7e:	8b 28                	mov    (%eax),%ebp
58dc80:	83 c9 ff             	or     $0xffffffff,%ecx
58dc83:	56                   	push   %esi
58dc84:	8b 74 24 18          	mov    0x18(%esp),%esi
58dc88:	85 f6                	test   %esi,%esi
58dc8a:	57                   	push   %edi
58dc8b:	55                   	push   %ebp
58dc8c:	0f 48 f1             	cmovs  %ecx,%esi
58dc8f:	e8 7c 09 f2 ff       	call   0x4ae610
58dc94:	8b f8                	mov    %eax,%edi
58dc96:	46                   	inc    %esi
58dc97:	83 c4 04             	add    $0x4,%esp
58dc9a:	3b f7                	cmp    %edi,%esi
58dc9c:	7d 1f                	jge    0x58dcbd
58dc9e:	8b 5c 24 18          	mov    0x18(%esp),%ebx
58dca2:	56                   	push   %esi
58dca3:	55                   	push   %ebp
58dca4:	e8 87 0a f2 ff       	call   0x4ae730
58dca9:	53                   	push   %ebx
58dcaa:	ff 30                	push   (%eax)
58dcac:	e8 4f 45 f2 ff       	call   0x4b2200
58dcb1:	83 c4 10             	add    $0x10,%esp
58dcb4:	85 c0                	test   %eax,%eax
58dcb6:	74 0d                	je     0x58dcc5
58dcb8:	46                   	inc    %esi
58dcb9:	3b f7                	cmp    %edi,%esi
58dcbb:	7c e5                	jl     0x58dca2
58dcbd:	5f                   	pop    %edi
58dcbe:	5e                   	pop    %esi
58dcbf:	5d                   	pop    %ebp
58dcc0:	83 c8 ff             	or     $0xffffffff,%eax
58dcc3:	5b                   	pop    %ebx
58dcc4:	c3                   	ret
58dcc5:	5f                   	pop    %edi
58dcc6:	8b c6                	mov    %esi,%eax
58dcc8:	5e                   	pop    %esi
58dcc9:	5d                   	pop    %ebp
58dcca:	5b                   	pop    %ebx
58dccb:	c3                   	ret
58dccc:	cc                   	int3
58dccd:	cc                   	int3
58dcce:	cc                   	int3
58dccf:	cc                   	int3
58dcd0:	ff 74 24 10          	push   0x10(%esp)
58dcd4:	8b 44 24 08          	mov    0x8(%esp),%eax
58dcd8:	ff 74 24 10          	push   0x10(%esp)
58dcdc:	ff 74 24 10          	push   0x10(%esp)
58dce0:	8b 00                	mov    (%eax),%eax
58dce2:	ff 70 18             	push   0x18(%eax)
58dce5:	e8 16 06 00 00       	call   0x58e300
58dcea:	83 c4 10             	add    $0x10,%esp
58dced:	c3                   	ret
58dcee:	cc                   	int3
58dcef:	cc                   	int3
58dcf0:	ff 74 24 10          	push   0x10(%esp)
58dcf4:	8b 44 24 08          	mov    0x8(%esp),%eax
58dcf8:	ff 74 24 10          	push   0x10(%esp)
58dcfc:	ff 74 24 10          	push   0x10(%esp)
58dd00:	ff 70 08             	push   0x8(%eax)
58dd03:	e8 f8 05 00 00       	call   0x58e300
58dd08:	83 c4 10             	add    $0x10,%esp
58dd0b:	c3                   	ret
58dd0c:	cc                   	int3
58dd0d:	cc                   	int3
58dd0e:	cc                   	int3
58dd0f:	cc                   	int3
58dd10:	8b 44 24 04          	mov    0x4(%esp),%eax
58dd14:	ff 74 24 08          	push   0x8(%esp)
58dd18:	8b 00                	mov    (%eax),%eax
58dd1a:	ff 70 24             	push   0x24(%eax)
58dd1d:	e8 2e 8a 00 00       	call   0x596750
58dd22:	83 c4 08             	add    $0x8,%esp
58dd25:	c3                   	ret
58dd26:	cc                   	int3
58dd27:	cc                   	int3
58dd28:	cc                   	int3
58dd29:	cc                   	int3
58dd2a:	cc                   	int3
58dd2b:	cc                   	int3
58dd2c:	cc                   	int3
58dd2d:	cc                   	int3
58dd2e:	cc                   	int3
58dd2f:	cc                   	int3
58dd30:	8b 44 24 04          	mov    0x4(%esp),%eax
58dd34:	ff 74 24 0c          	push   0xc(%esp)
58dd38:	ff 74 24 0c          	push   0xc(%esp)
58dd3c:	8b 00                	mov    (%eax),%eax
58dd3e:	ff 70 24             	push   0x24(%eax)
58dd41:	e8 5a 0f ff ff       	call   0x57eca0
58dd46:	83 c4 0c             	add    $0xc,%esp
58dd49:	c3                   	ret
58dd4a:	cc                   	int3
58dd4b:	cc                   	int3
58dd4c:	cc                   	int3
58dd4d:	cc                   	int3
58dd4e:	cc                   	int3
58dd4f:	cc                   	int3
58dd50:	8b 44 24 04          	mov    0x4(%esp),%eax
58dd54:	8b 00                	mov    (%eax),%eax
58dd56:	ff 70 24             	push   0x24(%eax)
58dd59:	e8 22 8a 00 00       	call   0x596780
58dd5e:	83 c4 04             	add    $0x4,%esp
58dd61:	c3                   	ret
58dd62:	cc                   	int3
58dd63:	cc                   	int3
58dd64:	cc                   	int3
58dd65:	cc                   	int3
58dd66:	cc                   	int3
58dd67:	cc                   	int3
58dd68:	cc                   	int3
58dd69:	cc                   	int3
58dd6a:	cc                   	int3
58dd6b:	cc                   	int3
58dd6c:	cc                   	int3
58dd6d:	cc                   	int3
58dd6e:	cc                   	int3
58dd6f:	cc                   	int3
58dd70:	ff 74 24 10          	push   0x10(%esp)
58dd74:	8b 44 24 08          	mov    0x8(%esp),%eax
58dd78:	ff 74 24 10          	push   0x10(%esp)
58dd7c:	ff 74 24 10          	push   0x10(%esp)
58dd80:	8b 00                	mov    (%eax),%eax
58dd82:	ff 70 24             	push   0x24(%eax)
58dd85:	e8 76 05 00 00       	call   0x58e300
58dd8a:	83 c4 10             	add    $0x10,%esp
58dd8d:	c3                   	ret
58dd8e:	cc                   	int3
58dd8f:	cc                   	int3
58dd90:	b8 68 6c 6c 00       	mov    $0x6c6c68,%eax
58dd95:	c3                   	ret
58dd96:	cc                   	int3
58dd97:	cc                   	int3
58dd98:	cc                   	int3
58dd99:	cc                   	int3
58dd9a:	cc                   	int3
58dd9b:	cc                   	int3
58dd9c:	cc                   	int3
58dd9d:	cc                   	int3
58dd9e:	cc                   	int3
58dd9f:	cc                   	int3
58dda0:	b8 dc 6c 6c 00       	mov    $0x6c6cdc,%eax
58dda5:	c3                   	ret
58dda6:	cc                   	int3
58dda7:	cc                   	int3
58dda8:	cc                   	int3
58dda9:	cc                   	int3
58ddaa:	cc                   	int3
58ddab:	cc                   	int3
58ddac:	cc                   	int3
58ddad:	cc                   	int3
58ddae:	cc                   	int3
58ddaf:	cc                   	int3
58ddb0:	b8 20 6d 6c 00       	mov    $0x6c6d20,%eax
58ddb5:	c3                   	ret
58ddb6:	cc                   	int3
58ddb7:	cc                   	int3
58ddb8:	cc                   	int3
58ddb9:	cc                   	int3
58ddba:	cc                   	int3
58ddbb:	cc                   	int3
58ddbc:	cc                   	int3
58ddbd:	cc                   	int3
58ddbe:	cc                   	int3
58ddbf:	cc                   	int3
58ddc0:	68 98 6c 6c 00       	push   $0x6c6c98
58ddc5:	ff 74 24 08          	push   0x8(%esp)
58ddc9:	e8 c2 40 f2 ff       	call   0x4b1e90
58ddce:	83 c4 08             	add    $0x8,%esp
58ddd1:	c3                   	ret
58ddd2:	cc                   	int3
58ddd3:	cc                   	int3
58ddd4:	cc                   	int3
58ddd5:	cc                   	int3
58ddd6:	cc                   	int3
58ddd7:	cc                   	int3
58ddd8:	cc                   	int3
58ddd9:	cc                   	int3
58ddda:	cc                   	int3
58dddb:	cc                   	int3
58dddc:	cc                   	int3
58dddd:	cc                   	int3
58ddde:	cc                   	int3
58dddf:	cc                   	int3
58dde0:	b8 98 6c 6c 00       	mov    $0x6c6c98,%eax
58dde5:	c3                   	ret
58dde6:	cc                   	int3
58dde7:	cc                   	int3
58dde8:	cc                   	int3
58dde9:	cc                   	int3
58ddea:	cc                   	int3
58ddeb:	cc                   	int3
58ddec:	cc                   	int3
58dded:	cc                   	int3
58ddee:	cc                   	int3
58ddef:	cc                   	int3
58ddf0:	68 98 6c 6c 00       	push   $0x6c6c98