4afc88:	75 f9                	jne    0x4afc83
4afc8a:	2b ce                	sub    %esi,%ecx
4afc8c:	8b c7                	mov    %edi,%eax
4afc8e:	8b 74 24 6c          	mov    0x6c(%esp),%esi
4afc92:	3b d7                	cmp    %edi,%edx
4afc94:	0f 4d c2             	cmovge %edx,%eax
4afc97:	2b f0                	sub    %eax,%esi
4afc99:	33 c0                	xor    %eax,%eax
4afc9b:	39 44 24 10          	cmp    %eax,0x10(%esp)
4afc9f:	0f 95 c0             	setne  %al
4afca2:	2b f0                	sub    %eax,%esi
4afca4:	33 c0                	xor    %eax,%eax
4afca6:	85 db                	test   %ebx,%ebx
4afca8:	0f 48 d8             	cmovs  %eax,%ebx
4afcab:	2b f1                	sub    %ecx,%esi
4afcad:	0f 48 f0             	cmovs  %eax,%esi
4afcb0:	8b 44 24 74          	mov    0x74(%esp),%eax
4afcb4:	a8 10                	test   $0x10,%al
4afcb6:	74 09                	je     0x4afcc1
4afcb8:	3b de                	cmp    %esi,%ebx
4afcba:	0f 4d f3             	cmovge %ebx,%esi
4afcbd:	8b de                	mov    %esi,%ebx
4afcbf:	33 f6                	xor    %esi,%esi
4afcc1:	a8 01                	test   $0x1,%al
4afcc3:	74 02                	je     0x4afcc7
4afcc5:	f7 de                	neg    %esi
4afcc7:	85 f6                	test   %esi,%esi
4afcc9:	7e 29                	jle    0x4afcf4
4afccb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4afcd0:	6a 20                	push   $0x20
4afcd2:	ff 74 24 20          	push   0x20(%esp)
4afcd6:	ff 74 24 28          	push   0x28(%esp)
4afcda:	ff 74 24 24          	push   0x24(%esp)
4afcde:	55                   	push   %ebp
4afcdf:	e8 9c f9 ff ff       	call   0x4af680
4afce4:	83 c4 14             	add    $0x14,%esp
4afce7:	85 c0                	test   %eax,%eax
4afce9:	0f 84 f6 00 00 00    	je     0x4afde5
4afcef:	4e                   	dec    %esi
4afcf0:	85 f6                	test   %esi,%esi
4afcf2:	7f dc                	jg     0x4afcd0
4afcf4:	8b 44 24 10          	mov    0x10(%esp),%eax
4afcf8:	85 c0                	test   %eax,%eax
4afcfa:	74 1e                	je     0x4afd1a
4afcfc:	50                   	push   %eax
4afcfd:	ff 74 24 20          	push   0x20(%esp)
4afd01:	ff 74 24 28          	push   0x28(%esp)
4afd05:	ff 74 24 24          	push   0x24(%esp)
4afd09:	55                   	push   %ebp
4afd0a:	e8 71 f9 ff ff       	call   0x4af680
4afd0f:	83 c4 14             	add    $0x14,%esp
4afd12:	85 c0                	test   %eax,%eax
4afd14:	0f 84 cb 00 00 00    	je     0x4afde5
4afd1a:	8b 44 24 14          	mov    0x14(%esp),%eax
4afd1e:	8a 00                	mov    (%eax),%al
4afd20:	84 c0                	test   %al,%al
4afd22:	74 30                	je     0x4afd54
4afd24:	0f be c0             	movsbl %al,%eax
4afd27:	50                   	push   %eax
4afd28:	ff 74 24 20          	push   0x20(%esp)
4afd2c:	ff 74 24 28          	push   0x28(%esp)
4afd30:	ff 74 24 24          	push   0x24(%esp)
4afd34:	55                   	push   %ebp
4afd35:	e8 46 f9 ff ff       	call   0x4af680
4afd3a:	83 c4 14             	add    $0x14,%esp
4afd3d:	85 c0                	test   %eax,%eax
4afd3f:	0f 84 a0 00 00 00    	je     0x4afde5
4afd45:	8b 44 24 14          	mov    0x14(%esp),%eax
4afd49:	40                   	inc    %eax
4afd4a:	89 44 24 14          	mov    %eax,0x14(%esp)
4afd4e:	8a 00                	mov    (%eax),%al
4afd50:	84 c0                	test   %al,%al
4afd52:	75 d0                	jne    0x4afd24
4afd54:	85 db                	test   %ebx,%ebx
4afd56:	7e 28                	jle    0x4afd80
4afd58:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
4afd5f:	00
4afd60:	6a 30                	push   $0x30
4afd62:	ff 74 24 20          	push   0x20(%esp)
4afd66:	ff 74 24 28          	push   0x28(%esp)
4afd6a:	ff 74 24 24          	push   0x24(%esp)
4afd6e:	55                   	push   %ebp
4afd6f:	e8 0c f9 ff ff       	call   0x4af680
4afd74:	83 c4 14             	add    $0x14,%esp
4afd77:	85 c0                	test   %eax,%eax
4afd79:	74 6a                	je     0x4afde5
4afd7b:	4b                   	dec    %ebx
4afd7c:	85 db                	test   %ebx,%ebx
4afd7e:	7f e0                	jg     0x4afd60
4afd80:	8b 5c 24 18          	mov    0x18(%esp),%ebx
4afd84:	85 ff                	test   %edi,%edi
4afd86:	7e 21                	jle    0x4afda9
4afd88:	0f be 44 3c 2b       	movsbl 0x2b(%esp,%edi,1),%eax
4afd8d:	4f                   	dec    %edi
4afd8e:	50                   	push   %eax
4afd8f:	ff 74 24 20          	push   0x20(%esp)
4afd93:	ff 74 24 28          	push   0x28(%esp)
4afd97:	53                   	push   %ebx
4afd98:	55                   	push   %ebp
4afd99:	e8 e2 f8 ff ff       	call   0x4af680
4afd9e:	83 c4 14             	add    $0x14,%esp
4afda1:	85 c0                	test   %eax,%eax
4afda3:	74 40                	je     0x4afde5
4afda5:	85 ff                	test   %edi,%edi
4afda7:	7f df                	jg     0x4afd88
4afda9:	85 f6                	test   %esi,%esi
4afdab:	79 20                	jns    0x4afdcd
4afdad:	0f 1f 00             	nopl   (%eax)
4afdb0:	6a 20                	push   $0x20
4afdb2:	ff 74 24 20          	push   0x20(%esp)
4afdb6:	ff 74 24 28          	push   0x28(%esp)
4afdba:	53                   	push   %ebx
4afdbb:	55                   	push   %ebp
4afdbc:	e8 bf f8 ff ff       	call   0x4af680
4afdc1:	83 c4 14             	add    $0x14,%esp
4afdc4:	85 c0                	test   %eax,%eax
4afdc6:	74 1d                	je     0x4afde5
4afdc8:	83 c6 01             	add    $0x1,%esi
4afdcb:	78 e3                	js     0x4afdb0
4afdcd:	5f                   	pop    %edi
4afdce:	5e                   	pop    %esi
4afdcf:	5d                   	pop    %ebp
4afdd0:	b8 01 00 00 00       	mov    $0x1,%eax
4afdd5:	5b                   	pop    %ebx
4afdd6:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4afdda:	33 cc                	xor    %esp,%ecx
4afddc:	e8 f9 16 13 00       	call   0x5e14da
4afde1:	83 c4 3c             	add    $0x3c,%esp
4afde4:	c3                   	ret
4afde5:	8b 4c 24 48          	mov    0x48(%esp),%ecx
4afde9:	33 c0                	xor    %eax,%eax
4afdeb:	5f                   	pop    %edi
4afdec:	5e                   	pop    %esi
4afded:	5d                   	pop    %ebp
4afdee:	5b                   	pop    %ebx
4afdef:	33 cc                	xor    %esp,%ecx
4afdf1:	e8 e4 16 13 00       	call   0x5e14da
4afdf6:	83 c4 3c             	add    $0x3c,%esp
4afdf9:	c3                   	ret
4afdfa:	e8 01 16 13 00       	call   0x5e1400
4afdff:	cc                   	int3
4afe00:	8b 44 24 14          	mov    0x14(%esp),%eax
4afe04:	53                   	push   %ebx
4afe05:	55                   	push   %ebp
4afe06:	56                   	push   %esi
4afe07:	33 f6                	xor    %esi,%esi
4afe09:	bb 94 9b 6a 00       	mov    $0x6a9b94,%ebx
4afe0e:	85 c0                	test   %eax,%eax
4afe10:	57                   	push   %edi
4afe11:	0f 45 d8             	cmovne %eax,%ebx
4afe14:	8b cb                	mov    %ebx,%ecx
4afe16:	8d 51 01             	lea    0x1(%ecx),%edx
4afe19:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4afe20:	8a 01                	mov    (%ecx),%al
4afe22:	41                   	inc    %ecx
4afe23:	84 c0                	test   %al,%al
4afe25:	75 f9                	jne    0x4afe20
4afe27:	2b ca                	sub    %edx,%ecx
4afe29:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4afe2e:	3b c8                	cmp    %eax,%ecx
4afe30:	0f 47 c8             	cmova  %eax,%ecx
4afe33:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4afe37:	8b f8                	mov    %eax,%edi
4afe39:	2b f9                	sub    %ecx,%edi
4afe3b:	85 c0                	test   %eax,%eax
4afe3d:	78 04                	js     0x4afe43
4afe3f:	85 ff                	test   %edi,%edi
4afe41:	79 02                	jns    0x4afe45
4afe43:	33 ff                	xor    %edi,%edi
4afe45:	f6 44 24 28 01       	testb  $0x1,0x28(%esp)
4afe4a:	74 02                	je     0x4afe4e
4afe4c:	f7 df                	neg    %edi
4afe4e:	8b 6c 24 30          	mov    0x30(%esp),%ebp
4afe52:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4afe56:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4afe5a:	85 ff                	test   %edi,%edi
4afe5c:	7e 2c                	jle    0x4afe8a
4afe5e:	66 90                	xchg   %ax,%ax
4afe60:	3b f5                	cmp    %ebp,%esi
4afe62:	7d 26                	jge    0x4afe8a
4afe64:	6a 20                	push   $0x20
4afe66:	51                   	push   %ecx
4afe67:	52                   	push   %edx
4afe68:	ff 74 24 24          	push   0x24(%esp)
4afe6c:	ff 74 24 24          	push   0x24(%esp)
4afe70:	e8 0b f8 ff ff       	call   0x4af680
4afe75:	83 c4 14             	add    $0x14,%esp
4afe78:	85 c0                	test   %eax,%eax
4afe7a:	74 79                	je     0x4afef5
4afe7c:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4afe80:	4f                   	dec    %edi
4afe81:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4afe85:	46                   	inc    %esi
4afe86:	85 ff                	test   %edi,%edi
4afe88:	7f d6                	jg     0x4afe60
4afe8a:	8a 03                	mov    (%ebx),%al
4afe8c:	84 c0                	test   %al,%al
4afe8e:	74 2e                	je     0x4afebe
4afe90:	3b f5                	cmp    %ebp,%esi
4afe92:	7d 2a                	jge    0x4afebe
4afe94:	0f be c0             	movsbl %al,%eax
4afe97:	50                   	push   %eax
4afe98:	51                   	push   %ecx
4afe99:	52                   	push   %edx
4afe9a:	ff 74 24 24          	push   0x24(%esp)
4afe9e:	ff 74 24 24          	push   0x24(%esp)
4afea2:	e8 d9 f7 ff ff       	call   0x4af680
4afea7:	83 c4 14             	add    $0x14,%esp
4afeaa:	43                   	inc    %ebx
4afeab:	85 c0                	test   %eax,%eax
4afead:	74 46                	je     0x4afef5
4afeaf:	8a 03                	mov    (%ebx),%al
4afeb1:	46                   	inc    %esi
4afeb2:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4afeb6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4afeba:	84 c0                	test   %al,%al
4afebc:	75 d2                	jne    0x4afe90
4afebe:	85 ff                	test   %edi,%edi
4afec0:	79 29                	jns    0x4afeeb
4afec2:	8b 5c 24 20          	mov    0x20(%esp),%ebx
4afec6:	3b f5                	cmp    %ebp,%esi
4afec8:	7d 21                	jge    0x4afeeb
4afeca:	6a 20                	push   $0x20
4afecc:	53                   	push   %ebx
4afecd:	ff 74 24 24          	push   0x24(%esp)
4afed1:	ff 74 24 24          	push   0x24(%esp)
4afed5:	ff 74 24 24          	push   0x24(%esp)
4afed9:	e8 a2 f7 ff ff       	call   0x4af680
4afede:	83 c4 14             	add    $0x14,%esp
4afee1:	85 c0                	test   %eax,%eax
4afee3:	74 10                	je     0x4afef5
4afee5:	46                   	inc    %esi
4afee6:	83 c7 01             	add    $0x1,%edi
4afee9:	78 db                	js     0x4afec6
4afeeb:	5f                   	pop    %edi
4afeec:	5e                   	pop    %esi
4afeed:	5d                   	pop    %ebp
4afeee:	b8 01 00 00 00       	mov    $0x1,%eax
4afef3:	5b                   	pop    %ebx
4afef4:	c3                   	ret
4afef5:	5f                   	pop    %edi
4afef6:	5e                   	pop    %esi
4afef7:	5d                   	pop    %ebp
4afef8:	33 c0                	xor    %eax,%eax
4afefa:	5b                   	pop    %ebx
4afefb:	c3                   	ret
4afefc:	cc                   	int3
4afefd:	cc                   	int3
4afefe:	cc                   	int3
4afeff:	cc                   	int3
4aff00:	56                   	push   %esi
4aff01:	8b 74 24 08          	mov    0x8(%esp),%esi
4aff05:	57                   	push   %edi
4aff06:	8b 4e 14             	mov    0x14(%esi),%ecx
4aff09:	03 4e 18             	add    0x18(%esi),%ecx
4aff0c:	8b 06                	mov    (%esi),%eax
4aff0e:	8b 7c 88 fc          	mov    -0x4(%eax,%ecx,4),%edi
4aff12:	c7 44 88 fc 00 00 00 	movl   $0x0,-0x4(%eax,%ecx,4)
4aff19:	00
4aff1a:	8b 46 14             	mov    0x14(%esi),%eax
4aff1d:	85 c0                	test   %eax,%eax
4aff1f:	75 35                	jne    0x4aff56
4aff21:	8b 46 18             	mov    0x18(%esi),%eax
4aff24:	68 6b 01 00 00       	push   $0x16b
4aff29:	68 4c 9c 6a 00       	push   $0x6a9c4c
4aff2e:	c1 e0 02             	shl    $0x2,%eax
4aff31:	50                   	push   %eax
4aff32:	ff 36                	push   (%esi)
4aff34:	e8 e7 02 ff ff       	call   0x4a0220
4aff39:	8b c8                	mov    %eax,%ecx
4aff3b:	83 c4 10             	add    $0x10,%esp
4aff3e:	85 c9                	test   %ecx,%ecx
4aff40:	75 06                	jne    0x4aff48
4aff42:	ff 46 5c             	incl   0x5c(%esi)
4aff45:	5f                   	pop    %edi
4aff46:	5e                   	pop    %esi
4aff47:	c3                   	ret
4aff48:	ff 46 34             	incl   0x34(%esi)
4aff4b:	d1 6e 10             	shrl   $1,0x10(%esi)
4aff4e:	d1 6e 18             	shrl   $1,0x18(%esi)
4aff51:	8b 46 18             	mov    0x18(%esi),%eax
4aff54:	89 0e                	mov    %ecx,(%esi)
4aff56:	ff 4e 0c             	decl   0xc(%esi)
4aff59:	48                   	dec    %eax
4aff5a:	ff 46 30             	incl   0x30(%esi)
4aff5d:	8b c8                	mov    %eax,%ecx
4aff5f:	89 46 14             	mov    %eax,0x14(%esi)
4aff62:	8b 06                	mov    (%esi),%eax
4aff64:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4aff67:	8b 08                	mov    (%eax),%ecx
4aff69:	85 c9                	test   %ecx,%ecx
4aff6b:	75 05                	jne    0x4aff72
4aff6d:	89 38                	mov    %edi,(%eax)
4aff6f:	5f                   	pop    %edi
4aff70:	5e                   	pop    %esi
4aff71:	c3                   	ret
4aff72:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
4aff76:	8d 41 04             	lea    0x4(%ecx),%eax
4aff79:	74 10                	je     0x4aff8b
4aff7b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4aff80:	8b 08                	mov    (%eax),%ecx
4aff82:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
4aff86:	8d 41 04             	lea    0x4(%ecx),%eax
4aff89:	75 f5                	jne    0x4aff80
4aff8b:	89 79 04             	mov    %edi,0x4(%ecx)
4aff8e:	5f                   	pop    %edi
4aff8f:	5e                   	pop    %esi
4aff90:	c3                   	ret
4aff91:	cc                   	int3
4aff92:	cc                   	int3
4aff93:	cc                   	int3
4aff94:	cc                   	int3
4aff95:	cc                   	int3
4aff96:	cc                   	int3
4aff97:	cc                   	int3
4aff98:	cc                   	int3
4aff99:	cc                   	int3
4aff9a:	cc                   	int3
4aff9b:	cc                   	int3
4aff9c:	cc                   	int3
4aff9d:	cc                   	int3
4aff9e:	cc                   	int3
4aff9f:	cc                   	int3
4affa0:	8b 44 24 04          	mov    0x4(%esp),%eax
4affa4:	85 c0                	test   %eax,%eax
4affa6:	74 57                	je     0x4affff
4affa8:	57                   	push   %edi
4affa9:	8b 78 0c             	mov    0xc(%eax),%edi
4affac:	83 ef 01             	sub    $0x1,%edi
4affaf:	78 4d                	js     0x4afffe
4affb1:	53                   	push   %ebx
4affb2:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4affb6:	55                   	push   %ebp
4affb7:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4affbb:	56                   	push   %esi
4affbc:	0f 1f 40 00          	nopl   0x0(%eax)
4affc0:	8b 00                	mov    (%eax),%eax
4affc2:	8b 04 b8             	mov    (%eax,%edi,4),%eax
4affc5:	85 c0                	test   %eax,%eax
4affc7:	74 29                	je     0x4afff2
4affc9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4affd0:	8b 70 04             	mov    0x4(%eax),%esi
4affd3:	85 db                	test   %ebx,%ebx
4affd5:	74 0c                	je     0x4affe3
4affd7:	55                   	push   %ebp
4affd8:	ff 30                	push   (%eax)
4affda:	ff 54 24 28          	call   *0x28(%esp)
4affde:	83 c4 08             	add    $0x8,%esp
4affe1:	eb 09                	jmp    0x4affec
4affe3:	ff 30                	push   (%eax)