538d73:	8b 44 24 08          	mov    0x8(%esp),%eax
538d77:	5e                   	pop    %esi
538d78:	89 08                	mov    %ecx,(%eax)
538d7a:	8d 41 fb             	lea    -0x5(%ecx),%eax
538d7d:	c3                   	ret
538d7e:	56                   	push   %esi
538d7f:	e8 8c 1a fd ff       	call   0x50a810
538d84:	6a 2a                	push   $0x2a
538d86:	68 b8 9e 64 00       	push   $0x649eb8
538d8b:	68 a7 00 00 00       	push   $0xa7
538d90:	68 df 00 00 00       	push   $0xdf
538d95:	6a 10                	push   $0x10
538d97:	e8 e4 01 fa ff       	call   0x4d8f80
538d9c:	83 c4 18             	add    $0x18,%esp
538d9f:	33 c0                	xor    %eax,%eax
538da1:	5f                   	pop    %edi
538da2:	5e                   	pop    %esi
538da3:	c3                   	ret
538da4:	e8 57 14 fd ff       	call   0x50a200
538da9:	8b f0                	mov    %eax,%esi
538dab:	85 f6                	test   %esi,%esi
538dad:	74 65                	je     0x538e14
538daf:	8d 46 08             	lea    0x8(%esi),%eax
538db2:	50                   	push   %eax
538db3:	57                   	push   %edi
538db4:	e8 77 5a fe ff       	call   0x51e830
538db9:	83 c4 08             	add    $0x8,%esp
538dbc:	89 06                	mov    %eax,(%esi)
538dbe:	85 c0                	test   %eax,%eax
538dc0:	7f 23                	jg     0x538de5
538dc2:	56                   	push   %esi
538dc3:	e8 e8 13 fd ff       	call   0x50a1b0
538dc8:	6a 42                	push   $0x42
538dca:	68 b8 9e 64 00       	push   $0x649eb8
538dcf:	6a 10                	push   $0x10
538dd1:	68 df 00 00 00       	push   $0xdf
538dd6:	6a 10                	push   $0x10
538dd8:	e8 a3 01 fa ff       	call   0x4d8f80
538ddd:	83 c4 18             	add    $0x18,%esp
538de0:	33 c0                	xor    %eax,%eax
538de2:	5f                   	pop    %edi
538de3:	5e                   	pop    %esi
538de4:	c3                   	ret
538de5:	8b 44 24 10          	mov    0x10(%esp),%eax
538de9:	b9 10 00 00 00       	mov    $0x10,%ecx
538dee:	5f                   	pop    %edi
538def:	89 30                	mov    %esi,(%eax)
538df1:	8b 44 24 08          	mov    0x8(%esp),%eax
538df5:	5e                   	pop    %esi
538df6:	89 08                	mov    %ecx,(%eax)
538df8:	8d 41 f1             	lea    -0xf(%ecx),%eax
538dfb:	c3                   	ret
538dfc:	6a 1f                	push   $0x1f
538dfe:	68 b8 9e 64 00       	push   $0x649eb8
538e03:	6a 7c                	push   $0x7c
538e05:	68 df 00 00 00       	push   $0xdf
538e0a:	6a 10                	push   $0x10
538e0c:	e8 6f 01 fa ff       	call   0x4d8f80
538e11:	83 c4 14             	add    $0x14,%esp
538e14:	5f                   	pop    %edi
538e15:	33 c0                	xor    %eax,%eax
538e17:	5e                   	pop    %esi
538e18:	c3                   	ret
538e19:	cc                   	int3
538e1a:	cc                   	int3
538e1b:	cc                   	int3
538e1c:	cc                   	int3
538e1d:	cc                   	int3
538e1e:	cc                   	int3
538e1f:	cc                   	int3
538e20:	8b 44 24 04          	mov    0x4(%esp),%eax
538e24:	56                   	push   %esi
538e25:	57                   	push   %edi
538e26:	33 f6                	xor    %esi,%esi
538e28:	33 ff                	xor    %edi,%edi
538e2a:	83 f8 10             	cmp    $0x10,%eax
538e2d:	75 25                	jne    0x538e54
538e2f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
538e33:	8b 41 08             	mov    0x8(%ecx),%eax
538e36:	ff 31                	push   (%ecx)
538e38:	89 44 24 10          	mov    %eax,0x10(%esp)
538e3c:	8d 44 24 10          	lea    0x10(%esp),%eax
538e40:	50                   	push   %eax
538e41:	57                   	push   %edi
538e42:	e8 19 51 fe ff       	call   0x51df60
538e47:	8b f0                	mov    %eax,%esi
538e49:	83 c4 0c             	add    $0xc,%esp
538e4c:	85 f6                	test   %esi,%esi
538e4e:	75 59                	jne    0x538ea9
538e50:	6a 78                	push   $0x78
538e52:	eb 5f                	jmp    0x538eb3
538e54:	83 f8 06             	cmp    $0x6,%eax
538e57:	75 55                	jne    0x538eae
538e59:	e8 72 8a fb ff       	call   0x4f18d0
538e5e:	8b f0                	mov    %eax,%esi
538e60:	85 f6                	test   %esi,%esi
538e62:	75 0e                	jne    0x538e72
538e64:	68 82 00 00 00       	push   $0x82
538e69:	68 b8 9e 64 00       	push   $0x649eb8
538e6e:	6a 41                	push   $0x41
538e70:	eb 4b                	jmp    0x538ebd
538e72:	ff 74 24 10          	push   0x10(%esp)
538e76:	e8 85 67 fb ff       	call   0x4ef600
538e7b:	50                   	push   %eax
538e7c:	e8 5f 5e fd ff       	call   0x50ece0
538e81:	8b f8                	mov    %eax,%edi
538e83:	83 c4 08             	add    $0x8,%esp
538e86:	85 ff                	test   %edi,%edi
538e88:	74 42                	je     0x538ecc
538e8a:	6a 01                	push   $0x1
538e8c:	57                   	push   %edi
538e8d:	e8 ee e4 fa ff       	call   0x4e7380
538e92:	57                   	push   %edi
538e93:	56                   	push   %esi
538e94:	e8 57 8c fb ff       	call   0x4f1af0
538e99:	83 c4 10             	add    $0x10,%esp
538e9c:	85 c0                	test   %eax,%eax
538e9e:	74 2c                	je     0x538ecc
538ea0:	57                   	push   %edi
538ea1:	e8 ca 4b fd ff       	call   0x50da70
538ea6:	83 c4 04             	add    $0x4,%esp
538ea9:	5f                   	pop    %edi
538eaa:	8b c6                	mov    %esi,%eax
538eac:	5e                   	pop    %esi
538ead:	c3                   	ret
538eae:	68 8d 00 00 00       	push   $0x8d
538eb3:	68 b8 9e 64 00       	push   $0x649eb8
538eb8:	68 8e 00 00 00       	push   $0x8e
538ebd:	68 dc 00 00 00       	push   $0xdc
538ec2:	6a 10                	push   $0x10
538ec4:	e8 b7 00 fa ff       	call   0x4d8f80
538ec9:	83 c4 14             	add    $0x14,%esp
538ecc:	56                   	push   %esi
538ecd:	e8 be 88 fb ff       	call   0x4f1790
538ed2:	57                   	push   %edi
538ed3:	e8 98 4b fd ff       	call   0x50da70
538ed8:	83 c4 08             	add    $0x8,%esp
538edb:	33 c0                	xor    %eax,%eax
538edd:	5f                   	pop    %edi
538ede:	5e                   	pop    %esi
538edf:	c3                   	ret
538ee0:	b8 10 00 00 00       	mov    $0x10,%eax
538ee5:	c3                   	ret
538ee6:	cc                   	int3
538ee7:	cc                   	int3
538ee8:	cc                   	int3
538ee9:	cc                   	int3
538eea:	cc                   	int3
538eeb:	cc                   	int3
538eec:	cc                   	int3
538eed:	cc                   	int3
538eee:	cc                   	int3
538eef:	cc                   	int3
538ef0:	56                   	push   %esi
538ef1:	ff 74 24 08          	push   0x8(%esp)
538ef5:	e8 86 7e fb ff       	call   0x4f0d80
538efa:	8b f0                	mov    %eax,%esi
538efc:	83 c4 04             	add    $0x4,%esp
538eff:	85 f6                	test   %esi,%esi
538f01:	74 1b                	je     0x538f1e
538f03:	8b 46 08             	mov    0x8(%esi),%eax
538f06:	85 c0                	test   %eax,%eax
538f08:	74 0b                	je     0x538f15
538f0a:	ff 36                	push   (%esi)
538f0c:	50                   	push   %eax
538f0d:	e8 ce 8a ec ff       	call   0x4019e0
538f12:	83 c4 08             	add    $0x8,%esp
538f15:	56                   	push   %esi
538f16:	e8 65 28 fb ff       	call   0x4eb780
538f1b:	83 c4 04             	add    $0x4,%esp
538f1e:	5e                   	pop    %esi
538f1f:	c3                   	ret
538f20:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
538f25:	c3                   	ret
538f26:	cc                   	int3
538f27:	cc                   	int3
538f28:	cc                   	int3
538f29:	cc                   	int3
538f2a:	cc                   	int3
538f2b:	cc                   	int3
538f2c:	cc                   	int3
538f2d:	cc                   	int3
538f2e:	cc                   	int3
538f2f:	cc                   	int3
538f30:	ff 74 24 08          	push   0x8(%esp)
538f34:	e8 47 7e fb ff       	call   0x4f0d80
538f39:	83 c4 04             	add    $0x4,%esp
538f3c:	50                   	push   %eax
538f3d:	ff 74 24 08          	push   0x8(%esp)
538f41:	e8 3a 7e fb ff       	call   0x4f0d80
538f46:	83 c4 04             	add    $0x4,%esp
538f49:	50                   	push   %eax
538f4a:	e8 d1 6a ff ff       	call   0x52fa20
538f4f:	83 c4 08             	add    $0x8,%esp
538f52:	c3                   	ret
538f53:	cc                   	int3
538f54:	cc                   	int3
538f55:	cc                   	int3
538f56:	cc                   	int3
538f57:	cc                   	int3
538f58:	cc                   	int3
538f59:	cc                   	int3
538f5a:	cc                   	int3
538f5b:	cc                   	int3
538f5c:	cc                   	int3
538f5d:	cc                   	int3
538f5e:	cc                   	int3
538f5f:	cc                   	int3
538f60:	56                   	push   %esi
538f61:	57                   	push   %edi
538f62:	8b 7c 24 0c          	mov    0xc(%esp),%edi
538f66:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
538f6a:	75 2e                	jne    0x538f9a
538f6c:	83 7c 24 14 20       	cmpl   $0x20,0x14(%esp)
538f71:	75 27                	jne    0x538f9a
538f73:	e8 18 29 fb ff       	call   0x4eb890
538f78:	8b f0                	mov    %eax,%esi
538f7a:	85 f6                	test   %esi,%esi
538f7c:	74 1c                	je     0x538f9a
538f7e:	6a 20                	push   $0x20
538f80:	ff 74 24 14          	push   0x14(%esp)
538f84:	56                   	push   %esi
538f85:	e8 96 29 fd ff       	call   0x50b920
538f8a:	83 c4 0c             	add    $0xc,%esp
538f8d:	85 c0                	test   %eax,%eax
538f8f:	75 0e                	jne    0x538f9f
538f91:	56                   	push   %esi
538f92:	e8 e9 27 fb ff       	call   0x4eb780
538f97:	83 c4 04             	add    $0x4,%esp
538f9a:	5f                   	pop    %edi
538f9b:	33 c0                	xor    %eax,%eax
538f9d:	5e                   	pop    %esi
538f9e:	c3                   	ret
538f9f:	89 77 18             	mov    %esi,0x18(%edi)
538fa2:	b8 01 00 00 00       	mov    $0x1,%eax
538fa7:	5f                   	pop    %edi
538fa8:	5e                   	pop    %esi
538fa9:	c3                   	ret
538faa:	cc                   	int3
538fab:	cc                   	int3
538fac:	cc                   	int3
538fad:	cc                   	int3
538fae:	cc                   	int3
538faf:	cc                   	int3
538fb0:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
538fb5:	8b 44 24 04          	mov    0x4(%esp),%eax
538fb9:	56                   	push   %esi
538fba:	8b 70 18             	mov    0x18(%eax),%esi
538fbd:	75 11                	jne    0x538fd0
538fbf:	8b 44 24 10          	mov    0x10(%esp),%eax
538fc3:	5e                   	pop    %esi
538fc4:	c7 00 20 00 00 00    	movl   $0x20,(%eax)
538fca:	b8 01 00 00 00       	mov    $0x1,%eax
538fcf:	c3                   	ret
538fd0:	57                   	push   %edi
538fd1:	85 f6                	test   %esi,%esi
538fd3:	74 37                	je     0x53900c
538fd5:	8b 7c 24 14          	mov    0x14(%esp),%edi
538fd9:	83 3f 20             	cmpl   $0x20,(%edi)
538fdc:	72 2e                	jb     0x53900c
538fde:	56                   	push   %esi
538fdf:	e8 dc 70 fb ff       	call   0x4f00c0
538fe4:	83 c4 04             	add    $0x4,%esp
538fe7:	50                   	push   %eax
538fe8:	56                   	push   %esi
538fe9:	e8 62 e2 fa ff       	call   0x4e7250
538fee:	83 c4 04             	add    $0x4,%esp
538ff1:	50                   	push   %eax
538ff2:	ff 74 24 18          	push   0x18(%esp)
538ff6:	e8 d5 9d 09 00       	call   0x5d2dd0
538ffb:	83 c4 0c             	add    $0xc,%esp
538ffe:	c7 07 20 00 00 00    	movl   $0x20,(%edi)
539004:	b8 01 00 00 00       	mov    $0x1,%eax
539009:	5f                   	pop    %edi
53900a:	5e                   	pop    %esi
53900b:	c3                   	ret
53900c:	5f                   	pop    %edi
53900d:	33 c0                	xor    %eax,%eax
53900f:	5e                   	pop    %esi
539010:	c3                   	ret
539011:	cc                   	int3
539012:	cc                   	int3
539013:	cc                   	int3
539014:	cc                   	int3
539015:	cc                   	int3
539016:	cc                   	int3
539017:	cc                   	int3
539018:	cc                   	int3
539019:	cc                   	int3
53901a:	cc                   	int3
53901b:	cc                   	int3
53901c:	cc                   	int3
53901d:	cc                   	int3
53901e:	cc                   	int3
53901f:	cc                   	int3
539020:	83 7c 24 08 03       	cmpl   $0x3,0x8(%esp)
539025:	74 06                	je     0x53902d
539027:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
53902c:	c3                   	ret
53902d:	8b 44 24 10          	mov    0x10(%esp),%eax
539031:	c7 00 a0 02 00 00    	movl   $0x2a0,(%eax)
539037:	b8 01 00 00 00       	mov    $0x1,%eax
53903c:	c3                   	ret
53903d:	cc                   	int3
53903e:	cc                   	int3
53903f:	cc                   	int3
539040:	56                   	push   %esi
539041:	57                   	push   %edi
539042:	8b 7c 24 0c          	mov    0xc(%esp),%edi
539046:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
53904a:	75 29                	jne    0x539075
53904c:	e8 3f 28 fb ff       	call   0x4eb890
539051:	8b f0                	mov    %eax,%esi
539053:	85 f6                	test   %esi,%esi
539055:	74 1e                	je     0x539075
539057:	ff 74 24 14          	push   0x14(%esp)
53905b:	ff 74 24 14          	push   0x14(%esp)
53905f:	56                   	push   %esi
539060:	e8 bb 28 fd ff       	call   0x50b920
539065:	83 c4 0c             	add    $0xc,%esp
539068:	85 c0                	test   %eax,%eax
53906a:	75 0e                	jne    0x53907a
53906c:	56                   	push   %esi
53906d:	e8 0e 27 fb ff       	call   0x4eb780
539072:	83 c4 04             	add    $0x4,%esp
539075:	5f                   	pop    %edi
539076:	33 c0                	xor    %eax,%eax
539078:	5e                   	pop    %esi
539079:	c3                   	ret
53907a:	89 77 18             	mov    %esi,0x18(%edi)
53907d:	b8 01 00 00 00       	mov    $0x1,%eax
539082:	5f                   	pop    %edi
539083:	5e                   	pop    %esi
539084:	c3                   	ret
539085:	cc                   	int3
539086:	cc                   	int3
539087:	cc                   	int3
539088:	cc                   	int3
539089:	cc                   	int3
53908a:	cc                   	int3
53908b:	cc                   	int3
53908c:	cc                   	int3
53908d:	cc                   	int3
53908e:	cc                   	int3
53908f:	cc                   	int3
539090:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
539095:	8b 44 24 04          	mov    0x4(%esp),%eax
539099:	56                   	push   %esi
53909a:	8b 70 18             	mov    0x18(%eax),%esi
53909d:	75 16                	jne    0x5390b5