531db7:	24 07                	and    $0x7,%al
531db9:	83 c4 0c             	add    $0xc,%esp
531dbc:	3c 01                	cmp    $0x1,%al
531dbe:	75 05                	jne    0x531dc5
531dc0:	4e                   	dec    %esi
531dc1:	89 74 24 08          	mov    %esi,0x8(%esp)
531dc5:	85 f6                	test   %esi,%esi
531dc7:	0f 88 bc 00 00 00    	js     0x531e89
531dcd:	8b 7c 24 0c          	mov    0xc(%esp),%edi
531dd1:	53                   	push   %ebx
531dd2:	55                   	push   %ebp
531dd3:	8b 6c 24 18          	mov    0x18(%esp),%ebp
531dd7:	e8 34 98 fa ff       	call   0x4db610
531ddc:	8b d8                	mov    %eax,%ebx
531dde:	85 db                	test   %ebx,%ebx
531de0:	0f 84 8e 00 00 00    	je     0x531e74
531de6:	83 fe 14             	cmp    $0x14,%esi
531de9:	74 1a                	je     0x531e05
531deb:	e8 40 9a fb ff       	call   0x4eb830
531df0:	89 43 08             	mov    %eax,0x8(%ebx)
531df3:	85 c0                	test   %eax,%eax
531df5:	74 7d                	je     0x531e74
531df7:	56                   	push   %esi
531df8:	50                   	push   %eax
531df9:	e8 c2 76 fd ff       	call   0x5094c0
531dfe:	83 c4 08             	add    $0x8,%esp
531e01:	85 c0                	test   %eax,%eax
531e03:	74 6f                	je     0x531e74
531e05:	85 ff                	test   %edi,%edi
531e07:	74 23                	je     0x531e2c
531e09:	57                   	push   %edi
531e0a:	e8 b1 e2 fb ff       	call   0x4f00c0
531e0f:	83 c4 04             	add    $0x4,%esp
531e12:	83 f8 40             	cmp    $0x40,%eax
531e15:	74 15                	je     0x531e2c
531e17:	e8 f4 9c fb ff       	call   0x4ebb10
531e1c:	89 03                	mov    %eax,(%ebx)
531e1e:	85 c0                	test   %eax,%eax
531e20:	74 52                	je     0x531e74
531e22:	57                   	push   %edi
531e23:	50                   	push   %eax
531e24:	e8 77 9d fb ff       	call   0x4ebba0
531e29:	83 c4 08             	add    $0x8,%esp
531e2c:	85 ed                	test   %ebp,%ebp
531e2e:	8d 43 04             	lea    0x4(%ebx),%eax
531e31:	0f 45 fd             	cmovne %ebp,%edi
531e34:	57                   	push   %edi
531e35:	50                   	push   %eax
531e36:	e8 a5 00 00 00       	call   0x531ee0
531e3b:	83 c4 08             	add    $0x8,%esp
531e3e:	85 c0                	test   %eax,%eax
531e40:	74 32                	je     0x531e74
531e42:	85 ff                	test   %edi,%edi
531e44:	74 39                	je     0x531e7f
531e46:	57                   	push   %edi
531e47:	e8 74 e2 fb ff       	call   0x4f00c0
531e4c:	83 c4 04             	add    $0x4,%esp
531e4f:	83 f8 40             	cmp    $0x40,%eax
531e52:	74 2b                	je     0x531e7f
531e54:	e8 b7 9c fb ff       	call   0x4ebb10
531e59:	89 43 10             	mov    %eax,0x10(%ebx)
531e5c:	85 c0                	test   %eax,%eax
531e5e:	74 14                	je     0x531e74
531e60:	57                   	push   %edi
531e61:	50                   	push   %eax
531e62:	e8 39 9d fb ff       	call   0x4ebba0
531e67:	83 c4 08             	add    $0x8,%esp
531e6a:	8b c3                	mov    %ebx,%eax
531e6c:	5d                   	pop    %ebp
531e6d:	5b                   	pop    %ebx
531e6e:	5f                   	pop    %edi
531e6f:	5e                   	pop    %esi
531e70:	83 c4 0c             	add    $0xc,%esp
531e73:	c3                   	ret
531e74:	53                   	push   %ebx
531e75:	e8 66 97 fa ff       	call   0x4db5e0
531e7a:	83 c4 04             	add    $0x4,%esp
531e7d:	33 db                	xor    %ebx,%ebx
531e7f:	5d                   	pop    %ebp
531e80:	8b c3                	mov    %ebx,%eax
531e82:	5b                   	pop    %ebx
531e83:	5f                   	pop    %edi
531e84:	5e                   	pop    %esi
531e85:	83 c4 0c             	add    $0xc,%esp
531e88:	c3                   	ret
531e89:	5f                   	pop    %edi
531e8a:	33 c0                	xor    %eax,%eax
531e8c:	5e                   	pop    %esi
531e8d:	83 c4 0c             	add    $0xc,%esp
531e90:	c3                   	ret
531e91:	cc                   	int3
531e92:	cc                   	int3
531e93:	cc                   	int3
531e94:	cc                   	int3
531e95:	cc                   	int3
531e96:	cc                   	int3
531e97:	cc                   	int3
531e98:	cc                   	int3
531e99:	cc                   	int3
531e9a:	cc                   	int3
531e9b:	cc                   	int3
531e9c:	cc                   	int3
531e9d:	cc                   	int3
531e9e:	cc                   	int3
531e9f:	cc                   	int3
531ea0:	57                   	push   %edi
531ea1:	ff 74 24 08          	push   0x8(%esp)
531ea5:	e8 46 fe ff ff       	call   0x531cf0
531eaa:	8b f8                	mov    %eax,%edi
531eac:	83 c4 04             	add    $0x4,%esp
531eaf:	85 ff                	test   %edi,%edi
531eb1:	75 02                	jne    0x531eb5
531eb3:	5f                   	pop    %edi
531eb4:	c3                   	ret
531eb5:	56                   	push   %esi
531eb6:	6a 00                	push   $0x0
531eb8:	e8 43 97 fa ff       	call   0x4db600
531ebd:	50                   	push   %eax
531ebe:	57                   	push   %edi
531ebf:	e8 dc 26 00 00       	call   0x5345a0
531ec4:	57                   	push   %edi
531ec5:	8b f0                	mov    %eax,%esi
531ec7:	e8 14 97 fa ff       	call   0x4db5e0
531ecc:	83 c4 10             	add    $0x10,%esp
531ecf:	8b c6                	mov    %esi,%eax
531ed1:	5e                   	pop    %esi
531ed2:	5f                   	pop    %edi
531ed3:	c3                   	ret
531ed4:	cc                   	int3
531ed5:	cc                   	int3
531ed6:	cc                   	int3
531ed7:	cc                   	int3
531ed8:	cc                   	int3
531ed9:	cc                   	int3
531eda:	cc                   	int3
531edb:	cc                   	int3
531edc:	cc                   	int3
531edd:	cc                   	int3
531ede:	cc                   	int3
531edf:	cc                   	int3
531ee0:	b8 04 00 00 00       	mov    $0x4,%eax
531ee5:	e8 c6 f8 09 00       	call   0x5d17b0
531eea:	53                   	push   %ebx
531eeb:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
531eef:	56                   	push   %esi
531ef0:	33 f6                	xor    %esi,%esi
531ef2:	57                   	push   %edi
531ef3:	8b 7c 24 18          	mov    0x18(%esp),%edi
531ef7:	89 74 24 0c          	mov    %esi,0xc(%esp)
531efb:	89 33                	mov    %esi,(%ebx)
531efd:	85 ff                	test   %edi,%edi
531eff:	0f 84 9d 00 00 00    	je     0x531fa2
531f05:	57                   	push   %edi
531f06:	e8 b5 e1 fb ff       	call   0x4f00c0
531f0b:	83 c4 04             	add    $0x4,%esp
531f0e:	83 f8 40             	cmp    $0x40,%eax
531f11:	0f 84 8b 00 00 00    	je     0x531fa2
531f17:	57                   	push   %edi
531f18:	e8 a3 e1 fb ff       	call   0x4f00c0
531f1d:	83 c4 04             	add    $0x4,%esp
531f20:	83 f8 40             	cmp    $0x40,%eax
531f23:	74 15                	je     0x531f3a
531f25:	e8 e6 9b fb ff       	call   0x4ebb10
531f2a:	8b f0                	mov    %eax,%esi
531f2c:	85 f6                	test   %esi,%esi
531f2e:	74 53                	je     0x531f83
531f30:	57                   	push   %edi
531f31:	56                   	push   %esi
531f32:	e8 69 9c fb ff       	call   0x4ebba0
531f37:	83 c4 08             	add    $0x8,%esp
531f3a:	8d 44 24 0c          	lea    0xc(%esp),%eax
531f3e:	50                   	push   %eax
531f3f:	e8 1c 9b fb ff       	call   0x4eba60
531f44:	50                   	push   %eax
531f45:	56                   	push   %esi
531f46:	e8 55 26 00 00       	call   0x5345a0
531f4b:	83 c4 0c             	add    $0xc,%esp
531f4e:	85 c0                	test   %eax,%eax
531f50:	74 31                	je     0x531f83
531f52:	e8 b9 9b fb ff       	call   0x4ebb10
531f57:	89 03                	mov    %eax,(%ebx)
531f59:	85 c0                	test   %eax,%eax
531f5b:	74 26                	je     0x531f83
531f5d:	ff 74 24 0c          	push   0xc(%esp)
531f61:	6a 10                	push   $0x10
531f63:	68 8f 03 00 00       	push   $0x38f
531f68:	e8 73 d5 fb ff       	call   0x4ef4e0
531f6d:	83 c4 04             	add    $0x4,%esp
531f70:	50                   	push   %eax
531f71:	ff 33                	push   (%ebx)
531f73:	e8 a8 9b fb ff       	call   0x4ebb20
531f78:	83 c4 10             	add    $0x10,%esp
531f7b:	33 c0                	xor    %eax,%eax
531f7d:	89 44 24 0c          	mov    %eax,0xc(%esp)
531f81:	eb 04                	jmp    0x531f87
531f83:	8b 44 24 0c          	mov    0xc(%esp),%eax
531f87:	50                   	push   %eax
531f88:	e8 23 82 fd ff       	call   0x50a1b0
531f8d:	56                   	push   %esi
531f8e:	e8 1d 9b fb ff       	call   0x4ebab0
531f93:	83 c4 08             	add    $0x8,%esp
531f96:	83 3b 00             	cmpl   $0x0,(%ebx)
531f99:	75 07                	jne    0x531fa2
531f9b:	5f                   	pop    %edi
531f9c:	5e                   	pop    %esi
531f9d:	33 c0                	xor    %eax,%eax
531f9f:	5b                   	pop    %ebx
531fa0:	59                   	pop    %ecx
531fa1:	c3                   	ret
531fa2:	5f                   	pop    %edi
531fa3:	5e                   	pop    %esi
531fa4:	b8 01 00 00 00       	mov    $0x1,%eax
531fa9:	5b                   	pop    %ebx
531faa:	59                   	pop    %ecx
531fab:	c3                   	ret
531fac:	cc                   	int3
531fad:	cc                   	int3
531fae:	cc                   	int3
531faf:	cc                   	int3
531fb0:	56                   	push   %esi
531fb1:	8b 74 24 08          	mov    0x8(%esp),%esi
531fb5:	ff 36                	push   (%esi)
531fb7:	e8 44 d6 fb ff       	call   0x4ef600
531fbc:	83 c4 04             	add    $0x4,%esp
531fbf:	3d 8f 03 00 00       	cmp    $0x38f,%eax
531fc4:	74 04                	je     0x531fca
531fc6:	33 c0                	xor    %eax,%eax
531fc8:	5e                   	pop    %esi
531fc9:	c3                   	ret
531fca:	ff 76 04             	push   0x4(%esi)
531fcd:	e8 8e 9a fb ff       	call   0x4eba60
531fd2:	50                   	push   %eax
531fd3:	e8 08 88 fd ff       	call   0x50a7e0
531fd8:	83 c4 08             	add    $0x8,%esp
531fdb:	5e                   	pop    %esi
531fdc:	c3                   	ret
531fdd:	cc                   	int3
531fde:	cc                   	int3
531fdf:	cc                   	int3
531fe0:	b8 0c 00 00 00       	mov    $0xc,%eax
531fe5:	e8 c6 f7 09 00       	call   0x5d17b0
531fea:	ff 74 24 14          	push   0x14(%esp)
531fee:	8d 44 24 0c          	lea    0xc(%esp),%eax
531ff2:	50                   	push   %eax
531ff3:	8d 44 24 0c          	lea    0xc(%esp),%eax
531ff7:	50                   	push   %eax
531ff8:	8d 44 24 0c          	lea    0xc(%esp),%eax
531ffc:	50                   	push   %eax
531ffd:	e8 ce 9a fb ff       	call   0x4ebad0
532002:	ff 74 24 10          	push   0x10(%esp)
532006:	e8 f5 d5 fb ff       	call   0x4ef600
53200b:	83 c4 14             	add    $0x14,%esp
53200e:	3d 90 03 00 00       	cmp    $0x390,%eax
532013:	75 46                	jne    0x53205b
532015:	8b 44 24 04          	mov    0x4(%esp),%eax
532019:	83 f8 ff             	cmp    $0xffffffff,%eax
53201c:	74 3d                	je     0x53205b
53201e:	83 f8 10             	cmp    $0x10,%eax
532021:	74 21                	je     0x532044
532023:	6a 42                	push   $0x42
532025:	68 6c 93 64 00       	push   $0x64936c
53202a:	68 95 00 00 00       	push   $0x95
53202f:	68 a4 00 00 00       	push   $0xa4
532034:	6a 04                	push   $0x4
532036:	e8 45 6f fa ff       	call   0x4d8f80
53203b:	83 c4 14             	add    $0x14,%esp
53203e:	33 c0                	xor    %eax,%eax
532040:	83 c4 0c             	add    $0xc,%esp
532043:	c3                   	ret
532044:	ff 74 24 14          	push   0x14(%esp)
532048:	e8 93 00 00 00       	call   0x5320e0
53204d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
532051:	83 c4 04             	add    $0x4,%esp
532054:	89 41 34             	mov    %eax,0x34(%ecx)
532057:	85 c0                	test   %eax,%eax
532059:	74 e3                	je     0x53203e
53205b:	b8 01 00 00 00       	mov    $0x1,%eax
532060:	83 c4 0c             	add    $0xc,%esp
532063:	c3                   	ret
532064:	cc                   	int3
532065:	cc                   	int3
532066:	cc                   	int3
532067:	cc                   	int3
532068:	cc                   	int3
532069:	cc                   	int3
53206a:	cc                   	int3
53206b:	cc                   	int3
53206c:	cc                   	int3
53206d:	cc                   	int3
53206e:	cc                   	int3
53206f:	cc                   	int3
532070:	8b 44 24 04          	mov    0x4(%esp),%eax
532074:	8b 4c 24 08          	mov    0x8(%esp),%ecx
532078:	56                   	push   %esi
532079:	8b 70 18             	mov    0x18(%eax),%esi
53207c:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
532082:	8b 40 0c             	mov    0xc(%eax),%eax
532085:	81 38 90 03 00 00    	cmpl   $0x390,(%eax)
53208b:	74 11                	je     0x53209e
53208d:	8b 44 24 10          	mov    0x10(%esp),%eax
532091:	5e                   	pop    %esi
532092:	c7 00 05 00 00 00    	movl   $0x5,(%eax)
532098:	b8 01 00 00 00       	mov    $0x1,%eax
53209d:	c3                   	ret
53209e:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
5320a2:	75 11                	jne    0x5320b5
5320a4:	8b 44 24 10          	mov    0x10(%esp),%eax
5320a8:	5e                   	pop    %esi
5320a9:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
5320af:	b8 01 00 00 00       	mov    $0x1,%eax
5320b4:	c3                   	ret
5320b5:	51                   	push   %ecx
5320b6:	e8 45 95 fa ff       	call   0x4db600
5320bb:	50                   	push   %eax
5320bc:	ff 76 34             	push   0x34(%esi)
5320bf:	e8 dc 24 00 00       	call   0x5345a0
5320c4:	83 c4 0c             	add    $0xc,%esp
5320c7:	85 c0                	test   %eax,%eax
5320c9:	75 02                	jne    0x5320cd
5320cb:	5e                   	pop    %esi
5320cc:	c3                   	ret
5320cd:	8b 44 24 10          	mov    0x10(%esp),%eax
5320d1:	5e                   	pop    %esi
5320d2:	c7 00 10 00 00 00    	movl   $0x10,(%eax)
5320d8:	b8 01 00 00 00       	mov    $0x1,%eax
5320dd:	c3                   	ret
5320de:	cc                   	int3
5320df:	cc                   	int3
5320e0:	8b 44 24 04          	mov    0x4(%esp),%eax
5320e4:	56                   	push   %esi
5320e5:	ff 70 04             	push   0x4(%eax)
5320e8:	e8 13 95 fa ff       	call   0x4db600
5320ed:	50                   	push   %eax
5320ee:	e8 ed 86 fd ff       	call   0x50a7e0
5320f3:	8b f0                	mov    %eax,%esi
5320f5:	83 c4 08             	add    $0x8,%esp
5320f8:	85 f6                	test   %esi,%esi
5320fa:	75 02                	jne    0x5320fe
5320fc:	5e                   	pop    %esi
5320fd:	c3                   	ret
5320fe:	57                   	push   %edi
5320ff:	8b 7e 04             	mov    0x4(%esi),%edi
532102:	85 ff                	test   %edi,%edi
532104:	74 4c                	je     0x532152
532106:	ff 37                	push   (%edi)
532108:	e8 f3 d4 fb ff       	call   0x4ef600
53210d:	83 c4 04             	add    $0x4,%esp
532110:	3d 8f 03 00 00       	cmp    $0x38f,%eax
532115:	74 15                	je     0x53212c
532117:	56                   	push   %esi