46f411:	6a 02                	push   $0x2
46f413:	8d 85 24 fe ff ff    	lea    -0x1dc(%ebp),%eax
46f419:	50                   	push   %eax
46f41a:	68 04 10 00 20       	push   $0x20001004
46f41f:	56                   	push   %esi
46f420:	e8 2d 5d 00 00       	call   0x475152
46f425:	85 c0                	test   %eax,%eax
46f427:	74 0a                	je     0x46f433
46f429:	8b 85 24 fe ff ff    	mov    -0x1dc(%ebp),%eax
46f42f:	85 c0                	test   %eax,%eax
46f431:	75 0c                	jne    0x46f43f
46f433:	ff 15 88 40 49 00    	call   *0x494088
46f439:	89 85 24 fe ff ff    	mov    %eax,-0x1dc(%ebp)
46f43f:	0f b7 c0             	movzwl %ax,%eax
46f442:	89 03                	mov    %eax,(%ebx)
46f444:	8d 5f 01             	lea    0x1(%edi),%ebx
46f447:	53                   	push   %ebx
46f448:	56                   	push   %esi
46f449:	68 83 00 00 00       	push   $0x83
46f44e:	ff b5 28 fe ff ff    	push   -0x1d8(%ebp)
46f454:	e8 79 fb 00 00       	call   0x47efd2
46f459:	83 c4 10             	add    $0x10,%esp
46f45c:	85 c0                	test   %eax,%eax
46f45e:	75 91                	jne    0x46f3f1
46f460:	53                   	push   %ebx
46f461:	56                   	push   %esi
46f462:	ff 75 18             	push   0x18(%ebp)
46f465:	ff b5 1c fe ff ff    	push   -0x1e4(%ebp)
46f46b:	e8 62 fb 00 00       	call   0x47efd2
46f470:	83 c4 10             	add    $0x10,%esp
46f473:	85 c0                	test   %eax,%eax
46f475:	0f 85 76 ff ff ff    	jne    0x46f3f1
46f47b:	53                   	push   %ebx
46f47c:	56                   	push   %esi
46f47d:	6a 55                	push   $0x55
46f47f:	ff b5 10 fe ff ff    	push   -0x1f0(%ebp)
46f485:	e8 48 fb 00 00       	call   0x47efd2
46f48a:	83 c4 10             	add    $0x10,%esp
46f48d:	85 c0                	test   %eax,%eax
46f48f:	0f 85 5c ff ff ff    	jne    0x46f3f1
46f495:	33 db                	xor    %ebx,%ebx
46f497:	66 39 1e             	cmp    %bx,(%esi)
46f49a:	74 2b                	je     0x46f4c7
46f49c:	b9 83 00 00 00       	mov    $0x83,%ecx
46f4a1:	3b f9                	cmp    %ecx,%edi
46f4a3:	73 22                	jae    0x46f4c7
46f4a5:	8d 47 01             	lea    0x1(%edi),%eax
46f4a8:	50                   	push   %eax
46f4a9:	56                   	push   %esi
46f4aa:	51                   	push   %ecx
46f4ab:	ff b5 20 fe ff ff    	push   -0x1e0(%ebp)
46f4b1:	e8 1c fb 00 00       	call   0x47efd2
46f4b6:	83 c4 10             	add    $0x10,%esp
46f4b9:	85 c0                	test   %eax,%eax
46f4bb:	74 15                	je     0x46f4d2
46f4bd:	53                   	push   %ebx
46f4be:	53                   	push   %ebx
46f4bf:	53                   	push   %ebx
46f4c0:	53                   	push   %ebx
46f4c1:	53                   	push   %ebx
46f4c2:	e9 8c 00 00 00       	jmp    0x46f553
46f4c7:	8b 85 20 fe ff ff    	mov    -0x1e0(%ebp),%eax
46f4cd:	33 c9                	xor    %ecx,%ecx
46f4cf:	66 89 08             	mov    %cx,(%eax)
46f4d2:	8b 9d 18 fe ff ff    	mov    -0x1e8(%ebp),%ebx
46f4d8:	85 db                	test   %ebx,%ebx
46f4da:	74 0a                	je     0x46f4e6
46f4dc:	8b 85 2c fe ff ff    	mov    -0x1d4(%ebp),%eax
46f4e2:	8b 00                	mov    (%eax),%eax
46f4e4:	89 03                	mov    %eax,(%ebx)
46f4e6:	8b 9d 28 fe ff ff    	mov    -0x1d8(%ebp),%ebx
46f4ec:	8b b5 14 fe ff ff    	mov    -0x1ec(%ebp),%esi
46f4f2:	53                   	push   %ebx
46f4f3:	ff 75 10             	push   0x10(%ebp)
46f4f6:	56                   	push   %esi
46f4f7:	e8 6b 89 ff ff       	call   0x467e67
46f4fc:	83 c4 0c             	add    $0xc,%esp
46f4ff:	85 c0                	test   %eax,%eax
46f501:	0f 85 ea fe ff ff    	jne    0x46f3f1
46f507:	8b c3                	mov    %ebx,%eax
46f509:	e9 10 fd ff ff       	jmp    0x46f21e
46f50e:	8b 9d 1c fe ff ff    	mov    -0x1e4(%ebp),%ebx
46f514:	33 f6                	xor    %esi,%esi
46f516:	8b cb                	mov    %ebx,%ecx
46f518:	8d 51 02             	lea    0x2(%ecx),%edx
46f51b:	66 8b 01             	mov    (%ecx),%ax
46f51e:	83 c1 02             	add    $0x2,%ecx
46f521:	66 3b c6             	cmp    %si,%ax
46f524:	75 f5                	jne    0x46f51b
46f526:	2b ca                	sub    %edx,%ecx
46f528:	d1 f9                	sar    $1,%ecx
46f52a:	8d 41 01             	lea    0x1(%ecx),%eax
46f52d:	50                   	push   %eax
46f52e:	53                   	push   %ebx
46f52f:	6a 55                	push   $0x55
46f531:	ff b5 10 fe ff ff    	push   -0x1f0(%ebp)
46f537:	e8 96 fa 00 00       	call   0x47efd2
46f53c:	83 c4 10             	add    $0x10,%esp
46f53f:	85 c0                	test   %eax,%eax
46f541:	0f 84 d5 fc ff ff    	je     0x46f21c
46f547:	56                   	push   %esi
46f548:	56                   	push   %esi
46f549:	56                   	push   %esi
46f54a:	56                   	push   %esi
46f54b:	56                   	push   %esi
46f54c:	eb 05                	jmp    0x46f553
46f54e:	57                   	push   %edi
46f54f:	57                   	push   %edi
46f550:	57                   	push   %edi
46f551:	57                   	push   %edi
46f552:	57                   	push   %edi
46f553:	e8 ab d7 fd ff       	call   0x44cd03
46f558:	cc                   	int3
46f559:	6a 08                	push   $0x8
46f55b:	68 38 4c 4b 00       	push   $0x4b4c38
46f560:	e8 fb 13 fd ff       	call   0x440960
46f565:	8b 75 08             	mov    0x8(%ebp),%esi
46f568:	85 f6                	test   %esi,%esi
46f56a:	0f 84 83 00 00 00    	je     0x46f5f3
46f570:	6a 05                	push   $0x5
46f572:	e8 95 89 ff ff       	call   0x467f0c
46f577:	59                   	pop    %ecx
46f578:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46f57c:	8b 4e 04             	mov    0x4(%esi),%ecx
46f57f:	85 c9                	test   %ecx,%ecx
46f581:	74 1b                	je     0x46f59e
46f583:	83 c8 ff             	or     $0xffffffff,%eax
46f586:	f0 0f c1 01          	lock xadd %eax,(%ecx)
46f58a:	75 12                	jne    0x46f59e
46f58c:	81 7e 04 e0 87 4b 00 	cmpl   $0x4b87e0,0x4(%esi)
46f593:	74 09                	je     0x46f59e
46f595:	ff 76 04             	push   0x4(%esi)
46f598:	e8 9c 2d 00 00       	call   0x472339
46f59d:	59                   	pop    %ecx
46f59e:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46f5a5:	e8 52 00 00 00       	call   0x46f5fc
46f5aa:	83 3e 00             	cmpl   $0x0,(%esi)
46f5ad:	74 3d                	je     0x46f5ec
46f5af:	6a 04                	push   $0x4
46f5b1:	e8 56 89 ff ff       	call   0x467f0c
46f5b6:	59                   	pop    %ecx
46f5b7:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46f5be:	ff 36                	push   (%esi)
46f5c0:	e8 a6 11 01 00       	call   0x48076b
46f5c5:	59                   	pop    %ecx
46f5c6:	8b 06                	mov    (%esi),%eax
46f5c8:	85 c0                	test   %eax,%eax
46f5ca:	74 14                	je     0x46f5e0
46f5cc:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
46f5d0:	75 0e                	jne    0x46f5e0
46f5d2:	3d 30 82 4b 00       	cmp    $0x4b8230,%eax
46f5d7:	74 07                	je     0x46f5e0
46f5d9:	50                   	push   %eax
46f5da:	e8 c0 0f 01 00       	call   0x48059f
46f5df:	59                   	pop    %ecx
46f5e0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
46f5e7:	e8 1c 00 00 00       	call   0x46f608
46f5ec:	56                   	push   %esi
46f5ed:	e8 47 2d 00 00       	call   0x472339
46f5f2:	59                   	pop    %ecx
46f5f3:	e8 ae 13 fd ff       	call   0x4409a6
46f5f8:	c3                   	ret
46f5f9:	8b 75 08             	mov    0x8(%ebp),%esi
46f5fc:	6a 05                	push   $0x5
46f5fe:	e8 51 89 ff ff       	call   0x467f54
46f603:	59                   	pop    %ecx
46f604:	c3                   	ret
46f605:	8b 75 08             	mov    0x8(%ebp),%esi
46f608:	6a 04                	push   $0x4
46f60a:	e8 45 89 ff ff       	call   0x467f54
46f60f:	59                   	pop    %ecx
46f610:	c3                   	ret
46f611:	8b ff                	mov    %edi,%edi
46f613:	55                   	push   %ebp
46f614:	8b ec                	mov    %esp,%ebp
46f616:	51                   	push   %ecx
46f617:	51                   	push   %ecx
46f618:	56                   	push   %esi
46f619:	e8 e2 29 00 00       	call   0x472000
46f61e:	6a 08                	push   $0x8
46f620:	6a 01                	push   $0x1
46f622:	8b f0                	mov    %eax,%esi
46f624:	e8 2a 2c 00 00       	call   0x472253
46f629:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f62c:	59                   	pop    %ecx
46f62d:	59                   	pop    %ecx
46f62e:	85 c0                	test   %eax,%eax
46f630:	75 04                	jne    0x46f636
46f632:	33 f6                	xor    %esi,%esi
46f634:	eb 47                	jmp    0x46f67d
46f636:	e8 b1 11 01 00       	call   0x4807ec
46f63b:	e8 c4 e6 00 00       	call   0x47dd04
46f640:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f643:	8b 4e 4c             	mov    0x4c(%esi),%ecx
46f646:	89 08                	mov    %ecx,(%eax)
46f648:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f64b:	8b 4e 48             	mov    0x48(%esi),%ecx
46f64e:	89 48 04             	mov    %ecx,0x4(%eax)
46f651:	8d 45 fc             	lea    -0x4(%ebp),%eax
46f654:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f657:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f65a:	50                   	push   %eax
46f65b:	6a 04                	push   $0x4
46f65d:	e8 a5 f3 ff ff       	call   0x46ea07
46f662:	8d 45 fc             	lea    -0x4(%ebp),%eax
46f665:	89 45 f8             	mov    %eax,-0x8(%ebp)
46f668:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f66b:	50                   	push   %eax
46f66c:	6a 05                	push   $0x5
46f66e:	e8 e4 f3 ff ff       	call   0x46ea57
46f673:	8b 75 fc             	mov    -0x4(%ebp),%esi
46f676:	83 c4 10             	add    $0x10,%esp
46f679:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46f67d:	6a 00                	push   $0x0
46f67f:	e8 b5 2c 00 00       	call   0x472339
46f684:	59                   	pop    %ecx
46f685:	8b c6                	mov    %esi,%eax
46f687:	5e                   	pop    %esi
46f688:	8b e5                	mov    %ebp,%esp
46f68a:	5d                   	pop    %ebp
46f68b:	c3                   	ret
46f68c:	8b ff                	mov    %edi,%edi
46f68e:	55                   	push   %ebp
46f68f:	8b ec                	mov    %esp,%ebp
46f691:	51                   	push   %ecx
46f692:	83 7d 08 05          	cmpl   $0x5,0x8(%ebp)
46f696:	0f 87 f3 00 00 00    	ja     0x46f78f
46f69c:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
46f6a0:	0f 84 e9 00 00 00    	je     0x46f78f
46f6a6:	53                   	push   %ebx
46f6a7:	57                   	push   %edi
46f6a8:	33 db                	xor    %ebx,%ebx
46f6aa:	6a 08                	push   $0x8
46f6ac:	43                   	inc    %ebx
46f6ad:	53                   	push   %ebx
46f6ae:	e8 a0 2b 00 00       	call   0x472253
46f6b3:	8b f8                	mov    %eax,%edi
46f6b5:	89 7d fc             	mov    %edi,-0x4(%ebp)
46f6b8:	59                   	pop    %ecx
46f6b9:	59                   	pop    %ecx
46f6ba:	85 ff                	test   %edi,%edi
46f6bc:	75 12                	jne    0x46f6d0
46f6be:	e8 6c d7 fd ff       	call   0x44ce2f
46f6c3:	33 db                	xor    %ebx,%ebx
46f6c5:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
46f6cb:	e9 b2 00 00 00       	jmp    0x46f782
46f6d0:	56                   	push   %esi
46f6d1:	68 b8 00 00 00       	push   $0xb8
46f6d6:	53                   	push   %ebx
46f6d7:	e8 77 2b 00 00       	call   0x472253
46f6dc:	8b f0                	mov    %eax,%esi
46f6de:	59                   	pop    %ecx
46f6df:	59                   	pop    %ecx
46f6e0:	85 f6                	test   %esi,%esi
46f6e2:	75 12                	jne    0x46f6f6
46f6e4:	e8 46 d7 fd ff       	call   0x44ce2f
46f6e9:	33 db                	xor    %ebx,%ebx
46f6eb:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
46f6f1:	e9 84 00 00 00       	jmp    0x46f77a
46f6f6:	68 20 02 00 00       	push   $0x220
46f6fb:	53                   	push   %ebx
46f6fc:	e8 52 2b 00 00       	call   0x472253
46f701:	8b f8                	mov    %eax,%edi
46f703:	59                   	pop    %ecx
46f704:	59                   	pop    %ecx
46f705:	85 ff                	test   %edi,%edi
46f707:	75 0d                	jne    0x46f716
46f709:	e8 21 d7 fd ff       	call   0x44ce2f
46f70e:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
46f714:	eb 58                	jmp    0x46f76e
46f716:	68 30 82 4b 00       	push   $0x4b8230
46f71b:	56                   	push   %esi
46f71c:	e8 2e fa ff ff       	call   0x46f14f
46f721:	ff 75 0c             	push   0xc(%ebp)
46f724:	ff 75 08             	push   0x8(%ebp)
46f727:	56                   	push   %esi
46f728:	e8 c7 02 00 00       	call   0x46f9f4
46f72d:	83 c4 14             	add    $0x14,%esp
46f730:	85 c0                	test   %eax,%eax
46f732:	74 2a                	je     0x46f75e
46f734:	57                   	push   %edi
46f735:	ff 76 08             	push   0x8(%esi)
46f738:	e8 3c e6 00 00       	call   0x47dd79
46f73d:	59                   	pop    %ecx
46f73e:	59                   	pop    %ecx
46f73f:	85 c0                	test   %eax,%eax
46f741:	75 1b                	jne    0x46f75e
46f743:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f746:	8b ce                	mov    %esi,%ecx
46f748:	89 1f                	mov    %ebx,(%edi)
46f74a:	33 f6                	xor    %esi,%esi
46f74c:	8b d8                	mov    %eax,%ebx
46f74e:	89 08                	mov    %ecx,(%eax)
46f750:	8b cf                	mov    %edi,%ecx
46f752:	33 ff                	xor    %edi,%edi
46f754:	89 48 04             	mov    %ecx,0x4(%eax)
46f757:	33 c0                	xor    %eax,%eax
46f759:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f75c:	eb 12                	jmp    0x46f770
46f75e:	56                   	push   %esi
46f75f:	e8 07 10 01 00       	call   0x48076b
46f764:	56                   	push   %esi
46f765:	33 f6                	xor    %esi,%esi
46f767:	e8 33 0e 01 00       	call   0x48059f
46f76c:	59                   	pop    %ecx
46f76d:	59                   	pop    %ecx
46f76e:	33 db                	xor    %ebx,%ebx
46f770:	57                   	push   %edi
46f771:	e8 c3 2b 00 00       	call   0x472339
46f776:	8b 7d fc             	mov    -0x4(%ebp),%edi
46f779:	59                   	pop    %ecx
46f77a:	56                   	push   %esi
46f77b:	e8 b9 2b 00 00       	call   0x472339
46f780:	59                   	pop    %ecx
46f781:	5e                   	pop    %esi
46f782:	57                   	push   %edi
46f783:	e8 b1 2b 00 00       	call   0x472339
46f788:	59                   	pop    %ecx
46f789:	5f                   	pop    %edi
46f78a:	8b c3                	mov    %ebx,%eax
46f78c:	5b                   	pop    %ebx
46f78d:	eb 02                	jmp    0x46f791
46f78f:	33 c0                	xor    %eax,%eax
46f791:	8b e5                	mov    %ebp,%esp
46f793:	5d                   	pop    %ebp
46f794:	c3                   	ret
46f795:	8b ff                	mov    %edi,%edi
46f797:	55                   	push   %ebp
46f798:	8b ec                	mov    %esp,%ebp
46f79a:	53                   	push   %ebx
46f79b:	33 db                	xor    %ebx,%ebx
46f79d:	56                   	push   %esi
46f79e:	8b f3                	mov    %ebx,%esi
46f7a0:	39 5d 10             	cmp    %ebx,0x10(%ebp)
46f7a3:	7e 22                	jle    0x46f7c7
46f7a5:	57                   	push   %edi
46f7a6:	8d 7d 10             	lea    0x10(%ebp),%edi
46f7a9:	8d 7f 04             	lea    0x4(%edi),%edi
46f7ac:	ff 37                	push   (%edi)
46f7ae:	ff 75 0c             	push   0xc(%ebp)
46f7b1:	ff 75 08             	push   0x8(%ebp)
46f7b4:	e8 d7 f6 00 00       	call   0x47ee90
46f7b9:	83 c4 0c             	add    $0xc,%esp
46f7bc:	85 c0                	test   %eax,%eax
46f7be:	75 0b                	jne    0x46f7cb
46f7c0:	46                   	inc    %esi
46f7c1:	3b 75 10             	cmp    0x10(%ebp),%esi
46f7c4:	7c e3                	jl     0x46f7a9
46f7c6:	5f                   	pop    %edi
46f7c7:	5e                   	pop    %esi