40506b:	cc                   	int3
40506c:	cc                   	int3
40506d:	cc                   	int3
40506e:	cc                   	int3
40506f:	cc                   	int3
405070:	55                   	push   %ebp
405071:	8b ec                	mov    %esp,%ebp
405073:	56                   	push   %esi
405074:	8b 75 08             	mov    0x8(%ebp),%esi
405077:	57                   	push   %edi
405078:	8b 7d 0c             	mov    0xc(%ebp),%edi
40507b:	8b 06                	mov    (%esi),%eax
40507d:	83 f8 fe             	cmp    $0xfffffffe,%eax
405080:	74 0d                	je     0x40508f
405082:	8b 4e 04             	mov    0x4(%esi),%ecx
405085:	03 cf                	add    %edi,%ecx
405087:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40508a:	e8 39 f0 ff ff       	call   0x4040c8
40508f:	8b 46 08             	mov    0x8(%esi),%eax
405092:	8b 4e 0c             	mov    0xc(%esi),%ecx
405095:	03 cf                	add    %edi,%ecx
405097:	33 0c 38             	xor    (%eax,%edi,1),%ecx
40509a:	5f                   	pop    %edi
40509b:	5e                   	pop    %esi
40509c:	5d                   	pop    %ebp
40509d:	e9 26 f0 ff ff       	jmp    0x4040c8
4050a2:	cc                   	int3
4050a3:	cc                   	int3
4050a4:	cc                   	int3
4050a5:	cc                   	int3
4050a6:	cc                   	int3
4050a7:	cc                   	int3
4050a8:	cc                   	int3
4050a9:	cc                   	int3
4050aa:	cc                   	int3
4050ab:	cc                   	int3
4050ac:	cc                   	int3
4050ad:	cc                   	int3
4050ae:	cc                   	int3
4050af:	cc                   	int3
4050b0:	55                   	push   %ebp
4050b1:	8b ec                	mov    %esp,%ebp
4050b3:	83 ec 1c             	sub    $0x1c,%esp
4050b6:	53                   	push   %ebx
4050b7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4050ba:	56                   	push   %esi
4050bb:	57                   	push   %edi
4050bc:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
4050c0:	ff 33                	push   (%ebx)
4050c2:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
4050c9:	e8 c1 2e 01 00       	call   0x417f8f
4050ce:	89 03                	mov    %eax,(%ebx)
4050d0:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4050d3:	8b 43 08             	mov    0x8(%ebx),%eax
4050d6:	8d 73 10             	lea    0x10(%ebx),%esi
4050d9:	33 05 c0 10 42 00    	xor    0x4210c0,%eax
4050df:	56                   	push   %esi
4050e0:	50                   	push   %eax
4050e1:	89 75 f0             	mov    %esi,-0x10(%ebp)
4050e4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4050e7:	e8 84 ff ff ff       	call   0x405070
4050ec:	ff 75 10             	push   0x10(%ebp)
4050ef:	e8 28 10 00 00       	call   0x40611c
4050f4:	8b 45 08             	mov    0x8(%ebp),%eax
4050f7:	83 c4 10             	add    $0x10,%esp
4050fa:	8b 7b 0c             	mov    0xc(%ebx),%edi
4050fd:	f6 40 04 66          	testb  $0x66,0x4(%eax)
405101:	75 5a                	jne    0x40515d
405103:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405106:	8b 45 10             	mov    0x10(%ebp),%eax
405109:	89 45 e8             	mov    %eax,-0x18(%ebp)
40510c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40510f:	89 43 fc             	mov    %eax,-0x4(%ebx)
405112:	83 ff fe             	cmp    $0xfffffffe,%edi
405115:	74 69                	je     0x405180
405117:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40511a:	8d 47 02             	lea    0x2(%edi),%eax
40511d:	8d 04 47             	lea    (%edi,%eax,2),%eax
405120:	8b 1c 81             	mov    (%ecx,%eax,4),%ebx
405123:	8d 04 81             	lea    (%ecx,%eax,4),%eax
405126:	8b 48 04             	mov    0x4(%eax),%ecx
405129:	89 45 ec             	mov    %eax,-0x14(%ebp)
40512c:	85 c9                	test   %ecx,%ecx
40512e:	74 14                	je     0x405144
405130:	8b d6                	mov    %esi,%edx
405132:	e8 09 11 00 00       	call   0x406240
405137:	b1 01                	mov    $0x1,%cl
405139:	88 4d ff             	mov    %cl,-0x1(%ebp)
40513c:	85 c0                	test   %eax,%eax
40513e:	78 14                	js     0x405154
405140:	7f 48                	jg     0x40518a
405142:	eb 03                	jmp    0x405147
405144:	8a 4d ff             	mov    -0x1(%ebp),%cl
405147:	8b fb                	mov    %ebx,%edi
405149:	83 fb fe             	cmp    $0xfffffffe,%ebx
40514c:	75 c9                	jne    0x405117
40514e:	84 c9                	test   %cl,%cl
405150:	74 2e                	je     0x405180
405152:	eb 20                	jmp    0x405174
405154:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40515b:	eb 17                	jmp    0x405174
40515d:	83 ff fe             	cmp    $0xfffffffe,%edi
405160:	74 1e                	je     0x405180
405162:	68 c0 10 42 00       	push   $0x4210c0
405167:	56                   	push   %esi
405168:	ba fe ff ff ff       	mov    $0xfffffffe,%edx
40516d:	8b cb                	mov    %ebx,%ecx
40516f:	e8 2c 11 00 00       	call   0x4062a0
405174:	56                   	push   %esi
405175:	ff 75 f8             	push   -0x8(%ebp)
405178:	e8 f3 fe ff ff       	call   0x405070
40517d:	83 c4 08             	add    $0x8,%esp
405180:	8b 45 f4             	mov    -0xc(%ebp),%eax
405183:	5f                   	pop    %edi
405184:	5e                   	pop    %esi
405185:	5b                   	pop    %ebx
405186:	8b e5                	mov    %ebp,%esp
405188:	5d                   	pop    %ebp
405189:	c3                   	ret
40518a:	8b 45 08             	mov    0x8(%ebp),%eax
40518d:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
405193:	75 38                	jne    0x4051cd
405195:	83 3d c8 95 41 00 00 	cmpl   $0x0,0x4195c8
40519c:	74 2f                	je     0x4051cd
40519e:	68 c8 95 41 00       	push   $0x4195c8
4051a3:	e8 e8 26 01 00       	call   0x417890
4051a8:	83 c4 04             	add    $0x4,%esp
4051ab:	85 c0                	test   %eax,%eax
4051ad:	74 1b                	je     0x4051ca
4051af:	8b 35 c8 95 41 00    	mov    0x4195c8,%esi
4051b5:	8b ce                	mov    %esi,%ecx
4051b7:	6a 01                	push   $0x1
4051b9:	ff 75 08             	push   0x8(%ebp)
4051bc:	ff 15 54 91 41 00    	call   *0x419154
4051c2:	ff d6                	call   *%esi
4051c4:	8b 75 f0             	mov    -0x10(%ebp),%esi
4051c7:	83 c4 08             	add    $0x8,%esp
4051ca:	8b 45 08             	mov    0x8(%ebp),%eax
4051cd:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4051d0:	8b d0                	mov    %eax,%edx
4051d2:	e8 a9 10 00 00       	call   0x406280
4051d7:	8b 45 0c             	mov    0xc(%ebp),%eax
4051da:	39 78 0c             	cmp    %edi,0xc(%eax)
4051dd:	74 12                	je     0x4051f1
4051df:	68 c0 10 42 00       	push   $0x4210c0
4051e4:	56                   	push   %esi
4051e5:	8b d7                	mov    %edi,%edx
4051e7:	8b c8                	mov    %eax,%ecx
4051e9:	e8 b2 10 00 00       	call   0x4062a0
4051ee:	8b 45 0c             	mov    0xc(%ebp),%eax
4051f1:	56                   	push   %esi
4051f2:	ff 75 f8             	push   -0x8(%ebp)
4051f5:	89 58 0c             	mov    %ebx,0xc(%eax)
4051f8:	e8 73 fe ff ff       	call   0x405070
4051fd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
405200:	83 c4 08             	add    $0x8,%esp
405203:	8b d6                	mov    %esi,%edx
405205:	8b 49 08             	mov    0x8(%ecx),%ecx
405208:	e8 53 10 00 00       	call   0x406260
40520d:	cc                   	int3
40520e:	e8 a4 10 00 00       	call   0x4062b7
405213:	84 c0                	test   %al,%al
405215:	75 03                	jne    0x40521a
405217:	32 c0                	xor    %al,%al
405219:	c3                   	ret
40521a:	e8 1d 01 00 00       	call   0x40533c
40521f:	84 c0                	test   %al,%al
405221:	75 07                	jne    0x40522a
405223:	e8 cb 10 00 00       	call   0x4062f3
405228:	eb ed                	jmp    0x405217
40522a:	b0 01                	mov    $0x1,%al
40522c:	c3                   	ret
40522d:	55                   	push   %ebp
40522e:	8b ec                	mov    %esp,%ebp
405230:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
405234:	75 0a                	jne    0x405240
405236:	e8 34 01 00 00       	call   0x40536f
40523b:	e8 b3 10 00 00       	call   0x4062f3
405240:	b0 01                	mov    $0x1,%al
405242:	5d                   	pop    %ebp
405243:	c3                   	ret
405244:	55                   	push   %ebp
405245:	8b ec                	mov    %esp,%ebp
405247:	8b 45 08             	mov    0x8(%ebp),%eax
40524a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40524d:	3b c1                	cmp    %ecx,%eax
40524f:	75 04                	jne    0x405255
405251:	33 c0                	xor    %eax,%eax
405253:	5d                   	pop    %ebp
405254:	c3                   	ret
405255:	83 c1 05             	add    $0x5,%ecx
405258:	83 c0 05             	add    $0x5,%eax
40525b:	8a 10                	mov    (%eax),%dl
40525d:	3a 11                	cmp    (%ecx),%dl
40525f:	75 18                	jne    0x405279
405261:	84 d2                	test   %dl,%dl
405263:	74 ec                	je     0x405251
405265:	8a 50 01             	mov    0x1(%eax),%dl
405268:	3a 51 01             	cmp    0x1(%ecx),%dl
40526b:	75 0c                	jne    0x405279
40526d:	83 c0 02             	add    $0x2,%eax
405270:	83 c1 02             	add    $0x2,%ecx
405273:	84 d2                	test   %dl,%dl
405275:	75 e4                	jne    0x40525b
405277:	eb d8                	jmp    0x405251
405279:	1b c0                	sbb    %eax,%eax
40527b:	83 c8 01             	or     $0x1,%eax
40527e:	5d                   	pop    %ebp
40527f:	c3                   	ret
405280:	55                   	push   %ebp
405281:	8b ec                	mov    %esp,%ebp
405283:	8b 45 08             	mov    0x8(%ebp),%eax
405286:	85 c0                	test   %eax,%eax
405288:	74 0e                	je     0x405298
40528a:	3d 98 1d 42 00       	cmp    $0x421d98,%eax
40528f:	74 07                	je     0x405298
405291:	50                   	push   %eax
405292:	e8 3c 3f 00 00       	call   0x4091d3
405297:	59                   	pop    %ecx
405298:	5d                   	pop    %ebp
405299:	c2 04 00             	ret    $0x4
40529c:	e8 09 00 00 00       	call   0x4052aa
4052a1:	85 c0                	test   %eax,%eax
4052a3:	0f 84 81 52 00 00    	je     0x40a52a
4052a9:	c3                   	ret
4052aa:	83 3d 10 11 42 00 ff 	cmpl   $0xffffffff,0x421110
4052b1:	75 03                	jne    0x4052b6
4052b3:	33 c0                	xor    %eax,%eax
4052b5:	c3                   	ret
4052b6:	53                   	push   %ebx
4052b7:	57                   	push   %edi
4052b8:	ff 15 28 90 41 00    	call   *0x419028
4052be:	ff 35 10 11 42 00    	push   0x421110
4052c4:	8b f8                	mov    %eax,%edi
4052c6:	e8 b8 11 00 00       	call   0x406483
4052cb:	8b d8                	mov    %eax,%ebx
4052cd:	59                   	pop    %ecx
4052ce:	83 fb ff             	cmp    $0xffffffff,%ebx
4052d1:	74 17                	je     0x4052ea
4052d3:	85 db                	test   %ebx,%ebx
4052d5:	75 59                	jne    0x405330
4052d7:	6a ff                	push   $0xffffffff
4052d9:	ff 35 10 11 42 00    	push   0x421110
4052df:	e8 da 11 00 00       	call   0x4064be
4052e4:	59                   	pop    %ecx
4052e5:	59                   	pop    %ecx
4052e6:	85 c0                	test   %eax,%eax
4052e8:	75 04                	jne    0x4052ee
4052ea:	33 db                	xor    %ebx,%ebx
4052ec:	eb 42                	jmp    0x405330
4052ee:	56                   	push   %esi
4052ef:	6a 28                	push   $0x28
4052f1:	6a 01                	push   $0x1
4052f3:	e8 d0 52 00 00       	call   0x40a5c8
4052f8:	8b f0                	mov    %eax,%esi
4052fa:	59                   	pop    %ecx
4052fb:	59                   	pop    %ecx
4052fc:	85 f6                	test   %esi,%esi
4052fe:	74 12                	je     0x405312
405300:	56                   	push   %esi
405301:	ff 35 10 11 42 00    	push   0x421110
405307:	e8 b2 11 00 00       	call   0x4064be
40530c:	59                   	pop    %ecx
40530d:	59                   	pop    %ecx
40530e:	85 c0                	test   %eax,%eax
405310:	75 12                	jne    0x405324
405312:	33 db                	xor    %ebx,%ebx
405314:	53                   	push   %ebx
405315:	ff 35 10 11 42 00    	push   0x421110
40531b:	e8 9e 11 00 00       	call   0x4064be
405320:	59                   	pop    %ecx
405321:	59                   	pop    %ecx
405322:	eb 04                	jmp    0x405328
405324:	8b de                	mov    %esi,%ebx
405326:	33 f6                	xor    %esi,%esi
405328:	56                   	push   %esi
405329:	e8 a5 3e 00 00       	call   0x4091d3
40532e:	59                   	pop    %ecx
40532f:	5e                   	pop    %esi
405330:	57                   	push   %edi
405331:	ff 15 88 90 41 00    	call   *0x419088
405337:	5f                   	pop    %edi
405338:	8b c3                	mov    %ebx,%eax
40533a:	5b                   	pop    %ebx
40533b:	c3                   	ret
40533c:	68 80 52 40 00       	push   $0x405280
405341:	e8 c7 10 00 00       	call   0x40640d
405346:	a3 10 11 42 00       	mov    %eax,0x421110
40534b:	59                   	pop    %ecx
40534c:	83 f8 ff             	cmp    $0xffffffff,%eax
40534f:	75 03                	jne    0x405354
405351:	32 c0                	xor    %al,%al
405353:	c3                   	ret
405354:	68 98 1d 42 00       	push   $0x421d98
405359:	50                   	push   %eax
40535a:	e8 5f 11 00 00       	call   0x4064be
40535f:	59                   	pop    %ecx
405360:	59                   	pop    %ecx
405361:	85 c0                	test   %eax,%eax
405363:	75 07                	jne    0x40536c
405365:	e8 05 00 00 00       	call   0x40536f
40536a:	eb e5                	jmp    0x405351
40536c:	b0 01                	mov    $0x1,%al
40536e:	c3                   	ret
40536f:	a1 10 11 42 00       	mov    0x421110,%eax
405374:	83 f8 ff             	cmp    $0xffffffff,%eax
405377:	74 0e                	je     0x405387
405379:	50                   	push   %eax
40537a:	e8 c9 10 00 00       	call   0x406448
40537f:	83 0d 10 11 42 00 ff 	orl    $0xffffffff,0x421110
405386:	59                   	pop    %ecx
405387:	b0 01                	mov    $0x1,%al
405389:	c3                   	ret
40538a:	6a 10                	push   $0x10
40538c:	68 a8 fd 41 00       	push   $0x41fda8
405391:	e8 0a eb ff ff       	call   0x403ea0
405396:	33 db                	xor    %ebx,%ebx
405398:	8b 45 10             	mov    0x10(%ebp),%eax
40539b:	8b 48 04             	mov    0x4(%eax),%ecx
40539e:	85 c9                	test   %ecx,%ecx
4053a0:	0f 84 0a 01 00 00    	je     0x4054b0
4053a6:	38 59 08             	cmp    %bl,0x8(%ecx)
4053a9:	0f 84 01 01 00 00    	je     0x4054b0
4053af:	8b 50 08             	mov    0x8(%eax),%edx
4053b2:	85 d2                	test   %edx,%edx
4053b4:	75 08                	jne    0x4053be
4053b6:	39 18                	cmp    %ebx,(%eax)
4053b8:	0f 8d f2 00 00 00    	jge    0x4054b0
4053be:	8b 08                	mov    (%eax),%ecx
4053c0:	8b 75 0c             	mov    0xc(%ebp),%esi
4053c3:	85 c9                	test   %ecx,%ecx
4053c5:	78 05                	js     0x4053cc
4053c7:	83 c6 0c             	add    $0xc,%esi
4053ca:	03 f2                	add    %edx,%esi
4053cc:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4053cf:	8b 7d 14             	mov    0x14(%ebp),%edi
4053d2:	84 c9                	test   %cl,%cl
4053d4:	79 20                	jns    0x4053f6
4053d6:	f6 07 10             	testb  $0x10,(%edi)
4053d9:	74 1b                	je     0x4053f6
4053db:	a1 94 1d 42 00       	mov    0x421d94,%eax
4053e0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4053e3:	85 c0                	test   %eax,%eax
4053e5:	74 0f                	je     0x4053f6
4053e7:	8b c8                	mov    %eax,%ecx
4053e9:	ff 15 54 91 41 00    	call   *0x419154
4053ef:	ff 55 e4             	call   *-0x1c(%ebp)
4053f2:	8b c8                	mov    %eax,%ecx
4053f4:	eb 0b                	jmp    0x405401
4053f6:	8b 45 08             	mov    0x8(%ebp),%eax