531df6:	8b 7d 08             	mov    0x8(%ebp),%edi
531df9:	8b 47 04             	mov    0x4(%edi),%eax
531dfc:	99                   	cltd
531dfd:	8b d8                	mov    %eax,%ebx
531dff:	52                   	push   %edx
531e00:	53                   	push   %ebx
531e01:	e8 5a f1 ff ff       	call   0x530f60
531e06:	8b f0                	mov    %eax,%esi
531e08:	83 c4 08             	add    $0x8,%esp
531e0b:	85 f6                	test   %esi,%esi
531e0d:	74 44                	je     0x531e53
531e0f:	53                   	push   %ebx
531e10:	6a 00                	push   $0x0
531e12:	56                   	push   %esi
531e13:	e8 e8 1b 0b 00       	call   0x5e3a00
531e18:	ff 75 18             	push   0x18(%ebp)
531e1b:	8b 45 14             	mov    0x14(%ebp),%eax
531e1e:	25 7f 7f 08 01       	and    $0x1087f7f,%eax
531e23:	50                   	push   %eax
531e24:	8b 47 18             	mov    0x18(%edi),%eax
531e27:	56                   	push   %esi
531e28:	ff 75 0c             	push   0xc(%ebp)
531e2b:	57                   	push   %edi
531e2c:	ff d0                	call   *%eax
531e2e:	8b f8                	mov    %eax,%edi
531e30:	83 c4 20             	add    $0x20,%esp
531e33:	85 ff                	test   %edi,%edi
531e35:	74 10                	je     0x531e47
531e37:	56                   	push   %esi
531e38:	e8 53 8f fb ff       	call   0x4ead90
531e3d:	83 c4 04             	add    $0x4,%esp
531e40:	8b c7                	mov    %edi,%eax
531e42:	5f                   	pop    %edi
531e43:	5e                   	pop    %esi
531e44:	5b                   	pop    %ebx
531e45:	5d                   	pop    %ebp
531e46:	c3                   	ret
531e47:	8b 45 10             	mov    0x10(%ebp),%eax
531e4a:	89 30                	mov    %esi,(%eax)
531e4c:	8b c7                	mov    %edi,%eax
531e4e:	5f                   	pop    %edi
531e4f:	5e                   	pop    %esi
531e50:	5b                   	pop    %ebx
531e51:	5d                   	pop    %ebp
531e52:	c3                   	ret
531e53:	5f                   	pop    %edi
531e54:	5e                   	pop    %esi
531e55:	b8 07 00 00 00       	mov    $0x7,%eax
531e5a:	5b                   	pop    %ebx
531e5b:	5d                   	pop    %ebp
531e5c:	c3                   	ret
531e5d:	cc                   	int3
531e5e:	cc                   	int3
531e5f:	cc                   	int3
531e60:	55                   	push   %ebp
531e61:	8b ec                	mov    %esp,%ebp
531e63:	ff 75 18             	push   0x18(%ebp)
531e66:	8b 45 08             	mov    0x8(%ebp),%eax
531e69:	ff 75 14             	push   0x14(%ebp)
531e6c:	ff 75 10             	push   0x10(%ebp)
531e6f:	8b 08                	mov    (%eax),%ecx
531e71:	ff 75 0c             	push   0xc(%ebp)
531e74:	50                   	push   %eax
531e75:	8b 41 08             	mov    0x8(%ecx),%eax
531e78:	ff d0                	call   *%eax
531e7a:	83 c4 14             	add    $0x14,%esp
531e7d:	5d                   	pop    %ebp
531e7e:	c3                   	ret
531e7f:	cc                   	int3
531e80:	55                   	push   %ebp
531e81:	8b ec                	mov    %esp,%ebp
531e83:	8b 55 0c             	mov    0xc(%ebp),%edx
531e86:	85 d2                	test   %edx,%edx
531e88:	74 11                	je     0x531e9b
531e8a:	8b 45 08             	mov    0x8(%ebp),%eax
531e8d:	8b 08                	mov    (%eax),%ecx
531e8f:	89 55 0c             	mov    %edx,0xc(%ebp)
531e92:	89 45 08             	mov    %eax,0x8(%ebp)
531e95:	8b 41 14             	mov    0x14(%ecx),%eax
531e98:	5d                   	pop    %ebp
531e99:	ff e0                	jmp    *%eax
531e9b:	33 c0                	xor    %eax,%eax
531e9d:	5d                   	pop    %ebp
531e9e:	c3                   	ret
531e9f:	cc                   	int3
531ea0:	55                   	push   %ebp
531ea1:	8b ec                	mov    %esp,%ebp
531ea3:	8b 45 08             	mov    0x8(%ebp),%eax
531ea6:	ff 75 10             	push   0x10(%ebp)
531ea9:	ff 75 0c             	push   0xc(%ebp)
531eac:	8b 08                	mov    (%eax),%ecx
531eae:	50                   	push   %eax
531eaf:	8b 41 10             	mov    0x10(%ecx),%eax
531eb2:	ff d0                	call   *%eax
531eb4:	83 c4 0c             	add    $0xc,%esp
531eb7:	5d                   	pop    %ebp
531eb8:	c3                   	ret
531eb9:	cc                   	int3
531eba:	cc                   	int3
531ebb:	cc                   	int3
531ebc:	cc                   	int3
531ebd:	cc                   	int3
531ebe:	cc                   	int3
531ebf:	cc                   	int3
531ec0:	55                   	push   %ebp
531ec1:	8b ec                	mov    %esp,%ebp
531ec3:	8b 45 08             	mov    0x8(%ebp),%eax
531ec6:	ff 75 14             	push   0x14(%ebp)
531ec9:	ff 75 10             	push   0x10(%ebp)
531ecc:	8b 08                	mov    (%eax),%ecx
531ece:	ff 75 0c             	push   0xc(%ebp)
531ed1:	50                   	push   %eax
531ed2:	8b 41 48             	mov    0x48(%ecx),%eax
531ed5:	ff d0                	call   *%eax
531ed7:	83 c4 10             	add    $0x10,%esp
531eda:	5d                   	pop    %ebp
531edb:	c3                   	ret
531edc:	cc                   	int3
531edd:	cc                   	int3
531ede:	cc                   	int3
531edf:	cc                   	int3
531ee0:	55                   	push   %ebp
531ee1:	8b ec                	mov    %esp,%ebp
531ee3:	ff 75 18             	push   0x18(%ebp)
531ee6:	8b 45 08             	mov    0x8(%ebp),%eax
531ee9:	ff 75 14             	push   0x14(%ebp)
531eec:	ff 75 10             	push   0x10(%ebp)
531eef:	8b 08                	mov    (%eax),%ecx
531ef1:	ff 75 0c             	push   0xc(%ebp)
531ef4:	50                   	push   %eax
531ef5:	8b 41 0c             	mov    0xc(%ecx),%eax
531ef8:	ff d0                	call   *%eax
531efa:	83 c4 14             	add    $0x14,%esp
531efd:	5d                   	pop    %ebp
531efe:	c3                   	ret
531eff:	cc                   	int3
531f00:	55                   	push   %ebp
531f01:	8b ec                	mov    %esp,%ebp
531f03:	83 3d bc 02 73 00 00 	cmpl   $0x0,0x7302bc
531f0a:	0f 84 88 00 00 00    	je     0x531f98
531f10:	8b 4d 08             	mov    0x8(%ebp),%ecx
531f13:	56                   	push   %esi
531f14:	33 f6                	xor    %esi,%esi
531f16:	85 c9                	test   %ecx,%ecx
531f18:	57                   	push   %edi
531f19:	0f 45 75 10          	cmovne 0x10(%ebp),%esi
531f1d:	33 c0                	xor    %eax,%eax
531f1f:	85 c9                	test   %ecx,%ecx
531f21:	89 35 e4 02 73 00    	mov    %esi,0x7302e4
531f27:	8b fe                	mov    %esi,%edi
531f29:	89 35 cc 02 73 00    	mov    %esi,0x7302cc
531f2f:	0f 45 45 0c          	cmovne 0xc(%ebp),%eax
531f33:	f7 df                	neg    %edi
531f35:	1b ff                	sbb    %edi,%edi
531f37:	23 f8                	and    %eax,%edi
531f39:	83 e7 f8             	and    $0xfffffff8,%edi
531f3c:	89 3d c8 02 73 00    	mov    %edi,0x7302c8
531f42:	83 fe 5a             	cmp    $0x5a,%esi
531f45:	7e 0c                	jle    0x531f53
531f47:	c7 05 d0 02 73 00 0a 	movl   $0xa,0x7302d0
531f4e:	00 00 00
531f51:	eb 17                	jmp    0x531f6a
531f53:	b8 67 66 66 66       	mov    $0x66666667,%eax
531f58:	f7 ee                	imul   %esi
531f5a:	c1 fa 02             	sar    $0x2,%edx
531f5d:	8b c2                	mov    %edx,%eax
531f5f:	c1 e8 1f             	shr    $0x1f,%eax
531f62:	40                   	inc    %eax
531f63:	03 c2                	add    %edx,%eax
531f65:	a3 d0 02 73 00       	mov    %eax,0x7302d0
531f6a:	33 c0                	xor    %eax,%eax
531f6c:	89 0d d4 02 73 00    	mov    %ecx,0x7302d4
531f72:	a3 e0 02 73 00       	mov    %eax,0x7302e0
531f77:	a3 e8 02 73 00       	mov    %eax,0x7302e8
531f7c:	85 f6                	test   %esi,%esi
531f7e:	74 10                	je     0x531f90
531f80:	89 01                	mov    %eax,(%ecx)
531f82:	8b c1                	mov    %ecx,%eax
531f84:	03 cf                	add    %edi,%ecx
531f86:	a3 e0 02 73 00       	mov    %eax,0x7302e0
531f8b:	83 ee 01             	sub    $0x1,%esi
531f8e:	75 f0                	jne    0x531f80
531f90:	5f                   	pop    %edi
531f91:	89 0d d8 02 73 00    	mov    %ecx,0x7302d8
531f97:	5e                   	pop    %esi
531f98:	5d                   	pop    %ebp
531f99:	c3                   	ret
531f9a:	cc                   	int3
531f9b:	cc                   	int3
531f9c:	cc                   	int3
531f9d:	cc                   	int3
531f9e:	cc                   	int3
531f9f:	cc                   	int3
531fa0:	55                   	push   %ebp
531fa1:	8b ec                	mov    %esp,%ebp
531fa3:	8b 4d 08             	mov    0x8(%ebp),%ecx
531fa6:	53                   	push   %ebx
531fa7:	56                   	push   %esi
531fa8:	57                   	push   %edi
531fa9:	8b 59 10             	mov    0x10(%ecx),%ebx
531fac:	33 ff                	xor    %edi,%edi
531fae:	85 db                	test   %ebx,%ebx
531fb0:	79 20                	jns    0x531fd2
531fb2:	8b 41 1c             	mov    0x1c(%ecx),%eax
531fb5:	03 41 18             	add    0x18(%ecx),%eax
531fb8:	99                   	cltd
531fb9:	52                   	push   %edx
531fba:	8b f0                	mov    %eax,%esi
531fbc:	ba 00 fc ff ff       	mov    $0xfffffc00,%edx
531fc1:	8b c3                	mov    %ebx,%eax
531fc3:	f7 ea                	imul   %edx
531fc5:	56                   	push   %esi
531fc6:	52                   	push   %edx
531fc7:	50                   	push   %eax
531fc8:	e8 73 fb 0a 00       	call   0x5e1b40
531fcd:	8b 4d 08             	mov    0x8(%ebp),%ecx
531fd0:	8b d8                	mov    %eax,%ebx
531fd2:	8b 09                	mov    (%ecx),%ecx
531fd4:	85 c9                	test   %ecx,%ecx
531fd6:	74 08                	je     0x531fe0
531fd8:	8b 49 20             	mov    0x20(%ecx),%ecx
531fdb:	47                   	inc    %edi
531fdc:	85 c9                	test   %ecx,%ecx
531fde:	75 f8                	jne    0x531fd8
531fe0:	85 db                	test   %ebx,%ebx
531fe2:	74 1e                	je     0x532002
531fe4:	b9 64 00 00 00       	mov    $0x64,%ecx
531fe9:	8b c7                	mov    %edi,%eax
531feb:	f7 e9                	imul   %ecx
531fed:	8b f0                	mov    %eax,%esi
531fef:	8b ca                	mov    %edx,%ecx
531ff1:	8b c3                	mov    %ebx,%eax
531ff3:	99                   	cltd
531ff4:	52                   	push   %edx
531ff5:	50                   	push   %eax
531ff6:	51                   	push   %ecx
531ff7:	56                   	push   %esi
531ff8:	e8 43 fb 0a 00       	call   0x5e1b40
531ffd:	5f                   	pop    %edi
531ffe:	5e                   	pop    %esi
531fff:	5b                   	pop    %ebx
532000:	5d                   	pop    %ebp
532001:	c3                   	ret
532002:	5f                   	pop    %edi
532003:	5e                   	pop    %esi
532004:	33 c0                	xor    %eax,%eax
532006:	5b                   	pop    %ebx
532007:	5d                   	pop    %ebp
532008:	c3                   	ret
532009:	cc                   	int3
53200a:	cc                   	int3
53200b:	cc                   	int3
53200c:	cc                   	int3
53200d:	cc                   	int3
53200e:	cc                   	int3
53200f:	cc                   	int3
532010:	55                   	push   %ebp
532011:	8b ec                	mov    %esp,%ebp
532013:	56                   	push   %esi
532014:	57                   	push   %edi
532015:	8b 7d 08             	mov    0x8(%ebp),%edi
532018:	6a 00                	push   $0x0
53201a:	6a 34                	push   $0x34
53201c:	ff 37                	push   (%edi)
53201e:	e8 bd f3 fe ff       	call   0x5213e0
532023:	8b f0                	mov    %eax,%esi
532025:	83 c4 0c             	add    $0xc,%esp
532028:	85 f6                	test   %esi,%esi
53202a:	74 46                	je     0x532072
53202c:	6a 34                	push   $0x34
53202e:	6a 00                	push   $0x0
532030:	56                   	push   %esi
532031:	e8 ca 19 0b 00       	call   0x5e3a00
532036:	ff 75 14             	push   0x14(%ebp)
532039:	8a 4d 0c             	mov    0xc(%ebp),%cl
53203c:	83 c8 ff             	or     $0xffffffff,%eax
53203f:	ff 75 10             	push   0x10(%ebp)
532042:	88 0e                	mov    %cl,(%esi)
532044:	66 89 46 22          	mov    %ax,0x22(%esi)
532048:	56                   	push   %esi
532049:	ff 37                	push   (%edi)
53204b:	e8 a0 19 ff ff       	call   0x5239f0
532050:	8b 07                	mov    (%edi),%eax
532052:	83 c4 1c             	add    $0x1c,%esp
532055:	8b 40 78             	mov    0x78(%eax),%eax
532058:	39 46 18             	cmp    %eax,0x18(%esi)
53205b:	7e 39                	jle    0x532096
53205d:	50                   	push   %eax
53205e:	68 30 90 6b 00       	push   $0x6b9030
532063:	57                   	push   %edi
532064:	e8 f7 11 ff ff       	call   0x523260
532069:	83 c4 0c             	add    $0xc,%esp
53206c:	8b c6                	mov    %esi,%eax
53206e:	5f                   	pop    %edi
53206f:	5e                   	pop    %esi
532070:	5d                   	pop    %ebp
532071:	c3                   	ret
532072:	8b 45 10             	mov    0x10(%ebp),%eax
532075:	85 c0                	test   %eax,%eax
532077:	74 0b                	je     0x532084
532079:	50                   	push   %eax
53207a:	ff 37                	push   (%edi)
53207c:	e8 2f 47 ff ff       	call   0x5267b0
532081:	83 c4 08             	add    $0x8,%esp
532084:	8b 45 14             	mov    0x14(%ebp),%eax
532087:	85 c0                	test   %eax,%eax
532089:	74 0b                	je     0x532096
53208b:	50                   	push   %eax
53208c:	ff 37                	push   (%edi)
53208e:	e8 1d 47 ff ff       	call   0x5267b0
532093:	83 c4 08             	add    $0x8,%esp
532096:	5f                   	pop    %edi
532097:	8b c6                	mov    %esi,%eax
532099:	5e                   	pop    %esi
53209a:	5d                   	pop    %ebp
53209b:	c3                   	ret
53209c:	cc                   	int3
53209d:	cc                   	int3
53209e:	cc                   	int3
53209f:	cc                   	int3
5320a0:	55                   	push   %ebp
5320a1:	8b ec                	mov    %esp,%ebp
5320a3:	8b 45 10             	mov    0x10(%ebp),%eax
5320a6:	56                   	push   %esi
5320a7:	8b 75 0c             	mov    0xc(%ebp),%esi
5320aa:	85 f6                	test   %esi,%esi
5320ac:	74 3a                	je     0x5320e8
5320ae:	81 4e 04 00 08 20 00 	orl    $0x200800,0x4(%esi)
5320b5:	57                   	push   %edi
5320b6:	8b 7d 08             	mov    0x8(%ebp),%edi
5320b9:	89 46 14             	mov    %eax,0x14(%esi)
5320bc:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
5320c0:	75 22                	jne    0x5320e4
5320c2:	56                   	push   %esi
5320c3:	e8 f8 f5 fc ff       	call   0x5016c0
5320c8:	8b 07                	mov    (%edi),%eax
5320ca:	83 c4 04             	add    $0x4,%esp
5320cd:	8b 40 78             	mov    0x78(%eax),%eax
5320d0:	39 46 18             	cmp    %eax,0x18(%esi)
5320d3:	7e 0f                	jle    0x5320e4
5320d5:	50                   	push   %eax
5320d6:	68 30 90 6b 00       	push   $0x6b9030
5320db:	57                   	push   %edi
5320dc:	e8 7f 11 ff ff       	call   0x523260
5320e1:	83 c4 0c             	add    $0xc,%esp
5320e4:	5f                   	pop    %edi
5320e5:	5e                   	pop    %esi
5320e6:	5d                   	pop    %ebp
5320e7:	c3                   	ret
5320e8:	85 c0                	test   %eax,%eax