528fe1:	80 3e 99             	cmpb   $0x99,(%esi)
528fe4:	75 10                	jne    0x528ff6
528fe6:	8b 01                	mov    (%ecx),%eax
528fe8:	8b 00                	mov    (%eax),%eax
528fea:	80 b8 a5 00 00 00 00 	cmpb   $0x0,0xa5(%eax)
528ff1:	74 7c                	je     0x52906f
528ff3:	c6 06 77             	movb   $0x77,(%esi)
528ff6:	8b 46 04             	mov    0x4(%esi),%eax
528ff9:	a9 00 40 80 00       	test   $0x804000,%eax
528ffe:	75 68                	jne    0x529068
529000:	a9 00 08 00 00       	test   $0x800,%eax
529005:	74 15                	je     0x52901c
529007:	ff 76 14             	push   0x14(%esi)
52900a:	51                   	push   %ecx
52900b:	e8 10 01 00 00       	call   0x529120
529010:	83 c4 08             	add    $0x8,%esp
529013:	85 c0                	test   %eax,%eax
529015:	75 6a                	jne    0x529081
529017:	8b 4d 08             	mov    0x8(%ebp),%ecx
52901a:	eb 31                	jmp    0x52904d
52901c:	8b 46 14             	mov    0x14(%esi),%eax
52901f:	89 45 0c             	mov    %eax,0xc(%ebp)
529022:	85 c0                	test   %eax,%eax
529024:	74 27                	je     0x52904d
529026:	33 ff                	xor    %edi,%edi
529028:	8d 58 04             	lea    0x4(%eax),%ebx
52902b:	39 38                	cmp    %edi,(%eax)
52902d:	7e 1e                	jle    0x52904d
52902f:	90                   	nop
529030:	ff 33                	push   (%ebx)
529032:	51                   	push   %ecx
529033:	e8 88 ff ff ff       	call   0x528fc0
529038:	83 c4 08             	add    $0x8,%esp
52903b:	85 c0                	test   %eax,%eax
52903d:	75 42                	jne    0x529081
52903f:	8b 45 0c             	mov    0xc(%ebp),%eax
529042:	47                   	inc    %edi
529043:	8b 4d 08             	mov    0x8(%ebp),%ecx
529046:	83 c3 14             	add    $0x14,%ebx
529049:	3b 38                	cmp    (%eax),%edi
52904b:	7c e3                	jl     0x529030
52904d:	ff 76 10             	push   0x10(%esi)
529050:	51                   	push   %ecx
529051:	e8 6a ff ff ff       	call   0x528fc0
529056:	83 c4 08             	add    $0x8,%esp
529059:	85 c0                	test   %eax,%eax
52905b:	75 24                	jne    0x529081
52905d:	8b 76 0c             	mov    0xc(%esi),%esi
529060:	85 f6                	test   %esi,%esi
529062:	0f 85 69 ff ff ff    	jne    0x528fd1
529068:	5f                   	pop    %edi
529069:	5e                   	pop    %esi
52906a:	33 c0                	xor    %eax,%eax
52906c:	5b                   	pop    %ebx
52906d:	5d                   	pop    %ebp
52906e:	c3                   	ret
52906f:	ff 71 10             	push   0x10(%ecx)
529072:	68 f4 9c 6b 00       	push   $0x6b9cf4
529077:	ff 31                	push   (%ecx)
529079:	e8 e2 a1 ff ff       	call   0x523260
52907e:	83 c4 0c             	add    $0xc,%esp
529081:	5f                   	pop    %edi
529082:	5e                   	pop    %esi
529083:	b8 01 00 00 00       	mov    $0x1,%eax
529088:	5b                   	pop    %ebx
529089:	5d                   	pop    %ebp
52908a:	c3                   	ret
52908b:	cc                   	int3
52908c:	cc                   	int3
52908d:	cc                   	int3
52908e:	cc                   	int3
52908f:	cc                   	int3
529090:	55                   	push   %ebp
529091:	8b ec                	mov    %esp,%ebp
529093:	53                   	push   %ebx
529094:	8b 5d 0c             	mov    0xc(%ebp),%ebx
529097:	85 db                	test   %ebx,%ebx
529099:	75 05                	jne    0x5290a0
52909b:	33 c0                	xor    %eax,%eax
52909d:	5b                   	pop    %ebx
52909e:	5d                   	pop    %ebp
52909f:	c3                   	ret
5290a0:	56                   	push   %esi
5290a1:	33 f6                	xor    %esi,%esi
5290a3:	57                   	push   %edi
5290a4:	8d 7b 04             	lea    0x4(%ebx),%edi
5290a7:	39 33                	cmp    %esi,(%ebx)
5290a9:	7e 1e                	jle    0x5290c9
5290ab:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5290b0:	ff 37                	push   (%edi)
5290b2:	ff 75 08             	push   0x8(%ebp)
5290b5:	e8 06 ff ff ff       	call   0x528fc0
5290ba:	83 c4 08             	add    $0x8,%esp
5290bd:	85 c0                	test   %eax,%eax
5290bf:	75 0f                	jne    0x5290d0
5290c1:	46                   	inc    %esi
5290c2:	83 c7 14             	add    $0x14,%edi
5290c5:	3b 33                	cmp    (%ebx),%esi
5290c7:	7c e7                	jl     0x5290b0
5290c9:	5f                   	pop    %edi
5290ca:	5e                   	pop    %esi
5290cb:	33 c0                	xor    %eax,%eax
5290cd:	5b                   	pop    %ebx
5290ce:	5d                   	pop    %ebp
5290cf:	c3                   	ret
5290d0:	5f                   	pop    %edi
5290d1:	5e                   	pop    %esi
5290d2:	b8 01 00 00 00       	mov    $0x1,%eax
5290d7:	5b                   	pop    %ebx
5290d8:	5d                   	pop    %ebp
5290d9:	c3                   	ret
5290da:	cc                   	int3
5290db:	cc                   	int3
5290dc:	cc                   	int3
5290dd:	cc                   	int3
5290de:	cc                   	int3
5290df:	cc                   	int3
5290e0:	55                   	push   %ebp
5290e1:	8b ec                	mov    %esp,%ebp
5290e3:	8b 45 0c             	mov    0xc(%ebp),%eax
5290e6:	8b 4d 10             	mov    0x10(%ebp),%ecx
5290e9:	57                   	push   %edi
5290ea:	8b 7d 08             	mov    0x8(%ebp),%edi
5290ed:	03 c9                	add    %ecx,%ecx
5290ef:	8b 10                	mov    (%eax),%edx
5290f1:	83 7d 10 01          	cmpl   $0x1,0x10(%ebp)
5290f5:	89 07                	mov    %eax,(%edi)
5290f7:	8b 42 10             	mov    0x10(%edx),%eax
5290fa:	8b 04 c8             	mov    (%eax,%ecx,8),%eax
5290fd:	89 47 0c             	mov    %eax,0xc(%edi)
529100:	8b 42 10             	mov    0x10(%edx),%eax
529103:	8b 44 c8 0c          	mov    0xc(%eax,%ecx,8),%eax
529107:	89 47 04             	mov    %eax,0x4(%edi)
52910a:	8b 45 14             	mov    0x14(%ebp),%eax
52910d:	89 47 10             	mov    %eax,0x10(%edi)
529110:	8b 45 18             	mov    0x18(%ebp),%eax
529113:	89 47 14             	mov    %eax,0x14(%edi)
529116:	0f 94 c0             	sete   %al
529119:	88 47 08             	mov    %al,0x8(%edi)
52911c:	5f                   	pop    %edi
52911d:	5d                   	pop    %ebp
52911e:	c3                   	ret
52911f:	cc                   	int3
529120:	55                   	push   %ebp
529121:	8b ec                	mov    %esp,%ebp
529123:	53                   	push   %ebx
529124:	56                   	push   %esi
529125:	8b 75 0c             	mov    0xc(%ebp),%esi
529128:	57                   	push   %edi
529129:	85 f6                	test   %esi,%esi
52912b:	0f 84 ec 00 00 00    	je     0x52921d
529131:	8b 5d 08             	mov    0x8(%ebp),%ebx
529134:	8b 46 1c             	mov    0x1c(%esi),%eax
529137:	89 45 0c             	mov    %eax,0xc(%ebp)
52913a:	85 c0                	test   %eax,%eax
52913c:	74 35                	je     0x529173
52913e:	33 ff                	xor    %edi,%edi
529140:	8d 58 04             	lea    0x4(%eax),%ebx
529143:	39 38                	cmp    %edi,(%eax)
529145:	7e 29                	jle    0x529170
529147:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
52914e:	00 00
529150:	ff 33                	push   (%ebx)
529152:	ff 75 08             	push   0x8(%ebp)
529155:	e8 66 fe ff ff       	call   0x528fc0
52915a:	83 c4 08             	add    $0x8,%esp
52915d:	85 c0                	test   %eax,%eax
52915f:	0f 85 bf 00 00 00    	jne    0x529224
529165:	8b 45 0c             	mov    0xc(%ebp),%eax
529168:	47                   	inc    %edi
529169:	83 c3 14             	add    $0x14,%ebx
52916c:	3b 38                	cmp    (%eax),%edi
52916e:	7c e0                	jl     0x529150
529170:	8b 5d 08             	mov    0x8(%ebp),%ebx
529173:	ff 76 20             	push   0x20(%esi)
529176:	53                   	push   %ebx
529177:	e8 b4 00 00 00       	call   0x529230
52917c:	83 c4 08             	add    $0x8,%esp
52917f:	85 c0                	test   %eax,%eax
529181:	0f 85 9d 00 00 00    	jne    0x529224
529187:	ff 76 24             	push   0x24(%esi)
52918a:	53                   	push   %ebx
52918b:	e8 30 fe ff ff       	call   0x528fc0
529190:	83 c4 08             	add    $0x8,%esp
529193:	85 c0                	test   %eax,%eax
529195:	0f 85 89 00 00 00    	jne    0x529224
52919b:	ff 76 28             	push   0x28(%esi)
52919e:	53                   	push   %ebx
52919f:	e8 ec fe ff ff       	call   0x529090
5291a4:	83 c4 08             	add    $0x8,%esp
5291a7:	85 c0                	test   %eax,%eax
5291a9:	75 79                	jne    0x529224
5291ab:	ff 76 2c             	push   0x2c(%esi)
5291ae:	53                   	push   %ebx
5291af:	e8 0c fe ff ff       	call   0x528fc0
5291b4:	83 c4 08             	add    $0x8,%esp
5291b7:	85 c0                	test   %eax,%eax
5291b9:	75 69                	jne    0x529224
5291bb:	ff 76 30             	push   0x30(%esi)
5291be:	53                   	push   %ebx
5291bf:	e8 cc fe ff ff       	call   0x529090
5291c4:	83 c4 08             	add    $0x8,%esp
5291c7:	85 c0                	test   %eax,%eax
5291c9:	75 59                	jne    0x529224
5291cb:	ff 76 3c             	push   0x3c(%esi)
5291ce:	53                   	push   %ebx
5291cf:	e8 ec fd ff ff       	call   0x528fc0
5291d4:	83 c4 08             	add    $0x8,%esp
5291d7:	85 c0                	test   %eax,%eax
5291d9:	75 49                	jne    0x529224
5291db:	8b 46 40             	mov    0x40(%esi),%eax
5291de:	85 c0                	test   %eax,%eax
5291e0:	74 30                	je     0x529212
5291e2:	33 ff                	xor    %edi,%edi
5291e4:	39 38                	cmp    %edi,(%eax)
5291e6:	7e 2a                	jle    0x529212
5291e8:	33 c9                	xor    %ecx,%ecx
5291ea:	89 4d 0c             	mov    %ecx,0xc(%ebp)
5291ed:	0f 1f 00             	nopl   (%eax)
5291f0:	ff 74 01 10          	push   0x10(%ecx,%eax,1)
5291f4:	53                   	push   %ebx
5291f5:	e8 26 ff ff ff       	call   0x529120
5291fa:	83 c4 08             	add    $0x8,%esp
5291fd:	85 c0                	test   %eax,%eax
5291ff:	75 23                	jne    0x529224
529201:	8b 46 40             	mov    0x40(%esi),%eax
529204:	47                   	inc    %edi
529205:	8b 4d 0c             	mov    0xc(%ebp),%ecx
529208:	83 c1 10             	add    $0x10,%ecx
52920b:	89 4d 0c             	mov    %ecx,0xc(%ebp)
52920e:	3b 38                	cmp    (%eax),%edi
529210:	7c de                	jl     0x5291f0
529212:	8b 76 34             	mov    0x34(%esi),%esi
529215:	85 f6                	test   %esi,%esi
529217:	0f 85 17 ff ff ff    	jne    0x529134
52921d:	5f                   	pop    %edi
52921e:	5e                   	pop    %esi
52921f:	33 c0                	xor    %eax,%eax
529221:	5b                   	pop    %ebx
529222:	5d                   	pop    %ebp
529223:	c3                   	ret
529224:	5f                   	pop    %edi
529225:	5e                   	pop    %esi
529226:	b8 01 00 00 00       	mov    $0x1,%eax
52922b:	5b                   	pop    %ebx
52922c:	5d                   	pop    %ebp
52922d:	c3                   	ret
52922e:	cc                   	int3
52922f:	cc                   	int3
529230:	55                   	push   %ebp
529231:	8b ec                	mov    %esp,%ebp
529233:	8b 45 0c             	mov    0xc(%ebp),%eax
529236:	83 ec 08             	sub    $0x8,%esp
529239:	85 c0                	test   %eax,%eax
52923b:	75 04                	jne    0x529241
52923d:	8b e5                	mov    %ebp,%esp
52923f:	5d                   	pop    %ebp
529240:	c3                   	ret
529241:	53                   	push   %ebx
529242:	56                   	push   %esi
529243:	57                   	push   %edi
529244:	8b 7d 08             	mov    0x8(%ebp),%edi
529247:	8d 70 08             	lea    0x8(%eax),%esi
52924a:	33 db                	xor    %ebx,%ebx
52924c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
52924f:	8b 4f 0c             	mov    0xc(%edi),%ecx
529252:	89 4d f8             	mov    %ecx,-0x8(%ebp)
529255:	39 18                	cmp    %ebx,(%eax)
529257:	0f 8e b0 00 00 00    	jle    0x52930d
52925d:	0f 1f 00             	nopl   (%eax)
529260:	80 7f 08 00          	cmpb   $0x0,0x8(%edi)
529264:	75 39                	jne    0x52929f
529266:	8b 5e 04             	mov    0x4(%esi),%ebx
529269:	85 db                	test   %ebx,%ebx
52926b:	74 1f                	je     0x52928c
52926d:	51                   	push   %ecx
52926e:	53                   	push   %ebx
52926f:	e8 bc 49 01 00       	call   0x53dc30
529274:	83 c4 08             	add    $0x8,%esp
529277:	85 c0                	test   %eax,%eax
529279:	75 70                	jne    0x5292eb
52927b:	85 db                	test   %ebx,%ebx
52927d:	74 0d                	je     0x52928c
52927f:	8b 07                	mov    (%edi),%eax
529281:	53                   	push   %ebx
529282:	ff 30                	push   (%eax)
529284:	e8 e7 80 ff ff       	call   0x521370
529289:	83 c4 08             	add    $0x8,%esp
52928c:	8b 5d fc             	mov    -0x4(%ebp),%ebx
52928f:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
529296:	8b 47 04             	mov    0x4(%edi),%eax
529299:	83 4e 28 40          	orl    $0x40,0x28(%esi)
52929d:	89 06                	mov    %eax,(%esi)
52929f:	ff 76 14             	push   0x14(%esi)
5292a2:	57                   	push   %edi
5292a3:	e8 78 fe ff ff       	call   0x529120
5292a8:	83 c4 08             	add    $0x8,%esp
5292ab:	85 c0                	test   %eax,%eax
5292ad:	75 52                	jne    0x529301
5292af:	ff 76 30             	push   0x30(%esi)
5292b2:	57                   	push   %edi
5292b3:	e8 08 fd ff ff       	call   0x528fc0
5292b8:	83 c4 08             	add    $0x8,%esp
5292bb:	85 c0                	test   %eax,%eax
5292bd:	75 42                	jne    0x529301
5292bf:	f6 46 28 04          	testb  $0x4,0x28(%esi)
5292c3:	74 10                	je     0x5292d5
5292c5:	ff 76 40             	push   0x40(%esi)
5292c8:	57                   	push   %edi
5292c9:	e8 c2 fd ff ff       	call   0x529090
5292ce:	83 c4 08             	add    $0x8,%esp
5292d1:	85 c0                	test   %eax,%eax
5292d3:	75 2c                	jne    0x529301
5292d5:	8b 45 0c             	mov    0xc(%ebp),%eax
5292d8:	43                   	inc    %ebx
5292d9:	83 c6 48             	add    $0x48,%esi
5292dc:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5292df:	3b 18                	cmp    (%eax),%ebx
5292e1:	7d 2a                	jge    0x52930d
5292e3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5292e6:	e9 75 ff ff ff       	jmp    0x529260
5292eb:	53                   	push   %ebx
5292ec:	ff 77 14             	push   0x14(%edi)
5292ef:	ff 77 10             	push   0x10(%edi)
5292f2:	68 c4 9c 6b 00       	push   $0x6b9cc4
5292f7:	ff 37                	push   (%edi)
5292f9:	e8 62 9f ff ff       	call   0x523260
5292fe:	83 c4 14             	add    $0x14,%esp
529301:	5f                   	pop    %edi
529302:	5e                   	pop    %esi
529303:	b8 01 00 00 00       	mov    $0x1,%eax
529308:	5b                   	pop    %ebx
529309:	8b e5                	mov    %ebp,%esp
52930b:	5d                   	pop    %ebp
52930c:	c3                   	ret
52930d:	5f                   	pop    %edi
52930e:	5e                   	pop    %esi
52930f:	33 c0                	xor    %eax,%eax
529311:	5b                   	pop    %ebx
529312:	8b e5                	mov    %ebp,%esp
529314:	5d                   	pop    %ebp
529315:	c3                   	ret
529316:	cc                   	int3
529317:	cc                   	int3
529318:	cc                   	int3
529319:	cc                   	int3
52931a:	cc                   	int3
52931b:	cc                   	int3
52931c:	cc                   	int3
52931d:	cc                   	int3