527f19:	83 c8 ff             	or     $0xffffffff,%eax
527f1c:	5b                   	pop    %ebx
527f1d:	5d                   	pop    %ebp
527f1e:	c3                   	ret
527f1f:	cc                   	int3
527f20:	55                   	push   %ebp
527f21:	8b ec                	mov    %esp,%ebp
527f23:	8b 55 0c             	mov    0xc(%ebp),%edx
527f26:	83 ec 0c             	sub    $0xc,%esp
527f29:	53                   	push   %ebx
527f2a:	56                   	push   %esi
527f2b:	33 f6                	xor    %esi,%esi
527f2d:	33 db                	xor    %ebx,%ebx
527f2f:	57                   	push   %edi
527f30:	85 d2                	test   %edx,%edx
527f32:	75 04                	jne    0x527f38
527f34:	33 ff                	xor    %edi,%edi
527f36:	eb 17                	jmp    0x527f4f
527f38:	8b fa                	mov    %edx,%edi
527f3a:	8d 4f 01             	lea    0x1(%edi),%ecx
527f3d:	0f 1f 00             	nopl   (%eax)
527f40:	8a 07                	mov    (%edi),%al
527f42:	47                   	inc    %edi
527f43:	84 c0                	test   %al,%al
527f45:	75 f9                	jne    0x527f40
527f47:	2b f9                	sub    %ecx,%edi
527f49:	81 e7 ff ff ff 3f    	and    $0x3fffffff,%edi
527f4f:	8b 45 08             	mov    0x8(%ebp),%eax
527f52:	6a 00                	push   $0x0
527f54:	05 84 01 00 00       	add    $0x184,%eax
527f59:	89 7d fc             	mov    %edi,-0x4(%ebp)
527f5c:	52                   	push   %edx
527f5d:	50                   	push   %eax
527f5e:	89 45 f4             	mov    %eax,-0xc(%ebp)
527f61:	e8 6a a0 fd ff       	call   0x501fd0
527f66:	83 c4 0c             	add    $0xc,%esp
527f69:	8b 50 08             	mov    0x8(%eax),%edx
527f6c:	85 d2                	test   %edx,%edx
527f6e:	74 6d                	je     0x527fdd
527f70:	8b 45 10             	mov    0x10(%ebp),%eax
527f73:	33 ff                	xor    %edi,%edi
527f75:	8a 0a                	mov    (%edx),%cl
527f77:	0f be d9             	movsbl %cl,%ebx
527f7a:	3b d8                	cmp    %eax,%ebx
527f7c:	74 19                	je     0x527f97
527f7e:	83 f8 fe             	cmp    $0xfffffffe,%eax
527f81:	75 0c                	jne    0x527f8f
527f83:	8b 4a 10             	mov    0x10(%edx),%ecx
527f86:	f7 d9                	neg    %ecx
527f88:	1b c9                	sbb    %ecx,%ecx
527f8a:	83 e1 06             	and    $0x6,%ecx
527f8d:	eb 36                	jmp    0x527fc5
527f8f:	84 c9                	test   %cl,%cl
527f91:	78 04                	js     0x527f97
527f93:	33 c9                	xor    %ecx,%ecx
527f95:	eb 2e                	jmp    0x527fc5
527f97:	3b d8                	cmp    %eax,%ebx
527f99:	b9 01 00 00 00       	mov    $0x1,%ecx
527f9e:	0f b6 5d 14          	movzbl 0x14(%ebp),%ebx
527fa2:	b8 04 00 00 00       	mov    $0x4,%eax
527fa7:	0f 44 c8             	cmove  %eax,%ecx
527faa:	8b 42 04             	mov    0x4(%edx),%eax
527fad:	83 e0 03             	and    $0x3,%eax
527fb0:	3b d8                	cmp    %eax,%ebx
527fb2:	75 05                	jne    0x527fb9
527fb4:	83 c1 02             	add    $0x2,%ecx
527fb7:	eb 09                	jmp    0x527fc2
527fb9:	23 5a 04             	and    0x4(%edx),%ebx
527fbc:	f6 c3 02             	test   $0x2,%bl
527fbf:	74 01                	je     0x527fc2
527fc1:	41                   	inc    %ecx
527fc2:	8b 45 10             	mov    0x10(%ebp),%eax
527fc5:	3b cf                	cmp    %edi,%ecx
527fc7:	7e 04                	jle    0x527fcd
527fc9:	8b f2                	mov    %edx,%esi
527fcb:	8b f9                	mov    %ecx,%edi
527fcd:	8b 52 0c             	mov    0xc(%edx),%edx
527fd0:	85 d2                	test   %edx,%edx
527fd2:	75 a1                	jne    0x527f75
527fd4:	89 7d f8             	mov    %edi,-0x8(%ebp)
527fd7:	8b 7d fc             	mov    -0x4(%ebp),%edi
527fda:	8b 5d f8             	mov    -0x8(%ebp),%ebx
527fdd:	8a 45 18             	mov    0x18(%ebp),%al
527fe0:	84 c0                	test   %al,%al
527fe2:	0f 85 af 00 00 00    	jne    0x528097
527fe8:	85 f6                	test   %esi,%esi
527fea:	74 0d                	je     0x527ff9
527fec:	8b 45 08             	mov    0x8(%ebp),%eax
527fef:	f6 40 18 02          	testb  $0x2,0x18(%eax)
527ff3:	0f 84 4e 01 00 00    	je     0x528147
527ff9:	8b 45 0c             	mov    0xc(%ebp),%eax
527ffc:	33 d2                	xor    %edx,%edx
527ffe:	50                   	push   %eax
527fff:	b9 17 00 00 00       	mov    $0x17,%ecx
528004:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
52800b:	0f b6 00             	movzbl (%eax),%eax
52800e:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
528015:	03 c7                	add    %edi,%eax
528017:	f7 f1                	div    %ecx
528019:	52                   	push   %edx
52801a:	e8 b1 23 00 00       	call   0x52a3d0
52801f:	8b d0                	mov    %eax,%edx
528021:	83 c4 08             	add    $0x8,%esp
528024:	85 d2                	test   %edx,%edx
528026:	0f 84 1b 01 00 00    	je     0x528147
52802c:	8b 5d 10             	mov    0x10(%ebp),%ebx
52802f:	90                   	nop
528030:	8a 02                	mov    (%edx),%al
528032:	0f be c8             	movsbl %al,%ecx
528035:	3b cb                	cmp    %ebx,%ecx
528037:	74 19                	je     0x528052
528039:	83 fb fe             	cmp    $0xfffffffe,%ebx
52803c:	75 0c                	jne    0x52804a
52803e:	8b 42 10             	mov    0x10(%edx),%eax
528041:	f7 d8                	neg    %eax
528043:	1b c0                	sbb    %eax,%eax
528045:	83 e0 06             	and    $0x6,%eax
528048:	eb 37                	jmp    0x528081
52804a:	84 c0                	test   %al,%al
52804c:	78 04                	js     0x528052
52804e:	33 c0                	xor    %eax,%eax
528050:	eb 2f                	jmp    0x528081
528052:	8b 7a 04             	mov    0x4(%edx),%edi
528055:	3b cb                	cmp    %ebx,%ecx
528057:	0f b6 5d 14          	movzbl 0x14(%ebp),%ebx
52805b:	b9 04 00 00 00       	mov    $0x4,%ecx
528060:	b8 01 00 00 00       	mov    $0x1,%eax
528065:	0f 44 c1             	cmove  %ecx,%eax
528068:	8b cf                	mov    %edi,%ecx
52806a:	83 e1 03             	and    $0x3,%ecx
52806d:	3b d9                	cmp    %ecx,%ebx
52806f:	75 05                	jne    0x528076
528071:	83 c0 02             	add    $0x2,%eax
528074:	eb 08                	jmp    0x52807e
528076:	23 df                	and    %edi,%ebx
528078:	f6 c3 02             	test   $0x2,%bl
52807b:	74 01                	je     0x52807e
52807d:	40                   	inc    %eax
52807e:	8b 5d 10             	mov    0x10(%ebp),%ebx
528081:	3b 45 08             	cmp    0x8(%ebp),%eax
528084:	7e 05                	jle    0x52808b
528086:	8b f2                	mov    %edx,%esi
528088:	89 45 08             	mov    %eax,0x8(%ebp)
52808b:	8b 52 0c             	mov    0xc(%edx),%edx
52808e:	85 d2                	test   %edx,%edx
528090:	75 9e                	jne    0x528030
528092:	e9 b0 00 00 00       	jmp    0x528147
528097:	83 fb 06             	cmp    $0x6,%ebx
52809a:	0f 8d aa 00 00 00    	jge    0x52814a
5280a0:	8b 45 08             	mov    0x8(%ebp),%eax
5280a3:	8d 5f 29             	lea    0x29(%edi),%ebx
5280a6:	6a 00                	push   $0x0
5280a8:	53                   	push   %ebx
5280a9:	85 c0                	test   %eax,%eax
5280ab:	74 0b                	je     0x5280b8
5280ad:	50                   	push   %eax
5280ae:	e8 2d 93 ff ff       	call   0x5213e0
5280b3:	83 c4 0c             	add    $0xc,%esp
5280b6:	eb 08                	jmp    0x5280c0
5280b8:	e8 a3 8e 00 00       	call   0x530f60
5280bd:	83 c4 08             	add    $0x8,%esp
5280c0:	8b f0                	mov    %eax,%esi
5280c2:	85 f6                	test   %esi,%esi
5280c4:	74 75                	je     0x52813b
5280c6:	53                   	push   %ebx
5280c7:	6a 00                	push   $0x0
5280c9:	56                   	push   %esi
5280ca:	e8 31 b9 0b 00       	call   0x5e3a00
5280cf:	83 c4 0c             	add    $0xc,%esp
5280d2:	85 f6                	test   %esi,%esi
5280d4:	74 65                	je     0x52813b
5280d6:	8b 45 10             	mov    0x10(%ebp),%eax
5280d9:	8d 4e 28             	lea    0x28(%esi),%ecx
5280dc:	88 06                	mov    %al,(%esi)
5280de:	0f b6 45 14          	movzbl 0x14(%ebp),%eax
5280e2:	89 46 04             	mov    %eax,0x4(%esi)
5280e5:	8d 47 01             	lea    0x1(%edi),%eax
5280e8:	50                   	push   %eax
5280e9:	8b 45 0c             	mov    0xc(%ebp),%eax
5280ec:	50                   	push   %eax
5280ed:	51                   	push   %ecx
5280ee:	89 4e 20             	mov    %ecx,0x20(%esi)
5280f1:	e8 0a ae 0b 00       	call   0x5e2f00
5280f6:	8b 4e 20             	mov    0x20(%esi),%ecx
5280f9:	83 c4 0c             	add    $0xc,%esp
5280fc:	80 39 00             	cmpb   $0x0,(%ecx)
5280ff:	74 14                	je     0x528115
528101:	0f b6 01             	movzbl (%ecx),%eax
528104:	8d 49 01             	lea    0x1(%ecx),%ecx
528107:	8a 80 20 2a 6b 00    	mov    0x6b2a20(%eax),%al
52810d:	88 41 ff             	mov    %al,-0x1(%ecx)
528110:	80 39 00             	cmpb   $0x0,(%ecx)
528113:	75 ec                	jne    0x528101
528115:	56                   	push   %esi
528116:	ff 76 20             	push   0x20(%esi)
528119:	ff 75 f4             	push   -0xc(%ebp)
52811c:	e8 7f 59 00 00       	call   0x52daa0
528121:	83 c4 0c             	add    $0xc,%esp
528124:	3b c6                	cmp    %esi,%eax
528126:	75 1c                	jne    0x528144
528128:	8b 5d 08             	mov    0x8(%ebp),%ebx
52812b:	56                   	push   %esi
52812c:	53                   	push   %ebx
52812d:	e8 3e 92 ff ff       	call   0x521370
528132:	53                   	push   %ebx
528133:	e8 58 97 00 00       	call   0x531890
528138:	83 c4 0c             	add    $0xc,%esp
52813b:	5f                   	pop    %edi
52813c:	5e                   	pop    %esi
52813d:	33 c0                	xor    %eax,%eax
52813f:	5b                   	pop    %ebx
528140:	8b e5                	mov    %ebp,%esp
528142:	5d                   	pop    %ebp
528143:	c3                   	ret
528144:	89 46 0c             	mov    %eax,0xc(%esi)
528147:	8a 45 18             	mov    0x18(%ebp),%al
52814a:	85 f6                	test   %esi,%esi
52814c:	74 ed                	je     0x52813b
52814e:	83 7e 10 00          	cmpl   $0x0,0x10(%esi)
528152:	75 04                	jne    0x528158
528154:	84 c0                	test   %al,%al
528156:	74 e3                	je     0x52813b
528158:	5f                   	pop    %edi
528159:	8b c6                	mov    %esi,%eax
52815b:	5e                   	pop    %esi
52815c:	5b                   	pop    %ebx
52815d:	8b e5                	mov    %ebp,%esp
52815f:	5d                   	pop    %ebp
528160:	c3                   	ret
528161:	cc                   	int3
528162:	cc                   	int3
528163:	cc                   	int3
528164:	cc                   	int3
528165:	cc                   	int3
528166:	cc                   	int3
528167:	cc                   	int3
528168:	cc                   	int3
528169:	cc                   	int3
52816a:	cc                   	int3
52816b:	cc                   	int3
52816c:	cc                   	int3
52816d:	cc                   	int3
52816e:	cc                   	int3
52816f:	cc                   	int3
528170:	55                   	push   %ebp
528171:	8b ec                	mov    %esp,%ebp
528173:	83 ec 70             	sub    $0x70,%esp
528176:	a1 d4 89 72 00       	mov    0x7289d4,%eax
52817b:	33 c5                	xor    %ebp,%eax
52817d:	89 45 fc             	mov    %eax,-0x4(%ebp)
528180:	8b 45 18             	mov    0x18(%ebp),%eax
528183:	8b 4d 0c             	mov    0xc(%ebp),%ecx
528186:	89 45 a0             	mov    %eax,-0x60(%ebp)
528189:	8b 45 1c             	mov    0x1c(%ebp),%eax
52818c:	53                   	push   %ebx
52818d:	8b 5d 08             	mov    0x8(%ebp),%ebx
528190:	89 45 90             	mov    %eax,-0x70(%ebp)
528193:	33 c0                	xor    %eax,%eax
528195:	89 45 cc             	mov    %eax,-0x34(%ebp)
528198:	56                   	push   %esi
528199:	8b 43 28             	mov    0x28(%ebx),%eax
52819c:	89 45 c4             	mov    %eax,-0x3c(%ebp)
52819f:	40                   	inc    %eax
5281a0:	89 43 28             	mov    %eax,0x28(%ebx)
5281a3:	8b 43 08             	mov    0x8(%ebx),%eax
5281a6:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5281a9:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
5281ac:	89 45 d0             	mov    %eax,-0x30(%ebp)
5281af:	57                   	push   %edi
5281b0:	8b 7d 14             	mov    0x14(%ebp),%edi
5281b3:	89 7d ac             	mov    %edi,-0x54(%ebp)
5281b6:	85 c0                	test   %eax,%eax
5281b8:	75 20                	jne    0x5281da
5281ba:	39 43 74             	cmp    %eax,0x74(%ebx)
5281bd:	75 0c                	jne    0x5281cb
5281bf:	8b 03                	mov    (%ebx),%eax
5281c1:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
5281c5:	75 04                	jne    0x5281cb
5281c7:	c6 43 17 01          	movb   $0x1,0x17(%ebx)
5281cb:	53                   	push   %ebx
5281cc:	e8 3f a2 01 00       	call   0x542410
5281d1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5281d4:	83 c4 04             	add    $0x4,%esp
5281d7:	89 45 d0             	mov    %eax,-0x30(%ebp)
5281da:	85 ff                	test   %edi,%edi
5281dc:	74 43                	je     0x528221
5281de:	f7 41 04 00 08 00 00 	testl  $0x800,0x4(%ecx)
5281e5:	74 3a                	je     0x528221
5281e7:	8b 41 14             	mov    0x14(%ecx),%eax
5281ea:	33 f6                	xor    %esi,%esi
5281ec:	8b 78 1c             	mov    0x1c(%eax),%edi
5281ef:	8b 1f                	mov    (%edi),%ebx
5281f1:	85 db                	test   %ebx,%ebx
5281f3:	7e 1c                	jle    0x528211
5281f5:	83 c7 04             	add    $0x4,%edi
5281f8:	ff 37                	push   (%edi)
5281fa:	e8 61 b8 ff ff       	call   0x523a60
5281ff:	83 c4 04             	add    $0x4,%esp
528202:	85 c0                	test   %eax,%eax
528204:	75 08                	jne    0x52820e
528206:	46                   	inc    %esi
528207:	83 c7 14             	add    $0x14,%edi
52820a:	3b f3                	cmp    %ebx,%esi
52820c:	7c ea                	jl     0x5281f8
52820e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
528211:	8b 7d ac             	mov    -0x54(%ebp),%edi
528214:	33 c0                	xor    %eax,%eax
528216:	3b f3                	cmp    %ebx,%esi
528218:	8b 5d dc             	mov    -0x24(%ebp),%ebx
52821b:	0f 44 f8             	cmove  %eax,%edi
52821e:	89 7d ac             	mov    %edi,-0x54(%ebp)
528221:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
528225:	ba 01 00 00 00       	mov    $0x1,%edx
52822a:	0f 85 6c 05 00 00    	jne    0x52879c
528230:	51                   	push   %ecx
528231:	e8 4a f6 fd ff       	call   0x507880
528236:	83 c4 04             	add    $0x4,%esp
528239:	85 c0                	test   %eax,%eax
52823b:	0f 84 56 05 00 00    	je     0x528797
528241:	8b 48 1c             	mov    0x1c(%eax),%ecx
528244:	8b 40 20             	mov    0x20(%eax),%eax
528247:	8b 33                	mov    (%ebx),%esi
528249:	89 4d a8             	mov    %ecx,-0x58(%ebp)
52824c:	8b 09                	mov    (%ecx),%ecx
52824e:	8b 58 18             	mov    0x18(%eax),%ebx
528251:	89 4d d8             	mov    %ecx,-0x28(%ebp)
528254:	b9 c0 bd f0 ff       	mov    $0xfff0bdc0,%ecx
528259:	89 5d b8             	mov    %ebx,-0x48(%ebp)
52825c:	8b 53 48             	mov    0x48(%ebx),%edx
52825f:	85 d2                	test   %edx,%edx
528261:	74 15                	je     0x528278
528263:	8b 46 10             	mov    0x10(%esi),%eax
528266:	33 c9                	xor    %ecx,%ecx
528268:	83 c0 0c             	add    $0xc,%eax
52826b:	39 10                	cmp    %edx,(%eax)
52826d:	74 09                	je     0x528278
52826f:	90                   	nop
528270:	8d 40 10             	lea    0x10(%eax),%eax
528273:	41                   	inc    %ecx
528274:	39 10                	cmp    %edx,(%eax)
528276:	75 f8                	jne    0x528270
528278:	8b 7d dc             	mov    -0x24(%ebp),%edi
52827b:	8b d7                	mov    %edi,%edx
52827d:	0f bf c9             	movswl %cx,%ecx
528280:	89 4d b0             	mov    %ecx,-0x50(%ebp)
528283:	8b 47 74             	mov    0x74(%edi),%eax
528286:	85 c0                	test   %eax,%eax
528288:	0f 45 d0             	cmovne %eax,%edx
52828b:	b8 01 00 00 00       	mov    $0x1,%eax
528290:	d3 e0                	shl    %cl,%eax