4221ab:	50                   	push   %eax
4221ac:	8d 85 74 fd ff ff    	lea    -0x28c(%ebp),%eax
4221b2:	50                   	push   %eax
4221b3:	57                   	push   %edi
4221b4:	e8 f2 63 ff ff       	call   0x4185ab
4221b9:	83 c4 0c             	add    $0xc,%esp
4221bc:	8d 8d ac fd ff ff    	lea    -0x254(%ebp),%ecx
4221c2:	f7 d8                	neg    %eax
4221c4:	1b c0                	sbb    %eax,%eax
4221c6:	53                   	push   %ebx
4221c7:	53                   	push   %ebx
4221c8:	53                   	push   %ebx
4221c9:	51                   	push   %ecx
4221ca:	f7 d0                	not    %eax
4221cc:	23 85 7c fd ff ff    	and    -0x284(%ebp),%eax
4221d2:	53                   	push   %ebx
4221d3:	50                   	push   %eax
4221d4:	ff 15 58 11 43 00    	call   *0x431158
4221da:	8b f0                	mov    %eax,%esi
4221dc:	83 fe ff             	cmp    $0xffffffff,%esi
4221df:	75 2e                	jne    0x42220f
4221e1:	ff b5 a4 fd ff ff    	push   -0x25c(%ebp)
4221e7:	53                   	push   %ebx
4221e8:	53                   	push   %ebx
4221e9:	57                   	push   %edi
4221ea:	e8 44 fe ff ff       	call   0x422033
4221ef:	83 c4 10             	add    $0x10,%esp
4221f2:	8b f0                	mov    %eax,%esi
4221f4:	38 9d 88 fd ff ff    	cmp    %bl,-0x278(%ebp)
4221fa:	74 0c                	je     0x422208
4221fc:	ff b5 7c fd ff ff    	push   -0x284(%ebp)
422202:	e8 09 4a fe ff       	call   0x406c10
422207:	59                   	pop    %ecx
422208:	8b c6                	mov    %esi,%eax
42220a:	e9 4b 01 00 00       	jmp    0x42235a
42220f:	8b 85 a4 fd ff ff    	mov    -0x25c(%ebp),%eax
422215:	8b 48 04             	mov    0x4(%eax),%ecx
422218:	2b 08                	sub    (%eax),%ecx
42221a:	c1 f9 02             	sar    $0x2,%ecx
42221d:	89 8d 6c fd ff ff    	mov    %ecx,-0x294(%ebp)
422223:	89 9d 8c fd ff ff    	mov    %ebx,-0x274(%ebp)
422229:	89 9d 90 fd ff ff    	mov    %ebx,-0x270(%ebp)
42222f:	89 9d 94 fd ff ff    	mov    %ebx,-0x26c(%ebp)
422235:	89 9d 98 fd ff ff    	mov    %ebx,-0x268(%ebp)
42223b:	89 9d 9c fd ff ff    	mov    %ebx,-0x264(%ebp)
422241:	88 9d a0 fd ff ff    	mov    %bl,-0x260(%ebp)
422247:	e8 7c 63 ff ff       	call   0x4185c8
42224c:	50                   	push   %eax
42224d:	8d 85 ab fd ff ff    	lea    -0x255(%ebp),%eax
422253:	50                   	push   %eax
422254:	8d 85 8c fd ff ff    	lea    -0x274(%ebp),%eax
42225a:	50                   	push   %eax
42225b:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
422261:	50                   	push   %eax
422262:	e8 89 fb ff ff       	call   0x421df0
422267:	83 c4 10             	add    $0x10,%esp
42226a:	f7 d8                	neg    %eax
42226c:	1b c0                	sbb    %eax,%eax
42226e:	f7 d0                	not    %eax
422270:	23 85 94 fd ff ff    	and    -0x26c(%ebp),%eax
422276:	80 38 2e             	cmpb   $0x2e,(%eax)
422279:	75 11                	jne    0x42228c
42227b:	8a 48 01             	mov    0x1(%eax),%cl
42227e:	84 c9                	test   %cl,%cl
422280:	74 2a                	je     0x4222ac
422282:	80 f9 2e             	cmp    $0x2e,%cl
422285:	75 05                	jne    0x42228c
422287:	38 58 02             	cmp    %bl,0x2(%eax)
42228a:	74 20                	je     0x4222ac
42228c:	ff b5 a4 fd ff ff    	push   -0x25c(%ebp)
422292:	ff b5 70 fd ff ff    	push   -0x290(%ebp)
422298:	57                   	push   %edi
422299:	50                   	push   %eax
42229a:	e8 94 fd ff ff       	call   0x422033
42229f:	83 c4 10             	add    $0x10,%esp
4222a2:	89 85 68 fd ff ff    	mov    %eax,-0x298(%ebp)
4222a8:	85 c0                	test   %eax,%eax
4222aa:	75 79                	jne    0x422325
4222ac:	38 9d a0 fd ff ff    	cmp    %bl,-0x260(%ebp)
4222b2:	74 0c                	je     0x4222c0
4222b4:	ff b5 94 fd ff ff    	push   -0x26c(%ebp)
4222ba:	e8 51 49 fe ff       	call   0x406c10
4222bf:	59                   	pop    %ecx
4222c0:	8d 85 ac fd ff ff    	lea    -0x254(%ebp),%eax
4222c6:	50                   	push   %eax
4222c7:	56                   	push   %esi
4222c8:	ff 15 5c 11 43 00    	call   *0x43115c
4222ce:	85 c0                	test   %eax,%eax
4222d0:	0f 85 4d ff ff ff    	jne    0x422223
4222d6:	8b 85 a4 fd ff ff    	mov    -0x25c(%ebp),%eax
4222dc:	8b 8d 6c fd ff ff    	mov    -0x294(%ebp),%ecx
4222e2:	8b 10                	mov    (%eax),%edx
4222e4:	8b 40 04             	mov    0x4(%eax),%eax
4222e7:	2b c2                	sub    %edx,%eax
4222e9:	c1 f8 02             	sar    $0x2,%eax
4222ec:	3b c8                	cmp    %eax,%ecx
4222ee:	74 16                	je     0x422306
4222f0:	68 d8 1d 42 00       	push   $0x421dd8
4222f5:	2b c1                	sub    %ecx,%eax
4222f7:	6a 04                	push   $0x4
4222f9:	50                   	push   %eax
4222fa:	8d 04 8a             	lea    (%edx,%ecx,4),%eax
4222fd:	50                   	push   %eax
4222fe:	e8 cd 7e 00 00       	call   0x42a1d0
422303:	83 c4 10             	add    $0x10,%esp
422306:	56                   	push   %esi
422307:	ff 15 54 11 43 00    	call   *0x431154
42230d:	38 9d 88 fd ff ff    	cmp    %bl,-0x278(%ebp)
422313:	74 0c                	je     0x422321
422315:	ff b5 7c fd ff ff    	push   -0x284(%ebp)
42231b:	e8 f0 48 fe ff       	call   0x406c10
422320:	59                   	pop    %ecx
422321:	33 c0                	xor    %eax,%eax
422323:	eb 35                	jmp    0x42235a
422325:	38 9d a0 fd ff ff    	cmp    %bl,-0x260(%ebp)
42232b:	74 0c                	je     0x422339
42232d:	ff b5 94 fd ff ff    	push   -0x26c(%ebp)
422333:	e8 d8 48 fe ff       	call   0x406c10
422338:	59                   	pop    %ecx
422339:	56                   	push   %esi
42233a:	ff 15 54 11 43 00    	call   *0x431154
422340:	38 9d 88 fd ff ff    	cmp    %bl,-0x278(%ebp)
422346:	74 0c                	je     0x422354
422348:	ff b5 7c fd ff ff    	push   -0x284(%ebp)
42234e:	e8 bd 48 fe ff       	call   0x406c10
422353:	59                   	pop    %ecx
422354:	8b 85 68 fd ff ff    	mov    -0x298(%ebp),%eax
42235a:	5e                   	pop    %esi
42235b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42235e:	5f                   	pop    %edi
42235f:	33 cd                	xor    %ebp,%ecx
422361:	5b                   	pop    %ebx
422362:	e8 40 79 fe ff       	call   0x409ca7
422367:	c9                   	leave
422368:	c3                   	ret
422369:	8b ff                	mov    %edi,%edi
42236b:	56                   	push   %esi
42236c:	57                   	push   %edi
42236d:	8b f9                	mov    %ecx,%edi
42236f:	8b 37                	mov    (%edi),%esi
422371:	eb 0b                	jmp    0x42237e
422373:	ff 36                	push   (%esi)
422375:	e8 96 48 fe ff       	call   0x406c10
42237a:	59                   	pop    %ecx
42237b:	83 c6 04             	add    $0x4,%esi
42237e:	3b 77 04             	cmp    0x4(%edi),%esi
422381:	75 f0                	jne    0x422373
422383:	ff 37                	push   (%edi)
422385:	e8 86 48 fe ff       	call   0x406c10
42238a:	59                   	pop    %ecx
42238b:	5f                   	pop    %edi
42238c:	5e                   	pop    %esi
42238d:	c3                   	ret
42238e:	8b ff                	mov    %edi,%edi
422390:	55                   	push   %ebp
422391:	8b ec                	mov    %esp,%ebp
422393:	56                   	push   %esi
422394:	57                   	push   %edi
422395:	8b f1                	mov    %ecx,%esi
422397:	e8 6b 62 ff ff       	call   0x418607
42239c:	8b 7d 08             	mov    0x8(%ebp),%edi
42239f:	8d 46 08             	lea    0x8(%esi),%eax
4223a2:	56                   	push   %esi
4223a3:	57                   	push   %edi
4223a4:	50                   	push   %eax
4223a5:	e8 b6 62 ff ff       	call   0x418660
4223aa:	83 c4 0c             	add    $0xc,%esp
4223ad:	85 c0                	test   %eax,%eax
4223af:	74 0a                	je     0x4223bb
4223b1:	83 66 0c 00          	andl   $0x0,0xc(%esi)
4223b5:	c6 46 14 00          	movb   $0x0,0x14(%esi)
4223b9:	eb 09                	jmp    0x4223c4
4223bb:	c6 46 14 01          	movb   $0x1,0x14(%esi)
4223bf:	33 c0                	xor    %eax,%eax
4223c1:	89 7e 0c             	mov    %edi,0xc(%esi)
4223c4:	5f                   	pop    %edi
4223c5:	5e                   	pop    %esi
4223c6:	5d                   	pop    %ebp
4223c7:	c2 04 00             	ret    $0x4
4223ca:	8b ff                	mov    %edi,%edi
4223cc:	56                   	push   %esi
4223cd:	8b f1                	mov    %ecx,%esi
4223cf:	57                   	push   %edi
4223d0:	8b 7e 08             	mov    0x8(%esi),%edi
4223d3:	39 7e 04             	cmp    %edi,0x4(%esi)
4223d6:	74 04                	je     0x4223dc
4223d8:	33 c0                	xor    %eax,%eax
4223da:	eb 72                	jmp    0x42244e
4223dc:	83 3e 00             	cmpl   $0x0,(%esi)
4223df:	75 26                	jne    0x422407
4223e1:	6a 04                	push   $0x4
4223e3:	6a 04                	push   $0x4
4223e5:	e8 c6 47 fe ff       	call   0x406bb0
4223ea:	6a 00                	push   $0x0
4223ec:	89 06                	mov    %eax,(%esi)
4223ee:	e8 1d 48 fe ff       	call   0x406c10
4223f3:	8b 06                	mov    (%esi),%eax
4223f5:	83 c4 0c             	add    $0xc,%esp
4223f8:	85 c0                	test   %eax,%eax
4223fa:	74 18                	je     0x422414
4223fc:	89 46 04             	mov    %eax,0x4(%esi)
4223ff:	83 c0 10             	add    $0x10,%eax
422402:	89 46 08             	mov    %eax,0x8(%esi)
422405:	eb d1                	jmp    0x4223d8
422407:	2b 3e                	sub    (%esi),%edi
422409:	c1 ff 02             	sar    $0x2,%edi
42240c:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
422412:	76 05                	jbe    0x422419
422414:	6a 0c                	push   $0xc
422416:	58                   	pop    %eax
422417:	eb 35                	jmp    0x42244e
422419:	53                   	push   %ebx
42241a:	6a 04                	push   $0x4
42241c:	8d 1c 3f             	lea    (%edi,%edi,1),%ebx
42241f:	53                   	push   %ebx
422420:	ff 36                	push   (%esi)
422422:	e8 39 48 fe ff       	call   0x406c60
422427:	83 c4 0c             	add    $0xc,%esp
42242a:	85 c0                	test   %eax,%eax
42242c:	75 05                	jne    0x422433
42242e:	6a 0c                	push   $0xc
422430:	5e                   	pop    %esi
422431:	eb 10                	jmp    0x422443
422433:	89 06                	mov    %eax,(%esi)
422435:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
422438:	8d 04 98             	lea    (%eax,%ebx,4),%eax
42243b:	89 4e 04             	mov    %ecx,0x4(%esi)
42243e:	89 46 08             	mov    %eax,0x8(%esi)
422441:	33 f6                	xor    %esi,%esi
422443:	6a 00                	push   $0x0
422445:	e8 c6 47 fe ff       	call   0x406c10
42244a:	59                   	pop    %ecx
42244b:	8b c6                	mov    %esi,%eax
42244d:	5b                   	pop    %ebx
42244e:	5f                   	pop    %edi
42244f:	5e                   	pop    %esi
422450:	c3                   	ret
422451:	8b ff                	mov    %edi,%edi
422453:	55                   	push   %ebp
422454:	8b ec                	mov    %esp,%ebp
422456:	5d                   	pop    %ebp
422457:	e9 5a fa ff ff       	jmp    0x421eb6
42245c:	8b ff                	mov    %edi,%edi
42245e:	55                   	push   %ebp
42245f:	8b ec                	mov    %esp,%ebp
422461:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
422467:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
42246c:	33 c5                	xor    %ebp,%eax
42246e:	89 45 fc             	mov    %eax,-0x4(%ebp)
422471:	8b 45 08             	mov    0x8(%ebp),%eax
422474:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
42247a:	68 05 01 00 00       	push   $0x105
42247f:	51                   	push   %ecx
422480:	50                   	push   %eax
422481:	ff 15 30 10 43 00    	call   *0x431030
422487:	85 c0                	test   %eax,%eax
422489:	75 11                	jne    0x42249c
42248b:	ff 15 08 11 43 00    	call   *0x431108
422491:	50                   	push   %eax
422492:	e8 80 a1 ff ff       	call   0x41c617
422497:	59                   	pop    %ecx
422498:	33 c0                	xor    %eax,%eax
42249a:	eb 55                	jmp    0x4224f1
42249c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42249f:	8b 45 10             	mov    0x10(%ebp),%eax
4224a2:	83 a5 e4 fd ff ff 00 	andl   $0x0,-0x21c(%ebp)
4224a9:	89 8d d4 fd ff ff    	mov    %ecx,-0x22c(%ebp)
4224af:	89 85 d8 fd ff ff    	mov    %eax,-0x228(%ebp)
4224b5:	89 8d dc fd ff ff    	mov    %ecx,-0x224(%ebp)
4224bb:	89 85 e0 fd ff ff    	mov    %eax,-0x220(%ebp)
4224c1:	c6 85 e8 fd ff ff 00 	movb   $0x0,-0x218(%ebp)
4224c8:	e8 fb 60 ff ff       	call   0x4185c8
4224cd:	50                   	push   %eax
4224ce:	8d 85 ef fd ff ff    	lea    -0x211(%ebp),%eax
4224d4:	50                   	push   %eax
4224d5:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
4224db:	50                   	push   %eax
4224dc:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
4224e2:	50                   	push   %eax
4224e3:	e8 b9 e0 ff ff       	call   0x4205a1
4224e8:	8b 85 e4 fd ff ff    	mov    -0x21c(%ebp),%eax
4224ee:	83 c4 10             	add    $0x10,%esp
4224f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4224f4:	33 cd                	xor    %ebp,%ecx
4224f6:	e8 ac 77 fe ff       	call   0x409ca7
4224fb:	c9                   	leave
4224fc:	c3                   	ret
4224fd:	6a 08                	push   $0x8
4224ff:	68 60 b0 43 00       	push   $0x43b060
422504:	e8 c7 7f fe ff       	call   0x40a4d0
422509:	8b 45 08             	mov    0x8(%ebp),%eax
42250c:	ff 30                	push   (%eax)
42250e:	e8 6f 0e 00 00       	call   0x423382
422513:	59                   	pop    %ecx
422514:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
422518:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42251b:	e8 2a 00 00 00       	call   0x42254a
422520:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
422527:	e8 12 00 00 00       	call   0x42253e
42252c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42252f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
422536:	59                   	pop    %ecx
422537:	5f                   	pop    %edi
422538:	5e                   	pop    %esi
422539:	5b                   	pop    %ebx
42253a:	c9                   	leave
42253b:	c2 0c 00             	ret    $0xc
42253e:	8b 45 10             	mov    0x10(%ebp),%eax
422541:	ff 30                	push   (%eax)
422543:	e8 82 0e 00 00       	call   0x4233ca
422548:	59                   	pop    %ecx
422549:	c3                   	ret
42254a:	8b ff                	mov    %edi,%edi
42254c:	56                   	push   %esi
42254d:	8b f1                	mov    %ecx,%esi
42254f:	b9 01 01 00 00       	mov    $0x101,%ecx
422554:	51                   	push   %ecx
422555:	8b 06                	mov    (%esi),%eax
422557:	8b 00                	mov    (%eax),%eax
422559:	8b 40 48             	mov    0x48(%eax),%eax
42255c:	83 c0 18             	add    $0x18,%eax
42255f:	50                   	push   %eax
422560:	51                   	push   %ecx
422561:	ff 35 bc fb 43 00    	push   0x43fbbc
422567:	e8 0c 5f ff ff       	call   0x418478
42256c:	8b 06                	mov    (%esi),%eax
42256e:	b9 00 01 00 00       	mov    $0x100,%ecx
422573:	51                   	push   %ecx
422574:	8b 00                	mov    (%eax),%eax
422576:	8b 40 48             	mov    0x48(%eax),%eax
422579:	05 19 01 00 00       	add    $0x119,%eax
42257e:	50                   	push   %eax
42257f:	51                   	push   %ecx
422580:	ff 35 c0 fb 43 00    	push   0x43fbc0
422586:	e8 ed 5e ff ff       	call   0x418478
42258b:	8b 46 04             	mov    0x4(%esi),%eax
42258e:	83 c4 20             	add    $0x20,%esp
422591:	83 c9 ff             	or     $0xffffffff,%ecx
422594:	8b 00                	mov    (%eax),%eax
422596:	8b 00                	mov    (%eax),%eax
422598:	f0 0f c1 08          	lock xadd %ecx,(%eax)
42259c:	75 15                	jne    0x4225b3
42259e:	8b 46 04             	mov    0x4(%esi),%eax
4225a1:	8b 00                	mov    (%eax),%eax
4225a3:	81 38 b8 d5 43 00    	cmpl   $0x43d5b8,(%eax)
4225a9:	74 08                	je     0x4225b3
4225ab:	ff 30                	push   (%eax)
4225ad:	e8 5e 46 fe ff       	call   0x406c10
4225b2:	59                   	pop    %ecx
4225b3:	8b 06                	mov    (%esi),%eax