428430:	c6 45 ed cc          	movb   $0xcc,-0x13(%ebp)
428434:	c6 45 ee fb          	movb   $0xfb,-0x12(%ebp)
428438:	c6 45 ef 3f          	movb   $0x3f,-0x11(%ebp)
42843c:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
428443:	8b d0                	mov    %eax,%edx
428445:	74 06                	je     0x42844d
428447:	c6 43 02 2d          	movb   $0x2d,0x2(%ebx)
42844b:	eb 04                	jmp    0x428451
42844d:	c6 43 02 20          	movb   $0x20,0x2(%ebx)
428451:	66 85 d2             	test   %dx,%dx
428454:	8b 7d 0c             	mov    0xc(%ebp),%edi
428457:	75 0d                	jne    0x428466
428459:	85 ff                	test   %edi,%edi
42845b:	75 09                	jne    0x428466
42845d:	39 7d 08             	cmp    %edi,0x8(%ebp)
428460:	0f 84 f3 00 00 00    	je     0x428559
428466:	66 3b d6             	cmp    %si,%dx
428469:	75 78                	jne    0x4284e3
42846b:	b8 00 00 00 80       	mov    $0x80000000,%eax
428470:	3b f8                	cmp    %eax,%edi
428472:	66 c7 03 01 00       	movw   $0x1,(%ebx)
428477:	75 06                	jne    0x42847f
428479:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42847d:	74 0f                	je     0x42848e
42847f:	f7 c7 00 00 00 40    	test   $0x40000000,%edi
428485:	75 07                	jne    0x42848e
428487:	68 fc 3f 49 00       	push   $0x493ffc
42848c:	eb 46                	jmp    0x4284d4
42848e:	66 85 c9             	test   %cx,%cx
428491:	74 15                	je     0x4284a8
428493:	81 ff 00 00 00 c0    	cmp    $0xc0000000,%edi
428499:	75 0d                	jne    0x4284a8
42849b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42849f:	75 2e                	jne    0x4284cf
4284a1:	68 f4 3f 49 00       	push   $0x493ff4
4284a6:	eb 0f                	jmp    0x4284b7
4284a8:	3b f8                	cmp    %eax,%edi
4284aa:	75 23                	jne    0x4284cf
4284ac:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4284b0:	75 1d                	jne    0x4284cf
4284b2:	68 ec 3f 49 00       	push   $0x493fec
4284b7:	8d 43 04             	lea    0x4(%ebx),%eax
4284ba:	50                   	push   %eax
4284bb:	e8 80 9b ff ff       	call   0x422040
4284c0:	c6 43 03 05          	movb   $0x5,0x3(%ebx)
4284c4:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
4284c8:	59                   	pop    %ecx
4284c9:	59                   	pop    %ecx
4284ca:	e9 6c 01 00 00       	jmp    0x42863b
4284cf:	68 e4 3f 49 00       	push   $0x493fe4
4284d4:	8d 43 04             	lea    0x4(%ebx),%eax
4284d7:	50                   	push   %eax
4284d8:	e8 63 9b ff ff       	call   0x422040
4284dd:	c6 43 03 06          	movb   $0x6,0x3(%ebx)
4284e1:	eb e1                	jmp    0x4284c4
4284e3:	0f b7 c2             	movzwl %dx,%eax
4284e6:	8b f0                	mov    %eax,%esi
4284e8:	69 c0 10 4d 00 00    	imul   $0x4d10,%eax,%eax
4284ee:	66 83 65 f0 00       	andw   $0x0,-0x10(%ebp)
4284f3:	8b cf                	mov    %edi,%ecx
4284f5:	c1 e9 18             	shr    $0x18,%ecx
4284f8:	c1 ee 08             	shr    $0x8,%esi
4284fb:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
4284fe:	6b c9 4d             	imul   $0x4d,%ecx,%ecx
428501:	8d b4 01 0c ed bc ec 	lea    -0x134312f4(%ecx,%eax,1),%esi
428508:	8b 45 08             	mov    0x8(%ebp),%eax
42850b:	89 45 f2             	mov    %eax,-0xe(%ebp)
42850e:	c1 fe 10             	sar    $0x10,%esi
428511:	0f bf c6             	movswl %si,%eax
428514:	f7 d8                	neg    %eax
428516:	6a 01                	push   $0x1
428518:	50                   	push   %eax
428519:	8d 45 f0             	lea    -0x10(%ebp),%eax
42851c:	50                   	push   %eax
42851d:	66 89 55 fa          	mov    %dx,-0x6(%ebp)
428521:	89 7d f6             	mov    %edi,-0xa(%ebp)
428524:	e8 e6 07 00 00       	call   0x428d0f
428529:	83 c4 0c             	add    $0xc,%esp
42852c:	66 81 7d fa ff 3f    	cmpw   $0x3fff,-0x6(%ebp)
428532:	72 10                	jb     0x428544
428534:	8d 45 e4             	lea    -0x1c(%ebp),%eax
428537:	50                   	push   %eax
428538:	8d 45 f0             	lea    -0x10(%ebp),%eax
42853b:	50                   	push   %eax
42853c:	46                   	inc    %esi
42853d:	e8 9b 05 00 00       	call   0x428add
428542:	59                   	pop    %ecx
428543:	59                   	pop    %ecx
428544:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
428548:	8b 7d 14             	mov    0x14(%ebp),%edi
42854b:	66 89 33             	mov    %si,(%ebx)
42854e:	74 12                	je     0x428562
428550:	0f bf c6             	movswl %si,%eax
428553:	03 f8                	add    %eax,%edi
428555:	85 ff                	test   %edi,%edi
428557:	7f 09                	jg     0x428562
428559:	c6 43 04 30          	movb   $0x30,0x4(%ebx)
42855d:	e9 fa 00 00 00       	jmp    0x42865c
428562:	83 ff 15             	cmp    $0x15,%edi
428565:	7e 03                	jle    0x42856a
428567:	6a 15                	push   $0x15
428569:	5f                   	pop    %edi
42856a:	0f b7 75 fa          	movzwl -0x6(%ebp),%esi
42856e:	81 ee fe 3f 00 00    	sub    $0x3ffe,%esi
428574:	66 83 65 fa 00       	andw   $0x0,-0x6(%ebp)
428579:	c7 45 10 08 00 00 00 	movl   $0x8,0x10(%ebp)
428580:	8d 45 f0             	lea    -0x10(%ebp),%eax
428583:	50                   	push   %eax
428584:	e8 a1 f8 ff ff       	call   0x427e2a
428589:	ff 4d 10             	decl   0x10(%ebp)
42858c:	59                   	pop    %ecx
42858d:	75 f1                	jne    0x428580
42858f:	85 f6                	test   %esi,%esi
428591:	7d 17                	jge    0x4285aa
428593:	f7 de                	neg    %esi
428595:	81 e6 ff 00 00 00    	and    $0xff,%esi
42859b:	7e 0d                	jle    0x4285aa
42859d:	8d 45 f0             	lea    -0x10(%ebp),%eax
4285a0:	50                   	push   %eax
4285a1:	e8 b2 f8 ff ff       	call   0x427e58
4285a6:	4e                   	dec    %esi
4285a7:	59                   	pop    %ecx
4285a8:	75 f3                	jne    0x42859d
4285aa:	8d 4f 01             	lea    0x1(%edi),%ecx
4285ad:	85 c9                	test   %ecx,%ecx
4285af:	8d 43 04             	lea    0x4(%ebx),%eax
4285b2:	89 45 d0             	mov    %eax,-0x30(%ebp)
4285b5:	7e 50                	jle    0x428607
4285b7:	89 4d 10             	mov    %ecx,0x10(%ebp)
4285ba:	8d 75 f0             	lea    -0x10(%ebp),%esi
4285bd:	8d 7d d8             	lea    -0x28(%ebp),%edi
4285c0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4285c1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4285c2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4285c5:	50                   	push   %eax
4285c6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4285c7:	e8 5e f8 ff ff       	call   0x427e2a
4285cc:	8d 45 f0             	lea    -0x10(%ebp),%eax
4285cf:	50                   	push   %eax
4285d0:	e8 55 f8 ff ff       	call   0x427e2a
4285d5:	8d 45 d8             	lea    -0x28(%ebp),%eax
4285d8:	50                   	push   %eax
4285d9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4285dc:	50                   	push   %eax
4285dd:	e8 ea f7 ff ff       	call   0x427dcc
4285e2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4285e5:	50                   	push   %eax
4285e6:	e8 3f f8 ff ff       	call   0x427e2a
4285eb:	8a 45 fb             	mov    -0x5(%ebp),%al
4285ee:	8b 4d d0             	mov    -0x30(%ebp),%ecx
4285f1:	04 30                	add    $0x30,%al
4285f3:	83 c4 14             	add    $0x14,%esp
4285f6:	ff 45 d0             	incl   -0x30(%ebp)
4285f9:	ff 4d 10             	decl   0x10(%ebp)
4285fc:	88 01                	mov    %al,(%ecx)
4285fe:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
428602:	75 b6                	jne    0x4285ba
428604:	8b 45 d0             	mov    -0x30(%ebp),%eax
428607:	48                   	dec    %eax
428608:	8a 08                	mov    (%eax),%cl
42860a:	48                   	dec    %eax
42860b:	80 f9 35             	cmp    $0x35,%cl
42860e:	8d 4b 04             	lea    0x4(%ebx),%ecx
428611:	7c 3e                	jl     0x428651
428613:	eb 09                	jmp    0x42861e
428615:	80 38 39             	cmpb   $0x39,(%eax)
428618:	75 08                	jne    0x428622
42861a:	c6 00 30             	movb   $0x30,(%eax)
42861d:	48                   	dec    %eax
42861e:	3b c1                	cmp    %ecx,%eax
428620:	73 f3                	jae    0x428615
428622:	3b c1                	cmp    %ecx,%eax
428624:	73 04                	jae    0x42862a
428626:	40                   	inc    %eax
428627:	66 ff 03             	incw   (%ebx)
42862a:	fe 00                	incb   (%eax)
42862c:	2a c3                	sub    %bl,%al
42862e:	2c 03                	sub    $0x3,%al
428630:	88 43 03             	mov    %al,0x3(%ebx)
428633:	0f be c0             	movsbl %al,%eax
428636:	c6 44 18 04 00       	movb   $0x0,0x4(%eax,%ebx,1)
42863b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42863e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
428641:	5f                   	pop    %edi
428642:	5e                   	pop    %esi
428643:	5b                   	pop    %ebx
428644:	e8 95 f5 fe ff       	call   0x417bde
428649:	c9                   	leave
42864a:	c3                   	ret
42864b:	80 38 30             	cmpb   $0x30,(%eax)
42864e:	75 05                	jne    0x428655
428650:	48                   	dec    %eax
428651:	3b c1                	cmp    %ecx,%eax
428653:	73 f6                	jae    0x42864b
428655:	3b c1                	cmp    %ecx,%eax
428657:	73 d3                	jae    0x42862c
428659:	c6 01 30             	movb   $0x30,(%ecx)
42865c:	66 83 23 00          	andw   $0x0,(%ebx)
428660:	33 c0                	xor    %eax,%eax
428662:	c6 43 02 20          	movb   $0x20,0x2(%ebx)
428666:	c6 43 03 01          	movb   $0x1,0x3(%ebx)
42866a:	c6 43 05 00          	movb   $0x0,0x5(%ebx)
42866e:	40                   	inc    %eax
42866f:	eb cd                	jmp    0x42863e
428671:	55                   	push   %ebp
428672:	8b ec                	mov    %esp,%ebp
428674:	e8 2e 46 ff ff       	call   0x41cca7
428679:	8b 40 60             	mov    0x60(%eax),%eax
42867c:	3b 05 d4 e1 4a 00    	cmp    0x4ae1d4,%eax
428682:	74 05                	je     0x428689
428684:	e8 7d 19 ff ff       	call   0x41a006
428689:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
42868d:	75 04                	jne    0x428693
42868f:	33 c0                	xor    %eax,%eax
428691:	5d                   	pop    %ebp
428692:	c3                   	ret
428693:	ff 70 04             	push   0x4(%eax)
428696:	ff 75 10             	push   0x10(%ebp)
428699:	ff 75 0c             	push   0xc(%ebp)
42869c:	ff 75 10             	push   0x10(%ebp)
42869f:	ff 75 08             	push   0x8(%ebp)
4286a2:	6a 01                	push   $0x1
4286a4:	ff 70 0c             	push   0xc(%eax)
4286a7:	e8 05 07 00 00       	call   0x428db1
4286ac:	83 c4 1c             	add    $0x1c,%esp
4286af:	85 c0                	test   %eax,%eax
4286b1:	75 07                	jne    0x4286ba
4286b3:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4286b8:	5d                   	pop    %ebp
4286b9:	c3                   	ret
4286ba:	83 c0 fe             	add    $0xfffffffe,%eax
4286bd:	5d                   	pop    %ebp
4286be:	c3                   	ret
4286bf:	55                   	push   %ebp
4286c0:	8b ec                	mov    %esp,%ebp
4286c2:	51                   	push   %ecx
4286c3:	51                   	push   %ecx
4286c4:	53                   	push   %ebx
4286c5:	56                   	push   %esi
4286c6:	33 f6                	xor    %esi,%esi
4286c8:	57                   	push   %edi
4286c9:	8b 3d 2c c7 4a 00    	mov    0x4ac72c,%edi
4286cf:	89 75 fc             	mov    %esi,-0x4(%ebp)
4286d2:	8b 07                	mov    (%edi),%eax
4286d4:	3b c6                	cmp    %esi,%eax
4286d6:	74 62                	je     0x42873a
4286d8:	8b 1d a0 03 4b 00    	mov    0x4b03a0,%ebx
4286de:	56                   	push   %esi
4286df:	56                   	push   %esi
4286e0:	56                   	push   %esi
4286e1:	56                   	push   %esi
4286e2:	6a ff                	push   $0xffffffff
4286e4:	50                   	push   %eax
4286e5:	56                   	push   %esi
4286e6:	56                   	push   %esi
4286e7:	ff d3                	call   *%ebx
4286e9:	3b c6                	cmp    %esi,%eax
4286eb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4286ee:	74 5a                	je     0x42874a
4286f0:	50                   	push   %eax
4286f1:	e8 96 dc fe ff       	call   0x41638c
4286f6:	3b c6                	cmp    %esi,%eax
4286f8:	59                   	pop    %ecx
4286f9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4286fc:	74 4c                	je     0x42874a
4286fe:	56                   	push   %esi
4286ff:	56                   	push   %esi
428700:	ff 75 f8             	push   -0x8(%ebp)
428703:	50                   	push   %eax
428704:	6a ff                	push   $0xffffffff
428706:	ff 37                	push   (%edi)
428708:	56                   	push   %esi
428709:	56                   	push   %esi
42870a:	ff d3                	call   *%ebx
42870c:	85 c0                	test   %eax,%eax
42870e:	74 31                	je     0x428741
428710:	8d 45 fc             	lea    -0x4(%ebp),%eax
428713:	56                   	push   %esi
428714:	50                   	push   %eax
428715:	e8 c9 0a 00 00       	call   0x4291e3
42871a:	85 c0                	test   %eax,%eax
42871c:	59                   	pop    %ecx
42871d:	59                   	pop    %ecx
42871e:	7d 11                	jge    0x428731
428720:	39 75 fc             	cmp    %esi,-0x4(%ebp)
428723:	74 0c                	je     0x428731
428725:	ff 75 fc             	push   -0x4(%ebp)
428728:	e8 71 dc fe ff       	call   0x41639e
42872d:	59                   	pop    %ecx
42872e:	89 75 fc             	mov    %esi,-0x4(%ebp)
428731:	83 c7 04             	add    $0x4,%edi
428734:	8b 07                	mov    (%edi),%eax
428736:	3b c6                	cmp    %esi,%eax
428738:	75 a4                	jne    0x4286de
42873a:	33 c0                	xor    %eax,%eax
42873c:	5f                   	pop    %edi
42873d:	5e                   	pop    %esi
42873e:	5b                   	pop    %ebx
42873f:	c9                   	leave
428740:	c3                   	ret
428741:	ff 75 fc             	push   -0x4(%ebp)
428744:	e8 55 dc fe ff       	call   0x41639e
428749:	59                   	pop    %ecx
42874a:	83 c8 ff             	or     $0xffffffff,%eax
42874d:	eb ed                	jmp    0x42873c
42874f:	55                   	push   %ebp
428750:	8b ec                	mov    %esp,%ebp
428752:	51                   	push   %ecx
428753:	53                   	push   %ebx
428754:	56                   	push   %esi
428755:	8b 75 0c             	mov    0xc(%ebp),%esi
428758:	8b 46 0c             	mov    0xc(%esi),%eax
42875b:	a8 82                	test   $0x82,%al
42875d:	8b 4e 10             	mov    0x10(%esi),%ecx
428760:	89 4d fc             	mov    %ecx,-0x4(%ebp)
428763:	0f 84 ff 00 00 00    	je     0x428868
428769:	a8 40                	test   $0x40,%al
42876b:	0f 85 f7 00 00 00    	jne    0x428868
428771:	33 db                	xor    %ebx,%ebx
428773:	a8 01                	test   $0x1,%al
428775:	74 16                	je     0x42878d
428777:	a8 10                	test   $0x10,%al
428779:	89 5e 04             	mov    %ebx,0x4(%esi)
42877c:	0f 84 e6 00 00 00    	je     0x428868
428782:	8b 56 08             	mov    0x8(%esi),%edx
428785:	83 e0 fe             	and    $0xfffffffe,%eax
428788:	89 16                	mov    %edx,(%esi)
42878a:	89 46 0c             	mov    %eax,0xc(%esi)
42878d:	8b 46 0c             	mov    0xc(%esi),%eax
428790:	83 e0 ef             	and    $0xffffffef,%eax
428793:	83 c8 02             	or     $0x2,%eax
428796:	66 a9 0c 01          	test   $0x10c,%ax
42879a:	89 46 0c             	mov    %eax,0xc(%esi)
42879d:	89 5e 04             	mov    %ebx,0x4(%esi)
4287a0:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4287a3:	75 25                	jne    0x4287ca
4287a5:	81 fe f0 8f 4a 00    	cmp    $0x4a8ff0,%esi
4287ab:	74 08                	je     0x4287b5
4287ad:	81 fe 10 90 4a 00    	cmp    $0x4a9010,%esi
4287b3:	75 0b                	jne    0x4287c0
4287b5:	51                   	push   %ecx
4287b6:	e8 56 c6 ff ff       	call   0x424e11
4287bb:	85 c0                	test   %eax,%eax
4287bd:	59                   	pop    %ecx
4287be:	75 07                	jne    0x4287c7
4287c0:	56                   	push   %esi
4287c1:	e8 07 c6 ff ff       	call   0x424dcd
4287c6:	59                   	pop    %ecx
4287c7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4287ca:	66 f7 46 0c 08 01    	testw  $0x108,0xc(%esi)