531ba9:	83 c4 14             	add    $0x14,%esp
531bac:	85 c0                	test   %eax,%eax
531bae:	0f 8e 14 01 00 00    	jle    0x531cc8
531bb4:	8d 44 24 24          	lea    0x24(%esp),%eax
531bb8:	50                   	push   %eax
531bb9:	6a 00                	push   $0x0
531bbb:	68 0c 10 00 00       	push   $0x100c
531bc0:	68 00 03 00 00       	push   $0x300
531bc5:	6a 06                	push   $0x6
531bc7:	53                   	push   %ebx
531bc8:	e8 03 54 fb ff       	call   0x4e6fd0
531bcd:	8b d8                	mov    %eax,%ebx
531bcf:	83 c4 18             	add    $0x18,%esp
531bd2:	85 db                	test   %ebx,%ebx
531bd4:	0f 88 ee 00 00 00    	js     0x531cc8
531bda:	e8 f1 99 fa ff       	call   0x4db5d0
531bdf:	8b f8                	mov    %eax,%edi
531be1:	85 ff                	test   %edi,%edi
531be3:	0f 84 df 00 00 00    	je     0x531cc8
531be9:	8b 74 24 1c          	mov    0x1c(%esp),%esi
531bed:	85 f6                	test   %esi,%esi
531bef:	74 27                	je     0x531c18
531bf1:	56                   	push   %esi
531bf2:	e8 c9 e4 fb ff       	call   0x4f00c0
531bf7:	83 c4 04             	add    $0x4,%esp
531bfa:	83 f8 40             	cmp    $0x40,%eax
531bfd:	74 19                	je     0x531c18
531bff:	e8 0c 9f fb ff       	call   0x4ebb10
531c04:	89 07                	mov    %eax,(%edi)
531c06:	85 c0                	test   %eax,%eax
531c08:	0f 84 ba 00 00 00    	je     0x531cc8
531c0e:	56                   	push   %esi
531c0f:	50                   	push   %eax
531c10:	e8 8b 9f fb ff       	call   0x4ebba0
531c15:	83 c4 08             	add    $0x8,%esp
531c18:	ff 74 24 20          	push   0x20(%esp)
531c1c:	8d 47 04             	lea    0x4(%edi),%eax
531c1f:	50                   	push   %eax
531c20:	e8 bb 02 00 00       	call   0x531ee0
531c25:	83 c4 08             	add    $0x8,%esp
531c28:	85 c0                	test   %eax,%eax
531c2a:	0f 84 98 00 00 00    	je     0x531cc8
531c30:	85 db                	test   %ebx,%ebx
531c32:	7e 53                	jle    0x531c87
531c34:	e8 d7 9e fb ff       	call   0x4ebb10
531c39:	89 47 08             	mov    %eax,0x8(%edi)
531c3c:	85 c0                	test   %eax,%eax
531c3e:	0f 84 84 00 00 00    	je     0x531cc8
531c44:	e8 47 9c fb ff       	call   0x4eb890
531c49:	8b f0                	mov    %eax,%esi
531c4b:	85 f6                	test   %esi,%esi
531c4d:	74 79                	je     0x531cc8
531c4f:	53                   	push   %ebx
531c50:	ff 74 24 28          	push   0x28(%esp)
531c54:	56                   	push   %esi
531c55:	e8 c6 9c fd ff       	call   0x50b920
531c5a:	83 c4 0c             	add    $0xc,%esp
531c5d:	56                   	push   %esi
531c5e:	85 c0                	test   %eax,%eax
531c60:	75 0a                	jne    0x531c6c
531c62:	e8 19 9b fb ff       	call   0x4eb780
531c67:	83 c4 04             	add    $0x4,%esp
531c6a:	eb 5c                	jmp    0x531cc8
531c6c:	6a 04                	push   $0x4
531c6e:	68 a7 03 00 00       	push   $0x3a7
531c73:	e8 68 d8 fb ff       	call   0x4ef4e0
531c78:	83 c4 04             	add    $0x4,%esp
531c7b:	50                   	push   %eax
531c7c:	ff 77 08             	push   0x8(%edi)
531c7f:	e8 9c 9e fb ff       	call   0x4ebb20
531c84:	83 c4 10             	add    $0x10,%esp
531c87:	8d 44 24 10          	lea    0x10(%esp),%eax
531c8b:	50                   	push   %eax
531c8c:	e8 2f 99 fa ff       	call   0x4db5c0
531c91:	50                   	push   %eax
531c92:	57                   	push   %edi
531c93:	e8 08 29 00 00       	call   0x5345a0
531c98:	83 c4 0c             	add    $0xc,%esp
531c9b:	85 c0                	test   %eax,%eax
531c9d:	74 29                	je     0x531cc8
531c9f:	ff 74 24 10          	push   0x10(%esp)
531ca3:	6a 10                	push   $0x10
531ca5:	68 97 03 00 00       	push   $0x397
531caa:	e8 31 d8 fb ff       	call   0x4ef4e0
531caf:	83 c4 04             	add    $0x4,%esp
531cb2:	50                   	push   %eax
531cb3:	ff 74 24 24          	push   0x24(%esp)
531cb7:	e8 64 9e fb ff       	call   0x4ebb20
531cbc:	89 6c 24 20          	mov    %ebp,0x20(%esp)
531cc0:	83 c4 10             	add    $0x10,%esp
531cc3:	bd 01 00 00 00       	mov    $0x1,%ebp
531cc8:	57                   	push   %edi
531cc9:	e8 d2 98 fa ff       	call   0x4db5a0
531cce:	ff 74 24 14          	push   0x14(%esp)
531cd2:	e8 d9 84 fd ff       	call   0x50a1b0
531cd7:	83 c4 08             	add    $0x8,%esp
531cda:	8b c5                	mov    %ebp,%eax
531cdc:	5f                   	pop    %edi
531cdd:	5e                   	pop    %esi
531cde:	5d                   	pop    %ebp
531cdf:	5b                   	pop    %ebx
531ce0:	83 c4 18             	add    $0x18,%esp
531ce3:	c3                   	ret
531ce4:	5f                   	pop    %edi
531ce5:	5e                   	pop    %esi
531ce6:	5d                   	pop    %ebp
531ce7:	33 c0                	xor    %eax,%eax
531ce9:	5b                   	pop    %ebx
531cea:	83 c4 18             	add    $0x18,%esp
531ced:	c3                   	ret
531cee:	cc                   	int3
531cef:	cc                   	int3
531cf0:	b8 0c 00 00 00       	mov    $0xc,%eax
531cf5:	e8 b6 fa 09 00       	call   0x5d17b0
531cfa:	56                   	push   %esi
531cfb:	8b 74 24 14          	mov    0x14(%esp),%esi
531cff:	57                   	push   %edi
531d00:	56                   	push   %esi
531d01:	e8 4a 55 fb ff       	call   0x4e7250
531d06:	8b f8                	mov    %eax,%edi
531d08:	8d 44 24 10          	lea    0x10(%esp),%eax
531d0c:	50                   	push   %eax
531d0d:	6a 00                	push   $0x0
531d0f:	6a 0d                	push   $0xd
531d11:	68 f8 00 00 00       	push   $0xf8
531d16:	6a ff                	push   $0xffffffff
531d18:	56                   	push   %esi
531d19:	e8 b2 52 fb ff       	call   0x4e6fd0
531d1e:	83 c4 1c             	add    $0x1c,%esp
531d21:	85 c0                	test   %eax,%eax
531d23:	0f 8e 60 01 00 00    	jle    0x531e89
531d29:	8d 44 24 10          	lea    0x10(%esp),%eax
531d2d:	50                   	push   %eax
531d2e:	6a 00                	push   $0x0
531d30:	68 08 10 00 00       	push   $0x1008
531d35:	68 f8 03 00 00       	push   $0x3f8
531d3a:	56                   	push   %esi
531d3b:	e8 70 8b fa ff       	call   0x4da8b0
531d40:	83 c4 14             	add    $0x14,%esp
531d43:	85 c0                	test   %eax,%eax
531d45:	0f 8e 3e 01 00 00    	jle    0x531e89
531d4b:	8d 44 24 08          	lea    0x8(%esp),%eax
531d4f:	50                   	push   %eax
531d50:	6a 00                	push   $0x0
531d52:	68 07 10 00 00       	push   $0x1007
531d57:	6a 18                	push   $0x18
531d59:	56                   	push   %esi
531d5a:	e8 51 8b fa ff       	call   0x4da8b0
531d5f:	83 c4 14             	add    $0x14,%esp
531d62:	85 c0                	test   %eax,%eax
531d64:	0f 84 1f 01 00 00    	je     0x531e89
531d6a:	8b 74 24 08          	mov    0x8(%esp),%esi
531d6e:	83 fe ff             	cmp    $0xffffffff,%esi
531d71:	75 14                	jne    0x531d87
531d73:	ff 74 24 0c          	push   0xc(%esp)
531d77:	e8 44 eb fb ff       	call   0x4f08c0
531d7c:	8b f0                	mov    %eax,%esi
531d7e:	83 c4 04             	add    $0x4,%esp
531d81:	89 74 24 08          	mov    %esi,0x8(%esp)
531d85:	eb 46                	jmp    0x531dcd
531d87:	83 fe fe             	cmp    $0xfffffffe,%esi
531d8a:	74 05                	je     0x531d91
531d8c:	83 fe fd             	cmp    $0xfffffffd,%esi
531d8f:	75 3c                	jne    0x531dcd
531d91:	ff 74 24 0c          	push   0xc(%esp)
531d95:	e8 26 eb fb ff       	call   0x4f08c0
531d9a:	be fe ff ff ff       	mov    $0xfffffffe,%esi
531d9f:	57                   	push   %edi
531da0:	2b f0                	sub    %eax,%esi
531da2:	e8 99 f6 fb ff       	call   0x4f1440
531da7:	03 c6                	add    %esi,%eax
531da9:	57                   	push   %edi
531daa:	89 44 24 14          	mov    %eax,0x14(%esp)
531dae:	e8 9d ed fb ff       	call   0x4f0b50
531db3:	8b 74 24 14          	mov    0x14(%esp),%esi
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