58d9ad:	5b                   	pop    %ebx
58d9ae:	c3                   	ret
58d9af:	83 ff ff             	cmp    $0xffffffff,%edi
58d9b2:	74 23                	je     0x58d9d7
58d9b4:	83 ff fe             	cmp    $0xfffffffe,%edi
58d9b7:	75 18                	jne    0x58d9d1
58d9b9:	56                   	push   %esi
58d9ba:	55                   	push   %ebp
58d9bb:	e8 a0 8c 00 00       	call   0x596660
58d9c0:	8b 4b 04             	mov    0x4(%ebx),%ecx
58d9c3:	83 c4 08             	add    $0x8,%esp
58d9c6:	89 41 04             	mov    %eax,0x4(%ecx)
58d9c9:	8d 47 03             	lea    0x3(%edi),%eax
58d9cc:	5f                   	pop    %edi
58d9cd:	5e                   	pop    %esi
58d9ce:	5d                   	pop    %ebp
58d9cf:	5b                   	pop    %ebx
58d9d0:	c3                   	ret
58d9d1:	8b 43 04             	mov    0x4(%ebx),%eax
58d9d4:	89 78 04             	mov    %edi,0x4(%eax)
58d9d7:	5f                   	pop    %edi
58d9d8:	5e                   	pop    %esi
58d9d9:	5d                   	pop    %ebp
58d9da:	b8 01 00 00 00       	mov    $0x1,%eax
58d9df:	5b                   	pop    %ebx
58d9e0:	c3                   	ret
58d9e1:	5e                   	pop    %esi
58d9e2:	5d                   	pop    %ebp
58d9e3:	33 c0                	xor    %eax,%eax
58d9e5:	5b                   	pop    %ebx
58d9e6:	c3                   	ret
58d9e7:	cc                   	int3
58d9e8:	cc                   	int3
58d9e9:	cc                   	int3
58d9ea:	cc                   	int3
58d9eb:	cc                   	int3
58d9ec:	cc                   	int3
58d9ed:	cc                   	int3
58d9ee:	cc                   	int3
58d9ef:	cc                   	int3
58d9f0:	53                   	push   %ebx
58d9f1:	8b 5c 24 08          	mov    0x8(%esp),%ebx
58d9f5:	85 db                	test   %ebx,%ebx
58d9f7:	75 04                	jne    0x58d9fd
58d9f9:	33 c0                	xor    %eax,%eax
58d9fb:	5b                   	pop    %ebx
58d9fc:	c3                   	ret
58d9fd:	56                   	push   %esi
58d9fe:	57                   	push   %edi
58d9ff:	8b 3b                	mov    (%ebx),%edi
58da01:	57                   	push   %edi
58da02:	e8 09 0c f2 ff       	call   0x4ae610
58da07:	8b 74 24 1c          	mov    0x1c(%esp),%esi
58da0b:	83 c4 04             	add    $0x4,%esp
58da0e:	3b f0                	cmp    %eax,%esi
58da10:	7e 04                	jle    0x58da16
58da12:	8b f0                	mov    %eax,%esi
58da14:	eb 05                	jmp    0x58da1b
58da16:	85 f6                	test   %esi,%esi
58da18:	0f 48 f0             	cmovs  %eax,%esi
58da1b:	83 7c 24 1c ff       	cmpl   $0xffffffff,0x1c(%esp)
58da20:	55                   	push   %ebp
58da21:	c7 43 04 01 00 00 00 	movl   $0x1,0x4(%ebx)
58da28:	75 1f                	jne    0x58da49
58da2a:	85 f6                	test   %esi,%esi
58da2c:	75 07                	jne    0x58da35
58da2e:	33 db                	xor    %ebx,%ebx
58da30:	8d 6e 01             	lea    0x1(%esi),%ebp
58da33:	eb 4d                	jmp    0x58da82
58da35:	8d 46 ff             	lea    -0x1(%esi),%eax
58da38:	50                   	push   %eax
58da39:	57                   	push   %edi
58da3a:	e8 f1 0c f2 ff       	call   0x4ae730
58da3f:	83 c4 08             	add    $0x8,%esp
58da42:	33 ed                	xor    %ebp,%ebp
58da44:	8b 58 08             	mov    0x8(%eax),%ebx
58da47:	eb 39                	jmp    0x58da82
58da49:	3b f0                	cmp    %eax,%esi
58da4b:	7c 1b                	jl     0x58da68
58da4d:	85 f6                	test   %esi,%esi
58da4f:	74 13                	je     0x58da64
58da51:	8d 46 ff             	lea    -0x1(%esi),%eax
58da54:	50                   	push   %eax
58da55:	57                   	push   %edi
58da56:	e8 d5 0c f2 ff       	call   0x4ae730
58da5b:	83 c4 08             	add    $0x8,%esp
58da5e:	8b 58 08             	mov    0x8(%eax),%ebx
58da61:	43                   	inc    %ebx
58da62:	eb 11                	jmp    0x58da75
58da64:	33 db                	xor    %ebx,%ebx
58da66:	eb 0d                	jmp    0x58da75
58da68:	56                   	push   %esi
58da69:	57                   	push   %edi
58da6a:	e8 c1 0c f2 ff       	call   0x4ae730
58da6f:	83 c4 08             	add    $0x8,%esp
58da72:	8b 58 08             	mov    0x8(%eax),%ebx
58da75:	33 c0                	xor    %eax,%eax
58da77:	85 db                	test   %ebx,%ebx
58da79:	0f 94 c0             	sete   %al
58da7c:	89 44 24 14          	mov    %eax,0x14(%esp)
58da80:	8b e8                	mov    %eax,%ebp
58da82:	ff 74 24 18          	push   0x18(%esp)
58da86:	e8 25 46 00 00       	call   0x5920b0
58da8b:	83 c4 04             	add    $0x4,%esp
58da8e:	89 44 24 14          	mov    %eax,0x14(%esp)
58da92:	85 c0                	test   %eax,%eax
58da94:	74 33                	je     0x58dac9
58da96:	56                   	push   %esi
58da97:	50                   	push   %eax
58da98:	57                   	push   %edi
58da99:	89 58 08             	mov    %ebx,0x8(%eax)
58da9c:	e8 ff 09 f2 ff       	call   0x4ae4a0
58daa1:	83 c4 0c             	add    $0xc,%esp
58daa4:	85 c0                	test   %eax,%eax
58daa6:	75 28                	jne    0x58dad0
58daa8:	68 0d 01 00 00       	push   $0x10d
58daad:	68 b8 6b 6c 00       	push   $0x6c6bb8
58dab2:	6a 41                	push   $0x41
58dab4:	6a 71                	push   $0x71
58dab6:	6a 0b                	push   $0xb
58dab8:	e8 e3 39 f1 ff       	call   0x4a14a0
58dabd:	ff 74 24 28          	push   0x28(%esp)
58dac1:	e8 0a 46 00 00       	call   0x5920d0
58dac6:	83 c4 18             	add    $0x18,%esp
58dac9:	5d                   	pop    %ebp
58daca:	5f                   	pop    %edi
58dacb:	5e                   	pop    %esi
58dacc:	33 c0                	xor    %eax,%eax
58dace:	5b                   	pop    %ebx
58dacf:	c3                   	ret
58dad0:	85 ed                	test   %ebp,%ebp
58dad2:	74 25                	je     0x58daf9
58dad4:	57                   	push   %edi
58dad5:	e8 36 0b f2 ff       	call   0x4ae610
58dada:	8b d8                	mov    %eax,%ebx
58dadc:	46                   	inc    %esi
58dadd:	83 c4 04             	add    $0x4,%esp
58dae0:	3b f3                	cmp    %ebx,%esi
58dae2:	7d 15                	jge    0x58daf9
58dae4:	8d 4e ff             	lea    -0x1(%esi),%ecx
58dae7:	51                   	push   %ecx
58dae8:	57                   	push   %edi
58dae9:	e8 42 0c f2 ff       	call   0x4ae730
58daee:	46                   	inc    %esi
58daef:	83 c4 08             	add    $0x8,%esp
58daf2:	ff 40 08             	incl   0x8(%eax)
58daf5:	3b f3                	cmp    %ebx,%esi
58daf7:	7c eb                	jl     0x58dae4
58daf9:	5d                   	pop    %ebp
58dafa:	5f                   	pop    %edi
58dafb:	5e                   	pop    %esi
58dafc:	b8 01 00 00 00       	mov    $0x1,%eax
58db01:	5b                   	pop    %ebx
58db02:	c3                   	ret
58db03:	cc                   	int3
58db04:	cc                   	int3
58db05:	cc                   	int3
58db06:	cc                   	int3
58db07:	cc                   	int3
58db08:	cc                   	int3
58db09:	cc                   	int3
58db0a:	cc                   	int3
58db0b:	cc                   	int3
58db0c:	cc                   	int3
58db0d:	cc                   	int3
58db0e:	cc                   	int3
58db0f:	cc                   	int3
58db10:	57                   	push   %edi
58db11:	ff 74 24 18          	push   0x18(%esp)
58db15:	ff 74 24 18          	push   0x18(%esp)
58db19:	ff 74 24 18          	push   0x18(%esp)
58db1d:	ff 74 24 18          	push   0x18(%esp)
58db21:	6a 00                	push   $0x0
58db23:	e8 88 fd ff ff       	call   0x58d8b0
58db28:	8b f8                	mov    %eax,%edi
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