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
528292:	8b 72 54             	mov    0x54(%edx),%esi
528295:	85 c6                	test   %eax,%esi
528297:	75 17                	jne    0x5282b0
528299:	0f ab ce             	bts    %ecx,%esi
52829c:	89 72 54             	mov    %esi,0x54(%edx)
52829f:	83 f9 01             	cmp    $0x1,%ecx
5282a2:	75 0c                	jne    0x5282b0
5282a4:	52                   	push   %edx
5282a5:	e8 e6 99 00 00       	call   0x531c90
5282aa:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5282ad:	83 c4 04             	add    $0x4,%esp
5282b0:	ff 33                	push   (%ebx)
5282b2:	6a 00                	push   $0x0
5282b4:	ff 73 1c             	push   0x1c(%ebx)
5282b7:	51                   	push   %ecx
5282b8:	57                   	push   %edi
5282b9:	e8 12 5c 01 00       	call   0x53ded0
5282be:	8b 55 d8             	mov    -0x28(%ebp),%edx
5282c1:	83 c4 14             	add    $0x14,%esp
5282c4:	83 fa 01             	cmp    $0x1,%edx
5282c7:	75 76                	jne    0x52833f
5282c9:	8b 45 a8             	mov    -0x58(%ebp),%eax
5282cc:	8b 40 04             	mov    0x4(%eax),%eax
5282cf:	66 83 78 20 00       	cmpw   $0x0,0x20(%eax)
5282d4:	7d 69                	jge    0x52833f
5282d6:	8b 45 d0             	mov    -0x30(%ebp),%eax
5282d9:	6a 11                	push   $0x11
5282db:	50                   	push   %eax
5282dc:	e8 3f 97 01 00       	call   0x541a20
5282e1:	6a 60                	push   $0x60
5282e3:	53                   	push   %ebx
5282e4:	ff 75 b0             	push   -0x50(%ebp)
5282e7:	8b f0                	mov    %eax,%esi
5282e9:	ff 75 c4             	push   -0x3c(%ebp)
5282ec:	57                   	push   %edi
5282ed:	e8 5e 96 00 00       	call   0x531950
5282f2:	ff 33                	push   (%ebx)
5282f4:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
5282fb:	68 28 91 6b 00       	push   $0x6b9128
528300:	6a 00                	push   $0x0
528302:	57                   	push   %edi
528303:	e8 d8 18 02 00       	call   0x549be0
528308:	8b 5d d0             	mov    -0x30(%ebp),%ebx
52830b:	83 c4 2c             	add    $0x2c,%esp
52830e:	8b 53 6c             	mov    0x6c(%ebx),%edx
528311:	85 f6                	test   %esi,%esi
528313:	79 03                	jns    0x528318
528315:	8d 72 ff             	lea    -0x1(%edx),%esi
528318:	8b 03                	mov    (%ebx),%eax
52831a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52831e:	74 0d                	je     0x52832d
528320:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
528325:	89 50 08             	mov    %edx,0x8(%eax)
528328:	e9 20 05 00 00       	jmp    0x52884d
52832d:	8b 43 68             	mov    0x68(%ebx),%eax
528330:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
528333:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
528337:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52833a:	e9 0e 05 00 00       	jmp    0x52884d
52833f:	b8 01 00 00 00       	mov    $0x1,%eax
528344:	33 ff                	xor    %edi,%edi
528346:	89 45 c8             	mov    %eax,-0x38(%ebp)
528349:	85 d2                	test   %edx,%edx
52834b:	0f 8e d3 00 00 00    	jle    0x528424
528351:	33 f6                	xor    %esi,%esi
528353:	85 c0                	test   %eax,%eax
528355:	0f 84 39 04 00 00    	je     0x528794
52835b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
52835e:	8b 50 0c             	mov    0xc(%eax),%edx
528361:	8a 1a                	mov    (%edx),%bl
528363:	8a c3                	mov    %bl,%al
528365:	3c ad                	cmp    $0xad,%al
528367:	75 03                	jne    0x52836c
528369:	8a 42 02             	mov    0x2(%edx),%al
52836c:	3c ae                	cmp    $0xae,%al
52836e:	75 07                	jne    0x528377
528370:	8b 4a 14             	mov    0x14(%edx),%ecx
528373:	8b 01                	mov    (%ecx),%eax
528375:	eb 0c                	jmp    0x528383
528377:	3c 88                	cmp    $0x88,%al
528379:	75 25                	jne    0x5283a0
52837b:	8b 4a 14             	mov    0x14(%edx),%ecx
52837e:	8b 41 1c             	mov    0x1c(%ecx),%eax
528381:	8b 00                	mov    (%eax),%eax
528383:	83 f8 01             	cmp    $0x1,%eax
528386:	7e 18                	jle    0x5283a0
528388:	80 fb 88             	cmp    $0x88,%bl
52838b:	74 0c                	je     0x528399
52838d:	80 7a 02 88          	cmpb   $0x88,0x2(%edx)
528391:	74 06                	je     0x528399
528393:	8b 54 0e 04          	mov    0x4(%esi,%ecx,1),%edx
528397:	eb 07                	jmp    0x5283a0
528399:	8b 41 1c             	mov    0x1c(%ecx),%eax
52839c:	8b 54 30 04          	mov    0x4(%eax,%esi,1),%edx
5283a0:	8b 45 a8             	mov    -0x58(%ebp),%eax
5283a3:	8b 44 30 04          	mov    0x4(%eax,%esi,1),%eax
5283a7:	0f bf 40 20          	movswl 0x20(%eax),%eax
5283ab:	85 c0                	test   %eax,%eax
5283ad:	78 0f                	js     0x5283be
5283af:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5283b2:	8b 45 b8             	mov    -0x48(%ebp),%eax
5283b5:	8b 40 04             	mov    0x4(%eax),%eax
5283b8:	8a 5c 88 0d          	mov    0xd(%eax,%ecx,4),%bl
5283bc:	eb 02                	jmp    0x5283c0
5283be:	b3 44                	mov    $0x44,%bl
5283c0:	52                   	push   %edx
5283c1:	e8 ea b1 ff ff       	call   0x5235b0
5283c6:	83 c4 04             	add    $0x4,%esp
5283c9:	3c 40                	cmp    $0x40,%al
5283cb:	7e 1b                	jle    0x5283e8
5283cd:	80 fb 40             	cmp    $0x40,%bl
5283d0:	7e 11                	jle    0x5283e3
5283d2:	3c 43                	cmp    $0x43,%al
5283d4:	7d 09                	jge    0x5283df
5283d6:	80 fb 43             	cmp    $0x43,%bl
5283d9:	7d 04                	jge    0x5283df
5283db:	b0 41                	mov    $0x41,%al
5283dd:	eb 0e                	jmp    0x5283ed
5283df:	b0 43                	mov    $0x43,%al
5283e1:	eb 0a                	jmp    0x5283ed
5283e3:	0f be c0             	movsbl %al,%eax
5283e6:	eb 03                	jmp    0x5283eb
5283e8:	0f be c3             	movsbl %bl,%eax
5283eb:	0c 40                	or     $0x40,%al
5283ed:	0f be c0             	movsbl %al,%eax
5283f0:	83 e8 41             	sub    $0x41,%eax
5283f3:	74 12                	je     0x528407
5283f5:	83 e8 01             	sub    $0x1,%eax
5283f8:	74 0d                	je     0x528407
5283fa:	33 c0                	xor    %eax,%eax
5283fc:	80 fb 43             	cmp    $0x43,%bl
5283ff:	0f 9d c0             	setge  %al
528402:	89 45 c8             	mov    %eax,-0x38(%ebp)
528405:	eb 03                	jmp    0x52840a
528407:	8b 45 c8             	mov    -0x38(%ebp),%eax
52840a:	8b 55 d8             	mov    -0x28(%ebp),%edx
52840d:	47                   	inc    %edi
52840e:	83 c6 14             	add    $0x14,%esi
528411:	3b fa                	cmp    %edx,%edi
528413:	0f 8c 3a ff ff ff    	jl     0x528353
528419:	85 c0                	test   %eax,%eax
52841b:	0f 84 73 03 00 00    	je     0x528794
528421:	8b 5d b8             	mov    -0x48(%ebp),%ebx
528424:	8b 5b 08             	mov    0x8(%ebx),%ebx
528427:	89 5d bc             	mov    %ebx,-0x44(%ebp)
52842a:	85 db                	test   %ebx,%ebx
52842c:	0f 84 62 03 00 00    	je     0x528794
528432:	33 ff                	xor    %edi,%edi
528434:	85 ff                	test   %edi,%edi
528436:	0f 85 14 04 00 00    	jne    0x528850
52843c:	0f b7 43 34          	movzwl 0x34(%ebx),%eax
528440:	8b c8                	mov    %eax,%ecx
528442:	3b ca                	cmp    %edx,%ecx
528444:	0f 8c 34 03 00 00    	jl     0x52877e
52844a:	39 7b 24             	cmp    %edi,0x24(%ebx)
52844d:	0f 85 2b 03 00 00    	jne    0x52877e
528453:	83 f8 3f             	cmp    $0x3f,%eax
528456:	0f 83 22 03 00 00    	jae    0x52877e
52845c:	f6 45 10 04          	testb  $0x4,0x10(%ebp)
528460:	74 1a                	je     0x52847c
528462:	0f b7 43 32          	movzwl 0x32(%ebx),%eax
528466:	3b c2                	cmp    %edx,%eax
528468:	0f 8f 10 03 00 00    	jg     0x52877e
52846e:	3b ca                	cmp    %edx,%ecx
528470:	7e 0a                	jle    0x52847c
528472:	80 7b 36 00          	cmpb   $0x0,0x36(%ebx)
528476:	0f 84 02 03 00 00    	je     0x52877e
52847c:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
528483:	0f 57 c0             	xorps  %xmm0,%xmm0
528486:	66 0f 13 45 98       	movlpd %xmm0,-0x68(%ebp)
52848b:	85 d2                	test   %edx,%edx
52848d:	0f 8e ac 01 00 00    	jle    0x52863f
528493:	8b 45 9c             	mov    -0x64(%ebp),%eax
528496:	33 f6                	xor    %esi,%esi
528498:	89 45 c0             	mov    %eax,-0x40(%ebp)