46829a:	53                   	push   %ebx
46829b:	ff 76 08             	push   0x8(%esi)
46829e:	0f b7 c0             	movzwl %ax,%eax
4682a1:	8d 4f 01             	lea    0x1(%edi),%ecx
4682a4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4682a7:	ba ff 00 00 00       	mov    $0xff,%edx
4682ac:	8b 45 e0             	mov    -0x20(%ebp),%eax
4682af:	52                   	push   %edx
4682b0:	05 81 00 00 00       	add    $0x81,%eax
4682b5:	50                   	push   %eax
4682b6:	52                   	push   %edx
4682b7:	51                   	push   %ecx
4682b8:	68 00 01 00 00       	push   $0x100
4682bd:	ff b6 a8 00 00 00    	push   0xa8(%esi)
4682c3:	53                   	push   %ebx
4682c4:	e8 b6 2b 01 00       	call   0x47ae7f
4682c9:	83 c4 24             	add    $0x24,%esp
4682cc:	85 c0                	test   %eax,%eax
4682ce:	0f 84 c3 01 00 00    	je     0x468497
4682d4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4682d7:	b9 ff 00 00 00       	mov    $0xff,%ecx
4682dc:	53                   	push   %ebx
4682dd:	ff 76 08             	push   0x8(%esi)
4682e0:	05 81 00 00 00       	add    $0x81,%eax
4682e5:	51                   	push   %ecx
4682e6:	50                   	push   %eax
4682e7:	51                   	push   %ecx
4682e8:	8d 47 01             	lea    0x1(%edi),%eax
4682eb:	50                   	push   %eax
4682ec:	68 00 02 00 00       	push   $0x200
4682f1:	ff b6 a8 00 00 00    	push   0xa8(%esi)
4682f7:	53                   	push   %ebx
4682f8:	e8 82 2b 01 00       	call   0x47ae7f
4682fd:	83 c4 24             	add    $0x24,%esp
468300:	85 c0                	test   %eax,%eax
468302:	0f 84 8f 01 00 00    	je     0x468497
468308:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
46830c:	7e 2b                	jle    0x468339
46830e:	38 5d ee             	cmp    %bl,-0x12(%ebp)
468311:	74 26                	je     0x468339
468313:	8d 4d ef             	lea    -0x11(%ebp),%ecx
468316:	8a 01                	mov    (%ecx),%al
468318:	84 c0                	test   %al,%al
46831a:	74 1d                	je     0x468339
46831c:	0f b6 51 ff          	movzbl -0x1(%ecx),%edx
468320:	0f b6 c0             	movzbl %al,%eax
468323:	eb 08                	jmp    0x46832d
468325:	c6 04 3a 20          	movb   $0x20,(%edx,%edi,1)
468329:	42                   	inc    %edx
46832a:	0f b6 01             	movzbl (%ecx),%eax
46832d:	3b d0                	cmp    %eax,%edx
46832f:	7e f4                	jle    0x468325
468331:	83 c1 02             	add    $0x2,%ecx
468334:	38 59 ff             	cmp    %bl,-0x1(%ecx)
468337:	75 dd                	jne    0x468316
468339:	8b 45 e4             	mov    -0x1c(%ebp),%eax
46833c:	53                   	push   %ebx
46833d:	ff 76 08             	push   0x8(%esi)
468340:	05 00 01 00 00       	add    $0x100,%eax
468345:	50                   	push   %eax
468346:	68 00 01 00 00       	push   $0x100
46834b:	57                   	push   %edi
46834c:	6a 01                	push   $0x1
46834e:	53                   	push   %ebx
46834f:	89 45 c8             	mov    %eax,-0x38(%ebp)
468352:	e8 ee 27 01 00       	call   0x47ab45
468357:	83 c4 1c             	add    $0x1c,%esp
46835a:	85 c0                	test   %eax,%eax
46835c:	0f 84 35 01 00 00    	je     0x468497
468362:	8b 55 e4             	mov    -0x1c(%ebp),%edx
468365:	33 c9                	xor    %ecx,%ecx
468367:	8d 82 fe 00 00 00    	lea    0xfe(%edx),%eax
46836d:	66 89 08             	mov    %cx,(%eax)
468370:	8b 4d e0             	mov    -0x20(%ebp),%ecx
468373:	89 45 e4             	mov    %eax,-0x1c(%ebp)
468376:	8b 45 dc             	mov    -0x24(%ebp),%eax
468379:	88 59 7f             	mov    %bl,0x7f(%ecx)
46837c:	83 e9 80             	sub    $0xffffff80,%ecx
46837f:	83 7d d4 01          	cmpl   $0x1,-0x2c(%ebp)
468383:	88 58 7f             	mov    %bl,0x7f(%eax)
468386:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
468389:	88 19                	mov    %bl,(%ecx)
46838b:	8d 88 80 00 00 00    	lea    0x80(%eax),%ecx
468391:	89 4d c0             	mov    %ecx,-0x40(%ebp)
468394:	88 19                	mov    %bl,(%ecx)
468396:	7e 40                	jle    0x4683d8
468398:	38 5d ee             	cmp    %bl,-0x12(%ebp)
46839b:	74 3b                	je     0x4683d8
46839d:	8d 4d ef             	lea    -0x11(%ebp),%ecx
4683a0:	8a 01                	mov    (%ecx),%al
4683a2:	84 c0                	test   %al,%al
4683a4:	74 2f                	je     0x4683d5
4683a6:	0f b6 71 ff          	movzbl -0x1(%ecx),%esi
4683aa:	0f b6 c0             	movzbl %al,%eax
4683ad:	3b f0                	cmp    %eax,%esi
4683af:	7f 1c                	jg     0x4683cd
4683b1:	8d ba 00 01 00 00    	lea    0x100(%edx),%edi
4683b7:	8d 3c 77             	lea    (%edi,%esi,2),%edi
4683ba:	b8 00 80 00 00       	mov    $0x8000,%eax
4683bf:	46                   	inc    %esi
4683c0:	66 89 07             	mov    %ax,(%edi)
4683c3:	8d 7f 02             	lea    0x2(%edi),%edi
4683c6:	0f b6 01             	movzbl (%ecx),%eax
4683c9:	3b f0                	cmp    %eax,%esi
4683cb:	7e ed                	jle    0x4683ba
4683cd:	83 c1 02             	add    $0x2,%ecx
4683d0:	38 59 ff             	cmp    %bl,-0x1(%ecx)
4683d3:	75 cb                	jne    0x4683a0
4683d5:	8b 45 dc             	mov    -0x24(%ebp),%eax
4683d8:	6a 3f                	push   $0x3f
4683da:	59                   	pop    %ecx
4683db:	8d b2 00 02 00 00    	lea    0x200(%edx),%esi
4683e1:	8b fa                	mov    %edx,%edi
4683e3:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4683e5:	8b 55 e0             	mov    -0x20(%ebp),%edx
4683e8:	6a 1f                	push   $0x1f
4683ea:	59                   	pop    %ecx
4683eb:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4683ed:	8d b2 00 01 00 00    	lea    0x100(%edx),%esi
4683f3:	8b fa                	mov    %edx,%edi
4683f5:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4683f7:	6a 1f                	push   $0x1f
4683f9:	59                   	pop    %ecx
4683fa:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
4683fc:	a4                   	movsb  %ds:(%esi),%es:(%edi)
4683fd:	8d b0 00 01 00 00    	lea    0x100(%eax),%esi
468403:	8b f8                	mov    %eax,%edi
468405:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
468407:	66 a5                	movsw  %ds:(%esi),%es:(%edi)
468409:	a4                   	movsb  %ds:(%esi),%es:(%edi)
46840a:	8b 75 cc             	mov    -0x34(%ebp),%esi
46840d:	8b 8e 8c 00 00 00    	mov    0x8c(%esi),%ecx
468413:	85 c9                	test   %ecx,%ecx
468415:	74 49                	je     0x468460
468417:	83 c8 ff             	or     $0xffffffff,%eax
46841a:	f0 0f c1 01          	lock xadd %eax,(%ecx)
46841e:	75 40                	jne    0x468460
468420:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
468426:	2d fe 00 00 00       	sub    $0xfe,%eax
46842b:	50                   	push   %eax
46842c:	e8 08 9f 00 00       	call   0x472339
468431:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
468437:	bf 80 00 00 00       	mov    $0x80,%edi
46843c:	2b c7                	sub    %edi,%eax
46843e:	50                   	push   %eax
46843f:	e8 f5 9e 00 00       	call   0x472339
468444:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
46844a:	2b c7                	sub    %edi,%eax
46844c:	50                   	push   %eax
46844d:	e8 e7 9e 00 00       	call   0x472339
468452:	ff b6 8c 00 00 00    	push   0x8c(%esi)
468458:	e8 dc 9e 00 00       	call   0x472339
46845d:	83 c4 10             	add    $0x10,%esp
468460:	8b 45 d8             	mov    -0x28(%ebp),%eax
468463:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
468469:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
46846f:	8b 45 c8             	mov    -0x38(%ebp),%eax
468472:	89 06                	mov    %eax,(%esi)
468474:	8b 45 e4             	mov    -0x1c(%ebp),%eax
468477:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
46847d:	8b 45 c4             	mov    -0x3c(%ebp),%eax
468480:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
468486:	8b 45 c0             	mov    -0x40(%ebp),%eax
468489:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
46848f:	8b 45 d4             	mov    -0x2c(%ebp),%eax
468492:	89 46 04             	mov    %eax,0x4(%esi)
468495:	eb 26                	jmp    0x4684bd
468497:	ff 75 d8             	push   -0x28(%ebp)
46849a:	e8 9a 9e 00 00       	call   0x472339
46849f:	ff 75 e4             	push   -0x1c(%ebp)
4684a2:	e8 92 9e 00 00       	call   0x472339
4684a7:	ff 75 e0             	push   -0x20(%ebp)
4684aa:	e8 8a 9e 00 00       	call   0x472339
4684af:	ff 75 dc             	push   -0x24(%ebp)
4684b2:	e8 82 9e 00 00       	call   0x472339
4684b7:	33 db                	xor    %ebx,%ebx
4684b9:	83 c4 10             	add    $0x10,%esp
4684bc:	43                   	inc    %ebx
4684bd:	ff 75 d0             	push   -0x30(%ebp)
4684c0:	e8 74 9e 00 00       	call   0x472339
4684c5:	59                   	pop    %ecx
4684c6:	8b c3                	mov    %ebx,%eax
4684c8:	eb 3c                	jmp    0x468506
4684ca:	8b 86 8c 00 00 00    	mov    0x8c(%esi),%eax
4684d0:	85 c0                	test   %eax,%eax
4684d2:	74 03                	je     0x4684d7
4684d4:	f0 ff 08             	lock decl (%eax)
4684d7:	89 9e 8c 00 00 00    	mov    %ebx,0x8c(%esi)
4684dd:	33 c0                	xor    %eax,%eax
4684df:	89 9e 90 00 00 00    	mov    %ebx,0x90(%esi)
4684e5:	c7 06 f8 ce 49 00    	movl   $0x49cef8,(%esi)
4684eb:	c7 86 94 00 00 00 78 	movl   $0x49d178,0x94(%esi)
4684f2:	d1 49 00
4684f5:	c7 86 98 00 00 00 f8 	movl   $0x49d2f8,0x98(%esi)
4684fc:	d2 49 00
4684ff:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
468506:	8b 4d fc             	mov    -0x4(%ebp),%ecx
468509:	5f                   	pop    %edi
46850a:	5e                   	pop    %esi
46850b:	33 cd                	xor    %ebp,%ecx
46850d:	5b                   	pop    %ebx
46850e:	e8 ef 74 fd ff       	call   0x43fa02
468513:	8b e5                	mov    %ebp,%esp
468515:	5d                   	pop    %ebp
468516:	c3                   	ret
468517:	8b ff                	mov    %edi,%edi
468519:	55                   	push   %ebp
46851a:	8b ec                	mov    %esp,%ebp
46851c:	51                   	push   %ecx
46851d:	e8 de 9a 00 00       	call   0x472000
468522:	8b 48 4c             	mov    0x4c(%eax),%ecx
468525:	89 4d fc             	mov    %ecx,-0x4(%ebp)
468528:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46852b:	51                   	push   %ecx
46852c:	50                   	push   %eax
46852d:	e8 23 a0 00 00       	call   0x472555
468532:	8b 45 fc             	mov    -0x4(%ebp),%eax
468535:	59                   	pop    %ecx
468536:	59                   	pop    %ecx
468537:	8b 00                	mov    (%eax),%eax
468539:	8b e5                	mov    %ebp,%esp
46853b:	5d                   	pop    %ebp
46853c:	c3                   	ret
46853d:	a1 00 82 4b 00       	mov    0x4b8200,%eax
468542:	c3                   	ret
468543:	8b ff                	mov    %edi,%edi
468545:	55                   	push   %ebp
468546:	8b ec                	mov    %esp,%ebp
468548:	5d                   	pop    %ebp
468549:	e9 dc e7 00 00       	jmp    0x476d2a
46854e:	6a 0c                	push   $0xc
468550:	68 38 4b 4b 00       	push   $0x4b4b38
468555:	e8 06 84 fd ff       	call   0x440960
46855a:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
46855e:	8b 45 08             	mov    0x8(%ebp),%eax
468561:	ff 30                	push   (%eax)
468563:	e8 a4 f9 ff ff       	call   0x467f0c
468568:	59                   	pop    %ecx
468569:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46856d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
468570:	e8 8c 00 00 00       	call   0x468601
468575:	8b f0                	mov    %eax,%esi
468577:	89 75 e4             	mov    %esi,-0x1c(%ebp)
46857a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
468581:	e8 0d 00 00 00       	call   0x468593
468586:	8b c6                	mov    %esi,%eax
468588:	e8 19 84 fd ff       	call   0x4409a6
46858d:	c2 0c 00             	ret    $0xc
468590:	8b 75 e4             	mov    -0x1c(%ebp),%esi
468593:	8b 45 10             	mov    0x10(%ebp),%eax
468596:	ff 30                	push   (%eax)
468598:	e8 b7 f9 ff ff       	call   0x467f54
46859d:	59                   	pop    %ecx
46859e:	c3                   	ret
46859f:	8b ff                	mov    %edi,%edi
4685a1:	55                   	push   %ebp
4685a2:	8b ec                	mov    %esp,%ebp
4685a4:	83 ec 0c             	sub    $0xc,%esp
4685a7:	8b 45 08             	mov    0x8(%ebp),%eax
4685aa:	8d 4d ff             	lea    -0x1(%ebp),%ecx
4685ad:	89 45 f8             	mov    %eax,-0x8(%ebp)
4685b0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4685b3:	8d 45 f8             	lea    -0x8(%ebp),%eax
4685b6:	50                   	push   %eax
4685b7:	ff 75 0c             	push   0xc(%ebp)
4685ba:	8d 45 f4             	lea    -0xc(%ebp),%eax
4685bd:	50                   	push   %eax
4685be:	e8 8b ff ff ff       	call   0x46854e
4685c3:	8b e5                	mov    %ebp,%esp
4685c5:	5d                   	pop    %ebp
4685c6:	c3                   	ret
4685c7:	8b ff                	mov    %edi,%edi
4685c9:	55                   	push   %ebp
4685ca:	8b ec                	mov    %esp,%ebp
4685cc:	8b 45 08             	mov    0x8(%ebp),%eax
4685cf:	89 01                	mov    %eax,(%ecx)
4685d1:	8b 45 0c             	mov    0xc(%ebp),%eax
4685d4:	89 41 04             	mov    %eax,0x4(%ecx)
4685d7:	8b c1                	mov    %ecx,%eax
4685d9:	5d                   	pop    %ebp
4685da:	c2 08 00             	ret    $0x8
4685dd:	8b ff                	mov    %edi,%edi
4685df:	55                   	push   %ebp
4685e0:	8b ec                	mov    %esp,%ebp
4685e2:	8b 45 08             	mov    0x8(%ebp),%eax
4685e5:	8b 00                	mov    (%eax),%eax
4685e7:	89 01                	mov    %eax,(%ecx)
4685e9:	8b c1                	mov    %ecx,%eax
4685eb:	5d                   	pop    %ebp
4685ec:	c2 04 00             	ret    $0x4
4685ef:	8b ff                	mov    %edi,%edi
4685f1:	55                   	push   %ebp
4685f2:	8b ec                	mov    %esp,%ebp
4685f4:	8b 45 08             	mov    0x8(%ebp),%eax
4685f7:	8b 00                	mov    (%eax),%eax
4685f9:	89 01                	mov    %eax,(%ecx)
4685fb:	8b c1                	mov    %ecx,%eax
4685fd:	5d                   	pop    %ebp
4685fe:	c2 04 00             	ret    $0x4
468601:	8b ff                	mov    %edi,%edi
468603:	55                   	push   %ebp
468604:	8b ec                	mov    %esp,%ebp
468606:	83 ec 10             	sub    $0x10,%esp
468609:	56                   	push   %esi
46860a:	8b f1                	mov    %ecx,%esi
46860c:	57                   	push   %edi
46860d:	8b 46 04             	mov    0x4(%esi),%eax
468610:	ff 30                	push   (%eax)
468612:	8b 06                	mov    (%esi),%eax
468614:	ff 30                	push   (%eax)
468616:	e8 65 01 00 00       	call   0x468780
46861b:	8b f8                	mov    %eax,%edi
46861d:	59                   	pop    %ecx
46861e:	59                   	pop    %ecx
46861f:	85 ff                	test   %edi,%edi
468621:	0f 84 33 01 00 00    	je     0x46875a
468627:	53                   	push   %ebx
468628:	e8 d3 99 00 00       	call   0x472000
46862d:	89 45 f8             	mov    %eax,-0x8(%ebp)
468630:	33 db                	xor    %ebx,%ebx
468632:	8b 48 4c             	mov    0x4c(%eax),%ecx
468635:	89 4d f0             	mov    %ecx,-0x10(%ebp)
468638:	8b 48 48             	mov    0x48(%eax),%ecx
46863b:	8d 45 f0             	lea    -0x10(%ebp),%eax
46863e:	50                   	push   %eax
46863f:	53                   	push   %ebx
468640:	57                   	push   %edi
468641:	53                   	push   %ebx
468642:	8d 45 fc             	lea    -0x4(%ebp),%eax
468645:	89 4d f4             	mov    %ecx,-0xc(%ebp)
468648:	53                   	push   %ebx
468649:	50                   	push   %eax
46864a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46864d:	e8 3b 2b 01 00       	call   0x47b18d
468652:	83 c4 18             	add    $0x18,%esp
468655:	85 c0                	test   %eax,%eax
468657:	74 13                	je     0x46866c
468659:	83 f8 16             	cmp    $0x16,%eax
46865c:	0f 84 fe 00 00 00    	je     0x468760
468662:	83 f8 22             	cmp    $0x22,%eax
468665:	75 46                	jne    0x4686ad
468667:	e9 f4 00 00 00       	jmp    0x468760
46866c:	8b 45 fc             	mov    -0x4(%ebp),%eax
46866f:	83 c0 04             	add    $0x4,%eax
468672:	50                   	push   %eax
468673:	e8 b2 e6 00 00       	call   0x476d2a
468678:	8b d8                	mov    %eax,%ebx
46867a:	59                   	pop    %ecx
46867b:	85 db                	test   %ebx,%ebx
46867d:	74 2e                	je     0x4686ad