845430:	ff 76 04             	push   0x4(%esi)
845433:	ff 15 fc 3d d8 00    	call   *0xd83dfc
845439:	85 c0                	test   %eax,%eax
84543b:	74 3c                	je     0x845479
84543d:	ff b5 74 ff ff ff    	push   -0x8c(%ebp)
845443:	8d 4d b0             	lea    -0x50(%ebp),%ecx
845446:	e8 47 91 bd ff       	call   0x41e592
84544b:	ff 85 74 ff ff ff    	incl   -0x8c(%ebp)
845451:	89 85 70 ff ff ff    	mov    %eax,-0x90(%ebp)
845457:	8d 85 4c ff ff ff    	lea    -0xb4(%ebp),%eax
84545d:	50                   	push   %eax
84545e:	6a 00                	push   $0x0
845460:	ff 77 08             	push   0x8(%edi)
845463:	ff 76 04             	push   0x4(%esi)
845466:	ff 15 fc 3d d8 00    	call   *0xd83dfc
84546c:	6a ff                	push   $0xffffffff
84546e:	8d 4d b0             	lea    -0x50(%ebp),%ecx
845471:	89 45 a4             	mov    %eax,-0x5c(%ebp)
845474:	e8 b3 0e bf ff       	call   0x43632c
845479:	8b 77 2c             	mov    0x2c(%edi),%esi
84547c:	33 c0                	xor    %eax,%eax
84547e:	89 45 e0             	mov    %eax,-0x20(%ebp)
845481:	89 45 e4             	mov    %eax,-0x1c(%ebp)
845484:	89 45 e8             	mov    %eax,-0x18(%ebp)
845487:	89 45 ec             	mov    %eax,-0x14(%ebp)
84548a:	8d 47 1c             	lea    0x1c(%edi),%eax
84548d:	50                   	push   %eax
84548e:	8d 45 b8             	lea    -0x48(%ebp),%eax
845491:	89 75 9c             	mov    %esi,-0x64(%ebp)
845494:	50                   	push   %eax
845495:	ff 15 00 3d d8 00    	call   *0xd83d00
84549b:	85 f6                	test   %esi,%esi
84549d:	74 31                	je     0x8454d0
84549f:	68 10 a8 c3 00       	push   $0xc3a810
8454a4:	8b ce                	mov    %esi,%ecx
8454a6:	e8 e4 47 be ff       	call   0x429c8f
8454ab:	85 c0                	test   %eax,%eax
8454ad:	74 21                	je     0x8454d0
8454af:	8d 45 c8             	lea    -0x38(%ebp),%eax
8454b2:	c7 45 a0 01 00 00 00 	movl   $0x1,-0x60(%ebp)
8454b9:	50                   	push   %eax
8454ba:	6a 18                	push   $0x18
8454bc:	ff 76 04             	push   0x4(%esi)
8454bf:	ff 15 44 32 d8 00    	call   *0xd83244
8454c5:	8b 45 d0             	mov    -0x30(%ebp),%eax
8454c8:	89 45 b4             	mov    %eax,-0x4c(%ebp)
8454cb:	8b 45 cc             	mov    -0x34(%ebp),%eax
8454ce:	eb 17                	jmp    0x8454e7
8454d0:	83 65 a0 00          	andl   $0x0,-0x60(%ebp)
8454d4:	6a 32                	push   $0x32
8454d6:	ff 15 9c 40 d8 00    	call   *0xd8409c
8454dc:	6a 31                	push   $0x31
8454de:	89 45 b4             	mov    %eax,-0x4c(%ebp)
8454e1:	ff 15 9c 40 d8 00    	call   *0xd8409c
8454e7:	8b 75 bc             	mov    -0x44(%ebp),%esi
8454ea:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
8454ee:	89 45 ac             	mov    %eax,-0x54(%ebp)
8454f1:	8b 45 c4             	mov    -0x3c(%ebp),%eax
8454f4:	2b c6                	sub    %esi,%eax
8454f6:	4e                   	dec    %esi
8454f7:	99                   	cltd
8454f8:	2b c2                	sub    %edx,%eax
8454fa:	8b c8                	mov    %eax,%ecx
8454fc:	8b 45 b4             	mov    -0x4c(%ebp),%eax
8454ff:	99                   	cltd
845500:	2b c2                	sub    %edx,%eax
845502:	d1 f9                	sar    $1,%ecx
845504:	d1 f8                	sar    $1,%eax
845506:	2b c8                	sub    %eax,%ecx
845508:	8b 45 ac             	mov    -0x54(%ebp),%eax
84550b:	03 ce                	add    %esi,%ecx
84550d:	40                   	inc    %eax
84550e:	89 45 e8             	mov    %eax,-0x18(%ebp)
845511:	8b 45 b4             	mov    -0x4c(%ebp),%eax
845514:	40                   	inc    %eax
845515:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
845518:	03 c1                	add    %ecx,%eax
84551a:	6a 04                	push   $0x4
84551c:	89 45 ec             	mov    %eax,-0x14(%ebp)
84551f:	ff 15 fc 3c d8 00    	call   *0xd83cfc
845525:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
84552b:	89 45 b4             	mov    %eax,-0x4c(%ebp)
84552e:	e8 6f 40 bc ff       	call   0x4095a2
845533:	6a 00                	push   $0x0
845535:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
845539:	ff 15 2c 32 d8 00    	call   *0xd8322c
84553f:	50                   	push   %eax
845540:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
845546:	e8 20 68 bc ff       	call   0x40bd6b
84554b:	8b 0b                	mov    (%ebx),%ecx
84554d:	8b 45 94             	mov    -0x6c(%ebp),%eax
845550:	83 c0 08             	add    $0x8,%eax
845553:	50                   	push   %eax
845554:	8b 71 28             	mov    0x28(%ecx),%esi
845557:	8b ce                	mov    %esi,%ecx
845559:	e8 07 71 be ff       	call   0x42c665
84555e:	8b cb                	mov    %ebx,%ecx
845560:	ff d6                	call   *%esi
845562:	8d 45 b0             	lea    -0x50(%ebp),%eax
845565:	8b cb                	mov    %ebx,%ecx
845567:	50                   	push   %eax
845568:	8d 45 90             	lea    -0x70(%ebp),%eax
84556b:	50                   	push   %eax
84556c:	e8 1f d4 bc ff       	call   0x412990
845571:	f6 47 10 01          	testb  $0x1,0x10(%edi)
845575:	8b 08                	mov    (%eax),%ecx
845577:	8b 40 04             	mov    0x4(%eax),%eax
84557a:	89 45 ac             	mov    %eax,-0x54(%ebp)
84557d:	8d 47 1c             	lea    0x1c(%edi),%eax
845580:	89 4d a8             	mov    %ecx,-0x58(%ebp)
845583:	0f 84 21 01 00 00    	je     0x8456aa
845589:	50                   	push   %eax
84558a:	8d 45 d0             	lea    -0x30(%ebp),%eax
84558d:	50                   	push   %eax
84558e:	ff 15 00 3d d8 00    	call   *0xd83d00
845594:	8b 45 e8             	mov    -0x18(%ebp),%eax
845597:	83 c0 02             	add    $0x2,%eax
84559a:	6a 0d                	push   $0xd
84559c:	89 45 d0             	mov    %eax,-0x30(%ebp)
84559f:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8455a5:	50                   	push   %eax
8455a6:	8d 45 d0             	lea    -0x30(%ebp),%eax
8455a9:	8b cb                	mov    %ebx,%ecx
8455ab:	50                   	push   %eax
8455ac:	e8 f9 ba bb ff       	call   0x4010aa
8455b1:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
8455b5:	74 3c                	je     0x8455f3
8455b7:	f6 47 10 0a          	testb  $0xa,0x10(%edi)
8455bb:	75 36                	jne    0x8455f3
8455bd:	8b 7d ec             	mov    -0x14(%ebp),%edi
8455c0:	8b 75 e8             	mov    -0x18(%ebp),%esi
8455c3:	2b 7d e4             	sub    -0x1c(%ebp),%edi
8455c6:	2b 75 e0             	sub    -0x20(%ebp),%esi
8455c9:	6a 10                	push   $0x10
8455cb:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8455d1:	50                   	push   %eax
8455d2:	6a 14                	push   $0x14
8455d4:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8455da:	50                   	push   %eax
8455db:	8d 47 01             	lea    0x1(%edi),%eax
8455de:	8b cb                	mov    %ebx,%ecx
8455e0:	50                   	push   %eax
8455e1:	8d 46 01             	lea    0x1(%esi),%eax
8455e4:	50                   	push   %eax
8455e5:	ff 75 e4             	push   -0x1c(%ebp)
8455e8:	ff 75 e0             	push   -0x20(%ebp)
8455eb:	e8 70 31 bc ff       	call   0x408760
8455f0:	8b 7d 98             	mov    -0x68(%ebp),%edi
8455f3:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
8455f7:	74 74                	je     0x84566d
8455f9:	8b 33                	mov    (%ebx),%esi
8455fb:	6a 0d                	push   $0xd
8455fd:	ff 15 fc 3c d8 00    	call   *0xd83cfc
845603:	8b 4e 2c             	mov    0x2c(%esi),%ecx
845606:	50                   	push   %eax
845607:	e8 59 70 be ff       	call   0x42c665
84560c:	8b cb                	mov    %ebx,%ecx
84560e:	ff 56 2c             	call   *0x2c(%esi)
845611:	f6 47 10 02          	testb  $0x2,0x10(%edi)
845615:	74 05                	je     0x84561c
845617:	8b 45 b4             	mov    -0x4c(%ebp),%eax
84561a:	eb 08                	jmp    0x845624
84561c:	6a 0e                	push   $0xe
84561e:	ff 15 fc 3c d8 00    	call   *0xd83cfc
845624:	8b 0b                	mov    (%ebx),%ecx
845626:	50                   	push   %eax
845627:	8b 71 30             	mov    0x30(%ecx),%esi
84562a:	8b ce                	mov    %esi,%ecx
84562c:	e8 34 70 be ff       	call   0x42c665
845631:	8b cb                	mov    %ebx,%ecx
845633:	ff d6                	call   *%esi
845635:	8b 45 ec             	mov    -0x14(%ebp),%eax
845638:	2b 45 e4             	sub    -0x1c(%ebp),%eax
84563b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
84563e:	99                   	cltd
84563f:	2b c2                	sub    %edx,%eax
845641:	8b f0                	mov    %eax,%esi
845643:	8b 45 ac             	mov    -0x54(%ebp),%eax
845646:	99                   	cltd
845647:	2b c2                	sub    %edx,%eax
845649:	d1 fe                	sar    $1,%esi
84564b:	d1 f8                	sar    $1,%eax
84564d:	2b f0                	sub    %eax,%esi
84564f:	8b 45 b0             	mov    -0x50(%ebp),%eax
845652:	03 75 e4             	add    -0x1c(%ebp),%esi
845655:	83 c1 03             	add    $0x3,%ecx
845658:	6a 00                	push   $0x0
84565a:	ff 70 f4             	push   -0xc(%eax)
84565d:	50                   	push   %eax
84565e:	6a 00                	push   $0x0
845660:	6a 02                	push   $0x2
845662:	56                   	push   %esi
845663:	51                   	push   %ecx
845664:	ff 73 04             	push   0x4(%ebx)
845667:	ff 15 00 33 d8 00    	call   *0xd83300
84566d:	8b 7d b4             	mov    -0x4c(%ebp),%edi
845670:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
845674:	0f 84 3f 02 00 00    	je     0x8458b9
84567a:	83 65 ac 00          	andl   $0x0,-0x54(%ebp)
84567e:	c7 45 a8 0c 4c bd 00 	movl   $0xbd4c0c,-0x58(%ebp)
845685:	8b 45 98             	mov    -0x68(%ebp),%eax
845688:	8b 75 9c             	mov    -0x64(%ebp),%esi
84568b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
84568f:	8b 40 10             	mov    0x10(%eax),%eax
845692:	a8 02                	test   $0x2,%al
845694:	0f 84 91 01 00 00    	je     0x84582b
84569a:	57                   	push   %edi
84569b:	8d 45 a8             	lea    -0x58(%ebp),%eax
84569e:	50                   	push   %eax
84569f:	56                   	push   %esi
8456a0:	e8 59 1a bc ff       	call   0x4070fe
8456a5:	e9 95 01 00 00       	jmp    0x84583f
8456aa:	8b 75 b4             	mov    -0x4c(%ebp),%esi
8456ad:	8b cb                	mov    %ebx,%ecx
8456af:	56                   	push   %esi
8456b0:	50                   	push   %eax
8456b1:	e8 f4 b9 bb ff       	call   0x4010aa
8456b6:	8b 03                	mov    (%ebx),%eax
8456b8:	56                   	push   %esi
8456b9:	8b 70 2c             	mov    0x2c(%eax),%esi
8456bc:	8b ce                	mov    %esi,%ecx
8456be:	e8 a2 6f be ff       	call   0x42c665
8456c3:	8b cb                	mov    %ebx,%ecx
8456c5:	ff d6                	call   *%esi
8456c7:	8b 47 10             	mov    0x10(%edi),%eax
8456ca:	a8 02                	test   $0x2,%al
8456cc:	0f 84 a9 00 00 00    	je     0x84577b
8456d2:	8b 33                	mov    (%ebx),%esi
8456d4:	6a 14                	push   $0x14
8456d6:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8456dc:	8b 4e 30             	mov    0x30(%esi),%ecx
8456df:	50                   	push   %eax
8456e0:	e8 80 6f be ff       	call   0x42c665
8456e5:	8b cb                	mov    %ebx,%ecx
8456e7:	ff 56 30             	call   *0x30(%esi)
8456ea:	6a 01                	push   $0x1
8456ec:	8b cb                	mov    %ebx,%ecx
8456ee:	e8 f5 dc be ff       	call   0x4333e8
8456f3:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
8456f7:	0f 84 70 ff ff ff    	je     0x84566d
8456fd:	8b 45 ac             	mov    -0x54(%ebp),%eax
845700:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
845703:	99                   	cltd
845704:	2b c2                	sub    %edx,%eax
845706:	8b f8                	mov    %eax,%edi
845708:	8b 45 ec             	mov    -0x14(%ebp),%eax
84570b:	2b c1                	sub    %ecx,%eax
84570d:	d1 ff                	sar    $1,%edi
84570f:	99                   	cltd
845710:	2b c2                	sub    %edx,%eax
845712:	8d 51 01             	lea    0x1(%ecx),%edx
845715:	8b 4d e8             	mov    -0x18(%ebp),%ecx
845718:	d1 f8                	sar    $1,%eax
84571a:	83 c1 04             	add    $0x4,%ecx
84571d:	2b c7                	sub    %edi,%eax
84571f:	6a 00                	push   $0x0
845721:	03 d0                	add    %eax,%edx
845723:	8b 45 b0             	mov    -0x50(%ebp),%eax
845726:	ff 70 f4             	push   -0xc(%eax)
845729:	50                   	push   %eax
84572a:	6a 00                	push   $0x0
84572c:	6a 02                	push   $0x2
84572e:	52                   	push   %edx
84572f:	51                   	push   %ecx
845730:	ff 73 04             	push   0x4(%ebx)
845733:	ff 15 00 33 d8 00    	call   *0xd83300
845739:	8b 33                	mov    (%ebx),%esi
84573b:	6a 11                	push   $0x11
84573d:	ff 15 fc 3c d8 00    	call   *0xd83cfc
845743:	8b 4e 30             	mov    0x30(%esi),%ecx
845746:	50                   	push   %eax
845747:	e8 19 6f be ff       	call   0x42c665
84574c:	8b cb                	mov    %ebx,%ecx
84574e:	ff 56 30             	call   *0x30(%esi)
845751:	8b 4d b0             	mov    -0x50(%ebp),%ecx
845754:	8b 45 ec             	mov    -0x14(%ebp),%eax
845757:	2b 45 e4             	sub    -0x1c(%ebp),%eax
84575a:	6a 00                	push   $0x0
84575c:	ff 71 f4             	push   -0xc(%ecx)
84575f:	99                   	cltd
845760:	2b c2                	sub    %edx,%eax
845762:	8b 55 e8             	mov    -0x18(%ebp),%edx
845765:	51                   	push   %ecx
845766:	d1 f8                	sar    $1,%eax
845768:	6a 00                	push   $0x0
84576a:	2b c7                	sub    %edi,%eax
84576c:	03 45 e4             	add    -0x1c(%ebp),%eax
84576f:	83 c2 03             	add    $0x3,%edx
845772:	6a 00                	push   $0x0
845774:	50                   	push   %eax
845775:	52                   	push   %edx
845776:	e9 e9 fe ff ff       	jmp    0x845664
84577b:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
84577f:	74 37                	je     0x8457b8
845781:	a8 08                	test   $0x8,%al
845783:	74 33                	je     0x8457b8
845785:	8b 7d ec             	mov    -0x14(%ebp),%edi
845788:	8b 75 e8             	mov    -0x18(%ebp),%esi
84578b:	2b 7d e4             	sub    -0x1c(%ebp),%edi
84578e:	2b 75 e0             	sub    -0x20(%ebp),%esi
845791:	6a 14                	push   $0x14
845793:	ff 15 fc 3c d8 00    	call   *0xd83cfc
845799:	50                   	push   %eax
84579a:	6a 10                	push   $0x10
84579c:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8457a2:	50                   	push   %eax
8457a3:	8d 47 01             	lea    0x1(%edi),%eax
8457a6:	8b cb                	mov    %ebx,%ecx
8457a8:	50                   	push   %eax
8457a9:	8d 46 01             	lea    0x1(%esi),%eax
8457ac:	50                   	push   %eax
8457ad:	ff 75 e4             	push   -0x1c(%ebp)
8457b0:	ff 75 e0             	push   -0x20(%ebp)
8457b3:	e8 a8 2f bc ff       	call   0x408760
8457b8:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
8457bc:	0f 84 ab fe ff ff    	je     0x84566d
8457c2:	8b 03                	mov    (%ebx),%eax
8457c4:	8b 7d b4             	mov    -0x4c(%ebp),%edi
8457c7:	57                   	push   %edi
8457c8:	8b 70 2c             	mov    0x2c(%eax),%esi
8457cb:	8b ce                	mov    %esi,%ecx
8457cd:	e8 93 6e be ff       	call   0x42c665
8457d2:	8b cb                	mov    %ebx,%ecx
8457d4:	ff d6                	call   *%esi
8457d6:	8b 33                	mov    (%ebx),%esi
8457d8:	6a 07                	push   $0x7
8457da:	ff 15 fc 3c d8 00    	call   *0xd83cfc
8457e0:	8b 4e 30             	mov    0x30(%esi),%ecx
8457e3:	50                   	push   %eax
8457e4:	e8 7c 6e be ff       	call   0x42c665
8457e9:	8b cb                	mov    %ebx,%ecx
8457eb:	ff 56 30             	call   *0x30(%esi)
8457ee:	8b 45 ec             	mov    -0x14(%ebp),%eax
8457f1:	2b 45 e4             	sub    -0x1c(%ebp),%eax
8457f4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
8457f7:	99                   	cltd
8457f8:	83 c1 03             	add    $0x3,%ecx
8457fb:	2b c2                	sub    %edx,%eax
8457fd:	8b f0                	mov    %eax,%esi
8457ff:	8b 45 ac             	mov    -0x54(%ebp),%eax
845802:	99                   	cltd
845803:	2b c2                	sub    %edx,%eax
845805:	d1 fe                	sar    $1,%esi
845807:	d1 f8                	sar    $1,%eax
845809:	6a 00                	push   $0x0
84580b:	2b f0                	sub    %eax,%esi
84580d:	8b 45 b0             	mov    -0x50(%ebp),%eax
845810:	03 75 e4             	add    -0x1c(%ebp),%esi
845813:	ff 70 f4             	push   -0xc(%eax)
845816:	50                   	push   %eax