516c4c:	83 c1 48             	add    $0x48,%ecx
516c4f:	3b c2                	cmp    %edx,%eax
516c51:	7c f4                	jl     0x516c47
516c53:	3b c2                	cmp    %edx,%eax
516c55:	0f 84 27 01 00 00    	je     0x516d82
516c5b:	8a 06                	mov    (%esi),%al
516c5d:	3c a4                	cmp    $0xa4,%al
516c5f:	0f 82 1d 01 00 00    	jb     0x516d82
516c65:	3c a5                	cmp    $0xa5,%al
516c67:	76 29                	jbe    0x516c92
516c69:	3c a9                	cmp    $0xa9,%al
516c6b:	0f 85 11 01 00 00    	jne    0x516d82
516c71:	f7 46 04 00 00 00 01 	testl  $0x1000000,0x4(%esi)
516c78:	0f 84 04 01 00 00    	je     0x516d82
516c7e:	8b 07                	mov    (%edi),%eax
516c80:	85 c0                	test   %eax,%eax
516c82:	74 0e                	je     0x516c92
516c84:	8b 4e 2c             	mov    0x2c(%esi),%ecx
516c87:	3b c8                	cmp    %eax,%ecx
516c89:	74 50                	je     0x516cdb
516c8b:	8b 40 24             	mov    0x24(%eax),%eax
516c8e:	85 c0                	test   %eax,%eax
516c90:	75 f5                	jne    0x516c87
516c92:	83 c8 ff             	or     $0xffffffff,%eax
516c95:	89 45 f8             	mov    %eax,-0x8(%ebp)
516c98:	8b 47 08             	mov    0x8(%edi),%eax
516c9b:	85 c0                	test   %eax,%eax
516c9d:	74 51                	je     0x516cf0
516c9f:	33 db                	xor    %ebx,%ebx
516ca1:	39 18                	cmp    %ebx,(%eax)
516ca3:	7e 4b                	jle    0x516cf0
516ca5:	33 c9                	xor    %ecx,%ecx
516ca7:	89 4d 08             	mov    %ecx,0x8(%ebp)
516caa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
516cb0:	8b 47 08             	mov    0x8(%edi),%eax
516cb3:	6a ff                	push   $0xffffffff
516cb5:	56                   	push   %esi
516cb6:	ff 74 01 04          	push   0x4(%ecx,%eax,1)
516cba:	6a 00                	push   $0x0
516cbc:	e8 0f f8 00 00       	call   0x5264d0
516cc1:	83 c4 10             	add    $0x10,%esp
516cc4:	85 c0                	test   %eax,%eax
516cc6:	74 1f                	je     0x516ce7
516cc8:	8b 47 08             	mov    0x8(%edi),%eax
516ccb:	43                   	inc    %ebx
516ccc:	8b 4d 08             	mov    0x8(%ebp),%ecx
516ccf:	83 c1 14             	add    $0x14,%ecx
516cd2:	89 4d 08             	mov    %ecx,0x8(%ebp)
516cd5:	3b 18                	cmp    (%eax),%ebx
516cd7:	7c d7                	jl     0x516cb0
516cd9:	eb 15                	jmp    0x516cf0
516cdb:	5f                   	pop    %edi
516cdc:	5e                   	pop    %esi
516cdd:	b8 01 00 00 00       	mov    $0x1,%eax
516ce2:	5b                   	pop    %ebx
516ce3:	8b e5                	mov    %ebp,%esp
516ce5:	5d                   	pop    %ebp
516ce6:	c3                   	ret
516ce7:	8b c3                	mov    %ebx,%eax
516ce9:	89 45 f8             	mov    %eax,-0x8(%ebp)
516cec:	85 db                	test   %ebx,%ebx
516cee:	79 30                	jns    0x516d20
516cf0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
516cf3:	6a 00                	push   $0x0
516cf5:	6a 00                	push   $0x0
516cf7:	56                   	push   %esi
516cf8:	ff 33                	push   (%ebx)
516cfa:	e8 61 9b fe ff       	call   0x500860
516cff:	83 c4 10             	add    $0x10,%esp
516d02:	85 c0                	test   %eax,%eax
516d04:	74 08                	je     0x516d0e
516d06:	80 38 a5             	cmpb   $0xa5,(%eax)
516d09:	75 03                	jne    0x516d0e
516d0b:	c6 00 a9             	movb   $0xa9,(%eax)
516d0e:	50                   	push   %eax
516d0f:	ff 77 08             	push   0x8(%edi)
516d12:	53                   	push   %ebx
516d13:	e8 68 08 01 00       	call   0x527580
516d18:	83 c4 0c             	add    $0xc,%esp
516d1b:	89 47 08             	mov    %eax,0x8(%edi)
516d1e:	eb 03                	jmp    0x516d23
516d20:	8b 5d fc             	mov    -0x4(%ebp),%ebx
516d23:	83 7f 08 00          	cmpl   $0x0,0x8(%edi)
516d27:	74 45                	je     0x516d6e
516d29:	81 4e 04 00 00 00 08 	orl    $0x8000000,0x4(%esi)
516d30:	56                   	push   %esi
516d31:	ff 33                	push   (%ebx)
516d33:	e8 78 fa 00 00       	call   0x5267b0
516d38:	81 66 04 ff ff ff f7 	andl   $0xf7ffffff,0x4(%esi)
516d3f:	6a 34                	push   $0x34
516d41:	6a 00                	push   $0x0
516d43:	56                   	push   %esi
516d44:	e8 b7 cc 0c 00       	call   0x5e3a00
516d49:	8b 45 f8             	mov    -0x8(%ebp),%eax
516d4c:	83 c4 14             	add    $0x14,%esp
516d4f:	c6 06 a4             	movb   $0xa4,(%esi)
516d52:	85 c0                	test   %eax,%eax
516d54:	79 06                	jns    0x516d5c
516d56:	8b 47 08             	mov    0x8(%edi),%eax
516d59:	8b 00                	mov    (%eax),%eax
516d5b:	48                   	dec    %eax
516d5c:	66 89 46 20          	mov    %ax,0x20(%esi)
516d60:	8b 07                	mov    (%edi),%eax
516d62:	8b 40 30             	mov    0x30(%eax),%eax
516d65:	89 46 1c             	mov    %eax,0x1c(%esi)
516d68:	8b 47 0c             	mov    0xc(%edi),%eax
516d6b:	89 46 2c             	mov    %eax,0x2c(%esi)
516d6e:	8b 03                	mov    (%ebx),%eax
516d70:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
516d74:	74 0c                	je     0x516d82
516d76:	5f                   	pop    %edi
516d77:	5e                   	pop    %esi
516d78:	b8 02 00 00 00       	mov    $0x2,%eax
516d7d:	5b                   	pop    %ebx
516d7e:	8b e5                	mov    %ebp,%esp
516d80:	5d                   	pop    %ebp
516d81:	c3                   	ret
516d82:	33 c0                	xor    %eax,%eax
516d84:	5f                   	pop    %edi
516d85:	5e                   	pop    %esi
516d86:	5b                   	pop    %ebx
516d87:	8b e5                	mov    %ebp,%esp
516d89:	5d                   	pop    %ebp
516d8a:	c3                   	ret
516d8b:	cc                   	int3
516d8c:	cc                   	int3
516d8d:	cc                   	int3
516d8e:	cc                   	int3
516d8f:	cc                   	int3
516d90:	55                   	push   %ebp
516d91:	8b ec                	mov    %esp,%ebp
516d93:	8b 4d 08             	mov    0x8(%ebp),%ecx
516d96:	8b 45 0c             	mov    0xc(%ebp),%eax
516d99:	56                   	push   %esi
516d9a:	57                   	push   %edi
516d9b:	8b 71 18             	mov    0x18(%ecx),%esi
516d9e:	8b 7e 10             	mov    0x10(%esi),%edi
516da1:	3b f8                	cmp    %eax,%edi
516da3:	75 06                	jne    0x516dab
516da5:	5f                   	pop    %edi
516da6:	33 c0                	xor    %eax,%eax
516da8:	5e                   	pop    %esi
516da9:	5d                   	pop    %ebp
516daa:	c3                   	ret
516dab:	50                   	push   %eax
516dac:	51                   	push   %ecx
516dad:	89 46 10             	mov    %eax,0x10(%esi)
516db0:	e8 3b 90 03 00       	call   0x54fdf0
516db5:	83 c4 08             	add    $0x8,%esp
516db8:	89 7e 10             	mov    %edi,0x10(%esi)
516dbb:	b8 01 00 00 00       	mov    $0x1,%eax
516dc0:	5f                   	pop    %edi
516dc1:	5e                   	pop    %esi
516dc2:	5d                   	pop    %ebp
516dc3:	c3                   	ret
516dc4:	cc                   	int3
516dc5:	cc                   	int3
516dc6:	cc                   	int3
516dc7:	cc                   	int3
516dc8:	cc                   	int3
516dc9:	cc                   	int3
516dca:	cc                   	int3
516dcb:	cc                   	int3
516dcc:	cc                   	int3
516dcd:	cc                   	int3
516dce:	cc                   	int3
516dcf:	cc                   	int3
516dd0:	55                   	push   %ebp
516dd1:	8b ec                	mov    %esp,%ebp
516dd3:	53                   	push   %ebx
516dd4:	56                   	push   %esi
516dd5:	57                   	push   %edi
516dd6:	8b 7d 08             	mov    0x8(%ebp),%edi
516dd9:	0f b6 07             	movzbl (%edi),%eax
516ddc:	99                   	cltd
516ddd:	8b d8                	mov    %eax,%ebx
516ddf:	8b ca                	mov    %edx,%ecx
516de1:	0f b6 47 01          	movzbl 0x1(%edi),%eax
516de5:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
516de9:	99                   	cltd
516dea:	0b ca                	or     %edx,%ecx
516dec:	c1 e3 08             	shl    $0x8,%ebx
516def:	0b d8                	or     %eax,%ebx
516df1:	0f b6 47 02          	movzbl 0x2(%edi),%eax
516df5:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
516df9:	99                   	cltd
516dfa:	0b ca                	or     %edx,%ecx
516dfc:	c1 e3 08             	shl    $0x8,%ebx
516dff:	0b d8                	or     %eax,%ebx
516e01:	0f b6 47 03          	movzbl 0x3(%edi),%eax
516e05:	0f a4 d9 08          	shld   $0x8,%ebx,%ecx
516e09:	99                   	cltd
516e0a:	c1 e3 08             	shl    $0x8,%ebx
516e0d:	0b d8                	or     %eax,%ebx
516e0f:	0f b6 47 04          	movzbl 0x4(%edi),%eax
516e13:	99                   	cltd
516e14:	8b c8                	mov    %eax,%ecx
516e16:	8b f2                	mov    %edx,%esi
516e18:	0f b6 47 05          	movzbl 0x5(%edi),%eax
516e1c:	0f a4 ce 08          	shld   $0x8,%ecx,%esi
516e20:	99                   	cltd
516e21:	c1 e1 08             	shl    $0x8,%ecx
516e24:	0b f2                	or     %edx,%esi
516e26:	0b c8                	or     %eax,%ecx
516e28:	0f b6 47 06          	movzbl 0x6(%edi),%eax
516e2c:	0f a4 ce 08          	shld   $0x8,%ecx,%esi
516e30:	99                   	cltd
516e31:	c1 e1 08             	shl    $0x8,%ecx
516e34:	0b f2                	or     %edx,%esi
516e36:	0b c8                	or     %eax,%ecx
516e38:	0f b6 47 07          	movzbl 0x7(%edi),%eax
516e3c:	0f a4 ce 08          	shld   $0x8,%ecx,%esi
516e40:	99                   	cltd
516e41:	c1 e1 08             	shl    $0x8,%ecx
516e44:	0b f2                	or     %edx,%esi
516e46:	0b c8                	or     %eax,%ecx
516e48:	33 d2                	xor    %edx,%edx
516e4a:	03 d1                	add    %ecx,%edx
516e4c:	13 de                	adc    %esi,%ebx
516e4e:	83 7d 0c 06          	cmpl   $0x6,0xc(%ebp)
516e52:	75 19                	jne    0x516e6d
516e54:	8b 45 10             	mov    0x10(%ebp),%eax
516e57:	b9 04 00 00 00       	mov    $0x4,%ecx
516e5c:	5f                   	pop    %edi
516e5d:	5e                   	pop    %esi
516e5e:	89 58 04             	mov    %ebx,0x4(%eax)
516e61:	89 10                	mov    %edx,(%eax)
516e63:	66 89 48 08          	mov    %cx,0x8(%eax)
516e67:	8d 41 04             	lea    0x4(%ecx),%eax
516e6a:	5b                   	pop    %ebx
516e6b:	5d                   	pop    %ebp
516e6c:	c3                   	ret
516e6d:	8b 4d 10             	mov    0x10(%ebp),%ecx
516e70:	8b c3                	mov    %ebx,%eax
516e72:	25 00 00 f0 7f       	and    $0x7ff00000,%eax
516e77:	33 f6                	xor    %esi,%esi
516e79:	89 11                	mov    %edx,(%ecx)
516e7b:	89 59 04             	mov    %ebx,0x4(%ecx)
516e7e:	75 14                	jne    0x516e94
516e80:	3d 00 00 f0 7f       	cmp    $0x7ff00000,%eax
516e85:	75 0d                	jne    0x516e94
516e87:	81 e3 ff ff 0f 00    	and    $0xfffff,%ebx
516e8d:	8d 46 01             	lea    0x1(%esi),%eax
516e90:	0b d3                	or     %ebx,%edx
516e92:	75 05                	jne    0x516e99
516e94:	b8 08 00 00 00       	mov    $0x8,%eax
516e99:	5f                   	pop    %edi
516e9a:	5e                   	pop    %esi
516e9b:	66 89 41 08          	mov    %ax,0x8(%ecx)
516e9f:	b8 08 00 00 00       	mov    $0x8,%eax
516ea4:	5b                   	pop    %ebx
516ea5:	5d                   	pop    %ebp
516ea6:	c3                   	ret
516ea7:	cc                   	int3
516ea8:	cc                   	int3
516ea9:	cc                   	int3
516eaa:	cc                   	int3
516eab:	cc                   	int3
516eac:	cc                   	int3
516ead:	cc                   	int3
516eae:	cc                   	int3
516eaf:	cc                   	int3
516eb0:	55                   	push   %ebp
516eb1:	8b ec                	mov    %esp,%ebp
516eb3:	8b 45 08             	mov    0x8(%ebp),%eax
516eb6:	83 ec 08             	sub    $0x8,%esp
516eb9:	80 78 4f 00          	cmpb   $0x0,0x4f(%eax)
516ebd:	74 78                	je     0x516f37
516ebf:	53                   	push   %ebx
516ec0:	8b 58 14             	mov    0x14(%eax),%ebx
516ec3:	57                   	push   %edi
516ec4:	8b 78 10             	mov    0x10(%eax),%edi
516ec7:	85 db                	test   %ebx,%ebx
516ec9:	7e 6a                	jle    0x516f35
516ecb:	83 c7 04             	add    $0x4,%edi
516ece:	56                   	push   %esi
516ecf:	90                   	nop
516ed0:	8b 37                	mov    (%edi),%esi
516ed2:	4b                   	dec    %ebx
516ed3:	85 f6                	test   %esi,%esi
516ed5:	74 56                	je     0x516f2d
516ed7:	8b 40 20             	mov    0x20(%eax),%eax
516eda:	0f b6 4f 04          	movzbl 0x4(%edi),%ecx
516ede:	83 e0 38             	and    $0x38,%eax
516ee1:	0b c8                	or     %eax,%ecx
516ee3:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
516ee7:	8b 46 04             	mov    0x4(%esi),%eax
516eea:	89 4d fc             	mov    %ecx,-0x4(%ebp)
516eed:	89 45 f8             	mov    %eax,-0x8(%ebp)
516ef0:	74 18                	je     0x516f0a
516ef2:	ff 46 0c             	incl   0xc(%esi)
516ef5:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
516ef9:	75 0f                	jne    0x516f0a
516efb:	56                   	push   %esi
516efc:	e8 cf 00 fe ff       	call   0x4f6fd0
516f01:	8b 4d fc             	mov    -0x4(%ebp),%ecx
516f04:	83 c4 04             	add    $0x4,%esp
516f07:	8b 45 f8             	mov    -0x8(%ebp),%eax
516f0a:	51                   	push   %ecx
516f0b:	ff 30                	push   (%eax)
516f0d:	e8 ee c3 01 00       	call   0x533300
516f12:	83 c4 08             	add    $0x8,%esp
516f15:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
516f19:	74 0f                	je     0x516f2a
516f1b:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
516f1f:	75 09                	jne    0x516f2a
516f21:	56                   	push   %esi
516f22:	e8 a9 1a 04 00       	call   0x5589d0
516f27:	83 c4 04             	add    $0x4,%esp
516f2a:	8b 45 08             	mov    0x8(%ebp),%eax
516f2d:	83 c7 10             	add    $0x10,%edi
516f30:	85 db                	test   %ebx,%ebx
516f32:	7f 9c                	jg     0x516ed0
516f34:	5e                   	pop    %esi
516f35:	5f                   	pop    %edi
516f36:	5b                   	pop    %ebx
516f37:	8b e5                	mov    %ebp,%esp
516f39:	5d                   	pop    %ebp
516f3a:	c3                   	ret
516f3b:	cc                   	int3
516f3c:	cc                   	int3
516f3d:	cc                   	int3
516f3e:	cc                   	int3
516f3f:	cc                   	int3
516f40:	55                   	push   %ebp
516f41:	8b ec                	mov    %esp,%ebp
516f43:	83 ec 30             	sub    $0x30,%esp
516f46:	a1 d4 89 72 00       	mov    0x7289d4,%eax
516f4b:	33 c5                	xor    %ebp,%eax
516f4d:	89 45 fc             	mov    %eax,-0x4(%ebp)
516f50:	53                   	push   %ebx
516f51:	56                   	push   %esi
516f52:	8b 75 08             	mov    0x8(%ebp),%esi
516f55:	57                   	push   %edi
516f56:	80 3e 00             	cmpb   $0x0,(%esi)
516f59:	8b 5e 34             	mov    0x34(%esi),%ebx
516f5c:	8b 46 04             	mov    0x4(%esi),%eax
516f5f:	89 5d dc             	mov    %ebx,-0x24(%ebp)
516f62:	89 45 d4             	mov    %eax,-0x2c(%ebp)
516f65:	74 07                	je     0x516f6e
516f67:	33 ff                	xor    %edi,%edi
516f69:	89 7d e0             	mov    %edi,-0x20(%ebp)
516f6c:	eb 16                	jmp    0x516f84
516f6e:	56                   	push   %esi
516f6f:	e8 9c fe fd ff       	call   0x4f6e10
516f74:	8b f8                	mov    %eax,%edi
516f76:	83 c4 04             	add    $0x4,%esp
516f79:	89 7d e0             	mov    %edi,-0x20(%ebp)
516f7c:	85 ff                	test   %edi,%edi
516f7e:	0f 85 05 01 00 00    	jne    0x517089