4284fd:	89 45 e0             	mov    %eax,-0x20(%ebp)
428500:	eb 03                	jmp    0x428505
428502:	8b 45 e0             	mov    -0x20(%ebp),%eax
428505:	85 c9                	test   %ecx,%ecx
428507:	0f 88 cb 00 00 00    	js     0x4285d8
42850d:	6a 01                	push   $0x1
42850f:	50                   	push   %eax
428510:	ff 75 f8             	push   -0x8(%ebp)
428513:	8d 45 fc             	lea    -0x4(%ebp),%eax
428516:	50                   	push   %eax
428517:	e8 bf ce 01 00       	call   0x4453db
42851c:	8b f0                	mov    %eax,%esi
42851e:	85 f6                	test   %esi,%esi
428520:	79 18                	jns    0x42853a
428522:	68 a8 e3 45 00       	push   $0x45e3a8
428527:	68 b8 e3 45 00       	push   $0x45e3b8
42852c:	56                   	push   %esi
42852d:	e8 fd 7b 01 00       	call   0x44012f
428532:	83 c4 0c             	add    $0xc,%esp
428535:	e9 01 03 00 00       	jmp    0x42883b
42853a:	ff 77 24             	push   0x24(%edi)
42853d:	ff 77 20             	push   0x20(%edi)
428540:	ff 75 fc             	push   -0x4(%ebp)
428543:	e8 a1 cd 01 00       	call   0x4452e9
428548:	8b f0                	mov    %eax,%esi
42854a:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
428550:	0f 85 c0 00 00 00    	jne    0x428616
428556:	ff 77 1c             	push   0x1c(%edi)
428559:	ff 77 18             	push   0x18(%edi)
42855c:	ff 75 fc             	push   -0x4(%ebp)
42855f:	e8 85 cd 01 00       	call   0x4452e9
428564:	8b f0                	mov    %eax,%esi
428566:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
42856c:	0f 85 b5 02 00 00    	jne    0x428827
428572:	ff 77 2c             	push   0x2c(%edi)
428575:	ff 77 28             	push   0x28(%edi)
428578:	ff 75 fc             	push   -0x4(%ebp)
42857b:	e8 69 cd 01 00       	call   0x4452e9
428580:	8b f0                	mov    %eax,%esi
428582:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
428588:	0f 85 89 02 00 00    	jne    0x428817
42858e:	ff 77 34             	push   0x34(%edi)
428591:	ff 77 30             	push   0x30(%edi)
428594:	ff 75 fc             	push   -0x4(%ebp)
428597:	e8 4d cd 01 00       	call   0x4452e9
42859c:	8b f0                	mov    %eax,%esi
42859e:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
4285a4:	0f 85 6d 02 00 00    	jne    0x428817
4285aa:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4285ae:	74 0f                	je     0x4285bf
4285b0:	ff 75 fc             	push   -0x4(%ebp)
4285b3:	e8 98 ce 01 00       	call   0x445450
4285b8:	33 f6                	xor    %esi,%esi
4285ba:	89 75 fc             	mov    %esi,-0x4(%ebp)
4285bd:	eb 02                	jmp    0x4285c1
4285bf:	33 f6                	xor    %esi,%esi
4285c1:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4285c5:	74 11                	je     0x4285d8
4285c7:	ff 75 e0             	push   -0x20(%ebp)
4285ca:	ff 75 f8             	push   -0x8(%ebp)
4285cd:	e8 75 a0 fd ff       	call   0x402647
4285d2:	89 75 e0             	mov    %esi,-0x20(%ebp)
4285d5:	89 75 f8             	mov    %esi,-0x8(%ebp)
4285d8:	8d 45 dc             	lea    -0x24(%ebp),%eax
4285db:	50                   	push   %eax
4285dc:	8d 45 ec             	lea    -0x14(%ebp),%eax
4285df:	50                   	push   %eax
4285e0:	68 00 0b 45 00       	push   $0x450b00
4285e5:	ff 75 08             	push   0x8(%ebp)
4285e8:	e8 d8 8a 01 00       	call   0x4410c5
4285ed:	85 c0                	test   %eax,%eax
4285ef:	0f 88 a1 00 00 00    	js     0x428696
4285f5:	6a 01                	push   $0x1
4285f7:	ff 75 dc             	push   -0x24(%ebp)
4285fa:	8d 45 f4             	lea    -0xc(%ebp),%eax
4285fd:	ff 75 ec             	push   -0x14(%ebp)
428600:	50                   	push   %eax
428601:	e8 d5 cd 01 00       	call   0x4453db
428606:	8b f0                	mov    %eax,%esi
428608:	85 f6                	test   %esi,%esi
42860a:	79 2b                	jns    0x428637
42860c:	68 7c e4 45 00       	push   $0x45e47c
428611:	e9 11 ff ff ff       	jmp    0x428527
428616:	85 f6                	test   %esi,%esi
428618:	79 12                	jns    0x42862c
42861a:	68 e4 e3 45 00       	push   $0x45e3e4
42861f:	56                   	push   %esi
428620:	e8 0a 7b 01 00       	call   0x44012f
428625:	59                   	pop    %ecx
428626:	59                   	pop    %ecx
428627:	e9 0f 02 00 00       	jmp    0x42883b
42862c:	c7 03 02 00 00 00    	movl   $0x2,(%ebx)
428632:	e9 04 02 00 00       	jmp    0x42883b
428637:	ff 77 1c             	push   0x1c(%edi)
42863a:	ff 77 18             	push   0x18(%edi)
42863d:	ff 75 f4             	push   -0xc(%ebp)
428640:	e8 a4 cc 01 00       	call   0x4452e9
428645:	8b f0                	mov    %eax,%esi
428647:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
42864d:	0f 85 81 00 00 00    	jne    0x4286d4
428653:	ff 77 24             	push   0x24(%edi)
428656:	ff 77 20             	push   0x20(%edi)
428659:	ff 75 f4             	push   -0xc(%ebp)
42865c:	e8 88 cc 01 00       	call   0x4452e9
428661:	8b f0                	mov    %eax,%esi
428663:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
428669:	75 69                	jne    0x4286d4
42866b:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
42866f:	74 0c                	je     0x42867d
428671:	ff 75 f4             	push   -0xc(%ebp)
428674:	e8 d7 cd 01 00       	call   0x445450
428679:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
42867d:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
428681:	74 13                	je     0x428696
428683:	ff 75 dc             	push   -0x24(%ebp)
428686:	ff 75 ec             	push   -0x14(%ebp)
428689:	e8 b9 9f fd ff       	call   0x402647
42868e:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
428692:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
428696:	8d 45 d0             	lea    -0x30(%ebp),%eax
428699:	50                   	push   %eax
42869a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42869d:	50                   	push   %eax
42869e:	68 44 0b 45 00       	push   $0x450b44
4286a3:	ff 75 08             	push   0x8(%ebp)
4286a6:	e8 1a 8a 01 00       	call   0x4410c5
4286ab:	85 c0                	test   %eax,%eax
4286ad:	0f 88 99 00 00 00    	js     0x42874c
4286b3:	6a 01                	push   $0x1
4286b5:	ff 75 d0             	push   -0x30(%ebp)
4286b8:	8d 45 f0             	lea    -0x10(%ebp),%eax
4286bb:	ff 75 e4             	push   -0x1c(%ebp)
4286be:	50                   	push   %eax
4286bf:	e8 17 cd 01 00       	call   0x4453db
4286c4:	8b f0                	mov    %eax,%esi
4286c6:	85 f6                	test   %esi,%esi
4286c8:	79 23                	jns    0x4286ed
4286ca:	68 88 e4 45 00       	push   $0x45e488
4286cf:	e9 53 fe ff ff       	jmp    0x428527
4286d4:	85 f6                	test   %esi,%esi
4286d6:	79 0a                	jns    0x4286e2
4286d8:	68 4c e4 45 00       	push   $0x45e44c
4286dd:	e9 3d ff ff ff       	jmp    0x42861f
4286e2:	c7 03 03 00 00 00    	movl   $0x3,(%ebx)
4286e8:	e9 4e 01 00 00       	jmp    0x42883b
4286ed:	ff 77 1c             	push   0x1c(%edi)
4286f0:	ff 77 18             	push   0x18(%edi)
4286f3:	ff 75 f0             	push   -0x10(%ebp)
4286f6:	e8 ee cb 01 00       	call   0x4452e9
4286fb:	8b f0                	mov    %eax,%esi
4286fd:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
428703:	0f 85 83 00 00 00    	jne    0x42878c
428709:	ff 77 24             	push   0x24(%edi)
42870c:	ff 77 20             	push   0x20(%edi)
42870f:	ff 75 f0             	push   -0x10(%ebp)
428712:	e8 d2 cb 01 00       	call   0x4452e9
428717:	8b f0                	mov    %eax,%esi
428719:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
42871f:	75 6b                	jne    0x42878c
428721:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
428725:	74 0c                	je     0x428733
428727:	ff 75 f0             	push   -0x10(%ebp)
42872a:	e8 21 cd 01 00       	call   0x445450
42872f:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
428733:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
428737:	74 13                	je     0x42874c
428739:	ff 75 d0             	push   -0x30(%ebp)
42873c:	ff 75 e4             	push   -0x1c(%ebp)
42873f:	e8 03 9f fd ff       	call   0x402647
428744:	83 65 d0 00          	andl   $0x0,-0x30(%ebp)
428748:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
42874c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
42874f:	50                   	push   %eax
428750:	8d 45 d8             	lea    -0x28(%ebp),%eax
428753:	50                   	push   %eax
428754:	68 20 0b 45 00       	push   $0x450b20
428759:	ff 75 08             	push   0x8(%ebp)
42875c:	e8 64 89 01 00       	call   0x4410c5
428761:	8b f0                	mov    %eax,%esi
428763:	85 f6                	test   %esi,%esi
428765:	0f 88 df 00 00 00    	js     0x42884a
42876b:	6a 01                	push   $0x1
42876d:	ff 75 d4             	push   -0x2c(%ebp)
428770:	8d 45 e8             	lea    -0x18(%ebp),%eax
428773:	ff 75 d8             	push   -0x28(%ebp)
428776:	50                   	push   %eax
428777:	e8 5f cc 01 00       	call   0x4453db
42877c:	8b f0                	mov    %eax,%esi
42877e:	85 f6                	test   %esi,%esi
428780:	79 23                	jns    0x4287a5
428782:	68 c4 e4 45 00       	push   $0x45e4c4
428787:	e9 9b fd ff ff       	jmp    0x428527
42878c:	85 f6                	test   %esi,%esi
42878e:	79 0a                	jns    0x42879a
428790:	68 94 e4 45 00       	push   $0x45e494
428795:	e9 85 fe ff ff       	jmp    0x42861f
42879a:	c7 03 04 00 00 00    	movl   $0x4,(%ebx)
4287a0:	e9 96 00 00 00       	jmp    0x42883b
4287a5:	ff 77 1c             	push   0x1c(%edi)
4287a8:	ff 77 18             	push   0x18(%edi)
4287ab:	ff 75 e8             	push   -0x18(%ebp)
4287ae:	e8 36 cb 01 00       	call   0x4452e9
4287b3:	8b f0                	mov    %eax,%esi
4287b5:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
4287bb:	75 6a                	jne    0x428827
4287bd:	ff 77 2c             	push   0x2c(%edi)
4287c0:	ff 77 28             	push   0x28(%edi)
4287c3:	ff 75 e8             	push   -0x18(%ebp)
4287c6:	e8 1e cb 01 00       	call   0x4452e9
4287cb:	8b f0                	mov    %eax,%esi
4287cd:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
4287d3:	75 42                	jne    0x428817
4287d5:	ff 77 34             	push   0x34(%edi)
4287d8:	ff 77 30             	push   0x30(%edi)
4287db:	ff 75 e8             	push   -0x18(%ebp)
4287de:	e8 06 cb 01 00       	call   0x4452e9
4287e3:	8b f0                	mov    %eax,%esi
4287e5:	81 fe 91 04 07 80    	cmp    $0x80070491,%esi
4287eb:	75 2a                	jne    0x428817
4287ed:	8b 45 e8             	mov    -0x18(%ebp),%eax
4287f0:	33 f6                	xor    %esi,%esi
4287f2:	85 c0                	test   %eax,%eax
4287f4:	74 09                	je     0x4287ff
4287f6:	50                   	push   %eax
4287f7:	e8 54 cc 01 00       	call   0x445450
4287fc:	21 75 e8             	and    %esi,-0x18(%ebp)
4287ff:	8b 45 d8             	mov    -0x28(%ebp),%eax
428802:	85 c0                	test   %eax,%eax
428804:	74 39                	je     0x42883f
428806:	ff 75 d4             	push   -0x2c(%ebp)
428809:	50                   	push   %eax
42880a:	e8 38 9e fd ff       	call   0x402647
42880f:	21 75 d4             	and    %esi,-0x2c(%ebp)
428812:	21 75 d8             	and    %esi,-0x28(%ebp)
428815:	eb 28                	jmp    0x42883f
428817:	85 f6                	test   %esi,%esi
428819:	0f 88 b9 fe ff ff    	js     0x4286d8
42881f:	c7 03 05 00 00 00    	movl   $0x5,(%ebx)
428825:	eb 14                	jmp    0x42883b
428827:	85 f6                	test   %esi,%esi
428829:	79 0a                	jns    0x428835
42882b:	68 18 e4 45 00       	push   $0x45e418
428830:	e9 ea fd ff ff       	jmp    0x42861f
428835:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
42883b:	85 f6                	test   %esi,%esi
42883d:	78 0b                	js     0x42884a
42883f:	83 3b 00             	cmpl   $0x0,(%ebx)
428842:	b8 90 04 07 80       	mov    $0x80070490,%eax
428847:	0f 44 f0             	cmove  %eax,%esi
42884a:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42884e:	74 08                	je     0x428858
428850:	ff 75 fc             	push   -0x4(%ebp)
428853:	e8 f8 cb 01 00       	call   0x445450
428858:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
42885c:	74 0b                	je     0x428869
42885e:	ff 75 e0             	push   -0x20(%ebp)
428861:	ff 75 f8             	push   -0x8(%ebp)
428864:	e8 de 9d fd ff       	call   0x402647
428869:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
42886d:	74 08                	je     0x428877
42886f:	ff 75 f4             	push   -0xc(%ebp)
428872:	e8 d9 cb 01 00       	call   0x445450
428877:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
42887b:	74 0b                	je     0x428888
42887d:	ff 75 dc             	push   -0x24(%ebp)
428880:	ff 75 ec             	push   -0x14(%ebp)
428883:	e8 bf 9d fd ff       	call   0x402647
428888:	8b 45 e8             	mov    -0x18(%ebp),%eax
42888b:	85 c0                	test   %eax,%eax
42888d:	74 06                	je     0x428895
42888f:	50                   	push   %eax
428890:	e8 bb cb 01 00       	call   0x445450
428895:	8b 45 d8             	mov    -0x28(%ebp),%eax
428898:	85 c0                	test   %eax,%eax
42889a:	74 09                	je     0x4288a5
42889c:	ff 75 d4             	push   -0x2c(%ebp)
42889f:	50                   	push   %eax
4288a0:	e8 a2 9d fd ff       	call   0x402647
4288a5:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4288a9:	74 08                	je     0x4288b3
4288ab:	ff 75 f0             	push   -0x10(%ebp)
4288ae:	e8 9d cb 01 00       	call   0x445450
4288b3:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
4288b7:	74 0b                	je     0x4288c4
4288b9:	ff 75 d0             	push   -0x30(%ebp)
4288bc:	ff 75 e4             	push   -0x1c(%ebp)
4288bf:	e8 83 9d fd ff       	call   0x402647
4288c4:	5f                   	pop    %edi
4288c5:	8b c6                	mov    %esi,%eax
4288c7:	5e                   	pop    %esi
4288c8:	5b                   	pop    %ebx
4288c9:	8b e5                	mov    %ebp,%esp
4288cb:	5d                   	pop    %ebp
4288cc:	c2 0c 00             	ret    $0xc
4288cf:	55                   	push   %ebp
4288d0:	8b ec                	mov    %esp,%ebp
4288d2:	51                   	push   %ecx
4288d3:	51                   	push   %ecx
4288d4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4288d8:	8d 45 fc             	lea    -0x4(%ebp),%eax
4288db:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4288df:	56                   	push   %esi
4288e0:	57                   	push   %edi
4288e1:	50                   	push   %eax
4288e2:	68 19 00 02 00       	push   $0x20019
4288e7:	ff 75 10             	push   0x10(%ebp)
4288ea:	ff 75 0c             	push   0xc(%ebp)
4288ed:	e8 4d 85 01 00       	call   0x440e3f
4288f2:	8b f0                	mov    %eax,%esi
4288f4:	85 f6                	test   %esi,%esi
4288f6:	79 13                	jns    0x42890b
4288f8:	ff 75 10             	push   0x10(%ebp)
4288fb:	68 98 e2 45 00       	push   $0x45e298
428900:	56                   	push   %esi
428901:	e8 29 78 01 00       	call   0x44012f
428906:	83 c4 0c             	add    $0xc,%esp
428909:	eb 78                	jmp    0x428983
42890b:	8d 45 f8             	lea    -0x8(%ebp),%eax
42890e:	50                   	push   %eax
42890f:	ff 75 14             	push   0x14(%ebp)
428912:	ff 75 fc             	push   -0x4(%ebp)
428915:	e8 3e fb ff ff       	call   0x428458
42891a:	85 c0                	test   %eax,%eax
42891c:	78 60                	js     0x42897e
42891e:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
428922:	74 5a                	je     0x42897e
428924:	8b 7d 18             	mov    0x18(%ebp),%edi
428927:	6a 05                	push   $0x5
428929:	68 f8 00 00 00       	push   $0xf8
42892e:	8b 47 04             	mov    0x4(%edi),%eax
428931:	40                   	inc    %eax
428932:	50                   	push   %eax
428933:	57                   	push   %edi
428934:	e8 bd af fd ff       	call   0x4038f6
428939:	8b f0                	mov    %eax,%esi
42893b:	85 f6                	test   %esi,%esi
42893d:	79 0f                	jns    0x42894e
42893f:	68 d8 e2 45 00       	push   $0x45e2d8
428944:	56                   	push   %esi
428945:	e8 e5 77 01 00       	call   0x44012f
42894a:	59                   	pop    %ecx
42894b:	59                   	pop    %ecx
42894c:	eb 35                	jmp    0x428983
42894e:	69 47 04 f8 00 00 00 	imul   $0xf8,0x4(%edi),%eax
428955:	03 07                	add    (%edi),%eax
428957:	50                   	push   %eax
428958:	ff 75 f8             	push   -0x8(%ebp)
42895b:	ff 75 08             	push   0x8(%ebp)
42895e:	ff 75 fc             	push   -0x4(%ebp)
428961:	ff 75 10             	push   0x10(%ebp)